@ckeditor/ckeditor5-real-time-collaboration 49.0.0-alpha.8 → 49.0.0-alpha.9
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
|
-
((()=>_0x261987)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x395891,_0x3bbe7d];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x182969){super(_0x182969),this['set']('state',_0x5377a0['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x54b94a())();}init(){const _0x2ae94b=this['context'],_0x516a7e=_0x2ae94b['plugins']['get'](_0x395891),_0x5ad676=_0x2ae94b['plugins']['get'](_0x3bbe7d);if(!_0x516a7e['token'])throw new _0x1cba4d('websocketgateway-missing-token',this);if(!_0x516a7e['webSocketUrl'])throw new _0x1cba4d('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'](_0x516a7e['token'],_0x516a7e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xb09b33=>{if(this['connection']=_0xb09b33,this['bind']('state')['to'](_0xb09b33,'state',this,'_isBrowserOffline',(_0x33dd00,_0x1fbd3a)=>('connected'!==_0x33dd00&&(this['_shouldPluginsReconnect']=!0x0),_0x1fbd3a||_0x33dd00!==_0x5377a0['CONNECTED']?_0x5377a0['DISCONNECTED']:this['state']==_0x5377a0['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5377a0['CONNECTING']):_0x5377a0['CONNECTED'])),this['connection']['on']('error',(_0x2db714,_0x209d14)=>{if('limitExceeded'!==_0x209d14['code'])throw console['error'](_0x209d14),new _0x1cba4d('cloudservices-init',null,{'originalError':_0x209d14});_0x5ad676['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'});}),!_0xb09b33['me'])return new Promise(_0x2af85c=>_0xb09b33['on']('change:me',_0x2af85c));})['catch'](_0xe743e=>{throw console['error'](_0xe743e),new _0x1cba4d('cloudservices-init',null,{'originalError':_0xe743e});});}addToReconnectionStack(_0x5e731a){if('function'!=typeof _0x5e731a['reconnect'])throw new _0x1cba4d('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5e731a))throw new _0x1cba4d('websocketgateway-plugin-already-registered',this,{'name':_0x5e731a['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5e731a);}removeFromReconnectionStack(_0x35f1a9){this['_reconnectionStack']['delete'](_0x35f1a9);}isInReconnectionStack(_0x493c8b){return this['_reconnectionStack']['has'](_0x493c8b);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x4f0e13=>_0x4f0e13['reconnect']())))['then'](()=>this['state']=_0x5377a0['CONNECTED'])['catch'](_0x4fa554=>{throw console['error'](_0x4fa554),new _0x1cba4d('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5377a0['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Q=class extends _0x2470ea{['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[J,_0x4857ba];}constructor(_0x57e4fb){super(_0x57e4fb),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x30b45c(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4857ba);}init(){const _0x4fbad8=this['context']['plugins']['get'](J);this['listenTo'](_0x4fbad8,'change:state',(_0x568dc8,_0x52bf15,_0x5c38bb)=>{if('connected'!==_0x5c38bb)this['channelSessions']['forEach'](_0x4d422f=>_0x4d422f['clear']()),this['channelConnectedUsers']['forEach'](_0x435150=>_0x435150['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3395b4,_0x2e10bd]of this['_registeredSessions'])for(const _0x5f3685 of _0x2e10bd)this['_handleSessionAdd'](_0x3395b4,_0x5f3685);}}),this['_createUser'](_0x4fbad8['connection']['me'],!0x0);}register(_0x106e6a,_0x2a6a6b){if(this['_registeredSessions']['has'](_0x106e6a))throw new _0x1cba4d('sessions-register-already-registered',null,{'channelId':_0x106e6a});this['_registeredSessions']['set'](_0x106e6a,_0x2a6a6b),this['channelSessions']['set'](_0x106e6a,new _0x30b45c()),this['channelConnectedUsers']['set'](_0x106e6a,new _0x30b45c()),this['listenTo'](_0x2a6a6b,'add',(_0x4d7a8e,_0x1d61d6)=>this['_handleSessionAdd'](_0x106e6a,_0x1d61d6)),this['listenTo'](_0x2a6a6b,'remove',(_0xd8b718,_0x151af6)=>this['_handleSessionRemove'](_0x106e6a,_0x151af6));for(const _0x2e9583 of _0x2a6a6b)this['_handleSessionAdd'](_0x106e6a,_0x2e9583);}unregister(_0x3fbdfa){if(!this['_registeredSessions']['has'](_0x3fbdfa))throw new _0x1cba4d('sessions-unregister-not-exist',null,{'channelId':_0x3fbdfa});const _0x42fbac=this['_registeredSessions']['get'](_0x3fbdfa);this['stopListening'](_0x42fbac);for(const _0x3b4368 of _0x42fbac)'connected'===this['context']['plugins']['get'](J)['state']&&this['_handleSessionRemove'](_0x3fbdfa,_0x3b4368);this['_registeredSessions']['delete'](_0x3fbdfa),this['channelSessions']['delete'](_0x3fbdfa),this['channelConnectedUsers']['delete'](_0x3fbdfa);}get['mySessionId'](){return this['context']['plugins']['get'](J)['connection']['sessionId'];}getUserBySessionId(_0x5d9a08){for(const _0xfa848b of this['channelSessions']['values']())for(const _0x12b49f of _0xfa848b)if(_0x12b49f['id']===_0x5d9a08)return _0x12b49f['user'];}getUserSessions(_0x4e6cfb,_0x1430d2){const _0x5a9579=_0x1430d2?[this['channelSessions']['get'](_0x1430d2)]:this['channelSessions']['values'](),_0x19b95a=new Set();for(const _0x3ceba8 of _0x5a9579)for(const _0x108fe7 of _0x3ceba8)_0x108fe7['user']['id']===_0x4e6cfb['id']&&_0x19b95a['add'](_0x108fe7['id']);return _0x19b95a;}getUserRole(_0x249e51){for(const _0x5ebcbe of this['channelSessions']['values']())for(const _0x2adf27 of _0x5ebcbe)if(_0x2adf27['user']===_0x249e51)return _0x2adf27['role'];}['_handleSessionAdd'](_0x4cc9c7,_0x569434){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x113243=_0x569434['user'],_0x3c892f=this['_users']['getUser'](_0x113243['id'])||this['_createUser'](_0x113243),_0x2ad924=Object['assign']({},_0x569434,{'user':_0x3c892f});if(this['channelSessions']['get'](_0x4cc9c7)['add'](_0x2ad924),!_0x113243['hiddenInPresenceList']){const _0x3ddc15=this['channelConnectedUsers']['get'](_0x4cc9c7);_0x3ddc15['has'](_0x3c892f['id'])||_0x3ddc15['add'](_0x3c892f),this['allConnectedUsers']['has'](_0x3c892f['id'])||_0x113243['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x3c892f,_0x3c892f['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x4cc9c7,{'channelId':_0x4cc9c7,'session':_0x2ad924});}['_handleSessionRemove'](_0x51862d,_0x15f636){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x51f197=this['channelConnectedUsers']['get'](_0x51862d),_0x177ad=_0x15f636['user'];_0x177ad['id']&&(this['channelSessions']['get'](_0x51862d)['remove'](_0x15f636['id']),_0x51f197['has'](_0x177ad['id'])&&!this['getUserSessions'](_0x177ad,_0x51862d)['size']&&_0x51f197['remove'](_0x177ad['id']),this['allConnectedUsers']['get'](_0x177ad['id'])&&!this['getUserSessions'](_0x177ad)['size']&&this['allConnectedUsers']['remove'](_0x177ad['id']));}_createUser(_0x4d9ead,_0x5a9e4f){const _0x109ec5=this['_users']['addUser'](_0x4d9ead);return _0x5a9e4f&&this['_users']['defineMe'](_0x4d9ead['id']),_0x109ec5['orderNumber']=this['_uniqueUsersCount']++,_0x109ec5;}},X=class extends _0x2b96e7{_domEmitter=new(_0x54b94a())();static get requires(){return[Q];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1f2a25=this['editor'],_0x146a26=_0x1f2a25['plugins']['get'](Q);_0x1f2a25['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x194cc5,{writer:_0x58917d})=>function(_0x155671,_0x309a2f,_0x598766,_0x546bbf){const _0x110dd1=_0x155671['markerName']['split'](':')[0x2],_0x19e7b4=_0x598766['getUserBySessionId'](_0x110dd1);if(!_0x19e7b4||_0x110dd1===_0x598766['mySessionId'])return;if(!_0x546bbf['model']['schema']['checkChild'](_0x155671['markerRange']['start'],'$text'))return;const _0x39ad66={'class':'ck-user__marker\x20'+_0x19e7b4['color']['getMarkerClass'](),'style':tt(_0x19e7b4),'data-name':_0x19e7b4['name'],'data-session-id':_0x110dd1},_0x1781dd=_0x546bbf['model']['markers']['get'](_0x155671['markerName'])['getStart'](),_0x190c1c=_0x1781dd['nodeAfter'],_0x4c624f=_0x546bbf['model']['schema'];if(_0x190c1c&&_0x4c624f['isObject'](_0x190c1c)&&_0x4c624f['isInline'](_0x190c1c)&&!_0x546bbf['model']['markers']['get']('user:range:'+_0x110dd1)['getRange']()['isCollapsed'])return;const _0x45f301=_0x1781dd['parent'];return _0x546bbf['model']['schema']['isLimit'](_0x45f301)&&!_0x546bbf['model']['hasContent'](_0x45f301)&&(_0x39ad66['contenteditable']=!0x1),function(_0x462f52,_0x2fa887,_0x269e15){const _0x57fc22=_0x462f52['createUIElement']('span',_0x2fa887);return _0x462f52['setCustomProperty']('userPositionMarker',!0x0,_0x57fc22),_0x57fc22['render']=function(_0x1ee579){const _0x3ac6d7=this['toDomElement'](_0x1ee579),_0x34a5a0=document['createElement']('span');return _0x34a5a0['classList']['add']('ck-user__marker-tooltip'),_0x34a5a0['setAttribute']('contenteditable','false'),_0x34a5a0['setAttribute']('spellcheck','false'),_0x34a5a0['textContent']=_0x269e15['name'],_0x3ac6d7['innerHTML']=_0x74deec('<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x34a5a0['outerHTML']+''),_0x3ac6d7['addEventListener']('mouseenter',()=>{_0x3ac6d7['classList']['add']('ck-user__marker_hovered');}),_0x3ac6d7['addEventListener']('mouseleave',()=>{_0x3ac6d7['classList']['remove']('ck-user__marker_hovered');}),_0x3ac6d7;},_0x57fc22['isSimilar']=function(_0x220943){return!(!this['getCustomProperty']('userPositionMarker')||!_0x220943['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x220943['getAttribute']('data-session-id'));},_0x57fc22;}(_0x309a2f,_0x39ad66,_0x19e7b4);}(_0x194cc5,_0x58917d,_0x146a26,_0x1f2a25)}),_0x1f2a25['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x54997c=>function(_0x320e8a,_0x6e38a0){const _0x27eb24=_0x320e8a['markerName']['split'](':')[0x2];if(_0x27eb24===_0x6e38a0['mySessionId'])return null;const _0x25f60c=_0x6e38a0['getUserBySessionId'](_0x27eb24);return _0x25f60c?{'id':_0x27eb24,'classes':['ck-user__selection',_0x25f60c['color']['getSelectionClass']()],'attributes':{'style':tt(_0x25f60c),'data-session-id':_0x27eb24},'priority':0x7d0+_0x25f60c['orderNumber']}:{'id':_0x27eb24,'classes':[]};}(_0x54997c,_0x146a26)}),function(_0x52a7d0){const _0xe893f5=_0x52a7d0['model'],_0x4577a5=new Map(),_0x38953f=_0x52a7d0['plugins']['get'](Q);_0xe893f5['markers']['on']('update:user:range',(_0x3cba9c,_0x5111c3,_0x352bf8,_0x47fbc7)=>{if(!_0x47fbc7&&_0x4577a5['get'](_0x5111c3['name']))return _0x4577a5['get'](_0x5111c3['name'])['detach'](),void _0x4577a5['delete'](_0x5111c3['name']);const _0x2ce23e=_0x5111c3['name']['split'](':')[0x2];if(_0x2ce23e===_0x38953f['mySessionId'])return;const _0x3f0ea3='user:position:'+_0x2ce23e;_0xe893f5['markers']['has'](_0x3f0ea3)&&_0x52a7d0['editing']['reconvertMarker'](_0x3f0ea3),_0x5111c3['on']('change:range',(_0x4dd89d,_0x5c2c14,_0x18e5b8)=>{if('$graveyard'!=_0x5c2c14['root']['rootName']&&'$graveyard'==_0x5111c3['getRange']()['root']['rootName']&&!_0x4577a5['has'](_0x5111c3['name'])){const _0x4e022d=_0xe893f5['schema']['getNearestSelectionRange'](_0x18e5b8['deletionPosition']);if(_0x4e022d){const _0x4192d9=_0x294958['fromRange'](_0x4e022d);_0x4577a5['set'](_0x5111c3['name'],_0x4192d9),_0x4192d9['on']('change:range',(_0xe6b2d0,_0x3285aa,_0x2d46b8)=>{if('$graveyard'==_0x4192d9['root']['rootName']){const _0xecfbf5=_0xe893f5['schema']['getNearestSelectionRange'](_0x2d46b8['deletionPosition']);_0xecfbf5?(_0x4192d9['start']=_0xecfbf5['start'],_0x4192d9['end']=_0xecfbf5['end']):(_0x4577a5['delete'](_0x5111c3['name']),_0x4192d9['detach']());}});}}});}),_0xe893f5['document']['on']('change',()=>{_0x4577a5['size']>0x0&&_0xe893f5['enqueueChange']({'isUndoable':!0x1},_0x19cbd7=>{for(const [_0x1b44eb,_0x34cfdc]of _0x4577a5)'$graveyard'==_0xe893f5['markers']['get'](_0x1b44eb)['getRange']()['root']['rootName']&&(Z(_0x1b44eb['split'](':')[0x2],_0x34cfdc['toRange'](),_0xe893f5,_0x19cbd7),_0x34cfdc['detach']());_0x4577a5['clear']();});});}(_0x1f2a25),this['_domEmitter']['listenTo'](_0x327fcb['document'],'keydown',(_0x4c7349,{key:_0x5a9249})=>{'Escape'===_0x5a9249&&function(_0x2dfca9){_0x2dfca9['editing']['view']['change'](_0xdb818=>{for(const _0x4ea777 of _0x2dfca9['model']['markers']){if(!_0x4ea777['name']['startsWith']('user:position'))continue;const _0x4dbbf9=_0x2dfca9['editing']['mapper']['markerNameToElements'](_0x4ea777['name']);if(_0x4dbbf9){for(const _0x417d4d of _0x4dbbf9)_0xdb818['removeClass']('ck-user__marker_hovered',_0x417d4d);}}});}(_0x1f2a25);},{'useCapture':!0x0});}afterInit(){const _0x2bc6c8=this['editor'],_0x13c1d8=_0x2bc6c8['commands']['get']('undo');_0x13c1d8&&_0x2bc6c8['model']['on']('applyOperation',(_0x409e53,_0x5b8d31)=>{const _0x3f9f7d=_0x5b8d31[0x0];if(!_0x3f9f7d['isDocumentOperation'])return;if('marker'!=_0x3f9f7d['type']||!_0x3f9f7d['name']['startsWith']('user:'))return;const _0x414d3d=_0x3f9f7d['batch'];_0x13c1d8['_createdBatches']['has'](_0x414d3d)&&(_0x3f9f7d['newRange']=_0x3f9f7d['oldRange']?_0x2bc6c8['model']['createRange'](_0x3f9f7d['oldRange']['start'],_0x3f9f7d['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x53f523=this['editor'],_0x42c516=_0x53f523['model']['document'],_0x4a2f7a=_0x53f523['plugins']['get'](Q);_0x53f523['model']['enqueueChange']({'isUndoable':!0x1},_0x10eec7=>{const _0x4503f0='user:range:'+_0x4a2f7a['mySessionId'],_0x5ab6f9='user:position:'+_0x4a2f7a['mySessionId'],_0x2b76de=_0x53f523['model']['markers']['has'](_0x4503f0);_0x53f523['editing']['view']['hasDomSelection']?Z(_0x4a2f7a['mySessionId'],_0x42c516['selection']['getFirstRange'](),_0x53f523['model'],_0x10eec7):_0x2b76de&&(_0x10eec7['removeMarker'](_0x4503f0),_0x10eec7['removeMarker'](_0x5ab6f9));});}};function Z(_0x2d2478,_0xc75fd7,_0x4153bf,_0x4d480e){const _0x2fe118='user:range:'+_0x2d2478,_0x1d0243='user:position:'+_0x2d2478,_0x38520d=_0xc75fd7['getContainedElement']();let _0x5bf7da=_0xc75fd7['start'];if(_0x38520d&&_0x38520d['is']('element','tableCell')){const _0x4063c9=function(_0x3e0141,_0x59dfe6){for(const _0x2b0bd1 of _0x3e0141['getPositions']())if(_0x59dfe6['schema']['checkChild'](_0x2b0bd1,'$text'))return _0x2b0bd1;}(_0xc75fd7,_0x4153bf);_0x4063c9&&(_0x5bf7da=_0x4063c9,_0xc75fd7=_0x4d480e['createRange'](_0x5bf7da));}const _0xc692df=_0x4d480e['createRange'](_0x5bf7da);_0x4153bf['markers']['has'](_0x2fe118)?(_0x4d480e['updateMarker'](_0x2fe118,{'range':_0xc75fd7}),_0x4d480e['updateMarker'](_0x1d0243,{'range':_0xc692df})):(_0x4d480e['addMarker'](_0x2fe118,{'range':_0xc75fd7,'usingOperation':!0x0}),_0x4d480e['addMarker'](_0x1d0243,{'range':_0xc692df,'usingOperation':!0x0}));}function tt(_0x32a0b6){return'--ck-user-color:'+_0x32a0b6['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x32a0b6['color']['getColorAlphaVariable']()+';';}function et(_0x1a4a1c,_0x486945,_0x2b5ac9){const _0x45e1e5=_0x1a4a1c['t'],t=_0x1a4a1c['t'];switch(_0x486945){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 _0x45e1e5({'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'},_0x2b5ac9);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x2b96e7{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x1c22d4)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[J,Q,X,_0x1bbdfc,_0x4857ba,_0x3bbe7d];}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 _0x587a56=this['serverHistory']['getOperations']();for(let _0x3f93c0=_0x587a56['length']-0x1;_0x3f93c0>=0x0;_0x3f93c0--){const _0xd0e3cd=_0x587a56[_0x3f93c0];if(!this['_disconnectionOperations']['has'](_0xd0e3cd))return _0xd0e3cd['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1eb691){if(super(_0x1eb691),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x31e537(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1cba4d('collaboration-missing-channelid',this);const _0x62e0fb=_0x1eb691['config']['get']('cloudServices.bundleVersion')||_0x3a3f2b;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x62e0fb,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3559a5(),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 rt(this['_disconnectionOperations']);}init(){const _0x113caf=this['editor'],_0x10efa8=_0x113caf['plugins']['get'](_0x4857ba),_0x3c2ee4=_0x113caf['plugins']['get'](J);this['listenTo'](_0x10efa8,'getOperationAuthor',(_0x29b5f7,_0x7e56be)=>{const _0x5e1645=_0x7e56be[0x0];_0x5e1645['_authorId']&&(_0x29b5f7['return']=_0x10efa8['getUser'](_0x5e1645['_authorId']),_0x29b5f7['stop']()),null===_0x5e1645['_authorId']&&(_0x29b5f7['return']=null,_0x29b5f7['stop']());},{'priority':'high'}),this['listenTo'](_0x113caf['model']['document']['selection'],'change:range',(_0x40b134,_0x19ff98)=>{_0x19ff98['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x113caf['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x113caf['model']['on']('applyOperation',(_0x418991,_0x160673)=>{const _0x1f1b2c=_0x160673[0x0];_0x1f1b2c['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1f1b2c),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x3c2ee4,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0xd1e5cd,_0x451249,_0x9bca16)=>'connected'===_0xd1e5cd&&!_0x451249&&!_0x9bca16),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x113caf['disableReadOnlyMode']('rtc-offline'):_0x113caf['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x113caf['disableReadOnlyMode']('rtc-offline'):_0x113caf['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x408179=this['editor']['plugins']['get'](Q),_0x1034fe=this['editor']['plugins']['get'](J);try{this['_isPendingUpdate']=!0x0,_0x408179['unregister'](this['_channelId']);const _0x142bf7=await this['_service']['reconnect'](_0x1034fe['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x142bf7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4a832f=await this['_service']['getConnectedSessions']();_0x408179['register'](this['_channelId'],_0x4a832f),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x292e2a){if(function(_0x2da8fe){return'404'===_0x2da8fe['code'];}(_0x292e2a)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5ef61f){return'409'===_0x5ef61f['code'];}(_0x292e2a)){const _0x35f2fc=et(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'](_0x35f2fc);}else{if(!(_0x292e2a instanceof nt))throw _0x292e2a;this['_handleReconnectionError']();}}}}destroy(){const _0x493432=this['editor']['plugins']['get'](J),_0x5bcd54=this['editor']['plugins']['get'](Q);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5bcd54['channelSessions']['has'](this['_channelId'])&&_0x5bcd54['unregister'](this['_channelId']),_0x493432['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x28c1c3){if(this['sessionId']!==_0x28c1c3['sessionId']&&this['_lastSyncedOperationId']!==_0x28c1c3['lastOperationId'])throw new nt();return this['sessionId']=_0x28c1c3['sessionId'],this['_handleServerResponse']([],{..._0x28c1c3,'wereChangesApplied':!0x1,'data':_0x28c1c3['data']},'reconnect');}async _connectService(_0x24a14a,_0x27bcb6=!0x1){const {connection:_0x555c4c}=this['editor']['plugins']['get'](J);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x555c4c,this['_channelId'])['then'](_0x3eb2fa=>this['_initSessionsHandling'](_0x3eb2fa))['catch'](_0x22d122=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x22d122);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1132a0,_0x4d5a1c)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4d5a1c);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x1a6c35=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x24a14a);this['_isPendingUpdate']=!0x0;const _0x3c12f5=await this['_service']['connect'](_0x555c4c,this['_compressOperations'](_0x24a14a),_0x1a6c35);if(this['sessionId']=_0x3c12f5['sessionId'],_0x27bcb6){if(!_0x3c12f5['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3c12f5['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x24a14a,_0x3c12f5,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3c12f5,_0x24a14a);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x3f0981=this['editor']['plugins']['get'](Q),_0x12b822=this['editor']['plugins']['get'](X),_0x556ab1=_0x3f0981['channelSessions']['get'](this['_channelId']);_0x556ab1&&_0x556ab1['length']>0x1?_0x12b822['createUserMarkerOperations']():this['listenTo'](_0x3f0981,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3f0981['channelSessions']['get'](this['_channelId'])['length']&&_0x12b822['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x3b0354,_0x2a256a,_0x1675d4,_0x4b4b64){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2a256a){const _0x16b33e=this['_decompressOperations'](_0x1675d4,_0x4b4b64);await this['_fetchMissingUsers'](_0x16b33e),this['_handleExternalOperations'](_0x16b33e,_0x2a256a,_0x1675d4['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x56e421}=this['editor'];let _0x153180;try{_0x153180=await this['_service']['getDocumentDetails']();}catch{const _0x2fae61=et(_0x56e421,'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'](_0x2fae61);}const _0x2392e5=_0x153180['currentDocumentSession']||_0x153180['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2392e5['lastOperationId']){const _0x11820a=et(_0x56e421,'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'](_0x11820a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x467bb6=this['editor']['plugins']['get'](J);if(this['_isConnected']=!0x1,!_0x467bb6['connection']||'connected'!==_0x467bb6['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x18edf1=this['editor']['plugins']['get'](Q);_0x18edf1['channelSessions']['has'](this['_channelId'])&&_0x18edf1['unregister'](this['_channelId']),_0x467bb6['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0xb93949){const _0x37f805=this['editor']['plugins']['get'](Q);this['listenTo'](_0x37f805,'sessionAdd:'+this['_channelId'],(_0x199cf7,{session:_0x1f6e85})=>{if(_0x1f6e85['id']===_0x37f805['mySessionId']){_0x199cf7['off']();const _0x2ac4ea=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x144823=_0x1f6e85['permissions'];_0x2ac4ea&&_0x2ac4ea['isEnabled']&&(_0x144823=_0x144823['filter'](_0xa1f040=>'document:write'!==_0xa1f040)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x144823,this['_channelId']);}}),_0x37f805['register'](this['_channelId'],_0xb93949);}_initThrowingOnDataSet(){const _0x2e0c92=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x146860)=>{if(!_0x146860[_0x146860['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1cba4d('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2e0c92['apply'](this['editor']['data'],_0x146860);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x3aff83,[_0x49ed80])=>{if(this['_document']['version'])throw new _0x1cba4d('realtimecollaborationclient-init-document-already-initialized',this);_0x3aff83['stop'](),this['_setPendingAction']();const _0x50f38e=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x11c12a])=>!_0x11c12a['lazyLoad'])['map'](([_0xf032d2,_0x5f4584])=>[_0xf032d2,_0x5f4584['modelAttributes']||{}])),_0x586c24=this['_getOperationsFromInitData'](_0x49ed80,_0x50f38e);0x0==_0x586c24['length']&&_0x586c24['push'](new _0x3884c7(0x0)),_0x3aff83['return']=this['_connectService'](_0x586c24)['then'](()=>{this['editor']['plugins']['get'](J)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x482828=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x482828))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x159885,[_0x5aeb41,_0x3ddb7f])=>{_0x159885['stop']();const _0x6a65c6=this['editor']['model']['document']['getRoot'](_0x5aeb41);if(!this['_knownRootNames']['has'](_0x5aeb41)){const _0x54e52b=_0x3ddb7f&&_0x3ddb7f['data']?_0x3ddb7f['data']:'',_0x1bbb92=_0x3ddb7f&&_0x3ddb7f['attributes']?_0x3ddb7f['attributes']:{};await this['_loadRoot'](_0x5aeb41,_0x54e52b,_0x1bbb92);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x6a65c6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x6a65c6);});},{'priority':'high'});}async _fetchMissingUsers(_0x3b91a8){const _0x1fda01=this['editor']['plugins']['get'](_0x4857ba),{connection:_0x30ecec}=this['editor']['plugins']['get'](J),_0x107b21=new Set();for(const _0x1db2b4 of _0x3b91a8){const _0x112db8=_0x1db2b4['_authorId'];_0x112db8&&!_0x1fda01['getUser'](_0x112db8)&&_0x107b21['add'](_0x112db8);}if(0x0===_0x107b21['size'])return;const _0x205927=await _0x11acf3['getMany'](_0x30ecec,Array['from'](_0x107b21));for(const _0x5718b8 of _0x205927)_0x1fda01['getUser'](_0x5718b8['id'])||_0x1fda01['addUser'](_0x5718b8);}_getOperationsFromInitData(_0x3b5b75,_0x581ef1={}){const _0x2129f1=this['editor']['model'],_0x156b26=[];let _0xd2fef2=0x0;const _0x21ac30='string'==typeof _0x3b5b75?{'main':_0x3b5b75}:_0x3b5b75;for(const _0x458c89 of Object['keys'](_0x21ac30)){if(!this['_document']['roots']['has'](_0x458c89))throw new _0x1cba4d('realtimecollaborationclient-init-non-existent-root',this);const _0x24cc2f=this['_document']['getRoot'](_0x458c89),_0x5f4b3b=this['editor']['data']['parse'](_0x21ac30[_0x458c89],_0x24cc2f),_0x1d6e02=new _0x215f26(_0x2129f1['createPositionAt'](_0x24cc2f,0x0),_0x5f4b3b,_0xd2fef2++);_0x156b26['push'](_0x1d6e02);for(const [_0x46faa5,_0x2ebb76]of _0x5f4b3b['markers']){const _0x3c483d=_0x2129f1['createRange'](_0x2129f1['createPositionFromPath'](_0x24cc2f,_0x2ebb76['start']['path']['slice']()),_0x2129f1['createPositionFromPath'](_0x24cc2f,_0x2ebb76['end']['path']['slice']())),_0x56a61f=new _0x524ea7(_0x46faa5,null,_0x3c483d,_0x2129f1['markers'],!0x0,_0xd2fef2++);_0x156b26['push'](_0x56a61f);}}if(_0x581ef1)for(const [_0xe9d46c,_0x13a8f4]of Object['entries'](_0x581ef1)){const _0x3e1761=_0x2129f1['document']['getRoot'](_0xe9d46c);if(!_0x3e1761)throw new _0x1cba4d('multi-root-editor-root-attributes-no-root',null);for(const [_0x5de652,_0x49b02c]of Object['entries'](_0x13a8f4))if(null!==_0x49b02c){const _0x1d3200=new _0xdd6fed(_0x3e1761,_0x5de652,null,_0x49b02c,_0xd2fef2++);_0x156b26['push'](_0x1d3200);}}return _0x156b26;}async _loadRoot(_0x40485f,_0x5120f0,_0x4f1888){this['_getOperationsFromInitData']({[_0x40485f]:_0x5120f0},{[_0x40485f]:_0x4f1888})['forEach']((_0x2684c7,_0x56d6d2)=>{_0x2684c7['baseVersion']=this['_document']['version']+_0x56d6d2,_0x2684c7['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2684c7);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x3b3fed,_0x4c5fd2){let _0x2a2098;this['_offset']=_0x3b3fed['offset'];const _0x1b1701=_0x3b3fed['wereChangesApplied']&&!_0x3b3fed['initData'],_0x393dd8=_0x1b1701?0x0:_0x3b3fed['data']['baseVersion'];if(_0x4c5fd2['forEach'](_0x352ce5=>{_0x352ce5['_isInit']=!0x0,_0x352ce5['createdAt']=_0x3b3fed['sessionCreatedAt'],_0x352ce5['_authorId']=null;}),_0x1b1701)_0x2a2098=_0x4c5fd2,this['_applyOperationsSet'](_0x2a2098,_0x1b1701);else{if(_0x3b3fed['initData']){const _0x3d9e6f=this['_getOperationsFromInitData'](_0x3b3fed['initData']);this['_document']['history']['version']=-_0x3d9e6f['length'],_0x3d9e6f['forEach'](_0x5d4dcd=>{_0x5d4dcd['baseVersion']-=_0x3d9e6f['length'],_0x5d4dcd['createdAt']=_0x3b3fed['sessionCreatedAt'],_0x5d4dcd['_isInit']=!0x0,_0x5d4dcd['_authorId']=null;}),this['_applyOperationsSet'](_0x3d9e6f,!0x0),this['serverHistory']['version']=-_0x3d9e6f['length']+this['_offset'],this['_updateServerHistory'](_0x3d9e6f);}this['_document']['history']['version']=_0x393dd8,_0x2a2098=this['_decompressOperations'](_0x3b3fed['data'],_0x3b3fed['metadata']),await this['_fetchMissingUsers'](_0x2a2098),this['_applyOperationsSet'](_0x2a2098,_0x1b1701);}_0x3b3fed['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2a2098,_0x3b3fed['lastOperationId']),this['_lastSyncedOperationId']=_0x3b3fed['lastOperationId']),this['serverHistory']['version']=_0x393dd8+this['_offset'],this['_updateServerHistory'](_0x2a2098),_0x4c5fd2['filter'](_0x5b0f56=>{const _0x25eb18=this['_getAffectedRoot'](_0x5b0f56);return _0x25eb18&&!this['_knownRootNames']['has'](_0x25eb18);})['forEach']((_0x4ee752,_0x330946)=>{_0x4ee752['baseVersion']=this['_document']['version']+_0x330946,this['_saveOperationInBuffer'](_0x4ee752);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2ef435,_0x5ebe70){const _0x3a9b5a=_0x5ebe70&&_0x5ebe70['message'];if(_0x3a9b5a&&_0x3a9b5a['startsWith']('realtimecollaborationclient'))throw _0x5ebe70;const _0x128ec9=this['editor']['plugins']['get'](J);throw this['_isPendingUpdate']=!0x0,_0x128ec9['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1cba4d(_0x2ef435,this['editor'],_0x3a9b5a?{'originalError':_0x3a9b5a}:void 0x0);}_saveOperationInBuffer(_0x332a2b){this['_knownOperations']['has'](_0x332a2b)||(this['_knownOperations']['add'](_0x332a2b),this['_bufferedOperations']['push'](_0x332a2b),this['_pendingAction']||'marker'==_0x332a2b['type']&&!_0x332a2b['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x5481c1=!0x1){!_0x5481c1&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xcc4d95=>{_0xcc4d95&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xb5c27e=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2fa172){return _0x2fa172['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2fa172['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2fa172['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xb5c27e)||this['_crash'](_0xb5c27e['message'],_0xb5c27e);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x26c031=>{this['on']('change:_isPendingUpdate',()=>{_0x26c031();});});}async _sendBufferedOperations(){const _0x275be4=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x275be4['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1d80f3=[...this['_bufferedOperations']];for(const _0x25207b of _0x1d80f3)_0x25207b['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x25207b);const _0x31e202=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1d80f3),_0x53a232=st++,_0x2421d3=this['_compressOperations'](_0x1d80f3),_0x46e209=await this['_service']['sendOperations'](_0x2421d3,_0x2421d3['baseVersion'],_0x31e202);try{return await this['_handleServerResponse'](_0x1d80f3,_0x46e209,_0x53a232);}catch(_0xb54601){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xb54601);}}async['_handleServerResponse'](_0xe832cb,_0xe027fe,_0x44b504){if('error'in _0xe027fe)throw _0xe027fe['error'];let _0x3d875c;if(_0xe027fe['wereChangesApplied']){_0xe027fe['lastOperationId']&&(this['_lastSyncedOperationId']=_0xe027fe['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x46587d=>!_0xe832cb['includes'](_0x46587d));for(const _0x585158 of _0xe832cb)_0x585158['createdAt']='lastOperationAcceptedAt'in _0xe027fe&&_0xe027fe['lastOperationAcceptedAt']||void 0x0;ot(_0xe832cb,_0xe027fe['version']-_0xe832cb['length']),this['_updateServerHistory'](_0xe832cb);const _0x6a258c=_0xe832cb['filter'](_0x1144ed=>{if(!_0x1144ed['_isInit'])return!0x1;const _0x436ff3=this['_getAffectedRoot'](_0x1144ed);return _0x436ff3&&!this['_knownRootNames']['has'](_0x436ff3);});ot(_0x6a258c,this['_document']['version']),this['_applyOperationsSet'](_0x6a258c),_0x3d875c=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3a80b4=this['_decompressOperations'](_0xe027fe['data'],_0xe027fe['metadata'])['filter'](_0xbf30c6=>_0xbf30c6['baseVersion']>=this['_lastServerVersion']);_0x3a80b4['forEach'](_0x4a85ca=>this['_addKnownRoot'](_0x4a85ca)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x370cea=>!_0x370cea['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x370cea))),this['_bufferedOperations']['length']&&ot(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3a80b4),_0x3d875c=this['_handleExternalOperations'](_0x3a80b4,_0xe027fe['version'],_0xe027fe['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3d875c?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x3d3f87,_0x31b514,_0x487c79){try{const _0x4a55a0={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x288df3,operationsB:_0x19a241,originalOperations:_0xd7c972}=_0x94c6ca(_0x3d3f87,this['_bufferedOperations'],_0x4a55a0);ot(_0x288df3,this['_document']['version']),ot(_0x19a241,_0x31b514);for(const _0x385820 of _0x288df3){const _0x5e2c89=_0xd7c972['get'](_0x385820);_0x5e2c89?(_0x385820['_authorId']=_0x5e2c89['_authorId'],'noop'!==_0x385820['type']&&(_0x385820['_aiSource']=_0x5e2c89['_aiSource'])):_0x385820['_authorId']=null;}for(const _0x8aac99 of _0x19a241)'noop'!==_0x8aac99['type']&&(_0x8aac99['_aiSource']=_0xd7c972['get'](_0x8aac99)?.['_aiSource']);_0x487c79&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3d3f87,_0x487c79),this['_lastSyncedOperationId']=_0x487c79),this['_bufferedOperations']=[..._0x19a241],this['_applyOperationsSet'](_0x288df3),this['_updateServerHistory'](_0x3d3f87);}catch(_0x3d6c48){return console['error'](_0x3d6c48),!0x1;}return!0x0;}_applyOperationsSet(_0x4f01c0,_0x3f78a7=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x693090=>{for(const _0xaa2a40 of _0x4f01c0)this['_knownOperations']['add'](_0xaa2a40),this['_addKnownRoot'](_0xaa2a40),_0x693090['batch']['addOperation'](_0xaa2a40),this['editor']['model']['applyOperation'](_0xaa2a40);});}_addKnownRoot(_0x1d773b){const _0x3c4ab5=this['_getAffectedRoot'](_0x1d773b);_0x3c4ab5&&this['_knownRootNames']['add'](_0x3c4ab5);}_getAffectedRoot(_0x48c3d8){let _0x12375f,_0x2907ee;switch(_0x48c3d8['type']){case'insert':_0x12375f=_0x48c3d8['position']['root'];break;case'marker':if(_0x2907ee=_0x48c3d8['newRange'],!_0x2907ee)return null;_0x12375f=_0x2907ee['root'];break;case'addRootAttribute':_0x12375f=_0x48c3d8['root'];break;case'addRoot':_0x12375f=_0x48c3d8['affectedSelectable'];break;case'move':_0x12375f=_0x48c3d8['targetPosition']['root'];break;default:return null;}return _0x12375f['rootName'];}_updateServerHistory(_0x15922a){_0x15922a['forEach'](_0x34c1a4=>{const _0x5a6217=_0x34c1a4['clone']();_0x5a6217['_authorId']=_0x34c1a4['_authorId'],_0x5a6217['_isInit']=!!_0x34c1a4['_isInit'],_0x5a6217['_aiSource']=_0x34c1a4['_aiSource'],_0x5a6217['createdAt']=_0x34c1a4['createdAt'],_0x5a6217['baseVersion']+=this['_offset'],_0x34c1a4['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5a6217),this['serverHistory']['addOperation'](_0x5a6217);});}_handleReconnectionError(_0x3353bb){const _0x45209b=this['editor']['plugins']['get']('Notification'),_0x366872=this['editor']['locale'];_0x3353bb||(_0x3353bb=et(_0x366872,'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.')),_0x45209b['showWarning'](_0x3353bb,{'title':et(_0x366872,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](J)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x1bbdfc)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1bbdfc)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x2b5187){const _0x178797=_0x2b5187['map'](_0x12c1c0=>_0x12c1c0['toJSON']());return this['_compressor']['compress'](_0x178797);}_decompressOperations(_0x148e45,_0x4edd98){return this['_compressor']['decompress'](_0x148e45)['map']((_0x347c83,_0x344b96)=>{const _0x4a8e7a='init'==_0x4edd98[_0x344b96]['type'];if('InsertOperation'==_0x347c83['__className']){const _0x3c12ad=_0x347c83['position']['root'];!this['_document']['getRoot'](_0x3c12ad)&&(this['_document']['createRoot']('$unknown',_0x3c12ad)['_isAttached']=!0x1);}else{if('RootOperation'==_0x347c83['__className']){const _0x563c77=this['_document']['getRoot'](_0x347c83['rootName']);_0x563c77&&'$unknown'==_0x563c77['name']&&_0x347c83['elementName']!=_0x563c77['name']&&(_0x563c77['name']=_0x347c83['elementName']);}}const _0xa6e8a0=_0x5bcd72['fromJSON'](_0x347c83,this['_document']);return _0xa6e8a0['wasUndone']=_0x347c83['wasUndone'],_0xa6e8a0['_isInit']=_0x4a8e7a,_0xa6e8a0['_authorId']=_0x4a8e7a?null:_0x4edd98[_0x344b96]['userId'],_0xa6e8a0['_isDisconnection']='cs:removeUser'===_0x4edd98[_0x344b96]['type'],_0xa6e8a0['_aiSource']=_0x347c83['_aiSource']||void 0x0,_0xa6e8a0['createdAt']=_0x4edd98[_0x344b96]['createdAt'],_0xa6e8a0;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x1a4ef5=this['editor']['plugins']['get'](Q)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1a4ef5&&_0x1a4ef5['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function ot(_0x29a2a9,_0x3945cf){for(const _0x439aa6 of _0x29a2a9)_0x439aa6['baseVersion']=_0x3945cf++;}var rt=class{_ignoredOperations;_operationToId;constructor(_0x2ac582){this['_ignoredOperations']=_0x2ac582,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x19ff3b){let _0x42b3a0=_0x19ff3b['length'];for(;_0x42b3a0--;){const _0x13ffd2=_0x19ff3b[_0x42b3a0];if(!this['_ignoredOperations']['has'](_0x13ffd2)){if(!this['_operationToId']['has'](_0x13ffd2)){const _0x5ea22e=_0x467ff8()['slice'](0x1,0x12);this['_operationToId']['set'](_0x13ffd2,_0x5ea22e);}return this['_operationToId']['get'](_0x13ffd2);}}}setIdForTheLastOperation(_0x21ae6e,_0x1997e6){if(!_0x1997e6)return;let _0x1c29f3=_0x21ae6e['length'];for(;_0x1c29f3--;){const _0x28b801=_0x21ae6e[_0x1c29f3];this['_ignoredOperations']['has'](_0x28b801)||this['_operationToId']['set'](_0x28b801,_0x1997e6);}}},ct=class extends _0x2b96e7{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class CloudServicesCommentsAdapter extends _0x2470ea{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x1f5016)());['_services'];static get requires(){return[J,_0x5ee2c7,Q,_0x4857ba];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x15ccc1){super(_0x15ccc1),this['_services']=new Map();}async init(){const _0x1bf167=this['context'],_0x3f13ac=_0x1bf167['plugins']['get'](_0x5ee2c7);if(_0x1bf167['plugins']['get'](J)['addToReconnectionStack'](this),_0x3f13ac['adapter']={'addCommentThread':async({channelId:_0x4beff3,threadId:_0x18caa7,comments:_0x5c2792,resolvedAt:_0x2927ba,resolvedBy:_0x156437,context:_0x4bc959,attributes:_0x3ddcf4})=>{const _0x3e63e3=await this['_getService'](_0x4beff3)['addCommentThread']({'commentThreadId':_0x18caa7,'comments':_0x5c2792['map'](_0x3a15a0=>function(_0x27cfcf,_0x20447f,_0x32b559){return{'commentThreadId':_0x32b559,'commentId':_0x27cfcf['commentId'],'userId':_0x27cfcf['authorId'],'content':_0x27cfcf['content'],'documentId':_0x20447f,'createdAt':_0x27cfcf['createdAt'],'attributes':_0x27cfcf['attributes']||{}};}(_0x3a15a0,_0x4beff3,_0x18caa7)),'resolvedAt':_0x2927ba,'resolvedBy':_0x156437,'context':_0x4bc959,'attributes':_0x3ddcf4})['catch'](lt);return{'threadId':_0x3e63e3['commentThreadId'],'comments':_0x3e63e3['comments']};},'getCommentThread':async({channelId:_0x254049,threadId:_0x51245d})=>{const _0x19e859=await this['_getService'](_0x254049)['getCommentThread'](_0x51245d)['catch'](ht)['catch'](lt);return _0x19e859?_0x19e859['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x19e859]),{'threadId':_0x19e859['commentThreadId'],'comments':_0x19e859['comments']['map'](dt),'context':_0x19e859['context'],'resolvedAt':_0x19e859['resolvedAt'],'resolvedBy':_0x19e859['resolvedBy'],'attributes':_0x19e859['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3f4bfa,threadId:_0x6480b2,context:_0x2db593,unlinkedAt:_0x55ada6,attributes:_0x2f69d0})=>this['_getService'](_0x3f4bfa)['updateCommentThread']({'commentThreadId':_0x6480b2,'context':_0x2db593,'attributes':_0x2f69d0,'unlinkedAt':_0x55ada6})['catch'](ht)['catch'](lt),'resolveCommentThread':async({channelId:_0x315351,threadId:_0x22e629})=>{const _0x286b11=await this['_getService'](_0x315351)['resolveCommentThread'](_0x22e629)['catch'](ht)['catch'](lt);return{'threadId':_0x286b11['commentThreadId'],'resolvedAt':_0x286b11['resolvedAt'],'resolvedBy':_0x286b11['resolvedBy']};},'reopenCommentThread':async({channelId:_0xca9231,threadId:_0x10873d})=>this['_getService'](_0xca9231)['reopenCommentThread'](_0x10873d)['catch'](ht)['catch'](lt),'removeCommentThread':({channelId:_0x55d11e,threadId:_0x4452d3})=>this['_getService'](_0x55d11e)['removeCommentThread'](_0x4452d3)['catch'](ht)['catch'](lt),'addComment':({channelId:_0x11a3e1,threadId:_0x44212a,commentId:_0x15b44e,content:_0x5766cb,attributes:_0x3a3608})=>this['_getService'](_0x11a3e1)['addComment'](_0x44212a,_0x15b44e,_0x5766cb,_0x3a3608)['catch'](lt),'updateComment':({channelId:_0x41a17f,threadId:_0x279e96,commentId:_0x38ca7d,content:_0x37eb78,attributes:_0x4797ca})=>this['_getService'](_0x41a17f)['updateComment'](_0x279e96,_0x38ca7d,_0x37eb78,_0x4797ca)['catch'](ht)['catch'](lt),'removeComment':({channelId:_0x1b140e,threadId:_0x59883f,commentId:_0x73061})=>this['_getService'](_0x1b140e)['removeComment'](_0x59883f,_0x73061)['catch'](ht)['catch'](lt)},_0x1bf167 instanceof _0x46ea9b){const _0x40bcc7=_0x1bf167['config']['get']('collaboration.channelId'),_0x1a718e=_0x1bf167['plugins']['get'](Q);await this['_setUpService'](_0x40bcc7);const _0x1286ce=await this['_services']['get'](_0x40bcc7)['getConnectedSessions']();this['listenTo'](_0x1a718e,'sessionAdd:'+_0x40bcc7,(_0x1b64c7,{session:_0x184cb3})=>{_0x184cb3['id']===_0x1a718e['mySessionId']&&(_0x1b64c7['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x184cb3['permissions'],_0x40bcc7));}),_0x1a718e['register'](_0x40bcc7,_0x1286ce);}}async _setUpService(_0x32c545){if(this['_services']['has'](_0x32c545))throw new _0x1cba4d('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x32c545});const _0x496bac=this['context']['plugins']['get'](_0x5ee2c7),_0x9fd76c=new CloudServicesCommentsAdapter['CommentsService'](_0x32c545);this['_services']['set'](_0x32c545,_0x9fd76c),this['listenTo'](_0x9fd76c,'commentThreadAdded',(_0x1bc7fa,_0x533ef5)=>{const {commentThreadId:_0x21cd86,documentId:_0x33d231,context:_0x1a6eb0,attributes:_0x1c8b2c,resolvedAt:_0x156dde,resolvedBy:_0x26f26a,comments:_0x493754}=_0x533ef5;_0x496bac['getCommentThread'](_0x21cd86)||_0x496bac['addCommentThread']({'threadId':_0x21cd86,'channelId':_0x33d231,'comments':_0x493754?_0x493754['map'](dt):[],'context':_0x1a6eb0,'attributes':_0x1c8b2c,'resolvedAt':_0x156dde,'resolvedBy':_0x26f26a,'isFromAdapter':!0x0});}),this['listenTo'](_0x9fd76c,'commentThreadUpdated',(_0x6f0754,{commentThreadId:_0x4ceb24,documentId:_0x3a6eab,context:_0x486287,unlinkedAt:_0x5b8aa8,attributes:_0x1ae8e1})=>{_0x496bac['getCommentThread'](_0x4ceb24)&&_0x496bac['updateCommentThread']({'threadId':_0x4ceb24,'channelId':_0x3a6eab,'context':_0x486287,'unlinkedAt':_0x5b8aa8,'attributes':_0x1ae8e1,'isFromAdapter':!0x0});}),this['listenTo'](_0x9fd76c,'commentThreadResolved',(_0x25aa1b,{commentThreadId:_0xd36ddb,resolvedBy:_0x52748f,resolvedAt:_0x41b099})=>{const _0x28ec49=_0x496bac['getCommentThread'](_0xd36ddb);_0x28ec49&&_0x28ec49['resolve']({'resolvedBy':_0x52748f,'resolvedAt':_0x41b099,'isFromAdapter':!0x0});}),this['listenTo'](_0x9fd76c,'commentThreadReopened',(_0x32285d,{commentThreadId:_0x2028e2})=>{const _0x33b09e=_0x496bac['getCommentThread'](_0x2028e2);_0x33b09e&&_0x33b09e['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x9fd76c,'commentThreadRemoved',(_0x473158,{commentThreadId:_0xaddebf})=>{const _0x5b760d=_0x496bac['getCommentThread'](_0xaddebf);_0x5b760d&&_0x5b760d['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x9fd76c,'commentAdded',(_0x3e2b65,_0x3986c3)=>{const _0x3fa505=_0x3986c3['commentThreadId'],_0x494a7a=_0x496bac['getCommentThread'](_0x3fa505);_0x494a7a&&_0x494a7a['addComment']({...dt(_0x3986c3),'isFromAdapter':!0x0});}),this['listenTo'](_0x9fd76c,'commentUpdated',(_0x5ec0ce,{commentThreadId:_0x5295bd,commentId:_0x31aefd,content:_0xda58d5,attributes:_0x2a7641})=>{const _0xdc5667=_0x496bac['getCommentThread'](_0x5295bd);if(_0xdc5667){const _0xda8afb=_0xdc5667['getComment'](_0x31aefd);_0xda8afb&&_0xda8afb['update']({'content':_0xda58d5,'attributes':_0x2a7641,'isFromAdapter':!0x0});}}),this['listenTo'](_0x9fd76c,'commentRemoved',(_0x5029b3,{commentThreadId:_0x146876,commentId:_0xd1b908})=>{const _0x194905=_0x496bac['getCommentThread'](_0x146876);if(_0x194905){const _0xde32cb=_0x194905['getComment'](_0xd1b908);_0xde32cb&&_0xde32cb['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x9fd76c,'disconnected',()=>{'connected'===this['context']['plugins']['get'](J)['connection']?.['state']&&(this['_services']['delete'](_0x32c545),this['stopListening'](_0x9fd76c));}),await this['_connectService'](_0x32c545);}destroy(){if(this['context']instanceof _0x46ea9b){const _0x4e6047=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x4e6047)&&this['_terminateService'](_0x4e6047);}}_terminateService(_0x2c3a0f){if(!this['_services']['has'](_0x2c3a0f))throw new _0x1cba4d('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2c3a0f});this['_getService'](_0x2c3a0f)['disconnect'](),this['_services']['delete'](_0x2c3a0f);}async reconnect(){for(const _0x41c5e0 of this['_services']['keys']())await this['_connectService'](_0x41c5e0);if(this['context']instanceof _0x46ea9b){const _0x3345c9=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x3345c9)){const _0x526938=this['context']['plugins']['get'](Q);_0x526938['unregister'](_0x3345c9);const _0x3dd858=await this['_services']['get'](_0x3345c9)['getConnectedSessions']();_0x526938['register'](_0x3345c9,_0x3dd858);}}}async _connectService(_0x4f156c){const {connection:_0x2347a4}=this['context']['plugins']['get'](J),_0x1b4738=this['context']['plugins']['get'](_0x5ee2c7),_0x2fc9d0=await this['_services']['get'](_0x4f156c)['connect'](_0x2347a4);await this['_fetchMissingUsersForThreads'](_0x2fc9d0);const _0x5abbea=new Set(Array['from'](_0x1b4738['getCommentThreads']({'channelId':_0x4f156c}),_0x286024=>_0x286024['id']));for(const _0x5e1dd7 of _0x2fc9d0)_0x5e1dd7['deletedAt']||_0x5abbea['delete'](_0x5e1dd7['commentThreadId']);for(const _0x499242 of _0x5abbea)_0x1b4738['getCommentThread'](_0x499242)['remove']({'isFromAdapter':!0x0});for(const _0x28275d of _0x2fc9d0){let _0x5d9d93=_0x1b4738['getCommentThread'](_0x28275d['commentThreadId']);const {commentThreadId:_0x323574,context:_0x30cb2c,attributes:_0x100d56,resolvedBy:_0x3e9e3c,resolvedAt:_0x5b1648,unlinkedAt:_0x4a7908,deletedAt:_0x5a4fa7}=_0x28275d;if(_0x5a4fa7)continue;_0x5d9d93||(_0x5d9d93=_0x1b4738['addCommentThread']({'channelId':_0x4f156c,'threadId':_0x323574,'context':_0x30cb2c,'attributes':_0x100d56||{},'resolvedBy':_0x3e9e3c,'resolvedAt':_0x5b1648,'unlinkedAt':_0x4a7908,'isFromAdapter':!0x0}));const _0x37e888=new Set(Array['from'](_0x5d9d93['comments'],_0x15e5b2=>_0x15e5b2['id']));for(const _0x534b90 of _0x28275d['comments'])_0x37e888['delete'](_0x534b90['commentId']);for(const _0x15077b of _0x37e888)_0x5d9d93['getComment'](_0x15077b)['remove']({'isFromAdapter':!0x0});for(const _0x4615ad of _0x28275d['comments']){const _0x44285a=_0x5d9d93['getComment'](_0x4615ad['commentId']);_0x44285a?_0x44285a['content']!==_0x4615ad['content']&&_0x44285a['update']({'content':_0x4615ad['content'],'isFromAdapter':!0x0}):_0x5d9d93['addComment'](Object['assign'](dt(_0x4615ad),{'isFromAdapter':!0x0}));}}}_getService(_0x3197c7){if(!this['_services']['has'](_0x3197c7))throw new _0x1cba4d('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3197c7});return this['_services']['get'](_0x3197c7);}async _fetchMissingUsersForThreads(_0x5e89dc){const _0x597a9d=this['context']['plugins']['get'](_0x4857ba),{connection:_0x19379e}=this['context']['plugins']['get'](J),_0x316747=new Set();for(const {resolvedBy:_0x25de98,comments:_0x538666}of _0x5e89dc){_0x25de98&&!_0x597a9d['getUser'](_0x25de98)&&_0x316747['add'](_0x25de98);for(const {userId:_0x229c15}of _0x538666)_0x597a9d['getUser'](_0x229c15)||_0x316747['add'](_0x229c15);}if(0x0===_0x316747['size'])return;const _0x5e924b=await _0x11acf3['getMany'](_0x19379e,Array['from'](_0x316747));for(const _0x3d9d5f of _0x5e924b)_0x597a9d['getUser'](_0x3d9d5f['id'])||_0x597a9d['addUser'](_0x3d9d5f);}};async function ht(_0x19d3c0){if('404'!==_0x19d3c0['code'])throw _0x19d3c0;}function lt(_0x492a71){if((_0x181ef1=_0x492a71)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x181ef1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x181ef1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x181ef1;throw _0x492a71;}function dt(_0x5e448b){return{'threadId':_0x5e448b['commentThreadId'],'commentId':_0x5e448b['commentId'],'content':_0x5e448b['content'],'createdAt':_0x5e448b['createdAt'],'authorId':_0x5e448b['userId'],'attributes':_0x5e448b['attributes']||{}};}var ut=class CloudServicesTrackChangesAdapter extends _0x2b96e7{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x15f775)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[J,it,_0x422c21,Q,_0x4857ba];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12190a){super(_0x12190a);const _0x45b128=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x45b128);}async init(){const _0x9682e6=this['editor']['plugins']['get'](it),_0x4c398e=_0x9682e6['serverHistory'],_0x588f25=this['editor']['plugins']['get'](J);this['_revisionTracker']['setSource']({'history':_0x4c398e,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x9682e6['sessionId']});const _0x549b04=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x3a3f2b,_0x1bb4c5=await _0x4f77ac['isBundleUploaded'](_0x588f25['connection'],_0x549b04);this['editor']['plugins']['get'](_0x422c21)['adapter']={'getRevision':async({revisionId:_0x2c5953})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2c5953)),'updateRevisions':async _0x25aecd=>{await this['_waitForServiceReady']();const _0x4f512b=this['_revisionTracker']['currentRevision'];if(_0x1bb4c5&&0x1===_0x25aecd['length']&&_0x25aecd[0x0]['id']===_0x4f512b['id'])return _0x25aecd;for(const _0x29a23e of _0x25aecd)_0x29a23e['id']===_0x4f512b['id']&&(_0x29a23e['isEmptyCurrent']=_0x29a23e['fromVersion']===_0x29a23e['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x25aecd,this['_lastRequestId'])['then'](_0x1cfb9=>(this['_lastRequestId']=_0x1cfb9,_0x25aecd))['catch'](_0x31afe2=>{if(vt(_0x31afe2)||'400'===_0x31afe2['code']&&void 0x0!==_0x31afe2['data']['wrongRequestId']){for(const _0x473188 of _0x25aecd)this['_revisionTracker']['repository']['getRevision'](_0x473188['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x473188['id'],_0x473188,!0x1);if(vt(_0x31afe2)&&'destroyed'!==this['editor']['state'])throw _0x31afe2;return _0x25aecd;}throw _0x31afe2;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4d9e41,{revisionsData:_0x31d010,requestId:_0x53258c})=>{Math['max'](..._0x31d010['map'](_0x388b26=>_0x388b26['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x31d010,_0x53258c);}):this['_handleRevisionsUpdate'](_0x31d010,_0x53258c);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x588f25['connection']?.['state']&&(_0x588f25['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x47f72c,requestId:_0x5492b6}=await this['_revisionHistoryService']['connect'](_0x588f25['connection']);_0x588f25['addToReconnectionStack'](this),this['_lastRequestId']=_0x5492b6,await this['_fetchMissingUsers'](_0x47f72c);for(const _0x2c5f98 of _0x47f72c)this['_revisionTracker']['addRevisionData'](_0x2c5f98);this['listenTo'](_0x9682e6,'change:_isConnected',(_0x270eb3,_0x45ef92,_0x3023c1)=>{_0x3023c1&&(this['_oldOffset']=_0x9682e6['_offset'],_0x270eb3['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0xa42c4a=this['editor']['plugins']['get'](J),_0x5f53ff=this['editor']['plugins']['get'](it),_0x2ab015=async()=>{const _0x290328=this['_revisionTracker']['currentRevision'],_0x4600a2=_0x290328['id'],_0x582ff0=_0x4600a2!==_0x5f53ff['sessionId'];if(_0x582ff0){const _0x48b4fe=_0x5f53ff['_offset']-this['_oldOffset'],_0x37eef3=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x290328['toVersion']+_0x48b4fe!==_0x37eef3){const _0x33f02c=_0x290328['fromVersion']+_0x48b4fe,_0x244613=this['editor']['plugins']['get'](_0x4857ba),_0x43cdaf=this['_revisionTracker']['buildRevisionData']({'revision':_0x290328,'from':_0x33f02c,'to':_0x37eef3});_0x43cdaf['id']=_0x290328['id'];const _0x17697f=_0x43cdaf['authorsIds']['map'](_0x3083f9=>_0x244613['getUser'](_0x3083f9));_0x290328['_update']({..._0x43cdaf,'authors':_0x17697f},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x290328['id'],_0x43cdaf,!0x0);}this['_revisionTracker']['_startingVersion']=_0x37eef3,_0x290328['toVersion']!==_0x290328['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x4600a2)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x4600a2),this['_revisionTracker']['_createCurrentRevision'](_0x37eef3);}const {revisions:_0x42ab51,requestId:_0x156b3a}=await this['_revisionHistoryService']['reconnect'](_0xa42c4a['connection'],this['_lastRequestId']);_0x582ff0&&_0x42ab51['length']>0x0?_0x5f53ff['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x42ab51),this['_handleRevisionsUpdate'](_0x42ab51,_0x156b3a),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5f53ff['_isConnected']?_0x2ab015():new Promise((_0x4b8ab8,_0x8417de)=>{_0x5f53ff['once']('change:_isConnected',()=>{_0x2ab015()['then'](_0x4b8ab8)['catch'](_0x8417de);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x335017=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5cb928=>{_0x5cb928['off'](),_0x335017();});});}_getLatestVersionFromServerOperations(){const _0x3193a4=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x414c16 of _0x3193a4)if('marker'!==_0x414c16['type']||_0x414c16['affectsData'])return _0x414c16['baseVersion']+0x1;}_getLatestVersion(){const _0x5a80e5=this['editor']['plugins']['get'](it);return new Promise(_0xd0e871=>{_0x5a80e5['_isPendingUpdate']?_0x5a80e5['once']('change:_isPendingUpdate',()=>{_0xd0e871(this['_getLatestVersionFromServerOperations']());}):_0xd0e871(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x558426,_0x3133){const _0x489b76=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3133;for(const _0x354312 of _0x558426){const _0x339aba=_0x489b76['getRevision'](_0x354312['id']);if(_0x339aba){if((_0x354312['fromVersion']||_0x354312['toVersion'])&&(_0x354312['diffData']=null),_0x339aba===this['_revisionTracker']['currentRevision']){const _0x5b266d=Math['max'](_0x339aba['toVersion'],_0x354312['toVersion']),_0x28cba4=Math['max'](_0x339aba['fromVersion'],_0x354312['fromVersion']);let _0x2c58a4;_0x339aba['toVersion']===_0x354312['toVersion']&&_0x339aba['fromVersion']===_0x354312['fromVersion']?(_0x2c58a4=!0x0,this['_preventResendingRevisionData'](_0x354312)):_0x354312['toVersion']===_0x5b266d&&_0x354312['fromVersion']===_0x28cba4?_0x2c58a4=!0x1:(_0x339aba['toVersion']===_0x5b266d&&_0x339aba['fromVersion']===_0x28cba4||this['_fixRevision']({'revision':_0x339aba,'from':_0x28cba4,'to':_0x5b266d}),_0x2c58a4=!0x0),_0x2c58a4&&(delete _0x354312['fromVersion'],delete _0x354312['toVersion'],delete _0x354312['diffData'],delete _0x354312['createdAt'],delete _0x354312['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x354312),this['_preventResendingRevisionData'](_0x354312);}else this['_revisionTracker']['addRevisionData'](_0x354312);}const _0x5252f3=_0x489b76['getRevisions']();_0x5252f3['reverse']();for(let _0x5a9c91=0x0;_0x5a9c91<_0x5252f3['length']-0x1;_0x5a9c91++){const _0x2adb0f=_0x5252f3[_0x5a9c91],_0x25980a=_0x5252f3[_0x5a9c91+0x1];if(_0x2adb0f['fromVersion']<_0x25980a['toVersion']){const _0x4b19b=_0x25980a['toVersion'],_0x37d95a=Math['max'](_0x4b19b,_0x2adb0f['toVersion']);this['_fixRevision']({'revision':_0x2adb0f,'from':_0x4b19b,'to':_0x37d95a});}}}['_fixRevision']({revision:_0x3620ae,from:_0x5acd4e,to:_0x3bb4b4}={}){const _0x112a06=this['editor']['plugins']['get'](_0x4857ba),_0x5201fd=this['_revisionTracker']['buildRevisionData']({'revision':_0x3620ae,'from':_0x5acd4e,'to':_0x3bb4b4});_0x5201fd['authors']=_0x5201fd['authorsIds']['map'](_0x34b99b=>_0x112a06['getUser'](_0x34b99b)),_0x3620ae['_update'](_0x5201fd);}_preventResendingRevisionData(_0x37f5ae){const _0x12067a={};_0x12067a['id']=_0x37f5ae['id'];for(const _0x1f2417 of Object['keys'](_0x37f5ae))'id'!==_0x1f2417&&(_0x12067a[_0x1f2417]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x12067a['id'],_0x12067a,!0x0);}async _fetchMissingUsers(_0x157750){const _0x5bac06=this['editor']['plugins']['get'](_0x4857ba),{connection:_0x8f8e3}=this['editor']['plugins']['get'](J),_0xb22b5f=new Set();for(const _0x558d03 of _0x157750){for(const _0x14f162 of _0x558d03['authorsIds'])_0x1223fd(_0x14f162);_0x558d03['creatorId']&&_0x1223fd(_0x558d03['creatorId']);}if(0x0===_0xb22b5f['size'])return;const _0x4ef119=await _0x11acf3['getMany'](_0x8f8e3,Array['from'](_0xb22b5f));for(const _0x167644 of _0x4ef119)_0x5bac06['getUser'](_0x167644['id'])||_0x5bac06['addUser'](_0x167644);function _0x1223fd(_0x5d05ac){_0x5bac06['getUser'](_0x5d05ac)||_0xb22b5f['add'](_0x5d05ac);}}};function vt(_0xe7dc9a){return _0xe7dc9a['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xe7dc9a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xe7dc9a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var _t=class extends _0x2b96e7{static get requires(){return[_0x422c21,wt,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},yt=class extends _0x1bdd03{_collapseAt;constructor(_0x397476,_0x575d84=0x6){super(_0x397476);const _0x1404fa=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x575d84,this['bind']('isHidden')['to'](this,'usersCount',_0x3788c3=>_0x3788c3<_0x575d84),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1404fa['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':_0x1404fa['to']('usersCount',_0x34723c=>'+'+(_0x34723c-this['_collapseAt']+0x2)['toString']())}]}]}]});}},bt=class extends _0x1bdd03{items;keystrokes;constructor(_0xb1f413){super(_0xb1f413);const _0xc8ce28=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4cd84c(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xc8ce28['if']('hasPopup'),'aria-expanded':_0xc8ce28['to']('isExpanded',_0xc53284=>this['hasPopup']&&String(_0xc53284)),'aria-label':_0xc8ce28['to']('hasPopup',_0x367e96=>et(_0xb1f413,_0x367e96?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xc8ce28['to']('hasPopup',_0x5f1b42=>!!_0x5f1b42&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x2e5ac5,_0x16db95,_0x5ad3cd)=>{this['element']&&(_0x5ad3cd?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']);}},kt=class extends _0x1bdd03{counterView;inlineListView;constructor(_0x10e938,_0x27f9ab=0x6){super(_0x10e938);const _0x32a7e8=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new yt(this['locale'],_0x27f9ab),this['inlineListView']=new bt(_0x10e938),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x205f4c of this['inlineListView']['items'])_0x205f4c['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',_0x32a7e8['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},It=class extends _0x1bdd03{listWrapperView;constructor(_0x288956,_0x45c6af){super(_0x288956),this['listWrapperView']=new St(_0x288956,_0x45c6af),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x288956,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},St=class extends _0x461b02{constructor(_0x22211f,_0x21a6a4){super(_0x22211f);const _0xef543e=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x21a6a4?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0xef543e['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0xef543e['to']('role'),'aria-label':_0xef543e['to']('ariaLabel'),'aria-labelledby':_0xef543e['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x327fcb['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1a895e=this['element'];_0x1a895e&&(this['_isScrollable']=Math['max'](_0x1a895e['scrollHeight'],_0x1a895e['clientHeight'])>0.8*window['innerHeight']);}},Tt=class extends _0x3fc642{['userView'];constructor(_0x130637,_0xe0d589,_0x124563){super(_0x130637);const _0x2a1598=this['bindTemplate'];this['userView']=new _0x30b579(_0x130637,_0xe0d589);const _0x1fd676={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xe0d589['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xe0d589['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xe0d589['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xe0d589['color']['getColorVariable'](),'--ck-user-color-alpha':_0xe0d589['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x124563&&(_0x1fd676['tag']='button',_0x1fd676['on']={'click':_0x2a1598['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1fd676);}['focus'](){this['element']['focus']();}},Ct=class extends _0x1bdd03{['userView'];['markerView'];constructor(_0x36bb9b,_0x18be7d,_0x4a3b85){super(_0x36bb9b);const _0x577e43=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x30b579(_0x36bb9b,_0x18be7d),this['markerView']=new At(_0x36bb9b,_0x18be7d);const _0x559385=new _0x2576ff(_0x36bb9b);_0x559385['template']['tag']='span',_0x559385['text']=_0x18be7d['name'];const _0x5dd60d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x577e43['to']('isFocusable',_0xa08e26=>_0xa08e26?0x0:-0x1),'aria-labelledby':_0x559385['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x577e43['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x577e43['to']('hasTooltip',_0x1950d5=>!_0x1950d5),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x559385]};_0x4a3b85&&(_0x5dd60d['tag']='button',_0x5dd60d['on']={'click':_0x577e43['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5dd60d);}},At=class extends _0x1bdd03{constructor(_0x55702c,_0x26254d){super(_0x55702c),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x26254d['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x26254d['color']['getColorVariable'](),'--ck-user-color-alpha':_0x26254d['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Pt={'collapseAt':0x6,'displayMe':!0x0};var Ot=class extends _0x2470ea{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3b3fe5){super(_0x3b3fe5),this['context']['config']['define']('presenceList',Pt);const _0x3a71b3=_0x3b3fe5['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3a71b3)throw new _0x1cba4d('presencelist-collapseat-invalid-format',this);if(_0x3a71b3<0x1)throw new _0x1cba4d('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Q)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x30b45c(),this['balloonPanelView']=new _0x92771e(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Q];}init(){for(const _0x55de38 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x55de38);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5aac83,_0x4f0772)=>{this['_handleUserAdd'](_0x4f0772);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x9a56e7,_0x4cff28)=>{this['_handleUserRemove'](_0x4cff28);});}_createView(){const _0xfb0b34=this['context'],_0x2ff383=new kt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x110a68=this['balloonPanelView'];if(!_0x3663b3(_0xfb0b34['config']['get']('presenceList.container')))throw new _0x1cba4d('presencelist-missing-container',this);_0x2ff383['counterView']['bind']('usersCount')['to'](this),_0x2ff383['bind']('isCollapsed')['to'](this,'usersCount',_0x5a05e1=>{const {collapseAt:_0x9bde70}=_0xfb0b34['config']['get']('presenceList'),_0x53583b=_0x5a05e1>=_0x9bde70;if(_0x53583b&&!_0x2ff383['inlineListView']['items']['find'](_0x53dbb2=>_0x53dbb2 instanceof yt)){const _0x48d0f9=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x48d0f9&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2ff383['inlineListView']['items']['add'](_0x2ff383['counterView']);}return _0x53583b||this['hideDropdown'](),_0x53583b;}),_0x2ff383['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x13ac4c=>{const _0x19b2f1=_0xfb0b34['config']['get']('presenceList'),_0x45ae07=new Ct(_0xfb0b34['locale'],_0x13ac4c,!!_0x19b2f1['onClick']);return _0x45ae07['bind']('hasTooltip')['to'](_0x2ff383,'isCollapsed',_0x2b1c6e=>!_0x2b1c6e),_0x45ae07['bind']('isFocusable')['to'](_0x2ff383,'isCollapsed',_0x47f810=>!_0x47f810),_0x19b2f1['onClick']&&this['listenTo'](_0x45ae07,'execute',()=>{this['view']['isCollapsed']||_0x19b2f1['onClick'](_0x13ac4c,_0x45ae07['element']);}),_0x45ae07;}),_0x2ff383['inlineListView']['keystrokes']['set']('Enter',(_0x392460,_0x49bf9d)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x49bf9d());}),_0x2ff383['render'](),_0x110a68['render'](),_0x2ff383['listenTo'](_0x2ff383['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x4e2e4f=(_0xbbf262,_0x3fd55a)=>{this['_hideDropdownUnlessPointerInside'](_0x3fd55a);};return _0x2ff383['listenTo'](_0x2ff383['inlineListView']['element'],'mouseleave',_0x4e2e4f),_0x2ff383['listenTo'](_0x110a68['element'],'mouseleave',_0x4e2e4f),_0x4d491f({'emitter':_0x2ff383,'activator':()=>_0x110a68['isVisible'],'contextElements':[_0x110a68['element'],_0x2ff383['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xfb0b34['config']['get']('presenceList.container')['appendChild'](_0x2ff383['element']),this['_overlayHost']=new _0x52da97(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x2ff383;}_resolveOverlayTarget(){const _0x5d3218=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x5d3218)return _0x5d3218;const _0x55d362=this['context']['config']['get']('presenceList.container');return _0x55d362?_0x445939(_0x55d362):null;}['_handleUserAdd'](_0x233a04){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x233a04['isMe'])return;const _0x26fd14=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x26fd14-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3faa74=_0x233a04['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x233a04,_0x3faa74);}['_handleUserRemove'](_0x342fdd){this['usersCount']--;const {collapseAt:_0x36332b}=this['context']['config']['get']('presenceList'),_0x3cdf11=this['usersCount']>=_0x36332b;if(this['currentDisplayedUsers']['get'](_0x342fdd['id']))this['currentDisplayedUsers']['remove'](_0x342fdd['id']);else{if(_0x3cdf11&&this['currentDisplayedUsers']['length']+0x1===_0x36332b-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3cdf11?0x1:0x0)<this['usersCount']){for(const _0x129af0 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x129af0['id'])&&(this['currentDisplayedUsers']['add'](_0x129af0,Math['min'](this['currentDisplayedUsers']['length']-(_0x3cdf11?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3cdf11?0x1:0x0)===_0x36332b-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x3606be=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new It(this['context']['locale'],!!_0x3606be['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x4cac2a}=this['presenceDropdownView'];_0x4cac2a['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x288a3b=>{if(!_0x3606be['displayMe']&&_0x288a3b['isMe'])return null;const _0xe2fe14=new Tt(this['context']['locale'],_0x288a3b,!!_0x3606be['onClick']);return _0x3606be['onClick']&&this['listenTo'](_0xe2fe14,'execute',()=>{_0x3606be['onClick'](_0x288a3b,_0xe2fe14['element']);}),_0xe2fe14;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']);const _0x560a53=_0x92771e['generatePositions']({'heightOffset':0x3,'config':{'withArrow':!0x1}});this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element'],'positions':[_0x560a53['southArrowNorth'],_0x560a53['southArrowNorthMiddleWest'],_0x560a53['southArrowNorthMiddleEast'],_0x560a53['southArrowNorthWest'],_0x560a53['southArrowNorthEast'],_0x560a53['northArrowSouth'],_0x560a53['northArrowSouthMiddleWest'],_0x560a53['northArrowSouthMiddleEast'],_0x560a53['northArrowSouthWest'],_0x560a53['northArrowSouthEast'],_0x560a53['viewportStickyNorth']]}),_0x4cac2a['focus'](),_0x4cac2a['checkIfScrollable']();const _0x4ce5b8=(_0x4f2035,_0xf6353)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xf6353();};_0x4cac2a['keystrokes']['set']('Esc',_0x4ce5b8),_0x4cac2a['keystrokes']['set']('Shift+Tab',_0x4ce5b8),_0x4cac2a['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x4cac2a['focusTracker']['add'](this['view']['element']),_0x4cac2a['focusTracker']['on']('change:isFocused',(_0x45550e,_0x352a18,_0x817355)=>{_0x817355||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);}_hideDropdownUnlessPointerInside(_0x483e9e){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x156215=>_0x149d83(_0x156215,_0x483e9e))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},xt=class extends _0x2470ea{static get requires(){return[Q,Ot];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{at as CloudServicesCommentsAdapter,wt as CloudServicesRevisionHistoryAdapter,ut as CloudServicesTrackChangesAdapter,xt as PresenceList,Ot as PresenceListUI,it as RealTimeCollaborationClient,pt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,_t as RealTimeCollaborativeRevisionHistory,gt as RealTimeCollaborativeTrackChanges,Q as Sessions,J as WebSocketGateway};
|
|
23
|
+
import{Context as _0x2be8e3,ContextPlugin as _0x34398c,PendingActions as _0x29e1d0,Plugin as _0x423a3d}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x5c3d75,Collection as _0x1da6c7,DomEmitterMixin as _0x21794c,KeystrokeHandler as _0x15f4f2,getOverlayMountRoot as _0x464101,global as _0x2ef3b1,trustedHtml as _0x7d8c03,uid as _0x258125,version as _0x476e6c}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x4e8836,LabelView as _0x242656,ListItemView as _0x47215c,ListView as _0xadd891,Notification as _0x208c4a,OverlayHost as _0x35fbbe,View as _0x3498d3,clickOutsideHandler as _0x3cf34f}from'@ckeditor/ckeditor5-ui';import{History as _0x31ea40,InsertOperation as _0x2ba444,MarkerOperation as _0x3a9e6e,ModelLiveRange as _0x1d985f,NoOperation as _0x478618,OperationFactory as _0x1f2734,RootAttributeOperation as _0x5d5507,transformOperationSets as _0x3653f3}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x360986}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x23bff5,CommentsService as _0x4a16ff,EditorService as _0x100712,RevisionHistoryService as _0x4935ea,TrackChangesService as _0x4efdb1,User as _0x3786e3,WEB_SOCKET_GATEWAY_STATES as _0x2265bc,WebSocketGateway as _0x1ed494}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x289284,Users as _0x45a2eb,isPointerStillOver as _0x3de2c2}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x2c797b}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x2e3025,TrackChangesEditing as _0x31f5e8}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x11e141,CommentsEditing as _0x3947f9,CommentsRepository as _0x2182ce}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0xa7ea16}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x17bcfc}from'es-toolkit/compat';var J=class WebSocketGateway extends _0x34398c{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x1ed494)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x360986,_0x208c4a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x51015d){super(_0x51015d),this['set']('state',_0x2265bc['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x21794c())();}init(){const _0x1766b1=this['context'],_0x4257ff=_0x1766b1['plugins']['get'](_0x360986),_0x1cf92c=_0x1766b1['plugins']['get'](_0x208c4a);if(!_0x4257ff['token'])throw new _0x5c3d75('websocketgateway-missing-token',this);if(!_0x4257ff['webSocketUrl'])throw new _0x5c3d75('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'](_0x4257ff['token'],_0x4257ff['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xeb5246=>{if(this['connection']=_0xeb5246,this['bind']('state')['to'](_0xeb5246,'state',this,'_isBrowserOffline',(_0x56c1ef,_0x42db71)=>('connected'!==_0x56c1ef&&(this['_shouldPluginsReconnect']=!0x0),_0x42db71||_0x56c1ef!==_0x2265bc['CONNECTED']?_0x2265bc['DISCONNECTED']:this['state']==_0x2265bc['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2265bc['CONNECTING']):_0x2265bc['CONNECTED'])),this['connection']['on']('error',(_0x2bef85,_0x31be35)=>{if('limitExceeded'!==_0x31be35['code'])throw console['error'](_0x31be35),new _0x5c3d75('cloudservices-init',null,{'originalError':_0x31be35});_0x1cf92c['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'});}),!_0xeb5246['me'])return new Promise(_0x2e4fcb=>_0xeb5246['on']('change:me',_0x2e4fcb));})['catch'](_0xefe07f=>{throw console['error'](_0xefe07f),new _0x5c3d75('cloudservices-init',null,{'originalError':_0xefe07f});});}addToReconnectionStack(_0x497029){if('function'!=typeof _0x497029['reconnect'])throw new _0x5c3d75('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x497029))throw new _0x5c3d75('websocketgateway-plugin-already-registered',this,{'name':_0x497029['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x497029);}removeFromReconnectionStack(_0x312680){this['_reconnectionStack']['delete'](_0x312680);}isInReconnectionStack(_0x1ae9b8){return this['_reconnectionStack']['has'](_0x1ae9b8);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5b66a7=>_0x5b66a7['reconnect']())))['then'](()=>this['state']=_0x2265bc['CONNECTED'])['catch'](_0x3d5d27=>{throw console['error'](_0x3d5d27),new _0x5c3d75('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2265bc['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Q=class extends _0x34398c{['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[J,_0x45a2eb];}constructor(_0x1fe319){super(_0x1fe319),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1da6c7(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x45a2eb);}init(){const _0x2f5c30=this['context']['plugins']['get'](J);this['listenTo'](_0x2f5c30,'change:state',(_0x309aa0,_0x2007a7,_0xbda926)=>{if('connected'!==_0xbda926)this['channelSessions']['forEach'](_0x16773c=>_0x16773c['clear']()),this['channelConnectedUsers']['forEach'](_0x5b0981=>_0x5b0981['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1d07a2,_0x40b37b]of this['_registeredSessions'])for(const _0x396660 of _0x40b37b)this['_handleSessionAdd'](_0x1d07a2,_0x396660);}}),this['_createUser'](_0x2f5c30['connection']['me'],!0x0);}register(_0x38f1e8,_0x3f662a){if(this['_registeredSessions']['has'](_0x38f1e8))throw new _0x5c3d75('sessions-register-already-registered',null,{'channelId':_0x38f1e8});this['_registeredSessions']['set'](_0x38f1e8,_0x3f662a),this['channelSessions']['set'](_0x38f1e8,new _0x1da6c7()),this['channelConnectedUsers']['set'](_0x38f1e8,new _0x1da6c7()),this['listenTo'](_0x3f662a,'add',(_0x18ca2e,_0x568bee)=>this['_handleSessionAdd'](_0x38f1e8,_0x568bee)),this['listenTo'](_0x3f662a,'remove',(_0x462f18,_0x2a37fa)=>this['_handleSessionRemove'](_0x38f1e8,_0x2a37fa));for(const _0x2040b7 of _0x3f662a)this['_handleSessionAdd'](_0x38f1e8,_0x2040b7);}unregister(_0x596ad1){if(!this['_registeredSessions']['has'](_0x596ad1))throw new _0x5c3d75('sessions-unregister-not-exist',null,{'channelId':_0x596ad1});const _0x1e499e=this['_registeredSessions']['get'](_0x596ad1);this['stopListening'](_0x1e499e);for(const _0x5c5746 of _0x1e499e)'connected'===this['context']['plugins']['get'](J)['state']&&this['_handleSessionRemove'](_0x596ad1,_0x5c5746);this['_registeredSessions']['delete'](_0x596ad1),this['channelSessions']['delete'](_0x596ad1),this['channelConnectedUsers']['delete'](_0x596ad1);}get['mySessionId'](){return this['context']['plugins']['get'](J)['connection']['sessionId'];}getUserBySessionId(_0x2c63c1){for(const _0x325348 of this['channelSessions']['values']())for(const _0x528a14 of _0x325348)if(_0x528a14['id']===_0x2c63c1)return _0x528a14['user'];}getUserSessions(_0x2f6ee9,_0x4c7682){const _0xb45c67=_0x4c7682?[this['channelSessions']['get'](_0x4c7682)]:this['channelSessions']['values'](),_0x400897=new Set();for(const _0x2de164 of _0xb45c67)for(const _0x9708e8 of _0x2de164)_0x9708e8['user']['id']===_0x2f6ee9['id']&&_0x400897['add'](_0x9708e8['id']);return _0x400897;}getUserRole(_0x16d137){for(const _0x3a4038 of this['channelSessions']['values']())for(const _0x33017a of _0x3a4038)if(_0x33017a['user']===_0x16d137)return _0x33017a['role'];}['_handleSessionAdd'](_0x5894fd,_0x29d77f){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x19430f=_0x29d77f['user'],_0x43fd4b=this['_users']['getUser'](_0x19430f['id'])||this['_createUser'](_0x19430f),_0x5a9149=Object['assign']({},_0x29d77f,{'user':_0x43fd4b});if(this['channelSessions']['get'](_0x5894fd)['add'](_0x5a9149),!_0x19430f['hiddenInPresenceList']){const _0x1c7174=this['channelConnectedUsers']['get'](_0x5894fd);_0x1c7174['has'](_0x43fd4b['id'])||_0x1c7174['add'](_0x43fd4b),this['allConnectedUsers']['has'](_0x43fd4b['id'])||_0x19430f['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x43fd4b,_0x43fd4b['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x5894fd,{'channelId':_0x5894fd,'session':_0x5a9149});}['_handleSessionRemove'](_0x30cc20,_0x56e97f){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x19066e=this['channelConnectedUsers']['get'](_0x30cc20),_0x6c4fdc=_0x56e97f['user'];_0x6c4fdc['id']&&(this['channelSessions']['get'](_0x30cc20)['remove'](_0x56e97f['id']),_0x19066e['has'](_0x6c4fdc['id'])&&!this['getUserSessions'](_0x6c4fdc,_0x30cc20)['size']&&_0x19066e['remove'](_0x6c4fdc['id']),this['allConnectedUsers']['get'](_0x6c4fdc['id'])&&!this['getUserSessions'](_0x6c4fdc)['size']&&this['allConnectedUsers']['remove'](_0x6c4fdc['id']));}_createUser(_0x36c3cf,_0x236a77){const _0x9005f1=this['_users']['addUser'](_0x36c3cf);return _0x236a77&&this['_users']['defineMe'](_0x36c3cf['id']),_0x9005f1['orderNumber']=this['_uniqueUsersCount']++,_0x9005f1;}},X=class extends _0x423a3d{_domEmitter=new(_0x21794c())();static get requires(){return[Q];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x41ce88=this['editor'],_0x2839a3=_0x41ce88['plugins']['get'](Q);_0x41ce88['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5562bd,{writer:_0x221b61})=>function(_0x3a2983,_0x11fe20,_0x29cc24,_0x22420e){const _0x38a8c8=_0x3a2983['markerName']['split'](':')[0x2],_0x331063=_0x29cc24['getUserBySessionId'](_0x38a8c8);if(!_0x331063||_0x38a8c8===_0x29cc24['mySessionId'])return;if(!_0x22420e['model']['schema']['checkChild'](_0x3a2983['markerRange']['start'],'$text'))return;const _0x33f9c1={'class':'ck-user__marker\x20'+_0x331063['color']['getMarkerClass'](),'style':tt(_0x331063),'data-name':_0x331063['name'],'data-session-id':_0x38a8c8},_0x5ef861=_0x22420e['model']['markers']['get'](_0x3a2983['markerName'])['getStart'](),_0x1d16d8=_0x5ef861['nodeAfter'],_0x122534=_0x22420e['model']['schema'];if(_0x1d16d8&&_0x122534['isObject'](_0x1d16d8)&&_0x122534['isInline'](_0x1d16d8)&&!_0x22420e['model']['markers']['get']('user:range:'+_0x38a8c8)['getRange']()['isCollapsed'])return;const _0x56cc17=_0x5ef861['parent'];return _0x22420e['model']['schema']['isLimit'](_0x56cc17)&&!_0x22420e['model']['hasContent'](_0x56cc17)&&(_0x33f9c1['contenteditable']=!0x1),function(_0x28bfa6,_0x3e6df9,_0xb9c1ba){const _0x4b55cf=_0x28bfa6['createUIElement']('span',_0x3e6df9);return _0x28bfa6['setCustomProperty']('userPositionMarker',!0x0,_0x4b55cf),_0x4b55cf['render']=function(_0x23ec81){const _0x4227d9=this['toDomElement'](_0x23ec81),_0x515a58=document['createElement']('span');return _0x515a58['classList']['add']('ck-user__marker-tooltip'),_0x515a58['setAttribute']('contenteditable','false'),_0x515a58['setAttribute']('spellcheck','false'),_0x515a58['textContent']=_0xb9c1ba['name'],_0x4227d9['innerHTML']=_0x7d8c03('<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x515a58['outerHTML']+''),_0x4227d9['addEventListener']('mouseenter',()=>{_0x4227d9['classList']['add']('ck-user__marker_hovered');}),_0x4227d9['addEventListener']('mouseleave',()=>{_0x4227d9['classList']['remove']('ck-user__marker_hovered');}),_0x4227d9;},_0x4b55cf['isSimilar']=function(_0xc8824f){return!(!this['getCustomProperty']('userPositionMarker')||!_0xc8824f['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xc8824f['getAttribute']('data-session-id'));},_0x4b55cf;}(_0x11fe20,_0x33f9c1,_0x331063);}(_0x5562bd,_0x221b61,_0x2839a3,_0x41ce88)}),_0x41ce88['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x842bff=>function(_0x31c682,_0x388e46){const _0x480657=_0x31c682['markerName']['split'](':')[0x2];if(_0x480657===_0x388e46['mySessionId'])return null;const _0x2dde9b=_0x388e46['getUserBySessionId'](_0x480657);return _0x2dde9b?{'id':_0x480657,'classes':['ck-user__selection',_0x2dde9b['color']['getSelectionClass']()],'attributes':{'style':tt(_0x2dde9b),'data-session-id':_0x480657},'priority':0x7d0+_0x2dde9b['orderNumber']}:{'id':_0x480657,'classes':[]};}(_0x842bff,_0x2839a3)}),function(_0x58df40){const _0x283791=_0x58df40['model'],_0xe30cf0=new Map(),_0x5e2fa6=_0x58df40['plugins']['get'](Q);_0x283791['markers']['on']('update:user:range',(_0x18e308,_0x2b3b3b,_0x4b7cf4,_0x49cc89)=>{if(!_0x49cc89&&_0xe30cf0['get'](_0x2b3b3b['name']))return _0xe30cf0['get'](_0x2b3b3b['name'])['detach'](),void _0xe30cf0['delete'](_0x2b3b3b['name']);const _0x3cf59f=_0x2b3b3b['name']['split'](':')[0x2];if(_0x3cf59f===_0x5e2fa6['mySessionId'])return;const _0x4c8973='user:position:'+_0x3cf59f;_0x283791['markers']['has'](_0x4c8973)&&_0x58df40['editing']['reconvertMarker'](_0x4c8973),_0x2b3b3b['on']('change:range',(_0x24267a,_0x3a3817,_0x3c04f2)=>{if('$graveyard'!=_0x3a3817['root']['rootName']&&'$graveyard'==_0x2b3b3b['getRange']()['root']['rootName']&&!_0xe30cf0['has'](_0x2b3b3b['name'])){const _0x4f89ef=_0x283791['schema']['getNearestSelectionRange'](_0x3c04f2['deletionPosition']);if(_0x4f89ef){const _0x397168=_0x1d985f['fromRange'](_0x4f89ef);_0xe30cf0['set'](_0x2b3b3b['name'],_0x397168),_0x397168['on']('change:range',(_0x15afc4,_0x486077,_0x516135)=>{if('$graveyard'==_0x397168['root']['rootName']){const _0x4cb50f=_0x283791['schema']['getNearestSelectionRange'](_0x516135['deletionPosition']);_0x4cb50f?(_0x397168['start']=_0x4cb50f['start'],_0x397168['end']=_0x4cb50f['end']):(_0xe30cf0['delete'](_0x2b3b3b['name']),_0x397168['detach']());}});}}});}),_0x283791['document']['on']('change',()=>{_0xe30cf0['size']>0x0&&_0x283791['enqueueChange']({'isUndoable':!0x1},_0x2fc3ca=>{for(const [_0x5d703e,_0x4fc197]of _0xe30cf0)'$graveyard'==_0x283791['markers']['get'](_0x5d703e)['getRange']()['root']['rootName']&&(Z(_0x5d703e['split'](':')[0x2],_0x4fc197['toRange'](),_0x283791,_0x2fc3ca),_0x4fc197['detach']());_0xe30cf0['clear']();});});}(_0x41ce88),this['_domEmitter']['listenTo'](_0x2ef3b1['document'],'keydown',(_0x903beb,{key:_0x27f651})=>{'Escape'===_0x27f651&&function(_0x103dca){_0x103dca['editing']['view']['change'](_0x4c1a6c=>{for(const _0x73771d of _0x103dca['model']['markers']){if(!_0x73771d['name']['startsWith']('user:position'))continue;const _0x599e4c=_0x103dca['editing']['mapper']['markerNameToElements'](_0x73771d['name']);if(_0x599e4c){for(const _0x20a3e9 of _0x599e4c)_0x4c1a6c['removeClass']('ck-user__marker_hovered',_0x20a3e9);}}});}(_0x41ce88);},{'useCapture':!0x0});}afterInit(){const _0x202ca0=this['editor'],_0x328640=_0x202ca0['commands']['get']('undo');_0x328640&&_0x202ca0['model']['on']('applyOperation',(_0x30074a,_0x269ffc)=>{const _0x1f13ee=_0x269ffc[0x0];if(!_0x1f13ee['isDocumentOperation'])return;if('marker'!=_0x1f13ee['type']||!_0x1f13ee['name']['startsWith']('user:'))return;const _0x106368=_0x1f13ee['batch'];_0x328640['_createdBatches']['has'](_0x106368)&&(_0x1f13ee['newRange']=_0x1f13ee['oldRange']?_0x202ca0['model']['createRange'](_0x1f13ee['oldRange']['start'],_0x1f13ee['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x24dab0=this['editor'],_0x469500=_0x24dab0['model']['document'],_0x49a225=_0x24dab0['plugins']['get'](Q);_0x24dab0['model']['enqueueChange']({'isUndoable':!0x1},_0x1a0998=>{const _0x399890='user:range:'+_0x49a225['mySessionId'],_0x97369a='user:position:'+_0x49a225['mySessionId'],_0x55b2c5=_0x24dab0['model']['markers']['has'](_0x399890);_0x24dab0['editing']['view']['hasDomSelection']?Z(_0x49a225['mySessionId'],_0x469500['selection']['getFirstRange'](),_0x24dab0['model'],_0x1a0998):_0x55b2c5&&(_0x1a0998['removeMarker'](_0x399890),_0x1a0998['removeMarker'](_0x97369a));});}};function Z(_0x97f627,_0xe87c24,_0x4fa6ca,_0x3b281b){const _0x31c71a='user:range:'+_0x97f627,_0x384cb6='user:position:'+_0x97f627,_0x1bd80c=_0xe87c24['getContainedElement']();let _0x299e52=_0xe87c24['start'];if(_0x1bd80c&&_0x1bd80c['is']('element','tableCell')){const _0x34927e=function(_0x8b0ec3,_0x2f1c01){for(const _0x24a7e1 of _0x8b0ec3['getPositions']())if(_0x2f1c01['schema']['checkChild'](_0x24a7e1,'$text'))return _0x24a7e1;}(_0xe87c24,_0x4fa6ca);_0x34927e&&(_0x299e52=_0x34927e,_0xe87c24=_0x3b281b['createRange'](_0x299e52));}const _0x387adf=_0x3b281b['createRange'](_0x299e52);_0x4fa6ca['markers']['has'](_0x31c71a)?(_0x3b281b['updateMarker'](_0x31c71a,{'range':_0xe87c24}),_0x3b281b['updateMarker'](_0x384cb6,{'range':_0x387adf})):(_0x3b281b['addMarker'](_0x31c71a,{'range':_0xe87c24,'usingOperation':!0x0}),_0x3b281b['addMarker'](_0x384cb6,{'range':_0x387adf,'usingOperation':!0x0}));}function tt(_0x1cf85c){return'--ck-user-color:'+_0x1cf85c['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x1cf85c['color']['getColorAlphaVariable']()+';';}function et(_0xc63a8b,_0x4632e7,_0x4ed3ca){const _0x101f19=_0xc63a8b['t'],t=_0xc63a8b['t'];switch(_0x4632e7){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 _0x101f19({'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'},_0x4ed3ca);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x423a3d{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x23bff5)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[J,Q,X,_0x29e1d0,_0x45a2eb,_0x208c4a];}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 _0x394a5f=this['serverHistory']['getOperations']();for(let _0x4af9d6=_0x394a5f['length']-0x1;_0x4af9d6>=0x0;_0x4af9d6--){const _0x2bac3f=_0x394a5f[_0x4af9d6];if(!this['_disconnectionOperations']['has'](_0x2bac3f))return _0x2bac3f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x434e3b){if(super(_0x434e3b),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x31ea40(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x5c3d75('collaboration-missing-channelid',this);const _0x515465=_0x434e3b['config']['get']('cloudServices.bundleVersion')||_0x476e6c;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x515465,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x2c797b(),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 rt(this['_disconnectionOperations']);}init(){const _0x523e4a=this['editor'],_0x5e7fac=_0x523e4a['plugins']['get'](_0x45a2eb),_0x580bf6=_0x523e4a['plugins']['get'](J);this['listenTo'](_0x5e7fac,'getOperationAuthor',(_0x592b08,_0x530ee8)=>{const _0x9c0dc2=_0x530ee8[0x0];_0x9c0dc2['_authorId']&&(_0x592b08['return']=_0x5e7fac['getUser'](_0x9c0dc2['_authorId']),_0x592b08['stop']()),null===_0x9c0dc2['_authorId']&&(_0x592b08['return']=null,_0x592b08['stop']());},{'priority':'high'}),this['listenTo'](_0x523e4a['model']['document']['selection'],'change:range',(_0x5c4800,_0x16510c)=>{_0x16510c['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x523e4a['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x523e4a['model']['on']('applyOperation',(_0x457385,_0x259183)=>{const _0x4336bb=_0x259183[0x0];_0x4336bb['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4336bb),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x580bf6,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x914119,_0xeda2af,_0x93263c)=>'connected'===_0x914119&&!_0xeda2af&&!_0x93263c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x523e4a['disableReadOnlyMode']('rtc-offline'):_0x523e4a['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x523e4a['disableReadOnlyMode']('rtc-offline'):_0x523e4a['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x23f53a=this['editor']['plugins']['get'](Q),_0x47940d=this['editor']['plugins']['get'](J);try{this['_isPendingUpdate']=!0x0,_0x23f53a['unregister'](this['_channelId']);const _0x167d7c=await this['_service']['reconnect'](_0x47940d['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x167d7c)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x580efc=await this['_service']['getConnectedSessions']();_0x23f53a['register'](this['_channelId'],_0x580efc),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x177fd0){if(function(_0x24f5d1){return'404'===_0x24f5d1['code'];}(_0x177fd0)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x431ee8){return'409'===_0x431ee8['code'];}(_0x177fd0)){const _0x39eb42=et(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'](_0x39eb42);}else{if(!(_0x177fd0 instanceof nt))throw _0x177fd0;this['_handleReconnectionError']();}}}}destroy(){const _0x2f4703=this['editor']['plugins']['get'](J),_0x19eeb6=this['editor']['plugins']['get'](Q);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x19eeb6['channelSessions']['has'](this['_channelId'])&&_0x19eeb6['unregister'](this['_channelId']),_0x2f4703['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x234c53){if(this['sessionId']!==_0x234c53['sessionId']&&this['_lastSyncedOperationId']!==_0x234c53['lastOperationId'])throw new nt();return this['sessionId']=_0x234c53['sessionId'],this['_handleServerResponse']([],{..._0x234c53,'wereChangesApplied':!0x1,'data':_0x234c53['data']},'reconnect');}async _connectService(_0xdda5c9,_0x40752a=!0x1){const {connection:_0x3e7223}=this['editor']['plugins']['get'](J);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x3e7223,this['_channelId'])['then'](_0xccd6d9=>this['_initSessionsHandling'](_0xccd6d9))['catch'](_0x577248=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x577248);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x532149,_0x420769)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x420769);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x42fa0f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xdda5c9);this['_isPendingUpdate']=!0x0;const _0x3cc33a=await this['_service']['connect'](_0x3e7223,this['_compressOperations'](_0xdda5c9),_0x42fa0f);if(this['sessionId']=_0x3cc33a['sessionId'],_0x40752a){if(!_0x3cc33a['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3cc33a['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xdda5c9,_0x3cc33a,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3cc33a,_0xdda5c9);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x529340=this['editor']['plugins']['get'](Q),_0x3a4071=this['editor']['plugins']['get'](X),_0x101189=_0x529340['channelSessions']['get'](this['_channelId']);_0x101189&&_0x101189['length']>0x1?_0x3a4071['createUserMarkerOperations']():this['listenTo'](_0x529340,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x529340['channelSessions']['get'](this['_channelId'])['length']&&_0x3a4071['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x4c3d9d,_0x41abf2,_0x3563f9,_0x532385){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x41abf2){const _0x58cd2c=this['_decompressOperations'](_0x3563f9,_0x532385);await this['_fetchMissingUsers'](_0x58cd2c),this['_handleExternalOperations'](_0x58cd2c,_0x41abf2,_0x3563f9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x372fb3}=this['editor'];let _0x43382b;try{_0x43382b=await this['_service']['getDocumentDetails']();}catch{const _0x99ef72=et(_0x372fb3,'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'](_0x99ef72);}const _0x4c4a78=_0x43382b['currentDocumentSession']||_0x43382b['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x4c4a78['lastOperationId']){const _0x1e7fe0=et(_0x372fb3,'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'](_0x1e7fe0);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x263a55=this['editor']['plugins']['get'](J);if(this['_isConnected']=!0x1,!_0x263a55['connection']||'connected'!==_0x263a55['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x329e1b=this['editor']['plugins']['get'](Q);_0x329e1b['channelSessions']['has'](this['_channelId'])&&_0x329e1b['unregister'](this['_channelId']),_0x263a55['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x1adc4d){const _0x178804=this['editor']['plugins']['get'](Q);this['listenTo'](_0x178804,'sessionAdd:'+this['_channelId'],(_0x5aee65,{session:_0x3ff1f6})=>{if(_0x3ff1f6['id']===_0x178804['mySessionId']){_0x5aee65['off']();const _0x5c04d1=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4697ad=_0x3ff1f6['permissions'];_0x5c04d1&&_0x5c04d1['isEnabled']&&(_0x4697ad=_0x4697ad['filter'](_0x1f546b=>'document:write'!==_0x1f546b)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4697ad,this['_channelId']);}}),_0x178804['register'](this['_channelId'],_0x1adc4d);}_initThrowingOnDataSet(){const _0x29dc5f=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5543f2)=>{if(!_0x5543f2[_0x5543f2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x5c3d75('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x29dc5f['apply'](this['editor']['data'],_0x5543f2);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x550487,[_0x4de9a8])=>{if(this['_document']['version'])throw new _0x5c3d75('realtimecollaborationclient-init-document-already-initialized',this);_0x550487['stop'](),this['_setPendingAction']();const _0x56736b=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x14fb76])=>!_0x14fb76['lazyLoad'])['map'](([_0x5fe70b,_0x1dc2fb])=>[_0x5fe70b,_0x1dc2fb['modelAttributes']||{}])),_0x44f3e5=this['_getOperationsFromInitData'](_0x4de9a8,_0x56736b);0x0==_0x44f3e5['length']&&_0x44f3e5['push'](new _0x478618(0x0)),_0x550487['return']=this['_connectService'](_0x44f3e5)['then'](()=>{this['editor']['plugins']['get'](J)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x38f4b2=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x38f4b2))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x284066,[_0x2cc54b,_0x4610db])=>{_0x284066['stop']();const _0xbc7bd8=this['editor']['model']['document']['getRoot'](_0x2cc54b);if(!this['_knownRootNames']['has'](_0x2cc54b)){const _0x3e2f82=_0x4610db&&_0x4610db['data']?_0x4610db['data']:'',_0x57f427=_0x4610db&&_0x4610db['attributes']?_0x4610db['attributes']:{};await this['_loadRoot'](_0x2cc54b,_0x3e2f82,_0x57f427);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0xbc7bd8['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0xbc7bd8);});},{'priority':'high'});}async _fetchMissingUsers(_0x4430b2){const _0x32d37e=this['editor']['plugins']['get'](_0x45a2eb),{connection:_0x1b9b5e}=this['editor']['plugins']['get'](J),_0x59a44c=new Set();for(const _0x3568a8 of _0x4430b2){const _0xcf6a7=_0x3568a8['_authorId'];_0xcf6a7&&!_0x32d37e['getUser'](_0xcf6a7)&&_0x59a44c['add'](_0xcf6a7);}if(0x0===_0x59a44c['size'])return;const _0x278fdc=await _0x3786e3['getMany'](_0x1b9b5e,Array['from'](_0x59a44c));for(const _0x383aef of _0x278fdc)_0x32d37e['getUser'](_0x383aef['id'])||_0x32d37e['addUser'](_0x383aef);}_getOperationsFromInitData(_0x537a22,_0x4936d4={}){const _0x34914e=this['editor']['model'],_0x4766e8=[];let _0x4c5a97=0x0;const _0x123530='string'==typeof _0x537a22?{'main':_0x537a22}:_0x537a22;for(const _0x4977f9 of Object['keys'](_0x123530)){if(!this['_document']['roots']['has'](_0x4977f9))throw new _0x5c3d75('realtimecollaborationclient-init-non-existent-root',this);const _0x50929e=this['_document']['getRoot'](_0x4977f9),_0x569440=this['editor']['data']['parse'](_0x123530[_0x4977f9],_0x50929e),_0x4a7a1d=new _0x2ba444(_0x34914e['createPositionAt'](_0x50929e,0x0),_0x569440,_0x4c5a97++);_0x4766e8['push'](_0x4a7a1d);for(const [_0x3f5e4c,_0x468c7b]of _0x569440['markers']){const _0x261933=_0x34914e['createRange'](_0x34914e['createPositionFromPath'](_0x50929e,_0x468c7b['start']['path']['slice']()),_0x34914e['createPositionFromPath'](_0x50929e,_0x468c7b['end']['path']['slice']())),_0x33a1e6=new _0x3a9e6e(_0x3f5e4c,null,_0x261933,_0x34914e['markers'],!0x0,_0x4c5a97++);_0x4766e8['push'](_0x33a1e6);}}if(_0x4936d4)for(const [_0x478460,_0x1b749e]of Object['entries'](_0x4936d4)){const _0x1d4a66=_0x34914e['document']['getRoot'](_0x478460);if(!_0x1d4a66)throw new _0x5c3d75('multi-root-editor-root-attributes-no-root',null);for(const [_0x502e1b,_0x4a8db7]of Object['entries'](_0x1b749e))if(null!==_0x4a8db7){const _0x155ce4=new _0x5d5507(_0x1d4a66,_0x502e1b,null,_0x4a8db7,_0x4c5a97++);_0x4766e8['push'](_0x155ce4);}}return _0x4766e8;}async _loadRoot(_0x23461d,_0x3b74a1,_0x2bc8ed){this['_getOperationsFromInitData']({[_0x23461d]:_0x3b74a1},{[_0x23461d]:_0x2bc8ed})['forEach']((_0x242cbc,_0x7c6bee)=>{_0x242cbc['baseVersion']=this['_document']['version']+_0x7c6bee,_0x242cbc['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x242cbc);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x54b994,_0x29fa47){let _0x17587a;this['_offset']=_0x54b994['offset'];const _0x300d15=_0x54b994['wereChangesApplied']&&!_0x54b994['initData'],_0xc853dc=_0x300d15?0x0:_0x54b994['data']['baseVersion'];if(_0x29fa47['forEach'](_0x5eab9c=>{_0x5eab9c['_isInit']=!0x0,_0x5eab9c['createdAt']=_0x54b994['sessionCreatedAt'],_0x5eab9c['_authorId']=null;}),_0x300d15)_0x17587a=_0x29fa47,this['_applyOperationsSet'](_0x17587a,_0x300d15);else{if(_0x54b994['initData']){const _0x41d2ec=this['_getOperationsFromInitData'](_0x54b994['initData']);this['_document']['history']['version']=-_0x41d2ec['length'],_0x41d2ec['forEach'](_0x17e29a=>{_0x17e29a['baseVersion']-=_0x41d2ec['length'],_0x17e29a['createdAt']=_0x54b994['sessionCreatedAt'],_0x17e29a['_isInit']=!0x0,_0x17e29a['_authorId']=null;}),this['_applyOperationsSet'](_0x41d2ec,!0x0),this['serverHistory']['version']=-_0x41d2ec['length']+this['_offset'],this['_updateServerHistory'](_0x41d2ec);}this['_document']['history']['version']=_0xc853dc,_0x17587a=this['_decompressOperations'](_0x54b994['data'],_0x54b994['metadata']),await this['_fetchMissingUsers'](_0x17587a),this['_applyOperationsSet'](_0x17587a,_0x300d15);}_0x54b994['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x17587a,_0x54b994['lastOperationId']),this['_lastSyncedOperationId']=_0x54b994['lastOperationId']),this['serverHistory']['version']=_0xc853dc+this['_offset'],this['_updateServerHistory'](_0x17587a),_0x29fa47['filter'](_0x5f677b=>{const _0x552f64=this['_getAffectedRoot'](_0x5f677b);return _0x552f64&&!this['_knownRootNames']['has'](_0x552f64);})['forEach']((_0x38c2ab,_0x4def9f)=>{_0x38c2ab['baseVersion']=this['_document']['version']+_0x4def9f,this['_saveOperationInBuffer'](_0x38c2ab);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x145365,_0x10b48c){const _0x3aec39=_0x10b48c&&_0x10b48c['message'];if(_0x3aec39&&_0x3aec39['startsWith']('realtimecollaborationclient'))throw _0x10b48c;const _0x552583=this['editor']['plugins']['get'](J);throw this['_isPendingUpdate']=!0x0,_0x552583['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x5c3d75(_0x145365,this['editor'],_0x3aec39?{'originalError':_0x3aec39}:void 0x0);}_saveOperationInBuffer(_0x448f8a){this['_knownOperations']['has'](_0x448f8a)||(this['_knownOperations']['add'](_0x448f8a),this['_bufferedOperations']['push'](_0x448f8a),this['_pendingAction']||'marker'==_0x448f8a['type']&&!_0x448f8a['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0xfc24a1=!0x1){!_0xfc24a1&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3cf171=>{_0x3cf171&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x30a3c1=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1c1741){return _0x1c1741['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1c1741['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1c1741['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x30a3c1)||this['_crash'](_0x30a3c1['message'],_0x30a3c1);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x3a477f=>{this['on']('change:_isPendingUpdate',()=>{_0x3a477f();});});}async _sendBufferedOperations(){const _0x47eb19=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x47eb19['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3eaf90=[...this['_bufferedOperations']];for(const _0x25809f of _0x3eaf90)_0x25809f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x25809f);const _0x363267=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3eaf90),_0x48ad2f=st++,_0x30da7d=this['_compressOperations'](_0x3eaf90),_0x2958a0=await this['_service']['sendOperations'](_0x30da7d,_0x30da7d['baseVersion'],_0x363267);try{return await this['_handleServerResponse'](_0x3eaf90,_0x2958a0,_0x48ad2f);}catch(_0x319e81){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x319e81);}}async['_handleServerResponse'](_0x1451d5,_0x264af8,_0x125a73){if('error'in _0x264af8)throw _0x264af8['error'];let _0x360231;if(_0x264af8['wereChangesApplied']){_0x264af8['lastOperationId']&&(this['_lastSyncedOperationId']=_0x264af8['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4d97db=>!_0x1451d5['includes'](_0x4d97db));for(const _0x45b192 of _0x1451d5)_0x45b192['createdAt']='lastOperationAcceptedAt'in _0x264af8&&_0x264af8['lastOperationAcceptedAt']||void 0x0;ot(_0x1451d5,_0x264af8['version']-_0x1451d5['length']),this['_updateServerHistory'](_0x1451d5);const _0x5232e9=_0x1451d5['filter'](_0x24106c=>{if(!_0x24106c['_isInit'])return!0x1;const _0x4acb7a=this['_getAffectedRoot'](_0x24106c);return _0x4acb7a&&!this['_knownRootNames']['has'](_0x4acb7a);});ot(_0x5232e9,this['_document']['version']),this['_applyOperationsSet'](_0x5232e9),_0x360231=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4902b0=this['_decompressOperations'](_0x264af8['data'],_0x264af8['metadata'])['filter'](_0x450b05=>_0x450b05['baseVersion']>=this['_lastServerVersion']);_0x4902b0['forEach'](_0x51955f=>this['_addKnownRoot'](_0x51955f)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x54ac20=>!_0x54ac20['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x54ac20))),this['_bufferedOperations']['length']&&ot(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4902b0),_0x360231=this['_handleExternalOperations'](_0x4902b0,_0x264af8['version'],_0x264af8['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x360231?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x5bddea,_0xff2f2f,_0x9e2210){try{const _0x248661={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x6ae19a,operationsB:_0x3055a3,originalOperations:_0x264503}=_0x3653f3(_0x5bddea,this['_bufferedOperations'],_0x248661);ot(_0x6ae19a,this['_document']['version']),ot(_0x3055a3,_0xff2f2f);for(const _0x5acbfe of _0x6ae19a){const _0x1a0495=_0x264503['get'](_0x5acbfe);_0x1a0495?(_0x5acbfe['_authorId']=_0x1a0495['_authorId'],'noop'!==_0x5acbfe['type']&&(_0x5acbfe['_aiSource']=_0x1a0495['_aiSource'])):_0x5acbfe['_authorId']=null;}for(const _0xd47cf0 of _0x3055a3)'noop'!==_0xd47cf0['type']&&(_0xd47cf0['_aiSource']=_0x264503['get'](_0xd47cf0)?.['_aiSource']);_0x9e2210&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5bddea,_0x9e2210),this['_lastSyncedOperationId']=_0x9e2210),this['_bufferedOperations']=[..._0x3055a3],this['_applyOperationsSet'](_0x6ae19a),this['_updateServerHistory'](_0x5bddea);}catch(_0x1bafb1){return console['error'](_0x1bafb1),!0x1;}return!0x0;}_applyOperationsSet(_0xf6ff69,_0x4a8a2b=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1b16f2=>{for(const _0x4188e3 of _0xf6ff69)this['_knownOperations']['add'](_0x4188e3),this['_addKnownRoot'](_0x4188e3),_0x1b16f2['batch']['addOperation'](_0x4188e3),this['editor']['model']['applyOperation'](_0x4188e3);});}_addKnownRoot(_0x19b582){const _0x2a658d=this['_getAffectedRoot'](_0x19b582);_0x2a658d&&this['_knownRootNames']['add'](_0x2a658d);}_getAffectedRoot(_0x150648){let _0x289a93,_0x3f0419;switch(_0x150648['type']){case'insert':_0x289a93=_0x150648['position']['root'];break;case'marker':if(_0x3f0419=_0x150648['newRange'],!_0x3f0419)return null;_0x289a93=_0x3f0419['root'];break;case'addRootAttribute':_0x289a93=_0x150648['root'];break;case'addRoot':_0x289a93=_0x150648['affectedSelectable'];break;case'move':_0x289a93=_0x150648['targetPosition']['root'];break;default:return null;}return _0x289a93['rootName'];}_updateServerHistory(_0x10a32){_0x10a32['forEach'](_0x36ff3c=>{const _0x58e16d=_0x36ff3c['clone']();_0x58e16d['_authorId']=_0x36ff3c['_authorId'],_0x58e16d['_isInit']=!!_0x36ff3c['_isInit'],_0x58e16d['_aiSource']=_0x36ff3c['_aiSource'],_0x58e16d['createdAt']=_0x36ff3c['createdAt'],_0x58e16d['baseVersion']+=this['_offset'],_0x36ff3c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x58e16d),this['serverHistory']['addOperation'](_0x58e16d);});}_handleReconnectionError(_0x4094ef){const _0x237cdc=this['editor']['plugins']['get']('Notification'),_0x3ed8d1=this['editor']['locale'];_0x4094ef||(_0x4094ef=et(_0x3ed8d1,'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.')),_0x237cdc['showWarning'](_0x4094ef,{'title':et(_0x3ed8d1,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](J)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x29e1d0)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x29e1d0)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x1c69f0){const _0x336ac0=_0x1c69f0['map'](_0x6b3dc8=>_0x6b3dc8['toJSON']());return this['_compressor']['compress'](_0x336ac0);}_decompressOperations(_0x5e5b51,_0x350294){return this['_compressor']['decompress'](_0x5e5b51)['map']((_0x59af78,_0x50d4de)=>{const _0x20480c='init'==_0x350294[_0x50d4de]['type'];if('InsertOperation'==_0x59af78['__className']){const _0x1df58b=_0x59af78['position']['root'];!this['_document']['getRoot'](_0x1df58b)&&(this['_document']['createRoot']('$unknown',_0x1df58b)['_isAttached']=!0x1);}else{if('RootOperation'==_0x59af78['__className']){const _0x3db1b4=this['_document']['getRoot'](_0x59af78['rootName']);_0x3db1b4&&'$unknown'==_0x3db1b4['name']&&_0x59af78['elementName']!=_0x3db1b4['name']&&(_0x3db1b4['name']=_0x59af78['elementName']);}}const _0x2f9f18=_0x1f2734['fromJSON'](_0x59af78,this['_document']);return _0x2f9f18['wasUndone']=_0x59af78['wasUndone'],_0x2f9f18['_isInit']=_0x20480c,_0x2f9f18['_authorId']=_0x20480c?null:_0x350294[_0x50d4de]['userId'],_0x2f9f18['_isDisconnection']='cs:removeUser'===_0x350294[_0x50d4de]['type'],_0x2f9f18['_aiSource']=_0x59af78['_aiSource']||void 0x0,_0x2f9f18['createdAt']=_0x350294[_0x50d4de]['createdAt'],_0x2f9f18;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x1f12e0=this['editor']['plugins']['get'](Q)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1f12e0&&_0x1f12e0['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function ot(_0x4d7247,_0xdc45c8){for(const _0x2cccc1 of _0x4d7247)_0x2cccc1['baseVersion']=_0xdc45c8++;}var rt=class{_ignoredOperations;_operationToId;constructor(_0x242a0b){this['_ignoredOperations']=_0x242a0b,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x5a8f62){let _0x129464=_0x5a8f62['length'];for(;_0x129464--;){const _0x318e61=_0x5a8f62[_0x129464];if(!this['_ignoredOperations']['has'](_0x318e61)){if(!this['_operationToId']['has'](_0x318e61)){const _0x2b54d8=_0x258125()['slice'](0x1,0x12);this['_operationToId']['set'](_0x318e61,_0x2b54d8);}return this['_operationToId']['get'](_0x318e61);}}}setIdForTheLastOperation(_0xb6b70f,_0x515981){if(!_0x515981)return;let _0x2bd541=_0xb6b70f['length'];for(;_0x2bd541--;){const _0x57193c=_0xb6b70f[_0x2bd541];this['_ignoredOperations']['has'](_0x57193c)||this['_operationToId']['set'](_0x57193c,_0x515981);}}},ct=class extends _0x423a3d{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class CloudServicesCommentsAdapter extends _0x34398c{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x4a16ff)());['_services'];static get requires(){return[J,_0x2182ce,Q,_0x45a2eb];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x31c1db){super(_0x31c1db),this['_services']=new Map();}async init(){const _0x2bd9ac=this['context'],_0x404b3a=_0x2bd9ac['plugins']['get'](_0x2182ce);if(_0x2bd9ac['plugins']['get'](J)['addToReconnectionStack'](this),_0x404b3a['adapter']={'addCommentThread':async({channelId:_0x2d6294,threadId:_0x4213a2,comments:_0xa7274f,resolvedAt:_0x32277e,resolvedBy:_0x1ffcc2,context:_0x452f0e,attributes:_0x24b506})=>{const _0x3847fd=await this['_getService'](_0x2d6294)['addCommentThread']({'commentThreadId':_0x4213a2,'comments':_0xa7274f['map'](_0x2948d5=>function(_0x491665,_0x5768fb,_0x8259fb){return{'commentThreadId':_0x8259fb,'commentId':_0x491665['commentId'],'userId':_0x491665['authorId'],'content':_0x491665['content'],'documentId':_0x5768fb,'createdAt':_0x491665['createdAt'],'attributes':_0x491665['attributes']||{}};}(_0x2948d5,_0x2d6294,_0x4213a2)),'resolvedAt':_0x32277e,'resolvedBy':_0x1ffcc2,'context':_0x452f0e,'attributes':_0x24b506})['catch'](lt);return{'threadId':_0x3847fd['commentThreadId'],'comments':_0x3847fd['comments']};},'getCommentThread':async({channelId:_0x4f7337,threadId:_0x317ba0})=>{const _0xc2b10e=await this['_getService'](_0x4f7337)['getCommentThread'](_0x317ba0)['catch'](ht)['catch'](lt);return _0xc2b10e?_0xc2b10e['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xc2b10e]),{'threadId':_0xc2b10e['commentThreadId'],'comments':_0xc2b10e['comments']['map'](dt),'context':_0xc2b10e['context'],'resolvedAt':_0xc2b10e['resolvedAt'],'resolvedBy':_0xc2b10e['resolvedBy'],'attributes':_0xc2b10e['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0xa8f385,threadId:_0x2c8754,context:_0x1c1a34,unlinkedAt:_0x154839,attributes:_0x331d5f})=>this['_getService'](_0xa8f385)['updateCommentThread']({'commentThreadId':_0x2c8754,'context':_0x1c1a34,'attributes':_0x331d5f,'unlinkedAt':_0x154839})['catch'](ht)['catch'](lt),'resolveCommentThread':async({channelId:_0x17bcd7,threadId:_0x4396de})=>{const _0x2d01b3=await this['_getService'](_0x17bcd7)['resolveCommentThread'](_0x4396de)['catch'](ht)['catch'](lt);return{'threadId':_0x2d01b3['commentThreadId'],'resolvedAt':_0x2d01b3['resolvedAt'],'resolvedBy':_0x2d01b3['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2ceb27,threadId:_0x108a34})=>this['_getService'](_0x2ceb27)['reopenCommentThread'](_0x108a34)['catch'](ht)['catch'](lt),'removeCommentThread':({channelId:_0x3d913c,threadId:_0xb76709})=>this['_getService'](_0x3d913c)['removeCommentThread'](_0xb76709)['catch'](ht)['catch'](lt),'addComment':({channelId:_0x487e09,threadId:_0xa6aedb,commentId:_0x357d51,content:_0x1c382e,attributes:_0x4d644a})=>this['_getService'](_0x487e09)['addComment'](_0xa6aedb,_0x357d51,_0x1c382e,_0x4d644a)['catch'](lt),'updateComment':({channelId:_0x13c6fa,threadId:_0x21aa38,commentId:_0x4ed33b,content:_0x601d2,attributes:_0x56bed2})=>this['_getService'](_0x13c6fa)['updateComment'](_0x21aa38,_0x4ed33b,_0x601d2,_0x56bed2)['catch'](ht)['catch'](lt),'removeComment':({channelId:_0x47f543,threadId:_0x3258ef,commentId:_0x375afd})=>this['_getService'](_0x47f543)['removeComment'](_0x3258ef,_0x375afd)['catch'](ht)['catch'](lt)},_0x2bd9ac instanceof _0x2be8e3){const _0x577668=_0x2bd9ac['config']['get']('collaboration.channelId'),_0x50a0d2=_0x2bd9ac['plugins']['get'](Q);await this['_setUpService'](_0x577668);const _0x2b3196=await this['_services']['get'](_0x577668)['getConnectedSessions']();this['listenTo'](_0x50a0d2,'sessionAdd:'+_0x577668,(_0x2e6c72,{session:_0x18f2ad})=>{_0x18f2ad['id']===_0x50a0d2['mySessionId']&&(_0x2e6c72['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x18f2ad['permissions'],_0x577668));}),_0x50a0d2['register'](_0x577668,_0x2b3196);}}async _setUpService(_0x357105){if(this['_services']['has'](_0x357105))throw new _0x5c3d75('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x357105});const _0x5990c9=this['context']['plugins']['get'](_0x2182ce),_0x4e2c09=new CloudServicesCommentsAdapter['CommentsService'](_0x357105);this['_services']['set'](_0x357105,_0x4e2c09),this['listenTo'](_0x4e2c09,'commentThreadAdded',(_0x3d5c04,_0x551515)=>{const {commentThreadId:_0x505088,documentId:_0x42438a,context:_0x4aa0b4,attributes:_0xd56efe,resolvedAt:_0x2ed790,resolvedBy:_0x9d7d3d,comments:_0x2a9135}=_0x551515;_0x5990c9['getCommentThread'](_0x505088)||_0x5990c9['addCommentThread']({'threadId':_0x505088,'channelId':_0x42438a,'comments':_0x2a9135?_0x2a9135['map'](dt):[],'context':_0x4aa0b4,'attributes':_0xd56efe,'resolvedAt':_0x2ed790,'resolvedBy':_0x9d7d3d,'isFromAdapter':!0x0});}),this['listenTo'](_0x4e2c09,'commentThreadUpdated',(_0x576875,{commentThreadId:_0xa64bcb,documentId:_0x1fa59d,context:_0x80aeb,unlinkedAt:_0x19e662,attributes:_0x2b47be})=>{_0x5990c9['getCommentThread'](_0xa64bcb)&&_0x5990c9['updateCommentThread']({'threadId':_0xa64bcb,'channelId':_0x1fa59d,'context':_0x80aeb,'unlinkedAt':_0x19e662,'attributes':_0x2b47be,'isFromAdapter':!0x0});}),this['listenTo'](_0x4e2c09,'commentThreadResolved',(_0x352396,{commentThreadId:_0x531f9b,resolvedBy:_0x5dc822,resolvedAt:_0xb5408f})=>{const _0x4881db=_0x5990c9['getCommentThread'](_0x531f9b);_0x4881db&&_0x4881db['resolve']({'resolvedBy':_0x5dc822,'resolvedAt':_0xb5408f,'isFromAdapter':!0x0});}),this['listenTo'](_0x4e2c09,'commentThreadReopened',(_0x52b366,{commentThreadId:_0x235ae3})=>{const _0x50b16d=_0x5990c9['getCommentThread'](_0x235ae3);_0x50b16d&&_0x50b16d['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4e2c09,'commentThreadRemoved',(_0x7018c2,{commentThreadId:_0x2816a9})=>{const _0x1b7c9d=_0x5990c9['getCommentThread'](_0x2816a9);_0x1b7c9d&&_0x1b7c9d['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4e2c09,'commentAdded',(_0x578d3f,_0x251ef8)=>{const _0x51d1a5=_0x251ef8['commentThreadId'],_0x3b80ee=_0x5990c9['getCommentThread'](_0x51d1a5);_0x3b80ee&&_0x3b80ee['addComment']({...dt(_0x251ef8),'isFromAdapter':!0x0});}),this['listenTo'](_0x4e2c09,'commentUpdated',(_0x30e2c0,{commentThreadId:_0x556d7,commentId:_0x24b47f,content:_0x142432,attributes:_0x300456})=>{const _0x1ba1d4=_0x5990c9['getCommentThread'](_0x556d7);if(_0x1ba1d4){const _0x32dbff=_0x1ba1d4['getComment'](_0x24b47f);_0x32dbff&&_0x32dbff['update']({'content':_0x142432,'attributes':_0x300456,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4e2c09,'commentRemoved',(_0x2a753e,{commentThreadId:_0x1e55a0,commentId:_0x46d116})=>{const _0x3d3c9a=_0x5990c9['getCommentThread'](_0x1e55a0);if(_0x3d3c9a){const _0x7ae96f=_0x3d3c9a['getComment'](_0x46d116);_0x7ae96f&&_0x7ae96f['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x4e2c09,'disconnected',()=>{'connected'===this['context']['plugins']['get'](J)['connection']?.['state']&&(this['_services']['delete'](_0x357105),this['stopListening'](_0x4e2c09));}),await this['_connectService'](_0x357105);}destroy(){if(this['context']instanceof _0x2be8e3){const _0x5249a6=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x5249a6)&&this['_terminateService'](_0x5249a6);}}_terminateService(_0xb29271){if(!this['_services']['has'](_0xb29271))throw new _0x5c3d75('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0xb29271});this['_getService'](_0xb29271)['disconnect'](),this['_services']['delete'](_0xb29271);}async reconnect(){for(const _0x13c385 of this['_services']['keys']())await this['_connectService'](_0x13c385);if(this['context']instanceof _0x2be8e3){const _0x1e994a=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x1e994a)){const _0x2ef76a=this['context']['plugins']['get'](Q);_0x2ef76a['unregister'](_0x1e994a);const _0x58abef=await this['_services']['get'](_0x1e994a)['getConnectedSessions']();_0x2ef76a['register'](_0x1e994a,_0x58abef);}}}async _connectService(_0xd9d61e){const {connection:_0x537eb6}=this['context']['plugins']['get'](J),_0x202b1c=this['context']['plugins']['get'](_0x2182ce),_0x222dcd=await this['_services']['get'](_0xd9d61e)['connect'](_0x537eb6);await this['_fetchMissingUsersForThreads'](_0x222dcd);const _0x74a911=new Set(Array['from'](_0x202b1c['getCommentThreads']({'channelId':_0xd9d61e}),_0x308542=>_0x308542['id']));for(const _0x1a7b82 of _0x222dcd)_0x1a7b82['deletedAt']||_0x74a911['delete'](_0x1a7b82['commentThreadId']);for(const _0x288630 of _0x74a911)_0x202b1c['getCommentThread'](_0x288630)['remove']({'isFromAdapter':!0x0});for(const _0xd92998 of _0x222dcd){let _0x1a15c0=_0x202b1c['getCommentThread'](_0xd92998['commentThreadId']);const {commentThreadId:_0x406e9a,context:_0x528e70,attributes:_0x4aef73,resolvedBy:_0x2644d4,resolvedAt:_0x364e4e,unlinkedAt:_0x1d8e12,deletedAt:_0x4ec1ae}=_0xd92998;if(_0x4ec1ae)continue;_0x1a15c0||(_0x1a15c0=_0x202b1c['addCommentThread']({'channelId':_0xd9d61e,'threadId':_0x406e9a,'context':_0x528e70,'attributes':_0x4aef73||{},'resolvedBy':_0x2644d4,'resolvedAt':_0x364e4e,'unlinkedAt':_0x1d8e12,'isFromAdapter':!0x0}));const _0x5a26c2=new Set(Array['from'](_0x1a15c0['comments'],_0x17222c=>_0x17222c['id']));for(const _0x6e9cfc of _0xd92998['comments'])_0x5a26c2['delete'](_0x6e9cfc['commentId']);for(const _0x41573c of _0x5a26c2)_0x1a15c0['getComment'](_0x41573c)['remove']({'isFromAdapter':!0x0});for(const _0x39d6ea of _0xd92998['comments']){const _0x3d7090=_0x1a15c0['getComment'](_0x39d6ea['commentId']);_0x3d7090?_0x3d7090['content']!==_0x39d6ea['content']&&_0x3d7090['update']({'content':_0x39d6ea['content'],'isFromAdapter':!0x0}):_0x1a15c0['addComment'](Object['assign'](dt(_0x39d6ea),{'isFromAdapter':!0x0}));}}}_getService(_0x18891b){if(!this['_services']['has'](_0x18891b))throw new _0x5c3d75('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x18891b});return this['_services']['get'](_0x18891b);}async _fetchMissingUsersForThreads(_0x4a5511){const _0x458a88=this['context']['plugins']['get'](_0x45a2eb),{connection:_0x457fd4}=this['context']['plugins']['get'](J),_0x3131b1=new Set();for(const {resolvedBy:_0x16aedf,comments:_0xbe0b93}of _0x4a5511){_0x16aedf&&!_0x458a88['getUser'](_0x16aedf)&&_0x3131b1['add'](_0x16aedf);for(const {userId:_0x585862}of _0xbe0b93)_0x458a88['getUser'](_0x585862)||_0x3131b1['add'](_0x585862);}if(0x0===_0x3131b1['size'])return;const _0x51c3f9=await _0x3786e3['getMany'](_0x457fd4,Array['from'](_0x3131b1));for(const _0x55eda6 of _0x51c3f9)_0x458a88['getUser'](_0x55eda6['id'])||_0x458a88['addUser'](_0x55eda6);}};async function ht(_0x2812af){if('404'!==_0x2812af['code'])throw _0x2812af;}function lt(_0x306c2b){if((_0x2dd3cf=_0x306c2b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2dd3cf['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2dd3cf['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2dd3cf;throw _0x306c2b;}function dt(_0x2ef43b){return{'threadId':_0x2ef43b['commentThreadId'],'commentId':_0x2ef43b['commentId'],'content':_0x2ef43b['content'],'createdAt':_0x2ef43b['createdAt'],'authorId':_0x2ef43b['userId'],'attributes':_0x2ef43b['attributes']||{}};}var ut=class CloudServicesTrackChangesAdapter extends _0x423a3d{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x4efdb1)());_bufferedRequests;_trackChangesService;static get requires(){return[at,_0x31f5e8,J];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4cfeb3){super(_0x4cfeb3);const _0xcefc8a=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0xcefc8a);}init(){const _0x57006f=this['editor']['plugins']['get'](J),_0xbe1a7d=this['editor']['plugins']['get'](_0x31f5e8);return _0xbe1a7d['adapter']={'getSuggestion':async _0x2670b9=>{await this['_waitForServiceReady']();const _0x4d10be=await this['_trackChangesService']['get'](_0x2670b9)['catch'](ft);return await this['_fetchMissingUsersForThreads']([_0x4d10be]),_0x4d10be;},'addSuggestion':async({id:_0x4bd3ec,type:_0x401bbd,data:_0x3ae613,originalSuggestionId:_0x55ba0a,attributes:_0x13a7ed})=>{await this['_waitForServiceReady']();const _0x56b8a0={'id':_0x4bd3ec,'type':_0x401bbd,'data':_0x3ae613,'originalSuggestionId':_0x55ba0a,'attributes':_0x13a7ed},_0x3892e6=await this['_trackChangesService']['add'](_0x4bd3ec,_0x401bbd,_0x3ae613,_0x55ba0a,_0x13a7ed)['catch'](_0x4779b2=>{if(mt(_0x4779b2))return new Promise(_0x238baf=>{this['_bufferedRequests']['set'](_0x4bd3ec,{'resolve':_0x238baf,'suggestionData':_0x56b8a0});});throw _0x4779b2;});return this['_bufferedRequests']['delete'](_0x4bd3ec),_0x3892e6;},'updateSuggestion':async(_0x19d86e,_0x5d0181)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5d0181['state'])return this['_trackChangesService']['update'](_0x19d86e,_0x5d0181)['catch'](ft);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x19df57,_0x3e6dda)=>{_0xbe1a7d['hasSuggestion'](_0x3e6dda['id'])&&(_0xbe1a7d['getSuggestion'](_0x3e6dda['id'])['attributes']=_0x3e6dda['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x57006f['connection']?.['state']&&(_0x57006f['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x57006f['connection'])['then'](_0x39f2b8=>(_0x57006f['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x39f2b8)['then'](()=>{for(const _0x12d3ab of _0x39f2b8){_0xbe1a7d['addSuggestionData'](_0x12d3ab)['_saved']=!0x0;}})));}async reconnect(){const _0x487380=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x2ab51b}=this['editor']['plugins']['get'](J),_0x274902=await this['_trackChangesService']['connect'](_0x2ab51b);await this['_fetchMissingUsersForThreads'](_0x274902);for(const {suggestionData:_0x4c1762,resolve:_0x52b50a}of this['_bufferedRequests']['values']()){let _0x16d1dc=_0x274902['find'](_0x26f977=>_0x26f977['id']===_0x4c1762['id']);_0x16d1dc||(_0x16d1dc=await this['_trackChangesService']['add'](_0x4c1762['id'],_0x4c1762['type'],_0x4c1762['data'],_0x4c1762['originalSuggestionId'])),_0x52b50a(_0x16d1dc);}for(const _0x5e55ee of _0x274902)_0x487380['hasSuggestion'](_0x5e55ee['id'])||_0x487380['addSuggestionData'](_0x5e55ee);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x78943f=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2967c5=>{_0x2967c5['off'](),_0x78943f();});});}async _fetchMissingUsersForThreads(_0x2cac29){const _0x248777=this['editor']['plugins']['get'](_0x45a2eb),{connection:_0x3c67df}=this['editor']['plugins']['get'](J),_0x5b3d77=new Set();for(const {authorId:_0x36f3d7}of _0x2cac29)_0x248777['getUser'](_0x36f3d7)||_0x5b3d77['add'](_0x36f3d7);if(0x0===_0x5b3d77['size'])return;const _0x4fb74b=await _0x3786e3['getMany'](_0x3c67df,Array['from'](_0x5b3d77));for(const _0x2e09c5 of _0x4fb74b)_0x248777['getUser'](_0x2e09c5['id'])||_0x248777['addUser'](_0x2e09c5);}};function ft(_0x5531f9){if(mt(_0x5531f9))return new Promise(()=>{});throw _0x5531f9;}function mt(_0x24679b){return _0x24679b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x24679b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var pt=class extends _0x423a3d{static get requires(){return[_0x11e141,at,ct,J];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x197547=this['editor']['plugins']['get'](J),_0x2316d9=this['editor']['plugins']['get'](_0x3947f9),_0x38e760=this['editor']['plugins']['get'](at);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x197547,'change:state',(_0x5af3cd,_0x2b4689,_0x535b6c)=>{_0x2316d9['isThreadsLoadingPaused']='connected'!==_0x535b6c;});}),this['listenTo'](_0x197547,'change:state',(_0x2fb35c,_0x4589cb,_0x498f58)=>{this['editor']['plugins']['get'](_0x2182ce)['switchReadOnly']('connected'!==_0x498f58);}),_0x38e760['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x291f42=this['editor']['plugins']['get'](at),_0x167a6e=this['editor']['config']['get']('collaboration.channelId');_0x291f42['_services']['has'](_0x167a6e)&&_0x291f42['_terminateService'](_0x167a6e),super['destroy']();}},gt=class extends _0x423a3d{static get requires(){return[pt,ut,_0x2e3025];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class CloudServicesRevisionHistoryAdapter extends _0x423a3d{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x4935ea)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[J,it,_0xa7ea16,Q,_0x45a2eb];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x969ee7){super(_0x969ee7);const _0x58c65f=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x58c65f);}async init(){const _0x550937=this['editor']['plugins']['get'](it),_0x591376=_0x550937['serverHistory'],_0x15d13b=this['editor']['plugins']['get'](J);this['_revisionTracker']['setSource']({'history':_0x591376,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x550937['sessionId']});const _0x57c3f8=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x476e6c,_0x4113e8=await _0x100712['isBundleUploaded'](_0x15d13b['connection'],_0x57c3f8);this['editor']['plugins']['get'](_0xa7ea16)['adapter']={'getRevision':async({revisionId:_0x53b5da})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x53b5da)),'updateRevisions':async _0x57d8a6=>{await this['_waitForServiceReady']();const _0x5cd800=this['_revisionTracker']['currentRevision'];if(_0x4113e8&&0x1===_0x57d8a6['length']&&_0x57d8a6[0x0]['id']===_0x5cd800['id'])return _0x57d8a6;for(const _0x19cfcb of _0x57d8a6)_0x19cfcb['id']===_0x5cd800['id']&&(_0x19cfcb['isEmptyCurrent']=_0x19cfcb['fromVersion']===_0x19cfcb['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x57d8a6,this['_lastRequestId'])['then'](_0x2c6dab=>(this['_lastRequestId']=_0x2c6dab,_0x57d8a6))['catch'](_0x3a0f44=>{if(vt(_0x3a0f44)||'400'===_0x3a0f44['code']&&void 0x0!==_0x3a0f44['data']['wrongRequestId']){for(const _0x509b28 of _0x57d8a6)this['_revisionTracker']['repository']['getRevision'](_0x509b28['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x509b28['id'],_0x509b28,!0x1);if(vt(_0x3a0f44)&&'destroyed'!==this['editor']['state'])throw _0x3a0f44;return _0x57d8a6;}throw _0x3a0f44;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x19ba4b,{revisionsData:_0x179755,requestId:_0x49ab94})=>{Math['max'](..._0x179755['map'](_0x2628c9=>_0x2628c9['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x179755,_0x49ab94);}):this['_handleRevisionsUpdate'](_0x179755,_0x49ab94);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x15d13b['connection']?.['state']&&(_0x15d13b['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x2ed10e,requestId:_0x1fed13}=await this['_revisionHistoryService']['connect'](_0x15d13b['connection']);_0x15d13b['addToReconnectionStack'](this),this['_lastRequestId']=_0x1fed13,await this['_fetchMissingUsers'](_0x2ed10e);for(const _0x446125 of _0x2ed10e)this['_revisionTracker']['addRevisionData'](_0x446125);this['listenTo'](_0x550937,'change:_isConnected',(_0x1d2855,_0x165d6c,_0xb61dbb)=>{_0xb61dbb&&(this['_oldOffset']=_0x550937['_offset'],_0x1d2855['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x5c4289=this['editor']['plugins']['get'](J),_0x27c0e2=this['editor']['plugins']['get'](it),_0x59b3eb=async()=>{const _0x57cc43=this['_revisionTracker']['currentRevision'],_0x1da7f0=_0x57cc43['id'],_0x27d5cd=_0x1da7f0!==_0x27c0e2['sessionId'];if(_0x27d5cd){const _0x45c9d7=_0x27c0e2['_offset']-this['_oldOffset'],_0x337fbe=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x57cc43['toVersion']+_0x45c9d7!==_0x337fbe){const _0x488287=_0x57cc43['fromVersion']+_0x45c9d7,_0x2799c2=this['editor']['plugins']['get'](_0x45a2eb),_0x11f8d6=this['_revisionTracker']['buildRevisionData']({'revision':_0x57cc43,'from':_0x488287,'to':_0x337fbe});_0x11f8d6['id']=_0x57cc43['id'];const _0x4df7c3=_0x11f8d6['authorsIds']['map'](_0x19425e=>_0x2799c2['getUser'](_0x19425e));_0x57cc43['_update']({..._0x11f8d6,'authors':_0x4df7c3},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x57cc43['id'],_0x11f8d6,!0x0);}this['_revisionTracker']['_startingVersion']=_0x337fbe,_0x57cc43['toVersion']!==_0x57cc43['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x1da7f0)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x1da7f0),this['_revisionTracker']['_createCurrentRevision'](_0x337fbe);}const {revisions:_0x4935dd,requestId:_0x33e733}=await this['_revisionHistoryService']['reconnect'](_0x5c4289['connection'],this['_lastRequestId']);_0x27d5cd&&_0x4935dd['length']>0x0?_0x27c0e2['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4935dd),this['_handleRevisionsUpdate'](_0x4935dd,_0x33e733),this['_revisionTracker']['sendBufferedUpdates']());};return _0x27c0e2['_isConnected']?_0x59b3eb():new Promise((_0x2d1233,_0x403f0d)=>{_0x27c0e2['once']('change:_isConnected',()=>{_0x59b3eb()['then'](_0x2d1233)['catch'](_0x403f0d);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5e2001=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3cf56f=>{_0x3cf56f['off'](),_0x5e2001();});});}_getLatestVersionFromServerOperations(){const _0x14900c=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x48a680 of _0x14900c)if('marker'!==_0x48a680['type']||_0x48a680['affectsData'])return _0x48a680['baseVersion']+0x1;}_getLatestVersion(){const _0x3fa302=this['editor']['plugins']['get'](it);return new Promise(_0x2312ce=>{_0x3fa302['_isPendingUpdate']?_0x3fa302['once']('change:_isPendingUpdate',()=>{_0x2312ce(this['_getLatestVersionFromServerOperations']());}):_0x2312ce(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x40e118,_0x5b74b8){const _0x56be9f=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x5b74b8;for(const _0xa44fdf of _0x40e118){const _0x26de67=_0x56be9f['getRevision'](_0xa44fdf['id']);if(_0x26de67){if((_0xa44fdf['fromVersion']||_0xa44fdf['toVersion'])&&(_0xa44fdf['diffData']=null),_0x26de67===this['_revisionTracker']['currentRevision']){const _0x6b2c0f=Math['max'](_0x26de67['toVersion'],_0xa44fdf['toVersion']),_0x2efdee=Math['max'](_0x26de67['fromVersion'],_0xa44fdf['fromVersion']);let _0x26f0f1;_0x26de67['toVersion']===_0xa44fdf['toVersion']&&_0x26de67['fromVersion']===_0xa44fdf['fromVersion']?(_0x26f0f1=!0x0,this['_preventResendingRevisionData'](_0xa44fdf)):_0xa44fdf['toVersion']===_0x6b2c0f&&_0xa44fdf['fromVersion']===_0x2efdee?_0x26f0f1=!0x1:(_0x26de67['toVersion']===_0x6b2c0f&&_0x26de67['fromVersion']===_0x2efdee||this['_fixRevision']({'revision':_0x26de67,'from':_0x2efdee,'to':_0x6b2c0f}),_0x26f0f1=!0x0),_0x26f0f1&&(delete _0xa44fdf['fromVersion'],delete _0xa44fdf['toVersion'],delete _0xa44fdf['diffData'],delete _0xa44fdf['createdAt'],delete _0xa44fdf['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xa44fdf),this['_preventResendingRevisionData'](_0xa44fdf);}else this['_revisionTracker']['addRevisionData'](_0xa44fdf);}const _0x17a3b2=_0x56be9f['getRevisions']();_0x17a3b2['reverse']();for(let _0x2ff8fe=0x0;_0x2ff8fe<_0x17a3b2['length']-0x1;_0x2ff8fe++){const _0x4c52a1=_0x17a3b2[_0x2ff8fe],_0x196087=_0x17a3b2[_0x2ff8fe+0x1];if(_0x4c52a1['fromVersion']<_0x196087['toVersion']){const _0x196844=_0x196087['toVersion'],_0x13c978=Math['max'](_0x196844,_0x4c52a1['toVersion']);this['_fixRevision']({'revision':_0x4c52a1,'from':_0x196844,'to':_0x13c978});}}}['_fixRevision']({revision:_0x2cac92,from:_0x7a5062,to:_0x3eac50}={}){const _0x320ba7=this['editor']['plugins']['get'](_0x45a2eb),_0x42aa0=this['_revisionTracker']['buildRevisionData']({'revision':_0x2cac92,'from':_0x7a5062,'to':_0x3eac50});_0x42aa0['authors']=_0x42aa0['authorsIds']['map'](_0x4eff5d=>_0x320ba7['getUser'](_0x4eff5d)),_0x2cac92['_update'](_0x42aa0);}_preventResendingRevisionData(_0x3dbfff){const _0x179598={};_0x179598['id']=_0x3dbfff['id'];for(const _0x4d9c95 of Object['keys'](_0x3dbfff))'id'!==_0x4d9c95&&(_0x179598[_0x4d9c95]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x179598['id'],_0x179598,!0x0);}async _fetchMissingUsers(_0x2fc74d){const _0x19b8d6=this['editor']['plugins']['get'](_0x45a2eb),{connection:_0x14f5e1}=this['editor']['plugins']['get'](J),_0x152d1f=new Set();for(const _0x1e16be of _0x2fc74d){for(const _0xc0bd29 of _0x1e16be['authorsIds'])_0x2d0c0f(_0xc0bd29);_0x1e16be['creatorId']&&_0x2d0c0f(_0x1e16be['creatorId']);}if(0x0===_0x152d1f['size'])return;const _0x16f898=await _0x3786e3['getMany'](_0x14f5e1,Array['from'](_0x152d1f));for(const _0x438c32 of _0x16f898)_0x19b8d6['getUser'](_0x438c32['id'])||_0x19b8d6['addUser'](_0x438c32);function _0x2d0c0f(_0x261adf){_0x19b8d6['getUser'](_0x261adf)||_0x152d1f['add'](_0x261adf);}}};function vt(_0x25f4d8){return _0x25f4d8['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x25f4d8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x25f4d8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var _t=class extends _0x423a3d{static get requires(){return[_0xa7ea16,wt,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},yt=class extends _0x3498d3{_collapseAt;constructor(_0x7f0c38,_0x236bd7=0x6){super(_0x7f0c38);const _0x9d5a9b=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x236bd7,this['bind']('isHidden')['to'](this,'usersCount',_0x19d454=>_0x19d454<_0x236bd7),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x9d5a9b['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':_0x9d5a9b['to']('usersCount',_0x535f11=>'+'+(_0x535f11-this['_collapseAt']+0x2)['toString']())}]}]}]});}},bt=class extends _0x3498d3{items;keystrokes;constructor(_0x488ead){super(_0x488ead);const _0x89b131=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x15f4f2(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x89b131['if']('hasPopup'),'aria-expanded':_0x89b131['to']('isExpanded',_0x342ac6=>this['hasPopup']&&String(_0x342ac6)),'aria-label':_0x89b131['to']('hasPopup',_0x18f167=>et(_0x488ead,_0x18f167?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x89b131['to']('hasPopup',_0x22268c=>!!_0x22268c&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x2cea51,_0x635067,_0x1826d5)=>{this['element']&&(_0x1826d5?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']);}},kt=class extends _0x3498d3{counterView;inlineListView;constructor(_0x4bc750,_0x1943ed=0x6){super(_0x4bc750);const _0x461499=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new yt(this['locale'],_0x1943ed),this['inlineListView']=new bt(_0x4bc750),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x394f61 of this['inlineListView']['items'])_0x394f61['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',_0x461499['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},It=class extends _0x3498d3{listWrapperView;constructor(_0x323801,_0x66e382){super(_0x323801),this['listWrapperView']=new St(_0x323801,_0x66e382),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x323801,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},St=class extends _0xadd891{constructor(_0x34ff65,_0x434c8f){super(_0x34ff65);const _0x556af1=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x434c8f?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x556af1['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x556af1['to']('role'),'aria-label':_0x556af1['to']('ariaLabel'),'aria-labelledby':_0x556af1['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2ef3b1['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x3516ce=this['element'];_0x3516ce&&(this['_isScrollable']=Math['max'](_0x3516ce['scrollHeight'],_0x3516ce['clientHeight'])>0.8*window['innerHeight']);}},Tt=class extends _0x47215c{['userView'];constructor(_0x5e2031,_0x159daf,_0x1dab2f){super(_0x5e2031);const _0xc46538=this['bindTemplate'];this['userView']=new _0x289284(_0x5e2031,_0x159daf);const _0x2e55ed={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x159daf['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x159daf['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x159daf['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x159daf['color']['getColorVariable'](),'--ck-user-color-alpha':_0x159daf['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x1dab2f&&(_0x2e55ed['tag']='button',_0x2e55ed['on']={'click':_0xc46538['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2e55ed);}['focus'](){this['element']['focus']();}},Ct=class extends _0x3498d3{['userView'];['markerView'];constructor(_0x4a82f1,_0x31dadb,_0x34515e){super(_0x4a82f1);const _0x2264fe=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x289284(_0x4a82f1,_0x31dadb),this['markerView']=new At(_0x4a82f1,_0x31dadb);const _0x23f5fd=new _0x242656(_0x4a82f1);_0x23f5fd['template']['tag']='span',_0x23f5fd['text']=_0x31dadb['name'];const _0x57de73={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2264fe['to']('isFocusable',_0x57c206=>_0x57c206?0x0:-0x1),'aria-labelledby':_0x23f5fd['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2264fe['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2264fe['to']('hasTooltip',_0x1fb3f2=>!_0x1fb3f2),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x23f5fd]};_0x34515e&&(_0x57de73['tag']='button',_0x57de73['on']={'click':_0x2264fe['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x57de73);}},At=class extends _0x3498d3{constructor(_0x30a486,_0x4f7b33){super(_0x30a486),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4f7b33['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4f7b33['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4f7b33['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Pt={'collapseAt':0x6,'displayMe':!0x0};var Ot=class extends _0x34398c{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x527a65){super(_0x527a65),this['context']['config']['define']('presenceList',Pt);const _0x2ef8bf=_0x527a65['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2ef8bf)throw new _0x5c3d75('presencelist-collapseat-invalid-format',this);if(_0x2ef8bf<0x1)throw new _0x5c3d75('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Q)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1da6c7(),this['balloonPanelView']=new _0x4e8836(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Q];}init(){for(const _0x1e5dd5 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1e5dd5);this['listenTo'](this['_allConnectedUsers'],'add',(_0x16e3b5,_0x364f90)=>{this['_handleUserAdd'](_0x364f90);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4f934e,_0x12e126)=>{this['_handleUserRemove'](_0x12e126);});}_createView(){const _0x546dfd=this['context'],_0x4a8c11=new kt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x10a55d=this['balloonPanelView'];if(!_0x17bcfc(_0x546dfd['config']['get']('presenceList.container')))throw new _0x5c3d75('presencelist-missing-container',this);_0x4a8c11['counterView']['bind']('usersCount')['to'](this),_0x4a8c11['bind']('isCollapsed')['to'](this,'usersCount',_0x4f2978=>{const {collapseAt:_0x9b7b85}=_0x546dfd['config']['get']('presenceList'),_0x21e05d=_0x4f2978>=_0x9b7b85;if(_0x21e05d&&!_0x4a8c11['inlineListView']['items']['find'](_0x289217=>_0x289217 instanceof yt)){const _0x389d82=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x389d82&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4a8c11['inlineListView']['items']['add'](_0x4a8c11['counterView']);}return _0x21e05d||this['hideDropdown'](),_0x21e05d;}),_0x4a8c11['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x29eb4d=>{const _0xcb047e=_0x546dfd['config']['get']('presenceList'),_0x3ed37f=new Ct(_0x546dfd['locale'],_0x29eb4d,!!_0xcb047e['onClick']);return _0x3ed37f['bind']('hasTooltip')['to'](_0x4a8c11,'isCollapsed',_0x2faeca=>!_0x2faeca),_0x3ed37f['bind']('isFocusable')['to'](_0x4a8c11,'isCollapsed',_0x19e57a=>!_0x19e57a),_0xcb047e['onClick']&&this['listenTo'](_0x3ed37f,'execute',()=>{this['view']['isCollapsed']||_0xcb047e['onClick'](_0x29eb4d,_0x3ed37f['element']);}),_0x3ed37f;}),_0x4a8c11['inlineListView']['keystrokes']['set']('Enter',(_0x257908,_0x211ff6)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x211ff6());}),_0x4a8c11['render'](),_0x10a55d['render'](),_0x4a8c11['listenTo'](_0x4a8c11['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x321878=(_0x4c9792,_0x1bf463)=>{this['_hideDropdownUnlessPointerInside'](_0x1bf463);};return _0x4a8c11['listenTo'](_0x4a8c11['inlineListView']['element'],'mouseleave',_0x321878),_0x4a8c11['listenTo'](_0x10a55d['element'],'mouseleave',_0x321878),_0x3cf34f({'emitter':_0x4a8c11,'activator':()=>_0x10a55d['isVisible'],'contextElements':[_0x10a55d['element'],_0x4a8c11['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x546dfd['config']['get']('presenceList.container')['appendChild'](_0x4a8c11['element']),this['_overlayHost']=new _0x35fbbe(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x4a8c11;}_resolveOverlayTarget(){const _0x4fa978=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x4fa978)return _0x4fa978;const _0x44eff7=this['context']['config']['get']('presenceList.container');return _0x44eff7?_0x464101(_0x44eff7):null;}['_handleUserAdd'](_0x1849ca){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1849ca['isMe'])return;const _0x195761=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x195761-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x59c866=_0x1849ca['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1849ca,_0x59c866);}['_handleUserRemove'](_0x170ee6){this['usersCount']--;const {collapseAt:_0x1b8839}=this['context']['config']['get']('presenceList'),_0x1d13f8=this['usersCount']>=_0x1b8839;if(this['currentDisplayedUsers']['get'](_0x170ee6['id']))this['currentDisplayedUsers']['remove'](_0x170ee6['id']);else{if(_0x1d13f8&&this['currentDisplayedUsers']['length']+0x1===_0x1b8839-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1d13f8?0x1:0x0)<this['usersCount']){for(const _0x2a014c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2a014c['id'])&&(this['currentDisplayedUsers']['add'](_0x2a014c,Math['min'](this['currentDisplayedUsers']['length']-(_0x1d13f8?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1d13f8?0x1:0x0)===_0x1b8839-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x2ca952=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new It(this['context']['locale'],!!_0x2ca952['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x461b30}=this['presenceDropdownView'];_0x461b30['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3f14c6=>{if(!_0x2ca952['displayMe']&&_0x3f14c6['isMe'])return null;const _0x500d7e=new Tt(this['context']['locale'],_0x3f14c6,!!_0x2ca952['onClick']);return _0x2ca952['onClick']&&this['listenTo'](_0x500d7e,'execute',()=>{_0x2ca952['onClick'](_0x3f14c6,_0x500d7e['element']);}),_0x500d7e;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']);const _0x1205c3=_0x4e8836['generatePositions']({'heightOffset':0x3,'config':{'withArrow':!0x1}});this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element'],'positions':[_0x1205c3['southArrowNorth'],_0x1205c3['southArrowNorthMiddleWest'],_0x1205c3['southArrowNorthMiddleEast'],_0x1205c3['southArrowNorthWest'],_0x1205c3['southArrowNorthEast'],_0x1205c3['northArrowSouth'],_0x1205c3['northArrowSouthMiddleWest'],_0x1205c3['northArrowSouthMiddleEast'],_0x1205c3['northArrowSouthWest'],_0x1205c3['northArrowSouthEast'],_0x1205c3['viewportStickyNorth']]}),_0x461b30['focus'](),_0x461b30['checkIfScrollable']();const _0x2e2bec=(_0x457646,_0x2ecfa2)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2ecfa2();};_0x461b30['keystrokes']['set']('Esc',_0x2e2bec),_0x461b30['keystrokes']['set']('Shift+Tab',_0x2e2bec),_0x461b30['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x461b30['focusTracker']['add'](this['view']['element']),_0x461b30['focusTracker']['on']('change:isFocused',(_0x501585,_0x4a47dd,_0x2b66bb)=>{_0x2b66bb||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);}_hideDropdownUnlessPointerInside(_0x4b7c73){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x1bb759=>_0x3de2c2(_0x1bb759,_0x4b7c73))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},xt=class extends _0x34398c{static get requires(){return[Q,Ot];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{at as CloudServicesCommentsAdapter,wt as CloudServicesRevisionHistoryAdapter,ut as CloudServicesTrackChangesAdapter,xt as PresenceList,Ot as PresenceListUI,it as RealTimeCollaborationClient,pt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,_t as RealTimeCollaborativeRevisionHistory,gt as RealTimeCollaborativeTrackChanges,Q as Sessions,J as WebSocketGateway};
|