mirror of
https://github.com/ONLYOFFICE/sdkjs-forms.git
synced 2026-03-31 10:23:35 +08:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d8149446fa | |||
| 4e3a6d5fd0 | |||
| ed08a8154d | |||
| fed8a12cc8 | |||
| e4b1254e7b | |||
| 24fbc65a0f | |||
| 847e9fdb73 | |||
| f5156538c1 | |||
| 139f675db2 |
34
api.js
34
api.js
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
@ -61,6 +61,7 @@ window["AscOForm"] = window.AscOForm = AscOForm;
|
||||
oPr.UncheckedFont = "Segoe UI Symbol";
|
||||
}
|
||||
|
||||
|
||||
var nCheckedSymbol = oPr && oPr.CheckedSymbol ? oPr.CheckedSymbol : Asc.c_oAscSdtCheckBoxDefaults.CheckedSymbol;
|
||||
var nUncheckedSymbol = oPr && oPr.UncheckedSymbol ? oPr.UncheckedSymbol : Asc.c_oAscSdtCheckBoxDefaults.UncheckedSymbol;
|
||||
var sCheckedFont = oPr && oPr.CheckedFont ? oPr.CheckedFont : Asc.c_oAscSdtCheckBoxDefaults.CheckedFont;
|
||||
@ -87,7 +88,11 @@ window["AscOForm"] = window.AscOForm = AscOForm;
|
||||
if (oFormPr)
|
||||
{
|
||||
private_ApplyFormPr(oCC, oFormPr, oLogicDocument);
|
||||
private_CheckFormKey(oCC, oLogicDocument);
|
||||
|
||||
if (oPr && oPr.GroupKey)
|
||||
private_CheckRadioButtonChoice(oCC, oLogicDocument, oPr.GroupKey);
|
||||
else
|
||||
private_CheckFormKey(oCC, oLogicDocument);
|
||||
}
|
||||
|
||||
if (oCommonPr)
|
||||
@ -240,6 +245,11 @@ window["AscOForm"] = window.AscOForm = AscOForm;
|
||||
oLogicDocument.Recalculate(true);
|
||||
oCC.UpdatePictureFormLayout();
|
||||
}
|
||||
else
|
||||
{
|
||||
oCC.ReplaceContentWithPlaceHolder();
|
||||
oCC.ApplyPicturePr(true);
|
||||
}
|
||||
}
|
||||
|
||||
if (oCC && oCommonPr)
|
||||
@ -617,6 +627,26 @@ window["AscOForm"] = window.AscOForm = AscOForm;
|
||||
formPr.SetKey(key);
|
||||
form.SetFormPr(formPr);
|
||||
}
|
||||
function private_CheckRadioButtonChoice(form, logicDocument, groupKey)
|
||||
{
|
||||
if (!form || !form.IsForm() || !logicDocument)
|
||||
return;
|
||||
|
||||
let choice = form.GetFormKey();
|
||||
if (choice && "" !== choice.trim())
|
||||
return;
|
||||
|
||||
let formManager = logicDocument.GetFormsManager();
|
||||
let keyGenerator = formManager.GetKeyGenerator();
|
||||
|
||||
let formPr = form.GetFormPr().Copy();
|
||||
if (!formPr)
|
||||
return;
|
||||
|
||||
choice = keyGenerator.GetNewChoiceByGroupKey(groupKey);
|
||||
formPr.SetKey(choice);
|
||||
form.SetFormPr(formPr);
|
||||
}
|
||||
function private_ApplyFormPr(form, formPr, logicDocument)
|
||||
{
|
||||
if (!form || !formPr)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
@ -62,6 +62,7 @@
|
||||
* @property {string} tip - Form tip text.
|
||||
* @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 +73,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 +87,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 +101,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 +120,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
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -144,11 +155,13 @@
|
||||
* * <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 +170,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/../Sdkjs-Forms/Api/Methods/CreateTextForm.js
|
||||
*/
|
||||
Api.prototype.CreateTextForm = function(oFormPr)
|
||||
{
|
||||
@ -186,8 +203,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/../Sdkjs-Forms/Api/Methods/CreateCheckBoxForm.js
|
||||
*/
|
||||
Api.prototype.CreateCheckBoxForm = function(oFormPr)
|
||||
{
|
||||
@ -259,8 +278,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/../Sdkjs-Forms/Api/Methods/CreateComboBoxForm.js
|
||||
*/
|
||||
Api.prototype.CreateComboBoxForm = function(oFormPr)
|
||||
{
|
||||
@ -327,8 +348,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/../Sdkjs-Forms/Api/Methods/CreatePictureForm.js
|
||||
*/
|
||||
Api.prototype.CreatePictureForm = function(oFormPr)
|
||||
{
|
||||
@ -377,8 +400,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/../Sdkjs-Forms/Api/Methods/CreateDateForm.js
|
||||
*/
|
||||
Api.prototype.CreateDateForm = function(oFormPr)
|
||||
{
|
||||
@ -396,8 +421,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/../Sdkjs-Forms/ApiDocument/Methods/InsertTextForm.js
|
||||
*/
|
||||
ApiDocument.prototype.InsertTextForm = function(oFormPr)
|
||||
{
|
||||
@ -515,3 +542,4 @@
|
||||
ApiDocument.prototype["InsertTextForm"] = ApiDocument.prototype.InsertTextForm;
|
||||
|
||||
}(window, null));
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2023
|
||||
* (c) Copyright Ascensio System SIA 2010-2024
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
||||
Reference in New Issue
Block a user