Compare commits

..

14 Commits

Author SHA1 Message Date
c85087988d Merge branch release/v8.2.0 into master 2024-10-17 11:13:47 +00:00
b7c3f2a81e [oform] Change the default signature placeholder and key 2024-10-14 00:22:02 +03:00
e92af5d616 Merge pull request #55 from ONLYOFFICE/fix/api-description
[bu]/[plugins] Fixed description
2024-08-16 05:50:32 -07:00
d762919e17 [bu]/[plugins] Fixed description 2024-08-16 18:48:43 +07:00
1e4faa1c44 [de] Implement method for adding signature field 2024-08-08 13:13:59 +03:00
f1ab48dbf6 [de][bu] Add tag property when creating a form 2024-08-05 17:50:37 +03:00
df86438f34 Merge pull request #53 from ONLYOFFICE/fix/plugins
[plugins][api] Added links to examples
2024-08-02 04:40:34 -07:00
0ce75cd435 [plugins][api] Added links to examples 2024-08-02 18:38:52 +07:00
28117047a2 Merge pull request #48 from ONLYOFFICE/fix/links
[bu] Fixed examples links
2024-07-28 23:17:22 -07:00
21bc4c4a78 [bu] Fixed examples links 2024-07-29 13:07:50 +07:00
d8149446fa Merge pull request #45 from ONLYOFFICE/fix/api-builder
[bu] Added links to examples
2024-07-26 03:21:34 -07:00
4e3a6d5fd0 [bu] Added links to examples 2024-07-26 17:12:13 +07:00
ed08a8154d Merge branch hotfix/v8.1.1 into release/v8.2.0 2024-07-26 08:09:56 +00:00
e4b1254e7b Merge branch release/v8.1.0 into master 2024-06-19 08:26:44 +00:00
3 changed files with 74 additions and 24 deletions

25
api.js
View File

