@ckeditor/ckeditor5-real-time-collaboration 48.0.1 → 48.1.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/README.md +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +6 -6
- package/dist/presencelist/view/presencecounterview.d.ts +3 -0
- package/dist/presencelist/view/presencedropdownlistitemview.d.ts +3 -0
- package/dist/presencelist/view/presenceinlinelistitemview.d.ts +3 -0
- package/dist/presencelist/view/presenceinlinelistview.d.ts +3 -0
- package/dist/realtimecollaborativeediting/usermarkers.d.ts +3 -0
- package/dist/translations/af.js +1 -1
- package/dist/translations/af.umd.js +1 -1
- package/dist/translations/ar.js +1 -1
- package/dist/translations/ar.umd.js +1 -1
- package/dist/translations/ast.js +1 -1
- package/dist/translations/ast.umd.js +1 -1
- package/dist/translations/az.js +1 -1
- package/dist/translations/az.umd.js +1 -1
- package/dist/translations/be.js +1 -1
- package/dist/translations/be.umd.js +1 -1
- package/dist/translations/bg.js +1 -1
- package/dist/translations/bg.umd.js +1 -1
- package/dist/translations/bn.js +1 -1
- package/dist/translations/bn.umd.js +1 -1
- package/dist/translations/bs.js +1 -1
- package/dist/translations/bs.umd.js +1 -1
- package/dist/translations/ca.js +1 -1
- package/dist/translations/ca.umd.js +1 -1
- package/dist/translations/cs.js +1 -1
- package/dist/translations/cs.umd.js +1 -1
- package/dist/translations/da.js +1 -1
- package/dist/translations/da.umd.js +1 -1
- package/dist/translations/de-ch.js +1 -1
- package/dist/translations/de-ch.umd.js +1 -1
- package/dist/translations/de.js +1 -1
- package/dist/translations/de.umd.js +1 -1
- package/dist/translations/el.js +1 -1
- package/dist/translations/el.umd.js +1 -1
- package/dist/translations/en-au.js +1 -1
- package/dist/translations/en-au.umd.js +1 -1
- package/dist/translations/en-gb.js +1 -1
- package/dist/translations/en-gb.umd.js +1 -1
- package/dist/translations/en.js +1 -1
- package/dist/translations/en.umd.js +1 -1
- package/dist/translations/eo.js +1 -1
- package/dist/translations/eo.umd.js +1 -1
- package/dist/translations/es-co.js +1 -1
- package/dist/translations/es-co.umd.js +1 -1
- package/dist/translations/es.js +1 -1
- package/dist/translations/es.umd.js +1 -1
- package/dist/translations/et.js +1 -1
- package/dist/translations/et.umd.js +1 -1
- package/dist/translations/eu.js +1 -1
- package/dist/translations/eu.umd.js +1 -1
- package/dist/translations/fa.js +1 -1
- package/dist/translations/fa.umd.js +1 -1
- package/dist/translations/fi.js +1 -1
- package/dist/translations/fi.umd.js +1 -1
- package/dist/translations/fr.js +1 -1
- package/dist/translations/fr.umd.js +1 -1
- package/dist/translations/gl.js +1 -1
- package/dist/translations/gl.umd.js +1 -1
- package/dist/translations/gu.js +1 -1
- package/dist/translations/gu.umd.js +1 -1
- package/dist/translations/he.js +1 -1
- package/dist/translations/he.umd.js +1 -1
- package/dist/translations/hi.js +1 -1
- package/dist/translations/hi.umd.js +1 -1
- package/dist/translations/hr.js +1 -1
- package/dist/translations/hr.umd.js +1 -1
- package/dist/translations/hu.js +1 -1
- package/dist/translations/hu.umd.js +1 -1
- package/dist/translations/hy.js +1 -1
- package/dist/translations/hy.umd.js +1 -1
- package/dist/translations/id.js +1 -1
- package/dist/translations/id.umd.js +1 -1
- package/dist/translations/it.js +1 -1
- package/dist/translations/it.umd.js +1 -1
- package/dist/translations/ja.js +1 -1
- package/dist/translations/ja.umd.js +1 -1
- package/dist/translations/jv.js +1 -1
- package/dist/translations/jv.umd.js +1 -1
- package/dist/translations/kk.js +1 -1
- package/dist/translations/kk.umd.js +1 -1
- package/dist/translations/km.js +1 -1
- package/dist/translations/km.umd.js +1 -1
- package/dist/translations/kn.js +1 -1
- package/dist/translations/kn.umd.js +1 -1
- package/dist/translations/ko.js +1 -1
- package/dist/translations/ko.umd.js +1 -1
- package/dist/translations/ku.js +1 -1
- package/dist/translations/ku.umd.js +1 -1
- package/dist/translations/lt.js +1 -1
- package/dist/translations/lt.umd.js +1 -1
- package/dist/translations/lv.js +1 -1
- package/dist/translations/lv.umd.js +1 -1
- package/dist/translations/ms.js +1 -1
- package/dist/translations/ms.umd.js +1 -1
- package/dist/translations/nb.js +1 -1
- package/dist/translations/nb.umd.js +1 -1
- package/dist/translations/ne.js +1 -1
- package/dist/translations/ne.umd.js +1 -1
- package/dist/translations/nl.js +1 -1
- package/dist/translations/nl.umd.js +1 -1
- package/dist/translations/no.js +1 -1
- package/dist/translations/no.umd.js +1 -1
- package/dist/translations/oc.js +1 -1
- package/dist/translations/oc.umd.js +1 -1
- package/dist/translations/pl.js +1 -1
- package/dist/translations/pl.umd.js +1 -1
- package/dist/translations/pt-br.js +1 -1
- package/dist/translations/pt-br.umd.js +1 -1
- package/dist/translations/pt.js +1 -1
- package/dist/translations/pt.umd.js +1 -1
- package/dist/translations/ro.js +1 -1
- package/dist/translations/ro.umd.js +1 -1
- package/dist/translations/ru.js +1 -1
- package/dist/translations/ru.umd.js +1 -1
- package/dist/translations/si.js +1 -1
- package/dist/translations/si.umd.js +1 -1
- package/dist/translations/sk.js +1 -1
- package/dist/translations/sk.umd.js +1 -1
- package/dist/translations/sl.js +1 -1
- package/dist/translations/sl.umd.js +1 -1
- package/dist/translations/sq.js +1 -1
- package/dist/translations/sq.umd.js +1 -1
- package/dist/translations/sr-latn.js +1 -1
- package/dist/translations/sr-latn.umd.js +1 -1
- package/dist/translations/sr.js +1 -1
- package/dist/translations/sr.umd.js +1 -1
- package/dist/translations/sv.js +1 -1
- package/dist/translations/sv.umd.js +1 -1
- package/dist/translations/th.js +1 -1
- package/dist/translations/th.umd.js +1 -1
- package/dist/translations/ti.js +1 -1
- package/dist/translations/ti.umd.js +1 -1
- package/dist/translations/tk.js +1 -1
- package/dist/translations/tk.umd.js +1 -1
- package/dist/translations/tr.js +1 -1
- package/dist/translations/tr.umd.js +1 -1
- package/dist/translations/tt.js +1 -1
- package/dist/translations/tt.umd.js +1 -1
- package/dist/translations/ug.js +1 -1
- package/dist/translations/ug.umd.js +1 -1
- package/dist/translations/uk.js +1 -1
- package/dist/translations/uk.umd.js +1 -1
- package/dist/translations/ur.js +1 -1
- package/dist/translations/ur.umd.js +1 -1
- package/dist/translations/uz.js +1 -1
- package/dist/translations/uz.umd.js +1 -1
- package/dist/translations/vi.js +1 -1
- package/dist/translations/vi.umd.js +1 -1
- package/dist/translations/zh-cn.js +1 -1
- package/dist/translations/zh-cn.umd.js +1 -1
- package/dist/translations/zh.js +1 -1
- package/dist/translations/zh.umd.js +1 -1
- package/package.json +12 -12
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{ContextPlugin as
|
|
24
|
-
((()=>_0x2dbd39)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x5f5731,_0x42877b];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3619d3){super(_0x3619d3),this['set']('state',_0x58a0b4['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x59ca19())();}['init'](){const _0x23b742=this['context'],_0x2268f8=_0x23b742['plugins']['get'](_0x5f5731),_0x33f6f9=_0x23b742['plugins']['get'](_0x42877b);if(!_0x2268f8['token'])throw new _0x355792('websocketgateway-missing-token',this);if(!_0x2268f8['webSocketUrl'])throw new _0x355792('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),z['WebSocketGateway']['connect'](_0x2268f8['token'],_0x2268f8['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x18db32=>{if(this['connection']=_0x18db32,this['bind']('state')['to'](_0x18db32,'state',this,'_isBrowserOffline',(_0x4f1e96,_0xf0097d)=>('connected'!==_0x4f1e96&&(this['_shouldPluginsReconnect']=!0x0),_0xf0097d||_0x4f1e96!==_0x58a0b4['CONNECTED']?_0x58a0b4['DISCONNECTED']:this['state']==_0x58a0b4['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x58a0b4['CONNECTING']):_0x58a0b4['CONNECTED'])),this['connection']['on']('error',(_0x5ab578,_0x4f865f)=>{if('limitExceeded'!==_0x4f865f['code'])throw console['error'](_0x4f865f),new _0x355792('cloudservices-init',null,{'originalError':_0x4f865f});_0x33f6f9['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'});}),!_0x18db32['me'])return new Promise(_0x49ef53=>_0x18db32['on']('change:me',_0x49ef53));})['catch'](_0xd6adb0=>{throw console['error'](_0xd6adb0),new _0x355792('cloudservices-init',null,{'originalError':_0xd6adb0});});}['addToReconnectionStack'](_0x11eda9){if('function'!=typeof _0x11eda9['reconnect'])throw new _0x355792('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x11eda9))throw new _0x355792('websocketgateway-plugin-already-registered',this,{'name':_0x11eda9['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x11eda9);}['removeFromReconnectionStack'](_0x2a1968){this['_reconnectionStack']['delete'](_0x2a1968);}['isInReconnectionStack'](_0xa771f4){return this['_reconnectionStack']['has'](_0xa771f4);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x434c50=>_0x434c50['reconnect']())))['then'](()=>this['state']=_0x58a0b4['CONNECTED'])['catch'](_0x51c40f=>{throw console['error'](_0x51c40f),new _0x355792('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x58a0b4['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x473a8c{['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,_0x113a53];}constructor(_0x4d1737){super(_0x4d1737),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4beb38(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x113a53);}['init'](){const _0x1717b2=this['context']['plugins']['get'](z);this['listenTo'](_0x1717b2,'change:state',(_0x13ffd0,_0x41e8d0,_0x3b2969)=>{if('connected'!==_0x3b2969)this['channelSessions']['forEach'](_0x148663=>_0x148663['clear']()),this['channelConnectedUsers']['forEach'](_0xc346bf=>_0xc346bf['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x360794,_0x5ae973]of this['_registeredSessions'])for(const _0x75548 of _0x5ae973)this['_handleSessionAdd'](_0x360794,_0x75548);}}),this['_createUser'](_0x1717b2['connection']['me'],!0x0);}['register'](_0x1539dc,_0x4001aa){if(this['_registeredSessions']['has'](_0x1539dc))throw new _0x355792('sessions-register-already-registered',null,{'channelId':_0x1539dc});this['_registeredSessions']['set'](_0x1539dc,_0x4001aa),this['channelSessions']['set'](_0x1539dc,new _0x4beb38()),this['channelConnectedUsers']['set'](_0x1539dc,new _0x4beb38()),this['listenTo'](_0x4001aa,'add',(_0x5b1123,_0x507e3d)=>this['_handleSessionAdd'](_0x1539dc,_0x507e3d)),this['listenTo'](_0x4001aa,'remove',(_0x352590,_0x4bec4d)=>this['_handleSessionRemove'](_0x1539dc,_0x4bec4d));for(const _0x158445 of _0x4001aa)this['_handleSessionAdd'](_0x1539dc,_0x158445);}['unregister'](_0x1c6025){if(!this['_registeredSessions']['has'](_0x1c6025))throw new _0x355792('sessions-unregister-not-exist',null,{'channelId':_0x1c6025});const _0x36d2a8=this['_registeredSessions']['get'](_0x1c6025);this['stopListening'](_0x36d2a8);for(const _0x623716 of _0x36d2a8)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x1c6025,_0x623716);this['_registeredSessions']['delete'](_0x1c6025),this['channelSessions']['delete'](_0x1c6025),this['channelConnectedUsers']['delete'](_0x1c6025);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x31b5f9){for(const _0x3edcb8 of this['channelSessions']['values']())for(const _0x331861 of _0x3edcb8)if(_0x331861['id']===_0x31b5f9)return _0x331861['user'];}['getUserSessions'](_0x437eaa,_0x37d316){const _0x3abf47=_0x37d316?[this['channelSessions']['get'](_0x37d316)]:this['channelSessions']['values'](),_0x55420f=new Set();for(const _0x320aa7 of _0x3abf47)for(const _0x1969e7 of _0x320aa7)_0x1969e7['user']['id']===_0x437eaa['id']&&_0x55420f['add'](_0x1969e7['id']);return _0x55420f;}['getUserRole'](_0x5ac836){for(const _0x667232 of this['channelSessions']['values']())for(const _0xeab249 of _0x667232)if(_0xeab249['user']===_0x5ac836)return _0xeab249['role'];}['_handleSessionAdd'](_0x325b22,_0xff0edf){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1b21cb=_0xff0edf['user'],_0x3d71ee=this['_users']['getUser'](_0x1b21cb['id'])||this['_createUser'](_0x1b21cb),_0x452630=Object['assign']({},_0xff0edf,{'user':_0x3d71ee});if(this['channelSessions']['get'](_0x325b22)['add'](_0x452630),!_0x1b21cb['hiddenInPresenceList']){const _0x56196b=this['channelConnectedUsers']['get'](_0x325b22);_0x56196b['has'](_0x3d71ee['id'])||_0x56196b['add'](_0x3d71ee),this['allConnectedUsers']['has'](_0x3d71ee['id'])||_0x1b21cb['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x3d71ee,_0x3d71ee['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x325b22,{'channelId':_0x325b22,'session':_0x452630});}['_handleSessionRemove'](_0x38efb3,_0x499e6c){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x58800f=this['channelConnectedUsers']['get'](_0x38efb3),_0x21ff1a=_0x499e6c['user'];_0x21ff1a['id']&&(this['channelSessions']['get'](_0x38efb3)['remove'](_0x499e6c['id']),_0x58800f['has'](_0x21ff1a['id'])&&!this['getUserSessions'](_0x21ff1a,_0x38efb3)['size']&&_0x58800f['remove'](_0x21ff1a['id']),this['allConnectedUsers']['get'](_0x21ff1a['id'])&&!this['getUserSessions'](_0x21ff1a)['size']&&this['allConnectedUsers']['remove'](_0x21ff1a['id']));}['_createUser'](_0x2cd23e,_0x32c43f){const _0x5aea91=this['_users']['addUser'](_0x2cd23e);return _0x32c43f&&this['_users']['defineMe'](_0x2cd23e['id']),_0x5aea91['orderNumber']=this['_uniqueUsersCount']++,_0x5aea91;}}class K extends _0x421958{['_domEmitter']=new(_0x59ca19())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5c257b=this['editor'],_0x529bcc=_0x5c257b['plugins']['get'](Y);_0x5c257b['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x52e2d3,{writer:_0x517dbc})=>function(_0x40279b,_0x5265fa,_0x377803,_0x36b89b){const _0x140247=_0x40279b['markerName']['split'](':')[0x2],_0x7f3d7b=_0x377803['getUserBySessionId'](_0x140247);if(!_0x7f3d7b||_0x140247===_0x377803['mySessionId'])return;if(!_0x36b89b['model']['schema']['checkChild'](_0x40279b['markerRange']['start'],'$text'))return;const _0x1f1af0={'class':'ck-user__marker\x20'+_0x7f3d7b['color']['getMarkerClass'](),'style':Q(_0x7f3d7b),'data-name':_0x7f3d7b['name'],'data-session-id':_0x140247},_0x223713=_0x36b89b['model']['markers']['get'](_0x40279b['markerName']),_0x9231a5=_0x223713['getStart'](),_0x32f258=_0x9231a5['nodeAfter'],_0x5b13dc=_0x36b89b['model']['schema'];if(_0x32f258&&_0x5b13dc['isObject'](_0x32f258)&&_0x5b13dc['isInline'](_0x32f258)&&!_0x36b89b['model']['markers']['get']('user:range:'+_0x140247)['getRange']()['isCollapsed'])return;const _0x4c9888=_0x9231a5['parent'];return _0x36b89b['model']['schema']['isLimit'](_0x4c9888)&&!_0x36b89b['model']['hasContent'](_0x4c9888)&&(_0x1f1af0['contenteditable']=!0x1),function(_0x11a334,_0x42035d,_0x317b76){const _0x4f16a0=_0x11a334['createUIElement']('span',_0x42035d);return _0x11a334['setCustomProperty']('userPositionMarker',!0x0,_0x4f16a0),_0x4f16a0['render']=function(_0x264160){const _0x1b9576=this['toDomElement'](_0x264160),_0x5c3ec7=document['createElement']('span');return _0x5c3ec7['classList']['add']('ck-user__marker-tooltip'),_0x5c3ec7['setAttribute']('contenteditable','false'),_0x5c3ec7['setAttribute']('spellcheck','false'),_0x5c3ec7['textContent']=_0x317b76['name'],_0x1b9576['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5c3ec7['outerHTML']+'',_0x1b9576['addEventListener']('mouseenter',()=>{_0x1b9576['classList']['add']('ck-user__marker_hovered');}),_0x1b9576['addEventListener']('mouseleave',()=>{_0x1b9576['classList']['remove']('ck-user__marker_hovered');}),_0x1b9576;},_0x4f16a0['isSimilar']=function(_0x318381){return!(!this['getCustomProperty']('userPositionMarker')||!_0x318381['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x318381['getAttribute']('data-session-id'));},_0x4f16a0;}(_0x5265fa,_0x1f1af0,_0x7f3d7b);}(_0x52e2d3,_0x517dbc,_0x529bcc,_0x5c257b)}),_0x5c257b['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x48635f=>function(_0x19ec3a,_0x3766d7){const _0x292f8f=_0x19ec3a['markerName']['split'](':')[0x2];if(_0x292f8f===_0x3766d7['mySessionId'])return null;const _0x5fc3b2=_0x3766d7['getUserBySessionId'](_0x292f8f);if(!_0x5fc3b2)return{'id':_0x292f8f,'classes':[]};return{'id':_0x292f8f,'classes':['ck-user__selection',_0x5fc3b2['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5fc3b2),'data-session-id':_0x292f8f},'priority':0x7d0+_0x5fc3b2['orderNumber']};}(_0x48635f,_0x529bcc)}),function(_0x33dc61){const _0x5456c8=_0x33dc61['model'],_0x4c0fa6=new Map(),_0x12e848=_0x33dc61['plugins']['get'](Y);_0x5456c8['markers']['on']('update:user:range',(_0x1d7e06,_0x2b456c,_0x818964,_0x2afdfb)=>{if(!_0x2afdfb&&_0x4c0fa6['get'](_0x2b456c['name']))return _0x4c0fa6['get'](_0x2b456c['name'])['detach'](),void _0x4c0fa6['delete'](_0x2b456c['name']);const _0x417d66=_0x2b456c['name']['split'](':')[0x2];if(_0x417d66===_0x12e848['mySessionId'])return;const _0x80e161='user:position:'+_0x417d66;_0x5456c8['markers']['has'](_0x80e161)&&_0x33dc61['editing']['reconvertMarker'](_0x80e161),_0x2b456c['on']('change:range',(_0x4ddd7e,_0x42220b,_0x27c987)=>{if('$graveyard'!=_0x42220b['root']['rootName']&&'$graveyard'==_0x2b456c['getRange']()['root']['rootName']&&!_0x4c0fa6['has'](_0x2b456c['name'])){const _0x2d3192=_0x5456c8['schema']['getNearestSelectionRange'](_0x27c987['deletionPosition']);if(_0x2d3192){const _0x3b5ee3=_0xb2c34['fromRange'](_0x2d3192);_0x4c0fa6['set'](_0x2b456c['name'],_0x3b5ee3),_0x3b5ee3['on']('change:range',(_0x9761fc,_0x4b5522,_0x19239c)=>{if('$graveyard'==_0x3b5ee3['root']['rootName']){const _0x2b1e43=_0x5456c8['schema']['getNearestSelectionRange'](_0x19239c['deletionPosition']);_0x2b1e43?(_0x3b5ee3['start']=_0x2b1e43['start'],_0x3b5ee3['end']=_0x2b1e43['end']):(_0x4c0fa6['delete'](_0x2b456c['name']),_0x3b5ee3['detach']());}});}}});}),_0x5456c8['document']['on']('change',()=>{_0x4c0fa6['size']>0x0&&_0x5456c8['enqueueChange']({'isUndoable':!0x1},_0x466001=>{for(const [_0x180e19,_0xfcf6c3]of _0x4c0fa6)'$graveyard'==_0x5456c8['markers']['get'](_0x180e19)['getRange']()['root']['rootName']&&(J(_0x180e19['split'](':')[0x2],_0xfcf6c3['toRange'](),_0x5456c8,_0x466001),_0xfcf6c3['detach']());_0x4c0fa6['clear']();});});}(_0x5c257b),this['_domEmitter']['listenTo'](_0x1539e6['document'],'keydown',(_0x3469b3,{key:_0x4b72c8})=>{'Escape'===_0x4b72c8&&function(_0x189591){_0x189591['editing']['view']['change'](_0x7ddff3=>{for(const _0x51cfbf of _0x189591['model']['markers']){if(!_0x51cfbf['name']['startsWith']('user:position'))continue;const _0x3f30bd=_0x189591['editing']['mapper']['markerNameToElements'](_0x51cfbf['name']);if(_0x3f30bd){for(const _0x460966 of _0x3f30bd)_0x7ddff3['removeClass']('ck-user__marker_hovered',_0x460966);}}});}(_0x5c257b);},{'useCapture':!0x0});}['afterInit'](){const _0x5288c2=this['editor'],_0xfe7828=_0x5288c2['commands']['get']('undo');_0xfe7828&&_0x5288c2['model']['on']('applyOperation',(_0x16425d,_0x243ad0)=>{const _0x59fd6d=_0x243ad0[0x0];if(!_0x59fd6d['isDocumentOperation'])return;if('marker'!=_0x59fd6d['type']||!_0x59fd6d['name']['startsWith']('user:'))return;const _0xfe39f4=_0x59fd6d['batch'];_0xfe7828['_createdBatches']['has'](_0xfe39f4)&&(_0x59fd6d['newRange']=_0x59fd6d['oldRange']?_0x5288c2['model']['createRange'](_0x59fd6d['oldRange']['start'],_0x59fd6d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xeab260=this['editor'],_0x53a8b1=_0xeab260['model']['document'],_0x3612ee=_0xeab260['plugins']['get'](Y);_0xeab260['model']['enqueueChange']({'isUndoable':!0x1},_0x3fa1da=>{const _0x3ec01f='user:range:'+_0x3612ee['mySessionId'],_0xca0280='user:position:'+_0x3612ee['mySessionId'],_0x25de46=_0xeab260['model']['markers']['has'](_0x3ec01f);_0xeab260['editing']['view']['hasDomSelection']?J(_0x3612ee['mySessionId'],_0x53a8b1['selection']['getFirstRange'](),_0xeab260['model'],_0x3fa1da):_0x25de46&&(_0x3fa1da['removeMarker'](_0x3ec01f),_0x3fa1da['removeMarker'](_0xca0280));});}}function J(_0x3069be,_0x2aa929,_0x121224,_0x9e6b84){const _0xd4f7d0='user:range:'+_0x3069be,_0x40a300='user:position:'+_0x3069be,_0x321a1e=_0x2aa929['getContainedElement']();let _0x13ce0e=_0x2aa929['start'];if(_0x321a1e&&_0x321a1e['is']('element','tableCell')){const _0x494183=function(_0xbdbb3,_0x5442e8){for(const _0x456da8 of _0xbdbb3['getPositions']())if(_0x5442e8['schema']['checkChild'](_0x456da8,'$text'))return _0x456da8;}(_0x2aa929,_0x121224);_0x494183&&(_0x13ce0e=_0x494183,_0x2aa929=_0x9e6b84['createRange'](_0x13ce0e));}const _0x19f15c=_0x9e6b84['createRange'](_0x13ce0e);_0x121224['markers']['has'](_0xd4f7d0)?(_0x9e6b84['updateMarker'](_0xd4f7d0,{'range':_0x2aa929}),_0x9e6b84['updateMarker'](_0x40a300,{'range':_0x19f15c})):(_0x9e6b84['addMarker'](_0xd4f7d0,{'range':_0x2aa929,'usingOperation':!0x0}),_0x9e6b84['addMarker'](_0x40a300,{'range':_0x19f15c,'usingOperation':!0x0}));}function Q(_0x3938e2){return'--ck-user-color:'+_0x3938e2['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x3938e2['color']['getColorAlphaVariable']()+';';}function X(_0xb52cfd,_0x805541,_0x379fd9){const _0x2c2dda=_0xb52cfd['t'],t=_0xb52cfd['t'];switch(_0x805541){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 _0x2c2dda({'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'},_0x379fd9);default:return'';}}let Z=0x1;class tt extends _0x421958{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x3bbcd0)());['_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,_0x1a8b56,_0x113a53,_0x42877b];}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 _0x3171f5=this['serverHistory']['getOperations']();for(let _0x18a300=_0x3171f5['length']-0x1;_0x18a300>=0x0;_0x18a300--){const _0x106345=_0x3171f5[_0x18a300];if(!this['_disconnectionOperations']['has'](_0x106345))return _0x106345['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3b10b9){if(super(_0x3b10b9),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4e055c(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x355792('collaboration-missing-channelid',this);const _0x383e0a=_0x3b10b9['config']['get']('cloudServices.bundleVersion')||_0x24f632;this['_service']=new tt['CollaborativeEditingService'](_0x383e0a,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1339fb(),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 _0xf71158=this['editor'],_0x563238=_0xf71158['plugins']['get'](_0x113a53),_0x270cf4=_0xf71158['plugins']['get'](z);this['listenTo'](_0x563238,'getOperationAuthor',(_0x36971c,_0x201c45)=>{const _0xe2ff90=_0x201c45[0x0];_0xe2ff90['_authorId']&&(_0x36971c['return']=_0x563238['getUser'](_0xe2ff90['_authorId']),_0x36971c['stop']()),null===_0xe2ff90['_authorId']&&(_0x36971c['return']=null,_0x36971c['stop']());},{'priority':'high'}),this['listenTo'](_0xf71158['model']['document']['selection'],'change:range',(_0x4f30d9,_0x4ae6a0)=>{_0x4ae6a0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xf71158['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xf71158['model']['on']('applyOperation',(_0x30e847,_0x498a18)=>{const _0x16408b=_0x498a18[0x0];_0x16408b['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x16408b),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x270cf4,'state',this,'_hasSynchronizationProblem',(_0x230ec3,_0x24c88e)=>'connected'===_0x230ec3&&!_0x24c88e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xf71158['disableReadOnlyMode']('rtc-offline'):_0xf71158['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xf71158['disableReadOnlyMode']('rtc-offline'):_0xf71158['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1e321a=this['editor']['plugins']['get'](Y),_0x4f14ed=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1e321a['unregister'](this['_channelId']);const _0x5ae492=await this['_service']['reconnect'](_0x4f14ed['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5ae492)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1f7085=await this['_service']['getConnectedSessions']();_0x1e321a['register'](this['_channelId'],_0x1f7085),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2452ad){if(function(_0x420ad2){return'404'===_0x420ad2['code'];}(_0x2452ad)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x460a73){return'409'===_0x460a73['code'];}(_0x2452ad)){const _0x5385a6=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'](_0x5385a6);}else{if(!(_0x2452ad instanceof et))throw _0x2452ad;this['_handleReconnectionError']();}}}}['destroy'](){const _0x5a9107=this['editor']['plugins']['get'](z),_0x2d4098=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2d4098['channelSessions']['has'](this['_channelId'])&&_0x2d4098['unregister'](this['_channelId']),_0x5a9107['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4745ef){if(this['sessionId']!==_0x4745ef['sessionId']&&this['_lastSyncedOperationId']!==_0x4745ef['lastOperationId'])throw new et();return this['sessionId']=_0x4745ef['sessionId'],this['_handleServerResponse']([],{..._0x4745ef,'wereChangesApplied':!0x1,'data':_0x4745ef['data']},'reconnect');}async['_connectService'](_0x225288,_0xcacb85=!0x1){const {connection:_0x40d3ec}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x40d3ec,this['_channelId'])['then'](_0x2d5287=>this['_initSessionsHandling'](_0x2d5287))['catch'](_0x29a327=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x29a327);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5c5c51,_0xbaac03)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xbaac03);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x5cac22=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x225288);this['_isPendingUpdate']=!0x0;const _0xf19806=await this['_service']['connect'](_0x40d3ec,this['_compressOperations'](_0x225288),_0x5cac22);if(this['sessionId']=_0xf19806['sessionId'],_0xcacb85){if(!_0xf19806['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xf19806['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x225288,_0xf19806,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xf19806,_0x225288);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x14eca9=this['editor']['plugins']['get'](Y),_0x298070=this['editor']['plugins']['get'](K),_0x368e2b=_0x14eca9['channelSessions']['get'](this['_channelId']);_0x368e2b&&_0x368e2b['length']>0x1?_0x298070['createUserMarkerOperations']():this['listenTo'](_0x14eca9,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x14eca9['channelSessions']['get'](this['_channelId'])['length']&&_0x298070['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2c937e,_0x1dca49,_0x146745,_0x577a51){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1dca49){const _0x4cc748=this['_decompressOperations'](_0x146745,_0x577a51);await this['_fetchMissingUsers'](_0x4cc748),this['_handleExternalOperations'](_0x4cc748,_0x1dca49,_0x146745['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x1f540d}=this['editor'];let _0x536b5f;try{_0x536b5f=await this['_service']['getDocumentDetails']();}catch{const _0x3d9243=X(_0x1f540d,'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'](_0x3d9243);}const _0x291558=_0x536b5f['currentDocumentSession']||_0x536b5f['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x291558['lastOperationId']){const _0x591aa5=X(_0x1f540d,'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'](_0x591aa5);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xb09f0e){const _0x5bdaee=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5bdaee,'sessionAdd:'+this['_channelId'],(_0x2fb092,{session:_0x9080da})=>{if(_0x9080da['id']===_0x5bdaee['mySessionId']){_0x2fb092['off']();const _0x37af23=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xb409bb=_0x9080da['permissions'];_0x37af23&&_0x37af23['isEnabled']&&(_0xb409bb=_0xb409bb['filter'](_0x3f327d=>'document:write'!==_0x3f327d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xb409bb,this['_channelId']);}}),_0x5bdaee['register'](this['_channelId'],_0xb09f0e);}['_initThrowingOnDataSet'](){const _0x692328=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x50a6f8)=>{if(!_0x50a6f8[_0x50a6f8['length']-0x1]['suppressErrorInCollaboration'])throw new _0x355792('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x692328['apply'](this['editor']['data'],_0x50a6f8);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5a3a62,[_0x5f28d4])=>{if(this['_document']['version'])throw new _0x355792('realtimecollaborationclient-init-document-already-initialized',this);_0x5a3a62['stop'](),this['_setPendingAction']();const _0x302b7f=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x2b7cf1])=>!_0x2b7cf1['lazyLoad'])['map'](([_0x9aa461,_0x3c4e1e])=>[_0x9aa461,_0x3c4e1e['modelAttributes']||{}])),_0x81aa5a=this['_getOperationsFromInitData'](_0x5f28d4,_0x302b7f);0x0==_0x81aa5a['length']&&_0x81aa5a['push'](new _0x3ce29c(0x0)),_0x5a3a62['return']=this['_connectService'](_0x81aa5a)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1bdf5c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1bdf5c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1bf3ed,[_0x32d243,_0x2c2b4f])=>{_0x1bf3ed['stop']();const _0x48f2e6=this['editor']['model']['document']['getRoot'](_0x32d243);if(!this['_knownRootNames']['has'](_0x32d243)){const _0xdba9b9=_0x2c2b4f&&_0x2c2b4f['data']?_0x2c2b4f['data']:'',_0x8bf2ea=_0x2c2b4f&&_0x2c2b4f['attributes']?_0x2c2b4f['attributes']:{};await this['_loadRoot'](_0x32d243,_0xdba9b9,_0x8bf2ea);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x48f2e6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x48f2e6);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x3ed72f){const _0x4af9cd=this['editor']['plugins']['get'](_0x113a53),{connection:_0x5095e1}=this['editor']['plugins']['get'](z),_0x4ea237=new Set();for(const _0x10f212 of _0x3ed72f){const _0x36fa02=_0x10f212['_authorId'];_0x36fa02&&!_0x4af9cd['getUser'](_0x36fa02)&&_0x4ea237['add'](_0x36fa02);}if(0x0===_0x4ea237['size'])return;const _0x28c7a7=await _0x1da5c7['getMany'](_0x5095e1,Array['from'](_0x4ea237));for(const _0x2ef333 of _0x28c7a7)_0x4af9cd['getUser'](_0x2ef333['id'])||_0x4af9cd['addUser'](_0x2ef333);}['_getOperationsFromInitData'](_0x1b49b0,_0x18ab37={}){const _0x1e9bce=this['editor']['model'],_0x46a43c=[];let _0x321468=0x0;const _0x56f59d='string'==typeof _0x1b49b0?{'main':_0x1b49b0}:_0x1b49b0;for(const _0x284a58 of Object['keys'](_0x56f59d)){if(!this['_document']['roots']['has'](_0x284a58))throw new _0x355792('realtimecollaborationclient-init-non-existent-root',this);const _0x2ecc98=this['editor']['data']['parse'](_0x56f59d[_0x284a58]),_0xa6b572=this['_document']['getRoot'](_0x284a58),_0x4900d3=new _0x5a7cbb(_0x1e9bce['createPositionAt'](_0xa6b572,0x0),_0x2ecc98,_0x321468++);_0x46a43c['push'](_0x4900d3);for(const [_0x57547f,_0x1cf842]of _0x2ecc98['markers']){const _0x6c9b52=_0x1e9bce['createRange'](_0x1e9bce['createPositionFromPath'](_0xa6b572,_0x1cf842['start']['path']['slice']()),_0x1e9bce['createPositionFromPath'](_0xa6b572,_0x1cf842['end']['path']['slice']())),_0x586520=new _0x1896c0(_0x57547f,null,_0x6c9b52,_0x1e9bce['markers'],!0x0,_0x321468++);_0x46a43c['push'](_0x586520);}}if(_0x18ab37)for(const [_0x5f1317,_0x25225b]of Object['entries'](_0x18ab37)){const _0x484812=_0x1e9bce['document']['getRoot'](_0x5f1317);if(!_0x484812)throw new _0x355792('multi-root-editor-root-attributes-no-root',null);for(const [_0x228da4,_0x41cd20]of Object['entries'](_0x25225b))if(null!==_0x41cd20){const _0x3759ec=new _0x356a7c(_0x484812,_0x228da4,null,_0x41cd20,_0x321468++);_0x46a43c['push'](_0x3759ec);}}return _0x46a43c;}async['_loadRoot'](_0x499e2e,_0x51d32d,_0x2e32bf){this['_getOperationsFromInitData']({[_0x499e2e]:_0x51d32d},{[_0x499e2e]:_0x2e32bf})['forEach']((_0xc6242b,_0x1973d8)=>{_0xc6242b['baseVersion']=this['_document']['version']+_0x1973d8,_0xc6242b['_isInit']=!0x0,this['_saveOperationInBuffer'](_0xc6242b);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x470a09,_0xb8964e){let _0x4e632e;this['_offset']=_0x470a09['offset'];const _0x3c0e15=_0x470a09['wereChangesApplied']&&!_0x470a09['initData'],_0xfbba4c=_0x3c0e15?0x0:_0x470a09['data']['baseVersion'];if(_0xb8964e['forEach'](_0x3714d1=>{_0x3714d1['_isInit']=!0x0,_0x3714d1['createdAt']=_0x470a09['sessionCreatedAt'],_0x3714d1['_authorId']=null;}),_0x3c0e15)_0x4e632e=_0xb8964e,this['_applyOperationsSet'](_0x4e632e,_0x3c0e15);else{if(_0x470a09['initData']){const _0x243f0c=this['_getOperationsFromInitData'](_0x470a09['initData']);this['_document']['history']['version']=-_0x243f0c['length'],_0x243f0c['forEach'](_0xf899f0=>{_0xf899f0['baseVersion']-=_0x243f0c['length'],_0xf899f0['createdAt']=_0x470a09['sessionCreatedAt'],_0xf899f0['_isInit']=!0x0,_0xf899f0['_authorId']=null;}),this['_applyOperationsSet'](_0x243f0c,!0x0),this['serverHistory']['version']=-_0x243f0c['length']+this['_offset'],this['_updateServerHistory'](_0x243f0c);}this['_document']['history']['version']=_0xfbba4c,_0x4e632e=this['_decompressOperations'](_0x470a09['data'],_0x470a09['metadata']),await this['_fetchMissingUsers'](_0x4e632e),this['_applyOperationsSet'](_0x4e632e,_0x3c0e15);}_0x470a09['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4e632e,_0x470a09['lastOperationId']),this['_lastSyncedOperationId']=_0x470a09['lastOperationId']),this['serverHistory']['version']=_0xfbba4c+this['_offset'],this['_updateServerHistory'](_0x4e632e),_0xb8964e['filter'](_0x3e0f97=>{const _0x3aa414=this['_getAffectedRoot'](_0x3e0f97);return _0x3aa414&&!this['_knownRootNames']['has'](_0x3aa414);})['forEach']((_0x483860,_0x2fb43d)=>{_0x483860['baseVersion']=this['_document']['version']+_0x2fb43d,this['_saveOperationInBuffer'](_0x483860);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xa9ba78,_0x30378b){const _0xfac22e=_0x30378b&&_0x30378b['message'];if(_0xfac22e&&_0xfac22e['startsWith']('realtimecollaborationclient'))throw _0x30378b;const _0x120941=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x120941['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x355792(_0xa9ba78,this['editor'],_0xfac22e?{'originalError':_0xfac22e}:void 0x0);}['_saveOperationInBuffer'](_0x7e78d8){this['_knownOperations']['has'](_0x7e78d8)||(this['_knownOperations']['add'](_0x7e78d8),this['_bufferedOperations']['push'](_0x7e78d8),this['_pendingAction']||'marker'==_0x7e78d8['type']&&!_0x7e78d8['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x396c30=!0x1){!_0x396c30&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xd447af=>{_0xd447af&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x371600=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x91775b){return _0x91775b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x91775b['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x91775b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x371600)||this['_crash'](_0x371600['message'],_0x371600);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x423008=>{this['on']('change:_isPendingUpdate',()=>{_0x423008();});});}async['_sendBufferedOperations'](){const _0xdefb47=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0xdefb47['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2bfad7=[...this['_bufferedOperations']];for(const _0x34567a of _0x2bfad7)_0x34567a['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x34567a);const _0x182da2=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2bfad7),_0xec1fac=Z++,_0x3babd3=this['_compressOperations'](_0x2bfad7),_0x333cd7=await this['_service']['sendOperations'](_0x3babd3,_0x3babd3['baseVersion'],_0x182da2);try{return await this['_handleServerResponse'](_0x2bfad7,_0x333cd7,_0xec1fac);}catch(_0x1386b2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1386b2);}}async['_handleServerResponse'](_0x446028,_0x40965f,_0x3d361a){if('error'in _0x40965f)throw _0x40965f['error'];let _0x1e8935=!0x1;if(_0x40965f['wereChangesApplied']){_0x40965f['lastOperationId']&&(this['_lastSyncedOperationId']=_0x40965f['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x376b15=>!_0x446028['includes'](_0x376b15));for(const _0x5bd21f of _0x446028)_0x5bd21f['createdAt']='lastOperationAcceptedAt'in _0x40965f&&_0x40965f['lastOperationAcceptedAt']||void 0x0;st(_0x446028,_0x40965f['version']-_0x446028['length']),this['_updateServerHistory'](_0x446028);const _0xb59b69=_0x446028['filter'](_0x102897=>{if(!_0x102897['_isInit'])return!0x1;const _0x313d10=this['_getAffectedRoot'](_0x102897);return _0x313d10&&!this['_knownRootNames']['has'](_0x313d10);});st(_0xb59b69,this['_document']['version']),this['_applyOperationsSet'](_0xb59b69),_0x1e8935=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x38992f=this['_decompressOperations'](_0x40965f['data'],_0x40965f['metadata'])['filter'](_0x297f11=>_0x297f11['baseVersion']>=this['_lastServerVersion']);_0x38992f['forEach'](_0x2ee663=>this['_addKnownRoot'](_0x2ee663)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4cd16e=>!_0x4cd16e['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4cd16e))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x38992f),_0x1e8935=this['_handleExternalOperations'](_0x38992f,_0x40965f['version'],_0x40965f['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1e8935?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xb136ea,_0x419c9e,_0x3bc16a){try{const _0x3d9cd2={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x245e2e,operationsB:_0x57b57e,originalOperations:_0x418909}=_0x5d792c(_0xb136ea,this['_bufferedOperations'],_0x3d9cd2);st(_0x245e2e,this['_document']['version']),st(_0x57b57e,_0x419c9e);for(const _0x9d1d57 of _0x245e2e){const _0xf47594=_0x418909['get'](_0x9d1d57);_0x9d1d57['_authorId']=_0xf47594?_0xf47594['_authorId']:null;}_0x3bc16a&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xb136ea,_0x3bc16a),this['_lastSyncedOperationId']=_0x3bc16a),this['_bufferedOperations']=[..._0x57b57e],this['_applyOperationsSet'](_0x245e2e),this['_updateServerHistory'](_0xb136ea);}catch(_0x45ea09){return console['error'](_0x45ea09),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5cf924,_0x5b2930=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x53ddf1=>{for(const _0x4070cd of _0x5cf924)this['_knownOperations']['add'](_0x4070cd),this['_addKnownRoot'](_0x4070cd),_0x53ddf1['batch']['addOperation'](_0x4070cd),this['editor']['model']['applyOperation'](_0x4070cd);});}['_addKnownRoot'](_0x309f7b){const _0x5f1c01=this['_getAffectedRoot'](_0x309f7b);_0x5f1c01&&this['_knownRootNames']['add'](_0x5f1c01);}['_getAffectedRoot'](_0x4c00e6){let _0x14e9bf,_0x40178a;switch(_0x4c00e6['type']){case'insert':_0x14e9bf=_0x4c00e6['position']['root'];break;case'marker':if(_0x40178a=_0x4c00e6['newRange'],!_0x40178a)return null;_0x14e9bf=_0x40178a['root'];break;case'addRootAttribute':_0x14e9bf=_0x4c00e6['root'];break;case'addRoot':_0x14e9bf=_0x4c00e6['affectedSelectable'];break;case'move':_0x14e9bf=_0x4c00e6['targetPosition']['root'];break;default:return null;}return _0x14e9bf['rootName'];}['_updateServerHistory'](_0x1407bf){_0x1407bf['forEach'](_0x48753d=>{const _0xb72af9=_0x48753d['clone']();_0xb72af9['_authorId']=_0x48753d['_authorId'],_0xb72af9['_isInit']=!!_0x48753d['_isInit'],_0xb72af9['createdAt']=_0x48753d['createdAt'],_0xb72af9['baseVersion']+=this['_offset'],_0x48753d['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xb72af9),this['serverHistory']['addOperation'](_0xb72af9);});}['_handleReconnectionError'](_0x51b378){const _0x276a90=this['editor']['plugins']['get']('Notification'),_0x480e94=this['editor']['locale'];_0x51b378||(_0x51b378=X(_0x480e94,'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.')),_0x276a90['showWarning'](_0x51b378,{'title':X(_0x480e94,'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'](_0x1a8b56)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1a8b56)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x51dbe5){const _0x5361e7=_0x51dbe5['map'](_0x3bf6c0=>_0x3bf6c0['toJSON']());return this['_compressor']['compress'](_0x5361e7);}['_decompressOperations'](_0x1f8083,_0x4927d4){return this['_compressor']['decompress'](_0x1f8083)['map']((_0x585cea,_0x24a0c0)=>{const _0xa1095a='init'==_0x4927d4[_0x24a0c0]['type'];if('InsertOperation'==_0x585cea['__className']){const _0x4a420a=_0x585cea['position']['root'];!this['_document']['getRoot'](_0x4a420a)&&(this['_document']['createRoot']('$root',_0x4a420a)['_isAttached']=!0x1);}const _0x79e711=_0x436986['fromJSON'](_0x585cea,this['_document']);return _0x79e711['wasUndone']=_0x585cea['wasUndone'],_0x79e711['_isInit']=_0xa1095a,_0x79e711['_authorId']=_0xa1095a?null:_0x4927d4[_0x24a0c0]['userId'],_0x79e711['_isDisconnection']='cs:removeUser'===_0x4927d4[_0x24a0c0]['type'],_0x79e711['createdAt']=_0x4927d4[_0x24a0c0]['createdAt'],_0x79e711;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x50d055=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x50d055&&_0x50d055['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x56169c,_0x4858ce){for(const _0x50d809 of _0x56169c)_0x50d809['baseVersion']=_0x4858ce++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x308d80){this['_ignoredOperations']=_0x308d80,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1c08f8){let _0x5964fd=_0x1c08f8['length'];for(;_0x5964fd--;){const _0x31b30e=_0x1c08f8[_0x5964fd];if(!this['_ignoredOperations']['has'](_0x31b30e)){if(!this['_operationToId']['has'](_0x31b30e)){const _0x4f71e7=_0xe943f7()['slice'](0x1,0x12);this['_operationToId']['set'](_0x31b30e,_0x4f71e7);}return this['_operationToId']['get'](_0x31b30e);}}}['setIdForTheLastOperation'](_0x13d72c,_0xb503d){if(!_0xb503d)return;let _0x170f42=_0x13d72c['length'];for(;_0x170f42--;){const _0xc7dda5=_0x13d72c[_0x170f42];this['_ignoredOperations']['has'](_0xc7dda5)||this['_operationToId']['set'](_0xc7dda5,_0xb503d);}}}class nt extends _0x421958{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x473a8c{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0xac1ab2)());['_services'];static get['requires'](){return[z,_0x3b7042,Y,_0x113a53];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3156ad){super(_0x3156ad),this['_services']=new Map();}async['init'](){const _0xd337ad=this['context'],_0x39aeca=_0xd337ad['plugins']['get'](_0x3b7042);if(_0xd337ad['plugins']['get'](z)['addToReconnectionStack'](this),_0x39aeca['adapter']={'addCommentThread':async({channelId:_0x10b3f7,threadId:_0x437d9c,comments:_0x187f07,resolvedAt:_0x40f90d,resolvedBy:_0x4379e7,context:_0x3a3a71,attributes:_0x65790b})=>{const _0xc0fd71=await this['_getService'](_0x10b3f7)['addCommentThread']({'commentThreadId':_0x437d9c,'comments':_0x187f07['map'](_0x19f80a=>function(_0x3a11a6,_0x447630,_0x179567){return{'commentThreadId':_0x179567,'commentId':_0x3a11a6['commentId'],'userId':_0x3a11a6['authorId'],'content':_0x3a11a6['content'],'documentId':_0x447630,'createdAt':_0x3a11a6['createdAt'],'attributes':_0x3a11a6['attributes']||{}};}(_0x19f80a,_0x10b3f7,_0x437d9c)),'resolvedAt':_0x40f90d,'resolvedBy':_0x4379e7,'context':_0x3a3a71,'attributes':_0x65790b})['catch'](ct);return{'threadId':_0xc0fd71['commentThreadId'],'comments':_0xc0fd71['comments']};},'getCommentThread':async({channelId:_0x26f2d8,threadId:_0x5b350f})=>{const _0x286072=await this['_getService'](_0x26f2d8)['getCommentThread'](_0x5b350f)['catch'](rt)['catch'](ct);return _0x286072?_0x286072['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x286072]),{'threadId':_0x286072['commentThreadId'],'comments':_0x286072['comments']['map'](at),'context':_0x286072['context'],'resolvedAt':_0x286072['resolvedAt'],'resolvedBy':_0x286072['resolvedBy'],'attributes':_0x286072['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1f9b37,threadId:_0x56f96b,context:_0x9f538c,unlinkedAt:_0xd3e1c6,attributes:_0x538b88})=>this['_getService'](_0x1f9b37)['updateCommentThread']({'commentThreadId':_0x56f96b,'context':_0x9f538c,'attributes':_0x538b88,'unlinkedAt':_0xd3e1c6})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x5cd0e6,threadId:_0xbdc019})=>{const _0xffa04e=await this['_getService'](_0x5cd0e6)['resolveCommentThread'](_0xbdc019)['catch'](rt)['catch'](ct);return{'threadId':_0xffa04e['commentThreadId'],'resolvedAt':_0xffa04e['resolvedAt'],'resolvedBy':_0xffa04e['resolvedBy']};},'reopenCommentThread':async({channelId:_0x640f17,threadId:_0x205716})=>this['_getService'](_0x640f17)['reopenCommentThread'](_0x205716)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x905787,threadId:_0xe14cf3})=>this['_getService'](_0x905787)['removeCommentThread'](_0xe14cf3)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x168f66,threadId:_0x3dadb8,commentId:_0x5195f5,content:_0x50ef98,attributes:_0x56dcc1})=>this['_getService'](_0x168f66)['addComment'](_0x3dadb8,_0x5195f5,_0x50ef98,_0x56dcc1)['catch'](ct),'updateComment':({channelId:_0x96af4b,threadId:_0x56a609,commentId:_0x3ed571,content:_0x29d767,attributes:_0x11ee43})=>this['_getService'](_0x96af4b)['updateComment'](_0x56a609,_0x3ed571,_0x29d767,_0x11ee43)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x43b4f5,threadId:_0x21f9f4,commentId:_0x5a270e})=>this['_getService'](_0x43b4f5)['removeComment'](_0x21f9f4,_0x5a270e)['catch'](rt)['catch'](ct)},_0xd337ad instanceof _0xa66473){const _0xc1eaf4=_0xd337ad['config']['get']('collaboration.channelId'),_0x1a05ab=_0xd337ad['plugins']['get'](Y);await this['_setUpService'](_0xc1eaf4);const _0x30a623=await this['_services']['get'](_0xc1eaf4)['getConnectedSessions']();this['listenTo'](_0x1a05ab,'sessionAdd:'+_0xc1eaf4,(_0x243a07,{session:_0x582485})=>{_0x582485['id']===_0x1a05ab['mySessionId']&&(_0x243a07['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x582485['permissions'],_0xc1eaf4));}),_0x1a05ab['register'](_0xc1eaf4,_0x30a623);}}async['_setUpService'](_0x574ec7){if(this['_services']['has'](_0x574ec7))throw new _0x355792('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x574ec7});const _0x4e682c=this['context']['plugins']['get'](_0x3b7042),_0x3f036e=new ot['CommentsService'](_0x574ec7);this['_services']['set'](_0x574ec7,_0x3f036e),this['listenTo'](_0x3f036e,'commentThreadAdded',(_0x30b9e9,_0x537099)=>{const {commentThreadId:_0x149223,documentId:_0x4a33ff,context:_0x4035e4,attributes:_0x5de0d5,resolvedAt:_0x587818,resolvedBy:_0x52d6a2,comments:_0x3d02c7}=_0x537099;_0x4e682c['getCommentThread'](_0x149223)||_0x4e682c['addCommentThread']({'threadId':_0x149223,'channelId':_0x4a33ff,'comments':_0x3d02c7?_0x3d02c7['map'](at):[],'context':_0x4035e4,'attributes':_0x5de0d5,'resolvedAt':_0x587818,'resolvedBy':_0x52d6a2,'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentThreadUpdated',(_0x515db3,{commentThreadId:_0x5e3557,documentId:_0x32bbdc,context:_0x347ceb,unlinkedAt:_0x31d662,attributes:_0xe981b8})=>{_0x4e682c['getCommentThread'](_0x5e3557)&&_0x4e682c['updateCommentThread']({'threadId':_0x5e3557,'channelId':_0x32bbdc,'context':_0x347ceb,'unlinkedAt':_0x31d662,'attributes':_0xe981b8,'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentThreadResolved',(_0x8eb5de,{commentThreadId:_0x5b2b9e,resolvedBy:_0x45dc0f,resolvedAt:_0x8bafc6})=>{const _0x118eab=_0x4e682c['getCommentThread'](_0x5b2b9e);_0x118eab&&_0x118eab['resolve']({'resolvedBy':_0x45dc0f,'resolvedAt':_0x8bafc6,'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentThreadReopened',(_0x596b8a,{commentThreadId:_0x1f765a})=>{const _0x18d422=_0x4e682c['getCommentThread'](_0x1f765a);_0x18d422&&_0x18d422['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentThreadRemoved',(_0xde083c,{commentThreadId:_0x204936})=>{const _0x391edd=_0x4e682c['getCommentThread'](_0x204936);_0x391edd&&_0x391edd['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentAdded',(_0x592934,_0xf1ee77)=>{const _0x53ed11=_0xf1ee77['commentThreadId'],_0x57f1e6=_0x4e682c['getCommentThread'](_0x53ed11);_0x57f1e6&&_0x57f1e6['addComment']({...at(_0xf1ee77),'isFromAdapter':!0x0});}),this['listenTo'](_0x3f036e,'commentUpdated',(_0x239719,{commentThreadId:_0x5a31f8,commentId:_0x2f276d,content:_0x5bb3dd,attributes:_0x3a30a8})=>{const _0x245a52=_0x4e682c['getCommentThread'](_0x5a31f8);if(_0x245a52){const _0x54e2ed=_0x245a52['getComment'](_0x2f276d);_0x54e2ed&&_0x54e2ed['update']({'content':_0x5bb3dd,'attributes':_0x3a30a8,'isFromAdapter':!0x0});}}),this['listenTo'](_0x3f036e,'commentRemoved',(_0x2c9ff9,{commentThreadId:_0x4dc01b,commentId:_0x28f96b})=>{const _0x7fc1f4=_0x4e682c['getCommentThread'](_0x4dc01b);if(_0x7fc1f4){const _0x155fc2=_0x7fc1f4['getComment'](_0x28f96b);_0x155fc2&&_0x155fc2['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x574ec7);}['destroy'](){if(this['context']instanceof _0xa66473){const _0x120f12=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x120f12);}}['_terminateService'](_0x546097){if(!this['_services']['has'](_0x546097))throw new _0x355792('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x546097});this['_getService'](_0x546097)['disconnect'](),this['_services']['delete'](_0x546097);}async['reconnect'](){for(const _0x7919f4 of this['_services']['keys']())await this['_connectService'](_0x7919f4);if(this['context']instanceof _0xa66473){const _0x270634=this['context']['config']['get']('collaboration.channelId'),_0x3fe442=this['context']['plugins']['get'](Y);_0x3fe442['unregister'](_0x270634);const _0x154cab=await this['_services']['get'](_0x270634)['getConnectedSessions']();_0x3fe442['register'](_0x270634,_0x154cab);}}async['_connectService'](_0x201a64){const {connection:_0x2ddedd}=this['context']['plugins']['get'](z),_0xdb9e17=this['context']['plugins']['get'](_0x3b7042),_0x1cca93=this['_services']['get'](_0x201a64),_0x309e09=await _0x1cca93['connect'](_0x2ddedd);await this['_fetchMissingUsersForThreads'](_0x309e09);const _0x569b88=new Set(Array['from'](_0xdb9e17['getCommentThreads']({'channelId':_0x201a64}),_0x466739=>_0x466739['id']));for(const _0x41861e of _0x309e09)_0x41861e['deletedAt']||_0x569b88['delete'](_0x41861e['commentThreadId']);for(const _0x13e260 of _0x569b88)_0xdb9e17['getCommentThread'](_0x13e260)['remove']({'isFromAdapter':!0x0});for(const _0x28b001 of _0x309e09){let _0xcc0b60=_0xdb9e17['getCommentThread'](_0x28b001['commentThreadId']);const {commentThreadId:_0x1ccdbb,context:_0x6d6e30,attributes:_0x1e4dc1,resolvedBy:_0x44fb47,resolvedAt:_0x26ef32,unlinkedAt:_0x53bac8,deletedAt:_0x259ede}=_0x28b001;if(_0x259ede)continue;_0xcc0b60||(_0xcc0b60=_0xdb9e17['addCommentThread']({'channelId':_0x201a64,'threadId':_0x1ccdbb,'context':_0x6d6e30,'attributes':_0x1e4dc1||{},'resolvedBy':_0x44fb47,'resolvedAt':_0x26ef32,'unlinkedAt':_0x53bac8,'isFromAdapter':!0x0}));const _0x302f5b=new Set(Array['from'](_0xcc0b60['comments'],_0x20dd7c=>_0x20dd7c['id']));for(const _0x2ad43b of _0x28b001['comments'])_0x302f5b['delete'](_0x2ad43b['commentId']);for(const _0x57bae8 of _0x302f5b)_0xcc0b60['getComment'](_0x57bae8)['remove']({'isFromAdapter':!0x0});for(const _0x100158 of _0x28b001['comments']){const _0x562220=_0xcc0b60['getComment'](_0x100158['commentId']);_0x562220?_0x562220['content']!==_0x100158['content']&&_0x562220['update']({'content':_0x100158['content'],'isFromAdapter':!0x0}):_0xcc0b60['addComment'](Object['assign'](at(_0x100158),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4bced6){if(!this['_services']['has'](_0x4bced6))throw new _0x355792('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4bced6});return this['_services']['get'](_0x4bced6);}async['_fetchMissingUsersForThreads'](_0x51508b){const _0xe83cfb=this['context']['plugins']['get'](_0x113a53),{connection:_0x5b2a10}=this['context']['plugins']['get'](z),_0x133455=new Set();for(const {resolvedBy:_0x3c88b0,comments:_0x116245}of _0x51508b){_0x3c88b0&&!_0xe83cfb['getUser'](_0x3c88b0)&&_0x133455['add'](_0x3c88b0);for(const {userId:_0x514fcc}of _0x116245)_0xe83cfb['getUser'](_0x514fcc)||_0x133455['add'](_0x514fcc);}if(0x0===_0x133455['size'])return;const _0x39cd70=await _0x1da5c7['getMany'](_0x5b2a10,Array['from'](_0x133455));for(const _0x38a4d3 of _0x39cd70)_0xe83cfb['getUser'](_0x38a4d3['id'])||_0xe83cfb['addUser'](_0x38a4d3);}}async function rt(_0xadfdd5){if('404'!==_0xadfdd5['code'])throw _0xadfdd5;}function ct(_0x2d049f){if((_0x3e83da=_0x2d049f)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3e83da['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3e83da['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3e83da;throw _0x2d049f;}function at(_0x31dad1){return{'threadId':_0x31dad1['commentThreadId'],'commentId':_0x31dad1['commentId'],'content':_0x31dad1['content'],'createdAt':_0x31dad1['createdAt'],'authorId':_0x31dad1['userId'],'attributes':_0x31dad1['attributes']||{}};}class ht extends _0x421958{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x5e7b20)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x51eb43,Y,_0x113a53];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1bb66a){super(_0x1bb66a);const _0x50cf14=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x50cf14);}async['init'](){const _0x124296=this['editor']['plugins']['get'](tt),_0x4ce1fa=_0x124296['serverHistory'],_0x20a16a=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4ce1fa,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x124296['sessionId']});const _0x3e40c6=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x24f632,_0x415c59=await _0x1f796e['isBundleUploaded'](_0x20a16a['connection'],_0x3e40c6);this['editor']['plugins']['get'](_0x51eb43)['adapter']={'getRevision':async({revisionId:_0x21ed55})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x21ed55)),'updateRevisions':async _0x3a1efb=>{await this['_waitForServiceReady']();const _0x18c734=this['_revisionTracker']['currentRevision'];if(_0x415c59&&0x1===_0x3a1efb['length']&&_0x3a1efb[0x0]['id']===_0x18c734['id'])return _0x3a1efb;for(const _0x2d03b7 of _0x3a1efb)_0x2d03b7['id']===_0x18c734['id']&&(_0x2d03b7['isEmptyCurrent']=_0x2d03b7['fromVersion']===_0x2d03b7['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3a1efb,this['_lastRequestId'])['then'](_0x3cb7e4=>(this['_lastRequestId']=_0x3cb7e4,_0x3a1efb))['catch'](_0x2282c4=>{if(pt(_0x2282c4)||'400'===_0x2282c4['code']&&void 0x0!==_0x2282c4['data']['wrongRequestId']){for(const _0x5ed07b of _0x3a1efb){!this['_revisionTracker']['repository']['getRevision'](_0x5ed07b['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5ed07b['id'],_0x5ed07b,!0x1);}if(pt(_0x2282c4))throw _0x2282c4;return _0x3a1efb;}throw _0x2282c4;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x588945,{revisionsData:_0xbd6797,requestId:_0x49a130})=>{Math['max'](..._0xbd6797['map'](_0x474388=>_0x474388['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xbd6797,_0x49a130);}):this['_handleRevisionsUpdate'](_0xbd6797,_0x49a130);});const {revisions:_0x51c451,requestId:_0x10d9f3}=await this['_revisionHistoryService']['connect'](_0x20a16a['connection']);_0x20a16a['addToReconnectionStack'](this),this['_lastRequestId']=_0x10d9f3,await this['_fetchMissingUsers'](_0x51c451);for(const _0x230456 of _0x51c451)this['_revisionTracker']['addRevisionData'](_0x230456);this['listenTo'](_0x124296,'change:_isConnected',(_0x119e76,_0x539685,_0x3cff13)=>{_0x3cff13&&(this['_oldOffset']=_0x124296['_offset'],_0x119e76['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x20a16a,'state',_0x431b00=>_0x431b00===_0x58a0b4['CONNECTED']);}async['reconnect'](){const _0x271d84=this['editor']['plugins']['get'](z),_0x38d130=this['editor']['plugins']['get'](tt),_0x342628=async()=>{const _0x5a8a9f=this['_revisionTracker']['currentRevision'],_0x41c94c=_0x5a8a9f['id'],_0x5c0818=_0x41c94c!==_0x38d130['sessionId'];if(_0x5c0818){const _0x2f1ba5=_0x38d130['_offset']-this['_oldOffset'],_0x6c092b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x5a8a9f['toVersion']+_0x2f1ba5!==_0x6c092b){const _0x3320f7=_0x5a8a9f['fromVersion']+_0x2f1ba5,_0x4f939e=this['editor']['plugins']['get'](_0x113a53),_0x14288a=this['_revisionTracker']['buildRevisionData']({'revision':_0x5a8a9f,'from':_0x3320f7,'to':_0x6c092b});_0x14288a['id']=_0x5a8a9f['id'];const _0x53b642=_0x14288a['authorsIds']['map'](_0x2d78dd=>_0x4f939e['getUser'](_0x2d78dd));_0x5a8a9f['_update']({..._0x14288a,'authors':_0x53b642},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5a8a9f['id'],_0x14288a,!0x0);}this['_revisionTracker']['_startingVersion']=_0x6c092b,(_0x5a8a9f['toVersion']===_0x5a8a9f['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x41c94c)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x41c94c),this['_revisionTracker']['_createCurrentRevision'](_0x6c092b));}const {revisions:_0x888ed2,requestId:_0x58cccb}=await this['_revisionHistoryService']['reconnect'](_0x271d84['connection'],this['_lastRequestId']);_0x5c0818&&_0x888ed2['length']>0x0?_0x38d130['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x888ed2),this['_handleRevisionsUpdate'](_0x888ed2,_0x58cccb),this['_revisionTracker']['sendBufferedUpdates']());};return _0x38d130['_isConnected']?_0x342628():new Promise((_0x386ae1,_0xf4f1cf)=>{_0x38d130['once']('change:_isConnected',()=>{_0x342628()['then'](_0x386ae1)['catch'](_0xf4f1cf);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5caeec=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x32091f=>{_0x32091f['off'](),_0x5caeec();});});}['_getLatestVersionFromServerOperations'](){const _0x3a3a14=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x554cd0 of _0x3a3a14)if('marker'!==_0x554cd0['type']||_0x554cd0['affectsData'])return _0x554cd0['baseVersion']+0x1;}['_getLatestVersion'](){const _0x3d0e6e=this['editor']['plugins']['get'](tt);return new Promise(_0x5b83be=>{_0x3d0e6e['_isPendingUpdate']?_0x3d0e6e['once']('change:_isPendingUpdate',()=>{_0x5b83be(this['_getLatestVersionFromServerOperations']());}):_0x5b83be(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x20f4a2,_0x65f73){const _0x3394ee=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x65f73;for(const _0x27dc7a of _0x20f4a2){const _0x563c4a=_0x3394ee['getRevision'](_0x27dc7a['id']);if(_0x563c4a){if((_0x27dc7a['fromVersion']||_0x27dc7a['toVersion'])&&(_0x27dc7a['diffData']=null),_0x563c4a===this['_revisionTracker']['currentRevision']){const _0x24409d=Math['max'](_0x563c4a['toVersion'],_0x27dc7a['toVersion']),_0x659162=Math['max'](_0x563c4a['fromVersion'],_0x27dc7a['fromVersion']);let _0x56e9cd;_0x563c4a['toVersion']===_0x27dc7a['toVersion']&&_0x563c4a['fromVersion']===_0x27dc7a['fromVersion']?(_0x56e9cd=!0x0,this['_preventResendingRevisionData'](_0x27dc7a)):_0x27dc7a['toVersion']===_0x24409d&&_0x27dc7a['fromVersion']===_0x659162?_0x56e9cd=!0x1:(_0x563c4a['toVersion']===_0x24409d&&_0x563c4a['fromVersion']===_0x659162||this['_fixRevision']({'revision':_0x563c4a,'from':_0x659162,'to':_0x24409d}),_0x56e9cd=!0x0),_0x56e9cd&&(delete _0x27dc7a['fromVersion'],delete _0x27dc7a['toVersion'],delete _0x27dc7a['diffData'],delete _0x27dc7a['createdAt'],delete _0x27dc7a['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x27dc7a),this['_preventResendingRevisionData'](_0x27dc7a);}else this['_revisionTracker']['addRevisionData'](_0x27dc7a);}const _0x198756=_0x3394ee['getRevisions']();_0x198756['reverse']();for(let _0x4f6cd2=0x0;_0x4f6cd2<_0x198756['length']-0x1;_0x4f6cd2++){const _0x41e33a=_0x198756[_0x4f6cd2],_0x508567=_0x198756[_0x4f6cd2+0x1];if(_0x41e33a['fromVersion']<_0x508567['toVersion']){const _0x1843bf=_0x508567['toVersion'],_0xcefbeb=Math['max'](_0x1843bf,_0x41e33a['toVersion']);this['_fixRevision']({'revision':_0x41e33a,'from':_0x1843bf,'to':_0xcefbeb});}}}['_fixRevision']({revision:_0x464ca7,from:_0x38c1f9,to:_0x3820c3}={}){const _0x560a28=this['editor']['plugins']['get'](_0x113a53),_0x10e4d1=this['_revisionTracker']['buildRevisionData']({'revision':_0x464ca7,'from':_0x38c1f9,'to':_0x3820c3});_0x10e4d1['authors']=_0x10e4d1['authorsIds']['map'](_0x57eb51=>_0x560a28['getUser'](_0x57eb51)),_0x464ca7['_update'](_0x10e4d1);}['_preventResendingRevisionData'](_0x32fc60){const _0x16618={};_0x16618['id']=_0x32fc60['id'];for(const _0x2a05c6 of Object['keys'](_0x32fc60))'id'!==_0x2a05c6&&(_0x16618[_0x2a05c6]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x16618['id'],_0x16618,!0x0);}async['_fetchMissingUsers'](_0x2b2224){const _0x21e34f=this['editor']['plugins']['get'](_0x113a53),{connection:_0x455a21}=this['editor']['plugins']['get'](z),_0x302ce6=new Set();for(const _0x451707 of _0x2b2224){for(const _0x5e4972 of _0x451707['authorsIds'])_0x12c4fd(_0x5e4972);_0x451707['creatorId']&&_0x12c4fd(_0x451707['creatorId']);}if(0x0===_0x302ce6['size'])return;const _0xf51145=await _0x1da5c7['getMany'](_0x455a21,Array['from'](_0x302ce6));for(const _0x4795af of _0xf51145)_0x21e34f['getUser'](_0x4795af['id'])||_0x21e34f['addUser'](_0x4795af);function _0x12c4fd(_0x2a21a8){_0x21e34f['getUser'](_0x2a21a8)||_0x302ce6['add'](_0x2a21a8);}}}function pt(_0x4fcf94){return _0x4fcf94['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4fcf94['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4fcf94['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x421958{static get['requires'](){return[_0x51eb43,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x38d5f2{['_collapseAt'];constructor(_0x5a6607,_0x4023df=0x6){super(_0x5a6607);const _0x2e5c78=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4023df,this['bind']('isHidden')['to'](this,'usersCount',_0x166298=>_0x166298<_0x4023df),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2e5c78['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':_0x2e5c78['to']('usersCount',_0x54e9ec=>'+'+(_0x54e9ec-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x38d5f2{['items'];['keystrokes'];constructor(_0x150459){super(_0x150459);const _0x4fd3f5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x331e42(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4fd3f5['if']('hasPopup'),'aria-expanded':_0x4fd3f5['to']('isExpanded',_0x37d342=>this['hasPopup']&&String(_0x37d342)),'aria-label':_0x4fd3f5['to']('hasPopup',_0x955166=>X(_0x150459,_0x955166?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4fd3f5['to']('hasPopup',_0x4a45ff=>!!_0x4a45ff&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4fd3f5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4fd3f5['to'](_0x547c95=>{const _0x5082c2=_0x547c95,_0x56c2d8=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4eb604=document['querySelector']('.ck-balloon-panel_with-arrow');_0x56c2d8?.['contains'](_0x5082c2['relatedTarget'])||_0x4eb604?.['contains'](_0x5082c2['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x45e4ea,_0x45a261,_0x32a1d1)=>{this['element']&&(_0x32a1d1?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x38d5f2{['counterView'];['inlineListView'];constructor(_0x2816af,_0x55d7a0=0x6){super(_0x2816af);const _0x28295e=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x55d7a0),this['inlineListView']=new vt(_0x2816af),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4f19c0 of this['inlineListView']['items'])_0x4f19c0['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',_0x28295e['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x38d5f2{['listWrapperView'];constructor(_0x5c3588,_0x19dd8f){super(_0x5c3588);const _0x25defb=this['bindTemplate'];this['listWrapperView']=new bt(_0x5c3588,_0x19dd8f),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x5c3588,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x25defb['to'](_0x45a3d5=>{const _0x1467b3=_0x45a3d5,_0x531fbd=document['querySelector']('.ck-presence-list__list'),_0x564a72=document['querySelector']('.ck-balloon-panel_with-arrow');_0x531fbd?.['contains'](_0x1467b3['relatedTarget'])||_0x564a72?.['contains'](_0x1467b3['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x3f1c03{constructor(_0x5d9865,_0x3bcda2){super(_0x5d9865);const _0x269358=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3bcda2?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x269358['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x269358['to']('role'),'aria-label':_0x269358['to']('ariaLabel'),'aria-labelledby':_0x269358['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x1539e6['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x21cdbd=this['element'];_0x21cdbd&&(this['_isScrollable']=Math['max'](_0x21cdbd['scrollHeight'],_0x21cdbd['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x44e429{['userView'];constructor(_0x2bd0eb,_0x42f447,_0x4b433f){super(_0x2bd0eb);const _0x3e463f=this['bindTemplate'];this['userView']=new _0x5287f8(_0x2bd0eb,_0x42f447);const _0x9b9a2b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x42f447['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x42f447['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x42f447['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x42f447['color']['getColorVariable'](),'--ck-user-color-alpha':_0x42f447['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4b433f&&(_0x9b9a2b['tag']='button',_0x9b9a2b['on']={'click':_0x3e463f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x9b9a2b);}['focus'](){this['element']['focus']();}}class It extends _0x38d5f2{['userView'];['markerView'];constructor(_0x390a7a,_0x3c588b,_0x3e91e9){super(_0x390a7a);const _0x33781b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5287f8(_0x390a7a,_0x3c588b),this['markerView']=new St(_0x390a7a,_0x3c588b);const _0x252f55=new _0x83b473(_0x390a7a);_0x252f55['template']['tag']='span',_0x252f55['text']=_0x3c588b['name'];const _0x188c7d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x33781b['to']('isFocusable',_0x5d87ae=>!!_0x5d87ae&&0x0),'aria-labelledby':_0x252f55['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x33781b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x33781b['to']('hasTooltip',_0x31aa3c=>!_0x31aa3c),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x252f55]};_0x3e91e9&&(_0x188c7d['tag']='button',_0x188c7d['on']={'click':_0x33781b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x188c7d);}}class St extends _0x38d5f2{constructor(_0xf3ad9d,_0x210e27){super(_0xf3ad9d),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x210e27['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x210e27['color']['getColorVariable'](),'--ck-user-color-alpha':_0x210e27['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x473a8c{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1d20fb){super(_0x1d20fb),this['context']['config']['define']('presenceList',Tt);const _0x108529=_0x1d20fb['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x108529)throw new _0x355792('presencelist-collapseat-invalid-format',this);if(_0x108529<0x1)throw new _0x355792('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4beb38(),this['balloonPanelView']=new _0x3fecc8(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x469b83 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x469b83);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1ad830,_0x3285b4)=>{this['_handleUserAdd'](_0x3285b4);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1a9f18,_0x3efa3e)=>{this['_handleUserRemove'](_0x3efa3e);});}['_createView'](){const _0x13c0dd=this['context'],_0x2b8415=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x5756d9=this['balloonPanelView'];if(!_0x1f3cb2(_0x13c0dd['config']['get']('presenceList.container')))throw new _0x355792('presencelist-missing-container',this);return _0x2b8415['counterView']['bind']('usersCount')['to'](this),_0x2b8415['bind']('isCollapsed')['to'](this,'usersCount',_0x1f93c9=>{const {collapseAt:_0x56b5b2}=_0x13c0dd['config']['get']('presenceList'),_0x53518e=_0x1f93c9>=_0x56b5b2;if(_0x53518e&&!_0x2b8415['inlineListView']['items']['find'](_0x56a1db=>_0x56a1db instanceof wt)){const _0x1ea3bb=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1ea3bb&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2b8415['inlineListView']['items']['add'](_0x2b8415['counterView']);}return _0x53518e||this['hideDropdown'](),_0x53518e;}),_0x2b8415['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x3fb449=>{const _0x3cfae3=_0x13c0dd['config']['get']('presenceList'),_0x458f92=new It(_0x13c0dd['locale'],_0x3fb449,!!_0x3cfae3['onClick']);return _0x458f92['bind']('hasTooltip')['to'](_0x2b8415,'isCollapsed',_0x2ce321=>!_0x2ce321),_0x458f92['bind']('isFocusable')['to'](_0x2b8415,'isCollapsed',_0x2be9a6=>!_0x2be9a6),_0x3cfae3['onClick']&&this['listenTo'](_0x458f92,'execute',()=>{this['view']['isCollapsed']||_0x3cfae3['onClick'](_0x3fb449,_0x458f92['element']);}),_0x458f92;}),this['listenTo'](_0x2b8415['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2b8415['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2b8415['inlineListView']['keystrokes']['set']('Enter',(_0x5f293f,_0x2f9165)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2f9165());}),_0x2b8415['render'](),_0x5756d9['render'](),_0x4103bc({'emitter':_0x2b8415,'activator':()=>_0x5756d9['isVisible'],'contextElements':[_0x5756d9['element'],_0x2b8415['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x13c0dd['config']['get']('presenceList.container')['appendChild'](_0x2b8415['element']),this['_bodyCollection']=new _0x3f9537(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2b8415;}['_handleUserAdd'](_0x1cc274){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1cc274['isMe'])return;const _0x1e7112=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x1e7112-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4d9dcd=_0x1cc274['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1cc274,_0x4d9dcd);}['_handleUserRemove'](_0x93d4ba){this['usersCount']--;const {collapseAt:_0x15bb41}=this['context']['config']['get']('presenceList'),_0x45a05b=this['usersCount']>=_0x15bb41;if(this['currentDisplayedUsers']['get'](_0x93d4ba['id']))this['currentDisplayedUsers']['remove'](_0x93d4ba['id']);else{if(_0x45a05b&&this['currentDisplayedUsers']['length']+0x1===_0x15bb41-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x45a05b?0x1:0x0)<this['usersCount']){for(const _0x49b009 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x49b009['id'])&&(this['currentDisplayedUsers']['add'](_0x49b009,Math['min'](this['currentDisplayedUsers']['length']-(_0x45a05b?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x45a05b?0x1:0x0)===_0x15bb41-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5a9763=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x5a9763['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5f0b85}=this['presenceDropdownView'];_0x5f0b85['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4ea6b4=>{if(!_0x5a9763['displayMe']&&_0x4ea6b4['isMe'])return null;const _0x54ced7=new kt(this['context']['locale'],_0x4ea6b4,!!_0x5a9763['onClick']);return _0x5a9763['onClick']&&this['listenTo'](_0x54ced7,'execute',()=>{_0x5a9763['onClick'](_0x4ea6b4,_0x54ced7['element']);}),_0x54ced7;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5f0b85['focus'](),_0x5f0b85['checkIfScrollable']();const _0x41609c=(_0x197a1b,_0x1a2527)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1a2527();};_0x5f0b85['keystrokes']['set']('Esc',_0x41609c),_0x5f0b85['keystrokes']['set']('Shift+Tab',_0x41609c),_0x5f0b85['keystrokes']['set']('Tab',(_0x33a309,_0x161b04)=>{!function(_0x57bb1d){const _0x3dd700=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x548502=>_0x548502+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4fe4cd=[...document['body']['querySelectorAll'](_0x3dd700)]['filter'](_0x340271=>_0x340271===document['activeElement']||_0x340271['offsetWidth']+_0x340271['offsetHeight']>0x0)['sort']((_0x1c8a97,_0x3c8741)=>(_0x1c8a97['tabIndex']||0x0)-(_0x3c8741['tabIndex']||0x0)),_0x324db1=_0x4fe4cd['indexOf'](_0x57bb1d),_0x385cf0=_0x4fe4cd[(_0x324db1+0x1)%_0x4fe4cd['length']];_0x385cf0&&_0x385cf0['focus']();}(this['view']['element']),this['hideDropdown'](),_0x161b04();}),_0x5f0b85['focusTracker']['add'](this['view']['element']),_0x5f0b85['focusTracker']['on']('change:isFocused',(_0x166316,_0x440e68,_0x122b29)=>{_0x122b29||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0x473a8c{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|
|
23
|
+
import{ContextPlugin as _0x56b782,Plugin as _0x19341c,PendingActions as _0x5e3152,Context as _0x5d5394}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5b994f,CKEditorError as _0x2b4c1a,Collection as _0x3ca9e9,global as _0x3d1191,version as _0x45cdfc,uid as _0x42c77e,KeystrokeHandler as _0x32ce2b}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2813f5,View as _0x1e867e,ListView as _0x4af250,ListItemView as _0x48f89e,LabelView as _0x2df49d,BalloonPanelView as _0x39d104,clickOutsideHandler as _0x3f118c,BodyCollection as _0x2bbc41}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x330ca4,History as _0x5862fd,NoOperation as _0x4723a8,InsertOperation as _0x5c51d2,MarkerOperation as _0x4c1e0d,RootAttributeOperation as _0x3307e4,transformOperationSets as _0x2962d8,OperationFactory as _0x23d71a}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0xd6965f}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0xd47a40,WEB_SOCKET_GATEWAY_STATES as _0xe9981e,CollaborativeEditingService as _0x33b171,User as _0x17aad5,CommentsService as _0x5bcff5,TrackChangesService as _0x237519,RevisionHistoryService as _0x491b79,EditorService as _0x2d90a6}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x38bcb4,UserView as _0x44a9ad}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x5d01fd}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x2d7d19,TrackChanges as _0x1a2f4d}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x5d2c1b,Comments as _0x9134b,CommentsEditing as _0x3a2eff}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x49747b}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x2f2328}from'es-toolkit/compat';class z extends _0x56b782{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0xd47a40)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0xd6965f,_0x2813f5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x362ab7){super(_0x362ab7),this['set']('state',_0xe9981e['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5b994f())();}['init'](){const _0xed19f0=this['context'],_0x54304f=_0xed19f0['plugins']['get'](_0xd6965f),_0x10e517=_0xed19f0['plugins']['get'](_0x2813f5);if(!_0x54304f['token'])throw new _0x2b4c1a('websocketgateway-missing-token',this);if(!_0x54304f['webSocketUrl'])throw new _0x2b4c1a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),z['WebSocketGateway']['connect'](_0x54304f['token'],_0x54304f['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x23743e=>{if(this['connection']=_0x23743e,this['bind']('state')['to'](_0x23743e,'state',this,'_isBrowserOffline',(_0x43680a,_0x14fd81)=>('connected'!==_0x43680a&&(this['_shouldPluginsReconnect']=!0x0),_0x14fd81||_0x43680a!==_0xe9981e['CONNECTED']?_0xe9981e['DISCONNECTED']:this['state']==_0xe9981e['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xe9981e['CONNECTING']):_0xe9981e['CONNECTED'])),this['connection']['on']('error',(_0x4e8ec5,_0x2b1660)=>{if('limitExceeded'!==_0x2b1660['code'])throw console['error'](_0x2b1660),new _0x2b4c1a('cloudservices-init',null,{'originalError':_0x2b1660});_0x10e517['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'});}),!_0x23743e['me'])return new Promise(_0x4a4963=>_0x23743e['on']('change:me',_0x4a4963));})['catch'](_0x2e17a6=>{throw console['error'](_0x2e17a6),new _0x2b4c1a('cloudservices-init',null,{'originalError':_0x2e17a6});});}['addToReconnectionStack'](_0x30911d){if('function'!=typeof _0x30911d['reconnect'])throw new _0x2b4c1a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x30911d))throw new _0x2b4c1a('websocketgateway-plugin-already-registered',this,{'name':_0x30911d['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x30911d);}['removeFromReconnectionStack'](_0x44191b){this['_reconnectionStack']['delete'](_0x44191b);}['isInReconnectionStack'](_0x5008f3){return this['_reconnectionStack']['has'](_0x5008f3);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x43d0d0=>_0x43d0d0['reconnect']())))['then'](()=>this['state']=_0xe9981e['CONNECTED'])['catch'](_0x56e4ac=>{throw console['error'](_0x56e4ac),new _0x2b4c1a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xe9981e['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x56b782{['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,_0x38bcb4];}constructor(_0x545518){super(_0x545518),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3ca9e9(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x38bcb4);}['init'](){const _0x516391=this['context']['plugins']['get'](z);this['listenTo'](_0x516391,'change:state',(_0x412f76,_0x2f3e41,_0x3cc5b1)=>{if('connected'!==_0x3cc5b1)this['channelSessions']['forEach'](_0x4fdf4b=>_0x4fdf4b['clear']()),this['channelConnectedUsers']['forEach'](_0x43be51=>_0x43be51['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x291d84,_0x5ae03f]of this['_registeredSessions'])for(const _0x3f39dc of _0x5ae03f)this['_handleSessionAdd'](_0x291d84,_0x3f39dc);}}),this['_createUser'](_0x516391['connection']['me'],!0x0);}['register'](_0x2db6de,_0x2203f8){if(this['_registeredSessions']['has'](_0x2db6de))throw new _0x2b4c1a('sessions-register-already-registered',null,{'channelId':_0x2db6de});this['_registeredSessions']['set'](_0x2db6de,_0x2203f8),this['channelSessions']['set'](_0x2db6de,new _0x3ca9e9()),this['channelConnectedUsers']['set'](_0x2db6de,new _0x3ca9e9()),this['listenTo'](_0x2203f8,'add',(_0x88b032,_0x26a0de)=>this['_handleSessionAdd'](_0x2db6de,_0x26a0de)),this['listenTo'](_0x2203f8,'remove',(_0x40cb51,_0x832f53)=>this['_handleSessionRemove'](_0x2db6de,_0x832f53));for(const _0x99f4a0 of _0x2203f8)this['_handleSessionAdd'](_0x2db6de,_0x99f4a0);}['unregister'](_0x3505fd){if(!this['_registeredSessions']['has'](_0x3505fd))throw new _0x2b4c1a('sessions-unregister-not-exist',null,{'channelId':_0x3505fd});const _0x279679=this['_registeredSessions']['get'](_0x3505fd);this['stopListening'](_0x279679);for(const _0x44fe0c of _0x279679)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x3505fd,_0x44fe0c);this['_registeredSessions']['delete'](_0x3505fd),this['channelSessions']['delete'](_0x3505fd),this['channelConnectedUsers']['delete'](_0x3505fd);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x2d4b11){for(const _0x1d125b of this['channelSessions']['values']())for(const _0xcf1439 of _0x1d125b)if(_0xcf1439['id']===_0x2d4b11)return _0xcf1439['user'];}['getUserSessions'](_0x14ac03,_0x361f2f){const _0x43c4ae=_0x361f2f?[this['channelSessions']['get'](_0x361f2f)]:this['channelSessions']['values'](),_0x2f5d51=new Set();for(const _0x1e733a of _0x43c4ae)for(const _0x2c04ad of _0x1e733a)_0x2c04ad['user']['id']===_0x14ac03['id']&&_0x2f5d51['add'](_0x2c04ad['id']);return _0x2f5d51;}['getUserRole'](_0x14493a){for(const _0x26b69f of this['channelSessions']['values']())for(const _0x502830 of _0x26b69f)if(_0x502830['user']===_0x14493a)return _0x502830['role'];}['_handleSessionAdd'](_0x2e45e4,_0x48e9aa){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x125708=_0x48e9aa['user'],_0x287d8a=this['_users']['getUser'](_0x125708['id'])||this['_createUser'](_0x125708),_0x248a2f=Object['assign']({},_0x48e9aa,{'user':_0x287d8a});if(this['channelSessions']['get'](_0x2e45e4)['add'](_0x248a2f),!_0x125708['hiddenInPresenceList']){const _0x43c0dd=this['channelConnectedUsers']['get'](_0x2e45e4);_0x43c0dd['has'](_0x287d8a['id'])||_0x43c0dd['add'](_0x287d8a),this['allConnectedUsers']['has'](_0x287d8a['id'])||_0x125708['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x287d8a,_0x287d8a['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2e45e4,{'channelId':_0x2e45e4,'session':_0x248a2f});}['_handleSessionRemove'](_0x3bbfcd,_0x252e0d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x486b20=this['channelConnectedUsers']['get'](_0x3bbfcd),_0x35128b=_0x252e0d['user'];_0x35128b['id']&&(this['channelSessions']['get'](_0x3bbfcd)['remove'](_0x252e0d['id']),_0x486b20['has'](_0x35128b['id'])&&!this['getUserSessions'](_0x35128b,_0x3bbfcd)['size']&&_0x486b20['remove'](_0x35128b['id']),this['allConnectedUsers']['get'](_0x35128b['id'])&&!this['getUserSessions'](_0x35128b)['size']&&this['allConnectedUsers']['remove'](_0x35128b['id']));}['_createUser'](_0x2a2797,_0x6f71fd){const _0x5e27fe=this['_users']['addUser'](_0x2a2797);return _0x6f71fd&&this['_users']['defineMe'](_0x2a2797['id']),_0x5e27fe['orderNumber']=this['_uniqueUsersCount']++,_0x5e27fe;}}class K extends _0x19341c{['_domEmitter']=new(_0x5b994f())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3c0fd1=this['editor'],_0x91ea5d=_0x3c0fd1['plugins']['get'](Y);_0x3c0fd1['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3b6553,{writer:_0x2edf0d})=>function(_0x48960a,_0x34445c,_0x4eea54,_0x5ba0be){const _0x41bfa5=_0x48960a['markerName']['split'](':')[0x2],_0x57e87a=_0x4eea54['getUserBySessionId'](_0x41bfa5);if(!_0x57e87a||_0x41bfa5===_0x4eea54['mySessionId'])return;if(!_0x5ba0be['model']['schema']['checkChild'](_0x48960a['markerRange']['start'],'$text'))return;const _0x59a9f7={'class':'ck-user__marker\x20'+_0x57e87a['color']['getMarkerClass'](),'style':Q(_0x57e87a),'data-name':_0x57e87a['name'],'data-session-id':_0x41bfa5},_0x2487ae=_0x5ba0be['model']['markers']['get'](_0x48960a['markerName']),_0x3f4c46=_0x2487ae['getStart'](),_0x10b524=_0x3f4c46['nodeAfter'],_0x319337=_0x5ba0be['model']['schema'];if(_0x10b524&&_0x319337['isObject'](_0x10b524)&&_0x319337['isInline'](_0x10b524)&&!_0x5ba0be['model']['markers']['get']('user:range:'+_0x41bfa5)['getRange']()['isCollapsed'])return;const _0xcae081=_0x3f4c46['parent'];return _0x5ba0be['model']['schema']['isLimit'](_0xcae081)&&!_0x5ba0be['model']['hasContent'](_0xcae081)&&(_0x59a9f7['contenteditable']=!0x1),function(_0x2ec1f5,_0x56bdff,_0x260f64){const _0x1ddc3c=_0x2ec1f5['createUIElement']('span',_0x56bdff);return _0x2ec1f5['setCustomProperty']('userPositionMarker',!0x0,_0x1ddc3c),_0x1ddc3c['render']=function(_0x1105dc){const _0x431cd9=this['toDomElement'](_0x1105dc),_0x5abd3e=document['createElement']('span');return _0x5abd3e['classList']['add']('ck-user__marker-tooltip'),_0x5abd3e['setAttribute']('contenteditable','false'),_0x5abd3e['setAttribute']('spellcheck','false'),_0x5abd3e['textContent']=_0x260f64['name'],_0x431cd9['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5abd3e['outerHTML']+'',_0x431cd9['addEventListener']('mouseenter',()=>{_0x431cd9['classList']['add']('ck-user__marker_hovered');}),_0x431cd9['addEventListener']('mouseleave',()=>{_0x431cd9['classList']['remove']('ck-user__marker_hovered');}),_0x431cd9;},_0x1ddc3c['isSimilar']=function(_0x273a9d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x273a9d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x273a9d['getAttribute']('data-session-id'));},_0x1ddc3c;}(_0x34445c,_0x59a9f7,_0x57e87a);}(_0x3b6553,_0x2edf0d,_0x91ea5d,_0x3c0fd1)}),_0x3c0fd1['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2d46b8=>function(_0x5cf678,_0x15e763){const _0x2e0d28=_0x5cf678['markerName']['split'](':')[0x2];if(_0x2e0d28===_0x15e763['mySessionId'])return null;const _0x2d415a=_0x15e763['getUserBySessionId'](_0x2e0d28);if(!_0x2d415a)return{'id':_0x2e0d28,'classes':[]};return{'id':_0x2e0d28,'classes':['ck-user__selection',_0x2d415a['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2d415a),'data-session-id':_0x2e0d28},'priority':0x7d0+_0x2d415a['orderNumber']};}(_0x2d46b8,_0x91ea5d)}),function(_0x343ce4){const _0x5689ec=_0x343ce4['model'],_0x3ccc83=new Map(),_0x1de9e7=_0x343ce4['plugins']['get'](Y);_0x5689ec['markers']['on']('update:user:range',(_0x1e4410,_0x426fad,_0xf2574b,_0x11f776)=>{if(!_0x11f776&&_0x3ccc83['get'](_0x426fad['name']))return _0x3ccc83['get'](_0x426fad['name'])['detach'](),void _0x3ccc83['delete'](_0x426fad['name']);const _0xf35cfe=_0x426fad['name']['split'](':')[0x2];if(_0xf35cfe===_0x1de9e7['mySessionId'])return;const _0x17aaad='user:position:'+_0xf35cfe;_0x5689ec['markers']['has'](_0x17aaad)&&_0x343ce4['editing']['reconvertMarker'](_0x17aaad),_0x426fad['on']('change:range',(_0x5aab8e,_0x40885a,_0x103936)=>{if('$graveyard'!=_0x40885a['root']['rootName']&&'$graveyard'==_0x426fad['getRange']()['root']['rootName']&&!_0x3ccc83['has'](_0x426fad['name'])){const _0x43f5fb=_0x5689ec['schema']['getNearestSelectionRange'](_0x103936['deletionPosition']);if(_0x43f5fb){const _0x1afe02=_0x330ca4['fromRange'](_0x43f5fb);_0x3ccc83['set'](_0x426fad['name'],_0x1afe02),_0x1afe02['on']('change:range',(_0x6eae5,_0x2e5056,_0x2fc4f3)=>{if('$graveyard'==_0x1afe02['root']['rootName']){const _0x41bf8e=_0x5689ec['schema']['getNearestSelectionRange'](_0x2fc4f3['deletionPosition']);_0x41bf8e?(_0x1afe02['start']=_0x41bf8e['start'],_0x1afe02['end']=_0x41bf8e['end']):(_0x3ccc83['delete'](_0x426fad['name']),_0x1afe02['detach']());}});}}});}),_0x5689ec['document']['on']('change',()=>{_0x3ccc83['size']>0x0&&_0x5689ec['enqueueChange']({'isUndoable':!0x1},_0x18086b=>{for(const [_0x3dd1b0,_0x1e46b0]of _0x3ccc83)'$graveyard'==_0x5689ec['markers']['get'](_0x3dd1b0)['getRange']()['root']['rootName']&&(J(_0x3dd1b0['split'](':')[0x2],_0x1e46b0['toRange'](),_0x5689ec,_0x18086b),_0x1e46b0['detach']());_0x3ccc83['clear']();});});}(_0x3c0fd1),this['_domEmitter']['listenTo'](_0x3d1191['document'],'keydown',(_0x434961,{key:_0x39d5e1})=>{'Escape'===_0x39d5e1&&function(_0x2514cf){_0x2514cf['editing']['view']['change'](_0x2db82a=>{for(const _0x3a1a81 of _0x2514cf['model']['markers']){if(!_0x3a1a81['name']['startsWith']('user:position'))continue;const _0x248eec=_0x2514cf['editing']['mapper']['markerNameToElements'](_0x3a1a81['name']);if(_0x248eec){for(const _0x118587 of _0x248eec)_0x2db82a['removeClass']('ck-user__marker_hovered',_0x118587);}}});}(_0x3c0fd1);},{'useCapture':!0x0});}['afterInit'](){const _0x1e62d7=this['editor'],_0x25bb6a=_0x1e62d7['commands']['get']('undo');_0x25bb6a&&_0x1e62d7['model']['on']('applyOperation',(_0x529308,_0x278f23)=>{const _0x50846d=_0x278f23[0x0];if(!_0x50846d['isDocumentOperation'])return;if('marker'!=_0x50846d['type']||!_0x50846d['name']['startsWith']('user:'))return;const _0x2cfb1a=_0x50846d['batch'];_0x25bb6a['_createdBatches']['has'](_0x2cfb1a)&&(_0x50846d['newRange']=_0x50846d['oldRange']?_0x1e62d7['model']['createRange'](_0x50846d['oldRange']['start'],_0x50846d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3f5e03=this['editor'],_0x384dbe=_0x3f5e03['model']['document'],_0xc21942=_0x3f5e03['plugins']['get'](Y);_0x3f5e03['model']['enqueueChange']({'isUndoable':!0x1},_0x3da481=>{const _0xf0c852='user:range:'+_0xc21942['mySessionId'],_0x2629c8='user:position:'+_0xc21942['mySessionId'],_0x5208c1=_0x3f5e03['model']['markers']['has'](_0xf0c852);_0x3f5e03['editing']['view']['hasDomSelection']?J(_0xc21942['mySessionId'],_0x384dbe['selection']['getFirstRange'](),_0x3f5e03['model'],_0x3da481):_0x5208c1&&(_0x3da481['removeMarker'](_0xf0c852),_0x3da481['removeMarker'](_0x2629c8));});}}function J(_0x37b9a0,_0x4f49a8,_0x5c3cd6,_0x5399cc){const _0x4fe058='user:range:'+_0x37b9a0,_0x16ff79='user:position:'+_0x37b9a0,_0x47f7ea=_0x4f49a8['getContainedElement']();let _0x4e9c6e=_0x4f49a8['start'];if(_0x47f7ea&&_0x47f7ea['is']('element','tableCell')){const _0x28953b=function(_0x5ce646,_0x418d34){for(const _0x501859 of _0x5ce646['getPositions']())if(_0x418d34['schema']['checkChild'](_0x501859,'$text'))return _0x501859;}(_0x4f49a8,_0x5c3cd6);_0x28953b&&(_0x4e9c6e=_0x28953b,_0x4f49a8=_0x5399cc['createRange'](_0x4e9c6e));}const _0x2982d6=_0x5399cc['createRange'](_0x4e9c6e);_0x5c3cd6['markers']['has'](_0x4fe058)?(_0x5399cc['updateMarker'](_0x4fe058,{'range':_0x4f49a8}),_0x5399cc['updateMarker'](_0x16ff79,{'range':_0x2982d6})):(_0x5399cc['addMarker'](_0x4fe058,{'range':_0x4f49a8,'usingOperation':!0x0}),_0x5399cc['addMarker'](_0x16ff79,{'range':_0x2982d6,'usingOperation':!0x0}));}function Q(_0x4521fe){return'--ck-user-color:'+_0x4521fe['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4521fe['color']['getColorAlphaVariable']()+';';}function X(_0x390701,_0x30b8e9,_0x4f7324){const _0x41c40d=_0x390701['t'],t=_0x390701['t'];switch(_0x30b8e9){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 _0x41c40d({'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'},_0x4f7324);default:return'';}}let Z=0x1;class tt extends _0x19341c{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x33b171)());['_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,_0x5e3152,_0x38bcb4,_0x2813f5];}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 _0x31074c=this['serverHistory']['getOperations']();for(let _0x20af7a=_0x31074c['length']-0x1;_0x20af7a>=0x0;_0x20af7a--){const _0x11c990=_0x31074c[_0x20af7a];if(!this['_disconnectionOperations']['has'](_0x11c990))return _0x11c990['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x34eca0){if(super(_0x34eca0),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5862fd(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2b4c1a('collaboration-missing-channelid',this);const _0x4e8826=_0x34eca0['config']['get']('cloudServices.bundleVersion')||_0x45cdfc;this['_service']=new tt['CollaborativeEditingService'](_0x4e8826,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5d01fd(),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 _0xc2ddc7=this['editor'],_0x278114=_0xc2ddc7['plugins']['get'](_0x38bcb4),_0x4d6120=_0xc2ddc7['plugins']['get'](z);this['listenTo'](_0x278114,'getOperationAuthor',(_0x1d777d,_0x9cf90f)=>{const _0xb91109=_0x9cf90f[0x0];_0xb91109['_authorId']&&(_0x1d777d['return']=_0x278114['getUser'](_0xb91109['_authorId']),_0x1d777d['stop']()),null===_0xb91109['_authorId']&&(_0x1d777d['return']=null,_0x1d777d['stop']());},{'priority':'high'}),this['listenTo'](_0xc2ddc7['model']['document']['selection'],'change:range',(_0x49bc20,_0x1915ef)=>{_0x1915ef['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xc2ddc7['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xc2ddc7['model']['on']('applyOperation',(_0x20be69,_0x336e66)=>{const _0x15c513=_0x336e66[0x0];_0x15c513['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x15c513),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4d6120,'state',this,'_hasSynchronizationProblem',(_0x44605f,_0x4706b4)=>'connected'===_0x44605f&&!_0x4706b4),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xc2ddc7['disableReadOnlyMode']('rtc-offline'):_0xc2ddc7['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xc2ddc7['disableReadOnlyMode']('rtc-offline'):_0xc2ddc7['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x516bba=this['editor']['plugins']['get'](Y),_0x1ae683=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x516bba['unregister'](this['_channelId']);const _0x3d6159=await this['_service']['reconnect'](_0x1ae683['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3d6159)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x470305=await this['_service']['getConnectedSessions']();_0x516bba['register'](this['_channelId'],_0x470305),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3849b4){if(function(_0x314e30){return'404'===_0x314e30['code'];}(_0x3849b4)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x12d4af){return'409'===_0x12d4af['code'];}(_0x3849b4)){const _0x2d1866=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'](_0x2d1866);}else{if(!(_0x3849b4 instanceof et))throw _0x3849b4;this['_handleReconnectionError']();}}}}['destroy'](){const _0x198d09=this['editor']['plugins']['get'](z),_0x157ace=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x157ace['channelSessions']['has'](this['_channelId'])&&_0x157ace['unregister'](this['_channelId']),_0x198d09['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x18e6a5){if(this['sessionId']!==_0x18e6a5['sessionId']&&this['_lastSyncedOperationId']!==_0x18e6a5['lastOperationId'])throw new et();return this['sessionId']=_0x18e6a5['sessionId'],this['_handleServerResponse']([],{..._0x18e6a5,'wereChangesApplied':!0x1,'data':_0x18e6a5['data']},'reconnect');}async['_connectService'](_0xcc972c,_0x2eca72=!0x1){const {connection:_0x115bec}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x115bec,this['_channelId'])['then'](_0xb969de=>this['_initSessionsHandling'](_0xb969de))['catch'](_0x4b504d=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4b504d);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4adcff,_0x40d952)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x40d952);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x56d3fd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xcc972c);this['_isPendingUpdate']=!0x0;const _0x3b01bc=await this['_service']['connect'](_0x115bec,this['_compressOperations'](_0xcc972c),_0x56d3fd);if(this['sessionId']=_0x3b01bc['sessionId'],_0x2eca72){if(!_0x3b01bc['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3b01bc['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xcc972c,_0x3b01bc,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3b01bc,_0xcc972c);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x450495=this['editor']['plugins']['get'](Y),_0x59284d=this['editor']['plugins']['get'](K),_0x91b566=_0x450495['channelSessions']['get'](this['_channelId']);_0x91b566&&_0x91b566['length']>0x1?_0x59284d['createUserMarkerOperations']():this['listenTo'](_0x450495,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x450495['channelSessions']['get'](this['_channelId'])['length']&&_0x59284d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x51ebde,_0x304be8,_0x56bc74,_0x51967d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x304be8){const _0x2bbd75=this['_decompressOperations'](_0x56bc74,_0x51967d);await this['_fetchMissingUsers'](_0x2bbd75),this['_handleExternalOperations'](_0x2bbd75,_0x304be8,_0x56bc74['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x591134}=this['editor'];let _0x1d9751;try{_0x1d9751=await this['_service']['getDocumentDetails']();}catch{const _0x537d13=X(_0x591134,'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'](_0x537d13);}const _0x246d9e=_0x1d9751['currentDocumentSession']||_0x1d9751['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x246d9e['lastOperationId']){const _0x1b4fab=X(_0x591134,'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'](_0x1b4fab);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x394e71){const _0x34039a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x34039a,'sessionAdd:'+this['_channelId'],(_0x46b29b,{session:_0x27e5ff})=>{if(_0x27e5ff['id']===_0x34039a['mySessionId']){_0x46b29b['off']();const _0x37250d=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x92e1f4=_0x27e5ff['permissions'];_0x37250d&&_0x37250d['isEnabled']&&(_0x92e1f4=_0x92e1f4['filter'](_0x4a41d0=>'document:write'!==_0x4a41d0)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x92e1f4,this['_channelId']);}}),_0x34039a['register'](this['_channelId'],_0x394e71);}['_initThrowingOnDataSet'](){const _0x55e2b6=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x49e392)=>{if(!_0x49e392[_0x49e392['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2b4c1a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x55e2b6['apply'](this['editor']['data'],_0x49e392);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x505a00,[_0x5705f2])=>{if(this['_document']['version'])throw new _0x2b4c1a('realtimecollaborationclient-init-document-already-initialized',this);_0x505a00['stop'](),this['_setPendingAction']();const _0x31a6c2=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1dc15d])=>!_0x1dc15d['lazyLoad'])['map'](([_0xedde9b,_0x11a53e])=>[_0xedde9b,_0x11a53e['modelAttributes']||{}])),_0x12906a=this['_getOperationsFromInitData'](_0x5705f2,_0x31a6c2);0x0==_0x12906a['length']&&_0x12906a['push'](new _0x4723a8(0x0)),_0x505a00['return']=this['_connectService'](_0x12906a)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x59ae4c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x59ae4c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1397ef,[_0x496186,_0x47a695])=>{_0x1397ef['stop']();const _0x329db7=this['editor']['model']['document']['getRoot'](_0x496186);if(!this['_knownRootNames']['has'](_0x496186)){const _0x3d8f12=_0x47a695&&_0x47a695['data']?_0x47a695['data']:'',_0xcc55bb=_0x47a695&&_0x47a695['attributes']?_0x47a695['attributes']:{};await this['_loadRoot'](_0x496186,_0x3d8f12,_0xcc55bb);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x329db7['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x329db7);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x9b61d9){const _0x13ab50=this['editor']['plugins']['get'](_0x38bcb4),{connection:_0x5973de}=this['editor']['plugins']['get'](z),_0x3cc83a=new Set();for(const _0x39757c of _0x9b61d9){const _0x36d2cb=_0x39757c['_authorId'];_0x36d2cb&&!_0x13ab50['getUser'](_0x36d2cb)&&_0x3cc83a['add'](_0x36d2cb);}if(0x0===_0x3cc83a['size'])return;const _0x36db29=await _0x17aad5['getMany'](_0x5973de,Array['from'](_0x3cc83a));for(const _0x31e267 of _0x36db29)_0x13ab50['getUser'](_0x31e267['id'])||_0x13ab50['addUser'](_0x31e267);}['_getOperationsFromInitData'](_0x2e6e6d,_0x4540d7={}){const _0x1f6ed5=this['editor']['model'],_0x49eba6=[];let _0xc39a58=0x0;const _0xa8fcd0='string'==typeof _0x2e6e6d?{'main':_0x2e6e6d}:_0x2e6e6d;for(const _0x437b62 of Object['keys'](_0xa8fcd0)){if(!this['_document']['roots']['has'](_0x437b62))throw new _0x2b4c1a('realtimecollaborationclient-init-non-existent-root',this);const _0x3dded7=this['editor']['data']['parse'](_0xa8fcd0[_0x437b62]),_0x4a4265=this['_document']['getRoot'](_0x437b62),_0x5e211a=new _0x5c51d2(_0x1f6ed5['createPositionAt'](_0x4a4265,0x0),_0x3dded7,_0xc39a58++);_0x49eba6['push'](_0x5e211a);for(const [_0x6886af,_0xfa0c72]of _0x3dded7['markers']){const _0x15ff30=_0x1f6ed5['createRange'](_0x1f6ed5['createPositionFromPath'](_0x4a4265,_0xfa0c72['start']['path']['slice']()),_0x1f6ed5['createPositionFromPath'](_0x4a4265,_0xfa0c72['end']['path']['slice']())),_0x3b881e=new _0x4c1e0d(_0x6886af,null,_0x15ff30,_0x1f6ed5['markers'],!0x0,_0xc39a58++);_0x49eba6['push'](_0x3b881e);}}if(_0x4540d7)for(const [_0x5ecc21,_0x1fff34]of Object['entries'](_0x4540d7)){const _0x4c79c2=_0x1f6ed5['document']['getRoot'](_0x5ecc21);if(!_0x4c79c2)throw new _0x2b4c1a('multi-root-editor-root-attributes-no-root',null);for(const [_0x29480b,_0x3d944c]of Object['entries'](_0x1fff34))if(null!==_0x3d944c){const _0x51bdd5=new _0x3307e4(_0x4c79c2,_0x29480b,null,_0x3d944c,_0xc39a58++);_0x49eba6['push'](_0x51bdd5);}}return _0x49eba6;}async['_loadRoot'](_0x4ed1f7,_0x3185bf,_0x5821ef){this['_getOperationsFromInitData']({[_0x4ed1f7]:_0x3185bf},{[_0x4ed1f7]:_0x5821ef})['forEach']((_0x4c1571,_0x57a797)=>{_0x4c1571['baseVersion']=this['_document']['version']+_0x57a797,_0x4c1571['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4c1571);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x21edb3,_0x539bdb){let _0xb198d7;this['_offset']=_0x21edb3['offset'];const _0x40b144=_0x21edb3['wereChangesApplied']&&!_0x21edb3['initData'],_0x3cb272=_0x40b144?0x0:_0x21edb3['data']['baseVersion'];if(_0x539bdb['forEach'](_0x160298=>{_0x160298['_isInit']=!0x0,_0x160298['createdAt']=_0x21edb3['sessionCreatedAt'],_0x160298['_authorId']=null;}),_0x40b144)_0xb198d7=_0x539bdb,this['_applyOperationsSet'](_0xb198d7,_0x40b144);else{if(_0x21edb3['initData']){const _0x1d623a=this['_getOperationsFromInitData'](_0x21edb3['initData']);this['_document']['history']['version']=-_0x1d623a['length'],_0x1d623a['forEach'](_0x2d88b6=>{_0x2d88b6['baseVersion']-=_0x1d623a['length'],_0x2d88b6['createdAt']=_0x21edb3['sessionCreatedAt'],_0x2d88b6['_isInit']=!0x0,_0x2d88b6['_authorId']=null;}),this['_applyOperationsSet'](_0x1d623a,!0x0),this['serverHistory']['version']=-_0x1d623a['length']+this['_offset'],this['_updateServerHistory'](_0x1d623a);}this['_document']['history']['version']=_0x3cb272,_0xb198d7=this['_decompressOperations'](_0x21edb3['data'],_0x21edb3['metadata']),await this['_fetchMissingUsers'](_0xb198d7),this['_applyOperationsSet'](_0xb198d7,_0x40b144);}_0x21edb3['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xb198d7,_0x21edb3['lastOperationId']),this['_lastSyncedOperationId']=_0x21edb3['lastOperationId']),this['serverHistory']['version']=_0x3cb272+this['_offset'],this['_updateServerHistory'](_0xb198d7),_0x539bdb['filter'](_0x35a481=>{const _0x41c8c1=this['_getAffectedRoot'](_0x35a481);return _0x41c8c1&&!this['_knownRootNames']['has'](_0x41c8c1);})['forEach']((_0x5404bb,_0x175fe9)=>{_0x5404bb['baseVersion']=this['_document']['version']+_0x175fe9,this['_saveOperationInBuffer'](_0x5404bb);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x453a24,_0x5e6e00){const _0x4d7c3a=_0x5e6e00&&_0x5e6e00['message'];if(_0x4d7c3a&&_0x4d7c3a['startsWith']('realtimecollaborationclient'))throw _0x5e6e00;const _0x2e53d6=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2e53d6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2b4c1a(_0x453a24,this['editor'],_0x4d7c3a?{'originalError':_0x4d7c3a}:void 0x0);}['_saveOperationInBuffer'](_0x289a2b){this['_knownOperations']['has'](_0x289a2b)||(this['_knownOperations']['add'](_0x289a2b),this['_bufferedOperations']['push'](_0x289a2b),this['_pendingAction']||'marker'==_0x289a2b['type']&&!_0x289a2b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x31f720=!0x1){!_0x31f720&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x203d64=>{_0x203d64&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x460845=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x26a0cd){return _0x26a0cd['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x26a0cd['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x26a0cd['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x460845)||this['_crash'](_0x460845['message'],_0x460845);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3a9992=>{this['on']('change:_isPendingUpdate',()=>{_0x3a9992();});});}async['_sendBufferedOperations'](){const _0x3e9b4b=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x3e9b4b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1f8207=[...this['_bufferedOperations']];for(const _0x17dbc4 of _0x1f8207)_0x17dbc4['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x17dbc4);const _0x10e0f6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1f8207),_0x3ae560=Z++,_0xabb57c=this['_compressOperations'](_0x1f8207),_0xda266c=await this['_service']['sendOperations'](_0xabb57c,_0xabb57c['baseVersion'],_0x10e0f6);try{return await this['_handleServerResponse'](_0x1f8207,_0xda266c,_0x3ae560);}catch(_0x3d35c2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3d35c2);}}async['_handleServerResponse'](_0x47e025,_0x4c081e,_0x25abe1){if('error'in _0x4c081e)throw _0x4c081e['error'];let _0x1fb41d=!0x1;if(_0x4c081e['wereChangesApplied']){_0x4c081e['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4c081e['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x474859=>!_0x47e025['includes'](_0x474859));for(const _0x19f207 of _0x47e025)_0x19f207['createdAt']='lastOperationAcceptedAt'in _0x4c081e&&_0x4c081e['lastOperationAcceptedAt']||void 0x0;st(_0x47e025,_0x4c081e['version']-_0x47e025['length']),this['_updateServerHistory'](_0x47e025);const _0x47f890=_0x47e025['filter'](_0x2d6adc=>{if(!_0x2d6adc['_isInit'])return!0x1;const _0x135b76=this['_getAffectedRoot'](_0x2d6adc);return _0x135b76&&!this['_knownRootNames']['has'](_0x135b76);});st(_0x47f890,this['_document']['version']),this['_applyOperationsSet'](_0x47f890),_0x1fb41d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3a7bb8=this['_decompressOperations'](_0x4c081e['data'],_0x4c081e['metadata'])['filter'](_0x26da24=>_0x26da24['baseVersion']>=this['_lastServerVersion']);_0x3a7bb8['forEach'](_0x291aed=>this['_addKnownRoot'](_0x291aed)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4742cc=>!_0x4742cc['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4742cc))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3a7bb8),_0x1fb41d=this['_handleExternalOperations'](_0x3a7bb8,_0x4c081e['version'],_0x4c081e['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1fb41d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x45a551,_0x1ee161,_0x5cc09c){try{const _0x56bf70={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x55440c,operationsB:_0x31d330,originalOperations:_0x5d61ab}=_0x2962d8(_0x45a551,this['_bufferedOperations'],_0x56bf70);st(_0x55440c,this['_document']['version']),st(_0x31d330,_0x1ee161);for(const _0x356bd5 of _0x55440c){const _0x4c8543=_0x5d61ab['get'](_0x356bd5);_0x356bd5['_authorId']=_0x4c8543?_0x4c8543['_authorId']:null;}_0x5cc09c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x45a551,_0x5cc09c),this['_lastSyncedOperationId']=_0x5cc09c),this['_bufferedOperations']=[..._0x31d330],this['_applyOperationsSet'](_0x55440c),this['_updateServerHistory'](_0x45a551);}catch(_0x58bb01){return console['error'](_0x58bb01),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2859ec,_0x5e90c9=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4f2ae9=>{for(const _0x2e3b60 of _0x2859ec)this['_knownOperations']['add'](_0x2e3b60),this['_addKnownRoot'](_0x2e3b60),_0x4f2ae9['batch']['addOperation'](_0x2e3b60),this['editor']['model']['applyOperation'](_0x2e3b60);});}['_addKnownRoot'](_0x21a7c4){const _0x301f76=this['_getAffectedRoot'](_0x21a7c4);_0x301f76&&this['_knownRootNames']['add'](_0x301f76);}['_getAffectedRoot'](_0x4a1c8c){let _0x4cee27,_0x364697;switch(_0x4a1c8c['type']){case'insert':_0x4cee27=_0x4a1c8c['position']['root'];break;case'marker':if(_0x364697=_0x4a1c8c['newRange'],!_0x364697)return null;_0x4cee27=_0x364697['root'];break;case'addRootAttribute':_0x4cee27=_0x4a1c8c['root'];break;case'addRoot':_0x4cee27=_0x4a1c8c['affectedSelectable'];break;case'move':_0x4cee27=_0x4a1c8c['targetPosition']['root'];break;default:return null;}return _0x4cee27['rootName'];}['_updateServerHistory'](_0x2638a8){_0x2638a8['forEach'](_0x564cbc=>{const _0x5dbd4f=_0x564cbc['clone']();_0x5dbd4f['_authorId']=_0x564cbc['_authorId'],_0x5dbd4f['_isInit']=!!_0x564cbc['_isInit'],_0x5dbd4f['createdAt']=_0x564cbc['createdAt'],_0x5dbd4f['baseVersion']+=this['_offset'],_0x564cbc['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5dbd4f),this['serverHistory']['addOperation'](_0x5dbd4f);});}['_handleReconnectionError'](_0x545970){const _0x7d575b=this['editor']['plugins']['get']('Notification'),_0x998fcb=this['editor']['locale'];_0x545970||(_0x545970=X(_0x998fcb,'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.')),_0x7d575b['showWarning'](_0x545970,{'title':X(_0x998fcb,'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'](_0x5e3152)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5e3152)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5bffe6){const _0x5bad5b=_0x5bffe6['map'](_0xf0ce8a=>_0xf0ce8a['toJSON']());return this['_compressor']['compress'](_0x5bad5b);}['_decompressOperations'](_0x2a122f,_0x572f86){return this['_compressor']['decompress'](_0x2a122f)['map']((_0x59a6e9,_0x4e64cf)=>{const _0x21bb3f='init'==_0x572f86[_0x4e64cf]['type'];if('InsertOperation'==_0x59a6e9['__className']){const _0x1372cd=_0x59a6e9['position']['root'];!this['_document']['getRoot'](_0x1372cd)&&(this['_document']['createRoot']('$root',_0x1372cd)['_isAttached']=!0x1);}const _0x5b0bb1=_0x23d71a['fromJSON'](_0x59a6e9,this['_document']);return _0x5b0bb1['wasUndone']=_0x59a6e9['wasUndone'],_0x5b0bb1['_isInit']=_0x21bb3f,_0x5b0bb1['_authorId']=_0x21bb3f?null:_0x572f86[_0x4e64cf]['userId'],_0x5b0bb1['_isDisconnection']='cs:removeUser'===_0x572f86[_0x4e64cf]['type'],_0x5b0bb1['createdAt']=_0x572f86[_0x4e64cf]['createdAt'],_0x5b0bb1;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xfeb23b=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xfeb23b&&_0xfeb23b['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0xb822e,_0x3757ae){for(const _0x1c9c89 of _0xb822e)_0x1c9c89['baseVersion']=_0x3757ae++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x26f767){this['_ignoredOperations']=_0x26f767,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3313ba){let _0xfd42ce=_0x3313ba['length'];for(;_0xfd42ce--;){const _0x43e1bc=_0x3313ba[_0xfd42ce];if(!this['_ignoredOperations']['has'](_0x43e1bc)){if(!this['_operationToId']['has'](_0x43e1bc)){const _0x465820=_0x42c77e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x43e1bc,_0x465820);}return this['_operationToId']['get'](_0x43e1bc);}}}['setIdForTheLastOperation'](_0xae00e3,_0x211cf2){if(!_0x211cf2)return;let _0x250ea6=_0xae00e3['length'];for(;_0x250ea6--;){const _0x2d6739=_0xae00e3[_0x250ea6];this['_ignoredOperations']['has'](_0x2d6739)||this['_operationToId']['set'](_0x2d6739,_0x211cf2);}}}class nt extends _0x19341c{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x56b782{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x5bcff5)());['_services'];static get['requires'](){return[z,_0x5d2c1b,Y,_0x38bcb4];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x365f0f){super(_0x365f0f),this['_services']=new Map();}async['init'](){const _0x5aa77e=this['context'],_0x3afcb3=_0x5aa77e['plugins']['get'](_0x5d2c1b);if(_0x5aa77e['plugins']['get'](z)['addToReconnectionStack'](this),_0x3afcb3['adapter']={'addCommentThread':async({channelId:_0x216804,threadId:_0x1da8d9,comments:_0x21b469,resolvedAt:_0x5302f4,resolvedBy:_0x5e1c7c,context:_0x351135,attributes:_0x383a34})=>{const _0x94a9b7=await this['_getService'](_0x216804)['addCommentThread']({'commentThreadId':_0x1da8d9,'comments':_0x21b469['map'](_0x1d423d=>function(_0x405b96,_0x5c8b79,_0xfff8c8){return{'commentThreadId':_0xfff8c8,'commentId':_0x405b96['commentId'],'userId':_0x405b96['authorId'],'content':_0x405b96['content'],'documentId':_0x5c8b79,'createdAt':_0x405b96['createdAt'],'attributes':_0x405b96['attributes']||{}};}(_0x1d423d,_0x216804,_0x1da8d9)),'resolvedAt':_0x5302f4,'resolvedBy':_0x5e1c7c,'context':_0x351135,'attributes':_0x383a34})['catch'](ct);return{'threadId':_0x94a9b7['commentThreadId'],'comments':_0x94a9b7['comments']};},'getCommentThread':async({channelId:_0x1bcb85,threadId:_0x559d27})=>{const _0x234a35=await this['_getService'](_0x1bcb85)['getCommentThread'](_0x559d27)['catch'](rt)['catch'](ct);return _0x234a35?_0x234a35['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x234a35]),{'threadId':_0x234a35['commentThreadId'],'comments':_0x234a35['comments']['map'](at),'context':_0x234a35['context'],'resolvedAt':_0x234a35['resolvedAt'],'resolvedBy':_0x234a35['resolvedBy'],'attributes':_0x234a35['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x506182,threadId:_0x11446d,context:_0xa18d05,unlinkedAt:_0x2f286b,attributes:_0x5179cf})=>this['_getService'](_0x506182)['updateCommentThread']({'commentThreadId':_0x11446d,'context':_0xa18d05,'attributes':_0x5179cf,'unlinkedAt':_0x2f286b})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x44e19c,threadId:_0x4a27c2})=>{const _0x3486bc=await this['_getService'](_0x44e19c)['resolveCommentThread'](_0x4a27c2)['catch'](rt)['catch'](ct);return{'threadId':_0x3486bc['commentThreadId'],'resolvedAt':_0x3486bc['resolvedAt'],'resolvedBy':_0x3486bc['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4903c0,threadId:_0x5b1961})=>this['_getService'](_0x4903c0)['reopenCommentThread'](_0x5b1961)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3772b9,threadId:_0x118ced})=>this['_getService'](_0x3772b9)['removeCommentThread'](_0x118ced)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x55a772,threadId:_0x5b9f50,commentId:_0x380194,content:_0x5cd8fd,attributes:_0x19b38f})=>this['_getService'](_0x55a772)['addComment'](_0x5b9f50,_0x380194,_0x5cd8fd,_0x19b38f)['catch'](ct),'updateComment':({channelId:_0x43e1d,threadId:_0x355836,commentId:_0x2a21c6,content:_0x5001ed,attributes:_0x1ada96})=>this['_getService'](_0x43e1d)['updateComment'](_0x355836,_0x2a21c6,_0x5001ed,_0x1ada96)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x59ed32,threadId:_0x19920f,commentId:_0x1071e0})=>this['_getService'](_0x59ed32)['removeComment'](_0x19920f,_0x1071e0)['catch'](rt)['catch'](ct)},_0x5aa77e instanceof _0x5d5394){const _0x559ce5=_0x5aa77e['config']['get']('collaboration.channelId'),_0x98515f=_0x5aa77e['plugins']['get'](Y);await this['_setUpService'](_0x559ce5);const _0x1bc9c4=await this['_services']['get'](_0x559ce5)['getConnectedSessions']();this['listenTo'](_0x98515f,'sessionAdd:'+_0x559ce5,(_0x3f1d6e,{session:_0x1eb6da})=>{_0x1eb6da['id']===_0x98515f['mySessionId']&&(_0x3f1d6e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1eb6da['permissions'],_0x559ce5));}),_0x98515f['register'](_0x559ce5,_0x1bc9c4);}}async['_setUpService'](_0x802a74){if(this['_services']['has'](_0x802a74))throw new _0x2b4c1a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x802a74});const _0x2108f0=this['context']['plugins']['get'](_0x5d2c1b),_0x1356fe=new ot['CommentsService'](_0x802a74);this['_services']['set'](_0x802a74,_0x1356fe),this['listenTo'](_0x1356fe,'commentThreadAdded',(_0x5f5c48,_0x17ab73)=>{const {commentThreadId:_0x373a8e,documentId:_0x5481f3,context:_0x1fe381,attributes:_0x5f19e5,resolvedAt:_0x55d0aa,resolvedBy:_0x2bf8fe,comments:_0x2cf99f}=_0x17ab73;_0x2108f0['getCommentThread'](_0x373a8e)||_0x2108f0['addCommentThread']({'threadId':_0x373a8e,'channelId':_0x5481f3,'comments':_0x2cf99f?_0x2cf99f['map'](at):[],'context':_0x1fe381,'attributes':_0x5f19e5,'resolvedAt':_0x55d0aa,'resolvedBy':_0x2bf8fe,'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadUpdated',(_0x2f8e7b,{commentThreadId:_0x271fa5,documentId:_0x4f9369,context:_0x2c66a8,unlinkedAt:_0x5994c8,attributes:_0xf637b4})=>{_0x2108f0['getCommentThread'](_0x271fa5)&&_0x2108f0['updateCommentThread']({'threadId':_0x271fa5,'channelId':_0x4f9369,'context':_0x2c66a8,'unlinkedAt':_0x5994c8,'attributes':_0xf637b4,'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadResolved',(_0x1dda72,{commentThreadId:_0x2dff50,resolvedBy:_0x7c0ce6,resolvedAt:_0x8f5efe})=>{const _0x27031e=_0x2108f0['getCommentThread'](_0x2dff50);_0x27031e&&_0x27031e['resolve']({'resolvedBy':_0x7c0ce6,'resolvedAt':_0x8f5efe,'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadReopened',(_0x322ba2,{commentThreadId:_0x52119c})=>{const _0x379732=_0x2108f0['getCommentThread'](_0x52119c);_0x379732&&_0x379732['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentThreadRemoved',(_0x4436d1,{commentThreadId:_0x248003})=>{const _0x180528=_0x2108f0['getCommentThread'](_0x248003);_0x180528&&_0x180528['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentAdded',(_0x69f6f3,_0x13991d)=>{const _0x365d82=_0x13991d['commentThreadId'],_0x5111eb=_0x2108f0['getCommentThread'](_0x365d82);_0x5111eb&&_0x5111eb['addComment']({...at(_0x13991d),'isFromAdapter':!0x0});}),this['listenTo'](_0x1356fe,'commentUpdated',(_0x4bc57f,{commentThreadId:_0x720aa4,commentId:_0x523d14,content:_0x1e4a39,attributes:_0x208475})=>{const _0x1f4f47=_0x2108f0['getCommentThread'](_0x720aa4);if(_0x1f4f47){const _0x41355a=_0x1f4f47['getComment'](_0x523d14);_0x41355a&&_0x41355a['update']({'content':_0x1e4a39,'attributes':_0x208475,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1356fe,'commentRemoved',(_0x1e7234,{commentThreadId:_0xb51800,commentId:_0x15a390})=>{const _0xce1e3a=_0x2108f0['getCommentThread'](_0xb51800);if(_0xce1e3a){const _0x397158=_0xce1e3a['getComment'](_0x15a390);_0x397158&&_0x397158['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x802a74);}['destroy'](){if(this['context']instanceof _0x5d5394){const _0x2daf3f=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2daf3f);}}['_terminateService'](_0x121863){if(!this['_services']['has'](_0x121863))throw new _0x2b4c1a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x121863});this['_getService'](_0x121863)['disconnect'](),this['_services']['delete'](_0x121863);}async['reconnect'](){for(const _0x55b9eb of this['_services']['keys']())await this['_connectService'](_0x55b9eb);if(this['context']instanceof _0x5d5394){const _0x4352d4=this['context']['config']['get']('collaboration.channelId'),_0x4f52b1=this['context']['plugins']['get'](Y);_0x4f52b1['unregister'](_0x4352d4);const _0x359c14=await this['_services']['get'](_0x4352d4)['getConnectedSessions']();_0x4f52b1['register'](_0x4352d4,_0x359c14);}}async['_connectService'](_0x41fc36){const {connection:_0x5bb90e}=this['context']['plugins']['get'](z),_0x45ae3d=this['context']['plugins']['get'](_0x5d2c1b),_0x1af4b4=this['_services']['get'](_0x41fc36),_0x5c38ae=await _0x1af4b4['connect'](_0x5bb90e);await this['_fetchMissingUsersForThreads'](_0x5c38ae);const _0x384c79=new Set(Array['from'](_0x45ae3d['getCommentThreads']({'channelId':_0x41fc36}),_0xea778=>_0xea778['id']));for(const _0x51db64 of _0x5c38ae)_0x51db64['deletedAt']||_0x384c79['delete'](_0x51db64['commentThreadId']);for(const _0x48a4c4 of _0x384c79)_0x45ae3d['getCommentThread'](_0x48a4c4)['remove']({'isFromAdapter':!0x0});for(const _0x2a5910 of _0x5c38ae){let _0x5e583d=_0x45ae3d['getCommentThread'](_0x2a5910['commentThreadId']);const {commentThreadId:_0x3454c9,context:_0x4d759c,attributes:_0x44bc7c,resolvedBy:_0x432ec5,resolvedAt:_0x88a47d,unlinkedAt:_0x5d3243,deletedAt:_0x5a5232}=_0x2a5910;if(_0x5a5232)continue;_0x5e583d||(_0x5e583d=_0x45ae3d['addCommentThread']({'channelId':_0x41fc36,'threadId':_0x3454c9,'context':_0x4d759c,'attributes':_0x44bc7c||{},'resolvedBy':_0x432ec5,'resolvedAt':_0x88a47d,'unlinkedAt':_0x5d3243,'isFromAdapter':!0x0}));const _0x401ec5=new Set(Array['from'](_0x5e583d['comments'],_0x422eda=>_0x422eda['id']));for(const _0x26acbd of _0x2a5910['comments'])_0x401ec5['delete'](_0x26acbd['commentId']);for(const _0x59d8c9 of _0x401ec5)_0x5e583d['getComment'](_0x59d8c9)['remove']({'isFromAdapter':!0x0});for(const _0x45f764 of _0x2a5910['comments']){const _0x218a45=_0x5e583d['getComment'](_0x45f764['commentId']);_0x218a45?_0x218a45['content']!==_0x45f764['content']&&_0x218a45['update']({'content':_0x45f764['content'],'isFromAdapter':!0x0}):_0x5e583d['addComment'](Object['assign'](at(_0x45f764),{'isFromAdapter':!0x0}));}}}['_getService'](_0x23c847){if(!this['_services']['has'](_0x23c847))throw new _0x2b4c1a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x23c847});return this['_services']['get'](_0x23c847);}async['_fetchMissingUsersForThreads'](_0x16d8e1){const _0x108b2e=this['context']['plugins']['get'](_0x38bcb4),{connection:_0x1780f9}=this['context']['plugins']['get'](z),_0x3d917e=new Set();for(const {resolvedBy:_0x347a00,comments:_0xd52f1b}of _0x16d8e1){_0x347a00&&!_0x108b2e['getUser'](_0x347a00)&&_0x3d917e['add'](_0x347a00);for(const {userId:_0x17e938}of _0xd52f1b)_0x108b2e['getUser'](_0x17e938)||_0x3d917e['add'](_0x17e938);}if(0x0===_0x3d917e['size'])return;const _0x31f417=await _0x17aad5['getMany'](_0x1780f9,Array['from'](_0x3d917e));for(const _0x5c779e of _0x31f417)_0x108b2e['getUser'](_0x5c779e['id'])||_0x108b2e['addUser'](_0x5c779e);}}async function rt(_0x8b48a3){if('404'!==_0x8b48a3['code'])throw _0x8b48a3;}function ct(_0x508d51){if((_0x40a586=_0x508d51)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x40a586['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x40a586['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x40a586;throw _0x508d51;}function at(_0x8329a1){return{'threadId':_0x8329a1['commentThreadId'],'commentId':_0x8329a1['commentId'],'content':_0x8329a1['content'],'createdAt':_0x8329a1['createdAt'],'authorId':_0x8329a1['userId'],'attributes':_0x8329a1['attributes']||{}};}class ht extends _0x19341c{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x237519)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x2d7d19,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4a70af){super(_0x4a70af);const _0x54faca=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x54faca);}['init'](){const _0x4b4c38=this['editor']['plugins']['get'](z),_0x21dfcc=this['editor']['plugins']['get'](_0x2d7d19);return _0x21dfcc['adapter']={'getSuggestion':async _0x4a7969=>{await this['_waitForServiceReady']();const _0x3750e2=await this['_trackChangesService']['get'](_0x4a7969)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3750e2]),_0x3750e2;},'addSuggestion':async({id:_0xdb914e,type:_0x4297f0,data:_0x596336,originalSuggestionId:_0x496062,attributes:_0x2beaab})=>{await this['_waitForServiceReady']();const _0x270a90={'id':_0xdb914e,'type':_0x4297f0,'data':_0x596336,'originalSuggestionId':_0x496062,'attributes':_0x2beaab},_0x5e99f1=await this['_trackChangesService']['add'](_0xdb914e,_0x4297f0,_0x596336,_0x496062,_0x2beaab)['catch'](_0x5b3752=>{if(dt(_0x5b3752))return new Promise(_0x2eb56d=>{this['_bufferedRequests']['set'](_0xdb914e,{'resolve':_0x2eb56d,'suggestionData':_0x270a90});});throw _0x5b3752;});return this['_bufferedRequests']['delete'](_0xdb914e),_0x5e99f1;},'updateSuggestion':async(_0x556365,_0x3224ca)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3224ca['state'])return this['_trackChangesService']['update'](_0x556365,_0x3224ca)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x28385e,_0x14dc52)=>{_0x21dfcc['hasSuggestion'](_0x14dc52['id'])&&(_0x21dfcc['getSuggestion'](_0x14dc52['id'])['attributes']=_0x14dc52['attributes']);}),this['_trackChangesService']['connect'](_0x4b4c38['connection'])['then'](_0x49b63c=>(_0x4b4c38['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x49b63c)['then'](()=>{for(const _0x509b5e of _0x49b63c){_0x21dfcc['addSuggestionData'](_0x509b5e)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2ae0c5=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x159243}=this['editor']['plugins']['get'](z),_0xb2501e=await this['_trackChangesService']['connect'](_0x159243);await this['_fetchMissingUsersForThreads'](_0xb2501e);for(const {suggestionData:_0x302ec2,resolve:_0x539884}of this['_bufferedRequests']['values']()){let _0x40f1d9=_0xb2501e['find'](_0x2871e3=>_0x2871e3['id']===_0x302ec2['id']);_0x40f1d9||(_0x40f1d9=await this['_trackChangesService']['add'](_0x302ec2['id'],_0x302ec2['type'],_0x302ec2['data'],_0x302ec2['originalSuggestionId'])),_0x539884(_0x40f1d9);}for(const _0x494c86 of _0xb2501e)_0x2ae0c5['hasSuggestion'](_0x494c86['id'])||_0x2ae0c5['addSuggestionData'](_0x494c86);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x137703=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5ea8b4=>{_0x5ea8b4['off'](),_0x137703();});});}async['_fetchMissingUsersForThreads'](_0x1e1011){const _0x3180ae=this['editor']['plugins']['get'](_0x38bcb4),{connection:_0x789c78}=this['editor']['plugins']['get'](z),_0x47d0a3=new Set();for(const {authorId:_0x45a897}of _0x1e1011)_0x3180ae['getUser'](_0x45a897)||_0x47d0a3['add'](_0x45a897);if(0x0===_0x47d0a3['size'])return;const _0x563a9d=await _0x17aad5['getMany'](_0x789c78,Array['from'](_0x47d0a3));for(const _0x80be0a of _0x563a9d)_0x3180ae['getUser'](_0x80be0a['id'])||_0x3180ae['addUser'](_0x80be0a);}}function lt(_0x458166){if(dt(_0x458166))return new Promise(()=>{});throw _0x458166;}function dt(_0x52d9d6){return _0x52d9d6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52d9d6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x19341c{static get['requires'](){return[_0x9134b,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x24fcac=this['editor']['plugins']['get'](z),_0x146152=this['editor']['plugins']['get'](_0x3a2eff),_0xcca9f5=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x24fcac,'change:state',(_0x188bef,_0x4ee3c5,_0x2f12ef)=>{_0x146152['isThreadsLoadingPaused']='connected'!==_0x2f12ef;});}),this['listenTo'](_0x24fcac,'change:state',(_0x237e01,_0x27dce2,_0x362fea)=>{this['editor']['plugins']['get'](_0x5d2c1b)['switchReadOnly']('connected'!==_0x362fea);}),_0xcca9f5['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x19341c{static get['requires'](){return[ut,ht,_0x1a2f4d];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x19341c{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x491b79)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x49747b,Y,_0x38bcb4];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34e477){super(_0x34e477);const _0x372a53=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x372a53);}async['init'](){const _0x34de6f=this['editor']['plugins']['get'](tt),_0x4d1dd6=_0x34de6f['serverHistory'],_0x30dff2=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4d1dd6,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x34de6f['sessionId']});const _0x69eab7=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x45cdfc,_0x2c129e=await _0x2d90a6['isBundleUploaded'](_0x30dff2['connection'],_0x69eab7);this['editor']['plugins']['get'](_0x49747b)['adapter']={'getRevision':async({revisionId:_0x44dcc9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x44dcc9)),'updateRevisions':async _0x49ecb5=>{await this['_waitForServiceReady']();const _0x16e7d0=this['_revisionTracker']['currentRevision'];if(_0x2c129e&&0x1===_0x49ecb5['length']&&_0x49ecb5[0x0]['id']===_0x16e7d0['id'])return _0x49ecb5;for(const _0x1ce31c of _0x49ecb5)_0x1ce31c['id']===_0x16e7d0['id']&&(_0x1ce31c['isEmptyCurrent']=_0x1ce31c['fromVersion']===_0x1ce31c['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x49ecb5,this['_lastRequestId'])['then'](_0x19bc3c=>(this['_lastRequestId']=_0x19bc3c,_0x49ecb5))['catch'](_0x441ed9=>{if(pt(_0x441ed9)||'400'===_0x441ed9['code']&&void 0x0!==_0x441ed9['data']['wrongRequestId']){for(const _0x24604d of _0x49ecb5){!this['_revisionTracker']['repository']['getRevision'](_0x24604d['id'])||this['_revisionTracker']['_bufferUpdate'](_0x24604d['id'],_0x24604d,!0x1);}if(pt(_0x441ed9)&&'destroyed'!==this['editor']['state'])throw _0x441ed9;return _0x49ecb5;}throw _0x441ed9;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1b2257,{revisionsData:_0x343112,requestId:_0x101d88})=>{Math['max'](..._0x343112['map'](_0x4109e7=>_0x4109e7['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x343112,_0x101d88);}):this['_handleRevisionsUpdate'](_0x343112,_0x101d88);});const {revisions:_0x4c9852,requestId:_0x55ef79}=await this['_revisionHistoryService']['connect'](_0x30dff2['connection']);_0x30dff2['addToReconnectionStack'](this),this['_lastRequestId']=_0x55ef79,await this['_fetchMissingUsers'](_0x4c9852);for(const _0x58e6c8 of _0x4c9852)this['_revisionTracker']['addRevisionData'](_0x58e6c8);this['listenTo'](_0x34de6f,'change:_isConnected',(_0x1a8bd3,_0x2bed06,_0x309ab6)=>{_0x309ab6&&(this['_oldOffset']=_0x34de6f['_offset'],_0x1a8bd3['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x30dff2,'state',_0x1e0043=>_0x1e0043===_0xe9981e['CONNECTED']);}async['reconnect'](){const _0x115a6e=this['editor']['plugins']['get'](z),_0x532c03=this['editor']['plugins']['get'](tt),_0x450e29=async()=>{const _0x5e495a=this['_revisionTracker']['currentRevision'],_0x1a59e8=_0x5e495a['id'],_0x6392df=_0x1a59e8!==_0x532c03['sessionId'];if(_0x6392df){const _0x54d9da=_0x532c03['_offset']-this['_oldOffset'],_0x4c9b62=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x5e495a['toVersion']+_0x54d9da!==_0x4c9b62){const _0x59e783=_0x5e495a['fromVersion']+_0x54d9da,_0x12462a=this['editor']['plugins']['get'](_0x38bcb4),_0x120cc3=this['_revisionTracker']['buildRevisionData']({'revision':_0x5e495a,'from':_0x59e783,'to':_0x4c9b62});_0x120cc3['id']=_0x5e495a['id'];const _0x4010a4=_0x120cc3['authorsIds']['map'](_0x1feb26=>_0x12462a['getUser'](_0x1feb26));_0x5e495a['_update']({..._0x120cc3,'authors':_0x4010a4},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5e495a['id'],_0x120cc3,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4c9b62,(_0x5e495a['toVersion']===_0x5e495a['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1a59e8)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1a59e8),this['_revisionTracker']['_createCurrentRevision'](_0x4c9b62));}const {revisions:_0x5d864b,requestId:_0x5949b8}=await this['_revisionHistoryService']['reconnect'](_0x115a6e['connection'],this['_lastRequestId']);_0x6392df&&_0x5d864b['length']>0x0?_0x532c03['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5d864b),this['_handleRevisionsUpdate'](_0x5d864b,_0x5949b8),this['_revisionTracker']['sendBufferedUpdates']());};return _0x532c03['_isConnected']?_0x450e29():new Promise((_0x438424,_0x4256ed)=>{_0x532c03['once']('change:_isConnected',()=>{_0x450e29()['then'](_0x438424)['catch'](_0x4256ed);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x53be1b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2308e8=>{_0x2308e8['off'](),_0x53be1b();});});}['_getLatestVersionFromServerOperations'](){const _0x2cd7db=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x2512ee of _0x2cd7db)if('marker'!==_0x2512ee['type']||_0x2512ee['affectsData'])return _0x2512ee['baseVersion']+0x1;}['_getLatestVersion'](){const _0x46230a=this['editor']['plugins']['get'](tt);return new Promise(_0x2cb71c=>{_0x46230a['_isPendingUpdate']?_0x46230a['once']('change:_isPendingUpdate',()=>{_0x2cb71c(this['_getLatestVersionFromServerOperations']());}):_0x2cb71c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x311822,_0x456780){const _0x2b5764=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x456780;for(const _0x26dfed of _0x311822){const _0x229354=_0x2b5764['getRevision'](_0x26dfed['id']);if(_0x229354){if((_0x26dfed['fromVersion']||_0x26dfed['toVersion'])&&(_0x26dfed['diffData']=null),_0x229354===this['_revisionTracker']['currentRevision']){const _0x38c0af=Math['max'](_0x229354['toVersion'],_0x26dfed['toVersion']),_0x7a83ee=Math['max'](_0x229354['fromVersion'],_0x26dfed['fromVersion']);let _0x3888d7;_0x229354['toVersion']===_0x26dfed['toVersion']&&_0x229354['fromVersion']===_0x26dfed['fromVersion']?(_0x3888d7=!0x0,this['_preventResendingRevisionData'](_0x26dfed)):_0x26dfed['toVersion']===_0x38c0af&&_0x26dfed['fromVersion']===_0x7a83ee?_0x3888d7=!0x1:(_0x229354['toVersion']===_0x38c0af&&_0x229354['fromVersion']===_0x7a83ee||this['_fixRevision']({'revision':_0x229354,'from':_0x7a83ee,'to':_0x38c0af}),_0x3888d7=!0x0),_0x3888d7&&(delete _0x26dfed['fromVersion'],delete _0x26dfed['toVersion'],delete _0x26dfed['diffData'],delete _0x26dfed['createdAt'],delete _0x26dfed['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x26dfed),this['_preventResendingRevisionData'](_0x26dfed);}else this['_revisionTracker']['addRevisionData'](_0x26dfed);}const _0x25350e=_0x2b5764['getRevisions']();_0x25350e['reverse']();for(let _0x3399a5=0x0;_0x3399a5<_0x25350e['length']-0x1;_0x3399a5++){const _0x166383=_0x25350e[_0x3399a5],_0x59a498=_0x25350e[_0x3399a5+0x1];if(_0x166383['fromVersion']<_0x59a498['toVersion']){const _0x3c6877=_0x59a498['toVersion'],_0x4348d0=Math['max'](_0x3c6877,_0x166383['toVersion']);this['_fixRevision']({'revision':_0x166383,'from':_0x3c6877,'to':_0x4348d0});}}}['_fixRevision']({revision:_0x552202,from:_0x1d212c,to:_0x14aee7}={}){const _0x36f4f7=this['editor']['plugins']['get'](_0x38bcb4),_0x35a812=this['_revisionTracker']['buildRevisionData']({'revision':_0x552202,'from':_0x1d212c,'to':_0x14aee7});_0x35a812['authors']=_0x35a812['authorsIds']['map'](_0x5ea9ee=>_0x36f4f7['getUser'](_0x5ea9ee)),_0x552202['_update'](_0x35a812);}['_preventResendingRevisionData'](_0x3e6c2a){const _0x5d418c={};_0x5d418c['id']=_0x3e6c2a['id'];for(const _0x42ade9 of Object['keys'](_0x3e6c2a))'id'!==_0x42ade9&&(_0x5d418c[_0x42ade9]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5d418c['id'],_0x5d418c,!0x0);}async['_fetchMissingUsers'](_0x2a1c17){const _0x5d325c=this['editor']['plugins']['get'](_0x38bcb4),{connection:_0xdb53f3}=this['editor']['plugins']['get'](z),_0x5b22ee=new Set();for(const _0x3f12d2 of _0x2a1c17){for(const _0x2925f9 of _0x3f12d2['authorsIds'])_0x287c2f(_0x2925f9);_0x3f12d2['creatorId']&&_0x287c2f(_0x3f12d2['creatorId']);}if(0x0===_0x5b22ee['size'])return;const _0x5c936c=await _0x17aad5['getMany'](_0xdb53f3,Array['from'](_0x5b22ee));for(const _0x2fac8e of _0x5c936c)_0x5d325c['getUser'](_0x2fac8e['id'])||_0x5d325c['addUser'](_0x2fac8e);function _0x287c2f(_0x41fe0f){_0x5d325c['getUser'](_0x41fe0f)||_0x5b22ee['add'](_0x41fe0f);}}}function pt(_0xc8b328){return _0xc8b328['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xc8b328['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xc8b328['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x19341c{static get['requires'](){return[_0x49747b,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x1e867e{['_collapseAt'];constructor(_0x105ec4,_0x4c6b5e=0x6){super(_0x105ec4);const _0x1a0a64=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4c6b5e,this['bind']('isHidden')['to'](this,'usersCount',_0x4bd838=>_0x4bd838<_0x4c6b5e),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1a0a64['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':_0x1a0a64['to']('usersCount',_0x15452e=>'+'+(_0x15452e-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x1e867e{['items'];['keystrokes'];constructor(_0x3e80c3){super(_0x3e80c3);const _0x44b7fe=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x32ce2b(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x44b7fe['if']('hasPopup'),'aria-expanded':_0x44b7fe['to']('isExpanded',_0x33136e=>this['hasPopup']&&String(_0x33136e)),'aria-label':_0x44b7fe['to']('hasPopup',_0x600a6d=>X(_0x3e80c3,_0x600a6d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x44b7fe['to']('hasPopup',_0x58c484=>!!_0x58c484&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x44b7fe['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x44b7fe['to'](_0x5a3fd9=>{const _0x1c175a=_0x5a3fd9,_0x11981d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4f8580=document['querySelector']('.ck-balloon-panel_with-arrow');_0x11981d?.['contains'](_0x1c175a['relatedTarget'])||_0x4f8580?.['contains'](_0x1c175a['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x335f01,_0x5056ed,_0x4c11e0)=>{this['element']&&(_0x4c11e0?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x1e867e{['counterView'];['inlineListView'];constructor(_0x10e58a,_0x1407ab=0x6){super(_0x10e58a);const _0x1ed2a4=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1407ab),this['inlineListView']=new vt(_0x10e58a),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5321f5 of this['inlineListView']['items'])_0x5321f5['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',_0x1ed2a4['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x1e867e{['listWrapperView'];constructor(_0x5c7552,_0x5de40c){super(_0x5c7552);const _0x2b8dd9=this['bindTemplate'];this['listWrapperView']=new bt(_0x5c7552,_0x5de40c),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x5c7552,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x2b8dd9['to'](_0x5d3177=>{const _0x318614=_0x5d3177,_0x12380c=document['querySelector']('.ck-presence-list__list'),_0x1c2c0a=document['querySelector']('.ck-balloon-panel_with-arrow');_0x12380c?.['contains'](_0x318614['relatedTarget'])||_0x1c2c0a?.['contains'](_0x318614['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x4af250{constructor(_0x167a2a,_0x55228a){super(_0x167a2a);const _0xff15bd=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x55228a?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0xff15bd['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0xff15bd['to']('role'),'aria-label':_0xff15bd['to']('ariaLabel'),'aria-labelledby':_0xff15bd['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3d1191['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x3be6e9=this['element'];_0x3be6e9&&(this['_isScrollable']=Math['max'](_0x3be6e9['scrollHeight'],_0x3be6e9['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x48f89e{['userView'];constructor(_0x41c2af,_0x2ab93b,_0x2e68f3){super(_0x41c2af);const _0x3aa5d4=this['bindTemplate'];this['userView']=new _0x44a9ad(_0x41c2af,_0x2ab93b);const _0x384943={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2ab93b['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2ab93b['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2ab93b['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2ab93b['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2ab93b['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x2e68f3&&(_0x384943['tag']='button',_0x384943['on']={'click':_0x3aa5d4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x384943);}['focus'](){this['element']['focus']();}}class It extends _0x1e867e{['userView'];['markerView'];constructor(_0x14515c,_0x3d64e8,_0x1be650){super(_0x14515c);const _0x713088=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x44a9ad(_0x14515c,_0x3d64e8),this['markerView']=new St(_0x14515c,_0x3d64e8);const _0x3262ca=new _0x2df49d(_0x14515c);_0x3262ca['template']['tag']='span',_0x3262ca['text']=_0x3d64e8['name'];const _0x43b2f0={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x713088['to']('isFocusable',_0x2fd55b=>!!_0x2fd55b&&0x0),'aria-labelledby':_0x3262ca['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x713088['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x713088['to']('hasTooltip',_0x1cb19d=>!_0x1cb19d),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3262ca]};_0x1be650&&(_0x43b2f0['tag']='button',_0x43b2f0['on']={'click':_0x713088['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x43b2f0);}}class St extends _0x1e867e{constructor(_0x43cfdd,_0x16fe37){super(_0x43cfdd),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x16fe37['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x16fe37['color']['getColorVariable'](),'--ck-user-color-alpha':_0x16fe37['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x56b782{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b69e5){super(_0x1b69e5),this['context']['config']['define']('presenceList',Tt);const _0x1e9641=_0x1b69e5['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1e9641)throw new _0x2b4c1a('presencelist-collapseat-invalid-format',this);if(_0x1e9641<0x1)throw new _0x2b4c1a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3ca9e9(),this['balloonPanelView']=new _0x39d104(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1ad05e of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1ad05e);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3f23cd,_0x5ec976)=>{this['_handleUserAdd'](_0x5ec976);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x35c74d,_0x588a05)=>{this['_handleUserRemove'](_0x588a05);});}['_createView'](){const _0x1ce550=this['context'],_0x4aba6a=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x6dbed8=this['balloonPanelView'];if(!_0x2f2328(_0x1ce550['config']['get']('presenceList.container')))throw new _0x2b4c1a('presencelist-missing-container',this);return _0x4aba6a['counterView']['bind']('usersCount')['to'](this),_0x4aba6a['bind']('isCollapsed')['to'](this,'usersCount',_0x3f176f=>{const {collapseAt:_0x516e33}=_0x1ce550['config']['get']('presenceList'),_0x4728c2=_0x3f176f>=_0x516e33;if(_0x4728c2&&!_0x4aba6a['inlineListView']['items']['find'](_0x55e32a=>_0x55e32a instanceof wt)){const _0x2f5511=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2f5511&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4aba6a['inlineListView']['items']['add'](_0x4aba6a['counterView']);}return _0x4728c2||this['hideDropdown'](),_0x4728c2;}),_0x4aba6a['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x54b0e6=>{const _0x2e31c3=_0x1ce550['config']['get']('presenceList'),_0x1ba3fc=new It(_0x1ce550['locale'],_0x54b0e6,!!_0x2e31c3['onClick']);return _0x1ba3fc['bind']('hasTooltip')['to'](_0x4aba6a,'isCollapsed',_0x36aa19=>!_0x36aa19),_0x1ba3fc['bind']('isFocusable')['to'](_0x4aba6a,'isCollapsed',_0x41fc56=>!_0x41fc56),_0x2e31c3['onClick']&&this['listenTo'](_0x1ba3fc,'execute',()=>{this['view']['isCollapsed']||_0x2e31c3['onClick'](_0x54b0e6,_0x1ba3fc['element']);}),_0x1ba3fc;}),this['listenTo'](_0x4aba6a['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4aba6a['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4aba6a['inlineListView']['keystrokes']['set']('Enter',(_0x58e49f,_0x21e511)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x21e511());}),_0x4aba6a['render'](),_0x6dbed8['render'](),_0x3f118c({'emitter':_0x4aba6a,'activator':()=>_0x6dbed8['isVisible'],'contextElements':[_0x6dbed8['element'],_0x4aba6a['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1ce550['config']['get']('presenceList.container')['appendChild'](_0x4aba6a['element']),this['_bodyCollection']=new _0x2bbc41(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4aba6a;}['_handleUserAdd'](_0x3e2472){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3e2472['isMe'])return;const _0x445569=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x445569-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x25e681=_0x3e2472['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3e2472,_0x25e681);}['_handleUserRemove'](_0x1215af){this['usersCount']--;const {collapseAt:_0x4a3911}=this['context']['config']['get']('presenceList'),_0x3eb9d3=this['usersCount']>=_0x4a3911;if(this['currentDisplayedUsers']['get'](_0x1215af['id']))this['currentDisplayedUsers']['remove'](_0x1215af['id']);else{if(_0x3eb9d3&&this['currentDisplayedUsers']['length']+0x1===_0x4a3911-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3eb9d3?0x1:0x0)<this['usersCount']){for(const _0x338b2d of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x338b2d['id'])&&(this['currentDisplayedUsers']['add'](_0x338b2d,Math['min'](this['currentDisplayedUsers']['length']-(_0x3eb9d3?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3eb9d3?0x1:0x0)===_0x4a3911-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x21e9b4=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x21e9b4['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4e6a8c}=this['presenceDropdownView'];_0x4e6a8c['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x334697=>{if(!_0x21e9b4['displayMe']&&_0x334697['isMe'])return null;const _0x1032fe=new kt(this['context']['locale'],_0x334697,!!_0x21e9b4['onClick']);return _0x21e9b4['onClick']&&this['listenTo'](_0x1032fe,'execute',()=>{_0x21e9b4['onClick'](_0x334697,_0x1032fe['element']);}),_0x1032fe;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4e6a8c['focus'](),_0x4e6a8c['checkIfScrollable']();const _0x11849a=(_0x2b57ba,_0x41b681)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x41b681();};_0x4e6a8c['keystrokes']['set']('Esc',_0x11849a),_0x4e6a8c['keystrokes']['set']('Shift+Tab',_0x11849a),_0x4e6a8c['keystrokes']['set']('Tab',(_0x5e0ada,_0x146c21)=>{!function(_0x533b0f){const _0x1cb6f6=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4b9fb8=>_0x4b9fb8+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x158d3b=[...document['body']['querySelectorAll'](_0x1cb6f6)]['filter'](_0x28eab7=>_0x28eab7===document['activeElement']||_0x28eab7['offsetWidth']+_0x28eab7['offsetHeight']>0x0)['sort']((_0x9e8147,_0x1df45e)=>(_0x9e8147['tabIndex']||0x0)-(_0x1df45e['tabIndex']||0x0)),_0x310dc8=_0x158d3b['indexOf'](_0x533b0f),_0x39e57c=_0x158d3b[(_0x310dc8+0x1)%_0x158d3b['length']];_0x39e57c&&_0x39e57c['focus']();}(this['view']['element']),this['hideDropdown'](),_0x146c21();}),_0x4e6a8c['focusTracker']['add'](this['view']['element']),_0x4e6a8c['focusTracker']['on']('change:isFocused',(_0xe5431c,_0x59300b,_0x5d57c8)=>{_0x5d57c8||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0x56b782{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
3
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module real-time-collaboration/presencelist/view/presencecounterview
|
|
7
|
+
*/
|
|
5
8
|
import { View } from '@ckeditor/ckeditor5-ui';
|
|
6
9
|
import { type Locale } from '@ckeditor/ckeditor5-utils';
|
|
7
10
|
export declare class PresenceCounterView extends View {
|