@ckeditor/ckeditor5-real-time-collaboration 48.5.0 → 48.5.2-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/dist/index.js +6 -6
- package/dist/translations/af.umd.js +1 -1
- package/dist/translations/ar.umd.js +1 -1
- package/dist/translations/ast.umd.js +1 -1
- package/dist/translations/az.umd.js +1 -1
- package/dist/translations/be.umd.js +1 -1
- package/dist/translations/bg.umd.js +1 -1
- package/dist/translations/bn.umd.js +1 -1
- package/dist/translations/bs.umd.js +1 -1
- package/dist/translations/ca.umd.js +1 -1
- package/dist/translations/cs.umd.js +1 -1
- package/dist/translations/da.umd.js +1 -1
- package/dist/translations/de-ch.umd.js +1 -1
- package/dist/translations/de.umd.js +1 -1
- package/dist/translations/el.umd.js +1 -1
- package/dist/translations/en-au.umd.js +1 -1
- package/dist/translations/en-gb.umd.js +1 -1
- package/dist/translations/en.umd.js +1 -1
- package/dist/translations/eo.umd.js +1 -1
- package/dist/translations/es-co.umd.js +1 -1
- package/dist/translations/es.umd.js +1 -1
- package/dist/translations/et.umd.js +1 -1
- package/dist/translations/eu.umd.js +1 -1
- package/dist/translations/fa.umd.js +1 -1
- package/dist/translations/fi.umd.js +1 -1
- package/dist/translations/fr.umd.js +1 -1
- package/dist/translations/gl.umd.js +1 -1
- package/dist/translations/gu.umd.js +1 -1
- package/dist/translations/he.umd.js +1 -1
- package/dist/translations/hi.umd.js +1 -1
- package/dist/translations/hr.umd.js +1 -1
- package/dist/translations/hu.umd.js +1 -1
- package/dist/translations/hy.umd.js +1 -1
- package/dist/translations/id.umd.js +1 -1
- package/dist/translations/it.umd.js +1 -1
- package/dist/translations/ja.umd.js +1 -1
- package/dist/translations/jv.umd.js +1 -1
- package/dist/translations/kk.umd.js +1 -1
- package/dist/translations/km.umd.js +1 -1
- package/dist/translations/kn.umd.js +1 -1
- package/dist/translations/ko.umd.js +1 -1
- package/dist/translations/ku.umd.js +1 -1
- package/dist/translations/lt.umd.js +1 -1
- package/dist/translations/lv.umd.js +1 -1
- package/dist/translations/ms.umd.js +1 -1
- package/dist/translations/nb.umd.js +1 -1
- package/dist/translations/ne.umd.js +1 -1
- package/dist/translations/nl.umd.js +1 -1
- package/dist/translations/no.umd.js +1 -1
- package/dist/translations/oc.umd.js +1 -1
- package/dist/translations/pl.umd.js +1 -1
- package/dist/translations/pt-br.umd.js +1 -1
- package/dist/translations/pt.umd.js +1 -1
- package/dist/translations/ro.umd.js +1 -1
- package/dist/translations/ru.umd.js +1 -1
- package/dist/translations/si.umd.js +1 -1
- package/dist/translations/sk.umd.js +1 -1
- package/dist/translations/sl.umd.js +1 -1
- package/dist/translations/sq.umd.js +1 -1
- package/dist/translations/sr-latn.umd.js +1 -1
- package/dist/translations/sr.umd.js +1 -1
- package/dist/translations/sv.umd.js +1 -1
- package/dist/translations/th.umd.js +1 -1
- package/dist/translations/ti.umd.js +1 -1
- package/dist/translations/tk.umd.js +1 -1
- package/dist/translations/tr.umd.js +1 -1
- package/dist/translations/tt.umd.js +1 -1
- package/dist/translations/ug.umd.js +1 -1
- package/dist/translations/uk.umd.js +1 -1
- package/dist/translations/ur.umd.js +1 -1
- package/dist/translations/uz.umd.js +1 -1
- package/dist/translations/vi.umd.js +1 -1
- package/dist/translations/zh-cn.umd.js +1 -1
- package/dist/translations/zh.umd.js +1 -1
- package/package.json +13 -13
package/LICENSE.md
CHANGED
|
@@ -14,7 +14,7 @@ Where not otherwise indicated, all CKEditor 5 content is authored by CKSour
|
|
|
14
14
|
|
|
15
15
|
The following libraries are included in CKEditor 5 under the [MIT license](https://opensource.org/licenses/MIT):
|
|
16
16
|
|
|
17
|
-
* es-toolkit - Copyright (c) 2024 Viva Republica, Inc
|
|
17
|
+
* es-toolkit - Copyright (c) 2024 Viva Republica, Inc.
|
|
18
18
|
* socket.io-client - Copyright (c) 2014-present Guillermo Rauch and Socket.IO contributors.
|
|
19
19
|
* socket.io-parser - Copyright (c) 2014-present Guillermo Rauch and Socket.IO contributors.
|
|
20
20
|
* url-parse - Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors.
|
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Context as
|
|
24
|
-
((()=>_0x248db8)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x63032a,_0x12e214];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x358704){super(_0x358704),this['set']('state',_0x16de04['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1e70a0())();}init(){const _0x1b626e=this['context'],_0x4642c0=_0x1b626e['plugins']['get'](_0x63032a),_0x18f95f=_0x1b626e['plugins']['get'](_0x12e214);if(!_0x4642c0['token'])throw new _0xa752d3('websocketgateway-missing-token',this);if(!_0x4642c0['webSocketUrl'])throw new _0xa752d3('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x4642c0['token'],_0x4642c0['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x37fbda=>{if(this['connection']=_0x37fbda,this['bind']('state')['to'](_0x37fbda,'state',this,'_isBrowserOffline',(_0x1b5af8,_0x1b6ac6)=>('connected'!==_0x1b5af8&&(this['_shouldPluginsReconnect']=!0x0),_0x1b6ac6||_0x1b5af8!==_0x16de04['CONNECTED']?_0x16de04['DISCONNECTED']:this['state']==_0x16de04['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x16de04['CONNECTING']):_0x16de04['CONNECTED'])),this['connection']['on']('error',(_0x5636ce,_0xfc77fc)=>{if('limitExceeded'!==_0xfc77fc['code'])throw console['error'](_0xfc77fc),new _0xa752d3('cloudservices-init',null,{'originalError':_0xfc77fc});_0x18f95f['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x37fbda['me'])return new Promise(_0x2c012a=>_0x37fbda['on']('change:me',_0x2c012a));})['catch'](_0x599442=>{throw console['error'](_0x599442),new _0xa752d3('cloudservices-init',null,{'originalError':_0x599442});});}addToReconnectionStack(_0x4d1485){if('function'!=typeof _0x4d1485['reconnect'])throw new _0xa752d3('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4d1485))throw new _0xa752d3('websocketgateway-plugin-already-registered',this,{'name':_0x4d1485['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4d1485);}removeFromReconnectionStack(_0x50bf64){this['_reconnectionStack']['delete'](_0x50bf64);}isInReconnectionStack(_0x3973ab){return this['_reconnectionStack']['has'](_0x3973ab);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x24f061=>_0x24f061['reconnect']())))['then'](()=>this['state']=_0x16de04['CONNECTED'])['catch'](_0x273ba9=>{throw console['error'](_0x273ba9),new _0xa752d3('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x16de04['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x181a27{['channelSessions'];channelConnectedUsers;allConnectedUsers;_registeredSessions;_uniqueUsersCount;['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[z,_0x2e4b5d];}constructor(_0x52792a){super(_0x52792a),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x309d10(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2e4b5d);}init(){const _0x1d3a7c=this['context']['plugins']['get'](z);this['listenTo'](_0x1d3a7c,'change:state',(_0x28b797,_0x34e5ef,_0x47e588)=>{if('connected'!==_0x47e588)this['channelSessions']['forEach'](_0x5691dc=>_0x5691dc['clear']()),this['channelConnectedUsers']['forEach'](_0x123f6b=>_0x123f6b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x52ab85,_0x50a881]of this['_registeredSessions'])for(const _0x26d5ce of _0x50a881)this['_handleSessionAdd'](_0x52ab85,_0x26d5ce);}}),this['_createUser'](_0x1d3a7c['connection']['me'],!0x0);}register(_0x49c194,_0x471725){if(this['_registeredSessions']['has'](_0x49c194))throw new _0xa752d3('sessions-register-already-registered',null,{'channelId':_0x49c194});this['_registeredSessions']['set'](_0x49c194,_0x471725),this['channelSessions']['set'](_0x49c194,new _0x309d10()),this['channelConnectedUsers']['set'](_0x49c194,new _0x309d10()),this['listenTo'](_0x471725,'add',(_0xe1a698,_0x51c064)=>this['_handleSessionAdd'](_0x49c194,_0x51c064)),this['listenTo'](_0x471725,'remove',(_0xb007bd,_0x480795)=>this['_handleSessionRemove'](_0x49c194,_0x480795));for(const _0x21c215 of _0x471725)this['_handleSessionAdd'](_0x49c194,_0x21c215);}unregister(_0x2e09b3){if(!this['_registeredSessions']['has'](_0x2e09b3))throw new _0xa752d3('sessions-unregister-not-exist',null,{'channelId':_0x2e09b3});const _0x2e8625=this['_registeredSessions']['get'](_0x2e09b3);this['stopListening'](_0x2e8625);for(const _0x9a98e4 of _0x2e8625)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x2e09b3,_0x9a98e4);this['_registeredSessions']['delete'](_0x2e09b3),this['channelSessions']['delete'](_0x2e09b3),this['channelConnectedUsers']['delete'](_0x2e09b3);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x15c4a3){for(const _0x2140fd of this['channelSessions']['values']())for(const _0x2ef538 of _0x2140fd)if(_0x2ef538['id']===_0x15c4a3)return _0x2ef538['user'];}getUserSessions(_0x4460c6,_0x2c8bb5){const _0x245760=_0x2c8bb5?[this['channelSessions']['get'](_0x2c8bb5)]:this['channelSessions']['values'](),_0x17f730=new Set();for(const _0x237067 of _0x245760)for(const _0x24e323 of _0x237067)_0x24e323['user']['id']===_0x4460c6['id']&&_0x17f730['add'](_0x24e323['id']);return _0x17f730;}getUserRole(_0x3316d3){for(const _0x523ac3 of this['channelSessions']['values']())for(const _0x191d15 of _0x523ac3)if(_0x191d15['user']===_0x3316d3)return _0x191d15['role'];}['_handleSessionAdd'](_0x953d2f,_0x17518c){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x458dae=_0x17518c['user'],_0x42fb27=this['_users']['getUser'](_0x458dae['id'])||this['_createUser'](_0x458dae),_0x20af80=Object['assign']({},_0x17518c,{'user':_0x42fb27});if(this['channelSessions']['get'](_0x953d2f)['add'](_0x20af80),!_0x458dae['hiddenInPresenceList']){const _0x56e9b4=this['channelConnectedUsers']['get'](_0x953d2f);_0x56e9b4['has'](_0x42fb27['id'])||_0x56e9b4['add'](_0x42fb27),this['allConnectedUsers']['has'](_0x42fb27['id'])||_0x458dae['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x42fb27,_0x42fb27['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x953d2f,{'channelId':_0x953d2f,'session':_0x20af80});}['_handleSessionRemove'](_0x59f9bc,_0x2b9002){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1ff207=this['channelConnectedUsers']['get'](_0x59f9bc),_0xcdf87e=_0x2b9002['user'];_0xcdf87e['id']&&(this['channelSessions']['get'](_0x59f9bc)['remove'](_0x2b9002['id']),_0x1ff207['has'](_0xcdf87e['id'])&&!this['getUserSessions'](_0xcdf87e,_0x59f9bc)['size']&&_0x1ff207['remove'](_0xcdf87e['id']),this['allConnectedUsers']['get'](_0xcdf87e['id'])&&!this['getUserSessions'](_0xcdf87e)['size']&&this['allConnectedUsers']['remove'](_0xcdf87e['id']));}_createUser(_0x19beb5,_0x1d3efa){const _0x1ddb2f=this['_users']['addUser'](_0x19beb5);return _0x1d3efa&&this['_users']['defineMe'](_0x19beb5['id']),_0x1ddb2f['orderNumber']=this['_uniqueUsersCount']++,_0x1ddb2f;}},K=class extends _0x55ae44{_domEmitter=new(_0x1e70a0())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x20589d=this['editor'],_0x25ad11=_0x20589d['plugins']['get'](Y);_0x20589d['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x2fd9b3,{writer:_0x2c98d0})=>function(_0x316396,_0xc2ba0a,_0xb6d3ff,_0x451c1b){const _0x24276f=_0x316396['markerName']['split'](':')[0x2],_0x2d8e53=_0xb6d3ff['getUserBySessionId'](_0x24276f);if(!_0x2d8e53||_0x24276f===_0xb6d3ff['mySessionId'])return;if(!_0x451c1b['model']['schema']['checkChild'](_0x316396['markerRange']['start'],'$text'))return;const _0x4f9dbf={'class':'ck-user__marker\x20'+_0x2d8e53['color']['getMarkerClass'](),'style':Q(_0x2d8e53),'data-name':_0x2d8e53['name'],'data-session-id':_0x24276f},_0x1f978b=_0x451c1b['model']['markers']['get'](_0x316396['markerName'])['getStart'](),_0x500e9d=_0x1f978b['nodeAfter'],_0x5947aa=_0x451c1b['model']['schema'];if(_0x500e9d&&_0x5947aa['isObject'](_0x500e9d)&&_0x5947aa['isInline'](_0x500e9d)&&!_0x451c1b['model']['markers']['get']('user:range:'+_0x24276f)['getRange']()['isCollapsed'])return;const _0x370cf1=_0x1f978b['parent'];return _0x451c1b['model']['schema']['isLimit'](_0x370cf1)&&!_0x451c1b['model']['hasContent'](_0x370cf1)&&(_0x4f9dbf['contenteditable']=!0x1),function(_0xb5a8bc,_0x4dd587,_0x3cfa90){const _0xcf208f=_0xb5a8bc['createUIElement']('span',_0x4dd587);return _0xb5a8bc['setCustomProperty']('userPositionMarker',!0x0,_0xcf208f),_0xcf208f['render']=function(_0x14c73e){const _0x351288=this['toDomElement'](_0x14c73e),_0x485e4c=document['createElement']('span');return _0x485e4c['classList']['add']('ck-user__marker-tooltip'),_0x485e4c['setAttribute']('contenteditable','false'),_0x485e4c['setAttribute']('spellcheck','false'),_0x485e4c['textContent']=_0x3cfa90['name'],_0x351288['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x485e4c['outerHTML']+'',_0x351288['addEventListener']('mouseenter',()=>{_0x351288['classList']['add']('ck-user__marker_hovered');}),_0x351288['addEventListener']('mouseleave',()=>{_0x351288['classList']['remove']('ck-user__marker_hovered');}),_0x351288;},_0xcf208f['isSimilar']=function(_0x4a2c7d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4a2c7d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4a2c7d['getAttribute']('data-session-id'));},_0xcf208f;}(_0xc2ba0a,_0x4f9dbf,_0x2d8e53);}(_0x2fd9b3,_0x2c98d0,_0x25ad11,_0x20589d)}),_0x20589d['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x545b2d=>function(_0x58c404,_0x2e6d74){const _0x212a81=_0x58c404['markerName']['split'](':')[0x2];if(_0x212a81===_0x2e6d74['mySessionId'])return null;const _0x2baa73=_0x2e6d74['getUserBySessionId'](_0x212a81);return _0x2baa73?{'id':_0x212a81,'classes':['ck-user__selection',_0x2baa73['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2baa73),'data-session-id':_0x212a81},'priority':0x7d0+_0x2baa73['orderNumber']}:{'id':_0x212a81,'classes':[]};}(_0x545b2d,_0x25ad11)}),function(_0x2a5ee6){const _0x40c2d1=_0x2a5ee6['model'],_0x2c688f=new Map(),_0x1c0a4e=_0x2a5ee6['plugins']['get'](Y);_0x40c2d1['markers']['on']('update:user:range',(_0x4946b9,_0x1b00ed,_0x2f1a08,_0xb6d2be)=>{if(!_0xb6d2be&&_0x2c688f['get'](_0x1b00ed['name']))return _0x2c688f['get'](_0x1b00ed['name'])['detach'](),void _0x2c688f['delete'](_0x1b00ed['name']);const _0x2a761b=_0x1b00ed['name']['split'](':')[0x2];if(_0x2a761b===_0x1c0a4e['mySessionId'])return;const _0x489edb='user:position:'+_0x2a761b;_0x40c2d1['markers']['has'](_0x489edb)&&_0x2a5ee6['editing']['reconvertMarker'](_0x489edb),_0x1b00ed['on']('change:range',(_0x2fed9f,_0x5230f8,_0x217174)=>{if('$graveyard'!=_0x5230f8['root']['rootName']&&'$graveyard'==_0x1b00ed['getRange']()['root']['rootName']&&!_0x2c688f['has'](_0x1b00ed['name'])){const _0x23750d=_0x40c2d1['schema']['getNearestSelectionRange'](_0x217174['deletionPosition']);if(_0x23750d){const _0x321207=_0x446d30['fromRange'](_0x23750d);_0x2c688f['set'](_0x1b00ed['name'],_0x321207),_0x321207['on']('change:range',(_0x575856,_0x34eb55,_0x404b37)=>{if('$graveyard'==_0x321207['root']['rootName']){const _0x394e56=_0x40c2d1['schema']['getNearestSelectionRange'](_0x404b37['deletionPosition']);_0x394e56?(_0x321207['start']=_0x394e56['start'],_0x321207['end']=_0x394e56['end']):(_0x2c688f['delete'](_0x1b00ed['name']),_0x321207['detach']());}});}}});}),_0x40c2d1['document']['on']('change',()=>{_0x2c688f['size']>0x0&&_0x40c2d1['enqueueChange']({'isUndoable':!0x1},_0x7eb71e=>{for(const [_0x3c0915,_0x25cdee]of _0x2c688f)'$graveyard'==_0x40c2d1['markers']['get'](_0x3c0915)['getRange']()['root']['rootName']&&(J(_0x3c0915['split'](':')[0x2],_0x25cdee['toRange'](),_0x40c2d1,_0x7eb71e),_0x25cdee['detach']());_0x2c688f['clear']();});});}(_0x20589d),this['_domEmitter']['listenTo'](_0x59c443['document'],'keydown',(_0x5c34ab,{key:_0x1b1844})=>{'Escape'===_0x1b1844&&function(_0x785c6f){_0x785c6f['editing']['view']['change'](_0x316325=>{for(const _0x5b9d7c of _0x785c6f['model']['markers']){if(!_0x5b9d7c['name']['startsWith']('user:position'))continue;const _0x4f74b9=_0x785c6f['editing']['mapper']['markerNameToElements'](_0x5b9d7c['name']);if(_0x4f74b9){for(const _0x1d123e of _0x4f74b9)_0x316325['removeClass']('ck-user__marker_hovered',_0x1d123e);}}});}(_0x20589d);},{'useCapture':!0x0});}afterInit(){const _0x53c77b=this['editor'],_0x400991=_0x53c77b['commands']['get']('undo');_0x400991&&_0x53c77b['model']['on']('applyOperation',(_0xa6a87,_0x5af7e5)=>{const _0x45fe5c=_0x5af7e5[0x0];if(!_0x45fe5c['isDocumentOperation'])return;if('marker'!=_0x45fe5c['type']||!_0x45fe5c['name']['startsWith']('user:'))return;const _0x50bcd7=_0x45fe5c['batch'];_0x400991['_createdBatches']['has'](_0x50bcd7)&&(_0x45fe5c['newRange']=_0x45fe5c['oldRange']?_0x53c77b['model']['createRange'](_0x45fe5c['oldRange']['start'],_0x45fe5c['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x406a68=this['editor'],_0x590ce0=_0x406a68['model']['document'],_0x14e47a=_0x406a68['plugins']['get'](Y);_0x406a68['model']['enqueueChange']({'isUndoable':!0x1},_0x32b234=>{const _0x161f5e='user:range:'+_0x14e47a['mySessionId'],_0x1e9df8='user:position:'+_0x14e47a['mySessionId'],_0x98e946=_0x406a68['model']['markers']['has'](_0x161f5e);_0x406a68['editing']['view']['hasDomSelection']?J(_0x14e47a['mySessionId'],_0x590ce0['selection']['getFirstRange'](),_0x406a68['model'],_0x32b234):_0x98e946&&(_0x32b234['removeMarker'](_0x161f5e),_0x32b234['removeMarker'](_0x1e9df8));});}};function J(_0x4c0ebe,_0x431f53,_0x678152,_0x2cc7a8){const _0x92f34a='user:range:'+_0x4c0ebe,_0xfef42c='user:position:'+_0x4c0ebe,_0x4107cc=_0x431f53['getContainedElement']();let _0x520e3f=_0x431f53['start'];if(_0x4107cc&&_0x4107cc['is']('element','tableCell')){const _0x4fea97=function(_0x3d1765,_0x2a1ee6){for(const _0x1c78b7 of _0x3d1765['getPositions']())if(_0x2a1ee6['schema']['checkChild'](_0x1c78b7,'$text'))return _0x1c78b7;}(_0x431f53,_0x678152);_0x4fea97&&(_0x520e3f=_0x4fea97,_0x431f53=_0x2cc7a8['createRange'](_0x520e3f));}const _0x457619=_0x2cc7a8['createRange'](_0x520e3f);_0x678152['markers']['has'](_0x92f34a)?(_0x2cc7a8['updateMarker'](_0x92f34a,{'range':_0x431f53}),_0x2cc7a8['updateMarker'](_0xfef42c,{'range':_0x457619})):(_0x2cc7a8['addMarker'](_0x92f34a,{'range':_0x431f53,'usingOperation':!0x0}),_0x2cc7a8['addMarker'](_0xfef42c,{'range':_0x457619,'usingOperation':!0x0}));}function Q(_0x339d52){return'--ck-user-color:'+_0x339d52['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x339d52['color']['getColorAlphaVariable']()+';';}function X(_0xbd66c0,_0x335676,_0x253792){const _0x5cd180=_0xbd66c0['t'],t=_0xbd66c0['t'];switch(_0x335676){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x5cd180({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x253792);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x55ae44{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0xbf1a21)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[z,Y,K,_0x36d7c3,_0x2e4b5d,_0x12e214];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get cloudDocumentVersion(){return this['_lastServerVersion']+this['_offset'];}get _lastServerVersion(){return this['serverHistory']['version']-this['_offset'];}get lastSyncVersion(){const _0x3d9dd4=this['serverHistory']['getOperations']();for(let _0x32a847=_0x3d9dd4['length']-0x1;_0x32a847>=0x0;_0x32a847--){const _0x25f5cd=_0x3d9dd4[_0x32a847];if(!this['_disconnectionOperations']['has'](_0x25f5cd))return _0x25f5cd['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1d2beb){if(super(_0x1d2beb),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3c190d(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xa752d3('collaboration-missing-channelid',this);const _0x4cc958=_0x1d2beb['config']['get']('cloudServices.bundleVersion')||_0x559256;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x4cc958,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x196fc5(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}init(){const _0x4cbaf2=this['editor'],_0xad91d9=_0x4cbaf2['plugins']['get'](_0x2e4b5d),_0x8e929a=_0x4cbaf2['plugins']['get'](z);this['listenTo'](_0xad91d9,'getOperationAuthor',(_0x36a1b7,_0xd1edd5)=>{const _0x2e88a3=_0xd1edd5[0x0];_0x2e88a3['_authorId']&&(_0x36a1b7['return']=_0xad91d9['getUser'](_0x2e88a3['_authorId']),_0x36a1b7['stop']()),null===_0x2e88a3['_authorId']&&(_0x36a1b7['return']=null,_0x36a1b7['stop']());},{'priority':'high'}),this['listenTo'](_0x4cbaf2['model']['document']['selection'],'change:range',(_0x2b825,_0x5e635f)=>{_0x5e635f['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4cbaf2['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4cbaf2['model']['on']('applyOperation',(_0x5a97dc,_0x2861d4)=>{const _0xd872ed=_0x2861d4[0x0];_0xd872ed['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xd872ed),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x8e929a,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x201574,_0x3b028a,_0x1749b3)=>'connected'===_0x201574&&!_0x3b028a&&!_0x1749b3),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4cbaf2['disableReadOnlyMode']('rtc-offline'):_0x4cbaf2['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4cbaf2['disableReadOnlyMode']('rtc-offline'):_0x4cbaf2['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x542311=this['editor']['plugins']['get'](Y),_0x15d8b2=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x542311['unregister'](this['_channelId']);const _0x4a49a8=await this['_service']['reconnect'](_0x15d8b2['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4a49a8)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x26ade7=await this['_service']['getConnectedSessions']();_0x542311['register'](this['_channelId'],_0x26ade7),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4f09af){if(function(_0xf9c767){return'404'===_0xf9c767['code'];}(_0x4f09af)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x222a92){return'409'===_0x222a92['code'];}(_0x4f09af)){const _0x48ff4f=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x48ff4f);}else{if(!(_0x4f09af instanceof et))throw _0x4f09af;this['_handleReconnectionError']();}}}}destroy(){const _0x43b8b0=this['editor']['plugins']['get'](z),_0x1e0ada=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1e0ada['channelSessions']['has'](this['_channelId'])&&_0x1e0ada['unregister'](this['_channelId']),_0x43b8b0['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x1da7c8){if(this['sessionId']!==_0x1da7c8['sessionId']&&this['_lastSyncedOperationId']!==_0x1da7c8['lastOperationId'])throw new et();return this['sessionId']=_0x1da7c8['sessionId'],this['_handleServerResponse']([],{..._0x1da7c8,'wereChangesApplied':!0x1,'data':_0x1da7c8['data']},'reconnect');}async _connectService(_0xbe8d39,_0x5cad08=!0x1){const {connection:_0x1daeb5}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x1daeb5,this['_channelId'])['then'](_0x446993=>this['_initSessionsHandling'](_0x446993))['catch'](_0x5a8cc6=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5a8cc6);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5dfb93,_0x28d7ed)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x28d7ed);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x5a515d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xbe8d39);this['_isPendingUpdate']=!0x0;const _0x213478=await this['_service']['connect'](_0x1daeb5,this['_compressOperations'](_0xbe8d39),_0x5a515d);if(this['sessionId']=_0x213478['sessionId'],_0x5cad08){if(!_0x213478['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x213478['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xbe8d39,_0x213478,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x213478,_0xbe8d39);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x357854=this['editor']['plugins']['get'](Y),_0x3c9f0e=this['editor']['plugins']['get'](K),_0x498fe6=_0x357854['channelSessions']['get'](this['_channelId']);_0x498fe6&&_0x498fe6['length']>0x1?_0x3c9f0e['createUserMarkerOperations']():this['listenTo'](_0x357854,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x357854['channelSessions']['get'](this['_channelId'])['length']&&_0x3c9f0e['createUserMarkerOperations']();});}async _handleReceivedOperations(_0xb5c690,_0x5681f2,_0x4efa7c,_0x3703aa){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x5681f2){const _0x32f8be=this['_decompressOperations'](_0x4efa7c,_0x3703aa);await this['_fetchMissingUsers'](_0x32f8be),this['_handleExternalOperations'](_0x32f8be,_0x5681f2,_0x4efa7c['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x51b0e6}=this['editor'];let _0x31aa86;try{_0x31aa86=await this['_service']['getDocumentDetails']();}catch{const _0x2742c7=X(_0x51b0e6,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x2742c7);}const _0x18f30d=_0x31aa86['currentDocumentSession']||_0x31aa86['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x18f30d['lastOperationId']){const _0x3421c3=X(_0x51b0e6,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x3421c3);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x2040c4=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2040c4['connection']||'connected'!==_0x2040c4['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x4bbdb4=this['editor']['plugins']['get'](Y);_0x4bbdb4['channelSessions']['has'](this['_channelId'])&&_0x4bbdb4['unregister'](this['_channelId']),_0x2040c4['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x77ef3){const _0x5b30f6=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5b30f6,'sessionAdd:'+this['_channelId'],(_0x180adf,{session:_0x2d9452})=>{if(_0x2d9452['id']===_0x5b30f6['mySessionId']){_0x180adf['off']();const _0x1e25b9=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x10829a=_0x2d9452['permissions'];_0x1e25b9&&_0x1e25b9['isEnabled']&&(_0x10829a=_0x10829a['filter'](_0x47888e=>'document:write'!==_0x47888e)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x10829a,this['_channelId']);}}),_0x5b30f6['register'](this['_channelId'],_0x77ef3);}_initThrowingOnDataSet(){const _0x539af8=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xf409f)=>{if(!_0xf409f[_0xf409f['length']-0x1]['suppressErrorInCollaboration'])throw new _0xa752d3('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x539af8['apply'](this['editor']['data'],_0xf409f);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x53aa07,[_0xd46b9a])=>{if(this['_document']['version'])throw new _0xa752d3('realtimecollaborationclient-init-document-already-initialized',this);_0x53aa07['stop'](),this['_setPendingAction']();const _0x4391e4=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x5123fa])=>!_0x5123fa['lazyLoad'])['map'](([_0x438cd9,_0x1111b2])=>[_0x438cd9,_0x1111b2['modelAttributes']||{}])),_0x22cfb7=this['_getOperationsFromInitData'](_0xd46b9a,_0x4391e4);0x0==_0x22cfb7['length']&&_0x22cfb7['push'](new _0xd0c2db(0x0)),_0x53aa07['return']=this['_connectService'](_0x22cfb7)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5cf485=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5cf485))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x666850,[_0x31c572,_0x276e47])=>{_0x666850['stop']();const _0x5d4c55=this['editor']['model']['document']['getRoot'](_0x31c572);if(!this['_knownRootNames']['has'](_0x31c572)){const _0x54bc3f=_0x276e47&&_0x276e47['data']?_0x276e47['data']:'',_0x22bb33=_0x276e47&&_0x276e47['attributes']?_0x276e47['attributes']:{};await this['_loadRoot'](_0x31c572,_0x54bc3f,_0x22bb33);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5d4c55['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5d4c55);});},{'priority':'high'});}async _fetchMissingUsers(_0x509193){const _0xefabd6=this['editor']['plugins']['get'](_0x2e4b5d),{connection:_0x4ad26f}=this['editor']['plugins']['get'](z),_0x44764c=new Set();for(const _0x5c54ed of _0x509193){const _0x258f34=_0x5c54ed['_authorId'];_0x258f34&&!_0xefabd6['getUser'](_0x258f34)&&_0x44764c['add'](_0x258f34);}if(0x0===_0x44764c['size'])return;const _0x7b41e1=await _0x326c07['getMany'](_0x4ad26f,Array['from'](_0x44764c));for(const _0x162b52 of _0x7b41e1)_0xefabd6['getUser'](_0x162b52['id'])||_0xefabd6['addUser'](_0x162b52);}_getOperationsFromInitData(_0x27abdd,_0x117856={}){const _0x35c791=this['editor']['model'],_0x1c844e=[];let _0x3e76bb=0x0;const _0x321b38='string'==typeof _0x27abdd?{'main':_0x27abdd}:_0x27abdd;for(const _0x317cff of Object['keys'](_0x321b38)){if(!this['_document']['roots']['has'](_0x317cff))throw new _0xa752d3('realtimecollaborationclient-init-non-existent-root',this);const _0x378a41=this['_document']['getRoot'](_0x317cff),_0x39b1d4=this['editor']['data']['parse'](_0x321b38[_0x317cff],_0x378a41),_0xb88d37=new _0x5c1955(_0x35c791['createPositionAt'](_0x378a41,0x0),_0x39b1d4,_0x3e76bb++);_0x1c844e['push'](_0xb88d37);for(const [_0x303090,_0x5a5cb1]of _0x39b1d4['markers']){const _0x3f1104=_0x35c791['createRange'](_0x35c791['createPositionFromPath'](_0x378a41,_0x5a5cb1['start']['path']['slice']()),_0x35c791['createPositionFromPath'](_0x378a41,_0x5a5cb1['end']['path']['slice']())),_0x2ea845=new _0x393ac7(_0x303090,null,_0x3f1104,_0x35c791['markers'],!0x0,_0x3e76bb++);_0x1c844e['push'](_0x2ea845);}}if(_0x117856)for(const [_0x361f01,_0x50dd59]of Object['entries'](_0x117856)){const _0x28e6ef=_0x35c791['document']['getRoot'](_0x361f01);if(!_0x28e6ef)throw new _0xa752d3('multi-root-editor-root-attributes-no-root',null);for(const [_0x2858bb,_0x30fb21]of Object['entries'](_0x50dd59))if(null!==_0x30fb21){const _0x1d5e8d=new _0x543856(_0x28e6ef,_0x2858bb,null,_0x30fb21,_0x3e76bb++);_0x1c844e['push'](_0x1d5e8d);}}return _0x1c844e;}async _loadRoot(_0x4403b2,_0x1d0c08,_0x2bd040){this['_getOperationsFromInitData']({[_0x4403b2]:_0x1d0c08},{[_0x4403b2]:_0x2bd040})['forEach']((_0x45a3da,_0x4aabf6)=>{_0x45a3da['baseVersion']=this['_document']['version']+_0x4aabf6,_0x45a3da['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x45a3da);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x5682e6,_0x5759a0){let _0x3093d1;this['_offset']=_0x5682e6['offset'];const _0x7bc706=_0x5682e6['wereChangesApplied']&&!_0x5682e6['initData'],_0x9f09b=_0x7bc706?0x0:_0x5682e6['data']['baseVersion'];if(_0x5759a0['forEach'](_0x256652=>{_0x256652['_isInit']=!0x0,_0x256652['createdAt']=_0x5682e6['sessionCreatedAt'],_0x256652['_authorId']=null;}),_0x7bc706)_0x3093d1=_0x5759a0,this['_applyOperationsSet'](_0x3093d1,_0x7bc706);else{if(_0x5682e6['initData']){const _0x46e0eb=this['_getOperationsFromInitData'](_0x5682e6['initData']);this['_document']['history']['version']=-_0x46e0eb['length'],_0x46e0eb['forEach'](_0x190e8f=>{_0x190e8f['baseVersion']-=_0x46e0eb['length'],_0x190e8f['createdAt']=_0x5682e6['sessionCreatedAt'],_0x190e8f['_isInit']=!0x0,_0x190e8f['_authorId']=null;}),this['_applyOperationsSet'](_0x46e0eb,!0x0),this['serverHistory']['version']=-_0x46e0eb['length']+this['_offset'],this['_updateServerHistory'](_0x46e0eb);}this['_document']['history']['version']=_0x9f09b,_0x3093d1=this['_decompressOperations'](_0x5682e6['data'],_0x5682e6['metadata']),await this['_fetchMissingUsers'](_0x3093d1),this['_applyOperationsSet'](_0x3093d1,_0x7bc706);}_0x5682e6['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3093d1,_0x5682e6['lastOperationId']),this['_lastSyncedOperationId']=_0x5682e6['lastOperationId']),this['serverHistory']['version']=_0x9f09b+this['_offset'],this['_updateServerHistory'](_0x3093d1),_0x5759a0['filter'](_0x2fdf5a=>{const _0x3f488d=this['_getAffectedRoot'](_0x2fdf5a);return _0x3f488d&&!this['_knownRootNames']['has'](_0x3f488d);})['forEach']((_0x511c85,_0x3c02fb)=>{_0x511c85['baseVersion']=this['_document']['version']+_0x3c02fb,this['_saveOperationInBuffer'](_0x511c85);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3965c5,_0x1914aa){const _0x1af802=_0x1914aa&&_0x1914aa['message'];if(_0x1af802&&_0x1af802['startsWith']('realtimecollaborationclient'))throw _0x1914aa;const _0x233a9e=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x233a9e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xa752d3(_0x3965c5,this['editor'],_0x1af802?{'originalError':_0x1af802}:void 0x0);}_saveOperationInBuffer(_0x32a97b){this['_knownOperations']['has'](_0x32a97b)||(this['_knownOperations']['add'](_0x32a97b),this['_bufferedOperations']['push'](_0x32a97b),this['_pendingAction']||'marker'==_0x32a97b['type']&&!_0x32a97b['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x2890cc=!0x1){!_0x2890cc&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x34e26e=>{_0x34e26e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x5ba660=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3c7151){return _0x3c7151['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3c7151['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3c7151['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x5ba660)||this['_crash'](_0x5ba660['message'],_0x5ba660);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x3c4c24=>{this['on']('change:_isPendingUpdate',()=>{_0x3c4c24();});});}async _sendBufferedOperations(){const _0xe89bdb=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0xe89bdb['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x27f835=[...this['_bufferedOperations']];for(const _0x5edc61 of _0x27f835)_0x5edc61['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5edc61);const _0xc0d161=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x27f835),_0x25d285=Z++,_0x57e752=this['_compressOperations'](_0x27f835),_0x5d2dfd=await this['_service']['sendOperations'](_0x57e752,_0x57e752['baseVersion'],_0xc0d161);try{return await this['_handleServerResponse'](_0x27f835,_0x5d2dfd,_0x25d285);}catch(_0x265051){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x265051);}}async['_handleServerResponse'](_0x5f463e,_0x5d99dd,_0x26d0a7){if('error'in _0x5d99dd)throw _0x5d99dd['error'];let _0x3a7b3a;if(_0x5d99dd['wereChangesApplied']){_0x5d99dd['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5d99dd['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xfd5884=>!_0x5f463e['includes'](_0xfd5884));for(const _0x1efa1c of _0x5f463e)_0x1efa1c['createdAt']='lastOperationAcceptedAt'in _0x5d99dd&&_0x5d99dd['lastOperationAcceptedAt']||void 0x0;st(_0x5f463e,_0x5d99dd['version']-_0x5f463e['length']),this['_updateServerHistory'](_0x5f463e);const _0x1bebb4=_0x5f463e['filter'](_0x107504=>{if(!_0x107504['_isInit'])return!0x1;const _0x1e4d6d=this['_getAffectedRoot'](_0x107504);return _0x1e4d6d&&!this['_knownRootNames']['has'](_0x1e4d6d);});st(_0x1bebb4,this['_document']['version']),this['_applyOperationsSet'](_0x1bebb4),_0x3a7b3a=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x527fcc=this['_decompressOperations'](_0x5d99dd['data'],_0x5d99dd['metadata'])['filter'](_0x3e53f4=>_0x3e53f4['baseVersion']>=this['_lastServerVersion']);_0x527fcc['forEach'](_0x4e2f8a=>this['_addKnownRoot'](_0x4e2f8a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5ae444=>!_0x5ae444['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5ae444))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x527fcc),_0x3a7b3a=this['_handleExternalOperations'](_0x527fcc,_0x5d99dd['version'],_0x5d99dd['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3a7b3a?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x18b3ff,_0x39b5eb,_0x2a9765){try{const _0x3a8ed7={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5edb29,operationsB:_0x3759b6,originalOperations:_0x1bbb3c}=_0x3c1840(_0x18b3ff,this['_bufferedOperations'],_0x3a8ed7);st(_0x5edb29,this['_document']['version']),st(_0x3759b6,_0x39b5eb);for(const _0x2603f9 of _0x5edb29){const _0x1393b7=_0x1bbb3c['get'](_0x2603f9);_0x1393b7?(_0x2603f9['_authorId']=_0x1393b7['_authorId'],'noop'!==_0x2603f9['type']&&(_0x2603f9['_aiSource']=_0x1393b7['_aiSource'])):_0x2603f9['_authorId']=null;}for(const _0x2a46a8 of _0x3759b6)'noop'!==_0x2a46a8['type']&&(_0x2a46a8['_aiSource']=_0x1bbb3c['get'](_0x2a46a8)?.['_aiSource']);_0x2a9765&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x18b3ff,_0x2a9765),this['_lastSyncedOperationId']=_0x2a9765),this['_bufferedOperations']=[..._0x3759b6],this['_applyOperationsSet'](_0x5edb29),this['_updateServerHistory'](_0x18b3ff);}catch(_0x58cf77){return console['error'](_0x58cf77),!0x1;}return!0x0;}_applyOperationsSet(_0x39de5b,_0x5afebf=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1d7604=>{for(const _0x409184 of _0x39de5b)this['_knownOperations']['add'](_0x409184),this['_addKnownRoot'](_0x409184),_0x1d7604['batch']['addOperation'](_0x409184),this['editor']['model']['applyOperation'](_0x409184);});}_addKnownRoot(_0x4e2e5d){const _0x334810=this['_getAffectedRoot'](_0x4e2e5d);_0x334810&&this['_knownRootNames']['add'](_0x334810);}_getAffectedRoot(_0x42ffa6){let _0x21620a,_0x4dd83f;switch(_0x42ffa6['type']){case'insert':_0x21620a=_0x42ffa6['position']['root'];break;case'marker':if(_0x4dd83f=_0x42ffa6['newRange'],!_0x4dd83f)return null;_0x21620a=_0x4dd83f['root'];break;case'addRootAttribute':_0x21620a=_0x42ffa6['root'];break;case'addRoot':_0x21620a=_0x42ffa6['affectedSelectable'];break;case'move':_0x21620a=_0x42ffa6['targetPosition']['root'];break;default:return null;}return _0x21620a['rootName'];}_updateServerHistory(_0x254b44){_0x254b44['forEach'](_0x323ced=>{const _0x57509f=_0x323ced['clone']();_0x57509f['_authorId']=_0x323ced['_authorId'],_0x57509f['_isInit']=!!_0x323ced['_isInit'],_0x57509f['_aiSource']=_0x323ced['_aiSource'],_0x57509f['createdAt']=_0x323ced['createdAt'],_0x57509f['baseVersion']+=this['_offset'],_0x323ced['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x57509f),this['serverHistory']['addOperation'](_0x57509f);});}_handleReconnectionError(_0x7f787b){const _0x5f0403=this['editor']['plugins']['get']('Notification'),_0x47f4c8=this['editor']['locale'];_0x7f787b||(_0x7f787b=X(_0x47f4c8,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x5f0403['showWarning'](_0x7f787b,{'title':X(_0x47f4c8,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x36d7c3)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x36d7c3)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x22b83c){const _0x425c6f=_0x22b83c['map'](_0x4d84b2=>_0x4d84b2['toJSON']());return this['_compressor']['compress'](_0x425c6f);}_decompressOperations(_0x164e8c,_0x27dc6f){return this['_compressor']['decompress'](_0x164e8c)['map']((_0x2e781a,_0x1835dc)=>{const _0x14983d='init'==_0x27dc6f[_0x1835dc]['type'];if('InsertOperation'==_0x2e781a['__className']){const _0x3b698d=_0x2e781a['position']['root'];!this['_document']['getRoot'](_0x3b698d)&&(this['_document']['createRoot']('$unknown',_0x3b698d)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2e781a['__className']){const _0x87fb17=this['_document']['getRoot'](_0x2e781a['rootName']);_0x87fb17&&'$unknown'==_0x87fb17['name']&&_0x2e781a['elementName']!=_0x87fb17['name']&&(_0x87fb17['name']=_0x2e781a['elementName']);}}const _0x26f8b6=_0x3f7ebd['fromJSON'](_0x2e781a,this['_document']);return _0x26f8b6['wasUndone']=_0x2e781a['wasUndone'],_0x26f8b6['_isInit']=_0x14983d,_0x26f8b6['_authorId']=_0x14983d?null:_0x27dc6f[_0x1835dc]['userId'],_0x26f8b6['_isDisconnection']='cs:removeUser'===_0x27dc6f[_0x1835dc]['type'],_0x26f8b6['_aiSource']=_0x2e781a['_aiSource']||void 0x0,_0x26f8b6['createdAt']=_0x27dc6f[_0x1835dc]['createdAt'],_0x26f8b6;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x1f90fb=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1f90fb&&_0x1f90fb['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x19b5dd,_0x1b2d7d){for(const _0x4edf63 of _0x19b5dd)_0x4edf63['baseVersion']=_0x1b2d7d++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x47cd9d){this['_ignoredOperations']=_0x47cd9d,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x437815){let _0x3086b2=_0x437815['length'];for(;_0x3086b2--;){const _0x2b62f2=_0x437815[_0x3086b2];if(!this['_ignoredOperations']['has'](_0x2b62f2)){if(!this['_operationToId']['has'](_0x2b62f2)){const _0x1c7ecd=_0x4ad382()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2b62f2,_0x1c7ecd);}return this['_operationToId']['get'](_0x2b62f2);}}}setIdForTheLastOperation(_0x2b50b0,_0x1b8907){if(!_0x1b8907)return;let _0x3a681d=_0x2b50b0['length'];for(;_0x3a681d--;){const _0x3d9974=_0x2b50b0[_0x3a681d];this['_ignoredOperations']['has'](_0x3d9974)||this['_operationToId']['set'](_0x3d9974,_0x1b8907);}}},nt=class extends _0x55ae44{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x181a27{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x2d8629)());['_services'];static get requires(){return[z,_0x299e96,Y,_0x2e4b5d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x50149f){super(_0x50149f),this['_services']=new Map();}async init(){const _0x1a119b=this['context'],_0x569142=_0x1a119b['plugins']['get'](_0x299e96);if(_0x1a119b['plugins']['get'](z)['addToReconnectionStack'](this),_0x569142['adapter']={'addCommentThread':async({channelId:_0x402eee,threadId:_0x210728,comments:_0x32f185,resolvedAt:_0x318b28,resolvedBy:_0x491fd1,context:_0x178447,attributes:_0x7afa46})=>{const _0x2a7019=await this['_getService'](_0x402eee)['addCommentThread']({'commentThreadId':_0x210728,'comments':_0x32f185['map'](_0x224524=>function(_0x447515,_0x2103ae,_0x5f0066){return{'commentThreadId':_0x5f0066,'commentId':_0x447515['commentId'],'userId':_0x447515['authorId'],'content':_0x447515['content'],'documentId':_0x2103ae,'createdAt':_0x447515['createdAt'],'attributes':_0x447515['attributes']||{}};}(_0x224524,_0x402eee,_0x210728)),'resolvedAt':_0x318b28,'resolvedBy':_0x491fd1,'context':_0x178447,'attributes':_0x7afa46})['catch'](ct);return{'threadId':_0x2a7019['commentThreadId'],'comments':_0x2a7019['comments']};},'getCommentThread':async({channelId:_0x5bb6bd,threadId:_0x33fd5b})=>{const _0x1961de=await this['_getService'](_0x5bb6bd)['getCommentThread'](_0x33fd5b)['catch'](rt)['catch'](ct);return _0x1961de?_0x1961de['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1961de]),{'threadId':_0x1961de['commentThreadId'],'comments':_0x1961de['comments']['map'](at),'context':_0x1961de['context'],'resolvedAt':_0x1961de['resolvedAt'],'resolvedBy':_0x1961de['resolvedBy'],'attributes':_0x1961de['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x2fd83d,threadId:_0x18a5a8,context:_0x2a3526,unlinkedAt:_0x1daed7,attributes:_0x54a4f2})=>this['_getService'](_0x2fd83d)['updateCommentThread']({'commentThreadId':_0x18a5a8,'context':_0x2a3526,'attributes':_0x54a4f2,'unlinkedAt':_0x1daed7})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x29c765,threadId:_0x31257f})=>{const _0x53239b=await this['_getService'](_0x29c765)['resolveCommentThread'](_0x31257f)['catch'](rt)['catch'](ct);return{'threadId':_0x53239b['commentThreadId'],'resolvedAt':_0x53239b['resolvedAt'],'resolvedBy':_0x53239b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x38ba25,threadId:_0x110981})=>this['_getService'](_0x38ba25)['reopenCommentThread'](_0x110981)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x255848,threadId:_0x45d26a})=>this['_getService'](_0x255848)['removeCommentThread'](_0x45d26a)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x395d7e,threadId:_0x2a1ee3,commentId:_0x42044d,content:_0x46bbb2,attributes:_0x1059bb})=>this['_getService'](_0x395d7e)['addComment'](_0x2a1ee3,_0x42044d,_0x46bbb2,_0x1059bb)['catch'](ct),'updateComment':({channelId:_0x4170c3,threadId:_0x1092b4,commentId:_0x5c8eba,content:_0xcad155,attributes:_0x35d6b0})=>this['_getService'](_0x4170c3)['updateComment'](_0x1092b4,_0x5c8eba,_0xcad155,_0x35d6b0)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x275355,threadId:_0x484401,commentId:_0x572457})=>this['_getService'](_0x275355)['removeComment'](_0x484401,_0x572457)['catch'](rt)['catch'](ct)},_0x1a119b instanceof _0x4b9058){const _0x5550bb=_0x1a119b['config']['get']('collaboration.channelId'),_0x539a38=_0x1a119b['plugins']['get'](Y);await this['_setUpService'](_0x5550bb);const _0x5c2673=await this['_services']['get'](_0x5550bb)['getConnectedSessions']();this['listenTo'](_0x539a38,'sessionAdd:'+_0x5550bb,(_0x133baf,{session:_0x353760})=>{_0x353760['id']===_0x539a38['mySessionId']&&(_0x133baf['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x353760['permissions'],_0x5550bb));}),_0x539a38['register'](_0x5550bb,_0x5c2673);}}async _setUpService(_0x140921){if(this['_services']['has'](_0x140921))throw new _0xa752d3('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x140921});const _0x5e2fe8=this['context']['plugins']['get'](_0x299e96),_0x59aca5=new CloudServicesCommentsAdapter['CommentsService'](_0x140921);this['_services']['set'](_0x140921,_0x59aca5),this['listenTo'](_0x59aca5,'commentThreadAdded',(_0x1599f9,_0x51ec1f)=>{const {commentThreadId:_0x4d0890,documentId:_0x50b465,context:_0x12e072,attributes:_0x569920,resolvedAt:_0x71fc59,resolvedBy:_0x248197,comments:_0x768e46}=_0x51ec1f;_0x5e2fe8['getCommentThread'](_0x4d0890)||_0x5e2fe8['addCommentThread']({'threadId':_0x4d0890,'channelId':_0x50b465,'comments':_0x768e46?_0x768e46['map'](at):[],'context':_0x12e072,'attributes':_0x569920,'resolvedAt':_0x71fc59,'resolvedBy':_0x248197,'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentThreadUpdated',(_0x16a661,{commentThreadId:_0x5ede16,documentId:_0x1698d4,context:_0x16f3b2,unlinkedAt:_0x3ed646,attributes:_0x254eaa})=>{_0x5e2fe8['getCommentThread'](_0x5ede16)&&_0x5e2fe8['updateCommentThread']({'threadId':_0x5ede16,'channelId':_0x1698d4,'context':_0x16f3b2,'unlinkedAt':_0x3ed646,'attributes':_0x254eaa,'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentThreadResolved',(_0x368bb0,{commentThreadId:_0x41afef,resolvedBy:_0x2bfd6b,resolvedAt:_0x3eeab2})=>{const _0x2c0c1e=_0x5e2fe8['getCommentThread'](_0x41afef);_0x2c0c1e&&_0x2c0c1e['resolve']({'resolvedBy':_0x2bfd6b,'resolvedAt':_0x3eeab2,'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentThreadReopened',(_0xcc3f6d,{commentThreadId:_0x572239})=>{const _0x5f1db0=_0x5e2fe8['getCommentThread'](_0x572239);_0x5f1db0&&_0x5f1db0['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentThreadRemoved',(_0x4a27f3,{commentThreadId:_0x2fbb5d})=>{const _0x1dc2cf=_0x5e2fe8['getCommentThread'](_0x2fbb5d);_0x1dc2cf&&_0x1dc2cf['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentAdded',(_0x327d20,_0x258cc3)=>{const _0x6b18d2=_0x258cc3['commentThreadId'],_0x26df1e=_0x5e2fe8['getCommentThread'](_0x6b18d2);_0x26df1e&&_0x26df1e['addComment']({...at(_0x258cc3),'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentUpdated',(_0x4ad0d5,{commentThreadId:_0xf946a0,commentId:_0x1ed519,content:_0x47a7c6,attributes:_0x45b18f})=>{const _0x520ce0=_0x5e2fe8['getCommentThread'](_0xf946a0);if(_0x520ce0){const _0x5624f1=_0x520ce0['getComment'](_0x1ed519);_0x5624f1&&_0x5624f1['update']({'content':_0x47a7c6,'attributes':_0x45b18f,'isFromAdapter':!0x0});}}),this['listenTo'](_0x59aca5,'commentRemoved',(_0x4aebc0,{commentThreadId:_0x2d8bba,commentId:_0x38aeca})=>{const _0x4efa3a=_0x5e2fe8['getCommentThread'](_0x2d8bba);if(_0x4efa3a){const _0x911b00=_0x4efa3a['getComment'](_0x38aeca);_0x911b00&&_0x911b00['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x59aca5,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x140921),this['stopListening'](_0x59aca5));}),await this['_connectService'](_0x140921);}destroy(){if(this['context']instanceof _0x4b9058){const _0x612cb4=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x612cb4)&&this['_terminateService'](_0x612cb4);}}_terminateService(_0x40d75a){if(!this['_services']['has'](_0x40d75a))throw new _0xa752d3('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x40d75a});this['_getService'](_0x40d75a)['disconnect'](),this['_services']['delete'](_0x40d75a);}async reconnect(){for(const _0x3bb637 of this['_services']['keys']())await this['_connectService'](_0x3bb637);if(this['context']instanceof _0x4b9058){const _0x4d133e=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x4d133e)){const _0x20089a=this['context']['plugins']['get'](Y);_0x20089a['unregister'](_0x4d133e);const _0x462659=await this['_services']['get'](_0x4d133e)['getConnectedSessions']();_0x20089a['register'](_0x4d133e,_0x462659);}}}async _connectService(_0x4d7fab){const {connection:_0x40b788}=this['context']['plugins']['get'](z),_0x5177f1=this['context']['plugins']['get'](_0x299e96),_0x2ee9fa=await this['_services']['get'](_0x4d7fab)['connect'](_0x40b788);await this['_fetchMissingUsersForThreads'](_0x2ee9fa);const _0x52069b=new Set(Array['from'](_0x5177f1['getCommentThreads']({'channelId':_0x4d7fab}),_0x412e29=>_0x412e29['id']));for(const _0x137021 of _0x2ee9fa)_0x137021['deletedAt']||_0x52069b['delete'](_0x137021['commentThreadId']);for(const _0xe5999b of _0x52069b)_0x5177f1['getCommentThread'](_0xe5999b)['remove']({'isFromAdapter':!0x0});for(const _0x40d108 of _0x2ee9fa){let _0x5c1fdd=_0x5177f1['getCommentThread'](_0x40d108['commentThreadId']);const {commentThreadId:_0x43416e,context:_0x1cd80a,attributes:_0x453e5c,resolvedBy:_0x378911,resolvedAt:_0x3f9b1a,unlinkedAt:_0x408377,deletedAt:_0x48b05a}=_0x40d108;if(_0x48b05a)continue;_0x5c1fdd||(_0x5c1fdd=_0x5177f1['addCommentThread']({'channelId':_0x4d7fab,'threadId':_0x43416e,'context':_0x1cd80a,'attributes':_0x453e5c||{},'resolvedBy':_0x378911,'resolvedAt':_0x3f9b1a,'unlinkedAt':_0x408377,'isFromAdapter':!0x0}));const _0x2f8fd9=new Set(Array['from'](_0x5c1fdd['comments'],_0x2e8ecb=>_0x2e8ecb['id']));for(const _0x3b7db3 of _0x40d108['comments'])_0x2f8fd9['delete'](_0x3b7db3['commentId']);for(const _0x1e9c6a of _0x2f8fd9)_0x5c1fdd['getComment'](_0x1e9c6a)['remove']({'isFromAdapter':!0x0});for(const _0x27fc15 of _0x40d108['comments']){const _0x35c16e=_0x5c1fdd['getComment'](_0x27fc15['commentId']);_0x35c16e?_0x35c16e['content']!==_0x27fc15['content']&&_0x35c16e['update']({'content':_0x27fc15['content'],'isFromAdapter':!0x0}):_0x5c1fdd['addComment'](Object['assign'](at(_0x27fc15),{'isFromAdapter':!0x0}));}}}_getService(_0xa2d483){if(!this['_services']['has'](_0xa2d483))throw new _0xa752d3('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xa2d483});return this['_services']['get'](_0xa2d483);}async _fetchMissingUsersForThreads(_0x573326){const _0x12d094=this['context']['plugins']['get'](_0x2e4b5d),{connection:_0x265b82}=this['context']['plugins']['get'](z),_0xa63bb4=new Set();for(const {resolvedBy:_0x3502a8,comments:_0x3d0d8e}of _0x573326){_0x3502a8&&!_0x12d094['getUser'](_0x3502a8)&&_0xa63bb4['add'](_0x3502a8);for(const {userId:_0x100f95}of _0x3d0d8e)_0x12d094['getUser'](_0x100f95)||_0xa63bb4['add'](_0x100f95);}if(0x0===_0xa63bb4['size'])return;const _0x34de3c=await _0x326c07['getMany'](_0x265b82,Array['from'](_0xa63bb4));for(const _0x580d54 of _0x34de3c)_0x12d094['getUser'](_0x580d54['id'])||_0x12d094['addUser'](_0x580d54);}};async function rt(_0x371526){if('404'!==_0x371526['code'])throw _0x371526;}function ct(_0x255a5a){if((_0x19e980=_0x255a5a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x19e980['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x19e980['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x19e980;throw _0x255a5a;}function at(_0x3f003a){return{'threadId':_0x3f003a['commentThreadId'],'commentId':_0x3f003a['commentId'],'content':_0x3f003a['content'],'createdAt':_0x3f003a['createdAt'],'authorId':_0x3f003a['userId'],'attributes':_0x3f003a['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x55ae44{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x195a98)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x2d2cfb,Y,_0x2e4b5d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x43f96a){super(_0x43f96a);const _0x17f00f=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x17f00f);}async init(){const _0x1046a3=this['editor']['plugins']['get'](tt),_0x1d4c32=_0x1046a3['serverHistory'],_0x220237=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x1d4c32,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1046a3['sessionId']});const _0x5ce659=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x559256,_0x18fad3=await _0x214476['isBundleUploaded'](_0x220237['connection'],_0x5ce659);this['editor']['plugins']['get'](_0x2d2cfb)['adapter']={'getRevision':async({revisionId:_0x435b9a})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x435b9a)),'updateRevisions':async _0x91194e=>{await this['_waitForServiceReady']();const _0x42f21e=this['_revisionTracker']['currentRevision'];if(_0x18fad3&&0x1===_0x91194e['length']&&_0x91194e[0x0]['id']===_0x42f21e['id'])return _0x91194e;for(const _0x236585 of _0x91194e)_0x236585['id']===_0x42f21e['id']&&(_0x236585['isEmptyCurrent']=_0x236585['fromVersion']===_0x236585['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x91194e,this['_lastRequestId'])['then'](_0xec1564=>(this['_lastRequestId']=_0xec1564,_0x91194e))['catch'](_0x24b655=>{if(pt(_0x24b655)||'400'===_0x24b655['code']&&void 0x0!==_0x24b655['data']['wrongRequestId']){for(const _0xda8528 of _0x91194e)this['_revisionTracker']['repository']['getRevision'](_0xda8528['id'])&&this['_revisionTracker']['_bufferUpdate'](_0xda8528['id'],_0xda8528,!0x1);if(pt(_0x24b655)&&'destroyed'!==this['editor']['state'])throw _0x24b655;return _0x91194e;}throw _0x24b655;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x101aa2,{revisionsData:_0x4af1b4,requestId:_0x58e759})=>{Math['max'](..._0x4af1b4['map'](_0x3e9f5e=>_0x3e9f5e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4af1b4,_0x58e759);}):this['_handleRevisionsUpdate'](_0x4af1b4,_0x58e759);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x220237['connection']?.['state']&&(_0x220237['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x78e15d,requestId:_0x27afcb}=await this['_revisionHistoryService']['connect'](_0x220237['connection']);_0x220237['addToReconnectionStack'](this),this['_lastRequestId']=_0x27afcb,await this['_fetchMissingUsers'](_0x78e15d);for(const _0x2e0155 of _0x78e15d)this['_revisionTracker']['addRevisionData'](_0x2e0155);this['listenTo'](_0x1046a3,'change:_isConnected',(_0x196455,_0x82d996,_0x13fbb5)=>{_0x13fbb5&&(this['_oldOffset']=_0x1046a3['_offset'],_0x196455['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x2d5b62=this['editor']['plugins']['get'](z),_0x34b524=this['editor']['plugins']['get'](tt),_0x311412=async()=>{const _0x5483de=this['_revisionTracker']['currentRevision'],_0x55d419=_0x5483de['id'],_0x2f8427=_0x55d419!==_0x34b524['sessionId'];if(_0x2f8427){const _0x501053=_0x34b524['_offset']-this['_oldOffset'],_0x42c0be=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x5483de['toVersion']+_0x501053!==_0x42c0be){const _0x5c689c=_0x5483de['fromVersion']+_0x501053,_0x16ac93=this['editor']['plugins']['get'](_0x2e4b5d),_0x2c2017=this['_revisionTracker']['buildRevisionData']({'revision':_0x5483de,'from':_0x5c689c,'to':_0x42c0be});_0x2c2017['id']=_0x5483de['id'];const _0x38e2c2=_0x2c2017['authorsIds']['map'](_0x3b7956=>_0x16ac93['getUser'](_0x3b7956));_0x5483de['_update']({..._0x2c2017,'authors':_0x38e2c2},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5483de['id'],_0x2c2017,!0x0);}this['_revisionTracker']['_startingVersion']=_0x42c0be,_0x5483de['toVersion']!==_0x5483de['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x55d419)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x55d419),this['_revisionTracker']['_createCurrentRevision'](_0x42c0be);}const {revisions:_0x367f81,requestId:_0x287bf1}=await this['_revisionHistoryService']['reconnect'](_0x2d5b62['connection'],this['_lastRequestId']);_0x2f8427&&_0x367f81['length']>0x0?_0x34b524['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x367f81),this['_handleRevisionsUpdate'](_0x367f81,_0x287bf1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x34b524['_isConnected']?_0x311412():new Promise((_0x3d58f8,_0x25e291)=>{_0x34b524['once']('change:_isConnected',()=>{_0x311412()['then'](_0x3d58f8)['catch'](_0x25e291);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x47ecec=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5aaf84=>{_0x5aaf84['off'](),_0x47ecec();});});}_getLatestVersionFromServerOperations(){const _0x4731e8=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x42cde9 of _0x4731e8)if('marker'!==_0x42cde9['type']||_0x42cde9['affectsData'])return _0x42cde9['baseVersion']+0x1;}_getLatestVersion(){const _0x31723a=this['editor']['plugins']['get'](tt);return new Promise(_0x31aa11=>{_0x31723a['_isPendingUpdate']?_0x31723a['once']('change:_isPendingUpdate',()=>{_0x31aa11(this['_getLatestVersionFromServerOperations']());}):_0x31aa11(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x38a4d6,_0x41a050){const _0x50d18d=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x41a050;for(const _0x88c385 of _0x38a4d6){const _0x2e82e=_0x50d18d['getRevision'](_0x88c385['id']);if(_0x2e82e){if((_0x88c385['fromVersion']||_0x88c385['toVersion'])&&(_0x88c385['diffData']=null),_0x2e82e===this['_revisionTracker']['currentRevision']){const _0x269bc9=Math['max'](_0x2e82e['toVersion'],_0x88c385['toVersion']),_0x2afbd0=Math['max'](_0x2e82e['fromVersion'],_0x88c385['fromVersion']);let _0x28ab95;_0x2e82e['toVersion']===_0x88c385['toVersion']&&_0x2e82e['fromVersion']===_0x88c385['fromVersion']?(_0x28ab95=!0x0,this['_preventResendingRevisionData'](_0x88c385)):_0x88c385['toVersion']===_0x269bc9&&_0x88c385['fromVersion']===_0x2afbd0?_0x28ab95=!0x1:(_0x2e82e['toVersion']===_0x269bc9&&_0x2e82e['fromVersion']===_0x2afbd0||this['_fixRevision']({'revision':_0x2e82e,'from':_0x2afbd0,'to':_0x269bc9}),_0x28ab95=!0x0),_0x28ab95&&(delete _0x88c385['fromVersion'],delete _0x88c385['toVersion'],delete _0x88c385['diffData'],delete _0x88c385['createdAt'],delete _0x88c385['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x88c385),this['_preventResendingRevisionData'](_0x88c385);}else this['_revisionTracker']['addRevisionData'](_0x88c385);}const _0x172c83=_0x50d18d['getRevisions']();_0x172c83['reverse']();for(let _0x4595d9=0x0;_0x4595d9<_0x172c83['length']-0x1;_0x4595d9++){const _0x1da82f=_0x172c83[_0x4595d9],_0x13b862=_0x172c83[_0x4595d9+0x1];if(_0x1da82f['fromVersion']<_0x13b862['toVersion']){const _0x46d2e1=_0x13b862['toVersion'],_0x31a711=Math['max'](_0x46d2e1,_0x1da82f['toVersion']);this['_fixRevision']({'revision':_0x1da82f,'from':_0x46d2e1,'to':_0x31a711});}}}['_fixRevision']({revision:_0xa90801,from:_0x1b93bf,to:_0x40b230}={}){const _0x3244b2=this['editor']['plugins']['get'](_0x2e4b5d),_0x514580=this['_revisionTracker']['buildRevisionData']({'revision':_0xa90801,'from':_0x1b93bf,'to':_0x40b230});_0x514580['authors']=_0x514580['authorsIds']['map'](_0x2a0ef0=>_0x3244b2['getUser'](_0x2a0ef0)),_0xa90801['_update'](_0x514580);}_preventResendingRevisionData(_0x52b705){const _0x582692={};_0x582692['id']=_0x52b705['id'];for(const _0x1e435a of Object['keys'](_0x52b705))'id'!==_0x1e435a&&(_0x582692[_0x1e435a]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x582692['id'],_0x582692,!0x0);}async _fetchMissingUsers(_0xea1430){const _0x29028b=this['editor']['plugins']['get'](_0x2e4b5d),{connection:_0x3a7e70}=this['editor']['plugins']['get'](z),_0x1032d6=new Set();for(const _0x4a65c6 of _0xea1430){for(const _0x5adb4b of _0x4a65c6['authorsIds'])_0x4d0e7e(_0x5adb4b);_0x4a65c6['creatorId']&&_0x4d0e7e(_0x4a65c6['creatorId']);}if(0x0===_0x1032d6['size'])return;const _0x412d30=await _0x326c07['getMany'](_0x3a7e70,Array['from'](_0x1032d6));for(const _0x572209 of _0x412d30)_0x29028b['getUser'](_0x572209['id'])||_0x29028b['addUser'](_0x572209);function _0x4d0e7e(_0x33c98d){_0x29028b['getUser'](_0x33c98d)||_0x1032d6['add'](_0x33c98d);}}};function pt(_0x4f43ed){return _0x4f43ed['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4f43ed['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4f43ed['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x55ae44{static get requires(){return[_0x2d2cfb,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x5e1e61{_collapseAt;constructor(_0x4384c4,_0x117ad4=0x6){super(_0x4384c4);const _0x39a315=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x117ad4,this['bind']('isHidden')['to'](this,'usersCount',_0x3e74bd=>_0x3e74bd<_0x117ad4),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x39a315['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x39a315['to']('usersCount',_0x23550b=>'+'+(_0x23550b-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x5e1e61{items;keystrokes;constructor(_0x474ab1){super(_0x474ab1);const _0x3694dc=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2b4fca(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3694dc['if']('hasPopup'),'aria-expanded':_0x3694dc['to']('isExpanded',_0x4130d6=>this['hasPopup']&&String(_0x4130d6)),'aria-label':_0x3694dc['to']('hasPopup',_0x5bbccb=>X(_0x474ab1,_0x5bbccb?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3694dc['to']('hasPopup',_0x4a8016=>!!_0x4a8016&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3694dc['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3694dc['to'](_0x117507=>{const _0x25bacb=_0x117507,_0x3010d3=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1902e6=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3010d3?.['contains'](_0x25bacb['relatedTarget'])||_0x1902e6?.['contains'](_0x25bacb['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x26df09,_0x5186be,_0x381f1f)=>{this['element']&&(_0x381f1f?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x5e1e61{counterView;inlineListView;constructor(_0x5517c9,_0x2edae1=0x6){super(_0x5517c9);const _0x410ad1=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x2edae1),this['inlineListView']=new vt(_0x5517c9),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1948f1 of this['inlineListView']['items'])_0x1948f1['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x410ad1['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x5e1e61{listWrapperView;constructor(_0x2ee717,_0x4994e1){super(_0x2ee717);const _0x34d06b=this['bindTemplate'];this['listWrapperView']=new bt(_0x2ee717,_0x4994e1),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x2ee717,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x34d06b['to'](_0x1558f2=>{const _0x32d013=_0x1558f2,_0x593f1d=document['querySelector']('.ck-presence-list__list'),_0x334bc2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x593f1d?.['contains'](_0x32d013['relatedTarget'])||_0x334bc2?.['contains'](_0x32d013['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0xd7af65{constructor(_0x382465,_0x2c9ae2){super(_0x382465);const _0x230b7a=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2c9ae2?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x230b7a['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x230b7a['to']('role'),'aria-label':_0x230b7a['to']('ariaLabel'),'aria-labelledby':_0x230b7a['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x59c443['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4fb8c3=this['element'];_0x4fb8c3&&(this['_isScrollable']=Math['max'](_0x4fb8c3['scrollHeight'],_0x4fb8c3['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x130180{['userView'];constructor(_0x329032,_0x4bddb8,_0x4cb329){super(_0x329032);const _0x19126b=this['bindTemplate'];this['userView']=new _0x4b32bb(_0x329032,_0x4bddb8);const _0x38d1e3={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4bddb8['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4bddb8['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4bddb8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4bddb8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4bddb8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4cb329&&(_0x38d1e3['tag']='button',_0x38d1e3['on']={'click':_0x19126b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x38d1e3);}['focus'](){this['element']['focus']();}},It=class extends _0x5e1e61{['userView'];['markerView'];constructor(_0x381489,_0x5758a2,_0x3e4bf2){super(_0x381489);const _0x365dde=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x4b32bb(_0x381489,_0x5758a2),this['markerView']=new St(_0x381489,_0x5758a2);const _0x5f24a2=new _0x522fbe(_0x381489);_0x5f24a2['template']['tag']='span',_0x5f24a2['text']=_0x5758a2['name'];const _0x5ef242={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x365dde['to']('isFocusable',_0x1c7629=>!!_0x1c7629&&0x0),'aria-labelledby':_0x5f24a2['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x365dde['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x365dde['to']('hasTooltip',_0x87c0cc=>!_0x87c0cc),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5f24a2]};_0x3e4bf2&&(_0x5ef242['tag']='button',_0x5ef242['on']={'click':_0x365dde['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5ef242);}},St=class extends _0x5e1e61{constructor(_0x2ac7d9,_0x2db649){super(_0x2ac7d9),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2db649['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2db649['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2db649['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x181a27{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4266c8){super(_0x4266c8),this['context']['config']['define']('presenceList',Tt);const _0x3b4612=_0x4266c8['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3b4612)throw new _0xa752d3('presencelist-collapseat-invalid-format',this);if(_0x3b4612<0x1)throw new _0xa752d3('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x309d10(),this['balloonPanelView']=new _0x241d1f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x242a9f of this['_allConnectedUsers'])this['_handleUserAdd'](_0x242a9f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x235dd5,_0x5e2308)=>{this['_handleUserAdd'](_0x5e2308);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4ec41c,_0x49c4c1)=>{this['_handleUserRemove'](_0x49c4c1);});}_createView(){const _0x26879d=this['context'],_0x41491f=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3af0de=this['balloonPanelView'];if(!_0x1eb77c(_0x26879d['config']['get']('presenceList.container')))throw new _0xa752d3('presencelist-missing-container',this);return _0x41491f['counterView']['bind']('usersCount')['to'](this),_0x41491f['bind']('isCollapsed')['to'](this,'usersCount',_0x1ca3c2=>{const {collapseAt:_0x172d2e}=_0x26879d['config']['get']('presenceList'),_0x189bdb=_0x1ca3c2>=_0x172d2e;if(_0x189bdb&&!_0x41491f['inlineListView']['items']['find'](_0x274e1c=>_0x274e1c instanceof wt)){const _0x411c36=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x411c36&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x41491f['inlineListView']['items']['add'](_0x41491f['counterView']);}return _0x189bdb||this['hideDropdown'](),_0x189bdb;}),_0x41491f['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x367931=>{const _0x34ac97=_0x26879d['config']['get']('presenceList'),_0x2741c5=new It(_0x26879d['locale'],_0x367931,!!_0x34ac97['onClick']);return _0x2741c5['bind']('hasTooltip')['to'](_0x41491f,'isCollapsed',_0x10c479=>!_0x10c479),_0x2741c5['bind']('isFocusable')['to'](_0x41491f,'isCollapsed',_0x4f7db1=>!_0x4f7db1),_0x34ac97['onClick']&&this['listenTo'](_0x2741c5,'execute',()=>{this['view']['isCollapsed']||_0x34ac97['onClick'](_0x367931,_0x2741c5['element']);}),_0x2741c5;}),this['listenTo'](_0x41491f['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x41491f['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x41491f['inlineListView']['keystrokes']['set']('Enter',(_0x37fb50,_0x4a333c)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4a333c());}),_0x41491f['render'](),_0x3af0de['render'](),_0xc6739({'emitter':_0x41491f,'activator':()=>_0x3af0de['isVisible'],'contextElements':[_0x3af0de['element'],_0x41491f['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x26879d['config']['get']('presenceList.container')['appendChild'](_0x41491f['element']),this['_bodyCollection']=new _0x44ac99(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x41491f;}['_handleUserAdd'](_0x1c8c06){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1c8c06['isMe'])return;const _0x118e56=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x118e56-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5cf54b=_0x1c8c06['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1c8c06,_0x5cf54b);}['_handleUserRemove'](_0x1c3171){this['usersCount']--;const {collapseAt:_0x1c71b8}=this['context']['config']['get']('presenceList'),_0x4e29d0=this['usersCount']>=_0x1c71b8;if(this['currentDisplayedUsers']['get'](_0x1c3171['id']))this['currentDisplayedUsers']['remove'](_0x1c3171['id']);else{if(_0x4e29d0&&this['currentDisplayedUsers']['length']+0x1===_0x1c71b8-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4e29d0?0x1:0x0)<this['usersCount']){for(const _0x2485e6 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2485e6['id'])&&(this['currentDisplayedUsers']['add'](_0x2485e6,Math['min'](this['currentDisplayedUsers']['length']-(_0x4e29d0?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4e29d0?0x1:0x0)===_0x1c71b8-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4d42ab=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x4d42ab['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x31267c}=this['presenceDropdownView'];_0x31267c['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x15a1d1=>{if(!_0x4d42ab['displayMe']&&_0x15a1d1['isMe'])return null;const _0x47d489=new kt(this['context']['locale'],_0x15a1d1,!!_0x4d42ab['onClick']);return _0x4d42ab['onClick']&&this['listenTo'](_0x47d489,'execute',()=>{_0x4d42ab['onClick'](_0x15a1d1,_0x47d489['element']);}),_0x47d489;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x31267c['focus'](),_0x31267c['checkIfScrollable']();const _0x1fe849=(_0x1cae0c,_0x54a0b4)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x54a0b4();};_0x31267c['keystrokes']['set']('Esc',_0x1fe849),_0x31267c['keystrokes']['set']('Shift+Tab',_0x1fe849),_0x31267c['keystrokes']['set']('Tab',(_0x3900f3,_0x163181)=>{!function(_0x4cce26){const _0x1d8a5e=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5348c1=>_0x5348c1+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4d1cf1=[...document['body']['querySelectorAll'](_0x1d8a5e)]['filter'](_0x4675f2=>_0x4675f2===document['activeElement']||_0x4675f2['offsetWidth']+_0x4675f2['offsetHeight']>0x0)['sort']((_0x11a5ff,_0x6d1a0a)=>(_0x11a5ff['tabIndex']||0x0)-(_0x6d1a0a['tabIndex']||0x0)),_0x3f6fba=_0x4d1cf1[(_0x4d1cf1['indexOf'](_0x4cce26)+0x1)%_0x4d1cf1['length']];_0x3f6fba&&_0x3f6fba['focus']();}(this['view']['element']),this['hideDropdown'](),_0x163181();}),_0x31267c['focusTracker']['add'](this['view']['element']),_0x31267c['focusTracker']['on']('change:isFocused',(_0x3a8fab,_0x4974a6,_0x37d5b5)=>{_0x37d5b5||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x181a27{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|
|
23
|
+
import{Context as _0x4be23b,ContextPlugin as _0x5383fe,PendingActions as _0x4f34ce,Plugin as _0x182d58}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x3793cd,Collection as _0x43ba52,DomEmitterMixin as _0x5eaf0b,KeystrokeHandler as _0x48672d,global as _0x415cf5,uid as _0x26b079,version as _0x4b7de2}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x41d86b,BodyCollection as _0x2c3ba0,LabelView as _0x79a609,ListItemView as _0x2c05db,ListView as _0x4410a0,Notification as _0x41498b,View as _0x4fcb28,clickOutsideHandler as _0x1ef56d}from'@ckeditor/ckeditor5-ui';import{History as _0xd1004d,InsertOperation as _0x812ce,MarkerOperation as _0x4955a2,ModelLiveRange as _0x1db5d4,NoOperation as _0x48d7e0,OperationFactory as _0x3db4a7,RootAttributeOperation as _0x4ece14,transformOperationSets as _0x53ed02}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0xfb615}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x30f8d9,CommentsService as _0x5c5423,EditorService as _0xb6b90c,RevisionHistoryService as _0x142660,TrackChangesService as _0x4a2ecf,User as _0x198d99,WEB_SOCKET_GATEWAY_STATES as _0x45097b,WebSocketGateway as _0x43643c}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x4e3739,Users as _0x326fdb}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x567ad9}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x18abce,TrackChangesEditing as _0x31da8d}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x4ddf0e,CommentsEditing as _0x4ad914,CommentsRepository as _0xc1d332}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x5f0e50}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x4b1f95}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x5383fe{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x43643c)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0xfb615,_0x41498b];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xbc0a3b){super(_0xbc0a3b),this['set']('state',_0x45097b['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5eaf0b())();}init(){const _0x164d36=this['context'],_0x4f451b=_0x164d36['plugins']['get'](_0xfb615),_0x1a0158=_0x164d36['plugins']['get'](_0x41498b);if(!_0x4f451b['token'])throw new _0x3793cd('websocketgateway-missing-token',this);if(!_0x4f451b['webSocketUrl'])throw new _0x3793cd('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x4f451b['token'],_0x4f451b['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x7bd6b8=>{if(this['connection']=_0x7bd6b8,this['bind']('state')['to'](_0x7bd6b8,'state',this,'_isBrowserOffline',(_0x3a23fa,_0x404b6f)=>('connected'!==_0x3a23fa&&(this['_shouldPluginsReconnect']=!0x0),_0x404b6f||_0x3a23fa!==_0x45097b['CONNECTED']?_0x45097b['DISCONNECTED']:this['state']==_0x45097b['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x45097b['CONNECTING']):_0x45097b['CONNECTED'])),this['connection']['on']('error',(_0x21947e,_0x1b7d37)=>{if('limitExceeded'!==_0x1b7d37['code'])throw console['error'](_0x1b7d37),new _0x3793cd('cloudservices-init',null,{'originalError':_0x1b7d37});_0x1a0158['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x7bd6b8['me'])return new Promise(_0x3ec281=>_0x7bd6b8['on']('change:me',_0x3ec281));})['catch'](_0x18eb8a=>{throw console['error'](_0x18eb8a),new _0x3793cd('cloudservices-init',null,{'originalError':_0x18eb8a});});}addToReconnectionStack(_0x23fbbf){if('function'!=typeof _0x23fbbf['reconnect'])throw new _0x3793cd('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x23fbbf))throw new _0x3793cd('websocketgateway-plugin-already-registered',this,{'name':_0x23fbbf['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x23fbbf);}removeFromReconnectionStack(_0x181f24){this['_reconnectionStack']['delete'](_0x181f24);}isInReconnectionStack(_0x1e1035){return this['_reconnectionStack']['has'](_0x1e1035);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2af609=>_0x2af609['reconnect']())))['then'](()=>this['state']=_0x45097b['CONNECTED'])['catch'](_0x406341=>{throw console['error'](_0x406341),new _0x3793cd('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x45097b['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x5383fe{['channelSessions'];channelConnectedUsers;allConnectedUsers;_registeredSessions;_uniqueUsersCount;['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[z,_0x326fdb];}constructor(_0x340179){super(_0x340179),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x43ba52(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x326fdb);}init(){const _0x2f85e4=this['context']['plugins']['get'](z);this['listenTo'](_0x2f85e4,'change:state',(_0x58f8e6,_0x406277,_0x27737d)=>{if('connected'!==_0x27737d)this['channelSessions']['forEach'](_0x2ae407=>_0x2ae407['clear']()),this['channelConnectedUsers']['forEach'](_0x12cf8f=>_0x12cf8f['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x87181c,_0x54ce3a]of this['_registeredSessions'])for(const _0x5bf723 of _0x54ce3a)this['_handleSessionAdd'](_0x87181c,_0x5bf723);}}),this['_createUser'](_0x2f85e4['connection']['me'],!0x0);}register(_0x178528,_0x2afeb0){if(this['_registeredSessions']['has'](_0x178528))throw new _0x3793cd('sessions-register-already-registered',null,{'channelId':_0x178528});this['_registeredSessions']['set'](_0x178528,_0x2afeb0),this['channelSessions']['set'](_0x178528,new _0x43ba52()),this['channelConnectedUsers']['set'](_0x178528,new _0x43ba52()),this['listenTo'](_0x2afeb0,'add',(_0x235255,_0x30ff74)=>this['_handleSessionAdd'](_0x178528,_0x30ff74)),this['listenTo'](_0x2afeb0,'remove',(_0x2eebcf,_0x16f3b4)=>this['_handleSessionRemove'](_0x178528,_0x16f3b4));for(const _0x18c048 of _0x2afeb0)this['_handleSessionAdd'](_0x178528,_0x18c048);}unregister(_0x2b75b1){if(!this['_registeredSessions']['has'](_0x2b75b1))throw new _0x3793cd('sessions-unregister-not-exist',null,{'channelId':_0x2b75b1});const _0x292f2d=this['_registeredSessions']['get'](_0x2b75b1);this['stopListening'](_0x292f2d);for(const _0x1695a6 of _0x292f2d)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x2b75b1,_0x1695a6);this['_registeredSessions']['delete'](_0x2b75b1),this['channelSessions']['delete'](_0x2b75b1),this['channelConnectedUsers']['delete'](_0x2b75b1);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x326aac){for(const _0x5ee189 of this['channelSessions']['values']())for(const _0x2b43a3 of _0x5ee189)if(_0x2b43a3['id']===_0x326aac)return _0x2b43a3['user'];}getUserSessions(_0x3ca5c5,_0x1ca343){const _0x6795b6=_0x1ca343?[this['channelSessions']['get'](_0x1ca343)]:this['channelSessions']['values'](),_0x11bd71=new Set();for(const _0x6fd794 of _0x6795b6)for(const _0x3bce13 of _0x6fd794)_0x3bce13['user']['id']===_0x3ca5c5['id']&&_0x11bd71['add'](_0x3bce13['id']);return _0x11bd71;}getUserRole(_0x510644){for(const _0x598a71 of this['channelSessions']['values']())for(const _0x31ce6a of _0x598a71)if(_0x31ce6a['user']===_0x510644)return _0x31ce6a['role'];}['_handleSessionAdd'](_0x4fc309,_0x3b8164){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x41d194=_0x3b8164['user'],_0x59e9ae=this['_users']['getUser'](_0x41d194['id'])||this['_createUser'](_0x41d194),_0x710129=Object['assign']({},_0x3b8164,{'user':_0x59e9ae});if(this['channelSessions']['get'](_0x4fc309)['add'](_0x710129),!_0x41d194['hiddenInPresenceList']){const _0xb664ac=this['channelConnectedUsers']['get'](_0x4fc309);_0xb664ac['has'](_0x59e9ae['id'])||_0xb664ac['add'](_0x59e9ae),this['allConnectedUsers']['has'](_0x59e9ae['id'])||_0x41d194['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x59e9ae,_0x59e9ae['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x4fc309,{'channelId':_0x4fc309,'session':_0x710129});}['_handleSessionRemove'](_0x237bbd,_0x529197){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x5bbd14=this['channelConnectedUsers']['get'](_0x237bbd),_0x3d0a91=_0x529197['user'];_0x3d0a91['id']&&(this['channelSessions']['get'](_0x237bbd)['remove'](_0x529197['id']),_0x5bbd14['has'](_0x3d0a91['id'])&&!this['getUserSessions'](_0x3d0a91,_0x237bbd)['size']&&_0x5bbd14['remove'](_0x3d0a91['id']),this['allConnectedUsers']['get'](_0x3d0a91['id'])&&!this['getUserSessions'](_0x3d0a91)['size']&&this['allConnectedUsers']['remove'](_0x3d0a91['id']));}_createUser(_0x4815c9,_0x261088){const _0x1540f0=this['_users']['addUser'](_0x4815c9);return _0x261088&&this['_users']['defineMe'](_0x4815c9['id']),_0x1540f0['orderNumber']=this['_uniqueUsersCount']++,_0x1540f0;}},K=class extends _0x182d58{_domEmitter=new(_0x5eaf0b())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x2c4fb7=this['editor'],_0x40d607=_0x2c4fb7['plugins']['get'](Y);_0x2c4fb7['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x55b15a,{writer:_0x2d4981})=>function(_0x57ce35,_0x288390,_0x295017,_0x2ef0e2){const _0x4bba1c=_0x57ce35['markerName']['split'](':')[0x2],_0x3c35a7=_0x295017['getUserBySessionId'](_0x4bba1c);if(!_0x3c35a7||_0x4bba1c===_0x295017['mySessionId'])return;if(!_0x2ef0e2['model']['schema']['checkChild'](_0x57ce35['markerRange']['start'],'$text'))return;const _0x328035={'class':'ck-user__marker\x20'+_0x3c35a7['color']['getMarkerClass'](),'style':Q(_0x3c35a7),'data-name':_0x3c35a7['name'],'data-session-id':_0x4bba1c},_0xadac99=_0x2ef0e2['model']['markers']['get'](_0x57ce35['markerName'])['getStart'](),_0x35dd5c=_0xadac99['nodeAfter'],_0x23c06a=_0x2ef0e2['model']['schema'];if(_0x35dd5c&&_0x23c06a['isObject'](_0x35dd5c)&&_0x23c06a['isInline'](_0x35dd5c)&&!_0x2ef0e2['model']['markers']['get']('user:range:'+_0x4bba1c)['getRange']()['isCollapsed'])return;const _0x37b4c9=_0xadac99['parent'];return _0x2ef0e2['model']['schema']['isLimit'](_0x37b4c9)&&!_0x2ef0e2['model']['hasContent'](_0x37b4c9)&&(_0x328035['contenteditable']=!0x1),function(_0x4b6374,_0x35b671,_0x5bd3b6){const _0xbfac4c=_0x4b6374['createUIElement']('span',_0x35b671);return _0x4b6374['setCustomProperty']('userPositionMarker',!0x0,_0xbfac4c),_0xbfac4c['render']=function(_0x58a194){const _0x68e6e5=this['toDomElement'](_0x58a194),_0x24312e=document['createElement']('span');return _0x24312e['classList']['add']('ck-user__marker-tooltip'),_0x24312e['setAttribute']('contenteditable','false'),_0x24312e['setAttribute']('spellcheck','false'),_0x24312e['textContent']=_0x5bd3b6['name'],_0x68e6e5['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x24312e['outerHTML']+'',_0x68e6e5['addEventListener']('mouseenter',()=>{_0x68e6e5['classList']['add']('ck-user__marker_hovered');}),_0x68e6e5['addEventListener']('mouseleave',()=>{_0x68e6e5['classList']['remove']('ck-user__marker_hovered');}),_0x68e6e5;},_0xbfac4c['isSimilar']=function(_0xa8a42a){return!(!this['getCustomProperty']('userPositionMarker')||!_0xa8a42a['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xa8a42a['getAttribute']('data-session-id'));},_0xbfac4c;}(_0x288390,_0x328035,_0x3c35a7);}(_0x55b15a,_0x2d4981,_0x40d607,_0x2c4fb7)}),_0x2c4fb7['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x95329f=>function(_0x34f01e,_0x37e457){const _0x44e217=_0x34f01e['markerName']['split'](':')[0x2];if(_0x44e217===_0x37e457['mySessionId'])return null;const _0x4ee6a8=_0x37e457['getUserBySessionId'](_0x44e217);return _0x4ee6a8?{'id':_0x44e217,'classes':['ck-user__selection',_0x4ee6a8['color']['getSelectionClass']()],'attributes':{'style':Q(_0x4ee6a8),'data-session-id':_0x44e217},'priority':0x7d0+_0x4ee6a8['orderNumber']}:{'id':_0x44e217,'classes':[]};}(_0x95329f,_0x40d607)}),function(_0xb95c91){const _0x5d4f9f=_0xb95c91['model'],_0x2c3cb8=new Map(),_0x2e3740=_0xb95c91['plugins']['get'](Y);_0x5d4f9f['markers']['on']('update:user:range',(_0x3736d5,_0x3c95fd,_0x3e1f77,_0x80afbb)=>{if(!_0x80afbb&&_0x2c3cb8['get'](_0x3c95fd['name']))return _0x2c3cb8['get'](_0x3c95fd['name'])['detach'](),void _0x2c3cb8['delete'](_0x3c95fd['name']);const _0x187877=_0x3c95fd['name']['split'](':')[0x2];if(_0x187877===_0x2e3740['mySessionId'])return;const _0x518024='user:position:'+_0x187877;_0x5d4f9f['markers']['has'](_0x518024)&&_0xb95c91['editing']['reconvertMarker'](_0x518024),_0x3c95fd['on']('change:range',(_0xf872b,_0x182c0a,_0x23dcb9)=>{if('$graveyard'!=_0x182c0a['root']['rootName']&&'$graveyard'==_0x3c95fd['getRange']()['root']['rootName']&&!_0x2c3cb8['has'](_0x3c95fd['name'])){const _0x146679=_0x5d4f9f['schema']['getNearestSelectionRange'](_0x23dcb9['deletionPosition']);if(_0x146679){const _0x5f5692=_0x1db5d4['fromRange'](_0x146679);_0x2c3cb8['set'](_0x3c95fd['name'],_0x5f5692),_0x5f5692['on']('change:range',(_0x21571,_0x11cfeb,_0x43db17)=>{if('$graveyard'==_0x5f5692['root']['rootName']){const _0x3f1705=_0x5d4f9f['schema']['getNearestSelectionRange'](_0x43db17['deletionPosition']);_0x3f1705?(_0x5f5692['start']=_0x3f1705['start'],_0x5f5692['end']=_0x3f1705['end']):(_0x2c3cb8['delete'](_0x3c95fd['name']),_0x5f5692['detach']());}});}}});}),_0x5d4f9f['document']['on']('change',()=>{_0x2c3cb8['size']>0x0&&_0x5d4f9f['enqueueChange']({'isUndoable':!0x1},_0x1adaf6=>{for(const [_0x1dffa3,_0xf2df5a]of _0x2c3cb8)'$graveyard'==_0x5d4f9f['markers']['get'](_0x1dffa3)['getRange']()['root']['rootName']&&(J(_0x1dffa3['split'](':')[0x2],_0xf2df5a['toRange'](),_0x5d4f9f,_0x1adaf6),_0xf2df5a['detach']());_0x2c3cb8['clear']();});});}(_0x2c4fb7),this['_domEmitter']['listenTo'](_0x415cf5['document'],'keydown',(_0x745298,{key:_0x57a51a})=>{'Escape'===_0x57a51a&&function(_0x5de076){_0x5de076['editing']['view']['change'](_0x42cc75=>{for(const _0x2dbbe9 of _0x5de076['model']['markers']){if(!_0x2dbbe9['name']['startsWith']('user:position'))continue;const _0x1f1689=_0x5de076['editing']['mapper']['markerNameToElements'](_0x2dbbe9['name']);if(_0x1f1689){for(const _0x101b54 of _0x1f1689)_0x42cc75['removeClass']('ck-user__marker_hovered',_0x101b54);}}});}(_0x2c4fb7);},{'useCapture':!0x0});}afterInit(){const _0x26d221=this['editor'],_0x1860c8=_0x26d221['commands']['get']('undo');_0x1860c8&&_0x26d221['model']['on']('applyOperation',(_0x2703ed,_0x2619c0)=>{const _0x363a0b=_0x2619c0[0x0];if(!_0x363a0b['isDocumentOperation'])return;if('marker'!=_0x363a0b['type']||!_0x363a0b['name']['startsWith']('user:'))return;const _0xf127e0=_0x363a0b['batch'];_0x1860c8['_createdBatches']['has'](_0xf127e0)&&(_0x363a0b['newRange']=_0x363a0b['oldRange']?_0x26d221['model']['createRange'](_0x363a0b['oldRange']['start'],_0x363a0b['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x429ba1=this['editor'],_0x11bff4=_0x429ba1['model']['document'],_0xfe38e0=_0x429ba1['plugins']['get'](Y);_0x429ba1['model']['enqueueChange']({'isUndoable':!0x1},_0x16490d=>{const _0x1e621e='user:range:'+_0xfe38e0['mySessionId'],_0x3f84fc='user:position:'+_0xfe38e0['mySessionId'],_0x181a09=_0x429ba1['model']['markers']['has'](_0x1e621e);_0x429ba1['editing']['view']['hasDomSelection']?J(_0xfe38e0['mySessionId'],_0x11bff4['selection']['getFirstRange'](),_0x429ba1['model'],_0x16490d):_0x181a09&&(_0x16490d['removeMarker'](_0x1e621e),_0x16490d['removeMarker'](_0x3f84fc));});}};function J(_0x5ab3d9,_0x4278d0,_0x239ad2,_0xbf9805){const _0x4368da='user:range:'+_0x5ab3d9,_0x393ad9='user:position:'+_0x5ab3d9,_0x21bf63=_0x4278d0['getContainedElement']();let _0x518dff=_0x4278d0['start'];if(_0x21bf63&&_0x21bf63['is']('element','tableCell')){const _0x34d8ee=function(_0x16f517,_0x322a23){for(const _0xca68 of _0x16f517['getPositions']())if(_0x322a23['schema']['checkChild'](_0xca68,'$text'))return _0xca68;}(_0x4278d0,_0x239ad2);_0x34d8ee&&(_0x518dff=_0x34d8ee,_0x4278d0=_0xbf9805['createRange'](_0x518dff));}const _0x155432=_0xbf9805['createRange'](_0x518dff);_0x239ad2['markers']['has'](_0x4368da)?(_0xbf9805['updateMarker'](_0x4368da,{'range':_0x4278d0}),_0xbf9805['updateMarker'](_0x393ad9,{'range':_0x155432})):(_0xbf9805['addMarker'](_0x4368da,{'range':_0x4278d0,'usingOperation':!0x0}),_0xbf9805['addMarker'](_0x393ad9,{'range':_0x155432,'usingOperation':!0x0}));}function Q(_0x502ea9){return'--ck-user-color:'+_0x502ea9['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x502ea9['color']['getColorAlphaVariable']()+';';}function X(_0x568c1f,_0x72db53,_0x3886e1){const _0x443ca3=_0x568c1f['t'],t=_0x568c1f['t'];switch(_0x72db53){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x443ca3({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x3886e1);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x182d58{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x30f8d9)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[z,Y,K,_0x4f34ce,_0x326fdb,_0x41498b];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get cloudDocumentVersion(){return this['_lastServerVersion']+this['_offset'];}get _lastServerVersion(){return this['serverHistory']['version']-this['_offset'];}get lastSyncVersion(){const _0x4c20a9=this['serverHistory']['getOperations']();for(let _0xf40ce6=_0x4c20a9['length']-0x1;_0xf40ce6>=0x0;_0xf40ce6--){const _0x31a309=_0x4c20a9[_0xf40ce6];if(!this['_disconnectionOperations']['has'](_0x31a309))return _0x31a309['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x163aaa){if(super(_0x163aaa),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0xd1004d(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3793cd('collaboration-missing-channelid',this);const _0x73e9d4=_0x163aaa['config']['get']('cloudServices.bundleVersion')||_0x4b7de2;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x73e9d4,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x567ad9(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}init(){const _0x162aff=this['editor'],_0x50a1c3=_0x162aff['plugins']['get'](_0x326fdb),_0x3486a0=_0x162aff['plugins']['get'](z);this['listenTo'](_0x50a1c3,'getOperationAuthor',(_0x4a762f,_0x561147)=>{const _0x2abccf=_0x561147[0x0];_0x2abccf['_authorId']&&(_0x4a762f['return']=_0x50a1c3['getUser'](_0x2abccf['_authorId']),_0x4a762f['stop']()),null===_0x2abccf['_authorId']&&(_0x4a762f['return']=null,_0x4a762f['stop']());},{'priority':'high'}),this['listenTo'](_0x162aff['model']['document']['selection'],'change:range',(_0x23a4ae,_0x30008e)=>{_0x30008e['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x162aff['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x162aff['model']['on']('applyOperation',(_0x4b5eb,_0x2f3223)=>{const _0x57ee36=_0x2f3223[0x0];_0x57ee36['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x57ee36),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x3486a0,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x28e267,_0x2b29bc,_0x3b8a67)=>'connected'===_0x28e267&&!_0x2b29bc&&!_0x3b8a67),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x162aff['disableReadOnlyMode']('rtc-offline'):_0x162aff['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x162aff['disableReadOnlyMode']('rtc-offline'):_0x162aff['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x2c6253=this['editor']['plugins']['get'](Y),_0x19fe19=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x2c6253['unregister'](this['_channelId']);const _0x1ab637=await this['_service']['reconnect'](_0x19fe19['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1ab637)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x5a1e07=await this['_service']['getConnectedSessions']();_0x2c6253['register'](this['_channelId'],_0x5a1e07),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x57cc32){if(function(_0x4cd1fa){return'404'===_0x4cd1fa['code'];}(_0x57cc32)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xca52d){return'409'===_0xca52d['code'];}(_0x57cc32)){const _0x749678=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x749678);}else{if(!(_0x57cc32 instanceof et))throw _0x57cc32;this['_handleReconnectionError']();}}}}destroy(){const _0x39698b=this['editor']['plugins']['get'](z),_0x2b95ee=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2b95ee['channelSessions']['has'](this['_channelId'])&&_0x2b95ee['unregister'](this['_channelId']),_0x39698b['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x563e93){if(this['sessionId']!==_0x563e93['sessionId']&&this['_lastSyncedOperationId']!==_0x563e93['lastOperationId'])throw new et();return this['sessionId']=_0x563e93['sessionId'],this['_handleServerResponse']([],{..._0x563e93,'wereChangesApplied':!0x1,'data':_0x563e93['data']},'reconnect');}async _connectService(_0x551f60,_0x3e9fce=!0x1){const {connection:_0x1da318}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x1da318,this['_channelId'])['then'](_0x581228=>this['_initSessionsHandling'](_0x581228))['catch'](_0x292a6d=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x292a6d);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x55e2ea,_0x1681bc)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1681bc);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x1901aa=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x551f60);this['_isPendingUpdate']=!0x0;const _0x19b290=await this['_service']['connect'](_0x1da318,this['_compressOperations'](_0x551f60),_0x1901aa);if(this['sessionId']=_0x19b290['sessionId'],_0x3e9fce){if(!_0x19b290['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x19b290['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x551f60,_0x19b290,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x19b290,_0x551f60);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x3d7aa1=this['editor']['plugins']['get'](Y),_0x3f6773=this['editor']['plugins']['get'](K),_0x4d9f06=_0x3d7aa1['channelSessions']['get'](this['_channelId']);_0x4d9f06&&_0x4d9f06['length']>0x1?_0x3f6773['createUserMarkerOperations']():this['listenTo'](_0x3d7aa1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3d7aa1['channelSessions']['get'](this['_channelId'])['length']&&_0x3f6773['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x434915,_0x2f8e03,_0x1fcfba,_0x2493ff){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2f8e03){const _0x10d36d=this['_decompressOperations'](_0x1fcfba,_0x2493ff);await this['_fetchMissingUsers'](_0x10d36d),this['_handleExternalOperations'](_0x10d36d,_0x2f8e03,_0x1fcfba['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x2f3d7f}=this['editor'];let _0x21d273;try{_0x21d273=await this['_service']['getDocumentDetails']();}catch{const _0x4836d9=X(_0x2f3d7f,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x4836d9);}const _0x1d34f0=_0x21d273['currentDocumentSession']||_0x21d273['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1d34f0['lastOperationId']){const _0x539828=X(_0x2f3d7f,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x539828);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x437013=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x437013['connection']||'connected'!==_0x437013['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x478648=this['editor']['plugins']['get'](Y);_0x478648['channelSessions']['has'](this['_channelId'])&&_0x478648['unregister'](this['_channelId']),_0x437013['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x18de96){const _0x36c605=this['editor']['plugins']['get'](Y);this['listenTo'](_0x36c605,'sessionAdd:'+this['_channelId'],(_0x1c6704,{session:_0x28e4f8})=>{if(_0x28e4f8['id']===_0x36c605['mySessionId']){_0x1c6704['off']();const _0x442a7f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3b97b3=_0x28e4f8['permissions'];_0x442a7f&&_0x442a7f['isEnabled']&&(_0x3b97b3=_0x3b97b3['filter'](_0x5a366f=>'document:write'!==_0x5a366f)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3b97b3,this['_channelId']);}}),_0x36c605['register'](this['_channelId'],_0x18de96);}_initThrowingOnDataSet(){const _0x158276=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5a8f6c)=>{if(!_0x5a8f6c[_0x5a8f6c['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3793cd('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x158276['apply'](this['editor']['data'],_0x5a8f6c);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x4d9912,[_0x1edd54])=>{if(this['_document']['version'])throw new _0x3793cd('realtimecollaborationclient-init-document-already-initialized',this);_0x4d9912['stop'](),this['_setPendingAction']();const _0x3eae75=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x516743])=>!_0x516743['lazyLoad'])['map'](([_0x7bb452,_0x525d68])=>[_0x7bb452,_0x525d68['modelAttributes']||{}])),_0x1ecb4f=this['_getOperationsFromInitData'](_0x1edd54,_0x3eae75);0x0==_0x1ecb4f['length']&&_0x1ecb4f['push'](new _0x48d7e0(0x0)),_0x4d9912['return']=this['_connectService'](_0x1ecb4f)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1b4bc8=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1b4bc8))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2067ed,[_0x2477b7,_0x4f444f])=>{_0x2067ed['stop']();const _0x3d09c8=this['editor']['model']['document']['getRoot'](_0x2477b7);if(!this['_knownRootNames']['has'](_0x2477b7)){const _0x411834=_0x4f444f&&_0x4f444f['data']?_0x4f444f['data']:'',_0x4ac733=_0x4f444f&&_0x4f444f['attributes']?_0x4f444f['attributes']:{};await this['_loadRoot'](_0x2477b7,_0x411834,_0x4ac733);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3d09c8['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3d09c8);});},{'priority':'high'});}async _fetchMissingUsers(_0x2d1175){const _0x560787=this['editor']['plugins']['get'](_0x326fdb),{connection:_0x41e75e}=this['editor']['plugins']['get'](z),_0x747a55=new Set();for(const _0x5967df of _0x2d1175){const _0x159327=_0x5967df['_authorId'];_0x159327&&!_0x560787['getUser'](_0x159327)&&_0x747a55['add'](_0x159327);}if(0x0===_0x747a55['size'])return;const _0x2bacb2=await _0x198d99['getMany'](_0x41e75e,Array['from'](_0x747a55));for(const _0x2a01bb of _0x2bacb2)_0x560787['getUser'](_0x2a01bb['id'])||_0x560787['addUser'](_0x2a01bb);}_getOperationsFromInitData(_0x28e7e1,_0x6b6aa3={}){const _0x1a5dda=this['editor']['model'],_0x27c33b=[];let _0x17affc=0x0;const _0x181a79='string'==typeof _0x28e7e1?{'main':_0x28e7e1}:_0x28e7e1;for(const _0x3302a1 of Object['keys'](_0x181a79)){if(!this['_document']['roots']['has'](_0x3302a1))throw new _0x3793cd('realtimecollaborationclient-init-non-existent-root',this);const _0x58cadb=this['_document']['getRoot'](_0x3302a1),_0x30d6c4=this['editor']['data']['parse'](_0x181a79[_0x3302a1],_0x58cadb),_0x5c6c8e=new _0x812ce(_0x1a5dda['createPositionAt'](_0x58cadb,0x0),_0x30d6c4,_0x17affc++);_0x27c33b['push'](_0x5c6c8e);for(const [_0x342d87,_0x2c9fd9]of _0x30d6c4['markers']){const _0x32a0f0=_0x1a5dda['createRange'](_0x1a5dda['createPositionFromPath'](_0x58cadb,_0x2c9fd9['start']['path']['slice']()),_0x1a5dda['createPositionFromPath'](_0x58cadb,_0x2c9fd9['end']['path']['slice']())),_0x502fa3=new _0x4955a2(_0x342d87,null,_0x32a0f0,_0x1a5dda['markers'],!0x0,_0x17affc++);_0x27c33b['push'](_0x502fa3);}}if(_0x6b6aa3)for(const [_0x191285,_0x1250fb]of Object['entries'](_0x6b6aa3)){const _0x7e4bed=_0x1a5dda['document']['getRoot'](_0x191285);if(!_0x7e4bed)throw new _0x3793cd('multi-root-editor-root-attributes-no-root',null);for(const [_0x2e50ee,_0x32e05d]of Object['entries'](_0x1250fb))if(null!==_0x32e05d){const _0x1b1f50=new _0x4ece14(_0x7e4bed,_0x2e50ee,null,_0x32e05d,_0x17affc++);_0x27c33b['push'](_0x1b1f50);}}return _0x27c33b;}async _loadRoot(_0xc3e647,_0x2fdba1,_0x3f0c2f){this['_getOperationsFromInitData']({[_0xc3e647]:_0x2fdba1},{[_0xc3e647]:_0x3f0c2f})['forEach']((_0x1ab4af,_0x204085)=>{_0x1ab4af['baseVersion']=this['_document']['version']+_0x204085,_0x1ab4af['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1ab4af);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x41f684,_0x3d3254){let _0x13b78b;this['_offset']=_0x41f684['offset'];const _0x2f66fd=_0x41f684['wereChangesApplied']&&!_0x41f684['initData'],_0xa1f038=_0x2f66fd?0x0:_0x41f684['data']['baseVersion'];if(_0x3d3254['forEach'](_0x3bc580=>{_0x3bc580['_isInit']=!0x0,_0x3bc580['createdAt']=_0x41f684['sessionCreatedAt'],_0x3bc580['_authorId']=null;}),_0x2f66fd)_0x13b78b=_0x3d3254,this['_applyOperationsSet'](_0x13b78b,_0x2f66fd);else{if(_0x41f684['initData']){const _0x37f6da=this['_getOperationsFromInitData'](_0x41f684['initData']);this['_document']['history']['version']=-_0x37f6da['length'],_0x37f6da['forEach'](_0x53efbf=>{_0x53efbf['baseVersion']-=_0x37f6da['length'],_0x53efbf['createdAt']=_0x41f684['sessionCreatedAt'],_0x53efbf['_isInit']=!0x0,_0x53efbf['_authorId']=null;}),this['_applyOperationsSet'](_0x37f6da,!0x0),this['serverHistory']['version']=-_0x37f6da['length']+this['_offset'],this['_updateServerHistory'](_0x37f6da);}this['_document']['history']['version']=_0xa1f038,_0x13b78b=this['_decompressOperations'](_0x41f684['data'],_0x41f684['metadata']),await this['_fetchMissingUsers'](_0x13b78b),this['_applyOperationsSet'](_0x13b78b,_0x2f66fd);}_0x41f684['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x13b78b,_0x41f684['lastOperationId']),this['_lastSyncedOperationId']=_0x41f684['lastOperationId']),this['serverHistory']['version']=_0xa1f038+this['_offset'],this['_updateServerHistory'](_0x13b78b),_0x3d3254['filter'](_0x31841e=>{const _0x4c279f=this['_getAffectedRoot'](_0x31841e);return _0x4c279f&&!this['_knownRootNames']['has'](_0x4c279f);})['forEach']((_0x9347f6,_0x5a819f)=>{_0x9347f6['baseVersion']=this['_document']['version']+_0x5a819f,this['_saveOperationInBuffer'](_0x9347f6);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3bd39d,_0xdfd9cc){const _0x3670c5=_0xdfd9cc&&_0xdfd9cc['message'];if(_0x3670c5&&_0x3670c5['startsWith']('realtimecollaborationclient'))throw _0xdfd9cc;const _0x15b0d6=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x15b0d6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3793cd(_0x3bd39d,this['editor'],_0x3670c5?{'originalError':_0x3670c5}:void 0x0);}_saveOperationInBuffer(_0x295c38){this['_knownOperations']['has'](_0x295c38)||(this['_knownOperations']['add'](_0x295c38),this['_bufferedOperations']['push'](_0x295c38),this['_pendingAction']||'marker'==_0x295c38['type']&&!_0x295c38['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x3be581=!0x1){!_0x3be581&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4a4bf5=>{_0x4a4bf5&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x1e2f0f=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2c17e2){return _0x2c17e2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2c17e2['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2c17e2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x1e2f0f)||this['_crash'](_0x1e2f0f['message'],_0x1e2f0f);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x57feac=>{this['on']('change:_isPendingUpdate',()=>{_0x57feac();});});}async _sendBufferedOperations(){const _0x314e07=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x314e07['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x10fc27=[...this['_bufferedOperations']];for(const _0xc9c52f of _0x10fc27)_0xc9c52f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xc9c52f);const _0x1f66b9=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x10fc27),_0x324cef=Z++,_0xd39cea=this['_compressOperations'](_0x10fc27),_0x5185e9=await this['_service']['sendOperations'](_0xd39cea,_0xd39cea['baseVersion'],_0x1f66b9);try{return await this['_handleServerResponse'](_0x10fc27,_0x5185e9,_0x324cef);}catch(_0x3f6f91){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3f6f91);}}async['_handleServerResponse'](_0x385cf2,_0x23c6b9,_0x5997e3){if('error'in _0x23c6b9)throw _0x23c6b9['error'];let _0x1c9f5a;if(_0x23c6b9['wereChangesApplied']){_0x23c6b9['lastOperationId']&&(this['_lastSyncedOperationId']=_0x23c6b9['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1a26a0=>!_0x385cf2['includes'](_0x1a26a0));for(const _0x370cab of _0x385cf2)_0x370cab['createdAt']='lastOperationAcceptedAt'in _0x23c6b9&&_0x23c6b9['lastOperationAcceptedAt']||void 0x0;st(_0x385cf2,_0x23c6b9['version']-_0x385cf2['length']),this['_updateServerHistory'](_0x385cf2);const _0x4a8d7a=_0x385cf2['filter'](_0x547178=>{if(!_0x547178['_isInit'])return!0x1;const _0x485ad1=this['_getAffectedRoot'](_0x547178);return _0x485ad1&&!this['_knownRootNames']['has'](_0x485ad1);});st(_0x4a8d7a,this['_document']['version']),this['_applyOperationsSet'](_0x4a8d7a),_0x1c9f5a=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xc02c1f=this['_decompressOperations'](_0x23c6b9['data'],_0x23c6b9['metadata'])['filter'](_0x2c2236=>_0x2c2236['baseVersion']>=this['_lastServerVersion']);_0xc02c1f['forEach'](_0x574c96=>this['_addKnownRoot'](_0x574c96)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x53014f=>!_0x53014f['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x53014f))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xc02c1f),_0x1c9f5a=this['_handleExternalOperations'](_0xc02c1f,_0x23c6b9['version'],_0x23c6b9['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1c9f5a?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x109fc9,_0xad4fdb,_0x5db956){try{const _0x3e348a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3601be,operationsB:_0x1e8d15,originalOperations:_0x315ec1}=_0x53ed02(_0x109fc9,this['_bufferedOperations'],_0x3e348a);st(_0x3601be,this['_document']['version']),st(_0x1e8d15,_0xad4fdb);for(const _0x316dc7 of _0x3601be){const _0x56b13b=_0x315ec1['get'](_0x316dc7);_0x56b13b?(_0x316dc7['_authorId']=_0x56b13b['_authorId'],'noop'!==_0x316dc7['type']&&(_0x316dc7['_aiSource']=_0x56b13b['_aiSource'])):_0x316dc7['_authorId']=null;}for(const _0x210427 of _0x1e8d15)'noop'!==_0x210427['type']&&(_0x210427['_aiSource']=_0x315ec1['get'](_0x210427)?.['_aiSource']);_0x5db956&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x109fc9,_0x5db956),this['_lastSyncedOperationId']=_0x5db956),this['_bufferedOperations']=[..._0x1e8d15],this['_applyOperationsSet'](_0x3601be),this['_updateServerHistory'](_0x109fc9);}catch(_0x4383f1){return console['error'](_0x4383f1),!0x1;}return!0x0;}_applyOperationsSet(_0x572c95,_0x246770=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x457ea7=>{for(const _0x4c47f9 of _0x572c95)this['_knownOperations']['add'](_0x4c47f9),this['_addKnownRoot'](_0x4c47f9),_0x457ea7['batch']['addOperation'](_0x4c47f9),this['editor']['model']['applyOperation'](_0x4c47f9);});}_addKnownRoot(_0x400f30){const _0x33e0f6=this['_getAffectedRoot'](_0x400f30);_0x33e0f6&&this['_knownRootNames']['add'](_0x33e0f6);}_getAffectedRoot(_0x33386b){let _0x29ecee,_0x1d516d;switch(_0x33386b['type']){case'insert':_0x29ecee=_0x33386b['position']['root'];break;case'marker':if(_0x1d516d=_0x33386b['newRange'],!_0x1d516d)return null;_0x29ecee=_0x1d516d['root'];break;case'addRootAttribute':_0x29ecee=_0x33386b['root'];break;case'addRoot':_0x29ecee=_0x33386b['affectedSelectable'];break;case'move':_0x29ecee=_0x33386b['targetPosition']['root'];break;default:return null;}return _0x29ecee['rootName'];}_updateServerHistory(_0x4c11fb){_0x4c11fb['forEach'](_0x4bca50=>{const _0x4f7d4d=_0x4bca50['clone']();_0x4f7d4d['_authorId']=_0x4bca50['_authorId'],_0x4f7d4d['_isInit']=!!_0x4bca50['_isInit'],_0x4f7d4d['_aiSource']=_0x4bca50['_aiSource'],_0x4f7d4d['createdAt']=_0x4bca50['createdAt'],_0x4f7d4d['baseVersion']+=this['_offset'],_0x4bca50['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4f7d4d),this['serverHistory']['addOperation'](_0x4f7d4d);});}_handleReconnectionError(_0x1e58ba){const _0x6d605=this['editor']['plugins']['get']('Notification'),_0x4abb26=this['editor']['locale'];_0x1e58ba||(_0x1e58ba=X(_0x4abb26,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x6d605['showWarning'](_0x1e58ba,{'title':X(_0x4abb26,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x4f34ce)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x4f34ce)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x1ecf7d){const _0xc0c0be=_0x1ecf7d['map'](_0x5a680c=>_0x5a680c['toJSON']());return this['_compressor']['compress'](_0xc0c0be);}_decompressOperations(_0x582bfa,_0x334d48){return this['_compressor']['decompress'](_0x582bfa)['map']((_0x380f99,_0x400b0c)=>{const _0x3a600d='init'==_0x334d48[_0x400b0c]['type'];if('InsertOperation'==_0x380f99['__className']){const _0x2c1aa8=_0x380f99['position']['root'];!this['_document']['getRoot'](_0x2c1aa8)&&(this['_document']['createRoot']('$unknown',_0x2c1aa8)['_isAttached']=!0x1);}else{if('RootOperation'==_0x380f99['__className']){const _0x41427f=this['_document']['getRoot'](_0x380f99['rootName']);_0x41427f&&'$unknown'==_0x41427f['name']&&_0x380f99['elementName']!=_0x41427f['name']&&(_0x41427f['name']=_0x380f99['elementName']);}}const _0x2b3443=_0x3db4a7['fromJSON'](_0x380f99,this['_document']);return _0x2b3443['wasUndone']=_0x380f99['wasUndone'],_0x2b3443['_isInit']=_0x3a600d,_0x2b3443['_authorId']=_0x3a600d?null:_0x334d48[_0x400b0c]['userId'],_0x2b3443['_isDisconnection']='cs:removeUser'===_0x334d48[_0x400b0c]['type'],_0x2b3443['_aiSource']=_0x380f99['_aiSource']||void 0x0,_0x2b3443['createdAt']=_0x334d48[_0x400b0c]['createdAt'],_0x2b3443;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x35d4c2=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x35d4c2&&_0x35d4c2['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x475c48,_0x2fa779){for(const _0x1ffd46 of _0x475c48)_0x1ffd46['baseVersion']=_0x2fa779++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x223e01){this['_ignoredOperations']=_0x223e01,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x3c1d6b){let _0xdeb38d=_0x3c1d6b['length'];for(;_0xdeb38d--;){const _0x44cd2c=_0x3c1d6b[_0xdeb38d];if(!this['_ignoredOperations']['has'](_0x44cd2c)){if(!this['_operationToId']['has'](_0x44cd2c)){const _0x21f74d=_0x26b079()['slice'](0x1,0x12);this['_operationToId']['set'](_0x44cd2c,_0x21f74d);}return this['_operationToId']['get'](_0x44cd2c);}}}setIdForTheLastOperation(_0x101ff9,_0x400655){if(!_0x400655)return;let _0x326300=_0x101ff9['length'];for(;_0x326300--;){const _0x539b07=_0x101ff9[_0x326300];this['_ignoredOperations']['has'](_0x539b07)||this['_operationToId']['set'](_0x539b07,_0x400655);}}},nt=class extends _0x182d58{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x5383fe{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x5c5423)());['_services'];static get requires(){return[z,_0xc1d332,Y,_0x326fdb];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x178daf){super(_0x178daf),this['_services']=new Map();}async init(){const _0x4ffedb=this['context'],_0x220c99=_0x4ffedb['plugins']['get'](_0xc1d332);if(_0x4ffedb['plugins']['get'](z)['addToReconnectionStack'](this),_0x220c99['adapter']={'addCommentThread':async({channelId:_0x1a5103,threadId:_0x14264f,comments:_0x376952,resolvedAt:_0x302d84,resolvedBy:_0x2d563a,context:_0x105304,attributes:_0x321b33})=>{const _0x1f3a56=await this['_getService'](_0x1a5103)['addCommentThread']({'commentThreadId':_0x14264f,'comments':_0x376952['map'](_0x20be87=>function(_0x5d813a,_0x40f8a7,_0x420cd5){return{'commentThreadId':_0x420cd5,'commentId':_0x5d813a['commentId'],'userId':_0x5d813a['authorId'],'content':_0x5d813a['content'],'documentId':_0x40f8a7,'createdAt':_0x5d813a['createdAt'],'attributes':_0x5d813a['attributes']||{}};}(_0x20be87,_0x1a5103,_0x14264f)),'resolvedAt':_0x302d84,'resolvedBy':_0x2d563a,'context':_0x105304,'attributes':_0x321b33})['catch'](ct);return{'threadId':_0x1f3a56['commentThreadId'],'comments':_0x1f3a56['comments']};},'getCommentThread':async({channelId:_0x3097c8,threadId:_0x517e17})=>{const _0x57dd88=await this['_getService'](_0x3097c8)['getCommentThread'](_0x517e17)['catch'](rt)['catch'](ct);return _0x57dd88?_0x57dd88['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x57dd88]),{'threadId':_0x57dd88['commentThreadId'],'comments':_0x57dd88['comments']['map'](at),'context':_0x57dd88['context'],'resolvedAt':_0x57dd88['resolvedAt'],'resolvedBy':_0x57dd88['resolvedBy'],'attributes':_0x57dd88['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3b085d,threadId:_0x46be81,context:_0x18c918,unlinkedAt:_0x1831b9,attributes:_0x263ab1})=>this['_getService'](_0x3b085d)['updateCommentThread']({'commentThreadId':_0x46be81,'context':_0x18c918,'attributes':_0x263ab1,'unlinkedAt':_0x1831b9})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x6afdb8,threadId:_0x5ad0da})=>{const _0x1181e9=await this['_getService'](_0x6afdb8)['resolveCommentThread'](_0x5ad0da)['catch'](rt)['catch'](ct);return{'threadId':_0x1181e9['commentThreadId'],'resolvedAt':_0x1181e9['resolvedAt'],'resolvedBy':_0x1181e9['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1dc277,threadId:_0x58daaa})=>this['_getService'](_0x1dc277)['reopenCommentThread'](_0x58daaa)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x24cfb7,threadId:_0x91c29c})=>this['_getService'](_0x24cfb7)['removeCommentThread'](_0x91c29c)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x11225a,threadId:_0x55b922,commentId:_0x1bc696,content:_0x126c59,attributes:_0x3a7104})=>this['_getService'](_0x11225a)['addComment'](_0x55b922,_0x1bc696,_0x126c59,_0x3a7104)['catch'](ct),'updateComment':({channelId:_0x40060f,threadId:_0x21f9f3,commentId:_0x56f38f,content:_0x47dc31,attributes:_0xb0dca7})=>this['_getService'](_0x40060f)['updateComment'](_0x21f9f3,_0x56f38f,_0x47dc31,_0xb0dca7)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1ac2f0,threadId:_0x53beab,commentId:_0x34b746})=>this['_getService'](_0x1ac2f0)['removeComment'](_0x53beab,_0x34b746)['catch'](rt)['catch'](ct)},_0x4ffedb instanceof _0x4be23b){const _0x5b783d=_0x4ffedb['config']['get']('collaboration.channelId'),_0x26fe01=_0x4ffedb['plugins']['get'](Y);await this['_setUpService'](_0x5b783d);const _0x3918ea=await this['_services']['get'](_0x5b783d)['getConnectedSessions']();this['listenTo'](_0x26fe01,'sessionAdd:'+_0x5b783d,(_0x3af277,{session:_0x5886d2})=>{_0x5886d2['id']===_0x26fe01['mySessionId']&&(_0x3af277['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5886d2['permissions'],_0x5b783d));}),_0x26fe01['register'](_0x5b783d,_0x3918ea);}}async _setUpService(_0x48192){if(this['_services']['has'](_0x48192))throw new _0x3793cd('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x48192});const _0xbe483e=this['context']['plugins']['get'](_0xc1d332),_0x1099fd=new CloudServicesCommentsAdapter['CommentsService'](_0x48192);this['_services']['set'](_0x48192,_0x1099fd),this['listenTo'](_0x1099fd,'commentThreadAdded',(_0x5e33b6,_0x36d34d)=>{const {commentThreadId:_0x45661a,documentId:_0x1d6fec,context:_0x11605f,attributes:_0x270e5a,resolvedAt:_0x3794e6,resolvedBy:_0x57f939,comments:_0xdd377d}=_0x36d34d;_0xbe483e['getCommentThread'](_0x45661a)||_0xbe483e['addCommentThread']({'threadId':_0x45661a,'channelId':_0x1d6fec,'comments':_0xdd377d?_0xdd377d['map'](at):[],'context':_0x11605f,'attributes':_0x270e5a,'resolvedAt':_0x3794e6,'resolvedBy':_0x57f939,'isFromAdapter':!0x0});}),this['listenTo'](_0x1099fd,'commentThreadUpdated',(_0x2897ca,{commentThreadId:_0x19d315,documentId:_0x48ba58,context:_0x15e591,unlinkedAt:_0x3a58ca,attributes:_0x1f4341})=>{_0xbe483e['getCommentThread'](_0x19d315)&&_0xbe483e['updateCommentThread']({'threadId':_0x19d315,'channelId':_0x48ba58,'context':_0x15e591,'unlinkedAt':_0x3a58ca,'attributes':_0x1f4341,'isFromAdapter':!0x0});}),this['listenTo'](_0x1099fd,'commentThreadResolved',(_0x386a2e,{commentThreadId:_0xab1aac,resolvedBy:_0x1a7cad,resolvedAt:_0x19b806})=>{const _0x40806e=_0xbe483e['getCommentThread'](_0xab1aac);_0x40806e&&_0x40806e['resolve']({'resolvedBy':_0x1a7cad,'resolvedAt':_0x19b806,'isFromAdapter':!0x0});}),this['listenTo'](_0x1099fd,'commentThreadReopened',(_0x5a58ed,{commentThreadId:_0x223a8b})=>{const _0x580824=_0xbe483e['getCommentThread'](_0x223a8b);_0x580824&&_0x580824['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1099fd,'commentThreadRemoved',(_0x2589a7,{commentThreadId:_0x5bdda6})=>{const _0x284ff2=_0xbe483e['getCommentThread'](_0x5bdda6);_0x284ff2&&_0x284ff2['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1099fd,'commentAdded',(_0x2e275b,_0x1d13d3)=>{const _0x4e5c14=_0x1d13d3['commentThreadId'],_0x3b653d=_0xbe483e['getCommentThread'](_0x4e5c14);_0x3b653d&&_0x3b653d['addComment']({...at(_0x1d13d3),'isFromAdapter':!0x0});}),this['listenTo'](_0x1099fd,'commentUpdated',(_0xdcc506,{commentThreadId:_0x433fa7,commentId:_0x5995b4,content:_0x191087,attributes:_0x48cfa0})=>{const _0x57d29d=_0xbe483e['getCommentThread'](_0x433fa7);if(_0x57d29d){const _0x2faf1e=_0x57d29d['getComment'](_0x5995b4);_0x2faf1e&&_0x2faf1e['update']({'content':_0x191087,'attributes':_0x48cfa0,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1099fd,'commentRemoved',(_0x3fccaa,{commentThreadId:_0x54704f,commentId:_0x754bf3})=>{const _0x22b696=_0xbe483e['getCommentThread'](_0x54704f);if(_0x22b696){const _0xad336b=_0x22b696['getComment'](_0x754bf3);_0xad336b&&_0xad336b['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x1099fd,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x48192),this['stopListening'](_0x1099fd));}),await this['_connectService'](_0x48192);}destroy(){if(this['context']instanceof _0x4be23b){const _0x513387=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x513387)&&this['_terminateService'](_0x513387);}}_terminateService(_0x51d838){if(!this['_services']['has'](_0x51d838))throw new _0x3793cd('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x51d838});this['_getService'](_0x51d838)['disconnect'](),this['_services']['delete'](_0x51d838);}async reconnect(){for(const _0x354646 of this['_services']['keys']())await this['_connectService'](_0x354646);if(this['context']instanceof _0x4be23b){const _0x2174ff=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x2174ff)){const _0x5cc79a=this['context']['plugins']['get'](Y);_0x5cc79a['unregister'](_0x2174ff);const _0x4e5af2=await this['_services']['get'](_0x2174ff)['getConnectedSessions']();_0x5cc79a['register'](_0x2174ff,_0x4e5af2);}}}async _connectService(_0x25754c){const {connection:_0x24345d}=this['context']['plugins']['get'](z),_0x172abb=this['context']['plugins']['get'](_0xc1d332),_0xbd62=await this['_services']['get'](_0x25754c)['connect'](_0x24345d);await this['_fetchMissingUsersForThreads'](_0xbd62);const _0x152c65=new Set(Array['from'](_0x172abb['getCommentThreads']({'channelId':_0x25754c}),_0x46a394=>_0x46a394['id']));for(const _0x330a70 of _0xbd62)_0x330a70['deletedAt']||_0x152c65['delete'](_0x330a70['commentThreadId']);for(const _0x4ab74b of _0x152c65)_0x172abb['getCommentThread'](_0x4ab74b)['remove']({'isFromAdapter':!0x0});for(const _0x1c319c of _0xbd62){let _0x594e25=_0x172abb['getCommentThread'](_0x1c319c['commentThreadId']);const {commentThreadId:_0x2166a3,context:_0x46f958,attributes:_0x24d8f9,resolvedBy:_0x20eef0,resolvedAt:_0x5c3013,unlinkedAt:_0x547867,deletedAt:_0x55c106}=_0x1c319c;if(_0x55c106)continue;_0x594e25||(_0x594e25=_0x172abb['addCommentThread']({'channelId':_0x25754c,'threadId':_0x2166a3,'context':_0x46f958,'attributes':_0x24d8f9||{},'resolvedBy':_0x20eef0,'resolvedAt':_0x5c3013,'unlinkedAt':_0x547867,'isFromAdapter':!0x0}));const _0x479809=new Set(Array['from'](_0x594e25['comments'],_0x30aca5=>_0x30aca5['id']));for(const _0x285989 of _0x1c319c['comments'])_0x479809['delete'](_0x285989['commentId']);for(const _0xa96d09 of _0x479809)_0x594e25['getComment'](_0xa96d09)['remove']({'isFromAdapter':!0x0});for(const _0x29d771 of _0x1c319c['comments']){const _0x51180d=_0x594e25['getComment'](_0x29d771['commentId']);_0x51180d?_0x51180d['content']!==_0x29d771['content']&&_0x51180d['update']({'content':_0x29d771['content'],'isFromAdapter':!0x0}):_0x594e25['addComment'](Object['assign'](at(_0x29d771),{'isFromAdapter':!0x0}));}}}_getService(_0x1fac26){if(!this['_services']['has'](_0x1fac26))throw new _0x3793cd('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1fac26});return this['_services']['get'](_0x1fac26);}async _fetchMissingUsersForThreads(_0x4cbbdc){const _0xe62fd9=this['context']['plugins']['get'](_0x326fdb),{connection:_0x2f45f8}=this['context']['plugins']['get'](z),_0x4122f0=new Set();for(const {resolvedBy:_0x241c6e,comments:_0x5748cf}of _0x4cbbdc){_0x241c6e&&!_0xe62fd9['getUser'](_0x241c6e)&&_0x4122f0['add'](_0x241c6e);for(const {userId:_0x141fcb}of _0x5748cf)_0xe62fd9['getUser'](_0x141fcb)||_0x4122f0['add'](_0x141fcb);}if(0x0===_0x4122f0['size'])return;const _0x4e6ae4=await _0x198d99['getMany'](_0x2f45f8,Array['from'](_0x4122f0));for(const _0x4545e1 of _0x4e6ae4)_0xe62fd9['getUser'](_0x4545e1['id'])||_0xe62fd9['addUser'](_0x4545e1);}};async function rt(_0x5ed07f){if('404'!==_0x5ed07f['code'])throw _0x5ed07f;}function ct(_0x42857a){if((_0x5b949f=_0x42857a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x5b949f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5b949f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x5b949f;throw _0x42857a;}function at(_0x301e79){return{'threadId':_0x301e79['commentThreadId'],'commentId':_0x301e79['commentId'],'content':_0x301e79['content'],'createdAt':_0x301e79['createdAt'],'authorId':_0x301e79['userId'],'attributes':_0x301e79['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x182d58{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x4a2ecf)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x31da8d,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x335a7d){super(_0x335a7d);const _0x31c49e=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x31c49e);}init(){const _0x13ffb0=this['editor']['plugins']['get'](z),_0x554093=this['editor']['plugins']['get'](_0x31da8d);return _0x554093['adapter']={'getSuggestion':async _0x16507c=>{await this['_waitForServiceReady']();const _0xd5e306=await this['_trackChangesService']['get'](_0x16507c)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0xd5e306]),_0xd5e306;},'addSuggestion':async({id:_0x3f6ecf,type:_0x364366,data:_0x2a2e01,originalSuggestionId:_0x44aedd,attributes:_0x5243f8})=>{await this['_waitForServiceReady']();const _0x123e01={'id':_0x3f6ecf,'type':_0x364366,'data':_0x2a2e01,'originalSuggestionId':_0x44aedd,'attributes':_0x5243f8},_0x43b3a8=await this['_trackChangesService']['add'](_0x3f6ecf,_0x364366,_0x2a2e01,_0x44aedd,_0x5243f8)['catch'](_0x54f40a=>{if(dt(_0x54f40a))return new Promise(_0x1691e4=>{this['_bufferedRequests']['set'](_0x3f6ecf,{'resolve':_0x1691e4,'suggestionData':_0x123e01});});throw _0x54f40a;});return this['_bufferedRequests']['delete'](_0x3f6ecf),_0x43b3a8;},'updateSuggestion':async(_0x245b4e,_0x4e4d3d)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4e4d3d['state'])return this['_trackChangesService']['update'](_0x245b4e,_0x4e4d3d)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1ef248,_0x4494af)=>{_0x554093['hasSuggestion'](_0x4494af['id'])&&(_0x554093['getSuggestion'](_0x4494af['id'])['attributes']=_0x4494af['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x13ffb0['connection']?.['state']&&(_0x13ffb0['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x13ffb0['connection'])['then'](_0x234712=>(_0x13ffb0['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x234712)['then'](()=>{for(const _0x2e8bb2 of _0x234712){_0x554093['addSuggestionData'](_0x2e8bb2)['_saved']=!0x0;}})));}async reconnect(){const _0x3f97f2=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5d9b5a}=this['editor']['plugins']['get'](z),_0x1109ff=await this['_trackChangesService']['connect'](_0x5d9b5a);await this['_fetchMissingUsersForThreads'](_0x1109ff);for(const {suggestionData:_0x4374c7,resolve:_0x462df1}of this['_bufferedRequests']['values']()){let _0x5b4fb2=_0x1109ff['find'](_0x4877e7=>_0x4877e7['id']===_0x4374c7['id']);_0x5b4fb2||(_0x5b4fb2=await this['_trackChangesService']['add'](_0x4374c7['id'],_0x4374c7['type'],_0x4374c7['data'],_0x4374c7['originalSuggestionId'])),_0x462df1(_0x5b4fb2);}for(const _0x9588b1 of _0x1109ff)_0x3f97f2['hasSuggestion'](_0x9588b1['id'])||_0x3f97f2['addSuggestionData'](_0x9588b1);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x6f71d0=>{this['listenTo'](this['_trackChangesService'],'connected',_0x37eddc=>{_0x37eddc['off'](),_0x6f71d0();});});}async _fetchMissingUsersForThreads(_0x3f6b44){const _0x5c913d=this['editor']['plugins']['get'](_0x326fdb),{connection:_0x40e7c3}=this['editor']['plugins']['get'](z),_0x3557f2=new Set();for(const {authorId:_0x4094a0}of _0x3f6b44)_0x5c913d['getUser'](_0x4094a0)||_0x3557f2['add'](_0x4094a0);if(0x0===_0x3557f2['size'])return;const _0x55f542=await _0x198d99['getMany'](_0x40e7c3,Array['from'](_0x3557f2));for(const _0x335b23 of _0x55f542)_0x5c913d['getUser'](_0x335b23['id'])||_0x5c913d['addUser'](_0x335b23);}};function lt(_0x94fa0f){if(dt(_0x94fa0f))return new Promise(()=>{});throw _0x94fa0f;}function dt(_0x19a52a){return _0x19a52a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x19a52a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x182d58{static get requires(){return[_0x4ddf0e,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x5d13c=this['editor']['plugins']['get'](z),_0x967f0a=this['editor']['plugins']['get'](_0x4ad914),_0xe2db2a=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5d13c,'change:state',(_0x39bee7,_0x3febce,_0x367d5b)=>{_0x967f0a['isThreadsLoadingPaused']='connected'!==_0x367d5b;});}),this['listenTo'](_0x5d13c,'change:state',(_0xa432b0,_0x573705,_0x41304e)=>{this['editor']['plugins']['get'](_0xc1d332)['switchReadOnly']('connected'!==_0x41304e);}),_0xe2db2a['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x53fdbc=this['editor']['plugins']['get'](ot),_0x3d955b=this['editor']['config']['get']('collaboration.channelId');_0x53fdbc['_services']['has'](_0x3d955b)&&_0x53fdbc['_terminateService'](_0x3d955b),super['destroy']();}},ft=class extends _0x182d58{static get requires(){return[ut,ht,_0x18abce];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x182d58{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x142660)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x5f0e50,Y,_0x326fdb];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xb845f8){super(_0xb845f8);const _0x407079=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x407079);}async init(){const _0x48df2f=this['editor']['plugins']['get'](tt),_0x28bb6c=_0x48df2f['serverHistory'],_0x494ce7=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x28bb6c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x48df2f['sessionId']});const _0x5ebd8c=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x4b7de2,_0x375849=await _0xb6b90c['isBundleUploaded'](_0x494ce7['connection'],_0x5ebd8c);this['editor']['plugins']['get'](_0x5f0e50)['adapter']={'getRevision':async({revisionId:_0x13ce8c})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x13ce8c)),'updateRevisions':async _0x2df615=>{await this['_waitForServiceReady']();const _0x5736a2=this['_revisionTracker']['currentRevision'];if(_0x375849&&0x1===_0x2df615['length']&&_0x2df615[0x0]['id']===_0x5736a2['id'])return _0x2df615;for(const _0x5bbd27 of _0x2df615)_0x5bbd27['id']===_0x5736a2['id']&&(_0x5bbd27['isEmptyCurrent']=_0x5bbd27['fromVersion']===_0x5bbd27['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x2df615,this['_lastRequestId'])['then'](_0x2ba981=>(this['_lastRequestId']=_0x2ba981,_0x2df615))['catch'](_0xfea5f1=>{if(pt(_0xfea5f1)||'400'===_0xfea5f1['code']&&void 0x0!==_0xfea5f1['data']['wrongRequestId']){for(const _0x509260 of _0x2df615)this['_revisionTracker']['repository']['getRevision'](_0x509260['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x509260['id'],_0x509260,!0x1);if(pt(_0xfea5f1)&&'destroyed'!==this['editor']['state'])throw _0xfea5f1;return _0x2df615;}throw _0xfea5f1;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3ec62a,{revisionsData:_0x5bbd3c,requestId:_0x2d9036})=>{Math['max'](..._0x5bbd3c['map'](_0x4d6952=>_0x4d6952['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5bbd3c,_0x2d9036);}):this['_handleRevisionsUpdate'](_0x5bbd3c,_0x2d9036);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x494ce7['connection']?.['state']&&(_0x494ce7['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x378450,requestId:_0x2551b0}=await this['_revisionHistoryService']['connect'](_0x494ce7['connection']);_0x494ce7['addToReconnectionStack'](this),this['_lastRequestId']=_0x2551b0,await this['_fetchMissingUsers'](_0x378450);for(const _0x49af90 of _0x378450)this['_revisionTracker']['addRevisionData'](_0x49af90);this['listenTo'](_0x48df2f,'change:_isConnected',(_0x2e9ebd,_0x4d1486,_0x20dca9)=>{_0x20dca9&&(this['_oldOffset']=_0x48df2f['_offset'],_0x2e9ebd['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x40e422=this['editor']['plugins']['get'](z),_0x45f675=this['editor']['plugins']['get'](tt),_0x4e6c53=async()=>{const _0x3b0245=this['_revisionTracker']['currentRevision'],_0x225e6e=_0x3b0245['id'],_0x457f4e=_0x225e6e!==_0x45f675['sessionId'];if(_0x457f4e){const _0xf3b93d=_0x45f675['_offset']-this['_oldOffset'],_0x514de7=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x3b0245['toVersion']+_0xf3b93d!==_0x514de7){const _0xd2b49d=_0x3b0245['fromVersion']+_0xf3b93d,_0x198ff0=this['editor']['plugins']['get'](_0x326fdb),_0x41212f=this['_revisionTracker']['buildRevisionData']({'revision':_0x3b0245,'from':_0xd2b49d,'to':_0x514de7});_0x41212f['id']=_0x3b0245['id'];const _0x13fe1a=_0x41212f['authorsIds']['map'](_0x30fd66=>_0x198ff0['getUser'](_0x30fd66));_0x3b0245['_update']({..._0x41212f,'authors':_0x13fe1a},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3b0245['id'],_0x41212f,!0x0);}this['_revisionTracker']['_startingVersion']=_0x514de7,_0x3b0245['toVersion']!==_0x3b0245['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x225e6e)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x225e6e),this['_revisionTracker']['_createCurrentRevision'](_0x514de7);}const {revisions:_0x610379,requestId:_0x20494a}=await this['_revisionHistoryService']['reconnect'](_0x40e422['connection'],this['_lastRequestId']);_0x457f4e&&_0x610379['length']>0x0?_0x45f675['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x610379),this['_handleRevisionsUpdate'](_0x610379,_0x20494a),this['_revisionTracker']['sendBufferedUpdates']());};return _0x45f675['_isConnected']?_0x4e6c53():new Promise((_0x560c12,_0x51d756)=>{_0x45f675['once']('change:_isConnected',()=>{_0x4e6c53()['then'](_0x560c12)['catch'](_0x51d756);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x42760f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x260169=>{_0x260169['off'](),_0x42760f();});});}_getLatestVersionFromServerOperations(){const _0xc49f4b=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x25cced of _0xc49f4b)if('marker'!==_0x25cced['type']||_0x25cced['affectsData'])return _0x25cced['baseVersion']+0x1;}_getLatestVersion(){const _0x488492=this['editor']['plugins']['get'](tt);return new Promise(_0x90d794=>{_0x488492['_isPendingUpdate']?_0x488492['once']('change:_isPendingUpdate',()=>{_0x90d794(this['_getLatestVersionFromServerOperations']());}):_0x90d794(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x421667,_0x20d470){const _0x13b3a2=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x20d470;for(const _0x1f4a22 of _0x421667){const _0xc63e1b=_0x13b3a2['getRevision'](_0x1f4a22['id']);if(_0xc63e1b){if((_0x1f4a22['fromVersion']||_0x1f4a22['toVersion'])&&(_0x1f4a22['diffData']=null),_0xc63e1b===this['_revisionTracker']['currentRevision']){const _0x1b5018=Math['max'](_0xc63e1b['toVersion'],_0x1f4a22['toVersion']),_0xffe728=Math['max'](_0xc63e1b['fromVersion'],_0x1f4a22['fromVersion']);let _0x247944;_0xc63e1b['toVersion']===_0x1f4a22['toVersion']&&_0xc63e1b['fromVersion']===_0x1f4a22['fromVersion']?(_0x247944=!0x0,this['_preventResendingRevisionData'](_0x1f4a22)):_0x1f4a22['toVersion']===_0x1b5018&&_0x1f4a22['fromVersion']===_0xffe728?_0x247944=!0x1:(_0xc63e1b['toVersion']===_0x1b5018&&_0xc63e1b['fromVersion']===_0xffe728||this['_fixRevision']({'revision':_0xc63e1b,'from':_0xffe728,'to':_0x1b5018}),_0x247944=!0x0),_0x247944&&(delete _0x1f4a22['fromVersion'],delete _0x1f4a22['toVersion'],delete _0x1f4a22['diffData'],delete _0x1f4a22['createdAt'],delete _0x1f4a22['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1f4a22),this['_preventResendingRevisionData'](_0x1f4a22);}else this['_revisionTracker']['addRevisionData'](_0x1f4a22);}const _0x18c4df=_0x13b3a2['getRevisions']();_0x18c4df['reverse']();for(let _0x7a2330=0x0;_0x7a2330<_0x18c4df['length']-0x1;_0x7a2330++){const _0x2cf06a=_0x18c4df[_0x7a2330],_0x3096a=_0x18c4df[_0x7a2330+0x1];if(_0x2cf06a['fromVersion']<_0x3096a['toVersion']){const _0x6cce8f=_0x3096a['toVersion'],_0x5ab973=Math['max'](_0x6cce8f,_0x2cf06a['toVersion']);this['_fixRevision']({'revision':_0x2cf06a,'from':_0x6cce8f,'to':_0x5ab973});}}}['_fixRevision']({revision:_0x3a423d,from:_0x5ad7c1,to:_0x3372bd}={}){const _0x15e1e7=this['editor']['plugins']['get'](_0x326fdb),_0x458e48=this['_revisionTracker']['buildRevisionData']({'revision':_0x3a423d,'from':_0x5ad7c1,'to':_0x3372bd});_0x458e48['authors']=_0x458e48['authorsIds']['map'](_0x1797b8=>_0x15e1e7['getUser'](_0x1797b8)),_0x3a423d['_update'](_0x458e48);}_preventResendingRevisionData(_0x472cd8){const _0xaa09e1={};_0xaa09e1['id']=_0x472cd8['id'];for(const _0x54288f of Object['keys'](_0x472cd8))'id'!==_0x54288f&&(_0xaa09e1[_0x54288f]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0xaa09e1['id'],_0xaa09e1,!0x0);}async _fetchMissingUsers(_0x300b77){const _0x18e48a=this['editor']['plugins']['get'](_0x326fdb),{connection:_0x42262c}=this['editor']['plugins']['get'](z),_0x42968e=new Set();for(const _0x8aad2b of _0x300b77){for(const _0x4d5438 of _0x8aad2b['authorsIds'])_0x4218c3(_0x4d5438);_0x8aad2b['creatorId']&&_0x4218c3(_0x8aad2b['creatorId']);}if(0x0===_0x42968e['size'])return;const _0xf051bb=await _0x198d99['getMany'](_0x42262c,Array['from'](_0x42968e));for(const _0x6026a5 of _0xf051bb)_0x18e48a['getUser'](_0x6026a5['id'])||_0x18e48a['addUser'](_0x6026a5);function _0x4218c3(_0x59db7b){_0x18e48a['getUser'](_0x59db7b)||_0x42968e['add'](_0x59db7b);}}};function pt(_0x2485ab){return _0x2485ab['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2485ab['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2485ab['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x182d58{static get requires(){return[_0x5f0e50,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x4fcb28{_collapseAt;constructor(_0x1ef3e5,_0x316620=0x6){super(_0x1ef3e5);const _0xca0f7=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x316620,this['bind']('isHidden')['to'](this,'usersCount',_0x549f11=>_0x549f11<_0x316620),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xca0f7['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0xca0f7['to']('usersCount',_0x1b7abe=>'+'+(_0x1b7abe-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x4fcb28{items;keystrokes;constructor(_0x1707c4){super(_0x1707c4);const _0x39dfda=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x48672d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x39dfda['if']('hasPopup'),'aria-expanded':_0x39dfda['to']('isExpanded',_0x75fce0=>this['hasPopup']&&String(_0x75fce0)),'aria-label':_0x39dfda['to']('hasPopup',_0x58925d=>X(_0x1707c4,_0x58925d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x39dfda['to']('hasPopup',_0x1cb497=>!!_0x1cb497&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x39dfda['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x39dfda['to'](_0x447588=>{const _0x439892=_0x447588,_0x272226=document['querySelector']('.ck-presence-list__dropdown-list'),_0x2be7c1=document['querySelector']('.ck-balloon-panel_with-arrow');_0x272226?.['contains'](_0x439892['relatedTarget'])||_0x2be7c1?.['contains'](_0x439892['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x354d04,_0x3a5e1a,_0x54dd01)=>{this['element']&&(_0x54dd01?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x4fcb28{counterView;inlineListView;constructor(_0x4d75e6,_0x44f8a0=0x6){super(_0x4d75e6);const _0x2cddc8=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x44f8a0),this['inlineListView']=new vt(_0x4d75e6),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x27813d of this['inlineListView']['items'])_0x27813d['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x2cddc8['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x4fcb28{listWrapperView;constructor(_0x46b5f9,_0x3ae42c){super(_0x46b5f9);const _0x362352=this['bindTemplate'];this['listWrapperView']=new bt(_0x46b5f9,_0x3ae42c),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x46b5f9,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x362352['to'](_0x5bd87d=>{const _0x3115a2=_0x5bd87d,_0x3ed2a9=document['querySelector']('.ck-presence-list__list'),_0x2e0419=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3ed2a9?.['contains'](_0x3115a2['relatedTarget'])||_0x2e0419?.['contains'](_0x3115a2['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x4410a0{constructor(_0x75b8f4,_0x573ef3){super(_0x75b8f4);const _0x11daf3=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x573ef3?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x11daf3['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x11daf3['to']('role'),'aria-label':_0x11daf3['to']('ariaLabel'),'aria-labelledby':_0x11daf3['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x415cf5['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1d4106=this['element'];_0x1d4106&&(this['_isScrollable']=Math['max'](_0x1d4106['scrollHeight'],_0x1d4106['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x2c05db{['userView'];constructor(_0x30d555,_0x565d1b,_0x2fecfc){super(_0x30d555);const _0x5b6fd6=this['bindTemplate'];this['userView']=new _0x4e3739(_0x30d555,_0x565d1b);const _0x41b3c1={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x565d1b['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x565d1b['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x565d1b['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x565d1b['color']['getColorVariable'](),'--ck-user-color-alpha':_0x565d1b['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x2fecfc&&(_0x41b3c1['tag']='button',_0x41b3c1['on']={'click':_0x5b6fd6['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x41b3c1);}['focus'](){this['element']['focus']();}},It=class extends _0x4fcb28{['userView'];['markerView'];constructor(_0x3f4496,_0x3ad6c2,_0xd69b91){super(_0x3f4496);const _0x13aa3d=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x4e3739(_0x3f4496,_0x3ad6c2),this['markerView']=new St(_0x3f4496,_0x3ad6c2);const _0x54c930=new _0x79a609(_0x3f4496);_0x54c930['template']['tag']='span',_0x54c930['text']=_0x3ad6c2['name'];const _0x2e8e70={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x13aa3d['to']('isFocusable',_0x28ad58=>!!_0x28ad58&&0x0),'aria-labelledby':_0x54c930['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x13aa3d['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x13aa3d['to']('hasTooltip',_0x2511c3=>!_0x2511c3),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x54c930]};_0xd69b91&&(_0x2e8e70['tag']='button',_0x2e8e70['on']={'click':_0x13aa3d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2e8e70);}},St=class extends _0x4fcb28{constructor(_0x3ae204,_0x3aee1d){super(_0x3ae204),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3aee1d['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x3aee1d['color']['getColorVariable'](),'--ck-user-color-alpha':_0x3aee1d['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x5383fe{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5eec6a){super(_0x5eec6a),this['context']['config']['define']('presenceList',Tt);const _0x24afa9=_0x5eec6a['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x24afa9)throw new _0x3793cd('presencelist-collapseat-invalid-format',this);if(_0x24afa9<0x1)throw new _0x3793cd('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x43ba52(),this['balloonPanelView']=new _0x41d86b(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x237b97 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x237b97);this['listenTo'](this['_allConnectedUsers'],'add',(_0x26e96a,_0x27bad7)=>{this['_handleUserAdd'](_0x27bad7);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x7f0bf3,_0x4abe1f)=>{this['_handleUserRemove'](_0x4abe1f);});}_createView(){const _0x3c8016=this['context'],_0x2ee260=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x1181c0=this['balloonPanelView'];if(!_0x4b1f95(_0x3c8016['config']['get']('presenceList.container')))throw new _0x3793cd('presencelist-missing-container',this);return _0x2ee260['counterView']['bind']('usersCount')['to'](this),_0x2ee260['bind']('isCollapsed')['to'](this,'usersCount',_0x440970=>{const {collapseAt:_0x46511f}=_0x3c8016['config']['get']('presenceList'),_0x439ee3=_0x440970>=_0x46511f;if(_0x439ee3&&!_0x2ee260['inlineListView']['items']['find'](_0x4df0f2=>_0x4df0f2 instanceof wt)){const _0x108475=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x108475&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2ee260['inlineListView']['items']['add'](_0x2ee260['counterView']);}return _0x439ee3||this['hideDropdown'](),_0x439ee3;}),_0x2ee260['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4c4c7d=>{const _0x4e46e8=_0x3c8016['config']['get']('presenceList'),_0x34ed3f=new It(_0x3c8016['locale'],_0x4c4c7d,!!_0x4e46e8['onClick']);return _0x34ed3f['bind']('hasTooltip')['to'](_0x2ee260,'isCollapsed',_0x180e69=>!_0x180e69),_0x34ed3f['bind']('isFocusable')['to'](_0x2ee260,'isCollapsed',_0xae2272=>!_0xae2272),_0x4e46e8['onClick']&&this['listenTo'](_0x34ed3f,'execute',()=>{this['view']['isCollapsed']||_0x4e46e8['onClick'](_0x4c4c7d,_0x34ed3f['element']);}),_0x34ed3f;}),this['listenTo'](_0x2ee260['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2ee260['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2ee260['inlineListView']['keystrokes']['set']('Enter',(_0xb47333,_0x6ca41b)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x6ca41b());}),_0x2ee260['render'](),_0x1181c0['render'](),_0x1ef56d({'emitter':_0x2ee260,'activator':()=>_0x1181c0['isVisible'],'contextElements':[_0x1181c0['element'],_0x2ee260['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3c8016['config']['get']('presenceList.container')['appendChild'](_0x2ee260['element']),this['_bodyCollection']=new _0x2c3ba0(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2ee260;}['_handleUserAdd'](_0x410b86){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x410b86['isMe'])return;const _0x5455e6=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x5455e6-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x32decc=_0x410b86['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x410b86,_0x32decc);}['_handleUserRemove'](_0x2c349b){this['usersCount']--;const {collapseAt:_0x5174de}=this['context']['config']['get']('presenceList'),_0x1a3737=this['usersCount']>=_0x5174de;if(this['currentDisplayedUsers']['get'](_0x2c349b['id']))this['currentDisplayedUsers']['remove'](_0x2c349b['id']);else{if(_0x1a3737&&this['currentDisplayedUsers']['length']+0x1===_0x5174de-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1a3737?0x1:0x0)<this['usersCount']){for(const _0x52f80a of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x52f80a['id'])&&(this['currentDisplayedUsers']['add'](_0x52f80a,Math['min'](this['currentDisplayedUsers']['length']-(_0x1a3737?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1a3737?0x1:0x0)===_0x5174de-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x49f2ba=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x49f2ba['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x293352}=this['presenceDropdownView'];_0x293352['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x113bd4=>{if(!_0x49f2ba['displayMe']&&_0x113bd4['isMe'])return null;const _0xddf5e0=new kt(this['context']['locale'],_0x113bd4,!!_0x49f2ba['onClick']);return _0x49f2ba['onClick']&&this['listenTo'](_0xddf5e0,'execute',()=>{_0x49f2ba['onClick'](_0x113bd4,_0xddf5e0['element']);}),_0xddf5e0;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x293352['focus'](),_0x293352['checkIfScrollable']();const _0x21a4f5=(_0x273153,_0x36e335)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x36e335();};_0x293352['keystrokes']['set']('Esc',_0x21a4f5),_0x293352['keystrokes']['set']('Shift+Tab',_0x21a4f5),_0x293352['keystrokes']['set']('Tab',(_0x237fa0,_0x7eba9f)=>{!function(_0x520690){const _0x327783=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5e99e7=>_0x5e99e7+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x14c959=[...document['body']['querySelectorAll'](_0x327783)]['filter'](_0x20215b=>_0x20215b===document['activeElement']||_0x20215b['offsetWidth']+_0x20215b['offsetHeight']>0x0)['sort']((_0x2335de,_0x26d4ed)=>(_0x2335de['tabIndex']||0x0)-(_0x26d4ed['tabIndex']||0x0)),_0xbd2cbb=_0x14c959[(_0x14c959['indexOf'](_0x520690)+0x1)%_0x14c959['length']];_0xbd2cbb&&_0xbd2cbb['focus']();}(this['view']['element']),this['hideDropdown'](),_0x7eba9f();}),_0x293352['focusTracker']['add'](this['view']['element']),_0x293352['focusTracker']['on']('change:isFocused',(_0x5aa5b9,_0x254a56,_0x545f8b)=>{_0x545f8b||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x5383fe{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|