Compare commits

..

24 Commits

Author SHA1 Message Date
031e0bbbbf Merge pull request '[forms][bu] Fix methods description' (#6) from release/v9.0.0 into master 2025-06-19 11:35:44 +00:00
9bee906735 [forms][bu] Fix methods description 2025-06-19 14:29:07 +03:00
bfe252fee3 Merge branch release/v9.0.0 into master 2025-06-18 09:27:10 +00:00
70503bde4c Merge pull request 'Api docs 9.0.0' (#5) from feature/api-docs-9.0.0 into release/v9.0.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/sdkjs-forms/pulls/5
2025-06-17 12:49:39 +00:00
9a88f0855a Merge branch 'release/v9.0.0' of git.onlyoffice.com:ONLYOFFICE/sdkjs-forms into feature/api-docs-9.0.0 2025-06-17 12:53:51 +03:00
ac12e3223c updated api docs 2025-06-17 12:53:41 +03:00
00b3394113 Merge pull request 'fix/complex-form' (#4) from fix/complex-form into release/v9.0.0 2025-06-11 13:06:04 +00:00
930f507eaf [forms] Refactor 2025-06-11 16:04:22 +03:00
f31bb12081 Fix description CreateComplexForm 2025-06-07 07:37:50 +03:00
26236c2b6e Add CreateComplexForm 2025-06-07 07:33:12 +03:00
8e661ab8a9 [oform] Fix the size for inner shape of a signature form 2025-06-02 16:50:10 +03:00
bee4c2702c Merge pull request 'fix/roles-builder' (#3) from fix/roles-builder into release/v9.0.0 2025-05-28 17:08:38 +00:00
9446505728 [form] Add a default role to the new form if it isn't specified 2025-05-28 18:51:03 +03:00
d80cc23221 [de] Add ability so specify the role when adding form using office-js-api 2025-05-28 00:02:14 +03:00
a602d9aa36 [forms] Add methods to work with oform roles 2025-05-27 18:24:07 +03:00
ea7e3c0f02 Fix bug #70332
Convert drawing to inline form when adding picture content control
2025-05-05 16:55:41 +03:00
1da45dde0e For bug #71640
Add subforms to a complex form with the role name of the complex form
2025-04-30 12:03:09 +03:00
4ac368daa0 Merge branch hotfix/v8.3.3 into release/v9.0.0 2025-04-21 09:08:04 +00:00
b8cbadfde6 Merge branch hotfix/v8.3.2 into release/v9.0.0 2025-04-01 08:39:13 +00:00
4732938f0a Merge branch hotfix/v8.3.2 into master 2025-03-19 12:50:23 +00:00
7505fadefe Fix bug #73572
Fix changing roles order
2025-03-17 18:32:49 +03:00
439c9b3085 [de] Don't translate default role name 2025-03-14 21:18:45 +03:00
f4d5a88be0 Merge pull request '[bu][plugins] Use Api in proto' (#2) from fix/bu-description into release/v9.0.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/sdkjs-forms/pulls/2
2025-03-06 11:36:13 +00:00
c8bff88071 [bu][plugins] Use Api in proto 2025-03-06 15:23:08 +07:00
7 changed files with 363 additions and 73 deletions

16
api.js
View File

@ -189,6 +189,17 @@ window["AscOForm"] = window.AscOForm = AscOForm;
let h = isSignature ? 32 / 72 * 25.4 : undefined;
var oCC = oLogicDocument.AddContentControlPicture(w, h);
// MSWord can't open files with anchored picture content controls (70332)
if (oCC && !oFormPr)
{
let allDrawings = oCC.GetAllDrawingObjects();
for (let i = 0; i < allDrawings.length; ++i)
{
allDrawings[i].MakeInline();
}
}
let oFormParaDrawing = null;
if (oCC && oFormPr)
{
@ -263,7 +274,7 @@ window["AscOForm"] = window.AscOForm = AscOForm;
else
{
oCC.ReplaceContentWithPlaceHolder();
oCC.ApplyPicturePr(true);
oCC.ApplyPicturePr(true, w, h);
}
}
@ -673,6 +684,9 @@ window["AscOForm"] = window.AscOForm = AscOForm;
form.SetFormPr(formPr.Copy());
if (!form.IsMainForm() && form.GetMainForm().GetFormRole() !== formPr.GetRole())
form.SetFormRole(form.GetMainForm().GetFormRole());
let docPartId = form.GetPlaceholder();
let glossary = logicDocument.GetGlossaryDocument();
if ((form.IsTextForm()

View File

@ -58,11 +58,12 @@
/**
* Common form properties.
* @typedef {Object} FormPrBase
* @property {string} key - Form key.
* @property {string} tip - Form tip text.
* @property {string} tag - Form tag.
* @property {string} key - The form key.
* @property {string} tip - The form tip text.
* @property {string} tag - The form tag.
* @property {string} role - The role to fill out form.
* @property {boolean} required - Specifies if the form is required or not.
* @property {string} placeholder - Form placeholder text.
* @property {string} placeholder - The form placeholder text.
* @see office-js-api/Examples/Enumerations/FormPrBase.js
*/
@ -184,20 +185,20 @@
* Creates a text field with the specified text field properties.
* @memberof Api
* @typeofeditors ["CDE", "CFE"]
* @param {TextFormPr} oFormPr - Text field properties.
* @param {TextFormPr} formPr - Text field properties.
* @returns {ApiTextForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateTextForm.js
*/
Api.prototype.CreateTextForm = function(oFormPr)
Api.prototype.CreateTextForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
if (!oFormPr)
oFormPr = {};
if (!formPr)
formPr = {};
let form = CreateCommonForm(oFormPr);
ApplyTextFormPr(form, oFormPr);
CheckFormKey(form);
let form = CreateCommonForm(formPr);
ApplyTextFormPr(form, formPr);
CheckForm(form);
return new AscBuilder.ApiTextForm(form);
}, this);
};
@ -205,26 +206,26 @@
* Creates a checkbox / radio button with the specified checkbox / radio button properties.
* @memberof Api
* @typeofeditors ["CDE", "CFE"]
* @param {CheckBoxFormPr} oFormPr - Checkbox / radio button properties.
* @param {CheckBoxFormPr} formPr - Checkbox / radio button properties.
* @returns {ApiCheckBoxForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateCheckBoxForm.js
*/
Api.prototype.CreateCheckBoxForm = function(oFormPr)
Api.prototype.CreateCheckBoxForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
if (!oFormPr)
oFormPr = {};
if (!formPr)
formPr = {};
oFormPr["placeholder"] = undefined;
formPr["placeholder"] = undefined;
var oCC;
var oCheckboxPr = new AscCommon.CSdtCheckBoxPr();
if (GetBoolParameter(oFormPr["radio"], false))
if (GetBoolParameter(formPr["radio"], false))
{
oCheckboxPr.CheckedSymbol = 0x25C9;
oCheckboxPr.UncheckedSymbol = 0x25CB;
oCheckboxPr.GroupKey = GetStringParameter(oFormPr["key"], "Group1");
oCheckboxPr.GroupKey = GetStringParameter(formPr["key"], "Group1");
}
else
{
@ -255,7 +256,7 @@
function private_PerformAddCheckBox()
{
oCC = CreateCommonForm(oFormPr);
oCC = CreateCommonForm(formPr);
oCC.ApplyCheckBoxPr(oCheckboxPr);
}
@ -272,7 +273,7 @@
private_PerformAddCheckBox();
}
CheckFormKey(oCC);
CheckForm(oCC);
return new AscBuilder.ApiCheckBoxForm(oCC);
}, this);
};
@ -280,25 +281,25 @@
* 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.
* @param {ComboBoxFormPr} formPr - Combo box / dropdown list properties.
* @returns {ApiComboBoxForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateComboBoxForm.js
*/
Api.prototype.CreateComboBoxForm = function(oFormPr)
Api.prototype.CreateComboBoxForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
if (!oFormPr)
oFormPr = {};
if (!formPr)
formPr = {};
var oPr = new AscCommon.CSdtComboBoxPr();
oPr.AddItem(AscCommon.translateManager.getValue("Choose an item"), "");
var oCC = CreateCommonForm(oFormPr);
var oCC = CreateCommonForm(formPr);
let sPlaceholder = GetStringParameter(oFormPr["placeholder"], undefined);
let sPlaceholder = GetStringParameter(formPr["placeholder"], undefined);
let arrList = GetArrayParameter(oFormPr["items"], []);
let arrList = GetArrayParameter(formPr["items"], []);
for (let nIndex = 0, nCount = arrList.length; nIndex < nCount; ++nIndex)
{
let oItem = arrList[nIndex];
@ -315,9 +316,9 @@
oPr.AddItem(sDisplay, sValue);
}
}
oPr.SetAutoFit(GetBoolParameter(oFormPr["autoFit"], false));
oPr.SetAutoFit(GetBoolParameter(formPr["autoFit"], false));
if (!GetBoolParameter(oFormPr["editable"], false))
if (!GetBoolParameter(formPr["editable"], false))
{
if (sPlaceholder)
{
@ -342,7 +343,7 @@
}
}
CheckFormKey(oCC);
CheckForm(oCC);
return new AscBuilder.ApiComboBoxForm(oCC);
}, this);
};
@ -350,27 +351,27 @@
* Creates a picture form with the specified picture form properties.
* @memberof Api
* @typeofeditors ["CDE", "CFE"]
* @param {PictureFormPr} oFormPr - Picture form properties.
* @param {PictureFormPr} formPr - Picture form properties.
* @returns {ApiPictureForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreatePictureForm.js
*/
Api.prototype.CreatePictureForm = function(oFormPr)
Api.prototype.CreatePictureForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
if (!oFormPr)
oFormPr = {};
if (!formPr)
formPr = {};
if (GetStringParameter("placeholder", null))
oFormPr["placeholder"] = AscCommon.translateManager.getValue("Click to load image");
formPr["placeholder"] = AscCommon.translateManager.getValue("Click to load image");
var oCC = CreateCommonForm(oFormPr);
var oCC = CreateCommonForm(formPr);
oCC.ApplyPicturePr(true);
oCC.ConvertFormToFixed();
let oPr = new AscCommon.CSdtPictureFormPr();
let sScale = GetStringParameter(oFormPr["scaleFlag"], undefined);
let sScale = GetStringParameter(formPr["scaleFlag"], undefined);
switch (sScale)
{
case "always":
@ -387,14 +388,14 @@
break;
}
oPr.SetConstantProportions(GetBoolParameter(oFormPr["lockAspectRatio"], true));
oPr.SetRespectBorders(GetBoolParameter(oFormPr["respectBorders"], false));
oPr.SetShiftX(Math.max(0, Math.min(100, GetNumberParameter(oFormPr["shiftX"], 50))) / 100);
oPr.SetShiftY(Math.max(0, Math.min(100, GetNumberParameter(oFormPr["shiftY"], 50))) / 100);
oPr.SetConstantProportions(GetBoolParameter(formPr["lockAspectRatio"], true));
oPr.SetRespectBorders(GetBoolParameter(formPr["respectBorders"], false));
oPr.SetShiftX(Math.max(0, Math.min(100, GetNumberParameter(formPr["shiftX"], 50))) / 100);
oPr.SetShiftY(Math.max(0, Math.min(100, GetNumberParameter(formPr["shiftY"], 50))) / 100);
oCC.SetPictureFormPr(oPr);
CheckFormKey(oCC);
CheckForm(oCC);
return new AscBuilder.ApiPictureForm(oCC);
}, this);
};
@ -402,70 +403,296 @@
* Creates a date form with the specified date form properties.
* @memberof Api
* @typeofeditors ["CDE", "CFE"]
* @param {DateFormPr} oFormPr - Date form properties.
* @param {DateFormPr} formPr - Date form properties.
* @returns {ApiDateForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateDateForm.js
*/
Api.prototype.CreateDateForm = function(oFormPr)
Api.prototype.CreateDateForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
if (!oFormPr)
oFormPr = {};
if (!formPr)
formPr = {};
let form = CreateCommonForm(oFormPr);
ApplyDateFormPr(form, oFormPr);
CheckFormKey(form);
let form = CreateCommonForm(formPr);
ApplyDateFormPr(form, formPr);
CheckForm(form);
return new AscBuilder.ApiDateForm(form);
}, this);
};
/**
* Creates a complex form with the specified complex form properties.
* @memberof Api
* @typeofeditors ["CDE", "CFE"]
* @param {FormPrBase} formPr - Complex form properties.
* @returns {ApiComplexForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateComplexForm.js
*/
Api.prototype.CreateComplexForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
if (!formPr)
formPr = {};
let form = CreateCommonForm(formPr);
ApplyComplexFormPr(form);
CheckForm(form);
return new AscBuilder.ApiComplexForm(form);
}, this);
};
/**
* 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.
* @param {TextFormInsertPr} formPr - Properties for inserting a text field.
* @returns {ApiTextForm}
* @see office-js-api/Examples/Forms/ApiDocument/Methods/InsertTextForm.js
*/
ApiDocument.prototype.InsertTextForm = function(oFormPr)
ApiDocument.prototype.InsertTextForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
if (!oFormPr)
oFormPr = {};
if (!formPr)
formPr = {};
let logicDocument = this.Document;
let placeholder = GetStringParameter(oFormPr["placeholder"], undefined);
if (GetBoolParameter(oFormPr["placeholderFromSelection"], false))
let placeholder = GetStringParameter(formPr["placeholder"], undefined);
if (GetBoolParameter(formPr["placeholderFromSelection"], false))
placeholder = logicDocument.GetSelectedText();
if (!GetBoolParameter(oFormPr["keepSelectedTextInForm"], true))
if (!GetBoolParameter(formPr["keepSelectedTextInForm"], true))
logicDocument.RemoveBeforePaste();
let contentControl = logicDocument.AddContentControl(c_oAscSdtLevelType.Inline);
if (!contentControl)
return null;
ApplyCommonFormPr(contentControl, oFormPr);
ApplyCommonFormPr(contentControl, formPr);
SetFormPlaceholder(contentControl, placeholder);
ApplyTextFormPr(contentControl, oFormPr, true);
CheckFormKey(contentControl);
ApplyTextFormPr(contentControl, formPr, true);
CheckForm(contentControl);
return new AscBuilder.ApiTextForm(contentControl);
}, this);
};
/**
* Class representing a collection of form roles.
* @constructor
* @since 9.0.0
* @typeofeditors ["CDE", "CFE"]
*/
function ApiFormRoles(oform)
{
this.oform = oform;
}
/**
* The date form properties.
* @typedef {FormPrBase | DateFormPrBase} DateFormPr
* @see office-js-api/Examples/Enumerations/DateFormPr.js
*/
/**
* The role properties.
* @typedef {Object} RoleProperties
* @property {string} color - The role color.
* @see office-js-api/Examples/Enumerations/RoleProperties.js
*/
/**
* Returns a collection of form roles.
* @since 9.0.0
* @typeofeditors ["CDE", "CFE"]
* @returns {ApiFormRoles}
* @see office-js-api/Examples/Forms/ApiDocument/Methods/GetFormRoles.js
*/
ApiDocument.prototype.GetFormRoles = function()
{
return new ApiFormRoles(this.Document.GetOFormDocument());
};
/**
* Adds a new form role.
* @memberof ApiFormRoles
* @since 9.0.0
* @typeofeditors ["CDE", "CFE"]
* @param {string} name - The name of role being added.
* @param {RoleProperties} props - The role properties.
* @returns {boolean}
* @see office-js-api/Examples/Forms/ApiFormRoles/Methods/Add.js
*/
ApiFormRoles.prototype.Add = function(name, props)
{
if (!this.oform || !name || this.oform.getRole(name))
return false;
let rgba = ParseRoleColor(props && props["color"] ? props["color"] : null);
let rolePr = new AscOForm.CRoleSettings();
rolePr.Name = name;
rolePr.Color = AscCommon.CreateAscColorCustom(rgba.R, rgba.G, rgba.B);
this.oform.addRole(rolePr);
return true;
};
/**
* Removes a role with the specified name.
* @memberof ApiFormRoles
* @since 9.0.0
* @typeofeditors ["CDE", "CFE"]
* @param {string} name - The name of role to be removed.
* @param {string} [delegateRole] - The name of the role to which all forms bound to this role will be delegated.
* @returns {boolean}
* @see office-js-api/Examples/Forms/ApiFormRoles/Methods/Remove.js
*/
ApiFormRoles.prototype.Remove = function(name, delegateRole)
{
if (!this.oform)
return false;
return this.oform.removeRole(name, delegateRole);
};
/**
* Returns a number of form roles.
* @memberof ApiFormRoles
* @since 9.0.0
* @typeofeditors ["CDE", "CFE"]
* @returns {number}
* @see office-js-api/Examples/Forms/ApiFormRoles/Methods/GetCount.js
*/
ApiFormRoles.prototype.GetCount = function()
{
if (!this.oform)
return 0;
return this.oform.getAllRoles().length;
};
/**
* Lists all available roles.
* @memberof ApiFormRoles
* @since 9.0.0
* @typeofeditors ["CDE", "CFE"]
* @returns {string[]}
* @see office-js-api/Examples/Forms/ApiFormRoles/Methods/GetAllRoles.js
*/
ApiFormRoles.prototype.GetAllRoles = function()
{
if (!this.oform)
return [];
let roles = this.oform.getAllRoles();
let result = [];
for (let i = 0; i < roles.length; ++i)
{
result.push(roles[i].getRole());
}
return result;
};
/**
* Checks if a role with the specified name exists.
* @memberof ApiFormRoles
* @since 9.0.0
* @typeofeditors ["CDE", "CFE"]
* @param {string} name - The role name.
* @returns {boolean}
* @see office-js-api/Examples/Forms/ApiFormRoles/Methods/HaveRole.js
*/
ApiFormRoles.prototype.HaveRole = function(name)
{
return this.oform && this.oform.haveRole(name);
};
/**
* Returns the RGB color of the specified role.
* @memberof ApiFormRoles
* @since 9.0.0
* @typeofeditors ["CDE", "CFE"]
* @param {string} name - The role name.
* @returns {null | {r:byte, g:byte, b:byte}}
* @see office-js-api/Examples/Forms/ApiFormRoles/Methods/GetRoleColor.js
*/
ApiFormRoles.prototype.GetRoleColor = function(name)
{
if (!this.oform || !this.oform.haveRole(name))
return null;
let color = this.oform.getRoleSettings(name).getColor();
if (!color)
return null;
return {
"r" : color.r,
"g" : color.g,
"b" : color.b
};
};
/**
* Sets the color for the specified role.
* @memberof ApiFormRoles
* @since 9.0.0
* @typeofeditors ["CDE", "CFE"]
* @param {string} name - The role name.
* @param {string} color - The role color.
* @returns {boolean}
* @see office-js-api/Examples/Forms/ApiFormRoles/Methods/SetRoleColor.js
*/
ApiFormRoles.prototype.SetRoleColor = function(name, color)
{
if (!this.oform || !this.oform.haveRole(name))
return false;
let rgba = ParseRoleColor(color);
let rolePr = new AscOForm.CRoleSettings();
rolePr.Name = name;
rolePr.Color = AscCommon.CreateAscColorCustom(rgba.R, rgba.G, rgba.B);
this.oform.editRole(name, rolePr);
return true;
};
/**
* Moves a role up in filling order.
* @memberof ApiFormRoles
* @since 9.0.0
* @typeofeditors ["CDE", "CFE"]
* @param {string} name - The role name.
* @returns {boolean}
* @see office-js-api/Examples/Forms/ApiFormRoles/Methods/MoveUp.js
*/
ApiFormRoles.prototype.MoveUp = function(name)
{
if (!this.oform)
return false;
return this.oform.moveUpRole(name);
};
/**
* Moves a role down in filling order.
* @memberof ApiFormRoles
* @since 9.0.0
* @typeofeditors ["CDE", "CFE"]
* @param {string} name - The role name.
* @returns {boolean}
* @see office-js-api/Examples/Forms/ApiFormRoles/Methods/MoveDown.js
*/
ApiFormRoles.prototype.MoveDown = function(name)
{
if (!this.oform)
return false;
return this.oform.moveDownRole(name);
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Private area
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function CreateCommonForm(oFormPr)
function CreateCommonForm(formPr)
{
let contentControl = new AscCommonWord.CInlineLevelSdt();
ApplyCommonFormPr(contentControl, oFormPr);
ApplyCommonFormPr(contentControl, formPr);
let placeholder = oFormPr ? GetStringParameter(oFormPr["placeholder"], undefined) : undefined;
let placeholder = formPr ? GetStringParameter(formPr["placeholder"], undefined) : undefined;
SetFormPlaceholder(contentControl, placeholder);
let tag = oFormPr ? GetStringParameter(oFormPr["tag"], undefined) : undefined;
let tag = formPr ? GetStringParameter(formPr["tag"], undefined) : undefined;
if (tag)
contentControl.SetTag(tag);
@ -489,6 +716,7 @@
sdtFormPr.SetHelpText(GetStringParameter(formPr["tip"], undefined));
sdtFormPr.SetRequired(GetBoolParameter(formPr["required"], false));
sdtFormPr.SetKey(GetStringParameter(formPr["key"], undefined));
sdtFormPr.SetRole(GetStringParameter(formPr["role"], undefined));
form.SetFormPr(sdtFormPr);
}
function ApplyTextFormPr(form, formPr, keepContent)
@ -514,6 +742,16 @@
form.ApplyDatePickerPr(datePickerPr);
}
function ApplyComplexFormPr(form)
{
let complexFormPr = new AscWord.CSdtComplexFormPr();
form.SetComplexFormPr(complexFormPr);
}
function CheckForm(form)
{
CheckFormKey(form);
CheckFormRole(form);
}
function CheckFormKey(form)
{
let logicDocument = editor && editor.WordControl && editor.WordControl.m_oLogicDocument;
@ -535,16 +773,52 @@
formPr.SetKey(key);
form.SetFormPr(formPr);
}
function CheckFormRole(form)
{
let logicDocument = editor && editor.WordControl && editor.WordControl.m_oLogicDocument;
if (!form || !form.IsForm() || !logicDocument)
return;
let role = form.GetFormRole();
if (role && "" !== role.trim())
return;
let oform = logicDocument.GetOFormDocument();
if (!oform)
return;
let defaultRole = oform.getDefaultRole();
if (!defaultRole)
return;
form.SetFormRole(defaultRole.getRole());
}
function ParseRoleColor(color)
{
return color ? AscCommon.RgbaTextToRGBA(color) : {R : 254, G : 248, B : 229, A : 255};
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Export
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Api.prototype["CreateTextForm"] = Api.prototype.CreateTextForm;
Api.prototype["CreatePictureForm"] = Api.prototype.CreatePictureForm;
Api.prototype["CreateDateForm"] = Api.prototype.CreateDateForm;
Api.prototype["CreateCheckBoxForm"] = Api.prototype.CreateCheckBoxForm;
Api.prototype["CreateCheckBoxForm"] = Api.prototype.CreateCheckBoxForm;
Api.prototype["CreateComboBoxForm"] = Api.prototype.CreateComboBoxForm;
Api.prototype["CreateComplexForm"] = Api.prototype.CreateComplexForm;
ApiDocument.prototype["InsertTextForm"] = ApiDocument.prototype.InsertTextForm;
ApiDocument.prototype["GetFormRoles"] = ApiDocument.prototype.GetFormRoles;
ApiFormRoles.prototype["Add"] = ApiFormRoles.prototype.Add;
ApiFormRoles.prototype["Remove"] = ApiFormRoles.prototype.Remove;
ApiFormRoles.prototype["GetCount"] = ApiFormRoles.prototype.GetCount;
ApiFormRoles.prototype["GetAllRoles"] = ApiFormRoles.prototype.GetAllRoles;
ApiFormRoles.prototype["HaveRole"] = ApiFormRoles.prototype.HaveRole;
ApiFormRoles.prototype["GetRoleColor"] = ApiFormRoles.prototype.GetRoleColor;
ApiFormRoles.prototype["SetRoleColor"] = ApiFormRoles.prototype.SetRoleColor;
ApiFormRoles.prototype["MoveUp"] = ApiFormRoles.prototype.MoveUp;
ApiFormRoles.prototype["MoveDown"] = ApiFormRoles.prototype.MoveDown;
}(window, null));

