From e412f3095d1a0c3f31462489445ed412b3c8c254 Mon Sep 17 00:00:00 2001 From: KirillovIlya Date: Thu, 22 Dec 2022 03:10:38 +0300 Subject: [PATCH] [oform] Implement reading a default user master --- oform/OForm.js | 1 - oform/format/Document.js | 24 ++++++++++++++++++++++ oform/format/changes/DocumentChanges.js | 27 +++++++++++++++++++++++++ oform/xml/XmlPackage.js | 2 +- 4 files changed, 52 insertions(+), 2 deletions(-) diff --git a/oform/OForm.js b/oform/OForm.js index b9da2f0..f039390 100644 --- a/oform/OForm.js +++ b/oform/OForm.js @@ -42,7 +42,6 @@ function OForm(document) { this.Format = new AscOForm.CDocument(this); - this.DefaultUser = this.Format.getDefaultUserMaster(); this.Document = document; this.CurrentUser = null; diff --git a/oform/format/Document.js b/oform/format/Document.js index 600e7f5..dbe99e7 100644 --- a/oform/format/Document.js +++ b/oform/format/Document.js @@ -71,6 +71,14 @@ this.clearUserMasters(); this.clearFieldGroups(); }; + CDocument.prototype.setDefaultUser = function(userMaster) + { + if (!userMaster || userMaster === this.DefaultUser) + return; + + AscCommon.History.Add(new AscDFH.CChangesOFormDocumentDefaultUser(this, this.DefaultUser.GetId(), userMaster.GetId())); + this.DefaultUser = userMaster; + }; CDocument.prototype.setAuthor = function(author) { if (this.Author === author) @@ -227,6 +235,22 @@ case "fieldGroup": this.addFieldGroup(AscOForm.CFieldGroup.fromXml(reader)); break; + case "defaultUser": + { + while (reader.MoveToNextAttribute()) + { + if ("r:id" === reader.GetName()) + { + let xmlContext = reader.GetContext(); + let rId = reader.GetValueDecodeXml(); + let rel = reader.rels.getRelationship(rId); + let userMaster = xmlContext.getUserMaster(rel.getFullPath()); + if (userMaster) + this.setDefaultUser(userMaster); + } + } + break; + } } } diff --git a/oform/format/changes/DocumentChanges.js b/oform/format/changes/DocumentChanges.js index e232300..b52ecc3 100644 --- a/oform/format/changes/DocumentChanges.js +++ b/oform/format/changes/DocumentChanges.js @@ -44,6 +44,7 @@ window['AscDFH'].historyitem_OForm_Document_User = window['AscDFH'].historyitem_type_OForm_Document | 8; window['AscDFH'].historyitem_OForm_Document_UserMaster = window['AscDFH'].historyitem_type_OForm_Document | 9; window['AscDFH'].historyitem_OForm_Document_FieldMaster = window['AscDFH'].historyitem_type_OForm_Document | 10; + window['AscDFH'].historyitem_OForm_Document_DefaultUser = window['AscDFH'].historyitem_type_OForm_Document | 11; /** * @constructor @@ -299,4 +300,30 @@ ); window['AscDFH'].CChangesOFormDocumentFieldMaster = CChangesOFormDocumentFieldMaster; + /** + * @constructor + * @extends {window['AscDFH'].CChangesBaseStringProperty} + */ + function CChangesOFormDocumentDefaultUser(Class, Old, New) + { + window['AscDFH'].CChangesBaseStringProperty.call(this, Class, Old, New); + } + window['AscDFH'].InheritPropertyChange( + CChangesOFormDocumentDefaultUser, + window['AscDFH'].CChangesBaseStringProperty, + window['AscDFH'].historyitem_OForm_Document_DefaultUser, + function(value) + { + let document = this.Class; + let userMaster = AscCommon.g_oTableId.GetById(value); + if (userMaster) + { + userMaster.setParent(document); + document.DefaultUser = userMaster; + } + }, + false + ); + window['AscDFH'].CChangesOFormDocumentDefaultUser = CChangesOFormDocumentDefaultUser; + })(window); diff --git a/oform/xml/XmlPackage.js b/oform/xml/XmlPackage.js index b07d67d..6a1289c 100644 --- a/oform/xml/XmlPackage.js +++ b/oform/xml/XmlPackage.js @@ -80,7 +80,7 @@ AscOForm.Test = function() { - let bse64Zip = "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"; + let bse64Zip = "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"; var dstLen = bse64Zip.length; var pointer = g_memory.Alloc(dstLen); var stream = new AscCommon.FT_Stream2(pointer.data, dstLen);