123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
- var Unibase;
- (function (Unibase) {
- let Apps;
- (function (Apps) {
- let Collaboration;
- (function (Collaboration) {
- let Components;
- (function (Components) {
- class DocConnector {
- constructor() {
- this.methods = {
- connectedUsers: function (FileUsers, DocumentGroup) {
- console.log('connectedUsers is Connected !');
- if (DocumentGroup == 'Excel') {
- setTimeout(() => { Unibase.Apps.Collaboration.Components.Sheets.Base.Instance().activeUsers(FileUsers); }, 1000);
- }
- else if (DocumentGroup == 'Word') {
- Unibase.Apps.Collaboration.Components.DocEditor.Base.Instance().activeUsers(FileUsers);
- }
- },
- FileDisconnect: function (user, DocumentGroup) {
- if (DocumentGroup == 'Excel') {
- Unibase.Apps.Collaboration.Components.Sheets.Base.Instance().activeUsers(user);
- }
- else if (DocumentGroup == 'Word') {
- Unibase.Apps.Collaboration.Components.DocEditor.Base.Instance().activeUsers(user);
- }
- }
- };
- DocConnector._isRegistered = false;
- }
- init(fileid, documentgroup) {
- this.connection = Collaboration.Hubs.UniDocHub.Instance(_appsettings.dochub_url());
- var fileId = parseInt(fileid);
- this.start(fileId, documentgroup);
- }
- closeDoc() {
- Unibase.Apps.Collaboration.Hubs.UniDocHub.Instance(_appsettings.dochub_url()).getConnection().stop();
- }
- ChangeDoc(username, args) {
- Unibase.Apps.Collaboration.Hubs.UniDocHub.Instance(_appsettings.dochub_url()).getConnection().invoke("ChangeDoc", username, JSON.stringify(args));
- }
- getClientMethods() {
- return [
- { MethodName: "connectedUsers", Method: this.methods.connectedUsers },
- { MethodName: "filedisconnect", Method: this.methods.FileDisconnect },
- ];
- }
- registerClientMethods() {
- let _methods = this.getClientMethods();
- if (_methods)
- for (var i = 0; i < _methods.length; i++) {
- this.connection.register(_methods[i].MethodName, _methods[i].Method);
- }
- }
- connectedUsers(FileUsers) {
- let ssObj = Unibase.Apps.Collaboration.Components.Documents.Instance()._openedfile;
- let stCls = Unibase.Apps.Collaboration.Components.Sheets;
- ssObj.signalrData = FileUsers;
- var args = JSON.parse(FileUsers);
- }
- start(fileId, documentgroup) {
- return __awaiter(this, void 0, void 0, function* () {
- this.registerClientMethods();
- try {
- if (!DocConnector._isRegistered) {
- DocConnector._isRegistered = true;
- this.connection.register("changedocument", function (docData) {
- let ssObj = Unibase.Apps.Collaboration.Components.Documents.Instance()._openedfile;
- let stCls = Unibase.Apps.Collaboration.Components.Sheets;
- ssObj.signalrData = docData;
- var args = JSON.parse(docData);
- try {
- if (args.origin === 'biz') {
- Unibase.Apps.Collaboration.Components.Documents.Instance()._openedfile.biz.sheetIndex = args.sheetIndex;
- switch (args.action) {
- case 'trim':
- stCls.Ribbon.Instance().processTrim(args.range);
- break;
- case 'removeDuplicates':
- stCls.Dialogue.Instance().removeDuplicate(args.range, args.header, args.colSelected);
- break;
- case 'autofill':
- stCls.Autofill.Instance().applyAutofill(args.options, args.direction);
- break;
- case 'formatpaint':
- stCls.FormatPainter.Instance().applyFormatPaint(args.srcRange, args.destRange, args.srcSheetIndex);
- break;
- case 'splittext':
- stCls.FormatPainter.Instance().applySplitText(args.range, args.stValues);
- break;
- case 'shiftrows':
- stCls.FormatPainter.Instance().applyShiftRows(args.dropIdx, args.rngIndexes, args.direction, false);
- break;
- case 'shiftcols':
- stCls.FormatPainter.Instance().applyShiftCols(args.dropIdx, args.rngIndexes, args.direction, false);
- break;
- case 'deleteshiftup':
- stCls.FormatPainter.Instance().applyDeleteShiftUp(args.range);
- break;
- case 'deleteshiftleft':
- stCls.FormatPainter.Instance().applyDeleteShiftLeft(args.range);
- break;
- case 'insertshiftdown':
- stCls.FormatPainter.Instance().applyInsertShiftDown(args.range);
- break;
- case 'insertshiftright':
- stCls.FormatPainter.Instance().applyInsertShiftRight(args.range);
- break;
- case 'shiftcells':
- stCls.FormatPainter.Instance().applyShiftCells(args.rowIdx, args.colIdx, args.ranges);
- break;
- case 'spellcheck':
- stCls.SpellChecker.Instance().applySpellValue(args.rowIdx, args.colIdx, args.value);
- break;
- case 'selection':
- stCls.FormatPainter.Instance().applyUserSelection(args.range, args.userName);
- break;
- case 'undoredo':
- stCls.Base.Instance().performBizUndoRedo(args);
- break;
- case 'insertimage':
- stCls.Base.Instance().actionInsertImage(args);
- break;
- case 'colorchange':
- stCls.Base.Instance().sheetColorRender();
- break;
- case 'resize':
- stCls.Base.Instance().adjustRowsAndColumnWidth(args);
- break;
- case 'importReplace':
- location.reload();
- break;
- }
- Unibase.Apps.Collaboration.Components.Sheets.Base.Instance().editDetails();
- Unibase.Apps.Collaboration.Components.Documents.Instance()._openedfile.biz.sheetIndex = -1;
- }
- else {
- Unibase.Apps.Collaboration.Components.Documents.Instance()._openedfile.updateAction(JSON.parse(docData));
- Unibase.Apps.Collaboration.Components.Sheets.Base.Instance().editDetails();
- }
- }
- catch (e) {
- }
- });
- }
- this.connection.connect(function () {
- let identity = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
- let UnibaseId = identity.unibaseId;
- let FileId = fileId;
- let FirstName = identity.name;
- let SessionId = identity.sessionId;
- let TenantId = identity.tenantId;
- console.log("connection started");
- Unibase.Apps.Collaboration.Hubs.UniDocHub.Instance(_appsettings.dochub_url()).getConnection().invoke("Connect", FileId, UnibaseId, FirstName, documentgroup, SessionId, TenantId).catch(function (err) {
- return console.error(err.toString());
- });
- });
- }
- catch (err) {
- console.log(err);
- setTimeout(this.start, 5000);
- }
- });
- }
- ;
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new DocConnector();
- }
- return this.instance;
- }
- }
- Components.DocConnector = DocConnector;
- })(Components = Collaboration.Components || (Collaboration.Components = {}));
- })(Collaboration = Apps.Collaboration || (Apps.Collaboration = {}));
- })(Apps = Unibase.Apps || (Unibase.Apps = {}));
- })(Unibase || (Unibase = {}));
|