From d8628c74c6920c87b41f93b56b873b9a8bba0933 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Mon, 30 Jan 2023 18:46:15 +0500 Subject: [PATCH] [oform] Add new base class for all format classes --- configs/word.json | 1 + oform/format/BaseFormatObject.js | 76 ++++++++++++++++++++++++++++++++ oform/format/Document.js | 5 ++- oform/format/FieldGroup.js | 5 ++- oform/format/FieldMaster.js | 5 ++- oform/format/User.js | 5 ++- oform/format/UserMaster.js | 5 ++- 7 files changed, 92 insertions(+), 10 deletions(-) create mode 100644 oform/format/BaseFormatObject.js diff --git a/configs/word.json b/configs/word.json index 4914b08..f23adb9 100644 --- a/configs/word.json +++ b/configs/word.json @@ -10,6 +10,7 @@ "oform/Role.js", "oform/xml/XmlPackage.js", "oform/xml/XmlContext.js", + "oform/format/BaseFormatObject.js", "oform/format/Document.js", "oform/format/FieldGroup.js", "oform/format/FieldMaster.js", diff --git a/oform/format/BaseFormatObject.js b/oform/format/BaseFormatObject.js new file mode 100644 index 0000000..4234ea1 --- /dev/null +++ b/oform/format/BaseFormatObject.js @@ -0,0 +1,76 @@ +/* + * (c) Copyright Ascensio System SIA 2010-2019 + * + * 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) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +"use strict"; + +(function(window) +{ + + + /** + * Базовый класс для всех форматных классов в oform + * @constructor + */ + function CBaseFormatObject() + { + this.Id = null; + + if (!AscCommon.g_oIdCounter.m_bLoad && !AscCommon.History.CanAddChanges()) + return; + + this.Id = AscCommon.g_oIdCounter.GetNewIdForOForm(); + AscCommon.g_oTableId.Add(this, this.Id); + } + CBaseFormatObject.prototype.GetId = function() + { + return this.Id; + }; + CBaseFormatObject.prototype.Get_Id = function() + { + return this.Id; + }; + CBaseFormatObject.prototype.Write_ToBinary2 = function(writer) + { + writer.WriteLong(this.classType); + writer.WriteString2(this.GetId()); + }; + CBaseFormatObject.prototype.Read_FromBinary2 = function(reader) + { + this.Id = reader.GetString2(); + }; + CBaseFormatObject.prototype.Refresh_RecalcData = function(change) + { + }; + //--------------------------------------------------------export---------------------------------------------------- + AscOForm.CBaseFormatObject = CBaseFormatObject; + +})(window); diff --git a/oform/format/Document.js b/oform/format/Document.js index 4fc6fce..3d77cc8 100644 --- a/oform/format/Document.js +++ b/oform/format/Document.js @@ -38,10 +38,11 @@ * Основной класс для работы с форматом oform * @param oform {AscOForm.OForm} * @constructor + * @extends AscOForm.CBaseFormatObject */ function CDocument(oform) { - AscFormat.CBaseFormatObject.call(this); + AscOForm.CBaseFormatObject.call(this); this.OForm = oform; @@ -63,7 +64,7 @@ this.UserMasters = []; this.FieldMasters = []; } - AscFormat.InitClass(CDocument, AscFormat.CBaseFormatObject, AscDFH.historyitem_type_OForm_Document); + AscFormat.InitClass(CDocument, AscOForm.CBaseFormatObject, AscDFH.historyitem_type_OForm_Document); CDocument.prototype.clear = function() { // TODO: fields? diff --git a/oform/format/FieldGroup.js b/oform/format/FieldGroup.js index fe1cbd4..7d26054 100644 --- a/oform/format/FieldGroup.js +++ b/oform/format/FieldGroup.js @@ -36,10 +36,11 @@ { /** * @constructor + * @extends AscOForm.CBaseFormatObject */ function CFieldGroup() { - AscFormat.CBaseFormatObject.call(this); + AscOForm.CBaseFormatObject.call(this); this.Weight = null; this.Fields = []; @@ -47,7 +48,7 @@ this.Parent = null; } - AscFormat.InitClass(CFieldGroup, AscFormat.CBaseFormatObject, AscDFH.historyitem_type_OForm_FieldGroup); + AscFormat.InitClass(CFieldGroup, AscOForm.CBaseFormatObject, AscDFH.historyitem_type_OForm_FieldGroup); CFieldGroup.prototype.setParent = function(parent) { this.Parent = parent; diff --git a/oform/format/FieldMaster.js b/oform/format/FieldMaster.js index edcfecb..eaeea19 100644 --- a/oform/format/FieldMaster.js +++ b/oform/format/FieldMaster.js @@ -37,10 +37,11 @@ /** * @param {boolean} [generateId=false] * @constructor + * @extends AscOForm.CBaseFormatObject */ function CFieldMaster(generateId) { - AscFormat.CBaseFormatObject.call(this); + AscOForm.CBaseFormatObject.call(this); this.FieldId = null; this.Field = null; @@ -50,7 +51,7 @@ if (true === generateId) this.setFieldId(AscCommon.CreateGUID()); } - AscFormat.InitClass(CFieldMaster, AscFormat.CBaseFormatObject, AscDFH.historyitem_type_OForm_FieldMaster); + AscFormat.InitClass(CFieldMaster, AscOForm.CBaseFormatObject, AscDFH.historyitem_type_OForm_FieldMaster); CFieldMaster.prototype.setLogicField = function(logicField) { this.Field = logicField; diff --git a/oform/format/User.js b/oform/format/User.js index 649d425..6355ff9 100644 --- a/oform/format/User.js +++ b/oform/format/User.js @@ -37,10 +37,11 @@ /** * @param {AscOForm.CUserMaster} userMaster * @constructor + * @extends AscOForm.CBaseFormatObject */ function CUser(userMaster) { - AscFormat.CBaseFormatObject.call(this); + AscOForm.CBaseFormatObject.call(this); this.Email = undefined; this.Telephone = undefined; @@ -49,7 +50,7 @@ if (userMaster) this.setUserMaster(userMaster); } - AscFormat.InitClass(CUser, AscFormat.CBaseFormatObject, AscDFH.historyitem_type_OForm_User); + AscFormat.InitClass(CUser, AscOForm.CBaseFormatObject, AscDFH.historyitem_type_OForm_User); CUser.prototype.setUserMaster = function(userMaster) { if (this.UserMaster === userMaster) diff --git a/oform/format/UserMaster.js b/oform/format/UserMaster.js index 15e18d5..50abcdc 100644 --- a/oform/format/UserMaster.js +++ b/oform/format/UserMaster.js @@ -37,10 +37,11 @@ /** * @param {boolean} [generateId=false] * @constructor + * @extends AscOForm.CBaseFormatObject */ function CUserMaster(generateId) { - AscFormat.CBaseFormatObject.call(this); + AscOForm.CBaseFormatObject.call(this); this.UserId = undefined; this.Role = undefined; @@ -51,7 +52,7 @@ this.Parent = null; } - AscFormat.InitClass(CUserMaster, AscFormat.CBaseFormatObject, AscDFH.historyitem_type_OForm_UserMaster); + AscFormat.InitClass(CUserMaster, AscOForm.CBaseFormatObject, AscDFH.historyitem_type_OForm_UserMaster); CUserMaster.prototype.setParent = function(parent) { this.Parent = parent;