@ -171,7 +171,7 @@ window["AscOForm"] = window.AscOForm = AscOForm;
private_PerformAddCheckBox();
}
};
window['Asc']['asc_docs_api'].prototype['asc_AddContentControlPicture'] = window['Asc']['asc_docs_api'].prototype.asc_AddContentControlPicture = function(oFormPr, oCommonPr)
window['Asc']['asc_docs_api'].prototype['asc_AddContentControlPicture'] = window['Asc']['asc_docs_api'].prototype.asc_AddContentControlPicture = function(oFormPr, oCommonPr, isSignature)
{
var oLogicDocument = this.private_GetLogicDocument();
if (!oLogicDocument)
@ -184,16 +184,31 @@ window["AscOForm"] = window.AscOForm = AscOForm;
{
oLogicDocument.StartAction(AscDFH.historydescription_Document_AddContentControlPicture);
var oCC = oLogicDocument.AddContentControlPicture();
// 150x32pt for Signature
let w = isSignature ? 150 / 72 * 25.4 : undefined;
let h = isSignature ? 32 / 72 * 25.4 : undefined;
var oCC = oLogicDocument.AddContentControlPicture(w, h);
let oFormParaDrawing = null;
if (oCC && oFormPr)
{
oCC.SetFormPr(oFormPr);
oCC.UpdatePlaceHolderTextPrForForm();
let pictPr = new AscCommon.CSdtPictureFormPr();
if (isSignature)
{
pictPr.SetSignature(true);
let glossary = oLogicDocument.GetGlossaryDocument();
if (glossary)
oCC.SetPlaceholder(glossary.GetDefaultPlaceholderSignatureOformDocPartId());
}
oCC.SetPictureFormPr(pictPr);
private_CheckFormKey(oCC, oLogicDocument);
oLogicDocument.Recalculate(true);
oFormParaDrawing = oCC.ConvertFormToFixed();
oCC.SetPictureFormPr(new AscCommon.CSdtPictureFormPr());
var aDrawings = oCC.GetAllDrawingObjects();
for(var nDrawing = 0; nDrawing < aDrawings.length; ++nDrawing)
{
@ -268,6 +283,10 @@ window["AscOForm"] = window.AscOForm = AscOForm;
oLogicDocument.FinalizeAction();
}
};
window['Asc']['asc_docs_api'].prototype['asc_AddContentControlSignature'] = window['Asc']['asc_docs_api'].prototype.asc_AddContentControlSignature = function(oFormPr, oCommonPr)
{
return this.asc_AddContentControlPicture(oFormPr, oCommonPr, true);
};
window['Asc']['asc_docs_api'].prototype['asc_AddContentControlList'] = window['Asc']['asc_docs_api'].prototype.asc_AddContentControlList = function(isComboBox, oPr, oFormPr, oCommonPr)
{
var oLogicDocument = this.private_GetLogicDocument();

View File

@ -60,8 +60,10 @@
* @typedef {Object} FormPrBase
* @property {string} key - Form key.
* @property {string} tip - Form tip text.
* @property {string} tag - Form tag.
* @property {boolean} required - Specifies if the form is required or not.
* @property {string} placeholder - Form placeholder text.
* @see office-js-api/Examples/Enumerations/FormPrBase.js
*/
/**
@ -72,11 +74,13 @@
* @property {number} cellWidth - The cell width for each character measured in millimeters. If this parameter is not specified or equal to 0 or less, then the width will be set automatically.
* @property {boolean} multiLine - Specifies if the current fixed size text field is multiline or not.
* @property {boolean} autoFit - Specifies if the text field content should be autofit, i.e. whether the font size adjusts to the size of the fixed size form.
* @see office-js-api/Examples/Enumerations/TextFormPrBase.js
*/
/**
* Text field properties.
* @typedef {FormPrBase | TextFormPrBase} TextFormPr
* @see office-js-api/Examples/Enumerations/TextFormPr.js
*/
/**
@ -84,11 +88,13 @@
* @typedef {Object} FormInsertPr
* @property {boolean} [placeholderFromSelection=false] - Specifies if the currently selected text should be saved as a placeholder of the inserted form.
* @property {boolean} [keepSelectedTextInForm=true] - Specifies if the currently selected text should be saved as the content of the inserted form.
* @see office-js-api/Examples/Enumerations/FormInsertPr.js
*/
/**
* Properties for inserting a text field.
* @typedef {FormPrBase | TextFormPrBase | FormInsertPr} TextFormInsertPr
* @see office-js-api/Examples/Enumerations/TextFormInsertPr.js
*/
@ -96,11 +102,13 @@
* Specific checkbox / radio button properties.
* @typedef {Object} CheckBoxFormPrBase
* @property {boolean} radio - Specifies if the current checkbox is a radio button. In this case, the key parameter is considered as an identifier for the group of radio buttons.
* @see office-js-api/Examples/Enumerations/CheckBoxFormPrBase.js
*/
/**
* Checkbox / radio button properties.
* @typedef {FormPrBase | CheckBoxFormPrBase} CheckBoxFormPr
* @see office-js-api/Examples/Enumerations/CheckBoxFormPr.js
*/
/**
@ -113,21 +121,25 @@
     * If the array consists of single strings, then the displayed value and its meaning are the same.
     * Example: ["First", ["Second", "2"], ["Third", "3"], "Fourth"].
* @see office-js-api/Examples/Enumerations/ComboBoxFormPrBase.js
*/
/**
* Combo box / dropdown list properties.
* @typedef {FormPrBase | ComboBoxFormPrBase} ComboBoxFormPr
* @see office-js-api/Examples/Enumerations/ComboBoxFormPr.js
*/
/**
* The condition to scale an image in the picture form.
* @typedef {"always" | "never" | "tooBig" | "tooSmall"} ScaleFlag
* @see office-js-api/Examples/Enumerations/ScaleFlag.js
*/
/**
* Value from 0 to 100.
* @typedef {number} percentage
* @see office-js-api/Examples/Enumerations/percentage.js
*/
/**
@ -137,18 +149,20 @@
* @property {boolean} lockAspectRatio - Specifies if the aspect ratio of the picture form is locked or not.
* @property {boolean} respectBorders - Specifies if the form border width is respected or not when scaling the image.
* @property {percentage} shiftX - Horizontal picture position inside the picture form measured in percent:
* * <b>0</b> - the picture is placed on the left;
* * <b>50</b> - the picture is placed in the center;
* * <b>100</b> - the picture is placed on the right.
* <b>0</b> - the picture is placed on the left;
* <b>50</b> - the picture is placed in the center;
* <b>100</b> - the picture is placed on the right.
* @property {percentage} shiftY - Vertical picture position inside the picture form measured in percent:
* * <b>0</b> - the picture is placed on top;
* * <b>50</b> - the picture is placed in the center;
* * <b>100</b> - the picture is placed on the bottom.
* <b>0</b> - the picture is placed on top;
* <b>50</b> - the picture is placed in the center;
* <b>100</b> - the picture is placed on the bottom.
* @see office-js-api/Examples/Enumerations/PictureFormPrBase.js
*/
/**
* Picture form properties.
* @typedef {FormPrBase | PictureFormPrBase} PictureFormPr
* @see office-js-api/Examples/Enumerations/PictureFormPr.js
*/
/**
@ -157,18 +171,22 @@
* @property {string} format - The date format, ex: mm.dd.yyyy
* @property {string} lang - The date language. Possible value for this parameter is a language identifier as defined by
* RFC 4646/BCP 47. Example: "en-CA".
* @see office-js-api/Examples/Enumerations/DateFormPrBase.js
*/
/**
* Date form properties.
* @typedef {FormPrBase | DateFormPrBase} DateFormPr
* @see office-js-api/Examples/Enumerations/DateFormPr.js
*/
/**
* Creates a text field with the specified text field properties.
* @memberof Api
* @typeofeditors ["CDE", "CFE"]
* @param {TextFormPr} oFormPr - Text field properties.
* @returns {ApiTextForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateTextForm.js
*/
Api.prototype.CreateTextForm = function(oFormPr)
{
@ -186,8 +204,10 @@
/**
* Creates a checkbox / radio button with the specified checkbox / radio button properties.
* @memberof Api
* @typeofeditors ["CDE", "CFE"]
* @param {CheckBoxFormPr} oFormPr - Checkbox / radio button properties.
* @returns {ApiCheckBoxForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateCheckBoxForm.js
*/
Api.prototype.CreateCheckBoxForm = function(oFormPr)
{
@ -259,8 +279,10 @@
/**
* Creates a combo box / dropdown list with the specified combo box / dropdown list properties.
* @memberof Api
* @typeofeditors ["CDE", "CFE"]
* @param {ComboBoxFormPr} oFormPr - Combo box / dropdown list properties.
* @returns {ApiComboBoxForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateComboBoxForm.js
*/
Api.prototype.CreateComboBoxForm = function(oFormPr)
{
@ -327,8 +349,10 @@
/**
* Creates a picture form with the specified picture form properties.
* @memberof Api
* @typeofeditors ["CDE", "CFE"]
* @param {PictureFormPr} oFormPr - Picture form properties.
* @returns {ApiPictureForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreatePictureForm.js
*/
Api.prototype.CreatePictureForm = function(oFormPr)
{
@ -377,8 +401,10 @@
/**
* Creates a date form with the specified date form properties.
* @memberof Api
* @typeofeditors ["CDE", "CFE"]
* @param {DateFormPr} oFormPr - Date form properties.
* @returns {ApiDateForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateDateForm.js
*/
Api.prototype.CreateDateForm = function(oFormPr)
{
@ -396,8 +422,10 @@
/**
* Inserts a text box with the specified text box properties over the selected text.
* @memberof ApiDocument
* @typeofeditors ["CDE", "CFE"]
* @param {TextFormInsertPr} oFormPr - Properties for inserting a text field.
* @returns {ApiTextForm}
* @see office-js-api/Examples/Forms/ApiDocument/Methods/InsertTextForm.js
*/
ApiDocument.prototype.InsertTextForm = function(oFormPr)
{
@ -437,6 +465,10 @@
let placeholder = oFormPr ? GetStringParameter(oFormPr["placeholder"], undefined) : undefined;
SetFormPlaceholder(contentControl, placeholder);
let tag = oFormPr ? GetStringParameter(oFormPr["tag"], undefined) : undefined;
if (tag)
contentControl.SetTag(tag);
contentControl.ReplaceContentWithPlaceHolder(false);
contentControl.UpdatePlaceHolderTextPrForForm();
return contentControl;
@ -515,3 +547,4 @@
ApiDocument.prototype["InsertTextForm"] = ApiDocument.prototype.InsertTextForm;
}(window, null));

View File

@ -41,16 +41,18 @@
* @property {string} Id - A unique identifier of the content control. It can be used to search for a certain content control and make reference to it in the code.
* @property {ContentControlLock} Lock - A value that defines if it is possible to delete and/or edit the content control or not: 0 - only deleting, 1 - no deleting or editing, 2 - only editing, 3 - full access.
* @property {string} InternalId - A unique internal identifier of the content control. It is used for all operations with content controls.
*/
* @see office-js-api/Examples/Plugins/Forms/Enumeration/ContentControl.js
*/
/**
* @typedef {(0 | 1 | 2 | 3)} ContentControlLock
* A value that defines if it is possible to delete and/or edit the content control or not:
* * **0** - only deleting
* * **1** - disable deleting or editing
* * **2** - only editing
* * **3** - full access
*/
* **0** - only deleting
* **1** - disable deleting or editing
* **2** - only editing
* **3** - full access
* @see office-js-api/Examples/Plugins/Forms/Enumeration/ContentControlLock.js
*/
/**
* Returns information about all the forms that have been added to the document.
@ -58,8 +60,7 @@
* @typeofeditors ["CDE"]
* @alias GetAllForms
* @returns {ContentControl[]} - An array with all the forms from the document.
* @example
* window.Asc.plugin.executeMethod("GetAllForms");
* @see office-js-api/Examples/Plugins/Forms/Api/Methods/GetAllForms.js
*/
window["asc_docs_api"].prototype["pluginMethod_GetAllForms"] = function()
{
@ -82,8 +83,7 @@
* @alias GetFormsByTag
* @param {string} tag - The form tag.
* @returns {ContentControl[]} - An array with all the forms from the document with the specified tag.
* @example
* window.Asc.plugin.executeMethod("GetFormsByTag");
* @see office-js-api/Examples/Plugins/Forms/Api/Methods/GetFormsByTag.js
*/
window["asc_docs_api"].prototype["pluginMethod_GetFormsByTag"] = function(tag)
{
@ -109,8 +109,7 @@
* @alias SetFormValue
* @param {string} internalId - A unique internal identifier of the form.
* @param {string | boolean} value - Form value to be set. Its type depends on the form type.
* @example
* window.Asc.plugin.executeMethod("SetFormValue");
* @see office-js-api/Examples/Plugins/Forms/Api/Methods/SetFormValue.js
*/
window["asc_docs_api"].prototype["pluginMethod_SetFormValue"] = function(internalId, value)
{
@ -123,9 +122,7 @@
* @alias GetFormValue
* @param {string} internalId - A unique internal identifier of the form.
* @returns {null | string | boolean} The form value in the string or boolean format depending on the form type. The null value means that the form is filled with a placeholder.
* @example
* window.Asc.plugin.executeMethod("GetFormValue");
*
* @see office-js-api/Examples/Plugins/Forms/Api/Methods/GetFormValue.js
*/
window["asc_docs_api"].prototype["pluginMethod_GetFormValue"] = function(internalId)
{
@ -171,3 +168,4 @@
};
})(window);