@ckeditor/ckeditor5-real-time-collaboration 48.4.0-alpha.2 → 48.4.0-alpha.3
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.js +1 -1
- package/dist/translations/af.umd.js +1 -1
- package/dist/translations/ar.js +1 -1
- package/dist/translations/ar.umd.js +1 -1
- package/dist/translations/ast.js +1 -1
- package/dist/translations/ast.umd.js +1 -1
- package/dist/translations/az.js +1 -1
- package/dist/translations/az.umd.js +1 -1
- package/dist/translations/be.js +1 -1
- package/dist/translations/be.umd.js +1 -1
- package/dist/translations/bg.js +1 -1
- package/dist/translations/bg.umd.js +1 -1
- package/dist/translations/bn.js +1 -1
- package/dist/translations/bn.umd.js +1 -1
- package/dist/translations/bs.js +1 -1
- package/dist/translations/bs.umd.js +1 -1
- package/dist/translations/ca.js +1 -1
- package/dist/translations/ca.umd.js +1 -1
- package/dist/translations/cs.js +1 -1
- package/dist/translations/cs.umd.js +1 -1
- package/dist/translations/da.js +1 -1
- package/dist/translations/da.umd.js +1 -1
- package/dist/translations/de-ch.js +1 -1
- package/dist/translations/de-ch.umd.js +1 -1
- package/dist/translations/de.js +1 -1
- package/dist/translations/de.umd.js +1 -1
- package/dist/translations/el.js +1 -1
- package/dist/translations/el.umd.js +1 -1
- package/dist/translations/en-au.js +1 -1
- package/dist/translations/en-au.umd.js +1 -1
- package/dist/translations/en-gb.js +1 -1
- package/dist/translations/en-gb.umd.js +1 -1
- package/dist/translations/en.js +1 -1
- package/dist/translations/en.umd.js +1 -1
- package/dist/translations/eo.js +1 -1
- package/dist/translations/eo.umd.js +1 -1
- package/dist/translations/es-co.js +1 -1
- package/dist/translations/es-co.umd.js +1 -1
- package/dist/translations/es.js +1 -1
- package/dist/translations/es.umd.js +1 -1
- package/dist/translations/et.js +1 -1
- package/dist/translations/et.umd.js +1 -1
- package/dist/translations/eu.js +1 -1
- package/dist/translations/eu.umd.js +1 -1
- package/dist/translations/fa.js +1 -1
- package/dist/translations/fa.umd.js +1 -1
- package/dist/translations/fi.js +1 -1
- package/dist/translations/fi.umd.js +1 -1
- package/dist/translations/fr.js +1 -1
- package/dist/translations/fr.umd.js +1 -1
- package/dist/translations/gl.js +1 -1
- package/dist/translations/gl.umd.js +1 -1
- package/dist/translations/gu.js +1 -1
- package/dist/translations/gu.umd.js +1 -1
- package/dist/translations/he.js +1 -1
- package/dist/translations/he.umd.js +1 -1
- package/dist/translations/hi.js +1 -1
- package/dist/translations/hi.umd.js +1 -1
- package/dist/translations/hr.js +1 -1
- package/dist/translations/hr.umd.js +1 -1
- package/dist/translations/hu.js +1 -1
- package/dist/translations/hu.umd.js +1 -1
- package/dist/translations/hy.js +1 -1
- package/dist/translations/hy.umd.js +1 -1
- package/dist/translations/id.js +1 -1
- package/dist/translations/id.umd.js +1 -1
- package/dist/translations/it.js +1 -1
- package/dist/translations/it.umd.js +1 -1
- package/dist/translations/ja.js +1 -1
- package/dist/translations/ja.umd.js +1 -1
- package/dist/translations/jv.js +1 -1
- package/dist/translations/jv.umd.js +1 -1
- package/dist/translations/kk.js +1 -1
- package/dist/translations/kk.umd.js +1 -1
- package/dist/translations/km.js +1 -1
- package/dist/translations/km.umd.js +1 -1
- package/dist/translations/kn.js +1 -1
- package/dist/translations/kn.umd.js +1 -1
- package/dist/translations/ko.js +1 -1
- package/dist/translations/ko.umd.js +1 -1
- package/dist/translations/ku.js +1 -1
- package/dist/translations/ku.umd.js +1 -1
- package/dist/translations/lt.js +1 -1
- package/dist/translations/lt.umd.js +1 -1
- package/dist/translations/lv.js +1 -1
- package/dist/translations/lv.umd.js +1 -1
- package/dist/translations/ms.js +1 -1
- package/dist/translations/ms.umd.js +1 -1
- package/dist/translations/nb.js +1 -1
- package/dist/translations/nb.umd.js +1 -1
- package/dist/translations/ne.js +1 -1
- package/dist/translations/ne.umd.js +1 -1
- package/dist/translations/nl.js +1 -1
- package/dist/translations/nl.umd.js +1 -1
- package/dist/translations/no.js +1 -1
- package/dist/translations/no.umd.js +1 -1
- package/dist/translations/oc.js +1 -1
- package/dist/translations/oc.umd.js +1 -1
- package/dist/translations/pl.js +1 -1
- package/dist/translations/pl.umd.js +1 -1
- package/dist/translations/pt-br.js +1 -1
- package/dist/translations/pt-br.umd.js +1 -1
- package/dist/translations/pt.js +1 -1
- package/dist/translations/pt.umd.js +1 -1
- package/dist/translations/ro.js +1 -1
- package/dist/translations/ro.umd.js +1 -1
- package/dist/translations/ru.js +1 -1
- package/dist/translations/ru.umd.js +1 -1
- package/dist/translations/si.js +1 -1
- package/dist/translations/si.umd.js +1 -1
- package/dist/translations/sk.js +1 -1
- package/dist/translations/sk.umd.js +1 -1
- package/dist/translations/sl.js +1 -1
- package/dist/translations/sl.umd.js +1 -1
- package/dist/translations/sq.js +1 -1
- package/dist/translations/sq.umd.js +1 -1
- package/dist/translations/sr-latn.js +1 -1
- package/dist/translations/sr-latn.umd.js +1 -1
- package/dist/translations/sr.js +1 -1
- package/dist/translations/sr.umd.js +1 -1
- package/dist/translations/sv.js +1 -1
- package/dist/translations/sv.umd.js +1 -1
- package/dist/translations/th.js +1 -1
- package/dist/translations/th.umd.js +1 -1
- package/dist/translations/ti.js +1 -1
- package/dist/translations/ti.umd.js +1 -1
- package/dist/translations/tk.js +1 -1
- package/dist/translations/tk.umd.js +1 -1
- package/dist/translations/tr.js +1 -1
- package/dist/translations/tr.umd.js +1 -1
- package/dist/translations/tt.js +1 -1
- package/dist/translations/tt.umd.js +1 -1
- package/dist/translations/ug.js +1 -1
- package/dist/translations/ug.umd.js +1 -1
- package/dist/translations/uk.js +1 -1
- package/dist/translations/uk.umd.js +1 -1
- package/dist/translations/ur.js +1 -1
- package/dist/translations/ur.umd.js +1 -1
- package/dist/translations/uz.js +1 -1
- package/dist/translations/uz.umd.js +1 -1
- package/dist/translations/vi.js +1 -1
- package/dist/translations/vi.umd.js +1 -1
- package/dist/translations/zh-cn.js +1 -1
- package/dist/translations/zh-cn.umd.js +1 -1
- package/dist/translations/zh.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
|
-
((()=>_0x5d6b32)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x15db02,_0x3261b0];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3e0e06){super(_0x3e0e06),this['set']('state',_0x36a3fe['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x173edc())();}init(){const _0x3ac49e=this['context'],_0x2bcf38=_0x3ac49e['plugins']['get'](_0x15db02),_0x29498f=_0x3ac49e['plugins']['get'](_0x3261b0);if(!_0x2bcf38['token'])throw new _0x30c218('websocketgateway-missing-token',this);if(!_0x2bcf38['webSocketUrl'])throw new _0x30c218('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'](_0x2bcf38['token'],_0x2bcf38['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x4113a1=>{if(this['connection']=_0x4113a1,this['bind']('state')['to'](_0x4113a1,'state',this,'_isBrowserOffline',(_0x8e57f4,_0x38b261)=>('connected'!==_0x8e57f4&&(this['_shouldPluginsReconnect']=!0x0),_0x38b261||_0x8e57f4!==_0x36a3fe['CONNECTED']?_0x36a3fe['DISCONNECTED']:this['state']==_0x36a3fe['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x36a3fe['CONNECTING']):_0x36a3fe['CONNECTED'])),this['connection']['on']('error',(_0x9cda99,_0x49d696)=>{if('limitExceeded'!==_0x49d696['code'])throw console['error'](_0x49d696),new _0x30c218('cloudservices-init',null,{'originalError':_0x49d696});_0x29498f['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'});}),!_0x4113a1['me'])return new Promise(_0x1e5f0a=>_0x4113a1['on']('change:me',_0x1e5f0a));})['catch'](_0x66d9d8=>{throw console['error'](_0x66d9d8),new _0x30c218('cloudservices-init',null,{'originalError':_0x66d9d8});});}addToReconnectionStack(_0x140ff0){if('function'!=typeof _0x140ff0['reconnect'])throw new _0x30c218('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x140ff0))throw new _0x30c218('websocketgateway-plugin-already-registered',this,{'name':_0x140ff0['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x140ff0);}removeFromReconnectionStack(_0x5290d9){this['_reconnectionStack']['delete'](_0x5290d9);}isInReconnectionStack(_0x39ca21){return this['_reconnectionStack']['has'](_0x39ca21);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3f78be=>_0x3f78be['reconnect']())))['then'](()=>this['state']=_0x36a3fe['CONNECTED'])['catch'](_0x5bf84f=>{throw console['error'](_0x5bf84f),new _0x30c218('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x36a3fe['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x11ffbd{['channelSessions'];channelConnectedUsers;allConnectedUsers;_registeredSessions;_uniqueUsersCount;['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[z,_0x1633f9];}constructor(_0x1fa7c6){super(_0x1fa7c6),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5b4d4a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1633f9);}init(){const _0x4a98ca=this['context']['plugins']['get'](z);this['listenTo'](_0x4a98ca,'change:state',(_0x1b7441,_0x12b0ce,_0x3a0a1f)=>{if('connected'!==_0x3a0a1f)this['channelSessions']['forEach'](_0x49f03e=>_0x49f03e['clear']()),this['channelConnectedUsers']['forEach'](_0x18bcba=>_0x18bcba['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2e88b0,_0x3161ee]of this['_registeredSessions'])for(const _0x45598e of _0x3161ee)this['_handleSessionAdd'](_0x2e88b0,_0x45598e);}}),this['_createUser'](_0x4a98ca['connection']['me'],!0x0);}register(_0x2036d4,_0x33d52d){if(this['_registeredSessions']['has'](_0x2036d4))throw new _0x30c218('sessions-register-already-registered',null,{'channelId':_0x2036d4});this['_registeredSessions']['set'](_0x2036d4,_0x33d52d),this['channelSessions']['set'](_0x2036d4,new _0x5b4d4a()),this['channelConnectedUsers']['set'](_0x2036d4,new _0x5b4d4a()),this['listenTo'](_0x33d52d,'add',(_0x18ea25,_0x4236b9)=>this['_handleSessionAdd'](_0x2036d4,_0x4236b9)),this['listenTo'](_0x33d52d,'remove',(_0x261145,_0x5bd87b)=>this['_handleSessionRemove'](_0x2036d4,_0x5bd87b));for(const _0x1c013f of _0x33d52d)this['_handleSessionAdd'](_0x2036d4,_0x1c013f);}unregister(_0x1eccd8){if(!this['_registeredSessions']['has'](_0x1eccd8))throw new _0x30c218('sessions-unregister-not-exist',null,{'channelId':_0x1eccd8});const _0x154ab3=this['_registeredSessions']['get'](_0x1eccd8);this['stopListening'](_0x154ab3);for(const _0x32a41d of _0x154ab3)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x1eccd8,_0x32a41d);this['_registeredSessions']['delete'](_0x1eccd8),this['channelSessions']['delete'](_0x1eccd8),this['channelConnectedUsers']['delete'](_0x1eccd8);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x359ef5){for(const _0x4f36d9 of this['channelSessions']['values']())for(const _0x5d3623 of _0x4f36d9)if(_0x5d3623['id']===_0x359ef5)return _0x5d3623['user'];}getUserSessions(_0x202c5f,_0x330b65){const _0x5b9149=_0x330b65?[this['channelSessions']['get'](_0x330b65)]:this['channelSessions']['values'](),_0xb60691=new Set();for(const _0x585ded of _0x5b9149)for(const _0x4520af of _0x585ded)_0x4520af['user']['id']===_0x202c5f['id']&&_0xb60691['add'](_0x4520af['id']);return _0xb60691;}getUserRole(_0x5a4fd3){for(const _0x38f575 of this['channelSessions']['values']())for(const _0x575b51 of _0x38f575)if(_0x575b51['user']===_0x5a4fd3)return _0x575b51['role'];}['_handleSessionAdd'](_0x3865fa,_0x5a8b02){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x17621b=_0x5a8b02['user'],_0x3f3f92=this['_users']['getUser'](_0x17621b['id'])||this['_createUser'](_0x17621b),_0x146426=Object['assign']({},_0x5a8b02,{'user':_0x3f3f92});if(this['channelSessions']['get'](_0x3865fa)['add'](_0x146426),!_0x17621b['hiddenInPresenceList']){const _0x492004=this['channelConnectedUsers']['get'](_0x3865fa);_0x492004['has'](_0x3f3f92['id'])||_0x492004['add'](_0x3f3f92),this['allConnectedUsers']['has'](_0x3f3f92['id'])||_0x17621b['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x3f3f92,_0x3f3f92['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3865fa,{'channelId':_0x3865fa,'session':_0x146426});}['_handleSessionRemove'](_0x57bccd,_0x585fa5){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x34b2f8=this['channelConnectedUsers']['get'](_0x57bccd),_0x257f3d=_0x585fa5['user'];_0x257f3d['id']&&(this['channelSessions']['get'](_0x57bccd)['remove'](_0x585fa5['id']),_0x34b2f8['has'](_0x257f3d['id'])&&!this['getUserSessions'](_0x257f3d,_0x57bccd)['size']&&_0x34b2f8['remove'](_0x257f3d['id']),this['allConnectedUsers']['get'](_0x257f3d['id'])&&!this['getUserSessions'](_0x257f3d)['size']&&this['allConnectedUsers']['remove'](_0x257f3d['id']));}_createUser(_0x39a45c,_0x3c7589){const _0x193903=this['_users']['addUser'](_0x39a45c);return _0x3c7589&&this['_users']['defineMe'](_0x39a45c['id']),_0x193903['orderNumber']=this['_uniqueUsersCount']++,_0x193903;}},K=class extends _0x2e5ad8{_domEmitter=new(_0x173edc())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x38e826=this['editor'],_0x3bc07f=_0x38e826['plugins']['get'](Y);_0x38e826['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x348bd2,{writer:_0x10b455})=>function(_0x2af3cf,_0x4ccb13,_0x2efcc3,_0x52b4f0){const _0x13003e=_0x2af3cf['markerName']['split'](':')[0x2],_0x13faf5=_0x2efcc3['getUserBySessionId'](_0x13003e);if(!_0x13faf5||_0x13003e===_0x2efcc3['mySessionId'])return;if(!_0x52b4f0['model']['schema']['checkChild'](_0x2af3cf['markerRange']['start'],'$text'))return;const _0x36adeb={'class':'ck-user__marker\x20'+_0x13faf5['color']['getMarkerClass'](),'style':Q(_0x13faf5),'data-name':_0x13faf5['name'],'data-session-id':_0x13003e},_0x5cf0fa=_0x52b4f0['model']['markers']['get'](_0x2af3cf['markerName'])['getStart'](),_0x5ea8ac=_0x5cf0fa['nodeAfter'],_0x5af623=_0x52b4f0['model']['schema'];if(_0x5ea8ac&&_0x5af623['isObject'](_0x5ea8ac)&&_0x5af623['isInline'](_0x5ea8ac)&&!_0x52b4f0['model']['markers']['get']('user:range:'+_0x13003e)['getRange']()['isCollapsed'])return;const _0x1d5773=_0x5cf0fa['parent'];return _0x52b4f0['model']['schema']['isLimit'](_0x1d5773)&&!_0x52b4f0['model']['hasContent'](_0x1d5773)&&(_0x36adeb['contenteditable']=!0x1),function(_0x38b092,_0x3c93f8,_0x22aae0){const _0x4e03a6=_0x38b092['createUIElement']('span',_0x3c93f8);return _0x38b092['setCustomProperty']('userPositionMarker',!0x0,_0x4e03a6),_0x4e03a6['render']=function(_0x5baad3){const _0x42f70b=this['toDomElement'](_0x5baad3),_0x39cf11=document['createElement']('span');return _0x39cf11['classList']['add']('ck-user__marker-tooltip'),_0x39cf11['setAttribute']('contenteditable','false'),_0x39cf11['setAttribute']('spellcheck','false'),_0x39cf11['textContent']=_0x22aae0['name'],_0x42f70b['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x39cf11['outerHTML']+'',_0x42f70b['addEventListener']('mouseenter',()=>{_0x42f70b['classList']['add']('ck-user__marker_hovered');}),_0x42f70b['addEventListener']('mouseleave',()=>{_0x42f70b['classList']['remove']('ck-user__marker_hovered');}),_0x42f70b;},_0x4e03a6['isSimilar']=function(_0x16bbc3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x16bbc3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x16bbc3['getAttribute']('data-session-id'));},_0x4e03a6;}(_0x4ccb13,_0x36adeb,_0x13faf5);}(_0x348bd2,_0x10b455,_0x3bc07f,_0x38e826)}),_0x38e826['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4e8cb2=>function(_0x3e0ae4,_0x4f4e8f){const _0x3b0d8c=_0x3e0ae4['markerName']['split'](':')[0x2];if(_0x3b0d8c===_0x4f4e8f['mySessionId'])return null;const _0x22513e=_0x4f4e8f['getUserBySessionId'](_0x3b0d8c);return _0x22513e?{'id':_0x3b0d8c,'classes':['ck-user__selection',_0x22513e['color']['getSelectionClass']()],'attributes':{'style':Q(_0x22513e),'data-session-id':_0x3b0d8c},'priority':0x7d0+_0x22513e['orderNumber']}:{'id':_0x3b0d8c,'classes':[]};}(_0x4e8cb2,_0x3bc07f)}),function(_0x23dcf4){const _0x5aeb61=_0x23dcf4['model'],_0x45803d=new Map(),_0x4e8fda=_0x23dcf4['plugins']['get'](Y);_0x5aeb61['markers']['on']('update:user:range',(_0x5f20f1,_0x25f475,_0x5a0fa1,_0x20df09)=>{if(!_0x20df09&&_0x45803d['get'](_0x25f475['name']))return _0x45803d['get'](_0x25f475['name'])['detach'](),void _0x45803d['delete'](_0x25f475['name']);const _0x2fbeb6=_0x25f475['name']['split'](':')[0x2];if(_0x2fbeb6===_0x4e8fda['mySessionId'])return;const _0x200d26='user:position:'+_0x2fbeb6;_0x5aeb61['markers']['has'](_0x200d26)&&_0x23dcf4['editing']['reconvertMarker'](_0x200d26),_0x25f475['on']('change:range',(_0x2338e6,_0x11ed47,_0x167506)=>{if('$graveyard'!=_0x11ed47['root']['rootName']&&'$graveyard'==_0x25f475['getRange']()['root']['rootName']&&!_0x45803d['has'](_0x25f475['name'])){const _0x393bf2=_0x5aeb61['schema']['getNearestSelectionRange'](_0x167506['deletionPosition']);if(_0x393bf2){const _0x1edbca=_0x3805a3['fromRange'](_0x393bf2);_0x45803d['set'](_0x25f475['name'],_0x1edbca),_0x1edbca['on']('change:range',(_0x4d5094,_0x295b6c,_0x495e79)=>{if('$graveyard'==_0x1edbca['root']['rootName']){const _0x475e00=_0x5aeb61['schema']['getNearestSelectionRange'](_0x495e79['deletionPosition']);_0x475e00?(_0x1edbca['start']=_0x475e00['start'],_0x1edbca['end']=_0x475e00['end']):(_0x45803d['delete'](_0x25f475['name']),_0x1edbca['detach']());}});}}});}),_0x5aeb61['document']['on']('change',()=>{_0x45803d['size']>0x0&&_0x5aeb61['enqueueChange']({'isUndoable':!0x1},_0x46c42c=>{for(const [_0x5ac5b6,_0xe8d638]of _0x45803d)'$graveyard'==_0x5aeb61['markers']['get'](_0x5ac5b6)['getRange']()['root']['rootName']&&(J(_0x5ac5b6['split'](':')[0x2],_0xe8d638['toRange'](),_0x5aeb61,_0x46c42c),_0xe8d638['detach']());_0x45803d['clear']();});});}(_0x38e826),this['_domEmitter']['listenTo'](_0x427e20['document'],'keydown',(_0x18ecc9,{key:_0x56a2ed})=>{'Escape'===_0x56a2ed&&function(_0x4664cd){_0x4664cd['editing']['view']['change'](_0x389cad=>{for(const _0x4dec96 of _0x4664cd['model']['markers']){if(!_0x4dec96['name']['startsWith']('user:position'))continue;const _0x1d5830=_0x4664cd['editing']['mapper']['markerNameToElements'](_0x4dec96['name']);if(_0x1d5830){for(const _0x276f11 of _0x1d5830)_0x389cad['removeClass']('ck-user__marker_hovered',_0x276f11);}}});}(_0x38e826);},{'useCapture':!0x0});}afterInit(){const _0x162a91=this['editor'],_0x5cc658=_0x162a91['commands']['get']('undo');_0x5cc658&&_0x162a91['model']['on']('applyOperation',(_0x31528f,_0x5c9e3f)=>{const _0x159f94=_0x5c9e3f[0x0];if(!_0x159f94['isDocumentOperation'])return;if('marker'!=_0x159f94['type']||!_0x159f94['name']['startsWith']('user:'))return;const _0x225618=_0x159f94['batch'];_0x5cc658['_createdBatches']['has'](_0x225618)&&(_0x159f94['newRange']=_0x159f94['oldRange']?_0x162a91['model']['createRange'](_0x159f94['oldRange']['start'],_0x159f94['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x460aa7=this['editor'],_0x7a76f7=_0x460aa7['model']['document'],_0x3c9b20=_0x460aa7['plugins']['get'](Y);_0x460aa7['model']['enqueueChange']({'isUndoable':!0x1},_0x89991d=>{const _0xe0bd4a='user:range:'+_0x3c9b20['mySessionId'],_0x89e3e4='user:position:'+_0x3c9b20['mySessionId'],_0x52788e=_0x460aa7['model']['markers']['has'](_0xe0bd4a);_0x460aa7['editing']['view']['hasDomSelection']?J(_0x3c9b20['mySessionId'],_0x7a76f7['selection']['getFirstRange'](),_0x460aa7['model'],_0x89991d):_0x52788e&&(_0x89991d['removeMarker'](_0xe0bd4a),_0x89991d['removeMarker'](_0x89e3e4));});}};function J(_0x42578f,_0xaa142,_0x39bd33,_0x23d9be){const _0x41ee94='user:range:'+_0x42578f,_0x52e91c='user:position:'+_0x42578f,_0x17f119=_0xaa142['getContainedElement']();let _0x47bb1a=_0xaa142['start'];if(_0x17f119&&_0x17f119['is']('element','tableCell')){const _0x2bf778=function(_0x3338df,_0x1c03ec){for(const _0x39f00f of _0x3338df['getPositions']())if(_0x1c03ec['schema']['checkChild'](_0x39f00f,'$text'))return _0x39f00f;}(_0xaa142,_0x39bd33);_0x2bf778&&(_0x47bb1a=_0x2bf778,_0xaa142=_0x23d9be['createRange'](_0x47bb1a));}const _0x3592f5=_0x23d9be['createRange'](_0x47bb1a);_0x39bd33['markers']['has'](_0x41ee94)?(_0x23d9be['updateMarker'](_0x41ee94,{'range':_0xaa142}),_0x23d9be['updateMarker'](_0x52e91c,{'range':_0x3592f5})):(_0x23d9be['addMarker'](_0x41ee94,{'range':_0xaa142,'usingOperation':!0x0}),_0x23d9be['addMarker'](_0x52e91c,{'range':_0x3592f5,'usingOperation':!0x0}));}function Q(_0x59de58){return'--ck-user-color:'+_0x59de58['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x59de58['color']['getColorAlphaVariable']()+';';}function X(_0x161226,_0x38d76d,_0xf9964b){const _0x20e508=_0x161226['t'],t=_0x161226['t'];switch(_0x38d76d){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 _0x20e508({'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'},_0xf9964b);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x2e5ad8{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x125b8b)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[z,Y,K,_0x472682,_0x1633f9,_0x3261b0];}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 _0x17371e=this['serverHistory']['getOperations']();for(let _0x3c1128=_0x17371e['length']-0x1;_0x3c1128>=0x0;_0x3c1128--){const _0x562bf8=_0x17371e[_0x3c1128];if(!this['_disconnectionOperations']['has'](_0x562bf8))return _0x562bf8['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x6e1b60){if(super(_0x6e1b60),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5c4e54(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x30c218('collaboration-missing-channelid',this);const _0x1f0cf0=_0x6e1b60['config']['get']('cloudServices.bundleVersion')||_0x85d46;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x1f0cf0,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x13b0c0(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}init(){const _0x388f93=this['editor'],_0x21e98a=_0x388f93['plugins']['get'](_0x1633f9),_0x37cafd=_0x388f93['plugins']['get'](z);this['listenTo'](_0x21e98a,'getOperationAuthor',(_0x201436,_0x3c1716)=>{const _0xfcddb9=_0x3c1716[0x0];_0xfcddb9['_authorId']&&(_0x201436['return']=_0x21e98a['getUser'](_0xfcddb9['_authorId']),_0x201436['stop']()),null===_0xfcddb9['_authorId']&&(_0x201436['return']=null,_0x201436['stop']());},{'priority':'high'}),this['listenTo'](_0x388f93['model']['document']['selection'],'change:range',(_0x48ef84,_0x59bf05)=>{_0x59bf05['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x388f93['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x388f93['model']['on']('applyOperation',(_0x178336,_0x4bc94a)=>{const _0x1bccc9=_0x4bc94a[0x0];_0x1bccc9['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1bccc9),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x37cafd,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x4d0b5e,_0x5f05fa,_0x23916c)=>'connected'===_0x4d0b5e&&!_0x5f05fa&&!_0x23916c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x388f93['disableReadOnlyMode']('rtc-offline'):_0x388f93['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x388f93['disableReadOnlyMode']('rtc-offline'):_0x388f93['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x4a6f51=this['editor']['plugins']['get'](Y),_0x56a2c8=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x4a6f51['unregister'](this['_channelId']);const _0x37bdf3=await this['_service']['reconnect'](_0x56a2c8['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x37bdf3)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x9320b9=await this['_service']['getConnectedSessions']();_0x4a6f51['register'](this['_channelId'],_0x9320b9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4e0569){if(function(_0x5785e3){return'404'===_0x5785e3['code'];}(_0x4e0569)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2342d1){return'409'===_0x2342d1['code'];}(_0x4e0569)){const _0x5f25ba=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x5f25ba);}else{if(!(_0x4e0569 instanceof et))throw _0x4e0569;this['_handleReconnectionError']();}}}}destroy(){const _0x679ab6=this['editor']['plugins']['get'](z),_0x52c996=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x52c996['channelSessions']['has'](this['_channelId'])&&_0x52c996['unregister'](this['_channelId']),_0x679ab6['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x1e76a6){if(this['sessionId']!==_0x1e76a6['sessionId']&&this['_lastSyncedOperationId']!==_0x1e76a6['lastOperationId'])throw new et();return this['sessionId']=_0x1e76a6['sessionId'],this['_handleServerResponse']([],{..._0x1e76a6,'wereChangesApplied':!0x1,'data':_0x1e76a6['data']},'reconnect');}async _connectService(_0x387bf3,_0x35a71a=!0x1){const {connection:_0x12aeb4}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x12aeb4,this['_channelId'])['then'](_0x2106fc=>this['_initSessionsHandling'](_0x2106fc))['catch'](_0x5e2759=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5e2759);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2dc5d8,_0x53b0c6)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x53b0c6);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x34d8ab=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x387bf3);this['_isPendingUpdate']=!0x0;const _0x5e76cf=await this['_service']['connect'](_0x12aeb4,this['_compressOperations'](_0x387bf3),_0x34d8ab);if(this['sessionId']=_0x5e76cf['sessionId'],_0x35a71a){if(!_0x5e76cf['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5e76cf['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x387bf3,_0x5e76cf,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5e76cf,_0x387bf3);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x1ab2af=this['editor']['plugins']['get'](Y),_0x911151=this['editor']['plugins']['get'](K),_0x4283ec=_0x1ab2af['channelSessions']['get'](this['_channelId']);_0x4283ec&&_0x4283ec['length']>0x1?_0x911151['createUserMarkerOperations']():this['listenTo'](_0x1ab2af,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1ab2af['channelSessions']['get'](this['_channelId'])['length']&&_0x911151['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x2d9167,_0x572141,_0x5630e4,_0x31efa8){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x572141){const _0x471d07=this['_decompressOperations'](_0x5630e4,_0x31efa8);await this['_fetchMissingUsers'](_0x471d07),this['_handleExternalOperations'](_0x471d07,_0x572141,_0x5630e4['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x329db0}=this['editor'];let _0x589d1c;try{_0x589d1c=await this['_service']['getDocumentDetails']();}catch{const _0x3f1969=X(_0x329db0,'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'](_0x3f1969);}const _0x346da1=_0x589d1c['currentDocumentSession']||_0x589d1c['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x346da1['lastOperationId']){const _0x1f1138=X(_0x329db0,'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'](_0x1f1138);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x4f4d97=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x4f4d97['connection']||'connected'!==_0x4f4d97['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x468130=this['editor']['plugins']['get'](Y);_0x468130['channelSessions']['has'](this['_channelId'])&&_0x468130['unregister'](this['_channelId']),_0x4f4d97['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x955fdb){const _0x1a742d=this['editor']['plugins']['get'](Y);this['listenTo'](_0x1a742d,'sessionAdd:'+this['_channelId'],(_0x380a03,{session:_0x36d8d0})=>{if(_0x36d8d0['id']===_0x1a742d['mySessionId']){_0x380a03['off']();const _0x546a60=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x41746e=_0x36d8d0['permissions'];_0x546a60&&_0x546a60['isEnabled']&&(_0x41746e=_0x41746e['filter'](_0x2d0e71=>'document:write'!==_0x2d0e71)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x41746e,this['_channelId']);}}),_0x1a742d['register'](this['_channelId'],_0x955fdb);}_initThrowingOnDataSet(){const _0x459779=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x35954c)=>{if(!_0x35954c[_0x35954c['length']-0x1]['suppressErrorInCollaboration'])throw new _0x30c218('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x459779['apply'](this['editor']['data'],_0x35954c);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x1cfc71,[_0x2a0306])=>{if(this['_document']['version'])throw new _0x30c218('realtimecollaborationclient-init-document-already-initialized',this);_0x1cfc71['stop'](),this['_setPendingAction']();const _0x35b11b=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x4df86f])=>!_0x4df86f['lazyLoad'])['map'](([_0x2577f5,_0x58d061])=>[_0x2577f5,_0x58d061['modelAttributes']||{}])),_0x4e4507=this['_getOperationsFromInitData'](_0x2a0306,_0x35b11b);0x0==_0x4e4507['length']&&_0x4e4507['push'](new _0x459d94(0x0)),_0x1cfc71['return']=this['_connectService'](_0x4e4507)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3b8829=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3b8829))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2fdf28,[_0x171cdf,_0x5bca01])=>{_0x2fdf28['stop']();const _0x3e1dd2=this['editor']['model']['document']['getRoot'](_0x171cdf);if(!this['_knownRootNames']['has'](_0x171cdf)){const _0x152c98=_0x5bca01&&_0x5bca01['data']?_0x5bca01['data']:'',_0x373659=_0x5bca01&&_0x5bca01['attributes']?_0x5bca01['attributes']:{};await this['_loadRoot'](_0x171cdf,_0x152c98,_0x373659);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3e1dd2['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3e1dd2);});},{'priority':'high'});}async _fetchMissingUsers(_0x4339fc){const _0x2ce31f=this['editor']['plugins']['get'](_0x1633f9),{connection:_0x1f257f}=this['editor']['plugins']['get'](z),_0x4205de=new Set();for(const _0x5869e6 of _0x4339fc){const _0x2caaeb=_0x5869e6['_authorId'];_0x2caaeb&&!_0x2ce31f['getUser'](_0x2caaeb)&&_0x4205de['add'](_0x2caaeb);}if(0x0===_0x4205de['size'])return;const _0x20581b=await _0x2d27a3['getMany'](_0x1f257f,Array['from'](_0x4205de));for(const _0x29baa4 of _0x20581b)_0x2ce31f['getUser'](_0x29baa4['id'])||_0x2ce31f['addUser'](_0x29baa4);}_getOperationsFromInitData(_0x46ca1f,_0xad5f86={}){const _0x3089aa=this['editor']['model'],_0x4a99f4=[];let _0xa052da=0x0;const _0x213d4e='string'==typeof _0x46ca1f?{'main':_0x46ca1f}:_0x46ca1f;for(const _0x6cc87a of Object['keys'](_0x213d4e)){if(!this['_document']['roots']['has'](_0x6cc87a))throw new _0x30c218('realtimecollaborationclient-init-non-existent-root',this);const _0x1bc4d1=this['_document']['getRoot'](_0x6cc87a),_0x353e4b=this['editor']['data']['parse'](_0x213d4e[_0x6cc87a],_0x1bc4d1),_0x162d94=new _0x4b34d3(_0x3089aa['createPositionAt'](_0x1bc4d1,0x0),_0x353e4b,_0xa052da++);_0x4a99f4['push'](_0x162d94);for(const [_0x378c3a,_0x47faf1]of _0x353e4b['markers']){const _0x421794=new _0x41e66f(_0x378c3a,null,_0x3089aa['createRange'](_0x3089aa['createPositionFromPath'](_0x1bc4d1,_0x47faf1['start']['path']['slice']()),_0x3089aa['createPositionFromPath'](_0x1bc4d1,_0x47faf1['end']['path']['slice']())),_0x3089aa['markers'],!0x0,_0xa052da++);_0x4a99f4['push'](_0x421794);}}if(_0xad5f86)for(const [_0x1a0597,_0x2a67bd]of Object['entries'](_0xad5f86)){const _0x1e5294=_0x3089aa['document']['getRoot'](_0x1a0597);if(!_0x1e5294)throw new _0x30c218('multi-root-editor-root-attributes-no-root',null);for(const [_0x3757e3,_0x1ef12b]of Object['entries'](_0x2a67bd))if(null!==_0x1ef12b){const _0x399168=new _0x4a4045(_0x1e5294,_0x3757e3,null,_0x1ef12b,_0xa052da++);_0x4a99f4['push'](_0x399168);}}return _0x4a99f4;}async _loadRoot(_0x51b4b6,_0x3357cc,_0x523c74){this['_getOperationsFromInitData']({[_0x51b4b6]:_0x3357cc},{[_0x51b4b6]:_0x523c74})['forEach']((_0x4f39b6,_0x48ef5e)=>{_0x4f39b6['baseVersion']=this['_document']['version']+_0x48ef5e,_0x4f39b6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4f39b6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x435ebe,_0x511e66){let _0x43305d;this['_offset']=_0x435ebe['offset'];const _0x266a5a=_0x435ebe['wereChangesApplied']&&!_0x435ebe['initData'],_0x149065=_0x266a5a?0x0:_0x435ebe['data']['baseVersion'];if(_0x511e66['forEach'](_0x362564=>{_0x362564['_isInit']=!0x0,_0x362564['createdAt']=_0x435ebe['sessionCreatedAt'],_0x362564['_authorId']=null;}),_0x266a5a)_0x43305d=_0x511e66,this['_applyOperationsSet'](_0x43305d,_0x266a5a);else{if(_0x435ebe['initData']){const _0x5d733d=this['_getOperationsFromInitData'](_0x435ebe['initData']);this['_document']['history']['version']=-_0x5d733d['length'],_0x5d733d['forEach'](_0x5281bc=>{_0x5281bc['baseVersion']-=_0x5d733d['length'],_0x5281bc['createdAt']=_0x435ebe['sessionCreatedAt'],_0x5281bc['_isInit']=!0x0,_0x5281bc['_authorId']=null;}),this['_applyOperationsSet'](_0x5d733d,!0x0),this['serverHistory']['version']=-_0x5d733d['length']+this['_offset'],this['_updateServerHistory'](_0x5d733d);}this['_document']['history']['version']=_0x149065,_0x43305d=this['_decompressOperations'](_0x435ebe['data'],_0x435ebe['metadata']),await this['_fetchMissingUsers'](_0x43305d),this['_applyOperationsSet'](_0x43305d,_0x266a5a);}_0x435ebe['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x43305d,_0x435ebe['lastOperationId']),this['_lastSyncedOperationId']=_0x435ebe['lastOperationId']),this['serverHistory']['version']=_0x149065+this['_offset'],this['_updateServerHistory'](_0x43305d),_0x511e66['filter'](_0xff8297=>{const _0x313a9b=this['_getAffectedRoot'](_0xff8297);return _0x313a9b&&!this['_knownRootNames']['has'](_0x313a9b);})['forEach']((_0x1e433d,_0x341e31)=>{_0x1e433d['baseVersion']=this['_document']['version']+_0x341e31,this['_saveOperationInBuffer'](_0x1e433d);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x598430,_0x1bc9b8){const _0x5a0b08=_0x1bc9b8&&_0x1bc9b8['message'];if(_0x5a0b08&&_0x5a0b08['startsWith']('realtimecollaborationclient'))throw _0x1bc9b8;const _0x1fac6f=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x1fac6f['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x30c218(_0x598430,this['editor'],_0x5a0b08?{'originalError':_0x5a0b08}:void 0x0);}_saveOperationInBuffer(_0x123958){this['_knownOperations']['has'](_0x123958)||(this['_knownOperations']['add'](_0x123958),this['_bufferedOperations']['push'](_0x123958),this['_pendingAction']||'marker'==_0x123958['type']&&!_0x123958['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0xe98e11=!0x1){!_0xe98e11&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1fa22f=>{_0x1fa22f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x47ceff=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xbcdf43){return _0xbcdf43['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xbcdf43['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xbcdf43['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x47ceff)||this['_crash'](_0x47ceff['message'],_0x47ceff);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x51b324=>{this['on']('change:_isPendingUpdate',()=>{_0x51b324();});});}async _sendBufferedOperations(){const _0x2d1493=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x2d1493['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x19874b=[...this['_bufferedOperations']];for(const _0x382e6a of _0x19874b)_0x382e6a['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x382e6a);const _0x38fc59=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x19874b),_0x34a0ea=Z++,_0x40241f=this['_compressOperations'](_0x19874b),_0x400d94=await this['_service']['sendOperations'](_0x40241f,_0x40241f['baseVersion'],_0x38fc59);try{return await this['_handleServerResponse'](_0x19874b,_0x400d94,_0x34a0ea);}catch(_0x33ae88){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x33ae88);}}async['_handleServerResponse'](_0x5875cf,_0x49b907,_0x350fe7){if('error'in _0x49b907)throw _0x49b907['error'];let _0x5e6d96;if(_0x49b907['wereChangesApplied']){_0x49b907['lastOperationId']&&(this['_lastSyncedOperationId']=_0x49b907['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x393948=>!_0x5875cf['includes'](_0x393948));for(const _0x330bc9 of _0x5875cf)_0x330bc9['createdAt']='lastOperationAcceptedAt'in _0x49b907&&_0x49b907['lastOperationAcceptedAt']||void 0x0;st(_0x5875cf,_0x49b907['version']-_0x5875cf['length']),this['_updateServerHistory'](_0x5875cf);const _0xd9305f=_0x5875cf['filter'](_0x2350de=>{if(!_0x2350de['_isInit'])return!0x1;const _0x5b4e39=this['_getAffectedRoot'](_0x2350de);return _0x5b4e39&&!this['_knownRootNames']['has'](_0x5b4e39);});st(_0xd9305f,this['_document']['version']),this['_applyOperationsSet'](_0xd9305f),_0x5e6d96=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x53c1fd=this['_decompressOperations'](_0x49b907['data'],_0x49b907['metadata'])['filter'](_0x45ec45=>_0x45ec45['baseVersion']>=this['_lastServerVersion']);_0x53c1fd['forEach'](_0x12d568=>this['_addKnownRoot'](_0x12d568)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5160a9=>!_0x5160a9['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5160a9))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x53c1fd),_0x5e6d96=this['_handleExternalOperations'](_0x53c1fd,_0x49b907['version'],_0x49b907['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5e6d96?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0xd2181d,_0x223b73,_0x2be061){try{const _0x558de7={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1dea5b,operationsB:_0x31a548,originalOperations:_0xe01164}=_0x3000cc(_0xd2181d,this['_bufferedOperations'],_0x558de7);st(_0x1dea5b,this['_document']['version']),st(_0x31a548,_0x223b73);for(const _0x115ec8 of _0x1dea5b){const _0xce8b4a=_0xe01164['get'](_0x115ec8);_0xce8b4a?(_0x115ec8['_authorId']=_0xce8b4a['_authorId'],'noop'!==_0x115ec8['type']&&(_0x115ec8['_aiSource']=_0xce8b4a['_aiSource'])):_0x115ec8['_authorId']=null;}for(const _0xa00980 of _0x31a548)'noop'!==_0xa00980['type']&&(_0xa00980['_aiSource']=_0xe01164['get'](_0xa00980)?.['_aiSource']);_0x2be061&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xd2181d,_0x2be061),this['_lastSyncedOperationId']=_0x2be061),this['_bufferedOperations']=[..._0x31a548],this['_applyOperationsSet'](_0x1dea5b),this['_updateServerHistory'](_0xd2181d);}catch(_0x4a0b94){return console['error'](_0x4a0b94),!0x1;}return!0x0;}_applyOperationsSet(_0x113f7f,_0x213b0a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0xd74172=>{for(const _0x3db41b of _0x113f7f)this['_knownOperations']['add'](_0x3db41b),this['_addKnownRoot'](_0x3db41b),_0xd74172['batch']['addOperation'](_0x3db41b),this['editor']['model']['applyOperation'](_0x3db41b);});}_addKnownRoot(_0x513c1c){const _0x173459=this['_getAffectedRoot'](_0x513c1c);_0x173459&&this['_knownRootNames']['add'](_0x173459);}_getAffectedRoot(_0xe0fa03){let _0x2dfce6,_0x2ff507;switch(_0xe0fa03['type']){case'insert':_0x2dfce6=_0xe0fa03['position']['root'];break;case'marker':if(_0x2ff507=_0xe0fa03['newRange'],!_0x2ff507)return null;_0x2dfce6=_0x2ff507['root'];break;case'addRootAttribute':_0x2dfce6=_0xe0fa03['root'];break;case'addRoot':_0x2dfce6=_0xe0fa03['affectedSelectable'];break;case'move':_0x2dfce6=_0xe0fa03['targetPosition']['root'];break;default:return null;}return _0x2dfce6['rootName'];}_updateServerHistory(_0x9f35b8){_0x9f35b8['forEach'](_0x2d75cc=>{const _0x591e36=_0x2d75cc['clone']();_0x591e36['_authorId']=_0x2d75cc['_authorId'],_0x591e36['_isInit']=!!_0x2d75cc['_isInit'],_0x591e36['_aiSource']=_0x2d75cc['_aiSource'],_0x591e36['createdAt']=_0x2d75cc['createdAt'],_0x591e36['baseVersion']+=this['_offset'],_0x2d75cc['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x591e36),this['serverHistory']['addOperation'](_0x591e36);});}_handleReconnectionError(_0x500b3b){const _0x3f9dc9=this['editor']['plugins']['get']('Notification'),_0x5811a7=this['editor']['locale'];_0x500b3b||(_0x500b3b=X(_0x5811a7,'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.')),_0x3f9dc9['showWarning'](_0x500b3b,{'title':X(_0x5811a7,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x472682)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x472682)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x49be04){const _0x217c1a=_0x49be04['map'](_0x37f2b5=>_0x37f2b5['toJSON']());return this['_compressor']['compress'](_0x217c1a);}_decompressOperations(_0x533d14,_0x46a472){return this['_compressor']['decompress'](_0x533d14)['map']((_0x2df34b,_0x2340f2)=>{const _0x343d4d='init'==_0x46a472[_0x2340f2]['type'];if('InsertOperation'==_0x2df34b['__className']){const _0x4d3447=_0x2df34b['position']['root'];!this['_document']['getRoot'](_0x4d3447)&&(this['_document']['createRoot']('$unknown',_0x4d3447)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2df34b['__className']){const _0xe13017=this['_document']['getRoot'](_0x2df34b['rootName']);_0xe13017&&'$unknown'==_0xe13017['name']&&_0x2df34b['elementName']!=_0xe13017['name']&&(_0xe13017['name']=_0x2df34b['elementName']);}}const _0x536ae5=_0x30ba1f['fromJSON'](_0x2df34b,this['_document']);return _0x536ae5['wasUndone']=_0x2df34b['wasUndone'],_0x536ae5['_isInit']=_0x343d4d,_0x536ae5['_authorId']=_0x343d4d?null:_0x46a472[_0x2340f2]['userId'],_0x536ae5['_isDisconnection']='cs:removeUser'===_0x46a472[_0x2340f2]['type'],_0x536ae5['_aiSource']=_0x2df34b['_aiSource']||void 0x0,_0x536ae5['createdAt']=_0x46a472[_0x2340f2]['createdAt'],_0x536ae5;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0xde0c0e=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xde0c0e&&_0xde0c0e['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x342615,_0x261bbd){for(const _0x7ae2eb of _0x342615)_0x7ae2eb['baseVersion']=_0x261bbd++;}var it=class{_ignoredOperations;_operationToId;constructor(_0xcc016e){this['_ignoredOperations']=_0xcc016e,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x122988){let _0x4af815=_0x122988['length'];for(;_0x4af815--;){const _0x44528e=_0x122988[_0x4af815];if(!this['_ignoredOperations']['has'](_0x44528e)){if(!this['_operationToId']['has'](_0x44528e)){const _0x4e5166=_0x5a42e3()['slice'](0x1,0x12);this['_operationToId']['set'](_0x44528e,_0x4e5166);}return this['_operationToId']['get'](_0x44528e);}}}setIdForTheLastOperation(_0x4a3e75,_0x15b115){if(!_0x15b115)return;let _0x16bddd=_0x4a3e75['length'];for(;_0x16bddd--;){const _0x1c32c8=_0x4a3e75[_0x16bddd];this['_ignoredOperations']['has'](_0x1c32c8)||this['_operationToId']['set'](_0x1c32c8,_0x15b115);}}},nt=class extends _0x2e5ad8{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x11ffbd{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x2adcb2)());['_services'];static get requires(){return[z,_0x63208d,Y,_0x1633f9];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2df3ce){super(_0x2df3ce),this['_services']=new Map();}async init(){const _0x305cb6=this['context'],_0x346767=_0x305cb6['plugins']['get'](_0x63208d);if(_0x305cb6['plugins']['get'](z)['addToReconnectionStack'](this),_0x346767['adapter']={'addCommentThread':async({channelId:_0x3c6c02,threadId:_0x2e6d21,comments:_0x3c1330,resolvedAt:_0x14889f,resolvedBy:_0x96d884,context:_0x2e7eea,attributes:_0x1744c8})=>{const _0x14c136=await this['_getService'](_0x3c6c02)['addCommentThread']({'commentThreadId':_0x2e6d21,'comments':_0x3c1330['map'](_0x74b25b=>function(_0x1c96cb,_0x2d1044,_0x5aa853){return{'commentThreadId':_0x5aa853,'commentId':_0x1c96cb['commentId'],'userId':_0x1c96cb['authorId'],'content':_0x1c96cb['content'],'documentId':_0x2d1044,'createdAt':_0x1c96cb['createdAt'],'attributes':_0x1c96cb['attributes']||{}};}(_0x74b25b,_0x3c6c02,_0x2e6d21)),'resolvedAt':_0x14889f,'resolvedBy':_0x96d884,'context':_0x2e7eea,'attributes':_0x1744c8})['catch'](ct);return{'threadId':_0x14c136['commentThreadId'],'comments':_0x14c136['comments']};},'getCommentThread':async({channelId:_0x3eb3bf,threadId:_0x309117})=>{const _0x3e124c=await this['_getService'](_0x3eb3bf)['getCommentThread'](_0x309117)['catch'](rt)['catch'](ct);return _0x3e124c?_0x3e124c['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3e124c]),{'threadId':_0x3e124c['commentThreadId'],'comments':_0x3e124c['comments']['map'](at),'context':_0x3e124c['context'],'resolvedAt':_0x3e124c['resolvedAt'],'resolvedBy':_0x3e124c['resolvedBy'],'attributes':_0x3e124c['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0xf6082e,threadId:_0x499ab2,context:_0x13be8b,unlinkedAt:_0x11da90,attributes:_0x1b726a})=>this['_getService'](_0xf6082e)['updateCommentThread']({'commentThreadId':_0x499ab2,'context':_0x13be8b,'attributes':_0x1b726a,'unlinkedAt':_0x11da90})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x3d00dd,threadId:_0x4ce98b})=>{const _0x36132d=await this['_getService'](_0x3d00dd)['resolveCommentThread'](_0x4ce98b)['catch'](rt)['catch'](ct);return{'threadId':_0x36132d['commentThreadId'],'resolvedAt':_0x36132d['resolvedAt'],'resolvedBy':_0x36132d['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5b8e05,threadId:_0x32b3d0})=>this['_getService'](_0x5b8e05)['reopenCommentThread'](_0x32b3d0)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x413f05,threadId:_0x47fc0c})=>this['_getService'](_0x413f05)['removeCommentThread'](_0x47fc0c)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x39e61c,threadId:_0x22471c,commentId:_0x2596c1,content:_0x5a9819,attributes:_0xeb9428})=>this['_getService'](_0x39e61c)['addComment'](_0x22471c,_0x2596c1,_0x5a9819,_0xeb9428)['catch'](ct),'updateComment':({channelId:_0x2bd8c1,threadId:_0x519f62,commentId:_0x29bf9a,content:_0x27a923,attributes:_0x40055e})=>this['_getService'](_0x2bd8c1)['updateComment'](_0x519f62,_0x29bf9a,_0x27a923,_0x40055e)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x544a17,threadId:_0x3d83b0,commentId:_0x11ffda})=>this['_getService'](_0x544a17)['removeComment'](_0x3d83b0,_0x11ffda)['catch'](rt)['catch'](ct)},_0x305cb6 instanceof _0x855411){const _0xacadda=_0x305cb6['config']['get']('collaboration.channelId'),_0x5e199a=_0x305cb6['plugins']['get'](Y);await this['_setUpService'](_0xacadda);const _0x49a358=await this['_services']['get'](_0xacadda)['getConnectedSessions']();this['listenTo'](_0x5e199a,'sessionAdd:'+_0xacadda,(_0x2b6921,{session:_0x330c36})=>{_0x330c36['id']===_0x5e199a['mySessionId']&&(_0x2b6921['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x330c36['permissions'],_0xacadda));}),_0x5e199a['register'](_0xacadda,_0x49a358);}}async _setUpService(_0x52ad92){if(this['_services']['has'](_0x52ad92))throw new _0x30c218('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x52ad92});const _0x4a842e=this['context']['plugins']['get'](_0x63208d),_0x2adfaf=new CloudServicesCommentsAdapter['CommentsService'](_0x52ad92);this['_services']['set'](_0x52ad92,_0x2adfaf),this['listenTo'](_0x2adfaf,'commentThreadAdded',(_0x2be3e0,_0x1b6859)=>{const {commentThreadId:_0x471a27,documentId:_0x3196bf,context:_0x2ac0f6,attributes:_0x4e85d9,resolvedAt:_0x210683,resolvedBy:_0xd384b2,comments:_0x441f02}=_0x1b6859;_0x4a842e['getCommentThread'](_0x471a27)||_0x4a842e['addCommentThread']({'threadId':_0x471a27,'channelId':_0x3196bf,'comments':_0x441f02?_0x441f02['map'](at):[],'context':_0x2ac0f6,'attributes':_0x4e85d9,'resolvedAt':_0x210683,'resolvedBy':_0xd384b2,'isFromAdapter':!0x0});}),this['listenTo'](_0x2adfaf,'commentThreadUpdated',(_0x750c91,{commentThreadId:_0x4b637a,documentId:_0x332b9b,context:_0x42ac72,unlinkedAt:_0x24d638,attributes:_0x2e5ead})=>{_0x4a842e['getCommentThread'](_0x4b637a)&&_0x4a842e['updateCommentThread']({'threadId':_0x4b637a,'channelId':_0x332b9b,'context':_0x42ac72,'unlinkedAt':_0x24d638,'attributes':_0x2e5ead,'isFromAdapter':!0x0});}),this['listenTo'](_0x2adfaf,'commentThreadResolved',(_0x39b4e9,{commentThreadId:_0x35bf5a,resolvedBy:_0x512f11,resolvedAt:_0x256573})=>{const _0x14a1a1=_0x4a842e['getCommentThread'](_0x35bf5a);_0x14a1a1&&_0x14a1a1['resolve']({'resolvedBy':_0x512f11,'resolvedAt':_0x256573,'isFromAdapter':!0x0});}),this['listenTo'](_0x2adfaf,'commentThreadReopened',(_0x6f416f,{commentThreadId:_0x6defb7})=>{const _0x284492=_0x4a842e['getCommentThread'](_0x6defb7);_0x284492&&_0x284492['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2adfaf,'commentThreadRemoved',(_0x497a37,{commentThreadId:_0x38ae48})=>{const _0x3c6a3b=_0x4a842e['getCommentThread'](_0x38ae48);_0x3c6a3b&&_0x3c6a3b['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2adfaf,'commentAdded',(_0x444a02,_0x58783e)=>{const _0xbb2e46=_0x58783e['commentThreadId'],_0x2a8a00=_0x4a842e['getCommentThread'](_0xbb2e46);_0x2a8a00&&_0x2a8a00['addComment']({...at(_0x58783e),'isFromAdapter':!0x0});}),this['listenTo'](_0x2adfaf,'commentUpdated',(_0x14193d,{commentThreadId:_0x27c4b1,commentId:_0x3f4f47,content:_0x27b814,attributes:_0x2297df})=>{const _0x2969e3=_0x4a842e['getCommentThread'](_0x27c4b1);if(_0x2969e3){const _0x64c1ba=_0x2969e3['getComment'](_0x3f4f47);_0x64c1ba&&_0x64c1ba['update']({'content':_0x27b814,'attributes':_0x2297df,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2adfaf,'commentRemoved',(_0x34429e,{commentThreadId:_0x2e5dfb,commentId:_0x484de1})=>{const _0x20043f=_0x4a842e['getCommentThread'](_0x2e5dfb);if(_0x20043f){const _0x24043a=_0x20043f['getComment'](_0x484de1);_0x24043a&&_0x24043a['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x2adfaf,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x52ad92),this['stopListening'](_0x2adfaf));}),await this['_connectService'](_0x52ad92);}destroy(){if(this['context']instanceof _0x855411){const _0xae243c=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0xae243c)&&this['_terminateService'](_0xae243c);}}_terminateService(_0x2e4308){if(!this['_services']['has'](_0x2e4308))throw new _0x30c218('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2e4308});this['_getService'](_0x2e4308)['disconnect'](),this['_services']['delete'](_0x2e4308);}async reconnect(){for(const _0x5ea0fa of this['_services']['keys']())await this['_connectService'](_0x5ea0fa);if(this['context']instanceof _0x855411){const _0x222d42=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x222d42)){const _0x349df6=this['context']['plugins']['get'](Y);_0x349df6['unregister'](_0x222d42);const _0x3c1fdf=await this['_services']['get'](_0x222d42)['getConnectedSessions']();_0x349df6['register'](_0x222d42,_0x3c1fdf);}}}async _connectService(_0x21320b){const {connection:_0x30f961}=this['context']['plugins']['get'](z),_0x28437f=this['context']['plugins']['get'](_0x63208d),_0x3be224=await this['_services']['get'](_0x21320b)['connect'](_0x30f961);await this['_fetchMissingUsersForThreads'](_0x3be224);const _0x5e156e=new Set(Array['from'](_0x28437f['getCommentThreads']({'channelId':_0x21320b}),_0x70c72a=>_0x70c72a['id']));for(const _0x28d207 of _0x3be224)_0x28d207['deletedAt']||_0x5e156e['delete'](_0x28d207['commentThreadId']);for(const _0x2147c4 of _0x5e156e)_0x28437f['getCommentThread'](_0x2147c4)['remove']({'isFromAdapter':!0x0});for(const _0x312ac1 of _0x3be224){let _0x242acc=_0x28437f['getCommentThread'](_0x312ac1['commentThreadId']);const {commentThreadId:_0x38883c,context:_0x54feec,attributes:_0x55c09a,resolvedBy:_0x302ba5,resolvedAt:_0x25c141,unlinkedAt:_0x3924b2,deletedAt:_0x4c81e7}=_0x312ac1;if(_0x4c81e7)continue;_0x242acc||(_0x242acc=_0x28437f['addCommentThread']({'channelId':_0x21320b,'threadId':_0x38883c,'context':_0x54feec,'attributes':_0x55c09a||{},'resolvedBy':_0x302ba5,'resolvedAt':_0x25c141,'unlinkedAt':_0x3924b2,'isFromAdapter':!0x0}));const _0x1aefbc=new Set(Array['from'](_0x242acc['comments'],_0x4edec2=>_0x4edec2['id']));for(const _0xd4240d of _0x312ac1['comments'])_0x1aefbc['delete'](_0xd4240d['commentId']);for(const _0x5aa5be of _0x1aefbc)_0x242acc['getComment'](_0x5aa5be)['remove']({'isFromAdapter':!0x0});for(const _0x450e2b of _0x312ac1['comments']){const _0x277c60=_0x242acc['getComment'](_0x450e2b['commentId']);_0x277c60?_0x277c60['content']!==_0x450e2b['content']&&_0x277c60['update']({'content':_0x450e2b['content'],'isFromAdapter':!0x0}):_0x242acc['addComment'](Object['assign'](at(_0x450e2b),{'isFromAdapter':!0x0}));}}}_getService(_0x4e14e6){if(!this['_services']['has'](_0x4e14e6))throw new _0x30c218('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4e14e6});return this['_services']['get'](_0x4e14e6);}async _fetchMissingUsersForThreads(_0x1136cf){const _0x482ca5=this['context']['plugins']['get'](_0x1633f9),{connection:_0x3b162b}=this['context']['plugins']['get'](z),_0x83b89c=new Set();for(const {resolvedBy:_0x1b88f3,comments:_0x47ace5}of _0x1136cf){_0x1b88f3&&!_0x482ca5['getUser'](_0x1b88f3)&&_0x83b89c['add'](_0x1b88f3);for(const {userId:_0x266068}of _0x47ace5)_0x482ca5['getUser'](_0x266068)||_0x83b89c['add'](_0x266068);}if(0x0===_0x83b89c['size'])return;const _0x5c5332=await _0x2d27a3['getMany'](_0x3b162b,Array['from'](_0x83b89c));for(const _0x52ec16 of _0x5c5332)_0x482ca5['getUser'](_0x52ec16['id'])||_0x482ca5['addUser'](_0x52ec16);}};async function rt(_0x2aec03){if('404'!==_0x2aec03['code'])throw _0x2aec03;}function ct(_0x429065){if((_0x561264=_0x429065)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x561264['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x561264['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x561264;throw _0x429065;}function at(_0x196ef6){return{'threadId':_0x196ef6['commentThreadId'],'commentId':_0x196ef6['commentId'],'content':_0x196ef6['content'],'createdAt':_0x196ef6['createdAt'],'authorId':_0x196ef6['userId'],'attributes':_0x196ef6['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x2e5ad8{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x4ace97)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0xcbaa40,Y,_0x1633f9];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x52643e){super(_0x52643e);const _0x3fcf9a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x3fcf9a);}async init(){const _0x59fd18=this['editor']['plugins']['get'](tt),_0x5b35da=_0x59fd18['serverHistory'],_0x538b37=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x5b35da,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x59fd18['sessionId']});const _0x5a5379=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x85d46,_0x3823e4=await _0x2f65d1['isBundleUploaded'](_0x538b37['connection'],_0x5a5379);this['editor']['plugins']['get'](_0xcbaa40)['adapter']={'getRevision':async({revisionId:_0xaf4441})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xaf4441)),'updateRevisions':async _0x1911f6=>{await this['_waitForServiceReady']();const _0x2144c1=this['_revisionTracker']['currentRevision'];if(_0x3823e4&&0x1===_0x1911f6['length']&&_0x1911f6[0x0]['id']===_0x2144c1['id'])return _0x1911f6;for(const _0xdcde6e of _0x1911f6)_0xdcde6e['id']===_0x2144c1['id']&&(_0xdcde6e['isEmptyCurrent']=_0xdcde6e['fromVersion']===_0xdcde6e['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1911f6,this['_lastRequestId'])['then'](_0x3e8e59=>(this['_lastRequestId']=_0x3e8e59,_0x1911f6))['catch'](_0x533910=>{if(pt(_0x533910)||'400'===_0x533910['code']&&void 0x0!==_0x533910['data']['wrongRequestId']){for(const _0x1becbe of _0x1911f6)this['_revisionTracker']['repository']['getRevision'](_0x1becbe['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x1becbe['id'],_0x1becbe,!0x1);if(pt(_0x533910)&&'destroyed'!==this['editor']['state'])throw _0x533910;return _0x1911f6;}throw _0x533910;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3d29c6,{revisionsData:_0x561253,requestId:_0x4fa3be})=>{Math['max'](..._0x561253['map'](_0x6d265d=>_0x6d265d['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x561253,_0x4fa3be);}):this['_handleRevisionsUpdate'](_0x561253,_0x4fa3be);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x538b37['connection']?.['state']&&(_0x538b37['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0xe2acd5,requestId:_0xb9f005}=await this['_revisionHistoryService']['connect'](_0x538b37['connection']);_0x538b37['addToReconnectionStack'](this),this['_lastRequestId']=_0xb9f005,await this['_fetchMissingUsers'](_0xe2acd5);for(const _0x1765ad of _0xe2acd5)this['_revisionTracker']['addRevisionData'](_0x1765ad);this['listenTo'](_0x59fd18,'change:_isConnected',(_0xdf68ec,_0x185908,_0x179e02)=>{_0x179e02&&(this['_oldOffset']=_0x59fd18['_offset'],_0xdf68ec['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x16ae71=this['editor']['plugins']['get'](z),_0x107d64=this['editor']['plugins']['get'](tt),_0x58fbc8=async()=>{const _0x43d531=this['_revisionTracker']['currentRevision'],_0x4c2140=_0x43d531['id'],_0x4fd535=_0x4c2140!==_0x107d64['sessionId'];if(_0x4fd535){const _0x5982bb=_0x107d64['_offset']-this['_oldOffset'],_0x5c04b2=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x43d531['toVersion']+_0x5982bb!==_0x5c04b2){const _0xb5fdb1=_0x43d531['fromVersion']+_0x5982bb,_0x5f5bee=this['editor']['plugins']['get'](_0x1633f9),_0x2e03ea=this['_revisionTracker']['buildRevisionData']({'revision':_0x43d531,'from':_0xb5fdb1,'to':_0x5c04b2});_0x2e03ea['id']=_0x43d531['id'];const _0x4d2b80=_0x2e03ea['authorsIds']['map'](_0x2227f9=>_0x5f5bee['getUser'](_0x2227f9));_0x43d531['_update']({..._0x2e03ea,'authors':_0x4d2b80},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x43d531['id'],_0x2e03ea,!0x0);}this['_revisionTracker']['_startingVersion']=_0x5c04b2,_0x43d531['toVersion']!==_0x43d531['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x4c2140)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x4c2140),this['_revisionTracker']['_createCurrentRevision'](_0x5c04b2);}const {revisions:_0x130aef,requestId:_0x53ec8c}=await this['_revisionHistoryService']['reconnect'](_0x16ae71['connection'],this['_lastRequestId']);_0x4fd535&&_0x130aef['length']>0x0?_0x107d64['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x130aef),this['_handleRevisionsUpdate'](_0x130aef,_0x53ec8c),this['_revisionTracker']['sendBufferedUpdates']());};return _0x107d64['_isConnected']?_0x58fbc8():new Promise((_0x466fb5,_0x3d3c14)=>{_0x107d64['once']('change:_isConnected',()=>{_0x58fbc8()['then'](_0x466fb5)['catch'](_0x3d3c14);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5edfb4=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0xfb4312=>{_0xfb4312['off'](),_0x5edfb4();});});}_getLatestVersionFromServerOperations(){const _0x381760=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0xf05dd5 of _0x381760)if('marker'!==_0xf05dd5['type']||_0xf05dd5['affectsData'])return _0xf05dd5['baseVersion']+0x1;}_getLatestVersion(){const _0x54290c=this['editor']['plugins']['get'](tt);return new Promise(_0x5aa72a=>{_0x54290c['_isPendingUpdate']?_0x54290c['once']('change:_isPendingUpdate',()=>{_0x5aa72a(this['_getLatestVersionFromServerOperations']());}):_0x5aa72a(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x3a3131,_0x2df5e7){const _0x52dae6=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2df5e7;for(const _0x3f2307 of _0x3a3131){const _0x43eab5=_0x52dae6['getRevision'](_0x3f2307['id']);if(_0x43eab5){if((_0x3f2307['fromVersion']||_0x3f2307['toVersion'])&&(_0x3f2307['diffData']=null),_0x43eab5===this['_revisionTracker']['currentRevision']){const _0x34189c=Math['max'](_0x43eab5['toVersion'],_0x3f2307['toVersion']),_0x22fa6f=Math['max'](_0x43eab5['fromVersion'],_0x3f2307['fromVersion']);let _0xede8fe;_0x43eab5['toVersion']===_0x3f2307['toVersion']&&_0x43eab5['fromVersion']===_0x3f2307['fromVersion']?(_0xede8fe=!0x0,this['_preventResendingRevisionData'](_0x3f2307)):_0x3f2307['toVersion']===_0x34189c&&_0x3f2307['fromVersion']===_0x22fa6f?_0xede8fe=!0x1:(_0x43eab5['toVersion']===_0x34189c&&_0x43eab5['fromVersion']===_0x22fa6f||this['_fixRevision']({'revision':_0x43eab5,'from':_0x22fa6f,'to':_0x34189c}),_0xede8fe=!0x0),_0xede8fe&&(delete _0x3f2307['fromVersion'],delete _0x3f2307['toVersion'],delete _0x3f2307['diffData'],delete _0x3f2307['createdAt'],delete _0x3f2307['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3f2307),this['_preventResendingRevisionData'](_0x3f2307);}else this['_revisionTracker']['addRevisionData'](_0x3f2307);}const _0x4d0767=_0x52dae6['getRevisions']();_0x4d0767['reverse']();for(let _0x1b9d99=0x0;_0x1b9d99<_0x4d0767['length']-0x1;_0x1b9d99++){const _0x207eda=_0x4d0767[_0x1b9d99],_0xa9bc8=_0x4d0767[_0x1b9d99+0x1];if(_0x207eda['fromVersion']<_0xa9bc8['toVersion']){const _0x3bf71f=_0xa9bc8['toVersion'],_0x130f96=Math['max'](_0x3bf71f,_0x207eda['toVersion']);this['_fixRevision']({'revision':_0x207eda,'from':_0x3bf71f,'to':_0x130f96});}}}['_fixRevision']({revision:_0x4239a8,from:_0x80bd24,to:_0x29a0a1}={}){const _0x43bb23=this['editor']['plugins']['get'](_0x1633f9),_0x2ac478=this['_revisionTracker']['buildRevisionData']({'revision':_0x4239a8,'from':_0x80bd24,'to':_0x29a0a1});_0x2ac478['authors']=_0x2ac478['authorsIds']['map'](_0x2afb32=>_0x43bb23['getUser'](_0x2afb32)),_0x4239a8['_update'](_0x2ac478);}_preventResendingRevisionData(_0x52ff0a){const _0x3bfa83={};_0x3bfa83['id']=_0x52ff0a['id'];for(const _0x1f5219 of Object['keys'](_0x52ff0a))'id'!==_0x1f5219&&(_0x3bfa83[_0x1f5219]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3bfa83['id'],_0x3bfa83,!0x0);}async _fetchMissingUsers(_0x5ca845){const _0x50069f=this['editor']['plugins']['get'](_0x1633f9),{connection:_0x307973}=this['editor']['plugins']['get'](z),_0x2665c5=new Set();for(const _0x51b47e of _0x5ca845){for(const _0x4d934f of _0x51b47e['authorsIds'])_0x5c8dd0(_0x4d934f);_0x51b47e['creatorId']&&_0x5c8dd0(_0x51b47e['creatorId']);}if(0x0===_0x2665c5['size'])return;const _0x337dcb=await _0x2d27a3['getMany'](_0x307973,Array['from'](_0x2665c5));for(const _0x57e212 of _0x337dcb)_0x50069f['getUser'](_0x57e212['id'])||_0x50069f['addUser'](_0x57e212);function _0x5c8dd0(_0x512341){_0x50069f['getUser'](_0x512341)||_0x2665c5['add'](_0x512341);}}};function pt(_0x46d79e){return _0x46d79e['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x46d79e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x46d79e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x2e5ad8{static get requires(){return[_0xcbaa40,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x654501{_collapseAt;constructor(_0x5e7e29,_0x536a21=0x6){super(_0x5e7e29);const _0x5ba877=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x536a21,this['bind']('isHidden')['to'](this,'usersCount',_0x5034d5=>_0x5034d5<_0x536a21),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5ba877['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':_0x5ba877['to']('usersCount',_0x405997=>'+'+(_0x405997-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x654501{items;keystrokes;constructor(_0x9f412f){super(_0x9f412f);const _0x2132f4=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4d6505(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2132f4['if']('hasPopup'),'aria-expanded':_0x2132f4['to']('isExpanded',_0x2c60d4=>this['hasPopup']&&String(_0x2c60d4)),'aria-label':_0x2132f4['to']('hasPopup',_0x378075=>X(_0x9f412f,_0x378075?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2132f4['to']('hasPopup',_0x47a9b0=>!!_0x47a9b0&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2132f4['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2132f4['to'](_0x3e06d5=>{const _0x3a58ef=_0x3e06d5,_0x167f3b=document['querySelector']('.ck-presence-list__dropdown-list'),_0x51ffb9=document['querySelector']('.ck-balloon-panel_with-arrow');_0x167f3b?.['contains'](_0x3a58ef['relatedTarget'])||_0x51ffb9?.['contains'](_0x3a58ef['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2bb560,_0x2b8607,_0x297c7f)=>{this['element']&&(_0x297c7f?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x654501{counterView;inlineListView;constructor(_0x59f2f3,_0x50b11c=0x6){super(_0x59f2f3);const _0x1ca2c7=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x50b11c),this['inlineListView']=new vt(_0x59f2f3),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x55d27a of this['inlineListView']['items'])_0x55d27a['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',_0x1ca2c7['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x654501{listWrapperView;constructor(_0x2fed8c,_0x4e085c){super(_0x2fed8c);const _0x525c5c=this['bindTemplate'];this['listWrapperView']=new bt(_0x2fed8c,_0x4e085c),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x2fed8c,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x525c5c['to'](_0x22eccd=>{const _0x10150a=_0x22eccd,_0x2bb140=document['querySelector']('.ck-presence-list__list'),_0x5c56d3=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2bb140?.['contains'](_0x10150a['relatedTarget'])||_0x5c56d3?.['contains'](_0x10150a['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x4d8a9f{constructor(_0x19e888,_0x41079d){super(_0x19e888);const _0x20c3df=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x41079d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x20c3df['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x20c3df['to']('role'),'aria-label':_0x20c3df['to']('ariaLabel'),'aria-labelledby':_0x20c3df['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x427e20['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x250967=this['element'];_0x250967&&(this['_isScrollable']=Math['max'](_0x250967['scrollHeight'],_0x250967['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x536567{['userView'];constructor(_0x3b560d,_0x5a57d8,_0x346cef){super(_0x3b560d);const _0x5bc3b9=this['bindTemplate'];this['userView']=new _0x441670(_0x3b560d,_0x5a57d8);const _0x5f49b8={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5a57d8['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5a57d8['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5a57d8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5a57d8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5a57d8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x346cef&&(_0x5f49b8['tag']='button',_0x5f49b8['on']={'click':_0x5bc3b9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5f49b8);}['focus'](){this['element']['focus']();}},It=class extends _0x654501{['userView'];['markerView'];constructor(_0x11281b,_0xf03727,_0x873a58){super(_0x11281b);const _0x12780b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x441670(_0x11281b,_0xf03727),this['markerView']=new St(_0x11281b,_0xf03727);const _0xab926a=new _0x22b7f8(_0x11281b);_0xab926a['template']['tag']='span',_0xab926a['text']=_0xf03727['name'];const _0xd90cf9={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x12780b['to']('isFocusable',_0x614d4f=>!!_0x614d4f&&0x0),'aria-labelledby':_0xab926a['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x12780b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x12780b['to']('hasTooltip',_0x4cd1ea=>!_0x4cd1ea),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0xab926a]};_0x873a58&&(_0xd90cf9['tag']='button',_0xd90cf9['on']={'click':_0x12780b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xd90cf9);}},St=class extends _0x654501{constructor(_0x27a127,_0x58c0f7){super(_0x27a127),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x58c0f7['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x58c0f7['color']['getColorVariable'](),'--ck-user-color-alpha':_0x58c0f7['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x11ffbd{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x347d6b){super(_0x347d6b),this['context']['config']['define']('presenceList',Tt);const _0x5202cb=_0x347d6b['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5202cb)throw new _0x30c218('presencelist-collapseat-invalid-format',this);if(_0x5202cb<0x1)throw new _0x30c218('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5b4d4a(),this['balloonPanelView']=new _0x2199bb(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x31cf6e of this['_allConnectedUsers'])this['_handleUserAdd'](_0x31cf6e);this['listenTo'](this['_allConnectedUsers'],'add',(_0xca830b,_0x5f20c7)=>{this['_handleUserAdd'](_0x5f20c7);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xb3a4e3,_0x3bb63)=>{this['_handleUserRemove'](_0x3bb63);});}_createView(){const _0x41ee15=this['context'],_0x309ac4=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x32f0af=this['balloonPanelView'];if(!_0xc8a0f4(_0x41ee15['config']['get']('presenceList.container')))throw new _0x30c218('presencelist-missing-container',this);return _0x309ac4['counterView']['bind']('usersCount')['to'](this),_0x309ac4['bind']('isCollapsed')['to'](this,'usersCount',_0x56f002=>{const {collapseAt:_0x17748b}=_0x41ee15['config']['get']('presenceList'),_0x4dabbd=_0x56f002>=_0x17748b;if(_0x4dabbd&&!_0x309ac4['inlineListView']['items']['find'](_0x54336e=>_0x54336e instanceof wt)){const _0x6ed723=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x6ed723&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x309ac4['inlineListView']['items']['add'](_0x309ac4['counterView']);}return _0x4dabbd||this['hideDropdown'](),_0x4dabbd;}),_0x309ac4['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x31ddbe=>{const _0x1e74e4=_0x41ee15['config']['get']('presenceList'),_0x50511f=new It(_0x41ee15['locale'],_0x31ddbe,!!_0x1e74e4['onClick']);return _0x50511f['bind']('hasTooltip')['to'](_0x309ac4,'isCollapsed',_0x34f902=>!_0x34f902),_0x50511f['bind']('isFocusable')['to'](_0x309ac4,'isCollapsed',_0x2bc656=>!_0x2bc656),_0x1e74e4['onClick']&&this['listenTo'](_0x50511f,'execute',()=>{this['view']['isCollapsed']||_0x1e74e4['onClick'](_0x31ddbe,_0x50511f['element']);}),_0x50511f;}),this['listenTo'](_0x309ac4['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x309ac4['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x309ac4['inlineListView']['keystrokes']['set']('Enter',(_0x17d435,_0x580d1b)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x580d1b());}),_0x309ac4['render'](),_0x32f0af['render'](),_0x3b3d4f({'emitter':_0x309ac4,'activator':()=>_0x32f0af['isVisible'],'contextElements':[_0x32f0af['element'],_0x309ac4['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x41ee15['config']['get']('presenceList.container')['appendChild'](_0x309ac4['element']),this['_bodyCollection']=new _0x4262b2(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x309ac4;}['_handleUserAdd'](_0x519da1){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x519da1['isMe'])return;const _0x194a51=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x194a51-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2da304=_0x519da1['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x519da1,_0x2da304);}['_handleUserRemove'](_0x4a75e9){this['usersCount']--;const {collapseAt:_0x5bfaf6}=this['context']['config']['get']('presenceList'),_0x406f3d=this['usersCount']>=_0x5bfaf6;if(this['currentDisplayedUsers']['get'](_0x4a75e9['id']))this['currentDisplayedUsers']['remove'](_0x4a75e9['id']);else{if(_0x406f3d&&this['currentDisplayedUsers']['length']+0x1===_0x5bfaf6-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x406f3d?0x1:0x0)<this['usersCount']){for(const _0x5dc64d of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5dc64d['id'])&&(this['currentDisplayedUsers']['add'](_0x5dc64d,Math['min'](this['currentDisplayedUsers']['length']-(_0x406f3d?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x406f3d?0x1:0x0)===_0x5bfaf6-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x353b5a=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x353b5a['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x2b03bf}=this['presenceDropdownView'];_0x2b03bf['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x302ccd=>{if(!_0x353b5a['displayMe']&&_0x302ccd['isMe'])return null;const _0x184e4b=new kt(this['context']['locale'],_0x302ccd,!!_0x353b5a['onClick']);return _0x353b5a['onClick']&&this['listenTo'](_0x184e4b,'execute',()=>{_0x353b5a['onClick'](_0x302ccd,_0x184e4b['element']);}),_0x184e4b;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2b03bf['focus'](),_0x2b03bf['checkIfScrollable']();const _0x32fbce=(_0x35343a,_0x5237e4)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x5237e4();};_0x2b03bf['keystrokes']['set']('Esc',_0x32fbce),_0x2b03bf['keystrokes']['set']('Shift+Tab',_0x32fbce),_0x2b03bf['keystrokes']['set']('Tab',(_0x558511,_0x55e23c)=>{!function(_0x5bae6a){const _0x4780ad=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x231189=>_0x231189+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x52acdd=[...document['body']['querySelectorAll'](_0x4780ad)]['filter'](_0x2c4f10=>_0x2c4f10===document['activeElement']||_0x2c4f10['offsetWidth']+_0x2c4f10['offsetHeight']>0x0)['sort']((_0x50ae50,_0x3b9539)=>(_0x50ae50['tabIndex']||0x0)-(_0x3b9539['tabIndex']||0x0)),_0x394b39=_0x52acdd[(_0x52acdd['indexOf'](_0x5bae6a)+0x1)%_0x52acdd['length']];_0x394b39&&_0x394b39['focus']();}(this['view']['element']),this['hideDropdown'](),_0x55e23c();}),_0x2b03bf['focusTracker']['add'](this['view']['element']),_0x2b03bf['focusTracker']['on']('change:isFocused',(_0x874a1e,_0x46bb33,_0x522b35)=>{_0x522b35||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x11ffbd{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|
|
23
|
+
import{Context as _0x5f21d5,ContextPlugin as _0x38c7cb,PendingActions as _0x4f6214,Plugin as _0x5ad181}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x378169,Collection as _0x425153,DomEmitterMixin as _0x2e4884,KeystrokeHandler as _0x25319e,global as _0x1beff7,uid as _0x3971c4,version as _0x1f5bb1}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x41d972,BodyCollection as _0x19cda0,LabelView as _0x444b71,ListItemView as _0x1f8c0b,ListView as _0x3b23b9,Notification as _0x1dad6a,View as _0x10aa9c,clickOutsideHandler as _0x3e6ae2}from'@ckeditor/ckeditor5-ui';import{History as _0x4ff3e0,InsertOperation as _0x50a18d,MarkerOperation as _0x5a4082,ModelLiveRange as _0x6f0fe3,NoOperation as _0x4b712b,OperationFactory as _0x196d4a,RootAttributeOperation as _0x3a4fda,transformOperationSets as _0x44596e}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x1df567}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0xf1d2b3,CommentsService as _0x2d1506,EditorService as _0x52c8de,RevisionHistoryService as _0xcbb2ed,TrackChangesService as _0x54931d,User as _0x5010c3,WEB_SOCKET_GATEWAY_STATES as _0x3850cd,WebSocketGateway as _0x32f0d1}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x4ffd7f,Users as _0x243ac4}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x10d881}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x176b64,TrackChangesEditing as _0x3f69a8}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x383611,CommentsEditing as _0xac335e,CommentsRepository as _0x55f0e8}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x338706}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x381810}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x38c7cb{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x32f0d1)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x1df567,_0x1dad6a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3945ae){super(_0x3945ae),this['set']('state',_0x3850cd['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x2e4884())();}init(){const _0x156f12=this['context'],_0x3bfebf=_0x156f12['plugins']['get'](_0x1df567),_0x5bb905=_0x156f12['plugins']['get'](_0x1dad6a);if(!_0x3bfebf['token'])throw new _0x378169('websocketgateway-missing-token',this);if(!_0x3bfebf['webSocketUrl'])throw new _0x378169('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'](_0x3bfebf['token'],_0x3bfebf['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x43d654=>{if(this['connection']=_0x43d654,this['bind']('state')['to'](_0x43d654,'state',this,'_isBrowserOffline',(_0x360f6c,_0x239e8d)=>('connected'!==_0x360f6c&&(this['_shouldPluginsReconnect']=!0x0),_0x239e8d||_0x360f6c!==_0x3850cd['CONNECTED']?_0x3850cd['DISCONNECTED']:this['state']==_0x3850cd['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3850cd['CONNECTING']):_0x3850cd['CONNECTED'])),this['connection']['on']('error',(_0x257d5d,_0x3521b8)=>{if('limitExceeded'!==_0x3521b8['code'])throw console['error'](_0x3521b8),new _0x378169('cloudservices-init',null,{'originalError':_0x3521b8});_0x5bb905['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'});}),!_0x43d654['me'])return new Promise(_0x4701e1=>_0x43d654['on']('change:me',_0x4701e1));})['catch'](_0x2c389d=>{throw console['error'](_0x2c389d),new _0x378169('cloudservices-init',null,{'originalError':_0x2c389d});});}addToReconnectionStack(_0x449b28){if('function'!=typeof _0x449b28['reconnect'])throw new _0x378169('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x449b28))throw new _0x378169('websocketgateway-plugin-already-registered',this,{'name':_0x449b28['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x449b28);}removeFromReconnectionStack(_0x31e4f3){this['_reconnectionStack']['delete'](_0x31e4f3);}isInReconnectionStack(_0x31ff36){return this['_reconnectionStack']['has'](_0x31ff36);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x268af7=>_0x268af7['reconnect']())))['then'](()=>this['state']=_0x3850cd['CONNECTED'])['catch'](_0x110c37=>{throw console['error'](_0x110c37),new _0x378169('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3850cd['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x38c7cb{['channelSessions'];channelConnectedUsers;allConnectedUsers;_registeredSessions;_uniqueUsersCount;['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[z,_0x243ac4];}constructor(_0x29d01d){super(_0x29d01d),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x425153(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x243ac4);}init(){const _0x34bc70=this['context']['plugins']['get'](z);this['listenTo'](_0x34bc70,'change:state',(_0x31d260,_0x3f74b7,_0x24dab5)=>{if('connected'!==_0x24dab5)this['channelSessions']['forEach'](_0x161d53=>_0x161d53['clear']()),this['channelConnectedUsers']['forEach'](_0x223e5a=>_0x223e5a['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3b6670,_0x15ecda]of this['_registeredSessions'])for(const _0x19f821 of _0x15ecda)this['_handleSessionAdd'](_0x3b6670,_0x19f821);}}),this['_createUser'](_0x34bc70['connection']['me'],!0x0);}register(_0x3758c7,_0x132176){if(this['_registeredSessions']['has'](_0x3758c7))throw new _0x378169('sessions-register-already-registered',null,{'channelId':_0x3758c7});this['_registeredSessions']['set'](_0x3758c7,_0x132176),this['channelSessions']['set'](_0x3758c7,new _0x425153()),this['channelConnectedUsers']['set'](_0x3758c7,new _0x425153()),this['listenTo'](_0x132176,'add',(_0x5b53d1,_0x2cd4f)=>this['_handleSessionAdd'](_0x3758c7,_0x2cd4f)),this['listenTo'](_0x132176,'remove',(_0x5bb233,_0x13484f)=>this['_handleSessionRemove'](_0x3758c7,_0x13484f));for(const _0x2c4b86 of _0x132176)this['_handleSessionAdd'](_0x3758c7,_0x2c4b86);}unregister(_0x57220e){if(!this['_registeredSessions']['has'](_0x57220e))throw new _0x378169('sessions-unregister-not-exist',null,{'channelId':_0x57220e});const _0x5506ca=this['_registeredSessions']['get'](_0x57220e);this['stopListening'](_0x5506ca);for(const _0x3d6aec of _0x5506ca)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x57220e,_0x3d6aec);this['_registeredSessions']['delete'](_0x57220e),this['channelSessions']['delete'](_0x57220e),this['channelConnectedUsers']['delete'](_0x57220e);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x141d1c){for(const _0x1996f0 of this['channelSessions']['values']())for(const _0x4aa221 of _0x1996f0)if(_0x4aa221['id']===_0x141d1c)return _0x4aa221['user'];}getUserSessions(_0x350a78,_0x5782a6){const _0x358b36=_0x5782a6?[this['channelSessions']['get'](_0x5782a6)]:this['channelSessions']['values'](),_0x458306=new Set();for(const _0x12aca0 of _0x358b36)for(const _0x442825 of _0x12aca0)_0x442825['user']['id']===_0x350a78['id']&&_0x458306['add'](_0x442825['id']);return _0x458306;}getUserRole(_0x881617){for(const _0x15d963 of this['channelSessions']['values']())for(const _0x2d4edd of _0x15d963)if(_0x2d4edd['user']===_0x881617)return _0x2d4edd['role'];}['_handleSessionAdd'](_0x530397,_0x437064){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x32c0a6=_0x437064['user'],_0x5cd6eb=this['_users']['getUser'](_0x32c0a6['id'])||this['_createUser'](_0x32c0a6),_0x4892b1=Object['assign']({},_0x437064,{'user':_0x5cd6eb});if(this['channelSessions']['get'](_0x530397)['add'](_0x4892b1),!_0x32c0a6['hiddenInPresenceList']){const _0x3535e7=this['channelConnectedUsers']['get'](_0x530397);_0x3535e7['has'](_0x5cd6eb['id'])||_0x3535e7['add'](_0x5cd6eb),this['allConnectedUsers']['has'](_0x5cd6eb['id'])||_0x32c0a6['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5cd6eb,_0x5cd6eb['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x530397,{'channelId':_0x530397,'session':_0x4892b1});}['_handleSessionRemove'](_0x524768,_0x5314d2){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x52d7dc=this['channelConnectedUsers']['get'](_0x524768),_0x52ca7c=_0x5314d2['user'];_0x52ca7c['id']&&(this['channelSessions']['get'](_0x524768)['remove'](_0x5314d2['id']),_0x52d7dc['has'](_0x52ca7c['id'])&&!this['getUserSessions'](_0x52ca7c,_0x524768)['size']&&_0x52d7dc['remove'](_0x52ca7c['id']),this['allConnectedUsers']['get'](_0x52ca7c['id'])&&!this['getUserSessions'](_0x52ca7c)['size']&&this['allConnectedUsers']['remove'](_0x52ca7c['id']));}_createUser(_0x145926,_0x1b4d78){const _0x345238=this['_users']['addUser'](_0x145926);return _0x1b4d78&&this['_users']['defineMe'](_0x145926['id']),_0x345238['orderNumber']=this['_uniqueUsersCount']++,_0x345238;}},K=class extends _0x5ad181{_domEmitter=new(_0x2e4884())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x578cd3=this['editor'],_0x381c1d=_0x578cd3['plugins']['get'](Y);_0x578cd3['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x50d4e4,{writer:_0xa2d42})=>function(_0x60d123,_0x27275f,_0x4c4589,_0x5a3376){const _0x3340ac=_0x60d123['markerName']['split'](':')[0x2],_0x5471e0=_0x4c4589['getUserBySessionId'](_0x3340ac);if(!_0x5471e0||_0x3340ac===_0x4c4589['mySessionId'])return;if(!_0x5a3376['model']['schema']['checkChild'](_0x60d123['markerRange']['start'],'$text'))return;const _0x1cbaee={'class':'ck-user__marker\x20'+_0x5471e0['color']['getMarkerClass'](),'style':Q(_0x5471e0),'data-name':_0x5471e0['name'],'data-session-id':_0x3340ac},_0x2ecb10=_0x5a3376['model']['markers']['get'](_0x60d123['markerName'])['getStart'](),_0x4f9e48=_0x2ecb10['nodeAfter'],_0x4751df=_0x5a3376['model']['schema'];if(_0x4f9e48&&_0x4751df['isObject'](_0x4f9e48)&&_0x4751df['isInline'](_0x4f9e48)&&!_0x5a3376['model']['markers']['get']('user:range:'+_0x3340ac)['getRange']()['isCollapsed'])return;const _0x5ba38e=_0x2ecb10['parent'];return _0x5a3376['model']['schema']['isLimit'](_0x5ba38e)&&!_0x5a3376['model']['hasContent'](_0x5ba38e)&&(_0x1cbaee['contenteditable']=!0x1),function(_0x5ea3ff,_0x1bf883,_0x412edd){const _0x372564=_0x5ea3ff['createUIElement']('span',_0x1bf883);return _0x5ea3ff['setCustomProperty']('userPositionMarker',!0x0,_0x372564),_0x372564['render']=function(_0x1093da){const _0x3d8074=this['toDomElement'](_0x1093da),_0x2a905c=document['createElement']('span');return _0x2a905c['classList']['add']('ck-user__marker-tooltip'),_0x2a905c['setAttribute']('contenteditable','false'),_0x2a905c['setAttribute']('spellcheck','false'),_0x2a905c['textContent']=_0x412edd['name'],_0x3d8074['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x2a905c['outerHTML']+'',_0x3d8074['addEventListener']('mouseenter',()=>{_0x3d8074['classList']['add']('ck-user__marker_hovered');}),_0x3d8074['addEventListener']('mouseleave',()=>{_0x3d8074['classList']['remove']('ck-user__marker_hovered');}),_0x3d8074;},_0x372564['isSimilar']=function(_0x1d5891){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1d5891['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1d5891['getAttribute']('data-session-id'));},_0x372564;}(_0x27275f,_0x1cbaee,_0x5471e0);}(_0x50d4e4,_0xa2d42,_0x381c1d,_0x578cd3)}),_0x578cd3['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x10d13a=>function(_0x24b09e,_0x4965b7){const _0x4f9f32=_0x24b09e['markerName']['split'](':')[0x2];if(_0x4f9f32===_0x4965b7['mySessionId'])return null;const _0x929f62=_0x4965b7['getUserBySessionId'](_0x4f9f32);return _0x929f62?{'id':_0x4f9f32,'classes':['ck-user__selection',_0x929f62['color']['getSelectionClass']()],'attributes':{'style':Q(_0x929f62),'data-session-id':_0x4f9f32},'priority':0x7d0+_0x929f62['orderNumber']}:{'id':_0x4f9f32,'classes':[]};}(_0x10d13a,_0x381c1d)}),function(_0x195bfd){const _0x1e0ebe=_0x195bfd['model'],_0x237784=new Map(),_0x36f705=_0x195bfd['plugins']['get'](Y);_0x1e0ebe['markers']['on']('update:user:range',(_0x233b85,_0x46b874,_0x572472,_0x52c2bb)=>{if(!_0x52c2bb&&_0x237784['get'](_0x46b874['name']))return _0x237784['get'](_0x46b874['name'])['detach'](),void _0x237784['delete'](_0x46b874['name']);const _0x4a47f0=_0x46b874['name']['split'](':')[0x2];if(_0x4a47f0===_0x36f705['mySessionId'])return;const _0x31229e='user:position:'+_0x4a47f0;_0x1e0ebe['markers']['has'](_0x31229e)&&_0x195bfd['editing']['reconvertMarker'](_0x31229e),_0x46b874['on']('change:range',(_0x122d39,_0x535679,_0x437cc4)=>{if('$graveyard'!=_0x535679['root']['rootName']&&'$graveyard'==_0x46b874['getRange']()['root']['rootName']&&!_0x237784['has'](_0x46b874['name'])){const _0x547e56=_0x1e0ebe['schema']['getNearestSelectionRange'](_0x437cc4['deletionPosition']);if(_0x547e56){const _0x5a7e4c=_0x6f0fe3['fromRange'](_0x547e56);_0x237784['set'](_0x46b874['name'],_0x5a7e4c),_0x5a7e4c['on']('change:range',(_0x5e5d90,_0x19821e,_0x3d16da)=>{if('$graveyard'==_0x5a7e4c['root']['rootName']){const _0x518950=_0x1e0ebe['schema']['getNearestSelectionRange'](_0x3d16da['deletionPosition']);_0x518950?(_0x5a7e4c['start']=_0x518950['start'],_0x5a7e4c['end']=_0x518950['end']):(_0x237784['delete'](_0x46b874['name']),_0x5a7e4c['detach']());}});}}});}),_0x1e0ebe['document']['on']('change',()=>{_0x237784['size']>0x0&&_0x1e0ebe['enqueueChange']({'isUndoable':!0x1},_0x5ccbac=>{for(const [_0x5c3887,_0x5c2bdf]of _0x237784)'$graveyard'==_0x1e0ebe['markers']['get'](_0x5c3887)['getRange']()['root']['rootName']&&(J(_0x5c3887['split'](':')[0x2],_0x5c2bdf['toRange'](),_0x1e0ebe,_0x5ccbac),_0x5c2bdf['detach']());_0x237784['clear']();});});}(_0x578cd3),this['_domEmitter']['listenTo'](_0x1beff7['document'],'keydown',(_0x49a775,{key:_0x1f7889})=>{'Escape'===_0x1f7889&&function(_0x2c1dbe){_0x2c1dbe['editing']['view']['change'](_0x542617=>{for(const _0x5d2e95 of _0x2c1dbe['model']['markers']){if(!_0x5d2e95['name']['startsWith']('user:position'))continue;const _0x2f6d56=_0x2c1dbe['editing']['mapper']['markerNameToElements'](_0x5d2e95['name']);if(_0x2f6d56){for(const _0x38eed8 of _0x2f6d56)_0x542617['removeClass']('ck-user__marker_hovered',_0x38eed8);}}});}(_0x578cd3);},{'useCapture':!0x0});}afterInit(){const _0x574bfd=this['editor'],_0x196a67=_0x574bfd['commands']['get']('undo');_0x196a67&&_0x574bfd['model']['on']('applyOperation',(_0x5b048a,_0xddf7e7)=>{const _0x11229f=_0xddf7e7[0x0];if(!_0x11229f['isDocumentOperation'])return;if('marker'!=_0x11229f['type']||!_0x11229f['name']['startsWith']('user:'))return;const _0x261338=_0x11229f['batch'];_0x196a67['_createdBatches']['has'](_0x261338)&&(_0x11229f['newRange']=_0x11229f['oldRange']?_0x574bfd['model']['createRange'](_0x11229f['oldRange']['start'],_0x11229f['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x315668=this['editor'],_0xbc64e0=_0x315668['model']['document'],_0x4c258e=_0x315668['plugins']['get'](Y);_0x315668['model']['enqueueChange']({'isUndoable':!0x1},_0x2a4a4b=>{const _0x7c5c48='user:range:'+_0x4c258e['mySessionId'],_0x175fe8='user:position:'+_0x4c258e['mySessionId'],_0x570661=_0x315668['model']['markers']['has'](_0x7c5c48);_0x315668['editing']['view']['hasDomSelection']?J(_0x4c258e['mySessionId'],_0xbc64e0['selection']['getFirstRange'](),_0x315668['model'],_0x2a4a4b):_0x570661&&(_0x2a4a4b['removeMarker'](_0x7c5c48),_0x2a4a4b['removeMarker'](_0x175fe8));});}};function J(_0x191394,_0x2e8ddd,_0x525ba4,_0x42f941){const _0x1fe7a1='user:range:'+_0x191394,_0x104825='user:position:'+_0x191394,_0x58b0a6=_0x2e8ddd['getContainedElement']();let _0x341c2b=_0x2e8ddd['start'];if(_0x58b0a6&&_0x58b0a6['is']('element','tableCell')){const _0xd23568=function(_0x1486b2,_0x19e907){for(const _0x2b06b9 of _0x1486b2['getPositions']())if(_0x19e907['schema']['checkChild'](_0x2b06b9,'$text'))return _0x2b06b9;}(_0x2e8ddd,_0x525ba4);_0xd23568&&(_0x341c2b=_0xd23568,_0x2e8ddd=_0x42f941['createRange'](_0x341c2b));}const _0x1721ef=_0x42f941['createRange'](_0x341c2b);_0x525ba4['markers']['has'](_0x1fe7a1)?(_0x42f941['updateMarker'](_0x1fe7a1,{'range':_0x2e8ddd}),_0x42f941['updateMarker'](_0x104825,{'range':_0x1721ef})):(_0x42f941['addMarker'](_0x1fe7a1,{'range':_0x2e8ddd,'usingOperation':!0x0}),_0x42f941['addMarker'](_0x104825,{'range':_0x1721ef,'usingOperation':!0x0}));}function Q(_0x4744b4){return'--ck-user-color:'+_0x4744b4['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4744b4['color']['getColorAlphaVariable']()+';';}function X(_0x58f5a9,_0x26b6a6,_0xb092f5){const _0x3e00a7=_0x58f5a9['t'],t=_0x58f5a9['t'];switch(_0x26b6a6){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 _0x3e00a7({'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'},_0xb092f5);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x5ad181{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0xf1d2b3)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[z,Y,K,_0x4f6214,_0x243ac4,_0x1dad6a];}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 _0x13caa9=this['serverHistory']['getOperations']();for(let _0x4234b8=_0x13caa9['length']-0x1;_0x4234b8>=0x0;_0x4234b8--){const _0x2e9078=_0x13caa9[_0x4234b8];if(!this['_disconnectionOperations']['has'](_0x2e9078))return _0x2e9078['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x24327e){if(super(_0x24327e),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4ff3e0(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x378169('collaboration-missing-channelid',this);const _0x349509=_0x24327e['config']['get']('cloudServices.bundleVersion')||_0x1f5bb1;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x349509,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x10d881(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}init(){const _0x5535d6=this['editor'],_0x5b4b9c=_0x5535d6['plugins']['get'](_0x243ac4),_0x1379a1=_0x5535d6['plugins']['get'](z);this['listenTo'](_0x5b4b9c,'getOperationAuthor',(_0x234b9d,_0x3de5cc)=>{const _0x555946=_0x3de5cc[0x0];_0x555946['_authorId']&&(_0x234b9d['return']=_0x5b4b9c['getUser'](_0x555946['_authorId']),_0x234b9d['stop']()),null===_0x555946['_authorId']&&(_0x234b9d['return']=null,_0x234b9d['stop']());},{'priority':'high'}),this['listenTo'](_0x5535d6['model']['document']['selection'],'change:range',(_0x48d6a1,_0xe9c66)=>{_0xe9c66['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5535d6['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5535d6['model']['on']('applyOperation',(_0x10246a,_0x47cbb9)=>{const _0x3cea8f=_0x47cbb9[0x0];_0x3cea8f['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3cea8f),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x1379a1,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x21e13e,_0x16bf7d,_0x6bf36f)=>'connected'===_0x21e13e&&!_0x16bf7d&&!_0x6bf36f),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5535d6['disableReadOnlyMode']('rtc-offline'):_0x5535d6['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5535d6['disableReadOnlyMode']('rtc-offline'):_0x5535d6['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x824f25=this['editor']['plugins']['get'](Y),_0x49528d=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x824f25['unregister'](this['_channelId']);const _0x428dac=await this['_service']['reconnect'](_0x49528d['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x428dac)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2b15b3=await this['_service']['getConnectedSessions']();_0x824f25['register'](this['_channelId'],_0x2b15b3),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x20a59a){if(function(_0x50c2c7){return'404'===_0x50c2c7['code'];}(_0x20a59a)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1048f1){return'409'===_0x1048f1['code'];}(_0x20a59a)){const _0x2ea782=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x2ea782);}else{if(!(_0x20a59a instanceof et))throw _0x20a59a;this['_handleReconnectionError']();}}}}destroy(){const _0x35d3bd=this['editor']['plugins']['get'](z),_0x1a0291=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1a0291['channelSessions']['has'](this['_channelId'])&&_0x1a0291['unregister'](this['_channelId']),_0x35d3bd['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x1aedb4){if(this['sessionId']!==_0x1aedb4['sessionId']&&this['_lastSyncedOperationId']!==_0x1aedb4['lastOperationId'])throw new et();return this['sessionId']=_0x1aedb4['sessionId'],this['_handleServerResponse']([],{..._0x1aedb4,'wereChangesApplied':!0x1,'data':_0x1aedb4['data']},'reconnect');}async _connectService(_0x882ea6,_0x1fb4f3=!0x1){const {connection:_0x16af85}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x16af85,this['_channelId'])['then'](_0x279c9a=>this['_initSessionsHandling'](_0x279c9a))['catch'](_0x4af234=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4af234);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x450ee7,_0x29603a)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x29603a);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x2dfd69=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x882ea6);this['_isPendingUpdate']=!0x0;const _0x48a509=await this['_service']['connect'](_0x16af85,this['_compressOperations'](_0x882ea6),_0x2dfd69);if(this['sessionId']=_0x48a509['sessionId'],_0x1fb4f3){if(!_0x48a509['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x48a509['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x882ea6,_0x48a509,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x48a509,_0x882ea6);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x555591=this['editor']['plugins']['get'](Y),_0x194fab=this['editor']['plugins']['get'](K),_0x19d501=_0x555591['channelSessions']['get'](this['_channelId']);_0x19d501&&_0x19d501['length']>0x1?_0x194fab['createUserMarkerOperations']():this['listenTo'](_0x555591,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x555591['channelSessions']['get'](this['_channelId'])['length']&&_0x194fab['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x2bb065,_0x31c388,_0x5f517a,_0x4d2156){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x31c388){const _0x390afd=this['_decompressOperations'](_0x5f517a,_0x4d2156);await this['_fetchMissingUsers'](_0x390afd),this['_handleExternalOperations'](_0x390afd,_0x31c388,_0x5f517a['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x272015}=this['editor'];let _0x559984;try{_0x559984=await this['_service']['getDocumentDetails']();}catch{const _0xc489da=X(_0x272015,'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'](_0xc489da);}const _0x307609=_0x559984['currentDocumentSession']||_0x559984['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x307609['lastOperationId']){const _0x1034c9=X(_0x272015,'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'](_0x1034c9);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x21e5de=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x21e5de['connection']||'connected'!==_0x21e5de['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x40dae0=this['editor']['plugins']['get'](Y);_0x40dae0['channelSessions']['has'](this['_channelId'])&&_0x40dae0['unregister'](this['_channelId']),_0x21e5de['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x483b68){const _0x48f0af=this['editor']['plugins']['get'](Y);this['listenTo'](_0x48f0af,'sessionAdd:'+this['_channelId'],(_0x24cfc5,{session:_0x281ab7})=>{if(_0x281ab7['id']===_0x48f0af['mySessionId']){_0x24cfc5['off']();const _0x2fcea5=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2d7e0a=_0x281ab7['permissions'];_0x2fcea5&&_0x2fcea5['isEnabled']&&(_0x2d7e0a=_0x2d7e0a['filter'](_0x2514c7=>'document:write'!==_0x2514c7)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2d7e0a,this['_channelId']);}}),_0x48f0af['register'](this['_channelId'],_0x483b68);}_initThrowingOnDataSet(){const _0x19693b=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x2b6298)=>{if(!_0x2b6298[_0x2b6298['length']-0x1]['suppressErrorInCollaboration'])throw new _0x378169('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x19693b['apply'](this['editor']['data'],_0x2b6298);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x244782,[_0x24594c])=>{if(this['_document']['version'])throw new _0x378169('realtimecollaborationclient-init-document-already-initialized',this);_0x244782['stop'](),this['_setPendingAction']();const _0xec7e1a=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x12ac03])=>!_0x12ac03['lazyLoad'])['map'](([_0x5018b3,_0x25dc89])=>[_0x5018b3,_0x25dc89['modelAttributes']||{}])),_0x3cc220=this['_getOperationsFromInitData'](_0x24594c,_0xec7e1a);0x0==_0x3cc220['length']&&_0x3cc220['push'](new _0x4b712b(0x0)),_0x244782['return']=this['_connectService'](_0x3cc220)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5e98b5=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5e98b5))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2591aa,[_0x584810,_0x5a6ca8])=>{_0x2591aa['stop']();const _0x13dd98=this['editor']['model']['document']['getRoot'](_0x584810);if(!this['_knownRootNames']['has'](_0x584810)){const _0x200dec=_0x5a6ca8&&_0x5a6ca8['data']?_0x5a6ca8['data']:'',_0x3326e4=_0x5a6ca8&&_0x5a6ca8['attributes']?_0x5a6ca8['attributes']:{};await this['_loadRoot'](_0x584810,_0x200dec,_0x3326e4);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x13dd98['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x13dd98);});},{'priority':'high'});}async _fetchMissingUsers(_0x5c2a47){const _0x1d9dc4=this['editor']['plugins']['get'](_0x243ac4),{connection:_0x1083de}=this['editor']['plugins']['get'](z),_0x37276a=new Set();for(const _0xe0e482 of _0x5c2a47){const _0x56f243=_0xe0e482['_authorId'];_0x56f243&&!_0x1d9dc4['getUser'](_0x56f243)&&_0x37276a['add'](_0x56f243);}if(0x0===_0x37276a['size'])return;const _0xe8b4f2=await _0x5010c3['getMany'](_0x1083de,Array['from'](_0x37276a));for(const _0x38a719 of _0xe8b4f2)_0x1d9dc4['getUser'](_0x38a719['id'])||_0x1d9dc4['addUser'](_0x38a719);}_getOperationsFromInitData(_0x35c79b,_0x1eb0b2={}){const _0x419d47=this['editor']['model'],_0x39f110=[];let _0x232c95=0x0;const _0x3911c0='string'==typeof _0x35c79b?{'main':_0x35c79b}:_0x35c79b;for(const _0x1dedab of Object['keys'](_0x3911c0)){if(!this['_document']['roots']['has'](_0x1dedab))throw new _0x378169('realtimecollaborationclient-init-non-existent-root',this);const _0x5169e9=this['_document']['getRoot'](_0x1dedab),_0x3117cc=this['editor']['data']['parse'](_0x3911c0[_0x1dedab],_0x5169e9),_0x200132=new _0x50a18d(_0x419d47['createPositionAt'](_0x5169e9,0x0),_0x3117cc,_0x232c95++);_0x39f110['push'](_0x200132);for(const [_0x48f37c,_0x3bd916]of _0x3117cc['markers']){const _0x30899c=new _0x5a4082(_0x48f37c,null,_0x419d47['createRange'](_0x419d47['createPositionFromPath'](_0x5169e9,_0x3bd916['start']['path']['slice']()),_0x419d47['createPositionFromPath'](_0x5169e9,_0x3bd916['end']['path']['slice']())),_0x419d47['markers'],!0x0,_0x232c95++);_0x39f110['push'](_0x30899c);}}if(_0x1eb0b2)for(const [_0x1624a8,_0x462009]of Object['entries'](_0x1eb0b2)){const _0x51d02c=_0x419d47['document']['getRoot'](_0x1624a8);if(!_0x51d02c)throw new _0x378169('multi-root-editor-root-attributes-no-root',null);for(const [_0x2a3c74,_0x551070]of Object['entries'](_0x462009))if(null!==_0x551070){const _0x1f79b2=new _0x3a4fda(_0x51d02c,_0x2a3c74,null,_0x551070,_0x232c95++);_0x39f110['push'](_0x1f79b2);}}return _0x39f110;}async _loadRoot(_0x487b05,_0x1708b3,_0x4d73cb){this['_getOperationsFromInitData']({[_0x487b05]:_0x1708b3},{[_0x487b05]:_0x4d73cb})['forEach']((_0x540b13,_0x12656e)=>{_0x540b13['baseVersion']=this['_document']['version']+_0x12656e,_0x540b13['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x540b13);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x527efb,_0x57903b){let _0x126326;this['_offset']=_0x527efb['offset'];const _0x3fbdae=_0x527efb['wereChangesApplied']&&!_0x527efb['initData'],_0x8a988b=_0x3fbdae?0x0:_0x527efb['data']['baseVersion'];if(_0x57903b['forEach'](_0x5e4038=>{_0x5e4038['_isInit']=!0x0,_0x5e4038['createdAt']=_0x527efb['sessionCreatedAt'],_0x5e4038['_authorId']=null;}),_0x3fbdae)_0x126326=_0x57903b,this['_applyOperationsSet'](_0x126326,_0x3fbdae);else{if(_0x527efb['initData']){const _0x5483e5=this['_getOperationsFromInitData'](_0x527efb['initData']);this['_document']['history']['version']=-_0x5483e5['length'],_0x5483e5['forEach'](_0x48df52=>{_0x48df52['baseVersion']-=_0x5483e5['length'],_0x48df52['createdAt']=_0x527efb['sessionCreatedAt'],_0x48df52['_isInit']=!0x0,_0x48df52['_authorId']=null;}),this['_applyOperationsSet'](_0x5483e5,!0x0),this['serverHistory']['version']=-_0x5483e5['length']+this['_offset'],this['_updateServerHistory'](_0x5483e5);}this['_document']['history']['version']=_0x8a988b,_0x126326=this['_decompressOperations'](_0x527efb['data'],_0x527efb['metadata']),await this['_fetchMissingUsers'](_0x126326),this['_applyOperationsSet'](_0x126326,_0x3fbdae);}_0x527efb['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x126326,_0x527efb['lastOperationId']),this['_lastSyncedOperationId']=_0x527efb['lastOperationId']),this['serverHistory']['version']=_0x8a988b+this['_offset'],this['_updateServerHistory'](_0x126326),_0x57903b['filter'](_0x2eaf19=>{const _0x1c6b07=this['_getAffectedRoot'](_0x2eaf19);return _0x1c6b07&&!this['_knownRootNames']['has'](_0x1c6b07);})['forEach']((_0x4a2524,_0x449353)=>{_0x4a2524['baseVersion']=this['_document']['version']+_0x449353,this['_saveOperationInBuffer'](_0x4a2524);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x12ae5b,_0x1f32f1){const _0x49e853=_0x1f32f1&&_0x1f32f1['message'];if(_0x49e853&&_0x49e853['startsWith']('realtimecollaborationclient'))throw _0x1f32f1;const _0x29f389=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x29f389['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x378169(_0x12ae5b,this['editor'],_0x49e853?{'originalError':_0x49e853}:void 0x0);}_saveOperationInBuffer(_0x24260c){this['_knownOperations']['has'](_0x24260c)||(this['_knownOperations']['add'](_0x24260c),this['_bufferedOperations']['push'](_0x24260c),this['_pendingAction']||'marker'==_0x24260c['type']&&!_0x24260c['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x3698a1=!0x1){!_0x3698a1&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x50ed4a=>{_0x50ed4a&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x21bc67=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2c1526){return _0x2c1526['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2c1526['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2c1526['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x21bc67)||this['_crash'](_0x21bc67['message'],_0x21bc67);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x10d4d8=>{this['on']('change:_isPendingUpdate',()=>{_0x10d4d8();});});}async _sendBufferedOperations(){const _0x55436f=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x55436f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x29fac1=[...this['_bufferedOperations']];for(const _0x7c86c2 of _0x29fac1)_0x7c86c2['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x7c86c2);const _0x29b923=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x29fac1),_0x50c37a=Z++,_0x24e873=this['_compressOperations'](_0x29fac1),_0x3ee88e=await this['_service']['sendOperations'](_0x24e873,_0x24e873['baseVersion'],_0x29b923);try{return await this['_handleServerResponse'](_0x29fac1,_0x3ee88e,_0x50c37a);}catch(_0x85300a){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x85300a);}}async['_handleServerResponse'](_0x2072ac,_0x26921f,_0x5d2d2e){if('error'in _0x26921f)throw _0x26921f['error'];let _0x2e410d;if(_0x26921f['wereChangesApplied']){_0x26921f['lastOperationId']&&(this['_lastSyncedOperationId']=_0x26921f['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5600d6=>!_0x2072ac['includes'](_0x5600d6));for(const _0x1a47cf of _0x2072ac)_0x1a47cf['createdAt']='lastOperationAcceptedAt'in _0x26921f&&_0x26921f['lastOperationAcceptedAt']||void 0x0;st(_0x2072ac,_0x26921f['version']-_0x2072ac['length']),this['_updateServerHistory'](_0x2072ac);const _0x1941cb=_0x2072ac['filter'](_0x24621d=>{if(!_0x24621d['_isInit'])return!0x1;const _0x455302=this['_getAffectedRoot'](_0x24621d);return _0x455302&&!this['_knownRootNames']['has'](_0x455302);});st(_0x1941cb,this['_document']['version']),this['_applyOperationsSet'](_0x1941cb),_0x2e410d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1927eb=this['_decompressOperations'](_0x26921f['data'],_0x26921f['metadata'])['filter'](_0x2c6584=>_0x2c6584['baseVersion']>=this['_lastServerVersion']);_0x1927eb['forEach'](_0x47c352=>this['_addKnownRoot'](_0x47c352)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x460fae=>!_0x460fae['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x460fae))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1927eb),_0x2e410d=this['_handleExternalOperations'](_0x1927eb,_0x26921f['version'],_0x26921f['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2e410d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x5cb36f,_0x54dcb3,_0x145ced){try{const _0x408a98={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x288513,operationsB:_0x434079,originalOperations:_0x3e8575}=_0x44596e(_0x5cb36f,this['_bufferedOperations'],_0x408a98);st(_0x288513,this['_document']['version']),st(_0x434079,_0x54dcb3);for(const _0x54aad8 of _0x288513){const _0xbbf903=_0x3e8575['get'](_0x54aad8);_0xbbf903?(_0x54aad8['_authorId']=_0xbbf903['_authorId'],'noop'!==_0x54aad8['type']&&(_0x54aad8['_aiSource']=_0xbbf903['_aiSource'])):_0x54aad8['_authorId']=null;}for(const _0x5b6891 of _0x434079)'noop'!==_0x5b6891['type']&&(_0x5b6891['_aiSource']=_0x3e8575['get'](_0x5b6891)?.['_aiSource']);_0x145ced&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5cb36f,_0x145ced),this['_lastSyncedOperationId']=_0x145ced),this['_bufferedOperations']=[..._0x434079],this['_applyOperationsSet'](_0x288513),this['_updateServerHistory'](_0x5cb36f);}catch(_0x55b38a){return console['error'](_0x55b38a),!0x1;}return!0x0;}_applyOperationsSet(_0x51161e,_0x52f769=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x251f33=>{for(const _0x4f2473 of _0x51161e)this['_knownOperations']['add'](_0x4f2473),this['_addKnownRoot'](_0x4f2473),_0x251f33['batch']['addOperation'](_0x4f2473),this['editor']['model']['applyOperation'](_0x4f2473);});}_addKnownRoot(_0x762d85){const _0x3296ae=this['_getAffectedRoot'](_0x762d85);_0x3296ae&&this['_knownRootNames']['add'](_0x3296ae);}_getAffectedRoot(_0x44c0fe){let _0x5605fc,_0x348601;switch(_0x44c0fe['type']){case'insert':_0x5605fc=_0x44c0fe['position']['root'];break;case'marker':if(_0x348601=_0x44c0fe['newRange'],!_0x348601)return null;_0x5605fc=_0x348601['root'];break;case'addRootAttribute':_0x5605fc=_0x44c0fe['root'];break;case'addRoot':_0x5605fc=_0x44c0fe['affectedSelectable'];break;case'move':_0x5605fc=_0x44c0fe['targetPosition']['root'];break;default:return null;}return _0x5605fc['rootName'];}_updateServerHistory(_0x5cd950){_0x5cd950['forEach'](_0x525774=>{const _0x20e7d3=_0x525774['clone']();_0x20e7d3['_authorId']=_0x525774['_authorId'],_0x20e7d3['_isInit']=!!_0x525774['_isInit'],_0x20e7d3['_aiSource']=_0x525774['_aiSource'],_0x20e7d3['createdAt']=_0x525774['createdAt'],_0x20e7d3['baseVersion']+=this['_offset'],_0x525774['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x20e7d3),this['serverHistory']['addOperation'](_0x20e7d3);});}_handleReconnectionError(_0x278cfc){const _0xceb0ef=this['editor']['plugins']['get']('Notification'),_0x2024fe=this['editor']['locale'];_0x278cfc||(_0x278cfc=X(_0x2024fe,'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.')),_0xceb0ef['showWarning'](_0x278cfc,{'title':X(_0x2024fe,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x4f6214)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x4f6214)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x1e66ea){const _0x3a038c=_0x1e66ea['map'](_0x51a319=>_0x51a319['toJSON']());return this['_compressor']['compress'](_0x3a038c);}_decompressOperations(_0x21db6e,_0x18649e){return this['_compressor']['decompress'](_0x21db6e)['map']((_0x2687b5,_0x1eb966)=>{const _0xa7a976='init'==_0x18649e[_0x1eb966]['type'];if('InsertOperation'==_0x2687b5['__className']){const _0x524bea=_0x2687b5['position']['root'];!this['_document']['getRoot'](_0x524bea)&&(this['_document']['createRoot']('$unknown',_0x524bea)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2687b5['__className']){const _0x4c3312=this['_document']['getRoot'](_0x2687b5['rootName']);_0x4c3312&&'$unknown'==_0x4c3312['name']&&_0x2687b5['elementName']!=_0x4c3312['name']&&(_0x4c3312['name']=_0x2687b5['elementName']);}}const _0x20bacf=_0x196d4a['fromJSON'](_0x2687b5,this['_document']);return _0x20bacf['wasUndone']=_0x2687b5['wasUndone'],_0x20bacf['_isInit']=_0xa7a976,_0x20bacf['_authorId']=_0xa7a976?null:_0x18649e[_0x1eb966]['userId'],_0x20bacf['_isDisconnection']='cs:removeUser'===_0x18649e[_0x1eb966]['type'],_0x20bacf['_aiSource']=_0x2687b5['_aiSource']||void 0x0,_0x20bacf['createdAt']=_0x18649e[_0x1eb966]['createdAt'],_0x20bacf;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x423432=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x423432&&_0x423432['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x2e16fc,_0x5c7e55){for(const _0x2df9ea of _0x2e16fc)_0x2df9ea['baseVersion']=_0x5c7e55++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x324f4f){this['_ignoredOperations']=_0x324f4f,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x5316ba){let _0x3646d3=_0x5316ba['length'];for(;_0x3646d3--;){const _0x5ba5a9=_0x5316ba[_0x3646d3];if(!this['_ignoredOperations']['has'](_0x5ba5a9)){if(!this['_operationToId']['has'](_0x5ba5a9)){const _0x3daf7e=_0x3971c4()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5ba5a9,_0x3daf7e);}return this['_operationToId']['get'](_0x5ba5a9);}}}setIdForTheLastOperation(_0x520d78,_0x2acfa0){if(!_0x2acfa0)return;let _0x517518=_0x520d78['length'];for(;_0x517518--;){const _0x5d7904=_0x520d78[_0x517518];this['_ignoredOperations']['has'](_0x5d7904)||this['_operationToId']['set'](_0x5d7904,_0x2acfa0);}}},nt=class extends _0x5ad181{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x38c7cb{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x2d1506)());['_services'];static get requires(){return[z,_0x55f0e8,Y,_0x243ac4];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x54cc7b){super(_0x54cc7b),this['_services']=new Map();}async init(){const _0x4d723c=this['context'],_0x1e270e=_0x4d723c['plugins']['get'](_0x55f0e8);if(_0x4d723c['plugins']['get'](z)['addToReconnectionStack'](this),_0x1e270e['adapter']={'addCommentThread':async({channelId:_0x1bf3bb,threadId:_0x923817,comments:_0x4d1821,resolvedAt:_0x24f072,resolvedBy:_0x4f0fba,context:_0x64960b,attributes:_0x4b2b23})=>{const _0x13221b=await this['_getService'](_0x1bf3bb)['addCommentThread']({'commentThreadId':_0x923817,'comments':_0x4d1821['map'](_0x464339=>function(_0x337009,_0x5472e6,_0x499ee6){return{'commentThreadId':_0x499ee6,'commentId':_0x337009['commentId'],'userId':_0x337009['authorId'],'content':_0x337009['content'],'documentId':_0x5472e6,'createdAt':_0x337009['createdAt'],'attributes':_0x337009['attributes']||{}};}(_0x464339,_0x1bf3bb,_0x923817)),'resolvedAt':_0x24f072,'resolvedBy':_0x4f0fba,'context':_0x64960b,'attributes':_0x4b2b23})['catch'](ct);return{'threadId':_0x13221b['commentThreadId'],'comments':_0x13221b['comments']};},'getCommentThread':async({channelId:_0x3d5a57,threadId:_0xd2a182})=>{const _0x33bed8=await this['_getService'](_0x3d5a57)['getCommentThread'](_0xd2a182)['catch'](rt)['catch'](ct);return _0x33bed8?_0x33bed8['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x33bed8]),{'threadId':_0x33bed8['commentThreadId'],'comments':_0x33bed8['comments']['map'](at),'context':_0x33bed8['context'],'resolvedAt':_0x33bed8['resolvedAt'],'resolvedBy':_0x33bed8['resolvedBy'],'attributes':_0x33bed8['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3556de,threadId:_0x196bb1,context:_0x4f93ea,unlinkedAt:_0x11b7ff,attributes:_0x4bc05c})=>this['_getService'](_0x3556de)['updateCommentThread']({'commentThreadId':_0x196bb1,'context':_0x4f93ea,'attributes':_0x4bc05c,'unlinkedAt':_0x11b7ff})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x4518ee,threadId:_0x558ad6})=>{const _0x195aac=await this['_getService'](_0x4518ee)['resolveCommentThread'](_0x558ad6)['catch'](rt)['catch'](ct);return{'threadId':_0x195aac['commentThreadId'],'resolvedAt':_0x195aac['resolvedAt'],'resolvedBy':_0x195aac['resolvedBy']};},'reopenCommentThread':async({channelId:_0xaa336e,threadId:_0x36c444})=>this['_getService'](_0xaa336e)['reopenCommentThread'](_0x36c444)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3533b5,threadId:_0x8ae1d0})=>this['_getService'](_0x3533b5)['removeCommentThread'](_0x8ae1d0)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x500421,threadId:_0x3444d7,commentId:_0x1add79,content:_0x4b3ee6,attributes:_0x107288})=>this['_getService'](_0x500421)['addComment'](_0x3444d7,_0x1add79,_0x4b3ee6,_0x107288)['catch'](ct),'updateComment':({channelId:_0x4182b6,threadId:_0x1491c1,commentId:_0x4bf212,content:_0x429a44,attributes:_0x396746})=>this['_getService'](_0x4182b6)['updateComment'](_0x1491c1,_0x4bf212,_0x429a44,_0x396746)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x16587d,threadId:_0x4153ac,commentId:_0x4bc74e})=>this['_getService'](_0x16587d)['removeComment'](_0x4153ac,_0x4bc74e)['catch'](rt)['catch'](ct)},_0x4d723c instanceof _0x5f21d5){const _0x4e125a=_0x4d723c['config']['get']('collaboration.channelId'),_0x5d7d78=_0x4d723c['plugins']['get'](Y);await this['_setUpService'](_0x4e125a);const _0x23d329=await this['_services']['get'](_0x4e125a)['getConnectedSessions']();this['listenTo'](_0x5d7d78,'sessionAdd:'+_0x4e125a,(_0x1bf05b,{session:_0x36a7af})=>{_0x36a7af['id']===_0x5d7d78['mySessionId']&&(_0x1bf05b['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x36a7af['permissions'],_0x4e125a));}),_0x5d7d78['register'](_0x4e125a,_0x23d329);}}async _setUpService(_0x126510){if(this['_services']['has'](_0x126510))throw new _0x378169('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x126510});const _0x29ac03=this['context']['plugins']['get'](_0x55f0e8),_0x2d0442=new CloudServicesCommentsAdapter['CommentsService'](_0x126510);this['_services']['set'](_0x126510,_0x2d0442),this['listenTo'](_0x2d0442,'commentThreadAdded',(_0x1bd9bf,_0x4c15a7)=>{const {commentThreadId:_0x9dfa60,documentId:_0x4dd981,context:_0x75ee7e,attributes:_0x272b6b,resolvedAt:_0x510783,resolvedBy:_0x19110c,comments:_0x310d5e}=_0x4c15a7;_0x29ac03['getCommentThread'](_0x9dfa60)||_0x29ac03['addCommentThread']({'threadId':_0x9dfa60,'channelId':_0x4dd981,'comments':_0x310d5e?_0x310d5e['map'](at):[],'context':_0x75ee7e,'attributes':_0x272b6b,'resolvedAt':_0x510783,'resolvedBy':_0x19110c,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d0442,'commentThreadUpdated',(_0x1f1c34,{commentThreadId:_0x88518a,documentId:_0x20ca7f,context:_0x258afb,unlinkedAt:_0xf4c3e6,attributes:_0x22c585})=>{_0x29ac03['getCommentThread'](_0x88518a)&&_0x29ac03['updateCommentThread']({'threadId':_0x88518a,'channelId':_0x20ca7f,'context':_0x258afb,'unlinkedAt':_0xf4c3e6,'attributes':_0x22c585,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d0442,'commentThreadResolved',(_0x1ca0b5,{commentThreadId:_0xa28d4e,resolvedBy:_0x33c303,resolvedAt:_0x5ee994})=>{const _0x48493c=_0x29ac03['getCommentThread'](_0xa28d4e);_0x48493c&&_0x48493c['resolve']({'resolvedBy':_0x33c303,'resolvedAt':_0x5ee994,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d0442,'commentThreadReopened',(_0x1dbc7e,{commentThreadId:_0xbc1869})=>{const _0x5d2f5f=_0x29ac03['getCommentThread'](_0xbc1869);_0x5d2f5f&&_0x5d2f5f['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2d0442,'commentThreadRemoved',(_0x1590ae,{commentThreadId:_0x249b67})=>{const _0x2f78c7=_0x29ac03['getCommentThread'](_0x249b67);_0x2f78c7&&_0x2f78c7['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2d0442,'commentAdded',(_0x2e73f6,_0x5ce18b)=>{const _0x4766b9=_0x5ce18b['commentThreadId'],_0x14b1e4=_0x29ac03['getCommentThread'](_0x4766b9);_0x14b1e4&&_0x14b1e4['addComment']({...at(_0x5ce18b),'isFromAdapter':!0x0});}),this['listenTo'](_0x2d0442,'commentUpdated',(_0x115a8e,{commentThreadId:_0x5bc712,commentId:_0x4d370a,content:_0x14a534,attributes:_0x6ae70})=>{const _0x1f08c8=_0x29ac03['getCommentThread'](_0x5bc712);if(_0x1f08c8){const _0x5ca718=_0x1f08c8['getComment'](_0x4d370a);_0x5ca718&&_0x5ca718['update']({'content':_0x14a534,'attributes':_0x6ae70,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2d0442,'commentRemoved',(_0x882606,{commentThreadId:_0x1ee16c,commentId:_0x518013})=>{const _0x3f09b0=_0x29ac03['getCommentThread'](_0x1ee16c);if(_0x3f09b0){const _0xdaa767=_0x3f09b0['getComment'](_0x518013);_0xdaa767&&_0xdaa767['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x2d0442,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x126510),this['stopListening'](_0x2d0442));}),await this['_connectService'](_0x126510);}destroy(){if(this['context']instanceof _0x5f21d5){const _0x113daf=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x113daf)&&this['_terminateService'](_0x113daf);}}_terminateService(_0x102bf4){if(!this['_services']['has'](_0x102bf4))throw new _0x378169('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x102bf4});this['_getService'](_0x102bf4)['disconnect'](),this['_services']['delete'](_0x102bf4);}async reconnect(){for(const _0x55898e of this['_services']['keys']())await this['_connectService'](_0x55898e);if(this['context']instanceof _0x5f21d5){const _0x48d458=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x48d458)){const _0x1df283=this['context']['plugins']['get'](Y);_0x1df283['unregister'](_0x48d458);const _0x11458e=await this['_services']['get'](_0x48d458)['getConnectedSessions']();_0x1df283['register'](_0x48d458,_0x11458e);}}}async _connectService(_0x2c3196){const {connection:_0x3f2e4f}=this['context']['plugins']['get'](z),_0xe4aeb4=this['context']['plugins']['get'](_0x55f0e8),_0x37f3f0=await this['_services']['get'](_0x2c3196)['connect'](_0x3f2e4f);await this['_fetchMissingUsersForThreads'](_0x37f3f0);const _0x409255=new Set(Array['from'](_0xe4aeb4['getCommentThreads']({'channelId':_0x2c3196}),_0x539616=>_0x539616['id']));for(const _0x229189 of _0x37f3f0)_0x229189['deletedAt']||_0x409255['delete'](_0x229189['commentThreadId']);for(const _0x24d9ab of _0x409255)_0xe4aeb4['getCommentThread'](_0x24d9ab)['remove']({'isFromAdapter':!0x0});for(const _0x2f1484 of _0x37f3f0){let _0x599aed=_0xe4aeb4['getCommentThread'](_0x2f1484['commentThreadId']);const {commentThreadId:_0x4680fd,context:_0x2c6d07,attributes:_0x379c04,resolvedBy:_0x280404,resolvedAt:_0x18a024,unlinkedAt:_0x2406bf,deletedAt:_0x3638c8}=_0x2f1484;if(_0x3638c8)continue;_0x599aed||(_0x599aed=_0xe4aeb4['addCommentThread']({'channelId':_0x2c3196,'threadId':_0x4680fd,'context':_0x2c6d07,'attributes':_0x379c04||{},'resolvedBy':_0x280404,'resolvedAt':_0x18a024,'unlinkedAt':_0x2406bf,'isFromAdapter':!0x0}));const _0x4c0f7b=new Set(Array['from'](_0x599aed['comments'],_0x131289=>_0x131289['id']));for(const _0x1bfe55 of _0x2f1484['comments'])_0x4c0f7b['delete'](_0x1bfe55['commentId']);for(const _0x18b302 of _0x4c0f7b)_0x599aed['getComment'](_0x18b302)['remove']({'isFromAdapter':!0x0});for(const _0x139fbb of _0x2f1484['comments']){const _0x56d148=_0x599aed['getComment'](_0x139fbb['commentId']);_0x56d148?_0x56d148['content']!==_0x139fbb['content']&&_0x56d148['update']({'content':_0x139fbb['content'],'isFromAdapter':!0x0}):_0x599aed['addComment'](Object['assign'](at(_0x139fbb),{'isFromAdapter':!0x0}));}}}_getService(_0x52ff68){if(!this['_services']['has'](_0x52ff68))throw new _0x378169('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x52ff68});return this['_services']['get'](_0x52ff68);}async _fetchMissingUsersForThreads(_0xfe9a7a){const _0x12f592=this['context']['plugins']['get'](_0x243ac4),{connection:_0x53aba6}=this['context']['plugins']['get'](z),_0x4c2713=new Set();for(const {resolvedBy:_0x16775d,comments:_0x144226}of _0xfe9a7a){_0x16775d&&!_0x12f592['getUser'](_0x16775d)&&_0x4c2713['add'](_0x16775d);for(const {userId:_0x2bd4f0}of _0x144226)_0x12f592['getUser'](_0x2bd4f0)||_0x4c2713['add'](_0x2bd4f0);}if(0x0===_0x4c2713['size'])return;const _0x1b5119=await _0x5010c3['getMany'](_0x53aba6,Array['from'](_0x4c2713));for(const _0x2286ee of _0x1b5119)_0x12f592['getUser'](_0x2286ee['id'])||_0x12f592['addUser'](_0x2286ee);}};async function rt(_0x4b264d){if('404'!==_0x4b264d['code'])throw _0x4b264d;}function ct(_0x44d79a){if((_0x1000ee=_0x44d79a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1000ee['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1000ee['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1000ee;throw _0x44d79a;}function at(_0x4098c3){return{'threadId':_0x4098c3['commentThreadId'],'commentId':_0x4098c3['commentId'],'content':_0x4098c3['content'],'createdAt':_0x4098c3['createdAt'],'authorId':_0x4098c3['userId'],'attributes':_0x4098c3['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x5ad181{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x54931d)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x3f69a8,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1cb5fa){super(_0x1cb5fa);const _0x45c6ad=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x45c6ad);}init(){const _0x3acbb1=this['editor']['plugins']['get'](z),_0xbb307=this['editor']['plugins']['get'](_0x3f69a8);return _0xbb307['adapter']={'getSuggestion':async _0x5d8c26=>{await this['_waitForServiceReady']();const _0x915f7c=await this['_trackChangesService']['get'](_0x5d8c26)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x915f7c]),_0x915f7c;},'addSuggestion':async({id:_0x2d385f,type:_0x259128,data:_0x16cebc,originalSuggestionId:_0x4a66b8,attributes:_0x6fcf93})=>{await this['_waitForServiceReady']();const _0x102b64={'id':_0x2d385f,'type':_0x259128,'data':_0x16cebc,'originalSuggestionId':_0x4a66b8,'attributes':_0x6fcf93},_0x610fec=await this['_trackChangesService']['add'](_0x2d385f,_0x259128,_0x16cebc,_0x4a66b8,_0x6fcf93)['catch'](_0x2d21e0=>{if(dt(_0x2d21e0))return new Promise(_0x5a8c23=>{this['_bufferedRequests']['set'](_0x2d385f,{'resolve':_0x5a8c23,'suggestionData':_0x102b64});});throw _0x2d21e0;});return this['_bufferedRequests']['delete'](_0x2d385f),_0x610fec;},'updateSuggestion':async(_0x62f505,_0x1ce41b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1ce41b['state'])return this['_trackChangesService']['update'](_0x62f505,_0x1ce41b)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1674e6,_0x3b7c12)=>{_0xbb307['hasSuggestion'](_0x3b7c12['id'])&&(_0xbb307['getSuggestion'](_0x3b7c12['id'])['attributes']=_0x3b7c12['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x3acbb1['connection']?.['state']&&(_0x3acbb1['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x3acbb1['connection'])['then'](_0x5ba5f9=>(_0x3acbb1['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5ba5f9)['then'](()=>{for(const _0x3255df of _0x5ba5f9){_0xbb307['addSuggestionData'](_0x3255df)['_saved']=!0x0;}})));}async reconnect(){const _0x2514f9=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0xd57810}=this['editor']['plugins']['get'](z),_0x4b14fd=await this['_trackChangesService']['connect'](_0xd57810);await this['_fetchMissingUsersForThreads'](_0x4b14fd);for(const {suggestionData:_0x475689,resolve:_0xd7c76}of this['_bufferedRequests']['values']()){let _0x17b23f=_0x4b14fd['find'](_0x5ad0cc=>_0x5ad0cc['id']===_0x475689['id']);_0x17b23f||(_0x17b23f=await this['_trackChangesService']['add'](_0x475689['id'],_0x475689['type'],_0x475689['data'],_0x475689['originalSuggestionId'])),_0xd7c76(_0x17b23f);}for(const _0x362768 of _0x4b14fd)_0x2514f9['hasSuggestion'](_0x362768['id'])||_0x2514f9['addSuggestionData'](_0x362768);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x21a071=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5bfc96=>{_0x5bfc96['off'](),_0x21a071();});});}async _fetchMissingUsersForThreads(_0x11b18e){const _0x399ed9=this['editor']['plugins']['get'](_0x243ac4),{connection:_0xb145bf}=this['editor']['plugins']['get'](z),_0x141e22=new Set();for(const {authorId:_0x4bdbf9}of _0x11b18e)_0x399ed9['getUser'](_0x4bdbf9)||_0x141e22['add'](_0x4bdbf9);if(0x0===_0x141e22['size'])return;const _0x20506b=await _0x5010c3['getMany'](_0xb145bf,Array['from'](_0x141e22));for(const _0x3660e5 of _0x20506b)_0x399ed9['getUser'](_0x3660e5['id'])||_0x399ed9['addUser'](_0x3660e5);}};function lt(_0x2a5945){if(dt(_0x2a5945))return new Promise(()=>{});throw _0x2a5945;}function dt(_0x1ab0fa){return _0x1ab0fa['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1ab0fa['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x5ad181{static get requires(){return[_0x383611,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x53144c=this['editor']['plugins']['get'](z),_0x5e0bed=this['editor']['plugins']['get'](_0xac335e),_0x24f7ca=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x53144c,'change:state',(_0x234991,_0x138ce2,_0x581696)=>{_0x5e0bed['isThreadsLoadingPaused']='connected'!==_0x581696;});}),this['listenTo'](_0x53144c,'change:state',(_0x118340,_0x2e1eca,_0x59b0ab)=>{this['editor']['plugins']['get'](_0x55f0e8)['switchReadOnly']('connected'!==_0x59b0ab);}),_0x24f7ca['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x2a2239=this['editor']['plugins']['get'](ot),_0x476751=this['editor']['config']['get']('collaboration.channelId');_0x2a2239['_services']['has'](_0x476751)&&_0x2a2239['_terminateService'](_0x476751),super['destroy']();}},ft=class extends _0x5ad181{static get requires(){return[ut,ht,_0x176b64];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x5ad181{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0xcbb2ed)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x338706,Y,_0x243ac4];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x51ab80){super(_0x51ab80);const _0x5f2c08=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x5f2c08);}async init(){const _0x4c09de=this['editor']['plugins']['get'](tt),_0x4ded3c=_0x4c09de['serverHistory'],_0x3657ce=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4ded3c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4c09de['sessionId']});const _0x39eb5e=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x1f5bb1,_0x5c4ba9=await _0x52c8de['isBundleUploaded'](_0x3657ce['connection'],_0x39eb5e);this['editor']['plugins']['get'](_0x338706)['adapter']={'getRevision':async({revisionId:_0x482780})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x482780)),'updateRevisions':async _0x1a2fc8=>{await this['_waitForServiceReady']();const _0x2e20dd=this['_revisionTracker']['currentRevision'];if(_0x5c4ba9&&0x1===_0x1a2fc8['length']&&_0x1a2fc8[0x0]['id']===_0x2e20dd['id'])return _0x1a2fc8;for(const _0x4f13df of _0x1a2fc8)_0x4f13df['id']===_0x2e20dd['id']&&(_0x4f13df['isEmptyCurrent']=_0x4f13df['fromVersion']===_0x4f13df['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1a2fc8,this['_lastRequestId'])['then'](_0x2a4897=>(this['_lastRequestId']=_0x2a4897,_0x1a2fc8))['catch'](_0x492519=>{if(pt(_0x492519)||'400'===_0x492519['code']&&void 0x0!==_0x492519['data']['wrongRequestId']){for(const _0x1bd335 of _0x1a2fc8)this['_revisionTracker']['repository']['getRevision'](_0x1bd335['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x1bd335['id'],_0x1bd335,!0x1);if(pt(_0x492519)&&'destroyed'!==this['editor']['state'])throw _0x492519;return _0x1a2fc8;}throw _0x492519;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x52c8fa,{revisionsData:_0x54b78d,requestId:_0x2ebc67})=>{Math['max'](..._0x54b78d['map'](_0x1a527e=>_0x1a527e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x54b78d,_0x2ebc67);}):this['_handleRevisionsUpdate'](_0x54b78d,_0x2ebc67);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x3657ce['connection']?.['state']&&(_0x3657ce['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x10b83a,requestId:_0x48cafc}=await this['_revisionHistoryService']['connect'](_0x3657ce['connection']);_0x3657ce['addToReconnectionStack'](this),this['_lastRequestId']=_0x48cafc,await this['_fetchMissingUsers'](_0x10b83a);for(const _0x31a476 of _0x10b83a)this['_revisionTracker']['addRevisionData'](_0x31a476);this['listenTo'](_0x4c09de,'change:_isConnected',(_0x339180,_0x828054,_0x1d4d54)=>{_0x1d4d54&&(this['_oldOffset']=_0x4c09de['_offset'],_0x339180['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x1c8972=this['editor']['plugins']['get'](z),_0x49042b=this['editor']['plugins']['get'](tt),_0x54d8d1=async()=>{const _0x14b993=this['_revisionTracker']['currentRevision'],_0x4c24ce=_0x14b993['id'],_0x82042d=_0x4c24ce!==_0x49042b['sessionId'];if(_0x82042d){const _0x239da0=_0x49042b['_offset']-this['_oldOffset'],_0xd8c11d=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x14b993['toVersion']+_0x239da0!==_0xd8c11d){const _0xe5f241=_0x14b993['fromVersion']+_0x239da0,_0x55aee9=this['editor']['plugins']['get'](_0x243ac4),_0x5a1f90=this['_revisionTracker']['buildRevisionData']({'revision':_0x14b993,'from':_0xe5f241,'to':_0xd8c11d});_0x5a1f90['id']=_0x14b993['id'];const _0x5c663b=_0x5a1f90['authorsIds']['map'](_0x2210f1=>_0x55aee9['getUser'](_0x2210f1));_0x14b993['_update']({..._0x5a1f90,'authors':_0x5c663b},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x14b993['id'],_0x5a1f90,!0x0);}this['_revisionTracker']['_startingVersion']=_0xd8c11d,_0x14b993['toVersion']!==_0x14b993['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x4c24ce)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x4c24ce),this['_revisionTracker']['_createCurrentRevision'](_0xd8c11d);}const {revisions:_0x48f2e5,requestId:_0x22a27c}=await this['_revisionHistoryService']['reconnect'](_0x1c8972['connection'],this['_lastRequestId']);_0x82042d&&_0x48f2e5['length']>0x0?_0x49042b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x48f2e5),this['_handleRevisionsUpdate'](_0x48f2e5,_0x22a27c),this['_revisionTracker']['sendBufferedUpdates']());};return _0x49042b['_isConnected']?_0x54d8d1():new Promise((_0x32d90f,_0x44ee64)=>{_0x49042b['once']('change:_isConnected',()=>{_0x54d8d1()['then'](_0x32d90f)['catch'](_0x44ee64);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x399fc7=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x11447b=>{_0x11447b['off'](),_0x399fc7();});});}_getLatestVersionFromServerOperations(){const _0x4720be=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x859111 of _0x4720be)if('marker'!==_0x859111['type']||_0x859111['affectsData'])return _0x859111['baseVersion']+0x1;}_getLatestVersion(){const _0x4feb76=this['editor']['plugins']['get'](tt);return new Promise(_0x41d35f=>{_0x4feb76['_isPendingUpdate']?_0x4feb76['once']('change:_isPendingUpdate',()=>{_0x41d35f(this['_getLatestVersionFromServerOperations']());}):_0x41d35f(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x5e6aa4,_0x41a395){const _0x50ef27=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x41a395;for(const _0x233fbc of _0x5e6aa4){const _0x38d340=_0x50ef27['getRevision'](_0x233fbc['id']);if(_0x38d340){if((_0x233fbc['fromVersion']||_0x233fbc['toVersion'])&&(_0x233fbc['diffData']=null),_0x38d340===this['_revisionTracker']['currentRevision']){const _0x5aabb2=Math['max'](_0x38d340['toVersion'],_0x233fbc['toVersion']),_0x819aeb=Math['max'](_0x38d340['fromVersion'],_0x233fbc['fromVersion']);let _0xb7d81e;_0x38d340['toVersion']===_0x233fbc['toVersion']&&_0x38d340['fromVersion']===_0x233fbc['fromVersion']?(_0xb7d81e=!0x0,this['_preventResendingRevisionData'](_0x233fbc)):_0x233fbc['toVersion']===_0x5aabb2&&_0x233fbc['fromVersion']===_0x819aeb?_0xb7d81e=!0x1:(_0x38d340['toVersion']===_0x5aabb2&&_0x38d340['fromVersion']===_0x819aeb||this['_fixRevision']({'revision':_0x38d340,'from':_0x819aeb,'to':_0x5aabb2}),_0xb7d81e=!0x0),_0xb7d81e&&(delete _0x233fbc['fromVersion'],delete _0x233fbc['toVersion'],delete _0x233fbc['diffData'],delete _0x233fbc['createdAt'],delete _0x233fbc['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x233fbc),this['_preventResendingRevisionData'](_0x233fbc);}else this['_revisionTracker']['addRevisionData'](_0x233fbc);}const _0x19fee0=_0x50ef27['getRevisions']();_0x19fee0['reverse']();for(let _0x44f473=0x0;_0x44f473<_0x19fee0['length']-0x1;_0x44f473++){const _0x16459b=_0x19fee0[_0x44f473],_0x298146=_0x19fee0[_0x44f473+0x1];if(_0x16459b['fromVersion']<_0x298146['toVersion']){const _0x5045a6=_0x298146['toVersion'],_0x58f086=Math['max'](_0x5045a6,_0x16459b['toVersion']);this['_fixRevision']({'revision':_0x16459b,'from':_0x5045a6,'to':_0x58f086});}}}['_fixRevision']({revision:_0x547b07,from:_0x292a6f,to:_0x32fbf7}={}){const _0x2d52fd=this['editor']['plugins']['get'](_0x243ac4),_0x175ff2=this['_revisionTracker']['buildRevisionData']({'revision':_0x547b07,'from':_0x292a6f,'to':_0x32fbf7});_0x175ff2['authors']=_0x175ff2['authorsIds']['map'](_0x51b7de=>_0x2d52fd['getUser'](_0x51b7de)),_0x547b07['_update'](_0x175ff2);}_preventResendingRevisionData(_0x245d92){const _0x4d97bd={};_0x4d97bd['id']=_0x245d92['id'];for(const _0x48ace6 of Object['keys'](_0x245d92))'id'!==_0x48ace6&&(_0x4d97bd[_0x48ace6]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4d97bd['id'],_0x4d97bd,!0x0);}async _fetchMissingUsers(_0x3ad038){const _0x1ab1eb=this['editor']['plugins']['get'](_0x243ac4),{connection:_0x363ab8}=this['editor']['plugins']['get'](z),_0x573c80=new Set();for(const _0x11afb1 of _0x3ad038){for(const _0xad806f of _0x11afb1['authorsIds'])_0x55478b(_0xad806f);_0x11afb1['creatorId']&&_0x55478b(_0x11afb1['creatorId']);}if(0x0===_0x573c80['size'])return;const _0x133c6f=await _0x5010c3['getMany'](_0x363ab8,Array['from'](_0x573c80));for(const _0x17c0a6 of _0x133c6f)_0x1ab1eb['getUser'](_0x17c0a6['id'])||_0x1ab1eb['addUser'](_0x17c0a6);function _0x55478b(_0x594b3b){_0x1ab1eb['getUser'](_0x594b3b)||_0x573c80['add'](_0x594b3b);}}};function pt(_0x4a8958){return _0x4a8958['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4a8958['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4a8958['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x5ad181{static get requires(){return[_0x338706,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x10aa9c{_collapseAt;constructor(_0x3ce97f,_0x448721=0x6){super(_0x3ce97f);const _0x10046a=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x448721,this['bind']('isHidden')['to'](this,'usersCount',_0x2e33f5=>_0x2e33f5<_0x448721),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x10046a['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':_0x10046a['to']('usersCount',_0x4ec908=>'+'+(_0x4ec908-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x10aa9c{items;keystrokes;constructor(_0x3ba663){super(_0x3ba663);const _0x3e726d=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x25319e(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3e726d['if']('hasPopup'),'aria-expanded':_0x3e726d['to']('isExpanded',_0xbe91de=>this['hasPopup']&&String(_0xbe91de)),'aria-label':_0x3e726d['to']('hasPopup',_0x6d086d=>X(_0x3ba663,_0x6d086d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3e726d['to']('hasPopup',_0x27fd99=>!!_0x27fd99&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3e726d['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3e726d['to'](_0x4619fc=>{const _0x56f719=_0x4619fc,_0x441b4d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x240ccf=document['querySelector']('.ck-balloon-panel_with-arrow');_0x441b4d?.['contains'](_0x56f719['relatedTarget'])||_0x240ccf?.['contains'](_0x56f719['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x422cf7,_0x27946f,_0xcd2dd9)=>{this['element']&&(_0xcd2dd9?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x10aa9c{counterView;inlineListView;constructor(_0x22f4cb,_0xb04654=0x6){super(_0x22f4cb);const _0xad51c5=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0xb04654),this['inlineListView']=new vt(_0x22f4cb),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3059e5 of this['inlineListView']['items'])_0x3059e5['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',_0xad51c5['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x10aa9c{listWrapperView;constructor(_0x354230,_0x23d76b){super(_0x354230);const _0x5a15cf=this['bindTemplate'];this['listWrapperView']=new bt(_0x354230,_0x23d76b),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x354230,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5a15cf['to'](_0x73088=>{const _0x3e9bd2=_0x73088,_0x12f1ac=document['querySelector']('.ck-presence-list__list'),_0xc5ba4e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x12f1ac?.['contains'](_0x3e9bd2['relatedTarget'])||_0xc5ba4e?.['contains'](_0x3e9bd2['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x3b23b9{constructor(_0x47b278,_0x54fd0){super(_0x47b278);const _0x46c3c6=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x54fd0?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x46c3c6['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x46c3c6['to']('role'),'aria-label':_0x46c3c6['to']('ariaLabel'),'aria-labelledby':_0x46c3c6['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x1beff7['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5a056e=this['element'];_0x5a056e&&(this['_isScrollable']=Math['max'](_0x5a056e['scrollHeight'],_0x5a056e['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x1f8c0b{['userView'];constructor(_0x3292ed,_0xfb194e,_0x2e784b){super(_0x3292ed);const _0x4e1c28=this['bindTemplate'];this['userView']=new _0x4ffd7f(_0x3292ed,_0xfb194e);const _0x580153={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xfb194e['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xfb194e['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xfb194e['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xfb194e['color']['getColorVariable'](),'--ck-user-color-alpha':_0xfb194e['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x2e784b&&(_0x580153['tag']='button',_0x580153['on']={'click':_0x4e1c28['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x580153);}['focus'](){this['element']['focus']();}},It=class extends _0x10aa9c{['userView'];['markerView'];constructor(_0x2adb72,_0x5b16f0,_0x338f14){super(_0x2adb72);const _0x3f1d38=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x4ffd7f(_0x2adb72,_0x5b16f0),this['markerView']=new St(_0x2adb72,_0x5b16f0);const _0x3ed054=new _0x444b71(_0x2adb72);_0x3ed054['template']['tag']='span',_0x3ed054['text']=_0x5b16f0['name'];const _0x26d655={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x3f1d38['to']('isFocusable',_0x4d01ac=>!!_0x4d01ac&&0x0),'aria-labelledby':_0x3ed054['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x3f1d38['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x3f1d38['to']('hasTooltip',_0x28c64e=>!_0x28c64e),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3ed054]};_0x338f14&&(_0x26d655['tag']='button',_0x26d655['on']={'click':_0x3f1d38['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x26d655);}},St=class extends _0x10aa9c{constructor(_0x369f8c,_0x3483b0){super(_0x369f8c),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3483b0['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x3483b0['color']['getColorVariable'](),'--ck-user-color-alpha':_0x3483b0['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x38c7cb{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x28d12c){super(_0x28d12c),this['context']['config']['define']('presenceList',Tt);const _0x1320b5=_0x28d12c['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1320b5)throw new _0x378169('presencelist-collapseat-invalid-format',this);if(_0x1320b5<0x1)throw new _0x378169('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x425153(),this['balloonPanelView']=new _0x41d972(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0xdf1465 of this['_allConnectedUsers'])this['_handleUserAdd'](_0xdf1465);this['listenTo'](this['_allConnectedUsers'],'add',(_0x2004d1,_0x25274f)=>{this['_handleUserAdd'](_0x25274f);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5802cd,_0x814b39)=>{this['_handleUserRemove'](_0x814b39);});}_createView(){const _0x1f2f54=this['context'],_0x4e56ee=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4d9274=this['balloonPanelView'];if(!_0x381810(_0x1f2f54['config']['get']('presenceList.container')))throw new _0x378169('presencelist-missing-container',this);return _0x4e56ee['counterView']['bind']('usersCount')['to'](this),_0x4e56ee['bind']('isCollapsed')['to'](this,'usersCount',_0xbd5154=>{const {collapseAt:_0x475288}=_0x1f2f54['config']['get']('presenceList'),_0x2b4919=_0xbd5154>=_0x475288;if(_0x2b4919&&!_0x4e56ee['inlineListView']['items']['find'](_0xeb34b0=>_0xeb34b0 instanceof wt)){const _0x38bef5=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x38bef5&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4e56ee['inlineListView']['items']['add'](_0x4e56ee['counterView']);}return _0x2b4919||this['hideDropdown'](),_0x2b4919;}),_0x4e56ee['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x46b4b=>{const _0x2e235e=_0x1f2f54['config']['get']('presenceList'),_0x1ad429=new It(_0x1f2f54['locale'],_0x46b4b,!!_0x2e235e['onClick']);return _0x1ad429['bind']('hasTooltip')['to'](_0x4e56ee,'isCollapsed',_0x4db03f=>!_0x4db03f),_0x1ad429['bind']('isFocusable')['to'](_0x4e56ee,'isCollapsed',_0x592ed1=>!_0x592ed1),_0x2e235e['onClick']&&this['listenTo'](_0x1ad429,'execute',()=>{this['view']['isCollapsed']||_0x2e235e['onClick'](_0x46b4b,_0x1ad429['element']);}),_0x1ad429;}),this['listenTo'](_0x4e56ee['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4e56ee['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4e56ee['inlineListView']['keystrokes']['set']('Enter',(_0x1ef00b,_0x47e41a)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x47e41a());}),_0x4e56ee['render'](),_0x4d9274['render'](),_0x3e6ae2({'emitter':_0x4e56ee,'activator':()=>_0x4d9274['isVisible'],'contextElements':[_0x4d9274['element'],_0x4e56ee['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1f2f54['config']['get']('presenceList.container')['appendChild'](_0x4e56ee['element']),this['_bodyCollection']=new _0x19cda0(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4e56ee;}['_handleUserAdd'](_0x49463f){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x49463f['isMe'])return;const _0x4d495a=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4d495a-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4ee27e=_0x49463f['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x49463f,_0x4ee27e);}['_handleUserRemove'](_0x51c866){this['usersCount']--;const {collapseAt:_0x54e61a}=this['context']['config']['get']('presenceList'),_0x2a0537=this['usersCount']>=_0x54e61a;if(this['currentDisplayedUsers']['get'](_0x51c866['id']))this['currentDisplayedUsers']['remove'](_0x51c866['id']);else{if(_0x2a0537&&this['currentDisplayedUsers']['length']+0x1===_0x54e61a-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x2a0537?0x1:0x0)<this['usersCount']){for(const _0x4fab77 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x4fab77['id'])&&(this['currentDisplayedUsers']['add'](_0x4fab77,Math['min'](this['currentDisplayedUsers']['length']-(_0x2a0537?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x2a0537?0x1:0x0)===_0x54e61a-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x565789=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x565789['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4a6747}=this['presenceDropdownView'];_0x4a6747['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x397329=>{if(!_0x565789['displayMe']&&_0x397329['isMe'])return null;const _0x4c05b1=new kt(this['context']['locale'],_0x397329,!!_0x565789['onClick']);return _0x565789['onClick']&&this['listenTo'](_0x4c05b1,'execute',()=>{_0x565789['onClick'](_0x397329,_0x4c05b1['element']);}),_0x4c05b1;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4a6747['focus'](),_0x4a6747['checkIfScrollable']();const _0x35fd8d=(_0x52a7b0,_0x91567c)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x91567c();};_0x4a6747['keystrokes']['set']('Esc',_0x35fd8d),_0x4a6747['keystrokes']['set']('Shift+Tab',_0x35fd8d),_0x4a6747['keystrokes']['set']('Tab',(_0x46000a,_0x3a9a20)=>{!function(_0x173048){const _0xbc25df=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3c61f0=>_0x3c61f0+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x519e87=[...document['body']['querySelectorAll'](_0xbc25df)]['filter'](_0x1fd5d0=>_0x1fd5d0===document['activeElement']||_0x1fd5d0['offsetWidth']+_0x1fd5d0['offsetHeight']>0x0)['sort']((_0x4beafe,_0x2899db)=>(_0x4beafe['tabIndex']||0x0)-(_0x2899db['tabIndex']||0x0)),_0x1adfea=_0x519e87[(_0x519e87['indexOf'](_0x173048)+0x1)%_0x519e87['length']];_0x1adfea&&_0x1adfea['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3a9a20();}),_0x4a6747['focusTracker']['add'](this['view']['element']),_0x4a6747['focusTracker']['on']('change:isFocused',(_0x4da77e,_0x1ea4c9,_0x47d86d)=>{_0x47d86d||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x38c7cb{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|