@ckeditor/ckeditor5-real-time-collaboration 48.0.0-alpha.1 → 48.0.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -6
- package/dist/translations/af.js +1 -1
- package/dist/translations/af.umd.js +1 -1
- package/dist/translations/ar.js +1 -1
- package/dist/translations/ar.umd.js +1 -1
- package/dist/translations/ast.js +1 -1
- package/dist/translations/ast.umd.js +1 -1
- package/dist/translations/az.js +1 -1
- package/dist/translations/az.umd.js +1 -1
- package/dist/translations/be.js +1 -1
- package/dist/translations/be.umd.js +1 -1
- package/dist/translations/bg.js +1 -1
- package/dist/translations/bg.umd.js +1 -1
- package/dist/translations/bn.js +1 -1
- package/dist/translations/bn.umd.js +1 -1
- package/dist/translations/bs.js +1 -1
- package/dist/translations/bs.umd.js +1 -1
- package/dist/translations/ca.js +1 -1
- package/dist/translations/ca.umd.js +1 -1
- package/dist/translations/cs.js +1 -1
- package/dist/translations/cs.umd.js +1 -1
- package/dist/translations/da.js +1 -1
- package/dist/translations/da.umd.js +1 -1
- package/dist/translations/de-ch.js +1 -1
- package/dist/translations/de-ch.umd.js +1 -1
- package/dist/translations/de.js +1 -1
- package/dist/translations/de.umd.js +1 -1
- package/dist/translations/el.js +1 -1
- package/dist/translations/el.umd.js +1 -1
- package/dist/translations/en-au.js +1 -1
- package/dist/translations/en-au.umd.js +1 -1
- package/dist/translations/en-gb.js +1 -1
- package/dist/translations/en-gb.umd.js +1 -1
- package/dist/translations/en.js +1 -1
- package/dist/translations/en.umd.js +1 -1
- package/dist/translations/eo.js +1 -1
- package/dist/translations/eo.umd.js +1 -1
- package/dist/translations/es-co.js +1 -1
- package/dist/translations/es-co.umd.js +1 -1
- package/dist/translations/es.js +1 -1
- package/dist/translations/es.umd.js +1 -1
- package/dist/translations/et.js +1 -1
- package/dist/translations/et.umd.js +1 -1
- package/dist/translations/eu.js +1 -1
- package/dist/translations/eu.umd.js +1 -1
- package/dist/translations/fa.js +1 -1
- package/dist/translations/fa.umd.js +1 -1
- package/dist/translations/fi.js +1 -1
- package/dist/translations/fi.umd.js +1 -1
- package/dist/translations/fr.js +1 -1
- package/dist/translations/fr.umd.js +1 -1
- package/dist/translations/gl.js +1 -1
- package/dist/translations/gl.umd.js +1 -1
- package/dist/translations/gu.js +1 -1
- package/dist/translations/gu.umd.js +1 -1
- package/dist/translations/he.js +1 -1
- package/dist/translations/he.umd.js +1 -1
- package/dist/translations/hi.js +1 -1
- package/dist/translations/hi.umd.js +1 -1
- package/dist/translations/hr.js +1 -1
- package/dist/translations/hr.umd.js +1 -1
- package/dist/translations/hu.js +1 -1
- package/dist/translations/hu.umd.js +1 -1
- package/dist/translations/hy.js +1 -1
- package/dist/translations/hy.umd.js +1 -1
- package/dist/translations/id.js +1 -1
- package/dist/translations/id.umd.js +1 -1
- package/dist/translations/it.js +1 -1
- package/dist/translations/it.umd.js +1 -1
- package/dist/translations/ja.js +1 -1
- package/dist/translations/ja.umd.js +1 -1
- package/dist/translations/jv.js +1 -1
- package/dist/translations/jv.umd.js +1 -1
- package/dist/translations/kk.js +1 -1
- package/dist/translations/kk.umd.js +1 -1
- package/dist/translations/km.js +1 -1
- package/dist/translations/km.umd.js +1 -1
- package/dist/translations/kn.js +1 -1
- package/dist/translations/kn.umd.js +1 -1
- package/dist/translations/ko.js +1 -1
- package/dist/translations/ko.umd.js +1 -1
- package/dist/translations/ku.js +1 -1
- package/dist/translations/ku.umd.js +1 -1
- package/dist/translations/lt.js +1 -1
- package/dist/translations/lt.umd.js +1 -1
- package/dist/translations/lv.js +1 -1
- package/dist/translations/lv.umd.js +1 -1
- package/dist/translations/ms.js +1 -1
- package/dist/translations/ms.umd.js +1 -1
- package/dist/translations/nb.js +1 -1
- package/dist/translations/nb.umd.js +1 -1
- package/dist/translations/ne.js +1 -1
- package/dist/translations/ne.umd.js +1 -1
- package/dist/translations/nl.js +1 -1
- package/dist/translations/nl.umd.js +1 -1
- package/dist/translations/no.js +1 -1
- package/dist/translations/no.umd.js +1 -1
- package/dist/translations/oc.js +1 -1
- package/dist/translations/oc.umd.js +1 -1
- package/dist/translations/pl.js +1 -1
- package/dist/translations/pl.umd.js +1 -1
- package/dist/translations/pt-br.js +1 -1
- package/dist/translations/pt-br.umd.js +1 -1
- package/dist/translations/pt.js +1 -1
- package/dist/translations/pt.umd.js +1 -1
- package/dist/translations/ro.js +1 -1
- package/dist/translations/ro.umd.js +1 -1
- package/dist/translations/ru.js +1 -1
- package/dist/translations/ru.umd.js +1 -1
- package/dist/translations/si.js +1 -1
- package/dist/translations/si.umd.js +1 -1
- package/dist/translations/sk.js +1 -1
- package/dist/translations/sk.umd.js +1 -1
- package/dist/translations/sl.js +1 -1
- package/dist/translations/sl.umd.js +1 -1
- package/dist/translations/sq.js +1 -1
- package/dist/translations/sq.umd.js +1 -1
- package/dist/translations/sr-latn.js +1 -1
- package/dist/translations/sr-latn.umd.js +1 -1
- package/dist/translations/sr.js +1 -1
- package/dist/translations/sr.umd.js +1 -1
- package/dist/translations/sv.js +1 -1
- package/dist/translations/sv.umd.js +1 -1
- package/dist/translations/th.js +1 -1
- package/dist/translations/th.umd.js +1 -1
- package/dist/translations/ti.js +1 -1
- package/dist/translations/ti.umd.js +1 -1
- package/dist/translations/tk.js +1 -1
- package/dist/translations/tk.umd.js +1 -1
- package/dist/translations/tr.js +1 -1
- package/dist/translations/tr.umd.js +1 -1
- package/dist/translations/tt.js +1 -1
- package/dist/translations/tt.umd.js +1 -1
- package/dist/translations/ug.js +1 -1
- package/dist/translations/ug.umd.js +1 -1
- package/dist/translations/uk.js +1 -1
- package/dist/translations/uk.umd.js +1 -1
- package/dist/translations/ur.js +1 -1
- package/dist/translations/ur.umd.js +1 -1
- package/dist/translations/uz.js +1 -1
- package/dist/translations/uz.umd.js +1 -1
- package/dist/translations/vi.js +1 -1
- package/dist/translations/vi.umd.js +1 -1
- package/dist/translations/zh-cn.js +1 -1
- package/dist/translations/zh-cn.umd.js +1 -1
- package/dist/translations/zh.js +1 -1
- package/dist/translations/zh.umd.js +1 -1
- package/package.json +12 -12
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{ContextPlugin as
|
|
24
|
-
((()=>_0x23f04b)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x1d403e,_0x5b2509];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4f1cbc){super(_0x4f1cbc),this['set']('state',_0x14867f['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x22fd07())();}['init'](){const _0x50065b=this['context'],_0x561517=_0x50065b['plugins']['get'](_0x1d403e),_0x299b16=_0x50065b['plugins']['get'](_0x5b2509);if(!_0x561517['token'])throw new _0x8b1112('websocketgateway-missing-token',this);if(!_0x561517['webSocketUrl'])throw new _0x8b1112('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),z['WebSocketGateway']['connect'](_0x561517['token'],_0x561517['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x20c1a4=>{if(this['connection']=_0x20c1a4,this['bind']('state')['to'](_0x20c1a4,'state',this,'_isBrowserOffline',(_0x54e2ab,_0x533ebe)=>('connected'!==_0x54e2ab&&(this['_shouldPluginsReconnect']=!0x0),_0x533ebe||_0x54e2ab!==_0x14867f['CONNECTED']?_0x14867f['DISCONNECTED']:this['state']==_0x14867f['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x14867f['CONNECTING']):_0x14867f['CONNECTED'])),this['connection']['on']('error',(_0x52bb94,_0x6b0f6)=>{if('limitExceeded'!==_0x6b0f6['code'])throw console['error'](_0x6b0f6),new _0x8b1112('cloudservices-init',null,{'originalError':_0x6b0f6});_0x299b16['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'});}),!_0x20c1a4['me'])return new Promise(_0xde03a8=>_0x20c1a4['on']('change:me',_0xde03a8));})['catch'](_0x1d3987=>{throw console['error'](_0x1d3987),new _0x8b1112('cloudservices-init',null,{'originalError':_0x1d3987});});}['addToReconnectionStack'](_0x59a4ed){if('function'!=typeof _0x59a4ed['reconnect'])throw new _0x8b1112('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x59a4ed))throw new _0x8b1112('websocketgateway-plugin-already-registered',this,{'name':_0x59a4ed['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x59a4ed);}['removeFromReconnectionStack'](_0xa6e3c3){this['_reconnectionStack']['delete'](_0xa6e3c3);}['isInReconnectionStack'](_0x413e07){return this['_reconnectionStack']['has'](_0x413e07);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x478ae8=>_0x478ae8['reconnect']())))['then'](()=>this['state']=_0x14867f['CONNECTED'])['catch'](_0x5e3899=>{throw console['error'](_0x5e3899),new _0x8b1112('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x14867f['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x3aaa58{['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,_0x53aae5];}constructor(_0x51c7d8){super(_0x51c7d8),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2d2e8c(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x53aae5);}['init'](){const _0x3bd1e8=this['context']['plugins']['get'](z);this['listenTo'](_0x3bd1e8,'change:state',(_0x2a8d13,_0x409afb,_0x80da97)=>{if('connected'!==_0x80da97)this['channelSessions']['forEach'](_0x3ca25f=>_0x3ca25f['clear']()),this['channelConnectedUsers']['forEach'](_0x28f645=>_0x28f645['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x31b26f,_0x2d5678]of this['_registeredSessions'])for(const _0x2db2d1 of _0x2d5678)this['_handleSessionAdd'](_0x31b26f,_0x2db2d1);}}),this['_createUser'](_0x3bd1e8['connection']['me'],!0x0);}['register'](_0x375ad5,_0x4c09f5){if(this['_registeredSessions']['has'](_0x375ad5))throw new _0x8b1112('sessions-register-already-registered',null,{'channelId':_0x375ad5});this['_registeredSessions']['set'](_0x375ad5,_0x4c09f5),this['channelSessions']['set'](_0x375ad5,new _0x2d2e8c()),this['channelConnectedUsers']['set'](_0x375ad5,new _0x2d2e8c()),this['listenTo'](_0x4c09f5,'add',(_0x444867,_0x5b4a20)=>this['_handleSessionAdd'](_0x375ad5,_0x5b4a20)),this['listenTo'](_0x4c09f5,'remove',(_0x3b186a,_0x3fe1b2)=>this['_handleSessionRemove'](_0x375ad5,_0x3fe1b2));for(const _0x38a4c5 of _0x4c09f5)this['_handleSessionAdd'](_0x375ad5,_0x38a4c5);}['unregister'](_0x5349d3){if(!this['_registeredSessions']['has'](_0x5349d3))throw new _0x8b1112('sessions-unregister-not-exist',null,{'channelId':_0x5349d3});const _0x1a2ba7=this['_registeredSessions']['get'](_0x5349d3);this['stopListening'](_0x1a2ba7);for(const _0x2970bb of _0x1a2ba7)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x5349d3,_0x2970bb);this['_registeredSessions']['delete'](_0x5349d3),this['channelSessions']['delete'](_0x5349d3),this['channelConnectedUsers']['delete'](_0x5349d3);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x350c3b){for(const _0x10f0e0 of this['channelSessions']['values']())for(const _0x430acb of _0x10f0e0)if(_0x430acb['id']===_0x350c3b)return _0x430acb['user'];}['getUserSessions'](_0x3e3f6c,_0x34a0d7){const _0x31a340=_0x34a0d7?[this['channelSessions']['get'](_0x34a0d7)]:this['channelSessions']['values'](),_0x5b8742=new Set();for(const _0x18039f of _0x31a340)for(const _0x72afe6 of _0x18039f)_0x72afe6['user']['id']===_0x3e3f6c['id']&&_0x5b8742['add'](_0x72afe6['id']);return _0x5b8742;}['getUserRole'](_0x1ba2eb){for(const _0x5210a6 of this['channelSessions']['values']())for(const _0xa7cefd of _0x5210a6)if(_0xa7cefd['user']===_0x1ba2eb)return _0xa7cefd['role'];}['_handleSessionAdd'](_0x49837a,_0x4dd357){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x2a109f=_0x4dd357['user'],_0x499842=this['_users']['getUser'](_0x2a109f['id'])||this['_createUser'](_0x2a109f),_0x563659=Object['assign']({},_0x4dd357,{'user':_0x499842});if(this['channelSessions']['get'](_0x49837a)['add'](_0x563659),!_0x2a109f['hiddenInPresenceList']){const _0x299bc3=this['channelConnectedUsers']['get'](_0x49837a);_0x299bc3['has'](_0x499842['id'])||_0x299bc3['add'](_0x499842),this['allConnectedUsers']['has'](_0x499842['id'])||_0x2a109f['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x499842,_0x499842['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x49837a,{'channelId':_0x49837a,'session':_0x563659});}['_handleSessionRemove'](_0x3b0747,_0x2ea5cf){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x318467=this['channelConnectedUsers']['get'](_0x3b0747),_0x137b6f=_0x2ea5cf['user'];_0x137b6f['id']&&(this['channelSessions']['get'](_0x3b0747)['remove'](_0x2ea5cf['id']),_0x318467['has'](_0x137b6f['id'])&&!this['getUserSessions'](_0x137b6f,_0x3b0747)['size']&&_0x318467['remove'](_0x137b6f['id']),this['allConnectedUsers']['get'](_0x137b6f['id'])&&!this['getUserSessions'](_0x137b6f)['size']&&this['allConnectedUsers']['remove'](_0x137b6f['id']));}['_createUser'](_0x257f28,_0x842d32){const _0x17e27a=this['_users']['addUser'](_0x257f28);return _0x842d32&&this['_users']['defineMe'](_0x257f28['id']),_0x17e27a['orderNumber']=this['_uniqueUsersCount']++,_0x17e27a;}}class K extends _0x7e7df2{['_domEmitter']=new(_0x22fd07())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1a126f=this['editor'],_0xcb1241=_0x1a126f['plugins']['get'](Y);_0x1a126f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x580ce1,{writer:_0xce4b72})=>function(_0x10e492,_0x5128d0,_0xc73f3f,_0x4fac18){const _0x3d8ece=_0x10e492['markerName']['split'](':')[0x2],_0x5874cf=_0xc73f3f['getUserBySessionId'](_0x3d8ece);if(!_0x5874cf||_0x3d8ece===_0xc73f3f['mySessionId'])return;if(!_0x4fac18['model']['schema']['checkChild'](_0x10e492['markerRange']['start'],'$text'))return;const _0x373ced={'class':'ck-user__marker\x20'+_0x5874cf['color']['getMarkerClass'](),'style':Q(_0x5874cf),'data-name':_0x5874cf['name'],'data-session-id':_0x3d8ece},_0xa07946=_0x4fac18['model']['markers']['get'](_0x10e492['markerName']),_0x2b9b5f=_0xa07946['getStart'](),_0x418f1b=_0x2b9b5f['nodeAfter'],_0x2926f7=_0x4fac18['model']['schema'];if(_0x418f1b&&_0x2926f7['isObject'](_0x418f1b)&&_0x2926f7['isInline'](_0x418f1b)&&!_0x4fac18['model']['markers']['get']('user:range:'+_0x3d8ece)['getRange']()['isCollapsed'])return;const _0x590755=_0x2b9b5f['parent'];return _0x4fac18['model']['schema']['isLimit'](_0x590755)&&!_0x4fac18['model']['hasContent'](_0x590755)&&(_0x373ced['contenteditable']=!0x1),function(_0x43eb0b,_0x2d823d,_0x140244){const _0x2855db=_0x43eb0b['createUIElement']('span',_0x2d823d);return _0x43eb0b['setCustomProperty']('userPositionMarker',!0x0,_0x2855db),_0x2855db['render']=function(_0xb82226){const _0x2ccd14=this['toDomElement'](_0xb82226),_0x2b0224=document['createElement']('span');return _0x2b0224['classList']['add']('ck-user__marker-tooltip'),_0x2b0224['setAttribute']('contenteditable','false'),_0x2b0224['setAttribute']('spellcheck','false'),_0x2b0224['textContent']=_0x140244['name'],_0x2ccd14['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x2b0224['outerHTML']+'',_0x2ccd14['addEventListener']('mouseenter',()=>{_0x2ccd14['classList']['add']('ck-user__marker_hovered');}),_0x2ccd14['addEventListener']('mouseleave',()=>{_0x2ccd14['classList']['remove']('ck-user__marker_hovered');}),_0x2ccd14;},_0x2855db['isSimilar']=function(_0x103788){return!(!this['getCustomProperty']('userPositionMarker')||!_0x103788['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x103788['getAttribute']('data-session-id'));},_0x2855db;}(_0x5128d0,_0x373ced,_0x5874cf);}(_0x580ce1,_0xce4b72,_0xcb1241,_0x1a126f)}),_0x1a126f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x322d8c=>function(_0x4f1dc4,_0x4deb1e){const _0x10a8ae=_0x4f1dc4['markerName']['split'](':')[0x2];if(_0x10a8ae===_0x4deb1e['mySessionId'])return null;const _0x5206da=_0x4deb1e['getUserBySessionId'](_0x10a8ae);if(!_0x5206da)return{'id':_0x10a8ae,'classes':[]};return{'id':_0x10a8ae,'classes':['ck-user__selection',_0x5206da['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5206da),'data-session-id':_0x10a8ae},'priority':0x7d0+_0x5206da['orderNumber']};}(_0x322d8c,_0xcb1241)}),function(_0x4aaaed){const _0x15e595=_0x4aaaed['model'],_0x4f50c4=new Map(),_0x2ef069=_0x4aaaed['plugins']['get'](Y);_0x15e595['markers']['on']('update:user:range',(_0x2d7d9a,_0xa98c48,_0x29e22f,_0x1d71db)=>{if(!_0x1d71db&&_0x4f50c4['get'](_0xa98c48['name']))return _0x4f50c4['get'](_0xa98c48['name'])['detach'](),void _0x4f50c4['delete'](_0xa98c48['name']);const _0x5e3db4=_0xa98c48['name']['split'](':')[0x2];if(_0x5e3db4===_0x2ef069['mySessionId'])return;const _0x194d70='user:position:'+_0x5e3db4;_0x15e595['markers']['has'](_0x194d70)&&_0x4aaaed['editing']['reconvertMarker'](_0x194d70),_0xa98c48['on']('change:range',(_0x21ab32,_0x1e9cdc,_0x3af1fa)=>{if('$graveyard'!=_0x1e9cdc['root']['rootName']&&'$graveyard'==_0xa98c48['getRange']()['root']['rootName']&&!_0x4f50c4['has'](_0xa98c48['name'])){const _0x5291d9=_0x15e595['schema']['getNearestSelectionRange'](_0x3af1fa['deletionPosition']);if(_0x5291d9){const _0x4a44aa=_0x4e5246['fromRange'](_0x5291d9);_0x4f50c4['set'](_0xa98c48['name'],_0x4a44aa),_0x4a44aa['on']('change:range',(_0x53b894,_0x2a491d,_0x1f3cc5)=>{if('$graveyard'==_0x4a44aa['root']['rootName']){const _0x4ae943=_0x15e595['schema']['getNearestSelectionRange'](_0x1f3cc5['deletionPosition']);_0x4ae943?(_0x4a44aa['start']=_0x4ae943['start'],_0x4a44aa['end']=_0x4ae943['end']):(_0x4f50c4['delete'](_0xa98c48['name']),_0x4a44aa['detach']());}});}}});}),_0x15e595['document']['on']('change',()=>{_0x4f50c4['size']>0x0&&_0x15e595['enqueueChange']({'isUndoable':!0x1},_0xed949a=>{for(const [_0x250998,_0x18bf69]of _0x4f50c4)'$graveyard'==_0x15e595['markers']['get'](_0x250998)['getRange']()['root']['rootName']&&(J(_0x250998['split'](':')[0x2],_0x18bf69['toRange'](),_0x15e595,_0xed949a),_0x18bf69['detach']());_0x4f50c4['clear']();});});}(_0x1a126f),this['_domEmitter']['listenTo'](_0x4f4d68['document'],'keydown',(_0x2122b3,{key:_0x487ee6})=>{'Escape'===_0x487ee6&&function(_0x4293c1){_0x4293c1['editing']['view']['change'](_0x48ea42=>{for(const _0x5893b0 of _0x4293c1['model']['markers']){if(!_0x5893b0['name']['startsWith']('user:position'))continue;const _0x4b8b3d=_0x4293c1['editing']['mapper']['markerNameToElements'](_0x5893b0['name']);if(_0x4b8b3d){for(const _0x3e0e97 of _0x4b8b3d)_0x48ea42['removeClass']('ck-user__marker_hovered',_0x3e0e97);}}});}(_0x1a126f);},{'useCapture':!0x0});}['afterInit'](){const _0x10aff6=this['editor'],_0x43658a=_0x10aff6['commands']['get']('undo');_0x43658a&&_0x10aff6['model']['on']('applyOperation',(_0x5869bd,_0x28bf24)=>{const _0x118449=_0x28bf24[0x0];if(!_0x118449['isDocumentOperation'])return;if('marker'!=_0x118449['type']||!_0x118449['name']['startsWith']('user:'))return;const _0x3d575e=_0x118449['batch'];_0x43658a['_createdBatches']['has'](_0x3d575e)&&(_0x118449['newRange']=_0x118449['oldRange']?_0x10aff6['model']['createRange'](_0x118449['oldRange']['start'],_0x118449['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3060c1=this['editor'],_0x1c965e=_0x3060c1['model']['document'],_0x44ce04=_0x3060c1['plugins']['get'](Y);_0x3060c1['model']['enqueueChange']({'isUndoable':!0x1},_0x1a3797=>{const _0xb06e6d='user:range:'+_0x44ce04['mySessionId'],_0x1630e6='user:position:'+_0x44ce04['mySessionId'],_0x504673=_0x3060c1['model']['markers']['has'](_0xb06e6d);_0x3060c1['editing']['view']['hasDomSelection']?J(_0x44ce04['mySessionId'],_0x1c965e['selection']['getFirstRange'](),_0x3060c1['model'],_0x1a3797):_0x504673&&(_0x1a3797['removeMarker'](_0xb06e6d),_0x1a3797['removeMarker'](_0x1630e6));});}}function J(_0x2b5178,_0xebb4f5,_0x19c6fb,_0x4938b){const _0xff8f8e='user:range:'+_0x2b5178,_0x548999='user:position:'+_0x2b5178,_0x2f8b45=_0xebb4f5['getContainedElement']();let _0x5365cc=_0xebb4f5['start'];if(_0x2f8b45&&_0x2f8b45['is']('element','tableCell')){const _0x3ceeab=function(_0x215bf9,_0x1f1d76){for(const _0x3c3a11 of _0x215bf9['getPositions']())if(_0x1f1d76['schema']['checkChild'](_0x3c3a11,'$text'))return _0x3c3a11;}(_0xebb4f5,_0x19c6fb);_0x3ceeab&&(_0x5365cc=_0x3ceeab,_0xebb4f5=_0x4938b['createRange'](_0x5365cc));}const _0x4ca18a=_0x4938b['createRange'](_0x5365cc);_0x19c6fb['markers']['has'](_0xff8f8e)?(_0x4938b['updateMarker'](_0xff8f8e,{'range':_0xebb4f5}),_0x4938b['updateMarker'](_0x548999,{'range':_0x4ca18a})):(_0x4938b['addMarker'](_0xff8f8e,{'range':_0xebb4f5,'usingOperation':!0x0}),_0x4938b['addMarker'](_0x548999,{'range':_0x4ca18a,'usingOperation':!0x0}));}function Q(_0x4cff62){return'--ck-user-color:'+_0x4cff62['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4cff62['color']['getColorAlphaVariable']()+';';}function X(_0xb00654,_0x410779,_0x1eeae1){const _0x2c6af7=_0xb00654['t'],t=_0xb00654['t'];switch(_0x410779){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 _0x2c6af7({'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'},_0x1eeae1);default:return'';}}let Z=0x1;class tt extends _0x7e7df2{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x28acc3)());['_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,_0x48f710,_0x53aae5,_0x5b2509];}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 _0x146750=this['serverHistory']['getOperations']();for(let _0x3f20be=_0x146750['length']-0x1;_0x3f20be>=0x0;_0x3f20be--){const _0x4b6fbb=_0x146750[_0x3f20be];if(!this['_disconnectionOperations']['has'](_0x4b6fbb))return _0x4b6fbb['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x12752f){if(super(_0x12752f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4e2a41(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x8b1112('collaboration-missing-channelid',this);const _0x42ab8a=_0x12752f['config']['get']('cloudServices.bundleVersion')||_0x409661;this['_service']=new tt['CollaborativeEditingService'](_0x42ab8a,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x234ca0(),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 _0x4f7110=this['editor'],_0x292f42=_0x4f7110['plugins']['get'](_0x53aae5),_0x2160ab=_0x4f7110['plugins']['get'](z);this['listenTo'](_0x292f42,'getOperationAuthor',(_0x4fbea2,_0x6ffae9)=>{const _0x39ac79=_0x6ffae9[0x0];_0x39ac79['_authorId']&&(_0x4fbea2['return']=_0x292f42['getUser'](_0x39ac79['_authorId']),_0x4fbea2['stop']()),null===_0x39ac79['_authorId']&&(_0x4fbea2['return']=null,_0x4fbea2['stop']());},{'priority':'high'}),this['listenTo'](_0x4f7110['model']['document']['selection'],'change:range',(_0x40734d,_0x1d153d)=>{_0x1d153d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4f7110['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4f7110['model']['on']('applyOperation',(_0x19ee1b,_0x31747f)=>{const _0x1af4e1=_0x31747f[0x0];_0x1af4e1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1af4e1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2160ab,'state',this,'_hasSynchronizationProblem',(_0x419195,_0x562497)=>'connected'===_0x419195&&!_0x562497),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4f7110['disableReadOnlyMode']('rtc-offline'):_0x4f7110['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4f7110['disableReadOnlyMode']('rtc-offline'):_0x4f7110['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x5923e0=this['editor']['plugins']['get'](Y),_0x532ae1=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x5923e0['unregister'](this['_channelId']);const _0x30e7d7=await this['_service']['reconnect'](_0x532ae1['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x30e7d7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3d5377=await this['_service']['getConnectedSessions']();_0x5923e0['register'](this['_channelId'],_0x3d5377),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x28c1ad){if(function(_0x18cd13){return'404'===_0x18cd13['code'];}(_0x28c1ad)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x40a181){return'409'===_0x40a181['code'];}(_0x28c1ad)){const _0x471e3e=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'](_0x471e3e);}else{if(!(_0x28c1ad instanceof et))throw _0x28c1ad;this['_handleReconnectionError']();}}}}['destroy'](){const _0x55e19e=this['editor']['plugins']['get'](z),_0x457bd9=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x457bd9['channelSessions']['has'](this['_channelId'])&&_0x457bd9['unregister'](this['_channelId']),_0x55e19e['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1b102d){if(this['sessionId']!==_0x1b102d['sessionId']&&this['_lastSyncedOperationId']!==_0x1b102d['lastOperationId'])throw new et();return this['sessionId']=_0x1b102d['sessionId'],this['_handleServerResponse']([],{..._0x1b102d,'wereChangesApplied':!0x1,'data':_0x1b102d['data']},'reconnect');}async['_connectService'](_0x5e40d3,_0x21a08d=!0x1){const {connection:_0xdd7913}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0xdd7913,this['_channelId'])['then'](_0x238299=>this['_initSessionsHandling'](_0x238299))['catch'](_0x7ae861=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x7ae861);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x7d0f97,_0x467da3)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x467da3);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x889678=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5e40d3);this['_isPendingUpdate']=!0x0;const _0x3d7093=await this['_service']['connect'](_0xdd7913,this['_compressOperations'](_0x5e40d3),_0x889678);if(this['sessionId']=_0x3d7093['sessionId'],_0x21a08d){if(!_0x3d7093['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3d7093['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5e40d3,_0x3d7093,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3d7093,_0x5e40d3);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5efabc=this['editor']['plugins']['get'](Y),_0x2c241b=this['editor']['plugins']['get'](K),_0x55bd79=_0x5efabc['channelSessions']['get'](this['_channelId']);_0x55bd79&&_0x55bd79['length']>0x1?_0x2c241b['createUserMarkerOperations']():this['listenTo'](_0x5efabc,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5efabc['channelSessions']['get'](this['_channelId'])['length']&&_0x2c241b['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x598819,_0x23ae41,_0x117f42,_0x5c986a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x23ae41){const _0x4b7254=this['_decompressOperations'](_0x117f42,_0x5c986a);await this['_fetchMissingUsers'](_0x4b7254),this['_handleExternalOperations'](_0x4b7254,_0x23ae41,_0x117f42['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x14ca47}=this['editor'];let _0x578931;try{_0x578931=await this['_service']['getDocumentDetails']();}catch{const _0x281716=X(_0x14ca47,'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'](_0x281716);}const _0x678e50=_0x578931['currentDocumentSession']||_0x578931['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x678e50['lastOperationId']){const _0x4deb0=X(_0x14ca47,'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'](_0x4deb0);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2a30f8){const _0x13a88d=this['editor']['plugins']['get'](Y);this['listenTo'](_0x13a88d,'sessionAdd:'+this['_channelId'],(_0x2a76f5,{session:_0x4acca3})=>{if(_0x4acca3['id']===_0x13a88d['mySessionId']){_0x2a76f5['off']();const _0x94c083=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1ced70=_0x4acca3['permissions'];_0x94c083&&_0x94c083['isEnabled']&&(_0x1ced70=_0x1ced70['filter'](_0x274f89=>'document:write'!==_0x274f89)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1ced70,this['_channelId']);}}),_0x13a88d['register'](this['_channelId'],_0x2a30f8);}['_initThrowingOnDataSet'](){const _0x484523=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x36c3b2)=>{if(!_0x36c3b2[_0x36c3b2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x8b1112('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x484523['apply'](this['editor']['data'],_0x36c3b2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4d06a6,[_0x3d9821])=>{if(this['_document']['version'])throw new _0x8b1112('realtimecollaborationclient-init-document-already-initialized',this);_0x4d06a6['stop'](),this['_setPendingAction']();const _0x3aac1f=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x487e9b])=>!_0x487e9b['lazyLoad'])['map'](([_0x141db8,_0x4d2b9c])=>[_0x141db8,_0x4d2b9c['modelAttributes']||{}])),_0x1b7906=this['_getOperationsFromInitData'](_0x3d9821,_0x3aac1f);0x0==_0x1b7906['length']&&_0x1b7906['push'](new _0xcd8f64(0x0)),_0x4d06a6['return']=this['_connectService'](_0x1b7906)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1d10b7=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1d10b7))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x28efb8,[_0x2b911c,_0xbb3293])=>{_0x28efb8['stop']();const _0x31530b=this['editor']['model']['document']['getRoot'](_0x2b911c);if(!this['_knownRootNames']['has'](_0x2b911c)){const _0x1af1e6=_0xbb3293&&_0xbb3293['data']?_0xbb3293['data']:'',_0x3c2714=_0xbb3293&&_0xbb3293['attributes']?_0xbb3293['attributes']:{};await this['_loadRoot'](_0x2b911c,_0x1af1e6,_0x3c2714);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x31530b['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x31530b);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2f064d){const _0x4a8cbc=this['editor']['plugins']['get'](_0x53aae5),{connection:_0x4adbe9}=this['editor']['plugins']['get'](z),_0x42b7ec=new Set();for(const _0xc8faa1 of _0x2f064d){const _0x21c481=_0xc8faa1['_authorId'];_0x21c481&&!_0x4a8cbc['getUser'](_0x21c481)&&_0x42b7ec['add'](_0x21c481);}if(0x0===_0x42b7ec['size'])return;const _0x5166f0=await _0x1aae37['getMany'](_0x4adbe9,Array['from'](_0x42b7ec));for(const _0x4816e1 of _0x5166f0)_0x4a8cbc['getUser'](_0x4816e1['id'])||_0x4a8cbc['addUser'](_0x4816e1);}['_getOperationsFromInitData'](_0x2986ae,_0x4065dd={}){const _0x3543bb=this['editor']['model'],_0x2e2588=[];let _0x5926f4=0x0;const _0x2ded1c='string'==typeof _0x2986ae?{'main':_0x2986ae}:_0x2986ae;for(const _0xc2266 of Object['keys'](_0x2ded1c)){if(!this['_document']['roots']['has'](_0xc2266))throw new _0x8b1112('realtimecollaborationclient-init-non-existent-root',this);const _0xfb5dba=this['editor']['data']['parse'](_0x2ded1c[_0xc2266]),_0x1b43f3=this['_document']['getRoot'](_0xc2266),_0x166b1d=new _0xd5bc1f(_0x3543bb['createPositionAt'](_0x1b43f3,0x0),_0xfb5dba,_0x5926f4++);_0x2e2588['push'](_0x166b1d);for(const [_0x1e7ea8,_0x5e3d6f]of _0xfb5dba['markers']){const _0x4d0824=_0x3543bb['createRange'](_0x3543bb['createPositionFromPath'](_0x1b43f3,_0x5e3d6f['start']['path']['slice']()),_0x3543bb['createPositionFromPath'](_0x1b43f3,_0x5e3d6f['end']['path']['slice']())),_0x23b56c=new _0x174e27(_0x1e7ea8,null,_0x4d0824,_0x3543bb['markers'],!0x0,_0x5926f4++);_0x2e2588['push'](_0x23b56c);}}if(_0x4065dd)for(const [_0x2f4507,_0x466fd3]of Object['entries'](_0x4065dd)){const _0x3facc9=_0x3543bb['document']['getRoot'](_0x2f4507);if(!_0x3facc9)throw new _0x8b1112('multi-root-editor-root-attributes-no-root',null);for(const [_0xf92e45,_0x222ee3]of Object['entries'](_0x466fd3))if(null!==_0x222ee3){const _0x5945d1=new _0x488080(_0x3facc9,_0xf92e45,null,_0x222ee3,_0x5926f4++);_0x2e2588['push'](_0x5945d1);}}return _0x2e2588;}async['_loadRoot'](_0x52928b,_0x3cfaee,_0x46be9d){this['_getOperationsFromInitData']({[_0x52928b]:_0x3cfaee},{[_0x52928b]:_0x46be9d})['forEach']((_0x221a51,_0x52a69a)=>{_0x221a51['baseVersion']=this['_document']['version']+_0x52a69a,_0x221a51['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x221a51);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x38499c,_0x32c7c1){let _0x40cf5c;this['_offset']=_0x38499c['offset'];const _0x5ba0d8=_0x38499c['wereChangesApplied']&&!_0x38499c['initData'],_0x36eda7=_0x5ba0d8?0x0:_0x38499c['data']['baseVersion'];if(_0x32c7c1['forEach'](_0x3c0bc7=>{_0x3c0bc7['_isInit']=!0x0,_0x3c0bc7['createdAt']=_0x38499c['sessionCreatedAt'],_0x3c0bc7['_authorId']=null;}),_0x5ba0d8)_0x40cf5c=_0x32c7c1,this['_applyOperationsSet'](_0x40cf5c,_0x5ba0d8);else{if(_0x38499c['initData']){const _0x3e538d=this['_getOperationsFromInitData'](_0x38499c['initData']);this['_document']['history']['version']=-_0x3e538d['length'],_0x3e538d['forEach'](_0x10f93e=>{_0x10f93e['baseVersion']-=_0x3e538d['length'],_0x10f93e['createdAt']=_0x38499c['sessionCreatedAt'],_0x10f93e['_isInit']=!0x0,_0x10f93e['_authorId']=null;}),this['_applyOperationsSet'](_0x3e538d,!0x0),this['serverHistory']['version']=-_0x3e538d['length']+this['_offset'],this['_updateServerHistory'](_0x3e538d);}this['_document']['history']['version']=_0x36eda7,_0x40cf5c=this['_decompressOperations'](_0x38499c['data'],_0x38499c['metadata']),await this['_fetchMissingUsers'](_0x40cf5c),this['_applyOperationsSet'](_0x40cf5c,_0x5ba0d8);}_0x38499c['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x40cf5c,_0x38499c['lastOperationId']),this['_lastSyncedOperationId']=_0x38499c['lastOperationId']),this['serverHistory']['version']=_0x36eda7+this['_offset'],this['_updateServerHistory'](_0x40cf5c),_0x32c7c1['filter'](_0x1b8cf8=>{const _0x15c68c=this['_getAffectedRoot'](_0x1b8cf8);return _0x15c68c&&!this['_knownRootNames']['has'](_0x15c68c);})['forEach']((_0x21e4fe,_0x596af3)=>{_0x21e4fe['baseVersion']=this['_document']['version']+_0x596af3,this['_saveOperationInBuffer'](_0x21e4fe);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1defdf,_0x50ce7b){const _0x2918e5=_0x50ce7b&&_0x50ce7b['message'];if(_0x2918e5&&_0x2918e5['startsWith']('realtimecollaborationclient'))throw _0x50ce7b;const _0x57468e=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x57468e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x8b1112(_0x1defdf,this['editor'],_0x2918e5?{'originalError':_0x2918e5}:void 0x0);}['_saveOperationInBuffer'](_0x1bffdd){this['_knownOperations']['has'](_0x1bffdd)||(this['_knownOperations']['add'](_0x1bffdd),this['_bufferedOperations']['push'](_0x1bffdd),this['_pendingAction']||'marker'==_0x1bffdd['type']&&!_0x1bffdd['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1c0d65=!0x1){!_0x1c0d65&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1d58cc=>{_0x1d58cc&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3c9c52=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x369737){return _0x369737['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x369737['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x369737['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3c9c52)||this['_crash'](_0x3c9c52['message'],_0x3c9c52);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1a93fa=>{this['on']('change:_isPendingUpdate',()=>{_0x1a93fa();});});}async['_sendBufferedOperations'](){const _0x5f52ec=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x5f52ec['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x454b5f=[...this['_bufferedOperations']];for(const _0x37d5c6 of _0x454b5f)_0x37d5c6['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x37d5c6);const _0x2d22c6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x454b5f),_0x1ea704=Z++,_0x45dc5d=this['_compressOperations'](_0x454b5f),_0x5bc5d1=await this['_service']['sendOperations'](_0x45dc5d,_0x45dc5d['baseVersion'],_0x2d22c6);try{return await this['_handleServerResponse'](_0x454b5f,_0x5bc5d1,_0x1ea704);}catch(_0x504cc8){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x504cc8);}}async['_handleServerResponse'](_0x2600fd,_0x2308c0,_0x1103e9){if('error'in _0x2308c0)throw _0x2308c0['error'];let _0x1b45fd=!0x1;if(_0x2308c0['wereChangesApplied']){_0x2308c0['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2308c0['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xe406df=>!_0x2600fd['includes'](_0xe406df));for(const _0x582299 of _0x2600fd)_0x582299['createdAt']='lastOperationAcceptedAt'in _0x2308c0&&_0x2308c0['lastOperationAcceptedAt']||void 0x0;st(_0x2600fd,_0x2308c0['version']-_0x2600fd['length']),this['_updateServerHistory'](_0x2600fd);const _0x4499f1=_0x2600fd['filter'](_0x42fc20=>{if(!_0x42fc20['_isInit'])return!0x1;const _0x51c8c0=this['_getAffectedRoot'](_0x42fc20);return _0x51c8c0&&!this['_knownRootNames']['has'](_0x51c8c0);});st(_0x4499f1,this['_document']['version']),this['_applyOperationsSet'](_0x4499f1),_0x1b45fd=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xb75334=this['_decompressOperations'](_0x2308c0['data'],_0x2308c0['metadata'])['filter'](_0x3e965f=>_0x3e965f['baseVersion']>=this['_lastServerVersion']);_0xb75334['forEach'](_0x517f49=>this['_addKnownRoot'](_0x517f49)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x12ea2a=>!_0x12ea2a['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x12ea2a))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xb75334),_0x1b45fd=this['_handleExternalOperations'](_0xb75334,_0x2308c0['version'],_0x2308c0['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1b45fd?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1651a5,_0x3ae681,_0x23dd11){try{const _0x43ddd0={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x49ae2f,operationsB:_0x2a2e65,originalOperations:_0x37d688}=_0x209e32(_0x1651a5,this['_bufferedOperations'],_0x43ddd0);st(_0x49ae2f,this['_document']['version']),st(_0x2a2e65,_0x3ae681);for(const _0x5e9f11 of _0x49ae2f){const _0x1dfaec=_0x37d688['get'](_0x5e9f11);_0x5e9f11['_authorId']=_0x1dfaec?_0x1dfaec['_authorId']:null;}_0x23dd11&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1651a5,_0x23dd11),this['_lastSyncedOperationId']=_0x23dd11),this['_bufferedOperations']=[..._0x2a2e65],this['_applyOperationsSet'](_0x49ae2f),this['_updateServerHistory'](_0x1651a5);}catch(_0x47e528){return console['error'](_0x47e528),!0x1;}return!0x0;}['_applyOperationsSet'](_0x266cb8,_0x3c598e=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5e6288=>{for(const _0x44374a of _0x266cb8)this['_knownOperations']['add'](_0x44374a),this['_addKnownRoot'](_0x44374a),_0x5e6288['batch']['addOperation'](_0x44374a),this['editor']['model']['applyOperation'](_0x44374a);});}['_addKnownRoot'](_0x47af30){const _0x12bc01=this['_getAffectedRoot'](_0x47af30);_0x12bc01&&this['_knownRootNames']['add'](_0x12bc01);}['_getAffectedRoot'](_0x4cfeee){let _0x251d54,_0x5bb304;switch(_0x4cfeee['type']){case'insert':_0x251d54=_0x4cfeee['position']['root'];break;case'marker':if(_0x5bb304=_0x4cfeee['newRange'],!_0x5bb304)return null;_0x251d54=_0x5bb304['root'];break;case'addRootAttribute':_0x251d54=_0x4cfeee['root'];break;case'addRoot':_0x251d54=_0x4cfeee['affectedSelectable'];break;case'move':_0x251d54=_0x4cfeee['targetPosition']['root'];break;default:return null;}return _0x251d54['rootName'];}['_updateServerHistory'](_0x3b3f0e){_0x3b3f0e['forEach'](_0x4f2d66=>{const _0x12f601=_0x4f2d66['clone']();_0x12f601['_authorId']=_0x4f2d66['_authorId'],_0x12f601['_isInit']=!!_0x4f2d66['_isInit'],_0x12f601['createdAt']=_0x4f2d66['createdAt'],_0x12f601['baseVersion']+=this['_offset'],_0x4f2d66['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x12f601),this['serverHistory']['addOperation'](_0x12f601);});}['_handleReconnectionError'](_0x54e1c3){const _0x447644=this['editor']['plugins']['get']('Notification'),_0x31a182=this['editor']['locale'];_0x54e1c3||(_0x54e1c3=X(_0x31a182,'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.')),_0x447644['showWarning'](_0x54e1c3,{'title':X(_0x31a182,'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'](_0x48f710)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x48f710)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x3f9660){const _0x1a3266=_0x3f9660['map'](_0x54b054=>_0x54b054['toJSON']());return this['_compressor']['compress'](_0x1a3266);}['_decompressOperations'](_0x405ebf,_0xf5fe72){return this['_compressor']['decompress'](_0x405ebf)['map']((_0x4c6fd7,_0x17cd99)=>{const _0x1bba23='init'==_0xf5fe72[_0x17cd99]['type'];if('InsertOperation'==_0x4c6fd7['__className']){const _0x3f1f2a=_0x4c6fd7['position']['root'];!this['_document']['getRoot'](_0x3f1f2a)&&(this['_document']['createRoot']('$root',_0x3f1f2a)['_isAttached']=!0x1);}const _0x1a0c52=_0x271511['fromJSON'](_0x4c6fd7,this['_document']);return _0x1a0c52['wasUndone']=_0x4c6fd7['wasUndone'],_0x1a0c52['_isInit']=_0x1bba23,_0x1a0c52['_authorId']=_0x1bba23?null:_0xf5fe72[_0x17cd99]['userId'],_0x1a0c52['_isDisconnection']='cs:removeUser'===_0xf5fe72[_0x17cd99]['type'],_0x1a0c52['createdAt']=_0xf5fe72[_0x17cd99]['createdAt'],_0x1a0c52;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x1e9206=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1e9206&&_0x1e9206['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x9ada79,_0x10892c){for(const _0x3fee3e of _0x9ada79)_0x3fee3e['baseVersion']=_0x10892c++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x2b8879){this['_ignoredOperations']=_0x2b8879,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x52be96){let _0x298672=_0x52be96['length'];for(;_0x298672--;){const _0x1d5542=_0x52be96[_0x298672];if(!this['_ignoredOperations']['has'](_0x1d5542)){if(!this['_operationToId']['has'](_0x1d5542)){const _0x5e42c6=_0x257d68()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1d5542,_0x5e42c6);}return this['_operationToId']['get'](_0x1d5542);}}}['setIdForTheLastOperation'](_0x1b62a0,_0x39cb90){if(!_0x39cb90)return;let _0x218fe7=_0x1b62a0['length'];for(;_0x218fe7--;){const _0x24aa34=_0x1b62a0[_0x218fe7];this['_ignoredOperations']['has'](_0x24aa34)||this['_operationToId']['set'](_0x24aa34,_0x39cb90);}}}class nt extends _0x7e7df2{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x3aaa58{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x123b13)());['_services'];static get['requires'](){return[z,_0x546c19,Y,_0x53aae5];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1a04bc){super(_0x1a04bc),this['_services']=new Map();}async['init'](){const _0x2fd5d3=this['context'],_0x55410c=_0x2fd5d3['plugins']['get'](_0x546c19);if(_0x2fd5d3['plugins']['get'](z)['addToReconnectionStack'](this),_0x55410c['adapter']={'addCommentThread':async({channelId:_0x1d2292,threadId:_0xe0956b,comments:_0x7d6dc2,resolvedAt:_0xf2713a,resolvedBy:_0x4c80e9,context:_0x2f73e8,attributes:_0x4a48c4})=>{const _0x42a82e=await this['_getService'](_0x1d2292)['addCommentThread']({'commentThreadId':_0xe0956b,'comments':_0x7d6dc2['map'](_0x5bc8e0=>function(_0x370224,_0x2c85cb,_0x513f94){return{'commentThreadId':_0x513f94,'commentId':_0x370224['commentId'],'userId':_0x370224['authorId'],'content':_0x370224['content'],'documentId':_0x2c85cb,'createdAt':_0x370224['createdAt'],'attributes':_0x370224['attributes']||{}};}(_0x5bc8e0,_0x1d2292,_0xe0956b)),'resolvedAt':_0xf2713a,'resolvedBy':_0x4c80e9,'context':_0x2f73e8,'attributes':_0x4a48c4})['catch'](ct);return{'threadId':_0x42a82e['commentThreadId'],'comments':_0x42a82e['comments']};},'getCommentThread':async({channelId:_0x3e3ab4,threadId:_0x1d7186})=>{const _0x5eba4a=await this['_getService'](_0x3e3ab4)['getCommentThread'](_0x1d7186)['catch'](rt)['catch'](ct);return _0x5eba4a?_0x5eba4a['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5eba4a]),{'threadId':_0x5eba4a['commentThreadId'],'comments':_0x5eba4a['comments']['map'](at),'context':_0x5eba4a['context'],'resolvedAt':_0x5eba4a['resolvedAt'],'resolvedBy':_0x5eba4a['resolvedBy'],'attributes':_0x5eba4a['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x40b603,threadId:_0x19f540,context:_0x8d0c46,unlinkedAt:_0x327e70,attributes:_0x3858b9})=>this['_getService'](_0x40b603)['updateCommentThread']({'commentThreadId':_0x19f540,'context':_0x8d0c46,'attributes':_0x3858b9,'unlinkedAt':_0x327e70})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x5c4d3b,threadId:_0x55ef37})=>{const _0x1cc45e=await this['_getService'](_0x5c4d3b)['resolveCommentThread'](_0x55ef37)['catch'](rt)['catch'](ct);return{'threadId':_0x1cc45e['commentThreadId'],'resolvedAt':_0x1cc45e['resolvedAt'],'resolvedBy':_0x1cc45e['resolvedBy']};},'reopenCommentThread':async({channelId:_0xca2463,threadId:_0x2dea70})=>this['_getService'](_0xca2463)['reopenCommentThread'](_0x2dea70)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5886a2,threadId:_0x366094})=>this['_getService'](_0x5886a2)['removeCommentThread'](_0x366094)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x1a8fed,threadId:_0x2ab4e0,commentId:_0x3aeef6,content:_0x55dece,attributes:_0x1bf4e6})=>this['_getService'](_0x1a8fed)['addComment'](_0x2ab4e0,_0x3aeef6,_0x55dece,_0x1bf4e6)['catch'](ct),'updateComment':({channelId:_0x141598,threadId:_0xb4fed5,commentId:_0x5c5cca,content:_0x2c871b,attributes:_0x75342c})=>this['_getService'](_0x141598)['updateComment'](_0xb4fed5,_0x5c5cca,_0x2c871b,_0x75342c)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0xd95d58,threadId:_0x1ecbd0,commentId:_0x5a2eff})=>this['_getService'](_0xd95d58)['removeComment'](_0x1ecbd0,_0x5a2eff)['catch'](rt)['catch'](ct)},_0x2fd5d3 instanceof _0x36c47e){const _0xe9c51=_0x2fd5d3['config']['get']('collaboration.channelId'),_0x4ba8a1=_0x2fd5d3['plugins']['get'](Y);await this['_setUpService'](_0xe9c51);const _0x5a1568=await this['_services']['get'](_0xe9c51)['getConnectedSessions']();this['listenTo'](_0x4ba8a1,'sessionAdd:'+_0xe9c51,(_0x22fe78,{session:_0x32b85f})=>{_0x32b85f['id']===_0x4ba8a1['mySessionId']&&(_0x22fe78['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x32b85f['permissions'],_0xe9c51));}),_0x4ba8a1['register'](_0xe9c51,_0x5a1568);}}async['_setUpService'](_0x3e60ac){if(this['_services']['has'](_0x3e60ac))throw new _0x8b1112('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3e60ac});const _0x25bfdc=this['context']['plugins']['get'](_0x546c19),_0x10c8ea=new ot['CommentsService'](_0x3e60ac);this['_services']['set'](_0x3e60ac,_0x10c8ea),this['listenTo'](_0x10c8ea,'commentThreadAdded',(_0x29640c,_0x3ef3b1)=>{const {commentThreadId:_0x39fee2,documentId:_0x543891,context:_0x1f9397,attributes:_0x13f70d,resolvedAt:_0x34e2cd,resolvedBy:_0x587465,comments:_0x31cd93}=_0x3ef3b1;_0x25bfdc['getCommentThread'](_0x39fee2)||_0x25bfdc['addCommentThread']({'threadId':_0x39fee2,'channelId':_0x543891,'comments':_0x31cd93?_0x31cd93['map'](at):[],'context':_0x1f9397,'attributes':_0x13f70d,'resolvedAt':_0x34e2cd,'resolvedBy':_0x587465,'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentThreadUpdated',(_0x30bc71,{commentThreadId:_0x5b6f1f,documentId:_0x42934c,context:_0x3a5dbe,unlinkedAt:_0x20c638,attributes:_0x4389a8})=>{_0x25bfdc['getCommentThread'](_0x5b6f1f)&&_0x25bfdc['updateCommentThread']({'threadId':_0x5b6f1f,'channelId':_0x42934c,'context':_0x3a5dbe,'unlinkedAt':_0x20c638,'attributes':_0x4389a8,'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentThreadResolved',(_0x4f5dea,{commentThreadId:_0x48d967,resolvedBy:_0x23ce81,resolvedAt:_0xff8b5d})=>{const _0x2fdffe=_0x25bfdc['getCommentThread'](_0x48d967);_0x2fdffe&&_0x2fdffe['resolve']({'resolvedBy':_0x23ce81,'resolvedAt':_0xff8b5d,'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentThreadReopened',(_0x48d262,{commentThreadId:_0x5854a6})=>{const _0x191401=_0x25bfdc['getCommentThread'](_0x5854a6);_0x191401&&_0x191401['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentThreadRemoved',(_0x228a7f,{commentThreadId:_0x66e965})=>{const _0x554542=_0x25bfdc['getCommentThread'](_0x66e965);_0x554542&&_0x554542['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentAdded',(_0x5652d4,_0x21db57)=>{const _0x3fdba8=_0x21db57['commentThreadId'],_0x4b9f92=_0x25bfdc['getCommentThread'](_0x3fdba8);_0x4b9f92&&_0x4b9f92['addComment']({...at(_0x21db57),'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentUpdated',(_0x3fa0a8,{commentThreadId:_0x148d65,commentId:_0x561016,content:_0x314d5b,attributes:_0x1a90e4})=>{const _0x1aab6e=_0x25bfdc['getCommentThread'](_0x148d65);if(_0x1aab6e){const _0x4da7bc=_0x1aab6e['getComment'](_0x561016);_0x4da7bc&&_0x4da7bc['update']({'content':_0x314d5b,'attributes':_0x1a90e4,'isFromAdapter':!0x0});}}),this['listenTo'](_0x10c8ea,'commentRemoved',(_0x2ab847,{commentThreadId:_0x33bcc1,commentId:_0x554411})=>{const _0x2db888=_0x25bfdc['getCommentThread'](_0x33bcc1);if(_0x2db888){const _0x3c96ae=_0x2db888['getComment'](_0x554411);_0x3c96ae&&_0x3c96ae['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3e60ac);}['destroy'](){if(this['context']instanceof _0x36c47e){const _0x2d3b10=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2d3b10);}}['_terminateService'](_0x4e0805){if(!this['_services']['has'](_0x4e0805))throw new _0x8b1112('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4e0805});this['_getService'](_0x4e0805)['disconnect'](),this['_services']['delete'](_0x4e0805);}async['reconnect'](){for(const _0x339a38 of this['_services']['keys']())await this['_connectService'](_0x339a38);if(this['context']instanceof _0x36c47e){const _0xe085fb=this['context']['config']['get']('collaboration.channelId'),_0x1c388c=this['context']['plugins']['get'](Y);_0x1c388c['unregister'](_0xe085fb);const _0x8716ec=await this['_services']['get'](_0xe085fb)['getConnectedSessions']();_0x1c388c['register'](_0xe085fb,_0x8716ec);}}async['_connectService'](_0x5d5dd3){const {connection:_0xf8ac2c}=this['context']['plugins']['get'](z),_0x1d4e17=this['context']['plugins']['get'](_0x546c19),_0x5e993f=this['_services']['get'](_0x5d5dd3),_0x42f893=await _0x5e993f['connect'](_0xf8ac2c);await this['_fetchMissingUsersForThreads'](_0x42f893);const _0x2c74bf=new Set(Array['from'](_0x1d4e17['getCommentThreads']({'channelId':_0x5d5dd3}),_0x2ee2a4=>_0x2ee2a4['id']));for(const _0x476879 of _0x42f893)_0x476879['deletedAt']||_0x2c74bf['delete'](_0x476879['commentThreadId']);for(const _0x3e35aa of _0x2c74bf)_0x1d4e17['getCommentThread'](_0x3e35aa)['remove']({'isFromAdapter':!0x0});for(const _0x1b8000 of _0x42f893){let _0x205064=_0x1d4e17['getCommentThread'](_0x1b8000['commentThreadId']);const {commentThreadId:_0x4a4951,context:_0x69721b,attributes:_0x5d0dcf,resolvedBy:_0x4cc045,resolvedAt:_0x38c50a,unlinkedAt:_0x11cc5d,deletedAt:_0x154c18}=_0x1b8000;if(_0x154c18)continue;_0x205064||(_0x205064=_0x1d4e17['addCommentThread']({'channelId':_0x5d5dd3,'threadId':_0x4a4951,'context':_0x69721b,'attributes':_0x5d0dcf||{},'resolvedBy':_0x4cc045,'resolvedAt':_0x38c50a,'unlinkedAt':_0x11cc5d,'isFromAdapter':!0x0}));const _0x9a5d03=new Set(Array['from'](_0x205064['comments'],_0x23803c=>_0x23803c['id']));for(const _0x5b923c of _0x1b8000['comments'])_0x9a5d03['delete'](_0x5b923c['commentId']);for(const _0x3b1e41 of _0x9a5d03)_0x205064['getComment'](_0x3b1e41)['remove']({'isFromAdapter':!0x0});for(const _0x5a01b1 of _0x1b8000['comments']){const _0x42d370=_0x205064['getComment'](_0x5a01b1['commentId']);_0x42d370?_0x42d370['content']!==_0x5a01b1['content']&&_0x42d370['update']({'content':_0x5a01b1['content'],'isFromAdapter':!0x0}):_0x205064['addComment'](Object['assign'](at(_0x5a01b1),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3f2821){if(!this['_services']['has'](_0x3f2821))throw new _0x8b1112('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3f2821});return this['_services']['get'](_0x3f2821);}async['_fetchMissingUsersForThreads'](_0x3f7272){const _0x1b3dcf=this['context']['plugins']['get'](_0x53aae5),{connection:_0x3c0d98}=this['context']['plugins']['get'](z),_0x7f34e2=new Set();for(const {resolvedBy:_0x37a14c,comments:_0x51a4bd}of _0x3f7272){_0x37a14c&&!_0x1b3dcf['getUser'](_0x37a14c)&&_0x7f34e2['add'](_0x37a14c);for(const {userId:_0x368b6f}of _0x51a4bd)_0x1b3dcf['getUser'](_0x368b6f)||_0x7f34e2['add'](_0x368b6f);}if(0x0===_0x7f34e2['size'])return;const _0x4f4b09=await _0x1aae37['getMany'](_0x3c0d98,Array['from'](_0x7f34e2));for(const _0x47e644 of _0x4f4b09)_0x1b3dcf['getUser'](_0x47e644['id'])||_0x1b3dcf['addUser'](_0x47e644);}}async function rt(_0x3fc775){if('404'!==_0x3fc775['code'])throw _0x3fc775;}function ct(_0x5a3f8a){if((_0x124be5=_0x5a3f8a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x124be5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x124be5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x124be5;throw _0x5a3f8a;}function at(_0x506420){return{'threadId':_0x506420['commentThreadId'],'commentId':_0x506420['commentId'],'content':_0x506420['content'],'createdAt':_0x506420['createdAt'],'authorId':_0x506420['userId'],'attributes':_0x506420['attributes']||{}};}class ht extends _0x7e7df2{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x466a80)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0xcc7ce7,Y,_0x53aae5];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2b3e75){super(_0x2b3e75);const _0x1276a4=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x1276a4);}async['init'](){const _0x4115f5=this['editor']['plugins']['get'](tt),_0x43a0ca=_0x4115f5['serverHistory'],_0x2c807e=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x43a0ca,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4115f5['sessionId']});const _0x3a6035=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x409661,_0x58e710=await _0x16873e['isBundleUploaded'](_0x2c807e['connection'],_0x3a6035);this['editor']['plugins']['get'](_0xcc7ce7)['adapter']={'getRevision':async({revisionId:_0x361e20})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x361e20)),'updateRevisions':async _0x37002a=>{await this['_waitForServiceReady']();const _0x5b1cd2=this['_revisionTracker']['currentRevision'];if(_0x58e710&&0x1===_0x37002a['length']&&_0x37002a[0x0]['id']===_0x5b1cd2['id'])return _0x37002a;for(const _0x2e33b6 of _0x37002a)_0x2e33b6['id']===_0x5b1cd2['id']&&(_0x2e33b6['isEmptyCurrent']=_0x2e33b6['fromVersion']===_0x2e33b6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x37002a,this['_lastRequestId'])['then'](_0x4f6416=>(this['_lastRequestId']=_0x4f6416,_0x37002a))['catch'](_0x44d92b=>{if(pt(_0x44d92b)||'400'===_0x44d92b['code']&&void 0x0!==_0x44d92b['data']['wrongRequestId']){for(const _0x46bd13 of _0x37002a){!this['_revisionTracker']['repository']['getRevision'](_0x46bd13['id'])||this['_revisionTracker']['_bufferUpdate'](_0x46bd13['id'],_0x46bd13,!0x1);}if(pt(_0x44d92b))throw _0x44d92b;return _0x37002a;}throw _0x44d92b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xf361d,{revisionsData:_0x523cfa,requestId:_0x315675})=>{Math['max'](..._0x523cfa['map'](_0x2fa422=>_0x2fa422['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x523cfa,_0x315675);}):this['_handleRevisionsUpdate'](_0x523cfa,_0x315675);});const {revisions:_0x55bf37,requestId:_0x1ab5c4}=await this['_revisionHistoryService']['connect'](_0x2c807e['connection']);_0x2c807e['addToReconnectionStack'](this),this['_lastRequestId']=_0x1ab5c4,await this['_fetchMissingUsers'](_0x55bf37);for(const _0x114255 of _0x55bf37)this['_revisionTracker']['addRevisionData'](_0x114255);this['listenTo'](_0x4115f5,'change:_isConnected',(_0x4b4113,_0x16b74b,_0x5d5b63)=>{_0x5d5b63&&(this['_oldOffset']=_0x4115f5['_offset'],_0x4b4113['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2c807e,'state',_0x59a815=>_0x59a815===_0x14867f['CONNECTED']);}async['reconnect'](){const _0x22cbf1=this['editor']['plugins']['get'](z),_0x37d579=this['editor']['plugins']['get'](tt),_0x57d7b2=async()=>{const _0x582466=this['_revisionTracker']['currentRevision'],_0x3aad6e=_0x582466['id'],_0x345c01=_0x3aad6e!==_0x37d579['sessionId'];if(_0x345c01){const _0x330285=_0x37d579['_offset']-this['_oldOffset'],_0x3e0b01=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x582466['toVersion']+_0x330285!==_0x3e0b01){const _0x5a18d4=_0x582466['fromVersion']+_0x330285,_0x450d70=this['editor']['plugins']['get'](_0x53aae5),_0x36679f=this['_revisionTracker']['buildRevisionData']({'revision':_0x582466,'from':_0x5a18d4,'to':_0x3e0b01});_0x36679f['id']=_0x582466['id'];const _0x102831=_0x36679f['authorsIds']['map'](_0x26c67b=>_0x450d70['getUser'](_0x26c67b));_0x582466['_update']({..._0x36679f,'authors':_0x102831},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x582466['id'],_0x36679f,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3e0b01,(_0x582466['toVersion']===_0x582466['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x3aad6e)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x3aad6e),this['_revisionTracker']['_createCurrentRevision'](_0x3e0b01));}const {revisions:_0x17dc1d,requestId:_0x7c2799}=await this['_revisionHistoryService']['reconnect'](_0x22cbf1['connection'],this['_lastRequestId']);_0x345c01&&_0x17dc1d['length']>0x0?_0x37d579['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x17dc1d),this['_handleRevisionsUpdate'](_0x17dc1d,_0x7c2799),this['_revisionTracker']['sendBufferedUpdates']());};return _0x37d579['_isConnected']?_0x57d7b2():new Promise((_0x47ef7c,_0x1de798)=>{_0x37d579['once']('change:_isConnected',()=>{_0x57d7b2()['then'](_0x47ef7c)['catch'](_0x1de798);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x253586=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3cfa87=>{_0x3cfa87['off'](),_0x253586();});});}['_getLatestVersionFromServerOperations'](){const _0x5385b5=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x16dd39 of _0x5385b5)if('marker'!==_0x16dd39['type']||_0x16dd39['affectsData'])return _0x16dd39['baseVersion']+0x1;}['_getLatestVersion'](){const _0x9f770=this['editor']['plugins']['get'](tt);return new Promise(_0x4eb401=>{_0x9f770['_isPendingUpdate']?_0x9f770['once']('change:_isPendingUpdate',()=>{_0x4eb401(this['_getLatestVersionFromServerOperations']());}):_0x4eb401(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xc4465b,_0x34eb4e){const _0x39e259=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x34eb4e;for(const _0x5615a3 of _0xc4465b){const _0x349c61=_0x39e259['getRevision'](_0x5615a3['id']);if(_0x349c61){if((_0x5615a3['fromVersion']||_0x5615a3['toVersion'])&&(_0x5615a3['diffData']=null),_0x349c61===this['_revisionTracker']['currentRevision']){const _0x304420=Math['max'](_0x349c61['toVersion'],_0x5615a3['toVersion']),_0x4755f4=Math['max'](_0x349c61['fromVersion'],_0x5615a3['fromVersion']);let _0x1771b7;_0x349c61['toVersion']===_0x5615a3['toVersion']&&_0x349c61['fromVersion']===_0x5615a3['fromVersion']?(_0x1771b7=!0x0,this['_preventResendingRevisionData'](_0x5615a3)):_0x5615a3['toVersion']===_0x304420&&_0x5615a3['fromVersion']===_0x4755f4?_0x1771b7=!0x1:(_0x349c61['toVersion']===_0x304420&&_0x349c61['fromVersion']===_0x4755f4||this['_fixRevision']({'revision':_0x349c61,'from':_0x4755f4,'to':_0x304420}),_0x1771b7=!0x0),_0x1771b7&&(delete _0x5615a3['fromVersion'],delete _0x5615a3['toVersion'],delete _0x5615a3['diffData'],delete _0x5615a3['createdAt'],delete _0x5615a3['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x5615a3),this['_preventResendingRevisionData'](_0x5615a3);}else this['_revisionTracker']['addRevisionData'](_0x5615a3);}const _0x5ed170=_0x39e259['getRevisions']();_0x5ed170['reverse']();for(let _0x51b2fe=0x0;_0x51b2fe<_0x5ed170['length']-0x1;_0x51b2fe++){const _0x3edcf1=_0x5ed170[_0x51b2fe],_0xfa6126=_0x5ed170[_0x51b2fe+0x1];if(_0x3edcf1['fromVersion']<_0xfa6126['toVersion']){const _0x179d5b=_0xfa6126['toVersion'],_0x22a262=Math['max'](_0x179d5b,_0x3edcf1['toVersion']);this['_fixRevision']({'revision':_0x3edcf1,'from':_0x179d5b,'to':_0x22a262});}}}['_fixRevision']({revision:_0x1a494d,from:_0x55926c,to:_0x29a25a}={}){const _0x39db33=this['editor']['plugins']['get'](_0x53aae5),_0x10ced5=this['_revisionTracker']['buildRevisionData']({'revision':_0x1a494d,'from':_0x55926c,'to':_0x29a25a});_0x10ced5['authors']=_0x10ced5['authorsIds']['map'](_0x5036be=>_0x39db33['getUser'](_0x5036be)),_0x1a494d['_update'](_0x10ced5);}['_preventResendingRevisionData'](_0x589469){const _0x5db6e4={};_0x5db6e4['id']=_0x589469['id'];for(const _0x3466ad of Object['keys'](_0x589469))'id'!==_0x3466ad&&(_0x5db6e4[_0x3466ad]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5db6e4['id'],_0x5db6e4,!0x0);}async['_fetchMissingUsers'](_0x3a9d5d){const _0x54d2e7=this['editor']['plugins']['get'](_0x53aae5),{connection:_0x1b60f1}=this['editor']['plugins']['get'](z),_0x1af027=new Set();for(const _0x44185c of _0x3a9d5d){for(const _0x2fd761 of _0x44185c['authorsIds'])_0x3a4fdb(_0x2fd761);_0x44185c['creatorId']&&_0x3a4fdb(_0x44185c['creatorId']);}if(0x0===_0x1af027['size'])return;const _0x45d922=await _0x1aae37['getMany'](_0x1b60f1,Array['from'](_0x1af027));for(const _0x49c35a of _0x45d922)_0x54d2e7['getUser'](_0x49c35a['id'])||_0x54d2e7['addUser'](_0x49c35a);function _0x3a4fdb(_0x184144){_0x54d2e7['getUser'](_0x184144)||_0x1af027['add'](_0x184144);}}}function pt(_0x2c20c2){return _0x2c20c2['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2c20c2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2c20c2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x7e7df2{static get['requires'](){return[_0xcc7ce7,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x4a4673{['_collapseAt'];constructor(_0x3d5ae0,_0xde062a=0x6){super(_0x3d5ae0);const _0x33299b=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0xde062a,this['bind']('isHidden')['to'](this,'usersCount',_0x25426f=>_0x25426f<_0xde062a),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x33299b['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':_0x33299b['to']('usersCount',_0x4e1d9d=>'+'+(_0x4e1d9d-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x4a4673{['items'];['keystrokes'];constructor(_0xce9cc8){super(_0xce9cc8);const _0x50674d=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x34ba8b(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x50674d['if']('hasPopup'),'aria-expanded':_0x50674d['to']('isExpanded',_0x1f8231=>this['hasPopup']&&String(_0x1f8231)),'aria-label':_0x50674d['to']('hasPopup',_0x2ec696=>X(_0xce9cc8,_0x2ec696?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x50674d['to']('hasPopup',_0x576922=>!!_0x576922&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x50674d['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x50674d['to'](_0x665b51=>{const _0x20efe5=_0x665b51,_0x39de84=document['querySelector']('.ck-presence-list__dropdown-list'),_0x580f94=document['querySelector']('.ck-balloon-panel_with-arrow');_0x39de84?.['contains'](_0x20efe5['relatedTarget'])||_0x580f94?.['contains'](_0x20efe5['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3bdf61,_0x2f70e9,_0x492250)=>{this['element']&&(_0x492250?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']);}}class _t extends _0x4a4673{['counterView'];['inlineListView'];constructor(_0x20c94b,_0xe7bd94=0x6){super(_0x20c94b);const _0x28729b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0xe7bd94),this['inlineListView']=new vt(_0x20c94b),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x7ee3a of this['inlineListView']['items'])_0x7ee3a['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',_0x28729b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x4a4673{['listWrapperView'];constructor(_0x1672b7,_0x5a4dc6){super(_0x1672b7);const _0xdc757a=this['bindTemplate'];this['listWrapperView']=new bt(_0x1672b7,_0x5a4dc6),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x1672b7,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0xdc757a['to'](_0xb7ec8f=>{const _0x204389=_0xb7ec8f,_0x26716b=document['querySelector']('.ck-presence-list__list'),_0x4f5dc2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x26716b?.['contains'](_0x204389['relatedTarget'])||_0x4f5dc2?.['contains'](_0x204389['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x46846e{constructor(_0x6459e1,_0x530d68){super(_0x6459e1);const _0x1d38d1=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x530d68?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1d38d1['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1d38d1['to']('role'),'aria-label':_0x1d38d1['to']('ariaLabel'),'aria-labelledby':_0x1d38d1['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4f4d68['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5138d4=this['element'];_0x5138d4&&(this['_isScrollable']=Math['max'](_0x5138d4['scrollHeight'],_0x5138d4['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x1cdd97{['userView'];constructor(_0x44d7ea,_0x1e12a9,_0x7ec4b6){super(_0x44d7ea);const _0x4fbf87=this['bindTemplate'];this['userView']=new _0x3792ea(_0x44d7ea,_0x1e12a9);const _0x650958={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1e12a9['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1e12a9['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1e12a9['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1e12a9['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1e12a9['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x7ec4b6&&(_0x650958['tag']='button',_0x650958['on']={'click':_0x4fbf87['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x650958);}['focus'](){this['element']['focus']();}}class It extends _0x4a4673{['userView'];['markerView'];constructor(_0x3a08e2,_0x4044bc,_0x5142b5){super(_0x3a08e2);const _0xa0189=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x3792ea(_0x3a08e2,_0x4044bc),this['markerView']=new St(_0x3a08e2,_0x4044bc);const _0x580e4e=new _0x10d3c8(_0x3a08e2);_0x580e4e['template']['tag']='span',_0x580e4e['text']=_0x4044bc['name'];const _0x45e466={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0xa0189['to']('isFocusable',_0x5cdaea=>!!_0x5cdaea&&0x0),'aria-labelledby':_0x580e4e['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0xa0189['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0xa0189['to']('hasTooltip',_0x1298b8=>!_0x1298b8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x580e4e]};_0x5142b5&&(_0x45e466['tag']='button',_0x45e466['on']={'click':_0xa0189['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x45e466);}}class St extends _0x4a4673{constructor(_0xd69697,_0xe60bc1){super(_0xd69697),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xe60bc1['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xe60bc1['color']['getColorVariable'](),'--ck-user-color-alpha':_0xe60bc1['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x3aaa58{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x587e81){super(_0x587e81),this['context']['config']['define']('presenceList',Tt);const _0x131127=_0x587e81['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x131127)throw new _0x8b1112('presencelist-collapseat-invalid-format',this);if(_0x131127<0x1)throw new _0x8b1112('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2d2e8c(),this['balloonPanelView']=new _0x3a129f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x5b0395 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5b0395);this['listenTo'](this['_allConnectedUsers'],'add',(_0x181aea,_0x436c06)=>{this['_handleUserAdd'](_0x436c06);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x396b20,_0x4cf8e7)=>{this['_handleUserRemove'](_0x4cf8e7);});}['_createView'](){const _0x569050=this['context'],_0x35412f=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x14a4ca=this['balloonPanelView'];if(!_0x478f25(_0x569050['config']['get']('presenceList.container')))throw new _0x8b1112('presencelist-missing-container',this);return _0x35412f['counterView']['bind']('usersCount')['to'](this),_0x35412f['bind']('isCollapsed')['to'](this,'usersCount',_0xf240ee=>{const {collapseAt:_0x395caf}=_0x569050['config']['get']('presenceList'),_0x28b54a=_0xf240ee>=_0x395caf;if(_0x28b54a&&!_0x35412f['inlineListView']['items']['find'](_0x4f976d=>_0x4f976d instanceof wt)){const _0x401cdc=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x401cdc&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x35412f['inlineListView']['items']['add'](_0x35412f['counterView']);}return _0x28b54a||this['hideDropdown'](),_0x28b54a;}),_0x35412f['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x477a9b=>{const _0x4e21d9=_0x569050['config']['get']('presenceList'),_0x46bc99=new It(_0x569050['locale'],_0x477a9b,!!_0x4e21d9['onClick']);return _0x46bc99['bind']('hasTooltip')['to'](_0x35412f,'isCollapsed',_0x51f222=>!_0x51f222),_0x46bc99['bind']('isFocusable')['to'](_0x35412f,'isCollapsed',_0x30842b=>!_0x30842b),_0x4e21d9['onClick']&&this['listenTo'](_0x46bc99,'execute',()=>{this['view']['isCollapsed']||_0x4e21d9['onClick'](_0x477a9b,_0x46bc99['element']);}),_0x46bc99;}),this['listenTo'](_0x35412f['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x35412f['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x35412f['inlineListView']['keystrokes']['set']('Enter',(_0x209241,_0x5bbe11)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5bbe11());}),_0x35412f['render'](),_0x14a4ca['render'](),_0x1085c4({'emitter':_0x35412f,'activator':()=>_0x14a4ca['isVisible'],'contextElements':[_0x14a4ca['element'],_0x35412f['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x569050['config']['get']('presenceList.container')['appendChild'](_0x35412f['element']),this['_bodyCollection']=new _0x6427d8(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x35412f;}['_handleUserAdd'](_0x5a5c02){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x5a5c02['isMe'])return;const _0x3c697a=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3c697a-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4eb74d=_0x5a5c02['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x5a5c02,_0x4eb74d);}['_handleUserRemove'](_0x52c4b7){this['usersCount']--;const {collapseAt:_0x5a8203}=this['context']['config']['get']('presenceList'),_0x30c2cc=this['usersCount']>=_0x5a8203;if(this['currentDisplayedUsers']['get'](_0x52c4b7['id']))this['currentDisplayedUsers']['remove'](_0x52c4b7['id']);else{if(_0x30c2cc&&this['currentDisplayedUsers']['length']+0x1===_0x5a8203-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x30c2cc?0x1:0x0)<this['usersCount']){for(const _0x575142 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x575142['id'])&&(this['currentDisplayedUsers']['add'](_0x575142,Math['min'](this['currentDisplayedUsers']['length']-(_0x30c2cc?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x30c2cc?0x1:0x0)===_0x5a8203-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x13be51=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x13be51['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x33e506}=this['presenceDropdownView'];_0x33e506['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x562927=>{if(!_0x13be51['displayMe']&&_0x562927['isMe'])return null;const _0x290d8b=new kt(this['context']['locale'],_0x562927,!!_0x13be51['onClick']);return _0x13be51['onClick']&&this['listenTo'](_0x290d8b,'execute',()=>{_0x13be51['onClick'](_0x562927,_0x290d8b['element']);}),_0x290d8b;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x33e506['focus'](),_0x33e506['checkIfScrollable']();const _0xe18a0c=(_0x4bce8e,_0x550f81)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x550f81();};_0x33e506['keystrokes']['set']('Esc',_0xe18a0c),_0x33e506['keystrokes']['set']('Shift+Tab',_0xe18a0c),_0x33e506['keystrokes']['set']('Tab',(_0x202a24,_0x116534)=>{!function(_0x27767e){const _0x546b9c=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x9c3dc6=>_0x9c3dc6+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x13cb6a=[...document['body']['querySelectorAll'](_0x546b9c)]['filter'](_0xd3893f=>_0xd3893f===document['activeElement']||_0xd3893f['offsetWidth']+_0xd3893f['offsetHeight']>0x0)['sort']((_0x4cbb75,_0x27fb28)=>(_0x4cbb75['tabIndex']||0x0)-(_0x27fb28['tabIndex']||0x0)),_0x3be441=_0x13cb6a['indexOf'](_0x27767e),_0x4bceba=_0x13cb6a[(_0x3be441+0x1)%_0x13cb6a['length']];_0x4bceba&&_0x4bceba['focus']();}(this['view']['element']),this['hideDropdown'](),_0x116534();}),_0x33e506['focusTracker']['add'](this['view']['element']),_0x33e506['focusTracker']['on']('change:isFocused',(_0x575aea,_0xe4de67,_0x101f0c)=>{_0x101f0c||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);}}class Pt extends _0x3aaa58{static get['requires'](){return[Y,At];}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,Pt as PresenceList,At 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{ContextPlugin as _0xd5d5b2,Plugin as _0x103d19,PendingActions as _0x3c2905,Context as _0x38e411}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0xd71770,CKEditorError as _0x36cefd,Collection as _0x16227b,global as _0x3fbed8,version as _0x2acad4,uid as _0x53a8dc,KeystrokeHandler as _0x1cfe84}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x486fab,View as _0x2a2968,ListView as _0x468e3,ListItemView as _0xd98646,LabelView as _0x20fd6e,BalloonPanelView as _0x17c136,clickOutsideHandler as _0x2a391d,BodyCollection as _0x42e011}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4ff929,History as _0x191eb3,NoOperation as _0x2d08e1,InsertOperation as _0x20f193,MarkerOperation as _0x3dbdcf,RootAttributeOperation as _0x3a6612,transformOperationSets as _0x35557e,OperationFactory as _0x20d617}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x47bcfb}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x12e82b,WEB_SOCKET_GATEWAY_STATES as _0x7dc889,CollaborativeEditingService as _0x5c662e,User as _0xd44d9a,CommentsService as _0x31fab9,TrackChangesService as _0x22d399,RevisionHistoryService as _0x14354c,EditorService as _0x12fc8b}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x15efd7,UserView as _0x5e59a8}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x217bc1}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x4a88e5,TrackChanges as _0x4da260}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x44cbfd,Comments as _0x32965a,CommentsEditing as _0x10c30c}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x54aa5a}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x6c004d}from'es-toolkit/compat';class z extends _0xd5d5b2{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x12e82b)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x47bcfb,_0x486fab];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xdcac55){super(_0xdcac55),this['set']('state',_0x7dc889['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0xd71770())();}['init'](){const _0x335fef=this['context'],_0x3a80b8=_0x335fef['plugins']['get'](_0x47bcfb),_0x3519e5=_0x335fef['plugins']['get'](_0x486fab);if(!_0x3a80b8['token'])throw new _0x36cefd('websocketgateway-missing-token',this);if(!_0x3a80b8['webSocketUrl'])throw new _0x36cefd('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),z['WebSocketGateway']['connect'](_0x3a80b8['token'],_0x3a80b8['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5adbe8=>{if(this['connection']=_0x5adbe8,this['bind']('state')['to'](_0x5adbe8,'state',this,'_isBrowserOffline',(_0x2c3b5d,_0x3e941f)=>('connected'!==_0x2c3b5d&&(this['_shouldPluginsReconnect']=!0x0),_0x3e941f||_0x2c3b5d!==_0x7dc889['CONNECTED']?_0x7dc889['DISCONNECTED']:this['state']==_0x7dc889['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x7dc889['CONNECTING']):_0x7dc889['CONNECTED'])),this['connection']['on']('error',(_0x3010a5,_0x4f8244)=>{if('limitExceeded'!==_0x4f8244['code'])throw console['error'](_0x4f8244),new _0x36cefd('cloudservices-init',null,{'originalError':_0x4f8244});_0x3519e5['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'});}),!_0x5adbe8['me'])return new Promise(_0x3e6e4e=>_0x5adbe8['on']('change:me',_0x3e6e4e));})['catch'](_0x1a2dcc=>{throw console['error'](_0x1a2dcc),new _0x36cefd('cloudservices-init',null,{'originalError':_0x1a2dcc});});}['addToReconnectionStack'](_0x317779){if('function'!=typeof _0x317779['reconnect'])throw new _0x36cefd('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x317779))throw new _0x36cefd('websocketgateway-plugin-already-registered',this,{'name':_0x317779['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x317779);}['removeFromReconnectionStack'](_0x18f7bd){this['_reconnectionStack']['delete'](_0x18f7bd);}['isInReconnectionStack'](_0xa3ba2d){return this['_reconnectionStack']['has'](_0xa3ba2d);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x21a288=>_0x21a288['reconnect']())))['then'](()=>this['state']=_0x7dc889['CONNECTED'])['catch'](_0xd50a50=>{throw console['error'](_0xd50a50),new _0x36cefd('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x7dc889['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0xd5d5b2{['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,_0x15efd7];}constructor(_0x59ca05){super(_0x59ca05),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x16227b(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x15efd7);}['init'](){const _0x14cd53=this['context']['plugins']['get'](z);this['listenTo'](_0x14cd53,'change:state',(_0x483c73,_0x33e9fe,_0x197965)=>{if('connected'!==_0x197965)this['channelSessions']['forEach'](_0x26713c=>_0x26713c['clear']()),this['channelConnectedUsers']['forEach'](_0x36264f=>_0x36264f['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x57f674,_0x582717]of this['_registeredSessions'])for(const _0x423438 of _0x582717)this['_handleSessionAdd'](_0x57f674,_0x423438);}}),this['_createUser'](_0x14cd53['connection']['me'],!0x0);}['register'](_0x54d7da,_0x366dde){if(this['_registeredSessions']['has'](_0x54d7da))throw new _0x36cefd('sessions-register-already-registered',null,{'channelId':_0x54d7da});this['_registeredSessions']['set'](_0x54d7da,_0x366dde),this['channelSessions']['set'](_0x54d7da,new _0x16227b()),this['channelConnectedUsers']['set'](_0x54d7da,new _0x16227b()),this['listenTo'](_0x366dde,'add',(_0x15da12,_0x21caf9)=>this['_handleSessionAdd'](_0x54d7da,_0x21caf9)),this['listenTo'](_0x366dde,'remove',(_0x42655f,_0x5c8c22)=>this['_handleSessionRemove'](_0x54d7da,_0x5c8c22));for(const _0xc86c4d of _0x366dde)this['_handleSessionAdd'](_0x54d7da,_0xc86c4d);}['unregister'](_0x11578b){if(!this['_registeredSessions']['has'](_0x11578b))throw new _0x36cefd('sessions-unregister-not-exist',null,{'channelId':_0x11578b});const _0x3cfbfc=this['_registeredSessions']['get'](_0x11578b);this['stopListening'](_0x3cfbfc);for(const _0x41d749 of _0x3cfbfc)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x11578b,_0x41d749);this['_registeredSessions']['delete'](_0x11578b),this['channelSessions']['delete'](_0x11578b),this['channelConnectedUsers']['delete'](_0x11578b);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x526eff){for(const _0x220392 of this['channelSessions']['values']())for(const _0x2f4533 of _0x220392)if(_0x2f4533['id']===_0x526eff)return _0x2f4533['user'];}['getUserSessions'](_0x2d788f,_0x1d67ab){const _0x3c71ac=_0x1d67ab?[this['channelSessions']['get'](_0x1d67ab)]:this['channelSessions']['values'](),_0xa1bb2f=new Set();for(const _0x3a664d of _0x3c71ac)for(const _0x20fae5 of _0x3a664d)_0x20fae5['user']['id']===_0x2d788f['id']&&_0xa1bb2f['add'](_0x20fae5['id']);return _0xa1bb2f;}['getUserRole'](_0xb01908){for(const _0x47836f of this['channelSessions']['values']())for(const _0x3d3ac2 of _0x47836f)if(_0x3d3ac2['user']===_0xb01908)return _0x3d3ac2['role'];}['_handleSessionAdd'](_0x2eab6d,_0x1222b7){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x493f03=_0x1222b7['user'],_0x5da9e5=this['_users']['getUser'](_0x493f03['id'])||this['_createUser'](_0x493f03),_0x3fec5=Object['assign']({},_0x1222b7,{'user':_0x5da9e5});if(this['channelSessions']['get'](_0x2eab6d)['add'](_0x3fec5),!_0x493f03['hiddenInPresenceList']){const _0x177c50=this['channelConnectedUsers']['get'](_0x2eab6d);_0x177c50['has'](_0x5da9e5['id'])||_0x177c50['add'](_0x5da9e5),this['allConnectedUsers']['has'](_0x5da9e5['id'])||_0x493f03['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5da9e5,_0x5da9e5['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2eab6d,{'channelId':_0x2eab6d,'session':_0x3fec5});}['_handleSessionRemove'](_0x2177c5,_0x7dc9e9){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4b485b=this['channelConnectedUsers']['get'](_0x2177c5),_0x456876=_0x7dc9e9['user'];_0x456876['id']&&(this['channelSessions']['get'](_0x2177c5)['remove'](_0x7dc9e9['id']),_0x4b485b['has'](_0x456876['id'])&&!this['getUserSessions'](_0x456876,_0x2177c5)['size']&&_0x4b485b['remove'](_0x456876['id']),this['allConnectedUsers']['get'](_0x456876['id'])&&!this['getUserSessions'](_0x456876)['size']&&this['allConnectedUsers']['remove'](_0x456876['id']));}['_createUser'](_0x14ac16,_0x5be6fb){const _0x323996=this['_users']['addUser'](_0x14ac16);return _0x5be6fb&&this['_users']['defineMe'](_0x14ac16['id']),_0x323996['orderNumber']=this['_uniqueUsersCount']++,_0x323996;}}class K extends _0x103d19{['_domEmitter']=new(_0xd71770())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xee9df=this['editor'],_0x432cd6=_0xee9df['plugins']['get'](Y);_0xee9df['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x19c9e2,{writer:_0x34ea14})=>function(_0x1ce9ee,_0x106447,_0x4cff88,_0x137df5){const _0x4a1101=_0x1ce9ee['markerName']['split'](':')[0x2],_0x53a32b=_0x4cff88['getUserBySessionId'](_0x4a1101);if(!_0x53a32b||_0x4a1101===_0x4cff88['mySessionId'])return;if(!_0x137df5['model']['schema']['checkChild'](_0x1ce9ee['markerRange']['start'],'$text'))return;const _0x38f23d={'class':'ck-user__marker\x20'+_0x53a32b['color']['getMarkerClass'](),'style':Q(_0x53a32b),'data-name':_0x53a32b['name'],'data-session-id':_0x4a1101},_0x3ee2bf=_0x137df5['model']['markers']['get'](_0x1ce9ee['markerName']),_0x578a94=_0x3ee2bf['getStart'](),_0x5b5b1b=_0x578a94['nodeAfter'],_0x148d18=_0x137df5['model']['schema'];if(_0x5b5b1b&&_0x148d18['isObject'](_0x5b5b1b)&&_0x148d18['isInline'](_0x5b5b1b)&&!_0x137df5['model']['markers']['get']('user:range:'+_0x4a1101)['getRange']()['isCollapsed'])return;const _0xdcb3c3=_0x578a94['parent'];return _0x137df5['model']['schema']['isLimit'](_0xdcb3c3)&&!_0x137df5['model']['hasContent'](_0xdcb3c3)&&(_0x38f23d['contenteditable']=!0x1),function(_0x11fe0b,_0x40a00,_0x14030b){const _0x13e01a=_0x11fe0b['createUIElement']('span',_0x40a00);return _0x11fe0b['setCustomProperty']('userPositionMarker',!0x0,_0x13e01a),_0x13e01a['render']=function(_0x1d0970){const _0x369baf=this['toDomElement'](_0x1d0970),_0x54f5a9=document['createElement']('span');return _0x54f5a9['classList']['add']('ck-user__marker-tooltip'),_0x54f5a9['setAttribute']('contenteditable','false'),_0x54f5a9['setAttribute']('spellcheck','false'),_0x54f5a9['textContent']=_0x14030b['name'],_0x369baf['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x54f5a9['outerHTML']+'',_0x369baf['addEventListener']('mouseenter',()=>{_0x369baf['classList']['add']('ck-user__marker_hovered');}),_0x369baf['addEventListener']('mouseleave',()=>{_0x369baf['classList']['remove']('ck-user__marker_hovered');}),_0x369baf;},_0x13e01a['isSimilar']=function(_0x1413b2){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1413b2['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1413b2['getAttribute']('data-session-id'));},_0x13e01a;}(_0x106447,_0x38f23d,_0x53a32b);}(_0x19c9e2,_0x34ea14,_0x432cd6,_0xee9df)}),_0xee9df['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x462370=>function(_0x4c6980,_0x67dbf9){const _0x3df424=_0x4c6980['markerName']['split'](':')[0x2];if(_0x3df424===_0x67dbf9['mySessionId'])return null;const _0x58b8f2=_0x67dbf9['getUserBySessionId'](_0x3df424);if(!_0x58b8f2)return{'id':_0x3df424,'classes':[]};return{'id':_0x3df424,'classes':['ck-user__selection',_0x58b8f2['color']['getSelectionClass']()],'attributes':{'style':Q(_0x58b8f2),'data-session-id':_0x3df424},'priority':0x7d0+_0x58b8f2['orderNumber']};}(_0x462370,_0x432cd6)}),function(_0x50bc6b){const _0x34e350=_0x50bc6b['model'],_0x50d4bf=new Map(),_0x583969=_0x50bc6b['plugins']['get'](Y);_0x34e350['markers']['on']('update:user:range',(_0x184c35,_0x2c35df,_0x43036b,_0x3658d5)=>{if(!_0x3658d5&&_0x50d4bf['get'](_0x2c35df['name']))return _0x50d4bf['get'](_0x2c35df['name'])['detach'](),void _0x50d4bf['delete'](_0x2c35df['name']);const _0x526f68=_0x2c35df['name']['split'](':')[0x2];if(_0x526f68===_0x583969['mySessionId'])return;const _0x2b6b40='user:position:'+_0x526f68;_0x34e350['markers']['has'](_0x2b6b40)&&_0x50bc6b['editing']['reconvertMarker'](_0x2b6b40),_0x2c35df['on']('change:range',(_0x18bc6d,_0x4857b0,_0x2dd8f8)=>{if('$graveyard'!=_0x4857b0['root']['rootName']&&'$graveyard'==_0x2c35df['getRange']()['root']['rootName']&&!_0x50d4bf['has'](_0x2c35df['name'])){const _0xf067fb=_0x34e350['schema']['getNearestSelectionRange'](_0x2dd8f8['deletionPosition']);if(_0xf067fb){const _0x56e6c7=_0x4ff929['fromRange'](_0xf067fb);_0x50d4bf['set'](_0x2c35df['name'],_0x56e6c7),_0x56e6c7['on']('change:range',(_0x2aea8a,_0x3c392a,_0x29ac0e)=>{if('$graveyard'==_0x56e6c7['root']['rootName']){const _0x1c44cd=_0x34e350['schema']['getNearestSelectionRange'](_0x29ac0e['deletionPosition']);_0x1c44cd?(_0x56e6c7['start']=_0x1c44cd['start'],_0x56e6c7['end']=_0x1c44cd['end']):(_0x50d4bf['delete'](_0x2c35df['name']),_0x56e6c7['detach']());}});}}});}),_0x34e350['document']['on']('change',()=>{_0x50d4bf['size']>0x0&&_0x34e350['enqueueChange']({'isUndoable':!0x1},_0xd9513=>{for(const [_0x211d40,_0x5c5451]of _0x50d4bf)'$graveyard'==_0x34e350['markers']['get'](_0x211d40)['getRange']()['root']['rootName']&&(J(_0x211d40['split'](':')[0x2],_0x5c5451['toRange'](),_0x34e350,_0xd9513),_0x5c5451['detach']());_0x50d4bf['clear']();});});}(_0xee9df),this['_domEmitter']['listenTo'](_0x3fbed8['document'],'keydown',(_0xd756dc,{key:_0x2f8562})=>{'Escape'===_0x2f8562&&function(_0x55bb01){_0x55bb01['editing']['view']['change'](_0x3b2705=>{for(const _0x3cc2c5 of _0x55bb01['model']['markers']){if(!_0x3cc2c5['name']['startsWith']('user:position'))continue;const _0xc0f372=_0x55bb01['editing']['mapper']['markerNameToElements'](_0x3cc2c5['name']);if(_0xc0f372){for(const _0x2a9b75 of _0xc0f372)_0x3b2705['removeClass']('ck-user__marker_hovered',_0x2a9b75);}}});}(_0xee9df);},{'useCapture':!0x0});}['afterInit'](){const _0x3dc7c4=this['editor'],_0x496dcb=_0x3dc7c4['commands']['get']('undo');_0x496dcb&&_0x3dc7c4['model']['on']('applyOperation',(_0x42831d,_0x137418)=>{const _0x4cc2e9=_0x137418[0x0];if(!_0x4cc2e9['isDocumentOperation'])return;if('marker'!=_0x4cc2e9['type']||!_0x4cc2e9['name']['startsWith']('user:'))return;const _0x2d9fc7=_0x4cc2e9['batch'];_0x496dcb['_createdBatches']['has'](_0x2d9fc7)&&(_0x4cc2e9['newRange']=_0x4cc2e9['oldRange']?_0x3dc7c4['model']['createRange'](_0x4cc2e9['oldRange']['start'],_0x4cc2e9['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1aaaa1=this['editor'],_0x284512=_0x1aaaa1['model']['document'],_0x330764=_0x1aaaa1['plugins']['get'](Y);_0x1aaaa1['model']['enqueueChange']({'isUndoable':!0x1},_0x57ac4d=>{const _0x504140='user:range:'+_0x330764['mySessionId'],_0x108f79='user:position:'+_0x330764['mySessionId'],_0x389b3b=_0x1aaaa1['model']['markers']['has'](_0x504140);_0x1aaaa1['editing']['view']['hasDomSelection']?J(_0x330764['mySessionId'],_0x284512['selection']['getFirstRange'](),_0x1aaaa1['model'],_0x57ac4d):_0x389b3b&&(_0x57ac4d['removeMarker'](_0x504140),_0x57ac4d['removeMarker'](_0x108f79));});}}function J(_0x1111b2,_0xdf3a71,_0x34e0d6,_0x332c94){const _0x584ef2='user:range:'+_0x1111b2,_0x3699d6='user:position:'+_0x1111b2,_0x59c60f=_0xdf3a71['getContainedElement']();let _0x370965=_0xdf3a71['start'];if(_0x59c60f&&_0x59c60f['is']('element','tableCell')){const _0x2cdfe5=function(_0x49587d,_0x316a0f){for(const _0x521a8c of _0x49587d['getPositions']())if(_0x316a0f['schema']['checkChild'](_0x521a8c,'$text'))return _0x521a8c;}(_0xdf3a71,_0x34e0d6);_0x2cdfe5&&(_0x370965=_0x2cdfe5,_0xdf3a71=_0x332c94['createRange'](_0x370965));}const _0x48db49=_0x332c94['createRange'](_0x370965);_0x34e0d6['markers']['has'](_0x584ef2)?(_0x332c94['updateMarker'](_0x584ef2,{'range':_0xdf3a71}),_0x332c94['updateMarker'](_0x3699d6,{'range':_0x48db49})):(_0x332c94['addMarker'](_0x584ef2,{'range':_0xdf3a71,'usingOperation':!0x0}),_0x332c94['addMarker'](_0x3699d6,{'range':_0x48db49,'usingOperation':!0x0}));}function Q(_0x321a15){return'--ck-user-color:'+_0x321a15['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x321a15['color']['getColorAlphaVariable']()+';';}function X(_0x596ad2,_0x212cde,_0x554b0c){const _0x5e6171=_0x596ad2['t'],t=_0x596ad2['t'];switch(_0x212cde){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 _0x5e6171({'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'},_0x554b0c);default:return'';}}let Z=0x1;class tt extends _0x103d19{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x5c662e)());['_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,_0x3c2905,_0x15efd7,_0x486fab];}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 _0x8860e7=this['serverHistory']['getOperations']();for(let _0x267c2b=_0x8860e7['length']-0x1;_0x267c2b>=0x0;_0x267c2b--){const _0x389bd7=_0x8860e7[_0x267c2b];if(!this['_disconnectionOperations']['has'](_0x389bd7))return _0x389bd7['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3770ac){if(super(_0x3770ac),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x191eb3(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x36cefd('collaboration-missing-channelid',this);const _0x332cf9=_0x3770ac['config']['get']('cloudServices.bundleVersion')||_0x2acad4;this['_service']=new tt['CollaborativeEditingService'](_0x332cf9,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x217bc1(),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 _0x3fe6c2=this['editor'],_0xfec6cc=_0x3fe6c2['plugins']['get'](_0x15efd7),_0x3850b2=_0x3fe6c2['plugins']['get'](z);this['listenTo'](_0xfec6cc,'getOperationAuthor',(_0x5f52e5,_0x4c6df3)=>{const _0x309d73=_0x4c6df3[0x0];_0x309d73['_authorId']&&(_0x5f52e5['return']=_0xfec6cc['getUser'](_0x309d73['_authorId']),_0x5f52e5['stop']()),null===_0x309d73['_authorId']&&(_0x5f52e5['return']=null,_0x5f52e5['stop']());},{'priority':'high'}),this['listenTo'](_0x3fe6c2['model']['document']['selection'],'change:range',(_0x52f46d,_0x2fedbb)=>{_0x2fedbb['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3fe6c2['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3fe6c2['model']['on']('applyOperation',(_0x5a9a42,_0x101a37)=>{const _0x585466=_0x101a37[0x0];_0x585466['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x585466),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3850b2,'state',this,'_hasSynchronizationProblem',(_0x98040d,_0x1a5ce4)=>'connected'===_0x98040d&&!_0x1a5ce4),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3fe6c2['disableReadOnlyMode']('rtc-offline'):_0x3fe6c2['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3fe6c2['disableReadOnlyMode']('rtc-offline'):_0x3fe6c2['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x35e375=this['editor']['plugins']['get'](Y),_0x3dc769=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x35e375['unregister'](this['_channelId']);const _0x11db62=await this['_service']['reconnect'](_0x3dc769['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x11db62)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x18e108=await this['_service']['getConnectedSessions']();_0x35e375['register'](this['_channelId'],_0x18e108),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x301f42){if(function(_0x4176f2){return'404'===_0x4176f2['code'];}(_0x301f42)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x14fcb7){return'409'===_0x14fcb7['code'];}(_0x301f42)){const _0x530dfe=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'](_0x530dfe);}else{if(!(_0x301f42 instanceof et))throw _0x301f42;this['_handleReconnectionError']();}}}}['destroy'](){const _0xece0b9=this['editor']['plugins']['get'](z),_0x3a2107=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3a2107['channelSessions']['has'](this['_channelId'])&&_0x3a2107['unregister'](this['_channelId']),_0xece0b9['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x229d65){if(this['sessionId']!==_0x229d65['sessionId']&&this['_lastSyncedOperationId']!==_0x229d65['lastOperationId'])throw new et();return this['sessionId']=_0x229d65['sessionId'],this['_handleServerResponse']([],{..._0x229d65,'wereChangesApplied':!0x1,'data':_0x229d65['data']},'reconnect');}async['_connectService'](_0x300a9a,_0x328114=!0x1){const {connection:_0x1292b2}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x1292b2,this['_channelId'])['then'](_0x1641df=>this['_initSessionsHandling'](_0x1641df))['catch'](_0x14a4fd=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x14a4fd);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2c0561,_0x3acc35)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3acc35);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x5bce10=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x300a9a);this['_isPendingUpdate']=!0x0;const _0xccef2c=await this['_service']['connect'](_0x1292b2,this['_compressOperations'](_0x300a9a),_0x5bce10);if(this['sessionId']=_0xccef2c['sessionId'],_0x328114){if(!_0xccef2c['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xccef2c['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x300a9a,_0xccef2c,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xccef2c,_0x300a9a);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x116f75=this['editor']['plugins']['get'](Y),_0x9a1cd4=this['editor']['plugins']['get'](K),_0x30ad7a=_0x116f75['channelSessions']['get'](this['_channelId']);_0x30ad7a&&_0x30ad7a['length']>0x1?_0x9a1cd4['createUserMarkerOperations']():this['listenTo'](_0x116f75,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x116f75['channelSessions']['get'](this['_channelId'])['length']&&_0x9a1cd4['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3fe13d,_0x1fb7b5,_0x48b3d1,_0x5a3c29){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1fb7b5){const _0x48721c=this['_decompressOperations'](_0x48b3d1,_0x5a3c29);await this['_fetchMissingUsers'](_0x48721c),this['_handleExternalOperations'](_0x48721c,_0x1fb7b5,_0x48b3d1['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3b1067}=this['editor'];let _0x2d7e2a;try{_0x2d7e2a=await this['_service']['getDocumentDetails']();}catch{const _0x241477=X(_0x3b1067,'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'](_0x241477);}const _0x581ba7=_0x2d7e2a['currentDocumentSession']||_0x2d7e2a['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x581ba7['lastOperationId']){const _0x27579c=X(_0x3b1067,'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'](_0x27579c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x58330a){const _0x1f414a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x1f414a,'sessionAdd:'+this['_channelId'],(_0x4bf459,{session:_0x14ac33})=>{if(_0x14ac33['id']===_0x1f414a['mySessionId']){_0x4bf459['off']();const _0x593c78=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4f8d67=_0x14ac33['permissions'];_0x593c78&&_0x593c78['isEnabled']&&(_0x4f8d67=_0x4f8d67['filter'](_0x326d54=>'document:write'!==_0x326d54)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4f8d67,this['_channelId']);}}),_0x1f414a['register'](this['_channelId'],_0x58330a);}['_initThrowingOnDataSet'](){const _0x5f2dbe=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x33fab0)=>{if(!_0x33fab0[_0x33fab0['length']-0x1]['suppressErrorInCollaboration'])throw new _0x36cefd('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5f2dbe['apply'](this['editor']['data'],_0x33fab0);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5c8079,[_0x262c94])=>{if(this['_document']['version'])throw new _0x36cefd('realtimecollaborationclient-init-document-already-initialized',this);_0x5c8079['stop'](),this['_setPendingAction']();const _0x4abc0a=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x2f2692])=>!_0x2f2692['lazyLoad'])['map'](([_0x14e5d6,_0x403a69])=>[_0x14e5d6,_0x403a69['modelAttributes']||{}])),_0x58cb40=this['_getOperationsFromInitData'](_0x262c94,_0x4abc0a);0x0==_0x58cb40['length']&&_0x58cb40['push'](new _0x2d08e1(0x0)),_0x5c8079['return']=this['_connectService'](_0x58cb40)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3638a8=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3638a8))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xbaafc6,[_0x2cd583,_0x58258d])=>{_0xbaafc6['stop']();const _0x3f3828=this['editor']['model']['document']['getRoot'](_0x2cd583);if(!this['_knownRootNames']['has'](_0x2cd583)){const _0x3af57e=_0x58258d&&_0x58258d['data']?_0x58258d['data']:'',_0x33a6b2=_0x58258d&&_0x58258d['attributes']?_0x58258d['attributes']:{};await this['_loadRoot'](_0x2cd583,_0x3af57e,_0x33a6b2);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3f3828['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3f3828);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x40cb6b){const _0x33b954=this['editor']['plugins']['get'](_0x15efd7),{connection:_0x5612f6}=this['editor']['plugins']['get'](z),_0x4d4fc5=new Set();for(const _0x46d8bf of _0x40cb6b){const _0x2350c5=_0x46d8bf['_authorId'];_0x2350c5&&!_0x33b954['getUser'](_0x2350c5)&&_0x4d4fc5['add'](_0x2350c5);}if(0x0===_0x4d4fc5['size'])return;const _0x366194=await _0xd44d9a['getMany'](_0x5612f6,Array['from'](_0x4d4fc5));for(const _0x28f316 of _0x366194)_0x33b954['getUser'](_0x28f316['id'])||_0x33b954['addUser'](_0x28f316);}['_getOperationsFromInitData'](_0x58f30c,_0x2a00e0={}){const _0x2d93c3=this['editor']['model'],_0x3c40dc=[];let _0x1128c8=0x0;const _0x53d2fa='string'==typeof _0x58f30c?{'main':_0x58f30c}:_0x58f30c;for(const _0x324734 of Object['keys'](_0x53d2fa)){if(!this['_document']['roots']['has'](_0x324734))throw new _0x36cefd('realtimecollaborationclient-init-non-existent-root',this);const _0x2c2cd2=this['editor']['data']['parse'](_0x53d2fa[_0x324734]),_0x554178=this['_document']['getRoot'](_0x324734),_0x2dbff0=new _0x20f193(_0x2d93c3['createPositionAt'](_0x554178,0x0),_0x2c2cd2,_0x1128c8++);_0x3c40dc['push'](_0x2dbff0);for(const [_0x4e0799,_0x1c87f1]of _0x2c2cd2['markers']){const _0x5e0878=_0x2d93c3['createRange'](_0x2d93c3['createPositionFromPath'](_0x554178,_0x1c87f1['start']['path']['slice']()),_0x2d93c3['createPositionFromPath'](_0x554178,_0x1c87f1['end']['path']['slice']())),_0x18142f=new _0x3dbdcf(_0x4e0799,null,_0x5e0878,_0x2d93c3['markers'],!0x0,_0x1128c8++);_0x3c40dc['push'](_0x18142f);}}if(_0x2a00e0)for(const [_0x3775b2,_0x119e4d]of Object['entries'](_0x2a00e0)){const _0x363f56=_0x2d93c3['document']['getRoot'](_0x3775b2);if(!_0x363f56)throw new _0x36cefd('multi-root-editor-root-attributes-no-root',null);for(const [_0x2195b8,_0x44cbed]of Object['entries'](_0x119e4d))if(null!==_0x44cbed){const _0x2090c2=new _0x3a6612(_0x363f56,_0x2195b8,null,_0x44cbed,_0x1128c8++);_0x3c40dc['push'](_0x2090c2);}}return _0x3c40dc;}async['_loadRoot'](_0x4cca50,_0x327fa8,_0x288ebe){this['_getOperationsFromInitData']({[_0x4cca50]:_0x327fa8},{[_0x4cca50]:_0x288ebe})['forEach']((_0x447aef,_0x563bfe)=>{_0x447aef['baseVersion']=this['_document']['version']+_0x563bfe,_0x447aef['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x447aef);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x511680,_0x4ea8c7){let _0x23c20d;this['_offset']=_0x511680['offset'];const _0xc604e5=_0x511680['wereChangesApplied']&&!_0x511680['initData'],_0x4a448b=_0xc604e5?0x0:_0x511680['data']['baseVersion'];if(_0x4ea8c7['forEach'](_0x209381=>{_0x209381['_isInit']=!0x0,_0x209381['createdAt']=_0x511680['sessionCreatedAt'],_0x209381['_authorId']=null;}),_0xc604e5)_0x23c20d=_0x4ea8c7,this['_applyOperationsSet'](_0x23c20d,_0xc604e5);else{if(_0x511680['initData']){const _0x1c7f63=this['_getOperationsFromInitData'](_0x511680['initData']);this['_document']['history']['version']=-_0x1c7f63['length'],_0x1c7f63['forEach'](_0x3d0efc=>{_0x3d0efc['baseVersion']-=_0x1c7f63['length'],_0x3d0efc['createdAt']=_0x511680['sessionCreatedAt'],_0x3d0efc['_isInit']=!0x0,_0x3d0efc['_authorId']=null;}),this['_applyOperationsSet'](_0x1c7f63,!0x0),this['serverHistory']['version']=-_0x1c7f63['length']+this['_offset'],this['_updateServerHistory'](_0x1c7f63);}this['_document']['history']['version']=_0x4a448b,_0x23c20d=this['_decompressOperations'](_0x511680['data'],_0x511680['metadata']),await this['_fetchMissingUsers'](_0x23c20d),this['_applyOperationsSet'](_0x23c20d,_0xc604e5);}_0x511680['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x23c20d,_0x511680['lastOperationId']),this['_lastSyncedOperationId']=_0x511680['lastOperationId']),this['serverHistory']['version']=_0x4a448b+this['_offset'],this['_updateServerHistory'](_0x23c20d),_0x4ea8c7['filter'](_0x34643c=>{const _0x3d0718=this['_getAffectedRoot'](_0x34643c);return _0x3d0718&&!this['_knownRootNames']['has'](_0x3d0718);})['forEach']((_0x4de688,_0x53c3f4)=>{_0x4de688['baseVersion']=this['_document']['version']+_0x53c3f4,this['_saveOperationInBuffer'](_0x4de688);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x15379e,_0xd4b288){const _0x4e6bd5=_0xd4b288&&_0xd4b288['message'];if(_0x4e6bd5&&_0x4e6bd5['startsWith']('realtimecollaborationclient'))throw _0xd4b288;const _0x4b3534=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x4b3534['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x36cefd(_0x15379e,this['editor'],_0x4e6bd5?{'originalError':_0x4e6bd5}:void 0x0);}['_saveOperationInBuffer'](_0x46420b){this['_knownOperations']['has'](_0x46420b)||(this['_knownOperations']['add'](_0x46420b),this['_bufferedOperations']['push'](_0x46420b),this['_pendingAction']||'marker'==_0x46420b['type']&&!_0x46420b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x62c55e=!0x1){!_0x62c55e&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x90aea4=>{_0x90aea4&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x11db33=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xddc47e){return _0xddc47e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xddc47e['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xddc47e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x11db33)||this['_crash'](_0x11db33['message'],_0x11db33);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x32d212=>{this['on']('change:_isPendingUpdate',()=>{_0x32d212();});});}async['_sendBufferedOperations'](){const _0x2e9a2f=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x2e9a2f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1cad19=[...this['_bufferedOperations']];for(const _0x2ad707 of _0x1cad19)_0x2ad707['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2ad707);const _0x586c92=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1cad19),_0x3aa816=Z++,_0x1263ec=this['_compressOperations'](_0x1cad19),_0x4e17e9=await this['_service']['sendOperations'](_0x1263ec,_0x1263ec['baseVersion'],_0x586c92);try{return await this['_handleServerResponse'](_0x1cad19,_0x4e17e9,_0x3aa816);}catch(_0x5b298e){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x5b298e);}}async['_handleServerResponse'](_0x1fd293,_0x29a601,_0x4d2cb6){if('error'in _0x29a601)throw _0x29a601['error'];let _0x565bf1=!0x1;if(_0x29a601['wereChangesApplied']){_0x29a601['lastOperationId']&&(this['_lastSyncedOperationId']=_0x29a601['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x403699=>!_0x1fd293['includes'](_0x403699));for(const _0x353781 of _0x1fd293)_0x353781['createdAt']='lastOperationAcceptedAt'in _0x29a601&&_0x29a601['lastOperationAcceptedAt']||void 0x0;st(_0x1fd293,_0x29a601['version']-_0x1fd293['length']),this['_updateServerHistory'](_0x1fd293);const _0x2ad91a=_0x1fd293['filter'](_0x52a899=>{if(!_0x52a899['_isInit'])return!0x1;const _0x58f7c8=this['_getAffectedRoot'](_0x52a899);return _0x58f7c8&&!this['_knownRootNames']['has'](_0x58f7c8);});st(_0x2ad91a,this['_document']['version']),this['_applyOperationsSet'](_0x2ad91a),_0x565bf1=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4663c1=this['_decompressOperations'](_0x29a601['data'],_0x29a601['metadata'])['filter'](_0x416d03=>_0x416d03['baseVersion']>=this['_lastServerVersion']);_0x4663c1['forEach'](_0x44b7e4=>this['_addKnownRoot'](_0x44b7e4)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x177ee9=>!_0x177ee9['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x177ee9))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4663c1),_0x565bf1=this['_handleExternalOperations'](_0x4663c1,_0x29a601['version'],_0x29a601['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x565bf1?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3521d0,_0x6da824,_0x15fee3){try{const _0x2d30c3={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5633f3,operationsB:_0x412cb9,originalOperations:_0x335680}=_0x35557e(_0x3521d0,this['_bufferedOperations'],_0x2d30c3);st(_0x5633f3,this['_document']['version']),st(_0x412cb9,_0x6da824);for(const _0x295c87 of _0x5633f3){const _0xd0837b=_0x335680['get'](_0x295c87);_0x295c87['_authorId']=_0xd0837b?_0xd0837b['_authorId']:null;}_0x15fee3&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3521d0,_0x15fee3),this['_lastSyncedOperationId']=_0x15fee3),this['_bufferedOperations']=[..._0x412cb9],this['_applyOperationsSet'](_0x5633f3),this['_updateServerHistory'](_0x3521d0);}catch(_0x211923){return console['error'](_0x211923),!0x1;}return!0x0;}['_applyOperationsSet'](_0x562715,_0x4b1633=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x36deb3=>{for(const _0x3584cf of _0x562715)this['_knownOperations']['add'](_0x3584cf),this['_addKnownRoot'](_0x3584cf),_0x36deb3['batch']['addOperation'](_0x3584cf),this['editor']['model']['applyOperation'](_0x3584cf);});}['_addKnownRoot'](_0x354b4f){const _0x36d641=this['_getAffectedRoot'](_0x354b4f);_0x36d641&&this['_knownRootNames']['add'](_0x36d641);}['_getAffectedRoot'](_0x1a7224){let _0x772634,_0x2ec740;switch(_0x1a7224['type']){case'insert':_0x772634=_0x1a7224['position']['root'];break;case'marker':if(_0x2ec740=_0x1a7224['newRange'],!_0x2ec740)return null;_0x772634=_0x2ec740['root'];break;case'addRootAttribute':_0x772634=_0x1a7224['root'];break;case'addRoot':_0x772634=_0x1a7224['affectedSelectable'];break;case'move':_0x772634=_0x1a7224['targetPosition']['root'];break;default:return null;}return _0x772634['rootName'];}['_updateServerHistory'](_0x3d59f1){_0x3d59f1['forEach'](_0x36f090=>{const _0x5469e9=_0x36f090['clone']();_0x5469e9['_authorId']=_0x36f090['_authorId'],_0x5469e9['_isInit']=!!_0x36f090['_isInit'],_0x5469e9['createdAt']=_0x36f090['createdAt'],_0x5469e9['baseVersion']+=this['_offset'],_0x36f090['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5469e9),this['serverHistory']['addOperation'](_0x5469e9);});}['_handleReconnectionError'](_0x323238){const _0xe85edc=this['editor']['plugins']['get']('Notification'),_0x2d8a46=this['editor']['locale'];_0x323238||(_0x323238=X(_0x2d8a46,'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.')),_0xe85edc['showWarning'](_0x323238,{'title':X(_0x2d8a46,'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'](_0x3c2905)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3c2905)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x26e956){const _0x45f8d5=_0x26e956['map'](_0x5c1c4c=>_0x5c1c4c['toJSON']());return this['_compressor']['compress'](_0x45f8d5);}['_decompressOperations'](_0x3dc1b2,_0x5a820f){return this['_compressor']['decompress'](_0x3dc1b2)['map']((_0x429bb1,_0x2f3e01)=>{const _0x2a49bf='init'==_0x5a820f[_0x2f3e01]['type'];if('InsertOperation'==_0x429bb1['__className']){const _0x9c5c4b=_0x429bb1['position']['root'];!this['_document']['getRoot'](_0x9c5c4b)&&(this['_document']['createRoot']('$root',_0x9c5c4b)['_isAttached']=!0x1);}const _0x2a8303=_0x20d617['fromJSON'](_0x429bb1,this['_document']);return _0x2a8303['wasUndone']=_0x429bb1['wasUndone'],_0x2a8303['_isInit']=_0x2a49bf,_0x2a8303['_authorId']=_0x2a49bf?null:_0x5a820f[_0x2f3e01]['userId'],_0x2a8303['_isDisconnection']='cs:removeUser'===_0x5a820f[_0x2f3e01]['type'],_0x2a8303['createdAt']=_0x5a820f[_0x2f3e01]['createdAt'],_0x2a8303;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x198ced=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x198ced&&_0x198ced['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x13edbb,_0x5428ea){for(const _0x1a8323 of _0x13edbb)_0x1a8323['baseVersion']=_0x5428ea++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x3cd596){this['_ignoredOperations']=_0x3cd596,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x987808){let _0x709730=_0x987808['length'];for(;_0x709730--;){const _0x6b4330=_0x987808[_0x709730];if(!this['_ignoredOperations']['has'](_0x6b4330)){if(!this['_operationToId']['has'](_0x6b4330)){const _0x6a2eb5=_0x53a8dc()['slice'](0x1,0x12);this['_operationToId']['set'](_0x6b4330,_0x6a2eb5);}return this['_operationToId']['get'](_0x6b4330);}}}['setIdForTheLastOperation'](_0xd3101c,_0xbd0b3){if(!_0xbd0b3)return;let _0x55308e=_0xd3101c['length'];for(;_0x55308e--;){const _0x15c836=_0xd3101c[_0x55308e];this['_ignoredOperations']['has'](_0x15c836)||this['_operationToId']['set'](_0x15c836,_0xbd0b3);}}}class nt extends _0x103d19{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0xd5d5b2{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x31fab9)());['_services'];static get['requires'](){return[z,_0x44cbfd,Y,_0x15efd7];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x327dd5){super(_0x327dd5),this['_services']=new Map();}async['init'](){const _0x4bf920=this['context'],_0x584344=_0x4bf920['plugins']['get'](_0x44cbfd);if(_0x4bf920['plugins']['get'](z)['addToReconnectionStack'](this),_0x584344['adapter']={'addCommentThread':async({channelId:_0xcbb7a7,threadId:_0xef0bdb,comments:_0x587ef6,resolvedAt:_0x4e7767,resolvedBy:_0x1621ae,context:_0xb38e47,attributes:_0x445bd9})=>{const _0x35246a=await this['_getService'](_0xcbb7a7)['addCommentThread']({'commentThreadId':_0xef0bdb,'comments':_0x587ef6['map'](_0x461599=>function(_0x22d036,_0x5a9ec2,_0x212836){return{'commentThreadId':_0x212836,'commentId':_0x22d036['commentId'],'userId':_0x22d036['authorId'],'content':_0x22d036['content'],'documentId':_0x5a9ec2,'createdAt':_0x22d036['createdAt'],'attributes':_0x22d036['attributes']||{}};}(_0x461599,_0xcbb7a7,_0xef0bdb)),'resolvedAt':_0x4e7767,'resolvedBy':_0x1621ae,'context':_0xb38e47,'attributes':_0x445bd9})['catch'](ct);return{'threadId':_0x35246a['commentThreadId'],'comments':_0x35246a['comments']};},'getCommentThread':async({channelId:_0x26b7ef,threadId:_0x554162})=>{const _0xad3f82=await this['_getService'](_0x26b7ef)['getCommentThread'](_0x554162)['catch'](rt)['catch'](ct);return _0xad3f82?_0xad3f82['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xad3f82]),{'threadId':_0xad3f82['commentThreadId'],'comments':_0xad3f82['comments']['map'](at),'context':_0xad3f82['context'],'resolvedAt':_0xad3f82['resolvedAt'],'resolvedBy':_0xad3f82['resolvedBy'],'attributes':_0xad3f82['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x4c22bf,threadId:_0x475ad2,context:_0x301855,unlinkedAt:_0x2d5643,attributes:_0x1423e8})=>this['_getService'](_0x4c22bf)['updateCommentThread']({'commentThreadId':_0x475ad2,'context':_0x301855,'attributes':_0x1423e8,'unlinkedAt':_0x2d5643})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x7c696d,threadId:_0x2d3aff})=>{const _0x5006e2=await this['_getService'](_0x7c696d)['resolveCommentThread'](_0x2d3aff)['catch'](rt)['catch'](ct);return{'threadId':_0x5006e2['commentThreadId'],'resolvedAt':_0x5006e2['resolvedAt'],'resolvedBy':_0x5006e2['resolvedBy']};},'reopenCommentThread':async({channelId:_0x182044,threadId:_0x38163a})=>this['_getService'](_0x182044)['reopenCommentThread'](_0x38163a)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x2cc77b,threadId:_0x336034})=>this['_getService'](_0x2cc77b)['removeCommentThread'](_0x336034)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x2cecce,threadId:_0x565d4a,commentId:_0x1b41e4,content:_0xf8d78,attributes:_0xbbe02b})=>this['_getService'](_0x2cecce)['addComment'](_0x565d4a,_0x1b41e4,_0xf8d78,_0xbbe02b)['catch'](ct),'updateComment':({channelId:_0x58bd1c,threadId:_0x5a3020,commentId:_0x101255,content:_0x3f1eeb,attributes:_0x5d409c})=>this['_getService'](_0x58bd1c)['updateComment'](_0x5a3020,_0x101255,_0x3f1eeb,_0x5d409c)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x299b16,threadId:_0x5695b7,commentId:_0x1c1384})=>this['_getService'](_0x299b16)['removeComment'](_0x5695b7,_0x1c1384)['catch'](rt)['catch'](ct)},_0x4bf920 instanceof _0x38e411){const _0x5baf11=_0x4bf920['config']['get']('collaboration.channelId'),_0x29460d=_0x4bf920['plugins']['get'](Y);await this['_setUpService'](_0x5baf11);const _0x531123=await this['_services']['get'](_0x5baf11)['getConnectedSessions']();this['listenTo'](_0x29460d,'sessionAdd:'+_0x5baf11,(_0x4b9971,{session:_0x121448})=>{_0x121448['id']===_0x29460d['mySessionId']&&(_0x4b9971['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x121448['permissions'],_0x5baf11));}),_0x29460d['register'](_0x5baf11,_0x531123);}}async['_setUpService'](_0x1b0f01){if(this['_services']['has'](_0x1b0f01))throw new _0x36cefd('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x1b0f01});const _0x310927=this['context']['plugins']['get'](_0x44cbfd),_0x575cf6=new ot['CommentsService'](_0x1b0f01);this['_services']['set'](_0x1b0f01,_0x575cf6),this['listenTo'](_0x575cf6,'commentThreadAdded',(_0x597976,_0x551f3a)=>{const {commentThreadId:_0x347a1f,documentId:_0x39cd2f,context:_0x3523e5,attributes:_0x5b0a77,resolvedAt:_0x25d5b9,resolvedBy:_0xac260e,comments:_0x2e5a5e}=_0x551f3a;_0x310927['getCommentThread'](_0x347a1f)||_0x310927['addCommentThread']({'threadId':_0x347a1f,'channelId':_0x39cd2f,'comments':_0x2e5a5e?_0x2e5a5e['map'](at):[],'context':_0x3523e5,'attributes':_0x5b0a77,'resolvedAt':_0x25d5b9,'resolvedBy':_0xac260e,'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentThreadUpdated',(_0x20822f,{commentThreadId:_0xd32c22,documentId:_0x3f1c6c,context:_0xb6c004,unlinkedAt:_0xaa2a5a,attributes:_0x163ba7})=>{_0x310927['getCommentThread'](_0xd32c22)&&_0x310927['updateCommentThread']({'threadId':_0xd32c22,'channelId':_0x3f1c6c,'context':_0xb6c004,'unlinkedAt':_0xaa2a5a,'attributes':_0x163ba7,'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentThreadResolved',(_0x157ec,{commentThreadId:_0x205a64,resolvedBy:_0x1d4f53,resolvedAt:_0x235403})=>{const _0x1e013b=_0x310927['getCommentThread'](_0x205a64);_0x1e013b&&_0x1e013b['resolve']({'resolvedBy':_0x1d4f53,'resolvedAt':_0x235403,'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentThreadReopened',(_0x4be2e2,{commentThreadId:_0x3c8b01})=>{const _0x4b9c24=_0x310927['getCommentThread'](_0x3c8b01);_0x4b9c24&&_0x4b9c24['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentThreadRemoved',(_0x1f0cc5,{commentThreadId:_0x4bb400})=>{const _0x58d12c=_0x310927['getCommentThread'](_0x4bb400);_0x58d12c&&_0x58d12c['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentAdded',(_0x1c8442,_0xfbef26)=>{const _0xb073ca=_0xfbef26['commentThreadId'],_0x2f8a0a=_0x310927['getCommentThread'](_0xb073ca);_0x2f8a0a&&_0x2f8a0a['addComment']({...at(_0xfbef26),'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentUpdated',(_0x24e8f3,{commentThreadId:_0x528c52,commentId:_0x345c32,content:_0xa54d82,attributes:_0x16ff53})=>{const _0x4fece7=_0x310927['getCommentThread'](_0x528c52);if(_0x4fece7){const _0x53d75d=_0x4fece7['getComment'](_0x345c32);_0x53d75d&&_0x53d75d['update']({'content':_0xa54d82,'attributes':_0x16ff53,'isFromAdapter':!0x0});}}),this['listenTo'](_0x575cf6,'commentRemoved',(_0x41d2d9,{commentThreadId:_0x811123,commentId:_0x24ed9b})=>{const _0x471fa1=_0x310927['getCommentThread'](_0x811123);if(_0x471fa1){const _0x569dbb=_0x471fa1['getComment'](_0x24ed9b);_0x569dbb&&_0x569dbb['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x1b0f01);}['destroy'](){if(this['context']instanceof _0x38e411){const _0x516d39=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x516d39);}}['_terminateService'](_0x4e5ea4){if(!this['_services']['has'](_0x4e5ea4))throw new _0x36cefd('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4e5ea4});this['_getService'](_0x4e5ea4)['disconnect'](),this['_services']['delete'](_0x4e5ea4);}async['reconnect'](){for(const _0x103a70 of this['_services']['keys']())await this['_connectService'](_0x103a70);if(this['context']instanceof _0x38e411){const _0x280770=this['context']['config']['get']('collaboration.channelId'),_0x37a5af=this['context']['plugins']['get'](Y);_0x37a5af['unregister'](_0x280770);const _0x58e9db=await this['_services']['get'](_0x280770)['getConnectedSessions']();_0x37a5af['register'](_0x280770,_0x58e9db);}}async['_connectService'](_0x48b8ed){const {connection:_0x21ed4d}=this['context']['plugins']['get'](z),_0x306a2d=this['context']['plugins']['get'](_0x44cbfd),_0x39c8be=this['_services']['get'](_0x48b8ed),_0x2446c4=await _0x39c8be['connect'](_0x21ed4d);await this['_fetchMissingUsersForThreads'](_0x2446c4);const _0x3346c1=new Set(Array['from'](_0x306a2d['getCommentThreads']({'channelId':_0x48b8ed}),_0xe044a6=>_0xe044a6['id']));for(const _0x3569d9 of _0x2446c4)_0x3569d9['deletedAt']||_0x3346c1['delete'](_0x3569d9['commentThreadId']);for(const _0x34888a of _0x3346c1)_0x306a2d['getCommentThread'](_0x34888a)['remove']({'isFromAdapter':!0x0});for(const _0x3f7bb2 of _0x2446c4){let _0x553a9f=_0x306a2d['getCommentThread'](_0x3f7bb2['commentThreadId']);const {commentThreadId:_0x38fe2e,context:_0x13e75c,attributes:_0x2857fd,resolvedBy:_0x4799f1,resolvedAt:_0x254f5e,unlinkedAt:_0x5db346,deletedAt:_0x4e16cc}=_0x3f7bb2;if(_0x4e16cc)continue;_0x553a9f||(_0x553a9f=_0x306a2d['addCommentThread']({'channelId':_0x48b8ed,'threadId':_0x38fe2e,'context':_0x13e75c,'attributes':_0x2857fd||{},'resolvedBy':_0x4799f1,'resolvedAt':_0x254f5e,'unlinkedAt':_0x5db346,'isFromAdapter':!0x0}));const _0x425064=new Set(Array['from'](_0x553a9f['comments'],_0x49cce8=>_0x49cce8['id']));for(const _0x199143 of _0x3f7bb2['comments'])_0x425064['delete'](_0x199143['commentId']);for(const _0x31d447 of _0x425064)_0x553a9f['getComment'](_0x31d447)['remove']({'isFromAdapter':!0x0});for(const _0x4f30d4 of _0x3f7bb2['comments']){const _0x1c58b7=_0x553a9f['getComment'](_0x4f30d4['commentId']);_0x1c58b7?_0x1c58b7['content']!==_0x4f30d4['content']&&_0x1c58b7['update']({'content':_0x4f30d4['content'],'isFromAdapter':!0x0}):_0x553a9f['addComment'](Object['assign'](at(_0x4f30d4),{'isFromAdapter':!0x0}));}}}['_getService'](_0x28b259){if(!this['_services']['has'](_0x28b259))throw new _0x36cefd('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x28b259});return this['_services']['get'](_0x28b259);}async['_fetchMissingUsersForThreads'](_0x3b7b93){const _0x3ed4fb=this['context']['plugins']['get'](_0x15efd7),{connection:_0x837d36}=this['context']['plugins']['get'](z),_0x5a7584=new Set();for(const {resolvedBy:_0x586747,comments:_0x1ee628}of _0x3b7b93){_0x586747&&!_0x3ed4fb['getUser'](_0x586747)&&_0x5a7584['add'](_0x586747);for(const {userId:_0x1177ae}of _0x1ee628)_0x3ed4fb['getUser'](_0x1177ae)||_0x5a7584['add'](_0x1177ae);}if(0x0===_0x5a7584['size'])return;const _0x413b70=await _0xd44d9a['getMany'](_0x837d36,Array['from'](_0x5a7584));for(const _0x55523a of _0x413b70)_0x3ed4fb['getUser'](_0x55523a['id'])||_0x3ed4fb['addUser'](_0x55523a);}}async function rt(_0x44174b){if('404'!==_0x44174b['code'])throw _0x44174b;}function ct(_0x530c19){if((_0x4454e4=_0x530c19)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4454e4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4454e4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4454e4;throw _0x530c19;}function at(_0x29260a){return{'threadId':_0x29260a['commentThreadId'],'commentId':_0x29260a['commentId'],'content':_0x29260a['content'],'createdAt':_0x29260a['createdAt'],'authorId':_0x29260a['userId'],'attributes':_0x29260a['attributes']||{}};}class ht extends _0x103d19{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x22d399)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x4a88e5,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ad5a9){super(_0x3ad5a9);const _0x2560d6=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x2560d6);}['init'](){const _0x2c4a06=this['editor']['plugins']['get'](z),_0x558dbe=this['editor']['plugins']['get'](_0x4a88e5);return _0x558dbe['adapter']={'getSuggestion':async _0x329f03=>{await this['_waitForServiceReady']();const _0x36cb0f=await this['_trackChangesService']['get'](_0x329f03)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x36cb0f]),_0x36cb0f;},'addSuggestion':async({id:_0x24431d,type:_0x4be790,data:_0x528f3a,originalSuggestionId:_0x1725db,attributes:_0x4e56a5})=>{await this['_waitForServiceReady']();const _0x537e2b={'id':_0x24431d,'type':_0x4be790,'data':_0x528f3a,'originalSuggestionId':_0x1725db,'attributes':_0x4e56a5},_0x3e708b=await this['_trackChangesService']['add'](_0x24431d,_0x4be790,_0x528f3a,_0x1725db,_0x4e56a5)['catch'](_0x21bd76=>{if(dt(_0x21bd76))return new Promise(_0x320b3b=>{this['_bufferedRequests']['set'](_0x24431d,{'resolve':_0x320b3b,'suggestionData':_0x537e2b});});throw _0x21bd76;});return this['_bufferedRequests']['delete'](_0x24431d),_0x3e708b;},'updateSuggestion':async(_0x203621,_0x1624a6)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1624a6['state'])return this['_trackChangesService']['update'](_0x203621,_0x1624a6)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1e1f37,_0x3f19f4)=>{_0x558dbe['hasSuggestion'](_0x3f19f4['id'])&&(_0x558dbe['getSuggestion'](_0x3f19f4['id'])['attributes']=_0x3f19f4['attributes']);}),this['_trackChangesService']['connect'](_0x2c4a06['connection'])['then'](_0x2869ce=>(_0x2c4a06['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x2869ce)['then'](()=>{for(const _0x3a85f3 of _0x2869ce){_0x558dbe['addSuggestionData'](_0x3a85f3)['_saved']=!0x0;}})));}async['reconnect'](){const _0x586c4c=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x411a69}=this['editor']['plugins']['get'](z),_0x71f495=await this['_trackChangesService']['connect'](_0x411a69);await this['_fetchMissingUsersForThreads'](_0x71f495);for(const {suggestionData:_0x524662,resolve:_0x201665}of this['_bufferedRequests']['values']()){let _0x10fa11=_0x71f495['find'](_0x3c316a=>_0x3c316a['id']===_0x524662['id']);_0x10fa11||(_0x10fa11=await this['_trackChangesService']['add'](_0x524662['id'],_0x524662['type'],_0x524662['data'],_0x524662['originalSuggestionId'])),_0x201665(_0x10fa11);}for(const _0x50b0a7 of _0x71f495)_0x586c4c['hasSuggestion'](_0x50b0a7['id'])||_0x586c4c['addSuggestionData'](_0x50b0a7);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x244f91=>{this['listenTo'](this['_trackChangesService'],'connected',_0x29ed8f=>{_0x29ed8f['off'](),_0x244f91();});});}async['_fetchMissingUsersForThreads'](_0x36ced7){const _0x56debe=this['editor']['plugins']['get'](_0x15efd7),{connection:_0x4d4b80}=this['editor']['plugins']['get'](z),_0x22c756=new Set();for(const {authorId:_0x5ce61a}of _0x36ced7)_0x56debe['getUser'](_0x5ce61a)||_0x22c756['add'](_0x5ce61a);if(0x0===_0x22c756['size'])return;const _0x23befb=await _0xd44d9a['getMany'](_0x4d4b80,Array['from'](_0x22c756));for(const _0x2359b2 of _0x23befb)_0x56debe['getUser'](_0x2359b2['id'])||_0x56debe['addUser'](_0x2359b2);}}function lt(_0x5cc3a5){if(dt(_0x5cc3a5))return new Promise(()=>{});throw _0x5cc3a5;}function dt(_0x24e053){return _0x24e053['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x24e053['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x103d19{static get['requires'](){return[_0x32965a,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x37e708=this['editor']['plugins']['get'](z),_0x4c1c74=this['editor']['plugins']['get'](_0x10c30c),_0x56af8f=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x37e708,'change:state',(_0x5d4cb7,_0x351b9b,_0x303563)=>{_0x4c1c74['isThreadsLoadingPaused']='connected'!==_0x303563;});}),this['listenTo'](_0x37e708,'change:state',(_0x4abaa0,_0x134fe5,_0x46da27)=>{this['editor']['plugins']['get'](_0x44cbfd)['switchReadOnly']('connected'!==_0x46da27);}),_0x56af8f['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x103d19{static get['requires'](){return[ut,ht,_0x4da260];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x103d19{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x14354c)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x54aa5a,Y,_0x15efd7];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4ef9d0){super(_0x4ef9d0);const _0x4ee532=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x4ee532);}async['init'](){const _0x101319=this['editor']['plugins']['get'](tt),_0x569687=_0x101319['serverHistory'],_0x2a5e4a=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x569687,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x101319['sessionId']});const _0x45ec5e=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x2acad4,_0x47808f=await _0x12fc8b['isBundleUploaded'](_0x2a5e4a['connection'],_0x45ec5e);this['editor']['plugins']['get'](_0x54aa5a)['adapter']={'getRevision':async({revisionId:_0x5340bd})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5340bd)),'updateRevisions':async _0xfccb7=>{await this['_waitForServiceReady']();const _0x59b898=this['_revisionTracker']['currentRevision'];if(_0x47808f&&0x1===_0xfccb7['length']&&_0xfccb7[0x0]['id']===_0x59b898['id'])return _0xfccb7;for(const _0x2be79b of _0xfccb7)_0x2be79b['id']===_0x59b898['id']&&(_0x2be79b['isEmptyCurrent']=_0x2be79b['fromVersion']===_0x2be79b['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xfccb7,this['_lastRequestId'])['then'](_0x2b1b04=>(this['_lastRequestId']=_0x2b1b04,_0xfccb7))['catch'](_0x2ed22b=>{if(pt(_0x2ed22b)||'400'===_0x2ed22b['code']&&void 0x0!==_0x2ed22b['data']['wrongRequestId']){for(const _0xee2581 of _0xfccb7){!this['_revisionTracker']['repository']['getRevision'](_0xee2581['id'])||this['_revisionTracker']['_bufferUpdate'](_0xee2581['id'],_0xee2581,!0x1);}if(pt(_0x2ed22b))throw _0x2ed22b;return _0xfccb7;}throw _0x2ed22b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x131e14,{revisionsData:_0x3bbbb7,requestId:_0x4a1a95})=>{Math['max'](..._0x3bbbb7['map'](_0x3da48d=>_0x3da48d['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3bbbb7,_0x4a1a95);}):this['_handleRevisionsUpdate'](_0x3bbbb7,_0x4a1a95);});const {revisions:_0x321ace,requestId:_0x118578}=await this['_revisionHistoryService']['connect'](_0x2a5e4a['connection']);_0x2a5e4a['addToReconnectionStack'](this),this['_lastRequestId']=_0x118578,await this['_fetchMissingUsers'](_0x321ace);for(const _0x11dcbd of _0x321ace)this['_revisionTracker']['addRevisionData'](_0x11dcbd);this['listenTo'](_0x101319,'change:_isConnected',(_0x30f06b,_0x565365,_0x560b6d)=>{_0x560b6d&&(this['_oldOffset']=_0x101319['_offset'],_0x30f06b['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2a5e4a,'state',_0x582ab5=>_0x582ab5===_0x7dc889['CONNECTED']);}async['reconnect'](){const _0x39f06f=this['editor']['plugins']['get'](z),_0x2286f7=this['editor']['plugins']['get'](tt),_0x4aac6e=async()=>{const _0x1bc803=this['_revisionTracker']['currentRevision'],_0x241610=_0x1bc803['id'],_0x516b28=_0x241610!==_0x2286f7['sessionId'];if(_0x516b28){const _0x129a43=_0x2286f7['_offset']-this['_oldOffset'],_0xdb0ddc=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1bc803['toVersion']+_0x129a43!==_0xdb0ddc){const _0x5ce475=_0x1bc803['fromVersion']+_0x129a43,_0x57be32=this['editor']['plugins']['get'](_0x15efd7),_0x2247a7=this['_revisionTracker']['buildRevisionData']({'revision':_0x1bc803,'from':_0x5ce475,'to':_0xdb0ddc});_0x2247a7['id']=_0x1bc803['id'];const _0x2d939d=_0x2247a7['authorsIds']['map'](_0x56e6fc=>_0x57be32['getUser'](_0x56e6fc));_0x1bc803['_update']({..._0x2247a7,'authors':_0x2d939d},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1bc803['id'],_0x2247a7,!0x0);}this['_revisionTracker']['_startingVersion']=_0xdb0ddc,(_0x1bc803['toVersion']===_0x1bc803['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x241610)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x241610),this['_revisionTracker']['_createCurrentRevision'](_0xdb0ddc));}const {revisions:_0x2e5b52,requestId:_0x332946}=await this['_revisionHistoryService']['reconnect'](_0x39f06f['connection'],this['_lastRequestId']);_0x516b28&&_0x2e5b52['length']>0x0?_0x2286f7['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2e5b52),this['_handleRevisionsUpdate'](_0x2e5b52,_0x332946),this['_revisionTracker']['sendBufferedUpdates']());};return _0x2286f7['_isConnected']?_0x4aac6e():new Promise((_0x4b6f25,_0x361cae)=>{_0x2286f7['once']('change:_isConnected',()=>{_0x4aac6e()['then'](_0x4b6f25)['catch'](_0x361cae);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x16f33c=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x58f64d=>{_0x58f64d['off'](),_0x16f33c();});});}['_getLatestVersionFromServerOperations'](){const _0x42fee8=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x112c46 of _0x42fee8)if('marker'!==_0x112c46['type']||_0x112c46['affectsData'])return _0x112c46['baseVersion']+0x1;}['_getLatestVersion'](){const _0x174269=this['editor']['plugins']['get'](tt);return new Promise(_0x2926d2=>{_0x174269['_isPendingUpdate']?_0x174269['once']('change:_isPendingUpdate',()=>{_0x2926d2(this['_getLatestVersionFromServerOperations']());}):_0x2926d2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x13f263,_0x141f4c){const _0x4a1ec5=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x141f4c;for(const _0xc2376b of _0x13f263){const _0x4cf4fa=_0x4a1ec5['getRevision'](_0xc2376b['id']);if(_0x4cf4fa){if((_0xc2376b['fromVersion']||_0xc2376b['toVersion'])&&(_0xc2376b['diffData']=null),_0x4cf4fa===this['_revisionTracker']['currentRevision']){const _0x31c298=Math['max'](_0x4cf4fa['toVersion'],_0xc2376b['toVersion']),_0x2351c2=Math['max'](_0x4cf4fa['fromVersion'],_0xc2376b['fromVersion']);let _0x49b394;_0x4cf4fa['toVersion']===_0xc2376b['toVersion']&&_0x4cf4fa['fromVersion']===_0xc2376b['fromVersion']?(_0x49b394=!0x0,this['_preventResendingRevisionData'](_0xc2376b)):_0xc2376b['toVersion']===_0x31c298&&_0xc2376b['fromVersion']===_0x2351c2?_0x49b394=!0x1:(_0x4cf4fa['toVersion']===_0x31c298&&_0x4cf4fa['fromVersion']===_0x2351c2||this['_fixRevision']({'revision':_0x4cf4fa,'from':_0x2351c2,'to':_0x31c298}),_0x49b394=!0x0),_0x49b394&&(delete _0xc2376b['fromVersion'],delete _0xc2376b['toVersion'],delete _0xc2376b['diffData'],delete _0xc2376b['createdAt'],delete _0xc2376b['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xc2376b),this['_preventResendingRevisionData'](_0xc2376b);}else this['_revisionTracker']['addRevisionData'](_0xc2376b);}const _0x1f81d6=_0x4a1ec5['getRevisions']();_0x1f81d6['reverse']();for(let _0x544908=0x0;_0x544908<_0x1f81d6['length']-0x1;_0x544908++){const _0xc2fd86=_0x1f81d6[_0x544908],_0x2dd23f=_0x1f81d6[_0x544908+0x1];if(_0xc2fd86['fromVersion']<_0x2dd23f['toVersion']){const _0x38a886=_0x2dd23f['toVersion'],_0x32069e=Math['max'](_0x38a886,_0xc2fd86['toVersion']);this['_fixRevision']({'revision':_0xc2fd86,'from':_0x38a886,'to':_0x32069e});}}}['_fixRevision']({revision:_0x4601c8,from:_0x3460a7,to:_0x19e6ff}={}){const _0xe09ed1=this['editor']['plugins']['get'](_0x15efd7),_0x54437e=this['_revisionTracker']['buildRevisionData']({'revision':_0x4601c8,'from':_0x3460a7,'to':_0x19e6ff});_0x54437e['authors']=_0x54437e['authorsIds']['map'](_0x118290=>_0xe09ed1['getUser'](_0x118290)),_0x4601c8['_update'](_0x54437e);}['_preventResendingRevisionData'](_0x189462){const _0x7f1edc={};_0x7f1edc['id']=_0x189462['id'];for(const _0x4877d6 of Object['keys'](_0x189462))'id'!==_0x4877d6&&(_0x7f1edc[_0x4877d6]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x7f1edc['id'],_0x7f1edc,!0x0);}async['_fetchMissingUsers'](_0x44121b){const _0x5be31b=this['editor']['plugins']['get'](_0x15efd7),{connection:_0x407afd}=this['editor']['plugins']['get'](z),_0xea5776=new Set();for(const _0x35d4e8 of _0x44121b){for(const _0x5532b4 of _0x35d4e8['authorsIds'])_0x2dce3f(_0x5532b4);_0x35d4e8['creatorId']&&_0x2dce3f(_0x35d4e8['creatorId']);}if(0x0===_0xea5776['size'])return;const _0x3dcb6b=await _0xd44d9a['getMany'](_0x407afd,Array['from'](_0xea5776));for(const _0x4c4360 of _0x3dcb6b)_0x5be31b['getUser'](_0x4c4360['id'])||_0x5be31b['addUser'](_0x4c4360);function _0x2dce3f(_0x12859b){_0x5be31b['getUser'](_0x12859b)||_0xea5776['add'](_0x12859b);}}}function pt(_0x530134){return _0x530134['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x530134['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x530134['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x103d19{static get['requires'](){return[_0x54aa5a,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x2a2968{['_collapseAt'];constructor(_0x5e3c0c,_0x4b6b42=0x6){super(_0x5e3c0c);const _0x27ade2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4b6b42,this['bind']('isHidden')['to'](this,'usersCount',_0x252e12=>_0x252e12<_0x4b6b42),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x27ade2['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':_0x27ade2['to']('usersCount',_0x287125=>'+'+(_0x287125-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x2a2968{['items'];['keystrokes'];constructor(_0x9febee){super(_0x9febee);const _0xc39dda=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1cfe84(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xc39dda['if']('hasPopup'),'aria-expanded':_0xc39dda['to']('isExpanded',_0x9cd64=>this['hasPopup']&&String(_0x9cd64)),'aria-label':_0xc39dda['to']('hasPopup',_0x26b09a=>X(_0x9febee,_0x26b09a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xc39dda['to']('hasPopup',_0x413dc8=>!!_0x413dc8&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xc39dda['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xc39dda['to'](_0x26f3d0=>{const _0x102775=_0x26f3d0,_0x113888=document['querySelector']('.ck-presence-list__dropdown-list'),_0x485b71=document['querySelector']('.ck-balloon-panel_with-arrow');_0x113888?.['contains'](_0x102775['relatedTarget'])||_0x485b71?.['contains'](_0x102775['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x314954,_0x434ecf,_0x3cff7d)=>{this['element']&&(_0x3cff7d?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']);}}class _t extends _0x2a2968{['counterView'];['inlineListView'];constructor(_0x47a8ea,_0x3b418e=0x6){super(_0x47a8ea);const _0x19e143=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x3b418e),this['inlineListView']=new vt(_0x47a8ea),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3c6d13 of this['inlineListView']['items'])_0x3c6d13['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',_0x19e143['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x2a2968{['listWrapperView'];constructor(_0x53b48a,_0x3e4fd1){super(_0x53b48a);const _0x16d854=this['bindTemplate'];this['listWrapperView']=new bt(_0x53b48a,_0x3e4fd1),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x53b48a,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x16d854['to'](_0x985233=>{const _0x4bc0f0=_0x985233,_0x36599b=document['querySelector']('.ck-presence-list__list'),_0xfc7d0e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x36599b?.['contains'](_0x4bc0f0['relatedTarget'])||_0xfc7d0e?.['contains'](_0x4bc0f0['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x468e3{constructor(_0x3a5b22,_0x4642c1){super(_0x3a5b22);const _0x353c99=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4642c1?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x353c99['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x353c99['to']('role'),'aria-label':_0x353c99['to']('ariaLabel'),'aria-labelledby':_0x353c99['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3fbed8['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5930fa=this['element'];_0x5930fa&&(this['_isScrollable']=Math['max'](_0x5930fa['scrollHeight'],_0x5930fa['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0xd98646{['userView'];constructor(_0x27eebe,_0x5728c4,_0x164ca1){super(_0x27eebe);const _0x385263=this['bindTemplate'];this['userView']=new _0x5e59a8(_0x27eebe,_0x5728c4);const _0x52fd2b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5728c4['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5728c4['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5728c4['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5728c4['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5728c4['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x164ca1&&(_0x52fd2b['tag']='button',_0x52fd2b['on']={'click':_0x385263['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x52fd2b);}['focus'](){this['element']['focus']();}}class It extends _0x2a2968{['userView'];['markerView'];constructor(_0x41e3b9,_0x25da49,_0x375326){super(_0x41e3b9);const _0x591427=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5e59a8(_0x41e3b9,_0x25da49),this['markerView']=new St(_0x41e3b9,_0x25da49);const _0x41a9bf=new _0x20fd6e(_0x41e3b9);_0x41a9bf['template']['tag']='span',_0x41a9bf['text']=_0x25da49['name'];const _0x2da9fd={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x591427['to']('isFocusable',_0x3cd190=>!!_0x3cd190&&0x0),'aria-labelledby':_0x41a9bf['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x591427['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x591427['to']('hasTooltip',_0x4a2412=>!_0x4a2412),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x41a9bf]};_0x375326&&(_0x2da9fd['tag']='button',_0x2da9fd['on']={'click':_0x591427['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2da9fd);}}class St extends _0x2a2968{constructor(_0x26d7c1,_0x10a393){super(_0x26d7c1),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x10a393['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x10a393['color']['getColorVariable'](),'--ck-user-color-alpha':_0x10a393['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0xd5d5b2{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1ddf7e){super(_0x1ddf7e),this['context']['config']['define']('presenceList',Tt);const _0x281e6e=_0x1ddf7e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x281e6e)throw new _0x36cefd('presencelist-collapseat-invalid-format',this);if(_0x281e6e<0x1)throw new _0x36cefd('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x16227b(),this['balloonPanelView']=new _0x17c136(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1b2ba4 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1b2ba4);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4b82a6,_0x2f3611)=>{this['_handleUserAdd'](_0x2f3611);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4fc784,_0xdeaad)=>{this['_handleUserRemove'](_0xdeaad);});}['_createView'](){const _0x306a4a=this['context'],_0x19333d=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x307d8c=this['balloonPanelView'];if(!_0x6c004d(_0x306a4a['config']['get']('presenceList.container')))throw new _0x36cefd('presencelist-missing-container',this);return _0x19333d['counterView']['bind']('usersCount')['to'](this),_0x19333d['bind']('isCollapsed')['to'](this,'usersCount',_0x4cbf25=>{const {collapseAt:_0x2e5264}=_0x306a4a['config']['get']('presenceList'),_0x3f8809=_0x4cbf25>=_0x2e5264;if(_0x3f8809&&!_0x19333d['inlineListView']['items']['find'](_0x1b268e=>_0x1b268e instanceof wt)){const _0x4d3ff4=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x4d3ff4&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x19333d['inlineListView']['items']['add'](_0x19333d['counterView']);}return _0x3f8809||this['hideDropdown'](),_0x3f8809;}),_0x19333d['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x17b603=>{const _0x720ba5=_0x306a4a['config']['get']('presenceList'),_0x288dc5=new It(_0x306a4a['locale'],_0x17b603,!!_0x720ba5['onClick']);return _0x288dc5['bind']('hasTooltip')['to'](_0x19333d,'isCollapsed',_0x328098=>!_0x328098),_0x288dc5['bind']('isFocusable')['to'](_0x19333d,'isCollapsed',_0x57f87f=>!_0x57f87f),_0x720ba5['onClick']&&this['listenTo'](_0x288dc5,'execute',()=>{this['view']['isCollapsed']||_0x720ba5['onClick'](_0x17b603,_0x288dc5['element']);}),_0x288dc5;}),this['listenTo'](_0x19333d['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x19333d['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x19333d['inlineListView']['keystrokes']['set']('Enter',(_0x51c995,_0x18dcf6)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x18dcf6());}),_0x19333d['render'](),_0x307d8c['render'](),_0x2a391d({'emitter':_0x19333d,'activator':()=>_0x307d8c['isVisible'],'contextElements':[_0x307d8c['element'],_0x19333d['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x306a4a['config']['get']('presenceList.container')['appendChild'](_0x19333d['element']),this['_bodyCollection']=new _0x42e011(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x19333d;}['_handleUserAdd'](_0x33a248){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x33a248['isMe'])return;const _0x852c23=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x852c23-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x23e01a=_0x33a248['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x33a248,_0x23e01a);}['_handleUserRemove'](_0x271f3e){this['usersCount']--;const {collapseAt:_0xc4ae6c}=this['context']['config']['get']('presenceList'),_0x20dbc7=this['usersCount']>=_0xc4ae6c;if(this['currentDisplayedUsers']['get'](_0x271f3e['id']))this['currentDisplayedUsers']['remove'](_0x271f3e['id']);else{if(_0x20dbc7&&this['currentDisplayedUsers']['length']+0x1===_0xc4ae6c-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x20dbc7?0x1:0x0)<this['usersCount']){for(const _0x1f20eb of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1f20eb['id'])&&(this['currentDisplayedUsers']['add'](_0x1f20eb,Math['min'](this['currentDisplayedUsers']['length']-(_0x20dbc7?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x20dbc7?0x1:0x0)===_0xc4ae6c-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5359d0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x5359d0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x797a14}=this['presenceDropdownView'];_0x797a14['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3c58a8=>{if(!_0x5359d0['displayMe']&&_0x3c58a8['isMe'])return null;const _0x41a662=new kt(this['context']['locale'],_0x3c58a8,!!_0x5359d0['onClick']);return _0x5359d0['onClick']&&this['listenTo'](_0x41a662,'execute',()=>{_0x5359d0['onClick'](_0x3c58a8,_0x41a662['element']);}),_0x41a662;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x797a14['focus'](),_0x797a14['checkIfScrollable']();const _0x50f382=(_0x5276de,_0x5735c7)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x5735c7();};_0x797a14['keystrokes']['set']('Esc',_0x50f382),_0x797a14['keystrokes']['set']('Shift+Tab',_0x50f382),_0x797a14['keystrokes']['set']('Tab',(_0xd5306f,_0x12d75e)=>{!function(_0x5225a8){const _0x2dd45c=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x8f8d68=>_0x8f8d68+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4f84a5=[...document['body']['querySelectorAll'](_0x2dd45c)]['filter'](_0x368e81=>_0x368e81===document['activeElement']||_0x368e81['offsetWidth']+_0x368e81['offsetHeight']>0x0)['sort']((_0x132b25,_0x32df71)=>(_0x132b25['tabIndex']||0x0)-(_0x32df71['tabIndex']||0x0)),_0x19f249=_0x4f84a5['indexOf'](_0x5225a8),_0x1fc5e6=_0x4f84a5[(_0x19f249+0x1)%_0x4f84a5['length']];_0x1fc5e6&&_0x1fc5e6['focus']();}(this['view']['element']),this['hideDropdown'](),_0x12d75e();}),_0x797a14['focusTracker']['add'](this['view']['element']),_0x797a14['focusTracker']['on']('change:isFocused',(_0x1a2846,_0x3e2533,_0x2ea315)=>{_0x2ea315||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);}}class Pt extends _0xd5d5b2{static get['requires'](){return[Y,At];}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,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|
package/dist/translations/af.js
CHANGED
|
@@ -20,4 +20,4 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','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.':'','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.':''},'getPluralForm':
|
|
23
|
+
export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','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.':'','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.':''},'getPluralForm':_0x3b4e9f=>0x1!=_0x3b4e9f}};
|