@ckeditor/ckeditor5-real-time-collaboration 48.4.0 → 48.5.0-alpha.1
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 +13 -13
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Context as
|
|
24
|
-
((()=>_0x5a2ce4)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x575e47,_0x4da3fc];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4049e0){super(_0x4049e0),this['set']('state',_0x4ad97d['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x33c29d())();}init(){const _0x8eae42=this['context'],_0x228bfd=_0x8eae42['plugins']['get'](_0x575e47),_0x5dee63=_0x8eae42['plugins']['get'](_0x4da3fc);if(!_0x228bfd['token'])throw new _0xacbaf9('websocketgateway-missing-token',this);if(!_0x228bfd['webSocketUrl'])throw new _0xacbaf9('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x228bfd['token'],_0x228bfd['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x131988=>{if(this['connection']=_0x131988,this['bind']('state')['to'](_0x131988,'state',this,'_isBrowserOffline',(_0x57997b,_0x8d072a)=>('connected'!==_0x57997b&&(this['_shouldPluginsReconnect']=!0x0),_0x8d072a||_0x57997b!==_0x4ad97d['CONNECTED']?_0x4ad97d['DISCONNECTED']:this['state']==_0x4ad97d['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4ad97d['CONNECTING']):_0x4ad97d['CONNECTED'])),this['connection']['on']('error',(_0x1db85b,_0x3930dd)=>{if('limitExceeded'!==_0x3930dd['code'])throw console['error'](_0x3930dd),new _0xacbaf9('cloudservices-init',null,{'originalError':_0x3930dd});_0x5dee63['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x131988['me'])return new Promise(_0x92403f=>_0x131988['on']('change:me',_0x92403f));})['catch'](_0x107e2d=>{throw console['error'](_0x107e2d),new _0xacbaf9('cloudservices-init',null,{'originalError':_0x107e2d});});}addToReconnectionStack(_0x5c00ce){if('function'!=typeof _0x5c00ce['reconnect'])throw new _0xacbaf9('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5c00ce))throw new _0xacbaf9('websocketgateway-plugin-already-registered',this,{'name':_0x5c00ce['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5c00ce);}removeFromReconnectionStack(_0x1a7ea8){this['_reconnectionStack']['delete'](_0x1a7ea8);}isInReconnectionStack(_0x133acd){return this['_reconnectionStack']['has'](_0x133acd);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2f5de9=>_0x2f5de9['reconnect']())))['then'](()=>this['state']=_0x4ad97d['CONNECTED'])['catch'](_0x1e8360=>{throw console['error'](_0x1e8360),new _0xacbaf9('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4ad97d['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0xd1e979{['channelSessions'];channelConnectedUsers;allConnectedUsers;_registeredSessions;_uniqueUsersCount;['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[z,_0x4a35a9];}constructor(_0x413587){super(_0x413587),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4a18c2(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4a35a9);}init(){const _0x3a7ad5=this['context']['plugins']['get'](z);this['listenTo'](_0x3a7ad5,'change:state',(_0x327dd5,_0x19654d,_0x3d8d75)=>{if('connected'!==_0x3d8d75)this['channelSessions']['forEach'](_0x54e281=>_0x54e281['clear']()),this['channelConnectedUsers']['forEach'](_0x5be45e=>_0x5be45e['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x96858a,_0xea58dd]of this['_registeredSessions'])for(const _0x37b58d of _0xea58dd)this['_handleSessionAdd'](_0x96858a,_0x37b58d);}}),this['_createUser'](_0x3a7ad5['connection']['me'],!0x0);}register(_0xa7cdfa,_0x237b26){if(this['_registeredSessions']['has'](_0xa7cdfa))throw new _0xacbaf9('sessions-register-already-registered',null,{'channelId':_0xa7cdfa});this['_registeredSessions']['set'](_0xa7cdfa,_0x237b26),this['channelSessions']['set'](_0xa7cdfa,new _0x4a18c2()),this['channelConnectedUsers']['set'](_0xa7cdfa,new _0x4a18c2()),this['listenTo'](_0x237b26,'add',(_0x385d8e,_0x32a197)=>this['_handleSessionAdd'](_0xa7cdfa,_0x32a197)),this['listenTo'](_0x237b26,'remove',(_0x4494ee,_0x4a9f13)=>this['_handleSessionRemove'](_0xa7cdfa,_0x4a9f13));for(const _0x1008c1 of _0x237b26)this['_handleSessionAdd'](_0xa7cdfa,_0x1008c1);}unregister(_0xb179ca){if(!this['_registeredSessions']['has'](_0xb179ca))throw new _0xacbaf9('sessions-unregister-not-exist',null,{'channelId':_0xb179ca});const _0x5b051f=this['_registeredSessions']['get'](_0xb179ca);this['stopListening'](_0x5b051f);for(const _0x1a4039 of _0x5b051f)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0xb179ca,_0x1a4039);this['_registeredSessions']['delete'](_0xb179ca),this['channelSessions']['delete'](_0xb179ca),this['channelConnectedUsers']['delete'](_0xb179ca);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x3b993a){for(const _0x38f9f7 of this['channelSessions']['values']())for(const _0x7f9178 of _0x38f9f7)if(_0x7f9178['id']===_0x3b993a)return _0x7f9178['user'];}getUserSessions(_0x33b588,_0x4f2d18){const _0x5cd3ea=_0x4f2d18?[this['channelSessions']['get'](_0x4f2d18)]:this['channelSessions']['values'](),_0x39ab70=new Set();for(const _0x47c2ef of _0x5cd3ea)for(const _0x404ecb of _0x47c2ef)_0x404ecb['user']['id']===_0x33b588['id']&&_0x39ab70['add'](_0x404ecb['id']);return _0x39ab70;}getUserRole(_0x4d57a4){for(const _0x34dc34 of this['channelSessions']['values']())for(const _0x1bd0ad of _0x34dc34)if(_0x1bd0ad['user']===_0x4d57a4)return _0x1bd0ad['role'];}['_handleSessionAdd'](_0x1b1954,_0x62b2cd){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x5bfdae=_0x62b2cd['user'],_0x1bafe6=this['_users']['getUser'](_0x5bfdae['id'])||this['_createUser'](_0x5bfdae),_0x52035e=Object['assign']({},_0x62b2cd,{'user':_0x1bafe6});if(this['channelSessions']['get'](_0x1b1954)['add'](_0x52035e),!_0x5bfdae['hiddenInPresenceList']){const _0x38bbb0=this['channelConnectedUsers']['get'](_0x1b1954);_0x38bbb0['has'](_0x1bafe6['id'])||_0x38bbb0['add'](_0x1bafe6),this['allConnectedUsers']['has'](_0x1bafe6['id'])||_0x5bfdae['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1bafe6,_0x1bafe6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1b1954,{'channelId':_0x1b1954,'session':_0x52035e});}['_handleSessionRemove'](_0x2ccf05,_0x46e1ec){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1033a2=this['channelConnectedUsers']['get'](_0x2ccf05),_0x2ba8d2=_0x46e1ec['user'];_0x2ba8d2['id']&&(this['channelSessions']['get'](_0x2ccf05)['remove'](_0x46e1ec['id']),_0x1033a2['has'](_0x2ba8d2['id'])&&!this['getUserSessions'](_0x2ba8d2,_0x2ccf05)['size']&&_0x1033a2['remove'](_0x2ba8d2['id']),this['allConnectedUsers']['get'](_0x2ba8d2['id'])&&!this['getUserSessions'](_0x2ba8d2)['size']&&this['allConnectedUsers']['remove'](_0x2ba8d2['id']));}_createUser(_0xca74fb,_0xb3be23){const _0x3f2ea0=this['_users']['addUser'](_0xca74fb);return _0xb3be23&&this['_users']['defineMe'](_0xca74fb['id']),_0x3f2ea0['orderNumber']=this['_uniqueUsersCount']++,_0x3f2ea0;}},K=class extends _0x2fd2b9{_domEmitter=new(_0x33c29d())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1082d0=this['editor'],_0x46118f=_0x1082d0['plugins']['get'](Y);_0x1082d0['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4e2ba8,{writer:_0x16de7b})=>function(_0x12fefc,_0x33669c,_0x5aa190,_0x106446){const _0x13233c=_0x12fefc['markerName']['split'](':')[0x2],_0x5058a3=_0x5aa190['getUserBySessionId'](_0x13233c);if(!_0x5058a3||_0x13233c===_0x5aa190['mySessionId'])return;if(!_0x106446['model']['schema']['checkChild'](_0x12fefc['markerRange']['start'],'$text'))return;const _0x108b86={'class':'ck-user__marker\x20'+_0x5058a3['color']['getMarkerClass'](),'style':Q(_0x5058a3),'data-name':_0x5058a3['name'],'data-session-id':_0x13233c},_0x3c59fd=_0x106446['model']['markers']['get'](_0x12fefc['markerName'])['getStart'](),_0x42d8fe=_0x3c59fd['nodeAfter'],_0x145a0b=_0x106446['model']['schema'];if(_0x42d8fe&&_0x145a0b['isObject'](_0x42d8fe)&&_0x145a0b['isInline'](_0x42d8fe)&&!_0x106446['model']['markers']['get']('user:range:'+_0x13233c)['getRange']()['isCollapsed'])return;const _0x403927=_0x3c59fd['parent'];return _0x106446['model']['schema']['isLimit'](_0x403927)&&!_0x106446['model']['hasContent'](_0x403927)&&(_0x108b86['contenteditable']=!0x1),function(_0x5d9a10,_0x3d1fc8,_0xe8db58){const _0x377d25=_0x5d9a10['createUIElement']('span',_0x3d1fc8);return _0x5d9a10['setCustomProperty']('userPositionMarker',!0x0,_0x377d25),_0x377d25['render']=function(_0xb43db6){const _0x3cdbbc=this['toDomElement'](_0xb43db6),_0x5bde5b=document['createElement']('span');return _0x5bde5b['classList']['add']('ck-user__marker-tooltip'),_0x5bde5b['setAttribute']('contenteditable','false'),_0x5bde5b['setAttribute']('spellcheck','false'),_0x5bde5b['textContent']=_0xe8db58['name'],_0x3cdbbc['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5bde5b['outerHTML']+'',_0x3cdbbc['addEventListener']('mouseenter',()=>{_0x3cdbbc['classList']['add']('ck-user__marker_hovered');}),_0x3cdbbc['addEventListener']('mouseleave',()=>{_0x3cdbbc['classList']['remove']('ck-user__marker_hovered');}),_0x3cdbbc;},_0x377d25['isSimilar']=function(_0x205782){return!(!this['getCustomProperty']('userPositionMarker')||!_0x205782['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x205782['getAttribute']('data-session-id'));},_0x377d25;}(_0x33669c,_0x108b86,_0x5058a3);}(_0x4e2ba8,_0x16de7b,_0x46118f,_0x1082d0)}),_0x1082d0['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4c6b3e=>function(_0x4f4ada,_0x5b3989){const _0x46437c=_0x4f4ada['markerName']['split'](':')[0x2];if(_0x46437c===_0x5b3989['mySessionId'])return null;const _0x1db3c7=_0x5b3989['getUserBySessionId'](_0x46437c);return _0x1db3c7?{'id':_0x46437c,'classes':['ck-user__selection',_0x1db3c7['color']['getSelectionClass']()],'attributes':{'style':Q(_0x1db3c7),'data-session-id':_0x46437c},'priority':0x7d0+_0x1db3c7['orderNumber']}:{'id':_0x46437c,'classes':[]};}(_0x4c6b3e,_0x46118f)}),function(_0x294565){const _0x281831=_0x294565['model'],_0x4e19a5=new Map(),_0x56679d=_0x294565['plugins']['get'](Y);_0x281831['markers']['on']('update:user:range',(_0x131715,_0x3c44a2,_0xdd2347,_0x5e7bf1)=>{if(!_0x5e7bf1&&_0x4e19a5['get'](_0x3c44a2['name']))return _0x4e19a5['get'](_0x3c44a2['name'])['detach'](),void _0x4e19a5['delete'](_0x3c44a2['name']);const _0x751742=_0x3c44a2['name']['split'](':')[0x2];if(_0x751742===_0x56679d['mySessionId'])return;const _0x1170df='user:position:'+_0x751742;_0x281831['markers']['has'](_0x1170df)&&_0x294565['editing']['reconvertMarker'](_0x1170df),_0x3c44a2['on']('change:range',(_0x20e78b,_0x13ad2b,_0x5a8175)=>{if('$graveyard'!=_0x13ad2b['root']['rootName']&&'$graveyard'==_0x3c44a2['getRange']()['root']['rootName']&&!_0x4e19a5['has'](_0x3c44a2['name'])){const _0x4d76b3=_0x281831['schema']['getNearestSelectionRange'](_0x5a8175['deletionPosition']);if(_0x4d76b3){const _0x1f3191=_0x4a154e['fromRange'](_0x4d76b3);_0x4e19a5['set'](_0x3c44a2['name'],_0x1f3191),_0x1f3191['on']('change:range',(_0x535f4b,_0x3a8d23,_0x4d77f5)=>{if('$graveyard'==_0x1f3191['root']['rootName']){const _0x278eb5=_0x281831['schema']['getNearestSelectionRange'](_0x4d77f5['deletionPosition']);_0x278eb5?(_0x1f3191['start']=_0x278eb5['start'],_0x1f3191['end']=_0x278eb5['end']):(_0x4e19a5['delete'](_0x3c44a2['name']),_0x1f3191['detach']());}});}}});}),_0x281831['document']['on']('change',()=>{_0x4e19a5['size']>0x0&&_0x281831['enqueueChange']({'isUndoable':!0x1},_0x186fbe=>{for(const [_0x4c7de3,_0x61d198]of _0x4e19a5)'$graveyard'==_0x281831['markers']['get'](_0x4c7de3)['getRange']()['root']['rootName']&&(J(_0x4c7de3['split'](':')[0x2],_0x61d198['toRange'](),_0x281831,_0x186fbe),_0x61d198['detach']());_0x4e19a5['clear']();});});}(_0x1082d0),this['_domEmitter']['listenTo'](_0x5d7bba['document'],'keydown',(_0x1ec19f,{key:_0x5759bd})=>{'Escape'===_0x5759bd&&function(_0x11fe1f){_0x11fe1f['editing']['view']['change'](_0x2a3c9c=>{for(const _0xed53b6 of _0x11fe1f['model']['markers']){if(!_0xed53b6['name']['startsWith']('user:position'))continue;const _0x246b4e=_0x11fe1f['editing']['mapper']['markerNameToElements'](_0xed53b6['name']);if(_0x246b4e){for(const _0x3aa88e of _0x246b4e)_0x2a3c9c['removeClass']('ck-user__marker_hovered',_0x3aa88e);}}});}(_0x1082d0);},{'useCapture':!0x0});}afterInit(){const _0x40a11f=this['editor'],_0x330dca=_0x40a11f['commands']['get']('undo');_0x330dca&&_0x40a11f['model']['on']('applyOperation',(_0x1dddce,_0x1a2192)=>{const _0x4bb796=_0x1a2192[0x0];if(!_0x4bb796['isDocumentOperation'])return;if('marker'!=_0x4bb796['type']||!_0x4bb796['name']['startsWith']('user:'))return;const _0x193500=_0x4bb796['batch'];_0x330dca['_createdBatches']['has'](_0x193500)&&(_0x4bb796['newRange']=_0x4bb796['oldRange']?_0x40a11f['model']['createRange'](_0x4bb796['oldRange']['start'],_0x4bb796['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x469be4=this['editor'],_0x22406b=_0x469be4['model']['document'],_0x434960=_0x469be4['plugins']['get'](Y);_0x469be4['model']['enqueueChange']({'isUndoable':!0x1},_0x1e04b9=>{const _0x40499b='user:range:'+_0x434960['mySessionId'],_0x426a71='user:position:'+_0x434960['mySessionId'],_0x143b8d=_0x469be4['model']['markers']['has'](_0x40499b);_0x469be4['editing']['view']['hasDomSelection']?J(_0x434960['mySessionId'],_0x22406b['selection']['getFirstRange'](),_0x469be4['model'],_0x1e04b9):_0x143b8d&&(_0x1e04b9['removeMarker'](_0x40499b),_0x1e04b9['removeMarker'](_0x426a71));});}};function J(_0x2c0c38,_0x281bcf,_0x569f8e,_0x13e36b){const _0x4dea64='user:range:'+_0x2c0c38,_0x5a02c2='user:position:'+_0x2c0c38,_0x11ecf4=_0x281bcf['getContainedElement']();let _0x91472=_0x281bcf['start'];if(_0x11ecf4&&_0x11ecf4['is']('element','tableCell')){const _0x491274=function(_0x5464e7,_0x3aca5b){for(const _0xa343cc of _0x5464e7['getPositions']())if(_0x3aca5b['schema']['checkChild'](_0xa343cc,'$text'))return _0xa343cc;}(_0x281bcf,_0x569f8e);_0x491274&&(_0x91472=_0x491274,_0x281bcf=_0x13e36b['createRange'](_0x91472));}const _0x2077c4=_0x13e36b['createRange'](_0x91472);_0x569f8e['markers']['has'](_0x4dea64)?(_0x13e36b['updateMarker'](_0x4dea64,{'range':_0x281bcf}),_0x13e36b['updateMarker'](_0x5a02c2,{'range':_0x2077c4})):(_0x13e36b['addMarker'](_0x4dea64,{'range':_0x281bcf,'usingOperation':!0x0}),_0x13e36b['addMarker'](_0x5a02c2,{'range':_0x2077c4,'usingOperation':!0x0}));}function Q(_0x2fd29f){return'--ck-user-color:'+_0x2fd29f['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x2fd29f['color']['getColorAlphaVariable']()+';';}function X(_0x4963fc,_0x32c5ec,_0x5bbd27){const _0x49886c=_0x4963fc['t'],t=_0x4963fc['t'];switch(_0x32c5ec){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x49886c({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x5bbd27);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x2fd2b9{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x3d162c)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[z,Y,K,_0x9003cc,_0x4a35a9,_0x4da3fc];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get cloudDocumentVersion(){return this['_lastServerVersion']+this['_offset'];}get _lastServerVersion(){return this['serverHistory']['version']-this['_offset'];}get lastSyncVersion(){const _0x4d8f09=this['serverHistory']['getOperations']();for(let _0x329a12=_0x4d8f09['length']-0x1;_0x329a12>=0x0;_0x329a12--){const _0x48e92c=_0x4d8f09[_0x329a12];if(!this['_disconnectionOperations']['has'](_0x48e92c))return _0x48e92c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1d2015){if(super(_0x1d2015),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5b6931(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xacbaf9('collaboration-missing-channelid',this);const _0x28c11d=_0x1d2015['config']['get']('cloudServices.bundleVersion')||_0xdf940c;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x28c11d,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x10ac7d(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}init(){const _0x35f060=this['editor'],_0x5681b7=_0x35f060['plugins']['get'](_0x4a35a9),_0x2a5048=_0x35f060['plugins']['get'](z);this['listenTo'](_0x5681b7,'getOperationAuthor',(_0x3c9a85,_0x1a6908)=>{const _0x26c944=_0x1a6908[0x0];_0x26c944['_authorId']&&(_0x3c9a85['return']=_0x5681b7['getUser'](_0x26c944['_authorId']),_0x3c9a85['stop']()),null===_0x26c944['_authorId']&&(_0x3c9a85['return']=null,_0x3c9a85['stop']());},{'priority':'high'}),this['listenTo'](_0x35f060['model']['document']['selection'],'change:range',(_0x3e8abf,_0x54fa6a)=>{_0x54fa6a['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x35f060['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x35f060['model']['on']('applyOperation',(_0x339dcb,_0x2db595)=>{const _0x2f7b7d=_0x2db595[0x0];_0x2f7b7d['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2f7b7d),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2a5048,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x422ef5,_0x232095,_0x49e463)=>'connected'===_0x422ef5&&!_0x232095&&!_0x49e463),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x35f060['disableReadOnlyMode']('rtc-offline'):_0x35f060['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x35f060['disableReadOnlyMode']('rtc-offline'):_0x35f060['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x38633d=this['editor']['plugins']['get'](Y),_0x7591e1=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x38633d['unregister'](this['_channelId']);const _0x200249=await this['_service']['reconnect'](_0x7591e1['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x200249)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0xb701e=await this['_service']['getConnectedSessions']();_0x38633d['register'](this['_channelId'],_0xb701e),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x705ce1){if(function(_0x59a844){return'404'===_0x59a844['code'];}(_0x705ce1)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x25c2de){return'409'===_0x25c2de['code'];}(_0x705ce1)){const _0x35c404=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x35c404);}else{if(!(_0x705ce1 instanceof et))throw _0x705ce1;this['_handleReconnectionError']();}}}}destroy(){const _0x5a4354=this['editor']['plugins']['get'](z),_0x3a4afd=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3a4afd['channelSessions']['has'](this['_channelId'])&&_0x3a4afd['unregister'](this['_channelId']),_0x5a4354['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x12a1ee){if(this['sessionId']!==_0x12a1ee['sessionId']&&this['_lastSyncedOperationId']!==_0x12a1ee['lastOperationId'])throw new et();return this['sessionId']=_0x12a1ee['sessionId'],this['_handleServerResponse']([],{..._0x12a1ee,'wereChangesApplied':!0x1,'data':_0x12a1ee['data']},'reconnect');}async _connectService(_0x504512,_0x55b211=!0x1){const {connection:_0x370ac2}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x370ac2,this['_channelId'])['then'](_0x395f53=>this['_initSessionsHandling'](_0x395f53))['catch'](_0x43458f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x43458f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1cf07f,_0x516abf)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x516abf);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x369169=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x504512);this['_isPendingUpdate']=!0x0;const _0x32c2f3=await this['_service']['connect'](_0x370ac2,this['_compressOperations'](_0x504512),_0x369169);if(this['sessionId']=_0x32c2f3['sessionId'],_0x55b211){if(!_0x32c2f3['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x32c2f3['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x504512,_0x32c2f3,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x32c2f3,_0x504512);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x20357c=this['editor']['plugins']['get'](Y),_0x2497aa=this['editor']['plugins']['get'](K),_0x3329a9=_0x20357c['channelSessions']['get'](this['_channelId']);_0x3329a9&&_0x3329a9['length']>0x1?_0x2497aa['createUserMarkerOperations']():this['listenTo'](_0x20357c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x20357c['channelSessions']['get'](this['_channelId'])['length']&&_0x2497aa['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x5bf8f5,_0x46778e,_0x1d5bee,_0x2a6130){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x46778e){const _0x4fbe85=this['_decompressOperations'](_0x1d5bee,_0x2a6130);await this['_fetchMissingUsers'](_0x4fbe85),this['_handleExternalOperations'](_0x4fbe85,_0x46778e,_0x1d5bee['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x5ed43f}=this['editor'];let _0x5d4623;try{_0x5d4623=await this['_service']['getDocumentDetails']();}catch{const _0x1c7c48=X(_0x5ed43f,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x1c7c48);}const _0x3f5342=_0x5d4623['currentDocumentSession']||_0x5d4623['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x3f5342['lastOperationId']){const _0x1b779b=X(_0x5ed43f,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x1b779b);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x74820c=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x74820c['connection']||'connected'!==_0x74820c['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x1cc37b=this['editor']['plugins']['get'](Y);_0x1cc37b['channelSessions']['has'](this['_channelId'])&&_0x1cc37b['unregister'](this['_channelId']),_0x74820c['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x276316){const _0x2a0604=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2a0604,'sessionAdd:'+this['_channelId'],(_0x36f0b9,{session:_0x4f7d9a})=>{if(_0x4f7d9a['id']===_0x2a0604['mySessionId']){_0x36f0b9['off']();const _0x3fe2a5=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x404cc0=_0x4f7d9a['permissions'];_0x3fe2a5&&_0x3fe2a5['isEnabled']&&(_0x404cc0=_0x404cc0['filter'](_0x11ab64=>'document:write'!==_0x11ab64)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x404cc0,this['_channelId']);}}),_0x2a0604['register'](this['_channelId'],_0x276316);}_initThrowingOnDataSet(){const _0x3b8404=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3d6eaa)=>{if(!_0x3d6eaa[_0x3d6eaa['length']-0x1]['suppressErrorInCollaboration'])throw new _0xacbaf9('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3b8404['apply'](this['editor']['data'],_0x3d6eaa);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x463377,[_0x49f21c])=>{if(this['_document']['version'])throw new _0xacbaf9('realtimecollaborationclient-init-document-already-initialized',this);_0x463377['stop'](),this['_setPendingAction']();const _0xb22e6f=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x2c4014])=>!_0x2c4014['lazyLoad'])['map'](([_0x11c0e1,_0x5b17f9])=>[_0x11c0e1,_0x5b17f9['modelAttributes']||{}])),_0x10ad76=this['_getOperationsFromInitData'](_0x49f21c,_0xb22e6f);0x0==_0x10ad76['length']&&_0x10ad76['push'](new _0x55cc7a(0x0)),_0x463377['return']=this['_connectService'](_0x10ad76)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x115162=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x115162))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xfa363,[_0x32e613,_0x1db377])=>{_0xfa363['stop']();const _0x55582f=this['editor']['model']['document']['getRoot'](_0x32e613);if(!this['_knownRootNames']['has'](_0x32e613)){const _0x400745=_0x1db377&&_0x1db377['data']?_0x1db377['data']:'',_0x413a42=_0x1db377&&_0x1db377['attributes']?_0x1db377['attributes']:{};await this['_loadRoot'](_0x32e613,_0x400745,_0x413a42);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x55582f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x55582f);});},{'priority':'high'});}async _fetchMissingUsers(_0x14b0e8){const _0x9f85c6=this['editor']['plugins']['get'](_0x4a35a9),{connection:_0x552729}=this['editor']['plugins']['get'](z),_0x248216=new Set();for(const _0x56f31b of _0x14b0e8){const _0x406267=_0x56f31b['_authorId'];_0x406267&&!_0x9f85c6['getUser'](_0x406267)&&_0x248216['add'](_0x406267);}if(0x0===_0x248216['size'])return;const _0x712672=await _0x52b3e1['getMany'](_0x552729,Array['from'](_0x248216));for(const _0x1b7c32 of _0x712672)_0x9f85c6['getUser'](_0x1b7c32['id'])||_0x9f85c6['addUser'](_0x1b7c32);}_getOperationsFromInitData(_0x1337c4,_0x315262={}){const _0x3c8d9f=this['editor']['model'],_0x5b547f=[];let _0x249c67=0x0;const _0x107595='string'==typeof _0x1337c4?{'main':_0x1337c4}:_0x1337c4;for(const _0x20192d of Object['keys'](_0x107595)){if(!this['_document']['roots']['has'](_0x20192d))throw new _0xacbaf9('realtimecollaborationclient-init-non-existent-root',this);const _0x26e5a3=this['_document']['getRoot'](_0x20192d),_0x4211ab=this['editor']['data']['parse'](_0x107595[_0x20192d],_0x26e5a3),_0x5bead2=new _0x94d6d2(_0x3c8d9f['createPositionAt'](_0x26e5a3,0x0),_0x4211ab,_0x249c67++);_0x5b547f['push'](_0x5bead2);for(const [_0x501078,_0x46786c]of _0x4211ab['markers']){const _0xdc9476=new _0x202700(_0x501078,null,_0x3c8d9f['createRange'](_0x3c8d9f['createPositionFromPath'](_0x26e5a3,_0x46786c['start']['path']['slice']()),_0x3c8d9f['createPositionFromPath'](_0x26e5a3,_0x46786c['end']['path']['slice']())),_0x3c8d9f['markers'],!0x0,_0x249c67++);_0x5b547f['push'](_0xdc9476);}}if(_0x315262)for(const [_0x503765,_0x5e213b]of Object['entries'](_0x315262)){const _0x3f2b18=_0x3c8d9f['document']['getRoot'](_0x503765);if(!_0x3f2b18)throw new _0xacbaf9('multi-root-editor-root-attributes-no-root',null);for(const [_0x2c9686,_0x192ca5]of Object['entries'](_0x5e213b))if(null!==_0x192ca5){const _0x51139a=new _0x9153cb(_0x3f2b18,_0x2c9686,null,_0x192ca5,_0x249c67++);_0x5b547f['push'](_0x51139a);}}return _0x5b547f;}async _loadRoot(_0x5d33aa,_0x467f6a,_0x5b90ec){this['_getOperationsFromInitData']({[_0x5d33aa]:_0x467f6a},{[_0x5d33aa]:_0x5b90ec})['forEach']((_0x49b95c,_0x3d44e2)=>{_0x49b95c['baseVersion']=this['_document']['version']+_0x3d44e2,_0x49b95c['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x49b95c);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x305716,_0x130198){let _0x638f93;this['_offset']=_0x305716['offset'];const _0x54301e=_0x305716['wereChangesApplied']&&!_0x305716['initData'],_0x56d777=_0x54301e?0x0:_0x305716['data']['baseVersion'];if(_0x130198['forEach'](_0x1d25d9=>{_0x1d25d9['_isInit']=!0x0,_0x1d25d9['createdAt']=_0x305716['sessionCreatedAt'],_0x1d25d9['_authorId']=null;}),_0x54301e)_0x638f93=_0x130198,this['_applyOperationsSet'](_0x638f93,_0x54301e);else{if(_0x305716['initData']){const _0x24918b=this['_getOperationsFromInitData'](_0x305716['initData']);this['_document']['history']['version']=-_0x24918b['length'],_0x24918b['forEach'](_0x14bd94=>{_0x14bd94['baseVersion']-=_0x24918b['length'],_0x14bd94['createdAt']=_0x305716['sessionCreatedAt'],_0x14bd94['_isInit']=!0x0,_0x14bd94['_authorId']=null;}),this['_applyOperationsSet'](_0x24918b,!0x0),this['serverHistory']['version']=-_0x24918b['length']+this['_offset'],this['_updateServerHistory'](_0x24918b);}this['_document']['history']['version']=_0x56d777,_0x638f93=this['_decompressOperations'](_0x305716['data'],_0x305716['metadata']),await this['_fetchMissingUsers'](_0x638f93),this['_applyOperationsSet'](_0x638f93,_0x54301e);}_0x305716['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x638f93,_0x305716['lastOperationId']),this['_lastSyncedOperationId']=_0x305716['lastOperationId']),this['serverHistory']['version']=_0x56d777+this['_offset'],this['_updateServerHistory'](_0x638f93),_0x130198['filter'](_0x2aec30=>{const _0x316030=this['_getAffectedRoot'](_0x2aec30);return _0x316030&&!this['_knownRootNames']['has'](_0x316030);})['forEach']((_0x28f806,_0x136be5)=>{_0x28f806['baseVersion']=this['_document']['version']+_0x136be5,this['_saveOperationInBuffer'](_0x28f806);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x10cd8d,_0x2ddf31){const _0x4d6468=_0x2ddf31&&_0x2ddf31['message'];if(_0x4d6468&&_0x4d6468['startsWith']('realtimecollaborationclient'))throw _0x2ddf31;const _0x2a89d3=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2a89d3['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xacbaf9(_0x10cd8d,this['editor'],_0x4d6468?{'originalError':_0x4d6468}:void 0x0);}_saveOperationInBuffer(_0x29ca01){this['_knownOperations']['has'](_0x29ca01)||(this['_knownOperations']['add'](_0x29ca01),this['_bufferedOperations']['push'](_0x29ca01),this['_pendingAction']||'marker'==_0x29ca01['type']&&!_0x29ca01['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x23f3e2=!0x1){!_0x23f3e2&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1b9805=>{_0x1b9805&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x29bf25=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1d7fb0){return _0x1d7fb0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1d7fb0['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1d7fb0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x29bf25)||this['_crash'](_0x29bf25['message'],_0x29bf25);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x503de9=>{this['on']('change:_isPendingUpdate',()=>{_0x503de9();});});}async _sendBufferedOperations(){const _0x5b5869=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x5b5869['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x43e6d1=[...this['_bufferedOperations']];for(const _0x51e882 of _0x43e6d1)_0x51e882['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x51e882);const _0x660bf1=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x43e6d1),_0xb52c6c=Z++,_0x5d3e5e=this['_compressOperations'](_0x43e6d1),_0x32bfb0=await this['_service']['sendOperations'](_0x5d3e5e,_0x5d3e5e['baseVersion'],_0x660bf1);try{return await this['_handleServerResponse'](_0x43e6d1,_0x32bfb0,_0xb52c6c);}catch(_0x3b345b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3b345b);}}async['_handleServerResponse'](_0x544fbe,_0x3d8176,_0xf2e9de){if('error'in _0x3d8176)throw _0x3d8176['error'];let _0x735506;if(_0x3d8176['wereChangesApplied']){_0x3d8176['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3d8176['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x30311a=>!_0x544fbe['includes'](_0x30311a));for(const _0x302491 of _0x544fbe)_0x302491['createdAt']='lastOperationAcceptedAt'in _0x3d8176&&_0x3d8176['lastOperationAcceptedAt']||void 0x0;st(_0x544fbe,_0x3d8176['version']-_0x544fbe['length']),this['_updateServerHistory'](_0x544fbe);const _0x3df19f=_0x544fbe['filter'](_0x326813=>{if(!_0x326813['_isInit'])return!0x1;const _0x4fc0df=this['_getAffectedRoot'](_0x326813);return _0x4fc0df&&!this['_knownRootNames']['has'](_0x4fc0df);});st(_0x3df19f,this['_document']['version']),this['_applyOperationsSet'](_0x3df19f),_0x735506=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2311d6=this['_decompressOperations'](_0x3d8176['data'],_0x3d8176['metadata'])['filter'](_0x540631=>_0x540631['baseVersion']>=this['_lastServerVersion']);_0x2311d6['forEach'](_0x3e96a9=>this['_addKnownRoot'](_0x3e96a9)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3f901f=>!_0x3f901f['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3f901f))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2311d6),_0x735506=this['_handleExternalOperations'](_0x2311d6,_0x3d8176['version'],_0x3d8176['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x735506?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x5def37,_0x1b8875,_0x552624){try{const _0x31e7df={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x568357,operationsB:_0x33e552,originalOperations:_0x493f64}=_0x234e40(_0x5def37,this['_bufferedOperations'],_0x31e7df);st(_0x568357,this['_document']['version']),st(_0x33e552,_0x1b8875);for(const _0x183f6b of _0x568357){const _0x3bbc58=_0x493f64['get'](_0x183f6b);_0x3bbc58?(_0x183f6b['_authorId']=_0x3bbc58['_authorId'],'noop'!==_0x183f6b['type']&&(_0x183f6b['_aiSource']=_0x3bbc58['_aiSource'])):_0x183f6b['_authorId']=null;}for(const _0xa479d of _0x33e552)'noop'!==_0xa479d['type']&&(_0xa479d['_aiSource']=_0x493f64['get'](_0xa479d)?.['_aiSource']);_0x552624&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5def37,_0x552624),this['_lastSyncedOperationId']=_0x552624),this['_bufferedOperations']=[..._0x33e552],this['_applyOperationsSet'](_0x568357),this['_updateServerHistory'](_0x5def37);}catch(_0x1f8161){return console['error'](_0x1f8161),!0x1;}return!0x0;}_applyOperationsSet(_0x383971,_0x5afb32=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0xba46ab=>{for(const _0x3fafc3 of _0x383971)this['_knownOperations']['add'](_0x3fafc3),this['_addKnownRoot'](_0x3fafc3),_0xba46ab['batch']['addOperation'](_0x3fafc3),this['editor']['model']['applyOperation'](_0x3fafc3);});}_addKnownRoot(_0x2d0654){const _0x437ef5=this['_getAffectedRoot'](_0x2d0654);_0x437ef5&&this['_knownRootNames']['add'](_0x437ef5);}_getAffectedRoot(_0xe45ac2){let _0x64883c,_0x3d7da4;switch(_0xe45ac2['type']){case'insert':_0x64883c=_0xe45ac2['position']['root'];break;case'marker':if(_0x3d7da4=_0xe45ac2['newRange'],!_0x3d7da4)return null;_0x64883c=_0x3d7da4['root'];break;case'addRootAttribute':_0x64883c=_0xe45ac2['root'];break;case'addRoot':_0x64883c=_0xe45ac2['affectedSelectable'];break;case'move':_0x64883c=_0xe45ac2['targetPosition']['root'];break;default:return null;}return _0x64883c['rootName'];}_updateServerHistory(_0x1f6a72){_0x1f6a72['forEach'](_0x2adcb7=>{const _0x439be8=_0x2adcb7['clone']();_0x439be8['_authorId']=_0x2adcb7['_authorId'],_0x439be8['_isInit']=!!_0x2adcb7['_isInit'],_0x439be8['_aiSource']=_0x2adcb7['_aiSource'],_0x439be8['createdAt']=_0x2adcb7['createdAt'],_0x439be8['baseVersion']+=this['_offset'],_0x2adcb7['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x439be8),this['serverHistory']['addOperation'](_0x439be8);});}_handleReconnectionError(_0x7b752b){const _0x3e262d=this['editor']['plugins']['get']('Notification'),_0x1105b3=this['editor']['locale'];_0x7b752b||(_0x7b752b=X(_0x1105b3,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x3e262d['showWarning'](_0x7b752b,{'title':X(_0x1105b3,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x9003cc)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x9003cc)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x1dae3c){const _0x4eaf25=_0x1dae3c['map'](_0x4f21c7=>_0x4f21c7['toJSON']());return this['_compressor']['compress'](_0x4eaf25);}_decompressOperations(_0x39fb5b,_0x9a8284){return this['_compressor']['decompress'](_0x39fb5b)['map']((_0x2bfcf6,_0x45a29e)=>{const _0x5aa8c6='init'==_0x9a8284[_0x45a29e]['type'];if('InsertOperation'==_0x2bfcf6['__className']){const _0x5dde67=_0x2bfcf6['position']['root'];!this['_document']['getRoot'](_0x5dde67)&&(this['_document']['createRoot']('$unknown',_0x5dde67)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2bfcf6['__className']){const _0x2d03ca=this['_document']['getRoot'](_0x2bfcf6['rootName']);_0x2d03ca&&'$unknown'==_0x2d03ca['name']&&_0x2bfcf6['elementName']!=_0x2d03ca['name']&&(_0x2d03ca['name']=_0x2bfcf6['elementName']);}}const _0x990da=_0x46062f['fromJSON'](_0x2bfcf6,this['_document']);return _0x990da['wasUndone']=_0x2bfcf6['wasUndone'],_0x990da['_isInit']=_0x5aa8c6,_0x990da['_authorId']=_0x5aa8c6?null:_0x9a8284[_0x45a29e]['userId'],_0x990da['_isDisconnection']='cs:removeUser'===_0x9a8284[_0x45a29e]['type'],_0x990da['_aiSource']=_0x2bfcf6['_aiSource']||void 0x0,_0x990da['createdAt']=_0x9a8284[_0x45a29e]['createdAt'],_0x990da;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x562686=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x562686&&_0x562686['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x1bb6eb,_0x312ebc){for(const _0x207668 of _0x1bb6eb)_0x207668['baseVersion']=_0x312ebc++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x5f156d){this['_ignoredOperations']=_0x5f156d,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x512cf6){let _0x3eb7b2=_0x512cf6['length'];for(;_0x3eb7b2--;){const _0x40fcbd=_0x512cf6[_0x3eb7b2];if(!this['_ignoredOperations']['has'](_0x40fcbd)){if(!this['_operationToId']['has'](_0x40fcbd)){const _0x416120=_0xeff1dd()['slice'](0x1,0x12);this['_operationToId']['set'](_0x40fcbd,_0x416120);}return this['_operationToId']['get'](_0x40fcbd);}}}setIdForTheLastOperation(_0x188c6d,_0x4e48a2){if(!_0x4e48a2)return;let _0xc74e2d=_0x188c6d['length'];for(;_0xc74e2d--;){const _0x2a6e79=_0x188c6d[_0xc74e2d];this['_ignoredOperations']['has'](_0x2a6e79)||this['_operationToId']['set'](_0x2a6e79,_0x4e48a2);}}},nt=class extends _0x2fd2b9{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0xd1e979{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x258961)());['_services'];static get requires(){return[z,_0x39df5c,Y,_0x4a35a9];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x518a44){super(_0x518a44),this['_services']=new Map();}async init(){const _0x275188=this['context'],_0x57aab1=_0x275188['plugins']['get'](_0x39df5c);if(_0x275188['plugins']['get'](z)['addToReconnectionStack'](this),_0x57aab1['adapter']={'addCommentThread':async({channelId:_0x3b53e2,threadId:_0x960512,comments:_0x3a1ba3,resolvedAt:_0x1f65a2,resolvedBy:_0xf1a2ab,context:_0x1770f0,attributes:_0x11de29})=>{const _0x50f2f2=await this['_getService'](_0x3b53e2)['addCommentThread']({'commentThreadId':_0x960512,'comments':_0x3a1ba3['map'](_0x57b8b0=>function(_0x5e2b1a,_0x2a31fa,_0x1138a3){return{'commentThreadId':_0x1138a3,'commentId':_0x5e2b1a['commentId'],'userId':_0x5e2b1a['authorId'],'content':_0x5e2b1a['content'],'documentId':_0x2a31fa,'createdAt':_0x5e2b1a['createdAt'],'attributes':_0x5e2b1a['attributes']||{}};}(_0x57b8b0,_0x3b53e2,_0x960512)),'resolvedAt':_0x1f65a2,'resolvedBy':_0xf1a2ab,'context':_0x1770f0,'attributes':_0x11de29})['catch'](ct);return{'threadId':_0x50f2f2['commentThreadId'],'comments':_0x50f2f2['comments']};},'getCommentThread':async({channelId:_0x32ea79,threadId:_0x49b82e})=>{const _0x16d6c3=await this['_getService'](_0x32ea79)['getCommentThread'](_0x49b82e)['catch'](rt)['catch'](ct);return _0x16d6c3?_0x16d6c3['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x16d6c3]),{'threadId':_0x16d6c3['commentThreadId'],'comments':_0x16d6c3['comments']['map'](at),'context':_0x16d6c3['context'],'resolvedAt':_0x16d6c3['resolvedAt'],'resolvedBy':_0x16d6c3['resolvedBy'],'attributes':_0x16d6c3['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x157330,threadId:_0x2c2945,context:_0x5be877,unlinkedAt:_0x5c10cf,attributes:_0x49878d})=>this['_getService'](_0x157330)['updateCommentThread']({'commentThreadId':_0x2c2945,'context':_0x5be877,'attributes':_0x49878d,'unlinkedAt':_0x5c10cf})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x193729,threadId:_0x317292})=>{const _0x5b2e5f=await this['_getService'](_0x193729)['resolveCommentThread'](_0x317292)['catch'](rt)['catch'](ct);return{'threadId':_0x5b2e5f['commentThreadId'],'resolvedAt':_0x5b2e5f['resolvedAt'],'resolvedBy':_0x5b2e5f['resolvedBy']};},'reopenCommentThread':async({channelId:_0x41feb5,threadId:_0x8a6c8b})=>this['_getService'](_0x41feb5)['reopenCommentThread'](_0x8a6c8b)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0xb30ee9,threadId:_0x107a02})=>this['_getService'](_0xb30ee9)['removeCommentThread'](_0x107a02)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x530718,threadId:_0x1fccba,commentId:_0x5063eb,content:_0x581097,attributes:_0x184ab7})=>this['_getService'](_0x530718)['addComment'](_0x1fccba,_0x5063eb,_0x581097,_0x184ab7)['catch'](ct),'updateComment':({channelId:_0x126c71,threadId:_0x4462b3,commentId:_0x4a81a0,content:_0x16f87a,attributes:_0x3d65ca})=>this['_getService'](_0x126c71)['updateComment'](_0x4462b3,_0x4a81a0,_0x16f87a,_0x3d65ca)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x4f2d2d,threadId:_0xe9ed39,commentId:_0xf3c001})=>this['_getService'](_0x4f2d2d)['removeComment'](_0xe9ed39,_0xf3c001)['catch'](rt)['catch'](ct)},_0x275188 instanceof _0x3ecfdb){const _0x3ff763=_0x275188['config']['get']('collaboration.channelId'),_0x24d4c6=_0x275188['plugins']['get'](Y);await this['_setUpService'](_0x3ff763);const _0x2dce13=await this['_services']['get'](_0x3ff763)['getConnectedSessions']();this['listenTo'](_0x24d4c6,'sessionAdd:'+_0x3ff763,(_0x1228f0,{session:_0x1c4c46})=>{_0x1c4c46['id']===_0x24d4c6['mySessionId']&&(_0x1228f0['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1c4c46['permissions'],_0x3ff763));}),_0x24d4c6['register'](_0x3ff763,_0x2dce13);}}async _setUpService(_0x893c9){if(this['_services']['has'](_0x893c9))throw new _0xacbaf9('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x893c9});const _0x4bf7f5=this['context']['plugins']['get'](_0x39df5c),_0x4d45a6=new CloudServicesCommentsAdapter['CommentsService'](_0x893c9);this['_services']['set'](_0x893c9,_0x4d45a6),this['listenTo'](_0x4d45a6,'commentThreadAdded',(_0x48869d,_0x5c4ea0)=>{const {commentThreadId:_0x2c73e9,documentId:_0x31b0a3,context:_0xc66e73,attributes:_0x38ce59,resolvedAt:_0xd0b9f9,resolvedBy:_0xa1e8df,comments:_0x294409}=_0x5c4ea0;_0x4bf7f5['getCommentThread'](_0x2c73e9)||_0x4bf7f5['addCommentThread']({'threadId':_0x2c73e9,'channelId':_0x31b0a3,'comments':_0x294409?_0x294409['map'](at):[],'context':_0xc66e73,'attributes':_0x38ce59,'resolvedAt':_0xd0b9f9,'resolvedBy':_0xa1e8df,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentThreadUpdated',(_0x3ca7bd,{commentThreadId:_0xf03458,documentId:_0x4c6e07,context:_0x36f200,unlinkedAt:_0x3e222f,attributes:_0x42b044})=>{_0x4bf7f5['getCommentThread'](_0xf03458)&&_0x4bf7f5['updateCommentThread']({'threadId':_0xf03458,'channelId':_0x4c6e07,'context':_0x36f200,'unlinkedAt':_0x3e222f,'attributes':_0x42b044,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentThreadResolved',(_0xa019bd,{commentThreadId:_0x453759,resolvedBy:_0x3b0b5c,resolvedAt:_0x2a3d95})=>{const _0x19b09c=_0x4bf7f5['getCommentThread'](_0x453759);_0x19b09c&&_0x19b09c['resolve']({'resolvedBy':_0x3b0b5c,'resolvedAt':_0x2a3d95,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentThreadReopened',(_0x211d0b,{commentThreadId:_0x4f55ed})=>{const _0x22af0a=_0x4bf7f5['getCommentThread'](_0x4f55ed);_0x22af0a&&_0x22af0a['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentThreadRemoved',(_0x218ed8,{commentThreadId:_0x4115a3})=>{const _0x37580f=_0x4bf7f5['getCommentThread'](_0x4115a3);_0x37580f&&_0x37580f['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentAdded',(_0x2f3475,_0x44995c)=>{const _0x467995=_0x44995c['commentThreadId'],_0x3b5407=_0x4bf7f5['getCommentThread'](_0x467995);_0x3b5407&&_0x3b5407['addComment']({...at(_0x44995c),'isFromAdapter':!0x0});}),this['listenTo'](_0x4d45a6,'commentUpdated',(_0x1cb430,{commentThreadId:_0x48cc04,commentId:_0x5656a5,content:_0x20d241,attributes:_0x2e5193})=>{const _0x589e3a=_0x4bf7f5['getCommentThread'](_0x48cc04);if(_0x589e3a){const _0x429a09=_0x589e3a['getComment'](_0x5656a5);_0x429a09&&_0x429a09['update']({'content':_0x20d241,'attributes':_0x2e5193,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4d45a6,'commentRemoved',(_0x2ee09f,{commentThreadId:_0x3b16ac,commentId:_0x2668a3})=>{const _0x54b2ef=_0x4bf7f5['getCommentThread'](_0x3b16ac);if(_0x54b2ef){const _0x28bbb9=_0x54b2ef['getComment'](_0x2668a3);_0x28bbb9&&_0x28bbb9['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x4d45a6,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x893c9),this['stopListening'](_0x4d45a6));}),await this['_connectService'](_0x893c9);}destroy(){if(this['context']instanceof _0x3ecfdb){const _0x3ab25e=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x3ab25e)&&this['_terminateService'](_0x3ab25e);}}_terminateService(_0x59c8a4){if(!this['_services']['has'](_0x59c8a4))throw new _0xacbaf9('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x59c8a4});this['_getService'](_0x59c8a4)['disconnect'](),this['_services']['delete'](_0x59c8a4);}async reconnect(){for(const _0x4daba6 of this['_services']['keys']())await this['_connectService'](_0x4daba6);if(this['context']instanceof _0x3ecfdb){const _0x42ded7=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x42ded7)){const _0x545af5=this['context']['plugins']['get'](Y);_0x545af5['unregister'](_0x42ded7);const _0x289e01=await this['_services']['get'](_0x42ded7)['getConnectedSessions']();_0x545af5['register'](_0x42ded7,_0x289e01);}}}async _connectService(_0x571332){const {connection:_0x232ef7}=this['context']['plugins']['get'](z),_0x55a01d=this['context']['plugins']['get'](_0x39df5c),_0x525433=await this['_services']['get'](_0x571332)['connect'](_0x232ef7);await this['_fetchMissingUsersForThreads'](_0x525433);const _0x199e2a=new Set(Array['from'](_0x55a01d['getCommentThreads']({'channelId':_0x571332}),_0x5b8ee0=>_0x5b8ee0['id']));for(const _0x56ced7 of _0x525433)_0x56ced7['deletedAt']||_0x199e2a['delete'](_0x56ced7['commentThreadId']);for(const _0x3c0829 of _0x199e2a)_0x55a01d['getCommentThread'](_0x3c0829)['remove']({'isFromAdapter':!0x0});for(const _0x44b6f1 of _0x525433){let _0x13709a=_0x55a01d['getCommentThread'](_0x44b6f1['commentThreadId']);const {commentThreadId:_0x5053a3,context:_0x2fc269,attributes:_0xecb3d5,resolvedBy:_0xe98ed,resolvedAt:_0x233896,unlinkedAt:_0x2c81ed,deletedAt:_0x3bdfb7}=_0x44b6f1;if(_0x3bdfb7)continue;_0x13709a||(_0x13709a=_0x55a01d['addCommentThread']({'channelId':_0x571332,'threadId':_0x5053a3,'context':_0x2fc269,'attributes':_0xecb3d5||{},'resolvedBy':_0xe98ed,'resolvedAt':_0x233896,'unlinkedAt':_0x2c81ed,'isFromAdapter':!0x0}));const _0x3543e4=new Set(Array['from'](_0x13709a['comments'],_0x36c447=>_0x36c447['id']));for(const _0x27f669 of _0x44b6f1['comments'])_0x3543e4['delete'](_0x27f669['commentId']);for(const _0x1df083 of _0x3543e4)_0x13709a['getComment'](_0x1df083)['remove']({'isFromAdapter':!0x0});for(const _0xda1909 of _0x44b6f1['comments']){const _0x498050=_0x13709a['getComment'](_0xda1909['commentId']);_0x498050?_0x498050['content']!==_0xda1909['content']&&_0x498050['update']({'content':_0xda1909['content'],'isFromAdapter':!0x0}):_0x13709a['addComment'](Object['assign'](at(_0xda1909),{'isFromAdapter':!0x0}));}}}_getService(_0xb81e2b){if(!this['_services']['has'](_0xb81e2b))throw new _0xacbaf9('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xb81e2b});return this['_services']['get'](_0xb81e2b);}async _fetchMissingUsersForThreads(_0x45f77b){const _0x150d0f=this['context']['plugins']['get'](_0x4a35a9),{connection:_0x2ff140}=this['context']['plugins']['get'](z),_0x209392=new Set();for(const {resolvedBy:_0x448494,comments:_0x180991}of _0x45f77b){_0x448494&&!_0x150d0f['getUser'](_0x448494)&&_0x209392['add'](_0x448494);for(const {userId:_0x2ec7d6}of _0x180991)_0x150d0f['getUser'](_0x2ec7d6)||_0x209392['add'](_0x2ec7d6);}if(0x0===_0x209392['size'])return;const _0x2fb636=await _0x52b3e1['getMany'](_0x2ff140,Array['from'](_0x209392));for(const _0x509f00 of _0x2fb636)_0x150d0f['getUser'](_0x509f00['id'])||_0x150d0f['addUser'](_0x509f00);}};async function rt(_0x225515){if('404'!==_0x225515['code'])throw _0x225515;}function ct(_0x12acfe){if((_0x56fbbb=_0x12acfe)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x56fbbb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56fbbb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x56fbbb;throw _0x12acfe;}function at(_0x3d4c31){return{'threadId':_0x3d4c31['commentThreadId'],'commentId':_0x3d4c31['commentId'],'content':_0x3d4c31['content'],'createdAt':_0x3d4c31['createdAt'],'authorId':_0x3d4c31['userId'],'attributes':_0x3d4c31['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x2fd2b9{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x50f15e)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x5811ff,Y,_0x4a35a9];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x292251){super(_0x292251);const _0x2937cd=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2937cd);}async init(){const _0x1b1a97=this['editor']['plugins']['get'](tt),_0x4ce502=_0x1b1a97['serverHistory'],_0x3edbce=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4ce502,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1b1a97['sessionId']});const _0x16a3be=this['editor']['config']['get']('cloudServices.bundleVersion')||_0xdf940c,_0x9ded84=await _0x2be39b['isBundleUploaded'](_0x3edbce['connection'],_0x16a3be);this['editor']['plugins']['get'](_0x5811ff)['adapter']={'getRevision':async({revisionId:_0x1bd7c8})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1bd7c8)),'updateRevisions':async _0x2c9812=>{await this['_waitForServiceReady']();const _0x24b62d=this['_revisionTracker']['currentRevision'];if(_0x9ded84&&0x1===_0x2c9812['length']&&_0x2c9812[0x0]['id']===_0x24b62d['id'])return _0x2c9812;for(const _0x43755d of _0x2c9812)_0x43755d['id']===_0x24b62d['id']&&(_0x43755d['isEmptyCurrent']=_0x43755d['fromVersion']===_0x43755d['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x2c9812,this['_lastRequestId'])['then'](_0x2ae174=>(this['_lastRequestId']=_0x2ae174,_0x2c9812))['catch'](_0x442bac=>{if(pt(_0x442bac)||'400'===_0x442bac['code']&&void 0x0!==_0x442bac['data']['wrongRequestId']){for(const _0x397921 of _0x2c9812)this['_revisionTracker']['repository']['getRevision'](_0x397921['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x397921['id'],_0x397921,!0x1);if(pt(_0x442bac)&&'destroyed'!==this['editor']['state'])throw _0x442bac;return _0x2c9812;}throw _0x442bac;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x11c0a1,{revisionsData:_0x1a503d,requestId:_0x345845})=>{Math['max'](..._0x1a503d['map'](_0x128138=>_0x128138['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1a503d,_0x345845);}):this['_handleRevisionsUpdate'](_0x1a503d,_0x345845);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x3edbce['connection']?.['state']&&(_0x3edbce['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x8c92ca,requestId:_0x70f09}=await this['_revisionHistoryService']['connect'](_0x3edbce['connection']);_0x3edbce['addToReconnectionStack'](this),this['_lastRequestId']=_0x70f09,await this['_fetchMissingUsers'](_0x8c92ca);for(const _0x56760a of _0x8c92ca)this['_revisionTracker']['addRevisionData'](_0x56760a);this['listenTo'](_0x1b1a97,'change:_isConnected',(_0x1ff198,_0x40274f,_0x4389f1)=>{_0x4389f1&&(this['_oldOffset']=_0x1b1a97['_offset'],_0x1ff198['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x398ff2=this['editor']['plugins']['get'](z),_0x51de11=this['editor']['plugins']['get'](tt),_0x34ee80=async()=>{const _0x1607f9=this['_revisionTracker']['currentRevision'],_0x454b90=_0x1607f9['id'],_0x4fad26=_0x454b90!==_0x51de11['sessionId'];if(_0x4fad26){const _0x5812a4=_0x51de11['_offset']-this['_oldOffset'],_0x59f41e=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x1607f9['toVersion']+_0x5812a4!==_0x59f41e){const _0x5bc519=_0x1607f9['fromVersion']+_0x5812a4,_0x376969=this['editor']['plugins']['get'](_0x4a35a9),_0x1e7738=this['_revisionTracker']['buildRevisionData']({'revision':_0x1607f9,'from':_0x5bc519,'to':_0x59f41e});_0x1e7738['id']=_0x1607f9['id'];const _0x3f0fab=_0x1e7738['authorsIds']['map'](_0x22b414=>_0x376969['getUser'](_0x22b414));_0x1607f9['_update']({..._0x1e7738,'authors':_0x3f0fab},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1607f9['id'],_0x1e7738,!0x0);}this['_revisionTracker']['_startingVersion']=_0x59f41e,_0x1607f9['toVersion']!==_0x1607f9['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x454b90)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x454b90),this['_revisionTracker']['_createCurrentRevision'](_0x59f41e);}const {revisions:_0x268b83,requestId:_0x3e6a22}=await this['_revisionHistoryService']['reconnect'](_0x398ff2['connection'],this['_lastRequestId']);_0x4fad26&&_0x268b83['length']>0x0?_0x51de11['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x268b83),this['_handleRevisionsUpdate'](_0x268b83,_0x3e6a22),this['_revisionTracker']['sendBufferedUpdates']());};return _0x51de11['_isConnected']?_0x34ee80():new Promise((_0x5a003f,_0x345daf)=>{_0x51de11['once']('change:_isConnected',()=>{_0x34ee80()['then'](_0x5a003f)['catch'](_0x345daf);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0xdba4e6=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x36cfd4=>{_0x36cfd4['off'](),_0xdba4e6();});});}_getLatestVersionFromServerOperations(){const _0x1d5007=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x59e1b9 of _0x1d5007)if('marker'!==_0x59e1b9['type']||_0x59e1b9['affectsData'])return _0x59e1b9['baseVersion']+0x1;}_getLatestVersion(){const _0x10f3f9=this['editor']['plugins']['get'](tt);return new Promise(_0x210081=>{_0x10f3f9['_isPendingUpdate']?_0x10f3f9['once']('change:_isPendingUpdate',()=>{_0x210081(this['_getLatestVersionFromServerOperations']());}):_0x210081(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x11873d,_0x4224cc){const _0x34c4a6=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x4224cc;for(const _0x208f78 of _0x11873d){const _0x340c45=_0x34c4a6['getRevision'](_0x208f78['id']);if(_0x340c45){if((_0x208f78['fromVersion']||_0x208f78['toVersion'])&&(_0x208f78['diffData']=null),_0x340c45===this['_revisionTracker']['currentRevision']){const _0x1ea1d7=Math['max'](_0x340c45['toVersion'],_0x208f78['toVersion']),_0x5888af=Math['max'](_0x340c45['fromVersion'],_0x208f78['fromVersion']);let _0x128c1d;_0x340c45['toVersion']===_0x208f78['toVersion']&&_0x340c45['fromVersion']===_0x208f78['fromVersion']?(_0x128c1d=!0x0,this['_preventResendingRevisionData'](_0x208f78)):_0x208f78['toVersion']===_0x1ea1d7&&_0x208f78['fromVersion']===_0x5888af?_0x128c1d=!0x1:(_0x340c45['toVersion']===_0x1ea1d7&&_0x340c45['fromVersion']===_0x5888af||this['_fixRevision']({'revision':_0x340c45,'from':_0x5888af,'to':_0x1ea1d7}),_0x128c1d=!0x0),_0x128c1d&&(delete _0x208f78['fromVersion'],delete _0x208f78['toVersion'],delete _0x208f78['diffData'],delete _0x208f78['createdAt'],delete _0x208f78['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x208f78),this['_preventResendingRevisionData'](_0x208f78);}else this['_revisionTracker']['addRevisionData'](_0x208f78);}const _0x597451=_0x34c4a6['getRevisions']();_0x597451['reverse']();for(let _0x173c43=0x0;_0x173c43<_0x597451['length']-0x1;_0x173c43++){const _0x1f7f77=_0x597451[_0x173c43],_0x3b700a=_0x597451[_0x173c43+0x1];if(_0x1f7f77['fromVersion']<_0x3b700a['toVersion']){const _0x424206=_0x3b700a['toVersion'],_0x37e395=Math['max'](_0x424206,_0x1f7f77['toVersion']);this['_fixRevision']({'revision':_0x1f7f77,'from':_0x424206,'to':_0x37e395});}}}['_fixRevision']({revision:_0x349311,from:_0x37f7fa,to:_0x420891}={}){const _0x53a950=this['editor']['plugins']['get'](_0x4a35a9),_0x313f62=this['_revisionTracker']['buildRevisionData']({'revision':_0x349311,'from':_0x37f7fa,'to':_0x420891});_0x313f62['authors']=_0x313f62['authorsIds']['map'](_0x1a68aa=>_0x53a950['getUser'](_0x1a68aa)),_0x349311['_update'](_0x313f62);}_preventResendingRevisionData(_0x219f49){const _0x4365b4={};_0x4365b4['id']=_0x219f49['id'];for(const _0x186b78 of Object['keys'](_0x219f49))'id'!==_0x186b78&&(_0x4365b4[_0x186b78]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4365b4['id'],_0x4365b4,!0x0);}async _fetchMissingUsers(_0x7d9651){const _0x4994a3=this['editor']['plugins']['get'](_0x4a35a9),{connection:_0x356884}=this['editor']['plugins']['get'](z),_0x2a5409=new Set();for(const _0x2b0193 of _0x7d9651){for(const _0x25f5b4 of _0x2b0193['authorsIds'])_0x140e3e(_0x25f5b4);_0x2b0193['creatorId']&&_0x140e3e(_0x2b0193['creatorId']);}if(0x0===_0x2a5409['size'])return;const _0x2039f1=await _0x52b3e1['getMany'](_0x356884,Array['from'](_0x2a5409));for(const _0xa9bee3 of _0x2039f1)_0x4994a3['getUser'](_0xa9bee3['id'])||_0x4994a3['addUser'](_0xa9bee3);function _0x140e3e(_0x3f9251){_0x4994a3['getUser'](_0x3f9251)||_0x2a5409['add'](_0x3f9251);}}};function pt(_0x5e75c5){return _0x5e75c5['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5e75c5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5e75c5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x2fd2b9{static get requires(){return[_0x5811ff,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x49d4c1{_collapseAt;constructor(_0x4861bb,_0x5529b0=0x6){super(_0x4861bb);const _0x19e445=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5529b0,this['bind']('isHidden')['to'](this,'usersCount',_0x1660d1=>_0x1660d1<_0x5529b0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x19e445['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x19e445['to']('usersCount',_0x4659c6=>'+'+(_0x4659c6-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x49d4c1{items;keystrokes;constructor(_0xc3e0b7){super(_0xc3e0b7);const _0x3cd97e=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x243499(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3cd97e['if']('hasPopup'),'aria-expanded':_0x3cd97e['to']('isExpanded',_0x2a4cf4=>this['hasPopup']&&String(_0x2a4cf4)),'aria-label':_0x3cd97e['to']('hasPopup',_0x403f7a=>X(_0xc3e0b7,_0x403f7a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3cd97e['to']('hasPopup',_0x50c260=>!!_0x50c260&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3cd97e['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3cd97e['to'](_0x2a044f=>{const _0x3c1b54=_0x2a044f,_0x529f6c=document['querySelector']('.ck-presence-list__dropdown-list'),_0x398e1c=document['querySelector']('.ck-balloon-panel_with-arrow');_0x529f6c?.['contains'](_0x3c1b54['relatedTarget'])||_0x398e1c?.['contains'](_0x3c1b54['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x84795d,_0x4bbd26,_0x4dd46e)=>{this['element']&&(_0x4dd46e?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x49d4c1{counterView;inlineListView;constructor(_0x5edc6e,_0x342385=0x6){super(_0x5edc6e);const _0xe94e92=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x342385),this['inlineListView']=new vt(_0x5edc6e),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5d02d6 of this['inlineListView']['items'])_0x5d02d6['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0xe94e92['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x49d4c1{listWrapperView;constructor(_0x42844e,_0x368da7){super(_0x42844e);const _0x6e688a=this['bindTemplate'];this['listWrapperView']=new bt(_0x42844e,_0x368da7),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x42844e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x6e688a['to'](_0x447541=>{const _0x138546=_0x447541,_0x42c96e=document['querySelector']('.ck-presence-list__list'),_0x4118b6=document['querySelector']('.ck-balloon-panel_with-arrow');_0x42c96e?.['contains'](_0x138546['relatedTarget'])||_0x4118b6?.['contains'](_0x138546['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x223b82{constructor(_0x33a087,_0x1d1533){super(_0x33a087);const _0x937161=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1d1533?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x937161['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x937161['to']('role'),'aria-label':_0x937161['to']('ariaLabel'),'aria-labelledby':_0x937161['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5d7bba['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2bbb3b=this['element'];_0x2bbb3b&&(this['_isScrollable']=Math['max'](_0x2bbb3b['scrollHeight'],_0x2bbb3b['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x35ef59{['userView'];constructor(_0x4c5546,_0xa840ef,_0x414c2c){super(_0x4c5546);const _0x172f2d=this['bindTemplate'];this['userView']=new _0x11aedb(_0x4c5546,_0xa840ef);const _0x323e4f={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xa840ef['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xa840ef['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xa840ef['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xa840ef['color']['getColorVariable'](),'--ck-user-color-alpha':_0xa840ef['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x414c2c&&(_0x323e4f['tag']='button',_0x323e4f['on']={'click':_0x172f2d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x323e4f);}['focus'](){this['element']['focus']();}},It=class extends _0x49d4c1{['userView'];['markerView'];constructor(_0x32083c,_0x27ac34,_0x116902){super(_0x32083c);const _0x1f39f6=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x11aedb(_0x32083c,_0x27ac34),this['markerView']=new St(_0x32083c,_0x27ac34);const _0x594014=new _0x58d76d(_0x32083c);_0x594014['template']['tag']='span',_0x594014['text']=_0x27ac34['name'];const _0x117d00={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1f39f6['to']('isFocusable',_0x5961e0=>!!_0x5961e0&&0x0),'aria-labelledby':_0x594014['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1f39f6['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1f39f6['to']('hasTooltip',_0x5785fd=>!_0x5785fd),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x594014]};_0x116902&&(_0x117d00['tag']='button',_0x117d00['on']={'click':_0x1f39f6['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x117d00);}},St=class extends _0x49d4c1{constructor(_0x3fd5b5,_0x4c8108){super(_0x3fd5b5),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4c8108['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4c8108['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4c8108['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0xd1e979{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x36ffe9){super(_0x36ffe9),this['context']['config']['define']('presenceList',Tt);const _0x30a932=_0x36ffe9['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x30a932)throw new _0xacbaf9('presencelist-collapseat-invalid-format',this);if(_0x30a932<0x1)throw new _0xacbaf9('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4a18c2(),this['balloonPanelView']=new _0x2b1718(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x13f20d of this['_allConnectedUsers'])this['_handleUserAdd'](_0x13f20d);this['listenTo'](this['_allConnectedUsers'],'add',(_0x487f4f,_0xa81a53)=>{this['_handleUserAdd'](_0xa81a53);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x174b39,_0x3ecba2)=>{this['_handleUserRemove'](_0x3ecba2);});}_createView(){const _0x41ec62=this['context'],_0x13cda8=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xf0a522=this['balloonPanelView'];if(!_0x25aa5f(_0x41ec62['config']['get']('presenceList.container')))throw new _0xacbaf9('presencelist-missing-container',this);return _0x13cda8['counterView']['bind']('usersCount')['to'](this),_0x13cda8['bind']('isCollapsed')['to'](this,'usersCount',_0x22e543=>{const {collapseAt:_0x5d7f65}=_0x41ec62['config']['get']('presenceList'),_0x4466c1=_0x22e543>=_0x5d7f65;if(_0x4466c1&&!_0x13cda8['inlineListView']['items']['find'](_0x1511f5=>_0x1511f5 instanceof wt)){const _0x342783=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x342783&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x13cda8['inlineListView']['items']['add'](_0x13cda8['counterView']);}return _0x4466c1||this['hideDropdown'](),_0x4466c1;}),_0x13cda8['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5b6b5a=>{const _0x32cfcd=_0x41ec62['config']['get']('presenceList'),_0x1ff663=new It(_0x41ec62['locale'],_0x5b6b5a,!!_0x32cfcd['onClick']);return _0x1ff663['bind']('hasTooltip')['to'](_0x13cda8,'isCollapsed',_0x495ad9=>!_0x495ad9),_0x1ff663['bind']('isFocusable')['to'](_0x13cda8,'isCollapsed',_0x4a948a=>!_0x4a948a),_0x32cfcd['onClick']&&this['listenTo'](_0x1ff663,'execute',()=>{this['view']['isCollapsed']||_0x32cfcd['onClick'](_0x5b6b5a,_0x1ff663['element']);}),_0x1ff663;}),this['listenTo'](_0x13cda8['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x13cda8['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x13cda8['inlineListView']['keystrokes']['set']('Enter',(_0x9d1b5c,_0x4d61d4)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4d61d4());}),_0x13cda8['render'](),_0xf0a522['render'](),_0x2ca82e({'emitter':_0x13cda8,'activator':()=>_0xf0a522['isVisible'],'contextElements':[_0xf0a522['element'],_0x13cda8['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x41ec62['config']['get']('presenceList.container')['appendChild'](_0x13cda8['element']),this['_bodyCollection']=new _0x1f77d5(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x13cda8;}['_handleUserAdd'](_0x536d8b){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x536d8b['isMe'])return;const _0x446132=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x446132-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x59e8b4=_0x536d8b['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x536d8b,_0x59e8b4);}['_handleUserRemove'](_0x11eb84){this['usersCount']--;const {collapseAt:_0x5cb96b}=this['context']['config']['get']('presenceList'),_0x28dd01=this['usersCount']>=_0x5cb96b;if(this['currentDisplayedUsers']['get'](_0x11eb84['id']))this['currentDisplayedUsers']['remove'](_0x11eb84['id']);else{if(_0x28dd01&&this['currentDisplayedUsers']['length']+0x1===_0x5cb96b-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x28dd01?0x1:0x0)<this['usersCount']){for(const _0x46298c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x46298c['id'])&&(this['currentDisplayedUsers']['add'](_0x46298c,Math['min'](this['currentDisplayedUsers']['length']-(_0x28dd01?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x28dd01?0x1:0x0)===_0x5cb96b-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5b6c7d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x5b6c7d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4dc4d4}=this['presenceDropdownView'];_0x4dc4d4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xe057c4=>{if(!_0x5b6c7d['displayMe']&&_0xe057c4['isMe'])return null;const _0x17f963=new kt(this['context']['locale'],_0xe057c4,!!_0x5b6c7d['onClick']);return _0x5b6c7d['onClick']&&this['listenTo'](_0x17f963,'execute',()=>{_0x5b6c7d['onClick'](_0xe057c4,_0x17f963['element']);}),_0x17f963;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4dc4d4['focus'](),_0x4dc4d4['checkIfScrollable']();const _0x49d8e3=(_0x5e5849,_0x3fbcf2)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3fbcf2();};_0x4dc4d4['keystrokes']['set']('Esc',_0x49d8e3),_0x4dc4d4['keystrokes']['set']('Shift+Tab',_0x49d8e3),_0x4dc4d4['keystrokes']['set']('Tab',(_0x318c2b,_0x4cc73e)=>{!function(_0x2edb2a){const _0xfcd84f=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x240a8c=>_0x240a8c+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x1f0a64=[...document['body']['querySelectorAll'](_0xfcd84f)]['filter'](_0x13b693=>_0x13b693===document['activeElement']||_0x13b693['offsetWidth']+_0x13b693['offsetHeight']>0x0)['sort']((_0x50a7f1,_0x32ed93)=>(_0x50a7f1['tabIndex']||0x0)-(_0x32ed93['tabIndex']||0x0)),_0x395fd0=_0x1f0a64[(_0x1f0a64['indexOf'](_0x2edb2a)+0x1)%_0x1f0a64['length']];_0x395fd0&&_0x395fd0['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4cc73e();}),_0x4dc4d4['focusTracker']['add'](this['view']['element']),_0x4dc4d4['focusTracker']['on']('change:isFocused',(_0x385d6f,_0xf17b54,_0x62eb8e)=>{_0x62eb8e||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0xd1e979{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|
|
23
|
+
import{Context as _0x2d68c5,ContextPlugin as _0xc4d6aa,PendingActions as _0x36d6a1,Plugin as _0x36abf4}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x2e8d1b,Collection as _0xed46ed,DomEmitterMixin as _0x2f59e2,KeystrokeHandler as _0x2a8a0f,global as _0x81b33,uid as _0x3e36f4,version as _0x40ea60}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x532b6f,BodyCollection as _0x367670,LabelView as _0xd0dd83,ListItemView as _0x5d7bc4,ListView as _0x584c4e,Notification as _0x35fa26,View as _0x56b2c8,clickOutsideHandler as _0x53dee}from'@ckeditor/ckeditor5-ui';import{History as _0x2acc88,InsertOperation as _0xa72021,MarkerOperation as _0x53a5d6,ModelLiveRange as _0x57f87f,NoOperation as _0x469700,OperationFactory as _0x50c70e,RootAttributeOperation as _0x1d12c1,transformOperationSets as _0x1ef915}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x404a83}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x2dbe7d,CommentsService as _0x5e88d2,EditorService as _0x2742b2,RevisionHistoryService as _0x361b61,TrackChangesService as _0x43b8a5,User as _0xad2f00,WEB_SOCKET_GATEWAY_STATES as _0x398bd1,WebSocketGateway as _0x412666}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x3b6bb4,Users as _0x4a1da9}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x157e03}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x112efb,TrackChangesEditing as _0x59abfe}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x4663d3,CommentsEditing as _0x116785,CommentsRepository as _0x6bab61}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x230608}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x359a2e}from'es-toolkit/compat';var z=class WebSocketGateway extends _0xc4d6aa{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x412666)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x404a83,_0x35fa26];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34e1d0){super(_0x34e1d0),this['set']('state',_0x398bd1['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x2f59e2())();}init(){const _0x2f2535=this['context'],_0xafa8a=_0x2f2535['plugins']['get'](_0x404a83),_0x575c3e=_0x2f2535['plugins']['get'](_0x35fa26);if(!_0xafa8a['token'])throw new _0x2e8d1b('websocketgateway-missing-token',this);if(!_0xafa8a['webSocketUrl'])throw new _0x2e8d1b('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0xafa8a['token'],_0xafa8a['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2b38dd=>{if(this['connection']=_0x2b38dd,this['bind']('state')['to'](_0x2b38dd,'state',this,'_isBrowserOffline',(_0x549b8e,_0x25827f)=>('connected'!==_0x549b8e&&(this['_shouldPluginsReconnect']=!0x0),_0x25827f||_0x549b8e!==_0x398bd1['CONNECTED']?_0x398bd1['DISCONNECTED']:this['state']==_0x398bd1['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x398bd1['CONNECTING']):_0x398bd1['CONNECTED'])),this['connection']['on']('error',(_0x35d2f1,_0x145762)=>{if('limitExceeded'!==_0x145762['code'])throw console['error'](_0x145762),new _0x2e8d1b('cloudservices-init',null,{'originalError':_0x145762});_0x575c3e['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'});}),!_0x2b38dd['me'])return new Promise(_0x2a4655=>_0x2b38dd['on']('change:me',_0x2a4655));})['catch'](_0x2d8256=>{throw console['error'](_0x2d8256),new _0x2e8d1b('cloudservices-init',null,{'originalError':_0x2d8256});});}addToReconnectionStack(_0x166b4a){if('function'!=typeof _0x166b4a['reconnect'])throw new _0x2e8d1b('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x166b4a))throw new _0x2e8d1b('websocketgateway-plugin-already-registered',this,{'name':_0x166b4a['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x166b4a);}removeFromReconnectionStack(_0x3640cb){this['_reconnectionStack']['delete'](_0x3640cb);}isInReconnectionStack(_0xf06e53){return this['_reconnectionStack']['has'](_0xf06e53);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x47aac8=>_0x47aac8['reconnect']())))['then'](()=>this['state']=_0x398bd1['CONNECTED'])['catch'](_0x39e876=>{throw console['error'](_0x39e876),new _0x2e8d1b('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x398bd1['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0xc4d6aa{['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,_0x4a1da9];}constructor(_0x3f4c33){super(_0x3f4c33),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xed46ed(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4a1da9);}init(){const _0x4bea1b=this['context']['plugins']['get'](z);this['listenTo'](_0x4bea1b,'change:state',(_0x332388,_0x431240,_0x203b11)=>{if('connected'!==_0x203b11)this['channelSessions']['forEach'](_0x5e3d6e=>_0x5e3d6e['clear']()),this['channelConnectedUsers']['forEach'](_0xcc4193=>_0xcc4193['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x19f464,_0x2b351]of this['_registeredSessions'])for(const _0x3b7661 of _0x2b351)this['_handleSessionAdd'](_0x19f464,_0x3b7661);}}),this['_createUser'](_0x4bea1b['connection']['me'],!0x0);}register(_0x3a5de4,_0x67c5f){if(this['_registeredSessions']['has'](_0x3a5de4))throw new _0x2e8d1b('sessions-register-already-registered',null,{'channelId':_0x3a5de4});this['_registeredSessions']['set'](_0x3a5de4,_0x67c5f),this['channelSessions']['set'](_0x3a5de4,new _0xed46ed()),this['channelConnectedUsers']['set'](_0x3a5de4,new _0xed46ed()),this['listenTo'](_0x67c5f,'add',(_0x2dd282,_0x3a3945)=>this['_handleSessionAdd'](_0x3a5de4,_0x3a3945)),this['listenTo'](_0x67c5f,'remove',(_0x282fe9,_0x5a610c)=>this['_handleSessionRemove'](_0x3a5de4,_0x5a610c));for(const _0x3d1a27 of _0x67c5f)this['_handleSessionAdd'](_0x3a5de4,_0x3d1a27);}unregister(_0xaf2f2b){if(!this['_registeredSessions']['has'](_0xaf2f2b))throw new _0x2e8d1b('sessions-unregister-not-exist',null,{'channelId':_0xaf2f2b});const _0x4a7209=this['_registeredSessions']['get'](_0xaf2f2b);this['stopListening'](_0x4a7209);for(const _0x438f62 of _0x4a7209)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0xaf2f2b,_0x438f62);this['_registeredSessions']['delete'](_0xaf2f2b),this['channelSessions']['delete'](_0xaf2f2b),this['channelConnectedUsers']['delete'](_0xaf2f2b);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x6b8184){for(const _0x40ee05 of this['channelSessions']['values']())for(const _0x4fa396 of _0x40ee05)if(_0x4fa396['id']===_0x6b8184)return _0x4fa396['user'];}getUserSessions(_0x36fe35,_0x41bb1d){const _0x3def36=_0x41bb1d?[this['channelSessions']['get'](_0x41bb1d)]:this['channelSessions']['values'](),_0x4d3135=new Set();for(const _0x5765e4 of _0x3def36)for(const _0x7b1286 of _0x5765e4)_0x7b1286['user']['id']===_0x36fe35['id']&&_0x4d3135['add'](_0x7b1286['id']);return _0x4d3135;}getUserRole(_0x2e0e3a){for(const _0x1b055b of this['channelSessions']['values']())for(const _0x15ba99 of _0x1b055b)if(_0x15ba99['user']===_0x2e0e3a)return _0x15ba99['role'];}['_handleSessionAdd'](_0x105079,_0x5ef549){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0xc3a595=_0x5ef549['user'],_0x22f0c0=this['_users']['getUser'](_0xc3a595['id'])||this['_createUser'](_0xc3a595),_0x4d8861=Object['assign']({},_0x5ef549,{'user':_0x22f0c0});if(this['channelSessions']['get'](_0x105079)['add'](_0x4d8861),!_0xc3a595['hiddenInPresenceList']){const _0x43ac0f=this['channelConnectedUsers']['get'](_0x105079);_0x43ac0f['has'](_0x22f0c0['id'])||_0x43ac0f['add'](_0x22f0c0),this['allConnectedUsers']['has'](_0x22f0c0['id'])||_0xc3a595['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x22f0c0,_0x22f0c0['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x105079,{'channelId':_0x105079,'session':_0x4d8861});}['_handleSessionRemove'](_0x300854,_0x29b1d6){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x7d9bd5=this['channelConnectedUsers']['get'](_0x300854),_0x4c9985=_0x29b1d6['user'];_0x4c9985['id']&&(this['channelSessions']['get'](_0x300854)['remove'](_0x29b1d6['id']),_0x7d9bd5['has'](_0x4c9985['id'])&&!this['getUserSessions'](_0x4c9985,_0x300854)['size']&&_0x7d9bd5['remove'](_0x4c9985['id']),this['allConnectedUsers']['get'](_0x4c9985['id'])&&!this['getUserSessions'](_0x4c9985)['size']&&this['allConnectedUsers']['remove'](_0x4c9985['id']));}_createUser(_0x3ad9a6,_0x570841){const _0xa7de5a=this['_users']['addUser'](_0x3ad9a6);return _0x570841&&this['_users']['defineMe'](_0x3ad9a6['id']),_0xa7de5a['orderNumber']=this['_uniqueUsersCount']++,_0xa7de5a;}},K=class extends _0x36abf4{_domEmitter=new(_0x2f59e2())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1123dd=this['editor'],_0x5b3069=_0x1123dd['plugins']['get'](Y);_0x1123dd['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x38e18a,{writer:_0x47f268})=>function(_0x4c9792,_0x36e3ea,_0x13b180,_0x4b4358){const _0x16aae6=_0x4c9792['markerName']['split'](':')[0x2],_0x4a326c=_0x13b180['getUserBySessionId'](_0x16aae6);if(!_0x4a326c||_0x16aae6===_0x13b180['mySessionId'])return;if(!_0x4b4358['model']['schema']['checkChild'](_0x4c9792['markerRange']['start'],'$text'))return;const _0x5bb08f={'class':'ck-user__marker\x20'+_0x4a326c['color']['getMarkerClass'](),'style':Q(_0x4a326c),'data-name':_0x4a326c['name'],'data-session-id':_0x16aae6},_0x4d5517=_0x4b4358['model']['markers']['get'](_0x4c9792['markerName'])['getStart'](),_0x484202=_0x4d5517['nodeAfter'],_0x142f71=_0x4b4358['model']['schema'];if(_0x484202&&_0x142f71['isObject'](_0x484202)&&_0x142f71['isInline'](_0x484202)&&!_0x4b4358['model']['markers']['get']('user:range:'+_0x16aae6)['getRange']()['isCollapsed'])return;const _0x1961df=_0x4d5517['parent'];return _0x4b4358['model']['schema']['isLimit'](_0x1961df)&&!_0x4b4358['model']['hasContent'](_0x1961df)&&(_0x5bb08f['contenteditable']=!0x1),function(_0x4c985a,_0x5b1926,_0x4343ec){const _0x4a9321=_0x4c985a['createUIElement']('span',_0x5b1926);return _0x4c985a['setCustomProperty']('userPositionMarker',!0x0,_0x4a9321),_0x4a9321['render']=function(_0x495b99){const _0x101a79=this['toDomElement'](_0x495b99),_0x10cd36=document['createElement']('span');return _0x10cd36['classList']['add']('ck-user__marker-tooltip'),_0x10cd36['setAttribute']('contenteditable','false'),_0x10cd36['setAttribute']('spellcheck','false'),_0x10cd36['textContent']=_0x4343ec['name'],_0x101a79['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x10cd36['outerHTML']+'',_0x101a79['addEventListener']('mouseenter',()=>{_0x101a79['classList']['add']('ck-user__marker_hovered');}),_0x101a79['addEventListener']('mouseleave',()=>{_0x101a79['classList']['remove']('ck-user__marker_hovered');}),_0x101a79;},_0x4a9321['isSimilar']=function(_0x9dd706){return!(!this['getCustomProperty']('userPositionMarker')||!_0x9dd706['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x9dd706['getAttribute']('data-session-id'));},_0x4a9321;}(_0x36e3ea,_0x5bb08f,_0x4a326c);}(_0x38e18a,_0x47f268,_0x5b3069,_0x1123dd)}),_0x1123dd['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x56842f=>function(_0x3b639a,_0x2ca63b){const _0x113d27=_0x3b639a['markerName']['split'](':')[0x2];if(_0x113d27===_0x2ca63b['mySessionId'])return null;const _0x15394a=_0x2ca63b['getUserBySessionId'](_0x113d27);return _0x15394a?{'id':_0x113d27,'classes':['ck-user__selection',_0x15394a['color']['getSelectionClass']()],'attributes':{'style':Q(_0x15394a),'data-session-id':_0x113d27},'priority':0x7d0+_0x15394a['orderNumber']}:{'id':_0x113d27,'classes':[]};}(_0x56842f,_0x5b3069)}),function(_0x1fbc9c){const _0x1424b4=_0x1fbc9c['model'],_0x375cfb=new Map(),_0x1ff3e1=_0x1fbc9c['plugins']['get'](Y);_0x1424b4['markers']['on']('update:user:range',(_0x20848b,_0xbfc53d,_0x325882,_0x35fc42)=>{if(!_0x35fc42&&_0x375cfb['get'](_0xbfc53d['name']))return _0x375cfb['get'](_0xbfc53d['name'])['detach'](),void _0x375cfb['delete'](_0xbfc53d['name']);const _0x499fe4=_0xbfc53d['name']['split'](':')[0x2];if(_0x499fe4===_0x1ff3e1['mySessionId'])return;const _0x27e709='user:position:'+_0x499fe4;_0x1424b4['markers']['has'](_0x27e709)&&_0x1fbc9c['editing']['reconvertMarker'](_0x27e709),_0xbfc53d['on']('change:range',(_0xd913ae,_0x2f0ef9,_0x260dba)=>{if('$graveyard'!=_0x2f0ef9['root']['rootName']&&'$graveyard'==_0xbfc53d['getRange']()['root']['rootName']&&!_0x375cfb['has'](_0xbfc53d['name'])){const _0x260af2=_0x1424b4['schema']['getNearestSelectionRange'](_0x260dba['deletionPosition']);if(_0x260af2){const _0x29bfe5=_0x57f87f['fromRange'](_0x260af2);_0x375cfb['set'](_0xbfc53d['name'],_0x29bfe5),_0x29bfe5['on']('change:range',(_0x2b71db,_0x311c92,_0x130b7a)=>{if('$graveyard'==_0x29bfe5['root']['rootName']){const _0x1bdd92=_0x1424b4['schema']['getNearestSelectionRange'](_0x130b7a['deletionPosition']);_0x1bdd92?(_0x29bfe5['start']=_0x1bdd92['start'],_0x29bfe5['end']=_0x1bdd92['end']):(_0x375cfb['delete'](_0xbfc53d['name']),_0x29bfe5['detach']());}});}}});}),_0x1424b4['document']['on']('change',()=>{_0x375cfb['size']>0x0&&_0x1424b4['enqueueChange']({'isUndoable':!0x1},_0x1025d1=>{for(const [_0x2090e2,_0xafbe52]of _0x375cfb)'$graveyard'==_0x1424b4['markers']['get'](_0x2090e2)['getRange']()['root']['rootName']&&(J(_0x2090e2['split'](':')[0x2],_0xafbe52['toRange'](),_0x1424b4,_0x1025d1),_0xafbe52['detach']());_0x375cfb['clear']();});});}(_0x1123dd),this['_domEmitter']['listenTo'](_0x81b33['document'],'keydown',(_0x247dd6,{key:_0x4217c3})=>{'Escape'===_0x4217c3&&function(_0x1157a5){_0x1157a5['editing']['view']['change'](_0x9092c0=>{for(const _0x167227 of _0x1157a5['model']['markers']){if(!_0x167227['name']['startsWith']('user:position'))continue;const _0x3e4779=_0x1157a5['editing']['mapper']['markerNameToElements'](_0x167227['name']);if(_0x3e4779){for(const _0x1c87d4 of _0x3e4779)_0x9092c0['removeClass']('ck-user__marker_hovered',_0x1c87d4);}}});}(_0x1123dd);},{'useCapture':!0x0});}afterInit(){const _0x492e4f=this['editor'],_0x2e64bf=_0x492e4f['commands']['get']('undo');_0x2e64bf&&_0x492e4f['model']['on']('applyOperation',(_0x5ba115,_0x10ea1a)=>{const _0x3edc93=_0x10ea1a[0x0];if(!_0x3edc93['isDocumentOperation'])return;if('marker'!=_0x3edc93['type']||!_0x3edc93['name']['startsWith']('user:'))return;const _0x2330a4=_0x3edc93['batch'];_0x2e64bf['_createdBatches']['has'](_0x2330a4)&&(_0x3edc93['newRange']=_0x3edc93['oldRange']?_0x492e4f['model']['createRange'](_0x3edc93['oldRange']['start'],_0x3edc93['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x5c784e=this['editor'],_0xe6714e=_0x5c784e['model']['document'],_0x282ed9=_0x5c784e['plugins']['get'](Y);_0x5c784e['model']['enqueueChange']({'isUndoable':!0x1},_0x5348f6=>{const _0x448064='user:range:'+_0x282ed9['mySessionId'],_0x11490d='user:position:'+_0x282ed9['mySessionId'],_0x141a24=_0x5c784e['model']['markers']['has'](_0x448064);_0x5c784e['editing']['view']['hasDomSelection']?J(_0x282ed9['mySessionId'],_0xe6714e['selection']['getFirstRange'](),_0x5c784e['model'],_0x5348f6):_0x141a24&&(_0x5348f6['removeMarker'](_0x448064),_0x5348f6['removeMarker'](_0x11490d));});}};function J(_0x4f6086,_0x4e634a,_0x5e252a,_0x502262){const _0x444572='user:range:'+_0x4f6086,_0x140bd5='user:position:'+_0x4f6086,_0x3832e8=_0x4e634a['getContainedElement']();let _0x48f23d=_0x4e634a['start'];if(_0x3832e8&&_0x3832e8['is']('element','tableCell')){const _0x29b1b9=function(_0x2d1639,_0x1dc312){for(const _0x3b2e4e of _0x2d1639['getPositions']())if(_0x1dc312['schema']['checkChild'](_0x3b2e4e,'$text'))return _0x3b2e4e;}(_0x4e634a,_0x5e252a);_0x29b1b9&&(_0x48f23d=_0x29b1b9,_0x4e634a=_0x502262['createRange'](_0x48f23d));}const _0x565d27=_0x502262['createRange'](_0x48f23d);_0x5e252a['markers']['has'](_0x444572)?(_0x502262['updateMarker'](_0x444572,{'range':_0x4e634a}),_0x502262['updateMarker'](_0x140bd5,{'range':_0x565d27})):(_0x502262['addMarker'](_0x444572,{'range':_0x4e634a,'usingOperation':!0x0}),_0x502262['addMarker'](_0x140bd5,{'range':_0x565d27,'usingOperation':!0x0}));}function Q(_0x5aeeac){return'--ck-user-color:'+_0x5aeeac['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x5aeeac['color']['getColorAlphaVariable']()+';';}function X(_0x20d245,_0x4d4773,_0x251dd3){const _0x2aec13=_0x20d245['t'],t=_0x20d245['t'];switch(_0x4d4773){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 _0x2aec13({'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'},_0x251dd3);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x36abf4{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x2dbe7d)());_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,_0x36d6a1,_0x4a1da9,_0x35fa26];}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 _0x1e71aa=this['serverHistory']['getOperations']();for(let _0x59ab52=_0x1e71aa['length']-0x1;_0x59ab52>=0x0;_0x59ab52--){const _0x161605=_0x1e71aa[_0x59ab52];if(!this['_disconnectionOperations']['has'](_0x161605))return _0x161605['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x13668f){if(super(_0x13668f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2acc88(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2e8d1b('collaboration-missing-channelid',this);const _0x20750c=_0x13668f['config']['get']('cloudServices.bundleVersion')||_0x40ea60;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x20750c,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x157e03(),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 _0x265787=this['editor'],_0x12ef7c=_0x265787['plugins']['get'](_0x4a1da9),_0x2966a2=_0x265787['plugins']['get'](z);this['listenTo'](_0x12ef7c,'getOperationAuthor',(_0x51fe8a,_0x3d989f)=>{const _0x45f2b5=_0x3d989f[0x0];_0x45f2b5['_authorId']&&(_0x51fe8a['return']=_0x12ef7c['getUser'](_0x45f2b5['_authorId']),_0x51fe8a['stop']()),null===_0x45f2b5['_authorId']&&(_0x51fe8a['return']=null,_0x51fe8a['stop']());},{'priority':'high'}),this['listenTo'](_0x265787['model']['document']['selection'],'change:range',(_0x3ea474,_0x1a18f)=>{_0x1a18f['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x265787['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x265787['model']['on']('applyOperation',(_0x15f32a,_0x60e13e)=>{const _0x5277ee=_0x60e13e[0x0];_0x5277ee['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5277ee),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2966a2,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x3f019b,_0x17b1db,_0x5ead16)=>'connected'===_0x3f019b&&!_0x17b1db&&!_0x5ead16),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x265787['disableReadOnlyMode']('rtc-offline'):_0x265787['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x265787['disableReadOnlyMode']('rtc-offline'):_0x265787['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x1bef33=this['editor']['plugins']['get'](Y),_0x3a9b11=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1bef33['unregister'](this['_channelId']);const _0x45b1b5=await this['_service']['reconnect'](_0x3a9b11['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x45b1b5)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x552e92=await this['_service']['getConnectedSessions']();_0x1bef33['register'](this['_channelId'],_0x552e92),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x10bf23){if(function(_0x5f25da){return'404'===_0x5f25da['code'];}(_0x10bf23)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x442043){return'409'===_0x442043['code'];}(_0x10bf23)){const _0x4f53b5=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'](_0x4f53b5);}else{if(!(_0x10bf23 instanceof et))throw _0x10bf23;this['_handleReconnectionError']();}}}}destroy(){const _0x331c35=this['editor']['plugins']['get'](z),_0x2a2df6=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2a2df6['channelSessions']['has'](this['_channelId'])&&_0x2a2df6['unregister'](this['_channelId']),_0x331c35['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x3ef749){if(this['sessionId']!==_0x3ef749['sessionId']&&this['_lastSyncedOperationId']!==_0x3ef749['lastOperationId'])throw new et();return this['sessionId']=_0x3ef749['sessionId'],this['_handleServerResponse']([],{..._0x3ef749,'wereChangesApplied':!0x1,'data':_0x3ef749['data']},'reconnect');}async _connectService(_0x469b77,_0x44c422=!0x1){const {connection:_0x161f04}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x161f04,this['_channelId'])['then'](_0x5cb598=>this['_initSessionsHandling'](_0x5cb598))['catch'](_0x5aafc8=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5aafc8);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x54d2f8,_0x48940a)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x48940a);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x40a13d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x469b77);this['_isPendingUpdate']=!0x0;const _0x394ec6=await this['_service']['connect'](_0x161f04,this['_compressOperations'](_0x469b77),_0x40a13d);if(this['sessionId']=_0x394ec6['sessionId'],_0x44c422){if(!_0x394ec6['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x394ec6['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x469b77,_0x394ec6,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x394ec6,_0x469b77);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x2491db=this['editor']['plugins']['get'](Y),_0x331f8b=this['editor']['plugins']['get'](K),_0x325c29=_0x2491db['channelSessions']['get'](this['_channelId']);_0x325c29&&_0x325c29['length']>0x1?_0x331f8b['createUserMarkerOperations']():this['listenTo'](_0x2491db,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2491db['channelSessions']['get'](this['_channelId'])['length']&&_0x331f8b['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x3f5c7b,_0x1dcb10,_0x209898,_0x432de2){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1dcb10){const _0x5171f1=this['_decompressOperations'](_0x209898,_0x432de2);await this['_fetchMissingUsers'](_0x5171f1),this['_handleExternalOperations'](_0x5171f1,_0x1dcb10,_0x209898['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x2a64be}=this['editor'];let _0x4379b2;try{_0x4379b2=await this['_service']['getDocumentDetails']();}catch{const _0x5b86dc=X(_0x2a64be,'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'](_0x5b86dc);}const _0x1679d8=_0x4379b2['currentDocumentSession']||_0x4379b2['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1679d8['lastOperationId']){const _0x56ab99=X(_0x2a64be,'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'](_0x56ab99);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x1086f4=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x1086f4['connection']||'connected'!==_0x1086f4['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x281457=this['editor']['plugins']['get'](Y);_0x281457['channelSessions']['has'](this['_channelId'])&&_0x281457['unregister'](this['_channelId']),_0x1086f4['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x57f1df){const _0x1be2ef=this['editor']['plugins']['get'](Y);this['listenTo'](_0x1be2ef,'sessionAdd:'+this['_channelId'],(_0x1de840,{session:_0x3b247b})=>{if(_0x3b247b['id']===_0x1be2ef['mySessionId']){_0x1de840['off']();const _0x46eeb9=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x549ed2=_0x3b247b['permissions'];_0x46eeb9&&_0x46eeb9['isEnabled']&&(_0x549ed2=_0x549ed2['filter'](_0x4f297c=>'document:write'!==_0x4f297c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x549ed2,this['_channelId']);}}),_0x1be2ef['register'](this['_channelId'],_0x57f1df);}_initThrowingOnDataSet(){const _0x5c2e35=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x101756)=>{if(!_0x101756[_0x101756['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2e8d1b('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5c2e35['apply'](this['editor']['data'],_0x101756);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x172bdd,[_0x10ae96])=>{if(this['_document']['version'])throw new _0x2e8d1b('realtimecollaborationclient-init-document-already-initialized',this);_0x172bdd['stop'](),this['_setPendingAction']();const _0x5a882c=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x59ae8c])=>!_0x59ae8c['lazyLoad'])['map'](([_0x3fd39f,_0x45371f])=>[_0x3fd39f,_0x45371f['modelAttributes']||{}])),_0x4f5f27=this['_getOperationsFromInitData'](_0x10ae96,_0x5a882c);0x0==_0x4f5f27['length']&&_0x4f5f27['push'](new _0x469700(0x0)),_0x172bdd['return']=this['_connectService'](_0x4f5f27)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1346a6=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1346a6))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x58b402,[_0x1e65a4,_0x37f789])=>{_0x58b402['stop']();const _0x130d19=this['editor']['model']['document']['getRoot'](_0x1e65a4);if(!this['_knownRootNames']['has'](_0x1e65a4)){const _0x2cb128=_0x37f789&&_0x37f789['data']?_0x37f789['data']:'',_0x47d76c=_0x37f789&&_0x37f789['attributes']?_0x37f789['attributes']:{};await this['_loadRoot'](_0x1e65a4,_0x2cb128,_0x47d76c);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x130d19['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x130d19);});},{'priority':'high'});}async _fetchMissingUsers(_0x53fdad){const _0x3c13b7=this['editor']['plugins']['get'](_0x4a1da9),{connection:_0x56f991}=this['editor']['plugins']['get'](z),_0x51b1be=new Set();for(const _0x4470fa of _0x53fdad){const _0x36e5e2=_0x4470fa['_authorId'];_0x36e5e2&&!_0x3c13b7['getUser'](_0x36e5e2)&&_0x51b1be['add'](_0x36e5e2);}if(0x0===_0x51b1be['size'])return;const _0x231661=await _0xad2f00['getMany'](_0x56f991,Array['from'](_0x51b1be));for(const _0x45deb1 of _0x231661)_0x3c13b7['getUser'](_0x45deb1['id'])||_0x3c13b7['addUser'](_0x45deb1);}_getOperationsFromInitData(_0x534916,_0x31022f={}){const _0x2cb4fd=this['editor']['model'],_0x347c61=[];let _0x4c2ca4=0x0;const _0x39b61d='string'==typeof _0x534916?{'main':_0x534916}:_0x534916;for(const _0x1f98cd of Object['keys'](_0x39b61d)){if(!this['_document']['roots']['has'](_0x1f98cd))throw new _0x2e8d1b('realtimecollaborationclient-init-non-existent-root',this);const _0x320e6a=this['_document']['getRoot'](_0x1f98cd),_0x3878dc=this['editor']['data']['parse'](_0x39b61d[_0x1f98cd],_0x320e6a),_0x1a999c=new _0xa72021(_0x2cb4fd['createPositionAt'](_0x320e6a,0x0),_0x3878dc,_0x4c2ca4++);_0x347c61['push'](_0x1a999c);for(const [_0x5975c9,_0x3c1527]of _0x3878dc['markers']){const _0x5a8b9a=_0x2cb4fd['createRange'](_0x2cb4fd['createPositionFromPath'](_0x320e6a,_0x3c1527['start']['path']['slice']()),_0x2cb4fd['createPositionFromPath'](_0x320e6a,_0x3c1527['end']['path']['slice']())),_0x57796f=new _0x53a5d6(_0x5975c9,null,_0x5a8b9a,_0x2cb4fd['markers'],!0x0,_0x4c2ca4++);_0x347c61['push'](_0x57796f);}}if(_0x31022f)for(const [_0x6112d4,_0x1ca91f]of Object['entries'](_0x31022f)){const _0x11bbf0=_0x2cb4fd['document']['getRoot'](_0x6112d4);if(!_0x11bbf0)throw new _0x2e8d1b('multi-root-editor-root-attributes-no-root',null);for(const [_0x4a5062,_0x2aba88]of Object['entries'](_0x1ca91f))if(null!==_0x2aba88){const _0x5c4358=new _0x1d12c1(_0x11bbf0,_0x4a5062,null,_0x2aba88,_0x4c2ca4++);_0x347c61['push'](_0x5c4358);}}return _0x347c61;}async _loadRoot(_0x21399f,_0x4fc50e,_0x4af755){this['_getOperationsFromInitData']({[_0x21399f]:_0x4fc50e},{[_0x21399f]:_0x4af755})['forEach']((_0x37cb3a,_0x5e2c30)=>{_0x37cb3a['baseVersion']=this['_document']['version']+_0x5e2c30,_0x37cb3a['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x37cb3a);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x2f81d4,_0xdc3fbf){let _0x261f1f;this['_offset']=_0x2f81d4['offset'];const _0x560920=_0x2f81d4['wereChangesApplied']&&!_0x2f81d4['initData'],_0x5eac5a=_0x560920?0x0:_0x2f81d4['data']['baseVersion'];if(_0xdc3fbf['forEach'](_0x102e3c=>{_0x102e3c['_isInit']=!0x0,_0x102e3c['createdAt']=_0x2f81d4['sessionCreatedAt'],_0x102e3c['_authorId']=null;}),_0x560920)_0x261f1f=_0xdc3fbf,this['_applyOperationsSet'](_0x261f1f,_0x560920);else{if(_0x2f81d4['initData']){const _0x4f9951=this['_getOperationsFromInitData'](_0x2f81d4['initData']);this['_document']['history']['version']=-_0x4f9951['length'],_0x4f9951['forEach'](_0x4a9a9b=>{_0x4a9a9b['baseVersion']-=_0x4f9951['length'],_0x4a9a9b['createdAt']=_0x2f81d4['sessionCreatedAt'],_0x4a9a9b['_isInit']=!0x0,_0x4a9a9b['_authorId']=null;}),this['_applyOperationsSet'](_0x4f9951,!0x0),this['serverHistory']['version']=-_0x4f9951['length']+this['_offset'],this['_updateServerHistory'](_0x4f9951);}this['_document']['history']['version']=_0x5eac5a,_0x261f1f=this['_decompressOperations'](_0x2f81d4['data'],_0x2f81d4['metadata']),await this['_fetchMissingUsers'](_0x261f1f),this['_applyOperationsSet'](_0x261f1f,_0x560920);}_0x2f81d4['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x261f1f,_0x2f81d4['lastOperationId']),this['_lastSyncedOperationId']=_0x2f81d4['lastOperationId']),this['serverHistory']['version']=_0x5eac5a+this['_offset'],this['_updateServerHistory'](_0x261f1f),_0xdc3fbf['filter'](_0x2e1d07=>{const _0xd1b0e1=this['_getAffectedRoot'](_0x2e1d07);return _0xd1b0e1&&!this['_knownRootNames']['has'](_0xd1b0e1);})['forEach']((_0x38e525,_0x22bb3b)=>{_0x38e525['baseVersion']=this['_document']['version']+_0x22bb3b,this['_saveOperationInBuffer'](_0x38e525);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x96e08d,_0x111f57){const _0x1682f2=_0x111f57&&_0x111f57['message'];if(_0x1682f2&&_0x1682f2['startsWith']('realtimecollaborationclient'))throw _0x111f57;const _0x2b3e32=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2b3e32['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2e8d1b(_0x96e08d,this['editor'],_0x1682f2?{'originalError':_0x1682f2}:void 0x0);}_saveOperationInBuffer(_0x31ca54){this['_knownOperations']['has'](_0x31ca54)||(this['_knownOperations']['add'](_0x31ca54),this['_bufferedOperations']['push'](_0x31ca54),this['_pendingAction']||'marker'==_0x31ca54['type']&&!_0x31ca54['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x30b02b=!0x1){!_0x30b02b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4aa4bb=>{_0x4aa4bb&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x56911c=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2f9097){return _0x2f9097['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2f9097['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2f9097['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x56911c)||this['_crash'](_0x56911c['message'],_0x56911c);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x2c9234=>{this['on']('change:_isPendingUpdate',()=>{_0x2c9234();});});}async _sendBufferedOperations(){const _0x4dd8ff=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x4dd8ff['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4ed897=[...this['_bufferedOperations']];for(const _0x432497 of _0x4ed897)_0x432497['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x432497);const _0x2ddb90=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4ed897),_0x3c0114=Z++,_0x421732=this['_compressOperations'](_0x4ed897),_0x23684c=await this['_service']['sendOperations'](_0x421732,_0x421732['baseVersion'],_0x2ddb90);try{return await this['_handleServerResponse'](_0x4ed897,_0x23684c,_0x3c0114);}catch(_0x504c03){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x504c03);}}async['_handleServerResponse'](_0x25c43c,_0x5efb72,_0x9dc150){if('error'in _0x5efb72)throw _0x5efb72['error'];let _0x5484c3;if(_0x5efb72['wereChangesApplied']){_0x5efb72['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5efb72['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2d0d11=>!_0x25c43c['includes'](_0x2d0d11));for(const _0x3628a4 of _0x25c43c)_0x3628a4['createdAt']='lastOperationAcceptedAt'in _0x5efb72&&_0x5efb72['lastOperationAcceptedAt']||void 0x0;st(_0x25c43c,_0x5efb72['version']-_0x25c43c['length']),this['_updateServerHistory'](_0x25c43c);const _0x2a78c4=_0x25c43c['filter'](_0x360be8=>{if(!_0x360be8['_isInit'])return!0x1;const _0x12d02d=this['_getAffectedRoot'](_0x360be8);return _0x12d02d&&!this['_knownRootNames']['has'](_0x12d02d);});st(_0x2a78c4,this['_document']['version']),this['_applyOperationsSet'](_0x2a78c4),_0x5484c3=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4dee3e=this['_decompressOperations'](_0x5efb72['data'],_0x5efb72['metadata'])['filter'](_0x252a88=>_0x252a88['baseVersion']>=this['_lastServerVersion']);_0x4dee3e['forEach'](_0x5cad86=>this['_addKnownRoot'](_0x5cad86)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1d42e3=>!_0x1d42e3['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x1d42e3))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4dee3e),_0x5484c3=this['_handleExternalOperations'](_0x4dee3e,_0x5efb72['version'],_0x5efb72['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5484c3?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0xf402b8,_0x2fed73,_0x2727da){try{const _0x463b7a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4a3b8b,operationsB:_0x5bd1f8,originalOperations:_0x5f5cfa}=_0x1ef915(_0xf402b8,this['_bufferedOperations'],_0x463b7a);st(_0x4a3b8b,this['_document']['version']),st(_0x5bd1f8,_0x2fed73);for(const _0x1c9d08 of _0x4a3b8b){const _0x2f7253=_0x5f5cfa['get'](_0x1c9d08);_0x2f7253?(_0x1c9d08['_authorId']=_0x2f7253['_authorId'],'noop'!==_0x1c9d08['type']&&(_0x1c9d08['_aiSource']=_0x2f7253['_aiSource'])):_0x1c9d08['_authorId']=null;}for(const _0xbe9fa4 of _0x5bd1f8)'noop'!==_0xbe9fa4['type']&&(_0xbe9fa4['_aiSource']=_0x5f5cfa['get'](_0xbe9fa4)?.['_aiSource']);_0x2727da&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xf402b8,_0x2727da),this['_lastSyncedOperationId']=_0x2727da),this['_bufferedOperations']=[..._0x5bd1f8],this['_applyOperationsSet'](_0x4a3b8b),this['_updateServerHistory'](_0xf402b8);}catch(_0xb7bbc4){return console['error'](_0xb7bbc4),!0x1;}return!0x0;}_applyOperationsSet(_0x37d459,_0x310810=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3a5486=>{for(const _0x2bb2f8 of _0x37d459)this['_knownOperations']['add'](_0x2bb2f8),this['_addKnownRoot'](_0x2bb2f8),_0x3a5486['batch']['addOperation'](_0x2bb2f8),this['editor']['model']['applyOperation'](_0x2bb2f8);});}_addKnownRoot(_0x3d304a){const _0x3677df=this['_getAffectedRoot'](_0x3d304a);_0x3677df&&this['_knownRootNames']['add'](_0x3677df);}_getAffectedRoot(_0x411ba1){let _0x2d7ee9,_0x498d01;switch(_0x411ba1['type']){case'insert':_0x2d7ee9=_0x411ba1['position']['root'];break;case'marker':if(_0x498d01=_0x411ba1['newRange'],!_0x498d01)return null;_0x2d7ee9=_0x498d01['root'];break;case'addRootAttribute':_0x2d7ee9=_0x411ba1['root'];break;case'addRoot':_0x2d7ee9=_0x411ba1['affectedSelectable'];break;case'move':_0x2d7ee9=_0x411ba1['targetPosition']['root'];break;default:return null;}return _0x2d7ee9['rootName'];}_updateServerHistory(_0x528211){_0x528211['forEach'](_0x5c43ec=>{const _0x445f4f=_0x5c43ec['clone']();_0x445f4f['_authorId']=_0x5c43ec['_authorId'],_0x445f4f['_isInit']=!!_0x5c43ec['_isInit'],_0x445f4f['_aiSource']=_0x5c43ec['_aiSource'],_0x445f4f['createdAt']=_0x5c43ec['createdAt'],_0x445f4f['baseVersion']+=this['_offset'],_0x5c43ec['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x445f4f),this['serverHistory']['addOperation'](_0x445f4f);});}_handleReconnectionError(_0x2e20d7){const _0x41b1fd=this['editor']['plugins']['get']('Notification'),_0x5855d8=this['editor']['locale'];_0x2e20d7||(_0x2e20d7=X(_0x5855d8,'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.')),_0x41b1fd['showWarning'](_0x2e20d7,{'title':X(_0x5855d8,'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'](_0x36d6a1)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x36d6a1)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x1cb706){const _0x1f536b=_0x1cb706['map'](_0x499b71=>_0x499b71['toJSON']());return this['_compressor']['compress'](_0x1f536b);}_decompressOperations(_0x95f80e,_0x47be78){return this['_compressor']['decompress'](_0x95f80e)['map']((_0xb60ef7,_0x538de0)=>{const _0x3758d8='init'==_0x47be78[_0x538de0]['type'];if('InsertOperation'==_0xb60ef7['__className']){const _0x48f60f=_0xb60ef7['position']['root'];!this['_document']['getRoot'](_0x48f60f)&&(this['_document']['createRoot']('$unknown',_0x48f60f)['_isAttached']=!0x1);}else{if('RootOperation'==_0xb60ef7['__className']){const _0x5b54af=this['_document']['getRoot'](_0xb60ef7['rootName']);_0x5b54af&&'$unknown'==_0x5b54af['name']&&_0xb60ef7['elementName']!=_0x5b54af['name']&&(_0x5b54af['name']=_0xb60ef7['elementName']);}}const _0xb995bd=_0x50c70e['fromJSON'](_0xb60ef7,this['_document']);return _0xb995bd['wasUndone']=_0xb60ef7['wasUndone'],_0xb995bd['_isInit']=_0x3758d8,_0xb995bd['_authorId']=_0x3758d8?null:_0x47be78[_0x538de0]['userId'],_0xb995bd['_isDisconnection']='cs:removeUser'===_0x47be78[_0x538de0]['type'],_0xb995bd['_aiSource']=_0xb60ef7['_aiSource']||void 0x0,_0xb995bd['createdAt']=_0x47be78[_0x538de0]['createdAt'],_0xb995bd;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x3b8b24=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3b8b24&&_0x3b8b24['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x554c61,_0x50a83e){for(const _0x1dde46 of _0x554c61)_0x1dde46['baseVersion']=_0x50a83e++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x56c59b){this['_ignoredOperations']=_0x56c59b,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x572cbe){let _0x3f5241=_0x572cbe['length'];for(;_0x3f5241--;){const _0x537ae5=_0x572cbe[_0x3f5241];if(!this['_ignoredOperations']['has'](_0x537ae5)){if(!this['_operationToId']['has'](_0x537ae5)){const _0x169e24=_0x3e36f4()['slice'](0x1,0x12);this['_operationToId']['set'](_0x537ae5,_0x169e24);}return this['_operationToId']['get'](_0x537ae5);}}}setIdForTheLastOperation(_0x233be2,_0x1d1ddd){if(!_0x1d1ddd)return;let _0x202d23=_0x233be2['length'];for(;_0x202d23--;){const _0x22c308=_0x233be2[_0x202d23];this['_ignoredOperations']['has'](_0x22c308)||this['_operationToId']['set'](_0x22c308,_0x1d1ddd);}}},nt=class extends _0x36abf4{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0xc4d6aa{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x5e88d2)());['_services'];static get requires(){return[z,_0x6bab61,Y,_0x4a1da9];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x418951){super(_0x418951),this['_services']=new Map();}async init(){const _0x40dbeb=this['context'],_0x55d4b1=_0x40dbeb['plugins']['get'](_0x6bab61);if(_0x40dbeb['plugins']['get'](z)['addToReconnectionStack'](this),_0x55d4b1['adapter']={'addCommentThread':async({channelId:_0x5339fa,threadId:_0x1874ca,comments:_0x2296fe,resolvedAt:_0x364108,resolvedBy:_0x5877ec,context:_0x3f18d9,attributes:_0x2f75e6})=>{const _0xb27e0c=await this['_getService'](_0x5339fa)['addCommentThread']({'commentThreadId':_0x1874ca,'comments':_0x2296fe['map'](_0x9e18f1=>function(_0x5c887f,_0x2dba8e,_0xfa414e){return{'commentThreadId':_0xfa414e,'commentId':_0x5c887f['commentId'],'userId':_0x5c887f['authorId'],'content':_0x5c887f['content'],'documentId':_0x2dba8e,'createdAt':_0x5c887f['createdAt'],'attributes':_0x5c887f['attributes']||{}};}(_0x9e18f1,_0x5339fa,_0x1874ca)),'resolvedAt':_0x364108,'resolvedBy':_0x5877ec,'context':_0x3f18d9,'attributes':_0x2f75e6})['catch'](ct);return{'threadId':_0xb27e0c['commentThreadId'],'comments':_0xb27e0c['comments']};},'getCommentThread':async({channelId:_0xf56ad3,threadId:_0x340454})=>{const _0x46a5c9=await this['_getService'](_0xf56ad3)['getCommentThread'](_0x340454)['catch'](rt)['catch'](ct);return _0x46a5c9?_0x46a5c9['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x46a5c9]),{'threadId':_0x46a5c9['commentThreadId'],'comments':_0x46a5c9['comments']['map'](at),'context':_0x46a5c9['context'],'resolvedAt':_0x46a5c9['resolvedAt'],'resolvedBy':_0x46a5c9['resolvedBy'],'attributes':_0x46a5c9['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1bdb88,threadId:_0x49870f,context:_0x57db21,unlinkedAt:_0x4578e2,attributes:_0x209527})=>this['_getService'](_0x1bdb88)['updateCommentThread']({'commentThreadId':_0x49870f,'context':_0x57db21,'attributes':_0x209527,'unlinkedAt':_0x4578e2})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x3ce4a0,threadId:_0x5fd68e})=>{const _0x4c2a82=await this['_getService'](_0x3ce4a0)['resolveCommentThread'](_0x5fd68e)['catch'](rt)['catch'](ct);return{'threadId':_0x4c2a82['commentThreadId'],'resolvedAt':_0x4c2a82['resolvedAt'],'resolvedBy':_0x4c2a82['resolvedBy']};},'reopenCommentThread':async({channelId:_0x459037,threadId:_0x4c23f8})=>this['_getService'](_0x459037)['reopenCommentThread'](_0x4c23f8)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x4d52f6,threadId:_0x31fe78})=>this['_getService'](_0x4d52f6)['removeCommentThread'](_0x31fe78)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x4b3a54,threadId:_0x1c2828,commentId:_0x306a91,content:_0x270297,attributes:_0x69f5f9})=>this['_getService'](_0x4b3a54)['addComment'](_0x1c2828,_0x306a91,_0x270297,_0x69f5f9)['catch'](ct),'updateComment':({channelId:_0xa860ae,threadId:_0x33a2c2,commentId:_0x51c008,content:_0x1cda63,attributes:_0x19ed32})=>this['_getService'](_0xa860ae)['updateComment'](_0x33a2c2,_0x51c008,_0x1cda63,_0x19ed32)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x15a9bb,threadId:_0xaba2aa,commentId:_0x1f2a44})=>this['_getService'](_0x15a9bb)['removeComment'](_0xaba2aa,_0x1f2a44)['catch'](rt)['catch'](ct)},_0x40dbeb instanceof _0x2d68c5){const _0x20c33c=_0x40dbeb['config']['get']('collaboration.channelId'),_0x577063=_0x40dbeb['plugins']['get'](Y);await this['_setUpService'](_0x20c33c);const _0x52b233=await this['_services']['get'](_0x20c33c)['getConnectedSessions']();this['listenTo'](_0x577063,'sessionAdd:'+_0x20c33c,(_0x476b71,{session:_0x584e71})=>{_0x584e71['id']===_0x577063['mySessionId']&&(_0x476b71['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x584e71['permissions'],_0x20c33c));}),_0x577063['register'](_0x20c33c,_0x52b233);}}async _setUpService(_0x4ea89e){if(this['_services']['has'](_0x4ea89e))throw new _0x2e8d1b('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4ea89e});const _0x2fc50a=this['context']['plugins']['get'](_0x6bab61),_0x477db2=new CloudServicesCommentsAdapter['CommentsService'](_0x4ea89e);this['_services']['set'](_0x4ea89e,_0x477db2),this['listenTo'](_0x477db2,'commentThreadAdded',(_0x224c3d,_0x8b45d9)=>{const {commentThreadId:_0x88b497,documentId:_0x1a77e7,context:_0x53f77d,attributes:_0x1bf07a,resolvedAt:_0x1b7e3c,resolvedBy:_0x3154d0,comments:_0x25670c}=_0x8b45d9;_0x2fc50a['getCommentThread'](_0x88b497)||_0x2fc50a['addCommentThread']({'threadId':_0x88b497,'channelId':_0x1a77e7,'comments':_0x25670c?_0x25670c['map'](at):[],'context':_0x53f77d,'attributes':_0x1bf07a,'resolvedAt':_0x1b7e3c,'resolvedBy':_0x3154d0,'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentThreadUpdated',(_0x4b9a9c,{commentThreadId:_0x45e052,documentId:_0x3d480c,context:_0x188e81,unlinkedAt:_0x25b775,attributes:_0x2aaf4f})=>{_0x2fc50a['getCommentThread'](_0x45e052)&&_0x2fc50a['updateCommentThread']({'threadId':_0x45e052,'channelId':_0x3d480c,'context':_0x188e81,'unlinkedAt':_0x25b775,'attributes':_0x2aaf4f,'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentThreadResolved',(_0x283a38,{commentThreadId:_0x5f5899,resolvedBy:_0x3afffc,resolvedAt:_0x265264})=>{const _0x5ade48=_0x2fc50a['getCommentThread'](_0x5f5899);_0x5ade48&&_0x5ade48['resolve']({'resolvedBy':_0x3afffc,'resolvedAt':_0x265264,'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentThreadReopened',(_0x116f9f,{commentThreadId:_0x597d7c})=>{const _0x10f674=_0x2fc50a['getCommentThread'](_0x597d7c);_0x10f674&&_0x10f674['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentThreadRemoved',(_0x41720c,{commentThreadId:_0x5b83ed})=>{const _0x45180d=_0x2fc50a['getCommentThread'](_0x5b83ed);_0x45180d&&_0x45180d['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentAdded',(_0x55a6da,_0x2bd8c4)=>{const _0x298717=_0x2bd8c4['commentThreadId'],_0x20d8a6=_0x2fc50a['getCommentThread'](_0x298717);_0x20d8a6&&_0x20d8a6['addComment']({...at(_0x2bd8c4),'isFromAdapter':!0x0});}),this['listenTo'](_0x477db2,'commentUpdated',(_0x402ae1,{commentThreadId:_0x1dbf57,commentId:_0x5eec08,content:_0x32858a,attributes:_0x359799})=>{const _0x3b1905=_0x2fc50a['getCommentThread'](_0x1dbf57);if(_0x3b1905){const _0x120e80=_0x3b1905['getComment'](_0x5eec08);_0x120e80&&_0x120e80['update']({'content':_0x32858a,'attributes':_0x359799,'isFromAdapter':!0x0});}}),this['listenTo'](_0x477db2,'commentRemoved',(_0x1b28d4,{commentThreadId:_0x259a63,commentId:_0x4a36cc})=>{const _0x6ad753=_0x2fc50a['getCommentThread'](_0x259a63);if(_0x6ad753){const _0x1cec61=_0x6ad753['getComment'](_0x4a36cc);_0x1cec61&&_0x1cec61['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x477db2,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x4ea89e),this['stopListening'](_0x477db2));}),await this['_connectService'](_0x4ea89e);}destroy(){if(this['context']instanceof _0x2d68c5){const _0x4537a4=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x4537a4)&&this['_terminateService'](_0x4537a4);}}_terminateService(_0x3db8dd){if(!this['_services']['has'](_0x3db8dd))throw new _0x2e8d1b('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3db8dd});this['_getService'](_0x3db8dd)['disconnect'](),this['_services']['delete'](_0x3db8dd);}async reconnect(){for(const _0x5e2f1d of this['_services']['keys']())await this['_connectService'](_0x5e2f1d);if(this['context']instanceof _0x2d68c5){const _0xa997ec=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0xa997ec)){const _0x17b667=this['context']['plugins']['get'](Y);_0x17b667['unregister'](_0xa997ec);const _0x25dfad=await this['_services']['get'](_0xa997ec)['getConnectedSessions']();_0x17b667['register'](_0xa997ec,_0x25dfad);}}}async _connectService(_0x416c23){const {connection:_0x15c786}=this['context']['plugins']['get'](z),_0x5bf302=this['context']['plugins']['get'](_0x6bab61),_0x343c71=await this['_services']['get'](_0x416c23)['connect'](_0x15c786);await this['_fetchMissingUsersForThreads'](_0x343c71);const _0xda6178=new Set(Array['from'](_0x5bf302['getCommentThreads']({'channelId':_0x416c23}),_0x10502c=>_0x10502c['id']));for(const _0x3f7437 of _0x343c71)_0x3f7437['deletedAt']||_0xda6178['delete'](_0x3f7437['commentThreadId']);for(const _0x2d843f of _0xda6178)_0x5bf302['getCommentThread'](_0x2d843f)['remove']({'isFromAdapter':!0x0});for(const _0x3fa210 of _0x343c71){let _0x2d3c4a=_0x5bf302['getCommentThread'](_0x3fa210['commentThreadId']);const {commentThreadId:_0x422bbe,context:_0x333e4c,attributes:_0x2b6ec8,resolvedBy:_0x49ee36,resolvedAt:_0x5c54a0,unlinkedAt:_0x3a2561,deletedAt:_0x39f375}=_0x3fa210;if(_0x39f375)continue;_0x2d3c4a||(_0x2d3c4a=_0x5bf302['addCommentThread']({'channelId':_0x416c23,'threadId':_0x422bbe,'context':_0x333e4c,'attributes':_0x2b6ec8||{},'resolvedBy':_0x49ee36,'resolvedAt':_0x5c54a0,'unlinkedAt':_0x3a2561,'isFromAdapter':!0x0}));const _0x3e5f4c=new Set(Array['from'](_0x2d3c4a['comments'],_0x4f7469=>_0x4f7469['id']));for(const _0x12355c of _0x3fa210['comments'])_0x3e5f4c['delete'](_0x12355c['commentId']);for(const _0x425788 of _0x3e5f4c)_0x2d3c4a['getComment'](_0x425788)['remove']({'isFromAdapter':!0x0});for(const _0x146683 of _0x3fa210['comments']){const _0x13bd77=_0x2d3c4a['getComment'](_0x146683['commentId']);_0x13bd77?_0x13bd77['content']!==_0x146683['content']&&_0x13bd77['update']({'content':_0x146683['content'],'isFromAdapter':!0x0}):_0x2d3c4a['addComment'](Object['assign'](at(_0x146683),{'isFromAdapter':!0x0}));}}}_getService(_0x5551d8){if(!this['_services']['has'](_0x5551d8))throw new _0x2e8d1b('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5551d8});return this['_services']['get'](_0x5551d8);}async _fetchMissingUsersForThreads(_0x552edd){const _0x23ea12=this['context']['plugins']['get'](_0x4a1da9),{connection:_0x404b96}=this['context']['plugins']['get'](z),_0x17d127=new Set();for(const {resolvedBy:_0xa649b4,comments:_0xe002cb}of _0x552edd){_0xa649b4&&!_0x23ea12['getUser'](_0xa649b4)&&_0x17d127['add'](_0xa649b4);for(const {userId:_0x2411f4}of _0xe002cb)_0x23ea12['getUser'](_0x2411f4)||_0x17d127['add'](_0x2411f4);}if(0x0===_0x17d127['size'])return;const _0x18e43c=await _0xad2f00['getMany'](_0x404b96,Array['from'](_0x17d127));for(const _0x2a76f1 of _0x18e43c)_0x23ea12['getUser'](_0x2a76f1['id'])||_0x23ea12['addUser'](_0x2a76f1);}};async function rt(_0x55fe93){if('404'!==_0x55fe93['code'])throw _0x55fe93;}function ct(_0x43b696){if((_0x32892f=_0x43b696)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x32892f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x32892f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x32892f;throw _0x43b696;}function at(_0x1adb13){return{'threadId':_0x1adb13['commentThreadId'],'commentId':_0x1adb13['commentId'],'content':_0x1adb13['content'],'createdAt':_0x1adb13['createdAt'],'authorId':_0x1adb13['userId'],'attributes':_0x1adb13['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x36abf4{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x43b8a5)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x59abfe,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5ea5fe){super(_0x5ea5fe);const _0x5a87f5=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x5a87f5);}init(){const _0x3539b8=this['editor']['plugins']['get'](z),_0x2562dd=this['editor']['plugins']['get'](_0x59abfe);return _0x2562dd['adapter']={'getSuggestion':async _0xf8ea2=>{await this['_waitForServiceReady']();const _0x4ea98b=await this['_trackChangesService']['get'](_0xf8ea2)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x4ea98b]),_0x4ea98b;},'addSuggestion':async({id:_0x2a004c,type:_0xe271d6,data:_0x569dff,originalSuggestionId:_0x23f679,attributes:_0xe4f6e6})=>{await this['_waitForServiceReady']();const _0x35dddc={'id':_0x2a004c,'type':_0xe271d6,'data':_0x569dff,'originalSuggestionId':_0x23f679,'attributes':_0xe4f6e6},_0x4b1e4b=await this['_trackChangesService']['add'](_0x2a004c,_0xe271d6,_0x569dff,_0x23f679,_0xe4f6e6)['catch'](_0x77a3c2=>{if(dt(_0x77a3c2))return new Promise(_0x30d699=>{this['_bufferedRequests']['set'](_0x2a004c,{'resolve':_0x30d699,'suggestionData':_0x35dddc});});throw _0x77a3c2;});return this['_bufferedRequests']['delete'](_0x2a004c),_0x4b1e4b;},'updateSuggestion':async(_0x21bd8d,_0x24bea7)=>{if(await this['_waitForServiceReady'](),'open'!==_0x24bea7['state'])return this['_trackChangesService']['update'](_0x21bd8d,_0x24bea7)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3ef492,_0x49a94d)=>{_0x2562dd['hasSuggestion'](_0x49a94d['id'])&&(_0x2562dd['getSuggestion'](_0x49a94d['id'])['attributes']=_0x49a94d['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x3539b8['connection']?.['state']&&(_0x3539b8['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x3539b8['connection'])['then'](_0x3752d5=>(_0x3539b8['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3752d5)['then'](()=>{for(const _0xce8ab4 of _0x3752d5){_0x2562dd['addSuggestionData'](_0xce8ab4)['_saved']=!0x0;}})));}async reconnect(){const _0x4a655d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x152552}=this['editor']['plugins']['get'](z),_0x18f4a3=await this['_trackChangesService']['connect'](_0x152552);await this['_fetchMissingUsersForThreads'](_0x18f4a3);for(const {suggestionData:_0x1f83f5,resolve:_0xa8d4b2}of this['_bufferedRequests']['values']()){let _0x39fcf7=_0x18f4a3['find'](_0x39fd7b=>_0x39fd7b['id']===_0x1f83f5['id']);_0x39fcf7||(_0x39fcf7=await this['_trackChangesService']['add'](_0x1f83f5['id'],_0x1f83f5['type'],_0x1f83f5['data'],_0x1f83f5['originalSuggestionId'])),_0xa8d4b2(_0x39fcf7);}for(const _0x488f85 of _0x18f4a3)_0x4a655d['hasSuggestion'](_0x488f85['id'])||_0x4a655d['addSuggestionData'](_0x488f85);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x233332=>{this['listenTo'](this['_trackChangesService'],'connected',_0x22c17c=>{_0x22c17c['off'](),_0x233332();});});}async _fetchMissingUsersForThreads(_0x2e5d74){const _0x4ed948=this['editor']['plugins']['get'](_0x4a1da9),{connection:_0x4d1c13}=this['editor']['plugins']['get'](z),_0x397f95=new Set();for(const {authorId:_0x47503d}of _0x2e5d74)_0x4ed948['getUser'](_0x47503d)||_0x397f95['add'](_0x47503d);if(0x0===_0x397f95['size'])return;const _0x392a1f=await _0xad2f00['getMany'](_0x4d1c13,Array['from'](_0x397f95));for(const _0x2ce7e0 of _0x392a1f)_0x4ed948['getUser'](_0x2ce7e0['id'])||_0x4ed948['addUser'](_0x2ce7e0);}};function lt(_0x46fce8){if(dt(_0x46fce8))return new Promise(()=>{});throw _0x46fce8;}function dt(_0x3ab926){return _0x3ab926['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3ab926['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x36abf4{static get requires(){return[_0x4663d3,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1572bc=this['editor']['plugins']['get'](z),_0x5ac4ea=this['editor']['plugins']['get'](_0x116785),_0x29c6fc=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1572bc,'change:state',(_0x144a21,_0x308715,_0x8374c4)=>{_0x5ac4ea['isThreadsLoadingPaused']='connected'!==_0x8374c4;});}),this['listenTo'](_0x1572bc,'change:state',(_0x2c9e36,_0x39ab8f,_0x5aeb93)=>{this['editor']['plugins']['get'](_0x6bab61)['switchReadOnly']('connected'!==_0x5aeb93);}),_0x29c6fc['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x482e6=this['editor']['plugins']['get'](ot),_0x261e5a=this['editor']['config']['get']('collaboration.channelId');_0x482e6['_services']['has'](_0x261e5a)&&_0x482e6['_terminateService'](_0x261e5a),super['destroy']();}},ft=class extends _0x36abf4{static get requires(){return[ut,ht,_0x112efb];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x36abf4{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x361b61)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x230608,Y,_0x4a1da9];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x293570){super(_0x293570);const _0x225cbe=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x225cbe);}async init(){const _0x173fed=this['editor']['plugins']['get'](tt),_0x5161ce=_0x173fed['serverHistory'],_0x10582b=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x5161ce,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x173fed['sessionId']});const _0x4cbe00=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x40ea60,_0x4d8971=await _0x2742b2['isBundleUploaded'](_0x10582b['connection'],_0x4cbe00);this['editor']['plugins']['get'](_0x230608)['adapter']={'getRevision':async({revisionId:_0x55f589})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x55f589)),'updateRevisions':async _0x5a5436=>{await this['_waitForServiceReady']();const _0x2d58b9=this['_revisionTracker']['currentRevision'];if(_0x4d8971&&0x1===_0x5a5436['length']&&_0x5a5436[0x0]['id']===_0x2d58b9['id'])return _0x5a5436;for(const _0x351a59 of _0x5a5436)_0x351a59['id']===_0x2d58b9['id']&&(_0x351a59['isEmptyCurrent']=_0x351a59['fromVersion']===_0x351a59['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5a5436,this['_lastRequestId'])['then'](_0x34e4b8=>(this['_lastRequestId']=_0x34e4b8,_0x5a5436))['catch'](_0x15f91a=>{if(pt(_0x15f91a)||'400'===_0x15f91a['code']&&void 0x0!==_0x15f91a['data']['wrongRequestId']){for(const _0x466e9e of _0x5a5436)this['_revisionTracker']['repository']['getRevision'](_0x466e9e['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x466e9e['id'],_0x466e9e,!0x1);if(pt(_0x15f91a)&&'destroyed'!==this['editor']['state'])throw _0x15f91a;return _0x5a5436;}throw _0x15f91a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x48df05,{revisionsData:_0x58e6ec,requestId:_0x2e65ac})=>{Math['max'](..._0x58e6ec['map'](_0x493e03=>_0x493e03['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x58e6ec,_0x2e65ac);}):this['_handleRevisionsUpdate'](_0x58e6ec,_0x2e65ac);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x10582b['connection']?.['state']&&(_0x10582b['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x520abc,requestId:_0x2375cc}=await this['_revisionHistoryService']['connect'](_0x10582b['connection']);_0x10582b['addToReconnectionStack'](this),this['_lastRequestId']=_0x2375cc,await this['_fetchMissingUsers'](_0x520abc);for(const _0x2a9a73 of _0x520abc)this['_revisionTracker']['addRevisionData'](_0x2a9a73);this['listenTo'](_0x173fed,'change:_isConnected',(_0xf99ce0,_0x192e1a,_0x481d09)=>{_0x481d09&&(this['_oldOffset']=_0x173fed['_offset'],_0xf99ce0['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x486481=this['editor']['plugins']['get'](z),_0x1bb513=this['editor']['plugins']['get'](tt),_0x1f27e0=async()=>{const _0x809dc0=this['_revisionTracker']['currentRevision'],_0x488d06=_0x809dc0['id'],_0x16fec3=_0x488d06!==_0x1bb513['sessionId'];if(_0x16fec3){const _0x2373e4=_0x1bb513['_offset']-this['_oldOffset'],_0x38b4fc=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x809dc0['toVersion']+_0x2373e4!==_0x38b4fc){const _0x1122fd=_0x809dc0['fromVersion']+_0x2373e4,_0x205524=this['editor']['plugins']['get'](_0x4a1da9),_0x28798d=this['_revisionTracker']['buildRevisionData']({'revision':_0x809dc0,'from':_0x1122fd,'to':_0x38b4fc});_0x28798d['id']=_0x809dc0['id'];const _0x4ec026=_0x28798d['authorsIds']['map'](_0x41aafc=>_0x205524['getUser'](_0x41aafc));_0x809dc0['_update']({..._0x28798d,'authors':_0x4ec026},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x809dc0['id'],_0x28798d,!0x0);}this['_revisionTracker']['_startingVersion']=_0x38b4fc,_0x809dc0['toVersion']!==_0x809dc0['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x488d06)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x488d06),this['_revisionTracker']['_createCurrentRevision'](_0x38b4fc);}const {revisions:_0x2a3d3e,requestId:_0xe22a7d}=await this['_revisionHistoryService']['reconnect'](_0x486481['connection'],this['_lastRequestId']);_0x16fec3&&_0x2a3d3e['length']>0x0?_0x1bb513['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2a3d3e),this['_handleRevisionsUpdate'](_0x2a3d3e,_0xe22a7d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x1bb513['_isConnected']?_0x1f27e0():new Promise((_0x150ec5,_0x337831)=>{_0x1bb513['once']('change:_isConnected',()=>{_0x1f27e0()['then'](_0x150ec5)['catch'](_0x337831);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x37581d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4d1113=>{_0x4d1113['off'](),_0x37581d();});});}_getLatestVersionFromServerOperations(){const _0x15428e=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x2a69b2 of _0x15428e)if('marker'!==_0x2a69b2['type']||_0x2a69b2['affectsData'])return _0x2a69b2['baseVersion']+0x1;}_getLatestVersion(){const _0x2ee9d7=this['editor']['plugins']['get'](tt);return new Promise(_0x5efc31=>{_0x2ee9d7['_isPendingUpdate']?_0x2ee9d7['once']('change:_isPendingUpdate',()=>{_0x5efc31(this['_getLatestVersionFromServerOperations']());}):_0x5efc31(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x127ddd,_0x2fec25){const _0x1a9f8a=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2fec25;for(const _0x2842df of _0x127ddd){const _0xcfd3cb=_0x1a9f8a['getRevision'](_0x2842df['id']);if(_0xcfd3cb){if((_0x2842df['fromVersion']||_0x2842df['toVersion'])&&(_0x2842df['diffData']=null),_0xcfd3cb===this['_revisionTracker']['currentRevision']){const _0x1ccea0=Math['max'](_0xcfd3cb['toVersion'],_0x2842df['toVersion']),_0x2ae936=Math['max'](_0xcfd3cb['fromVersion'],_0x2842df['fromVersion']);let _0x16fa68;_0xcfd3cb['toVersion']===_0x2842df['toVersion']&&_0xcfd3cb['fromVersion']===_0x2842df['fromVersion']?(_0x16fa68=!0x0,this['_preventResendingRevisionData'](_0x2842df)):_0x2842df['toVersion']===_0x1ccea0&&_0x2842df['fromVersion']===_0x2ae936?_0x16fa68=!0x1:(_0xcfd3cb['toVersion']===_0x1ccea0&&_0xcfd3cb['fromVersion']===_0x2ae936||this['_fixRevision']({'revision':_0xcfd3cb,'from':_0x2ae936,'to':_0x1ccea0}),_0x16fa68=!0x0),_0x16fa68&&(delete _0x2842df['fromVersion'],delete _0x2842df['toVersion'],delete _0x2842df['diffData'],delete _0x2842df['createdAt'],delete _0x2842df['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2842df),this['_preventResendingRevisionData'](_0x2842df);}else this['_revisionTracker']['addRevisionData'](_0x2842df);}const _0x253256=_0x1a9f8a['getRevisions']();_0x253256['reverse']();for(let _0x5a2d4c=0x0;_0x5a2d4c<_0x253256['length']-0x1;_0x5a2d4c++){const _0x583209=_0x253256[_0x5a2d4c],_0x2026e1=_0x253256[_0x5a2d4c+0x1];if(_0x583209['fromVersion']<_0x2026e1['toVersion']){const _0x51f1e5=_0x2026e1['toVersion'],_0x3a28c8=Math['max'](_0x51f1e5,_0x583209['toVersion']);this['_fixRevision']({'revision':_0x583209,'from':_0x51f1e5,'to':_0x3a28c8});}}}['_fixRevision']({revision:_0x3ba6b2,from:_0x40a84b,to:_0x438b8e}={}){const _0x143118=this['editor']['plugins']['get'](_0x4a1da9),_0x21d44e=this['_revisionTracker']['buildRevisionData']({'revision':_0x3ba6b2,'from':_0x40a84b,'to':_0x438b8e});_0x21d44e['authors']=_0x21d44e['authorsIds']['map'](_0x3ef2f0=>_0x143118['getUser'](_0x3ef2f0)),_0x3ba6b2['_update'](_0x21d44e);}_preventResendingRevisionData(_0x1e6b26){const _0x19bf53={};_0x19bf53['id']=_0x1e6b26['id'];for(const _0x42bad9 of Object['keys'](_0x1e6b26))'id'!==_0x42bad9&&(_0x19bf53[_0x42bad9]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x19bf53['id'],_0x19bf53,!0x0);}async _fetchMissingUsers(_0x114d0e){const _0x50fbcc=this['editor']['plugins']['get'](_0x4a1da9),{connection:_0x56fd1a}=this['editor']['plugins']['get'](z),_0x246192=new Set();for(const _0x434666 of _0x114d0e){for(const _0x170bfb of _0x434666['authorsIds'])_0x3e5aa3(_0x170bfb);_0x434666['creatorId']&&_0x3e5aa3(_0x434666['creatorId']);}if(0x0===_0x246192['size'])return;const _0x1b7187=await _0xad2f00['getMany'](_0x56fd1a,Array['from'](_0x246192));for(const _0x5d7760 of _0x1b7187)_0x50fbcc['getUser'](_0x5d7760['id'])||_0x50fbcc['addUser'](_0x5d7760);function _0x3e5aa3(_0x453db7){_0x50fbcc['getUser'](_0x453db7)||_0x246192['add'](_0x453db7);}}};function pt(_0xa45738){return _0xa45738['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xa45738['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa45738['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x36abf4{static get requires(){return[_0x230608,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x56b2c8{_collapseAt;constructor(_0x2d06a2,_0x3bc539=0x6){super(_0x2d06a2);const _0x166139=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3bc539,this['bind']('isHidden')['to'](this,'usersCount',_0x3a8f6c=>_0x3a8f6c<_0x3bc539),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x166139['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':_0x166139['to']('usersCount',_0x5b1529=>'+'+(_0x5b1529-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x56b2c8{items;keystrokes;constructor(_0xc69f12){super(_0xc69f12);const _0x5860ea=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2a8a0f(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5860ea['if']('hasPopup'),'aria-expanded':_0x5860ea['to']('isExpanded',_0x2286fa=>this['hasPopup']&&String(_0x2286fa)),'aria-label':_0x5860ea['to']('hasPopup',_0x179589=>X(_0xc69f12,_0x179589?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5860ea['to']('hasPopup',_0x9f8850=>!!_0x9f8850&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5860ea['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5860ea['to'](_0x495501=>{const _0xc7c9ab=_0x495501,_0x17733c=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4b98d2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x17733c?.['contains'](_0xc7c9ab['relatedTarget'])||_0x4b98d2?.['contains'](_0xc7c9ab['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x214b4f,_0x260d4e,_0x5c142f)=>{this['element']&&(_0x5c142f?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x56b2c8{counterView;inlineListView;constructor(_0x2f10f8,_0x31ea1d=0x6){super(_0x2f10f8);const _0x15699a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x31ea1d),this['inlineListView']=new vt(_0x2f10f8),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5c05d4 of this['inlineListView']['items'])_0x5c05d4['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',_0x15699a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x56b2c8{listWrapperView;constructor(_0x24456b,_0x2cf6cb){super(_0x24456b);const _0x53c801=this['bindTemplate'];this['listWrapperView']=new bt(_0x24456b,_0x2cf6cb),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x24456b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x53c801['to'](_0x3f7c90=>{const _0x3b0319=_0x3f7c90,_0x10ead0=document['querySelector']('.ck-presence-list__list'),_0x5d7c07=document['querySelector']('.ck-balloon-panel_with-arrow');_0x10ead0?.['contains'](_0x3b0319['relatedTarget'])||_0x5d7c07?.['contains'](_0x3b0319['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x584c4e{constructor(_0x5645bc,_0x53d9ad){super(_0x5645bc);const _0x9df8ff=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x53d9ad?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x9df8ff['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x9df8ff['to']('role'),'aria-label':_0x9df8ff['to']('ariaLabel'),'aria-labelledby':_0x9df8ff['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x81b33['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x209944=this['element'];_0x209944&&(this['_isScrollable']=Math['max'](_0x209944['scrollHeight'],_0x209944['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x5d7bc4{['userView'];constructor(_0x2dace1,_0x5c4b19,_0x7c54f0){super(_0x2dace1);const _0x420ede=this['bindTemplate'];this['userView']=new _0x3b6bb4(_0x2dace1,_0x5c4b19);const _0x2905fa={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5c4b19['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5c4b19['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5c4b19['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5c4b19['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5c4b19['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x7c54f0&&(_0x2905fa['tag']='button',_0x2905fa['on']={'click':_0x420ede['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2905fa);}['focus'](){this['element']['focus']();}},It=class extends _0x56b2c8{['userView'];['markerView'];constructor(_0x4825bd,_0x2c2bee,_0x2fb832){super(_0x4825bd);const _0x4bf32e=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x3b6bb4(_0x4825bd,_0x2c2bee),this['markerView']=new St(_0x4825bd,_0x2c2bee);const _0x3cd587=new _0xd0dd83(_0x4825bd);_0x3cd587['template']['tag']='span',_0x3cd587['text']=_0x2c2bee['name'];const _0x266c8f={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4bf32e['to']('isFocusable',_0x532cf3=>!!_0x532cf3&&0x0),'aria-labelledby':_0x3cd587['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4bf32e['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4bf32e['to']('hasTooltip',_0x112471=>!_0x112471),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3cd587]};_0x2fb832&&(_0x266c8f['tag']='button',_0x266c8f['on']={'click':_0x4bf32e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x266c8f);}},St=class extends _0x56b2c8{constructor(_0x2b67eb,_0x1b5031){super(_0x2b67eb),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1b5031['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1b5031['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1b5031['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0xc4d6aa{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1c4289){super(_0x1c4289),this['context']['config']['define']('presenceList',Tt);const _0x2e67e9=_0x1c4289['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2e67e9)throw new _0x2e8d1b('presencelist-collapseat-invalid-format',this);if(_0x2e67e9<0x1)throw new _0x2e8d1b('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xed46ed(),this['balloonPanelView']=new _0x532b6f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x2c2ac0 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2c2ac0);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1b432f,_0x2c813a)=>{this['_handleUserAdd'](_0x2c813a);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1b68f3,_0xb5a436)=>{this['_handleUserRemove'](_0xb5a436);});}_createView(){const _0xf832ea=this['context'],_0xad3045=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x25388d=this['balloonPanelView'];if(!_0x359a2e(_0xf832ea['config']['get']('presenceList.container')))throw new _0x2e8d1b('presencelist-missing-container',this);return _0xad3045['counterView']['bind']('usersCount')['to'](this),_0xad3045['bind']('isCollapsed')['to'](this,'usersCount',_0xc64c16=>{const {collapseAt:_0x2aeb90}=_0xf832ea['config']['get']('presenceList'),_0x10eb5a=_0xc64c16>=_0x2aeb90;if(_0x10eb5a&&!_0xad3045['inlineListView']['items']['find'](_0x219857=>_0x219857 instanceof wt)){const _0x2d2d27=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2d2d27&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0xad3045['inlineListView']['items']['add'](_0xad3045['counterView']);}return _0x10eb5a||this['hideDropdown'](),_0x10eb5a;}),_0xad3045['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1309db=>{const _0x26b23c=_0xf832ea['config']['get']('presenceList'),_0xc1a9a=new It(_0xf832ea['locale'],_0x1309db,!!_0x26b23c['onClick']);return _0xc1a9a['bind']('hasTooltip')['to'](_0xad3045,'isCollapsed',_0x453ba3=>!_0x453ba3),_0xc1a9a['bind']('isFocusable')['to'](_0xad3045,'isCollapsed',_0x514af7=>!_0x514af7),_0x26b23c['onClick']&&this['listenTo'](_0xc1a9a,'execute',()=>{this['view']['isCollapsed']||_0x26b23c['onClick'](_0x1309db,_0xc1a9a['element']);}),_0xc1a9a;}),this['listenTo'](_0xad3045['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0xad3045['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0xad3045['inlineListView']['keystrokes']['set']('Enter',(_0x5d0e9a,_0x4e00ed)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4e00ed());}),_0xad3045['render'](),_0x25388d['render'](),_0x53dee({'emitter':_0xad3045,'activator':()=>_0x25388d['isVisible'],'contextElements':[_0x25388d['element'],_0xad3045['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xf832ea['config']['get']('presenceList.container')['appendChild'](_0xad3045['element']),this['_bodyCollection']=new _0x367670(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0xad3045;}['_handleUserAdd'](_0x454c62){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x454c62['isMe'])return;const _0x3f783c=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3f783c-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1aba11=_0x454c62['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x454c62,_0x1aba11);}['_handleUserRemove'](_0xaf23f){this['usersCount']--;const {collapseAt:_0x5f4a93}=this['context']['config']['get']('presenceList'),_0x580594=this['usersCount']>=_0x5f4a93;if(this['currentDisplayedUsers']['get'](_0xaf23f['id']))this['currentDisplayedUsers']['remove'](_0xaf23f['id']);else{if(_0x580594&&this['currentDisplayedUsers']['length']+0x1===_0x5f4a93-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x580594?0x1:0x0)<this['usersCount']){for(const _0x33c8da of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x33c8da['id'])&&(this['currentDisplayedUsers']['add'](_0x33c8da,Math['min'](this['currentDisplayedUsers']['length']-(_0x580594?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x580594?0x1:0x0)===_0x5f4a93-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4527b0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x4527b0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x207dfa}=this['presenceDropdownView'];_0x207dfa['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5bf4c9=>{if(!_0x4527b0['displayMe']&&_0x5bf4c9['isMe'])return null;const _0x24a340=new kt(this['context']['locale'],_0x5bf4c9,!!_0x4527b0['onClick']);return _0x4527b0['onClick']&&this['listenTo'](_0x24a340,'execute',()=>{_0x4527b0['onClick'](_0x5bf4c9,_0x24a340['element']);}),_0x24a340;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x207dfa['focus'](),_0x207dfa['checkIfScrollable']();const _0x3a0114=(_0x2c3343,_0x542147)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x542147();};_0x207dfa['keystrokes']['set']('Esc',_0x3a0114),_0x207dfa['keystrokes']['set']('Shift+Tab',_0x3a0114),_0x207dfa['keystrokes']['set']('Tab',(_0x30c4cd,_0x66909d)=>{!function(_0x2b6291){const _0x3f57e3=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5c419d=>_0x5c419d+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x100a24=[...document['body']['querySelectorAll'](_0x3f57e3)]['filter'](_0x1b0fdc=>_0x1b0fdc===document['activeElement']||_0x1b0fdc['offsetWidth']+_0x1b0fdc['offsetHeight']>0x0)['sort']((_0x19ecdc,_0xaaee79)=>(_0x19ecdc['tabIndex']||0x0)-(_0xaaee79['tabIndex']||0x0)),_0x55a074=_0x100a24[(_0x100a24['indexOf'](_0x2b6291)+0x1)%_0x100a24['length']];_0x55a074&&_0x55a074['focus']();}(this['view']['element']),this['hideDropdown'](),_0x66909d();}),_0x207dfa['focusTracker']['add'](this['view']['element']),_0x207dfa['focusTracker']['on']('change:isFocused',(_0x521003,_0x41c324,_0x4b76db)=>{_0x4b76db||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0xc4d6aa{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|