@ckeditor/ckeditor5-real-time-collaboration 48.3.1 → 48.4.0-alpha.0
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-editor.css +230 -230
- package/dist/index.d.ts +2 -0
- package/dist/index.js +6 -6
- package/dist/presencelist/view/presencelistview.d.ts +0 -5
- package/dist/realtimecollaborativeediting/usermarkers.d.ts +0 -1
- 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 +14 -13
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Context as
|
|
24
|
-
((()=>_0x4e20e3)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0xb8a5f,_0x1f6b8b];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4eea1b){super(_0x4eea1b),this['set']('state',_0xe75117['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x4e9957())();}['init'](){const _0x1f89b8=this['context'],_0x2f528f=_0x1f89b8['plugins']['get'](_0xb8a5f),_0x3ee0e1=_0x1f89b8['plugins']['get'](_0x1f6b8b);if(!_0x2f528f['token'])throw new _0x126d14('websocketgateway-missing-token',this);if(!_0x2f528f['webSocketUrl'])throw new _0x126d14('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'](_0x2f528f['token'],_0x2f528f['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1639d8=>{if(this['connection']=_0x1639d8,this['bind']('state')['to'](_0x1639d8,'state',this,'_isBrowserOffline',(_0x369d19,_0x38c9f4)=>('connected'!==_0x369d19&&(this['_shouldPluginsReconnect']=!0x0),_0x38c9f4||_0x369d19!==_0xe75117['CONNECTED']?_0xe75117['DISCONNECTED']:this['state']==_0xe75117['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xe75117['CONNECTING']):_0xe75117['CONNECTED'])),this['connection']['on']('error',(_0x118a9a,_0x40d6ae)=>{if('limitExceeded'!==_0x40d6ae['code'])throw console['error'](_0x40d6ae),new _0x126d14('cloudservices-init',null,{'originalError':_0x40d6ae});_0x3ee0e1['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'});}),!_0x1639d8['me'])return new Promise(_0x4bf094=>_0x1639d8['on']('change:me',_0x4bf094));})['catch'](_0x2cb017=>{throw console['error'](_0x2cb017),new _0x126d14('cloudservices-init',null,{'originalError':_0x2cb017});});}['addToReconnectionStack'](_0x580465){if('function'!=typeof _0x580465['reconnect'])throw new _0x126d14('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x580465))throw new _0x126d14('websocketgateway-plugin-already-registered',this,{'name':_0x580465['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x580465);}['removeFromReconnectionStack'](_0x34998a){this['_reconnectionStack']['delete'](_0x34998a);}['isInReconnectionStack'](_0x270ca4){return this['_reconnectionStack']['has'](_0x270ca4);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x615fa7=>_0x615fa7['reconnect']())))['then'](()=>this['state']=_0xe75117['CONNECTED'])['catch'](_0x2ddb93=>{throw console['error'](_0x2ddb93),new _0x126d14('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xe75117['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x49ae67{['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,_0x480172];}constructor(_0x429dac){super(_0x429dac),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1a035a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x480172);}['init'](){const _0x500e1a=this['context']['plugins']['get'](z);this['listenTo'](_0x500e1a,'change:state',(_0x8703f1,_0x2171f8,_0x2c2358)=>{if('connected'!==_0x2c2358)this['channelSessions']['forEach'](_0x1c6332=>_0x1c6332['clear']()),this['channelConnectedUsers']['forEach'](_0xe06725=>_0xe06725['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xeebedc,_0x76e998]of this['_registeredSessions'])for(const _0x5370ad of _0x76e998)this['_handleSessionAdd'](_0xeebedc,_0x5370ad);}}),this['_createUser'](_0x500e1a['connection']['me'],!0x0);}['register'](_0x59cf3d,_0x5eeb6a){if(this['_registeredSessions']['has'](_0x59cf3d))throw new _0x126d14('sessions-register-already-registered',null,{'channelId':_0x59cf3d});this['_registeredSessions']['set'](_0x59cf3d,_0x5eeb6a),this['channelSessions']['set'](_0x59cf3d,new _0x1a035a()),this['channelConnectedUsers']['set'](_0x59cf3d,new _0x1a035a()),this['listenTo'](_0x5eeb6a,'add',(_0x4f0f1f,_0x46429c)=>this['_handleSessionAdd'](_0x59cf3d,_0x46429c)),this['listenTo'](_0x5eeb6a,'remove',(_0xa292bd,_0x5c879c)=>this['_handleSessionRemove'](_0x59cf3d,_0x5c879c));for(const _0x126e2b of _0x5eeb6a)this['_handleSessionAdd'](_0x59cf3d,_0x126e2b);}['unregister'](_0xfb0aa1){if(!this['_registeredSessions']['has'](_0xfb0aa1))throw new _0x126d14('sessions-unregister-not-exist',null,{'channelId':_0xfb0aa1});const _0x38e37f=this['_registeredSessions']['get'](_0xfb0aa1);this['stopListening'](_0x38e37f);for(const _0x4caadd of _0x38e37f)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0xfb0aa1,_0x4caadd);this['_registeredSessions']['delete'](_0xfb0aa1),this['channelSessions']['delete'](_0xfb0aa1),this['channelConnectedUsers']['delete'](_0xfb0aa1);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0xd94adc){for(const _0x1b0de2 of this['channelSessions']['values']())for(const _0x4eeb82 of _0x1b0de2)if(_0x4eeb82['id']===_0xd94adc)return _0x4eeb82['user'];}['getUserSessions'](_0x34780b,_0x3a90f4){const _0x5007f1=_0x3a90f4?[this['channelSessions']['get'](_0x3a90f4)]:this['channelSessions']['values'](),_0x3a1744=new Set();for(const _0x432e70 of _0x5007f1)for(const _0x1ce6d5 of _0x432e70)_0x1ce6d5['user']['id']===_0x34780b['id']&&_0x3a1744['add'](_0x1ce6d5['id']);return _0x3a1744;}['getUserRole'](_0x1450a4){for(const _0x58b48e of this['channelSessions']['values']())for(const _0x106bbe of _0x58b48e)if(_0x106bbe['user']===_0x1450a4)return _0x106bbe['role'];}['_handleSessionAdd'](_0x445086,_0x3a0c0b){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x5e3ff2=_0x3a0c0b['user'],_0x383ab1=this['_users']['getUser'](_0x5e3ff2['id'])||this['_createUser'](_0x5e3ff2),_0x3f9b8d=Object['assign']({},_0x3a0c0b,{'user':_0x383ab1});if(this['channelSessions']['get'](_0x445086)['add'](_0x3f9b8d),!_0x5e3ff2['hiddenInPresenceList']){const _0x4d358d=this['channelConnectedUsers']['get'](_0x445086);_0x4d358d['has'](_0x383ab1['id'])||_0x4d358d['add'](_0x383ab1),this['allConnectedUsers']['has'](_0x383ab1['id'])||_0x5e3ff2['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x383ab1,_0x383ab1['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x445086,{'channelId':_0x445086,'session':_0x3f9b8d});}['_handleSessionRemove'](_0x2d7db9,_0x1ce9c9){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x19ba3d=this['channelConnectedUsers']['get'](_0x2d7db9),_0x1f5645=_0x1ce9c9['user'];_0x1f5645['id']&&(this['channelSessions']['get'](_0x2d7db9)['remove'](_0x1ce9c9['id']),_0x19ba3d['has'](_0x1f5645['id'])&&!this['getUserSessions'](_0x1f5645,_0x2d7db9)['size']&&_0x19ba3d['remove'](_0x1f5645['id']),this['allConnectedUsers']['get'](_0x1f5645['id'])&&!this['getUserSessions'](_0x1f5645)['size']&&this['allConnectedUsers']['remove'](_0x1f5645['id']));}['_createUser'](_0x15b2c1,_0x3d45bd){const _0x393ed2=this['_users']['addUser'](_0x15b2c1);return _0x3d45bd&&this['_users']['defineMe'](_0x15b2c1['id']),_0x393ed2['orderNumber']=this['_uniqueUsersCount']++,_0x393ed2;}},K=class extends _0xc1f62{['_domEmitter']=new(_0x4e9957())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x407e63=this['editor'],_0x583f43=_0x407e63['plugins']['get'](Y);_0x407e63['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x47b768,{writer:_0x46cf72})=>function(_0x2eadf2,_0x2230b7,_0x480615,_0x30ebd1){const _0x10116d=_0x2eadf2['markerName']['split'](':')[0x2],_0x11df7b=_0x480615['getUserBySessionId'](_0x10116d);if(!_0x11df7b||_0x10116d===_0x480615['mySessionId'])return;if(!_0x30ebd1['model']['schema']['checkChild'](_0x2eadf2['markerRange']['start'],'$text'))return;const _0x1ceb13={'class':'ck-user__marker\x20'+_0x11df7b['color']['getMarkerClass'](),'style':Q(_0x11df7b),'data-name':_0x11df7b['name'],'data-session-id':_0x10116d},_0xdd71ac=_0x30ebd1['model']['markers']['get'](_0x2eadf2['markerName'])['getStart'](),_0x23afc5=_0xdd71ac['nodeAfter'],_0x59ba03=_0x30ebd1['model']['schema'];if(_0x23afc5&&_0x59ba03['isObject'](_0x23afc5)&&_0x59ba03['isInline'](_0x23afc5)&&!_0x30ebd1['model']['markers']['get']('user:range:'+_0x10116d)['getRange']()['isCollapsed'])return;const _0x15a8f9=_0xdd71ac['parent'];return _0x30ebd1['model']['schema']['isLimit'](_0x15a8f9)&&!_0x30ebd1['model']['hasContent'](_0x15a8f9)&&(_0x1ceb13['contenteditable']=!0x1),function(_0x59d7c1,_0xb1711c,_0x467dea){const _0x2f45b0=_0x59d7c1['createUIElement']('span',_0xb1711c);return _0x59d7c1['setCustomProperty']('userPositionMarker',!0x0,_0x2f45b0),_0x2f45b0['render']=function(_0x35133b){const _0x1bcd16=this['toDomElement'](_0x35133b),_0x200edb=document['createElement']('span');return _0x200edb['classList']['add']('ck-user__marker-tooltip'),_0x200edb['setAttribute']('contenteditable','false'),_0x200edb['setAttribute']('spellcheck','false'),_0x200edb['textContent']=_0x467dea['name'],_0x1bcd16['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x200edb['outerHTML']+'',_0x1bcd16['addEventListener']('mouseenter',()=>{_0x1bcd16['classList']['add']('ck-user__marker_hovered');}),_0x1bcd16['addEventListener']('mouseleave',()=>{_0x1bcd16['classList']['remove']('ck-user__marker_hovered');}),_0x1bcd16;},_0x2f45b0['isSimilar']=function(_0x1c8c10){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1c8c10['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1c8c10['getAttribute']('data-session-id'));},_0x2f45b0;}(_0x2230b7,_0x1ceb13,_0x11df7b);}(_0x47b768,_0x46cf72,_0x583f43,_0x407e63)}),_0x407e63['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4b8bad=>function(_0x3ee34c,_0x4d0eb8){const _0x3dee66=_0x3ee34c['markerName']['split'](':')[0x2];if(_0x3dee66===_0x4d0eb8['mySessionId'])return null;const _0x4228ce=_0x4d0eb8['getUserBySessionId'](_0x3dee66);return _0x4228ce?{'id':_0x3dee66,'classes':['ck-user__selection',_0x4228ce['color']['getSelectionClass']()],'attributes':{'style':Q(_0x4228ce),'data-session-id':_0x3dee66},'priority':0x7d0+_0x4228ce['orderNumber']}:{'id':_0x3dee66,'classes':[]};}(_0x4b8bad,_0x583f43)}),function(_0x2fc268){const _0x50312c=_0x2fc268['model'],_0x481a7c=new Map(),_0x471f9d=_0x2fc268['plugins']['get'](Y);_0x50312c['markers']['on']('update:user:range',(_0x4ea7bc,_0x75f7c4,_0x1bcc00,_0x4d5326)=>{if(!_0x4d5326&&_0x481a7c['get'](_0x75f7c4['name']))return _0x481a7c['get'](_0x75f7c4['name'])['detach'](),void _0x481a7c['delete'](_0x75f7c4['name']);const _0x1f4aa5=_0x75f7c4['name']['split'](':')[0x2];if(_0x1f4aa5===_0x471f9d['mySessionId'])return;const _0x19dde8='user:position:'+_0x1f4aa5;_0x50312c['markers']['has'](_0x19dde8)&&_0x2fc268['editing']['reconvertMarker'](_0x19dde8),_0x75f7c4['on']('change:range',(_0x48125f,_0x585b58,_0x86fae4)=>{if('$graveyard'!=_0x585b58['root']['rootName']&&'$graveyard'==_0x75f7c4['getRange']()['root']['rootName']&&!_0x481a7c['has'](_0x75f7c4['name'])){const _0x4ef0d7=_0x50312c['schema']['getNearestSelectionRange'](_0x86fae4['deletionPosition']);if(_0x4ef0d7){const _0x42f869=_0x4d9635['fromRange'](_0x4ef0d7);_0x481a7c['set'](_0x75f7c4['name'],_0x42f869),_0x42f869['on']('change:range',(_0x56b9d5,_0x282c22,_0x1bb203)=>{if('$graveyard'==_0x42f869['root']['rootName']){const _0x363d5b=_0x50312c['schema']['getNearestSelectionRange'](_0x1bb203['deletionPosition']);_0x363d5b?(_0x42f869['start']=_0x363d5b['start'],_0x42f869['end']=_0x363d5b['end']):(_0x481a7c['delete'](_0x75f7c4['name']),_0x42f869['detach']());}});}}});}),_0x50312c['document']['on']('change',()=>{_0x481a7c['size']>0x0&&_0x50312c['enqueueChange']({'isUndoable':!0x1},_0x5b11c2=>{for(const [_0x213fbb,_0x1fe432]of _0x481a7c)'$graveyard'==_0x50312c['markers']['get'](_0x213fbb)['getRange']()['root']['rootName']&&(J(_0x213fbb['split'](':')[0x2],_0x1fe432['toRange'](),_0x50312c,_0x5b11c2),_0x1fe432['detach']());_0x481a7c['clear']();});});}(_0x407e63),this['_domEmitter']['listenTo'](_0x3d533['document'],'keydown',(_0x41a999,{key:_0x39ab63})=>{'Escape'===_0x39ab63&&function(_0x3117c2){_0x3117c2['editing']['view']['change'](_0x2a3f73=>{for(const _0x50a1b0 of _0x3117c2['model']['markers']){if(!_0x50a1b0['name']['startsWith']('user:position'))continue;const _0x20e0e0=_0x3117c2['editing']['mapper']['markerNameToElements'](_0x50a1b0['name']);if(_0x20e0e0){for(const _0x54ae70 of _0x20e0e0)_0x2a3f73['removeClass']('ck-user__marker_hovered',_0x54ae70);}}});}(_0x407e63);},{'useCapture':!0x0});}['afterInit'](){const _0x95ccc5=this['editor'],_0x45c014=_0x95ccc5['commands']['get']('undo');_0x45c014&&_0x95ccc5['model']['on']('applyOperation',(_0x54741e,_0x466217)=>{const _0x2652ee=_0x466217[0x0];if(!_0x2652ee['isDocumentOperation'])return;if('marker'!=_0x2652ee['type']||!_0x2652ee['name']['startsWith']('user:'))return;const _0x223af4=_0x2652ee['batch'];_0x45c014['_createdBatches']['has'](_0x223af4)&&(_0x2652ee['newRange']=_0x2652ee['oldRange']?_0x95ccc5['model']['createRange'](_0x2652ee['oldRange']['start'],_0x2652ee['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3e58a1=this['editor'],_0x361c02=_0x3e58a1['model']['document'],_0x9941b9=_0x3e58a1['plugins']['get'](Y);_0x3e58a1['model']['enqueueChange']({'isUndoable':!0x1},_0x1d3854=>{const _0x4d52fe='user:range:'+_0x9941b9['mySessionId'],_0x43b109='user:position:'+_0x9941b9['mySessionId'],_0x1a018d=_0x3e58a1['model']['markers']['has'](_0x4d52fe);_0x3e58a1['editing']['view']['hasDomSelection']?J(_0x9941b9['mySessionId'],_0x361c02['selection']['getFirstRange'](),_0x3e58a1['model'],_0x1d3854):_0x1a018d&&(_0x1d3854['removeMarker'](_0x4d52fe),_0x1d3854['removeMarker'](_0x43b109));});}};function J(_0x155fdd,_0x101975,_0x12741e,_0x4455f5){const _0x3f1733='user:range:'+_0x155fdd,_0x1af5ef='user:position:'+_0x155fdd,_0x59acb0=_0x101975['getContainedElement']();let _0x3546aa=_0x101975['start'];if(_0x59acb0&&_0x59acb0['is']('element','tableCell')){const _0x36e6e0=function(_0x2ce003,_0xb23201){for(const _0x58c649 of _0x2ce003['getPositions']())if(_0xb23201['schema']['checkChild'](_0x58c649,'$text'))return _0x58c649;}(_0x101975,_0x12741e);_0x36e6e0&&(_0x3546aa=_0x36e6e0,_0x101975=_0x4455f5['createRange'](_0x3546aa));}const _0x2d673c=_0x4455f5['createRange'](_0x3546aa);_0x12741e['markers']['has'](_0x3f1733)?(_0x4455f5['updateMarker'](_0x3f1733,{'range':_0x101975}),_0x4455f5['updateMarker'](_0x1af5ef,{'range':_0x2d673c})):(_0x4455f5['addMarker'](_0x3f1733,{'range':_0x101975,'usingOperation':!0x0}),_0x4455f5['addMarker'](_0x1af5ef,{'range':_0x2d673c,'usingOperation':!0x0}));}function Q(_0x176b05){return'--ck-user-color:'+_0x176b05['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x176b05['color']['getColorAlphaVariable']()+';';}function X(_0x3755c0,_0x2e1130,_0x2754ea){const _0x231095=_0x3755c0['t'],t=_0x3755c0['t'];switch(_0x2e1130){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 _0x231095({'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'},_0x2754ea);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0xc1f62{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x35305c)());['_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,_0x1b1cb9,_0x480172,_0x1f6b8b];}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 _0x29fac5=this['serverHistory']['getOperations']();for(let _0x1edf29=_0x29fac5['length']-0x1;_0x1edf29>=0x0;_0x1edf29--){const _0x3daffe=_0x29fac5[_0x1edf29];if(!this['_disconnectionOperations']['has'](_0x3daffe))return _0x3daffe['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3e8491){if(super(_0x3e8491),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5c78cf(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x126d14('collaboration-missing-channelid',this);const _0x395008=_0x3e8491['config']['get']('cloudServices.bundleVersion')||_0x2b5982;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x395008,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x251a0b(),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 _0xb81ab5=this['editor'],_0x4aece5=_0xb81ab5['plugins']['get'](_0x480172),_0x12c611=_0xb81ab5['plugins']['get'](z);this['listenTo'](_0x4aece5,'getOperationAuthor',(_0x17ef56,_0x19ff12)=>{const _0x37b105=_0x19ff12[0x0];_0x37b105['_authorId']&&(_0x17ef56['return']=_0x4aece5['getUser'](_0x37b105['_authorId']),_0x17ef56['stop']()),null===_0x37b105['_authorId']&&(_0x17ef56['return']=null,_0x17ef56['stop']());},{'priority':'high'}),this['listenTo'](_0xb81ab5['model']['document']['selection'],'change:range',(_0x5e5748,_0x98b0f6)=>{_0x98b0f6['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xb81ab5['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xb81ab5['model']['on']('applyOperation',(_0x4ef435,_0x4ee940)=>{const _0x43f8b3=_0x4ee940[0x0];_0x43f8b3['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x43f8b3),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x12c611,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x8a021a,_0x7247e4,_0x487912)=>'connected'===_0x8a021a&&!_0x7247e4&&!_0x487912),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xb81ab5['disableReadOnlyMode']('rtc-offline'):_0xb81ab5['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xb81ab5['disableReadOnlyMode']('rtc-offline'):_0xb81ab5['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x62873a=this['editor']['plugins']['get'](Y),_0x1f700a=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x62873a['unregister'](this['_channelId']);const _0x26dc00=await this['_service']['reconnect'](_0x1f700a['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x26dc00)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x57e016=await this['_service']['getConnectedSessions']();_0x62873a['register'](this['_channelId'],_0x57e016),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x52b920){if(function(_0x57b717){return'404'===_0x57b717['code'];}(_0x52b920)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x593ed7){return'409'===_0x593ed7['code'];}(_0x52b920)){const _0x57c7b3=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'](_0x57c7b3);}else{if(!(_0x52b920 instanceof et))throw _0x52b920;this['_handleReconnectionError']();}}}}['destroy'](){const _0x109584=this['editor']['plugins']['get'](z),_0x2c219a=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2c219a['channelSessions']['has'](this['_channelId'])&&_0x2c219a['unregister'](this['_channelId']),_0x109584['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x43fe10){if(this['sessionId']!==_0x43fe10['sessionId']&&this['_lastSyncedOperationId']!==_0x43fe10['lastOperationId'])throw new et();return this['sessionId']=_0x43fe10['sessionId'],this['_handleServerResponse']([],{..._0x43fe10,'wereChangesApplied':!0x1,'data':_0x43fe10['data']},'reconnect');}async['_connectService'](_0xea3c,_0x35909b=!0x1){const {connection:_0x10f413}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x10f413,this['_channelId'])['then'](_0x1daca5=>this['_initSessionsHandling'](_0x1daca5))['catch'](_0x213a9a=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x213a9a);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x49a784,_0x576a6f)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x576a6f);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x34962a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xea3c);this['_isPendingUpdate']=!0x0;const _0xb6a3f2=await this['_service']['connect'](_0x10f413,this['_compressOperations'](_0xea3c),_0x34962a);if(this['sessionId']=_0xb6a3f2['sessionId'],_0x35909b){if(!_0xb6a3f2['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xb6a3f2['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xea3c,_0xb6a3f2,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xb6a3f2,_0xea3c);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x20c025=this['editor']['plugins']['get'](Y),_0xbe11b5=this['editor']['plugins']['get'](K),_0x7d351e=_0x20c025['channelSessions']['get'](this['_channelId']);_0x7d351e&&_0x7d351e['length']>0x1?_0xbe11b5['createUserMarkerOperations']():this['listenTo'](_0x20c025,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x20c025['channelSessions']['get'](this['_channelId'])['length']&&_0xbe11b5['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4875bf,_0x58846f,_0x4ecd53,_0x35d7af){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x58846f){const _0x5ab7a8=this['_decompressOperations'](_0x4ecd53,_0x35d7af);await this['_fetchMissingUsers'](_0x5ab7a8),this['_handleExternalOperations'](_0x5ab7a8,_0x58846f,_0x4ecd53['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2e16ee}=this['editor'];let _0x4439db;try{_0x4439db=await this['_service']['getDocumentDetails']();}catch{const _0x2f2f84=X(_0x2e16ee,'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'](_0x2f2f84);}const _0x92bd3a=_0x4439db['currentDocumentSession']||_0x4439db['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x92bd3a['lastOperationId']){const _0x3bf9a7=X(_0x2e16ee,'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'](_0x3bf9a7);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x10aca9=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x10aca9['connection']||'connected'!==_0x10aca9['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x431d5b=this['editor']['plugins']['get'](Y);_0x431d5b['channelSessions']['has'](this['_channelId'])&&_0x431d5b['unregister'](this['_channelId']),_0x10aca9['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xa782fb){const _0x5c0d4e=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5c0d4e,'sessionAdd:'+this['_channelId'],(_0x3d5c95,{session:_0x5114d6})=>{if(_0x5114d6['id']===_0x5c0d4e['mySessionId']){_0x3d5c95['off']();const _0x3e9f92=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x19b10a=_0x5114d6['permissions'];_0x3e9f92&&_0x3e9f92['isEnabled']&&(_0x19b10a=_0x19b10a['filter'](_0x4591e3=>'document:write'!==_0x4591e3)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x19b10a,this['_channelId']);}}),_0x5c0d4e['register'](this['_channelId'],_0xa782fb);}['_initThrowingOnDataSet'](){const _0xb7333=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x224b68)=>{if(!_0x224b68[_0x224b68['length']-0x1]['suppressErrorInCollaboration'])throw new _0x126d14('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xb7333['apply'](this['editor']['data'],_0x224b68);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xfe42b4,[_0x47a7c4])=>{if(this['_document']['version'])throw new _0x126d14('realtimecollaborationclient-init-document-already-initialized',this);_0xfe42b4['stop'](),this['_setPendingAction']();const _0x18d3f0=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x34c58d])=>!_0x34c58d['lazyLoad'])['map'](([_0x52a0c5,_0x43db68])=>[_0x52a0c5,_0x43db68['modelAttributes']||{}])),_0x85a35b=this['_getOperationsFromInitData'](_0x47a7c4,_0x18d3f0);0x0==_0x85a35b['length']&&_0x85a35b['push'](new _0x3106f3(0x0)),_0xfe42b4['return']=this['_connectService'](_0x85a35b)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x116962=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x116962))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x202205,[_0x355747,_0x2acb3e])=>{_0x202205['stop']();const _0x5abf04=this['editor']['model']['document']['getRoot'](_0x355747);if(!this['_knownRootNames']['has'](_0x355747)){const _0x1d9ddd=_0x2acb3e&&_0x2acb3e['data']?_0x2acb3e['data']:'',_0x393de1=_0x2acb3e&&_0x2acb3e['attributes']?_0x2acb3e['attributes']:{};await this['_loadRoot'](_0x355747,_0x1d9ddd,_0x393de1);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5abf04['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5abf04);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x40bfd9){const _0x3fa30e=this['editor']['plugins']['get'](_0x480172),{connection:_0x1c8320}=this['editor']['plugins']['get'](z),_0x43c389=new Set();for(const _0x51f274 of _0x40bfd9){const _0x48305f=_0x51f274['_authorId'];_0x48305f&&!_0x3fa30e['getUser'](_0x48305f)&&_0x43c389['add'](_0x48305f);}if(0x0===_0x43c389['size'])return;const _0x5c1bac=await _0x2a3ac9['getMany'](_0x1c8320,Array['from'](_0x43c389));for(const _0x489096 of _0x5c1bac)_0x3fa30e['getUser'](_0x489096['id'])||_0x3fa30e['addUser'](_0x489096);}['_getOperationsFromInitData'](_0x31fb2e,_0x117238={}){const _0x4ae0f6=this['editor']['model'],_0x3fadea=[];let _0x735edb=0x0;const _0x404ef1='string'==typeof _0x31fb2e?{'main':_0x31fb2e}:_0x31fb2e;for(const _0x7816c7 of Object['keys'](_0x404ef1)){if(!this['_document']['roots']['has'](_0x7816c7))throw new _0x126d14('realtimecollaborationclient-init-non-existent-root',this);const _0x3239dc=this['_document']['getRoot'](_0x7816c7),_0x553883=this['editor']['data']['parse'](_0x404ef1[_0x7816c7],_0x3239dc),_0x471b75=new _0x335bb3(_0x4ae0f6['createPositionAt'](_0x3239dc,0x0),_0x553883,_0x735edb++);_0x3fadea['push'](_0x471b75);for(const [_0x344595,_0x169942]of _0x553883['markers']){const _0x310242=new _0x4739ee(_0x344595,null,_0x4ae0f6['createRange'](_0x4ae0f6['createPositionFromPath'](_0x3239dc,_0x169942['start']['path']['slice']()),_0x4ae0f6['createPositionFromPath'](_0x3239dc,_0x169942['end']['path']['slice']())),_0x4ae0f6['markers'],!0x0,_0x735edb++);_0x3fadea['push'](_0x310242);}}if(_0x117238)for(const [_0x124e3b,_0x36c066]of Object['entries'](_0x117238)){const _0x4db03c=_0x4ae0f6['document']['getRoot'](_0x124e3b);if(!_0x4db03c)throw new _0x126d14('multi-root-editor-root-attributes-no-root',null);for(const [_0x34785b,_0x1f8545]of Object['entries'](_0x36c066))if(null!==_0x1f8545){const _0x31e3bb=new _0x1209b3(_0x4db03c,_0x34785b,null,_0x1f8545,_0x735edb++);_0x3fadea['push'](_0x31e3bb);}}return _0x3fadea;}async['_loadRoot'](_0x184eeb,_0x3e469c,_0xd95bca){this['_getOperationsFromInitData']({[_0x184eeb]:_0x3e469c},{[_0x184eeb]:_0xd95bca})['forEach']((_0x33010f,_0x360bad)=>{_0x33010f['baseVersion']=this['_document']['version']+_0x360bad,_0x33010f['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x33010f);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4424be,_0x1be472){let _0x2916c5;this['_offset']=_0x4424be['offset'];const _0x3aa84f=_0x4424be['wereChangesApplied']&&!_0x4424be['initData'],_0x1c3706=_0x3aa84f?0x0:_0x4424be['data']['baseVersion'];if(_0x1be472['forEach'](_0x3d4779=>{_0x3d4779['_isInit']=!0x0,_0x3d4779['createdAt']=_0x4424be['sessionCreatedAt'],_0x3d4779['_authorId']=null;}),_0x3aa84f)_0x2916c5=_0x1be472,this['_applyOperationsSet'](_0x2916c5,_0x3aa84f);else{if(_0x4424be['initData']){const _0x2932f9=this['_getOperationsFromInitData'](_0x4424be['initData']);this['_document']['history']['version']=-_0x2932f9['length'],_0x2932f9['forEach'](_0x4da2a5=>{_0x4da2a5['baseVersion']-=_0x2932f9['length'],_0x4da2a5['createdAt']=_0x4424be['sessionCreatedAt'],_0x4da2a5['_isInit']=!0x0,_0x4da2a5['_authorId']=null;}),this['_applyOperationsSet'](_0x2932f9,!0x0),this['serverHistory']['version']=-_0x2932f9['length']+this['_offset'],this['_updateServerHistory'](_0x2932f9);}this['_document']['history']['version']=_0x1c3706,_0x2916c5=this['_decompressOperations'](_0x4424be['data'],_0x4424be['metadata']),await this['_fetchMissingUsers'](_0x2916c5),this['_applyOperationsSet'](_0x2916c5,_0x3aa84f);}_0x4424be['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2916c5,_0x4424be['lastOperationId']),this['_lastSyncedOperationId']=_0x4424be['lastOperationId']),this['serverHistory']['version']=_0x1c3706+this['_offset'],this['_updateServerHistory'](_0x2916c5),_0x1be472['filter'](_0x5e5215=>{const _0x26271d=this['_getAffectedRoot'](_0x5e5215);return _0x26271d&&!this['_knownRootNames']['has'](_0x26271d);})['forEach']((_0x58866c,_0x2d00eb)=>{_0x58866c['baseVersion']=this['_document']['version']+_0x2d00eb,this['_saveOperationInBuffer'](_0x58866c);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x832e75,_0x4e8d11){const _0x328c24=_0x4e8d11&&_0x4e8d11['message'];if(_0x328c24&&_0x328c24['startsWith']('realtimecollaborationclient'))throw _0x4e8d11;const _0x1283b0=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x1283b0['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x126d14(_0x832e75,this['editor'],_0x328c24?{'originalError':_0x328c24}:void 0x0);}['_saveOperationInBuffer'](_0x2948ca){this['_knownOperations']['has'](_0x2948ca)||(this['_knownOperations']['add'](_0x2948ca),this['_bufferedOperations']['push'](_0x2948ca),this['_pendingAction']||'marker'==_0x2948ca['type']&&!_0x2948ca['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x4be4a8=!0x1){!_0x4be4a8&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1a3aa7=>{_0x1a3aa7&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x358a5e=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x437392){return _0x437392['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x437392['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x437392['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x358a5e)||this['_crash'](_0x358a5e['message'],_0x358a5e);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x315c29=>{this['on']('change:_isPendingUpdate',()=>{_0x315c29();});});}async['_sendBufferedOperations'](){const _0x5ade3d=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x5ade3d['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x98b3b3=[...this['_bufferedOperations']];for(const _0x116890 of _0x98b3b3)_0x116890['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x116890);const _0x40a888=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x98b3b3),_0x3aaa11=Z++,_0x2c4099=this['_compressOperations'](_0x98b3b3),_0x4371d2=await this['_service']['sendOperations'](_0x2c4099,_0x2c4099['baseVersion'],_0x40a888);try{return await this['_handleServerResponse'](_0x98b3b3,_0x4371d2,_0x3aaa11);}catch(_0x202634){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x202634);}}async['_handleServerResponse'](_0x3b3217,_0xaa2c85,_0x137678){if('error'in _0xaa2c85)throw _0xaa2c85['error'];let _0x14333c=!0x1;if(_0xaa2c85['wereChangesApplied']){_0xaa2c85['lastOperationId']&&(this['_lastSyncedOperationId']=_0xaa2c85['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x583705=>!_0x3b3217['includes'](_0x583705));for(const _0x425560 of _0x3b3217)_0x425560['createdAt']='lastOperationAcceptedAt'in _0xaa2c85&&_0xaa2c85['lastOperationAcceptedAt']||void 0x0;st(_0x3b3217,_0xaa2c85['version']-_0x3b3217['length']),this['_updateServerHistory'](_0x3b3217);const _0x24848d=_0x3b3217['filter'](_0x287399=>{if(!_0x287399['_isInit'])return!0x1;const _0x4b9768=this['_getAffectedRoot'](_0x287399);return _0x4b9768&&!this['_knownRootNames']['has'](_0x4b9768);});st(_0x24848d,this['_document']['version']),this['_applyOperationsSet'](_0x24848d),_0x14333c=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x59f908=this['_decompressOperations'](_0xaa2c85['data'],_0xaa2c85['metadata'])['filter'](_0x425bc8=>_0x425bc8['baseVersion']>=this['_lastServerVersion']);_0x59f908['forEach'](_0x253bad=>this['_addKnownRoot'](_0x253bad)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x348fce=>!_0x348fce['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x348fce))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x59f908),_0x14333c=this['_handleExternalOperations'](_0x59f908,_0xaa2c85['version'],_0xaa2c85['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x14333c?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xe7af20,_0x4e3ee2,_0x46c5b7){try{const _0x44ee0e={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x25e402,operationsB:_0x52eb58,originalOperations:_0x26d24d}=_0x437cec(_0xe7af20,this['_bufferedOperations'],_0x44ee0e);st(_0x25e402,this['_document']['version']),st(_0x52eb58,_0x4e3ee2);for(const _0x2e0c35 of _0x25e402){const _0x2b0c14=_0x26d24d['get'](_0x2e0c35);_0x2b0c14?(_0x2e0c35['_authorId']=_0x2b0c14['_authorId'],'noop'!==_0x2e0c35['type']&&(_0x2e0c35['_aiSource']=_0x2b0c14['_aiSource'])):_0x2e0c35['_authorId']=null;}for(const _0x148149 of _0x52eb58)'noop'!==_0x148149['type']&&(_0x148149['_aiSource']=_0x26d24d['get'](_0x148149)?.['_aiSource']);_0x46c5b7&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xe7af20,_0x46c5b7),this['_lastSyncedOperationId']=_0x46c5b7),this['_bufferedOperations']=[..._0x52eb58],this['_applyOperationsSet'](_0x25e402),this['_updateServerHistory'](_0xe7af20);}catch(_0xc30dc6){return console['error'](_0xc30dc6),!0x1;}return!0x0;}['_applyOperationsSet'](_0x43301a,_0x1dfd5b=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x50e090=>{for(const _0x22b88b of _0x43301a)this['_knownOperations']['add'](_0x22b88b),this['_addKnownRoot'](_0x22b88b),_0x50e090['batch']['addOperation'](_0x22b88b),this['editor']['model']['applyOperation'](_0x22b88b);});}['_addKnownRoot'](_0xe6c6ec){const _0x292110=this['_getAffectedRoot'](_0xe6c6ec);_0x292110&&this['_knownRootNames']['add'](_0x292110);}['_getAffectedRoot'](_0x40fe33){let _0x4f973c,_0x3faf56;switch(_0x40fe33['type']){case'insert':_0x4f973c=_0x40fe33['position']['root'];break;case'marker':if(_0x3faf56=_0x40fe33['newRange'],!_0x3faf56)return null;_0x4f973c=_0x3faf56['root'];break;case'addRootAttribute':_0x4f973c=_0x40fe33['root'];break;case'addRoot':_0x4f973c=_0x40fe33['affectedSelectable'];break;case'move':_0x4f973c=_0x40fe33['targetPosition']['root'];break;default:return null;}return _0x4f973c['rootName'];}['_updateServerHistory'](_0x1bf406){_0x1bf406['forEach'](_0x541346=>{const _0x1d6c9d=_0x541346['clone']();_0x1d6c9d['_authorId']=_0x541346['_authorId'],_0x1d6c9d['_isInit']=!!_0x541346['_isInit'],_0x1d6c9d['_aiSource']=_0x541346['_aiSource'],_0x1d6c9d['createdAt']=_0x541346['createdAt'],_0x1d6c9d['baseVersion']+=this['_offset'],_0x541346['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1d6c9d),this['serverHistory']['addOperation'](_0x1d6c9d);});}['_handleReconnectionError'](_0x5d98fd){const _0x2c97a9=this['editor']['plugins']['get']('Notification'),_0x37723b=this['editor']['locale'];_0x5d98fd||(_0x5d98fd=X(_0x37723b,'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.')),_0x2c97a9['showWarning'](_0x5d98fd,{'title':X(_0x37723b,'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'](_0x1b1cb9)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1b1cb9)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x425350){const _0x1857f0=_0x425350['map'](_0x9f2917=>_0x9f2917['toJSON']());return this['_compressor']['compress'](_0x1857f0);}['_decompressOperations'](_0x382ad3,_0x374651){return this['_compressor']['decompress'](_0x382ad3)['map']((_0x57b512,_0x4d2f05)=>{const _0x1d413d='init'==_0x374651[_0x4d2f05]['type'];if('InsertOperation'==_0x57b512['__className']){const _0x2ec0c7=_0x57b512['position']['root'];!this['_document']['getRoot'](_0x2ec0c7)&&(this['_document']['createRoot']('$unknown',_0x2ec0c7)['_isAttached']=!0x1);}else{if('RootOperation'==_0x57b512['__className']){const _0x26a1f0=this['_document']['getRoot'](_0x57b512['rootName']);_0x26a1f0&&'$unknown'==_0x26a1f0['name']&&_0x57b512['elementName']!=_0x26a1f0['name']&&(_0x26a1f0['name']=_0x57b512['elementName']);}}const _0xe55948=_0x2de99b['fromJSON'](_0x57b512,this['_document']);return _0xe55948['wasUndone']=_0x57b512['wasUndone'],_0xe55948['_isInit']=_0x1d413d,_0xe55948['_authorId']=_0x1d413d?null:_0x374651[_0x4d2f05]['userId'],_0xe55948['_isDisconnection']='cs:removeUser'===_0x374651[_0x4d2f05]['type'],_0xe55948['_aiSource']=_0x57b512['_aiSource']||void 0x0,_0xe55948['createdAt']=_0x374651[_0x4d2f05]['createdAt'],_0xe55948;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x380254=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x380254&&_0x380254['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x49d7fa,_0x4f59f0){for(const _0x3c0951 of _0x49d7fa)_0x3c0951['baseVersion']=_0x4f59f0++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x20a7fd){this['_ignoredOperations']=_0x20a7fd,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3e251a){let _0x2eb2d1=_0x3e251a['length'];for(;_0x2eb2d1--;){const _0x2531f8=_0x3e251a[_0x2eb2d1];if(!this['_ignoredOperations']['has'](_0x2531f8)){if(!this['_operationToId']['has'](_0x2531f8)){const _0x48ba52=_0x402abe()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2531f8,_0x48ba52);}return this['_operationToId']['get'](_0x2531f8);}}}['setIdForTheLastOperation'](_0xe6505f,_0x3d1821){if(!_0x3d1821)return;let _0x529d06=_0xe6505f['length'];for(;_0x529d06--;){const _0x44d30a=_0xe6505f[_0x529d06];this['_ignoredOperations']['has'](_0x44d30a)||this['_operationToId']['set'](_0x44d30a,_0x3d1821);}}},nt=class extends _0xc1f62{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x49ae67{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x104468)());['_services'];static get['requires'](){return[z,_0x52ddef,Y,_0x480172];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x25b041){super(_0x25b041),this['_services']=new Map();}async['init'](){const _0x358b2a=this['context'],_0xefdbdc=_0x358b2a['plugins']['get'](_0x52ddef);if(_0x358b2a['plugins']['get'](z)['addToReconnectionStack'](this),_0xefdbdc['adapter']={'addCommentThread':async({channelId:_0x47f8f4,threadId:_0x457ee2,comments:_0x11811c,resolvedAt:_0x3f5cc6,resolvedBy:_0x447c7e,context:_0x3e6b06,attributes:_0x11aa4e})=>{const _0x49d097=await this['_getService'](_0x47f8f4)['addCommentThread']({'commentThreadId':_0x457ee2,'comments':_0x11811c['map'](_0x4eaf03=>function(_0x4f224a,_0x5ce988,_0x55c5f8){return{'commentThreadId':_0x55c5f8,'commentId':_0x4f224a['commentId'],'userId':_0x4f224a['authorId'],'content':_0x4f224a['content'],'documentId':_0x5ce988,'createdAt':_0x4f224a['createdAt'],'attributes':_0x4f224a['attributes']||{}};}(_0x4eaf03,_0x47f8f4,_0x457ee2)),'resolvedAt':_0x3f5cc6,'resolvedBy':_0x447c7e,'context':_0x3e6b06,'attributes':_0x11aa4e})['catch'](ct);return{'threadId':_0x49d097['commentThreadId'],'comments':_0x49d097['comments']};},'getCommentThread':async({channelId:_0x37632a,threadId:_0x43bb5d})=>{const _0x5de18e=await this['_getService'](_0x37632a)['getCommentThread'](_0x43bb5d)['catch'](rt)['catch'](ct);return _0x5de18e?_0x5de18e['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5de18e]),{'threadId':_0x5de18e['commentThreadId'],'comments':_0x5de18e['comments']['map'](at),'context':_0x5de18e['context'],'resolvedAt':_0x5de18e['resolvedAt'],'resolvedBy':_0x5de18e['resolvedBy'],'attributes':_0x5de18e['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0xfc5d6f,threadId:_0x279549,context:_0x4cfcfb,unlinkedAt:_0x123aa5,attributes:_0x2cbae5})=>this['_getService'](_0xfc5d6f)['updateCommentThread']({'commentThreadId':_0x279549,'context':_0x4cfcfb,'attributes':_0x2cbae5,'unlinkedAt':_0x123aa5})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x167db3,threadId:_0x1f39be})=>{const _0x2cbe9e=await this['_getService'](_0x167db3)['resolveCommentThread'](_0x1f39be)['catch'](rt)['catch'](ct);return{'threadId':_0x2cbe9e['commentThreadId'],'resolvedAt':_0x2cbe9e['resolvedAt'],'resolvedBy':_0x2cbe9e['resolvedBy']};},'reopenCommentThread':async({channelId:_0x21b042,threadId:_0x5a36e9})=>this['_getService'](_0x21b042)['reopenCommentThread'](_0x5a36e9)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3e4dc6,threadId:_0x34e8a5})=>this['_getService'](_0x3e4dc6)['removeCommentThread'](_0x34e8a5)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x2c07df,threadId:_0x4e8b02,commentId:_0x46b4f1,content:_0x556466,attributes:_0x3c6194})=>this['_getService'](_0x2c07df)['addComment'](_0x4e8b02,_0x46b4f1,_0x556466,_0x3c6194)['catch'](ct),'updateComment':({channelId:_0x42cb16,threadId:_0x45dc13,commentId:_0x3eff2d,content:_0x5a7e6b,attributes:_0x296bae})=>this['_getService'](_0x42cb16)['updateComment'](_0x45dc13,_0x3eff2d,_0x5a7e6b,_0x296bae)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x4bd5b1,threadId:_0x15be60,commentId:_0x12b8ac})=>this['_getService'](_0x4bd5b1)['removeComment'](_0x15be60,_0x12b8ac)['catch'](rt)['catch'](ct)},_0x358b2a instanceof _0x15b218){const _0x4a63da=_0x358b2a['config']['get']('collaboration.channelId'),_0x3c180c=_0x358b2a['plugins']['get'](Y);await this['_setUpService'](_0x4a63da);const _0x49071a=await this['_services']['get'](_0x4a63da)['getConnectedSessions']();this['listenTo'](_0x3c180c,'sessionAdd:'+_0x4a63da,(_0x4d9f9b,{session:_0x3b9a18})=>{_0x3b9a18['id']===_0x3c180c['mySessionId']&&(_0x4d9f9b['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3b9a18['permissions'],_0x4a63da));}),_0x3c180c['register'](_0x4a63da,_0x49071a);}}async['_setUpService'](_0x2c7284){if(this['_services']['has'](_0x2c7284))throw new _0x126d14('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2c7284});const _0x112523=this['context']['plugins']['get'](_0x52ddef),_0x4de713=new CloudServicesCommentsAdapter['CommentsService'](_0x2c7284);this['_services']['set'](_0x2c7284,_0x4de713),this['listenTo'](_0x4de713,'commentThreadAdded',(_0x48c59d,_0x4ec438)=>{const {commentThreadId:_0x4c77dd,documentId:_0x134199,context:_0x7f11b2,attributes:_0xd73f98,resolvedAt:_0x4ce7f3,resolvedBy:_0x1c8bc2,comments:_0x596a97}=_0x4ec438;_0x112523['getCommentThread'](_0x4c77dd)||_0x112523['addCommentThread']({'threadId':_0x4c77dd,'channelId':_0x134199,'comments':_0x596a97?_0x596a97['map'](at):[],'context':_0x7f11b2,'attributes':_0xd73f98,'resolvedAt':_0x4ce7f3,'resolvedBy':_0x1c8bc2,'isFromAdapter':!0x0});}),this['listenTo'](_0x4de713,'commentThreadUpdated',(_0x432a1b,{commentThreadId:_0x3ad2ca,documentId:_0x40a113,context:_0x34e4b6,unlinkedAt:_0x11b2e4,attributes:_0x52e67d})=>{_0x112523['getCommentThread'](_0x3ad2ca)&&_0x112523['updateCommentThread']({'threadId':_0x3ad2ca,'channelId':_0x40a113,'context':_0x34e4b6,'unlinkedAt':_0x11b2e4,'attributes':_0x52e67d,'isFromAdapter':!0x0});}),this['listenTo'](_0x4de713,'commentThreadResolved',(_0x53091f,{commentThreadId:_0x33ee2d,resolvedBy:_0x16044a,resolvedAt:_0x4df069})=>{const _0x3408f2=_0x112523['getCommentThread'](_0x33ee2d);_0x3408f2&&_0x3408f2['resolve']({'resolvedBy':_0x16044a,'resolvedAt':_0x4df069,'isFromAdapter':!0x0});}),this['listenTo'](_0x4de713,'commentThreadReopened',(_0x2fbe08,{commentThreadId:_0x248b56})=>{const _0x177e67=_0x112523['getCommentThread'](_0x248b56);_0x177e67&&_0x177e67['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4de713,'commentThreadRemoved',(_0x16cb98,{commentThreadId:_0x547e1d})=>{const _0x267ad3=_0x112523['getCommentThread'](_0x547e1d);_0x267ad3&&_0x267ad3['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4de713,'commentAdded',(_0x359373,_0x232db0)=>{const _0x119100=_0x232db0['commentThreadId'],_0x1e2702=_0x112523['getCommentThread'](_0x119100);_0x1e2702&&_0x1e2702['addComment']({...at(_0x232db0),'isFromAdapter':!0x0});}),this['listenTo'](_0x4de713,'commentUpdated',(_0x3fbe82,{commentThreadId:_0x1ff57c,commentId:_0x58fc84,content:_0x4e9001,attributes:_0x490baa})=>{const _0x4775a4=_0x112523['getCommentThread'](_0x1ff57c);if(_0x4775a4){const _0x1a524b=_0x4775a4['getComment'](_0x58fc84);_0x1a524b&&_0x1a524b['update']({'content':_0x4e9001,'attributes':_0x490baa,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4de713,'commentRemoved',(_0x12a9ca,{commentThreadId:_0x116711,commentId:_0xc696c5})=>{const _0x40ab9d=_0x112523['getCommentThread'](_0x116711);if(_0x40ab9d){const _0x543dde=_0x40ab9d['getComment'](_0xc696c5);_0x543dde&&_0x543dde['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x4de713,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x2c7284),this['stopListening'](_0x4de713));}),await this['_connectService'](_0x2c7284);}['destroy'](){if(this['context']instanceof _0x15b218){const _0x15b531=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x15b531)&&this['_terminateService'](_0x15b531);}}['_terminateService'](_0x3ca66f){if(!this['_services']['has'](_0x3ca66f))throw new _0x126d14('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3ca66f});this['_getService'](_0x3ca66f)['disconnect'](),this['_services']['delete'](_0x3ca66f);}async['reconnect'](){for(const _0x8c5529 of this['_services']['keys']())await this['_connectService'](_0x8c5529);if(this['context']instanceof _0x15b218){const _0x33f3d9=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x33f3d9)){const _0x4cf64b=this['context']['plugins']['get'](Y);_0x4cf64b['unregister'](_0x33f3d9);const _0xef6a2d=await this['_services']['get'](_0x33f3d9)['getConnectedSessions']();_0x4cf64b['register'](_0x33f3d9,_0xef6a2d);}}}async['_connectService'](_0x3caaa0){const {connection:_0x3be000}=this['context']['plugins']['get'](z),_0x5a6016=this['context']['plugins']['get'](_0x52ddef),_0x6e4cf5=await this['_services']['get'](_0x3caaa0)['connect'](_0x3be000);await this['_fetchMissingUsersForThreads'](_0x6e4cf5);const _0x28f2c3=new Set(Array['from'](_0x5a6016['getCommentThreads']({'channelId':_0x3caaa0}),_0x144c2a=>_0x144c2a['id']));for(const _0x1e9457 of _0x6e4cf5)_0x1e9457['deletedAt']||_0x28f2c3['delete'](_0x1e9457['commentThreadId']);for(const _0x1ff2d8 of _0x28f2c3)_0x5a6016['getCommentThread'](_0x1ff2d8)['remove']({'isFromAdapter':!0x0});for(const _0x1da677 of _0x6e4cf5){let _0x338d69=_0x5a6016['getCommentThread'](_0x1da677['commentThreadId']);const {commentThreadId:_0x9ae8fb,context:_0x4cb3dd,attributes:_0x225cb3,resolvedBy:_0x2874ed,resolvedAt:_0x5c4e80,unlinkedAt:_0x4d2e39,deletedAt:_0x32b57f}=_0x1da677;if(_0x32b57f)continue;_0x338d69||(_0x338d69=_0x5a6016['addCommentThread']({'channelId':_0x3caaa0,'threadId':_0x9ae8fb,'context':_0x4cb3dd,'attributes':_0x225cb3||{},'resolvedBy':_0x2874ed,'resolvedAt':_0x5c4e80,'unlinkedAt':_0x4d2e39,'isFromAdapter':!0x0}));const _0x45910e=new Set(Array['from'](_0x338d69['comments'],_0x8ae1d8=>_0x8ae1d8['id']));for(const _0x7a7a8a of _0x1da677['comments'])_0x45910e['delete'](_0x7a7a8a['commentId']);for(const _0x5bd6ea of _0x45910e)_0x338d69['getComment'](_0x5bd6ea)['remove']({'isFromAdapter':!0x0});for(const _0x59b205 of _0x1da677['comments']){const _0xcacbad=_0x338d69['getComment'](_0x59b205['commentId']);_0xcacbad?_0xcacbad['content']!==_0x59b205['content']&&_0xcacbad['update']({'content':_0x59b205['content'],'isFromAdapter':!0x0}):_0x338d69['addComment'](Object['assign'](at(_0x59b205),{'isFromAdapter':!0x0}));}}}['_getService'](_0x387a19){if(!this['_services']['has'](_0x387a19))throw new _0x126d14('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x387a19});return this['_services']['get'](_0x387a19);}async['_fetchMissingUsersForThreads'](_0xfad2c7){const _0x535d0f=this['context']['plugins']['get'](_0x480172),{connection:_0x4f7007}=this['context']['plugins']['get'](z),_0x44c79a=new Set();for(const {resolvedBy:_0x500cfb,comments:_0xbbc1d2}of _0xfad2c7){_0x500cfb&&!_0x535d0f['getUser'](_0x500cfb)&&_0x44c79a['add'](_0x500cfb);for(const {userId:_0x7dff5c}of _0xbbc1d2)_0x535d0f['getUser'](_0x7dff5c)||_0x44c79a['add'](_0x7dff5c);}if(0x0===_0x44c79a['size'])return;const _0x20a757=await _0x2a3ac9['getMany'](_0x4f7007,Array['from'](_0x44c79a));for(const _0x5c01b9 of _0x20a757)_0x535d0f['getUser'](_0x5c01b9['id'])||_0x535d0f['addUser'](_0x5c01b9);}};async function rt(_0x323ada){if('404'!==_0x323ada['code'])throw _0x323ada;}function ct(_0x11f211){if((_0x5cfdf5=_0x11f211)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x5cfdf5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5cfdf5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x5cfdf5;throw _0x11f211;}function at(_0x47ee9b){return{'threadId':_0x47ee9b['commentThreadId'],'commentId':_0x47ee9b['commentId'],'content':_0x47ee9b['content'],'createdAt':_0x47ee9b['createdAt'],'authorId':_0x47ee9b['userId'],'attributes':_0x47ee9b['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0xc1f62{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x4da89c)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x1e3875,Y,_0x480172];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1fe190){super(_0x1fe190);const _0x4f6c24=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x4f6c24);}async['init'](){const _0x58d0b9=this['editor']['plugins']['get'](tt),_0x38709e=_0x58d0b9['serverHistory'],_0x619a8a=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x38709e,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x58d0b9['sessionId']});const _0x374117=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x2b5982,_0x1c4078=await _0x3d091d['isBundleUploaded'](_0x619a8a['connection'],_0x374117);this['editor']['plugins']['get'](_0x1e3875)['adapter']={'getRevision':async({revisionId:_0x51e8e3})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x51e8e3)),'updateRevisions':async _0x174aef=>{await this['_waitForServiceReady']();const _0x185ecb=this['_revisionTracker']['currentRevision'];if(_0x1c4078&&0x1===_0x174aef['length']&&_0x174aef[0x0]['id']===_0x185ecb['id'])return _0x174aef;for(const _0x468cae of _0x174aef)_0x468cae['id']===_0x185ecb['id']&&(_0x468cae['isEmptyCurrent']=_0x468cae['fromVersion']===_0x468cae['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x174aef,this['_lastRequestId'])['then'](_0x25ee77=>(this['_lastRequestId']=_0x25ee77,_0x174aef))['catch'](_0x4abb8e=>{if(pt(_0x4abb8e)||'400'===_0x4abb8e['code']&&void 0x0!==_0x4abb8e['data']['wrongRequestId']){for(const _0x49571e of _0x174aef)this['_revisionTracker']['repository']['getRevision'](_0x49571e['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x49571e['id'],_0x49571e,!0x1);if(pt(_0x4abb8e)&&'destroyed'!==this['editor']['state'])throw _0x4abb8e;return _0x174aef;}throw _0x4abb8e;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xdaabd5,{revisionsData:_0x3d56e8,requestId:_0x35dacb})=>{Math['max'](..._0x3d56e8['map'](_0x59af2f=>_0x59af2f['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3d56e8,_0x35dacb);}):this['_handleRevisionsUpdate'](_0x3d56e8,_0x35dacb);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x619a8a['connection']?.['state']&&(_0x619a8a['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x115f3f,requestId:_0xe08a70}=await this['_revisionHistoryService']['connect'](_0x619a8a['connection']);_0x619a8a['addToReconnectionStack'](this),this['_lastRequestId']=_0xe08a70,await this['_fetchMissingUsers'](_0x115f3f);for(const _0x4e83d2 of _0x115f3f)this['_revisionTracker']['addRevisionData'](_0x4e83d2);this['listenTo'](_0x58d0b9,'change:_isConnected',(_0xfcb72f,_0xdeaddd,_0x195a7f)=>{_0x195a7f&&(this['_oldOffset']=_0x58d0b9['_offset'],_0xfcb72f['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x17190c=this['editor']['plugins']['get'](z),_0x158e90=this['editor']['plugins']['get'](tt),_0x399870=async()=>{const _0x2f4056=this['_revisionTracker']['currentRevision'],_0x6511d1=_0x2f4056['id'],_0x4829b4=_0x6511d1!==_0x158e90['sessionId'];if(_0x4829b4){const _0x597748=_0x158e90['_offset']-this['_oldOffset'],_0x3d2eff=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x2f4056['toVersion']+_0x597748!==_0x3d2eff){const _0x291bc9=_0x2f4056['fromVersion']+_0x597748,_0x34e6d6=this['editor']['plugins']['get'](_0x480172),_0x28f1f3=this['_revisionTracker']['buildRevisionData']({'revision':_0x2f4056,'from':_0x291bc9,'to':_0x3d2eff});_0x28f1f3['id']=_0x2f4056['id'];const _0x33b9fa=_0x28f1f3['authorsIds']['map'](_0x3fb568=>_0x34e6d6['getUser'](_0x3fb568));_0x2f4056['_update']({..._0x28f1f3,'authors':_0x33b9fa},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2f4056['id'],_0x28f1f3,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3d2eff,_0x2f4056['toVersion']!==_0x2f4056['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x6511d1)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x6511d1),this['_revisionTracker']['_createCurrentRevision'](_0x3d2eff);}const {revisions:_0x246782,requestId:_0x264307}=await this['_revisionHistoryService']['reconnect'](_0x17190c['connection'],this['_lastRequestId']);_0x4829b4&&_0x246782['length']>0x0?_0x158e90['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x246782),this['_handleRevisionsUpdate'](_0x246782,_0x264307),this['_revisionTracker']['sendBufferedUpdates']());};return _0x158e90['_isConnected']?_0x399870():new Promise((_0x41bae3,_0x5d5e6f)=>{_0x158e90['once']('change:_isConnected',()=>{_0x399870()['then'](_0x41bae3)['catch'](_0x5d5e6f);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4b9f3f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x37476c=>{_0x37476c['off'](),_0x4b9f3f();});});}['_getLatestVersionFromServerOperations'](){const _0x2e73c8=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x4a4d16 of _0x2e73c8)if('marker'!==_0x4a4d16['type']||_0x4a4d16['affectsData'])return _0x4a4d16['baseVersion']+0x1;}['_getLatestVersion'](){const _0x10073c=this['editor']['plugins']['get'](tt);return new Promise(_0x3664d2=>{_0x10073c['_isPendingUpdate']?_0x10073c['once']('change:_isPendingUpdate',()=>{_0x3664d2(this['_getLatestVersionFromServerOperations']());}):_0x3664d2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x9b0b98,_0x2ba7c1){const _0x33d7f9=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2ba7c1;for(const _0x52e0f2 of _0x9b0b98){const _0x1a5052=_0x33d7f9['getRevision'](_0x52e0f2['id']);if(_0x1a5052){if((_0x52e0f2['fromVersion']||_0x52e0f2['toVersion'])&&(_0x52e0f2['diffData']=null),_0x1a5052===this['_revisionTracker']['currentRevision']){const _0x5c18b7=Math['max'](_0x1a5052['toVersion'],_0x52e0f2['toVersion']),_0x39cde8=Math['max'](_0x1a5052['fromVersion'],_0x52e0f2['fromVersion']);let _0x344f40;_0x1a5052['toVersion']===_0x52e0f2['toVersion']&&_0x1a5052['fromVersion']===_0x52e0f2['fromVersion']?(_0x344f40=!0x0,this['_preventResendingRevisionData'](_0x52e0f2)):_0x52e0f2['toVersion']===_0x5c18b7&&_0x52e0f2['fromVersion']===_0x39cde8?_0x344f40=!0x1:(_0x1a5052['toVersion']===_0x5c18b7&&_0x1a5052['fromVersion']===_0x39cde8||this['_fixRevision']({'revision':_0x1a5052,'from':_0x39cde8,'to':_0x5c18b7}),_0x344f40=!0x0),_0x344f40&&(delete _0x52e0f2['fromVersion'],delete _0x52e0f2['toVersion'],delete _0x52e0f2['diffData'],delete _0x52e0f2['createdAt'],delete _0x52e0f2['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x52e0f2),this['_preventResendingRevisionData'](_0x52e0f2);}else this['_revisionTracker']['addRevisionData'](_0x52e0f2);}const _0x51bd47=_0x33d7f9['getRevisions']();_0x51bd47['reverse']();for(let _0x203e05=0x0;_0x203e05<_0x51bd47['length']-0x1;_0x203e05++){const _0x128018=_0x51bd47[_0x203e05],_0x1c1374=_0x51bd47[_0x203e05+0x1];if(_0x128018['fromVersion']<_0x1c1374['toVersion']){const _0x143b13=_0x1c1374['toVersion'],_0x5134b9=Math['max'](_0x143b13,_0x128018['toVersion']);this['_fixRevision']({'revision':_0x128018,'from':_0x143b13,'to':_0x5134b9});}}}['_fixRevision']({revision:_0xdb07e4,from:_0x2cbc6b,to:_0xf314dc}={}){const _0x552ec0=this['editor']['plugins']['get'](_0x480172),_0x3023bf=this['_revisionTracker']['buildRevisionData']({'revision':_0xdb07e4,'from':_0x2cbc6b,'to':_0xf314dc});_0x3023bf['authors']=_0x3023bf['authorsIds']['map'](_0x4d6d3b=>_0x552ec0['getUser'](_0x4d6d3b)),_0xdb07e4['_update'](_0x3023bf);}['_preventResendingRevisionData'](_0x901e9f){const _0x3039b3={};_0x3039b3['id']=_0x901e9f['id'];for(const _0x5c1c0c of Object['keys'](_0x901e9f))'id'!==_0x5c1c0c&&(_0x3039b3[_0x5c1c0c]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3039b3['id'],_0x3039b3,!0x0);}async['_fetchMissingUsers'](_0x571b8f){const _0x1ea1d8=this['editor']['plugins']['get'](_0x480172),{connection:_0x4d4950}=this['editor']['plugins']['get'](z),_0x280abf=new Set();for(const _0x1e9eaf of _0x571b8f){for(const _0x2d92f1 of _0x1e9eaf['authorsIds'])_0x44b261(_0x2d92f1);_0x1e9eaf['creatorId']&&_0x44b261(_0x1e9eaf['creatorId']);}if(0x0===_0x280abf['size'])return;const _0x27f707=await _0x2a3ac9['getMany'](_0x4d4950,Array['from'](_0x280abf));for(const _0xcf4924 of _0x27f707)_0x1ea1d8['getUser'](_0xcf4924['id'])||_0x1ea1d8['addUser'](_0xcf4924);function _0x44b261(_0x733438){_0x1ea1d8['getUser'](_0x733438)||_0x280abf['add'](_0x733438);}}};function pt(_0x31a495){return _0x31a495['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x31a495['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x31a495['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0xc1f62{static get['requires'](){return[_0x1e3875,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x48174d{['_collapseAt'];constructor(_0x1cfc31,_0x4502ba=0x6){super(_0x1cfc31);const _0x3e549c=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4502ba,this['bind']('isHidden')['to'](this,'usersCount',_0x1c1854=>_0x1c1854<_0x4502ba),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x3e549c['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':_0x3e549c['to']('usersCount',_0x166f4a=>'+'+(_0x166f4a-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x48174d{['items'];['keystrokes'];constructor(_0x2da826){super(_0x2da826);const _0x220251=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x6ca5cf(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x220251['if']('hasPopup'),'aria-expanded':_0x220251['to']('isExpanded',_0x370f7f=>this['hasPopup']&&String(_0x370f7f)),'aria-label':_0x220251['to']('hasPopup',_0xf20fc6=>X(_0x2da826,_0xf20fc6?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x220251['to']('hasPopup',_0x3b8114=>!!_0x3b8114&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x220251['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x220251['to'](_0x580a42=>{const _0x48b0b4=_0x580a42,_0x33420d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x21b7d8=document['querySelector']('.ck-balloon-panel_with-arrow');_0x33420d?.['contains'](_0x48b0b4['relatedTarget'])||_0x21b7d8?.['contains'](_0x48b0b4['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3f279b,_0x3006e1,_0x330f33)=>{this['element']&&(_0x330f33?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 _0x48174d{['counterView'];['inlineListView'];constructor(_0x168be6,_0x4f620a=0x6){super(_0x168be6);const _0x58c06a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x4f620a),this['inlineListView']=new vt(_0x168be6),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x463a80 of this['inlineListView']['items'])_0x463a80['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',_0x58c06a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x48174d{['listWrapperView'];constructor(_0x58f2f9,_0x17b015){super(_0x58f2f9);const _0x46acac=this['bindTemplate'];this['listWrapperView']=new bt(_0x58f2f9,_0x17b015),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x58f2f9,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x46acac['to'](_0x19bca7=>{const _0x4ba6d0=_0x19bca7,_0x2c22d1=document['querySelector']('.ck-presence-list__list'),_0x236986=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2c22d1?.['contains'](_0x4ba6d0['relatedTarget'])||_0x236986?.['contains'](_0x4ba6d0['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x11c7db{constructor(_0x2812f2,_0x5b7f07){super(_0x2812f2);const _0x3671be=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5b7f07?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3671be['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3671be['to']('role'),'aria-label':_0x3671be['to']('ariaLabel'),'aria-labelledby':_0x3671be['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3d533['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x14e43c=this['element'];_0x14e43c&&(this['_isScrollable']=Math['max'](_0x14e43c['scrollHeight'],_0x14e43c['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x155146{['userView'];constructor(_0x1f863f,_0x904755,_0x22fe22){super(_0x1f863f);const _0x9a9b69=this['bindTemplate'];this['userView']=new _0x1465af(_0x1f863f,_0x904755);const _0x34050e={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x904755['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x904755['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x904755['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x904755['color']['getColorVariable'](),'--ck-user-color-alpha':_0x904755['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x22fe22&&(_0x34050e['tag']='button',_0x34050e['on']={'click':_0x9a9b69['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x34050e);}['focus'](){this['element']['focus']();}},It=class extends _0x48174d{['userView'];['markerView'];constructor(_0x433f37,_0x46901e,_0x5470db){super(_0x433f37);const _0x255bba=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x1465af(_0x433f37,_0x46901e),this['markerView']=new St(_0x433f37,_0x46901e);const _0x9385ce=new _0x47278a(_0x433f37);_0x9385ce['template']['tag']='span',_0x9385ce['text']=_0x46901e['name'];const _0x4c775c={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x255bba['to']('isFocusable',_0x591117=>!!_0x591117&&0x0),'aria-labelledby':_0x9385ce['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x255bba['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x255bba['to']('hasTooltip',_0x2f96ef=>!_0x2f96ef),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x9385ce]};_0x5470db&&(_0x4c775c['tag']='button',_0x4c775c['on']={'click':_0x255bba['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4c775c);}},St=class extends _0x48174d{constructor(_0x54a1ee,_0x2b9af5){super(_0x54a1ee),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2b9af5['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2b9af5['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2b9af5['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x49ae67{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x362b01){super(_0x362b01),this['context']['config']['define']('presenceList',Tt);const _0x5dbc92=_0x362b01['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5dbc92)throw new _0x126d14('presencelist-collapseat-invalid-format',this);if(_0x5dbc92<0x1)throw new _0x126d14('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1a035a(),this['balloonPanelView']=new _0x5cb958(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x4519ab of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4519ab);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1e488f,_0x54600b)=>{this['_handleUserAdd'](_0x54600b);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2f4cdc,_0x364494)=>{this['_handleUserRemove'](_0x364494);});}['_createView'](){const _0x584f53=this['context'],_0x4df612=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x224f49=this['balloonPanelView'];if(!_0x12ce62(_0x584f53['config']['get']('presenceList.container')))throw new _0x126d14('presencelist-missing-container',this);return _0x4df612['counterView']['bind']('usersCount')['to'](this),_0x4df612['bind']('isCollapsed')['to'](this,'usersCount',_0x38fbd4=>{const {collapseAt:_0x185a45}=_0x584f53['config']['get']('presenceList'),_0x207a55=_0x38fbd4>=_0x185a45;if(_0x207a55&&!_0x4df612['inlineListView']['items']['find'](_0x70a5a2=>_0x70a5a2 instanceof wt)){const _0x3102e1=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x3102e1&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4df612['inlineListView']['items']['add'](_0x4df612['counterView']);}return _0x207a55||this['hideDropdown'](),_0x207a55;}),_0x4df612['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1c17c5=>{const _0x400453=_0x584f53['config']['get']('presenceList'),_0x4c886c=new It(_0x584f53['locale'],_0x1c17c5,!!_0x400453['onClick']);return _0x4c886c['bind']('hasTooltip')['to'](_0x4df612,'isCollapsed',_0xe4cb31=>!_0xe4cb31),_0x4c886c['bind']('isFocusable')['to'](_0x4df612,'isCollapsed',_0x54acea=>!_0x54acea),_0x400453['onClick']&&this['listenTo'](_0x4c886c,'execute',()=>{this['view']['isCollapsed']||_0x400453['onClick'](_0x1c17c5,_0x4c886c['element']);}),_0x4c886c;}),this['listenTo'](_0x4df612['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4df612['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4df612['inlineListView']['keystrokes']['set']('Enter',(_0x2d55ea,_0x3902de)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3902de());}),_0x4df612['render'](),_0x224f49['render'](),_0xcd0fcf({'emitter':_0x4df612,'activator':()=>_0x224f49['isVisible'],'contextElements':[_0x224f49['element'],_0x4df612['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x584f53['config']['get']('presenceList.container')['appendChild'](_0x4df612['element']),this['_bodyCollection']=new _0xafa5b4(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4df612;}['_handleUserAdd'](_0x2ee482){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2ee482['isMe'])return;const _0x1adca0=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x1adca0-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x36317e=_0x2ee482['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2ee482,_0x36317e);}['_handleUserRemove'](_0x4fa5f0){this['usersCount']--;const {collapseAt:_0x4e02c3}=this['context']['config']['get']('presenceList'),_0x221cf8=this['usersCount']>=_0x4e02c3;if(this['currentDisplayedUsers']['get'](_0x4fa5f0['id']))this['currentDisplayedUsers']['remove'](_0x4fa5f0['id']);else{if(_0x221cf8&&this['currentDisplayedUsers']['length']+0x1===_0x4e02c3-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x221cf8?0x1:0x0)<this['usersCount']){for(const _0x141e2a of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x141e2a['id'])&&(this['currentDisplayedUsers']['add'](_0x141e2a,Math['min'](this['currentDisplayedUsers']['length']-(_0x221cf8?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x221cf8?0x1:0x0)===_0x4e02c3-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x42f835=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x42f835['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x35314d}=this['presenceDropdownView'];_0x35314d['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x260e09=>{if(!_0x42f835['displayMe']&&_0x260e09['isMe'])return null;const _0x37e1de=new kt(this['context']['locale'],_0x260e09,!!_0x42f835['onClick']);return _0x42f835['onClick']&&this['listenTo'](_0x37e1de,'execute',()=>{_0x42f835['onClick'](_0x260e09,_0x37e1de['element']);}),_0x37e1de;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x35314d['focus'](),_0x35314d['checkIfScrollable']();const _0x201187=(_0x2ed547,_0x12ea4d)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x12ea4d();};_0x35314d['keystrokes']['set']('Esc',_0x201187),_0x35314d['keystrokes']['set']('Shift+Tab',_0x201187),_0x35314d['keystrokes']['set']('Tab',(_0x167d35,_0x34d449)=>{!function(_0x55351f){const _0x3900c5=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x469877=>_0x469877+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4f5c94=[...document['body']['querySelectorAll'](_0x3900c5)]['filter'](_0x6ff53a=>_0x6ff53a===document['activeElement']||_0x6ff53a['offsetWidth']+_0x6ff53a['offsetHeight']>0x0)['sort']((_0x23eef1,_0x336c50)=>(_0x23eef1['tabIndex']||0x0)-(_0x336c50['tabIndex']||0x0)),_0xf9d8a8=_0x4f5c94[(_0x4f5c94['indexOf'](_0x55351f)+0x1)%_0x4f5c94['length']];_0xf9d8a8&&_0xf9d8a8['focus']();}(this['view']['element']),this['hideDropdown'](),_0x34d449();}),_0x35314d['focusTracker']['add'](this['view']['element']),_0x35314d['focusTracker']['on']('change:isFocused',(_0x6b178c,_0x5015c9,_0x5daa50)=>{_0x5daa50||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 _0x49ae67{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 _0x46d979,ContextPlugin as _0x4b84ca,PendingActions as _0x59ef5c,Plugin as _0x4a73e6}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x370faa,Collection as _0x1cc682,DomEmitterMixin as _0x43bed2,KeystrokeHandler as _0x273b95,global as _0x1f52c4,uid as _0x131976,version as _0x1469c5}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x1ce97b,BodyCollection as _0x1affd0,LabelView as _0x62ed26,ListItemView as _0x13c790,ListView as _0x2600a0,Notification as _0x4a8d3c,View as _0x2cd5dd,clickOutsideHandler as _0x2d8d74}from'@ckeditor/ckeditor5-ui';import{History as _0x47a40c,InsertOperation as _0x23d695,MarkerOperation as _0x5d55fd,ModelLiveRange as _0x1338ff,NoOperation as _0x37d8fe,OperationFactory as _0x3fa583,RootAttributeOperation as _0x1d2c96,transformOperationSets as _0x3ac6dc}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0xfd22db}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x3ad7c2,CommentsService as _0x646c78,EditorService as _0x5b6d29,RevisionHistoryService as _0x59cd19,TrackChangesService as _0x254a7f,User as _0x5ca612,WEB_SOCKET_GATEWAY_STATES as _0x590631,WebSocketGateway as _0x39b97a}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x3e61f8,Users as _0x226ed0}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x588a9a}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x974558,TrackChangesEditing as _0x366e3c}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0xe4ccc3,CommentsEditing as _0x3eb236,CommentsRepository as _0x50e12d}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x5ed346}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x44576b}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x4b84ca{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x39b97a)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0xfd22db,_0x4a8d3c];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x337d50){super(_0x337d50),this['set']('state',_0x590631['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x43bed2())();}init(){const _0x2a4f92=this['context'],_0x1e9c20=_0x2a4f92['plugins']['get'](_0xfd22db),_0x52f9a0=_0x2a4f92['plugins']['get'](_0x4a8d3c);if(!_0x1e9c20['token'])throw new _0x370faa('websocketgateway-missing-token',this);if(!_0x1e9c20['webSocketUrl'])throw new _0x370faa('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'](_0x1e9c20['token'],_0x1e9c20['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3bab0d=>{if(this['connection']=_0x3bab0d,this['bind']('state')['to'](_0x3bab0d,'state',this,'_isBrowserOffline',(_0x41be20,_0x4d3dfc)=>('connected'!==_0x41be20&&(this['_shouldPluginsReconnect']=!0x0),_0x4d3dfc||_0x41be20!==_0x590631['CONNECTED']?_0x590631['DISCONNECTED']:this['state']==_0x590631['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x590631['CONNECTING']):_0x590631['CONNECTED'])),this['connection']['on']('error',(_0x1c3a63,_0x568dc9)=>{if('limitExceeded'!==_0x568dc9['code'])throw console['error'](_0x568dc9),new _0x370faa('cloudservices-init',null,{'originalError':_0x568dc9});_0x52f9a0['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'});}),!_0x3bab0d['me'])return new Promise(_0x16d0de=>_0x3bab0d['on']('change:me',_0x16d0de));})['catch'](_0x419b6c=>{throw console['error'](_0x419b6c),new _0x370faa('cloudservices-init',null,{'originalError':_0x419b6c});});}addToReconnectionStack(_0x5b19d1){if('function'!=typeof _0x5b19d1['reconnect'])throw new _0x370faa('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5b19d1))throw new _0x370faa('websocketgateway-plugin-already-registered',this,{'name':_0x5b19d1['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5b19d1);}removeFromReconnectionStack(_0x466ec6){this['_reconnectionStack']['delete'](_0x466ec6);}isInReconnectionStack(_0x4a5f62){return this['_reconnectionStack']['has'](_0x4a5f62);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1c1e39=>_0x1c1e39['reconnect']())))['then'](()=>this['state']=_0x590631['CONNECTED'])['catch'](_0x40f436=>{throw console['error'](_0x40f436),new _0x370faa('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x590631['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x4b84ca{['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,_0x226ed0];}constructor(_0x4211ff){super(_0x4211ff),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1cc682(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x226ed0);}init(){const _0x2239c6=this['context']['plugins']['get'](z);this['listenTo'](_0x2239c6,'change:state',(_0x10824d,_0x5a608a,_0xc494db)=>{if('connected'!==_0xc494db)this['channelSessions']['forEach'](_0x45d008=>_0x45d008['clear']()),this['channelConnectedUsers']['forEach'](_0x2cf9ca=>_0x2cf9ca['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x12c012,_0x5bc67e]of this['_registeredSessions'])for(const _0x4db1f5 of _0x5bc67e)this['_handleSessionAdd'](_0x12c012,_0x4db1f5);}}),this['_createUser'](_0x2239c6['connection']['me'],!0x0);}register(_0x2d759a,_0x40d0be){if(this['_registeredSessions']['has'](_0x2d759a))throw new _0x370faa('sessions-register-already-registered',null,{'channelId':_0x2d759a});this['_registeredSessions']['set'](_0x2d759a,_0x40d0be),this['channelSessions']['set'](_0x2d759a,new _0x1cc682()),this['channelConnectedUsers']['set'](_0x2d759a,new _0x1cc682()),this['listenTo'](_0x40d0be,'add',(_0x30b6df,_0x5bd110)=>this['_handleSessionAdd'](_0x2d759a,_0x5bd110)),this['listenTo'](_0x40d0be,'remove',(_0x50c644,_0x2f84a1)=>this['_handleSessionRemove'](_0x2d759a,_0x2f84a1));for(const _0x4a6a41 of _0x40d0be)this['_handleSessionAdd'](_0x2d759a,_0x4a6a41);}unregister(_0x3aaf5e){if(!this['_registeredSessions']['has'](_0x3aaf5e))throw new _0x370faa('sessions-unregister-not-exist',null,{'channelId':_0x3aaf5e});const _0x3f3465=this['_registeredSessions']['get'](_0x3aaf5e);this['stopListening'](_0x3f3465);for(const _0x1ed076 of _0x3f3465)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x3aaf5e,_0x1ed076);this['_registeredSessions']['delete'](_0x3aaf5e),this['channelSessions']['delete'](_0x3aaf5e),this['channelConnectedUsers']['delete'](_0x3aaf5e);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x31811c){for(const _0x445dda of this['channelSessions']['values']())for(const _0x5bcf1a of _0x445dda)if(_0x5bcf1a['id']===_0x31811c)return _0x5bcf1a['user'];}getUserSessions(_0x239000,_0x3da7ef){const _0xcae07f=_0x3da7ef?[this['channelSessions']['get'](_0x3da7ef)]:this['channelSessions']['values'](),_0x2bcf71=new Set();for(const _0xaf448b of _0xcae07f)for(const _0x54de6d of _0xaf448b)_0x54de6d['user']['id']===_0x239000['id']&&_0x2bcf71['add'](_0x54de6d['id']);return _0x2bcf71;}getUserRole(_0x2d2fef){for(const _0x4090b8 of this['channelSessions']['values']())for(const _0x4470a1 of _0x4090b8)if(_0x4470a1['user']===_0x2d2fef)return _0x4470a1['role'];}['_handleSessionAdd'](_0x12951a,_0x3822a3){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1ad64a=_0x3822a3['user'],_0x463f02=this['_users']['getUser'](_0x1ad64a['id'])||this['_createUser'](_0x1ad64a),_0x171619=Object['assign']({},_0x3822a3,{'user':_0x463f02});if(this['channelSessions']['get'](_0x12951a)['add'](_0x171619),!_0x1ad64a['hiddenInPresenceList']){const _0x28b803=this['channelConnectedUsers']['get'](_0x12951a);_0x28b803['has'](_0x463f02['id'])||_0x28b803['add'](_0x463f02),this['allConnectedUsers']['has'](_0x463f02['id'])||_0x1ad64a['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x463f02,_0x463f02['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x12951a,{'channelId':_0x12951a,'session':_0x171619});}['_handleSessionRemove'](_0x8894a3,_0x2fcf3f){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1e7787=this['channelConnectedUsers']['get'](_0x8894a3),_0x44607c=_0x2fcf3f['user'];_0x44607c['id']&&(this['channelSessions']['get'](_0x8894a3)['remove'](_0x2fcf3f['id']),_0x1e7787['has'](_0x44607c['id'])&&!this['getUserSessions'](_0x44607c,_0x8894a3)['size']&&_0x1e7787['remove'](_0x44607c['id']),this['allConnectedUsers']['get'](_0x44607c['id'])&&!this['getUserSessions'](_0x44607c)['size']&&this['allConnectedUsers']['remove'](_0x44607c['id']));}_createUser(_0x4724d2,_0xdd06c4){const _0x435978=this['_users']['addUser'](_0x4724d2);return _0xdd06c4&&this['_users']['defineMe'](_0x4724d2['id']),_0x435978['orderNumber']=this['_uniqueUsersCount']++,_0x435978;}},K=class extends _0x4a73e6{_domEmitter=new(_0x43bed2())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x562f9a=this['editor'],_0xeb50b9=_0x562f9a['plugins']['get'](Y);_0x562f9a['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1c0a9a,{writer:_0x2d6cda})=>function(_0x338d88,_0x14d5c1,_0x4b9006,_0x16ddc6){const _0x27486c=_0x338d88['markerName']['split'](':')[0x2],_0x1f83c2=_0x4b9006['getUserBySessionId'](_0x27486c);if(!_0x1f83c2||_0x27486c===_0x4b9006['mySessionId'])return;if(!_0x16ddc6['model']['schema']['checkChild'](_0x338d88['markerRange']['start'],'$text'))return;const _0x3d0db4={'class':'ck-user__marker\x20'+_0x1f83c2['color']['getMarkerClass'](),'style':Q(_0x1f83c2),'data-name':_0x1f83c2['name'],'data-session-id':_0x27486c},_0x73b185=_0x16ddc6['model']['markers']['get'](_0x338d88['markerName'])['getStart'](),_0x246538=_0x73b185['nodeAfter'],_0xd036a1=_0x16ddc6['model']['schema'];if(_0x246538&&_0xd036a1['isObject'](_0x246538)&&_0xd036a1['isInline'](_0x246538)&&!_0x16ddc6['model']['markers']['get']('user:range:'+_0x27486c)['getRange']()['isCollapsed'])return;const _0x2e3022=_0x73b185['parent'];return _0x16ddc6['model']['schema']['isLimit'](_0x2e3022)&&!_0x16ddc6['model']['hasContent'](_0x2e3022)&&(_0x3d0db4['contenteditable']=!0x1),function(_0x534d4f,_0x3dc511,_0x3b0d3e){const _0x526397=_0x534d4f['createUIElement']('span',_0x3dc511);return _0x534d4f['setCustomProperty']('userPositionMarker',!0x0,_0x526397),_0x526397['render']=function(_0x754603){const _0xb5c059=this['toDomElement'](_0x754603),_0x5ebd42=document['createElement']('span');return _0x5ebd42['classList']['add']('ck-user__marker-tooltip'),_0x5ebd42['setAttribute']('contenteditable','false'),_0x5ebd42['setAttribute']('spellcheck','false'),_0x5ebd42['textContent']=_0x3b0d3e['name'],_0xb5c059['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5ebd42['outerHTML']+'',_0xb5c059['addEventListener']('mouseenter',()=>{_0xb5c059['classList']['add']('ck-user__marker_hovered');}),_0xb5c059['addEventListener']('mouseleave',()=>{_0xb5c059['classList']['remove']('ck-user__marker_hovered');}),_0xb5c059;},_0x526397['isSimilar']=function(_0xacb5a0){return!(!this['getCustomProperty']('userPositionMarker')||!_0xacb5a0['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xacb5a0['getAttribute']('data-session-id'));},_0x526397;}(_0x14d5c1,_0x3d0db4,_0x1f83c2);}(_0x1c0a9a,_0x2d6cda,_0xeb50b9,_0x562f9a)}),_0x562f9a['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2cb1b8=>function(_0xeb25b8,_0x1207fd){const _0x3e53db=_0xeb25b8['markerName']['split'](':')[0x2];if(_0x3e53db===_0x1207fd['mySessionId'])return null;const _0x6462e5=_0x1207fd['getUserBySessionId'](_0x3e53db);return _0x6462e5?{'id':_0x3e53db,'classes':['ck-user__selection',_0x6462e5['color']['getSelectionClass']()],'attributes':{'style':Q(_0x6462e5),'data-session-id':_0x3e53db},'priority':0x7d0+_0x6462e5['orderNumber']}:{'id':_0x3e53db,'classes':[]};}(_0x2cb1b8,_0xeb50b9)}),function(_0x16e863){const _0x49a732=_0x16e863['model'],_0x232239=new Map(),_0x505567=_0x16e863['plugins']['get'](Y);_0x49a732['markers']['on']('update:user:range',(_0x55cd3d,_0x5b9ea0,_0x135f71,_0x161d20)=>{if(!_0x161d20&&_0x232239['get'](_0x5b9ea0['name']))return _0x232239['get'](_0x5b9ea0['name'])['detach'](),void _0x232239['delete'](_0x5b9ea0['name']);const _0xbcdfef=_0x5b9ea0['name']['split'](':')[0x2];if(_0xbcdfef===_0x505567['mySessionId'])return;const _0x1d5d6e='user:position:'+_0xbcdfef;_0x49a732['markers']['has'](_0x1d5d6e)&&_0x16e863['editing']['reconvertMarker'](_0x1d5d6e),_0x5b9ea0['on']('change:range',(_0x11d92a,_0x345cf5,_0x598d16)=>{if('$graveyard'!=_0x345cf5['root']['rootName']&&'$graveyard'==_0x5b9ea0['getRange']()['root']['rootName']&&!_0x232239['has'](_0x5b9ea0['name'])){const _0x3d39e6=_0x49a732['schema']['getNearestSelectionRange'](_0x598d16['deletionPosition']);if(_0x3d39e6){const _0x48fdbc=_0x1338ff['fromRange'](_0x3d39e6);_0x232239['set'](_0x5b9ea0['name'],_0x48fdbc),_0x48fdbc['on']('change:range',(_0x4b580c,_0x1038ca,_0x327b72)=>{if('$graveyard'==_0x48fdbc['root']['rootName']){const _0x30a571=_0x49a732['schema']['getNearestSelectionRange'](_0x327b72['deletionPosition']);_0x30a571?(_0x48fdbc['start']=_0x30a571['start'],_0x48fdbc['end']=_0x30a571['end']):(_0x232239['delete'](_0x5b9ea0['name']),_0x48fdbc['detach']());}});}}});}),_0x49a732['document']['on']('change',()=>{_0x232239['size']>0x0&&_0x49a732['enqueueChange']({'isUndoable':!0x1},_0x134799=>{for(const [_0x3316e2,_0x103c3a]of _0x232239)'$graveyard'==_0x49a732['markers']['get'](_0x3316e2)['getRange']()['root']['rootName']&&(J(_0x3316e2['split'](':')[0x2],_0x103c3a['toRange'](),_0x49a732,_0x134799),_0x103c3a['detach']());_0x232239['clear']();});});}(_0x562f9a),this['_domEmitter']['listenTo'](_0x1f52c4['document'],'keydown',(_0x2d0709,{key:_0x15733a})=>{'Escape'===_0x15733a&&function(_0xec93e2){_0xec93e2['editing']['view']['change'](_0x1c93d1=>{for(const _0x59a622 of _0xec93e2['model']['markers']){if(!_0x59a622['name']['startsWith']('user:position'))continue;const _0x5955cd=_0xec93e2['editing']['mapper']['markerNameToElements'](_0x59a622['name']);if(_0x5955cd){for(const _0x4863c5 of _0x5955cd)_0x1c93d1['removeClass']('ck-user__marker_hovered',_0x4863c5);}}});}(_0x562f9a);},{'useCapture':!0x0});}afterInit(){const _0xc2aae9=this['editor'],_0x23bf6f=_0xc2aae9['commands']['get']('undo');_0x23bf6f&&_0xc2aae9['model']['on']('applyOperation',(_0x3bf599,_0x12b9fa)=>{const _0x2b78fe=_0x12b9fa[0x0];if(!_0x2b78fe['isDocumentOperation'])return;if('marker'!=_0x2b78fe['type']||!_0x2b78fe['name']['startsWith']('user:'))return;const _0xa7d408=_0x2b78fe['batch'];_0x23bf6f['_createdBatches']['has'](_0xa7d408)&&(_0x2b78fe['newRange']=_0x2b78fe['oldRange']?_0xc2aae9['model']['createRange'](_0x2b78fe['oldRange']['start'],_0x2b78fe['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x8e2537=this['editor'],_0x2eab49=_0x8e2537['model']['document'],_0x509c12=_0x8e2537['plugins']['get'](Y);_0x8e2537['model']['enqueueChange']({'isUndoable':!0x1},_0x18cf69=>{const _0xb842f2='user:range:'+_0x509c12['mySessionId'],_0x183823='user:position:'+_0x509c12['mySessionId'],_0x5d31ad=_0x8e2537['model']['markers']['has'](_0xb842f2);_0x8e2537['editing']['view']['hasDomSelection']?J(_0x509c12['mySessionId'],_0x2eab49['selection']['getFirstRange'](),_0x8e2537['model'],_0x18cf69):_0x5d31ad&&(_0x18cf69['removeMarker'](_0xb842f2),_0x18cf69['removeMarker'](_0x183823));});}};function J(_0xac97ea,_0x13e1ca,_0x58c3ba,_0x1fbed1){const _0x2af372='user:range:'+_0xac97ea,_0x33433b='user:position:'+_0xac97ea,_0x35796d=_0x13e1ca['getContainedElement']();let _0x23d6ea=_0x13e1ca['start'];if(_0x35796d&&_0x35796d['is']('element','tableCell')){const _0x19cd33=function(_0x9af3d5,_0x8b9f9d){for(const _0x58861b of _0x9af3d5['getPositions']())if(_0x8b9f9d['schema']['checkChild'](_0x58861b,'$text'))return _0x58861b;}(_0x13e1ca,_0x58c3ba);_0x19cd33&&(_0x23d6ea=_0x19cd33,_0x13e1ca=_0x1fbed1['createRange'](_0x23d6ea));}const _0x2373ea=_0x1fbed1['createRange'](_0x23d6ea);_0x58c3ba['markers']['has'](_0x2af372)?(_0x1fbed1['updateMarker'](_0x2af372,{'range':_0x13e1ca}),_0x1fbed1['updateMarker'](_0x33433b,{'range':_0x2373ea})):(_0x1fbed1['addMarker'](_0x2af372,{'range':_0x13e1ca,'usingOperation':!0x0}),_0x1fbed1['addMarker'](_0x33433b,{'range':_0x2373ea,'usingOperation':!0x0}));}function Q(_0x4bf139){return'--ck-user-color:'+_0x4bf139['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4bf139['color']['getColorAlphaVariable']()+';';}function X(_0x4c04ec,_0x577866,_0x486b6d){const _0x5e271e=_0x4c04ec['t'],t=_0x4c04ec['t'];switch(_0x577866){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 _0x5e271e({'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'},_0x486b6d);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x4a73e6{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x3ad7c2)());_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,_0x59ef5c,_0x226ed0,_0x4a8d3c];}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 _0x134538=this['serverHistory']['getOperations']();for(let _0x4d74eb=_0x134538['length']-0x1;_0x4d74eb>=0x0;_0x4d74eb--){const _0xcd105c=_0x134538[_0x4d74eb];if(!this['_disconnectionOperations']['has'](_0xcd105c))return _0xcd105c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x11b684){if(super(_0x11b684),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x47a40c(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x370faa('collaboration-missing-channelid',this);const _0x3da9fc=_0x11b684['config']['get']('cloudServices.bundleVersion')||_0x1469c5;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3da9fc,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x588a9a(),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 _0x27bab5=this['editor'],_0x36ce5e=_0x27bab5['plugins']['get'](_0x226ed0),_0x522072=_0x27bab5['plugins']['get'](z);this['listenTo'](_0x36ce5e,'getOperationAuthor',(_0x4734f2,_0x21263e)=>{const _0x40021c=_0x21263e[0x0];_0x40021c['_authorId']&&(_0x4734f2['return']=_0x36ce5e['getUser'](_0x40021c['_authorId']),_0x4734f2['stop']()),null===_0x40021c['_authorId']&&(_0x4734f2['return']=null,_0x4734f2['stop']());},{'priority':'high'}),this['listenTo'](_0x27bab5['model']['document']['selection'],'change:range',(_0x4bfef1,_0x41a74d)=>{_0x41a74d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x27bab5['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x27bab5['model']['on']('applyOperation',(_0x2c931f,_0xd4a3ac)=>{const _0x4bfd5d=_0xd4a3ac[0x0];_0x4bfd5d['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4bfd5d),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x522072,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x3eec19,_0x1beccb,_0x22c5a8)=>'connected'===_0x3eec19&&!_0x1beccb&&!_0x22c5a8),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x27bab5['disableReadOnlyMode']('rtc-offline'):_0x27bab5['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x27bab5['disableReadOnlyMode']('rtc-offline'):_0x27bab5['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x488d0f=this['editor']['plugins']['get'](Y),_0x547be3=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x488d0f['unregister'](this['_channelId']);const _0x44011e=await this['_service']['reconnect'](_0x547be3['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x44011e)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x117611=await this['_service']['getConnectedSessions']();_0x488d0f['register'](this['_channelId'],_0x117611),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x32f4fa){if(function(_0x253a63){return'404'===_0x253a63['code'];}(_0x32f4fa)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x327e0f){return'409'===_0x327e0f['code'];}(_0x32f4fa)){const _0x425e1f=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'](_0x425e1f);}else{if(!(_0x32f4fa instanceof et))throw _0x32f4fa;this['_handleReconnectionError']();}}}}destroy(){const _0x15a3e5=this['editor']['plugins']['get'](z),_0x225808=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x225808['channelSessions']['has'](this['_channelId'])&&_0x225808['unregister'](this['_channelId']),_0x15a3e5['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x515946){if(this['sessionId']!==_0x515946['sessionId']&&this['_lastSyncedOperationId']!==_0x515946['lastOperationId'])throw new et();return this['sessionId']=_0x515946['sessionId'],this['_handleServerResponse']([],{..._0x515946,'wereChangesApplied':!0x1,'data':_0x515946['data']},'reconnect');}async _connectService(_0xf9cf3e,_0x7746a5=!0x1){const {connection:_0x42eeed}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x42eeed,this['_channelId'])['then'](_0x419a4b=>this['_initSessionsHandling'](_0x419a4b))['catch'](_0x1fa717=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1fa717);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x10a335,_0x1c61a5)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1c61a5);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x208223=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xf9cf3e);this['_isPendingUpdate']=!0x0;const _0x52a383=await this['_service']['connect'](_0x42eeed,this['_compressOperations'](_0xf9cf3e),_0x208223);if(this['sessionId']=_0x52a383['sessionId'],_0x7746a5){if(!_0x52a383['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x52a383['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xf9cf3e,_0x52a383,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x52a383,_0xf9cf3e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x4ae183=this['editor']['plugins']['get'](Y),_0x19e50c=this['editor']['plugins']['get'](K),_0x24cae6=_0x4ae183['channelSessions']['get'](this['_channelId']);_0x24cae6&&_0x24cae6['length']>0x1?_0x19e50c['createUserMarkerOperations']():this['listenTo'](_0x4ae183,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4ae183['channelSessions']['get'](this['_channelId'])['length']&&_0x19e50c['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x2c7c22,_0x5e97d3,_0x26a4d9,_0x40d43f){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x5e97d3){const _0x50ae44=this['_decompressOperations'](_0x26a4d9,_0x40d43f);await this['_fetchMissingUsers'](_0x50ae44),this['_handleExternalOperations'](_0x50ae44,_0x5e97d3,_0x26a4d9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x49b0d1}=this['editor'];let _0x1ef147;try{_0x1ef147=await this['_service']['getDocumentDetails']();}catch{const _0x41780a=X(_0x49b0d1,'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'](_0x41780a);}const _0x1b18c0=_0x1ef147['currentDocumentSession']||_0x1ef147['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1b18c0['lastOperationId']){const _0x3f761a=X(_0x49b0d1,'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'](_0x3f761a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x7abe4e=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x7abe4e['connection']||'connected'!==_0x7abe4e['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x548dcf=this['editor']['plugins']['get'](Y);_0x548dcf['channelSessions']['has'](this['_channelId'])&&_0x548dcf['unregister'](this['_channelId']),_0x7abe4e['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x12fa84){const _0xc691a5=this['editor']['plugins']['get'](Y);this['listenTo'](_0xc691a5,'sessionAdd:'+this['_channelId'],(_0x1c627f,{session:_0x40a973})=>{if(_0x40a973['id']===_0xc691a5['mySessionId']){_0x1c627f['off']();const _0x5c3132=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x27acbd=_0x40a973['permissions'];_0x5c3132&&_0x5c3132['isEnabled']&&(_0x27acbd=_0x27acbd['filter'](_0x278900=>'document:write'!==_0x278900)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x27acbd,this['_channelId']);}}),_0xc691a5['register'](this['_channelId'],_0x12fa84);}_initThrowingOnDataSet(){const _0x7b3faf=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x31dec2)=>{if(!_0x31dec2[_0x31dec2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x370faa('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x7b3faf['apply'](this['editor']['data'],_0x31dec2);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x434088,[_0x3d9b26])=>{if(this['_document']['version'])throw new _0x370faa('realtimecollaborationclient-init-document-already-initialized',this);_0x434088['stop'](),this['_setPendingAction']();const _0x5dc8b6=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x562ca1])=>!_0x562ca1['lazyLoad'])['map'](([_0xa0fa9e,_0x16ff85])=>[_0xa0fa9e,_0x16ff85['modelAttributes']||{}])),_0x4a0475=this['_getOperationsFromInitData'](_0x3d9b26,_0x5dc8b6);0x0==_0x4a0475['length']&&_0x4a0475['push'](new _0x37d8fe(0x0)),_0x434088['return']=this['_connectService'](_0x4a0475)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3e6dbf=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3e6dbf))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x967ea9,[_0xd28b0d,_0xff1d3e])=>{_0x967ea9['stop']();const _0x1ee88a=this['editor']['model']['document']['getRoot'](_0xd28b0d);if(!this['_knownRootNames']['has'](_0xd28b0d)){const _0x50569c=_0xff1d3e&&_0xff1d3e['data']?_0xff1d3e['data']:'',_0x2eee39=_0xff1d3e&&_0xff1d3e['attributes']?_0xff1d3e['attributes']:{};await this['_loadRoot'](_0xd28b0d,_0x50569c,_0x2eee39);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1ee88a['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1ee88a);});},{'priority':'high'});}async _fetchMissingUsers(_0x218f50){const _0x1bef47=this['editor']['plugins']['get'](_0x226ed0),{connection:_0x31966b}=this['editor']['plugins']['get'](z),_0x488a94=new Set();for(const _0x4171bf of _0x218f50){const _0x1fc5fc=_0x4171bf['_authorId'];_0x1fc5fc&&!_0x1bef47['getUser'](_0x1fc5fc)&&_0x488a94['add'](_0x1fc5fc);}if(0x0===_0x488a94['size'])return;const _0x40169d=await _0x5ca612['getMany'](_0x31966b,Array['from'](_0x488a94));for(const _0x5ba843 of _0x40169d)_0x1bef47['getUser'](_0x5ba843['id'])||_0x1bef47['addUser'](_0x5ba843);}_getOperationsFromInitData(_0x437481,_0x47c042={}){const _0x2243a8=this['editor']['model'],_0x533bac=[];let _0x3e2b71=0x0;const _0x11014c='string'==typeof _0x437481?{'main':_0x437481}:_0x437481;for(const _0x5f068d of Object['keys'](_0x11014c)){if(!this['_document']['roots']['has'](_0x5f068d))throw new _0x370faa('realtimecollaborationclient-init-non-existent-root',this);const _0xdd48b5=this['_document']['getRoot'](_0x5f068d),_0x1e165d=this['editor']['data']['parse'](_0x11014c[_0x5f068d],_0xdd48b5),_0x59d372=new _0x23d695(_0x2243a8['createPositionAt'](_0xdd48b5,0x0),_0x1e165d,_0x3e2b71++);_0x533bac['push'](_0x59d372);for(const [_0x1578b0,_0x4d7673]of _0x1e165d['markers']){const _0x4f7310=new _0x5d55fd(_0x1578b0,null,_0x2243a8['createRange'](_0x2243a8['createPositionFromPath'](_0xdd48b5,_0x4d7673['start']['path']['slice']()),_0x2243a8['createPositionFromPath'](_0xdd48b5,_0x4d7673['end']['path']['slice']())),_0x2243a8['markers'],!0x0,_0x3e2b71++);_0x533bac['push'](_0x4f7310);}}if(_0x47c042)for(const [_0x544926,_0x89051f]of Object['entries'](_0x47c042)){const _0x850257=_0x2243a8['document']['getRoot'](_0x544926);if(!_0x850257)throw new _0x370faa('multi-root-editor-root-attributes-no-root',null);for(const [_0x4d1e7b,_0x4c5ecb]of Object['entries'](_0x89051f))if(null!==_0x4c5ecb){const _0x54acd4=new _0x1d2c96(_0x850257,_0x4d1e7b,null,_0x4c5ecb,_0x3e2b71++);_0x533bac['push'](_0x54acd4);}}return _0x533bac;}async _loadRoot(_0x2f9c33,_0x20a58e,_0x487a2a){this['_getOperationsFromInitData']({[_0x2f9c33]:_0x20a58e},{[_0x2f9c33]:_0x487a2a})['forEach']((_0x5e90d7,_0x394fe6)=>{_0x5e90d7['baseVersion']=this['_document']['version']+_0x394fe6,_0x5e90d7['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x5e90d7);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x1c9ed3,_0x528833){let _0x38b1dc;this['_offset']=_0x1c9ed3['offset'];const _0xec00e5=_0x1c9ed3['wereChangesApplied']&&!_0x1c9ed3['initData'],_0x25553a=_0xec00e5?0x0:_0x1c9ed3['data']['baseVersion'];if(_0x528833['forEach'](_0x2cafe0=>{_0x2cafe0['_isInit']=!0x0,_0x2cafe0['createdAt']=_0x1c9ed3['sessionCreatedAt'],_0x2cafe0['_authorId']=null;}),_0xec00e5)_0x38b1dc=_0x528833,this['_applyOperationsSet'](_0x38b1dc,_0xec00e5);else{if(_0x1c9ed3['initData']){const _0x17b40c=this['_getOperationsFromInitData'](_0x1c9ed3['initData']);this['_document']['history']['version']=-_0x17b40c['length'],_0x17b40c['forEach'](_0x55e026=>{_0x55e026['baseVersion']-=_0x17b40c['length'],_0x55e026['createdAt']=_0x1c9ed3['sessionCreatedAt'],_0x55e026['_isInit']=!0x0,_0x55e026['_authorId']=null;}),this['_applyOperationsSet'](_0x17b40c,!0x0),this['serverHistory']['version']=-_0x17b40c['length']+this['_offset'],this['_updateServerHistory'](_0x17b40c);}this['_document']['history']['version']=_0x25553a,_0x38b1dc=this['_decompressOperations'](_0x1c9ed3['data'],_0x1c9ed3['metadata']),await this['_fetchMissingUsers'](_0x38b1dc),this['_applyOperationsSet'](_0x38b1dc,_0xec00e5);}_0x1c9ed3['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x38b1dc,_0x1c9ed3['lastOperationId']),this['_lastSyncedOperationId']=_0x1c9ed3['lastOperationId']),this['serverHistory']['version']=_0x25553a+this['_offset'],this['_updateServerHistory'](_0x38b1dc),_0x528833['filter'](_0x3cd4d1=>{const _0x5eee82=this['_getAffectedRoot'](_0x3cd4d1);return _0x5eee82&&!this['_knownRootNames']['has'](_0x5eee82);})['forEach']((_0x2db49b,_0x38a031)=>{_0x2db49b['baseVersion']=this['_document']['version']+_0x38a031,this['_saveOperationInBuffer'](_0x2db49b);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x38bcaf,_0x4b19dc){const _0x4a8444=_0x4b19dc&&_0x4b19dc['message'];if(_0x4a8444&&_0x4a8444['startsWith']('realtimecollaborationclient'))throw _0x4b19dc;const _0x4e5ea8=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x4e5ea8['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x370faa(_0x38bcaf,this['editor'],_0x4a8444?{'originalError':_0x4a8444}:void 0x0);}_saveOperationInBuffer(_0x23749c){this['_knownOperations']['has'](_0x23749c)||(this['_knownOperations']['add'](_0x23749c),this['_bufferedOperations']['push'](_0x23749c),this['_pendingAction']||'marker'==_0x23749c['type']&&!_0x23749c['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x52163a=!0x1){!_0x52163a&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x111ad7=>{_0x111ad7&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3cc151=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x466df5){return _0x466df5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x466df5['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x466df5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3cc151)||this['_crash'](_0x3cc151['message'],_0x3cc151);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x1bfee8=>{this['on']('change:_isPendingUpdate',()=>{_0x1bfee8();});});}async _sendBufferedOperations(){const _0x318af5=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x318af5['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5a6b02=[...this['_bufferedOperations']];for(const _0x3f6584 of _0x5a6b02)_0x3f6584['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3f6584);const _0x36a2e3=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5a6b02),_0xc4ba00=Z++,_0x45805f=this['_compressOperations'](_0x5a6b02),_0x19e066=await this['_service']['sendOperations'](_0x45805f,_0x45805f['baseVersion'],_0x36a2e3);try{return await this['_handleServerResponse'](_0x5a6b02,_0x19e066,_0xc4ba00);}catch(_0xfba959){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xfba959);}}async['_handleServerResponse'](_0x4e1223,_0xbf042c,_0x3a3540){if('error'in _0xbf042c)throw _0xbf042c['error'];let _0x19d756;if(_0xbf042c['wereChangesApplied']){_0xbf042c['lastOperationId']&&(this['_lastSyncedOperationId']=_0xbf042c['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x25a324=>!_0x4e1223['includes'](_0x25a324));for(const _0x4a2bd4 of _0x4e1223)_0x4a2bd4['createdAt']='lastOperationAcceptedAt'in _0xbf042c&&_0xbf042c['lastOperationAcceptedAt']||void 0x0;st(_0x4e1223,_0xbf042c['version']-_0x4e1223['length']),this['_updateServerHistory'](_0x4e1223);const _0x4aff41=_0x4e1223['filter'](_0x181fe9=>{if(!_0x181fe9['_isInit'])return!0x1;const _0x52ef65=this['_getAffectedRoot'](_0x181fe9);return _0x52ef65&&!this['_knownRootNames']['has'](_0x52ef65);});st(_0x4aff41,this['_document']['version']),this['_applyOperationsSet'](_0x4aff41),_0x19d756=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xaf7ea7=this['_decompressOperations'](_0xbf042c['data'],_0xbf042c['metadata'])['filter'](_0x46c3fe=>_0x46c3fe['baseVersion']>=this['_lastServerVersion']);_0xaf7ea7['forEach'](_0x95083c=>this['_addKnownRoot'](_0x95083c)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x41933e=>!_0x41933e['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x41933e))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xaf7ea7),_0x19d756=this['_handleExternalOperations'](_0xaf7ea7,_0xbf042c['version'],_0xbf042c['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x19d756?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x43c7e8,_0x40d7c1,_0x3f9516){try{const _0x21bb91={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x435c8f,operationsB:_0x2527f2,originalOperations:_0x1b6e8a}=_0x3ac6dc(_0x43c7e8,this['_bufferedOperations'],_0x21bb91);st(_0x435c8f,this['_document']['version']),st(_0x2527f2,_0x40d7c1);for(const _0x46d4dc of _0x435c8f){const _0x39c1b8=_0x1b6e8a['get'](_0x46d4dc);_0x39c1b8?(_0x46d4dc['_authorId']=_0x39c1b8['_authorId'],'noop'!==_0x46d4dc['type']&&(_0x46d4dc['_aiSource']=_0x39c1b8['_aiSource'])):_0x46d4dc['_authorId']=null;}for(const _0x3163e7 of _0x2527f2)'noop'!==_0x3163e7['type']&&(_0x3163e7['_aiSource']=_0x1b6e8a['get'](_0x3163e7)?.['_aiSource']);_0x3f9516&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x43c7e8,_0x3f9516),this['_lastSyncedOperationId']=_0x3f9516),this['_bufferedOperations']=[..._0x2527f2],this['_applyOperationsSet'](_0x435c8f),this['_updateServerHistory'](_0x43c7e8);}catch(_0x113397){return console['error'](_0x113397),!0x1;}return!0x0;}_applyOperationsSet(_0x269f45,_0x4f9b51=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x566b68=>{for(const _0x4a9250 of _0x269f45)this['_knownOperations']['add'](_0x4a9250),this['_addKnownRoot'](_0x4a9250),_0x566b68['batch']['addOperation'](_0x4a9250),this['editor']['model']['applyOperation'](_0x4a9250);});}_addKnownRoot(_0x4ade3c){const _0x18c478=this['_getAffectedRoot'](_0x4ade3c);_0x18c478&&this['_knownRootNames']['add'](_0x18c478);}_getAffectedRoot(_0x584641){let _0x3e0bbb,_0x2740d8;switch(_0x584641['type']){case'insert':_0x3e0bbb=_0x584641['position']['root'];break;case'marker':if(_0x2740d8=_0x584641['newRange'],!_0x2740d8)return null;_0x3e0bbb=_0x2740d8['root'];break;case'addRootAttribute':_0x3e0bbb=_0x584641['root'];break;case'addRoot':_0x3e0bbb=_0x584641['affectedSelectable'];break;case'move':_0x3e0bbb=_0x584641['targetPosition']['root'];break;default:return null;}return _0x3e0bbb['rootName'];}_updateServerHistory(_0x5779c7){_0x5779c7['forEach'](_0x41f298=>{const _0x5e0695=_0x41f298['clone']();_0x5e0695['_authorId']=_0x41f298['_authorId'],_0x5e0695['_isInit']=!!_0x41f298['_isInit'],_0x5e0695['_aiSource']=_0x41f298['_aiSource'],_0x5e0695['createdAt']=_0x41f298['createdAt'],_0x5e0695['baseVersion']+=this['_offset'],_0x41f298['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5e0695),this['serverHistory']['addOperation'](_0x5e0695);});}_handleReconnectionError(_0x1a4d8a){const _0x2f9971=this['editor']['plugins']['get']('Notification'),_0x3a0dfa=this['editor']['locale'];_0x1a4d8a||(_0x1a4d8a=X(_0x3a0dfa,'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.')),_0x2f9971['showWarning'](_0x1a4d8a,{'title':X(_0x3a0dfa,'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'](_0x59ef5c)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x59ef5c)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x450dd){const _0x5c905e=_0x450dd['map'](_0x3289f7=>_0x3289f7['toJSON']());return this['_compressor']['compress'](_0x5c905e);}_decompressOperations(_0x37c276,_0x22f6d4){return this['_compressor']['decompress'](_0x37c276)['map']((_0x25b718,_0x388f19)=>{const _0x37aebb='init'==_0x22f6d4[_0x388f19]['type'];if('InsertOperation'==_0x25b718['__className']){const _0x2b5dbe=_0x25b718['position']['root'];!this['_document']['getRoot'](_0x2b5dbe)&&(this['_document']['createRoot']('$unknown',_0x2b5dbe)['_isAttached']=!0x1);}else{if('RootOperation'==_0x25b718['__className']){const _0x46102c=this['_document']['getRoot'](_0x25b718['rootName']);_0x46102c&&'$unknown'==_0x46102c['name']&&_0x25b718['elementName']!=_0x46102c['name']&&(_0x46102c['name']=_0x25b718['elementName']);}}const _0x29f6ac=_0x3fa583['fromJSON'](_0x25b718,this['_document']);return _0x29f6ac['wasUndone']=_0x25b718['wasUndone'],_0x29f6ac['_isInit']=_0x37aebb,_0x29f6ac['_authorId']=_0x37aebb?null:_0x22f6d4[_0x388f19]['userId'],_0x29f6ac['_isDisconnection']='cs:removeUser'===_0x22f6d4[_0x388f19]['type'],_0x29f6ac['_aiSource']=_0x25b718['_aiSource']||void 0x0,_0x29f6ac['createdAt']=_0x22f6d4[_0x388f19]['createdAt'],_0x29f6ac;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x777bdc=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x777bdc&&_0x777bdc['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x2e565c,_0x22d80a){for(const _0x54bf5a of _0x2e565c)_0x54bf5a['baseVersion']=_0x22d80a++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x3da9df){this['_ignoredOperations']=_0x3da9df,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x27e3ea){let _0x2fa7e3=_0x27e3ea['length'];for(;_0x2fa7e3--;){const _0x4891c5=_0x27e3ea[_0x2fa7e3];if(!this['_ignoredOperations']['has'](_0x4891c5)){if(!this['_operationToId']['has'](_0x4891c5)){const _0x26c241=_0x131976()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4891c5,_0x26c241);}return this['_operationToId']['get'](_0x4891c5);}}}setIdForTheLastOperation(_0x47c1dc,_0xf2e7c){if(!_0xf2e7c)return;let _0x22eb09=_0x47c1dc['length'];for(;_0x22eb09--;){const _0x20ec50=_0x47c1dc[_0x22eb09];this['_ignoredOperations']['has'](_0x20ec50)||this['_operationToId']['set'](_0x20ec50,_0xf2e7c);}}},nt=class extends _0x4a73e6{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x4b84ca{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x646c78)());['_services'];static get requires(){return[z,_0x50e12d,Y,_0x226ed0];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e0c94){super(_0x1e0c94),this['_services']=new Map();}async init(){const _0x4d857a=this['context'],_0x2cfbc1=_0x4d857a['plugins']['get'](_0x50e12d);if(_0x4d857a['plugins']['get'](z)['addToReconnectionStack'](this),_0x2cfbc1['adapter']={'addCommentThread':async({channelId:_0x3fd079,threadId:_0x1ab194,comments:_0x43fe66,resolvedAt:_0x232c22,resolvedBy:_0x2219d5,context:_0x5f1cad,attributes:_0x50549b})=>{const _0x383612=await this['_getService'](_0x3fd079)['addCommentThread']({'commentThreadId':_0x1ab194,'comments':_0x43fe66['map'](_0x448ff7=>function(_0x569332,_0x385a51,_0x3593e2){return{'commentThreadId':_0x3593e2,'commentId':_0x569332['commentId'],'userId':_0x569332['authorId'],'content':_0x569332['content'],'documentId':_0x385a51,'createdAt':_0x569332['createdAt'],'attributes':_0x569332['attributes']||{}};}(_0x448ff7,_0x3fd079,_0x1ab194)),'resolvedAt':_0x232c22,'resolvedBy':_0x2219d5,'context':_0x5f1cad,'attributes':_0x50549b})['catch'](ct);return{'threadId':_0x383612['commentThreadId'],'comments':_0x383612['comments']};},'getCommentThread':async({channelId:_0x4b5af0,threadId:_0x1c3e78})=>{const _0x471032=await this['_getService'](_0x4b5af0)['getCommentThread'](_0x1c3e78)['catch'](rt)['catch'](ct);return _0x471032?_0x471032['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x471032]),{'threadId':_0x471032['commentThreadId'],'comments':_0x471032['comments']['map'](at),'context':_0x471032['context'],'resolvedAt':_0x471032['resolvedAt'],'resolvedBy':_0x471032['resolvedBy'],'attributes':_0x471032['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x7b69a9,threadId:_0x21d418,context:_0x27abb7,unlinkedAt:_0x3467b2,attributes:_0x540b93})=>this['_getService'](_0x7b69a9)['updateCommentThread']({'commentThreadId':_0x21d418,'context':_0x27abb7,'attributes':_0x540b93,'unlinkedAt':_0x3467b2})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x48bcc1,threadId:_0x12cda6})=>{const _0x2b483e=await this['_getService'](_0x48bcc1)['resolveCommentThread'](_0x12cda6)['catch'](rt)['catch'](ct);return{'threadId':_0x2b483e['commentThreadId'],'resolvedAt':_0x2b483e['resolvedAt'],'resolvedBy':_0x2b483e['resolvedBy']};},'reopenCommentThread':async({channelId:_0x36b62d,threadId:_0xe03e22})=>this['_getService'](_0x36b62d)['reopenCommentThread'](_0xe03e22)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3baaa9,threadId:_0x22b3c5})=>this['_getService'](_0x3baaa9)['removeCommentThread'](_0x22b3c5)['catch'](rt)['catch'](ct),'addComment':({channelId:_0xe6e33b,threadId:_0x53546f,commentId:_0x58989d,content:_0x17b32d,attributes:_0x4068bd})=>this['_getService'](_0xe6e33b)['addComment'](_0x53546f,_0x58989d,_0x17b32d,_0x4068bd)['catch'](ct),'updateComment':({channelId:_0xdece2d,threadId:_0x5779e6,commentId:_0x2d4385,content:_0x547755,attributes:_0xafc48e})=>this['_getService'](_0xdece2d)['updateComment'](_0x5779e6,_0x2d4385,_0x547755,_0xafc48e)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x45ff2a,threadId:_0x51c901,commentId:_0x151b3c})=>this['_getService'](_0x45ff2a)['removeComment'](_0x51c901,_0x151b3c)['catch'](rt)['catch'](ct)},_0x4d857a instanceof _0x46d979){const _0x243a48=_0x4d857a['config']['get']('collaboration.channelId'),_0x13f2fc=_0x4d857a['plugins']['get'](Y);await this['_setUpService'](_0x243a48);const _0x360913=await this['_services']['get'](_0x243a48)['getConnectedSessions']();this['listenTo'](_0x13f2fc,'sessionAdd:'+_0x243a48,(_0x3a3637,{session:_0x2952fa})=>{_0x2952fa['id']===_0x13f2fc['mySessionId']&&(_0x3a3637['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2952fa['permissions'],_0x243a48));}),_0x13f2fc['register'](_0x243a48,_0x360913);}}async _setUpService(_0x130b75){if(this['_services']['has'](_0x130b75))throw new _0x370faa('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x130b75});const _0x3261c3=this['context']['plugins']['get'](_0x50e12d),_0x1afdf1=new CloudServicesCommentsAdapter['CommentsService'](_0x130b75);this['_services']['set'](_0x130b75,_0x1afdf1),this['listenTo'](_0x1afdf1,'commentThreadAdded',(_0x1230cd,_0x11252c)=>{const {commentThreadId:_0x3e68dc,documentId:_0x42674b,context:_0x16d78c,attributes:_0x37e252,resolvedAt:_0x3122e9,resolvedBy:_0x4fd2cc,comments:_0x2f7e19}=_0x11252c;_0x3261c3['getCommentThread'](_0x3e68dc)||_0x3261c3['addCommentThread']({'threadId':_0x3e68dc,'channelId':_0x42674b,'comments':_0x2f7e19?_0x2f7e19['map'](at):[],'context':_0x16d78c,'attributes':_0x37e252,'resolvedAt':_0x3122e9,'resolvedBy':_0x4fd2cc,'isFromAdapter':!0x0});}),this['listenTo'](_0x1afdf1,'commentThreadUpdated',(_0xf666bd,{commentThreadId:_0x2572d3,documentId:_0x223729,context:_0x57c06c,unlinkedAt:_0x3150bd,attributes:_0x1ccc5f})=>{_0x3261c3['getCommentThread'](_0x2572d3)&&_0x3261c3['updateCommentThread']({'threadId':_0x2572d3,'channelId':_0x223729,'context':_0x57c06c,'unlinkedAt':_0x3150bd,'attributes':_0x1ccc5f,'isFromAdapter':!0x0});}),this['listenTo'](_0x1afdf1,'commentThreadResolved',(_0x3c7979,{commentThreadId:_0x1bd677,resolvedBy:_0x4cc711,resolvedAt:_0x59ba40})=>{const _0x329920=_0x3261c3['getCommentThread'](_0x1bd677);_0x329920&&_0x329920['resolve']({'resolvedBy':_0x4cc711,'resolvedAt':_0x59ba40,'isFromAdapter':!0x0});}),this['listenTo'](_0x1afdf1,'commentThreadReopened',(_0x26d020,{commentThreadId:_0x3170c3})=>{const _0x745e8d=_0x3261c3['getCommentThread'](_0x3170c3);_0x745e8d&&_0x745e8d['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1afdf1,'commentThreadRemoved',(_0x40352c,{commentThreadId:_0x225adf})=>{const _0x3feb2e=_0x3261c3['getCommentThread'](_0x225adf);_0x3feb2e&&_0x3feb2e['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1afdf1,'commentAdded',(_0x122087,_0x3de23b)=>{const _0x275a88=_0x3de23b['commentThreadId'],_0x3e78a8=_0x3261c3['getCommentThread'](_0x275a88);_0x3e78a8&&_0x3e78a8['addComment']({...at(_0x3de23b),'isFromAdapter':!0x0});}),this['listenTo'](_0x1afdf1,'commentUpdated',(_0x27f77b,{commentThreadId:_0x8e79ed,commentId:_0x2e9003,content:_0x592497,attributes:_0x3ab9cc})=>{const _0x1f95f0=_0x3261c3['getCommentThread'](_0x8e79ed);if(_0x1f95f0){const _0x32957c=_0x1f95f0['getComment'](_0x2e9003);_0x32957c&&_0x32957c['update']({'content':_0x592497,'attributes':_0x3ab9cc,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1afdf1,'commentRemoved',(_0x2cf894,{commentThreadId:_0x5c2596,commentId:_0x16f558})=>{const _0x359f68=_0x3261c3['getCommentThread'](_0x5c2596);if(_0x359f68){const _0x5996c5=_0x359f68['getComment'](_0x16f558);_0x5996c5&&_0x5996c5['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x1afdf1,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x130b75),this['stopListening'](_0x1afdf1));}),await this['_connectService'](_0x130b75);}destroy(){if(this['context']instanceof _0x46d979){const _0x197ea5=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x197ea5)&&this['_terminateService'](_0x197ea5);}}_terminateService(_0x1cc3b2){if(!this['_services']['has'](_0x1cc3b2))throw new _0x370faa('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1cc3b2});this['_getService'](_0x1cc3b2)['disconnect'](),this['_services']['delete'](_0x1cc3b2);}async reconnect(){for(const _0x1a6a15 of this['_services']['keys']())await this['_connectService'](_0x1a6a15);if(this['context']instanceof _0x46d979){const _0x2ccb57=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x2ccb57)){const _0x2af9dc=this['context']['plugins']['get'](Y);_0x2af9dc['unregister'](_0x2ccb57);const _0x46881b=await this['_services']['get'](_0x2ccb57)['getConnectedSessions']();_0x2af9dc['register'](_0x2ccb57,_0x46881b);}}}async _connectService(_0x41e464){const {connection:_0x328e66}=this['context']['plugins']['get'](z),_0x2e1bf4=this['context']['plugins']['get'](_0x50e12d),_0x22c9fa=await this['_services']['get'](_0x41e464)['connect'](_0x328e66);await this['_fetchMissingUsersForThreads'](_0x22c9fa);const _0x4dfd9e=new Set(Array['from'](_0x2e1bf4['getCommentThreads']({'channelId':_0x41e464}),_0x24807a=>_0x24807a['id']));for(const _0x13020a of _0x22c9fa)_0x13020a['deletedAt']||_0x4dfd9e['delete'](_0x13020a['commentThreadId']);for(const _0x54b0f0 of _0x4dfd9e)_0x2e1bf4['getCommentThread'](_0x54b0f0)['remove']({'isFromAdapter':!0x0});for(const _0x4504b8 of _0x22c9fa){let _0x4c80e0=_0x2e1bf4['getCommentThread'](_0x4504b8['commentThreadId']);const {commentThreadId:_0x39483,context:_0x4d3e57,attributes:_0x4706b3,resolvedBy:_0x462131,resolvedAt:_0x14dafe,unlinkedAt:_0x2df850,deletedAt:_0x5625d7}=_0x4504b8;if(_0x5625d7)continue;_0x4c80e0||(_0x4c80e0=_0x2e1bf4['addCommentThread']({'channelId':_0x41e464,'threadId':_0x39483,'context':_0x4d3e57,'attributes':_0x4706b3||{},'resolvedBy':_0x462131,'resolvedAt':_0x14dafe,'unlinkedAt':_0x2df850,'isFromAdapter':!0x0}));const _0x212117=new Set(Array['from'](_0x4c80e0['comments'],_0x52348f=>_0x52348f['id']));for(const _0x3e7d5d of _0x4504b8['comments'])_0x212117['delete'](_0x3e7d5d['commentId']);for(const _0x28816d of _0x212117)_0x4c80e0['getComment'](_0x28816d)['remove']({'isFromAdapter':!0x0});for(const _0x4b71a1 of _0x4504b8['comments']){const _0x3e29c0=_0x4c80e0['getComment'](_0x4b71a1['commentId']);_0x3e29c0?_0x3e29c0['content']!==_0x4b71a1['content']&&_0x3e29c0['update']({'content':_0x4b71a1['content'],'isFromAdapter':!0x0}):_0x4c80e0['addComment'](Object['assign'](at(_0x4b71a1),{'isFromAdapter':!0x0}));}}}_getService(_0x57a232){if(!this['_services']['has'](_0x57a232))throw new _0x370faa('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x57a232});return this['_services']['get'](_0x57a232);}async _fetchMissingUsersForThreads(_0x50b13f){const _0x568b6e=this['context']['plugins']['get'](_0x226ed0),{connection:_0x3e99aa}=this['context']['plugins']['get'](z),_0x2c468c=new Set();for(const {resolvedBy:_0x166388,comments:_0x34705d}of _0x50b13f){_0x166388&&!_0x568b6e['getUser'](_0x166388)&&_0x2c468c['add'](_0x166388);for(const {userId:_0x53f1b4}of _0x34705d)_0x568b6e['getUser'](_0x53f1b4)||_0x2c468c['add'](_0x53f1b4);}if(0x0===_0x2c468c['size'])return;const _0x31ec77=await _0x5ca612['getMany'](_0x3e99aa,Array['from'](_0x2c468c));for(const _0x65ede8 of _0x31ec77)_0x568b6e['getUser'](_0x65ede8['id'])||_0x568b6e['addUser'](_0x65ede8);}};async function rt(_0x2ef579){if('404'!==_0x2ef579['code'])throw _0x2ef579;}function ct(_0x53e2f4){if((_0x2dd28e=_0x53e2f4)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2dd28e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2dd28e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2dd28e;throw _0x53e2f4;}function at(_0x18912b){return{'threadId':_0x18912b['commentThreadId'],'commentId':_0x18912b['commentId'],'content':_0x18912b['content'],'createdAt':_0x18912b['createdAt'],'authorId':_0x18912b['userId'],'attributes':_0x18912b['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x4a73e6{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x254a7f)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x366e3c,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4e8c30){super(_0x4e8c30);const _0x28e60a=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x28e60a);}init(){const _0xc9f5fa=this['editor']['plugins']['get'](z),_0x119109=this['editor']['plugins']['get'](_0x366e3c);return _0x119109['adapter']={'getSuggestion':async _0x1e0844=>{await this['_waitForServiceReady']();const _0x260cbd=await this['_trackChangesService']['get'](_0x1e0844)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x260cbd]),_0x260cbd;},'addSuggestion':async({id:_0x55c107,type:_0x515e91,data:_0x59311b,originalSuggestionId:_0x3eb55b,attributes:_0x2b41e1})=>{await this['_waitForServiceReady']();const _0x500c10={'id':_0x55c107,'type':_0x515e91,'data':_0x59311b,'originalSuggestionId':_0x3eb55b,'attributes':_0x2b41e1},_0x1f592d=await this['_trackChangesService']['add'](_0x55c107,_0x515e91,_0x59311b,_0x3eb55b,_0x2b41e1)['catch'](_0x3c5a50=>{if(dt(_0x3c5a50))return new Promise(_0x25e149=>{this['_bufferedRequests']['set'](_0x55c107,{'resolve':_0x25e149,'suggestionData':_0x500c10});});throw _0x3c5a50;});return this['_bufferedRequests']['delete'](_0x55c107),_0x1f592d;},'updateSuggestion':async(_0x431c0f,_0x15bbcc)=>{if(await this['_waitForServiceReady'](),'open'!==_0x15bbcc['state'])return this['_trackChangesService']['update'](_0x431c0f,_0x15bbcc)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x34c11a,_0x5cc5fa)=>{_0x119109['hasSuggestion'](_0x5cc5fa['id'])&&(_0x119109['getSuggestion'](_0x5cc5fa['id'])['attributes']=_0x5cc5fa['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0xc9f5fa['connection']?.['state']&&(_0xc9f5fa['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0xc9f5fa['connection'])['then'](_0xf7221c=>(_0xc9f5fa['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0xf7221c)['then'](()=>{for(const _0x1f8bc4 of _0xf7221c){_0x119109['addSuggestionData'](_0x1f8bc4)['_saved']=!0x0;}})));}async reconnect(){const _0x4c2af6=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1b768c}=this['editor']['plugins']['get'](z),_0x215086=await this['_trackChangesService']['connect'](_0x1b768c);await this['_fetchMissingUsersForThreads'](_0x215086);for(const {suggestionData:_0x4d1b8b,resolve:_0x36b186}of this['_bufferedRequests']['values']()){let _0x4a342c=_0x215086['find'](_0xbf5a98=>_0xbf5a98['id']===_0x4d1b8b['id']);_0x4a342c||(_0x4a342c=await this['_trackChangesService']['add'](_0x4d1b8b['id'],_0x4d1b8b['type'],_0x4d1b8b['data'],_0x4d1b8b['originalSuggestionId'])),_0x36b186(_0x4a342c);}for(const _0x479d0c of _0x215086)_0x4c2af6['hasSuggestion'](_0x479d0c['id'])||_0x4c2af6['addSuggestionData'](_0x479d0c);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x3bb338=>{this['listenTo'](this['_trackChangesService'],'connected',_0x33b8ac=>{_0x33b8ac['off'](),_0x3bb338();});});}async _fetchMissingUsersForThreads(_0x2db06f){const _0x13efd6=this['editor']['plugins']['get'](_0x226ed0),{connection:_0x2cd15e}=this['editor']['plugins']['get'](z),_0x208c00=new Set();for(const {authorId:_0x1dc8a4}of _0x2db06f)_0x13efd6['getUser'](_0x1dc8a4)||_0x208c00['add'](_0x1dc8a4);if(0x0===_0x208c00['size'])return;const _0x375dd1=await _0x5ca612['getMany'](_0x2cd15e,Array['from'](_0x208c00));for(const _0xb765ad of _0x375dd1)_0x13efd6['getUser'](_0xb765ad['id'])||_0x13efd6['addUser'](_0xb765ad);}};function lt(_0x2dc979){if(dt(_0x2dc979))return new Promise(()=>{});throw _0x2dc979;}function dt(_0x20ae67){return _0x20ae67['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x20ae67['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x4a73e6{static get requires(){return[_0xe4ccc3,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x2c2bbb=this['editor']['plugins']['get'](z),_0x8a8cac=this['editor']['plugins']['get'](_0x3eb236),_0x3f9fca=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2c2bbb,'change:state',(_0x46e12c,_0x52f4a0,_0x5e1bb3)=>{_0x8a8cac['isThreadsLoadingPaused']='connected'!==_0x5e1bb3;});}),this['listenTo'](_0x2c2bbb,'change:state',(_0x4e6d04,_0x5864d4,_0x189214)=>{this['editor']['plugins']['get'](_0x50e12d)['switchReadOnly']('connected'!==_0x189214);}),_0x3f9fca['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x322120=this['editor']['plugins']['get'](ot),_0x4c1174=this['editor']['config']['get']('collaboration.channelId');_0x322120['_services']['has'](_0x4c1174)&&_0x322120['_terminateService'](_0x4c1174),super['destroy']();}},ft=class extends _0x4a73e6{static get requires(){return[ut,ht,_0x974558];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x4a73e6{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x59cd19)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x5ed346,Y,_0x226ed0];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3320e1){super(_0x3320e1);const _0x2741a4=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2741a4);}async init(){const _0x45af01=this['editor']['plugins']['get'](tt),_0x3901a5=_0x45af01['serverHistory'],_0x28180e=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x3901a5,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x45af01['sessionId']});const _0x5f1c0b=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x1469c5,_0x500293=await _0x5b6d29['isBundleUploaded'](_0x28180e['connection'],_0x5f1c0b);this['editor']['plugins']['get'](_0x5ed346)['adapter']={'getRevision':async({revisionId:_0x4cf971})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4cf971)),'updateRevisions':async _0x41d7ca=>{await this['_waitForServiceReady']();const _0x5b392f=this['_revisionTracker']['currentRevision'];if(_0x500293&&0x1===_0x41d7ca['length']&&_0x41d7ca[0x0]['id']===_0x5b392f['id'])return _0x41d7ca;for(const _0x3b40ac of _0x41d7ca)_0x3b40ac['id']===_0x5b392f['id']&&(_0x3b40ac['isEmptyCurrent']=_0x3b40ac['fromVersion']===_0x3b40ac['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x41d7ca,this['_lastRequestId'])['then'](_0x57739e=>(this['_lastRequestId']=_0x57739e,_0x41d7ca))['catch'](_0x4b9c01=>{if(pt(_0x4b9c01)||'400'===_0x4b9c01['code']&&void 0x0!==_0x4b9c01['data']['wrongRequestId']){for(const _0xcdc8f of _0x41d7ca)this['_revisionTracker']['repository']['getRevision'](_0xcdc8f['id'])&&this['_revisionTracker']['_bufferUpdate'](_0xcdc8f['id'],_0xcdc8f,!0x1);if(pt(_0x4b9c01)&&'destroyed'!==this['editor']['state'])throw _0x4b9c01;return _0x41d7ca;}throw _0x4b9c01;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x8a49ab,{revisionsData:_0x537a14,requestId:_0x2bd530})=>{Math['max'](..._0x537a14['map'](_0x5d4a64=>_0x5d4a64['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x537a14,_0x2bd530);}):this['_handleRevisionsUpdate'](_0x537a14,_0x2bd530);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x28180e['connection']?.['state']&&(_0x28180e['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x4d2231,requestId:_0x4bc400}=await this['_revisionHistoryService']['connect'](_0x28180e['connection']);_0x28180e['addToReconnectionStack'](this),this['_lastRequestId']=_0x4bc400,await this['_fetchMissingUsers'](_0x4d2231);for(const _0x48c948 of _0x4d2231)this['_revisionTracker']['addRevisionData'](_0x48c948);this['listenTo'](_0x45af01,'change:_isConnected',(_0x511092,_0x51ea95,_0x10f981)=>{_0x10f981&&(this['_oldOffset']=_0x45af01['_offset'],_0x511092['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x4c9e6d=this['editor']['plugins']['get'](z),_0x559aef=this['editor']['plugins']['get'](tt),_0x443dff=async()=>{const _0x49d0d5=this['_revisionTracker']['currentRevision'],_0x14b96b=_0x49d0d5['id'],_0x45ece2=_0x14b96b!==_0x559aef['sessionId'];if(_0x45ece2){const _0x57845a=_0x559aef['_offset']-this['_oldOffset'],_0x49bda0=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x49d0d5['toVersion']+_0x57845a!==_0x49bda0){const _0x1a0f87=_0x49d0d5['fromVersion']+_0x57845a,_0x53ec77=this['editor']['plugins']['get'](_0x226ed0),_0x47b505=this['_revisionTracker']['buildRevisionData']({'revision':_0x49d0d5,'from':_0x1a0f87,'to':_0x49bda0});_0x47b505['id']=_0x49d0d5['id'];const _0x15f80e=_0x47b505['authorsIds']['map'](_0x1def8d=>_0x53ec77['getUser'](_0x1def8d));_0x49d0d5['_update']({..._0x47b505,'authors':_0x15f80e},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x49d0d5['id'],_0x47b505,!0x0);}this['_revisionTracker']['_startingVersion']=_0x49bda0,_0x49d0d5['toVersion']!==_0x49d0d5['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x14b96b)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x14b96b),this['_revisionTracker']['_createCurrentRevision'](_0x49bda0);}const {revisions:_0x505fe9,requestId:_0x137e11}=await this['_revisionHistoryService']['reconnect'](_0x4c9e6d['connection'],this['_lastRequestId']);_0x45ece2&&_0x505fe9['length']>0x0?_0x559aef['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x505fe9),this['_handleRevisionsUpdate'](_0x505fe9,_0x137e11),this['_revisionTracker']['sendBufferedUpdates']());};return _0x559aef['_isConnected']?_0x443dff():new Promise((_0x46cb61,_0x410055)=>{_0x559aef['once']('change:_isConnected',()=>{_0x443dff()['then'](_0x46cb61)['catch'](_0x410055);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x321462=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x13dc07=>{_0x13dc07['off'](),_0x321462();});});}_getLatestVersionFromServerOperations(){const _0x160ec7=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x22b464 of _0x160ec7)if('marker'!==_0x22b464['type']||_0x22b464['affectsData'])return _0x22b464['baseVersion']+0x1;}_getLatestVersion(){const _0x357ecf=this['editor']['plugins']['get'](tt);return new Promise(_0x41b1bf=>{_0x357ecf['_isPendingUpdate']?_0x357ecf['once']('change:_isPendingUpdate',()=>{_0x41b1bf(this['_getLatestVersionFromServerOperations']());}):_0x41b1bf(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x19709f,_0x144bf8){const _0x560a17=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x144bf8;for(const _0x3a060c of _0x19709f){const _0x58194d=_0x560a17['getRevision'](_0x3a060c['id']);if(_0x58194d){if((_0x3a060c['fromVersion']||_0x3a060c['toVersion'])&&(_0x3a060c['diffData']=null),_0x58194d===this['_revisionTracker']['currentRevision']){const _0x1e5cad=Math['max'](_0x58194d['toVersion'],_0x3a060c['toVersion']),_0x4071d5=Math['max'](_0x58194d['fromVersion'],_0x3a060c['fromVersion']);let _0x3c337c;_0x58194d['toVersion']===_0x3a060c['toVersion']&&_0x58194d['fromVersion']===_0x3a060c['fromVersion']?(_0x3c337c=!0x0,this['_preventResendingRevisionData'](_0x3a060c)):_0x3a060c['toVersion']===_0x1e5cad&&_0x3a060c['fromVersion']===_0x4071d5?_0x3c337c=!0x1:(_0x58194d['toVersion']===_0x1e5cad&&_0x58194d['fromVersion']===_0x4071d5||this['_fixRevision']({'revision':_0x58194d,'from':_0x4071d5,'to':_0x1e5cad}),_0x3c337c=!0x0),_0x3c337c&&(delete _0x3a060c['fromVersion'],delete _0x3a060c['toVersion'],delete _0x3a060c['diffData'],delete _0x3a060c['createdAt'],delete _0x3a060c['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3a060c),this['_preventResendingRevisionData'](_0x3a060c);}else this['_revisionTracker']['addRevisionData'](_0x3a060c);}const _0x2568c7=_0x560a17['getRevisions']();_0x2568c7['reverse']();for(let _0x1055fc=0x0;_0x1055fc<_0x2568c7['length']-0x1;_0x1055fc++){const _0x416924=_0x2568c7[_0x1055fc],_0x5c5649=_0x2568c7[_0x1055fc+0x1];if(_0x416924['fromVersion']<_0x5c5649['toVersion']){const _0x41213e=_0x5c5649['toVersion'],_0x39db2d=Math['max'](_0x41213e,_0x416924['toVersion']);this['_fixRevision']({'revision':_0x416924,'from':_0x41213e,'to':_0x39db2d});}}}['_fixRevision']({revision:_0x187732,from:_0x36fa8c,to:_0x2473d5}={}){const _0x2fa748=this['editor']['plugins']['get'](_0x226ed0),_0x5a72f8=this['_revisionTracker']['buildRevisionData']({'revision':_0x187732,'from':_0x36fa8c,'to':_0x2473d5});_0x5a72f8['authors']=_0x5a72f8['authorsIds']['map'](_0x2b980c=>_0x2fa748['getUser'](_0x2b980c)),_0x187732['_update'](_0x5a72f8);}_preventResendingRevisionData(_0x2033d8){const _0x562951={};_0x562951['id']=_0x2033d8['id'];for(const _0x35d12c of Object['keys'](_0x2033d8))'id'!==_0x35d12c&&(_0x562951[_0x35d12c]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x562951['id'],_0x562951,!0x0);}async _fetchMissingUsers(_0x3b0f28){const _0x25f286=this['editor']['plugins']['get'](_0x226ed0),{connection:_0x428822}=this['editor']['plugins']['get'](z),_0x5e2aa7=new Set();for(const _0x1db93f of _0x3b0f28){for(const _0x1f44f6 of _0x1db93f['authorsIds'])_0x3d9d44(_0x1f44f6);_0x1db93f['creatorId']&&_0x3d9d44(_0x1db93f['creatorId']);}if(0x0===_0x5e2aa7['size'])return;const _0x4496fe=await _0x5ca612['getMany'](_0x428822,Array['from'](_0x5e2aa7));for(const _0x87e85a of _0x4496fe)_0x25f286['getUser'](_0x87e85a['id'])||_0x25f286['addUser'](_0x87e85a);function _0x3d9d44(_0x2e2946){_0x25f286['getUser'](_0x2e2946)||_0x5e2aa7['add'](_0x2e2946);}}};function pt(_0x5985f7){return _0x5985f7['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5985f7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5985f7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x4a73e6{static get requires(){return[_0x5ed346,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x2cd5dd{_collapseAt;constructor(_0x29ec55,_0x854615=0x6){super(_0x29ec55);const _0x9837ee=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x854615,this['bind']('isHidden')['to'](this,'usersCount',_0x426b84=>_0x426b84<_0x854615),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x9837ee['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':_0x9837ee['to']('usersCount',_0x34489d=>'+'+(_0x34489d-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x2cd5dd{items;keystrokes;constructor(_0x18e7cd){super(_0x18e7cd);const _0x5bf539=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x273b95(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5bf539['if']('hasPopup'),'aria-expanded':_0x5bf539['to']('isExpanded',_0x5eeae2=>this['hasPopup']&&String(_0x5eeae2)),'aria-label':_0x5bf539['to']('hasPopup',_0x4fa848=>X(_0x18e7cd,_0x4fa848?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5bf539['to']('hasPopup',_0x2eb012=>!!_0x2eb012&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5bf539['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5bf539['to'](_0x5c74fa=>{const _0x364198=_0x5c74fa,_0x4aad0f=document['querySelector']('.ck-presence-list__dropdown-list'),_0x422c52=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4aad0f?.['contains'](_0x364198['relatedTarget'])||_0x422c52?.['contains'](_0x364198['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x385f10,_0x26dd65,_0x788a77)=>{this['element']&&(_0x788a77?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 _0x2cd5dd{counterView;inlineListView;constructor(_0x8f0f9d,_0x3198ff=0x6){super(_0x8f0f9d);const _0x52bd2b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x3198ff),this['inlineListView']=new vt(_0x8f0f9d),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3495df of this['inlineListView']['items'])_0x3495df['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',_0x52bd2b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x2cd5dd{listWrapperView;constructor(_0x4e9ea1,_0x174fde){super(_0x4e9ea1);const _0x469090=this['bindTemplate'];this['listWrapperView']=new bt(_0x4e9ea1,_0x174fde),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x4e9ea1,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x469090['to'](_0x17f5f2=>{const _0x68dbd6=_0x17f5f2,_0x1079d2=document['querySelector']('.ck-presence-list__list'),_0x3bd88c=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1079d2?.['contains'](_0x68dbd6['relatedTarget'])||_0x3bd88c?.['contains'](_0x68dbd6['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x2600a0{constructor(_0x25dad6,_0x4209ff){super(_0x25dad6);const _0x4f94bf=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4209ff?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4f94bf['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4f94bf['to']('role'),'aria-label':_0x4f94bf['to']('ariaLabel'),'aria-labelledby':_0x4f94bf['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x1f52c4['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x29fbf9=this['element'];_0x29fbf9&&(this['_isScrollable']=Math['max'](_0x29fbf9['scrollHeight'],_0x29fbf9['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x13c790{['userView'];constructor(_0x1a3370,_0x56c2ff,_0x1fc403){super(_0x1a3370);const _0x287ec4=this['bindTemplate'];this['userView']=new _0x3e61f8(_0x1a3370,_0x56c2ff);const _0xd8a35b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x56c2ff['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x56c2ff['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x56c2ff['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x56c2ff['color']['getColorVariable'](),'--ck-user-color-alpha':_0x56c2ff['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x1fc403&&(_0xd8a35b['tag']='button',_0xd8a35b['on']={'click':_0x287ec4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xd8a35b);}['focus'](){this['element']['focus']();}},It=class extends _0x2cd5dd{['userView'];['markerView'];constructor(_0x49c0d2,_0x11eb43,_0x34559e){super(_0x49c0d2);const _0x4c269a=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x3e61f8(_0x49c0d2,_0x11eb43),this['markerView']=new St(_0x49c0d2,_0x11eb43);const _0x1be053=new _0x62ed26(_0x49c0d2);_0x1be053['template']['tag']='span',_0x1be053['text']=_0x11eb43['name'];const _0x1cb64a={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4c269a['to']('isFocusable',_0xd238e9=>!!_0xd238e9&&0x0),'aria-labelledby':_0x1be053['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4c269a['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4c269a['to']('hasTooltip',_0xd7f031=>!_0xd7f031),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1be053]};_0x34559e&&(_0x1cb64a['tag']='button',_0x1cb64a['on']={'click':_0x4c269a['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1cb64a);}},St=class extends _0x2cd5dd{constructor(_0x25f802,_0x5700e0){super(_0x25f802),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5700e0['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5700e0['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5700e0['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x4b84ca{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x287df3){super(_0x287df3),this['context']['config']['define']('presenceList',Tt);const _0x2b105f=_0x287df3['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2b105f)throw new _0x370faa('presencelist-collapseat-invalid-format',this);if(_0x2b105f<0x1)throw new _0x370faa('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1cc682(),this['balloonPanelView']=new _0x1ce97b(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x1f27ab of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1f27ab);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1bc759,_0x1dcfb6)=>{this['_handleUserAdd'](_0x1dcfb6);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x194ae4,_0x5cc631)=>{this['_handleUserRemove'](_0x5cc631);});}_createView(){const _0x26d0f1=this['context'],_0x379209=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xdad45a=this['balloonPanelView'];if(!_0x44576b(_0x26d0f1['config']['get']('presenceList.container')))throw new _0x370faa('presencelist-missing-container',this);return _0x379209['counterView']['bind']('usersCount')['to'](this),_0x379209['bind']('isCollapsed')['to'](this,'usersCount',_0x16410d=>{const {collapseAt:_0x7676b6}=_0x26d0f1['config']['get']('presenceList'),_0x515a82=_0x16410d>=_0x7676b6;if(_0x515a82&&!_0x379209['inlineListView']['items']['find'](_0x3c8a96=>_0x3c8a96 instanceof wt)){const _0x5c73d2=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5c73d2&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x379209['inlineListView']['items']['add'](_0x379209['counterView']);}return _0x515a82||this['hideDropdown'](),_0x515a82;}),_0x379209['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x7fe347=>{const _0x4ee6fd=_0x26d0f1['config']['get']('presenceList'),_0x45ea34=new It(_0x26d0f1['locale'],_0x7fe347,!!_0x4ee6fd['onClick']);return _0x45ea34['bind']('hasTooltip')['to'](_0x379209,'isCollapsed',_0x119d7e=>!_0x119d7e),_0x45ea34['bind']('isFocusable')['to'](_0x379209,'isCollapsed',_0x487628=>!_0x487628),_0x4ee6fd['onClick']&&this['listenTo'](_0x45ea34,'execute',()=>{this['view']['isCollapsed']||_0x4ee6fd['onClick'](_0x7fe347,_0x45ea34['element']);}),_0x45ea34;}),this['listenTo'](_0x379209['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x379209['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x379209['inlineListView']['keystrokes']['set']('Enter',(_0x4e4cc8,_0x2dc2aa)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2dc2aa());}),_0x379209['render'](),_0xdad45a['render'](),_0x2d8d74({'emitter':_0x379209,'activator':()=>_0xdad45a['isVisible'],'contextElements':[_0xdad45a['element'],_0x379209['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x26d0f1['config']['get']('presenceList.container')['appendChild'](_0x379209['element']),this['_bodyCollection']=new _0x1affd0(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x379209;}['_handleUserAdd'](_0x35e7d9){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x35e7d9['isMe'])return;const _0x3a3515=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3a3515-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x363810=_0x35e7d9['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x35e7d9,_0x363810);}['_handleUserRemove'](_0x1f0065){this['usersCount']--;const {collapseAt:_0x206f2f}=this['context']['config']['get']('presenceList'),_0x3c8ab7=this['usersCount']>=_0x206f2f;if(this['currentDisplayedUsers']['get'](_0x1f0065['id']))this['currentDisplayedUsers']['remove'](_0x1f0065['id']);else{if(_0x3c8ab7&&this['currentDisplayedUsers']['length']+0x1===_0x206f2f-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3c8ab7?0x1:0x0)<this['usersCount']){for(const _0x20d9b7 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x20d9b7['id'])&&(this['currentDisplayedUsers']['add'](_0x20d9b7,Math['min'](this['currentDisplayedUsers']['length']-(_0x3c8ab7?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3c8ab7?0x1:0x0)===_0x206f2f-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x493e1c=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x493e1c['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0xbb5db4}=this['presenceDropdownView'];_0xbb5db4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3f2dac=>{if(!_0x493e1c['displayMe']&&_0x3f2dac['isMe'])return null;const _0x2ae2f5=new kt(this['context']['locale'],_0x3f2dac,!!_0x493e1c['onClick']);return _0x493e1c['onClick']&&this['listenTo'](_0x2ae2f5,'execute',()=>{_0x493e1c['onClick'](_0x3f2dac,_0x2ae2f5['element']);}),_0x2ae2f5;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0xbb5db4['focus'](),_0xbb5db4['checkIfScrollable']();const _0x57009a=(_0x5dd1c0,_0x10b103)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x10b103();};_0xbb5db4['keystrokes']['set']('Esc',_0x57009a),_0xbb5db4['keystrokes']['set']('Shift+Tab',_0x57009a),_0xbb5db4['keystrokes']['set']('Tab',(_0x2ba4f9,_0x30b37f)=>{!function(_0x3605f5){const _0x516a8b=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x9c465e=>_0x9c465e+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0xce5f82=[...document['body']['querySelectorAll'](_0x516a8b)]['filter'](_0xbcfa9e=>_0xbcfa9e===document['activeElement']||_0xbcfa9e['offsetWidth']+_0xbcfa9e['offsetHeight']>0x0)['sort']((_0x264f84,_0x4eaf99)=>(_0x264f84['tabIndex']||0x0)-(_0x4eaf99['tabIndex']||0x0)),_0x174537=_0xce5f82[(_0xce5f82['indexOf'](_0x3605f5)+0x1)%_0xce5f82['length']];_0x174537&&_0x174537['focus']();}(this['view']['element']),this['hideDropdown'](),_0x30b37f();}),_0xbb5db4['focusTracker']['add'](this['view']['element']),_0xbb5db4['focusTracker']['on']('change:isFocused',(_0x1ca204,_0x49c7f4,_0x46dd1f)=>{_0x46dd1f||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 _0x4b84ca{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};
|