Compare commits

...

14 Commits

Author SHA1 Message Date
48222ffdc1 Fix bug #80439
Fix export
2026-03-27 17:33:31 +03:00
e318396b71 Merge branch hotfix/v9.3.1 into release/v9.4.0 2026-03-12 15:26:16 +00:00
ab5795e3d9 Fix bug #80439
Fix export for CRoleSettings
2026-03-05 10:41:19 +03:00
a3e6482ff3 Merge branch release/v9.3.0 into develop 2026-02-25 15:15:38 +00:00
c27936c5c8 Merge branch release/v9.3.0 into master 2026-02-24 14:13:10 +00:00
7178e3065c [forms][js-api] Rework main class Api to the new scheme 2026-02-17 19:24:48 +03:00
3fb5b65794 [form] Add method to check if the form is signed 2026-02-02 18:52:59 +03:00
c9279dcdd8 Merge branch hotfix/v9.2.1 into release/v9.3.0 2025-12-17 15:33:39 +00:00
cd54c2bdff Merge branch hotfix/v9.2.1 into develop 2025-12-17 15:33:38 +00:00
e53ddb9003 Fix bug #78104 2025-12-05 15:28:14 +03:00
29c2f86cb8 Merge branch release/v9.2.0 into master 2025-12-01 07:30:49 +00:00
d1f67dce0d [de] Remove unnecessary onEndAction 2025-11-27 15:10:26 +03:00
f2901a3dc7 Fix bug #77996
Don't allow to insert other forms inside a fixed labeled checkbox
2025-11-25 21:51:40 +03:00
4678111e19 For bug #78163
Check symbols before specifying the default form value
2025-11-18 12:16:31 +03:00
5 changed files with 69 additions and 32 deletions

21
api.js
View File

