Files
DocumentServer-v-9.2.0/sdkjs/common/versionHistory.js
Yajbir Singh f1b860b25c
Some checks failed
check / markdownlint (push) Has been cancelled
check / spellchecker (push) Has been cancelled
updated
2025-12-11 19:03:17 +05:30

166 lines
5.9 KiB
JavaScript

/*
* (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)
* 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-6 Ernesta Birznieka-Upish
* 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";
(/**
* @param {Window} window
* @param {undefined} undefined
*/
function(window, undefined) {
/** @constructor */
function asc_CVersionHistory(newObj) {
this.docId = null;
this.url = null;
this.urlChanges = null;
this.currentChangeId = -1;
this.newChangeId = -1;
this.colors = null;
this.changes = null;
this.token = null;
this.isRequested = null;
this.serverVersion = null;
this.documentSha256 = null;
this.userId = null;
this.userName = null;
this.userColor = null;
this.dateOfRevision = null;
if (newObj) {
this.update(newObj);
}
}
asc_CVersionHistory.prototype.update = function(newObj)
{
let bUpdate = this.docId !== newObj.docId
|| this.url !== newObj.url
|| this.urlChanges !== newObj.urlChanges
|| this.currentChangeId > newObj.currentChangeId;
if (bUpdate)
{
this.docId = newObj.docId;
this.url = newObj.url;
this.urlChanges = newObj.urlChanges;
this.currentChangeId = -1;
this.changes = null;
this.token = newObj.token;
}
this.colors = newObj.colors;
this.newChangeId = newObj.currentChangeId;
this.isRequested = newObj.isRequested;
this.serverVersion = newObj.serverVersion;
this.userId = newObj.userId;
this.userName = newObj.userName;
this.userColor = newObj.userColor;
this.dateOfRevision = newObj.dateOfRevision;
this.documentSha256 = newObj.documentSha256;
return bUpdate;
};
asc_CVersionHistory.prototype.applyChanges = function(editor) {
//in case of errors in longAction locks, this.changes can be null
if (!this.changes) {
return;
}
var color;
this.newChangeId = (null == this.newChangeId) ? (this.changes.length - 1) : this.newChangeId;
for (let i = this.currentChangeId + 1; i <= this.newChangeId && i < this.changes.length; ++i)
{
color = this.colors[i];
let currentColor = (color ? new CDocumentColor((color >> 16) & 0xFF, (color >> 8) & 0xFF, color & 0xFF) : new CDocumentColor(191, 255, 199))
editor._coAuthoringSetChanges(this.changes[i], i !== this.newChangeId ? null : currentColor);
}
this.currentChangeId = this.newChangeId;
};
asc_CVersionHistory.prototype.asc_setDocId = function(val) {
this.docId = val;
};
asc_CVersionHistory.prototype.asc_setUrl = function(val) {
this.url = val;
};
asc_CVersionHistory.prototype.asc_setUrlChanges = function(val) {
this.urlChanges = val;
};
asc_CVersionHistory.prototype.asc_setCurrentChangeId = function(val) {
this.currentChangeId = val;
};
asc_CVersionHistory.prototype.asc_setArrColors = function(val) {
this.colors = val;
};
asc_CVersionHistory.prototype.asc_setToken = function(val) {
this.token = val;
};
asc_CVersionHistory.prototype.asc_setIsRequested = function(val) {
this.isRequested = val;
};
asc_CVersionHistory.prototype.asc_setServerVersion = function(val) {
this.serverVersion = val;
};
asc_CVersionHistory.prototype.asc_setDocumentSha256 = function(val) {
this.documentSha256 = val;
};
asc_CVersionHistory.prototype.asc_SetUserId = function(val)
{
this.userId = val;
}
asc_CVersionHistory.prototype.asc_SetUserName = function(val)
{
this.userName = val;
}
asc_CVersionHistory.prototype.asc_SetDateOfRevision = function(val)
{
this.dateOfRevision = val;
}
asc_CVersionHistory.prototype.asc_SetUserColor = function (val)
{
this.userColor = val;
}
window["Asc"].asc_CVersionHistory = window["Asc"]["asc_CVersionHistory"] = asc_CVersionHistory;
prot = asc_CVersionHistory.prototype;
prot["asc_setDocId"] = prot.asc_setDocId;
prot["asc_setUrl"] = prot.asc_setUrl;
prot["asc_setUrlChanges"] = prot.asc_setUrlChanges;
prot["asc_setCurrentChangeId"] = prot.asc_setCurrentChangeId;
prot["asc_setArrColors"] = prot.asc_setArrColors;
prot["asc_setToken"] = prot.asc_setToken;
prot["asc_setIsRequested"] = prot.asc_setIsRequested;
prot["asc_setServerVersion"] = prot.asc_setServerVersion;
prot["asc_setDocumentSha256"] = prot.asc_setDocumentSha256;
prot["asc_SetUserId"] = prot.asc_SetUserId;
prot["asc_SetUserName"] = prot.asc_SetUserName;
prot["asc_SetUserColor"] = prot.asc_SetUserColor;
prot["asc_SetDateOfRevision"] = prot.asc_SetDateOfRevision;
})(window);