View File

@ -34,6 +34,8 @@
(function(window)
{
let Api = window["asc_docs_api"];
/**
* @typedef {Object} ContentControl
* Content control object.
@ -62,7 +64,7 @@
* @returns {ContentControl[]} - An array with all the forms from the document.
* @see office-js-api/Examples/Plugins/Forms/Api/Methods/GetAllForms.js
*/
window["asc_docs_api"].prototype["pluginMethod_GetAllForms"] = function()
Api.prototype["pluginMethod_GetAllForms"] = function()
{
let oFormsManager = this.private_GetFormsManager();
if (!oFormsManager)
@ -85,7 +87,7 @@
* @returns {ContentControl[]} - An array with all the forms from the document with the specified tag.
* @see office-js-api/Examples/Plugins/Forms/Api/Methods/GetFormsByTag.js
*/
window["asc_docs_api"].prototype["pluginMethod_GetFormsByTag"] = function(tag)
Api.prototype["pluginMethod_GetFormsByTag"] = function(tag)
{
let oFormsManager = this.private_GetFormsManager();
if (!oFormsManager)
@ -111,7 +113,7 @@
* @param {string | boolean} value - Form value to be set. Its type depends on the form type.
* @see office-js-api/Examples/Plugins/Forms/Api/Methods/SetFormValue.js
*/
window["asc_docs_api"].prototype["pluginMethod_SetFormValue"] = function(internalId, value)
Api.prototype["pluginMethod_SetFormValue"] = function(internalId, value)
{
this.private_SetFormValue(internalId, value);
};
@ -124,7 +126,7 @@
* @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.
* @see office-js-api/Examples/Plugins/Forms/Api/Methods/GetFormValue.js
*/
window["asc_docs_api"].prototype["pluginMethod_GetFormValue"] = function(internalId)
Api.prototype["pluginMethod_GetFormValue"] = function(internalId)
{
if (!AscCommon.g_oTableId)
return "";

View File

@ -568,7 +568,7 @@
this.OForm.onChangeRoles();
};
CDocument.prototype.onChangeFieldGroup = function(fieldGroup)
CDocument.prototype.onChangeFieldGroupFilled = function(fieldGroup)
{
if (!this.OForm)
return;

View File

@ -69,7 +69,7 @@
AscCommon.History.Add(new AscDFH.CChangesOFormFieldGroupFilled(this, this.Filled, isFilled));
this.Filled = isFilled;
this.onChange();
this.onChangeFilled();
};
CFieldGroup.prototype.setWeight = function(value)
{

View File

@ -124,7 +124,7 @@
CUserMaster.prototype.initDefaultUser = function()
{
// TODO: Возможно стоит придумать уникальный id общий для дефолтовой роли
this.setRole(AscCommon.translateManager.getValue("Anyone"));
this.setRole("Anyone");
this.setColor(255, 239, 191);
};
CUserMaster.prototype.compare = function(user)

View File

@ -137,7 +137,7 @@
function(value)
{
this.Class.Filled = value;
this.Class.onChange();
this.Class.onChangeFilled();
},
false
);