@ckeditor/ckeditor5-real-time-collaboration 48.5.0-alpha.4 → 48.5.0-alpha.6
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/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 +12 -12
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Context as
|
|
24
|
-
((()=>_0x412666)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x404a83,_0x35fa26];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34e1d0){super(_0x34e1d0),this['set']('state',_0x398bd1['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x2f59e2())();}init(){const _0x2f2535=this['context'],_0xafa8a=_0x2f2535['plugins']['get'](_0x404a83),_0x575c3e=_0x2f2535['plugins']['get'](_0x35fa26);if(!_0xafa8a['token'])throw new _0x2e8d1b('websocketgateway-missing-token',this);if(!_0xafa8a['webSocketUrl'])throw new _0x2e8d1b('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'](_0xafa8a['token'],_0xafa8a['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2b38dd=>{if(this['connection']=_0x2b38dd,this['bind']('state')['to'](_0x2b38dd,'state',this,'_isBrowserOffline',(_0x549b8e,_0x25827f)=>('connected'!==_0x549b8e&&(this['_shouldPluginsReconnect']=!0x0),_0x25827f||_0x549b8e!==_0x398bd1['CONNECTED']?_0x398bd1['DISCONNECTED']:this['state']==_0x398bd1['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x398bd1['CONNECTING']):_0x398bd1['CONNECTED'])),this['connection']['on']('error',(_0x35d2f1,_0x145762)=>{if('limitExceeded'!==_0x145762['code'])throw console['error'](_0x145762),new _0x2e8d1b('cloudservices-init',null,{'originalError':_0x145762});_0x575c3e['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'});}),!_0x2b38dd['me'])return new Promise(_0x2a4655=>_0x2b38dd['on']('change:me',_0x2a4655));})['catch'](_0x2d8256=>{throw console['error'](_0x2d8256),new _0x2e8d1b('cloudservices-init',null,{'originalError':_0x2d8256});});}addToReconnectionStack(_0x166b4a){if('function'!=typeof _0x166b4a['reconnect'])throw new _0x2e8d1b('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x166b4a))throw new _0x2e8d1b('websocketgateway-plugin-already-registered',this,{'name':_0x166b4a['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x166b4a);}removeFromReconnectionStack(_0x3640cb){this['_reconnectionStack']['delete'](_0x3640cb);}isInReconnectionStack(_0xf06e53){return this['_reconnectionStack']['has'](_0xf06e53);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x47aac8=>_0x47aac8['reconnect']())))['then'](()=>this['state']=_0x398bd1['CONNECTED'])['catch'](_0x39e876=>{throw console['error'](_0x39e876),new _0x2e8d1b('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x398bd1['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0xc4d6aa{['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,_0x4a1da9];}constructor(_0x3f4c33){super(_0x3f4c33),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xed46ed(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4a1da9);}init(){const _0x4bea1b=this['context']['plugins']['get'](z);this['listenTo'](_0x4bea1b,'change:state',(_0x332388,_0x431240,_0x203b11)=>{if('connected'!==_0x203b11)this['channelSessions']['forEach'](_0x5e3d6e=>_0x5e3d6e['clear']()),this['channelConnectedUsers']['forEach'](_0xcc4193=>_0xcc4193['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x19f464,_0x2b351]of this['_registeredSessions'])for(const _0x3b7661 of _0x2b351)this['_handleSessionAdd'](_0x19f464,_0x3b7661);}}),this['_createUser'](_0x4bea1b['connection']['me'],!0x0);}register(_0x3a5de4,_0x67c5f){if(this['_registeredSessions']['has'](_0x3a5de4))throw new _0x2e8d1b('sessions-register-already-registered',null,{'channelId':_0x3a5de4});this['_registeredSessions']['set'](_0x3a5de4,_0x67c5f),this['channelSessions']['set'](_0x3a5de4,new _0xed46ed()),this['channelConnectedUsers']['set'](_0x3a5de4,new _0xed46ed()),this['listenTo'](_0x67c5f,'add',(_0x2dd282,_0x3a3945)=>this['_handleSessionAdd'](_0x3a5de4,_0x3a3945)),this['listenTo'](_0x67c5f,'remove',(_0x282fe9,_0x5a610c)=>this['_handleSessionRemove'](_0x3a5de4,_0x5a610c));for(const _0x3d1a27 of _0x67c5f)this['_handleSessionAdd'](_0x3a5de4,_0x3d1a27);}unregister(_0xaf2f2b){if(!this['_registeredSessions']['has'](_0xaf2f2b))throw new _0x2e8d1b('sessions-unregister-not-exist',null,{'channelId':_0xaf2f2b});const _0x4a7209=this['_registeredSessions']['get'](_0xaf2f2b);this['stopListening'](_0x4a7209);for(const _0x438f62 of _0x4a7209)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0xaf2f2b,_0x438f62);this['_registeredSessions']['delete'](_0xaf2f2b),this['channelSessions']['delete'](_0xaf2f2b),this['channelConnectedUsers']['delete'](_0xaf2f2b);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x6b8184){for(const _0x40ee05 of this['channelSessions']['values']())for(const _0x4fa396 of _0x40ee05)if(_0x4fa396['id']===_0x6b8184)return _0x4fa396['user'];}getUserSessions(_0x36fe35,_0x41bb1d){const _0x3def36=_0x41bb1d?[this['channelSessions']['get'](_0x41bb1d)]:this['channelSessions']['values'](),_0x4d3135=new Set();for(const _0x5765e4 of _0x3def36)for(const _0x7b1286 of _0x5765e4)_0x7b1286['user']['id']===_0x36fe35['id']&&_0x4d3135['add'](_0x7b1286['id']);return _0x4d3135;}getUserRole(_0x2e0e3a){for(const _0x1b055b of this['channelSessions']['values']())for(const _0x15ba99 of _0x1b055b)if(_0x15ba99['user']===_0x2e0e3a)return _0x15ba99['role'];}['_handleSessionAdd'](_0x105079,_0x5ef549){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0xc3a595=_0x5ef549['user'],_0x22f0c0=this['_users']['getUser'](_0xc3a595['id'])||this['_createUser'](_0xc3a595),_0x4d8861=Object['assign']({},_0x5ef549,{'user':_0x22f0c0});if(this['channelSessions']['get'](_0x105079)['add'](_0x4d8861),!_0xc3a595['hiddenInPresenceList']){const _0x43ac0f=this['channelConnectedUsers']['get'](_0x105079);_0x43ac0f['has'](_0x22f0c0['id'])||_0x43ac0f['add'](_0x22f0c0),this['allConnectedUsers']['has'](_0x22f0c0['id'])||_0xc3a595['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x22f0c0,_0x22f0c0['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x105079,{'channelId':_0x105079,'session':_0x4d8861});}['_handleSessionRemove'](_0x300854,_0x29b1d6){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x7d9bd5=this['channelConnectedUsers']['get'](_0x300854),_0x4c9985=_0x29b1d6['user'];_0x4c9985['id']&&(this['channelSessions']['get'](_0x300854)['remove'](_0x29b1d6['id']),_0x7d9bd5['has'](_0x4c9985['id'])&&!this['getUserSessions'](_0x4c9985,_0x300854)['size']&&_0x7d9bd5['remove'](_0x4c9985['id']),this['allConnectedUsers']['get'](_0x4c9985['id'])&&!this['getUserSessions'](_0x4c9985)['size']&&this['allConnectedUsers']['remove'](_0x4c9985['id']));}_createUser(_0x3ad9a6,_0x570841){const _0xa7de5a=this['_users']['addUser'](_0x3ad9a6);return _0x570841&&this['_users']['defineMe'](_0x3ad9a6['id']),_0xa7de5a['orderNumber']=this['_uniqueUsersCount']++,_0xa7de5a;}},K=class extends _0x36abf4{_domEmitter=new(_0x2f59e2())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1123dd=this['editor'],_0x5b3069=_0x1123dd['plugins']['get'](Y);_0x1123dd['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x38e18a,{writer:_0x47f268})=>function(_0x4c9792,_0x36e3ea,_0x13b180,_0x4b4358){const _0x16aae6=_0x4c9792['markerName']['split'](':')[0x2],_0x4a326c=_0x13b180['getUserBySessionId'](_0x16aae6);if(!_0x4a326c||_0x16aae6===_0x13b180['mySessionId'])return;if(!_0x4b4358['model']['schema']['checkChild'](_0x4c9792['markerRange']['start'],'$text'))return;const _0x5bb08f={'class':'ck-user__marker\x20'+_0x4a326c['color']['getMarkerClass'](),'style':Q(_0x4a326c),'data-name':_0x4a326c['name'],'data-session-id':_0x16aae6},_0x4d5517=_0x4b4358['model']['markers']['get'](_0x4c9792['markerName'])['getStart'](),_0x484202=_0x4d5517['nodeAfter'],_0x142f71=_0x4b4358['model']['schema'];if(_0x484202&&_0x142f71['isObject'](_0x484202)&&_0x142f71['isInline'](_0x484202)&&!_0x4b4358['model']['markers']['get']('user:range:'+_0x16aae6)['getRange']()['isCollapsed'])return;const _0x1961df=_0x4d5517['parent'];return _0x4b4358['model']['schema']['isLimit'](_0x1961df)&&!_0x4b4358['model']['hasContent'](_0x1961df)&&(_0x5bb08f['contenteditable']=!0x1),function(_0x4c985a,_0x5b1926,_0x4343ec){const _0x4a9321=_0x4c985a['createUIElement']('span',_0x5b1926);return _0x4c985a['setCustomProperty']('userPositionMarker',!0x0,_0x4a9321),_0x4a9321['render']=function(_0x495b99){const _0x101a79=this['toDomElement'](_0x495b99),_0x10cd36=document['createElement']('span');return _0x10cd36['classList']['add']('ck-user__marker-tooltip'),_0x10cd36['setAttribute']('contenteditable','false'),_0x10cd36['setAttribute']('spellcheck','false'),_0x10cd36['textContent']=_0x4343ec['name'],_0x101a79['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x10cd36['outerHTML']+'',_0x101a79['addEventListener']('mouseenter',()=>{_0x101a79['classList']['add']('ck-user__marker_hovered');}),_0x101a79['addEventListener']('mouseleave',()=>{_0x101a79['classList']['remove']('ck-user__marker_hovered');}),_0x101a79;},_0x4a9321['isSimilar']=function(_0x9dd706){return!(!this['getCustomProperty']('userPositionMarker')||!_0x9dd706['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x9dd706['getAttribute']('data-session-id'));},_0x4a9321;}(_0x36e3ea,_0x5bb08f,_0x4a326c);}(_0x38e18a,_0x47f268,_0x5b3069,_0x1123dd)}),_0x1123dd['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x56842f=>function(_0x3b639a,_0x2ca63b){const _0x113d27=_0x3b639a['markerName']['split'](':')[0x2];if(_0x113d27===_0x2ca63b['mySessionId'])return null;const _0x15394a=_0x2ca63b['getUserBySessionId'](_0x113d27);return _0x15394a?{'id':_0x113d27,'classes':['ck-user__selection',_0x15394a['color']['getSelectionClass']()],'attributes':{'style':Q(_0x15394a),'data-session-id':_0x113d27},'priority':0x7d0+_0x15394a['orderNumber']}:{'id':_0x113d27,'classes':[]};}(_0x56842f,_0x5b3069)}),function(_0x1fbc9c){const _0x1424b4=_0x1fbc9c['model'],_0x375cfb=new Map(),_0x1ff3e1=_0x1fbc9c['plugins']['get'](Y);_0x1424b4['markers']['on']('update:user:range',(_0x20848b,_0xbfc53d,_0x325882,_0x35fc42)=>{if(!_0x35fc42&&_0x375cfb['get'](_0xbfc53d['name']))return _0x375cfb['get'](_0xbfc53d['name'])['detach'](),void _0x375cfb['delete'](_0xbfc53d['name']);const _0x499fe4=_0xbfc53d['name']['split'](':')[0x2];if(_0x499fe4===_0x1ff3e1['mySessionId'])return;const _0x27e709='user:position:'+_0x499fe4;_0x1424b4['markers']['has'](_0x27e709)&&_0x1fbc9c['editing']['reconvertMarker'](_0x27e709),_0xbfc53d['on']('change:range',(_0xd913ae,_0x2f0ef9,_0x260dba)=>{if('$graveyard'!=_0x2f0ef9['root']['rootName']&&'$graveyard'==_0xbfc53d['getRange']()['root']['rootName']&&!_0x375cfb['has'](_0xbfc53d['name'])){const _0x260af2=_0x1424b4['schema']['getNearestSelectionRange'](_0x260dba['deletionPosition']);if(_0x260af2){const _0x29bfe5=_0x57f87f['fromRange'](_0x260af2);_0x375cfb['set'](_0xbfc53d['name'],_0x29bfe5),_0x29bfe5['on']('change:range',(_0x2b71db,_0x311c92,_0x130b7a)=>{if('$graveyard'==_0x29bfe5['root']['rootName']){const _0x1bdd92=_0x1424b4['schema']['getNearestSelectionRange'](_0x130b7a['deletionPosition']);_0x1bdd92?(_0x29bfe5['start']=_0x1bdd92['start'],_0x29bfe5['end']=_0x1bdd92['end']):(_0x375cfb['delete'](_0xbfc53d['name']),_0x29bfe5['detach']());}});}}});}),_0x1424b4['document']['on']('change',()=>{_0x375cfb['size']>0x0&&_0x1424b4['enqueueChange']({'isUndoable':!0x1},_0x1025d1=>{for(const [_0x2090e2,_0xafbe52]of _0x375cfb)'$graveyard'==_0x1424b4['markers']['get'](_0x2090e2)['getRange']()['root']['rootName']&&(J(_0x2090e2['split'](':')[0x2],_0xafbe52['toRange'](),_0x1424b4,_0x1025d1),_0xafbe52['detach']());_0x375cfb['clear']();});});}(_0x1123dd),this['_domEmitter']['listenTo'](_0x81b33['document'],'keydown',(_0x247dd6,{key:_0x4217c3})=>{'Escape'===_0x4217c3&&function(_0x1157a5){_0x1157a5['editing']['view']['change'](_0x9092c0=>{for(const _0x167227 of _0x1157a5['model']['markers']){if(!_0x167227['name']['startsWith']('user:position'))continue;const _0x3e4779=_0x1157a5['editing']['mapper']['markerNameToElements'](_0x167227['name']);if(_0x3e4779){for(const _0x1c87d4 of _0x3e4779)_0x9092c0['removeClass']('ck-user__marker_hovered',_0x1c87d4);}}});}(_0x1123dd);},{'useCapture':!0x0});}afterInit(){const _0x492e4f=this['editor'],_0x2e64bf=_0x492e4f['commands']['get']('undo');_0x2e64bf&&_0x492e4f['model']['on']('applyOperation',(_0x5ba115,_0x10ea1a)=>{const _0x3edc93=_0x10ea1a[0x0];if(!_0x3edc93['isDocumentOperation'])return;if('marker'!=_0x3edc93['type']||!_0x3edc93['name']['startsWith']('user:'))return;const _0x2330a4=_0x3edc93['batch'];_0x2e64bf['_createdBatches']['has'](_0x2330a4)&&(_0x3edc93['newRange']=_0x3edc93['oldRange']?_0x492e4f['model']['createRange'](_0x3edc93['oldRange']['start'],_0x3edc93['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x5c784e=this['editor'],_0xe6714e=_0x5c784e['model']['document'],_0x282ed9=_0x5c784e['plugins']['get'](Y);_0x5c784e['model']['enqueueChange']({'isUndoable':!0x1},_0x5348f6=>{const _0x448064='user:range:'+_0x282ed9['mySessionId'],_0x11490d='user:position:'+_0x282ed9['mySessionId'],_0x141a24=_0x5c784e['model']['markers']['has'](_0x448064);_0x5c784e['editing']['view']['hasDomSelection']?J(_0x282ed9['mySessionId'],_0xe6714e['selection']['getFirstRange'](),_0x5c784e['model'],_0x5348f6):_0x141a24&&(_0x5348f6['removeMarker'](_0x448064),_0x5348f6['removeMarker'](_0x11490d));});}};function J(_0x4f6086,_0x4e634a,_0x5e252a,_0x502262){const _0x444572='user:range:'+_0x4f6086,_0x140bd5='user:position:'+_0x4f6086,_0x3832e8=_0x4e634a['getContainedElement']();let _0x48f23d=_0x4e634a['start'];if(_0x3832e8&&_0x3832e8['is']('element','tableCell')){const _0x29b1b9=function(_0x2d1639,_0x1dc312){for(const _0x3b2e4e of _0x2d1639['getPositions']())if(_0x1dc312['schema']['checkChild'](_0x3b2e4e,'$text'))return _0x3b2e4e;}(_0x4e634a,_0x5e252a);_0x29b1b9&&(_0x48f23d=_0x29b1b9,_0x4e634a=_0x502262['createRange'](_0x48f23d));}const _0x565d27=_0x502262['createRange'](_0x48f23d);_0x5e252a['markers']['has'](_0x444572)?(_0x502262['updateMarker'](_0x444572,{'range':_0x4e634a}),_0x502262['updateMarker'](_0x140bd5,{'range':_0x565d27})):(_0x502262['addMarker'](_0x444572,{'range':_0x4e634a,'usingOperation':!0x0}),_0x502262['addMarker'](_0x140bd5,{'range':_0x565d27,'usingOperation':!0x0}));}function Q(_0x5aeeac){return'--ck-user-color:'+_0x5aeeac['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x5aeeac['color']['getColorAlphaVariable']()+';';}function X(_0x20d245,_0x4d4773,_0x251dd3){const _0x2aec13=_0x20d245['t'],t=_0x20d245['t'];switch(_0x4d4773){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 _0x2aec13({'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'},_0x251dd3);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x36abf4{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x2dbe7d)());_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,_0x36d6a1,_0x4a1da9,_0x35fa26];}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 _0x1e71aa=this['serverHistory']['getOperations']();for(let _0x59ab52=_0x1e71aa['length']-0x1;_0x59ab52>=0x0;_0x59ab52--){const _0x161605=_0x1e71aa[_0x59ab52];if(!this['_disconnectionOperations']['has'](_0x161605))return _0x161605['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x13668f){if(super(_0x13668f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2acc88(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2e8d1b('collaboration-missing-channelid',this);const _0x20750c=_0x13668f['config']['get']('cloudServices.bundleVersion')||_0x40ea60;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x20750c,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x157e03(),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 _0x265787=this['editor'],_0x12ef7c=_0x265787['plugins']['get'](_0x4a1da9),_0x2966a2=_0x265787['plugins']['get'](z);this['listenTo'](_0x12ef7c,'getOperationAuthor',(_0x51fe8a,_0x3d989f)=>{const _0x45f2b5=_0x3d989f[0x0];_0x45f2b5['_authorId']&&(_0x51fe8a['return']=_0x12ef7c['getUser'](_0x45f2b5['_authorId']),_0x51fe8a['stop']()),null===_0x45f2b5['_authorId']&&(_0x51fe8a['return']=null,_0x51fe8a['stop']());},{'priority':'high'}),this['listenTo'](_0x265787['model']['document']['selection'],'change:range',(_0x3ea474,_0x1a18f)=>{_0x1a18f['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x265787['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x265787['model']['on']('applyOperation',(_0x15f32a,_0x60e13e)=>{const _0x5277ee=_0x60e13e[0x0];_0x5277ee['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5277ee),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2966a2,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x3f019b,_0x17b1db,_0x5ead16)=>'connected'===_0x3f019b&&!_0x17b1db&&!_0x5ead16),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x265787['disableReadOnlyMode']('rtc-offline'):_0x265787['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x265787['disableReadOnlyMode']('rtc-offline'):_0x265787['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x1bef33=this['editor']['plugins']['get'](Y),_0x3a9b11=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1bef33['unregister'](this['_channelId']);const _0x45b1b5=await this['_service']['reconnect'](_0x3a9b11['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x45b1b5)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x552e92=await this['_service']['getConnectedSessions']();_0x1bef33['register'](this['_channelId'],_0x552e92),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x10bf23){if(function(_0x5f25da){return'404'===_0x5f25da['code'];}(_0x10bf23)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x442043){return'409'===_0x442043['code'];}(_0x10bf23)){const _0x4f53b5=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'](_0x4f53b5);}else{if(!(_0x10bf23 instanceof et))throw _0x10bf23;this['_handleReconnectionError']();}}}}destroy(){const _0x331c35=this['editor']['plugins']['get'](z),_0x2a2df6=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2a2df6['channelSessions']['has'](this['_channelId'])&&_0x2a2df6['unregister'](this['_channelId']),_0x331c35['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x3ef749){if(this['sessionId']!==_0x3ef749['sessionId']&&this['_lastSyncedOperationId']!==_0x3ef749['lastOperationId'])throw new et();return this['sessionId']=_0x3ef749['sessionId'],this['_handleServerResponse']([],{..._0x3ef749,'wereChangesApplied':!0x1,'data':_0x3ef749['data']},'reconnect');}async _connectService(_0x469b77,_0x44c422=!0x1){const {connection:_0x161f04}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x161f04,this['_channelId'])['then'](_0x5cb598=>this['_initSessionsHandling'](_0x5cb598))['catch'](_0x5aafc8=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5aafc8);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x54d2f8,_0x48940a)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x48940a);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x40a13d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x469b77);this['_isPendingUpdate']=!0x0;const _0x394ec6=await this['_service']['connect'](_0x161f04,this['_compressOperations'](_0x469b77),_0x40a13d);if(this['sessionId']=_0x394ec6['sessionId'],_0x44c422){if(!_0x394ec6['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x394ec6['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x469b77,_0x394ec6,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x394ec6,_0x469b77);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x2491db=this['editor']['plugins']['get'](Y),_0x331f8b=this['editor']['plugins']['get'](K),_0x325c29=_0x2491db['channelSessions']['get'](this['_channelId']);_0x325c29&&_0x325c29['length']>0x1?_0x331f8b['createUserMarkerOperations']():this['listenTo'](_0x2491db,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2491db['channelSessions']['get'](this['_channelId'])['length']&&_0x331f8b['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x3f5c7b,_0x1dcb10,_0x209898,_0x432de2){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1dcb10){const _0x5171f1=this['_decompressOperations'](_0x209898,_0x432de2);await this['_fetchMissingUsers'](_0x5171f1),this['_handleExternalOperations'](_0x5171f1,_0x1dcb10,_0x209898['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x2a64be}=this['editor'];let _0x4379b2;try{_0x4379b2=await this['_service']['getDocumentDetails']();}catch{const _0x5b86dc=X(_0x2a64be,'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'](_0x5b86dc);}const _0x1679d8=_0x4379b2['currentDocumentSession']||_0x4379b2['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1679d8['lastOperationId']){const _0x56ab99=X(_0x2a64be,'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'](_0x56ab99);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x1086f4=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x1086f4['connection']||'connected'!==_0x1086f4['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x281457=this['editor']['plugins']['get'](Y);_0x281457['channelSessions']['has'](this['_channelId'])&&_0x281457['unregister'](this['_channelId']),_0x1086f4['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x57f1df){const _0x1be2ef=this['editor']['plugins']['get'](Y);this['listenTo'](_0x1be2ef,'sessionAdd:'+this['_channelId'],(_0x1de840,{session:_0x3b247b})=>{if(_0x3b247b['id']===_0x1be2ef['mySessionId']){_0x1de840['off']();const _0x46eeb9=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x549ed2=_0x3b247b['permissions'];_0x46eeb9&&_0x46eeb9['isEnabled']&&(_0x549ed2=_0x549ed2['filter'](_0x4f297c=>'document:write'!==_0x4f297c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x549ed2,this['_channelId']);}}),_0x1be2ef['register'](this['_channelId'],_0x57f1df);}_initThrowingOnDataSet(){const _0x5c2e35=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x101756)=>{if(!_0x101756[_0x101756['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2e8d1b('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5c2e35['apply'](this['editor']['data'],_0x101756);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x172bdd,[_0x10ae96])=>{if(this['_document']['version'])throw new _0x2e8d1b('realtimecollaborationclient-init-document-already-initialized',this);_0x172bdd['stop'](),this['_setPendingAction']();const _0x5a882c=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x59ae8c])=>!_0x59ae8c['lazyLoad'])['map'](([_0x3fd39f,_0x45371f])=>[_0x3fd39f,_0x45371f['modelAttributes']||{}])),_0x4f5f27=this['_getOperationsFromInitData'](_0x10ae96,_0x5a882c);0x0==_0x4f5f27['length']&&_0x4f5f27['push'](new _0x469700(0x0)),_0x172bdd['return']=this['_connectService'](_0x4f5f27)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1346a6=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1346a6))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x58b402,[_0x1e65a4,_0x37f789])=>{_0x58b402['stop']();const _0x130d19=this['editor']['model']['document']['getRoot'](_0x1e65a4);if(!this['_knownRootNames']['has'](_0x1e65a4)){const _0x2cb128=_0x37f789&&_0x37f789['data']?_0x37f789['data']:'',_0x47d76c=_0x37f789&&_0x37f789['attributes']?_0x37f789['attributes']:{};await this['_loadRoot'](_0x1e65a4,_0x2cb128,_0x47d76c);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x130d19['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x130d19);});},{'priority':'high'});}async _fetchMissingUsers(_0x53fdad){const _0x3c13b7=this['editor']['plugins']['get'](_0x4a1da9),{connection:_0x56f991}=this['editor']['plugins']['get'](z),_0x51b1be=new Set();for(const _0x4470fa of _0x53fdad){const _0x36e5e2=_0x4470fa['_authorId'];_0x36e5e2&&!_0x3c13b7['getUser'](_0x36e5e2)&&_0x51b1be['add'](_0x36e5e2);}if(0x0===_0x51b1be['size'])return;const _0x231661=await _0xad2f00['getMany'](_0x56f991,Array['from'](_0x51b1be));for(const _0x45deb1 of _0x231661)_0x3c13b7['getUser'](_0x45deb1['id'])||_0x3c13b7['addUser'](_0x45deb1);}_getOperationsFromInitData(_0x534916,_0x31022f={}){const _0x2cb4fd=this['editor']['model'],_0x347c61=[];let _0x4c2ca4=0x0;const _0x39b61d='string'==typeof _0x534916?{'main':_0x534916}:_0x534916;for(const _0x1f98cd of Object['keys'](_0x39b61d)){if(!this['_document']['roots']['has'](_0x1f98cd))throw new _0x2e8d1b('realtimecollaborationclient-init-non-existent-root',this);const _0x320e6a=this['_document']['getRoot'](_0x1f98cd),_0x3878dc=this['editor']['data']['parse'](_0x39b61d[_0x1f98cd],_0x320e6a),_0x1a999c=new _0xa72021(_0x2cb4fd['createPositionAt'](_0x320e6a,0x0),_0x3878dc,_0x4c2ca4++);_0x347c61['push'](_0x1a999c);for(const [_0x5975c9,_0x3c1527]of _0x3878dc['markers']){const _0x5a8b9a=_0x2cb4fd['createRange'](_0x2cb4fd['createPositionFromPath'](_0x320e6a,_0x3c1527['start']['path']['slice']()),_0x2cb4fd['createPositionFromPath'](_0x320e6a,_0x3c1527['end']['path']['slice']())),_0x57796f=new _0x53a5d6(_0x5975c9,null,_0x5a8b9a,_0x2cb4fd['markers'],!0x0,_0x4c2ca4++);_0x347c61['push'](_0x57796f);}}if(_0x31022f)for(const [_0x6112d4,_0x1ca91f]of Object['entries'](_0x31022f)){const _0x11bbf0=_0x2cb4fd['document']['getRoot'](_0x6112d4);if(!_0x11bbf0)throw new _0x2e8d1b('multi-root-editor-root-attributes-no-root',null);for(const [_0x4a5062,_0x2aba88]of Object['entries'](_0x1ca91f))if(null!==_0x2aba88){const _0x5c4358=new _0x1d12c1(_0x11bbf0,_0x4a5062,null,_0x2aba88,_0x4c2ca4++);_0x347c61['push'](_0x5c4358);}}return _0x347c61;}async _loadRoot(_0x21399f,_0x4fc50e,_0x4af755){this['_getOperationsFromInitData']({[_0x21399f]:_0x4fc50e},{[_0x21399f]:_0x4af755})['forEach']((_0x37cb3a,_0x5e2c30)=>{_0x37cb3a['baseVersion']=this['_document']['version']+_0x5e2c30,_0x37cb3a['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x37cb3a);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x2f81d4,_0xdc3fbf){let _0x261f1f;this['_offset']=_0x2f81d4['offset'];const _0x560920=_0x2f81d4['wereChangesApplied']&&!_0x2f81d4['initData'],_0x5eac5a=_0x560920?0x0:_0x2f81d4['data']['baseVersion'];if(_0xdc3fbf['forEach'](_0x102e3c=>{_0x102e3c['_isInit']=!0x0,_0x102e3c['createdAt']=_0x2f81d4['sessionCreatedAt'],_0x102e3c['_authorId']=null;}),_0x560920)_0x261f1f=_0xdc3fbf,this['_applyOperationsSet'](_0x261f1f,_0x560920);else{if(_0x2f81d4['initData']){const _0x4f9951=this['_getOperationsFromInitData'](_0x2f81d4['initData']);this['_document']['history']['version']=-_0x4f9951['length'],_0x4f9951['forEach'](_0x4a9a9b=>{_0x4a9a9b['baseVersion']-=_0x4f9951['length'],_0x4a9a9b['createdAt']=_0x2f81d4['sessionCreatedAt'],_0x4a9a9b['_isInit']=!0x0,_0x4a9a9b['_authorId']=null;}),this['_applyOperationsSet'](_0x4f9951,!0x0),this['serverHistory']['version']=-_0x4f9951['length']+this['_offset'],this['_updateServerHistory'](_0x4f9951);}this['_document']['history']['version']=_0x5eac5a,_0x261f1f=this['_decompressOperations'](_0x2f81d4['data'],_0x2f81d4['metadata']),await this['_fetchMissingUsers'](_0x261f1f),this['_applyOperationsSet'](_0x261f1f,_0x560920);}_0x2f81d4['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x261f1f,_0x2f81d4['lastOperationId']),this['_lastSyncedOperationId']=_0x2f81d4['lastOperationId']),this['serverHistory']['version']=_0x5eac5a+this['_offset'],this['_updateServerHistory'](_0x261f1f),_0xdc3fbf['filter'](_0x2e1d07=>{const _0xd1b0e1=this['_getAffectedRoot'](_0x2e1d07);return _0xd1b0e1&&!this['_knownRootNames']['has'](_0xd1b0e1);})['forEach']((_0x38e525,_0x22bb3b)=>{_0x38e525['baseVersion']=this['_document']['version']+_0x22bb3b,this['_saveOperationInBuffer'](_0x38e525);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x96e08d,_0x111f57){const _0x1682f2=_0x111f57&&_0x111f57['message'];if(_0x1682f2&&_0x1682f2['startsWith']('realtimecollaborationclient'))throw _0x111f57;const _0x2b3e32=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2b3e32['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2e8d1b(_0x96e08d,this['editor'],_0x1682f2?{'originalError':_0x1682f2}:void 0x0);}_saveOperationInBuffer(_0x31ca54){this['_knownOperations']['has'](_0x31ca54)||(this['_knownOperations']['add'](_0x31ca54),this['_bufferedOperations']['push'](_0x31ca54),this['_pendingAction']||'marker'==_0x31ca54['type']&&!_0x31ca54['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x30b02b=!0x1){!_0x30b02b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4aa4bb=>{_0x4aa4bb&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x56911c=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2f9097){return _0x2f9097['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2f9097['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2f9097['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x56911c)||this['_crash'](_0x56911c['message'],_0x56911c);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x2c9234=>{this['on']('change:_isPendingUpdate',()=>{_0x2c9234();});});}async _sendBufferedOperations(){const _0x4dd8ff=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x4dd8ff['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4ed897=[...this['_bufferedOperations']];for(const _0x432497 of _0x4ed897)_0x432497['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x432497);const _0x2ddb90=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4ed897),_0x3c0114=Z++,_0x421732=this['_compressOperations'](_0x4ed897),_0x23684c=await this['_service']['sendOperations'](_0x421732,_0x421732['baseVersion'],_0x2ddb90);try{return await this['_handleServerResponse'](_0x4ed897,_0x23684c,_0x3c0114);}catch(_0x504c03){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x504c03);}}async['_handleServerResponse'](_0x25c43c,_0x5efb72,_0x9dc150){if('error'in _0x5efb72)throw _0x5efb72['error'];let _0x5484c3;if(_0x5efb72['wereChangesApplied']){_0x5efb72['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5efb72['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2d0d11=>!_0x25c43c['includes'](_0x2d0d11));for(const _0x3628a4 of _0x25c43c)_0x3628a4['createdAt']='lastOperationAcceptedAt'in _0x5efb72&&_0x5efb72['lastOperationAcceptedAt']||void 0x0;st(_0x25c43c,_0x5efb72['version']-_0x25c43c['length']),this['_updateServerHistory'](_0x25c43c);const _0x2a78c4=_0x25c43c['filter'](_0x360be8=>{if(!_0x360be8['_isInit'])return!0x1;const _0x12d02d=this['_getAffectedRoot'](_0x360be8);return _0x12d02d&&!this['_knownRootNames']['has'](_0x12d02d);});st(_0x2a78c4,this['_document']['version']),this['_applyOperationsSet'](_0x2a78c4),_0x5484c3=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4dee3e=this['_decompressOperations'](_0x5efb72['data'],_0x5efb72['metadata'])['filter'](_0x252a88=>_0x252a88['baseVersion']>=this['_lastServerVersion']);_0x4dee3e['forEach'](_0x5cad86=>this['_addKnownRoot'](_0x5cad86)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1d42e3=>!_0x1d42e3['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x1d42e3))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4dee3e),_0x5484c3=this['_handleExternalOperations'](_0x4dee3e,_0x5efb72['version'],_0x5efb72['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5484c3?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0xf402b8,_0x2fed73,_0x2727da){try{const _0x463b7a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4a3b8b,operationsB:_0x5bd1f8,originalOperations:_0x5f5cfa}=_0x1ef915(_0xf402b8,this['_bufferedOperations'],_0x463b7a);st(_0x4a3b8b,this['_document']['version']),st(_0x5bd1f8,_0x2fed73);for(const _0x1c9d08 of _0x4a3b8b){const _0x2f7253=_0x5f5cfa['get'](_0x1c9d08);_0x2f7253?(_0x1c9d08['_authorId']=_0x2f7253['_authorId'],'noop'!==_0x1c9d08['type']&&(_0x1c9d08['_aiSource']=_0x2f7253['_aiSource'])):_0x1c9d08['_authorId']=null;}for(const _0xbe9fa4 of _0x5bd1f8)'noop'!==_0xbe9fa4['type']&&(_0xbe9fa4['_aiSource']=_0x5f5cfa['get'](_0xbe9fa4)?.['_aiSource']);_0x2727da&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xf402b8,_0x2727da),this['_lastSyncedOperationId']=_0x2727da),this['_bufferedOperations']=[..._0x5bd1f8],this['_applyOperationsSet'](_0x4a3b8b),this['_updateServerHistory'](_0xf402b8);}catch(_0xb7bbc4){return console['error'](_0xb7bbc4),!0x1;}return!0x0;}_applyOperationsSet(_0x37d459,_0x310810=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3a5486=>{for(const _0x2bb2f8 of _0x37d459)this['_knownOperations']['add'](_0x2bb2f8),this['_addKnownRoot'](_0x2bb2f8),_0x3a5486['batch']['addOperation'](_0x2bb2f8),this['editor']['model']['applyOperation'](_0x2bb2f8);});}_addKnownRoot(_0x3d304a){const _0x3677df=this['_getAffectedRoot'](_0x3d304a);_0x3677df&&this['_knownRootNames']['add'](_0x3677df);}_getAffectedRoot(_0x411ba1){let _0x2d7ee9,_0x498d01;switch(_0x411ba1['type']){case'insert':_0x2d7ee9=_0x411ba1['position']['root'];break;case'marker':if(_0x498d01=_0x411ba1['newRange'],!_0x498d01)return null;_0x2d7ee9=_0x498d01['root'];break;case'addRootAttribute':_0x2d7ee9=_0x411ba1['root'];break;case'addRoot':_0x2d7ee9=_0x411ba1['affectedSelectable'];break;case'move':_0x2d7ee9=_0x411ba1['targetPosition']['root'];break;default:return null;}return _0x2d7ee9['rootName'];}_updateServerHistory(_0x528211){_0x528211['forEach'](_0x5c43ec=>{const _0x445f4f=_0x5c43ec['clone']();_0x445f4f['_authorId']=_0x5c43ec['_authorId'],_0x445f4f['_isInit']=!!_0x5c43ec['_isInit'],_0x445f4f['_aiSource']=_0x5c43ec['_aiSource'],_0x445f4f['createdAt']=_0x5c43ec['createdAt'],_0x445f4f['baseVersion']+=this['_offset'],_0x5c43ec['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x445f4f),this['serverHistory']['addOperation'](_0x445f4f);});}_handleReconnectionError(_0x2e20d7){const _0x41b1fd=this['editor']['plugins']['get']('Notification'),_0x5855d8=this['editor']['locale'];_0x2e20d7||(_0x2e20d7=X(_0x5855d8,'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.')),_0x41b1fd['showWarning'](_0x2e20d7,{'title':X(_0x5855d8,'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'](_0x36d6a1)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x36d6a1)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x1cb706){const _0x1f536b=_0x1cb706['map'](_0x499b71=>_0x499b71['toJSON']());return this['_compressor']['compress'](_0x1f536b);}_decompressOperations(_0x95f80e,_0x47be78){return this['_compressor']['decompress'](_0x95f80e)['map']((_0xb60ef7,_0x538de0)=>{const _0x3758d8='init'==_0x47be78[_0x538de0]['type'];if('InsertOperation'==_0xb60ef7['__className']){const _0x48f60f=_0xb60ef7['position']['root'];!this['_document']['getRoot'](_0x48f60f)&&(this['_document']['createRoot']('$unknown',_0x48f60f)['_isAttached']=!0x1);}else{if('RootOperation'==_0xb60ef7['__className']){const _0x5b54af=this['_document']['getRoot'](_0xb60ef7['rootName']);_0x5b54af&&'$unknown'==_0x5b54af['name']&&_0xb60ef7['elementName']!=_0x5b54af['name']&&(_0x5b54af['name']=_0xb60ef7['elementName']);}}const _0xb995bd=_0x50c70e['fromJSON'](_0xb60ef7,this['_document']);return _0xb995bd['wasUndone']=_0xb60ef7['wasUndone'],_0xb995bd['_isInit']=_0x3758d8,_0xb995bd['_authorId']=_0x3758d8?null:_0x47be78[_0x538de0]['userId'],_0xb995bd['_isDisconnection']='cs:removeUser'===_0x47be78[_0x538de0]['type'],_0xb995bd['_aiSource']=_0xb60ef7['_aiSource']||void 0x0,_0xb995bd['createdAt']=_0x47be78[_0x538de0]['createdAt'],_0xb995bd;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x3b8b24=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3b8b24&&_0x3b8b24['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x554c61,_0x50a83e){for(const _0x1dde46 of _0x554c61)_0x1dde46['baseVersion']=_0x50a83e++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x56c59b){this['_ignoredOperations']=_0x56c59b,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x572cbe){let _0x3f5241=_0x572cbe['length'];for(;_0x3f5241--;){const _0x537ae5=_0x572cbe[_0x3f5241];if(!this['_ignoredOperations']['has'](_0x537ae5)){if(!this['_operationToId']['has'](_0x537ae5)){const _0x169e24=_0x3e36f4()['slice'](0x1,0x12);this['_operationToId']['set'](_0x537ae5,_0x169e24);}return this['_operationToId']['get'](_0x537ae5);}}}setIdForTheLastOperation(_0x233be2,_0x1d1ddd){if(!_0x1d1ddd)return;let _0x202d23=_0x233be2['length'];for(;_0x202d23--;){const _0x22c308=_0x233be2[_0x202d23];this['_ignoredOperations']['has'](_0x22c308)||this['_operationToId']['set'](_0x22c308,_0x1d1ddd);}}},nt=class extends _0x36abf4{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0xc4d6aa{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x5e88d2)());['_services'];static get requires(){return[z,_0x6bab61,Y,_0x4a1da9];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x418951){super(_0x418951),this['_services']=new Map();}async init(){const _0x40dbeb=this['context'],_0x55d4b1=_0x40dbeb['plugins']['get'](_0x6bab61);if(_0x40dbeb['plugins']['get'](z)['addToReconnectionStack'](this),_0x55d4b1['adapter']={'addCommentThread':async({channelId:_0x5339fa,threadId:_0x1874ca,comments:_0x2296fe,resolvedAt:_0x364108,resolvedBy:_0x5877ec,context:_0x3f18d9,attributes:_0x2f75e6})=>{const _0xb27e0c=await this['_getService'](_0x5339fa)['addCommentThread']({'commentThreadId':_0x1874ca,'comments':_0x2296fe['map'](_0x9e18f1=>function(_0x5c887f,_0x2dba8e,_0xfa414e){return{'commentThreadId':_0xfa414e,'commentId':_0x5c887f['commentId'],'userId':_0x5c887f['authorId'],'content':_0x5c887f['content'],'documentId':_0x2dba8e,'createdAt':_0x5c887f['createdAt'],'attributes':_0x5c887f['attributes']||{}};}(_0x9e18f1,_0x5339fa,_0x1874ca)),'resolvedAt':_0x364108,'resolvedBy':_0x5877ec,'context':_0x3f18d9,'attributes':_0x2f75e6})['catch'](ct);return{'threadId':_0xb27e0c['commentThreadId'],'comments':_0xb27e0c['comments']};},'getCommentThread':async({channelId:_0xf56ad3,threadId:_0x340454})=>{const _0x46a5c9=await this['_getService'](_0xf56ad3)['getCommentThread'](_0x340454)['catch'](rt)['catch'](ct);return _0x46a5c9?_0x46a5c9['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x46a5c9]),{'threadId':_0x46a5c9['commentThreadId'],'comments':_0x46a5c9['comments']['map'](at),'context':_0x46a5c9['context'],'resolvedAt':_0x46a5c9['resolvedAt'],'resolvedBy':_0x46a5c9['resolvedBy'],'attributes':_0x46a5c9['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1bdb88,threadId:_0x49870f,context:_0x57db21,unlinkedAt:_0x4578e2,attributes:_0x209527})=>this['_getService'](_0x1bdb88)['updateCommentThread']({'commentThreadId':_0x49870f,'context':_0x57db21,'attributes':_0x209527,'unlinkedAt':_0x4578e2})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x3ce4a0,threadId:_0x5fd68e})=>{const _0x4c2a82=await this['_getService'](_0x3ce4a0)['resolveCommentThread'](_0x5fd68e)['catch'](rt)['catch'](ct);return{'threadId':_0x4c2a82['commentThreadId'],'resolvedAt':_0x4c2a82['resolvedAt'],'resolvedBy':_0x4c2a82['resolvedBy']};},'reopenCommentThread':async({channelId:_0x459037,threadId:_0x4c23f8})=>this['_getService'](_0x459037)['reopenCommentThread'](_0x4c23f8)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x4d52f6,threadId:_0x31fe78})=>this['_getService'](_0x4d52f6)['removeCommentThread'](_0x31fe78)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x4b3a54,threadId:_0x1c2828,commentId:_0x306a91,content:_0x270297,attributes:_0x69f5f9})=>this['_getService'](_0x4b3a54)['addComment'](_0x1c2828,_0x306a91,_0x270297,_0x69f5f9)['catch'](ct),'updateComment':({channelId:_0xa860ae,threadId:_0x33a2c2,commentId:_0x51c008,content:_0x1cda63,attributes:_0x19ed32})=>this['_getService'](_0xa860ae)['updateComment'](_0x33a2c2,_0x51c008,_0x1cda63,_0x19ed32)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x15a9bb,threadId:_0xaba2aa,commentId:_0x1f2a44})=>this['_getService'](_0x15a9bb)['removeComment'](_0xaba2aa,_0x1f2a44)['catch'](rt)['catch'](ct)},_0x40dbeb instanceof _0x2d68c5){const _0x20c33c=_0x40dbeb['config']['get']('collaboration.channelId'),_0x577063=_0x40dbeb['plugins']['get'](Y);await this['_setUpService'](_0x20c33c);const _0x52b233=await this['_services']['get'](_0x20c33c)['getConnectedSessions']();this['listenTo'](_0x577063,'sessionAdd:'+_0x20c33c,(_0x476b71,{session:_0x584e71})=>{_0x584e71['id']===_0x577063['mySessionId']&&(_0x476b71['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x584e71['permissions'],_0x20c33c));}),_0x577063['register'](_0x20c33c,_0x52b233);}}async _setUpService(_0x4ea89e){if(this['_services']['has'](_0x4ea89e))throw new _0x2e8d1b('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4ea89e});const _0x2fc50a=this['context']['plugins']['get'](_0x6bab61),_0x477db2=new CloudServicesCommentsAdapter['CommentsService'](_0x4ea89e);this['_services']['set'](_0x4ea89e,_0x477db2),this['listenTo'](_0x477db2,'commentThreadAdded',(_0x224c3d,_0x8b45d9)=>{const {commentThreadId:_0x88b497,documentId:_0x1a77e7,context:_0x53f77d,attributes:_0x1bf07a,resolvedAt:_0x1b7e3c,resolvedBy:_0x3154d0,comments:_0x25670c}=_0x8b45d9;_0x2fc50a['getCommentThread'](_0x88b497)||_0x2fc50a['addCommentThread']({'threadId':_0x88b497,'channelId':_0x1a77e7,'comments':_0x25670c?_0x25670c['map'](at):[],'context':_0x53f77d,'attributes':_0x1bf07a,'resolvedAt':_0x1b7e3c,'resolvedBy':_0x3154d0,'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentThreadUpdated',(_0x4b9a9c,{commentThreadId:_0x45e052,documentId:_0x3d480c,context:_0x188e81,unlinkedAt:_0x25b775,attributes:_0x2aaf4f})=>{_0x2fc50a['getCommentThread'](_0x45e052)&&_0x2fc50a['updateCommentThread']({'threadId':_0x45e052,'channelId':_0x3d480c,'context':_0x188e81,'unlinkedAt':_0x25b775,'attributes':_0x2aaf4f,'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentThreadResolved',(_0x283a38,{commentThreadId:_0x5f5899,resolvedBy:_0x3afffc,resolvedAt:_0x265264})=>{const _0x5ade48=_0x2fc50a['getCommentThread'](_0x5f5899);_0x5ade48&&_0x5ade48['resolve']({'resolvedBy':_0x3afffc,'resolvedAt':_0x265264,'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentThreadReopened',(_0x116f9f,{commentThreadId:_0x597d7c})=>{const _0x10f674=_0x2fc50a['getCommentThread'](_0x597d7c);_0x10f674&&_0x10f674['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentThreadRemoved',(_0x41720c,{commentThreadId:_0x5b83ed})=>{const _0x45180d=_0x2fc50a['getCommentThread'](_0x5b83ed);_0x45180d&&_0x45180d['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentAdded',(_0x55a6da,_0x2bd8c4)=>{const _0x298717=_0x2bd8c4['commentThreadId'],_0x20d8a6=_0x2fc50a['getCommentThread'](_0x298717);_0x20d8a6&&_0x20d8a6['addComment']({...at(_0x2bd8c4),'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentUpdated',(_0x402ae1,{commentThreadId:_0x1dbf57,commentId:_0x5eec08,content:_0x32858a,attributes:_0x359799})=>{const _0x3b1905=_0x2fc50a['getCommentThread'](_0x1dbf57);if(_0x3b1905){const _0x120e80=_0x3b1905['getComment'](_0x5eec08);_0x120e80&&_0x120e80['update']({'content':_0x32858a,'attributes':_0x359799,'isFromAdapter':!0x0});}}),this['listenTo'](_0x477db2,'commentRemoved',(_0x1b28d4,{commentThreadId:_0x259a63,commentId:_0x4a36cc})=>{const _0x6ad753=_0x2fc50a['getCommentThread'](_0x259a63);if(_0x6ad753){const _0x1cec61=_0x6ad753['getComment'](_0x4a36cc);_0x1cec61&&_0x1cec61['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x477db2,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x4ea89e),this['stopListening'](_0x477db2));}),await this['_connectService'](_0x4ea89e);}destroy(){if(this['context']instanceof _0x2d68c5){const _0x4537a4=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x4537a4)&&this['_terminateService'](_0x4537a4);}}_terminateService(_0x3db8dd){if(!this['_services']['has'](_0x3db8dd))throw new _0x2e8d1b('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3db8dd});this['_getService'](_0x3db8dd)['disconnect'](),this['_services']['delete'](_0x3db8dd);}async reconnect(){for(const _0x5e2f1d of this['_services']['keys']())await this['_connectService'](_0x5e2f1d);if(this['context']instanceof _0x2d68c5){const _0xa997ec=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0xa997ec)){const _0x17b667=this['context']['plugins']['get'](Y);_0x17b667['unregister'](_0xa997ec);const _0x25dfad=await this['_services']['get'](_0xa997ec)['getConnectedSessions']();_0x17b667['register'](_0xa997ec,_0x25dfad);}}}async _connectService(_0x416c23){const {connection:_0x15c786}=this['context']['plugins']['get'](z),_0x5bf302=this['context']['plugins']['get'](_0x6bab61),_0x343c71=await this['_services']['get'](_0x416c23)['connect'](_0x15c786);await this['_fetchMissingUsersForThreads'](_0x343c71);const _0xda6178=new Set(Array['from'](_0x5bf302['getCommentThreads']({'channelId':_0x416c23}),_0x10502c=>_0x10502c['id']));for(const _0x3f7437 of _0x343c71)_0x3f7437['deletedAt']||_0xda6178['delete'](_0x3f7437['commentThreadId']);for(const _0x2d843f of _0xda6178)_0x5bf302['getCommentThread'](_0x2d843f)['remove']({'isFromAdapter':!0x0});for(const _0x3fa210 of _0x343c71){let _0x2d3c4a=_0x5bf302['getCommentThread'](_0x3fa210['commentThreadId']);const {commentThreadId:_0x422bbe,context:_0x333e4c,attributes:_0x2b6ec8,resolvedBy:_0x49ee36,resolvedAt:_0x5c54a0,unlinkedAt:_0x3a2561,deletedAt:_0x39f375}=_0x3fa210;if(_0x39f375)continue;_0x2d3c4a||(_0x2d3c4a=_0x5bf302['addCommentThread']({'channelId':_0x416c23,'threadId':_0x422bbe,'context':_0x333e4c,'attributes':_0x2b6ec8||{},'resolvedBy':_0x49ee36,'resolvedAt':_0x5c54a0,'unlinkedAt':_0x3a2561,'isFromAdapter':!0x0}));const _0x3e5f4c=new Set(Array['from'](_0x2d3c4a['comments'],_0x4f7469=>_0x4f7469['id']));for(const _0x12355c of _0x3fa210['comments'])_0x3e5f4c['delete'](_0x12355c['commentId']);for(const _0x425788 of _0x3e5f4c)_0x2d3c4a['getComment'](_0x425788)['remove']({'isFromAdapter':!0x0});for(const _0x146683 of _0x3fa210['comments']){const _0x13bd77=_0x2d3c4a['getComment'](_0x146683['commentId']);_0x13bd77?_0x13bd77['content']!==_0x146683['content']&&_0x13bd77['update']({'content':_0x146683['content'],'isFromAdapter':!0x0}):_0x2d3c4a['addComment'](Object['assign'](at(_0x146683),{'isFromAdapter':!0x0}));}}}_getService(_0x5551d8){if(!this['_services']['has'](_0x5551d8))throw new _0x2e8d1b('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5551d8});return this['_services']['get'](_0x5551d8);}async _fetchMissingUsersForThreads(_0x552edd){const _0x23ea12=this['context']['plugins']['get'](_0x4a1da9),{connection:_0x404b96}=this['context']['plugins']['get'](z),_0x17d127=new Set();for(const {resolvedBy:_0xa649b4,comments:_0xe002cb}of _0x552edd){_0xa649b4&&!_0x23ea12['getUser'](_0xa649b4)&&_0x17d127['add'](_0xa649b4);for(const {userId:_0x2411f4}of _0xe002cb)_0x23ea12['getUser'](_0x2411f4)||_0x17d127['add'](_0x2411f4);}if(0x0===_0x17d127['size'])return;const _0x18e43c=await _0xad2f00['getMany'](_0x404b96,Array['from'](_0x17d127));for(const _0x2a76f1 of _0x18e43c)_0x23ea12['getUser'](_0x2a76f1['id'])||_0x23ea12['addUser'](_0x2a76f1);}};async function rt(_0x55fe93){if('404'!==_0x55fe93['code'])throw _0x55fe93;}function ct(_0x43b696){if((_0x32892f=_0x43b696)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x32892f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x32892f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x32892f;throw _0x43b696;}function at(_0x1adb13){return{'threadId':_0x1adb13['commentThreadId'],'commentId':_0x1adb13['commentId'],'content':_0x1adb13['content'],'createdAt':_0x1adb13['createdAt'],'authorId':_0x1adb13['userId'],'attributes':_0x1adb13['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x36abf4{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x361b61)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x230608,Y,_0x4a1da9];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x293570){super(_0x293570);const _0x225cbe=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x225cbe);}async init(){const _0x173fed=this['editor']['plugins']['get'](tt),_0x5161ce=_0x173fed['serverHistory'],_0x10582b=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x5161ce,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x173fed['sessionId']});const _0x4cbe00=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x40ea60,_0x4d8971=await _0x2742b2['isBundleUploaded'](_0x10582b['connection'],_0x4cbe00);this['editor']['plugins']['get'](_0x230608)['adapter']={'getRevision':async({revisionId:_0x55f589})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x55f589)),'updateRevisions':async _0x5a5436=>{await this['_waitForServiceReady']();const _0x2d58b9=this['_revisionTracker']['currentRevision'];if(_0x4d8971&&0x1===_0x5a5436['length']&&_0x5a5436[0x0]['id']===_0x2d58b9['id'])return _0x5a5436;for(const _0x351a59 of _0x5a5436)_0x351a59['id']===_0x2d58b9['id']&&(_0x351a59['isEmptyCurrent']=_0x351a59['fromVersion']===_0x351a59['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5a5436,this['_lastRequestId'])['then'](_0x34e4b8=>(this['_lastRequestId']=_0x34e4b8,_0x5a5436))['catch'](_0x15f91a=>{if(pt(_0x15f91a)||'400'===_0x15f91a['code']&&void 0x0!==_0x15f91a['data']['wrongRequestId']){for(const _0x466e9e of _0x5a5436)this['_revisionTracker']['repository']['getRevision'](_0x466e9e['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x466e9e['id'],_0x466e9e,!0x1);if(pt(_0x15f91a)&&'destroyed'!==this['editor']['state'])throw _0x15f91a;return _0x5a5436;}throw _0x15f91a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x48df05,{revisionsData:_0x58e6ec,requestId:_0x2e65ac})=>{Math['max'](..._0x58e6ec['map'](_0x493e03=>_0x493e03['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x58e6ec,_0x2e65ac);}):this['_handleRevisionsUpdate'](_0x58e6ec,_0x2e65ac);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x10582b['connection']?.['state']&&(_0x10582b['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x520abc,requestId:_0x2375cc}=await this['_revisionHistoryService']['connect'](_0x10582b['connection']);_0x10582b['addToReconnectionStack'](this),this['_lastRequestId']=_0x2375cc,await this['_fetchMissingUsers'](_0x520abc);for(const _0x2a9a73 of _0x520abc)this['_revisionTracker']['addRevisionData'](_0x2a9a73);this['listenTo'](_0x173fed,'change:_isConnected',(_0xf99ce0,_0x192e1a,_0x481d09)=>{_0x481d09&&(this['_oldOffset']=_0x173fed['_offset'],_0xf99ce0['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x486481=this['editor']['plugins']['get'](z),_0x1bb513=this['editor']['plugins']['get'](tt),_0x1f27e0=async()=>{const _0x809dc0=this['_revisionTracker']['currentRevision'],_0x488d06=_0x809dc0['id'],_0x16fec3=_0x488d06!==_0x1bb513['sessionId'];if(_0x16fec3){const _0x2373e4=_0x1bb513['_offset']-this['_oldOffset'],_0x38b4fc=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x809dc0['toVersion']+_0x2373e4!==_0x38b4fc){const _0x1122fd=_0x809dc0['fromVersion']+_0x2373e4,_0x205524=this['editor']['plugins']['get'](_0x4a1da9),_0x28798d=this['_revisionTracker']['buildRevisionData']({'revision':_0x809dc0,'from':_0x1122fd,'to':_0x38b4fc});_0x28798d['id']=_0x809dc0['id'];const _0x4ec026=_0x28798d['authorsIds']['map'](_0x41aafc=>_0x205524['getUser'](_0x41aafc));_0x809dc0['_update']({..._0x28798d,'authors':_0x4ec026},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x809dc0['id'],_0x28798d,!0x0);}this['_revisionTracker']['_startingVersion']=_0x38b4fc,_0x809dc0['toVersion']!==_0x809dc0['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x488d06)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x488d06),this['_revisionTracker']['_createCurrentRevision'](_0x38b4fc);}const {revisions:_0x2a3d3e,requestId:_0xe22a7d}=await this['_revisionHistoryService']['reconnect'](_0x486481['connection'],this['_lastRequestId']);_0x16fec3&&_0x2a3d3e['length']>0x0?_0x1bb513['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2a3d3e),this['_handleRevisionsUpdate'](_0x2a3d3e,_0xe22a7d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x1bb513['_isConnected']?_0x1f27e0():new Promise((_0x150ec5,_0x337831)=>{_0x1bb513['once']('change:_isConnected',()=>{_0x1f27e0()['then'](_0x150ec5)['catch'](_0x337831);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x37581d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4d1113=>{_0x4d1113['off'](),_0x37581d();});});}_getLatestVersionFromServerOperations(){const _0x15428e=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x2a69b2 of _0x15428e)if('marker'!==_0x2a69b2['type']||_0x2a69b2['affectsData'])return _0x2a69b2['baseVersion']+0x1;}_getLatestVersion(){const _0x2ee9d7=this['editor']['plugins']['get'](tt);return new Promise(_0x5efc31=>{_0x2ee9d7['_isPendingUpdate']?_0x2ee9d7['once']('change:_isPendingUpdate',()=>{_0x5efc31(this['_getLatestVersionFromServerOperations']());}):_0x5efc31(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x127ddd,_0x2fec25){const _0x1a9f8a=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2fec25;for(const _0x2842df of _0x127ddd){const _0xcfd3cb=_0x1a9f8a['getRevision'](_0x2842df['id']);if(_0xcfd3cb){if((_0x2842df['fromVersion']||_0x2842df['toVersion'])&&(_0x2842df['diffData']=null),_0xcfd3cb===this['_revisionTracker']['currentRevision']){const _0x1ccea0=Math['max'](_0xcfd3cb['toVersion'],_0x2842df['toVersion']),_0x2ae936=Math['max'](_0xcfd3cb['fromVersion'],_0x2842df['fromVersion']);let _0x16fa68;_0xcfd3cb['toVersion']===_0x2842df['toVersion']&&_0xcfd3cb['fromVersion']===_0x2842df['fromVersion']?(_0x16fa68=!0x0,this['_preventResendingRevisionData'](_0x2842df)):_0x2842df['toVersion']===_0x1ccea0&&_0x2842df['fromVersion']===_0x2ae936?_0x16fa68=!0x1:(_0xcfd3cb['toVersion']===_0x1ccea0&&_0xcfd3cb['fromVersion']===_0x2ae936||this['_fixRevision']({'revision':_0xcfd3cb,'from':_0x2ae936,'to':_0x1ccea0}),_0x16fa68=!0x0),_0x16fa68&&(delete _0x2842df['fromVersion'],delete _0x2842df['toVersion'],delete _0x2842df['diffData'],delete _0x2842df['createdAt'],delete _0x2842df['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2842df),this['_preventResendingRevisionData'](_0x2842df);}else this['_revisionTracker']['addRevisionData'](_0x2842df);}const _0x253256=_0x1a9f8a['getRevisions']();_0x253256['reverse']();for(let _0x5a2d4c=0x0;_0x5a2d4c<_0x253256['length']-0x1;_0x5a2d4c++){const _0x583209=_0x253256[_0x5a2d4c],_0x2026e1=_0x253256[_0x5a2d4c+0x1];if(_0x583209['fromVersion']<_0x2026e1['toVersion']){const _0x51f1e5=_0x2026e1['toVersion'],_0x3a28c8=Math['max'](_0x51f1e5,_0x583209['toVersion']);this['_fixRevision']({'revision':_0x583209,'from':_0x51f1e5,'to':_0x3a28c8});}}}['_fixRevision']({revision:_0x3ba6b2,from:_0x40a84b,to:_0x438b8e}={}){const _0x143118=this['editor']['plugins']['get'](_0x4a1da9),_0x21d44e=this['_revisionTracker']['buildRevisionData']({'revision':_0x3ba6b2,'from':_0x40a84b,'to':_0x438b8e});_0x21d44e['authors']=_0x21d44e['authorsIds']['map'](_0x3ef2f0=>_0x143118['getUser'](_0x3ef2f0)),_0x3ba6b2['_update'](_0x21d44e);}_preventResendingRevisionData(_0x1e6b26){const _0x19bf53={};_0x19bf53['id']=_0x1e6b26['id'];for(const _0x42bad9 of Object['keys'](_0x1e6b26))'id'!==_0x42bad9&&(_0x19bf53[_0x42bad9]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x19bf53['id'],_0x19bf53,!0x0);}async _fetchMissingUsers(_0x114d0e){const _0x50fbcc=this['editor']['plugins']['get'](_0x4a1da9),{connection:_0x56fd1a}=this['editor']['plugins']['get'](z),_0x246192=new Set();for(const _0x434666 of _0x114d0e){for(const _0x170bfb of _0x434666['authorsIds'])_0x3e5aa3(_0x170bfb);_0x434666['creatorId']&&_0x3e5aa3(_0x434666['creatorId']);}if(0x0===_0x246192['size'])return;const _0x1b7187=await _0xad2f00['getMany'](_0x56fd1a,Array['from'](_0x246192));for(const _0x5d7760 of _0x1b7187)_0x50fbcc['getUser'](_0x5d7760['id'])||_0x50fbcc['addUser'](_0x5d7760);function _0x3e5aa3(_0x453db7){_0x50fbcc['getUser'](_0x453db7)||_0x246192['add'](_0x453db7);}}};function pt(_0xa45738){return _0xa45738['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xa45738['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa45738['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x36abf4{static get requires(){return[_0x230608,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x56b2c8{_collapseAt;constructor(_0x2d06a2,_0x3bc539=0x6){super(_0x2d06a2);const _0x166139=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3bc539,this['bind']('isHidden')['to'](this,'usersCount',_0x3a8f6c=>_0x3a8f6c<_0x3bc539),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x166139['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':_0x166139['to']('usersCount',_0x5b1529=>'+'+(_0x5b1529-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x56b2c8{items;keystrokes;constructor(_0xc69f12){super(_0xc69f12);const _0x5860ea=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2a8a0f(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5860ea['if']('hasPopup'),'aria-expanded':_0x5860ea['to']('isExpanded',_0x2286fa=>this['hasPopup']&&String(_0x2286fa)),'aria-label':_0x5860ea['to']('hasPopup',_0x179589=>X(_0xc69f12,_0x179589?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5860ea['to']('hasPopup',_0x9f8850=>!!_0x9f8850&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5860ea['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5860ea['to'](_0x495501=>{const _0xc7c9ab=_0x495501,_0x17733c=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4b98d2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x17733c?.['contains'](_0xc7c9ab['relatedTarget'])||_0x4b98d2?.['contains'](_0xc7c9ab['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x214b4f,_0x260d4e,_0x5c142f)=>{this['element']&&(_0x5c142f?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 _0x56b2c8{counterView;inlineListView;constructor(_0x2f10f8,_0x31ea1d=0x6){super(_0x2f10f8);const _0x15699a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x31ea1d),this['inlineListView']=new vt(_0x2f10f8),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5c05d4 of this['inlineListView']['items'])_0x5c05d4['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',_0x15699a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x56b2c8{listWrapperView;constructor(_0x24456b,_0x2cf6cb){super(_0x24456b);const _0x53c801=this['bindTemplate'];this['listWrapperView']=new bt(_0x24456b,_0x2cf6cb),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x24456b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x53c801['to'](_0x3f7c90=>{const _0x3b0319=_0x3f7c90,_0x10ead0=document['querySelector']('.ck-presence-list__list'),_0x5d7c07=document['querySelector']('.ck-balloon-panel_with-arrow');_0x10ead0?.['contains'](_0x3b0319['relatedTarget'])||_0x5d7c07?.['contains'](_0x3b0319['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x584c4e{constructor(_0x5645bc,_0x53d9ad){super(_0x5645bc);const _0x9df8ff=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x53d9ad?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x9df8ff['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x9df8ff['to']('role'),'aria-label':_0x9df8ff['to']('ariaLabel'),'aria-labelledby':_0x9df8ff['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x81b33['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x209944=this['element'];_0x209944&&(this['_isScrollable']=Math['max'](_0x209944['scrollHeight'],_0x209944['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x5d7bc4{['userView'];constructor(_0x2dace1,_0x5c4b19,_0x7c54f0){super(_0x2dace1);const _0x420ede=this['bindTemplate'];this['userView']=new _0x3b6bb4(_0x2dace1,_0x5c4b19);const _0x2905fa={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5c4b19['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5c4b19['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5c4b19['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5c4b19['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5c4b19['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x7c54f0&&(_0x2905fa['tag']='button',_0x2905fa['on']={'click':_0x420ede['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2905fa);}['focus'](){this['element']['focus']();}},It=class extends _0x56b2c8{['userView'];['markerView'];constructor(_0x4825bd,_0x2c2bee,_0x2fb832){super(_0x4825bd);const _0x4bf32e=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x3b6bb4(_0x4825bd,_0x2c2bee),this['markerView']=new St(_0x4825bd,_0x2c2bee);const _0x3cd587=new _0xd0dd83(_0x4825bd);_0x3cd587['template']['tag']='span',_0x3cd587['text']=_0x2c2bee['name'];const _0x266c8f={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4bf32e['to']('isFocusable',_0x532cf3=>!!_0x532cf3&&0x0),'aria-labelledby':_0x3cd587['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4bf32e['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4bf32e['to']('hasTooltip',_0x112471=>!_0x112471),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3cd587]};_0x2fb832&&(_0x266c8f['tag']='button',_0x266c8f['on']={'click':_0x4bf32e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x266c8f);}},St=class extends _0x56b2c8{constructor(_0x2b67eb,_0x1b5031){super(_0x2b67eb),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1b5031['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1b5031['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1b5031['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0xc4d6aa{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1c4289){super(_0x1c4289),this['context']['config']['define']('presenceList',Tt);const _0x2e67e9=_0x1c4289['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2e67e9)throw new _0x2e8d1b('presencelist-collapseat-invalid-format',this);if(_0x2e67e9<0x1)throw new _0x2e8d1b('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xed46ed(),this['balloonPanelView']=new _0x532b6f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x2c2ac0 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2c2ac0);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1b432f,_0x2c813a)=>{this['_handleUserAdd'](_0x2c813a);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1b68f3,_0xb5a436)=>{this['_handleUserRemove'](_0xb5a436);});}_createView(){const _0xf832ea=this['context'],_0xad3045=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x25388d=this['balloonPanelView'];if(!_0x359a2e(_0xf832ea['config']['get']('presenceList.container')))throw new _0x2e8d1b('presencelist-missing-container',this);return _0xad3045['counterView']['bind']('usersCount')['to'](this),_0xad3045['bind']('isCollapsed')['to'](this,'usersCount',_0xc64c16=>{const {collapseAt:_0x2aeb90}=_0xf832ea['config']['get']('presenceList'),_0x10eb5a=_0xc64c16>=_0x2aeb90;if(_0x10eb5a&&!_0xad3045['inlineListView']['items']['find'](_0x219857=>_0x219857 instanceof wt)){const _0x2d2d27=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2d2d27&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0xad3045['inlineListView']['items']['add'](_0xad3045['counterView']);}return _0x10eb5a||this['hideDropdown'](),_0x10eb5a;}),_0xad3045['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1309db=>{const _0x26b23c=_0xf832ea['config']['get']('presenceList'),_0xc1a9a=new It(_0xf832ea['locale'],_0x1309db,!!_0x26b23c['onClick']);return _0xc1a9a['bind']('hasTooltip')['to'](_0xad3045,'isCollapsed',_0x453ba3=>!_0x453ba3),_0xc1a9a['bind']('isFocusable')['to'](_0xad3045,'isCollapsed',_0x514af7=>!_0x514af7),_0x26b23c['onClick']&&this['listenTo'](_0xc1a9a,'execute',()=>{this['view']['isCollapsed']||_0x26b23c['onClick'](_0x1309db,_0xc1a9a['element']);}),_0xc1a9a;}),this['listenTo'](_0xad3045['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0xad3045['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0xad3045['inlineListView']['keystrokes']['set']('Enter',(_0x5d0e9a,_0x4e00ed)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4e00ed());}),_0xad3045['render'](),_0x25388d['render'](),_0x53dee({'emitter':_0xad3045,'activator':()=>_0x25388d['isVisible'],'contextElements':[_0x25388d['element'],_0xad3045['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xf832ea['config']['get']('presenceList.container')['appendChild'](_0xad3045['element']),this['_bodyCollection']=new _0x367670(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0xad3045;}['_handleUserAdd'](_0x454c62){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x454c62['isMe'])return;const _0x3f783c=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3f783c-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1aba11=_0x454c62['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x454c62,_0x1aba11);}['_handleUserRemove'](_0xaf23f){this['usersCount']--;const {collapseAt:_0x5f4a93}=this['context']['config']['get']('presenceList'),_0x580594=this['usersCount']>=_0x5f4a93;if(this['currentDisplayedUsers']['get'](_0xaf23f['id']))this['currentDisplayedUsers']['remove'](_0xaf23f['id']);else{if(_0x580594&&this['currentDisplayedUsers']['length']+0x1===_0x5f4a93-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x580594?0x1:0x0)<this['usersCount']){for(const _0x33c8da of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x33c8da['id'])&&(this['currentDisplayedUsers']['add'](_0x33c8da,Math['min'](this['currentDisplayedUsers']['length']-(_0x580594?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x580594?0x1:0x0)===_0x5f4a93-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4527b0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x4527b0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x207dfa}=this['presenceDropdownView'];_0x207dfa['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5bf4c9=>{if(!_0x4527b0['displayMe']&&_0x5bf4c9['isMe'])return null;const _0x24a340=new kt(this['context']['locale'],_0x5bf4c9,!!_0x4527b0['onClick']);return _0x4527b0['onClick']&&this['listenTo'](_0x24a340,'execute',()=>{_0x4527b0['onClick'](_0x5bf4c9,_0x24a340['element']);}),_0x24a340;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x207dfa['focus'](),_0x207dfa['checkIfScrollable']();const _0x3a0114=(_0x2c3343,_0x542147)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x542147();};_0x207dfa['keystrokes']['set']('Esc',_0x3a0114),_0x207dfa['keystrokes']['set']('Shift+Tab',_0x3a0114),_0x207dfa['keystrokes']['set']('Tab',(_0x30c4cd,_0x66909d)=>{!function(_0x2b6291){const _0x3f57e3=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5c419d=>_0x5c419d+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x100a24=[...document['body']['querySelectorAll'](_0x3f57e3)]['filter'](_0x1b0fdc=>_0x1b0fdc===document['activeElement']||_0x1b0fdc['offsetWidth']+_0x1b0fdc['offsetHeight']>0x0)['sort']((_0x19ecdc,_0xaaee79)=>(_0x19ecdc['tabIndex']||0x0)-(_0xaaee79['tabIndex']||0x0)),_0x55a074=_0x100a24[(_0x100a24['indexOf'](_0x2b6291)+0x1)%_0x100a24['length']];_0x55a074&&_0x55a074['focus']();}(this['view']['element']),this['hideDropdown'](),_0x66909d();}),_0x207dfa['focusTracker']['add'](this['view']['element']),_0x207dfa['focusTracker']['on']('change:isFocused',(_0x521003,_0x41c324,_0x4b76db)=>{_0x4b76db||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 _0xc4d6aa{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 _0x50a871,ContextPlugin as _0x473f2b,PendingActions as _0x207a43,Plugin as _0x21af15}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x38aab5,Collection as _0x50f27a,DomEmitterMixin as _0x4f580d,KeystrokeHandler as _0x376c6d,global as _0x36548f,uid as _0x36bd39,version as _0x27ff94}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x549ae0,BodyCollection as _0x3a4fca,LabelView as _0x372dbb,ListItemView as _0x1bada3,ListView as _0x43a43f,Notification as _0x5583e8,View as _0x38cac9,clickOutsideHandler as _0x40afbd}from'@ckeditor/ckeditor5-ui';import{History as _0x22c837,InsertOperation as _0x5a75e7,MarkerOperation as _0x50dede,ModelLiveRange as _0x24134b,NoOperation as _0x4b402e,OperationFactory as _0x2f6bf1,RootAttributeOperation as _0x2843de,transformOperationSets as _0x30557d}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x576e57}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x2a85e0,CommentsService as _0x889501,EditorService as _0x44be79,RevisionHistoryService as _0x53cda,TrackChangesService as _0xd1afe6,User as _0x5a3b8a,WEB_SOCKET_GATEWAY_STATES as _0x277f6c,WebSocketGateway as _0x2b6e0b}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x36b23f,Users as _0x420277}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0xc72a48}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x41e91d,TrackChangesEditing as _0xd1c5fd}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x209a83,CommentsEditing as _0x34951d,CommentsRepository as _0x473dd8}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x396e5d}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x4d1a50}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x473f2b{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x2b6e0b)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x576e57,_0x5583e8];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3a7988){super(_0x3a7988),this['set']('state',_0x277f6c['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x4f580d())();}init(){const _0x27a3fe=this['context'],_0x4ca205=_0x27a3fe['plugins']['get'](_0x576e57),_0x3c5b45=_0x27a3fe['plugins']['get'](_0x5583e8);if(!_0x4ca205['token'])throw new _0x38aab5('websocketgateway-missing-token',this);if(!_0x4ca205['webSocketUrl'])throw new _0x38aab5('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'](_0x4ca205['token'],_0x4ca205['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x12bce7=>{if(this['connection']=_0x12bce7,this['bind']('state')['to'](_0x12bce7,'state',this,'_isBrowserOffline',(_0x5c1fd7,_0x503206)=>('connected'!==_0x5c1fd7&&(this['_shouldPluginsReconnect']=!0x0),_0x503206||_0x5c1fd7!==_0x277f6c['CONNECTED']?_0x277f6c['DISCONNECTED']:this['state']==_0x277f6c['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x277f6c['CONNECTING']):_0x277f6c['CONNECTED'])),this['connection']['on']('error',(_0x59b3a2,_0x23f907)=>{if('limitExceeded'!==_0x23f907['code'])throw console['error'](_0x23f907),new _0x38aab5('cloudservices-init',null,{'originalError':_0x23f907});_0x3c5b45['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'});}),!_0x12bce7['me'])return new Promise(_0x24d588=>_0x12bce7['on']('change:me',_0x24d588));})['catch'](_0x4e7c4b=>{throw console['error'](_0x4e7c4b),new _0x38aab5('cloudservices-init',null,{'originalError':_0x4e7c4b});});}addToReconnectionStack(_0x44c465){if('function'!=typeof _0x44c465['reconnect'])throw new _0x38aab5('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x44c465))throw new _0x38aab5('websocketgateway-plugin-already-registered',this,{'name':_0x44c465['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x44c465);}removeFromReconnectionStack(_0x413eb7){this['_reconnectionStack']['delete'](_0x413eb7);}isInReconnectionStack(_0x12b76f){return this['_reconnectionStack']['has'](_0x12b76f);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x143f22=>_0x143f22['reconnect']())))['then'](()=>this['state']=_0x277f6c['CONNECTED'])['catch'](_0x4e0386=>{throw console['error'](_0x4e0386),new _0x38aab5('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x277f6c['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x473f2b{['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,_0x420277];}constructor(_0x3dae89){super(_0x3dae89),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x50f27a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x420277);}init(){const _0x1abbd6=this['context']['plugins']['get'](z);this['listenTo'](_0x1abbd6,'change:state',(_0x463d76,_0x17fb23,_0x1eef53)=>{if('connected'!==_0x1eef53)this['channelSessions']['forEach'](_0x237124=>_0x237124['clear']()),this['channelConnectedUsers']['forEach'](_0xf09e3d=>_0xf09e3d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x256b29,_0xf4ee12]of this['_registeredSessions'])for(const _0x5a600c of _0xf4ee12)this['_handleSessionAdd'](_0x256b29,_0x5a600c);}}),this['_createUser'](_0x1abbd6['connection']['me'],!0x0);}register(_0x42e52c,_0x3893b7){if(this['_registeredSessions']['has'](_0x42e52c))throw new _0x38aab5('sessions-register-already-registered',null,{'channelId':_0x42e52c});this['_registeredSessions']['set'](_0x42e52c,_0x3893b7),this['channelSessions']['set'](_0x42e52c,new _0x50f27a()),this['channelConnectedUsers']['set'](_0x42e52c,new _0x50f27a()),this['listenTo'](_0x3893b7,'add',(_0x5f0df8,_0x4d04a1)=>this['_handleSessionAdd'](_0x42e52c,_0x4d04a1)),this['listenTo'](_0x3893b7,'remove',(_0x49add1,_0x2918ab)=>this['_handleSessionRemove'](_0x42e52c,_0x2918ab));for(const _0x5ebb11 of _0x3893b7)this['_handleSessionAdd'](_0x42e52c,_0x5ebb11);}unregister(_0x37480c){if(!this['_registeredSessions']['has'](_0x37480c))throw new _0x38aab5('sessions-unregister-not-exist',null,{'channelId':_0x37480c});const _0x42d783=this['_registeredSessions']['get'](_0x37480c);this['stopListening'](_0x42d783);for(const _0x25349c of _0x42d783)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x37480c,_0x25349c);this['_registeredSessions']['delete'](_0x37480c),this['channelSessions']['delete'](_0x37480c),this['channelConnectedUsers']['delete'](_0x37480c);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x286e93){for(const _0x4dcf68 of this['channelSessions']['values']())for(const _0x1151ab of _0x4dcf68)if(_0x1151ab['id']===_0x286e93)return _0x1151ab['user'];}getUserSessions(_0x1490b0,_0x59caa2){const _0xe244ea=_0x59caa2?[this['channelSessions']['get'](_0x59caa2)]:this['channelSessions']['values'](),_0x546d90=new Set();for(const _0x4981ab of _0xe244ea)for(const _0x5806f2 of _0x4981ab)_0x5806f2['user']['id']===_0x1490b0['id']&&_0x546d90['add'](_0x5806f2['id']);return _0x546d90;}getUserRole(_0x562a38){for(const _0x13c454 of this['channelSessions']['values']())for(const _0x1607b7 of _0x13c454)if(_0x1607b7['user']===_0x562a38)return _0x1607b7['role'];}['_handleSessionAdd'](_0x12776c,_0x1ac1d6){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x5ee0f3=_0x1ac1d6['user'],_0x2ee627=this['_users']['getUser'](_0x5ee0f3['id'])||this['_createUser'](_0x5ee0f3),_0x346e5a=Object['assign']({},_0x1ac1d6,{'user':_0x2ee627});if(this['channelSessions']['get'](_0x12776c)['add'](_0x346e5a),!_0x5ee0f3['hiddenInPresenceList']){const _0x1e73f3=this['channelConnectedUsers']['get'](_0x12776c);_0x1e73f3['has'](_0x2ee627['id'])||_0x1e73f3['add'](_0x2ee627),this['allConnectedUsers']['has'](_0x2ee627['id'])||_0x5ee0f3['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x2ee627,_0x2ee627['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x12776c,{'channelId':_0x12776c,'session':_0x346e5a});}['_handleSessionRemove'](_0x21ed0d,_0x22ffd1){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x33df7e=this['channelConnectedUsers']['get'](_0x21ed0d),_0x2b771e=_0x22ffd1['user'];_0x2b771e['id']&&(this['channelSessions']['get'](_0x21ed0d)['remove'](_0x22ffd1['id']),_0x33df7e['has'](_0x2b771e['id'])&&!this['getUserSessions'](_0x2b771e,_0x21ed0d)['size']&&_0x33df7e['remove'](_0x2b771e['id']),this['allConnectedUsers']['get'](_0x2b771e['id'])&&!this['getUserSessions'](_0x2b771e)['size']&&this['allConnectedUsers']['remove'](_0x2b771e['id']));}_createUser(_0x4a5eee,_0x547f5f){const _0x36c5ca=this['_users']['addUser'](_0x4a5eee);return _0x547f5f&&this['_users']['defineMe'](_0x4a5eee['id']),_0x36c5ca['orderNumber']=this['_uniqueUsersCount']++,_0x36c5ca;}},K=class extends _0x21af15{_domEmitter=new(_0x4f580d())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1d3298=this['editor'],_0x43ef3f=_0x1d3298['plugins']['get'](Y);_0x1d3298['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x42d185,{writer:_0x18e9a6})=>function(_0x500e05,_0x28ceac,_0x53d3e7,_0x2815c1){const _0x1f69ab=_0x500e05['markerName']['split'](':')[0x2],_0x2ad089=_0x53d3e7['getUserBySessionId'](_0x1f69ab);if(!_0x2ad089||_0x1f69ab===_0x53d3e7['mySessionId'])return;if(!_0x2815c1['model']['schema']['checkChild'](_0x500e05['markerRange']['start'],'$text'))return;const _0x9647db={'class':'ck-user__marker\x20'+_0x2ad089['color']['getMarkerClass'](),'style':Q(_0x2ad089),'data-name':_0x2ad089['name'],'data-session-id':_0x1f69ab},_0x290bd9=_0x2815c1['model']['markers']['get'](_0x500e05['markerName'])['getStart'](),_0x518e8c=_0x290bd9['nodeAfter'],_0x3f0b7a=_0x2815c1['model']['schema'];if(_0x518e8c&&_0x3f0b7a['isObject'](_0x518e8c)&&_0x3f0b7a['isInline'](_0x518e8c)&&!_0x2815c1['model']['markers']['get']('user:range:'+_0x1f69ab)['getRange']()['isCollapsed'])return;const _0x58b853=_0x290bd9['parent'];return _0x2815c1['model']['schema']['isLimit'](_0x58b853)&&!_0x2815c1['model']['hasContent'](_0x58b853)&&(_0x9647db['contenteditable']=!0x1),function(_0x3863bd,_0x2b8fd6,_0x4ee513){const _0x9691a1=_0x3863bd['createUIElement']('span',_0x2b8fd6);return _0x3863bd['setCustomProperty']('userPositionMarker',!0x0,_0x9691a1),_0x9691a1['render']=function(_0x1773e1){const _0x302141=this['toDomElement'](_0x1773e1),_0x121ed2=document['createElement']('span');return _0x121ed2['classList']['add']('ck-user__marker-tooltip'),_0x121ed2['setAttribute']('contenteditable','false'),_0x121ed2['setAttribute']('spellcheck','false'),_0x121ed2['textContent']=_0x4ee513['name'],_0x302141['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x121ed2['outerHTML']+'',_0x302141['addEventListener']('mouseenter',()=>{_0x302141['classList']['add']('ck-user__marker_hovered');}),_0x302141['addEventListener']('mouseleave',()=>{_0x302141['classList']['remove']('ck-user__marker_hovered');}),_0x302141;},_0x9691a1['isSimilar']=function(_0x24e87c){return!(!this['getCustomProperty']('userPositionMarker')||!_0x24e87c['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x24e87c['getAttribute']('data-session-id'));},_0x9691a1;}(_0x28ceac,_0x9647db,_0x2ad089);}(_0x42d185,_0x18e9a6,_0x43ef3f,_0x1d3298)}),_0x1d3298['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5b11b4=>function(_0x1b1dea,_0x20fd2f){const _0x157104=_0x1b1dea['markerName']['split'](':')[0x2];if(_0x157104===_0x20fd2f['mySessionId'])return null;const _0xb836cf=_0x20fd2f['getUserBySessionId'](_0x157104);return _0xb836cf?{'id':_0x157104,'classes':['ck-user__selection',_0xb836cf['color']['getSelectionClass']()],'attributes':{'style':Q(_0xb836cf),'data-session-id':_0x157104},'priority':0x7d0+_0xb836cf['orderNumber']}:{'id':_0x157104,'classes':[]};}(_0x5b11b4,_0x43ef3f)}),function(_0x35be04){const _0x8c46ee=_0x35be04['model'],_0x179edc=new Map(),_0x244345=_0x35be04['plugins']['get'](Y);_0x8c46ee['markers']['on']('update:user:range',(_0x10ad79,_0x14e360,_0x3abdad,_0x4db69a)=>{if(!_0x4db69a&&_0x179edc['get'](_0x14e360['name']))return _0x179edc['get'](_0x14e360['name'])['detach'](),void _0x179edc['delete'](_0x14e360['name']);const _0xbd2f2d=_0x14e360['name']['split'](':')[0x2];if(_0xbd2f2d===_0x244345['mySessionId'])return;const _0x536730='user:position:'+_0xbd2f2d;_0x8c46ee['markers']['has'](_0x536730)&&_0x35be04['editing']['reconvertMarker'](_0x536730),_0x14e360['on']('change:range',(_0x31690e,_0x10517a,_0x1a73cf)=>{if('$graveyard'!=_0x10517a['root']['rootName']&&'$graveyard'==_0x14e360['getRange']()['root']['rootName']&&!_0x179edc['has'](_0x14e360['name'])){const _0x21f4bd=_0x8c46ee['schema']['getNearestSelectionRange'](_0x1a73cf['deletionPosition']);if(_0x21f4bd){const _0x2eb8df=_0x24134b['fromRange'](_0x21f4bd);_0x179edc['set'](_0x14e360['name'],_0x2eb8df),_0x2eb8df['on']('change:range',(_0x190aa8,_0x4eb6c5,_0xce1624)=>{if('$graveyard'==_0x2eb8df['root']['rootName']){const _0x2505fc=_0x8c46ee['schema']['getNearestSelectionRange'](_0xce1624['deletionPosition']);_0x2505fc?(_0x2eb8df['start']=_0x2505fc['start'],_0x2eb8df['end']=_0x2505fc['end']):(_0x179edc['delete'](_0x14e360['name']),_0x2eb8df['detach']());}});}}});}),_0x8c46ee['document']['on']('change',()=>{_0x179edc['size']>0x0&&_0x8c46ee['enqueueChange']({'isUndoable':!0x1},_0x53de8d=>{for(const [_0x225951,_0x549a26]of _0x179edc)'$graveyard'==_0x8c46ee['markers']['get'](_0x225951)['getRange']()['root']['rootName']&&(J(_0x225951['split'](':')[0x2],_0x549a26['toRange'](),_0x8c46ee,_0x53de8d),_0x549a26['detach']());_0x179edc['clear']();});});}(_0x1d3298),this['_domEmitter']['listenTo'](_0x36548f['document'],'keydown',(_0x109fe2,{key:_0x16a5e9})=>{'Escape'===_0x16a5e9&&function(_0x5829e4){_0x5829e4['editing']['view']['change'](_0x177ad7=>{for(const _0x394a61 of _0x5829e4['model']['markers']){if(!_0x394a61['name']['startsWith']('user:position'))continue;const _0x15ef84=_0x5829e4['editing']['mapper']['markerNameToElements'](_0x394a61['name']);if(_0x15ef84){for(const _0x19ea93 of _0x15ef84)_0x177ad7['removeClass']('ck-user__marker_hovered',_0x19ea93);}}});}(_0x1d3298);},{'useCapture':!0x0});}afterInit(){const _0x1af9f3=this['editor'],_0xb3c4b3=_0x1af9f3['commands']['get']('undo');_0xb3c4b3&&_0x1af9f3['model']['on']('applyOperation',(_0x1d3deb,_0x2a47da)=>{const _0x5fdb8b=_0x2a47da[0x0];if(!_0x5fdb8b['isDocumentOperation'])return;if('marker'!=_0x5fdb8b['type']||!_0x5fdb8b['name']['startsWith']('user:'))return;const _0x8a593e=_0x5fdb8b['batch'];_0xb3c4b3['_createdBatches']['has'](_0x8a593e)&&(_0x5fdb8b['newRange']=_0x5fdb8b['oldRange']?_0x1af9f3['model']['createRange'](_0x5fdb8b['oldRange']['start'],_0x5fdb8b['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x362273=this['editor'],_0x264eef=_0x362273['model']['document'],_0x20bfa4=_0x362273['plugins']['get'](Y);_0x362273['model']['enqueueChange']({'isUndoable':!0x1},_0x48e71=>{const _0x6377b5='user:range:'+_0x20bfa4['mySessionId'],_0x4233c3='user:position:'+_0x20bfa4['mySessionId'],_0x3c4899=_0x362273['model']['markers']['has'](_0x6377b5);_0x362273['editing']['view']['hasDomSelection']?J(_0x20bfa4['mySessionId'],_0x264eef['selection']['getFirstRange'](),_0x362273['model'],_0x48e71):_0x3c4899&&(_0x48e71['removeMarker'](_0x6377b5),_0x48e71['removeMarker'](_0x4233c3));});}};function J(_0x44b864,_0x225868,_0xfa5da3,_0x112fdc){const _0x5d369c='user:range:'+_0x44b864,_0x1d333a='user:position:'+_0x44b864,_0x39c0ed=_0x225868['getContainedElement']();let _0x5d65d6=_0x225868['start'];if(_0x39c0ed&&_0x39c0ed['is']('element','tableCell')){const _0x2ca99a=function(_0x47515c,_0x131ef3){for(const _0x5b52c4 of _0x47515c['getPositions']())if(_0x131ef3['schema']['checkChild'](_0x5b52c4,'$text'))return _0x5b52c4;}(_0x225868,_0xfa5da3);_0x2ca99a&&(_0x5d65d6=_0x2ca99a,_0x225868=_0x112fdc['createRange'](_0x5d65d6));}const _0x43cb60=_0x112fdc['createRange'](_0x5d65d6);_0xfa5da3['markers']['has'](_0x5d369c)?(_0x112fdc['updateMarker'](_0x5d369c,{'range':_0x225868}),_0x112fdc['updateMarker'](_0x1d333a,{'range':_0x43cb60})):(_0x112fdc['addMarker'](_0x5d369c,{'range':_0x225868,'usingOperation':!0x0}),_0x112fdc['addMarker'](_0x1d333a,{'range':_0x43cb60,'usingOperation':!0x0}));}function Q(_0x18ef32){return'--ck-user-color:'+_0x18ef32['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x18ef32['color']['getColorAlphaVariable']()+';';}function X(_0x4e516f,_0x17d5dd,_0x189c5a){const _0x157cd8=_0x4e516f['t'],t=_0x4e516f['t'];switch(_0x17d5dd){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 _0x157cd8({'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'},_0x189c5a);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x21af15{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x2a85e0)());_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,_0x207a43,_0x420277,_0x5583e8];}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 _0x52f172=this['serverHistory']['getOperations']();for(let _0x17e0a2=_0x52f172['length']-0x1;_0x17e0a2>=0x0;_0x17e0a2--){const _0x15194f=_0x52f172[_0x17e0a2];if(!this['_disconnectionOperations']['has'](_0x15194f))return _0x15194f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5a47be){if(super(_0x5a47be),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x22c837(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x38aab5('collaboration-missing-channelid',this);const _0x302475=_0x5a47be['config']['get']('cloudServices.bundleVersion')||_0x27ff94;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x302475,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xc72a48(),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 _0x4cd04c=this['editor'],_0x4f4d8d=_0x4cd04c['plugins']['get'](_0x420277),_0x2408b1=_0x4cd04c['plugins']['get'](z);this['listenTo'](_0x4f4d8d,'getOperationAuthor',(_0x5235ac,_0x502c76)=>{const _0x27785d=_0x502c76[0x0];_0x27785d['_authorId']&&(_0x5235ac['return']=_0x4f4d8d['getUser'](_0x27785d['_authorId']),_0x5235ac['stop']()),null===_0x27785d['_authorId']&&(_0x5235ac['return']=null,_0x5235ac['stop']());},{'priority':'high'}),this['listenTo'](_0x4cd04c['model']['document']['selection'],'change:range',(_0x4b031a,_0x5a0974)=>{_0x5a0974['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4cd04c['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4cd04c['model']['on']('applyOperation',(_0x3594a0,_0x4a8ba0)=>{const _0x71dc9=_0x4a8ba0[0x0];_0x71dc9['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x71dc9),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2408b1,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x4429cf,_0x4c76b8,_0x4aa4bf)=>'connected'===_0x4429cf&&!_0x4c76b8&&!_0x4aa4bf),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4cd04c['disableReadOnlyMode']('rtc-offline'):_0x4cd04c['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4cd04c['disableReadOnlyMode']('rtc-offline'):_0x4cd04c['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0xd3d94c=this['editor']['plugins']['get'](Y),_0x2f2b86=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0xd3d94c['unregister'](this['_channelId']);const _0xd97154=await this['_service']['reconnect'](_0x2f2b86['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0xd97154)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0xa6d3e5=await this['_service']['getConnectedSessions']();_0xd3d94c['register'](this['_channelId'],_0xa6d3e5),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x311559){if(function(_0x3c7ce3){return'404'===_0x3c7ce3['code'];}(_0x311559)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1a6eac){return'409'===_0x1a6eac['code'];}(_0x311559)){const _0x4cc2a7=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'](_0x4cc2a7);}else{if(!(_0x311559 instanceof et))throw _0x311559;this['_handleReconnectionError']();}}}}destroy(){const _0x4b5dda=this['editor']['plugins']['get'](z),_0x451c7d=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x451c7d['channelSessions']['has'](this['_channelId'])&&_0x451c7d['unregister'](this['_channelId']),_0x4b5dda['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x10ea48){if(this['sessionId']!==_0x10ea48['sessionId']&&this['_lastSyncedOperationId']!==_0x10ea48['lastOperationId'])throw new et();return this['sessionId']=_0x10ea48['sessionId'],this['_handleServerResponse']([],{..._0x10ea48,'wereChangesApplied':!0x1,'data':_0x10ea48['data']},'reconnect');}async _connectService(_0x2db6aa,_0x66a36e=!0x1){const {connection:_0x5c415f}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x5c415f,this['_channelId'])['then'](_0x152ce2=>this['_initSessionsHandling'](_0x152ce2))['catch'](_0x410512=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x410512);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x58d618,_0x5f46b3)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5f46b3);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x343385=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2db6aa);this['_isPendingUpdate']=!0x0;const _0x5c1cd4=await this['_service']['connect'](_0x5c415f,this['_compressOperations'](_0x2db6aa),_0x343385);if(this['sessionId']=_0x5c1cd4['sessionId'],_0x66a36e){if(!_0x5c1cd4['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5c1cd4['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2db6aa,_0x5c1cd4,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5c1cd4,_0x2db6aa);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x41a4fd=this['editor']['plugins']['get'](Y),_0x2d7fa0=this['editor']['plugins']['get'](K),_0xc2cc66=_0x41a4fd['channelSessions']['get'](this['_channelId']);_0xc2cc66&&_0xc2cc66['length']>0x1?_0x2d7fa0['createUserMarkerOperations']():this['listenTo'](_0x41a4fd,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x41a4fd['channelSessions']['get'](this['_channelId'])['length']&&_0x2d7fa0['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x4ea3a1,_0x26a12a,_0x2d8e2c,_0x54d24f){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x26a12a){const _0x4da83e=this['_decompressOperations'](_0x2d8e2c,_0x54d24f);await this['_fetchMissingUsers'](_0x4da83e),this['_handleExternalOperations'](_0x4da83e,_0x26a12a,_0x2d8e2c['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x2e7da6}=this['editor'];let _0x479d49;try{_0x479d49=await this['_service']['getDocumentDetails']();}catch{const _0x212a05=X(_0x2e7da6,'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'](_0x212a05);}const _0x1b1b66=_0x479d49['currentDocumentSession']||_0x479d49['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1b1b66['lastOperationId']){const _0x360370=X(_0x2e7da6,'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'](_0x360370);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x412282=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x412282['connection']||'connected'!==_0x412282['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0xd6c584=this['editor']['plugins']['get'](Y);_0xd6c584['channelSessions']['has'](this['_channelId'])&&_0xd6c584['unregister'](this['_channelId']),_0x412282['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x7b9ce5){const _0x219e95=this['editor']['plugins']['get'](Y);this['listenTo'](_0x219e95,'sessionAdd:'+this['_channelId'],(_0x1abce2,{session:_0x58fa81})=>{if(_0x58fa81['id']===_0x219e95['mySessionId']){_0x1abce2['off']();const _0x51e50f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3d0595=_0x58fa81['permissions'];_0x51e50f&&_0x51e50f['isEnabled']&&(_0x3d0595=_0x3d0595['filter'](_0x7077ef=>'document:write'!==_0x7077ef)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3d0595,this['_channelId']);}}),_0x219e95['register'](this['_channelId'],_0x7b9ce5);}_initThrowingOnDataSet(){const _0x57418c=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3b0cb6)=>{if(!_0x3b0cb6[_0x3b0cb6['length']-0x1]['suppressErrorInCollaboration'])throw new _0x38aab5('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x57418c['apply'](this['editor']['data'],_0x3b0cb6);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x2430ab,[_0x16078d])=>{if(this['_document']['version'])throw new _0x38aab5('realtimecollaborationclient-init-document-already-initialized',this);_0x2430ab['stop'](),this['_setPendingAction']();const _0x1e9cec=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x191b89])=>!_0x191b89['lazyLoad'])['map'](([_0x296278,_0x492c37])=>[_0x296278,_0x492c37['modelAttributes']||{}])),_0x1cb28b=this['_getOperationsFromInitData'](_0x16078d,_0x1e9cec);0x0==_0x1cb28b['length']&&_0x1cb28b['push'](new _0x4b402e(0x0)),_0x2430ab['return']=this['_connectService'](_0x1cb28b)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x59532e=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x59532e))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x35a710,[_0x306c92,_0xf24cc4])=>{_0x35a710['stop']();const _0x182807=this['editor']['model']['document']['getRoot'](_0x306c92);if(!this['_knownRootNames']['has'](_0x306c92)){const _0x3e7e4d=_0xf24cc4&&_0xf24cc4['data']?_0xf24cc4['data']:'',_0x268d46=_0xf24cc4&&_0xf24cc4['attributes']?_0xf24cc4['attributes']:{};await this['_loadRoot'](_0x306c92,_0x3e7e4d,_0x268d46);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x182807['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x182807);});},{'priority':'high'});}async _fetchMissingUsers(_0x2d403a){const _0x5e5ab3=this['editor']['plugins']['get'](_0x420277),{connection:_0x21c7af}=this['editor']['plugins']['get'](z),_0x4c8045=new Set();for(const _0x459207 of _0x2d403a){const _0x2e6a33=_0x459207['_authorId'];_0x2e6a33&&!_0x5e5ab3['getUser'](_0x2e6a33)&&_0x4c8045['add'](_0x2e6a33);}if(0x0===_0x4c8045['size'])return;const _0x320887=await _0x5a3b8a['getMany'](_0x21c7af,Array['from'](_0x4c8045));for(const _0x24187b of _0x320887)_0x5e5ab3['getUser'](_0x24187b['id'])||_0x5e5ab3['addUser'](_0x24187b);}_getOperationsFromInitData(_0x41f686,_0x2de9b6={}){const _0x62ff38=this['editor']['model'],_0x4a4037=[];let _0x53289e=0x0;const _0x33d892='string'==typeof _0x41f686?{'main':_0x41f686}:_0x41f686;for(const _0x436071 of Object['keys'](_0x33d892)){if(!this['_document']['roots']['has'](_0x436071))throw new _0x38aab5('realtimecollaborationclient-init-non-existent-root',this);const _0x37d12f=this['_document']['getRoot'](_0x436071),_0x17ddfb=this['editor']['data']['parse'](_0x33d892[_0x436071],_0x37d12f),_0x545736=new _0x5a75e7(_0x62ff38['createPositionAt'](_0x37d12f,0x0),_0x17ddfb,_0x53289e++);_0x4a4037['push'](_0x545736);for(const [_0x7dfa38,_0x4476ca]of _0x17ddfb['markers']){const _0x5a45f1=_0x62ff38['createRange'](_0x62ff38['createPositionFromPath'](_0x37d12f,_0x4476ca['start']['path']['slice']()),_0x62ff38['createPositionFromPath'](_0x37d12f,_0x4476ca['end']['path']['slice']())),_0x11dbf0=new _0x50dede(_0x7dfa38,null,_0x5a45f1,_0x62ff38['markers'],!0x0,_0x53289e++);_0x4a4037['push'](_0x11dbf0);}}if(_0x2de9b6)for(const [_0x37d541,_0x1ec359]of Object['entries'](_0x2de9b6)){const _0x5a55bb=_0x62ff38['document']['getRoot'](_0x37d541);if(!_0x5a55bb)throw new _0x38aab5('multi-root-editor-root-attributes-no-root',null);for(const [_0x170691,_0x49dd71]of Object['entries'](_0x1ec359))if(null!==_0x49dd71){const _0x29cb4b=new _0x2843de(_0x5a55bb,_0x170691,null,_0x49dd71,_0x53289e++);_0x4a4037['push'](_0x29cb4b);}}return _0x4a4037;}async _loadRoot(_0x42af15,_0x33a90f,_0x4e6878){this['_getOperationsFromInitData']({[_0x42af15]:_0x33a90f},{[_0x42af15]:_0x4e6878})['forEach']((_0x1165e1,_0x3926b6)=>{_0x1165e1['baseVersion']=this['_document']['version']+_0x3926b6,_0x1165e1['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1165e1);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x335c95,_0x2f922d){let _0x382f41;this['_offset']=_0x335c95['offset'];const _0x1df082=_0x335c95['wereChangesApplied']&&!_0x335c95['initData'],_0x33f08a=_0x1df082?0x0:_0x335c95['data']['baseVersion'];if(_0x2f922d['forEach'](_0x433143=>{_0x433143['_isInit']=!0x0,_0x433143['createdAt']=_0x335c95['sessionCreatedAt'],_0x433143['_authorId']=null;}),_0x1df082)_0x382f41=_0x2f922d,this['_applyOperationsSet'](_0x382f41,_0x1df082);else{if(_0x335c95['initData']){const _0xd5063a=this['_getOperationsFromInitData'](_0x335c95['initData']);this['_document']['history']['version']=-_0xd5063a['length'],_0xd5063a['forEach'](_0x10813d=>{_0x10813d['baseVersion']-=_0xd5063a['length'],_0x10813d['createdAt']=_0x335c95['sessionCreatedAt'],_0x10813d['_isInit']=!0x0,_0x10813d['_authorId']=null;}),this['_applyOperationsSet'](_0xd5063a,!0x0),this['serverHistory']['version']=-_0xd5063a['length']+this['_offset'],this['_updateServerHistory'](_0xd5063a);}this['_document']['history']['version']=_0x33f08a,_0x382f41=this['_decompressOperations'](_0x335c95['data'],_0x335c95['metadata']),await this['_fetchMissingUsers'](_0x382f41),this['_applyOperationsSet'](_0x382f41,_0x1df082);}_0x335c95['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x382f41,_0x335c95['lastOperationId']),this['_lastSyncedOperationId']=_0x335c95['lastOperationId']),this['serverHistory']['version']=_0x33f08a+this['_offset'],this['_updateServerHistory'](_0x382f41),_0x2f922d['filter'](_0x4bef02=>{const _0x5535ec=this['_getAffectedRoot'](_0x4bef02);return _0x5535ec&&!this['_knownRootNames']['has'](_0x5535ec);})['forEach']((_0x22badc,_0x440303)=>{_0x22badc['baseVersion']=this['_document']['version']+_0x440303,this['_saveOperationInBuffer'](_0x22badc);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2409a4,_0x5a0165){const _0x281710=_0x5a0165&&_0x5a0165['message'];if(_0x281710&&_0x281710['startsWith']('realtimecollaborationclient'))throw _0x5a0165;const _0x15154d=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x15154d['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x38aab5(_0x2409a4,this['editor'],_0x281710?{'originalError':_0x281710}:void 0x0);}_saveOperationInBuffer(_0x5842eb){this['_knownOperations']['has'](_0x5842eb)||(this['_knownOperations']['add'](_0x5842eb),this['_bufferedOperations']['push'](_0x5842eb),this['_pendingAction']||'marker'==_0x5842eb['type']&&!_0x5842eb['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x1afb67=!0x1){!_0x1afb67&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2f59ca=>{_0x2f59ca&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x590954=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x404ae8){return _0x404ae8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x404ae8['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x404ae8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x590954)||this['_crash'](_0x590954['message'],_0x590954);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0xb780c7=>{this['on']('change:_isPendingUpdate',()=>{_0xb780c7();});});}async _sendBufferedOperations(){const _0x3a32b5=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x3a32b5['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2b0255=[...this['_bufferedOperations']];for(const _0x3bd2d9 of _0x2b0255)_0x3bd2d9['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3bd2d9);const _0x177203=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2b0255),_0x137930=Z++,_0x212588=this['_compressOperations'](_0x2b0255),_0x97e5a1=await this['_service']['sendOperations'](_0x212588,_0x212588['baseVersion'],_0x177203);try{return await this['_handleServerResponse'](_0x2b0255,_0x97e5a1,_0x137930);}catch(_0x3c97a9){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3c97a9);}}async['_handleServerResponse'](_0x3c3256,_0x3ac59e,_0x361906){if('error'in _0x3ac59e)throw _0x3ac59e['error'];let _0x669607;if(_0x3ac59e['wereChangesApplied']){_0x3ac59e['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3ac59e['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1ee5e3=>!_0x3c3256['includes'](_0x1ee5e3));for(const _0x4a38eb of _0x3c3256)_0x4a38eb['createdAt']='lastOperationAcceptedAt'in _0x3ac59e&&_0x3ac59e['lastOperationAcceptedAt']||void 0x0;st(_0x3c3256,_0x3ac59e['version']-_0x3c3256['length']),this['_updateServerHistory'](_0x3c3256);const _0x2335c0=_0x3c3256['filter'](_0x2626a9=>{if(!_0x2626a9['_isInit'])return!0x1;const _0x496e2d=this['_getAffectedRoot'](_0x2626a9);return _0x496e2d&&!this['_knownRootNames']['has'](_0x496e2d);});st(_0x2335c0,this['_document']['version']),this['_applyOperationsSet'](_0x2335c0),_0x669607=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3c411e=this['_decompressOperations'](_0x3ac59e['data'],_0x3ac59e['metadata'])['filter'](_0x2f128f=>_0x2f128f['baseVersion']>=this['_lastServerVersion']);_0x3c411e['forEach'](_0x471888=>this['_addKnownRoot'](_0x471888)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x294dd5=>!_0x294dd5['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x294dd5))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3c411e),_0x669607=this['_handleExternalOperations'](_0x3c411e,_0x3ac59e['version'],_0x3ac59e['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x669607?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x3af489,_0x2c7519,_0x3aa096){try{const _0x7b7264={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2dc07e,operationsB:_0x259c3c,originalOperations:_0x2aa12a}=_0x30557d(_0x3af489,this['_bufferedOperations'],_0x7b7264);st(_0x2dc07e,this['_document']['version']),st(_0x259c3c,_0x2c7519);for(const _0x70dc14 of _0x2dc07e){const _0x190335=_0x2aa12a['get'](_0x70dc14);_0x190335?(_0x70dc14['_authorId']=_0x190335['_authorId'],'noop'!==_0x70dc14['type']&&(_0x70dc14['_aiSource']=_0x190335['_aiSource'])):_0x70dc14['_authorId']=null;}for(const _0x502218 of _0x259c3c)'noop'!==_0x502218['type']&&(_0x502218['_aiSource']=_0x2aa12a['get'](_0x502218)?.['_aiSource']);_0x3aa096&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3af489,_0x3aa096),this['_lastSyncedOperationId']=_0x3aa096),this['_bufferedOperations']=[..._0x259c3c],this['_applyOperationsSet'](_0x2dc07e),this['_updateServerHistory'](_0x3af489);}catch(_0xe3d7cb){return console['error'](_0xe3d7cb),!0x1;}return!0x0;}_applyOperationsSet(_0xe66027,_0x47249e=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x234c67=>{for(const _0x114c8b of _0xe66027)this['_knownOperations']['add'](_0x114c8b),this['_addKnownRoot'](_0x114c8b),_0x234c67['batch']['addOperation'](_0x114c8b),this['editor']['model']['applyOperation'](_0x114c8b);});}_addKnownRoot(_0x5f3369){const _0x2d6e0c=this['_getAffectedRoot'](_0x5f3369);_0x2d6e0c&&this['_knownRootNames']['add'](_0x2d6e0c);}_getAffectedRoot(_0x4dc493){let _0x16a90a,_0x112a8b;switch(_0x4dc493['type']){case'insert':_0x16a90a=_0x4dc493['position']['root'];break;case'marker':if(_0x112a8b=_0x4dc493['newRange'],!_0x112a8b)return null;_0x16a90a=_0x112a8b['root'];break;case'addRootAttribute':_0x16a90a=_0x4dc493['root'];break;case'addRoot':_0x16a90a=_0x4dc493['affectedSelectable'];break;case'move':_0x16a90a=_0x4dc493['targetPosition']['root'];break;default:return null;}return _0x16a90a['rootName'];}_updateServerHistory(_0x51572a){_0x51572a['forEach'](_0x21b6ba=>{const _0x48017e=_0x21b6ba['clone']();_0x48017e['_authorId']=_0x21b6ba['_authorId'],_0x48017e['_isInit']=!!_0x21b6ba['_isInit'],_0x48017e['_aiSource']=_0x21b6ba['_aiSource'],_0x48017e['createdAt']=_0x21b6ba['createdAt'],_0x48017e['baseVersion']+=this['_offset'],_0x21b6ba['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x48017e),this['serverHistory']['addOperation'](_0x48017e);});}_handleReconnectionError(_0x19969d){const _0x63e85f=this['editor']['plugins']['get']('Notification'),_0x292dd8=this['editor']['locale'];_0x19969d||(_0x19969d=X(_0x292dd8,'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.')),_0x63e85f['showWarning'](_0x19969d,{'title':X(_0x292dd8,'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'](_0x207a43)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x207a43)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x7ad047){const _0x3f6a27=_0x7ad047['map'](_0x2d7174=>_0x2d7174['toJSON']());return this['_compressor']['compress'](_0x3f6a27);}_decompressOperations(_0x402aba,_0x57cb75){return this['_compressor']['decompress'](_0x402aba)['map']((_0x7a7589,_0x3b508a)=>{const _0x5d1f47='init'==_0x57cb75[_0x3b508a]['type'];if('InsertOperation'==_0x7a7589['__className']){const _0x4d3213=_0x7a7589['position']['root'];!this['_document']['getRoot'](_0x4d3213)&&(this['_document']['createRoot']('$unknown',_0x4d3213)['_isAttached']=!0x1);}else{if('RootOperation'==_0x7a7589['__className']){const _0xc330d2=this['_document']['getRoot'](_0x7a7589['rootName']);_0xc330d2&&'$unknown'==_0xc330d2['name']&&_0x7a7589['elementName']!=_0xc330d2['name']&&(_0xc330d2['name']=_0x7a7589['elementName']);}}const _0x240802=_0x2f6bf1['fromJSON'](_0x7a7589,this['_document']);return _0x240802['wasUndone']=_0x7a7589['wasUndone'],_0x240802['_isInit']=_0x5d1f47,_0x240802['_authorId']=_0x5d1f47?null:_0x57cb75[_0x3b508a]['userId'],_0x240802['_isDisconnection']='cs:removeUser'===_0x57cb75[_0x3b508a]['type'],_0x240802['_aiSource']=_0x7a7589['_aiSource']||void 0x0,_0x240802['createdAt']=_0x57cb75[_0x3b508a]['createdAt'],_0x240802;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x3a1b4c=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3a1b4c&&_0x3a1b4c['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x1512d2,_0x20f605){for(const _0x5d80cc of _0x1512d2)_0x5d80cc['baseVersion']=_0x20f605++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x1bf095){this['_ignoredOperations']=_0x1bf095,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x4ff326){let _0x4c83ee=_0x4ff326['length'];for(;_0x4c83ee--;){const _0x372665=_0x4ff326[_0x4c83ee];if(!this['_ignoredOperations']['has'](_0x372665)){if(!this['_operationToId']['has'](_0x372665)){const _0x2ab6b5=_0x36bd39()['slice'](0x1,0x12);this['_operationToId']['set'](_0x372665,_0x2ab6b5);}return this['_operationToId']['get'](_0x372665);}}}setIdForTheLastOperation(_0x39896c,_0x341e47){if(!_0x341e47)return;let _0x3aa2be=_0x39896c['length'];for(;_0x3aa2be--;){const _0x2aecb3=_0x39896c[_0x3aa2be];this['_ignoredOperations']['has'](_0x2aecb3)||this['_operationToId']['set'](_0x2aecb3,_0x341e47);}}},nt=class extends _0x21af15{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x473f2b{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x889501)());['_services'];static get requires(){return[z,_0x473dd8,Y,_0x420277];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x110aa1){super(_0x110aa1),this['_services']=new Map();}async init(){const _0x5ab111=this['context'],_0x59f2c1=_0x5ab111['plugins']['get'](_0x473dd8);if(_0x5ab111['plugins']['get'](z)['addToReconnectionStack'](this),_0x59f2c1['adapter']={'addCommentThread':async({channelId:_0xa8c3e7,threadId:_0x25283a,comments:_0x2e14eb,resolvedAt:_0x595c7f,resolvedBy:_0x3a7cde,context:_0x851e71,attributes:_0x544628})=>{const _0x5f452e=await this['_getService'](_0xa8c3e7)['addCommentThread']({'commentThreadId':_0x25283a,'comments':_0x2e14eb['map'](_0x40f9e9=>function(_0x2ec41f,_0x185c2b,_0x2c89b6){return{'commentThreadId':_0x2c89b6,'commentId':_0x2ec41f['commentId'],'userId':_0x2ec41f['authorId'],'content':_0x2ec41f['content'],'documentId':_0x185c2b,'createdAt':_0x2ec41f['createdAt'],'attributes':_0x2ec41f['attributes']||{}};}(_0x40f9e9,_0xa8c3e7,_0x25283a)),'resolvedAt':_0x595c7f,'resolvedBy':_0x3a7cde,'context':_0x851e71,'attributes':_0x544628})['catch'](ct);return{'threadId':_0x5f452e['commentThreadId'],'comments':_0x5f452e['comments']};},'getCommentThread':async({channelId:_0x2853dc,threadId:_0x3e4eb8})=>{const _0x54322=await this['_getService'](_0x2853dc)['getCommentThread'](_0x3e4eb8)['catch'](rt)['catch'](ct);return _0x54322?_0x54322['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x54322]),{'threadId':_0x54322['commentThreadId'],'comments':_0x54322['comments']['map'](at),'context':_0x54322['context'],'resolvedAt':_0x54322['resolvedAt'],'resolvedBy':_0x54322['resolvedBy'],'attributes':_0x54322['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3f3009,threadId:_0x1f4ca9,context:_0x3e2dbc,unlinkedAt:_0x5b879d,attributes:_0x6bc408})=>this['_getService'](_0x3f3009)['updateCommentThread']({'commentThreadId':_0x1f4ca9,'context':_0x3e2dbc,'attributes':_0x6bc408,'unlinkedAt':_0x5b879d})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x4de40f,threadId:_0x4f7844})=>{const _0x556888=await this['_getService'](_0x4de40f)['resolveCommentThread'](_0x4f7844)['catch'](rt)['catch'](ct);return{'threadId':_0x556888['commentThreadId'],'resolvedAt':_0x556888['resolvedAt'],'resolvedBy':_0x556888['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2385b2,threadId:_0x281210})=>this['_getService'](_0x2385b2)['reopenCommentThread'](_0x281210)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x2ace65,threadId:_0x3db73a})=>this['_getService'](_0x2ace65)['removeCommentThread'](_0x3db73a)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x24f277,threadId:_0x570eb9,commentId:_0x5a94a9,content:_0x387238,attributes:_0x3bd28a})=>this['_getService'](_0x24f277)['addComment'](_0x570eb9,_0x5a94a9,_0x387238,_0x3bd28a)['catch'](ct),'updateComment':({channelId:_0x3698c5,threadId:_0x160654,commentId:_0x59b5df,content:_0x39c348,attributes:_0x11acd7})=>this['_getService'](_0x3698c5)['updateComment'](_0x160654,_0x59b5df,_0x39c348,_0x11acd7)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x5accab,threadId:_0x20d32,commentId:_0x25208e})=>this['_getService'](_0x5accab)['removeComment'](_0x20d32,_0x25208e)['catch'](rt)['catch'](ct)},_0x5ab111 instanceof _0x50a871){const _0x383558=_0x5ab111['config']['get']('collaboration.channelId'),_0x5be30e=_0x5ab111['plugins']['get'](Y);await this['_setUpService'](_0x383558);const _0x312ffc=await this['_services']['get'](_0x383558)['getConnectedSessions']();this['listenTo'](_0x5be30e,'sessionAdd:'+_0x383558,(_0x20bb4e,{session:_0x2a91d2})=>{_0x2a91d2['id']===_0x5be30e['mySessionId']&&(_0x20bb4e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2a91d2['permissions'],_0x383558));}),_0x5be30e['register'](_0x383558,_0x312ffc);}}async _setUpService(_0x10c671){if(this['_services']['has'](_0x10c671))throw new _0x38aab5('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x10c671});const _0x2cdbfb=this['context']['plugins']['get'](_0x473dd8),_0x56d964=new CloudServicesCommentsAdapter['CommentsService'](_0x10c671);this['_services']['set'](_0x10c671,_0x56d964),this['listenTo'](_0x56d964,'commentThreadAdded',(_0x1c5446,_0x44f372)=>{const {commentThreadId:_0x37451e,documentId:_0x438093,context:_0x3360af,attributes:_0x143605,resolvedAt:_0x1487ef,resolvedBy:_0x909c8a,comments:_0x137616}=_0x44f372;_0x2cdbfb['getCommentThread'](_0x37451e)||_0x2cdbfb['addCommentThread']({'threadId':_0x37451e,'channelId':_0x438093,'comments':_0x137616?_0x137616['map'](at):[],'context':_0x3360af,'attributes':_0x143605,'resolvedAt':_0x1487ef,'resolvedBy':_0x909c8a,'isFromAdapter':!0x0});}),this['listenTo'](_0x56d964,'commentThreadUpdated',(_0x56f298,{commentThreadId:_0x4eb95b,documentId:_0x4b484c,context:_0x14c24a,unlinkedAt:_0x110305,attributes:_0x4c086a})=>{_0x2cdbfb['getCommentThread'](_0x4eb95b)&&_0x2cdbfb['updateCommentThread']({'threadId':_0x4eb95b,'channelId':_0x4b484c,'context':_0x14c24a,'unlinkedAt':_0x110305,'attributes':_0x4c086a,'isFromAdapter':!0x0});}),this['listenTo'](_0x56d964,'commentThreadResolved',(_0x4ddaac,{commentThreadId:_0x302427,resolvedBy:_0x54a3b1,resolvedAt:_0x33cc10})=>{const _0x3468f1=_0x2cdbfb['getCommentThread'](_0x302427);_0x3468f1&&_0x3468f1['resolve']({'resolvedBy':_0x54a3b1,'resolvedAt':_0x33cc10,'isFromAdapter':!0x0});}),this['listenTo'](_0x56d964,'commentThreadReopened',(_0xa60c48,{commentThreadId:_0x1caa31})=>{const _0x1726b9=_0x2cdbfb['getCommentThread'](_0x1caa31);_0x1726b9&&_0x1726b9['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x56d964,'commentThreadRemoved',(_0x1b96bc,{commentThreadId:_0x62bf4d})=>{const _0x59ab5c=_0x2cdbfb['getCommentThread'](_0x62bf4d);_0x59ab5c&&_0x59ab5c['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x56d964,'commentAdded',(_0x37aba1,_0x1ef08a)=>{const _0x30af03=_0x1ef08a['commentThreadId'],_0x17b50c=_0x2cdbfb['getCommentThread'](_0x30af03);_0x17b50c&&_0x17b50c['addComment']({...at(_0x1ef08a),'isFromAdapter':!0x0});}),this['listenTo'](_0x56d964,'commentUpdated',(_0x34e4cf,{commentThreadId:_0x1780d4,commentId:_0x1b177b,content:_0x224e37,attributes:_0x5ba3f6})=>{const _0x334571=_0x2cdbfb['getCommentThread'](_0x1780d4);if(_0x334571){const _0x210f24=_0x334571['getComment'](_0x1b177b);_0x210f24&&_0x210f24['update']({'content':_0x224e37,'attributes':_0x5ba3f6,'isFromAdapter':!0x0});}}),this['listenTo'](_0x56d964,'commentRemoved',(_0x5e6d41,{commentThreadId:_0x527cf8,commentId:_0x2ee90b})=>{const _0x121dfa=_0x2cdbfb['getCommentThread'](_0x527cf8);if(_0x121dfa){const _0x212eb6=_0x121dfa['getComment'](_0x2ee90b);_0x212eb6&&_0x212eb6['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x56d964,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x10c671),this['stopListening'](_0x56d964));}),await this['_connectService'](_0x10c671);}destroy(){if(this['context']instanceof _0x50a871){const _0x936c9f=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x936c9f)&&this['_terminateService'](_0x936c9f);}}_terminateService(_0x4875d0){if(!this['_services']['has'](_0x4875d0))throw new _0x38aab5('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4875d0});this['_getService'](_0x4875d0)['disconnect'](),this['_services']['delete'](_0x4875d0);}async reconnect(){for(const _0x4bf1c3 of this['_services']['keys']())await this['_connectService'](_0x4bf1c3);if(this['context']instanceof _0x50a871){const _0xcead5f=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0xcead5f)){const _0x37c8b2=this['context']['plugins']['get'](Y);_0x37c8b2['unregister'](_0xcead5f);const _0x5a7a5f=await this['_services']['get'](_0xcead5f)['getConnectedSessions']();_0x37c8b2['register'](_0xcead5f,_0x5a7a5f);}}}async _connectService(_0x5dd404){const {connection:_0x5e4046}=this['context']['plugins']['get'](z),_0x306030=this['context']['plugins']['get'](_0x473dd8),_0x2c4eea=await this['_services']['get'](_0x5dd404)['connect'](_0x5e4046);await this['_fetchMissingUsersForThreads'](_0x2c4eea);const _0x49608a=new Set(Array['from'](_0x306030['getCommentThreads']({'channelId':_0x5dd404}),_0x51e1c7=>_0x51e1c7['id']));for(const _0x5cdf0a of _0x2c4eea)_0x5cdf0a['deletedAt']||_0x49608a['delete'](_0x5cdf0a['commentThreadId']);for(const _0x372ceb of _0x49608a)_0x306030['getCommentThread'](_0x372ceb)['remove']({'isFromAdapter':!0x0});for(const _0x389b44 of _0x2c4eea){let _0x41953f=_0x306030['getCommentThread'](_0x389b44['commentThreadId']);const {commentThreadId:_0x205876,context:_0x23abba,attributes:_0x43ecb7,resolvedBy:_0xcdbc72,resolvedAt:_0x4b6a72,unlinkedAt:_0x432f79,deletedAt:_0x418b10}=_0x389b44;if(_0x418b10)continue;_0x41953f||(_0x41953f=_0x306030['addCommentThread']({'channelId':_0x5dd404,'threadId':_0x205876,'context':_0x23abba,'attributes':_0x43ecb7||{},'resolvedBy':_0xcdbc72,'resolvedAt':_0x4b6a72,'unlinkedAt':_0x432f79,'isFromAdapter':!0x0}));const _0x4b04f8=new Set(Array['from'](_0x41953f['comments'],_0x33a19f=>_0x33a19f['id']));for(const _0x1972c7 of _0x389b44['comments'])_0x4b04f8['delete'](_0x1972c7['commentId']);for(const _0x130474 of _0x4b04f8)_0x41953f['getComment'](_0x130474)['remove']({'isFromAdapter':!0x0});for(const _0xfc5a27 of _0x389b44['comments']){const _0x12771f=_0x41953f['getComment'](_0xfc5a27['commentId']);_0x12771f?_0x12771f['content']!==_0xfc5a27['content']&&_0x12771f['update']({'content':_0xfc5a27['content'],'isFromAdapter':!0x0}):_0x41953f['addComment'](Object['assign'](at(_0xfc5a27),{'isFromAdapter':!0x0}));}}}_getService(_0x4a52c3){if(!this['_services']['has'](_0x4a52c3))throw new _0x38aab5('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4a52c3});return this['_services']['get'](_0x4a52c3);}async _fetchMissingUsersForThreads(_0x301a86){const _0x411267=this['context']['plugins']['get'](_0x420277),{connection:_0x432207}=this['context']['plugins']['get'](z),_0x2b84ea=new Set();for(const {resolvedBy:_0x3a3d2f,comments:_0x4b5c19}of _0x301a86){_0x3a3d2f&&!_0x411267['getUser'](_0x3a3d2f)&&_0x2b84ea['add'](_0x3a3d2f);for(const {userId:_0x489c98}of _0x4b5c19)_0x411267['getUser'](_0x489c98)||_0x2b84ea['add'](_0x489c98);}if(0x0===_0x2b84ea['size'])return;const _0xfaae88=await _0x5a3b8a['getMany'](_0x432207,Array['from'](_0x2b84ea));for(const _0x21c011 of _0xfaae88)_0x411267['getUser'](_0x21c011['id'])||_0x411267['addUser'](_0x21c011);}};async function rt(_0x53696a){if('404'!==_0x53696a['code'])throw _0x53696a;}function ct(_0x4800a9){if((_0x2a2fdc=_0x4800a9)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2a2fdc['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2a2fdc['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2a2fdc;throw _0x4800a9;}function at(_0x2a50aa){return{'threadId':_0x2a50aa['commentThreadId'],'commentId':_0x2a50aa['commentId'],'content':_0x2a50aa['content'],'createdAt':_0x2a50aa['createdAt'],'authorId':_0x2a50aa['userId'],'attributes':_0x2a50aa['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x21af15{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0xd1afe6)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0xd1c5fd,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x199972){super(_0x199972);const _0x1ac63e=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x1ac63e);}init(){const _0x359b8a=this['editor']['plugins']['get'](z),_0x2af8c3=this['editor']['plugins']['get'](_0xd1c5fd);return _0x2af8c3['adapter']={'getSuggestion':async _0x3b0d8c=>{await this['_waitForServiceReady']();const _0x73f7cb=await this['_trackChangesService']['get'](_0x3b0d8c)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x73f7cb]),_0x73f7cb;},'addSuggestion':async({id:_0x3bee57,type:_0x46f15c,data:_0x28c77d,originalSuggestionId:_0x4dbdbf,attributes:_0x51dc56})=>{await this['_waitForServiceReady']();const _0x1fbfad={'id':_0x3bee57,'type':_0x46f15c,'data':_0x28c77d,'originalSuggestionId':_0x4dbdbf,'attributes':_0x51dc56},_0x946bba=await this['_trackChangesService']['add'](_0x3bee57,_0x46f15c,_0x28c77d,_0x4dbdbf,_0x51dc56)['catch'](_0x317f53=>{if(dt(_0x317f53))return new Promise(_0x43a82c=>{this['_bufferedRequests']['set'](_0x3bee57,{'resolve':_0x43a82c,'suggestionData':_0x1fbfad});});throw _0x317f53;});return this['_bufferedRequests']['delete'](_0x3bee57),_0x946bba;},'updateSuggestion':async(_0x1499be,_0x2e85ae)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2e85ae['state'])return this['_trackChangesService']['update'](_0x1499be,_0x2e85ae)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x11f7f4,_0x2ac2bd)=>{_0x2af8c3['hasSuggestion'](_0x2ac2bd['id'])&&(_0x2af8c3['getSuggestion'](_0x2ac2bd['id'])['attributes']=_0x2ac2bd['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x359b8a['connection']?.['state']&&(_0x359b8a['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x359b8a['connection'])['then'](_0x10455e=>(_0x359b8a['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x10455e)['then'](()=>{for(const _0x515f9b of _0x10455e){_0x2af8c3['addSuggestionData'](_0x515f9b)['_saved']=!0x0;}})));}async reconnect(){const _0x28261c=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x349b3e}=this['editor']['plugins']['get'](z),_0x24b036=await this['_trackChangesService']['connect'](_0x349b3e);await this['_fetchMissingUsersForThreads'](_0x24b036);for(const {suggestionData:_0xac852d,resolve:_0x2f372b}of this['_bufferedRequests']['values']()){let _0x354467=_0x24b036['find'](_0x5c3f87=>_0x5c3f87['id']===_0xac852d['id']);_0x354467||(_0x354467=await this['_trackChangesService']['add'](_0xac852d['id'],_0xac852d['type'],_0xac852d['data'],_0xac852d['originalSuggestionId'])),_0x2f372b(_0x354467);}for(const _0xcd8125 of _0x24b036)_0x28261c['hasSuggestion'](_0xcd8125['id'])||_0x28261c['addSuggestionData'](_0xcd8125);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0xdbd422=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1bd5b9=>{_0x1bd5b9['off'](),_0xdbd422();});});}async _fetchMissingUsersForThreads(_0x15a62d){const _0x6ce4c4=this['editor']['plugins']['get'](_0x420277),{connection:_0x5142d7}=this['editor']['plugins']['get'](z),_0x24511e=new Set();for(const {authorId:_0x1ebe30}of _0x15a62d)_0x6ce4c4['getUser'](_0x1ebe30)||_0x24511e['add'](_0x1ebe30);if(0x0===_0x24511e['size'])return;const _0x32c82b=await _0x5a3b8a['getMany'](_0x5142d7,Array['from'](_0x24511e));for(const _0x595134 of _0x32c82b)_0x6ce4c4['getUser'](_0x595134['id'])||_0x6ce4c4['addUser'](_0x595134);}};function lt(_0x4e8bed){if(dt(_0x4e8bed))return new Promise(()=>{});throw _0x4e8bed;}function dt(_0x43403e){return _0x43403e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x43403e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x21af15{static get requires(){return[_0x209a83,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0xf5728c=this['editor']['plugins']['get'](z),_0x5343f5=this['editor']['plugins']['get'](_0x34951d),_0x2073bf=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xf5728c,'change:state',(_0xc1e9ec,_0x44c1e2,_0x1f9162)=>{_0x5343f5['isThreadsLoadingPaused']='connected'!==_0x1f9162;});}),this['listenTo'](_0xf5728c,'change:state',(_0x4c09a5,_0x338eba,_0x474dc9)=>{this['editor']['plugins']['get'](_0x473dd8)['switchReadOnly']('connected'!==_0x474dc9);}),_0x2073bf['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x56667a=this['editor']['plugins']['get'](ot),_0x2dc5c2=this['editor']['config']['get']('collaboration.channelId');_0x56667a['_services']['has'](_0x2dc5c2)&&_0x56667a['_terminateService'](_0x2dc5c2),super['destroy']();}},ft=class extends _0x21af15{static get requires(){return[ut,ht,_0x41e91d];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x21af15{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x53cda)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x396e5d,Y,_0x420277];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3a1587){super(_0x3a1587);const _0x522a09=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x522a09);}async init(){const _0x5bc0f0=this['editor']['plugins']['get'](tt),_0x3e7242=_0x5bc0f0['serverHistory'],_0x2071b8=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x3e7242,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5bc0f0['sessionId']});const _0x2cf854=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x27ff94,_0x348886=await _0x44be79['isBundleUploaded'](_0x2071b8['connection'],_0x2cf854);this['editor']['plugins']['get'](_0x396e5d)['adapter']={'getRevision':async({revisionId:_0x7b9751})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x7b9751)),'updateRevisions':async _0x4e1d18=>{await this['_waitForServiceReady']();const _0x2ac0ef=this['_revisionTracker']['currentRevision'];if(_0x348886&&0x1===_0x4e1d18['length']&&_0x4e1d18[0x0]['id']===_0x2ac0ef['id'])return _0x4e1d18;for(const _0x537f4b of _0x4e1d18)_0x537f4b['id']===_0x2ac0ef['id']&&(_0x537f4b['isEmptyCurrent']=_0x537f4b['fromVersion']===_0x537f4b['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4e1d18,this['_lastRequestId'])['then'](_0x4ebfc9=>(this['_lastRequestId']=_0x4ebfc9,_0x4e1d18))['catch'](_0x15e461=>{if(pt(_0x15e461)||'400'===_0x15e461['code']&&void 0x0!==_0x15e461['data']['wrongRequestId']){for(const _0x12ab04 of _0x4e1d18)this['_revisionTracker']['repository']['getRevision'](_0x12ab04['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x12ab04['id'],_0x12ab04,!0x1);if(pt(_0x15e461)&&'destroyed'!==this['editor']['state'])throw _0x15e461;return _0x4e1d18;}throw _0x15e461;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x101154,{revisionsData:_0x467c3e,requestId:_0x31c118})=>{Math['max'](..._0x467c3e['map'](_0x327457=>_0x327457['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x467c3e,_0x31c118);}):this['_handleRevisionsUpdate'](_0x467c3e,_0x31c118);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x2071b8['connection']?.['state']&&(_0x2071b8['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x4e4f55,requestId:_0x317e58}=await this['_revisionHistoryService']['connect'](_0x2071b8['connection']);_0x2071b8['addToReconnectionStack'](this),this['_lastRequestId']=_0x317e58,await this['_fetchMissingUsers'](_0x4e4f55);for(const _0x26d33a of _0x4e4f55)this['_revisionTracker']['addRevisionData'](_0x26d33a);this['listenTo'](_0x5bc0f0,'change:_isConnected',(_0x450937,_0x450dc8,_0x31c4b1)=>{_0x31c4b1&&(this['_oldOffset']=_0x5bc0f0['_offset'],_0x450937['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x5b6a7a=this['editor']['plugins']['get'](z),_0x58739f=this['editor']['plugins']['get'](tt),_0x5266a4=async()=>{const _0x5847d6=this['_revisionTracker']['currentRevision'],_0x3775cc=_0x5847d6['id'],_0x1c4f31=_0x3775cc!==_0x58739f['sessionId'];if(_0x1c4f31){const _0x110d0a=_0x58739f['_offset']-this['_oldOffset'],_0x4bbbcc=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x5847d6['toVersion']+_0x110d0a!==_0x4bbbcc){const _0x444e75=_0x5847d6['fromVersion']+_0x110d0a,_0x4841f3=this['editor']['plugins']['get'](_0x420277),_0xcd80a5=this['_revisionTracker']['buildRevisionData']({'revision':_0x5847d6,'from':_0x444e75,'to':_0x4bbbcc});_0xcd80a5['id']=_0x5847d6['id'];const _0x4b275b=_0xcd80a5['authorsIds']['map'](_0x2c2321=>_0x4841f3['getUser'](_0x2c2321));_0x5847d6['_update']({..._0xcd80a5,'authors':_0x4b275b},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5847d6['id'],_0xcd80a5,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4bbbcc,_0x5847d6['toVersion']!==_0x5847d6['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x3775cc)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x3775cc),this['_revisionTracker']['_createCurrentRevision'](_0x4bbbcc);}const {revisions:_0x538f08,requestId:_0x4e45f7}=await this['_revisionHistoryService']['reconnect'](_0x5b6a7a['connection'],this['_lastRequestId']);_0x1c4f31&&_0x538f08['length']>0x0?_0x58739f['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x538f08),this['_handleRevisionsUpdate'](_0x538f08,_0x4e45f7),this['_revisionTracker']['sendBufferedUpdates']());};return _0x58739f['_isConnected']?_0x5266a4():new Promise((_0xedfd83,_0x2153bc)=>{_0x58739f['once']('change:_isConnected',()=>{_0x5266a4()['then'](_0xedfd83)['catch'](_0x2153bc);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x50599b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5c9295=>{_0x5c9295['off'](),_0x50599b();});});}_getLatestVersionFromServerOperations(){const _0x710776=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x368fe2 of _0x710776)if('marker'!==_0x368fe2['type']||_0x368fe2['affectsData'])return _0x368fe2['baseVersion']+0x1;}_getLatestVersion(){const _0x442d02=this['editor']['plugins']['get'](tt);return new Promise(_0x26427c=>{_0x442d02['_isPendingUpdate']?_0x442d02['once']('change:_isPendingUpdate',()=>{_0x26427c(this['_getLatestVersionFromServerOperations']());}):_0x26427c(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x300721,_0x26dcc8){const _0x2dc7c1=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x26dcc8;for(const _0x585be3 of _0x300721){const _0x48ab49=_0x2dc7c1['getRevision'](_0x585be3['id']);if(_0x48ab49){if((_0x585be3['fromVersion']||_0x585be3['toVersion'])&&(_0x585be3['diffData']=null),_0x48ab49===this['_revisionTracker']['currentRevision']){const _0x2a451d=Math['max'](_0x48ab49['toVersion'],_0x585be3['toVersion']),_0x93c773=Math['max'](_0x48ab49['fromVersion'],_0x585be3['fromVersion']);let _0x483a2e;_0x48ab49['toVersion']===_0x585be3['toVersion']&&_0x48ab49['fromVersion']===_0x585be3['fromVersion']?(_0x483a2e=!0x0,this['_preventResendingRevisionData'](_0x585be3)):_0x585be3['toVersion']===_0x2a451d&&_0x585be3['fromVersion']===_0x93c773?_0x483a2e=!0x1:(_0x48ab49['toVersion']===_0x2a451d&&_0x48ab49['fromVersion']===_0x93c773||this['_fixRevision']({'revision':_0x48ab49,'from':_0x93c773,'to':_0x2a451d}),_0x483a2e=!0x0),_0x483a2e&&(delete _0x585be3['fromVersion'],delete _0x585be3['toVersion'],delete _0x585be3['diffData'],delete _0x585be3['createdAt'],delete _0x585be3['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x585be3),this['_preventResendingRevisionData'](_0x585be3);}else this['_revisionTracker']['addRevisionData'](_0x585be3);}const _0x552099=_0x2dc7c1['getRevisions']();_0x552099['reverse']();for(let _0x25dd61=0x0;_0x25dd61<_0x552099['length']-0x1;_0x25dd61++){const _0x526425=_0x552099[_0x25dd61],_0x9292b5=_0x552099[_0x25dd61+0x1];if(_0x526425['fromVersion']<_0x9292b5['toVersion']){const _0x534ea2=_0x9292b5['toVersion'],_0xda2e8d=Math['max'](_0x534ea2,_0x526425['toVersion']);this['_fixRevision']({'revision':_0x526425,'from':_0x534ea2,'to':_0xda2e8d});}}}['_fixRevision']({revision:_0x4285e1,from:_0xbf8f41,to:_0x297f67}={}){const _0x2906e1=this['editor']['plugins']['get'](_0x420277),_0x5363bb=this['_revisionTracker']['buildRevisionData']({'revision':_0x4285e1,'from':_0xbf8f41,'to':_0x297f67});_0x5363bb['authors']=_0x5363bb['authorsIds']['map'](_0x5d987b=>_0x2906e1['getUser'](_0x5d987b)),_0x4285e1['_update'](_0x5363bb);}_preventResendingRevisionData(_0x424bc8){const _0x3d946d={};_0x3d946d['id']=_0x424bc8['id'];for(const _0x5ac140 of Object['keys'](_0x424bc8))'id'!==_0x5ac140&&(_0x3d946d[_0x5ac140]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3d946d['id'],_0x3d946d,!0x0);}async _fetchMissingUsers(_0x39eba5){const _0xba3ea5=this['editor']['plugins']['get'](_0x420277),{connection:_0x508b54}=this['editor']['plugins']['get'](z),_0x124019=new Set();for(const _0x1495b8 of _0x39eba5){for(const _0x2b963c of _0x1495b8['authorsIds'])_0x28544f(_0x2b963c);_0x1495b8['creatorId']&&_0x28544f(_0x1495b8['creatorId']);}if(0x0===_0x124019['size'])return;const _0x38236c=await _0x5a3b8a['getMany'](_0x508b54,Array['from'](_0x124019));for(const _0x55a038 of _0x38236c)_0xba3ea5['getUser'](_0x55a038['id'])||_0xba3ea5['addUser'](_0x55a038);function _0x28544f(_0x4404b9){_0xba3ea5['getUser'](_0x4404b9)||_0x124019['add'](_0x4404b9);}}};function pt(_0xdc639e){return _0xdc639e['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xdc639e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xdc639e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x21af15{static get requires(){return[_0x396e5d,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x38cac9{_collapseAt;constructor(_0x5599d7,_0x541b4d=0x6){super(_0x5599d7);const _0x510908=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x541b4d,this['bind']('isHidden')['to'](this,'usersCount',_0x41aa5e=>_0x41aa5e<_0x541b4d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x510908['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':_0x510908['to']('usersCount',_0x454797=>'+'+(_0x454797-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x38cac9{items;keystrokes;constructor(_0x647488){super(_0x647488);const _0xba2bc9=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x376c6d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xba2bc9['if']('hasPopup'),'aria-expanded':_0xba2bc9['to']('isExpanded',_0x1700dd=>this['hasPopup']&&String(_0x1700dd)),'aria-label':_0xba2bc9['to']('hasPopup',_0x48951a=>X(_0x647488,_0x48951a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xba2bc9['to']('hasPopup',_0x22da6d=>!!_0x22da6d&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xba2bc9['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xba2bc9['to'](_0x386645=>{const _0x2b6cdf=_0x386645,_0x138e9f=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1dda10=document['querySelector']('.ck-balloon-panel_with-arrow');_0x138e9f?.['contains'](_0x2b6cdf['relatedTarget'])||_0x1dda10?.['contains'](_0x2b6cdf['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x45fa01,_0x589b41,_0xb4914)=>{this['element']&&(_0xb4914?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 _0x38cac9{counterView;inlineListView;constructor(_0x1da959,_0x55458e=0x6){super(_0x1da959);const _0x5d1ff7=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x55458e),this['inlineListView']=new vt(_0x1da959),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x39346d of this['inlineListView']['items'])_0x39346d['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',_0x5d1ff7['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x38cac9{listWrapperView;constructor(_0x193d23,_0x529207){super(_0x193d23);const _0x5778ee=this['bindTemplate'];this['listWrapperView']=new bt(_0x193d23,_0x529207),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x193d23,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5778ee['to'](_0x54ca21=>{const _0x11899e=_0x54ca21,_0x219d00=document['querySelector']('.ck-presence-list__list'),_0x18f7cc=document['querySelector']('.ck-balloon-panel_with-arrow');_0x219d00?.['contains'](_0x11899e['relatedTarget'])||_0x18f7cc?.['contains'](_0x11899e['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x43a43f{constructor(_0x3c3214,_0x45778c){super(_0x3c3214);const _0x406732=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x45778c?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x406732['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x406732['to']('role'),'aria-label':_0x406732['to']('ariaLabel'),'aria-labelledby':_0x406732['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x36548f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x57a3ba=this['element'];_0x57a3ba&&(this['_isScrollable']=Math['max'](_0x57a3ba['scrollHeight'],_0x57a3ba['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x1bada3{['userView'];constructor(_0x320490,_0xebd088,_0x13abc1){super(_0x320490);const _0x528434=this['bindTemplate'];this['userView']=new _0x36b23f(_0x320490,_0xebd088);const _0x34eab3={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xebd088['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xebd088['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xebd088['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xebd088['color']['getColorVariable'](),'--ck-user-color-alpha':_0xebd088['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x13abc1&&(_0x34eab3['tag']='button',_0x34eab3['on']={'click':_0x528434['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x34eab3);}['focus'](){this['element']['focus']();}},It=class extends _0x38cac9{['userView'];['markerView'];constructor(_0x23ab2d,_0x2c4206,_0x4efb96){super(_0x23ab2d);const _0x5dea52=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x36b23f(_0x23ab2d,_0x2c4206),this['markerView']=new St(_0x23ab2d,_0x2c4206);const _0x80f452=new _0x372dbb(_0x23ab2d);_0x80f452['template']['tag']='span',_0x80f452['text']=_0x2c4206['name'];const _0x4fd5ef={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5dea52['to']('isFocusable',_0x313692=>!!_0x313692&&0x0),'aria-labelledby':_0x80f452['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5dea52['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5dea52['to']('hasTooltip',_0x2f2123=>!_0x2f2123),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x80f452]};_0x4efb96&&(_0x4fd5ef['tag']='button',_0x4fd5ef['on']={'click':_0x5dea52['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4fd5ef);}},St=class extends _0x38cac9{constructor(_0x53e620,_0x3160cf){super(_0x53e620),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3160cf['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x3160cf['color']['getColorVariable'](),'--ck-user-color-alpha':_0x3160cf['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x473f2b{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x41fb2f){super(_0x41fb2f),this['context']['config']['define']('presenceList',Tt);const _0x5a0085=_0x41fb2f['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5a0085)throw new _0x38aab5('presencelist-collapseat-invalid-format',this);if(_0x5a0085<0x1)throw new _0x38aab5('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x50f27a(),this['balloonPanelView']=new _0x549ae0(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x2e759b of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2e759b);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3e599a,_0x310621)=>{this['_handleUserAdd'](_0x310621);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1693a8,_0x19bff8)=>{this['_handleUserRemove'](_0x19bff8);});}_createView(){const _0x42d96e=this['context'],_0xa1f77=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x152a69=this['balloonPanelView'];if(!_0x4d1a50(_0x42d96e['config']['get']('presenceList.container')))throw new _0x38aab5('presencelist-missing-container',this);return _0xa1f77['counterView']['bind']('usersCount')['to'](this),_0xa1f77['bind']('isCollapsed')['to'](this,'usersCount',_0x58e5dc=>{const {collapseAt:_0x3730db}=_0x42d96e['config']['get']('presenceList'),_0x260fe4=_0x58e5dc>=_0x3730db;if(_0x260fe4&&!_0xa1f77['inlineListView']['items']['find'](_0xd11cf5=>_0xd11cf5 instanceof wt)){const _0x4a21c8=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x4a21c8&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0xa1f77['inlineListView']['items']['add'](_0xa1f77['counterView']);}return _0x260fe4||this['hideDropdown'](),_0x260fe4;}),_0xa1f77['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x473ab0=>{const _0x50af56=_0x42d96e['config']['get']('presenceList'),_0x23b7e3=new It(_0x42d96e['locale'],_0x473ab0,!!_0x50af56['onClick']);return _0x23b7e3['bind']('hasTooltip')['to'](_0xa1f77,'isCollapsed',_0x39cb37=>!_0x39cb37),_0x23b7e3['bind']('isFocusable')['to'](_0xa1f77,'isCollapsed',_0x464b3f=>!_0x464b3f),_0x50af56['onClick']&&this['listenTo'](_0x23b7e3,'execute',()=>{this['view']['isCollapsed']||_0x50af56['onClick'](_0x473ab0,_0x23b7e3['element']);}),_0x23b7e3;}),this['listenTo'](_0xa1f77['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0xa1f77['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0xa1f77['inlineListView']['keystrokes']['set']('Enter',(_0x9c57fb,_0x37c93e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x37c93e());}),_0xa1f77['render'](),_0x152a69['render'](),_0x40afbd({'emitter':_0xa1f77,'activator':()=>_0x152a69['isVisible'],'contextElements':[_0x152a69['element'],_0xa1f77['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x42d96e['config']['get']('presenceList.container')['appendChild'](_0xa1f77['element']),this['_bodyCollection']=new _0x3a4fca(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0xa1f77;}['_handleUserAdd'](_0x21b324){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x21b324['isMe'])return;const _0x350e90=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x350e90-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x198183=_0x21b324['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x21b324,_0x198183);}['_handleUserRemove'](_0x915b6d){this['usersCount']--;const {collapseAt:_0x59227b}=this['context']['config']['get']('presenceList'),_0x29b50a=this['usersCount']>=_0x59227b;if(this['currentDisplayedUsers']['get'](_0x915b6d['id']))this['currentDisplayedUsers']['remove'](_0x915b6d['id']);else{if(_0x29b50a&&this['currentDisplayedUsers']['length']+0x1===_0x59227b-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x29b50a?0x1:0x0)<this['usersCount']){for(const _0x52713d of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x52713d['id'])&&(this['currentDisplayedUsers']['add'](_0x52713d,Math['min'](this['currentDisplayedUsers']['length']-(_0x29b50a?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x29b50a?0x1:0x0)===_0x59227b-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x3b163d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x3b163d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x2cea81}=this['presenceDropdownView'];_0x2cea81['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x127cf0=>{if(!_0x3b163d['displayMe']&&_0x127cf0['isMe'])return null;const _0x4ec6f3=new kt(this['context']['locale'],_0x127cf0,!!_0x3b163d['onClick']);return _0x3b163d['onClick']&&this['listenTo'](_0x4ec6f3,'execute',()=>{_0x3b163d['onClick'](_0x127cf0,_0x4ec6f3['element']);}),_0x4ec6f3;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2cea81['focus'](),_0x2cea81['checkIfScrollable']();const _0x868c22=(_0x5823fe,_0x53beb2)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x53beb2();};_0x2cea81['keystrokes']['set']('Esc',_0x868c22),_0x2cea81['keystrokes']['set']('Shift+Tab',_0x868c22),_0x2cea81['keystrokes']['set']('Tab',(_0x3ba7ab,_0x1ef2ef)=>{!function(_0x1b531d){const _0x5237df=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2a6f40=>_0x2a6f40+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x363bb2=[...document['body']['querySelectorAll'](_0x5237df)]['filter'](_0x216e8e=>_0x216e8e===document['activeElement']||_0x216e8e['offsetWidth']+_0x216e8e['offsetHeight']>0x0)['sort']((_0x5d9624,_0x5313cb)=>(_0x5d9624['tabIndex']||0x0)-(_0x5313cb['tabIndex']||0x0)),_0x45e3cc=_0x363bb2[(_0x363bb2['indexOf'](_0x1b531d)+0x1)%_0x363bb2['length']];_0x45e3cc&&_0x45e3cc['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1ef2ef();}),_0x2cea81['focusTracker']['add'](this['view']['element']),_0x2cea81['focusTracker']['on']('change:isFocused',(_0x4737f0,_0x559b2d,_0x457be4)=>{_0x457be4||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 _0x473f2b{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};
|