@ckeditor/ckeditor5-real-time-collaboration 48.4.0-alpha.5 → 48.4.0-alpha.7
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 _0x3ecfdb,ContextPlugin as _0xd1e979,PendingActions as _0x9003cc,Plugin as _0x2fd2b9}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0xacbaf9,Collection as _0x4a18c2,DomEmitterMixin as _0x33c29d,KeystrokeHandler as _0x243499,global as _0x5d7bba,uid as _0xeff1dd,version as _0xdf940c}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x2b1718,BodyCollection as _0x1f77d5,LabelView as _0x58d76d,ListItemView as _0x35ef59,ListView as _0x223b82,Notification as _0x4da3fc,View as _0x49d4c1,clickOutsideHandler as _0x2ca82e}from'@ckeditor/ckeditor5-ui';import{History as _0x5b6931,InsertOperation as _0x94d6d2,MarkerOperation as _0x202700,ModelLiveRange as _0x4a154e,NoOperation as _0x55cc7a,OperationFactory as _0x46062f,RootAttributeOperation as _0x9153cb,transformOperationSets as _0x234e40}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x575e47}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x3d162c,CommentsService as _0x258961,EditorService as _0x2be39b,RevisionHistoryService as _0x50f15e,TrackChangesService as _0x4991bf,User as _0x52b3e1,WEB_SOCKET_GATEWAY_STATES as _0x4ad97d,WebSocketGateway as _0x5a2ce4}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x11aedb,Users as _0x4a35a9}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x10ac7d}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x350040,TrackChangesEditing as _0x18f46a}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x18c06f,CommentsEditing as _0x394529,CommentsRepository as _0x39df5c}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x5811ff}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x25aa5f}from'es-toolkit/compat';var z=class WebSocketGateway extends _0xd1e979{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x5a2ce4)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x575e47,_0x4da3fc];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4049e0){super(_0x4049e0),this['set']('state',_0x4ad97d['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x33c29d())();}init(){const _0x8eae42=this['context'],_0x228bfd=_0x8eae42['plugins']['get'](_0x575e47),_0x5dee63=_0x8eae42['plugins']['get'](_0x4da3fc);if(!_0x228bfd['token'])throw new _0xacbaf9('websocketgateway-missing-token',this);if(!_0x228bfd['webSocketUrl'])throw new _0xacbaf9('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'](_0x228bfd['token'],_0x228bfd['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x131988=>{if(this['connection']=_0x131988,this['bind']('state')['to'](_0x131988,'state',this,'_isBrowserOffline',(_0x57997b,_0x8d072a)=>('connected'!==_0x57997b&&(this['_shouldPluginsReconnect']=!0x0),_0x8d072a||_0x57997b!==_0x4ad97d['CONNECTED']?_0x4ad97d['DISCONNECTED']:this['state']==_0x4ad97d['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4ad97d['CONNECTING']):_0x4ad97d['CONNECTED'])),this['connection']['on']('error',(_0x1db85b,_0x3930dd)=>{if('limitExceeded'!==_0x3930dd['code'])throw console['error'](_0x3930dd),new _0xacbaf9('cloudservices-init',null,{'originalError':_0x3930dd});_0x5dee63['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'});}),!_0x131988['me'])return new Promise(_0x92403f=>_0x131988['on']('change:me',_0x92403f));})['catch'](_0x107e2d=>{throw console['error'](_0x107e2d),new _0xacbaf9('cloudservices-init',null,{'originalError':_0x107e2d});});}addToReconnectionStack(_0x5c00ce){if('function'!=typeof _0x5c00ce['reconnect'])throw new _0xacbaf9('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5c00ce))throw new _0xacbaf9('websocketgateway-plugin-already-registered',this,{'name':_0x5c00ce['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5c00ce);}removeFromReconnectionStack(_0x1a7ea8){this['_reconnectionStack']['delete'](_0x1a7ea8);}isInReconnectionStack(_0x133acd){return this['_reconnectionStack']['has'](_0x133acd);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2f5de9=>_0x2f5de9['reconnect']())))['then'](()=>this['state']=_0x4ad97d['CONNECTED'])['catch'](_0x1e8360=>{throw console['error'](_0x1e8360),new _0xacbaf9('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4ad97d['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0xd1e979{['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,_0x4a35a9];}constructor(_0x413587){super(_0x413587),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4a18c2(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4a35a9);}init(){const _0x3a7ad5=this['context']['plugins']['get'](z);this['listenTo'](_0x3a7ad5,'change:state',(_0x327dd5,_0x19654d,_0x3d8d75)=>{if('connected'!==_0x3d8d75)this['channelSessions']['forEach'](_0x54e281=>_0x54e281['clear']()),this['channelConnectedUsers']['forEach'](_0x5be45e=>_0x5be45e['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x96858a,_0xea58dd]of this['_registeredSessions'])for(const _0x37b58d of _0xea58dd)this['_handleSessionAdd'](_0x96858a,_0x37b58d);}}),this['_createUser'](_0x3a7ad5['connection']['me'],!0x0);}register(_0xa7cdfa,_0x237b26){if(this['_registeredSessions']['has'](_0xa7cdfa))throw new _0xacbaf9('sessions-register-already-registered',null,{'channelId':_0xa7cdfa});this['_registeredSessions']['set'](_0xa7cdfa,_0x237b26),this['channelSessions']['set'](_0xa7cdfa,new _0x4a18c2()),this['channelConnectedUsers']['set'](_0xa7cdfa,new _0x4a18c2()),this['listenTo'](_0x237b26,'add',(_0x385d8e,_0x32a197)=>this['_handleSessionAdd'](_0xa7cdfa,_0x32a197)),this['listenTo'](_0x237b26,'remove',(_0x4494ee,_0x4a9f13)=>this['_handleSessionRemove'](_0xa7cdfa,_0x4a9f13));for(const _0x1008c1 of _0x237b26)this['_handleSessionAdd'](_0xa7cdfa,_0x1008c1);}unregister(_0xb179ca){if(!this['_registeredSessions']['has'](_0xb179ca))throw new _0xacbaf9('sessions-unregister-not-exist',null,{'channelId':_0xb179ca});const _0x5b051f=this['_registeredSessions']['get'](_0xb179ca);this['stopListening'](_0x5b051f);for(const _0x1a4039 of _0x5b051f)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0xb179ca,_0x1a4039);this['_registeredSessions']['delete'](_0xb179ca),this['channelSessions']['delete'](_0xb179ca),this['channelConnectedUsers']['delete'](_0xb179ca);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x3b993a){for(const _0x38f9f7 of this['channelSessions']['values']())for(const _0x7f9178 of _0x38f9f7)if(_0x7f9178['id']===_0x3b993a)return _0x7f9178['user'];}getUserSessions(_0x33b588,_0x4f2d18){const _0x5cd3ea=_0x4f2d18?[this['channelSessions']['get'](_0x4f2d18)]:this['channelSessions']['values'](),_0x39ab70=new Set();for(const _0x47c2ef of _0x5cd3ea)for(const _0x404ecb of _0x47c2ef)_0x404ecb['user']['id']===_0x33b588['id']&&_0x39ab70['add'](_0x404ecb['id']);return _0x39ab70;}getUserRole(_0x4d57a4){for(const _0x34dc34 of this['channelSessions']['values']())for(const _0x1bd0ad of _0x34dc34)if(_0x1bd0ad['user']===_0x4d57a4)return _0x1bd0ad['role'];}['_handleSessionAdd'](_0x1b1954,_0x62b2cd){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x5bfdae=_0x62b2cd['user'],_0x1bafe6=this['_users']['getUser'](_0x5bfdae['id'])||this['_createUser'](_0x5bfdae),_0x52035e=Object['assign']({},_0x62b2cd,{'user':_0x1bafe6});if(this['channelSessions']['get'](_0x1b1954)['add'](_0x52035e),!_0x5bfdae['hiddenInPresenceList']){const _0x38bbb0=this['channelConnectedUsers']['get'](_0x1b1954);_0x38bbb0['has'](_0x1bafe6['id'])||_0x38bbb0['add'](_0x1bafe6),this['allConnectedUsers']['has'](_0x1bafe6['id'])||_0x5bfdae['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1bafe6,_0x1bafe6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1b1954,{'channelId':_0x1b1954,'session':_0x52035e});}['_handleSessionRemove'](_0x2ccf05,_0x46e1ec){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1033a2=this['channelConnectedUsers']['get'](_0x2ccf05),_0x2ba8d2=_0x46e1ec['user'];_0x2ba8d2['id']&&(this['channelSessions']['get'](_0x2ccf05)['remove'](_0x46e1ec['id']),_0x1033a2['has'](_0x2ba8d2['id'])&&!this['getUserSessions'](_0x2ba8d2,_0x2ccf05)['size']&&_0x1033a2['remove'](_0x2ba8d2['id']),this['allConnectedUsers']['get'](_0x2ba8d2['id'])&&!this['getUserSessions'](_0x2ba8d2)['size']&&this['allConnectedUsers']['remove'](_0x2ba8d2['id']));}_createUser(_0xca74fb,_0xb3be23){const _0x3f2ea0=this['_users']['addUser'](_0xca74fb);return _0xb3be23&&this['_users']['defineMe'](_0xca74fb['id']),_0x3f2ea0['orderNumber']=this['_uniqueUsersCount']++,_0x3f2ea0;}},K=class extends _0x2fd2b9{_domEmitter=new(_0x33c29d())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1082d0=this['editor'],_0x46118f=_0x1082d0['plugins']['get'](Y);_0x1082d0['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4e2ba8,{writer:_0x16de7b})=>function(_0x12fefc,_0x33669c,_0x5aa190,_0x106446){const _0x13233c=_0x12fefc['markerName']['split'](':')[0x2],_0x5058a3=_0x5aa190['getUserBySessionId'](_0x13233c);if(!_0x5058a3||_0x13233c===_0x5aa190['mySessionId'])return;if(!_0x106446['model']['schema']['checkChild'](_0x12fefc['markerRange']['start'],'$text'))return;const _0x108b86={'class':'ck-user__marker\x20'+_0x5058a3['color']['getMarkerClass'](),'style':Q(_0x5058a3),'data-name':_0x5058a3['name'],'data-session-id':_0x13233c},_0x3c59fd=_0x106446['model']['markers']['get'](_0x12fefc['markerName'])['getStart'](),_0x42d8fe=_0x3c59fd['nodeAfter'],_0x145a0b=_0x106446['model']['schema'];if(_0x42d8fe&&_0x145a0b['isObject'](_0x42d8fe)&&_0x145a0b['isInline'](_0x42d8fe)&&!_0x106446['model']['markers']['get']('user:range:'+_0x13233c)['getRange']()['isCollapsed'])return;const _0x403927=_0x3c59fd['parent'];return _0x106446['model']['schema']['isLimit'](_0x403927)&&!_0x106446['model']['hasContent'](_0x403927)&&(_0x108b86['contenteditable']=!0x1),function(_0x5d9a10,_0x3d1fc8,_0xe8db58){const _0x377d25=_0x5d9a10['createUIElement']('span',_0x3d1fc8);return _0x5d9a10['setCustomProperty']('userPositionMarker',!0x0,_0x377d25),_0x377d25['render']=function(_0xb43db6){const _0x3cdbbc=this['toDomElement'](_0xb43db6),_0x5bde5b=document['createElement']('span');return _0x5bde5b['classList']['add']('ck-user__marker-tooltip'),_0x5bde5b['setAttribute']('contenteditable','false'),_0x5bde5b['setAttribute']('spellcheck','false'),_0x5bde5b['textContent']=_0xe8db58['name'],_0x3cdbbc['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5bde5b['outerHTML']+'',_0x3cdbbc['addEventListener']('mouseenter',()=>{_0x3cdbbc['classList']['add']('ck-user__marker_hovered');}),_0x3cdbbc['addEventListener']('mouseleave',()=>{_0x3cdbbc['classList']['remove']('ck-user__marker_hovered');}),_0x3cdbbc;},_0x377d25['isSimilar']=function(_0x205782){return!(!this['getCustomProperty']('userPositionMarker')||!_0x205782['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x205782['getAttribute']('data-session-id'));},_0x377d25;}(_0x33669c,_0x108b86,_0x5058a3);}(_0x4e2ba8,_0x16de7b,_0x46118f,_0x1082d0)}),_0x1082d0['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4c6b3e=>function(_0x4f4ada,_0x5b3989){const _0x46437c=_0x4f4ada['markerName']['split'](':')[0x2];if(_0x46437c===_0x5b3989['mySessionId'])return null;const _0x1db3c7=_0x5b3989['getUserBySessionId'](_0x46437c);return _0x1db3c7?{'id':_0x46437c,'classes':['ck-user__selection',_0x1db3c7['color']['getSelectionClass']()],'attributes':{'style':Q(_0x1db3c7),'data-session-id':_0x46437c},'priority':0x7d0+_0x1db3c7['orderNumber']}:{'id':_0x46437c,'classes':[]};}(_0x4c6b3e,_0x46118f)}),function(_0x294565){const _0x281831=_0x294565['model'],_0x4e19a5=new Map(),_0x56679d=_0x294565['plugins']['get'](Y);_0x281831['markers']['on']('update:user:range',(_0x131715,_0x3c44a2,_0xdd2347,_0x5e7bf1)=>{if(!_0x5e7bf1&&_0x4e19a5['get'](_0x3c44a2['name']))return _0x4e19a5['get'](_0x3c44a2['name'])['detach'](),void _0x4e19a5['delete'](_0x3c44a2['name']);const _0x751742=_0x3c44a2['name']['split'](':')[0x2];if(_0x751742===_0x56679d['mySessionId'])return;const _0x1170df='user:position:'+_0x751742;_0x281831['markers']['has'](_0x1170df)&&_0x294565['editing']['reconvertMarker'](_0x1170df),_0x3c44a2['on']('change:range',(_0x20e78b,_0x13ad2b,_0x5a8175)=>{if('$graveyard'!=_0x13ad2b['root']['rootName']&&'$graveyard'==_0x3c44a2['getRange']()['root']['rootName']&&!_0x4e19a5['has'](_0x3c44a2['name'])){const _0x4d76b3=_0x281831['schema']['getNearestSelectionRange'](_0x5a8175['deletionPosition']);if(_0x4d76b3){const _0x1f3191=_0x4a154e['fromRange'](_0x4d76b3);_0x4e19a5['set'](_0x3c44a2['name'],_0x1f3191),_0x1f3191['on']('change:range',(_0x535f4b,_0x3a8d23,_0x4d77f5)=>{if('$graveyard'==_0x1f3191['root']['rootName']){const _0x278eb5=_0x281831['schema']['getNearestSelectionRange'](_0x4d77f5['deletionPosition']);_0x278eb5?(_0x1f3191['start']=_0x278eb5['start'],_0x1f3191['end']=_0x278eb5['end']):(_0x4e19a5['delete'](_0x3c44a2['name']),_0x1f3191['detach']());}});}}});}),_0x281831['document']['on']('change',()=>{_0x4e19a5['size']>0x0&&_0x281831['enqueueChange']({'isUndoable':!0x1},_0x186fbe=>{for(const [_0x4c7de3,_0x61d198]of _0x4e19a5)'$graveyard'==_0x281831['markers']['get'](_0x4c7de3)['getRange']()['root']['rootName']&&(J(_0x4c7de3['split'](':')[0x2],_0x61d198['toRange'](),_0x281831,_0x186fbe),_0x61d198['detach']());_0x4e19a5['clear']();});});}(_0x1082d0),this['_domEmitter']['listenTo'](_0x5d7bba['document'],'keydown',(_0x1ec19f,{key:_0x5759bd})=>{'Escape'===_0x5759bd&&function(_0x11fe1f){_0x11fe1f['editing']['view']['change'](_0x2a3c9c=>{for(const _0xed53b6 of _0x11fe1f['model']['markers']){if(!_0xed53b6['name']['startsWith']('user:position'))continue;const _0x246b4e=_0x11fe1f['editing']['mapper']['markerNameToElements'](_0xed53b6['name']);if(_0x246b4e){for(const _0x3aa88e of _0x246b4e)_0x2a3c9c['removeClass']('ck-user__marker_hovered',_0x3aa88e);}}});}(_0x1082d0);},{'useCapture':!0x0});}afterInit(){const _0x40a11f=this['editor'],_0x330dca=_0x40a11f['commands']['get']('undo');_0x330dca&&_0x40a11f['model']['on']('applyOperation',(_0x1dddce,_0x1a2192)=>{const _0x4bb796=_0x1a2192[0x0];if(!_0x4bb796['isDocumentOperation'])return;if('marker'!=_0x4bb796['type']||!_0x4bb796['name']['startsWith']('user:'))return;const _0x193500=_0x4bb796['batch'];_0x330dca['_createdBatches']['has'](_0x193500)&&(_0x4bb796['newRange']=_0x4bb796['oldRange']?_0x40a11f['model']['createRange'](_0x4bb796['oldRange']['start'],_0x4bb796['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x469be4=this['editor'],_0x22406b=_0x469be4['model']['document'],_0x434960=_0x469be4['plugins']['get'](Y);_0x469be4['model']['enqueueChange']({'isUndoable':!0x1},_0x1e04b9=>{const _0x40499b='user:range:'+_0x434960['mySessionId'],_0x426a71='user:position:'+_0x434960['mySessionId'],_0x143b8d=_0x469be4['model']['markers']['has'](_0x40499b);_0x469be4['editing']['view']['hasDomSelection']?J(_0x434960['mySessionId'],_0x22406b['selection']['getFirstRange'](),_0x469be4['model'],_0x1e04b9):_0x143b8d&&(_0x1e04b9['removeMarker'](_0x40499b),_0x1e04b9['removeMarker'](_0x426a71));});}};function J(_0x2c0c38,_0x281bcf,_0x569f8e,_0x13e36b){const _0x4dea64='user:range:'+_0x2c0c38,_0x5a02c2='user:position:'+_0x2c0c38,_0x11ecf4=_0x281bcf['getContainedElement']();let _0x91472=_0x281bcf['start'];if(_0x11ecf4&&_0x11ecf4['is']('element','tableCell')){const _0x491274=function(_0x5464e7,_0x3aca5b){for(const _0xa343cc of _0x5464e7['getPositions']())if(_0x3aca5b['schema']['checkChild'](_0xa343cc,'$text'))return _0xa343cc;}(_0x281bcf,_0x569f8e);_0x491274&&(_0x91472=_0x491274,_0x281bcf=_0x13e36b['createRange'](_0x91472));}const _0x2077c4=_0x13e36b['createRange'](_0x91472);_0x569f8e['markers']['has'](_0x4dea64)?(_0x13e36b['updateMarker'](_0x4dea64,{'range':_0x281bcf}),_0x13e36b['updateMarker'](_0x5a02c2,{'range':_0x2077c4})):(_0x13e36b['addMarker'](_0x4dea64,{'range':_0x281bcf,'usingOperation':!0x0}),_0x13e36b['addMarker'](_0x5a02c2,{'range':_0x2077c4,'usingOperation':!0x0}));}function Q(_0x2fd29f){return'--ck-user-color:'+_0x2fd29f['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x2fd29f['color']['getColorAlphaVariable']()+';';}function X(_0x4963fc,_0x32c5ec,_0x5bbd27){const _0x49886c=_0x4963fc['t'],t=_0x4963fc['t'];switch(_0x32c5ec){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 _0x49886c({'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'},_0x5bbd27);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x2fd2b9{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x3d162c)());_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,_0x9003cc,_0x4a35a9,_0x4da3fc];}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 _0x4d8f09=this['serverHistory']['getOperations']();for(let _0x329a12=_0x4d8f09['length']-0x1;_0x329a12>=0x0;_0x329a12--){const _0x48e92c=_0x4d8f09[_0x329a12];if(!this['_disconnectionOperations']['has'](_0x48e92c))return _0x48e92c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1d2015){if(super(_0x1d2015),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5b6931(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xacbaf9('collaboration-missing-channelid',this);const _0x28c11d=_0x1d2015['config']['get']('cloudServices.bundleVersion')||_0xdf940c;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x28c11d,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x10ac7d(),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 _0x35f060=this['editor'],_0x5681b7=_0x35f060['plugins']['get'](_0x4a35a9),_0x2a5048=_0x35f060['plugins']['get'](z);this['listenTo'](_0x5681b7,'getOperationAuthor',(_0x3c9a85,_0x1a6908)=>{const _0x26c944=_0x1a6908[0x0];_0x26c944['_authorId']&&(_0x3c9a85['return']=_0x5681b7['getUser'](_0x26c944['_authorId']),_0x3c9a85['stop']()),null===_0x26c944['_authorId']&&(_0x3c9a85['return']=null,_0x3c9a85['stop']());},{'priority':'high'}),this['listenTo'](_0x35f060['model']['document']['selection'],'change:range',(_0x3e8abf,_0x54fa6a)=>{_0x54fa6a['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x35f060['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x35f060['model']['on']('applyOperation',(_0x339dcb,_0x2db595)=>{const _0x2f7b7d=_0x2db595[0x0];_0x2f7b7d['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2f7b7d),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2a5048,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x422ef5,_0x232095,_0x49e463)=>'connected'===_0x422ef5&&!_0x232095&&!_0x49e463),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x35f060['disableReadOnlyMode']('rtc-offline'):_0x35f060['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x35f060['disableReadOnlyMode']('rtc-offline'):_0x35f060['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x38633d=this['editor']['plugins']['get'](Y),_0x7591e1=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x38633d['unregister'](this['_channelId']);const _0x200249=await this['_service']['reconnect'](_0x7591e1['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x200249)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0xb701e=await this['_service']['getConnectedSessions']();_0x38633d['register'](this['_channelId'],_0xb701e),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x705ce1){if(function(_0x59a844){return'404'===_0x59a844['code'];}(_0x705ce1)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x25c2de){return'409'===_0x25c2de['code'];}(_0x705ce1)){const _0x35c404=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'](_0x35c404);}else{if(!(_0x705ce1 instanceof et))throw _0x705ce1;this['_handleReconnectionError']();}}}}destroy(){const _0x5a4354=this['editor']['plugins']['get'](z),_0x3a4afd=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3a4afd['channelSessions']['has'](this['_channelId'])&&_0x3a4afd['unregister'](this['_channelId']),_0x5a4354['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x12a1ee){if(this['sessionId']!==_0x12a1ee['sessionId']&&this['_lastSyncedOperationId']!==_0x12a1ee['lastOperationId'])throw new et();return this['sessionId']=_0x12a1ee['sessionId'],this['_handleServerResponse']([],{..._0x12a1ee,'wereChangesApplied':!0x1,'data':_0x12a1ee['data']},'reconnect');}async _connectService(_0x504512,_0x55b211=!0x1){const {connection:_0x370ac2}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x370ac2,this['_channelId'])['then'](_0x395f53=>this['_initSessionsHandling'](_0x395f53))['catch'](_0x43458f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x43458f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1cf07f,_0x516abf)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x516abf);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x369169=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x504512);this['_isPendingUpdate']=!0x0;const _0x32c2f3=await this['_service']['connect'](_0x370ac2,this['_compressOperations'](_0x504512),_0x369169);if(this['sessionId']=_0x32c2f3['sessionId'],_0x55b211){if(!_0x32c2f3['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x32c2f3['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x504512,_0x32c2f3,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x32c2f3,_0x504512);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x20357c=this['editor']['plugins']['get'](Y),_0x2497aa=this['editor']['plugins']['get'](K),_0x3329a9=_0x20357c['channelSessions']['get'](this['_channelId']);_0x3329a9&&_0x3329a9['length']>0x1?_0x2497aa['createUserMarkerOperations']():this['listenTo'](_0x20357c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x20357c['channelSessions']['get'](this['_channelId'])['length']&&_0x2497aa['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x5bf8f5,_0x46778e,_0x1d5bee,_0x2a6130){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x46778e){const _0x4fbe85=this['_decompressOperations'](_0x1d5bee,_0x2a6130);await this['_fetchMissingUsers'](_0x4fbe85),this['_handleExternalOperations'](_0x4fbe85,_0x46778e,_0x1d5bee['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x5ed43f}=this['editor'];let _0x5d4623;try{_0x5d4623=await this['_service']['getDocumentDetails']();}catch{const _0x1c7c48=X(_0x5ed43f,'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'](_0x1c7c48);}const _0x3f5342=_0x5d4623['currentDocumentSession']||_0x5d4623['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x3f5342['lastOperationId']){const _0x1b779b=X(_0x5ed43f,'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'](_0x1b779b);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x74820c=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x74820c['connection']||'connected'!==_0x74820c['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x1cc37b=this['editor']['plugins']['get'](Y);_0x1cc37b['channelSessions']['has'](this['_channelId'])&&_0x1cc37b['unregister'](this['_channelId']),_0x74820c['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x276316){const _0x2a0604=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2a0604,'sessionAdd:'+this['_channelId'],(_0x36f0b9,{session:_0x4f7d9a})=>{if(_0x4f7d9a['id']===_0x2a0604['mySessionId']){_0x36f0b9['off']();const _0x3fe2a5=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x404cc0=_0x4f7d9a['permissions'];_0x3fe2a5&&_0x3fe2a5['isEnabled']&&(_0x404cc0=_0x404cc0['filter'](_0x11ab64=>'document:write'!==_0x11ab64)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x404cc0,this['_channelId']);}}),_0x2a0604['register'](this['_channelId'],_0x276316);}_initThrowingOnDataSet(){const _0x3b8404=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3d6eaa)=>{if(!_0x3d6eaa[_0x3d6eaa['length']-0x1]['suppressErrorInCollaboration'])throw new _0xacbaf9('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3b8404['apply'](this['editor']['data'],_0x3d6eaa);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x463377,[_0x49f21c])=>{if(this['_document']['version'])throw new _0xacbaf9('realtimecollaborationclient-init-document-already-initialized',this);_0x463377['stop'](),this['_setPendingAction']();const _0xb22e6f=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x2c4014])=>!_0x2c4014['lazyLoad'])['map'](([_0x11c0e1,_0x5b17f9])=>[_0x11c0e1,_0x5b17f9['modelAttributes']||{}])),_0x10ad76=this['_getOperationsFromInitData'](_0x49f21c,_0xb22e6f);0x0==_0x10ad76['length']&&_0x10ad76['push'](new _0x55cc7a(0x0)),_0x463377['return']=this['_connectService'](_0x10ad76)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x115162=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x115162))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xfa363,[_0x32e613,_0x1db377])=>{_0xfa363['stop']();const _0x55582f=this['editor']['model']['document']['getRoot'](_0x32e613);if(!this['_knownRootNames']['has'](_0x32e613)){const _0x400745=_0x1db377&&_0x1db377['data']?_0x1db377['data']:'',_0x413a42=_0x1db377&&_0x1db377['attributes']?_0x1db377['attributes']:{};await this['_loadRoot'](_0x32e613,_0x400745,_0x413a42);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x55582f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x55582f);});},{'priority':'high'});}async _fetchMissingUsers(_0x14b0e8){const _0x9f85c6=this['editor']['plugins']['get'](_0x4a35a9),{connection:_0x552729}=this['editor']['plugins']['get'](z),_0x248216=new Set();for(const _0x56f31b of _0x14b0e8){const _0x406267=_0x56f31b['_authorId'];_0x406267&&!_0x9f85c6['getUser'](_0x406267)&&_0x248216['add'](_0x406267);}if(0x0===_0x248216['size'])return;const _0x712672=await _0x52b3e1['getMany'](_0x552729,Array['from'](_0x248216));for(const _0x1b7c32 of _0x712672)_0x9f85c6['getUser'](_0x1b7c32['id'])||_0x9f85c6['addUser'](_0x1b7c32);}_getOperationsFromInitData(_0x1337c4,_0x315262={}){const _0x3c8d9f=this['editor']['model'],_0x5b547f=[];let _0x249c67=0x0;const _0x107595='string'==typeof _0x1337c4?{'main':_0x1337c4}:_0x1337c4;for(const _0x20192d of Object['keys'](_0x107595)){if(!this['_document']['roots']['has'](_0x20192d))throw new _0xacbaf9('realtimecollaborationclient-init-non-existent-root',this);const _0x26e5a3=this['_document']['getRoot'](_0x20192d),_0x4211ab=this['editor']['data']['parse'](_0x107595[_0x20192d],_0x26e5a3),_0x5bead2=new _0x94d6d2(_0x3c8d9f['createPositionAt'](_0x26e5a3,0x0),_0x4211ab,_0x249c67++);_0x5b547f['push'](_0x5bead2);for(const [_0x501078,_0x46786c]of _0x4211ab['markers']){const _0xdc9476=new _0x202700(_0x501078,null,_0x3c8d9f['createRange'](_0x3c8d9f['createPositionFromPath'](_0x26e5a3,_0x46786c['start']['path']['slice']()),_0x3c8d9f['createPositionFromPath'](_0x26e5a3,_0x46786c['end']['path']['slice']())),_0x3c8d9f['markers'],!0x0,_0x249c67++);_0x5b547f['push'](_0xdc9476);}}if(_0x315262)for(const [_0x503765,_0x5e213b]of Object['entries'](_0x315262)){const _0x3f2b18=_0x3c8d9f['document']['getRoot'](_0x503765);if(!_0x3f2b18)throw new _0xacbaf9('multi-root-editor-root-attributes-no-root',null);for(const [_0x2c9686,_0x192ca5]of Object['entries'](_0x5e213b))if(null!==_0x192ca5){const _0x51139a=new _0x9153cb(_0x3f2b18,_0x2c9686,null,_0x192ca5,_0x249c67++);_0x5b547f['push'](_0x51139a);}}return _0x5b547f;}async _loadRoot(_0x5d33aa,_0x467f6a,_0x5b90ec){this['_getOperationsFromInitData']({[_0x5d33aa]:_0x467f6a},{[_0x5d33aa]:_0x5b90ec})['forEach']((_0x49b95c,_0x3d44e2)=>{_0x49b95c['baseVersion']=this['_document']['version']+_0x3d44e2,_0x49b95c['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x49b95c);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x305716,_0x130198){let _0x638f93;this['_offset']=_0x305716['offset'];const _0x54301e=_0x305716['wereChangesApplied']&&!_0x305716['initData'],_0x56d777=_0x54301e?0x0:_0x305716['data']['baseVersion'];if(_0x130198['forEach'](_0x1d25d9=>{_0x1d25d9['_isInit']=!0x0,_0x1d25d9['createdAt']=_0x305716['sessionCreatedAt'],_0x1d25d9['_authorId']=null;}),_0x54301e)_0x638f93=_0x130198,this['_applyOperationsSet'](_0x638f93,_0x54301e);else{if(_0x305716['initData']){const _0x24918b=this['_getOperationsFromInitData'](_0x305716['initData']);this['_document']['history']['version']=-_0x24918b['length'],_0x24918b['forEach'](_0x14bd94=>{_0x14bd94['baseVersion']-=_0x24918b['length'],_0x14bd94['createdAt']=_0x305716['sessionCreatedAt'],_0x14bd94['_isInit']=!0x0,_0x14bd94['_authorId']=null;}),this['_applyOperationsSet'](_0x24918b,!0x0),this['serverHistory']['version']=-_0x24918b['length']+this['_offset'],this['_updateServerHistory'](_0x24918b);}this['_document']['history']['version']=_0x56d777,_0x638f93=this['_decompressOperations'](_0x305716['data'],_0x305716['metadata']),await this['_fetchMissingUsers'](_0x638f93),this['_applyOperationsSet'](_0x638f93,_0x54301e);}_0x305716['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x638f93,_0x305716['lastOperationId']),this['_lastSyncedOperationId']=_0x305716['lastOperationId']),this['serverHistory']['version']=_0x56d777+this['_offset'],this['_updateServerHistory'](_0x638f93),_0x130198['filter'](_0x2aec30=>{const _0x316030=this['_getAffectedRoot'](_0x2aec30);return _0x316030&&!this['_knownRootNames']['has'](_0x316030);})['forEach']((_0x28f806,_0x136be5)=>{_0x28f806['baseVersion']=this['_document']['version']+_0x136be5,this['_saveOperationInBuffer'](_0x28f806);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x10cd8d,_0x2ddf31){const _0x4d6468=_0x2ddf31&&_0x2ddf31['message'];if(_0x4d6468&&_0x4d6468['startsWith']('realtimecollaborationclient'))throw _0x2ddf31;const _0x2a89d3=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2a89d3['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xacbaf9(_0x10cd8d,this['editor'],_0x4d6468?{'originalError':_0x4d6468}:void 0x0);}_saveOperationInBuffer(_0x29ca01){this['_knownOperations']['has'](_0x29ca01)||(this['_knownOperations']['add'](_0x29ca01),this['_bufferedOperations']['push'](_0x29ca01),this['_pendingAction']||'marker'==_0x29ca01['type']&&!_0x29ca01['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x23f3e2=!0x1){!_0x23f3e2&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1b9805=>{_0x1b9805&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x29bf25=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1d7fb0){return _0x1d7fb0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1d7fb0['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1d7fb0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x29bf25)||this['_crash'](_0x29bf25['message'],_0x29bf25);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x503de9=>{this['on']('change:_isPendingUpdate',()=>{_0x503de9();});});}async _sendBufferedOperations(){const _0x5b5869=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x5b5869['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x43e6d1=[...this['_bufferedOperations']];for(const _0x51e882 of _0x43e6d1)_0x51e882['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x51e882);const _0x660bf1=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x43e6d1),_0xb52c6c=Z++,_0x5d3e5e=this['_compressOperations'](_0x43e6d1),_0x32bfb0=await this['_service']['sendOperations'](_0x5d3e5e,_0x5d3e5e['baseVersion'],_0x660bf1);try{return await this['_handleServerResponse'](_0x43e6d1,_0x32bfb0,_0xb52c6c);}catch(_0x3b345b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3b345b);}}async['_handleServerResponse'](_0x544fbe,_0x3d8176,_0xf2e9de){if('error'in _0x3d8176)throw _0x3d8176['error'];let _0x735506;if(_0x3d8176['wereChangesApplied']){_0x3d8176['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3d8176['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x30311a=>!_0x544fbe['includes'](_0x30311a));for(const _0x302491 of _0x544fbe)_0x302491['createdAt']='lastOperationAcceptedAt'in _0x3d8176&&_0x3d8176['lastOperationAcceptedAt']||void 0x0;st(_0x544fbe,_0x3d8176['version']-_0x544fbe['length']),this['_updateServerHistory'](_0x544fbe);const _0x3df19f=_0x544fbe['filter'](_0x326813=>{if(!_0x326813['_isInit'])return!0x1;const _0x4fc0df=this['_getAffectedRoot'](_0x326813);return _0x4fc0df&&!this['_knownRootNames']['has'](_0x4fc0df);});st(_0x3df19f,this['_document']['version']),this['_applyOperationsSet'](_0x3df19f),_0x735506=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2311d6=this['_decompressOperations'](_0x3d8176['data'],_0x3d8176['metadata'])['filter'](_0x540631=>_0x540631['baseVersion']>=this['_lastServerVersion']);_0x2311d6['forEach'](_0x3e96a9=>this['_addKnownRoot'](_0x3e96a9)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3f901f=>!_0x3f901f['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3f901f))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2311d6),_0x735506=this['_handleExternalOperations'](_0x2311d6,_0x3d8176['version'],_0x3d8176['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x735506?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x5def37,_0x1b8875,_0x552624){try{const _0x31e7df={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x568357,operationsB:_0x33e552,originalOperations:_0x493f64}=_0x234e40(_0x5def37,this['_bufferedOperations'],_0x31e7df);st(_0x568357,this['_document']['version']),st(_0x33e552,_0x1b8875);for(const _0x183f6b of _0x568357){const _0x3bbc58=_0x493f64['get'](_0x183f6b);_0x3bbc58?(_0x183f6b['_authorId']=_0x3bbc58['_authorId'],'noop'!==_0x183f6b['type']&&(_0x183f6b['_aiSource']=_0x3bbc58['_aiSource'])):_0x183f6b['_authorId']=null;}for(const _0xa479d of _0x33e552)'noop'!==_0xa479d['type']&&(_0xa479d['_aiSource']=_0x493f64['get'](_0xa479d)?.['_aiSource']);_0x552624&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5def37,_0x552624),this['_lastSyncedOperationId']=_0x552624),this['_bufferedOperations']=[..._0x33e552],this['_applyOperationsSet'](_0x568357),this['_updateServerHistory'](_0x5def37);}catch(_0x1f8161){return console['error'](_0x1f8161),!0x1;}return!0x0;}_applyOperationsSet(_0x383971,_0x5afb32=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0xba46ab=>{for(const _0x3fafc3 of _0x383971)this['_knownOperations']['add'](_0x3fafc3),this['_addKnownRoot'](_0x3fafc3),_0xba46ab['batch']['addOperation'](_0x3fafc3),this['editor']['model']['applyOperation'](_0x3fafc3);});}_addKnownRoot(_0x2d0654){const _0x437ef5=this['_getAffectedRoot'](_0x2d0654);_0x437ef5&&this['_knownRootNames']['add'](_0x437ef5);}_getAffectedRoot(_0xe45ac2){let _0x64883c,_0x3d7da4;switch(_0xe45ac2['type']){case'insert':_0x64883c=_0xe45ac2['position']['root'];break;case'marker':if(_0x3d7da4=_0xe45ac2['newRange'],!_0x3d7da4)return null;_0x64883c=_0x3d7da4['root'];break;case'addRootAttribute':_0x64883c=_0xe45ac2['root'];break;case'addRoot':_0x64883c=_0xe45ac2['affectedSelectable'];break;case'move':_0x64883c=_0xe45ac2['targetPosition']['root'];break;default:return null;}return _0x64883c['rootName'];}_updateServerHistory(_0x1f6a72){_0x1f6a72['forEach'](_0x2adcb7=>{const _0x439be8=_0x2adcb7['clone']();_0x439be8['_authorId']=_0x2adcb7['_authorId'],_0x439be8['_isInit']=!!_0x2adcb7['_isInit'],_0x439be8['_aiSource']=_0x2adcb7['_aiSource'],_0x439be8['createdAt']=_0x2adcb7['createdAt'],_0x439be8['baseVersion']+=this['_offset'],_0x2adcb7['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x439be8),this['serverHistory']['addOperation'](_0x439be8);});}_handleReconnectionError(_0x7b752b){const _0x3e262d=this['editor']['plugins']['get']('Notification'),_0x1105b3=this['editor']['locale'];_0x7b752b||(_0x7b752b=X(_0x1105b3,'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.')),_0x3e262d['showWarning'](_0x7b752b,{'title':X(_0x1105b3,'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'](_0x9003cc)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x9003cc)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x1dae3c){const _0x4eaf25=_0x1dae3c['map'](_0x4f21c7=>_0x4f21c7['toJSON']());return this['_compressor']['compress'](_0x4eaf25);}_decompressOperations(_0x39fb5b,_0x9a8284){return this['_compressor']['decompress'](_0x39fb5b)['map']((_0x2bfcf6,_0x45a29e)=>{const _0x5aa8c6='init'==_0x9a8284[_0x45a29e]['type'];if('InsertOperation'==_0x2bfcf6['__className']){const _0x5dde67=_0x2bfcf6['position']['root'];!this['_document']['getRoot'](_0x5dde67)&&(this['_document']['createRoot']('$unknown',_0x5dde67)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2bfcf6['__className']){const _0x2d03ca=this['_document']['getRoot'](_0x2bfcf6['rootName']);_0x2d03ca&&'$unknown'==_0x2d03ca['name']&&_0x2bfcf6['elementName']!=_0x2d03ca['name']&&(_0x2d03ca['name']=_0x2bfcf6['elementName']);}}const _0x990da=_0x46062f['fromJSON'](_0x2bfcf6,this['_document']);return _0x990da['wasUndone']=_0x2bfcf6['wasUndone'],_0x990da['_isInit']=_0x5aa8c6,_0x990da['_authorId']=_0x5aa8c6?null:_0x9a8284[_0x45a29e]['userId'],_0x990da['_isDisconnection']='cs:removeUser'===_0x9a8284[_0x45a29e]['type'],_0x990da['_aiSource']=_0x2bfcf6['_aiSource']||void 0x0,_0x990da['createdAt']=_0x9a8284[_0x45a29e]['createdAt'],_0x990da;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x562686=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x562686&&_0x562686['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x1bb6eb,_0x312ebc){for(const _0x207668 of _0x1bb6eb)_0x207668['baseVersion']=_0x312ebc++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x5f156d){this['_ignoredOperations']=_0x5f156d,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x512cf6){let _0x3eb7b2=_0x512cf6['length'];for(;_0x3eb7b2--;){const _0x40fcbd=_0x512cf6[_0x3eb7b2];if(!this['_ignoredOperations']['has'](_0x40fcbd)){if(!this['_operationToId']['has'](_0x40fcbd)){const _0x416120=_0xeff1dd()['slice'](0x1,0x12);this['_operationToId']['set'](_0x40fcbd,_0x416120);}return this['_operationToId']['get'](_0x40fcbd);}}}setIdForTheLastOperation(_0x188c6d,_0x4e48a2){if(!_0x4e48a2)return;let _0xc74e2d=_0x188c6d['length'];for(;_0xc74e2d--;){const _0x2a6e79=_0x188c6d[_0xc74e2d];this['_ignoredOperations']['has'](_0x2a6e79)||this['_operationToId']['set'](_0x2a6e79,_0x4e48a2);}}},nt=class extends _0x2fd2b9{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0xd1e979{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x258961)());['_services'];static get requires(){return[z,_0x39df5c,Y,_0x4a35a9];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x518a44){super(_0x518a44),this['_services']=new Map();}async init(){const _0x275188=this['context'],_0x57aab1=_0x275188['plugins']['get'](_0x39df5c);if(_0x275188['plugins']['get'](z)['addToReconnectionStack'](this),_0x57aab1['adapter']={'addCommentThread':async({channelId:_0x3b53e2,threadId:_0x960512,comments:_0x3a1ba3,resolvedAt:_0x1f65a2,resolvedBy:_0xf1a2ab,context:_0x1770f0,attributes:_0x11de29})=>{const _0x50f2f2=await this['_getService'](_0x3b53e2)['addCommentThread']({'commentThreadId':_0x960512,'comments':_0x3a1ba3['map'](_0x57b8b0=>function(_0x5e2b1a,_0x2a31fa,_0x1138a3){return{'commentThreadId':_0x1138a3,'commentId':_0x5e2b1a['commentId'],'userId':_0x5e2b1a['authorId'],'content':_0x5e2b1a['content'],'documentId':_0x2a31fa,'createdAt':_0x5e2b1a['createdAt'],'attributes':_0x5e2b1a['attributes']||{}};}(_0x57b8b0,_0x3b53e2,_0x960512)),'resolvedAt':_0x1f65a2,'resolvedBy':_0xf1a2ab,'context':_0x1770f0,'attributes':_0x11de29})['catch'](ct);return{'threadId':_0x50f2f2['commentThreadId'],'comments':_0x50f2f2['comments']};},'getCommentThread':async({channelId:_0x32ea79,threadId:_0x49b82e})=>{const _0x16d6c3=await this['_getService'](_0x32ea79)['getCommentThread'](_0x49b82e)['catch'](rt)['catch'](ct);return _0x16d6c3?_0x16d6c3['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x16d6c3]),{'threadId':_0x16d6c3['commentThreadId'],'comments':_0x16d6c3['comments']['map'](at),'context':_0x16d6c3['context'],'resolvedAt':_0x16d6c3['resolvedAt'],'resolvedBy':_0x16d6c3['resolvedBy'],'attributes':_0x16d6c3['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x157330,threadId:_0x2c2945,context:_0x5be877,unlinkedAt:_0x5c10cf,attributes:_0x49878d})=>this['_getService'](_0x157330)['updateCommentThread']({'commentThreadId':_0x2c2945,'context':_0x5be877,'attributes':_0x49878d,'unlinkedAt':_0x5c10cf})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x193729,threadId:_0x317292})=>{const _0x5b2e5f=await this['_getService'](_0x193729)['resolveCommentThread'](_0x317292)['catch'](rt)['catch'](ct);return{'threadId':_0x5b2e5f['commentThreadId'],'resolvedAt':_0x5b2e5f['resolvedAt'],'resolvedBy':_0x5b2e5f['resolvedBy']};},'reopenCommentThread':async({channelId:_0x41feb5,threadId:_0x8a6c8b})=>this['_getService'](_0x41feb5)['reopenCommentThread'](_0x8a6c8b)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0xb30ee9,threadId:_0x107a02})=>this['_getService'](_0xb30ee9)['removeCommentThread'](_0x107a02)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x530718,threadId:_0x1fccba,commentId:_0x5063eb,content:_0x581097,attributes:_0x184ab7})=>this['_getService'](_0x530718)['addComment'](_0x1fccba,_0x5063eb,_0x581097,_0x184ab7)['catch'](ct),'updateComment':({channelId:_0x126c71,threadId:_0x4462b3,commentId:_0x4a81a0,content:_0x16f87a,attributes:_0x3d65ca})=>this['_getService'](_0x126c71)['updateComment'](_0x4462b3,_0x4a81a0,_0x16f87a,_0x3d65ca)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x4f2d2d,threadId:_0xe9ed39,commentId:_0xf3c001})=>this['_getService'](_0x4f2d2d)['removeComment'](_0xe9ed39,_0xf3c001)['catch'](rt)['catch'](ct)},_0x275188 instanceof _0x3ecfdb){const _0x3ff763=_0x275188['config']['get']('collaboration.channelId'),_0x24d4c6=_0x275188['plugins']['get'](Y);await this['_setUpService'](_0x3ff763);const _0x2dce13=await this['_services']['get'](_0x3ff763)['getConnectedSessions']();this['listenTo'](_0x24d4c6,'sessionAdd:'+_0x3ff763,(_0x1228f0,{session:_0x1c4c46})=>{_0x1c4c46['id']===_0x24d4c6['mySessionId']&&(_0x1228f0['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1c4c46['permissions'],_0x3ff763));}),_0x24d4c6['register'](_0x3ff763,_0x2dce13);}}async _setUpService(_0x893c9){if(this['_services']['has'](_0x893c9))throw new _0xacbaf9('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x893c9});const _0x4bf7f5=this['context']['plugins']['get'](_0x39df5c),_0x4d45a6=new CloudServicesCommentsAdapter['CommentsService'](_0x893c9);this['_services']['set'](_0x893c9,_0x4d45a6),this['listenTo'](_0x4d45a6,'commentThreadAdded',(_0x48869d,_0x5c4ea0)=>{const {commentThreadId:_0x2c73e9,documentId:_0x31b0a3,context:_0xc66e73,attributes:_0x38ce59,resolvedAt:_0xd0b9f9,resolvedBy:_0xa1e8df,comments:_0x294409}=_0x5c4ea0;_0x4bf7f5['getCommentThread'](_0x2c73e9)||_0x4bf7f5['addCommentThread']({'threadId':_0x2c73e9,'channelId':_0x31b0a3,'comments':_0x294409?_0x294409['map'](at):[],'context':_0xc66e73,'attributes':_0x38ce59,'resolvedAt':_0xd0b9f9,'resolvedBy':_0xa1e8df,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentThreadUpdated',(_0x3ca7bd,{commentThreadId:_0xf03458,documentId:_0x4c6e07,context:_0x36f200,unlinkedAt:_0x3e222f,attributes:_0x42b044})=>{_0x4bf7f5['getCommentThread'](_0xf03458)&&_0x4bf7f5['updateCommentThread']({'threadId':_0xf03458,'channelId':_0x4c6e07,'context':_0x36f200,'unlinkedAt':_0x3e222f,'attributes':_0x42b044,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentThreadResolved',(_0xa019bd,{commentThreadId:_0x453759,resolvedBy:_0x3b0b5c,resolvedAt:_0x2a3d95})=>{const _0x19b09c=_0x4bf7f5['getCommentThread'](_0x453759);_0x19b09c&&_0x19b09c['resolve']({'resolvedBy':_0x3b0b5c,'resolvedAt':_0x2a3d95,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentThreadReopened',(_0x211d0b,{commentThreadId:_0x4f55ed})=>{const _0x22af0a=_0x4bf7f5['getCommentThread'](_0x4f55ed);_0x22af0a&&_0x22af0a['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentThreadRemoved',(_0x218ed8,{commentThreadId:_0x4115a3})=>{const _0x37580f=_0x4bf7f5['getCommentThread'](_0x4115a3);_0x37580f&&_0x37580f['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentAdded',(_0x2f3475,_0x44995c)=>{const _0x467995=_0x44995c['commentThreadId'],_0x3b5407=_0x4bf7f5['getCommentThread'](_0x467995);_0x3b5407&&_0x3b5407['addComment']({...at(_0x44995c),'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentUpdated',(_0x1cb430,{commentThreadId:_0x48cc04,commentId:_0x5656a5,content:_0x20d241,attributes:_0x2e5193})=>{const _0x589e3a=_0x4bf7f5['getCommentThread'](_0x48cc04);if(_0x589e3a){const _0x429a09=_0x589e3a['getComment'](_0x5656a5);_0x429a09&&_0x429a09['update']({'content':_0x20d241,'attributes':_0x2e5193,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4d45a6,'commentRemoved',(_0x2ee09f,{commentThreadId:_0x3b16ac,commentId:_0x2668a3})=>{const _0x54b2ef=_0x4bf7f5['getCommentThread'](_0x3b16ac);if(_0x54b2ef){const _0x28bbb9=_0x54b2ef['getComment'](_0x2668a3);_0x28bbb9&&_0x28bbb9['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x4d45a6,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x893c9),this['stopListening'](_0x4d45a6));}),await this['_connectService'](_0x893c9);}destroy(){if(this['context']instanceof _0x3ecfdb){const _0x3ab25e=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x3ab25e)&&this['_terminateService'](_0x3ab25e);}}_terminateService(_0x59c8a4){if(!this['_services']['has'](_0x59c8a4))throw new _0xacbaf9('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x59c8a4});this['_getService'](_0x59c8a4)['disconnect'](),this['_services']['delete'](_0x59c8a4);}async reconnect(){for(const _0x4daba6 of this['_services']['keys']())await this['_connectService'](_0x4daba6);if(this['context']instanceof _0x3ecfdb){const _0x42ded7=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x42ded7)){const _0x545af5=this['context']['plugins']['get'](Y);_0x545af5['unregister'](_0x42ded7);const _0x289e01=await this['_services']['get'](_0x42ded7)['getConnectedSessions']();_0x545af5['register'](_0x42ded7,_0x289e01);}}}async _connectService(_0x571332){const {connection:_0x232ef7}=this['context']['plugins']['get'](z),_0x55a01d=this['context']['plugins']['get'](_0x39df5c),_0x525433=await this['_services']['get'](_0x571332)['connect'](_0x232ef7);await this['_fetchMissingUsersForThreads'](_0x525433);const _0x199e2a=new Set(Array['from'](_0x55a01d['getCommentThreads']({'channelId':_0x571332}),_0x5b8ee0=>_0x5b8ee0['id']));for(const _0x56ced7 of _0x525433)_0x56ced7['deletedAt']||_0x199e2a['delete'](_0x56ced7['commentThreadId']);for(const _0x3c0829 of _0x199e2a)_0x55a01d['getCommentThread'](_0x3c0829)['remove']({'isFromAdapter':!0x0});for(const _0x44b6f1 of _0x525433){let _0x13709a=_0x55a01d['getCommentThread'](_0x44b6f1['commentThreadId']);const {commentThreadId:_0x5053a3,context:_0x2fc269,attributes:_0xecb3d5,resolvedBy:_0xe98ed,resolvedAt:_0x233896,unlinkedAt:_0x2c81ed,deletedAt:_0x3bdfb7}=_0x44b6f1;if(_0x3bdfb7)continue;_0x13709a||(_0x13709a=_0x55a01d['addCommentThread']({'channelId':_0x571332,'threadId':_0x5053a3,'context':_0x2fc269,'attributes':_0xecb3d5||{},'resolvedBy':_0xe98ed,'resolvedAt':_0x233896,'unlinkedAt':_0x2c81ed,'isFromAdapter':!0x0}));const _0x3543e4=new Set(Array['from'](_0x13709a['comments'],_0x36c447=>_0x36c447['id']));for(const _0x27f669 of _0x44b6f1['comments'])_0x3543e4['delete'](_0x27f669['commentId']);for(const _0x1df083 of _0x3543e4)_0x13709a['getComment'](_0x1df083)['remove']({'isFromAdapter':!0x0});for(const _0xda1909 of _0x44b6f1['comments']){const _0x498050=_0x13709a['getComment'](_0xda1909['commentId']);_0x498050?_0x498050['content']!==_0xda1909['content']&&_0x498050['update']({'content':_0xda1909['content'],'isFromAdapter':!0x0}):_0x13709a['addComment'](Object['assign'](at(_0xda1909),{'isFromAdapter':!0x0}));}}}_getService(_0xb81e2b){if(!this['_services']['has'](_0xb81e2b))throw new _0xacbaf9('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xb81e2b});return this['_services']['get'](_0xb81e2b);}async _fetchMissingUsersForThreads(_0x45f77b){const _0x150d0f=this['context']['plugins']['get'](_0x4a35a9),{connection:_0x2ff140}=this['context']['plugins']['get'](z),_0x209392=new Set();for(const {resolvedBy:_0x448494,comments:_0x180991}of _0x45f77b){_0x448494&&!_0x150d0f['getUser'](_0x448494)&&_0x209392['add'](_0x448494);for(const {userId:_0x2ec7d6}of _0x180991)_0x150d0f['getUser'](_0x2ec7d6)||_0x209392['add'](_0x2ec7d6);}if(0x0===_0x209392['size'])return;const _0x2fb636=await _0x52b3e1['getMany'](_0x2ff140,Array['from'](_0x209392));for(const _0x509f00 of _0x2fb636)_0x150d0f['getUser'](_0x509f00['id'])||_0x150d0f['addUser'](_0x509f00);}};async function rt(_0x225515){if('404'!==_0x225515['code'])throw _0x225515;}function ct(_0x12acfe){if((_0x56fbbb=_0x12acfe)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x56fbbb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56fbbb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x56fbbb;throw _0x12acfe;}function at(_0x3d4c31){return{'threadId':_0x3d4c31['commentThreadId'],'commentId':_0x3d4c31['commentId'],'content':_0x3d4c31['content'],'createdAt':_0x3d4c31['createdAt'],'authorId':_0x3d4c31['userId'],'attributes':_0x3d4c31['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x2fd2b9{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x4991bf)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x18f46a,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xdf4148){super(_0xdf4148);const _0x568af4=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x568af4);}init(){const _0x1de429=this['editor']['plugins']['get'](z),_0x5e813a=this['editor']['plugins']['get'](_0x18f46a);return _0x5e813a['adapter']={'getSuggestion':async _0x1a5923=>{await this['_waitForServiceReady']();const _0x3a2fb8=await this['_trackChangesService']['get'](_0x1a5923)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3a2fb8]),_0x3a2fb8;},'addSuggestion':async({id:_0x53d808,type:_0x4e9e59,data:_0x1c8402,originalSuggestionId:_0x59a685,attributes:_0x49653d})=>{await this['_waitForServiceReady']();const _0x5a92ac={'id':_0x53d808,'type':_0x4e9e59,'data':_0x1c8402,'originalSuggestionId':_0x59a685,'attributes':_0x49653d},_0x1d28f4=await this['_trackChangesService']['add'](_0x53d808,_0x4e9e59,_0x1c8402,_0x59a685,_0x49653d)['catch'](_0xe53950=>{if(dt(_0xe53950))return new Promise(_0x148c7f=>{this['_bufferedRequests']['set'](_0x53d808,{'resolve':_0x148c7f,'suggestionData':_0x5a92ac});});throw _0xe53950;});return this['_bufferedRequests']['delete'](_0x53d808),_0x1d28f4;},'updateSuggestion':async(_0x314744,_0x3fc394)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3fc394['state'])return this['_trackChangesService']['update'](_0x314744,_0x3fc394)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xb690f9,_0x1e3002)=>{_0x5e813a['hasSuggestion'](_0x1e3002['id'])&&(_0x5e813a['getSuggestion'](_0x1e3002['id'])['attributes']=_0x1e3002['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x1de429['connection']?.['state']&&(_0x1de429['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x1de429['connection'])['then'](_0x2a10fb=>(_0x1de429['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x2a10fb)['then'](()=>{for(const _0x525a4a of _0x2a10fb){_0x5e813a['addSuggestionData'](_0x525a4a)['_saved']=!0x0;}})));}async reconnect(){const _0x2f2b27=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x386b08}=this['editor']['plugins']['get'](z),_0x529972=await this['_trackChangesService']['connect'](_0x386b08);await this['_fetchMissingUsersForThreads'](_0x529972);for(const {suggestionData:_0x58b828,resolve:_0x522bf4}of this['_bufferedRequests']['values']()){let _0x5e48de=_0x529972['find'](_0x3bb970=>_0x3bb970['id']===_0x58b828['id']);_0x5e48de||(_0x5e48de=await this['_trackChangesService']['add'](_0x58b828['id'],_0x58b828['type'],_0x58b828['data'],_0x58b828['originalSuggestionId'])),_0x522bf4(_0x5e48de);}for(const _0x43192a of _0x529972)_0x2f2b27['hasSuggestion'](_0x43192a['id'])||_0x2f2b27['addSuggestionData'](_0x43192a);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x1c0df5=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2e0670=>{_0x2e0670['off'](),_0x1c0df5();});});}async _fetchMissingUsersForThreads(_0x4c6fcd){const _0x2126b9=this['editor']['plugins']['get'](_0x4a35a9),{connection:_0x147f29}=this['editor']['plugins']['get'](z),_0x13a945=new Set();for(const {authorId:_0x4be97d}of _0x4c6fcd)_0x2126b9['getUser'](_0x4be97d)||_0x13a945['add'](_0x4be97d);if(0x0===_0x13a945['size'])return;const _0xab9bda=await _0x52b3e1['getMany'](_0x147f29,Array['from'](_0x13a945));for(const _0xb8930e of _0xab9bda)_0x2126b9['getUser'](_0xb8930e['id'])||_0x2126b9['addUser'](_0xb8930e);}};function lt(_0x2fa295){if(dt(_0x2fa295))return new Promise(()=>{});throw _0x2fa295;}function dt(_0x527662){return _0x527662['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x527662['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x2fd2b9{static get requires(){return[_0x18c06f,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x5ed5cd=this['editor']['plugins']['get'](z),_0x5357c3=this['editor']['plugins']['get'](_0x394529),_0x27603d=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5ed5cd,'change:state',(_0x40ea58,_0x25319f,_0x143d4f)=>{_0x5357c3['isThreadsLoadingPaused']='connected'!==_0x143d4f;});}),this['listenTo'](_0x5ed5cd,'change:state',(_0x12141b,_0x23e790,_0x1b95fb)=>{this['editor']['plugins']['get'](_0x39df5c)['switchReadOnly']('connected'!==_0x1b95fb);}),_0x27603d['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x2dcce8=this['editor']['plugins']['get'](ot),_0x3dbb9a=this['editor']['config']['get']('collaboration.channelId');_0x2dcce8['_services']['has'](_0x3dbb9a)&&_0x2dcce8['_terminateService'](_0x3dbb9a),super['destroy']();}},ft=class extends _0x2fd2b9{static get requires(){return[ut,ht,_0x350040];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x2fd2b9{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x50f15e)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x5811ff,Y,_0x4a35a9];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x292251){super(_0x292251);const _0x2937cd=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2937cd);}async init(){const _0x1b1a97=this['editor']['plugins']['get'](tt),_0x4ce502=_0x1b1a97['serverHistory'],_0x3edbce=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4ce502,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1b1a97['sessionId']});const _0x16a3be=this['editor']['config']['get']('cloudServices.bundleVersion')||_0xdf940c,_0x9ded84=await _0x2be39b['isBundleUploaded'](_0x3edbce['connection'],_0x16a3be);this['editor']['plugins']['get'](_0x5811ff)['adapter']={'getRevision':async({revisionId:_0x1bd7c8})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1bd7c8)),'updateRevisions':async _0x2c9812=>{await this['_waitForServiceReady']();const _0x24b62d=this['_revisionTracker']['currentRevision'];if(_0x9ded84&&0x1===_0x2c9812['length']&&_0x2c9812[0x0]['id']===_0x24b62d['id'])return _0x2c9812;for(const _0x43755d of _0x2c9812)_0x43755d['id']===_0x24b62d['id']&&(_0x43755d['isEmptyCurrent']=_0x43755d['fromVersion']===_0x43755d['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x2c9812,this['_lastRequestId'])['then'](_0x2ae174=>(this['_lastRequestId']=_0x2ae174,_0x2c9812))['catch'](_0x442bac=>{if(pt(_0x442bac)||'400'===_0x442bac['code']&&void 0x0!==_0x442bac['data']['wrongRequestId']){for(const _0x397921 of _0x2c9812)this['_revisionTracker']['repository']['getRevision'](_0x397921['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x397921['id'],_0x397921,!0x1);if(pt(_0x442bac)&&'destroyed'!==this['editor']['state'])throw _0x442bac;return _0x2c9812;}throw _0x442bac;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x11c0a1,{revisionsData:_0x1a503d,requestId:_0x345845})=>{Math['max'](..._0x1a503d['map'](_0x128138=>_0x128138['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1a503d,_0x345845);}):this['_handleRevisionsUpdate'](_0x1a503d,_0x345845);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x3edbce['connection']?.['state']&&(_0x3edbce['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x8c92ca,requestId:_0x70f09}=await this['_revisionHistoryService']['connect'](_0x3edbce['connection']);_0x3edbce['addToReconnectionStack'](this),this['_lastRequestId']=_0x70f09,await this['_fetchMissingUsers'](_0x8c92ca);for(const _0x56760a of _0x8c92ca)this['_revisionTracker']['addRevisionData'](_0x56760a);this['listenTo'](_0x1b1a97,'change:_isConnected',(_0x1ff198,_0x40274f,_0x4389f1)=>{_0x4389f1&&(this['_oldOffset']=_0x1b1a97['_offset'],_0x1ff198['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x398ff2=this['editor']['plugins']['get'](z),_0x51de11=this['editor']['plugins']['get'](tt),_0x34ee80=async()=>{const _0x1607f9=this['_revisionTracker']['currentRevision'],_0x454b90=_0x1607f9['id'],_0x4fad26=_0x454b90!==_0x51de11['sessionId'];if(_0x4fad26){const _0x5812a4=_0x51de11['_offset']-this['_oldOffset'],_0x59f41e=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x1607f9['toVersion']+_0x5812a4!==_0x59f41e){const _0x5bc519=_0x1607f9['fromVersion']+_0x5812a4,_0x376969=this['editor']['plugins']['get'](_0x4a35a9),_0x1e7738=this['_revisionTracker']['buildRevisionData']({'revision':_0x1607f9,'from':_0x5bc519,'to':_0x59f41e});_0x1e7738['id']=_0x1607f9['id'];const _0x3f0fab=_0x1e7738['authorsIds']['map'](_0x22b414=>_0x376969['getUser'](_0x22b414));_0x1607f9['_update']({..._0x1e7738,'authors':_0x3f0fab},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1607f9['id'],_0x1e7738,!0x0);}this['_revisionTracker']['_startingVersion']=_0x59f41e,_0x1607f9['toVersion']!==_0x1607f9['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x454b90)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x454b90),this['_revisionTracker']['_createCurrentRevision'](_0x59f41e);}const {revisions:_0x268b83,requestId:_0x3e6a22}=await this['_revisionHistoryService']['reconnect'](_0x398ff2['connection'],this['_lastRequestId']);_0x4fad26&&_0x268b83['length']>0x0?_0x51de11['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x268b83),this['_handleRevisionsUpdate'](_0x268b83,_0x3e6a22),this['_revisionTracker']['sendBufferedUpdates']());};return _0x51de11['_isConnected']?_0x34ee80():new Promise((_0x5a003f,_0x345daf)=>{_0x51de11['once']('change:_isConnected',()=>{_0x34ee80()['then'](_0x5a003f)['catch'](_0x345daf);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0xdba4e6=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x36cfd4=>{_0x36cfd4['off'](),_0xdba4e6();});});}_getLatestVersionFromServerOperations(){const _0x1d5007=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x59e1b9 of _0x1d5007)if('marker'!==_0x59e1b9['type']||_0x59e1b9['affectsData'])return _0x59e1b9['baseVersion']+0x1;}_getLatestVersion(){const _0x10f3f9=this['editor']['plugins']['get'](tt);return new Promise(_0x210081=>{_0x10f3f9['_isPendingUpdate']?_0x10f3f9['once']('change:_isPendingUpdate',()=>{_0x210081(this['_getLatestVersionFromServerOperations']());}):_0x210081(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x11873d,_0x4224cc){const _0x34c4a6=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x4224cc;for(const _0x208f78 of _0x11873d){const _0x340c45=_0x34c4a6['getRevision'](_0x208f78['id']);if(_0x340c45){if((_0x208f78['fromVersion']||_0x208f78['toVersion'])&&(_0x208f78['diffData']=null),_0x340c45===this['_revisionTracker']['currentRevision']){const _0x1ea1d7=Math['max'](_0x340c45['toVersion'],_0x208f78['toVersion']),_0x5888af=Math['max'](_0x340c45['fromVersion'],_0x208f78['fromVersion']);let _0x128c1d;_0x340c45['toVersion']===_0x208f78['toVersion']&&_0x340c45['fromVersion']===_0x208f78['fromVersion']?(_0x128c1d=!0x0,this['_preventResendingRevisionData'](_0x208f78)):_0x208f78['toVersion']===_0x1ea1d7&&_0x208f78['fromVersion']===_0x5888af?_0x128c1d=!0x1:(_0x340c45['toVersion']===_0x1ea1d7&&_0x340c45['fromVersion']===_0x5888af||this['_fixRevision']({'revision':_0x340c45,'from':_0x5888af,'to':_0x1ea1d7}),_0x128c1d=!0x0),_0x128c1d&&(delete _0x208f78['fromVersion'],delete _0x208f78['toVersion'],delete _0x208f78['diffData'],delete _0x208f78['createdAt'],delete _0x208f78['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x208f78),this['_preventResendingRevisionData'](_0x208f78);}else this['_revisionTracker']['addRevisionData'](_0x208f78);}const _0x597451=_0x34c4a6['getRevisions']();_0x597451['reverse']();for(let _0x173c43=0x0;_0x173c43<_0x597451['length']-0x1;_0x173c43++){const _0x1f7f77=_0x597451[_0x173c43],_0x3b700a=_0x597451[_0x173c43+0x1];if(_0x1f7f77['fromVersion']<_0x3b700a['toVersion']){const _0x424206=_0x3b700a['toVersion'],_0x37e395=Math['max'](_0x424206,_0x1f7f77['toVersion']);this['_fixRevision']({'revision':_0x1f7f77,'from':_0x424206,'to':_0x37e395});}}}['_fixRevision']({revision:_0x349311,from:_0x37f7fa,to:_0x420891}={}){const _0x53a950=this['editor']['plugins']['get'](_0x4a35a9),_0x313f62=this['_revisionTracker']['buildRevisionData']({'revision':_0x349311,'from':_0x37f7fa,'to':_0x420891});_0x313f62['authors']=_0x313f62['authorsIds']['map'](_0x1a68aa=>_0x53a950['getUser'](_0x1a68aa)),_0x349311['_update'](_0x313f62);}_preventResendingRevisionData(_0x219f49){const _0x4365b4={};_0x4365b4['id']=_0x219f49['id'];for(const _0x186b78 of Object['keys'](_0x219f49))'id'!==_0x186b78&&(_0x4365b4[_0x186b78]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4365b4['id'],_0x4365b4,!0x0);}async _fetchMissingUsers(_0x7d9651){const _0x4994a3=this['editor']['plugins']['get'](_0x4a35a9),{connection:_0x356884}=this['editor']['plugins']['get'](z),_0x2a5409=new Set();for(const _0x2b0193 of _0x7d9651){for(const _0x25f5b4 of _0x2b0193['authorsIds'])_0x140e3e(_0x25f5b4);_0x2b0193['creatorId']&&_0x140e3e(_0x2b0193['creatorId']);}if(0x0===_0x2a5409['size'])return;const _0x2039f1=await _0x52b3e1['getMany'](_0x356884,Array['from'](_0x2a5409));for(const _0xa9bee3 of _0x2039f1)_0x4994a3['getUser'](_0xa9bee3['id'])||_0x4994a3['addUser'](_0xa9bee3);function _0x140e3e(_0x3f9251){_0x4994a3['getUser'](_0x3f9251)||_0x2a5409['add'](_0x3f9251);}}};function pt(_0x5e75c5){return _0x5e75c5['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5e75c5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5e75c5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x2fd2b9{static get requires(){return[_0x5811ff,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x49d4c1{_collapseAt;constructor(_0x4861bb,_0x5529b0=0x6){super(_0x4861bb);const _0x19e445=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5529b0,this['bind']('isHidden')['to'](this,'usersCount',_0x1660d1=>_0x1660d1<_0x5529b0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x19e445['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':_0x19e445['to']('usersCount',_0x4659c6=>'+'+(_0x4659c6-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x49d4c1{items;keystrokes;constructor(_0xc3e0b7){super(_0xc3e0b7);const _0x3cd97e=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x243499(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3cd97e['if']('hasPopup'),'aria-expanded':_0x3cd97e['to']('isExpanded',_0x2a4cf4=>this['hasPopup']&&String(_0x2a4cf4)),'aria-label':_0x3cd97e['to']('hasPopup',_0x403f7a=>X(_0xc3e0b7,_0x403f7a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3cd97e['to']('hasPopup',_0x50c260=>!!_0x50c260&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3cd97e['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3cd97e['to'](_0x2a044f=>{const _0x3c1b54=_0x2a044f,_0x529f6c=document['querySelector']('.ck-presence-list__dropdown-list'),_0x398e1c=document['querySelector']('.ck-balloon-panel_with-arrow');_0x529f6c?.['contains'](_0x3c1b54['relatedTarget'])||_0x398e1c?.['contains'](_0x3c1b54['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x84795d,_0x4bbd26,_0x4dd46e)=>{this['element']&&(_0x4dd46e?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 _0x49d4c1{counterView;inlineListView;constructor(_0x5edc6e,_0x342385=0x6){super(_0x5edc6e);const _0xe94e92=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x342385),this['inlineListView']=new vt(_0x5edc6e),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5d02d6 of this['inlineListView']['items'])_0x5d02d6['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',_0xe94e92['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x49d4c1{listWrapperView;constructor(_0x42844e,_0x368da7){super(_0x42844e);const _0x6e688a=this['bindTemplate'];this['listWrapperView']=new bt(_0x42844e,_0x368da7),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x42844e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x6e688a['to'](_0x447541=>{const _0x138546=_0x447541,_0x42c96e=document['querySelector']('.ck-presence-list__list'),_0x4118b6=document['querySelector']('.ck-balloon-panel_with-arrow');_0x42c96e?.['contains'](_0x138546['relatedTarget'])||_0x4118b6?.['contains'](_0x138546['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x223b82{constructor(_0x33a087,_0x1d1533){super(_0x33a087);const _0x937161=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1d1533?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x937161['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x937161['to']('role'),'aria-label':_0x937161['to']('ariaLabel'),'aria-labelledby':_0x937161['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5d7bba['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2bbb3b=this['element'];_0x2bbb3b&&(this['_isScrollable']=Math['max'](_0x2bbb3b['scrollHeight'],_0x2bbb3b['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x35ef59{['userView'];constructor(_0x4c5546,_0xa840ef,_0x414c2c){super(_0x4c5546);const _0x172f2d=this['bindTemplate'];this['userView']=new _0x11aedb(_0x4c5546,_0xa840ef);const _0x323e4f={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xa840ef['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xa840ef['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xa840ef['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xa840ef['color']['getColorVariable'](),'--ck-user-color-alpha':_0xa840ef['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x414c2c&&(_0x323e4f['tag']='button',_0x323e4f['on']={'click':_0x172f2d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x323e4f);}['focus'](){this['element']['focus']();}},It=class extends _0x49d4c1{['userView'];['markerView'];constructor(_0x32083c,_0x27ac34,_0x116902){super(_0x32083c);const _0x1f39f6=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x11aedb(_0x32083c,_0x27ac34),this['markerView']=new St(_0x32083c,_0x27ac34);const _0x594014=new _0x58d76d(_0x32083c);_0x594014['template']['tag']='span',_0x594014['text']=_0x27ac34['name'];const _0x117d00={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1f39f6['to']('isFocusable',_0x5961e0=>!!_0x5961e0&&0x0),'aria-labelledby':_0x594014['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1f39f6['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1f39f6['to']('hasTooltip',_0x5785fd=>!_0x5785fd),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x594014]};_0x116902&&(_0x117d00['tag']='button',_0x117d00['on']={'click':_0x1f39f6['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x117d00);}},St=class extends _0x49d4c1{constructor(_0x3fd5b5,_0x4c8108){super(_0x3fd5b5),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4c8108['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4c8108['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4c8108['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0xd1e979{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x36ffe9){super(_0x36ffe9),this['context']['config']['define']('presenceList',Tt);const _0x30a932=_0x36ffe9['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x30a932)throw new _0xacbaf9('presencelist-collapseat-invalid-format',this);if(_0x30a932<0x1)throw new _0xacbaf9('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4a18c2(),this['balloonPanelView']=new _0x2b1718(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x13f20d of this['_allConnectedUsers'])this['_handleUserAdd'](_0x13f20d);this['listenTo'](this['_allConnectedUsers'],'add',(_0x487f4f,_0xa81a53)=>{this['_handleUserAdd'](_0xa81a53);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x174b39,_0x3ecba2)=>{this['_handleUserRemove'](_0x3ecba2);});}_createView(){const _0x41ec62=this['context'],_0x13cda8=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xf0a522=this['balloonPanelView'];if(!_0x25aa5f(_0x41ec62['config']['get']('presenceList.container')))throw new _0xacbaf9('presencelist-missing-container',this);return _0x13cda8['counterView']['bind']('usersCount')['to'](this),_0x13cda8['bind']('isCollapsed')['to'](this,'usersCount',_0x22e543=>{const {collapseAt:_0x5d7f65}=_0x41ec62['config']['get']('presenceList'),_0x4466c1=_0x22e543>=_0x5d7f65;if(_0x4466c1&&!_0x13cda8['inlineListView']['items']['find'](_0x1511f5=>_0x1511f5 instanceof wt)){const _0x342783=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x342783&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x13cda8['inlineListView']['items']['add'](_0x13cda8['counterView']);}return _0x4466c1||this['hideDropdown'](),_0x4466c1;}),_0x13cda8['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5b6b5a=>{const _0x32cfcd=_0x41ec62['config']['get']('presenceList'),_0x1ff663=new It(_0x41ec62['locale'],_0x5b6b5a,!!_0x32cfcd['onClick']);return _0x1ff663['bind']('hasTooltip')['to'](_0x13cda8,'isCollapsed',_0x495ad9=>!_0x495ad9),_0x1ff663['bind']('isFocusable')['to'](_0x13cda8,'isCollapsed',_0x4a948a=>!_0x4a948a),_0x32cfcd['onClick']&&this['listenTo'](_0x1ff663,'execute',()=>{this['view']['isCollapsed']||_0x32cfcd['onClick'](_0x5b6b5a,_0x1ff663['element']);}),_0x1ff663;}),this['listenTo'](_0x13cda8['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x13cda8['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x13cda8['inlineListView']['keystrokes']['set']('Enter',(_0x9d1b5c,_0x4d61d4)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4d61d4());}),_0x13cda8['render'](),_0xf0a522['render'](),_0x2ca82e({'emitter':_0x13cda8,'activator':()=>_0xf0a522['isVisible'],'contextElements':[_0xf0a522['element'],_0x13cda8['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x41ec62['config']['get']('presenceList.container')['appendChild'](_0x13cda8['element']),this['_bodyCollection']=new _0x1f77d5(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x13cda8;}['_handleUserAdd'](_0x536d8b){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x536d8b['isMe'])return;const _0x446132=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x446132-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x59e8b4=_0x536d8b['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x536d8b,_0x59e8b4);}['_handleUserRemove'](_0x11eb84){this['usersCount']--;const {collapseAt:_0x5cb96b}=this['context']['config']['get']('presenceList'),_0x28dd01=this['usersCount']>=_0x5cb96b;if(this['currentDisplayedUsers']['get'](_0x11eb84['id']))this['currentDisplayedUsers']['remove'](_0x11eb84['id']);else{if(_0x28dd01&&this['currentDisplayedUsers']['length']+0x1===_0x5cb96b-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x28dd01?0x1:0x0)<this['usersCount']){for(const _0x46298c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x46298c['id'])&&(this['currentDisplayedUsers']['add'](_0x46298c,Math['min'](this['currentDisplayedUsers']['length']-(_0x28dd01?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x28dd01?0x1:0x0)===_0x5cb96b-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5b6c7d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x5b6c7d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4dc4d4}=this['presenceDropdownView'];_0x4dc4d4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xe057c4=>{if(!_0x5b6c7d['displayMe']&&_0xe057c4['isMe'])return null;const _0x17f963=new kt(this['context']['locale'],_0xe057c4,!!_0x5b6c7d['onClick']);return _0x5b6c7d['onClick']&&this['listenTo'](_0x17f963,'execute',()=>{_0x5b6c7d['onClick'](_0xe057c4,_0x17f963['element']);}),_0x17f963;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4dc4d4['focus'](),_0x4dc4d4['checkIfScrollable']();const _0x49d8e3=(_0x5e5849,_0x3fbcf2)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3fbcf2();};_0x4dc4d4['keystrokes']['set']('Esc',_0x49d8e3),_0x4dc4d4['keystrokes']['set']('Shift+Tab',_0x49d8e3),_0x4dc4d4['keystrokes']['set']('Tab',(_0x318c2b,_0x4cc73e)=>{!function(_0x2edb2a){const _0xfcd84f=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x240a8c=>_0x240a8c+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x1f0a64=[...document['body']['querySelectorAll'](_0xfcd84f)]['filter'](_0x13b693=>_0x13b693===document['activeElement']||_0x13b693['offsetWidth']+_0x13b693['offsetHeight']>0x0)['sort']((_0x50a7f1,_0x32ed93)=>(_0x50a7f1['tabIndex']||0x0)-(_0x32ed93['tabIndex']||0x0)),_0x395fd0=_0x1f0a64[(_0x1f0a64['indexOf'](_0x2edb2a)+0x1)%_0x1f0a64['length']];_0x395fd0&&_0x395fd0['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4cc73e();}),_0x4dc4d4['focusTracker']['add'](this['view']['element']),_0x4dc4d4['focusTracker']['on']('change:isFocused',(_0x385d6f,_0xf17b54,_0x62eb8e)=>{_0x62eb8e||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 _0xd1e979{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};
|