@ -309,7 +309,7 @@ window["AscOForm"] = window.AscOForm = AscOForm;
oLogicDocument.RemoveTextSelection();
if (!oLogicDocument.IsSelectionLocked(AscCommon.changestype_Paragraph_Content))
{
oLogicDocument.StartAction(AscDFH.historydescription_Document_AddContentControlList, undefined, undefined, isComboBox);
oLogicDocument.StartAction(AscDFH.historydescription_Document_AddContentControlList);
var oCC;
if (isComboBox)
@ -327,6 +327,7 @@ window["AscOForm"] = window.AscOForm = AscOForm;
if (oCC && oCommonPr)
oCC.SetContentControlPr(oCommonPr);
oLogicDocument.AddMacroData(AscDFH.historydescription_Document_AddContentControlList, {isComboBox : isComboBox});
oLogicDocument.Recalculate();
oLogicDocument.UpdateInterface();
oLogicDocument.UpdateSelection();
@ -344,7 +345,7 @@ window["AscOForm"] = window.AscOForm = AscOForm;
oLogicDocument.RemoveTextSelection();
if (!oLogicDocument.IsSelectionLocked(AscCommon.changestype_Paragraph_Content))
{
oLogicDocument.StartAction(AscDFH.historydescription_Document_AddContentControlList, undefined, undefined, true);
oLogicDocument.StartAction(AscDFH.historydescription_Document_AddContentControlDatePicker, undefined, undefined, true);
let dateTimePr = null;
let formPr = null;
@ -493,7 +494,17 @@ window["AscOForm"] = window.AscOForm = AscOForm;
if (!form || !form.IsForm())
return;
return this.private_SetFormValue(form.GetId(), value);
if (typeof(value) === "string")
{
let _t = this;
AscFonts.FontPickerByCharacter.checkText(value, this, function() {
_t.private_SetFormValue(form.GetId(), value);
});
}
else
{
this.private_SetFormValue(form.GetId(), value);
}
};
window['Asc']['asc_docs_api'].prototype['asc_GetFormValue'] = window['Asc']['asc_docs_api'].prototype.asc_GetFormValue = function(formId)
{
@ -727,6 +738,10 @@ window["AscOForm"] = window.AscOForm = AscOForm;
{
let form = logicDocument.GetContentControl();
let mainForm = form ? form.GetMainForm() : null;
if (mainForm && mainForm.IsLabeledCheckBox())
return mainForm.MoveCursorOutsideForm(false);
if (!form || !form.IsForm() || (form.IsComplexForm() && !isComplex))
return;

View File

@ -53,7 +53,7 @@
* @class
* @name Api
*/
var Api = window["Asc"]["asc_docs_api"] || window["Asc"]["spreadsheet_api"];
var Api = AscBuilder.Word.Api;
/**
* Common form properties.
@ -189,7 +189,7 @@
* @returns {ApiTextForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateTextForm.js
*/
Api.prototype.CreateTextForm = function(formPr)
Api.CreateTextForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
@ -210,7 +210,7 @@
* @returns {ApiCheckBoxForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateCheckBoxForm.js
*/
Api.prototype.CreateCheckBoxForm = function(formPr)
Api.CreateCheckBoxForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
@ -285,7 +285,7 @@
* @returns {ApiComboBoxForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateComboBoxForm.js
*/
Api.prototype.CreateComboBoxForm = function(formPr)
Api.CreateComboBoxForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
@ -355,7 +355,7 @@
* @returns {ApiPictureForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreatePictureForm.js
*/
Api.prototype.CreatePictureForm = function(formPr)
Api.CreatePictureForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
@ -407,7 +407,7 @@
* @returns {ApiDateForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateDateForm.js
*/
Api.prototype.CreateDateForm = function(formPr)
Api.CreateDateForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
@ -428,7 +428,7 @@
* @returns {ApiComplexForm}
* @see office-js-api/Examples/Forms/Api/Methods/CreateComplexForm.js
*/
Api.prototype.CreateComplexForm = function(formPr)
Api.CreateComplexForm = function(formPr)
{
return executeNoFormLockCheck(function()
{
@ -800,12 +800,12 @@
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 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["CreateComboBoxForm"] = Api.prototype.CreateComboBoxForm;
Api.prototype["CreateComplexForm"] = Api.prototype.CreateComplexForm;
Api["CreateTextForm"] = Api.CreateTextForm;
Api["CreatePictureForm"] = Api.CreatePictureForm;
Api["CreateDateForm"] = Api.CreateDateForm;
Api["CreateCheckBoxForm"] = Api.CreateCheckBoxForm;
Api["CreateComboBoxForm"] = Api.CreateComboBoxForm;
Api["CreateComplexForm"] = Api.CreateComplexForm;
ApiDocument.prototype["InsertTextForm"] = ApiDocument.prototype.InsertTextForm;
ApiDocument.prototype["GetFormRoles"] = ApiDocument.prototype.GetFormRoles;

View File

@ -168,6 +168,29 @@
return "";
};
/**
* Checks whether the specified form has been digitally signed.
* @memberof Api
* @typeofeditors ["CDE"]
* @alias IsFormSigned
* @returns {boolean} Returns true if the form is signed, false otherwise.
* @since 9.3.0
* @see office-js-api/Examples/Plugins/Forms/Api/Methods/IsFormSigned.js
*/
Api.prototype["pluginMethod_IsFormSigned"] = function()
{
let signatures = this.signatures;
if (!signatures || !Array.isArray(signatures))
return false;
for (let i = 0; i < signatures.length; ++i)
{
if (signatures[i].isForm)
return true;
}
return false;
};
})(window);

View File

@ -718,8 +718,6 @@
if (!logicDocument)
return;
this.onEndAction();
logicDocument.UpdateInterface();
logicDocument.FinalizeAction();
};
@ -735,14 +733,14 @@
//--------------------------------------------------------export----------------------------------------------------
AscOForm.OForm = OForm;
//---------------------------------------------interface export-----------------------------------------------------
OForm.prototype['asc_getAllRoles'] = OForm.prototype.getAllRoles;
OForm.prototype['asc_addRole'] = OForm.prototype.addRole;
OForm.prototype['asc_removeRole'] = OForm.prototype.removeRole;
OForm.prototype['asc_editRole'] = OForm.prototype.editRole;
OForm.prototype['asc_moveUpRole'] = OForm.prototype.moveUpRole;
OForm.prototype['asc_moveDownRole'] = OForm.prototype.moveDownRole;
OForm.prototype['asc_haveRole'] = OForm.prototype.haveRole;
OForm.prototype['asc_getRole'] = OForm.prototype.getRoleSettings;
OForm.prototype['asc_canFillRole'] = OForm.prototype.canFillRole;
OForm.prototype['asc_getAllRoles'] = OForm.prototype.asc_getAllRoles = OForm.prototype.getAllRoles;
OForm.prototype['asc_addRole'] = OForm.prototype.asc_addRole = OForm.prototype.addRole;
OForm.prototype['asc_removeRole'] = OForm.prototype.asc_removeRole = OForm.prototype.removeRole;
OForm.prototype['asc_editRole'] = OForm.prototype.asc_editRole = OForm.prototype.editRole;
OForm.prototype['asc_moveUpRole'] = OForm.prototype.asc_moveUpRole = OForm.prototype.moveUpRole;
OForm.prototype['asc_moveDownRole'] = OForm.prototype.asc_moveDownRole = OForm.prototype.moveDownRole;
OForm.prototype['asc_haveRole'] = OForm.prototype.asc_haveRole = OForm.prototype.haveRole;
OForm.prototype['asc_getRole'] = OForm.prototype.asc_getRole = OForm.prototype.getRoleSettings;
OForm.prototype['asc_canFillRole'] = OForm.prototype.asc_canFillRole = OForm.prototype.canFillRole;
})(window);

View File

@ -164,9 +164,10 @@
//---------------------------------------------interface export-----------------------------------------------------
CRole.prototype['asc_getSettings'] = CRole.prototype.getSettings;
window['AscCommon']["CRoleSettings"] = CRoleSettings;
CRoleSettings.prototype["asc_getName"] = CRoleSettings.prototype.getName;
CRoleSettings.prototype["asc_putName"] = CRoleSettings.prototype.setName;
CRoleSettings.prototype["asc_getColor"] = CRoleSettings.prototype.getAscColor;
CRoleSettings.prototype["asc_putColor"] = CRoleSettings.prototype.setAscColor;
CRoleSettings.prototype["asc_getFieldCount"] = CRoleSettings.prototype.getFieldCount;
window['AscCommon'].CRoleSettings = CRoleSettings;
CRoleSettings.prototype["asc_getName"] = CRoleSettings.prototype.asc_getName = CRoleSettings.prototype.getName;
CRoleSettings.prototype["asc_putName"] = CRoleSettings.prototype.asc_putName = CRoleSettings.prototype.setName;
CRoleSettings.prototype["asc_getColor"] = CRoleSettings.prototype.asc_getColor = CRoleSettings.prototype.getAscColor;
CRoleSettings.prototype["asc_putColor"] = CRoleSettings.prototype.asc_putColor = CRoleSettings.prototype.setAscColor;
CRoleSettings.prototype["asc_getFieldCount"] = CRoleSettings.prototype.asc_getFieldCount = CRoleSettings.prototype.getFieldCount;
})(window);