@ckeditor/ckeditor5-real-time-collaboration 48.4.0-alpha.4 → 48.4.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -6
- package/dist/translations/af.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
|
-
((()=>_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
|
-
((()=>
|
|
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};
|
|
23
|
+
import{Context as _0x9ae67d,ContextPlugin as _0x3aa93e,PendingActions as _0x107a72,Plugin as _0x154ef0}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x5215b6,Collection as _0x7bbdee,DomEmitterMixin as _0x151f83,KeystrokeHandler as _0x5152c2,global as _0x8fcf5d,uid as _0x3290e7,version as _0xafa472}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x46878c,BodyCollection as _0x2c299b,LabelView as _0x5d18b9,ListItemView as _0x941e32,ListView as _0x587fe3,Notification as _0x44bbc0,View as _0x2c1459,clickOutsideHandler as _0x4de315}from'@ckeditor/ckeditor5-ui';import{History as _0x54352f,InsertOperation as _0x32bb5c,MarkerOperation as _0x413fa2,ModelLiveRange as _0x456eb7,NoOperation as _0x2ec628,OperationFactory as _0x2b4517,RootAttributeOperation as _0x45d274,transformOperationSets as _0x30e6e6}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x204621}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x56ed59,CommentsService as _0x487668,EditorService as _0x4554c4,RevisionHistoryService as _0x169a8e,TrackChangesService as _0x52b3d3,User as _0x2b3046,WEB_SOCKET_GATEWAY_STATES as _0x4a6974,WebSocketGateway as _0x2137ca}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x5e52fe,Users as _0x4c0308}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x14a1a8}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x1099e3,TrackChangesEditing as _0x5d1ba1}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x363913,CommentsEditing as _0x1496d8,CommentsRepository as _0x276c38}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x286dd0}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x2e44e9}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x3aa93e{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x2137ca)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x204621,_0x44bbc0];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3a6883){super(_0x3a6883),this['set']('state',_0x4a6974['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x151f83())();}init(){const _0xad15bc=this['context'],_0x3c437a=_0xad15bc['plugins']['get'](_0x204621),_0x8dc0cc=_0xad15bc['plugins']['get'](_0x44bbc0);if(!_0x3c437a['token'])throw new _0x5215b6('websocketgateway-missing-token',this);if(!_0x3c437a['webSocketUrl'])throw new _0x5215b6('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'](_0x3c437a['token'],_0x3c437a['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x13c1df=>{if(this['connection']=_0x13c1df,this['bind']('state')['to'](_0x13c1df,'state',this,'_isBrowserOffline',(_0x502e9e,_0x45a791)=>('connected'!==_0x502e9e&&(this['_shouldPluginsReconnect']=!0x0),_0x45a791||_0x502e9e!==_0x4a6974['CONNECTED']?_0x4a6974['DISCONNECTED']:this['state']==_0x4a6974['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4a6974['CONNECTING']):_0x4a6974['CONNECTED'])),this['connection']['on']('error',(_0x501b57,_0x1f6c6b)=>{if('limitExceeded'!==_0x1f6c6b['code'])throw console['error'](_0x1f6c6b),new _0x5215b6('cloudservices-init',null,{'originalError':_0x1f6c6b});_0x8dc0cc['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'});}),!_0x13c1df['me'])return new Promise(_0x4e03d7=>_0x13c1df['on']('change:me',_0x4e03d7));})['catch'](_0x4ba03e=>{throw console['error'](_0x4ba03e),new _0x5215b6('cloudservices-init',null,{'originalError':_0x4ba03e});});}addToReconnectionStack(_0x275b46){if('function'!=typeof _0x275b46['reconnect'])throw new _0x5215b6('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x275b46))throw new _0x5215b6('websocketgateway-plugin-already-registered',this,{'name':_0x275b46['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x275b46);}removeFromReconnectionStack(_0x36f57d){this['_reconnectionStack']['delete'](_0x36f57d);}isInReconnectionStack(_0x11d88a){return this['_reconnectionStack']['has'](_0x11d88a);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x590ce9=>_0x590ce9['reconnect']())))['then'](()=>this['state']=_0x4a6974['CONNECTED'])['catch'](_0x13c2c6=>{throw console['error'](_0x13c2c6),new _0x5215b6('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4a6974['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x3aa93e{['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,_0x4c0308];}constructor(_0x6c2979){super(_0x6c2979),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x7bbdee(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4c0308);}init(){const _0x4dbcf8=this['context']['plugins']['get'](z);this['listenTo'](_0x4dbcf8,'change:state',(_0x32d31b,_0x18dbc3,_0xbc0e7)=>{if('connected'!==_0xbc0e7)this['channelSessions']['forEach'](_0x322d39=>_0x322d39['clear']()),this['channelConnectedUsers']['forEach'](_0x2adba0=>_0x2adba0['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x214040,_0x170133]of this['_registeredSessions'])for(const _0x445981 of _0x170133)this['_handleSessionAdd'](_0x214040,_0x445981);}}),this['_createUser'](_0x4dbcf8['connection']['me'],!0x0);}register(_0x1284cd,_0x41e543){if(this['_registeredSessions']['has'](_0x1284cd))throw new _0x5215b6('sessions-register-already-registered',null,{'channelId':_0x1284cd});this['_registeredSessions']['set'](_0x1284cd,_0x41e543),this['channelSessions']['set'](_0x1284cd,new _0x7bbdee()),this['channelConnectedUsers']['set'](_0x1284cd,new _0x7bbdee()),this['listenTo'](_0x41e543,'add',(_0x2b79ef,_0x4a1f13)=>this['_handleSessionAdd'](_0x1284cd,_0x4a1f13)),this['listenTo'](_0x41e543,'remove',(_0x18a472,_0x58c5b4)=>this['_handleSessionRemove'](_0x1284cd,_0x58c5b4));for(const _0xbd86f2 of _0x41e543)this['_handleSessionAdd'](_0x1284cd,_0xbd86f2);}unregister(_0x4cb4cf){if(!this['_registeredSessions']['has'](_0x4cb4cf))throw new _0x5215b6('sessions-unregister-not-exist',null,{'channelId':_0x4cb4cf});const _0x54ccc1=this['_registeredSessions']['get'](_0x4cb4cf);this['stopListening'](_0x54ccc1);for(const _0x510370 of _0x54ccc1)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x4cb4cf,_0x510370);this['_registeredSessions']['delete'](_0x4cb4cf),this['channelSessions']['delete'](_0x4cb4cf),this['channelConnectedUsers']['delete'](_0x4cb4cf);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x12e13e){for(const _0x32181b of this['channelSessions']['values']())for(const _0x39bf47 of _0x32181b)if(_0x39bf47['id']===_0x12e13e)return _0x39bf47['user'];}getUserSessions(_0x5b1883,_0x5ccc10){const _0x29a2b6=_0x5ccc10?[this['channelSessions']['get'](_0x5ccc10)]:this['channelSessions']['values'](),_0x608044=new Set();for(const _0x2ac7a6 of _0x29a2b6)for(const _0x344fe5 of _0x2ac7a6)_0x344fe5['user']['id']===_0x5b1883['id']&&_0x608044['add'](_0x344fe5['id']);return _0x608044;}getUserRole(_0x5bc3b0){for(const _0x2ebab7 of this['channelSessions']['values']())for(const _0x57e79c of _0x2ebab7)if(_0x57e79c['user']===_0x5bc3b0)return _0x57e79c['role'];}['_handleSessionAdd'](_0x2f5194,_0x5a567e){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4eebf2=_0x5a567e['user'],_0x1718f0=this['_users']['getUser'](_0x4eebf2['id'])||this['_createUser'](_0x4eebf2),_0x1cbeb2=Object['assign']({},_0x5a567e,{'user':_0x1718f0});if(this['channelSessions']['get'](_0x2f5194)['add'](_0x1cbeb2),!_0x4eebf2['hiddenInPresenceList']){const _0x474016=this['channelConnectedUsers']['get'](_0x2f5194);_0x474016['has'](_0x1718f0['id'])||_0x474016['add'](_0x1718f0),this['allConnectedUsers']['has'](_0x1718f0['id'])||_0x4eebf2['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1718f0,_0x1718f0['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2f5194,{'channelId':_0x2f5194,'session':_0x1cbeb2});}['_handleSessionRemove'](_0x17c9d4,_0x38b0a5){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x406478=this['channelConnectedUsers']['get'](_0x17c9d4),_0x157c1e=_0x38b0a5['user'];_0x157c1e['id']&&(this['channelSessions']['get'](_0x17c9d4)['remove'](_0x38b0a5['id']),_0x406478['has'](_0x157c1e['id'])&&!this['getUserSessions'](_0x157c1e,_0x17c9d4)['size']&&_0x406478['remove'](_0x157c1e['id']),this['allConnectedUsers']['get'](_0x157c1e['id'])&&!this['getUserSessions'](_0x157c1e)['size']&&this['allConnectedUsers']['remove'](_0x157c1e['id']));}_createUser(_0x48f016,_0x503169){const _0x3aed1c=this['_users']['addUser'](_0x48f016);return _0x503169&&this['_users']['defineMe'](_0x48f016['id']),_0x3aed1c['orderNumber']=this['_uniqueUsersCount']++,_0x3aed1c;}},K=class extends _0x154ef0{_domEmitter=new(_0x151f83())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x24396e=this['editor'],_0x1888ca=_0x24396e['plugins']['get'](Y);_0x24396e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x214e2e,{writer:_0x1d7b8b})=>function(_0x3e16be,_0x1e582d,_0x26e302,_0x2cb8eb){const _0x57568f=_0x3e16be['markerName']['split'](':')[0x2],_0x4306a3=_0x26e302['getUserBySessionId'](_0x57568f);if(!_0x4306a3||_0x57568f===_0x26e302['mySessionId'])return;if(!_0x2cb8eb['model']['schema']['checkChild'](_0x3e16be['markerRange']['start'],'$text'))return;const _0x30c436={'class':'ck-user__marker\x20'+_0x4306a3['color']['getMarkerClass'](),'style':Q(_0x4306a3),'data-name':_0x4306a3['name'],'data-session-id':_0x57568f},_0xbe3c7e=_0x2cb8eb['model']['markers']['get'](_0x3e16be['markerName'])['getStart'](),_0x233a83=_0xbe3c7e['nodeAfter'],_0x30c39b=_0x2cb8eb['model']['schema'];if(_0x233a83&&_0x30c39b['isObject'](_0x233a83)&&_0x30c39b['isInline'](_0x233a83)&&!_0x2cb8eb['model']['markers']['get']('user:range:'+_0x57568f)['getRange']()['isCollapsed'])return;const _0x51fbff=_0xbe3c7e['parent'];return _0x2cb8eb['model']['schema']['isLimit'](_0x51fbff)&&!_0x2cb8eb['model']['hasContent'](_0x51fbff)&&(_0x30c436['contenteditable']=!0x1),function(_0x77a8dd,_0x38036e,_0x3b2512){const _0x2fcc3f=_0x77a8dd['createUIElement']('span',_0x38036e);return _0x77a8dd['setCustomProperty']('userPositionMarker',!0x0,_0x2fcc3f),_0x2fcc3f['render']=function(_0xddb1ed){const _0x43e7b2=this['toDomElement'](_0xddb1ed),_0x4b9f6d=document['createElement']('span');return _0x4b9f6d['classList']['add']('ck-user__marker-tooltip'),_0x4b9f6d['setAttribute']('contenteditable','false'),_0x4b9f6d['setAttribute']('spellcheck','false'),_0x4b9f6d['textContent']=_0x3b2512['name'],_0x43e7b2['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x4b9f6d['outerHTML']+'',_0x43e7b2['addEventListener']('mouseenter',()=>{_0x43e7b2['classList']['add']('ck-user__marker_hovered');}),_0x43e7b2['addEventListener']('mouseleave',()=>{_0x43e7b2['classList']['remove']('ck-user__marker_hovered');}),_0x43e7b2;},_0x2fcc3f['isSimilar']=function(_0x561760){return!(!this['getCustomProperty']('userPositionMarker')||!_0x561760['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x561760['getAttribute']('data-session-id'));},_0x2fcc3f;}(_0x1e582d,_0x30c436,_0x4306a3);}(_0x214e2e,_0x1d7b8b,_0x1888ca,_0x24396e)}),_0x24396e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xa88a42=>function(_0x52aab9,_0x432994){const _0xc91215=_0x52aab9['markerName']['split'](':')[0x2];if(_0xc91215===_0x432994['mySessionId'])return null;const _0x45d5d8=_0x432994['getUserBySessionId'](_0xc91215);return _0x45d5d8?{'id':_0xc91215,'classes':['ck-user__selection',_0x45d5d8['color']['getSelectionClass']()],'attributes':{'style':Q(_0x45d5d8),'data-session-id':_0xc91215},'priority':0x7d0+_0x45d5d8['orderNumber']}:{'id':_0xc91215,'classes':[]};}(_0xa88a42,_0x1888ca)}),function(_0x3e706a){const _0xbc4a66=_0x3e706a['model'],_0xe8071=new Map(),_0x45433f=_0x3e706a['plugins']['get'](Y);_0xbc4a66['markers']['on']('update:user:range',(_0x4c5a0b,_0x42ddc3,_0x2fe440,_0x12d759)=>{if(!_0x12d759&&_0xe8071['get'](_0x42ddc3['name']))return _0xe8071['get'](_0x42ddc3['name'])['detach'](),void _0xe8071['delete'](_0x42ddc3['name']);const _0x123018=_0x42ddc3['name']['split'](':')[0x2];if(_0x123018===_0x45433f['mySessionId'])return;const _0x59fae4='user:position:'+_0x123018;_0xbc4a66['markers']['has'](_0x59fae4)&&_0x3e706a['editing']['reconvertMarker'](_0x59fae4),_0x42ddc3['on']('change:range',(_0xdb37bb,_0x843ad9,_0x222d3f)=>{if('$graveyard'!=_0x843ad9['root']['rootName']&&'$graveyard'==_0x42ddc3['getRange']()['root']['rootName']&&!_0xe8071['has'](_0x42ddc3['name'])){const _0x1ba149=_0xbc4a66['schema']['getNearestSelectionRange'](_0x222d3f['deletionPosition']);if(_0x1ba149){const _0x2c867d=_0x456eb7['fromRange'](_0x1ba149);_0xe8071['set'](_0x42ddc3['name'],_0x2c867d),_0x2c867d['on']('change:range',(_0x466803,_0x17f4f4,_0x4e5bd7)=>{if('$graveyard'==_0x2c867d['root']['rootName']){const _0x2d0751=_0xbc4a66['schema']['getNearestSelectionRange'](_0x4e5bd7['deletionPosition']);_0x2d0751?(_0x2c867d['start']=_0x2d0751['start'],_0x2c867d['end']=_0x2d0751['end']):(_0xe8071['delete'](_0x42ddc3['name']),_0x2c867d['detach']());}});}}});}),_0xbc4a66['document']['on']('change',()=>{_0xe8071['size']>0x0&&_0xbc4a66['enqueueChange']({'isUndoable':!0x1},_0x4f2f57=>{for(const [_0xe43fa1,_0x57ef7c]of _0xe8071)'$graveyard'==_0xbc4a66['markers']['get'](_0xe43fa1)['getRange']()['root']['rootName']&&(J(_0xe43fa1['split'](':')[0x2],_0x57ef7c['toRange'](),_0xbc4a66,_0x4f2f57),_0x57ef7c['detach']());_0xe8071['clear']();});});}(_0x24396e),this['_domEmitter']['listenTo'](_0x8fcf5d['document'],'keydown',(_0xb536f1,{key:_0x25c55a})=>{'Escape'===_0x25c55a&&function(_0x1d471f){_0x1d471f['editing']['view']['change'](_0x253c2b=>{for(const _0x596ee2 of _0x1d471f['model']['markers']){if(!_0x596ee2['name']['startsWith']('user:position'))continue;const _0x56497b=_0x1d471f['editing']['mapper']['markerNameToElements'](_0x596ee2['name']);if(_0x56497b){for(const _0x17cab4 of _0x56497b)_0x253c2b['removeClass']('ck-user__marker_hovered',_0x17cab4);}}});}(_0x24396e);},{'useCapture':!0x0});}afterInit(){const _0x9b70f2=this['editor'],_0x2ad4b0=_0x9b70f2['commands']['get']('undo');_0x2ad4b0&&_0x9b70f2['model']['on']('applyOperation',(_0x2426c7,_0x45c39e)=>{const _0x1840f8=_0x45c39e[0x0];if(!_0x1840f8['isDocumentOperation'])return;if('marker'!=_0x1840f8['type']||!_0x1840f8['name']['startsWith']('user:'))return;const _0x289ac5=_0x1840f8['batch'];_0x2ad4b0['_createdBatches']['has'](_0x289ac5)&&(_0x1840f8['newRange']=_0x1840f8['oldRange']?_0x9b70f2['model']['createRange'](_0x1840f8['oldRange']['start'],_0x1840f8['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x282766=this['editor'],_0x70504b=_0x282766['model']['document'],_0x569a35=_0x282766['plugins']['get'](Y);_0x282766['model']['enqueueChange']({'isUndoable':!0x1},_0x5adb51=>{const _0x2830b7='user:range:'+_0x569a35['mySessionId'],_0x1fecd8='user:position:'+_0x569a35['mySessionId'],_0x1ff5f5=_0x282766['model']['markers']['has'](_0x2830b7);_0x282766['editing']['view']['hasDomSelection']?J(_0x569a35['mySessionId'],_0x70504b['selection']['getFirstRange'](),_0x282766['model'],_0x5adb51):_0x1ff5f5&&(_0x5adb51['removeMarker'](_0x2830b7),_0x5adb51['removeMarker'](_0x1fecd8));});}};function J(_0x24cebe,_0x437949,_0x504a62,_0x5a9b5f){const _0x54668f='user:range:'+_0x24cebe,_0x5deec0='user:position:'+_0x24cebe,_0x6d9365=_0x437949['getContainedElement']();let _0x1c566f=_0x437949['start'];if(_0x6d9365&&_0x6d9365['is']('element','tableCell')){const _0x4f9800=function(_0x4f4b05,_0x3f03ff){for(const _0x5d1933 of _0x4f4b05['getPositions']())if(_0x3f03ff['schema']['checkChild'](_0x5d1933,'$text'))return _0x5d1933;}(_0x437949,_0x504a62);_0x4f9800&&(_0x1c566f=_0x4f9800,_0x437949=_0x5a9b5f['createRange'](_0x1c566f));}const _0x3ed3a1=_0x5a9b5f['createRange'](_0x1c566f);_0x504a62['markers']['has'](_0x54668f)?(_0x5a9b5f['updateMarker'](_0x54668f,{'range':_0x437949}),_0x5a9b5f['updateMarker'](_0x5deec0,{'range':_0x3ed3a1})):(_0x5a9b5f['addMarker'](_0x54668f,{'range':_0x437949,'usingOperation':!0x0}),_0x5a9b5f['addMarker'](_0x5deec0,{'range':_0x3ed3a1,'usingOperation':!0x0}));}function Q(_0x142541){return'--ck-user-color:'+_0x142541['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x142541['color']['getColorAlphaVariable']()+';';}function X(_0x20f7f5,_0x18899c,_0x2e6ff0){const _0x5d99a4=_0x20f7f5['t'],t=_0x20f7f5['t'];switch(_0x18899c){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 _0x5d99a4({'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'},_0x2e6ff0);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x154ef0{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x56ed59)());_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,_0x107a72,_0x4c0308,_0x44bbc0];}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 _0x56f48f=this['serverHistory']['getOperations']();for(let _0x32f020=_0x56f48f['length']-0x1;_0x32f020>=0x0;_0x32f020--){const _0x5e4c4b=_0x56f48f[_0x32f020];if(!this['_disconnectionOperations']['has'](_0x5e4c4b))return _0x5e4c4b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x293f9d){if(super(_0x293f9d),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x54352f(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x5215b6('collaboration-missing-channelid',this);const _0x5936d9=_0x293f9d['config']['get']('cloudServices.bundleVersion')||_0xafa472;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x5936d9,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x14a1a8(),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 _0x34981b=this['editor'],_0x25cde6=_0x34981b['plugins']['get'](_0x4c0308),_0x17f92b=_0x34981b['plugins']['get'](z);this['listenTo'](_0x25cde6,'getOperationAuthor',(_0x452118,_0x36c648)=>{const _0x3b232e=_0x36c648[0x0];_0x3b232e['_authorId']&&(_0x452118['return']=_0x25cde6['getUser'](_0x3b232e['_authorId']),_0x452118['stop']()),null===_0x3b232e['_authorId']&&(_0x452118['return']=null,_0x452118['stop']());},{'priority':'high'}),this['listenTo'](_0x34981b['model']['document']['selection'],'change:range',(_0x38723b,_0x39f3f1)=>{_0x39f3f1['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x34981b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x34981b['model']['on']('applyOperation',(_0x5614cc,_0x402ea0)=>{const _0xdcf045=_0x402ea0[0x0];_0xdcf045['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xdcf045),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x17f92b,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x541584,_0x176592,_0x22ae1f)=>'connected'===_0x541584&&!_0x176592&&!_0x22ae1f),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x34981b['disableReadOnlyMode']('rtc-offline'):_0x34981b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x34981b['disableReadOnlyMode']('rtc-offline'):_0x34981b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x2d27ad=this['editor']['plugins']['get'](Y),_0x4c4471=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x2d27ad['unregister'](this['_channelId']);const _0x435d52=await this['_service']['reconnect'](_0x4c4471['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x435d52)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x54eed3=await this['_service']['getConnectedSessions']();_0x2d27ad['register'](this['_channelId'],_0x54eed3),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x395642){if(function(_0x8483c0){return'404'===_0x8483c0['code'];}(_0x395642)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x886619){return'409'===_0x886619['code'];}(_0x395642)){const _0x1e998a=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'](_0x1e998a);}else{if(!(_0x395642 instanceof et))throw _0x395642;this['_handleReconnectionError']();}}}}destroy(){const _0x45d898=this['editor']['plugins']['get'](z),_0x16aa76=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x16aa76['channelSessions']['has'](this['_channelId'])&&_0x16aa76['unregister'](this['_channelId']),_0x45d898['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x346014){if(this['sessionId']!==_0x346014['sessionId']&&this['_lastSyncedOperationId']!==_0x346014['lastOperationId'])throw new et();return this['sessionId']=_0x346014['sessionId'],this['_handleServerResponse']([],{..._0x346014,'wereChangesApplied':!0x1,'data':_0x346014['data']},'reconnect');}async _connectService(_0x45c52c,_0x231c28=!0x1){const {connection:_0xe62dc5}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0xe62dc5,this['_channelId'])['then'](_0x53cb0c=>this['_initSessionsHandling'](_0x53cb0c))['catch'](_0x2eccb1=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x2eccb1);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1936df,_0x49fb72)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x49fb72);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x55eff2=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x45c52c);this['_isPendingUpdate']=!0x0;const _0x5dda61=await this['_service']['connect'](_0xe62dc5,this['_compressOperations'](_0x45c52c),_0x55eff2);if(this['sessionId']=_0x5dda61['sessionId'],_0x231c28){if(!_0x5dda61['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5dda61['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x45c52c,_0x5dda61,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5dda61,_0x45c52c);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x25f924=this['editor']['plugins']['get'](Y),_0x588a00=this['editor']['plugins']['get'](K),_0x284cd4=_0x25f924['channelSessions']['get'](this['_channelId']);_0x284cd4&&_0x284cd4['length']>0x1?_0x588a00['createUserMarkerOperations']():this['listenTo'](_0x25f924,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x25f924['channelSessions']['get'](this['_channelId'])['length']&&_0x588a00['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x3e957c,_0x4f3b5d,_0x15a344,_0x45142d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4f3b5d){const _0x1d8533=this['_decompressOperations'](_0x15a344,_0x45142d);await this['_fetchMissingUsers'](_0x1d8533),this['_handleExternalOperations'](_0x1d8533,_0x4f3b5d,_0x15a344['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x285f2c}=this['editor'];let _0x1d4d87;try{_0x1d4d87=await this['_service']['getDocumentDetails']();}catch{const _0x30cfbe=X(_0x285f2c,'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'](_0x30cfbe);}const _0xc608e1=_0x1d4d87['currentDocumentSession']||_0x1d4d87['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0xc608e1['lastOperationId']){const _0x310ef9=X(_0x285f2c,'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'](_0x310ef9);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x538c15=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x538c15['connection']||'connected'!==_0x538c15['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x18cfe4=this['editor']['plugins']['get'](Y);_0x18cfe4['channelSessions']['has'](this['_channelId'])&&_0x18cfe4['unregister'](this['_channelId']),_0x538c15['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x3a2c87){const _0x5f4c3a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5f4c3a,'sessionAdd:'+this['_channelId'],(_0x17f5c9,{session:_0x461598})=>{if(_0x461598['id']===_0x5f4c3a['mySessionId']){_0x17f5c9['off']();const _0x5bb4a3=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x357c0d=_0x461598['permissions'];_0x5bb4a3&&_0x5bb4a3['isEnabled']&&(_0x357c0d=_0x357c0d['filter'](_0x5a940d=>'document:write'!==_0x5a940d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x357c0d,this['_channelId']);}}),_0x5f4c3a['register'](this['_channelId'],_0x3a2c87);}_initThrowingOnDataSet(){const _0x23af2e=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x31c28d)=>{if(!_0x31c28d[_0x31c28d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x5215b6('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x23af2e['apply'](this['editor']['data'],_0x31c28d);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x30d8a0,[_0xd9e786])=>{if(this['_document']['version'])throw new _0x5215b6('realtimecollaborationclient-init-document-already-initialized',this);_0x30d8a0['stop'](),this['_setPendingAction']();const _0xb9e0b4=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1af916])=>!_0x1af916['lazyLoad'])['map'](([_0x2dda19,_0x464e04])=>[_0x2dda19,_0x464e04['modelAttributes']||{}])),_0xd42897=this['_getOperationsFromInitData'](_0xd9e786,_0xb9e0b4);0x0==_0xd42897['length']&&_0xd42897['push'](new _0x2ec628(0x0)),_0x30d8a0['return']=this['_connectService'](_0xd42897)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x4ae3b8=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x4ae3b8))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4bad16,[_0x1ea54c,_0x47796d])=>{_0x4bad16['stop']();const _0x286751=this['editor']['model']['document']['getRoot'](_0x1ea54c);if(!this['_knownRootNames']['has'](_0x1ea54c)){const _0x1eb8d7=_0x47796d&&_0x47796d['data']?_0x47796d['data']:'',_0x440747=_0x47796d&&_0x47796d['attributes']?_0x47796d['attributes']:{};await this['_loadRoot'](_0x1ea54c,_0x1eb8d7,_0x440747);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x286751['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x286751);});},{'priority':'high'});}async _fetchMissingUsers(_0x41c078){const _0x233c69=this['editor']['plugins']['get'](_0x4c0308),{connection:_0x4949a8}=this['editor']['plugins']['get'](z),_0x121171=new Set();for(const _0x404c15 of _0x41c078){const _0x3bb9d2=_0x404c15['_authorId'];_0x3bb9d2&&!_0x233c69['getUser'](_0x3bb9d2)&&_0x121171['add'](_0x3bb9d2);}if(0x0===_0x121171['size'])return;const _0x3c2939=await _0x2b3046['getMany'](_0x4949a8,Array['from'](_0x121171));for(const _0x271211 of _0x3c2939)_0x233c69['getUser'](_0x271211['id'])||_0x233c69['addUser'](_0x271211);}_getOperationsFromInitData(_0x3f4346,_0x56078e={}){const _0x314db9=this['editor']['model'],_0x1a5de8=[];let _0x16710c=0x0;const _0x541081='string'==typeof _0x3f4346?{'main':_0x3f4346}:_0x3f4346;for(const _0x5c473e of Object['keys'](_0x541081)){if(!this['_document']['roots']['has'](_0x5c473e))throw new _0x5215b6('realtimecollaborationclient-init-non-existent-root',this);const _0x4d4131=this['_document']['getRoot'](_0x5c473e),_0xd7f818=this['editor']['data']['parse'](_0x541081[_0x5c473e],_0x4d4131),_0x27a32e=new _0x32bb5c(_0x314db9['createPositionAt'](_0x4d4131,0x0),_0xd7f818,_0x16710c++);_0x1a5de8['push'](_0x27a32e);for(const [_0xdf53ef,_0x221d1a]of _0xd7f818['markers']){const _0x36e964=new _0x413fa2(_0xdf53ef,null,_0x314db9['createRange'](_0x314db9['createPositionFromPath'](_0x4d4131,_0x221d1a['start']['path']['slice']()),_0x314db9['createPositionFromPath'](_0x4d4131,_0x221d1a['end']['path']['slice']())),_0x314db9['markers'],!0x0,_0x16710c++);_0x1a5de8['push'](_0x36e964);}}if(_0x56078e)for(const [_0x2ad97f,_0x407486]of Object['entries'](_0x56078e)){const _0x1464ea=_0x314db9['document']['getRoot'](_0x2ad97f);if(!_0x1464ea)throw new _0x5215b6('multi-root-editor-root-attributes-no-root',null);for(const [_0x507266,_0x111885]of Object['entries'](_0x407486))if(null!==_0x111885){const _0x1ae21e=new _0x45d274(_0x1464ea,_0x507266,null,_0x111885,_0x16710c++);_0x1a5de8['push'](_0x1ae21e);}}return _0x1a5de8;}async _loadRoot(_0x50b709,_0x4f2236,_0x2d7e6a){this['_getOperationsFromInitData']({[_0x50b709]:_0x4f2236},{[_0x50b709]:_0x2d7e6a})['forEach']((_0x200228,_0x2e8721)=>{_0x200228['baseVersion']=this['_document']['version']+_0x2e8721,_0x200228['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x200228);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x345375,_0x313c4e){let _0x28ea2e;this['_offset']=_0x345375['offset'];const _0x2e75b3=_0x345375['wereChangesApplied']&&!_0x345375['initData'],_0xbe46be=_0x2e75b3?0x0:_0x345375['data']['baseVersion'];if(_0x313c4e['forEach'](_0x327bbe=>{_0x327bbe['_isInit']=!0x0,_0x327bbe['createdAt']=_0x345375['sessionCreatedAt'],_0x327bbe['_authorId']=null;}),_0x2e75b3)_0x28ea2e=_0x313c4e,this['_applyOperationsSet'](_0x28ea2e,_0x2e75b3);else{if(_0x345375['initData']){const _0x3e1496=this['_getOperationsFromInitData'](_0x345375['initData']);this['_document']['history']['version']=-_0x3e1496['length'],_0x3e1496['forEach'](_0x42371c=>{_0x42371c['baseVersion']-=_0x3e1496['length'],_0x42371c['createdAt']=_0x345375['sessionCreatedAt'],_0x42371c['_isInit']=!0x0,_0x42371c['_authorId']=null;}),this['_applyOperationsSet'](_0x3e1496,!0x0),this['serverHistory']['version']=-_0x3e1496['length']+this['_offset'],this['_updateServerHistory'](_0x3e1496);}this['_document']['history']['version']=_0xbe46be,_0x28ea2e=this['_decompressOperations'](_0x345375['data'],_0x345375['metadata']),await this['_fetchMissingUsers'](_0x28ea2e),this['_applyOperationsSet'](_0x28ea2e,_0x2e75b3);}_0x345375['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x28ea2e,_0x345375['lastOperationId']),this['_lastSyncedOperationId']=_0x345375['lastOperationId']),this['serverHistory']['version']=_0xbe46be+this['_offset'],this['_updateServerHistory'](_0x28ea2e),_0x313c4e['filter'](_0x1a1c5d=>{const _0x47b3e5=this['_getAffectedRoot'](_0x1a1c5d);return _0x47b3e5&&!this['_knownRootNames']['has'](_0x47b3e5);})['forEach']((_0x5d4434,_0x3101fa)=>{_0x5d4434['baseVersion']=this['_document']['version']+_0x3101fa,this['_saveOperationInBuffer'](_0x5d4434);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x354e6c,_0x5ad599){const _0x43b740=_0x5ad599&&_0x5ad599['message'];if(_0x43b740&&_0x43b740['startsWith']('realtimecollaborationclient'))throw _0x5ad599;const _0x4585b4=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x4585b4['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x5215b6(_0x354e6c,this['editor'],_0x43b740?{'originalError':_0x43b740}:void 0x0);}_saveOperationInBuffer(_0x42813c){this['_knownOperations']['has'](_0x42813c)||(this['_knownOperations']['add'](_0x42813c),this['_bufferedOperations']['push'](_0x42813c),this['_pendingAction']||'marker'==_0x42813c['type']&&!_0x42813c['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0xdbd28f=!0x1){!_0xdbd28f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x557cd2=>{_0x557cd2&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4c01a5=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xcb982e){return _0xcb982e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xcb982e['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xcb982e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4c01a5)||this['_crash'](_0x4c01a5['message'],_0x4c01a5);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x1d7e54=>{this['on']('change:_isPendingUpdate',()=>{_0x1d7e54();});});}async _sendBufferedOperations(){const _0x5ae0d8=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x5ae0d8['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x13112=[...this['_bufferedOperations']];for(const _0x44048d of _0x13112)_0x44048d['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x44048d);const _0x2634fa=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x13112),_0x5abb36=Z++,_0x436322=this['_compressOperations'](_0x13112),_0x2b946d=await this['_service']['sendOperations'](_0x436322,_0x436322['baseVersion'],_0x2634fa);try{return await this['_handleServerResponse'](_0x13112,_0x2b946d,_0x5abb36);}catch(_0x384513){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x384513);}}async['_handleServerResponse'](_0x3f3e92,_0x5d28c7,_0x23c8e3){if('error'in _0x5d28c7)throw _0x5d28c7['error'];let _0x3f9ac8;if(_0x5d28c7['wereChangesApplied']){_0x5d28c7['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5d28c7['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x297363=>!_0x3f3e92['includes'](_0x297363));for(const _0x14eade of _0x3f3e92)_0x14eade['createdAt']='lastOperationAcceptedAt'in _0x5d28c7&&_0x5d28c7['lastOperationAcceptedAt']||void 0x0;st(_0x3f3e92,_0x5d28c7['version']-_0x3f3e92['length']),this['_updateServerHistory'](_0x3f3e92);const _0x243d66=_0x3f3e92['filter'](_0x3d9ac7=>{if(!_0x3d9ac7['_isInit'])return!0x1;const _0x40a3e1=this['_getAffectedRoot'](_0x3d9ac7);return _0x40a3e1&&!this['_knownRootNames']['has'](_0x40a3e1);});st(_0x243d66,this['_document']['version']),this['_applyOperationsSet'](_0x243d66),_0x3f9ac8=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1bca57=this['_decompressOperations'](_0x5d28c7['data'],_0x5d28c7['metadata'])['filter'](_0x4def25=>_0x4def25['baseVersion']>=this['_lastServerVersion']);_0x1bca57['forEach'](_0x4da731=>this['_addKnownRoot'](_0x4da731)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5b2b15=>!_0x5b2b15['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5b2b15))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1bca57),_0x3f9ac8=this['_handleExternalOperations'](_0x1bca57,_0x5d28c7['version'],_0x5d28c7['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3f9ac8?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x280381,_0x1c42db,_0xa77c7a){try{const _0x2d49ad={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x349e4c,operationsB:_0x4e7f2e,originalOperations:_0x162c09}=_0x30e6e6(_0x280381,this['_bufferedOperations'],_0x2d49ad);st(_0x349e4c,this['_document']['version']),st(_0x4e7f2e,_0x1c42db);for(const _0x551127 of _0x349e4c){const _0x5edcfb=_0x162c09['get'](_0x551127);_0x5edcfb?(_0x551127['_authorId']=_0x5edcfb['_authorId'],'noop'!==_0x551127['type']&&(_0x551127['_aiSource']=_0x5edcfb['_aiSource'])):_0x551127['_authorId']=null;}for(const _0x153b66 of _0x4e7f2e)'noop'!==_0x153b66['type']&&(_0x153b66['_aiSource']=_0x162c09['get'](_0x153b66)?.['_aiSource']);_0xa77c7a&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x280381,_0xa77c7a),this['_lastSyncedOperationId']=_0xa77c7a),this['_bufferedOperations']=[..._0x4e7f2e],this['_applyOperationsSet'](_0x349e4c),this['_updateServerHistory'](_0x280381);}catch(_0x3a4cdd){return console['error'](_0x3a4cdd),!0x1;}return!0x0;}_applyOperationsSet(_0x575a70,_0x151d89=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x504165=>{for(const _0x5be87b of _0x575a70)this['_knownOperations']['add'](_0x5be87b),this['_addKnownRoot'](_0x5be87b),_0x504165['batch']['addOperation'](_0x5be87b),this['editor']['model']['applyOperation'](_0x5be87b);});}_addKnownRoot(_0xb14030){const _0x4b5d7f=this['_getAffectedRoot'](_0xb14030);_0x4b5d7f&&this['_knownRootNames']['add'](_0x4b5d7f);}_getAffectedRoot(_0x35e75a){let _0x41fd8b,_0xe8c9bf;switch(_0x35e75a['type']){case'insert':_0x41fd8b=_0x35e75a['position']['root'];break;case'marker':if(_0xe8c9bf=_0x35e75a['newRange'],!_0xe8c9bf)return null;_0x41fd8b=_0xe8c9bf['root'];break;case'addRootAttribute':_0x41fd8b=_0x35e75a['root'];break;case'addRoot':_0x41fd8b=_0x35e75a['affectedSelectable'];break;case'move':_0x41fd8b=_0x35e75a['targetPosition']['root'];break;default:return null;}return _0x41fd8b['rootName'];}_updateServerHistory(_0xd1ff10){_0xd1ff10['forEach'](_0x5c1460=>{const _0x122e13=_0x5c1460['clone']();_0x122e13['_authorId']=_0x5c1460['_authorId'],_0x122e13['_isInit']=!!_0x5c1460['_isInit'],_0x122e13['_aiSource']=_0x5c1460['_aiSource'],_0x122e13['createdAt']=_0x5c1460['createdAt'],_0x122e13['baseVersion']+=this['_offset'],_0x5c1460['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x122e13),this['serverHistory']['addOperation'](_0x122e13);});}_handleReconnectionError(_0x4d3031){const _0x213f1d=this['editor']['plugins']['get']('Notification'),_0xc052ba=this['editor']['locale'];_0x4d3031||(_0x4d3031=X(_0xc052ba,'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.')),_0x213f1d['showWarning'](_0x4d3031,{'title':X(_0xc052ba,'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'](_0x107a72)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x107a72)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x268139){const _0x361c27=_0x268139['map'](_0x1ddab4=>_0x1ddab4['toJSON']());return this['_compressor']['compress'](_0x361c27);}_decompressOperations(_0x3b5a9c,_0x1414b5){return this['_compressor']['decompress'](_0x3b5a9c)['map']((_0x918ad1,_0x3fbc88)=>{const _0x24d353='init'==_0x1414b5[_0x3fbc88]['type'];if('InsertOperation'==_0x918ad1['__className']){const _0x1c3289=_0x918ad1['position']['root'];!this['_document']['getRoot'](_0x1c3289)&&(this['_document']['createRoot']('$unknown',_0x1c3289)['_isAttached']=!0x1);}else{if('RootOperation'==_0x918ad1['__className']){const _0x382d1e=this['_document']['getRoot'](_0x918ad1['rootName']);_0x382d1e&&'$unknown'==_0x382d1e['name']&&_0x918ad1['elementName']!=_0x382d1e['name']&&(_0x382d1e['name']=_0x918ad1['elementName']);}}const _0x5456ac=_0x2b4517['fromJSON'](_0x918ad1,this['_document']);return _0x5456ac['wasUndone']=_0x918ad1['wasUndone'],_0x5456ac['_isInit']=_0x24d353,_0x5456ac['_authorId']=_0x24d353?null:_0x1414b5[_0x3fbc88]['userId'],_0x5456ac['_isDisconnection']='cs:removeUser'===_0x1414b5[_0x3fbc88]['type'],_0x5456ac['_aiSource']=_0x918ad1['_aiSource']||void 0x0,_0x5456ac['createdAt']=_0x1414b5[_0x3fbc88]['createdAt'],_0x5456ac;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x25a9d3=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x25a9d3&&_0x25a9d3['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x12e73b,_0x32890e){for(const _0x3b7fda of _0x12e73b)_0x3b7fda['baseVersion']=_0x32890e++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x1cd03b){this['_ignoredOperations']=_0x1cd03b,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x3d7dd5){let _0x43c17c=_0x3d7dd5['length'];for(;_0x43c17c--;){const _0x2b8c9b=_0x3d7dd5[_0x43c17c];if(!this['_ignoredOperations']['has'](_0x2b8c9b)){if(!this['_operationToId']['has'](_0x2b8c9b)){const _0x3e22c6=_0x3290e7()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2b8c9b,_0x3e22c6);}return this['_operationToId']['get'](_0x2b8c9b);}}}setIdForTheLastOperation(_0x3a7aeb,_0x51d277){if(!_0x51d277)return;let _0x56ac38=_0x3a7aeb['length'];for(;_0x56ac38--;){const _0x2b0f6e=_0x3a7aeb[_0x56ac38];this['_ignoredOperations']['has'](_0x2b0f6e)||this['_operationToId']['set'](_0x2b0f6e,_0x51d277);}}},nt=class extends _0x154ef0{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x3aa93e{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x487668)());['_services'];static get requires(){return[z,_0x276c38,Y,_0x4c0308];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5108c9){super(_0x5108c9),this['_services']=new Map();}async init(){const _0x376f21=this['context'],_0x2cf8e2=_0x376f21['plugins']['get'](_0x276c38);if(_0x376f21['plugins']['get'](z)['addToReconnectionStack'](this),_0x2cf8e2['adapter']={'addCommentThread':async({channelId:_0x54fa63,threadId:_0x5b4159,comments:_0x59526c,resolvedAt:_0x4063d2,resolvedBy:_0x6b5763,context:_0x52144a,attributes:_0x3b1b44})=>{const _0x4acc1c=await this['_getService'](_0x54fa63)['addCommentThread']({'commentThreadId':_0x5b4159,'comments':_0x59526c['map'](_0x56734c=>function(_0x2737f7,_0x20e822,_0x1c0c8d){return{'commentThreadId':_0x1c0c8d,'commentId':_0x2737f7['commentId'],'userId':_0x2737f7['authorId'],'content':_0x2737f7['content'],'documentId':_0x20e822,'createdAt':_0x2737f7['createdAt'],'attributes':_0x2737f7['attributes']||{}};}(_0x56734c,_0x54fa63,_0x5b4159)),'resolvedAt':_0x4063d2,'resolvedBy':_0x6b5763,'context':_0x52144a,'attributes':_0x3b1b44})['catch'](ct);return{'threadId':_0x4acc1c['commentThreadId'],'comments':_0x4acc1c['comments']};},'getCommentThread':async({channelId:_0x25ce99,threadId:_0x142d46})=>{const _0x5b731f=await this['_getService'](_0x25ce99)['getCommentThread'](_0x142d46)['catch'](rt)['catch'](ct);return _0x5b731f?_0x5b731f['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5b731f]),{'threadId':_0x5b731f['commentThreadId'],'comments':_0x5b731f['comments']['map'](at),'context':_0x5b731f['context'],'resolvedAt':_0x5b731f['resolvedAt'],'resolvedBy':_0x5b731f['resolvedBy'],'attributes':_0x5b731f['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x207e85,threadId:_0x284e9e,context:_0x466e17,unlinkedAt:_0x44df34,attributes:_0xde569c})=>this['_getService'](_0x207e85)['updateCommentThread']({'commentThreadId':_0x284e9e,'context':_0x466e17,'attributes':_0xde569c,'unlinkedAt':_0x44df34})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x90a046,threadId:_0x212f8e})=>{const _0xf17e10=await this['_getService'](_0x90a046)['resolveCommentThread'](_0x212f8e)['catch'](rt)['catch'](ct);return{'threadId':_0xf17e10['commentThreadId'],'resolvedAt':_0xf17e10['resolvedAt'],'resolvedBy':_0xf17e10['resolvedBy']};},'reopenCommentThread':async({channelId:_0x35f522,threadId:_0x5df5c0})=>this['_getService'](_0x35f522)['reopenCommentThread'](_0x5df5c0)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x19ce3c,threadId:_0x8fe0cf})=>this['_getService'](_0x19ce3c)['removeCommentThread'](_0x8fe0cf)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x17abf7,threadId:_0x4a1c33,commentId:_0x526446,content:_0x48bf53,attributes:_0x4899c4})=>this['_getService'](_0x17abf7)['addComment'](_0x4a1c33,_0x526446,_0x48bf53,_0x4899c4)['catch'](ct),'updateComment':({channelId:_0x385eb2,threadId:_0x2833fc,commentId:_0xf91d97,content:_0x8adf94,attributes:_0x547eb2})=>this['_getService'](_0x385eb2)['updateComment'](_0x2833fc,_0xf91d97,_0x8adf94,_0x547eb2)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x12f204,threadId:_0x334373,commentId:_0x59da19})=>this['_getService'](_0x12f204)['removeComment'](_0x334373,_0x59da19)['catch'](rt)['catch'](ct)},_0x376f21 instanceof _0x9ae67d){const _0x47deaa=_0x376f21['config']['get']('collaboration.channelId'),_0x1662a4=_0x376f21['plugins']['get'](Y);await this['_setUpService'](_0x47deaa);const _0x59b026=await this['_services']['get'](_0x47deaa)['getConnectedSessions']();this['listenTo'](_0x1662a4,'sessionAdd:'+_0x47deaa,(_0x5ab529,{session:_0x234ad9})=>{_0x234ad9['id']===_0x1662a4['mySessionId']&&(_0x5ab529['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x234ad9['permissions'],_0x47deaa));}),_0x1662a4['register'](_0x47deaa,_0x59b026);}}async _setUpService(_0xddbf09){if(this['_services']['has'](_0xddbf09))throw new _0x5215b6('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xddbf09});const _0x17b002=this['context']['plugins']['get'](_0x276c38),_0x1f6304=new CloudServicesCommentsAdapter['CommentsService'](_0xddbf09);this['_services']['set'](_0xddbf09,_0x1f6304),this['listenTo'](_0x1f6304,'commentThreadAdded',(_0xa04f42,_0x7a0a54)=>{const {commentThreadId:_0x1eae24,documentId:_0x57e2c2,context:_0x334a10,attributes:_0x4e00b3,resolvedAt:_0x3cc657,resolvedBy:_0x401b24,comments:_0x32def1}=_0x7a0a54;_0x17b002['getCommentThread'](_0x1eae24)||_0x17b002['addCommentThread']({'threadId':_0x1eae24,'channelId':_0x57e2c2,'comments':_0x32def1?_0x32def1['map'](at):[],'context':_0x334a10,'attributes':_0x4e00b3,'resolvedAt':_0x3cc657,'resolvedBy':_0x401b24,'isFromAdapter':!0x0});}),this['listenTo'](_0x1f6304,'commentThreadUpdated',(_0x257612,{commentThreadId:_0x5bb865,documentId:_0xdf7ed7,context:_0x801160,unlinkedAt:_0x2f7473,attributes:_0x3c59da})=>{_0x17b002['getCommentThread'](_0x5bb865)&&_0x17b002['updateCommentThread']({'threadId':_0x5bb865,'channelId':_0xdf7ed7,'context':_0x801160,'unlinkedAt':_0x2f7473,'attributes':_0x3c59da,'isFromAdapter':!0x0});}),this['listenTo'](_0x1f6304,'commentThreadResolved',(_0x307d96,{commentThreadId:_0xb3bf84,resolvedBy:_0x9882da,resolvedAt:_0x5308f1})=>{const _0x3628ec=_0x17b002['getCommentThread'](_0xb3bf84);_0x3628ec&&_0x3628ec['resolve']({'resolvedBy':_0x9882da,'resolvedAt':_0x5308f1,'isFromAdapter':!0x0});}),this['listenTo'](_0x1f6304,'commentThreadReopened',(_0x3feff3,{commentThreadId:_0x52f28f})=>{const _0x519469=_0x17b002['getCommentThread'](_0x52f28f);_0x519469&&_0x519469['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1f6304,'commentThreadRemoved',(_0x5e7b50,{commentThreadId:_0x1ecff4})=>{const _0x29ac84=_0x17b002['getCommentThread'](_0x1ecff4);_0x29ac84&&_0x29ac84['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1f6304,'commentAdded',(_0x4b8190,_0x5857ac)=>{const _0x237811=_0x5857ac['commentThreadId'],_0x47940e=_0x17b002['getCommentThread'](_0x237811);_0x47940e&&_0x47940e['addComment']({...at(_0x5857ac),'isFromAdapter':!0x0});}),this['listenTo'](_0x1f6304,'commentUpdated',(_0x212141,{commentThreadId:_0x25f111,commentId:_0x2381b3,content:_0x150432,attributes:_0x32249d})=>{const _0x49553c=_0x17b002['getCommentThread'](_0x25f111);if(_0x49553c){const _0x3a1b47=_0x49553c['getComment'](_0x2381b3);_0x3a1b47&&_0x3a1b47['update']({'content':_0x150432,'attributes':_0x32249d,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1f6304,'commentRemoved',(_0x3c736f,{commentThreadId:_0x4c1790,commentId:_0x10799a})=>{const _0x3fc6d1=_0x17b002['getCommentThread'](_0x4c1790);if(_0x3fc6d1){const _0x2c41a5=_0x3fc6d1['getComment'](_0x10799a);_0x2c41a5&&_0x2c41a5['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x1f6304,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0xddbf09),this['stopListening'](_0x1f6304));}),await this['_connectService'](_0xddbf09);}destroy(){if(this['context']instanceof _0x9ae67d){const _0x12428f=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x12428f)&&this['_terminateService'](_0x12428f);}}_terminateService(_0x42a5c7){if(!this['_services']['has'](_0x42a5c7))throw new _0x5215b6('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x42a5c7});this['_getService'](_0x42a5c7)['disconnect'](),this['_services']['delete'](_0x42a5c7);}async reconnect(){for(const _0x3b9590 of this['_services']['keys']())await this['_connectService'](_0x3b9590);if(this['context']instanceof _0x9ae67d){const _0x575a2f=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x575a2f)){const _0x1f5630=this['context']['plugins']['get'](Y);_0x1f5630['unregister'](_0x575a2f);const _0x1e819f=await this['_services']['get'](_0x575a2f)['getConnectedSessions']();_0x1f5630['register'](_0x575a2f,_0x1e819f);}}}async _connectService(_0x249f8f){const {connection:_0x2fdb1d}=this['context']['plugins']['get'](z),_0x4d53b2=this['context']['plugins']['get'](_0x276c38),_0x19b462=await this['_services']['get'](_0x249f8f)['connect'](_0x2fdb1d);await this['_fetchMissingUsersForThreads'](_0x19b462);const _0x7221a3=new Set(Array['from'](_0x4d53b2['getCommentThreads']({'channelId':_0x249f8f}),_0x47de87=>_0x47de87['id']));for(const _0x2e3d83 of _0x19b462)_0x2e3d83['deletedAt']||_0x7221a3['delete'](_0x2e3d83['commentThreadId']);for(const _0x52d6eb of _0x7221a3)_0x4d53b2['getCommentThread'](_0x52d6eb)['remove']({'isFromAdapter':!0x0});for(const _0x103977 of _0x19b462){let _0x2d24bc=_0x4d53b2['getCommentThread'](_0x103977['commentThreadId']);const {commentThreadId:_0x5934c7,context:_0xaf59d2,attributes:_0x7ccea6,resolvedBy:_0x2715cf,resolvedAt:_0x2533df,unlinkedAt:_0x4d016c,deletedAt:_0x4d995e}=_0x103977;if(_0x4d995e)continue;_0x2d24bc||(_0x2d24bc=_0x4d53b2['addCommentThread']({'channelId':_0x249f8f,'threadId':_0x5934c7,'context':_0xaf59d2,'attributes':_0x7ccea6||{},'resolvedBy':_0x2715cf,'resolvedAt':_0x2533df,'unlinkedAt':_0x4d016c,'isFromAdapter':!0x0}));const _0x30ad96=new Set(Array['from'](_0x2d24bc['comments'],_0x1f8b3a=>_0x1f8b3a['id']));for(const _0x39c3b9 of _0x103977['comments'])_0x30ad96['delete'](_0x39c3b9['commentId']);for(const _0x5a222f of _0x30ad96)_0x2d24bc['getComment'](_0x5a222f)['remove']({'isFromAdapter':!0x0});for(const _0x11ce0d of _0x103977['comments']){const _0x5c4c84=_0x2d24bc['getComment'](_0x11ce0d['commentId']);_0x5c4c84?_0x5c4c84['content']!==_0x11ce0d['content']&&_0x5c4c84['update']({'content':_0x11ce0d['content'],'isFromAdapter':!0x0}):_0x2d24bc['addComment'](Object['assign'](at(_0x11ce0d),{'isFromAdapter':!0x0}));}}}_getService(_0x4d8358){if(!this['_services']['has'](_0x4d8358))throw new _0x5215b6('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4d8358});return this['_services']['get'](_0x4d8358);}async _fetchMissingUsersForThreads(_0x145f5b){const _0x4095c5=this['context']['plugins']['get'](_0x4c0308),{connection:_0x47933c}=this['context']['plugins']['get'](z),_0x75185e=new Set();for(const {resolvedBy:_0x1e6854,comments:_0xd7f85d}of _0x145f5b){_0x1e6854&&!_0x4095c5['getUser'](_0x1e6854)&&_0x75185e['add'](_0x1e6854);for(const {userId:_0x5b6451}of _0xd7f85d)_0x4095c5['getUser'](_0x5b6451)||_0x75185e['add'](_0x5b6451);}if(0x0===_0x75185e['size'])return;const _0x53db56=await _0x2b3046['getMany'](_0x47933c,Array['from'](_0x75185e));for(const _0x2737af of _0x53db56)_0x4095c5['getUser'](_0x2737af['id'])||_0x4095c5['addUser'](_0x2737af);}};async function rt(_0x139dd4){if('404'!==_0x139dd4['code'])throw _0x139dd4;}function ct(_0x2f3e9c){if((_0x26b37d=_0x2f3e9c)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x26b37d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x26b37d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x26b37d;throw _0x2f3e9c;}function at(_0x4b9279){return{'threadId':_0x4b9279['commentThreadId'],'commentId':_0x4b9279['commentId'],'content':_0x4b9279['content'],'createdAt':_0x4b9279['createdAt'],'authorId':_0x4b9279['userId'],'attributes':_0x4b9279['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x154ef0{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x52b3d3)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x5d1ba1,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x46fc1f){super(_0x46fc1f);const _0x3680d5=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x3680d5);}init(){const _0x182dbf=this['editor']['plugins']['get'](z),_0x4ee0b8=this['editor']['plugins']['get'](_0x5d1ba1);return _0x4ee0b8['adapter']={'getSuggestion':async _0x1f1fab=>{await this['_waitForServiceReady']();const _0x5c825f=await this['_trackChangesService']['get'](_0x1f1fab)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x5c825f]),_0x5c825f;},'addSuggestion':async({id:_0x4bdc5f,type:_0x462430,data:_0x531393,originalSuggestionId:_0x1ab762,attributes:_0x8362ba})=>{await this['_waitForServiceReady']();const _0x4d5eca={'id':_0x4bdc5f,'type':_0x462430,'data':_0x531393,'originalSuggestionId':_0x1ab762,'attributes':_0x8362ba},_0x287b80=await this['_trackChangesService']['add'](_0x4bdc5f,_0x462430,_0x531393,_0x1ab762,_0x8362ba)['catch'](_0x1d74b5=>{if(dt(_0x1d74b5))return new Promise(_0x2bb613=>{this['_bufferedRequests']['set'](_0x4bdc5f,{'resolve':_0x2bb613,'suggestionData':_0x4d5eca});});throw _0x1d74b5;});return this['_bufferedRequests']['delete'](_0x4bdc5f),_0x287b80;},'updateSuggestion':async(_0x5af76d,_0xf9776)=>{if(await this['_waitForServiceReady'](),'open'!==_0xf9776['state'])return this['_trackChangesService']['update'](_0x5af76d,_0xf9776)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x458ee8,_0x1ccbaf)=>{_0x4ee0b8['hasSuggestion'](_0x1ccbaf['id'])&&(_0x4ee0b8['getSuggestion'](_0x1ccbaf['id'])['attributes']=_0x1ccbaf['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x182dbf['connection']?.['state']&&(_0x182dbf['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x182dbf['connection'])['then'](_0x344ba3=>(_0x182dbf['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x344ba3)['then'](()=>{for(const _0x2bc57b of _0x344ba3){_0x4ee0b8['addSuggestionData'](_0x2bc57b)['_saved']=!0x0;}})));}async reconnect(){const _0x1bb4e3=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x277161}=this['editor']['plugins']['get'](z),_0x10528e=await this['_trackChangesService']['connect'](_0x277161);await this['_fetchMissingUsersForThreads'](_0x10528e);for(const {suggestionData:_0x2c4cfb,resolve:_0x533199}of this['_bufferedRequests']['values']()){let _0x427224=_0x10528e['find'](_0x1dde03=>_0x1dde03['id']===_0x2c4cfb['id']);_0x427224||(_0x427224=await this['_trackChangesService']['add'](_0x2c4cfb['id'],_0x2c4cfb['type'],_0x2c4cfb['data'],_0x2c4cfb['originalSuggestionId'])),_0x533199(_0x427224);}for(const _0x3498f0 of _0x10528e)_0x1bb4e3['hasSuggestion'](_0x3498f0['id'])||_0x1bb4e3['addSuggestionData'](_0x3498f0);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x47ffe8=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1deddd=>{_0x1deddd['off'](),_0x47ffe8();});});}async _fetchMissingUsersForThreads(_0x14ff2b){const _0x4d9e81=this['editor']['plugins']['get'](_0x4c0308),{connection:_0x38f11f}=this['editor']['plugins']['get'](z),_0xba9448=new Set();for(const {authorId:_0x595708}of _0x14ff2b)_0x4d9e81['getUser'](_0x595708)||_0xba9448['add'](_0x595708);if(0x0===_0xba9448['size'])return;const _0xeeebb5=await _0x2b3046['getMany'](_0x38f11f,Array['from'](_0xba9448));for(const _0x4265b1 of _0xeeebb5)_0x4d9e81['getUser'](_0x4265b1['id'])||_0x4d9e81['addUser'](_0x4265b1);}};function lt(_0x36b9da){if(dt(_0x36b9da))return new Promise(()=>{});throw _0x36b9da;}function dt(_0x2a8a3f){return _0x2a8a3f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2a8a3f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x154ef0{static get requires(){return[_0x363913,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x2ab80c=this['editor']['plugins']['get'](z),_0xb3e7b1=this['editor']['plugins']['get'](_0x1496d8),_0xaced13=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2ab80c,'change:state',(_0x2e7fd8,_0x4c9162,_0x1fa86d)=>{_0xb3e7b1['isThreadsLoadingPaused']='connected'!==_0x1fa86d;});}),this['listenTo'](_0x2ab80c,'change:state',(_0xa811b0,_0x43b47a,_0x21de11)=>{this['editor']['plugins']['get'](_0x276c38)['switchReadOnly']('connected'!==_0x21de11);}),_0xaced13['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x335b8e=this['editor']['plugins']['get'](ot),_0xf63131=this['editor']['config']['get']('collaboration.channelId');_0x335b8e['_services']['has'](_0xf63131)&&_0x335b8e['_terminateService'](_0xf63131),super['destroy']();}},ft=class extends _0x154ef0{static get requires(){return[ut,ht,_0x1099e3];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x154ef0{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x169a8e)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x286dd0,Y,_0x4c0308];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x43bbe4){super(_0x43bbe4);const _0x2d0057=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2d0057);}async init(){const _0x3dfea4=this['editor']['plugins']['get'](tt),_0x2c09b8=_0x3dfea4['serverHistory'],_0x5cca3e=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x2c09b8,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x3dfea4['sessionId']});const _0x435ee7=this['editor']['config']['get']('cloudServices.bundleVersion')||_0xafa472,_0x22c82a=await _0x4554c4['isBundleUploaded'](_0x5cca3e['connection'],_0x435ee7);this['editor']['plugins']['get'](_0x286dd0)['adapter']={'getRevision':async({revisionId:_0x1c7594})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1c7594)),'updateRevisions':async _0x1a302a=>{await this['_waitForServiceReady']();const _0x270bdf=this['_revisionTracker']['currentRevision'];if(_0x22c82a&&0x1===_0x1a302a['length']&&_0x1a302a[0x0]['id']===_0x270bdf['id'])return _0x1a302a;for(const _0x1cad50 of _0x1a302a)_0x1cad50['id']===_0x270bdf['id']&&(_0x1cad50['isEmptyCurrent']=_0x1cad50['fromVersion']===_0x1cad50['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1a302a,this['_lastRequestId'])['then'](_0x145820=>(this['_lastRequestId']=_0x145820,_0x1a302a))['catch'](_0x12c3ae=>{if(pt(_0x12c3ae)||'400'===_0x12c3ae['code']&&void 0x0!==_0x12c3ae['data']['wrongRequestId']){for(const _0xe7e041 of _0x1a302a)this['_revisionTracker']['repository']['getRevision'](_0xe7e041['id'])&&this['_revisionTracker']['_bufferUpdate'](_0xe7e041['id'],_0xe7e041,!0x1);if(pt(_0x12c3ae)&&'destroyed'!==this['editor']['state'])throw _0x12c3ae;return _0x1a302a;}throw _0x12c3ae;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3f6904,{revisionsData:_0x570eca,requestId:_0x2fcfdd})=>{Math['max'](..._0x570eca['map'](_0x142cf6=>_0x142cf6['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x570eca,_0x2fcfdd);}):this['_handleRevisionsUpdate'](_0x570eca,_0x2fcfdd);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x5cca3e['connection']?.['state']&&(_0x5cca3e['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x2bb572,requestId:_0x5a73ff}=await this['_revisionHistoryService']['connect'](_0x5cca3e['connection']);_0x5cca3e['addToReconnectionStack'](this),this['_lastRequestId']=_0x5a73ff,await this['_fetchMissingUsers'](_0x2bb572);for(const _0x2b3d08 of _0x2bb572)this['_revisionTracker']['addRevisionData'](_0x2b3d08);this['listenTo'](_0x3dfea4,'change:_isConnected',(_0x36dd6c,_0x376afa,_0x2fd55d)=>{_0x2fd55d&&(this['_oldOffset']=_0x3dfea4['_offset'],_0x36dd6c['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x299845=this['editor']['plugins']['get'](z),_0x5cabe8=this['editor']['plugins']['get'](tt),_0x5abcd1=async()=>{const _0x14b01a=this['_revisionTracker']['currentRevision'],_0x5334b7=_0x14b01a['id'],_0x8a0bb=_0x5334b7!==_0x5cabe8['sessionId'];if(_0x8a0bb){const _0x264b4b=_0x5cabe8['_offset']-this['_oldOffset'],_0x1ffc90=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x14b01a['toVersion']+_0x264b4b!==_0x1ffc90){const _0x5a2960=_0x14b01a['fromVersion']+_0x264b4b,_0x5226ce=this['editor']['plugins']['get'](_0x4c0308),_0x2cf7a7=this['_revisionTracker']['buildRevisionData']({'revision':_0x14b01a,'from':_0x5a2960,'to':_0x1ffc90});_0x2cf7a7['id']=_0x14b01a['id'];const _0x3c5456=_0x2cf7a7['authorsIds']['map'](_0x37451e=>_0x5226ce['getUser'](_0x37451e));_0x14b01a['_update']({..._0x2cf7a7,'authors':_0x3c5456},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x14b01a['id'],_0x2cf7a7,!0x0);}this['_revisionTracker']['_startingVersion']=_0x1ffc90,_0x14b01a['toVersion']!==_0x14b01a['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x5334b7)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x5334b7),this['_revisionTracker']['_createCurrentRevision'](_0x1ffc90);}const {revisions:_0x263bb6,requestId:_0x5a5b8c}=await this['_revisionHistoryService']['reconnect'](_0x299845['connection'],this['_lastRequestId']);_0x8a0bb&&_0x263bb6['length']>0x0?_0x5cabe8['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x263bb6),this['_handleRevisionsUpdate'](_0x263bb6,_0x5a5b8c),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5cabe8['_isConnected']?_0x5abcd1():new Promise((_0xd7579c,_0x347093)=>{_0x5cabe8['once']('change:_isConnected',()=>{_0x5abcd1()['then'](_0xd7579c)['catch'](_0x347093);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x10b3e4=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x20a755=>{_0x20a755['off'](),_0x10b3e4();});});}_getLatestVersionFromServerOperations(){const _0x258a01=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x1d6663 of _0x258a01)if('marker'!==_0x1d6663['type']||_0x1d6663['affectsData'])return _0x1d6663['baseVersion']+0x1;}_getLatestVersion(){const _0x1b4d5c=this['editor']['plugins']['get'](tt);return new Promise(_0x459a84=>{_0x1b4d5c['_isPendingUpdate']?_0x1b4d5c['once']('change:_isPendingUpdate',()=>{_0x459a84(this['_getLatestVersionFromServerOperations']());}):_0x459a84(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x37fc5e,_0x42af65){const _0x300fef=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x42af65;for(const _0x8a5813 of _0x37fc5e){const _0x4334e9=_0x300fef['getRevision'](_0x8a5813['id']);if(_0x4334e9){if((_0x8a5813['fromVersion']||_0x8a5813['toVersion'])&&(_0x8a5813['diffData']=null),_0x4334e9===this['_revisionTracker']['currentRevision']){const _0x276b3f=Math['max'](_0x4334e9['toVersion'],_0x8a5813['toVersion']),_0x2dccb7=Math['max'](_0x4334e9['fromVersion'],_0x8a5813['fromVersion']);let _0xb9c902;_0x4334e9['toVersion']===_0x8a5813['toVersion']&&_0x4334e9['fromVersion']===_0x8a5813['fromVersion']?(_0xb9c902=!0x0,this['_preventResendingRevisionData'](_0x8a5813)):_0x8a5813['toVersion']===_0x276b3f&&_0x8a5813['fromVersion']===_0x2dccb7?_0xb9c902=!0x1:(_0x4334e9['toVersion']===_0x276b3f&&_0x4334e9['fromVersion']===_0x2dccb7||this['_fixRevision']({'revision':_0x4334e9,'from':_0x2dccb7,'to':_0x276b3f}),_0xb9c902=!0x0),_0xb9c902&&(delete _0x8a5813['fromVersion'],delete _0x8a5813['toVersion'],delete _0x8a5813['diffData'],delete _0x8a5813['createdAt'],delete _0x8a5813['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x8a5813),this['_preventResendingRevisionData'](_0x8a5813);}else this['_revisionTracker']['addRevisionData'](_0x8a5813);}const _0x2ad972=_0x300fef['getRevisions']();_0x2ad972['reverse']();for(let _0x491684=0x0;_0x491684<_0x2ad972['length']-0x1;_0x491684++){const _0x5baf59=_0x2ad972[_0x491684],_0x4ab679=_0x2ad972[_0x491684+0x1];if(_0x5baf59['fromVersion']<_0x4ab679['toVersion']){const _0x139e7a=_0x4ab679['toVersion'],_0x54f1e7=Math['max'](_0x139e7a,_0x5baf59['toVersion']);this['_fixRevision']({'revision':_0x5baf59,'from':_0x139e7a,'to':_0x54f1e7});}}}['_fixRevision']({revision:_0x583209,from:_0x50601a,to:_0xce0158}={}){const _0x4ea567=this['editor']['plugins']['get'](_0x4c0308),_0x5e06f9=this['_revisionTracker']['buildRevisionData']({'revision':_0x583209,'from':_0x50601a,'to':_0xce0158});_0x5e06f9['authors']=_0x5e06f9['authorsIds']['map'](_0x2f2e54=>_0x4ea567['getUser'](_0x2f2e54)),_0x583209['_update'](_0x5e06f9);}_preventResendingRevisionData(_0x102877){const _0x1c472e={};_0x1c472e['id']=_0x102877['id'];for(const _0xb8ee97 of Object['keys'](_0x102877))'id'!==_0xb8ee97&&(_0x1c472e[_0xb8ee97]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x1c472e['id'],_0x1c472e,!0x0);}async _fetchMissingUsers(_0x5822cc){const _0x1ea0ab=this['editor']['plugins']['get'](_0x4c0308),{connection:_0x121792}=this['editor']['plugins']['get'](z),_0x29606d=new Set();for(const _0x1347c5 of _0x5822cc){for(const _0x584284 of _0x1347c5['authorsIds'])_0x5e50af(_0x584284);_0x1347c5['creatorId']&&_0x5e50af(_0x1347c5['creatorId']);}if(0x0===_0x29606d['size'])return;const _0x39ae94=await _0x2b3046['getMany'](_0x121792,Array['from'](_0x29606d));for(const _0x14e474 of _0x39ae94)_0x1ea0ab['getUser'](_0x14e474['id'])||_0x1ea0ab['addUser'](_0x14e474);function _0x5e50af(_0x1147e0){_0x1ea0ab['getUser'](_0x1147e0)||_0x29606d['add'](_0x1147e0);}}};function pt(_0x5a71c9){return _0x5a71c9['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5a71c9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5a71c9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x154ef0{static get requires(){return[_0x286dd0,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x2c1459{_collapseAt;constructor(_0x29730,_0x506ef7=0x6){super(_0x29730);const _0x4f6fee=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x506ef7,this['bind']('isHidden')['to'](this,'usersCount',_0x34f944=>_0x34f944<_0x506ef7),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4f6fee['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':_0x4f6fee['to']('usersCount',_0x5e0a7f=>'+'+(_0x5e0a7f-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x2c1459{items;keystrokes;constructor(_0x2faba4){super(_0x2faba4);const _0x4b1926=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5152c2(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4b1926['if']('hasPopup'),'aria-expanded':_0x4b1926['to']('isExpanded',_0x6321c6=>this['hasPopup']&&String(_0x6321c6)),'aria-label':_0x4b1926['to']('hasPopup',_0x92f47d=>X(_0x2faba4,_0x92f47d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4b1926['to']('hasPopup',_0x2bd951=>!!_0x2bd951&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4b1926['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4b1926['to'](_0x453452=>{const _0x5cd8af=_0x453452,_0x20c47e=document['querySelector']('.ck-presence-list__dropdown-list'),_0xb1b6d5=document['querySelector']('.ck-balloon-panel_with-arrow');_0x20c47e?.['contains'](_0x5cd8af['relatedTarget'])||_0xb1b6d5?.['contains'](_0x5cd8af['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x54eba8,_0x22e9da,_0x432834)=>{this['element']&&(_0x432834?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 _0x2c1459{counterView;inlineListView;constructor(_0x6e5a01,_0x4b335c=0x6){super(_0x6e5a01);const _0x1b8128=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x4b335c),this['inlineListView']=new vt(_0x6e5a01),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2958e2 of this['inlineListView']['items'])_0x2958e2['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',_0x1b8128['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x2c1459{listWrapperView;constructor(_0x483869,_0x942a9c){super(_0x483869);const _0x443818=this['bindTemplate'];this['listWrapperView']=new bt(_0x483869,_0x942a9c),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x483869,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x443818['to'](_0xb4deb9=>{const _0x26be47=_0xb4deb9,_0x39166d=document['querySelector']('.ck-presence-list__list'),_0x60a05e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x39166d?.['contains'](_0x26be47['relatedTarget'])||_0x60a05e?.['contains'](_0x26be47['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x587fe3{constructor(_0x478659,_0x10e5af){super(_0x478659);const _0x1f7942=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x10e5af?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1f7942['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1f7942['to']('role'),'aria-label':_0x1f7942['to']('ariaLabel'),'aria-labelledby':_0x1f7942['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x8fcf5d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x563fe7=this['element'];_0x563fe7&&(this['_isScrollable']=Math['max'](_0x563fe7['scrollHeight'],_0x563fe7['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x941e32{['userView'];constructor(_0x181efc,_0x51d099,_0x4f9f1d){super(_0x181efc);const _0x55af66=this['bindTemplate'];this['userView']=new _0x5e52fe(_0x181efc,_0x51d099);const _0x535359={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x51d099['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x51d099['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x51d099['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x51d099['color']['getColorVariable'](),'--ck-user-color-alpha':_0x51d099['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4f9f1d&&(_0x535359['tag']='button',_0x535359['on']={'click':_0x55af66['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x535359);}['focus'](){this['element']['focus']();}},It=class extends _0x2c1459{['userView'];['markerView'];constructor(_0x55e920,_0x4c706b,_0x3c67d9){super(_0x55e920);const _0x496be2=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5e52fe(_0x55e920,_0x4c706b),this['markerView']=new St(_0x55e920,_0x4c706b);const _0x297508=new _0x5d18b9(_0x55e920);_0x297508['template']['tag']='span',_0x297508['text']=_0x4c706b['name'];const _0xb40c3c={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x496be2['to']('isFocusable',_0x4387aa=>!!_0x4387aa&&0x0),'aria-labelledby':_0x297508['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x496be2['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x496be2['to']('hasTooltip',_0x4c9ba0=>!_0x4c9ba0),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x297508]};_0x3c67d9&&(_0xb40c3c['tag']='button',_0xb40c3c['on']={'click':_0x496be2['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xb40c3c);}},St=class extends _0x2c1459{constructor(_0xf1375e,_0x24149c){super(_0xf1375e),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x24149c['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x24149c['color']['getColorVariable'](),'--ck-user-color-alpha':_0x24149c['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x3aa93e{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1f4e9f){super(_0x1f4e9f),this['context']['config']['define']('presenceList',Tt);const _0x26f0ae=_0x1f4e9f['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x26f0ae)throw new _0x5215b6('presencelist-collapseat-invalid-format',this);if(_0x26f0ae<0x1)throw new _0x5215b6('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x7bbdee(),this['balloonPanelView']=new _0x46878c(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x332fe0 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x332fe0);this['listenTo'](this['_allConnectedUsers'],'add',(_0x55ddd3,_0x456346)=>{this['_handleUserAdd'](_0x456346);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xc5e85c,_0x474b)=>{this['_handleUserRemove'](_0x474b);});}_createView(){const _0x372c7e=this['context'],_0x415df8=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4fcb6b=this['balloonPanelView'];if(!_0x2e44e9(_0x372c7e['config']['get']('presenceList.container')))throw new _0x5215b6('presencelist-missing-container',this);return _0x415df8['counterView']['bind']('usersCount')['to'](this),_0x415df8['bind']('isCollapsed')['to'](this,'usersCount',_0x66b360=>{const {collapseAt:_0x23afcd}=_0x372c7e['config']['get']('presenceList'),_0x4b9aee=_0x66b360>=_0x23afcd;if(_0x4b9aee&&!_0x415df8['inlineListView']['items']['find'](_0x38761c=>_0x38761c instanceof wt)){const _0x133af4=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x133af4&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x415df8['inlineListView']['items']['add'](_0x415df8['counterView']);}return _0x4b9aee||this['hideDropdown'](),_0x4b9aee;}),_0x415df8['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x46dece=>{const _0x263f97=_0x372c7e['config']['get']('presenceList'),_0x1c2459=new It(_0x372c7e['locale'],_0x46dece,!!_0x263f97['onClick']);return _0x1c2459['bind']('hasTooltip')['to'](_0x415df8,'isCollapsed',_0x5b820d=>!_0x5b820d),_0x1c2459['bind']('isFocusable')['to'](_0x415df8,'isCollapsed',_0xe1a0e3=>!_0xe1a0e3),_0x263f97['onClick']&&this['listenTo'](_0x1c2459,'execute',()=>{this['view']['isCollapsed']||_0x263f97['onClick'](_0x46dece,_0x1c2459['element']);}),_0x1c2459;}),this['listenTo'](_0x415df8['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x415df8['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x415df8['inlineListView']['keystrokes']['set']('Enter',(_0x21d202,_0x2cb808)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2cb808());}),_0x415df8['render'](),_0x4fcb6b['render'](),_0x4de315({'emitter':_0x415df8,'activator':()=>_0x4fcb6b['isVisible'],'contextElements':[_0x4fcb6b['element'],_0x415df8['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x372c7e['config']['get']('presenceList.container')['appendChild'](_0x415df8['element']),this['_bodyCollection']=new _0x2c299b(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x415df8;}['_handleUserAdd'](_0xf0836){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xf0836['isMe'])return;const _0x21599d=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x21599d-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xbe1121=_0xf0836['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xf0836,_0xbe1121);}['_handleUserRemove'](_0x3f1dcb){this['usersCount']--;const {collapseAt:_0x5b120a}=this['context']['config']['get']('presenceList'),_0x5d7d8c=this['usersCount']>=_0x5b120a;if(this['currentDisplayedUsers']['get'](_0x3f1dcb['id']))this['currentDisplayedUsers']['remove'](_0x3f1dcb['id']);else{if(_0x5d7d8c&&this['currentDisplayedUsers']['length']+0x1===_0x5b120a-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x5d7d8c?0x1:0x0)<this['usersCount']){for(const _0x5799fe of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5799fe['id'])&&(this['currentDisplayedUsers']['add'](_0x5799fe,Math['min'](this['currentDisplayedUsers']['length']-(_0x5d7d8c?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x5d7d8c?0x1:0x0)===_0x5b120a-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x368d5d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x368d5d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1fb4cd}=this['presenceDropdownView'];_0x1fb4cd['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2f8f14=>{if(!_0x368d5d['displayMe']&&_0x2f8f14['isMe'])return null;const _0x1ea8b8=new kt(this['context']['locale'],_0x2f8f14,!!_0x368d5d['onClick']);return _0x368d5d['onClick']&&this['listenTo'](_0x1ea8b8,'execute',()=>{_0x368d5d['onClick'](_0x2f8f14,_0x1ea8b8['element']);}),_0x1ea8b8;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1fb4cd['focus'](),_0x1fb4cd['checkIfScrollable']();const _0x20fa9e=(_0x465618,_0x3d754d)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3d754d();};_0x1fb4cd['keystrokes']['set']('Esc',_0x20fa9e),_0x1fb4cd['keystrokes']['set']('Shift+Tab',_0x20fa9e),_0x1fb4cd['keystrokes']['set']('Tab',(_0x2d7c1c,_0x552136)=>{!function(_0x1d283a){const _0x56fbc3=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x49f1fe=>_0x49f1fe+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5c7243=[...document['body']['querySelectorAll'](_0x56fbc3)]['filter'](_0x4b1741=>_0x4b1741===document['activeElement']||_0x4b1741['offsetWidth']+_0x4b1741['offsetHeight']>0x0)['sort']((_0x9c50f6,_0x6cf0c4)=>(_0x9c50f6['tabIndex']||0x0)-(_0x6cf0c4['tabIndex']||0x0)),_0xac842b=_0x5c7243[(_0x5c7243['indexOf'](_0x1d283a)+0x1)%_0x5c7243['length']];_0xac842b&&_0xac842b['focus']();}(this['view']['element']),this['hideDropdown'](),_0x552136();}),_0x1fb4cd['focusTracker']['add'](this['view']['element']),_0x1fb4cd['focusTracker']['on']('change:isFocused',(_0x44bfc7,_0x98e7b7,_0x6cf919)=>{_0x6cf919||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 _0x3aa93e{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};
|