@ckeditor/ckeditor5-real-time-collaboration 48.3.0-alpha.1 → 48.3.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -6
- package/dist/translations/af.js +1 -1
- package/dist/translations/af.umd.js +1 -1
- package/dist/translations/ar.js +1 -1
- package/dist/translations/ar.umd.js +1 -1
- package/dist/translations/ast.js +1 -1
- package/dist/translations/ast.umd.js +1 -1
- package/dist/translations/az.js +1 -1
- package/dist/translations/az.umd.js +1 -1
- package/dist/translations/be.js +1 -1
- package/dist/translations/be.umd.js +1 -1
- package/dist/translations/bg.js +1 -1
- package/dist/translations/bg.umd.js +1 -1
- package/dist/translations/bn.js +1 -1
- package/dist/translations/bn.umd.js +1 -1
- package/dist/translations/bs.js +1 -1
- package/dist/translations/bs.umd.js +1 -1
- package/dist/translations/ca.js +1 -1
- package/dist/translations/ca.umd.js +1 -1
- package/dist/translations/cs.js +1 -1
- package/dist/translations/cs.umd.js +1 -1
- package/dist/translations/da.js +1 -1
- package/dist/translations/da.umd.js +1 -1
- package/dist/translations/de-ch.js +1 -1
- package/dist/translations/de-ch.umd.js +1 -1
- package/dist/translations/de.js +1 -1
- package/dist/translations/de.umd.js +1 -1
- package/dist/translations/el.js +1 -1
- package/dist/translations/el.umd.js +1 -1
- package/dist/translations/en-au.js +1 -1
- package/dist/translations/en-au.umd.js +1 -1
- package/dist/translations/en-gb.js +1 -1
- package/dist/translations/en-gb.umd.js +1 -1
- package/dist/translations/en.js +1 -1
- package/dist/translations/en.umd.js +1 -1
- package/dist/translations/eo.js +1 -1
- package/dist/translations/eo.umd.js +1 -1
- package/dist/translations/es-co.js +1 -1
- package/dist/translations/es-co.umd.js +1 -1
- package/dist/translations/es.js +1 -1
- package/dist/translations/es.umd.js +1 -1
- package/dist/translations/et.js +1 -1
- package/dist/translations/et.umd.js +1 -1
- package/dist/translations/eu.js +1 -1
- package/dist/translations/eu.umd.js +1 -1
- package/dist/translations/fa.js +1 -1
- package/dist/translations/fa.umd.js +1 -1
- package/dist/translations/fi.js +1 -1
- package/dist/translations/fi.umd.js +1 -1
- package/dist/translations/fr.js +1 -1
- package/dist/translations/fr.umd.js +1 -1
- package/dist/translations/gl.js +1 -1
- package/dist/translations/gl.umd.js +1 -1
- package/dist/translations/gu.js +1 -1
- package/dist/translations/gu.umd.js +1 -1
- package/dist/translations/he.js +1 -1
- package/dist/translations/he.umd.js +1 -1
- package/dist/translations/hi.js +1 -1
- package/dist/translations/hi.umd.js +1 -1
- package/dist/translations/hr.js +1 -1
- package/dist/translations/hr.umd.js +1 -1
- package/dist/translations/hu.js +1 -1
- package/dist/translations/hu.umd.js +1 -1
- package/dist/translations/hy.js +1 -1
- package/dist/translations/hy.umd.js +1 -1
- package/dist/translations/id.js +1 -1
- package/dist/translations/id.umd.js +1 -1
- package/dist/translations/it.js +1 -1
- package/dist/translations/it.umd.js +1 -1
- package/dist/translations/ja.js +1 -1
- package/dist/translations/ja.umd.js +1 -1
- package/dist/translations/jv.js +1 -1
- package/dist/translations/jv.umd.js +1 -1
- package/dist/translations/kk.js +1 -1
- package/dist/translations/kk.umd.js +1 -1
- package/dist/translations/km.js +1 -1
- package/dist/translations/km.umd.js +1 -1
- package/dist/translations/kn.js +1 -1
- package/dist/translations/kn.umd.js +1 -1
- package/dist/translations/ko.js +1 -1
- package/dist/translations/ko.umd.js +1 -1
- package/dist/translations/ku.js +1 -1
- package/dist/translations/ku.umd.js +1 -1
- package/dist/translations/lt.js +1 -1
- package/dist/translations/lt.umd.js +1 -1
- package/dist/translations/lv.js +1 -1
- package/dist/translations/lv.umd.js +1 -1
- package/dist/translations/ms.js +1 -1
- package/dist/translations/ms.umd.js +1 -1
- package/dist/translations/nb.js +1 -1
- package/dist/translations/nb.umd.js +1 -1
- package/dist/translations/ne.js +1 -1
- package/dist/translations/ne.umd.js +1 -1
- package/dist/translations/nl.js +1 -1
- package/dist/translations/nl.umd.js +1 -1
- package/dist/translations/no.js +1 -1
- package/dist/translations/no.umd.js +1 -1
- package/dist/translations/oc.js +1 -1
- package/dist/translations/oc.umd.js +1 -1
- package/dist/translations/pl.js +1 -1
- package/dist/translations/pl.umd.js +1 -1
- package/dist/translations/pt-br.js +1 -1
- package/dist/translations/pt-br.umd.js +1 -1
- package/dist/translations/pt.js +1 -1
- package/dist/translations/pt.umd.js +1 -1
- package/dist/translations/ro.js +1 -1
- package/dist/translations/ro.umd.js +1 -1
- package/dist/translations/ru.js +1 -1
- package/dist/translations/ru.umd.js +1 -1
- package/dist/translations/si.js +1 -1
- package/dist/translations/si.umd.js +1 -1
- package/dist/translations/sk.js +1 -1
- package/dist/translations/sk.umd.js +1 -1
- package/dist/translations/sl.js +1 -1
- package/dist/translations/sl.umd.js +1 -1
- package/dist/translations/sq.js +1 -1
- package/dist/translations/sq.umd.js +1 -1
- package/dist/translations/sr-latn.js +1 -1
- package/dist/translations/sr-latn.umd.js +1 -1
- package/dist/translations/sr.js +1 -1
- package/dist/translations/sr.umd.js +1 -1
- package/dist/translations/sv.js +1 -1
- package/dist/translations/sv.umd.js +1 -1
- package/dist/translations/th.js +1 -1
- package/dist/translations/th.umd.js +1 -1
- package/dist/translations/ti.js +1 -1
- package/dist/translations/ti.umd.js +1 -1
- package/dist/translations/tk.js +1 -1
- package/dist/translations/tk.umd.js +1 -1
- package/dist/translations/tr.js +1 -1
- package/dist/translations/tr.umd.js +1 -1
- package/dist/translations/tt.js +1 -1
- package/dist/translations/tt.umd.js +1 -1
- package/dist/translations/ug.js +1 -1
- package/dist/translations/ug.umd.js +1 -1
- package/dist/translations/uk.js +1 -1
- package/dist/translations/uk.umd.js +1 -1
- package/dist/translations/ur.js +1 -1
- package/dist/translations/ur.umd.js +1 -1
- package/dist/translations/uz.js +1 -1
- package/dist/translations/uz.umd.js +1 -1
- package/dist/translations/vi.js +1 -1
- package/dist/translations/vi.umd.js +1 -1
- package/dist/translations/zh-cn.js +1 -1
- package/dist/translations/zh-cn.umd.js +1 -1
- package/dist/translations/zh.js +1 -1
- package/dist/translations/zh.umd.js +1 -1
- package/package.json +12 -12
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Context as
|
|
24
|
-
((()=>_0x25bf89)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x42d953,_0x1a5404];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x29d437){super(_0x29d437),this['set']('state',_0xcc2284['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x475f3d())();}['init'](){const _0x572dbf=this['context'],_0x3535d7=_0x572dbf['plugins']['get'](_0x42d953),_0x6c3cf8=_0x572dbf['plugins']['get'](_0x1a5404);if(!_0x3535d7['token'])throw new _0x50f763('websocketgateway-missing-token',this);if(!_0x3535d7['webSocketUrl'])throw new _0x50f763('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x3535d7['token'],_0x3535d7['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x36fee8=>{if(this['connection']=_0x36fee8,this['bind']('state')['to'](_0x36fee8,'state',this,'_isBrowserOffline',(_0xd2d5af,_0x2d3c65)=>('connected'!==_0xd2d5af&&(this['_shouldPluginsReconnect']=!0x0),_0x2d3c65||_0xd2d5af!==_0xcc2284['CONNECTED']?_0xcc2284['DISCONNECTED']:this['state']==_0xcc2284['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xcc2284['CONNECTING']):_0xcc2284['CONNECTED'])),this['connection']['on']('error',(_0x7ab10b,_0x4e4b48)=>{if('limitExceeded'!==_0x4e4b48['code'])throw console['error'](_0x4e4b48),new _0x50f763('cloudservices-init',null,{'originalError':_0x4e4b48});_0x6c3cf8['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'});}),!_0x36fee8['me'])return new Promise(_0x41d385=>_0x36fee8['on']('change:me',_0x41d385));})['catch'](_0x26be12=>{throw console['error'](_0x26be12),new _0x50f763('cloudservices-init',null,{'originalError':_0x26be12});});}['addToReconnectionStack'](_0x52cfbd){if('function'!=typeof _0x52cfbd['reconnect'])throw new _0x50f763('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x52cfbd))throw new _0x50f763('websocketgateway-plugin-already-registered',this,{'name':_0x52cfbd['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x52cfbd);}['removeFromReconnectionStack'](_0x3067ab){this['_reconnectionStack']['delete'](_0x3067ab);}['isInReconnectionStack'](_0x45e727){return this['_reconnectionStack']['has'](_0x45e727);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x427a4d=>_0x427a4d['reconnect']())))['then'](()=>this['state']=_0xcc2284['CONNECTED'])['catch'](_0x3b23b9=>{throw console['error'](_0x3b23b9),new _0x50f763('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xcc2284['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x525f71{['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,_0x3a0f0f];}constructor(_0x2ae023){super(_0x2ae023),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3eba5a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3a0f0f);}['init'](){const _0x46acd1=this['context']['plugins']['get'](z);this['listenTo'](_0x46acd1,'change:state',(_0x170d64,_0x2baa04,_0x5e439d)=>{if('connected'!==_0x5e439d)this['channelSessions']['forEach'](_0x5c05ec=>_0x5c05ec['clear']()),this['channelConnectedUsers']['forEach'](_0x7f2195=>_0x7f2195['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x11d272,_0x354cae]of this['_registeredSessions'])for(const _0x23bbd9 of _0x354cae)this['_handleSessionAdd'](_0x11d272,_0x23bbd9);}}),this['_createUser'](_0x46acd1['connection']['me'],!0x0);}['register'](_0x72fadd,_0x73608b){if(this['_registeredSessions']['has'](_0x72fadd))throw new _0x50f763('sessions-register-already-registered',null,{'channelId':_0x72fadd});this['_registeredSessions']['set'](_0x72fadd,_0x73608b),this['channelSessions']['set'](_0x72fadd,new _0x3eba5a()),this['channelConnectedUsers']['set'](_0x72fadd,new _0x3eba5a()),this['listenTo'](_0x73608b,'add',(_0x4e631f,_0x34ce84)=>this['_handleSessionAdd'](_0x72fadd,_0x34ce84)),this['listenTo'](_0x73608b,'remove',(_0x3363ea,_0x2abe9e)=>this['_handleSessionRemove'](_0x72fadd,_0x2abe9e));for(const _0x5ea693 of _0x73608b)this['_handleSessionAdd'](_0x72fadd,_0x5ea693);}['unregister'](_0x435dc6){if(!this['_registeredSessions']['has'](_0x435dc6))throw new _0x50f763('sessions-unregister-not-exist',null,{'channelId':_0x435dc6});const _0x252726=this['_registeredSessions']['get'](_0x435dc6);this['stopListening'](_0x252726);for(const _0xdb369d of _0x252726)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x435dc6,_0xdb369d);this['_registeredSessions']['delete'](_0x435dc6),this['channelSessions']['delete'](_0x435dc6),this['channelConnectedUsers']['delete'](_0x435dc6);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x9b1415){for(const _0x5b8294 of this['channelSessions']['values']())for(const _0x193ef2 of _0x5b8294)if(_0x193ef2['id']===_0x9b1415)return _0x193ef2['user'];}['getUserSessions'](_0x3ccae9,_0x161137){const _0x14bbf2=_0x161137?[this['channelSessions']['get'](_0x161137)]:this['channelSessions']['values'](),_0x1e4f84=new Set();for(const _0xb5ac3f of _0x14bbf2)for(const _0x470967 of _0xb5ac3f)_0x470967['user']['id']===_0x3ccae9['id']&&_0x1e4f84['add'](_0x470967['id']);return _0x1e4f84;}['getUserRole'](_0x4659d1){for(const _0x160812 of this['channelSessions']['values']())for(const _0x36e2bd of _0x160812)if(_0x36e2bd['user']===_0x4659d1)return _0x36e2bd['role'];}['_handleSessionAdd'](_0x2b2e5e,_0x55c9f4){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x85a7ca=_0x55c9f4['user'],_0x30f2f6=this['_users']['getUser'](_0x85a7ca['id'])||this['_createUser'](_0x85a7ca),_0x41c5b6=Object['assign']({},_0x55c9f4,{'user':_0x30f2f6});if(this['channelSessions']['get'](_0x2b2e5e)['add'](_0x41c5b6),!_0x85a7ca['hiddenInPresenceList']){const _0x3f8f77=this['channelConnectedUsers']['get'](_0x2b2e5e);_0x3f8f77['has'](_0x30f2f6['id'])||_0x3f8f77['add'](_0x30f2f6),this['allConnectedUsers']['has'](_0x30f2f6['id'])||_0x85a7ca['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x30f2f6,_0x30f2f6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2b2e5e,{'channelId':_0x2b2e5e,'session':_0x41c5b6});}['_handleSessionRemove'](_0x424d3e,_0x5dcb9d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x34894c=this['channelConnectedUsers']['get'](_0x424d3e),_0x250374=_0x5dcb9d['user'];_0x250374['id']&&(this['channelSessions']['get'](_0x424d3e)['remove'](_0x5dcb9d['id']),_0x34894c['has'](_0x250374['id'])&&!this['getUserSessions'](_0x250374,_0x424d3e)['size']&&_0x34894c['remove'](_0x250374['id']),this['allConnectedUsers']['get'](_0x250374['id'])&&!this['getUserSessions'](_0x250374)['size']&&this['allConnectedUsers']['remove'](_0x250374['id']));}['_createUser'](_0x549944,_0x9e5b17){const _0x3c9006=this['_users']['addUser'](_0x549944);return _0x9e5b17&&this['_users']['defineMe'](_0x549944['id']),_0x3c9006['orderNumber']=this['_uniqueUsersCount']++,_0x3c9006;}},K=class extends _0x203610{['_domEmitter']=new(_0x475f3d())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2fa545=this['editor'],_0x3af208=_0x2fa545['plugins']['get'](Y);_0x2fa545['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x496fc0,{writer:_0x9b244b})=>function(_0x417438,_0x2d44a7,_0xb51e8f,_0x61c52f){const _0x5e671d=_0x417438['markerName']['split'](':')[0x2],_0x29af90=_0xb51e8f['getUserBySessionId'](_0x5e671d);if(!_0x29af90||_0x5e671d===_0xb51e8f['mySessionId'])return;if(!_0x61c52f['model']['schema']['checkChild'](_0x417438['markerRange']['start'],'$text'))return;const _0x1c13e8={'class':'ck-user__marker\x20'+_0x29af90['color']['getMarkerClass'](),'style':Q(_0x29af90),'data-name':_0x29af90['name'],'data-session-id':_0x5e671d},_0x1036ff=_0x61c52f['model']['markers']['get'](_0x417438['markerName'])['getStart'](),_0x4ea7cb=_0x1036ff['nodeAfter'],_0x2ab7df=_0x61c52f['model']['schema'];if(_0x4ea7cb&&_0x2ab7df['isObject'](_0x4ea7cb)&&_0x2ab7df['isInline'](_0x4ea7cb)&&!_0x61c52f['model']['markers']['get']('user:range:'+_0x5e671d)['getRange']()['isCollapsed'])return;const _0x134616=_0x1036ff['parent'];return _0x61c52f['model']['schema']['isLimit'](_0x134616)&&!_0x61c52f['model']['hasContent'](_0x134616)&&(_0x1c13e8['contenteditable']=!0x1),function(_0x399ff2,_0x54f630,_0x1cd97d){const _0x4a40be=_0x399ff2['createUIElement']('span',_0x54f630);return _0x399ff2['setCustomProperty']('userPositionMarker',!0x0,_0x4a40be),_0x4a40be['render']=function(_0x2f5569){const _0x730c83=this['toDomElement'](_0x2f5569),_0x3599bf=document['createElement']('span');return _0x3599bf['classList']['add']('ck-user__marker-tooltip'),_0x3599bf['setAttribute']('contenteditable','false'),_0x3599bf['setAttribute']('spellcheck','false'),_0x3599bf['textContent']=_0x1cd97d['name'],_0x730c83['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3599bf['outerHTML']+'',_0x730c83['addEventListener']('mouseenter',()=>{_0x730c83['classList']['add']('ck-user__marker_hovered');}),_0x730c83['addEventListener']('mouseleave',()=>{_0x730c83['classList']['remove']('ck-user__marker_hovered');}),_0x730c83;},_0x4a40be['isSimilar']=function(_0x21a225){return!(!this['getCustomProperty']('userPositionMarker')||!_0x21a225['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x21a225['getAttribute']('data-session-id'));},_0x4a40be;}(_0x2d44a7,_0x1c13e8,_0x29af90);}(_0x496fc0,_0x9b244b,_0x3af208,_0x2fa545)}),_0x2fa545['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x324a92=>function(_0x4f0f32,_0x5b16ba){const _0x3e4f10=_0x4f0f32['markerName']['split'](':')[0x2];if(_0x3e4f10===_0x5b16ba['mySessionId'])return null;const _0x5cac73=_0x5b16ba['getUserBySessionId'](_0x3e4f10);return _0x5cac73?{'id':_0x3e4f10,'classes':['ck-user__selection',_0x5cac73['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5cac73),'data-session-id':_0x3e4f10},'priority':0x7d0+_0x5cac73['orderNumber']}:{'id':_0x3e4f10,'classes':[]};}(_0x324a92,_0x3af208)}),function(_0x3b3115){const _0x4898af=_0x3b3115['model'],_0x3d749d=new Map(),_0xf5482d=_0x3b3115['plugins']['get'](Y);_0x4898af['markers']['on']('update:user:range',(_0x8ada44,_0x3182f3,_0x4e53d1,_0x3bd949)=>{if(!_0x3bd949&&_0x3d749d['get'](_0x3182f3['name']))return _0x3d749d['get'](_0x3182f3['name'])['detach'](),void _0x3d749d['delete'](_0x3182f3['name']);const _0x5df7a1=_0x3182f3['name']['split'](':')[0x2];if(_0x5df7a1===_0xf5482d['mySessionId'])return;const _0x39d502='user:position:'+_0x5df7a1;_0x4898af['markers']['has'](_0x39d502)&&_0x3b3115['editing']['reconvertMarker'](_0x39d502),_0x3182f3['on']('change:range',(_0x53fecf,_0xee7499,_0xdfee88)=>{if('$graveyard'!=_0xee7499['root']['rootName']&&'$graveyard'==_0x3182f3['getRange']()['root']['rootName']&&!_0x3d749d['has'](_0x3182f3['name'])){const _0x91aed=_0x4898af['schema']['getNearestSelectionRange'](_0xdfee88['deletionPosition']);if(_0x91aed){const _0x3cf7eb=_0x3155f0['fromRange'](_0x91aed);_0x3d749d['set'](_0x3182f3['name'],_0x3cf7eb),_0x3cf7eb['on']('change:range',(_0x4387c9,_0x4e0f1f,_0x59f11d)=>{if('$graveyard'==_0x3cf7eb['root']['rootName']){const _0x460591=_0x4898af['schema']['getNearestSelectionRange'](_0x59f11d['deletionPosition']);_0x460591?(_0x3cf7eb['start']=_0x460591['start'],_0x3cf7eb['end']=_0x460591['end']):(_0x3d749d['delete'](_0x3182f3['name']),_0x3cf7eb['detach']());}});}}});}),_0x4898af['document']['on']('change',()=>{_0x3d749d['size']>0x0&&_0x4898af['enqueueChange']({'isUndoable':!0x1},_0x141da8=>{for(const [_0xb72b4e,_0x109ec7]of _0x3d749d)'$graveyard'==_0x4898af['markers']['get'](_0xb72b4e)['getRange']()['root']['rootName']&&(J(_0xb72b4e['split'](':')[0x2],_0x109ec7['toRange'](),_0x4898af,_0x141da8),_0x109ec7['detach']());_0x3d749d['clear']();});});}(_0x2fa545),this['_domEmitter']['listenTo'](_0x6efeaf['document'],'keydown',(_0x40bdf0,{key:_0x111b0a})=>{'Escape'===_0x111b0a&&function(_0x109730){_0x109730['editing']['view']['change'](_0x37fc5e=>{for(const _0x23ddce of _0x109730['model']['markers']){if(!_0x23ddce['name']['startsWith']('user:position'))continue;const _0x439739=_0x109730['editing']['mapper']['markerNameToElements'](_0x23ddce['name']);if(_0x439739){for(const _0x18a632 of _0x439739)_0x37fc5e['removeClass']('ck-user__marker_hovered',_0x18a632);}}});}(_0x2fa545);},{'useCapture':!0x0});}['afterInit'](){const _0x588220=this['editor'],_0x2e6206=_0x588220['commands']['get']('undo');_0x2e6206&&_0x588220['model']['on']('applyOperation',(_0x159f1b,_0x54f775)=>{const _0x4274a8=_0x54f775[0x0];if(!_0x4274a8['isDocumentOperation'])return;if('marker'!=_0x4274a8['type']||!_0x4274a8['name']['startsWith']('user:'))return;const _0x29ce7e=_0x4274a8['batch'];_0x2e6206['_createdBatches']['has'](_0x29ce7e)&&(_0x4274a8['newRange']=_0x4274a8['oldRange']?_0x588220['model']['createRange'](_0x4274a8['oldRange']['start'],_0x4274a8['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5ebbfa=this['editor'],_0x8c9b91=_0x5ebbfa['model']['document'],_0x157b0a=_0x5ebbfa['plugins']['get'](Y);_0x5ebbfa['model']['enqueueChange']({'isUndoable':!0x1},_0x5d0d2a=>{const _0x4a8e23='user:range:'+_0x157b0a['mySessionId'],_0x167c80='user:position:'+_0x157b0a['mySessionId'],_0x289e68=_0x5ebbfa['model']['markers']['has'](_0x4a8e23);_0x5ebbfa['editing']['view']['hasDomSelection']?J(_0x157b0a['mySessionId'],_0x8c9b91['selection']['getFirstRange'](),_0x5ebbfa['model'],_0x5d0d2a):_0x289e68&&(_0x5d0d2a['removeMarker'](_0x4a8e23),_0x5d0d2a['removeMarker'](_0x167c80));});}};function J(_0x3aaeeb,_0x44c6d1,_0x51c474,_0xc7039f){const _0x1c150f='user:range:'+_0x3aaeeb,_0x2b254d='user:position:'+_0x3aaeeb,_0x4d6fb0=_0x44c6d1['getContainedElement']();let _0x25e5b3=_0x44c6d1['start'];if(_0x4d6fb0&&_0x4d6fb0['is']('element','tableCell')){const _0x46718a=function(_0x5c5409,_0x48686b){for(const _0x5a0d76 of _0x5c5409['getPositions']())if(_0x48686b['schema']['checkChild'](_0x5a0d76,'$text'))return _0x5a0d76;}(_0x44c6d1,_0x51c474);_0x46718a&&(_0x25e5b3=_0x46718a,_0x44c6d1=_0xc7039f['createRange'](_0x25e5b3));}const _0x2cff88=_0xc7039f['createRange'](_0x25e5b3);_0x51c474['markers']['has'](_0x1c150f)?(_0xc7039f['updateMarker'](_0x1c150f,{'range':_0x44c6d1}),_0xc7039f['updateMarker'](_0x2b254d,{'range':_0x2cff88})):(_0xc7039f['addMarker'](_0x1c150f,{'range':_0x44c6d1,'usingOperation':!0x0}),_0xc7039f['addMarker'](_0x2b254d,{'range':_0x2cff88,'usingOperation':!0x0}));}function Q(_0x4e3e4a){return'--ck-user-color:'+_0x4e3e4a['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4e3e4a['color']['getColorAlphaVariable']()+';';}function X(_0x3d2667,_0x30c7f4,_0x508355){const _0x305add=_0x3d2667['t'],t=_0x3d2667['t'];switch(_0x30c7f4){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 _0x305add({'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'},_0x508355);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x203610{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x444d59)());['_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,_0x442fb9,_0x3a0f0f,_0x1a5404];}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 _0x131111=this['serverHistory']['getOperations']();for(let _0x71d0f9=_0x131111['length']-0x1;_0x71d0f9>=0x0;_0x71d0f9--){const _0x50adc0=_0x131111[_0x71d0f9];if(!this['_disconnectionOperations']['has'](_0x50adc0))return _0x50adc0['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1616b7){if(super(_0x1616b7),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x10d3fc(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x50f763('collaboration-missing-channelid',this);const _0x3779d0=_0x1616b7['config']['get']('cloudServices.bundleVersion')||_0xad9c89;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3779d0,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x53ed3a(),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 _0x5dd7f3=this['editor'],_0x19f679=_0x5dd7f3['plugins']['get'](_0x3a0f0f),_0x404c0e=_0x5dd7f3['plugins']['get'](z);this['listenTo'](_0x19f679,'getOperationAuthor',(_0x5df9a7,_0x4ec3a3)=>{const _0xbe5234=_0x4ec3a3[0x0];_0xbe5234['_authorId']&&(_0x5df9a7['return']=_0x19f679['getUser'](_0xbe5234['_authorId']),_0x5df9a7['stop']()),null===_0xbe5234['_authorId']&&(_0x5df9a7['return']=null,_0x5df9a7['stop']());},{'priority':'high'}),this['listenTo'](_0x5dd7f3['model']['document']['selection'],'change:range',(_0x2a13ea,_0x37be4a)=>{_0x37be4a['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5dd7f3['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5dd7f3['model']['on']('applyOperation',(_0x9a7d62,_0x570512)=>{const _0x13cc40=_0x570512[0x0];_0x13cc40['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x13cc40),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x404c0e,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x3f34df,_0x430ec9,_0x4e672d)=>'connected'===_0x3f34df&&!_0x430ec9&&!_0x4e672d),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5dd7f3['disableReadOnlyMode']('rtc-offline'):_0x5dd7f3['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5dd7f3['disableReadOnlyMode']('rtc-offline'):_0x5dd7f3['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2a09f0=this['editor']['plugins']['get'](Y),_0x237611=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x2a09f0['unregister'](this['_channelId']);const _0x36562a=await this['_service']['reconnect'](_0x237611['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x36562a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x18b0e2=await this['_service']['getConnectedSessions']();_0x2a09f0['register'](this['_channelId'],_0x18b0e2),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2ae4e0){if(function(_0x2674e6){return'404'===_0x2674e6['code'];}(_0x2ae4e0)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x471389){return'409'===_0x471389['code'];}(_0x2ae4e0)){const _0x3a0e6b=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'](_0x3a0e6b);}else{if(!(_0x2ae4e0 instanceof et))throw _0x2ae4e0;this['_handleReconnectionError']();}}}}['destroy'](){const _0x25ac72=this['editor']['plugins']['get'](z),_0x343113=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x343113['channelSessions']['has'](this['_channelId'])&&_0x343113['unregister'](this['_channelId']),_0x25ac72['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x43c303){if(this['sessionId']!==_0x43c303['sessionId']&&this['_lastSyncedOperationId']!==_0x43c303['lastOperationId'])throw new et();return this['sessionId']=_0x43c303['sessionId'],this['_handleServerResponse']([],{..._0x43c303,'wereChangesApplied':!0x1,'data':_0x43c303['data']},'reconnect');}async['_connectService'](_0x1925af,_0x34bf60=!0x1){const {connection:_0x367723}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x367723,this['_channelId'])['then'](_0x336d00=>this['_initSessionsHandling'](_0x336d00))['catch'](_0x33c21a=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x33c21a);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x56b951,_0x5c36fb)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5c36fb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x24b977=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1925af);this['_isPendingUpdate']=!0x0;const _0x13acc6=await this['_service']['connect'](_0x367723,this['_compressOperations'](_0x1925af),_0x24b977);if(this['sessionId']=_0x13acc6['sessionId'],_0x34bf60){if(!_0x13acc6['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x13acc6['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1925af,_0x13acc6,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x13acc6,_0x1925af);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x28fd2e=this['editor']['plugins']['get'](Y),_0x43775b=this['editor']['plugins']['get'](K),_0x4a5ce3=_0x28fd2e['channelSessions']['get'](this['_channelId']);_0x4a5ce3&&_0x4a5ce3['length']>0x1?_0x43775b['createUserMarkerOperations']():this['listenTo'](_0x28fd2e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x28fd2e['channelSessions']['get'](this['_channelId'])['length']&&_0x43775b['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4ee6ce,_0x16e593,_0x32d822,_0x751e88){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x16e593){const _0x46de19=this['_decompressOperations'](_0x32d822,_0x751e88);await this['_fetchMissingUsers'](_0x46de19),this['_handleExternalOperations'](_0x46de19,_0x16e593,_0x32d822['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3ea35e}=this['editor'];let _0x1238b4;try{_0x1238b4=await this['_service']['getDocumentDetails']();}catch{const _0x2a8af4=X(_0x3ea35e,'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'](_0x2a8af4);}const _0x30af8c=_0x1238b4['currentDocumentSession']||_0x1238b4['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x30af8c['lastOperationId']){const _0xc07aee=X(_0x3ea35e,'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'](_0xc07aee);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x2d51cf=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2d51cf['connection']||'connected'!==_0x2d51cf['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x322561=this['editor']['plugins']['get'](Y);_0x322561['channelSessions']['has'](this['_channelId'])&&_0x322561['unregister'](this['_channelId']),_0x2d51cf['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x359795){const _0x2bbff4=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2bbff4,'sessionAdd:'+this['_channelId'],(_0x36b7a1,{session:_0x444fd4})=>{if(_0x444fd4['id']===_0x2bbff4['mySessionId']){_0x36b7a1['off']();const _0x5d79f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xdbafa7=_0x444fd4['permissions'];_0x5d79f&&_0x5d79f['isEnabled']&&(_0xdbafa7=_0xdbafa7['filter'](_0x1c7c22=>'document:write'!==_0x1c7c22)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xdbafa7,this['_channelId']);}}),_0x2bbff4['register'](this['_channelId'],_0x359795);}['_initThrowingOnDataSet'](){const _0x67c542=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x571bfe)=>{if(!_0x571bfe[_0x571bfe['length']-0x1]['suppressErrorInCollaboration'])throw new _0x50f763('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x67c542['apply'](this['editor']['data'],_0x571bfe);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x20e442,[_0x2548d4])=>{if(this['_document']['version'])throw new _0x50f763('realtimecollaborationclient-init-document-already-initialized',this);_0x20e442['stop'](),this['_setPendingAction']();const _0x1cc162=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1418ee])=>!_0x1418ee['lazyLoad'])['map'](([_0x5eba09,_0x36be37])=>[_0x5eba09,_0x36be37['modelAttributes']||{}])),_0x57e1ae=this['_getOperationsFromInitData'](_0x2548d4,_0x1cc162);0x0==_0x57e1ae['length']&&_0x57e1ae['push'](new _0x44598d(0x0)),_0x20e442['return']=this['_connectService'](_0x57e1ae)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x14f7b3=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x14f7b3))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xdeea7e,[_0x1b6ba,_0x533a46])=>{_0xdeea7e['stop']();const _0x1f8e14=this['editor']['model']['document']['getRoot'](_0x1b6ba);if(!this['_knownRootNames']['has'](_0x1b6ba)){const _0x3cca01=_0x533a46&&_0x533a46['data']?_0x533a46['data']:'',_0x49db29=_0x533a46&&_0x533a46['attributes']?_0x533a46['attributes']:{};await this['_loadRoot'](_0x1b6ba,_0x3cca01,_0x49db29);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1f8e14['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1f8e14);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x55d4c2){const _0x263490=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x34ea8a}=this['editor']['plugins']['get'](z),_0x5cbacb=new Set();for(const _0x109336 of _0x55d4c2){const _0x28dbbf=_0x109336['_authorId'];_0x28dbbf&&!_0x263490['getUser'](_0x28dbbf)&&_0x5cbacb['add'](_0x28dbbf);}if(0x0===_0x5cbacb['size'])return;const _0x4ec9d8=await _0x5778e5['getMany'](_0x34ea8a,Array['from'](_0x5cbacb));for(const _0x513fff of _0x4ec9d8)_0x263490['getUser'](_0x513fff['id'])||_0x263490['addUser'](_0x513fff);}['_getOperationsFromInitData'](_0x11e5a1,_0x28037a={}){const _0x54f0e5=this['editor']['model'],_0xd82de8=[];let _0x550f6f=0x0;const _0x43af2a='string'==typeof _0x11e5a1?{'main':_0x11e5a1}:_0x11e5a1;for(const _0x18aee6 of Object['keys'](_0x43af2a)){if(!this['_document']['roots']['has'](_0x18aee6))throw new _0x50f763('realtimecollaborationclient-init-non-existent-root',this);const _0x8a6b74=this['_document']['getRoot'](_0x18aee6),_0x122eac=this['editor']['data']['parse'](_0x43af2a[_0x18aee6],_0x8a6b74),_0x68e4cc=new _0x51617e(_0x54f0e5['createPositionAt'](_0x8a6b74,0x0),_0x122eac,_0x550f6f++);_0xd82de8['push'](_0x68e4cc);for(const [_0x37ae84,_0x117fb8]of _0x122eac['markers']){const _0x48732f=new _0x57d1e8(_0x37ae84,null,_0x54f0e5['createRange'](_0x54f0e5['createPositionFromPath'](_0x8a6b74,_0x117fb8['start']['path']['slice']()),_0x54f0e5['createPositionFromPath'](_0x8a6b74,_0x117fb8['end']['path']['slice']())),_0x54f0e5['markers'],!0x0,_0x550f6f++);_0xd82de8['push'](_0x48732f);}}if(_0x28037a)for(const [_0x1e38a5,_0x2f948a]of Object['entries'](_0x28037a)){const _0x204aa5=_0x54f0e5['document']['getRoot'](_0x1e38a5);if(!_0x204aa5)throw new _0x50f763('multi-root-editor-root-attributes-no-root',null);for(const [_0x5a605e,_0xb0aef8]of Object['entries'](_0x2f948a))if(null!==_0xb0aef8){const _0x26f745=new _0x1fde9d(_0x204aa5,_0x5a605e,null,_0xb0aef8,_0x550f6f++);_0xd82de8['push'](_0x26f745);}}return _0xd82de8;}async['_loadRoot'](_0x1e90e2,_0x44fdc7,_0x5c0fa3){this['_getOperationsFromInitData']({[_0x1e90e2]:_0x44fdc7},{[_0x1e90e2]:_0x5c0fa3})['forEach']((_0x18b575,_0x3588b2)=>{_0x18b575['baseVersion']=this['_document']['version']+_0x3588b2,_0x18b575['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x18b575);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x164c8d,_0x34e242){let _0x27ad58;this['_offset']=_0x164c8d['offset'];const _0x284f11=_0x164c8d['wereChangesApplied']&&!_0x164c8d['initData'],_0x1e0256=_0x284f11?0x0:_0x164c8d['data']['baseVersion'];if(_0x34e242['forEach'](_0x20ad4e=>{_0x20ad4e['_isInit']=!0x0,_0x20ad4e['createdAt']=_0x164c8d['sessionCreatedAt'],_0x20ad4e['_authorId']=null;}),_0x284f11)_0x27ad58=_0x34e242,this['_applyOperationsSet'](_0x27ad58,_0x284f11);else{if(_0x164c8d['initData']){const _0x2c0e3f=this['_getOperationsFromInitData'](_0x164c8d['initData']);this['_document']['history']['version']=-_0x2c0e3f['length'],_0x2c0e3f['forEach'](_0x4d5970=>{_0x4d5970['baseVersion']-=_0x2c0e3f['length'],_0x4d5970['createdAt']=_0x164c8d['sessionCreatedAt'],_0x4d5970['_isInit']=!0x0,_0x4d5970['_authorId']=null;}),this['_applyOperationsSet'](_0x2c0e3f,!0x0),this['serverHistory']['version']=-_0x2c0e3f['length']+this['_offset'],this['_updateServerHistory'](_0x2c0e3f);}this['_document']['history']['version']=_0x1e0256,_0x27ad58=this['_decompressOperations'](_0x164c8d['data'],_0x164c8d['metadata']),await this['_fetchMissingUsers'](_0x27ad58),this['_applyOperationsSet'](_0x27ad58,_0x284f11);}_0x164c8d['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x27ad58,_0x164c8d['lastOperationId']),this['_lastSyncedOperationId']=_0x164c8d['lastOperationId']),this['serverHistory']['version']=_0x1e0256+this['_offset'],this['_updateServerHistory'](_0x27ad58),_0x34e242['filter'](_0x4476b4=>{const _0x5a1134=this['_getAffectedRoot'](_0x4476b4);return _0x5a1134&&!this['_knownRootNames']['has'](_0x5a1134);})['forEach']((_0x6f8c40,_0x2e4667)=>{_0x6f8c40['baseVersion']=this['_document']['version']+_0x2e4667,this['_saveOperationInBuffer'](_0x6f8c40);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1ae223,_0xd012e0){const _0x287591=_0xd012e0&&_0xd012e0['message'];if(_0x287591&&_0x287591['startsWith']('realtimecollaborationclient'))throw _0xd012e0;const _0x49efde=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x49efde['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x50f763(_0x1ae223,this['editor'],_0x287591?{'originalError':_0x287591}:void 0x0);}['_saveOperationInBuffer'](_0x1d642e){this['_knownOperations']['has'](_0x1d642e)||(this['_knownOperations']['add'](_0x1d642e),this['_bufferedOperations']['push'](_0x1d642e),this['_pendingAction']||'marker'==_0x1d642e['type']&&!_0x1d642e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x34361f=!0x1){!_0x34361f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1c110b=>{_0x1c110b&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x367dc7=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3419c1){return _0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x367dc7)||this['_crash'](_0x367dc7['message'],_0x367dc7);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2c6e98=>{this['on']('change:_isPendingUpdate',()=>{_0x2c6e98();});});}async['_sendBufferedOperations'](){const _0x4fe350=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x4fe350['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5939b9=[...this['_bufferedOperations']];for(const _0x204adb of _0x5939b9)_0x204adb['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x204adb);const _0x57519a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5939b9),_0x4d30d2=Z++,_0x387378=this['_compressOperations'](_0x5939b9),_0xda8345=await this['_service']['sendOperations'](_0x387378,_0x387378['baseVersion'],_0x57519a);try{return await this['_handleServerResponse'](_0x5939b9,_0xda8345,_0x4d30d2);}catch(_0x309816){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x309816);}}async['_handleServerResponse'](_0x3fc344,_0x5b1bd2,_0x188574){if('error'in _0x5b1bd2)throw _0x5b1bd2['error'];let _0x1320f1=!0x1;if(_0x5b1bd2['wereChangesApplied']){_0x5b1bd2['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5b1bd2['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x9e9147=>!_0x3fc344['includes'](_0x9e9147));for(const _0x40b50b of _0x3fc344)_0x40b50b['createdAt']='lastOperationAcceptedAt'in _0x5b1bd2&&_0x5b1bd2['lastOperationAcceptedAt']||void 0x0;st(_0x3fc344,_0x5b1bd2['version']-_0x3fc344['length']),this['_updateServerHistory'](_0x3fc344);const _0x39ae90=_0x3fc344['filter'](_0x1ca479=>{if(!_0x1ca479['_isInit'])return!0x1;const _0x204f7f=this['_getAffectedRoot'](_0x1ca479);return _0x204f7f&&!this['_knownRootNames']['has'](_0x204f7f);});st(_0x39ae90,this['_document']['version']),this['_applyOperationsSet'](_0x39ae90),_0x1320f1=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x53c088=this['_decompressOperations'](_0x5b1bd2['data'],_0x5b1bd2['metadata'])['filter'](_0x28fd8f=>_0x28fd8f['baseVersion']>=this['_lastServerVersion']);_0x53c088['forEach'](_0x585239=>this['_addKnownRoot'](_0x585239)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3c937b=>!_0x3c937b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3c937b))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x53c088),_0x1320f1=this['_handleExternalOperations'](_0x53c088,_0x5b1bd2['version'],_0x5b1bd2['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1320f1?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x181885,_0x2966da,_0x47ca5d){try{const _0x1fa018={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4dd446,operationsB:_0x35f646,originalOperations:_0x452e15}=_0x3b64ef(_0x181885,this['_bufferedOperations'],_0x1fa018);st(_0x4dd446,this['_document']['version']),st(_0x35f646,_0x2966da);for(const _0xdb79b5 of _0x4dd446){const _0x1ba5bc=_0x452e15['get'](_0xdb79b5);_0x1ba5bc?(_0xdb79b5['_authorId']=_0x1ba5bc['_authorId'],'noop'!==_0xdb79b5['type']&&(_0xdb79b5['_aiSource']=_0x1ba5bc['_aiSource'])):_0xdb79b5['_authorId']=null;}for(const _0x4c1bda of _0x35f646)'noop'!==_0x4c1bda['type']&&(_0x4c1bda['_aiSource']=_0x452e15['get'](_0x4c1bda)?.['_aiSource']);_0x47ca5d&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x181885,_0x47ca5d),this['_lastSyncedOperationId']=_0x47ca5d),this['_bufferedOperations']=[..._0x35f646],this['_applyOperationsSet'](_0x4dd446),this['_updateServerHistory'](_0x181885);}catch(_0x34a774){return console['error'](_0x34a774),!0x1;}return!0x0;}['_applyOperationsSet'](_0x475af8,_0x297f5c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x485354=>{for(const _0x5ca3c0 of _0x475af8)this['_knownOperations']['add'](_0x5ca3c0),this['_addKnownRoot'](_0x5ca3c0),_0x485354['batch']['addOperation'](_0x5ca3c0),this['editor']['model']['applyOperation'](_0x5ca3c0);});}['_addKnownRoot'](_0x587993){const _0x237407=this['_getAffectedRoot'](_0x587993);_0x237407&&this['_knownRootNames']['add'](_0x237407);}['_getAffectedRoot'](_0x20d55f){let _0x5525b4,_0x3e52a4;switch(_0x20d55f['type']){case'insert':_0x5525b4=_0x20d55f['position']['root'];break;case'marker':if(_0x3e52a4=_0x20d55f['newRange'],!_0x3e52a4)return null;_0x5525b4=_0x3e52a4['root'];break;case'addRootAttribute':_0x5525b4=_0x20d55f['root'];break;case'addRoot':_0x5525b4=_0x20d55f['affectedSelectable'];break;case'move':_0x5525b4=_0x20d55f['targetPosition']['root'];break;default:return null;}return _0x5525b4['rootName'];}['_updateServerHistory'](_0x1fa1d6){_0x1fa1d6['forEach'](_0x247223=>{const _0x1cc997=_0x247223['clone']();_0x1cc997['_authorId']=_0x247223['_authorId'],_0x1cc997['_isInit']=!!_0x247223['_isInit'],_0x1cc997['_aiSource']=_0x247223['_aiSource'],_0x1cc997['createdAt']=_0x247223['createdAt'],_0x1cc997['baseVersion']+=this['_offset'],_0x247223['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1cc997),this['serverHistory']['addOperation'](_0x1cc997);});}['_handleReconnectionError'](_0x3d40ae){const _0x573169=this['editor']['plugins']['get']('Notification'),_0x16ce66=this['editor']['locale'];_0x3d40ae||(_0x3d40ae=X(_0x16ce66,'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.')),_0x573169['showWarning'](_0x3d40ae,{'title':X(_0x16ce66,'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'](_0x442fb9)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x442fb9)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4da0c9){const _0x5c75f2=_0x4da0c9['map'](_0x322b79=>_0x322b79['toJSON']());return this['_compressor']['compress'](_0x5c75f2);}['_decompressOperations'](_0x103792,_0x2f8ca3){return this['_compressor']['decompress'](_0x103792)['map']((_0x2d1c15,_0x36cc21)=>{const _0x37df9f='init'==_0x2f8ca3[_0x36cc21]['type'];if('InsertOperation'==_0x2d1c15['__className']){const _0x5efc52=_0x2d1c15['position']['root'];!this['_document']['getRoot'](_0x5efc52)&&(this['_document']['createRoot']('$unknown',_0x5efc52)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2d1c15['__className']){const _0x3d79e5=this['_document']['getRoot'](_0x2d1c15['rootName']);_0x3d79e5&&'$unknown'==_0x3d79e5['name']&&_0x2d1c15['elementName']!=_0x3d79e5['name']&&(_0x3d79e5['name']=_0x2d1c15['elementName']);}}const _0x3a4d16=_0x3e843c['fromJSON'](_0x2d1c15,this['_document']);return _0x3a4d16['wasUndone']=_0x2d1c15['wasUndone'],_0x3a4d16['_isInit']=_0x37df9f,_0x3a4d16['_authorId']=_0x37df9f?null:_0x2f8ca3[_0x36cc21]['userId'],_0x3a4d16['_isDisconnection']='cs:removeUser'===_0x2f8ca3[_0x36cc21]['type'],_0x3a4d16['_aiSource']=_0x2d1c15['_aiSource']||void 0x0,_0x3a4d16['createdAt']=_0x2f8ca3[_0x36cc21]['createdAt'],_0x3a4d16;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2a3c22=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2a3c22&&_0x2a3c22['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x2900e2,_0x5f40dc){for(const _0x123bab of _0x2900e2)_0x123bab['baseVersion']=_0x5f40dc++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x5e0a80){this['_ignoredOperations']=_0x5e0a80,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x30f33f){let _0x22b031=_0x30f33f['length'];for(;_0x22b031--;){const _0x4374ab=_0x30f33f[_0x22b031];if(!this['_ignoredOperations']['has'](_0x4374ab)){if(!this['_operationToId']['has'](_0x4374ab)){const _0x4a07fc=_0x3ff10e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4374ab,_0x4a07fc);}return this['_operationToId']['get'](_0x4374ab);}}}['setIdForTheLastOperation'](_0x2b2ee7,_0x4d22e6){if(!_0x4d22e6)return;let _0x30707e=_0x2b2ee7['length'];for(;_0x30707e--;){const _0x494dd5=_0x2b2ee7[_0x30707e];this['_ignoredOperations']['has'](_0x494dd5)||this['_operationToId']['set'](_0x494dd5,_0x4d22e6);}}},nt=class extends _0x203610{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x525f71{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x3fa162)());['_services'];static get['requires'](){return[z,_0x4fd941,Y,_0x3a0f0f];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x20bc88){super(_0x20bc88),this['_services']=new Map();}async['init'](){const _0x31154a=this['context'],_0xb7fabe=_0x31154a['plugins']['get'](_0x4fd941);if(_0x31154a['plugins']['get'](z)['addToReconnectionStack'](this),_0xb7fabe['adapter']={'addCommentThread':async({channelId:_0x25ffdf,threadId:_0x456a36,comments:_0x35f097,resolvedAt:_0x410cd3,resolvedBy:_0x29a55d,context:_0x52a322,attributes:_0x4ecc5d})=>{const _0x77c04a=await this['_getService'](_0x25ffdf)['addCommentThread']({'commentThreadId':_0x456a36,'comments':_0x35f097['map'](_0x581a4e=>function(_0xe20a8d,_0x3f92c1,_0x265a84){return{'commentThreadId':_0x265a84,'commentId':_0xe20a8d['commentId'],'userId':_0xe20a8d['authorId'],'content':_0xe20a8d['content'],'documentId':_0x3f92c1,'createdAt':_0xe20a8d['createdAt'],'attributes':_0xe20a8d['attributes']||{}};}(_0x581a4e,_0x25ffdf,_0x456a36)),'resolvedAt':_0x410cd3,'resolvedBy':_0x29a55d,'context':_0x52a322,'attributes':_0x4ecc5d})['catch'](ct);return{'threadId':_0x77c04a['commentThreadId'],'comments':_0x77c04a['comments']};},'getCommentThread':async({channelId:_0x5370df,threadId:_0x2dbcd})=>{const _0x177753=await this['_getService'](_0x5370df)['getCommentThread'](_0x2dbcd)['catch'](rt)['catch'](ct);return _0x177753?_0x177753['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x177753]),{'threadId':_0x177753['commentThreadId'],'comments':_0x177753['comments']['map'](at),'context':_0x177753['context'],'resolvedAt':_0x177753['resolvedAt'],'resolvedBy':_0x177753['resolvedBy'],'attributes':_0x177753['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5cb94e,threadId:_0xeedfb6,context:_0x323881,unlinkedAt:_0x108370,attributes:_0x5339ac})=>this['_getService'](_0x5cb94e)['updateCommentThread']({'commentThreadId':_0xeedfb6,'context':_0x323881,'attributes':_0x5339ac,'unlinkedAt':_0x108370})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x11858c,threadId:_0x2c2a45})=>{const _0x30c2c9=await this['_getService'](_0x11858c)['resolveCommentThread'](_0x2c2a45)['catch'](rt)['catch'](ct);return{'threadId':_0x30c2c9['commentThreadId'],'resolvedAt':_0x30c2c9['resolvedAt'],'resolvedBy':_0x30c2c9['resolvedBy']};},'reopenCommentThread':async({channelId:_0x472f0b,threadId:_0x24c981})=>this['_getService'](_0x472f0b)['reopenCommentThread'](_0x24c981)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x423d2c,threadId:_0x828860})=>this['_getService'](_0x423d2c)['removeCommentThread'](_0x828860)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x4e46ab,threadId:_0x78ead9,commentId:_0x554fda,content:_0x3fa5cb,attributes:_0x5daac5})=>this['_getService'](_0x4e46ab)['addComment'](_0x78ead9,_0x554fda,_0x3fa5cb,_0x5daac5)['catch'](ct),'updateComment':({channelId:_0x459bdb,threadId:_0x58a0f8,commentId:_0xfc311,content:_0x32cfc8,attributes:_0x4bdf86})=>this['_getService'](_0x459bdb)['updateComment'](_0x58a0f8,_0xfc311,_0x32cfc8,_0x4bdf86)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x33e23d,threadId:_0x475b21,commentId:_0x34f421})=>this['_getService'](_0x33e23d)['removeComment'](_0x475b21,_0x34f421)['catch'](rt)['catch'](ct)},_0x31154a instanceof _0x65df0c){const _0x4adc2a=_0x31154a['config']['get']('collaboration.channelId'),_0x1cefda=_0x31154a['plugins']['get'](Y);await this['_setUpService'](_0x4adc2a);const _0x192e21=await this['_services']['get'](_0x4adc2a)['getConnectedSessions']();this['listenTo'](_0x1cefda,'sessionAdd:'+_0x4adc2a,(_0x3945b5,{session:_0x5cbeb5})=>{_0x5cbeb5['id']===_0x1cefda['mySessionId']&&(_0x3945b5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5cbeb5['permissions'],_0x4adc2a));}),_0x1cefda['register'](_0x4adc2a,_0x192e21);}}async['_setUpService'](_0x3915e9){if(this['_services']['has'](_0x3915e9))throw new _0x50f763('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3915e9});const _0x4d5e72=this['context']['plugins']['get'](_0x4fd941),_0x111703=new CloudServicesCommentsAdapter['CommentsService'](_0x3915e9);this['_services']['set'](_0x3915e9,_0x111703),this['listenTo'](_0x111703,'commentThreadAdded',(_0x4b318d,_0x2e9504)=>{const {commentThreadId:_0xe5b731,documentId:_0x5d6163,context:_0x2f9065,attributes:_0xc43e44,resolvedAt:_0x38337c,resolvedBy:_0x73949e,comments:_0x151c68}=_0x2e9504;_0x4d5e72['getCommentThread'](_0xe5b731)||_0x4d5e72['addCommentThread']({'threadId':_0xe5b731,'channelId':_0x5d6163,'comments':_0x151c68?_0x151c68['map'](at):[],'context':_0x2f9065,'attributes':_0xc43e44,'resolvedAt':_0x38337c,'resolvedBy':_0x73949e,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadUpdated',(_0x5bca15,{commentThreadId:_0x32ee5c,documentId:_0x3e7c27,context:_0x22b037,unlinkedAt:_0x4e380a,attributes:_0x4a9c02})=>{_0x4d5e72['getCommentThread'](_0x32ee5c)&&_0x4d5e72['updateCommentThread']({'threadId':_0x32ee5c,'channelId':_0x3e7c27,'context':_0x22b037,'unlinkedAt':_0x4e380a,'attributes':_0x4a9c02,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadResolved',(_0x40ad15,{commentThreadId:_0xb1c25f,resolvedBy:_0x13d545,resolvedAt:_0x4927ba})=>{const _0x421dcd=_0x4d5e72['getCommentThread'](_0xb1c25f);_0x421dcd&&_0x421dcd['resolve']({'resolvedBy':_0x13d545,'resolvedAt':_0x4927ba,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadReopened',(_0x55ba08,{commentThreadId:_0x5de229})=>{const _0x31e049=_0x4d5e72['getCommentThread'](_0x5de229);_0x31e049&&_0x31e049['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadRemoved',(_0xb94f21,{commentThreadId:_0x3e54bc})=>{const _0x1b72f0=_0x4d5e72['getCommentThread'](_0x3e54bc);_0x1b72f0&&_0x1b72f0['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentAdded',(_0x251f8e,_0x2b1a2d)=>{const _0xeec4d=_0x2b1a2d['commentThreadId'],_0x36b955=_0x4d5e72['getCommentThread'](_0xeec4d);_0x36b955&&_0x36b955['addComment']({...at(_0x2b1a2d),'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentUpdated',(_0x1264f4,{commentThreadId:_0x1e1d13,commentId:_0x6eacff,content:_0x348056,attributes:_0x43cfc4})=>{const _0x34aecf=_0x4d5e72['getCommentThread'](_0x1e1d13);if(_0x34aecf){const _0x5024e2=_0x34aecf['getComment'](_0x6eacff);_0x5024e2&&_0x5024e2['update']({'content':_0x348056,'attributes':_0x43cfc4,'isFromAdapter':!0x0});}}),this['listenTo'](_0x111703,'commentRemoved',(_0x528709,{commentThreadId:_0x529736,commentId:_0x5279b9})=>{const _0x5e6709=_0x4d5e72['getCommentThread'](_0x529736);if(_0x5e6709){const _0x26e4ef=_0x5e6709['getComment'](_0x5279b9);_0x26e4ef&&_0x26e4ef['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x111703,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x3915e9),this['stopListening'](_0x111703));}),await this['_connectService'](_0x3915e9);}['destroy'](){if(this['context']instanceof _0x65df0c){const _0x100bbf=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x100bbf)&&this['_terminateService'](_0x100bbf);}}['_terminateService'](_0x563b79){if(!this['_services']['has'](_0x563b79))throw new _0x50f763('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x563b79});this['_getService'](_0x563b79)['disconnect'](),this['_services']['delete'](_0x563b79);}async['reconnect'](){for(const _0x2821a2 of this['_services']['keys']())await this['_connectService'](_0x2821a2);if(this['context']instanceof _0x65df0c){const _0x2eb25b=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x2eb25b)){const _0x597ecb=this['context']['plugins']['get'](Y);_0x597ecb['unregister'](_0x2eb25b);const _0x80fb84=await this['_services']['get'](_0x2eb25b)['getConnectedSessions']();_0x597ecb['register'](_0x2eb25b,_0x80fb84);}}}async['_connectService'](_0x374372){const {connection:_0x179916}=this['context']['plugins']['get'](z),_0x45bc49=this['context']['plugins']['get'](_0x4fd941),_0xf15548=await this['_services']['get'](_0x374372)['connect'](_0x179916);await this['_fetchMissingUsersForThreads'](_0xf15548);const _0x1879e3=new Set(Array['from'](_0x45bc49['getCommentThreads']({'channelId':_0x374372}),_0x25f347=>_0x25f347['id']));for(const _0x9b9b1f of _0xf15548)_0x9b9b1f['deletedAt']||_0x1879e3['delete'](_0x9b9b1f['commentThreadId']);for(const _0x458315 of _0x1879e3)_0x45bc49['getCommentThread'](_0x458315)['remove']({'isFromAdapter':!0x0});for(const _0x6bbd1f of _0xf15548){let _0x5efae3=_0x45bc49['getCommentThread'](_0x6bbd1f['commentThreadId']);const {commentThreadId:_0x22b184,context:_0x139b52,attributes:_0x336138,resolvedBy:_0x58886a,resolvedAt:_0x5f20c3,unlinkedAt:_0x38e026,deletedAt:_0x339917}=_0x6bbd1f;if(_0x339917)continue;_0x5efae3||(_0x5efae3=_0x45bc49['addCommentThread']({'channelId':_0x374372,'threadId':_0x22b184,'context':_0x139b52,'attributes':_0x336138||{},'resolvedBy':_0x58886a,'resolvedAt':_0x5f20c3,'unlinkedAt':_0x38e026,'isFromAdapter':!0x0}));const _0xbbfb9f=new Set(Array['from'](_0x5efae3['comments'],_0x22134c=>_0x22134c['id']));for(const _0x49cfcc of _0x6bbd1f['comments'])_0xbbfb9f['delete'](_0x49cfcc['commentId']);for(const _0x238dd2 of _0xbbfb9f)_0x5efae3['getComment'](_0x238dd2)['remove']({'isFromAdapter':!0x0});for(const _0x3b0143 of _0x6bbd1f['comments']){const _0x43ffd7=_0x5efae3['getComment'](_0x3b0143['commentId']);_0x43ffd7?_0x43ffd7['content']!==_0x3b0143['content']&&_0x43ffd7['update']({'content':_0x3b0143['content'],'isFromAdapter':!0x0}):_0x5efae3['addComment'](Object['assign'](at(_0x3b0143),{'isFromAdapter':!0x0}));}}}['_getService'](_0x373a71){if(!this['_services']['has'](_0x373a71))throw new _0x50f763('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x373a71});return this['_services']['get'](_0x373a71);}async['_fetchMissingUsersForThreads'](_0x1c1c18){const _0x2e19d0=this['context']['plugins']['get'](_0x3a0f0f),{connection:_0x3d5a58}=this['context']['plugins']['get'](z),_0x3c4836=new Set();for(const {resolvedBy:_0x54b666,comments:_0x1b5680}of _0x1c1c18){_0x54b666&&!_0x2e19d0['getUser'](_0x54b666)&&_0x3c4836['add'](_0x54b666);for(const {userId:_0x52c5a1}of _0x1b5680)_0x2e19d0['getUser'](_0x52c5a1)||_0x3c4836['add'](_0x52c5a1);}if(0x0===_0x3c4836['size'])return;const _0x3ba133=await _0x5778e5['getMany'](_0x3d5a58,Array['from'](_0x3c4836));for(const _0x6843ed of _0x3ba133)_0x2e19d0['getUser'](_0x6843ed['id'])||_0x2e19d0['addUser'](_0x6843ed);}};async function rt(_0x1708af){if('404'!==_0x1708af['code'])throw _0x1708af;}function ct(_0x36420c){if((_0x4809fe=_0x36420c)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4809fe['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4809fe['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4809fe;throw _0x36420c;}function at(_0x531497){return{'threadId':_0x531497['commentThreadId'],'commentId':_0x531497['commentId'],'content':_0x531497['content'],'createdAt':_0x531497['createdAt'],'authorId':_0x531497['userId'],'attributes':_0x531497['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x203610{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x2cda8d)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x57a2b8,Y,_0x3a0f0f];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ca630){super(_0x2ca630);const _0x2a7750=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2a7750);}async['init'](){const _0x2d4b8f=this['editor']['plugins']['get'](tt),_0x77b539=_0x2d4b8f['serverHistory'],_0x3e6b39=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x77b539,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2d4b8f['sessionId']});const _0x1efe80=this['editor']['config']['get']('cloudServices.bundleVersion')||_0xad9c89,_0x535436=await _0x4bd199['isBundleUploaded'](_0x3e6b39['connection'],_0x1efe80);this['editor']['plugins']['get'](_0x57a2b8)['adapter']={'getRevision':async({revisionId:_0x1a9027})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1a9027)),'updateRevisions':async _0x6a802=>{await this['_waitForServiceReady']();const _0x500cc2=this['_revisionTracker']['currentRevision'];if(_0x535436&&0x1===_0x6a802['length']&&_0x6a802[0x0]['id']===_0x500cc2['id'])return _0x6a802;for(const _0x13e212 of _0x6a802)_0x13e212['id']===_0x500cc2['id']&&(_0x13e212['isEmptyCurrent']=_0x13e212['fromVersion']===_0x13e212['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x6a802,this['_lastRequestId'])['then'](_0xc651aa=>(this['_lastRequestId']=_0xc651aa,_0x6a802))['catch'](_0x24407d=>{if(pt(_0x24407d)||'400'===_0x24407d['code']&&void 0x0!==_0x24407d['data']['wrongRequestId']){for(const _0x14e960 of _0x6a802)this['_revisionTracker']['repository']['getRevision'](_0x14e960['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x14e960['id'],_0x14e960,!0x1);if(pt(_0x24407d)&&'destroyed'!==this['editor']['state'])throw _0x24407d;return _0x6a802;}throw _0x24407d;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x7b0fda,{revisionsData:_0x1dfc7e,requestId:_0x3f1968})=>{Math['max'](..._0x1dfc7e['map'](_0x250a9a=>_0x250a9a['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1dfc7e,_0x3f1968);}):this['_handleRevisionsUpdate'](_0x1dfc7e,_0x3f1968);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x3e6b39['connection']?.['state']&&(_0x3e6b39['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x47c755,requestId:_0x49b361}=await this['_revisionHistoryService']['connect'](_0x3e6b39['connection']);_0x3e6b39['addToReconnectionStack'](this),this['_lastRequestId']=_0x49b361,await this['_fetchMissingUsers'](_0x47c755);for(const _0x52ee2c of _0x47c755)this['_revisionTracker']['addRevisionData'](_0x52ee2c);this['listenTo'](_0x2d4b8f,'change:_isConnected',(_0x341aa0,_0x3dd2d1,_0x4b77d1)=>{_0x4b77d1&&(this['_oldOffset']=_0x2d4b8f['_offset'],_0x341aa0['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x4e1ad3=this['editor']['plugins']['get'](z),_0x250afa=this['editor']['plugins']['get'](tt),_0xc32d28=async()=>{const _0x3dce51=this['_revisionTracker']['currentRevision'],_0xa0c001=_0x3dce51['id'],_0x436dc7=_0xa0c001!==_0x250afa['sessionId'];if(_0x436dc7){const _0x52d571=_0x250afa['_offset']-this['_oldOffset'],_0x525825=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x3dce51['toVersion']+_0x52d571!==_0x525825){const _0x47915c=_0x3dce51['fromVersion']+_0x52d571,_0x2e7de2=this['editor']['plugins']['get'](_0x3a0f0f),_0x6286dd=this['_revisionTracker']['buildRevisionData']({'revision':_0x3dce51,'from':_0x47915c,'to':_0x525825});_0x6286dd['id']=_0x3dce51['id'];const _0x1cfc97=_0x6286dd['authorsIds']['map'](_0x2bd197=>_0x2e7de2['getUser'](_0x2bd197));_0x3dce51['_update']({..._0x6286dd,'authors':_0x1cfc97},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3dce51['id'],_0x6286dd,!0x0);}this['_revisionTracker']['_startingVersion']=_0x525825,_0x3dce51['toVersion']!==_0x3dce51['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0xa0c001)||this['_revisionTracker']['repository']['_revisions']['remove'](_0xa0c001),this['_revisionTracker']['_createCurrentRevision'](_0x525825);}const {revisions:_0x23b8fc,requestId:_0x44c7a4}=await this['_revisionHistoryService']['reconnect'](_0x4e1ad3['connection'],this['_lastRequestId']);_0x436dc7&&_0x23b8fc['length']>0x0?_0x250afa['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x23b8fc),this['_handleRevisionsUpdate'](_0x23b8fc,_0x44c7a4),this['_revisionTracker']['sendBufferedUpdates']());};return _0x250afa['_isConnected']?_0xc32d28():new Promise((_0x246a81,_0x1fa750)=>{_0x250afa['once']('change:_isConnected',()=>{_0xc32d28()['then'](_0x246a81)['catch'](_0x1fa750);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x376b62=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x8d9730=>{_0x8d9730['off'](),_0x376b62();});});}['_getLatestVersionFromServerOperations'](){const _0x58d5c9=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x17d994 of _0x58d5c9)if('marker'!==_0x17d994['type']||_0x17d994['affectsData'])return _0x17d994['baseVersion']+0x1;}['_getLatestVersion'](){const _0x52ef6b=this['editor']['plugins']['get'](tt);return new Promise(_0x578998=>{_0x52ef6b['_isPendingUpdate']?_0x52ef6b['once']('change:_isPendingUpdate',()=>{_0x578998(this['_getLatestVersionFromServerOperations']());}):_0x578998(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x461255,_0x3610b6){const _0x388593=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3610b6;for(const _0x4611c3 of _0x461255){const _0x1c0f9f=_0x388593['getRevision'](_0x4611c3['id']);if(_0x1c0f9f){if((_0x4611c3['fromVersion']||_0x4611c3['toVersion'])&&(_0x4611c3['diffData']=null),_0x1c0f9f===this['_revisionTracker']['currentRevision']){const _0x2f4def=Math['max'](_0x1c0f9f['toVersion'],_0x4611c3['toVersion']),_0x12a15f=Math['max'](_0x1c0f9f['fromVersion'],_0x4611c3['fromVersion']);let _0x595b9;_0x1c0f9f['toVersion']===_0x4611c3['toVersion']&&_0x1c0f9f['fromVersion']===_0x4611c3['fromVersion']?(_0x595b9=!0x0,this['_preventResendingRevisionData'](_0x4611c3)):_0x4611c3['toVersion']===_0x2f4def&&_0x4611c3['fromVersion']===_0x12a15f?_0x595b9=!0x1:(_0x1c0f9f['toVersion']===_0x2f4def&&_0x1c0f9f['fromVersion']===_0x12a15f||this['_fixRevision']({'revision':_0x1c0f9f,'from':_0x12a15f,'to':_0x2f4def}),_0x595b9=!0x0),_0x595b9&&(delete _0x4611c3['fromVersion'],delete _0x4611c3['toVersion'],delete _0x4611c3['diffData'],delete _0x4611c3['createdAt'],delete _0x4611c3['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4611c3),this['_preventResendingRevisionData'](_0x4611c3);}else this['_revisionTracker']['addRevisionData'](_0x4611c3);}const _0x5ee1c9=_0x388593['getRevisions']();_0x5ee1c9['reverse']();for(let _0x5eff3c=0x0;_0x5eff3c<_0x5ee1c9['length']-0x1;_0x5eff3c++){const _0x2b93ba=_0x5ee1c9[_0x5eff3c],_0x16299b=_0x5ee1c9[_0x5eff3c+0x1];if(_0x2b93ba['fromVersion']<_0x16299b['toVersion']){const _0x4520c2=_0x16299b['toVersion'],_0x44eb84=Math['max'](_0x4520c2,_0x2b93ba['toVersion']);this['_fixRevision']({'revision':_0x2b93ba,'from':_0x4520c2,'to':_0x44eb84});}}}['_fixRevision']({revision:_0x49f833,from:_0xe37590,to:_0x147670}={}){const _0x1d3083=this['editor']['plugins']['get'](_0x3a0f0f),_0x12e47c=this['_revisionTracker']['buildRevisionData']({'revision':_0x49f833,'from':_0xe37590,'to':_0x147670});_0x12e47c['authors']=_0x12e47c['authorsIds']['map'](_0x19b395=>_0x1d3083['getUser'](_0x19b395)),_0x49f833['_update'](_0x12e47c);}['_preventResendingRevisionData'](_0x39be98){const _0x304c74={};_0x304c74['id']=_0x39be98['id'];for(const _0x413c26 of Object['keys'](_0x39be98))'id'!==_0x413c26&&(_0x304c74[_0x413c26]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x304c74['id'],_0x304c74,!0x0);}async['_fetchMissingUsers'](_0x2650d2){const _0x4dd1ad=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x3dc1e0}=this['editor']['plugins']['get'](z),_0x3bfa41=new Set();for(const _0x263d12 of _0x2650d2){for(const _0x1797b4 of _0x263d12['authorsIds'])_0x249df1(_0x1797b4);_0x263d12['creatorId']&&_0x249df1(_0x263d12['creatorId']);}if(0x0===_0x3bfa41['size'])return;const _0x35b17c=await _0x5778e5['getMany'](_0x3dc1e0,Array['from'](_0x3bfa41));for(const _0x4c92a5 of _0x35b17c)_0x4dd1ad['getUser'](_0x4c92a5['id'])||_0x4dd1ad['addUser'](_0x4c92a5);function _0x249df1(_0x5a1e9b){_0x4dd1ad['getUser'](_0x5a1e9b)||_0x3bfa41['add'](_0x5a1e9b);}}};function pt(_0x52e9f5){return _0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x203610{static get['requires'](){return[_0x57a2b8,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x4317fb{['_collapseAt'];constructor(_0x1c9075,_0x5bc683=0x6){super(_0x1c9075);const _0x36641a=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5bc683,this['bind']('isHidden')['to'](this,'usersCount',_0x1cc367=>_0x1cc367<_0x5bc683),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x36641a['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':_0x36641a['to']('usersCount',_0x19bd58=>'+'+(_0x19bd58-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x4317fb{['items'];['keystrokes'];constructor(_0x1baae8){super(_0x1baae8);const _0x2a08ed=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x17a0f8(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2a08ed['if']('hasPopup'),'aria-expanded':_0x2a08ed['to']('isExpanded',_0x2ea15c=>this['hasPopup']&&String(_0x2ea15c)),'aria-label':_0x2a08ed['to']('hasPopup',_0x41c124=>X(_0x1baae8,_0x41c124?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2a08ed['to']('hasPopup',_0x46cbc=>!!_0x46cbc&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2a08ed['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2a08ed['to'](_0x2618a3=>{const _0x2f9651=_0x2618a3,_0x338487=document['querySelector']('.ck-presence-list__dropdown-list'),_0x56a132=document['querySelector']('.ck-balloon-panel_with-arrow');_0x338487?.['contains'](_0x2f9651['relatedTarget'])||_0x56a132?.['contains'](_0x2f9651['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3c440f,_0x53fa31,_0x2931c0)=>{this['element']&&(_0x2931c0?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x4317fb{['counterView'];['inlineListView'];constructor(_0x1bb56f,_0x1c3427=0x6){super(_0x1bb56f);const _0x2e428d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1c3427),this['inlineListView']=new vt(_0x1bb56f),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5cf091 of this['inlineListView']['items'])_0x5cf091['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',_0x2e428d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x4317fb{['listWrapperView'];constructor(_0x343dce,_0x4bbbf5){super(_0x343dce);const _0x3e90bc=this['bindTemplate'];this['listWrapperView']=new bt(_0x343dce,_0x4bbbf5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x343dce,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3e90bc['to'](_0x25d1b5=>{const _0xeee1ff=_0x25d1b5,_0x52662f=document['querySelector']('.ck-presence-list__list'),_0x129009=document['querySelector']('.ck-balloon-panel_with-arrow');_0x52662f?.['contains'](_0xeee1ff['relatedTarget'])||_0x129009?.['contains'](_0xeee1ff['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x1157a6{constructor(_0x1c0c52,_0x2f7f8c){super(_0x1c0c52);const _0x45dc73=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2f7f8c?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x45dc73['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x45dc73['to']('role'),'aria-label':_0x45dc73['to']('ariaLabel'),'aria-labelledby':_0x45dc73['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x6efeaf['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x297135=this['element'];_0x297135&&(this['_isScrollable']=Math['max'](_0x297135['scrollHeight'],_0x297135['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x2b1c38{['userView'];constructor(_0x15c40f,_0x2cb5c6,_0x52b0ed){super(_0x15c40f);const _0x3c0ed5=this['bindTemplate'];this['userView']=new _0x15c9e3(_0x15c40f,_0x2cb5c6);const _0x5f1f2b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2cb5c6['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2cb5c6['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2cb5c6['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2cb5c6['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2cb5c6['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x52b0ed&&(_0x5f1f2b['tag']='button',_0x5f1f2b['on']={'click':_0x3c0ed5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5f1f2b);}['focus'](){this['element']['focus']();}},It=class extends _0x4317fb{['userView'];['markerView'];constructor(_0xc036af,_0x83ef7e,_0x471d61){super(_0xc036af);const _0x2960e9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x15c9e3(_0xc036af,_0x83ef7e),this['markerView']=new St(_0xc036af,_0x83ef7e);const _0x5ba787=new _0x5a2556(_0xc036af);_0x5ba787['template']['tag']='span',_0x5ba787['text']=_0x83ef7e['name'];const _0x3d4836={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2960e9['to']('isFocusable',_0x4ec3ab=>!!_0x4ec3ab&&0x0),'aria-labelledby':_0x5ba787['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2960e9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2960e9['to']('hasTooltip',_0x5ea876=>!_0x5ea876),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5ba787]};_0x471d61&&(_0x3d4836['tag']='button',_0x3d4836['on']={'click':_0x2960e9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d4836);}},St=class extends _0x4317fb{constructor(_0x493824,_0x16afb8){super(_0x493824),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x16afb8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x16afb8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x16afb8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x525f71{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2bbdaa){super(_0x2bbdaa),this['context']['config']['define']('presenceList',Tt);const _0x18ef0c=_0x2bbdaa['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x18ef0c)throw new _0x50f763('presencelist-collapseat-invalid-format',this);if(_0x18ef0c<0x1)throw new _0x50f763('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3eba5a(),this['balloonPanelView']=new _0x1af306(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x43bb59 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x43bb59);this['listenTo'](this['_allConnectedUsers'],'add',(_0x14e8c1,_0x24623f)=>{this['_handleUserAdd'](_0x24623f);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x471e33,_0x33ac18)=>{this['_handleUserRemove'](_0x33ac18);});}['_createView'](){const _0x55f580=this['context'],_0x3b6a9d=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x49a49b=this['balloonPanelView'];if(!_0x31be5e(_0x55f580['config']['get']('presenceList.container')))throw new _0x50f763('presencelist-missing-container',this);return _0x3b6a9d['counterView']['bind']('usersCount')['to'](this),_0x3b6a9d['bind']('isCollapsed')['to'](this,'usersCount',_0x195df2=>{const {collapseAt:_0x4f38ea}=_0x55f580['config']['get']('presenceList'),_0x444c2c=_0x195df2>=_0x4f38ea;if(_0x444c2c&&!_0x3b6a9d['inlineListView']['items']['find'](_0x2a93a2=>_0x2a93a2 instanceof wt)){const _0x16b7d8=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x16b7d8&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3b6a9d['inlineListView']['items']['add'](_0x3b6a9d['counterView']);}return _0x444c2c||this['hideDropdown'](),_0x444c2c;}),_0x3b6a9d['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x532c16=>{const _0x5ebb92=_0x55f580['config']['get']('presenceList'),_0x5b4103=new It(_0x55f580['locale'],_0x532c16,!!_0x5ebb92['onClick']);return _0x5b4103['bind']('hasTooltip')['to'](_0x3b6a9d,'isCollapsed',_0x57f9a3=>!_0x57f9a3),_0x5b4103['bind']('isFocusable')['to'](_0x3b6a9d,'isCollapsed',_0x221713=>!_0x221713),_0x5ebb92['onClick']&&this['listenTo'](_0x5b4103,'execute',()=>{this['view']['isCollapsed']||_0x5ebb92['onClick'](_0x532c16,_0x5b4103['element']);}),_0x5b4103;}),this['listenTo'](_0x3b6a9d['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3b6a9d['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3b6a9d['inlineListView']['keystrokes']['set']('Enter',(_0x47c85,_0x5b2fbb)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5b2fbb());}),_0x3b6a9d['render'](),_0x49a49b['render'](),_0x56aa22({'emitter':_0x3b6a9d,'activator':()=>_0x49a49b['isVisible'],'contextElements':[_0x49a49b['element'],_0x3b6a9d['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x55f580['config']['get']('presenceList.container')['appendChild'](_0x3b6a9d['element']),this['_bodyCollection']=new _0x3e76fb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3b6a9d;}['_handleUserAdd'](_0x587675){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x587675['isMe'])return;const _0x151cc3=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x151cc3-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x41c550=_0x587675['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x587675,_0x41c550);}['_handleUserRemove'](_0x5ea65f){this['usersCount']--;const {collapseAt:_0x520d0e}=this['context']['config']['get']('presenceList'),_0xb90513=this['usersCount']>=_0x520d0e;if(this['currentDisplayedUsers']['get'](_0x5ea65f['id']))this['currentDisplayedUsers']['remove'](_0x5ea65f['id']);else{if(_0xb90513&&this['currentDisplayedUsers']['length']+0x1===_0x520d0e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xb90513?0x1:0x0)<this['usersCount']){for(const _0x276b0c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x276b0c['id'])&&(this['currentDisplayedUsers']['add'](_0x276b0c,Math['min'](this['currentDisplayedUsers']['length']-(_0xb90513?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xb90513?0x1:0x0)===_0x520d0e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x487df0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x487df0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x414ea8}=this['presenceDropdownView'];_0x414ea8['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x14920a=>{if(!_0x487df0['displayMe']&&_0x14920a['isMe'])return null;const _0x4ec9a6=new kt(this['context']['locale'],_0x14920a,!!_0x487df0['onClick']);return _0x487df0['onClick']&&this['listenTo'](_0x4ec9a6,'execute',()=>{_0x487df0['onClick'](_0x14920a,_0x4ec9a6['element']);}),_0x4ec9a6;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x414ea8['focus'](),_0x414ea8['checkIfScrollable']();const _0x359153=(_0x56c5c9,_0x4627cb)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4627cb();};_0x414ea8['keystrokes']['set']('Esc',_0x359153),_0x414ea8['keystrokes']['set']('Shift+Tab',_0x359153),_0x414ea8['keystrokes']['set']('Tab',(_0x15afbf,_0x57d0c1)=>{!function(_0x4802a1){const _0x37d8f8=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x1b5452=>_0x1b5452+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x1ab3be=[...document['body']['querySelectorAll'](_0x37d8f8)]['filter'](_0x219472=>_0x219472===document['activeElement']||_0x219472['offsetWidth']+_0x219472['offsetHeight']>0x0)['sort']((_0x37744e,_0x2e37ba)=>(_0x37744e['tabIndex']||0x0)-(_0x2e37ba['tabIndex']||0x0)),_0x5b8d25=_0x1ab3be[(_0x1ab3be['indexOf'](_0x4802a1)+0x1)%_0x1ab3be['length']];_0x5b8d25&&_0x5b8d25['focus']();}(this['view']['element']),this['hideDropdown'](),_0x57d0c1();}),_0x414ea8['focusTracker']['add'](this['view']['element']),_0x414ea8['focusTracker']['on']('change:isFocused',(_0x104579,_0x240cf0,_0x2768d6)=>{_0x2768d6||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x525f71{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|
|
23
|
+
import{Context as _0x40965d,ContextPlugin as _0x2818ba,PendingActions as _0x13e9ee,Plugin as _0x3eef9e}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x39cc72,Collection as _0x533d03,DomEmitterMixin as _0x3ad2ae,KeystrokeHandler as _0x1b9bbc,global as _0x5de4cf,uid as _0x26c87e,version as _0x2ff48a}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x35ff59,BodyCollection as _0x39c0cb,LabelView as _0x5cd191,ListItemView as _0x537ded,ListView as _0x63033d,Notification as _0x27b27a,View as _0x118b39,clickOutsideHandler as _0x125654}from'@ckeditor/ckeditor5-ui';import{History as _0x4783e9,InsertOperation as _0x27aa6e,MarkerOperation as _0x30954d,ModelLiveRange as _0x4175bc,NoOperation as _0xf768d9,OperationFactory as _0x44800b,RootAttributeOperation as _0x2727f3,transformOperationSets as _0x50af1d}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x5f118b}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x396cfa,CommentsService as _0x1e5c77,EditorService as _0x57c6a6,RevisionHistoryService as _0x25482a,TrackChangesService as _0x2f8ee3,User as _0x2b182d,WEB_SOCKET_GATEWAY_STATES as _0xe7bc04,WebSocketGateway as _0xce0c00}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x2710e6,Users as _0x436e7d}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x510ebc}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x54c3b7,TrackChangesEditing as _0x36b9ab}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x401e20,CommentsEditing as _0x2a3ec7,CommentsRepository as _0x5e513f}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x2f5675}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x7e36a1}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x2818ba{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0xce0c00)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x5f118b,_0x27b27a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b2633){super(_0x1b2633),this['set']('state',_0xe7bc04['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3ad2ae())();}['init'](){const _0x3059b5=this['context'],_0x32dd85=_0x3059b5['plugins']['get'](_0x5f118b),_0x163784=_0x3059b5['plugins']['get'](_0x27b27a);if(!_0x32dd85['token'])throw new _0x39cc72('websocketgateway-missing-token',this);if(!_0x32dd85['webSocketUrl'])throw new _0x39cc72('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x32dd85['token'],_0x32dd85['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x724530=>{if(this['connection']=_0x724530,this['bind']('state')['to'](_0x724530,'state',this,'_isBrowserOffline',(_0x243e23,_0x5ea164)=>('connected'!==_0x243e23&&(this['_shouldPluginsReconnect']=!0x0),_0x5ea164||_0x243e23!==_0xe7bc04['CONNECTED']?_0xe7bc04['DISCONNECTED']:this['state']==_0xe7bc04['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xe7bc04['CONNECTING']):_0xe7bc04['CONNECTED'])),this['connection']['on']('error',(_0x846e6a,_0x56ed11)=>{if('limitExceeded'!==_0x56ed11['code'])throw console['error'](_0x56ed11),new _0x39cc72('cloudservices-init',null,{'originalError':_0x56ed11});_0x163784['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'});}),!_0x724530['me'])return new Promise(_0x1398fb=>_0x724530['on']('change:me',_0x1398fb));})['catch'](_0x5af219=>{throw console['error'](_0x5af219),new _0x39cc72('cloudservices-init',null,{'originalError':_0x5af219});});}['addToReconnectionStack'](_0x47b666){if('function'!=typeof _0x47b666['reconnect'])throw new _0x39cc72('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x47b666))throw new _0x39cc72('websocketgateway-plugin-already-registered',this,{'name':_0x47b666['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x47b666);}['removeFromReconnectionStack'](_0x2522ad){this['_reconnectionStack']['delete'](_0x2522ad);}['isInReconnectionStack'](_0x4868e9){return this['_reconnectionStack']['has'](_0x4868e9);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x59f2ac=>_0x59f2ac['reconnect']())))['then'](()=>this['state']=_0xe7bc04['CONNECTED'])['catch'](_0x591aca=>{throw console['error'](_0x591aca),new _0x39cc72('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xe7bc04['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x2818ba{['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,_0x436e7d];}constructor(_0x100925){super(_0x100925),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x533d03(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x436e7d);}['init'](){const _0x107333=this['context']['plugins']['get'](z);this['listenTo'](_0x107333,'change:state',(_0x22246d,_0x5933c2,_0x7f775b)=>{if('connected'!==_0x7f775b)this['channelSessions']['forEach'](_0x2ecfc8=>_0x2ecfc8['clear']()),this['channelConnectedUsers']['forEach'](_0x4492d9=>_0x4492d9['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5834db,_0x3ef91c]of this['_registeredSessions'])for(const _0x518e59 of _0x3ef91c)this['_handleSessionAdd'](_0x5834db,_0x518e59);}}),this['_createUser'](_0x107333['connection']['me'],!0x0);}['register'](_0x24b9a4,_0x237da1){if(this['_registeredSessions']['has'](_0x24b9a4))throw new _0x39cc72('sessions-register-already-registered',null,{'channelId':_0x24b9a4});this['_registeredSessions']['set'](_0x24b9a4,_0x237da1),this['channelSessions']['set'](_0x24b9a4,new _0x533d03()),this['channelConnectedUsers']['set'](_0x24b9a4,new _0x533d03()),this['listenTo'](_0x237da1,'add',(_0x51d456,_0x3632fb)=>this['_handleSessionAdd'](_0x24b9a4,_0x3632fb)),this['listenTo'](_0x237da1,'remove',(_0x18e85f,_0xe37586)=>this['_handleSessionRemove'](_0x24b9a4,_0xe37586));for(const _0x11a028 of _0x237da1)this['_handleSessionAdd'](_0x24b9a4,_0x11a028);}['unregister'](_0x171f75){if(!this['_registeredSessions']['has'](_0x171f75))throw new _0x39cc72('sessions-unregister-not-exist',null,{'channelId':_0x171f75});const _0x5047b1=this['_registeredSessions']['get'](_0x171f75);this['stopListening'](_0x5047b1);for(const _0x5e6a63 of _0x5047b1)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x171f75,_0x5e6a63);this['_registeredSessions']['delete'](_0x171f75),this['channelSessions']['delete'](_0x171f75),this['channelConnectedUsers']['delete'](_0x171f75);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x5372bf){for(const _0x5ceebf of this['channelSessions']['values']())for(const _0xcd53c3 of _0x5ceebf)if(_0xcd53c3['id']===_0x5372bf)return _0xcd53c3['user'];}['getUserSessions'](_0x2053f8,_0x8daca9){const _0x3fea1e=_0x8daca9?[this['channelSessions']['get'](_0x8daca9)]:this['channelSessions']['values'](),_0x555afc=new Set();for(const _0x3f5d93 of _0x3fea1e)for(const _0x3f8827 of _0x3f5d93)_0x3f8827['user']['id']===_0x2053f8['id']&&_0x555afc['add'](_0x3f8827['id']);return _0x555afc;}['getUserRole'](_0x54a789){for(const _0xad31d3 of this['channelSessions']['values']())for(const _0x14ec6b of _0xad31d3)if(_0x14ec6b['user']===_0x54a789)return _0x14ec6b['role'];}['_handleSessionAdd'](_0x498192,_0x45aa78){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1147b0=_0x45aa78['user'],_0x453597=this['_users']['getUser'](_0x1147b0['id'])||this['_createUser'](_0x1147b0),_0x59097c=Object['assign']({},_0x45aa78,{'user':_0x453597});if(this['channelSessions']['get'](_0x498192)['add'](_0x59097c),!_0x1147b0['hiddenInPresenceList']){const _0x1ca3d9=this['channelConnectedUsers']['get'](_0x498192);_0x1ca3d9['has'](_0x453597['id'])||_0x1ca3d9['add'](_0x453597),this['allConnectedUsers']['has'](_0x453597['id'])||_0x1147b0['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x453597,_0x453597['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x498192,{'channelId':_0x498192,'session':_0x59097c});}['_handleSessionRemove'](_0x4f6022,_0x3c11ea){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x509632=this['channelConnectedUsers']['get'](_0x4f6022),_0x2c0e73=_0x3c11ea['user'];_0x2c0e73['id']&&(this['channelSessions']['get'](_0x4f6022)['remove'](_0x3c11ea['id']),_0x509632['has'](_0x2c0e73['id'])&&!this['getUserSessions'](_0x2c0e73,_0x4f6022)['size']&&_0x509632['remove'](_0x2c0e73['id']),this['allConnectedUsers']['get'](_0x2c0e73['id'])&&!this['getUserSessions'](_0x2c0e73)['size']&&this['allConnectedUsers']['remove'](_0x2c0e73['id']));}['_createUser'](_0x3c795b,_0x52e998){const _0x4624f5=this['_users']['addUser'](_0x3c795b);return _0x52e998&&this['_users']['defineMe'](_0x3c795b['id']),_0x4624f5['orderNumber']=this['_uniqueUsersCount']++,_0x4624f5;}},K=class extends _0x3eef9e{['_domEmitter']=new(_0x3ad2ae())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x110846=this['editor'],_0x232fa0=_0x110846['plugins']['get'](Y);_0x110846['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x28cae4,{writer:_0x4904f5})=>function(_0x4040c4,_0x626049,_0xf317ff,_0x4989c7){const _0x18ca19=_0x4040c4['markerName']['split'](':')[0x2],_0x1ea1b4=_0xf317ff['getUserBySessionId'](_0x18ca19);if(!_0x1ea1b4||_0x18ca19===_0xf317ff['mySessionId'])return;if(!_0x4989c7['model']['schema']['checkChild'](_0x4040c4['markerRange']['start'],'$text'))return;const _0x4881fd={'class':'ck-user__marker\x20'+_0x1ea1b4['color']['getMarkerClass'](),'style':Q(_0x1ea1b4),'data-name':_0x1ea1b4['name'],'data-session-id':_0x18ca19},_0x48916d=_0x4989c7['model']['markers']['get'](_0x4040c4['markerName'])['getStart'](),_0x3e3992=_0x48916d['nodeAfter'],_0x3f5436=_0x4989c7['model']['schema'];if(_0x3e3992&&_0x3f5436['isObject'](_0x3e3992)&&_0x3f5436['isInline'](_0x3e3992)&&!_0x4989c7['model']['markers']['get']('user:range:'+_0x18ca19)['getRange']()['isCollapsed'])return;const _0x580541=_0x48916d['parent'];return _0x4989c7['model']['schema']['isLimit'](_0x580541)&&!_0x4989c7['model']['hasContent'](_0x580541)&&(_0x4881fd['contenteditable']=!0x1),function(_0x414b3b,_0x1c1a2b,_0x4f2516){const _0x1f5687=_0x414b3b['createUIElement']('span',_0x1c1a2b);return _0x414b3b['setCustomProperty']('userPositionMarker',!0x0,_0x1f5687),_0x1f5687['render']=function(_0x3610e3){const _0x35b6c6=this['toDomElement'](_0x3610e3),_0x468113=document['createElement']('span');return _0x468113['classList']['add']('ck-user__marker-tooltip'),_0x468113['setAttribute']('contenteditable','false'),_0x468113['setAttribute']('spellcheck','false'),_0x468113['textContent']=_0x4f2516['name'],_0x35b6c6['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x468113['outerHTML']+'',_0x35b6c6['addEventListener']('mouseenter',()=>{_0x35b6c6['classList']['add']('ck-user__marker_hovered');}),_0x35b6c6['addEventListener']('mouseleave',()=>{_0x35b6c6['classList']['remove']('ck-user__marker_hovered');}),_0x35b6c6;},_0x1f5687['isSimilar']=function(_0x28c817){return!(!this['getCustomProperty']('userPositionMarker')||!_0x28c817['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x28c817['getAttribute']('data-session-id'));},_0x1f5687;}(_0x626049,_0x4881fd,_0x1ea1b4);}(_0x28cae4,_0x4904f5,_0x232fa0,_0x110846)}),_0x110846['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2ac7a9=>function(_0x271651,_0x5dbd7c){const _0x32682d=_0x271651['markerName']['split'](':')[0x2];if(_0x32682d===_0x5dbd7c['mySessionId'])return null;const _0x2591bb=_0x5dbd7c['getUserBySessionId'](_0x32682d);return _0x2591bb?{'id':_0x32682d,'classes':['ck-user__selection',_0x2591bb['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2591bb),'data-session-id':_0x32682d},'priority':0x7d0+_0x2591bb['orderNumber']}:{'id':_0x32682d,'classes':[]};}(_0x2ac7a9,_0x232fa0)}),function(_0x53a50f){const _0x50b416=_0x53a50f['model'],_0x4485fc=new Map(),_0x3fbd21=_0x53a50f['plugins']['get'](Y);_0x50b416['markers']['on']('update:user:range',(_0x4e36fa,_0x308ab9,_0x3d0afd,_0x49c3e8)=>{if(!_0x49c3e8&&_0x4485fc['get'](_0x308ab9['name']))return _0x4485fc['get'](_0x308ab9['name'])['detach'](),void _0x4485fc['delete'](_0x308ab9['name']);const _0x2e6889=_0x308ab9['name']['split'](':')[0x2];if(_0x2e6889===_0x3fbd21['mySessionId'])return;const _0x31abe6='user:position:'+_0x2e6889;_0x50b416['markers']['has'](_0x31abe6)&&_0x53a50f['editing']['reconvertMarker'](_0x31abe6),_0x308ab9['on']('change:range',(_0x15a547,_0x1364b6,_0x7be478)=>{if('$graveyard'!=_0x1364b6['root']['rootName']&&'$graveyard'==_0x308ab9['getRange']()['root']['rootName']&&!_0x4485fc['has'](_0x308ab9['name'])){const _0x3c076f=_0x50b416['schema']['getNearestSelectionRange'](_0x7be478['deletionPosition']);if(_0x3c076f){const _0x535023=_0x4175bc['fromRange'](_0x3c076f);_0x4485fc['set'](_0x308ab9['name'],_0x535023),_0x535023['on']('change:range',(_0x511f23,_0x499089,_0x34f2aa)=>{if('$graveyard'==_0x535023['root']['rootName']){const _0x107fab=_0x50b416['schema']['getNearestSelectionRange'](_0x34f2aa['deletionPosition']);_0x107fab?(_0x535023['start']=_0x107fab['start'],_0x535023['end']=_0x107fab['end']):(_0x4485fc['delete'](_0x308ab9['name']),_0x535023['detach']());}});}}});}),_0x50b416['document']['on']('change',()=>{_0x4485fc['size']>0x0&&_0x50b416['enqueueChange']({'isUndoable':!0x1},_0x1cf3fa=>{for(const [_0x2311ea,_0x539be3]of _0x4485fc)'$graveyard'==_0x50b416['markers']['get'](_0x2311ea)['getRange']()['root']['rootName']&&(J(_0x2311ea['split'](':')[0x2],_0x539be3['toRange'](),_0x50b416,_0x1cf3fa),_0x539be3['detach']());_0x4485fc['clear']();});});}(_0x110846),this['_domEmitter']['listenTo'](_0x5de4cf['document'],'keydown',(_0x281ce5,{key:_0x480f94})=>{'Escape'===_0x480f94&&function(_0x317a47){_0x317a47['editing']['view']['change'](_0x4a2c2d=>{for(const _0x210b23 of _0x317a47['model']['markers']){if(!_0x210b23['name']['startsWith']('user:position'))continue;const _0x25b9ca=_0x317a47['editing']['mapper']['markerNameToElements'](_0x210b23['name']);if(_0x25b9ca){for(const _0xe7f269 of _0x25b9ca)_0x4a2c2d['removeClass']('ck-user__marker_hovered',_0xe7f269);}}});}(_0x110846);},{'useCapture':!0x0});}['afterInit'](){const _0x30bb1c=this['editor'],_0x3b6b41=_0x30bb1c['commands']['get']('undo');_0x3b6b41&&_0x30bb1c['model']['on']('applyOperation',(_0x314cc8,_0x3de63f)=>{const _0x304756=_0x3de63f[0x0];if(!_0x304756['isDocumentOperation'])return;if('marker'!=_0x304756['type']||!_0x304756['name']['startsWith']('user:'))return;const _0x58cec5=_0x304756['batch'];_0x3b6b41['_createdBatches']['has'](_0x58cec5)&&(_0x304756['newRange']=_0x304756['oldRange']?_0x30bb1c['model']['createRange'](_0x304756['oldRange']['start'],_0x304756['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x128b28=this['editor'],_0x47ba5e=_0x128b28['model']['document'],_0x5f5940=_0x128b28['plugins']['get'](Y);_0x128b28['model']['enqueueChange']({'isUndoable':!0x1},_0x4e2f28=>{const _0x109da2='user:range:'+_0x5f5940['mySessionId'],_0x30442e='user:position:'+_0x5f5940['mySessionId'],_0x565f66=_0x128b28['model']['markers']['has'](_0x109da2);_0x128b28['editing']['view']['hasDomSelection']?J(_0x5f5940['mySessionId'],_0x47ba5e['selection']['getFirstRange'](),_0x128b28['model'],_0x4e2f28):_0x565f66&&(_0x4e2f28['removeMarker'](_0x109da2),_0x4e2f28['removeMarker'](_0x30442e));});}};function J(_0x4ac527,_0x1fd616,_0x1fd7ac,_0x3cdcb0){const _0x3e66ea='user:range:'+_0x4ac527,_0x1c97bb='user:position:'+_0x4ac527,_0x99be11=_0x1fd616['getContainedElement']();let _0x17ebe0=_0x1fd616['start'];if(_0x99be11&&_0x99be11['is']('element','tableCell')){const _0x21eb73=function(_0xb94e4c,_0x40c3f4){for(const _0x1380cb of _0xb94e4c['getPositions']())if(_0x40c3f4['schema']['checkChild'](_0x1380cb,'$text'))return _0x1380cb;}(_0x1fd616,_0x1fd7ac);_0x21eb73&&(_0x17ebe0=_0x21eb73,_0x1fd616=_0x3cdcb0['createRange'](_0x17ebe0));}const _0x43cad0=_0x3cdcb0['createRange'](_0x17ebe0);_0x1fd7ac['markers']['has'](_0x3e66ea)?(_0x3cdcb0['updateMarker'](_0x3e66ea,{'range':_0x1fd616}),_0x3cdcb0['updateMarker'](_0x1c97bb,{'range':_0x43cad0})):(_0x3cdcb0['addMarker'](_0x3e66ea,{'range':_0x1fd616,'usingOperation':!0x0}),_0x3cdcb0['addMarker'](_0x1c97bb,{'range':_0x43cad0,'usingOperation':!0x0}));}function Q(_0x33a1c3){return'--ck-user-color:'+_0x33a1c3['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x33a1c3['color']['getColorAlphaVariable']()+';';}function X(_0x31961a,_0x134050,_0x5631f1){const _0x5b6061=_0x31961a['t'],t=_0x31961a['t'];switch(_0x134050){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 _0x5b6061({'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'},_0x5631f1);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x3eef9e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x396cfa)());['_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,_0x13e9ee,_0x436e7d,_0x27b27a];}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 _0x57bb73=this['serverHistory']['getOperations']();for(let _0xa806a5=_0x57bb73['length']-0x1;_0xa806a5>=0x0;_0xa806a5--){const _0x3a11d1=_0x57bb73[_0xa806a5];if(!this['_disconnectionOperations']['has'](_0x3a11d1))return _0x3a11d1['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x47bfc8){if(super(_0x47bfc8),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4783e9(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x39cc72('collaboration-missing-channelid',this);const _0x52d9a5=_0x47bfc8['config']['get']('cloudServices.bundleVersion')||_0x2ff48a;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x52d9a5,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x510ebc(),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 _0x51923b=this['editor'],_0x44036e=_0x51923b['plugins']['get'](_0x436e7d),_0x903b4f=_0x51923b['plugins']['get'](z);this['listenTo'](_0x44036e,'getOperationAuthor',(_0x4e4c36,_0x1de97)=>{const _0x3b21bb=_0x1de97[0x0];_0x3b21bb['_authorId']&&(_0x4e4c36['return']=_0x44036e['getUser'](_0x3b21bb['_authorId']),_0x4e4c36['stop']()),null===_0x3b21bb['_authorId']&&(_0x4e4c36['return']=null,_0x4e4c36['stop']());},{'priority':'high'}),this['listenTo'](_0x51923b['model']['document']['selection'],'change:range',(_0x379fe6,_0x3e22de)=>{_0x3e22de['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x51923b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x51923b['model']['on']('applyOperation',(_0x4eeb3b,_0x3b566f)=>{const _0x5a1047=_0x3b566f[0x0];_0x5a1047['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5a1047),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x903b4f,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x2aa08f,_0x40674b,_0x5d3545)=>'connected'===_0x2aa08f&&!_0x40674b&&!_0x5d3545),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x51923b['disableReadOnlyMode']('rtc-offline'):_0x51923b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x51923b['disableReadOnlyMode']('rtc-offline'):_0x51923b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1872d1=this['editor']['plugins']['get'](Y),_0x7e8705=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1872d1['unregister'](this['_channelId']);const _0x1e8c35=await this['_service']['reconnect'](_0x7e8705['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1e8c35)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1081b9=await this['_service']['getConnectedSessions']();_0x1872d1['register'](this['_channelId'],_0x1081b9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x544f02){if(function(_0x3f93f8){return'404'===_0x3f93f8['code'];}(_0x544f02)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4c625c){return'409'===_0x4c625c['code'];}(_0x544f02)){const _0x41e992=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'](_0x41e992);}else{if(!(_0x544f02 instanceof et))throw _0x544f02;this['_handleReconnectionError']();}}}}['destroy'](){const _0x260cae=this['editor']['plugins']['get'](z),_0x5c8200=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5c8200['channelSessions']['has'](this['_channelId'])&&_0x5c8200['unregister'](this['_channelId']),_0x260cae['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2c6746){if(this['sessionId']!==_0x2c6746['sessionId']&&this['_lastSyncedOperationId']!==_0x2c6746['lastOperationId'])throw new et();return this['sessionId']=_0x2c6746['sessionId'],this['_handleServerResponse']([],{..._0x2c6746,'wereChangesApplied':!0x1,'data':_0x2c6746['data']},'reconnect');}async['_connectService'](_0x462396,_0x5070ec=!0x1){const {connection:_0x262d2a}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x262d2a,this['_channelId'])['then'](_0x27e0ca=>this['_initSessionsHandling'](_0x27e0ca))['catch'](_0x222b43=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x222b43);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1d1986,_0x2bfdb2)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2bfdb2);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x4a007f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x462396);this['_isPendingUpdate']=!0x0;const _0x108111=await this['_service']['connect'](_0x262d2a,this['_compressOperations'](_0x462396),_0x4a007f);if(this['sessionId']=_0x108111['sessionId'],_0x5070ec){if(!_0x108111['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x108111['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x462396,_0x108111,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x108111,_0x462396);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5367f1=this['editor']['plugins']['get'](Y),_0x57f004=this['editor']['plugins']['get'](K),_0x5e810f=_0x5367f1['channelSessions']['get'](this['_channelId']);_0x5e810f&&_0x5e810f['length']>0x1?_0x57f004['createUserMarkerOperations']():this['listenTo'](_0x5367f1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5367f1['channelSessions']['get'](this['_channelId'])['length']&&_0x57f004['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x584f92,_0x29a09f,_0x50fd57,_0x303abc){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x29a09f){const _0x3e2e6a=this['_decompressOperations'](_0x50fd57,_0x303abc);await this['_fetchMissingUsers'](_0x3e2e6a),this['_handleExternalOperations'](_0x3e2e6a,_0x29a09f,_0x50fd57['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x44be12}=this['editor'];let _0x47b248;try{_0x47b248=await this['_service']['getDocumentDetails']();}catch{const _0x512087=X(_0x44be12,'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'](_0x512087);}const _0x59db4e=_0x47b248['currentDocumentSession']||_0x47b248['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x59db4e['lastOperationId']){const _0x4e434c=X(_0x44be12,'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'](_0x4e434c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x223b53=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x223b53['connection']||'connected'!==_0x223b53['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x5124f8=this['editor']['plugins']['get'](Y);_0x5124f8['channelSessions']['has'](this['_channelId'])&&_0x5124f8['unregister'](this['_channelId']),_0x223b53['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x43b4ca){const _0x3dab4a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x3dab4a,'sessionAdd:'+this['_channelId'],(_0x259dd7,{session:_0x2dbdb7})=>{if(_0x2dbdb7['id']===_0x3dab4a['mySessionId']){_0x259dd7['off']();const _0x389f59=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x494f1f=_0x2dbdb7['permissions'];_0x389f59&&_0x389f59['isEnabled']&&(_0x494f1f=_0x494f1f['filter'](_0x5871b3=>'document:write'!==_0x5871b3)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x494f1f,this['_channelId']);}}),_0x3dab4a['register'](this['_channelId'],_0x43b4ca);}['_initThrowingOnDataSet'](){const _0x2e79d6=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1bdd69)=>{if(!_0x1bdd69[_0x1bdd69['length']-0x1]['suppressErrorInCollaboration'])throw new _0x39cc72('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2e79d6['apply'](this['editor']['data'],_0x1bdd69);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2de49e,[_0xde231e])=>{if(this['_document']['version'])throw new _0x39cc72('realtimecollaborationclient-init-document-already-initialized',this);_0x2de49e['stop'](),this['_setPendingAction']();const _0x36f8a2=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x35d85e])=>!_0x35d85e['lazyLoad'])['map'](([_0x192def,_0x56d2cb])=>[_0x192def,_0x56d2cb['modelAttributes']||{}])),_0x4ba5f6=this['_getOperationsFromInitData'](_0xde231e,_0x36f8a2);0x0==_0x4ba5f6['length']&&_0x4ba5f6['push'](new _0xf768d9(0x0)),_0x2de49e['return']=this['_connectService'](_0x4ba5f6)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x20dca7=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x20dca7))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xc86271,[_0x25d92d,_0x1aaeb1])=>{_0xc86271['stop']();const _0x46fa80=this['editor']['model']['document']['getRoot'](_0x25d92d);if(!this['_knownRootNames']['has'](_0x25d92d)){const _0xbaebe5=_0x1aaeb1&&_0x1aaeb1['data']?_0x1aaeb1['data']:'',_0x397517=_0x1aaeb1&&_0x1aaeb1['attributes']?_0x1aaeb1['attributes']:{};await this['_loadRoot'](_0x25d92d,_0xbaebe5,_0x397517);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x46fa80['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x46fa80);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x113074){const _0x8f944d=this['editor']['plugins']['get'](_0x436e7d),{connection:_0x32483b}=this['editor']['plugins']['get'](z),_0x5d00ba=new Set();for(const _0x3cf74e of _0x113074){const _0x10a97c=_0x3cf74e['_authorId'];_0x10a97c&&!_0x8f944d['getUser'](_0x10a97c)&&_0x5d00ba['add'](_0x10a97c);}if(0x0===_0x5d00ba['size'])return;const _0x269e17=await _0x2b182d['getMany'](_0x32483b,Array['from'](_0x5d00ba));for(const _0x4a5b66 of _0x269e17)_0x8f944d['getUser'](_0x4a5b66['id'])||_0x8f944d['addUser'](_0x4a5b66);}['_getOperationsFromInitData'](_0x4d92c9,_0x1467bd={}){const _0x5ce742=this['editor']['model'],_0x2f4c58=[];let _0x34337e=0x0;const _0x5e9738='string'==typeof _0x4d92c9?{'main':_0x4d92c9}:_0x4d92c9;for(const _0x338807 of Object['keys'](_0x5e9738)){if(!this['_document']['roots']['has'](_0x338807))throw new _0x39cc72('realtimecollaborationclient-init-non-existent-root',this);const _0x237c70=this['_document']['getRoot'](_0x338807),_0x507919=this['editor']['data']['parse'](_0x5e9738[_0x338807],_0x237c70),_0x352d79=new _0x27aa6e(_0x5ce742['createPositionAt'](_0x237c70,0x0),_0x507919,_0x34337e++);_0x2f4c58['push'](_0x352d79);for(const [_0xd3cb3a,_0x2fd41b]of _0x507919['markers']){const _0x3f072f=new _0x30954d(_0xd3cb3a,null,_0x5ce742['createRange'](_0x5ce742['createPositionFromPath'](_0x237c70,_0x2fd41b['start']['path']['slice']()),_0x5ce742['createPositionFromPath'](_0x237c70,_0x2fd41b['end']['path']['slice']())),_0x5ce742['markers'],!0x0,_0x34337e++);_0x2f4c58['push'](_0x3f072f);}}if(_0x1467bd)for(const [_0x14fc54,_0x22ed5a]of Object['entries'](_0x1467bd)){const _0x54ae53=_0x5ce742['document']['getRoot'](_0x14fc54);if(!_0x54ae53)throw new _0x39cc72('multi-root-editor-root-attributes-no-root',null);for(const [_0x5d0795,_0x37ca7b]of Object['entries'](_0x22ed5a))if(null!==_0x37ca7b){const _0x5a518f=new _0x2727f3(_0x54ae53,_0x5d0795,null,_0x37ca7b,_0x34337e++);_0x2f4c58['push'](_0x5a518f);}}return _0x2f4c58;}async['_loadRoot'](_0xee4ec1,_0x161ab4,_0x1b1a0c){this['_getOperationsFromInitData']({[_0xee4ec1]:_0x161ab4},{[_0xee4ec1]:_0x1b1a0c})['forEach']((_0x320fb3,_0x390c0b)=>{_0x320fb3['baseVersion']=this['_document']['version']+_0x390c0b,_0x320fb3['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x320fb3);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2c1d65,_0x4e8418){let _0x3d8eb4;this['_offset']=_0x2c1d65['offset'];const _0x463986=_0x2c1d65['wereChangesApplied']&&!_0x2c1d65['initData'],_0x17edcd=_0x463986?0x0:_0x2c1d65['data']['baseVersion'];if(_0x4e8418['forEach'](_0x3df212=>{_0x3df212['_isInit']=!0x0,_0x3df212['createdAt']=_0x2c1d65['sessionCreatedAt'],_0x3df212['_authorId']=null;}),_0x463986)_0x3d8eb4=_0x4e8418,this['_applyOperationsSet'](_0x3d8eb4,_0x463986);else{if(_0x2c1d65['initData']){const _0x5442c1=this['_getOperationsFromInitData'](_0x2c1d65['initData']);this['_document']['history']['version']=-_0x5442c1['length'],_0x5442c1['forEach'](_0x94a570=>{_0x94a570['baseVersion']-=_0x5442c1['length'],_0x94a570['createdAt']=_0x2c1d65['sessionCreatedAt'],_0x94a570['_isInit']=!0x0,_0x94a570['_authorId']=null;}),this['_applyOperationsSet'](_0x5442c1,!0x0),this['serverHistory']['version']=-_0x5442c1['length']+this['_offset'],this['_updateServerHistory'](_0x5442c1);}this['_document']['history']['version']=_0x17edcd,_0x3d8eb4=this['_decompressOperations'](_0x2c1d65['data'],_0x2c1d65['metadata']),await this['_fetchMissingUsers'](_0x3d8eb4),this['_applyOperationsSet'](_0x3d8eb4,_0x463986);}_0x2c1d65['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3d8eb4,_0x2c1d65['lastOperationId']),this['_lastSyncedOperationId']=_0x2c1d65['lastOperationId']),this['serverHistory']['version']=_0x17edcd+this['_offset'],this['_updateServerHistory'](_0x3d8eb4),_0x4e8418['filter'](_0x138fc9=>{const _0x524b43=this['_getAffectedRoot'](_0x138fc9);return _0x524b43&&!this['_knownRootNames']['has'](_0x524b43);})['forEach']((_0x6c5eea,_0x299c2f)=>{_0x6c5eea['baseVersion']=this['_document']['version']+_0x299c2f,this['_saveOperationInBuffer'](_0x6c5eea);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x14c047,_0x21137e){const _0xbe8bac=_0x21137e&&_0x21137e['message'];if(_0xbe8bac&&_0xbe8bac['startsWith']('realtimecollaborationclient'))throw _0x21137e;const _0x35c0f2=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x35c0f2['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x39cc72(_0x14c047,this['editor'],_0xbe8bac?{'originalError':_0xbe8bac}:void 0x0);}['_saveOperationInBuffer'](_0x4b2126){this['_knownOperations']['has'](_0x4b2126)||(this['_knownOperations']['add'](_0x4b2126),this['_bufferedOperations']['push'](_0x4b2126),this['_pendingAction']||'marker'==_0x4b2126['type']&&!_0x4b2126['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x303c07=!0x1){!_0x303c07&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x30432b=>{_0x30432b&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x506ede=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1448b7){return _0x1448b7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1448b7['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1448b7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x506ede)||this['_crash'](_0x506ede['message'],_0x506ede);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0xc982a5=>{this['on']('change:_isPendingUpdate',()=>{_0xc982a5();});});}async['_sendBufferedOperations'](){const _0xa1b1fc=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0xa1b1fc['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xcfd068=[...this['_bufferedOperations']];for(const _0xc0aca4 of _0xcfd068)_0xc0aca4['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xc0aca4);const _0x4fdeb3=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xcfd068),_0x15de04=Z++,_0x1490ca=this['_compressOperations'](_0xcfd068),_0x3d971e=await this['_service']['sendOperations'](_0x1490ca,_0x1490ca['baseVersion'],_0x4fdeb3);try{return await this['_handleServerResponse'](_0xcfd068,_0x3d971e,_0x15de04);}catch(_0x4b4271){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4b4271);}}async['_handleServerResponse'](_0x3a7407,_0x4d36a3,_0x33a342){if('error'in _0x4d36a3)throw _0x4d36a3['error'];let _0x34d345=!0x1;if(_0x4d36a3['wereChangesApplied']){_0x4d36a3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4d36a3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1e1c81=>!_0x3a7407['includes'](_0x1e1c81));for(const _0x4f5845 of _0x3a7407)_0x4f5845['createdAt']='lastOperationAcceptedAt'in _0x4d36a3&&_0x4d36a3['lastOperationAcceptedAt']||void 0x0;st(_0x3a7407,_0x4d36a3['version']-_0x3a7407['length']),this['_updateServerHistory'](_0x3a7407);const _0x1b4a76=_0x3a7407['filter'](_0x348846=>{if(!_0x348846['_isInit'])return!0x1;const _0x48ccf4=this['_getAffectedRoot'](_0x348846);return _0x48ccf4&&!this['_knownRootNames']['has'](_0x48ccf4);});st(_0x1b4a76,this['_document']['version']),this['_applyOperationsSet'](_0x1b4a76),_0x34d345=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x107aea=this['_decompressOperations'](_0x4d36a3['data'],_0x4d36a3['metadata'])['filter'](_0x1ec125=>_0x1ec125['baseVersion']>=this['_lastServerVersion']);_0x107aea['forEach'](_0x77016d=>this['_addKnownRoot'](_0x77016d)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2542bb=>!_0x2542bb['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2542bb))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x107aea),_0x34d345=this['_handleExternalOperations'](_0x107aea,_0x4d36a3['version'],_0x4d36a3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x34d345?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x181dfc,_0x532221,_0xe04648){try{const _0x4c8f2a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xf3366b,operationsB:_0x100706,originalOperations:_0x324b73}=_0x50af1d(_0x181dfc,this['_bufferedOperations'],_0x4c8f2a);st(_0xf3366b,this['_document']['version']),st(_0x100706,_0x532221);for(const _0x3abeb2 of _0xf3366b){const _0x477bb4=_0x324b73['get'](_0x3abeb2);_0x477bb4?(_0x3abeb2['_authorId']=_0x477bb4['_authorId'],'noop'!==_0x3abeb2['type']&&(_0x3abeb2['_aiSource']=_0x477bb4['_aiSource'])):_0x3abeb2['_authorId']=null;}for(const _0xd84ac6 of _0x100706)'noop'!==_0xd84ac6['type']&&(_0xd84ac6['_aiSource']=_0x324b73['get'](_0xd84ac6)?.['_aiSource']);_0xe04648&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x181dfc,_0xe04648),this['_lastSyncedOperationId']=_0xe04648),this['_bufferedOperations']=[..._0x100706],this['_applyOperationsSet'](_0xf3366b),this['_updateServerHistory'](_0x181dfc);}catch(_0x2f6087){return console['error'](_0x2f6087),!0x1;}return!0x0;}['_applyOperationsSet'](_0xb19183,_0x5d8236=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3a0090=>{for(const _0x20503c of _0xb19183)this['_knownOperations']['add'](_0x20503c),this['_addKnownRoot'](_0x20503c),_0x3a0090['batch']['addOperation'](_0x20503c),this['editor']['model']['applyOperation'](_0x20503c);});}['_addKnownRoot'](_0x56559a){const _0x54b50f=this['_getAffectedRoot'](_0x56559a);_0x54b50f&&this['_knownRootNames']['add'](_0x54b50f);}['_getAffectedRoot'](_0xa39fe3){let _0x55770f,_0x427f78;switch(_0xa39fe3['type']){case'insert':_0x55770f=_0xa39fe3['position']['root'];break;case'marker':if(_0x427f78=_0xa39fe3['newRange'],!_0x427f78)return null;_0x55770f=_0x427f78['root'];break;case'addRootAttribute':_0x55770f=_0xa39fe3['root'];break;case'addRoot':_0x55770f=_0xa39fe3['affectedSelectable'];break;case'move':_0x55770f=_0xa39fe3['targetPosition']['root'];break;default:return null;}return _0x55770f['rootName'];}['_updateServerHistory'](_0x5802d2){_0x5802d2['forEach'](_0x1dc40c=>{const _0x47e492=_0x1dc40c['clone']();_0x47e492['_authorId']=_0x1dc40c['_authorId'],_0x47e492['_isInit']=!!_0x1dc40c['_isInit'],_0x47e492['_aiSource']=_0x1dc40c['_aiSource'],_0x47e492['createdAt']=_0x1dc40c['createdAt'],_0x47e492['baseVersion']+=this['_offset'],_0x1dc40c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x47e492),this['serverHistory']['addOperation'](_0x47e492);});}['_handleReconnectionError'](_0x5cd03f){const _0x226c9c=this['editor']['plugins']['get']('Notification'),_0x48f524=this['editor']['locale'];_0x5cd03f||(_0x5cd03f=X(_0x48f524,'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.')),_0x226c9c['showWarning'](_0x5cd03f,{'title':X(_0x48f524,'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'](_0x13e9ee)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x13e9ee)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4785bd){const _0x4bb87e=_0x4785bd['map'](_0x17cd4f=>_0x17cd4f['toJSON']());return this['_compressor']['compress'](_0x4bb87e);}['_decompressOperations'](_0x5d1078,_0x19c827){return this['_compressor']['decompress'](_0x5d1078)['map']((_0x28aac6,_0x28dbcb)=>{const _0x39d8e4='init'==_0x19c827[_0x28dbcb]['type'];if('InsertOperation'==_0x28aac6['__className']){const _0x1d47c9=_0x28aac6['position']['root'];!this['_document']['getRoot'](_0x1d47c9)&&(this['_document']['createRoot']('$unknown',_0x1d47c9)['_isAttached']=!0x1);}else{if('RootOperation'==_0x28aac6['__className']){const _0x3e8f9e=this['_document']['getRoot'](_0x28aac6['rootName']);_0x3e8f9e&&'$unknown'==_0x3e8f9e['name']&&_0x28aac6['elementName']!=_0x3e8f9e['name']&&(_0x3e8f9e['name']=_0x28aac6['elementName']);}}const _0x45c5f2=_0x44800b['fromJSON'](_0x28aac6,this['_document']);return _0x45c5f2['wasUndone']=_0x28aac6['wasUndone'],_0x45c5f2['_isInit']=_0x39d8e4,_0x45c5f2['_authorId']=_0x39d8e4?null:_0x19c827[_0x28dbcb]['userId'],_0x45c5f2['_isDisconnection']='cs:removeUser'===_0x19c827[_0x28dbcb]['type'],_0x45c5f2['_aiSource']=_0x28aac6['_aiSource']||void 0x0,_0x45c5f2['createdAt']=_0x19c827[_0x28dbcb]['createdAt'],_0x45c5f2;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5b4987=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5b4987&&_0x5b4987['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x495750,_0x3f6a68){for(const _0x2f3335 of _0x495750)_0x2f3335['baseVersion']=_0x3f6a68++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x1bb619){this['_ignoredOperations']=_0x1bb619,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2696c2){let _0xc5f13f=_0x2696c2['length'];for(;_0xc5f13f--;){const _0x57c1b5=_0x2696c2[_0xc5f13f];if(!this['_ignoredOperations']['has'](_0x57c1b5)){if(!this['_operationToId']['has'](_0x57c1b5)){const _0x5c226a=_0x26c87e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x57c1b5,_0x5c226a);}return this['_operationToId']['get'](_0x57c1b5);}}}['setIdForTheLastOperation'](_0x19922f,_0x529b43){if(!_0x529b43)return;let _0x5864fe=_0x19922f['length'];for(;_0x5864fe--;){const _0x10e467=_0x19922f[_0x5864fe];this['_ignoredOperations']['has'](_0x10e467)||this['_operationToId']['set'](_0x10e467,_0x529b43);}}},nt=class extends _0x3eef9e{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x2818ba{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x1e5c77)());['_services'];static get['requires'](){return[z,_0x5e513f,Y,_0x436e7d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ab80c){super(_0x3ab80c),this['_services']=new Map();}async['init'](){const _0xb660f2=this['context'],_0x22d23d=_0xb660f2['plugins']['get'](_0x5e513f);if(_0xb660f2['plugins']['get'](z)['addToReconnectionStack'](this),_0x22d23d['adapter']={'addCommentThread':async({channelId:_0x1a812d,threadId:_0x25634f,comments:_0x4bebb9,resolvedAt:_0x415d4d,resolvedBy:_0x4e262a,context:_0x4eeee5,attributes:_0x2706a5})=>{const _0x34be43=await this['_getService'](_0x1a812d)['addCommentThread']({'commentThreadId':_0x25634f,'comments':_0x4bebb9['map'](_0x27b8c1=>function(_0x585f7c,_0x5a78c3,_0x2079d3){return{'commentThreadId':_0x2079d3,'commentId':_0x585f7c['commentId'],'userId':_0x585f7c['authorId'],'content':_0x585f7c['content'],'documentId':_0x5a78c3,'createdAt':_0x585f7c['createdAt'],'attributes':_0x585f7c['attributes']||{}};}(_0x27b8c1,_0x1a812d,_0x25634f)),'resolvedAt':_0x415d4d,'resolvedBy':_0x4e262a,'context':_0x4eeee5,'attributes':_0x2706a5})['catch'](ct);return{'threadId':_0x34be43['commentThreadId'],'comments':_0x34be43['comments']};},'getCommentThread':async({channelId:_0x5ebf78,threadId:_0x2440a9})=>{const _0x35fa01=await this['_getService'](_0x5ebf78)['getCommentThread'](_0x2440a9)['catch'](rt)['catch'](ct);return _0x35fa01?_0x35fa01['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x35fa01]),{'threadId':_0x35fa01['commentThreadId'],'comments':_0x35fa01['comments']['map'](at),'context':_0x35fa01['context'],'resolvedAt':_0x35fa01['resolvedAt'],'resolvedBy':_0x35fa01['resolvedBy'],'attributes':_0x35fa01['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3fbfb9,threadId:_0x133ff8,context:_0x21521c,unlinkedAt:_0x342eb8,attributes:_0x2548fd})=>this['_getService'](_0x3fbfb9)['updateCommentThread']({'commentThreadId':_0x133ff8,'context':_0x21521c,'attributes':_0x2548fd,'unlinkedAt':_0x342eb8})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x28e3c5,threadId:_0x15b706})=>{const _0x52ccfb=await this['_getService'](_0x28e3c5)['resolveCommentThread'](_0x15b706)['catch'](rt)['catch'](ct);return{'threadId':_0x52ccfb['commentThreadId'],'resolvedAt':_0x52ccfb['resolvedAt'],'resolvedBy':_0x52ccfb['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2b411e,threadId:_0x5ad93a})=>this['_getService'](_0x2b411e)['reopenCommentThread'](_0x5ad93a)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x16eaf7,threadId:_0x45e12a})=>this['_getService'](_0x16eaf7)['removeCommentThread'](_0x45e12a)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x58330e,threadId:_0x154da5,commentId:_0x1746c7,content:_0x1b53e7,attributes:_0x201197})=>this['_getService'](_0x58330e)['addComment'](_0x154da5,_0x1746c7,_0x1b53e7,_0x201197)['catch'](ct),'updateComment':({channelId:_0x9e18a4,threadId:_0xd0cb0b,commentId:_0x5ccb17,content:_0x4cd8c5,attributes:_0x7857a0})=>this['_getService'](_0x9e18a4)['updateComment'](_0xd0cb0b,_0x5ccb17,_0x4cd8c5,_0x7857a0)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x26df0f,threadId:_0x6eb929,commentId:_0x45bf47})=>this['_getService'](_0x26df0f)['removeComment'](_0x6eb929,_0x45bf47)['catch'](rt)['catch'](ct)},_0xb660f2 instanceof _0x40965d){const _0x3c9239=_0xb660f2['config']['get']('collaboration.channelId'),_0x628412=_0xb660f2['plugins']['get'](Y);await this['_setUpService'](_0x3c9239);const _0x36edf2=await this['_services']['get'](_0x3c9239)['getConnectedSessions']();this['listenTo'](_0x628412,'sessionAdd:'+_0x3c9239,(_0x1bac54,{session:_0x11fb11})=>{_0x11fb11['id']===_0x628412['mySessionId']&&(_0x1bac54['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x11fb11['permissions'],_0x3c9239));}),_0x628412['register'](_0x3c9239,_0x36edf2);}}async['_setUpService'](_0x734660){if(this['_services']['has'](_0x734660))throw new _0x39cc72('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x734660});const _0x4098d6=this['context']['plugins']['get'](_0x5e513f),_0x2e9c66=new CloudServicesCommentsAdapter['CommentsService'](_0x734660);this['_services']['set'](_0x734660,_0x2e9c66),this['listenTo'](_0x2e9c66,'commentThreadAdded',(_0x1539b6,_0x4a7d29)=>{const {commentThreadId:_0x29a00f,documentId:_0x4a1d16,context:_0x52b102,attributes:_0x49c549,resolvedAt:_0x2b2b11,resolvedBy:_0x2002e3,comments:_0x1fde00}=_0x4a7d29;_0x4098d6['getCommentThread'](_0x29a00f)||_0x4098d6['addCommentThread']({'threadId':_0x29a00f,'channelId':_0x4a1d16,'comments':_0x1fde00?_0x1fde00['map'](at):[],'context':_0x52b102,'attributes':_0x49c549,'resolvedAt':_0x2b2b11,'resolvedBy':_0x2002e3,'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadUpdated',(_0x2e9016,{commentThreadId:_0x3ddb78,documentId:_0x14bd07,context:_0x504bc3,unlinkedAt:_0x525333,attributes:_0x22d1fc})=>{_0x4098d6['getCommentThread'](_0x3ddb78)&&_0x4098d6['updateCommentThread']({'threadId':_0x3ddb78,'channelId':_0x14bd07,'context':_0x504bc3,'unlinkedAt':_0x525333,'attributes':_0x22d1fc,'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadResolved',(_0x27b308,{commentThreadId:_0x52f288,resolvedBy:_0x2cd706,resolvedAt:_0x4cf39d})=>{const _0x262a93=_0x4098d6['getCommentThread'](_0x52f288);_0x262a93&&_0x262a93['resolve']({'resolvedBy':_0x2cd706,'resolvedAt':_0x4cf39d,'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadReopened',(_0x52f726,{commentThreadId:_0x1da074})=>{const _0x64f385=_0x4098d6['getCommentThread'](_0x1da074);_0x64f385&&_0x64f385['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadRemoved',(_0x1b64e2,{commentThreadId:_0x5549e3})=>{const _0xe694fc=_0x4098d6['getCommentThread'](_0x5549e3);_0xe694fc&&_0xe694fc['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentAdded',(_0x2e7ae8,_0x1246f2)=>{const _0x4f4093=_0x1246f2['commentThreadId'],_0x9cc1ba=_0x4098d6['getCommentThread'](_0x4f4093);_0x9cc1ba&&_0x9cc1ba['addComment']({...at(_0x1246f2),'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentUpdated',(_0x56349d,{commentThreadId:_0x10c488,commentId:_0x1f8c38,content:_0x3679bf,attributes:_0x505b7e})=>{const _0x496e94=_0x4098d6['getCommentThread'](_0x10c488);if(_0x496e94){const _0x2edee5=_0x496e94['getComment'](_0x1f8c38);_0x2edee5&&_0x2edee5['update']({'content':_0x3679bf,'attributes':_0x505b7e,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2e9c66,'commentRemoved',(_0x3581a4,{commentThreadId:_0x2e3cd9,commentId:_0x4a3c70})=>{const _0x597a14=_0x4098d6['getCommentThread'](_0x2e3cd9);if(_0x597a14){const _0x5f4cdd=_0x597a14['getComment'](_0x4a3c70);_0x5f4cdd&&_0x5f4cdd['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x2e9c66,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x734660),this['stopListening'](_0x2e9c66));}),await this['_connectService'](_0x734660);}['destroy'](){if(this['context']instanceof _0x40965d){const _0x29cd53=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x29cd53)&&this['_terminateService'](_0x29cd53);}}['_terminateService'](_0x32784d){if(!this['_services']['has'](_0x32784d))throw new _0x39cc72('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x32784d});this['_getService'](_0x32784d)['disconnect'](),this['_services']['delete'](_0x32784d);}async['reconnect'](){for(const _0x5ddac3 of this['_services']['keys']())await this['_connectService'](_0x5ddac3);if(this['context']instanceof _0x40965d){const _0x41bcad=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x41bcad)){const _0x3f08fa=this['context']['plugins']['get'](Y);_0x3f08fa['unregister'](_0x41bcad);const _0xdc2128=await this['_services']['get'](_0x41bcad)['getConnectedSessions']();_0x3f08fa['register'](_0x41bcad,_0xdc2128);}}}async['_connectService'](_0x260f89){const {connection:_0x42ed73}=this['context']['plugins']['get'](z),_0x213736=this['context']['plugins']['get'](_0x5e513f),_0x2d6b84=await this['_services']['get'](_0x260f89)['connect'](_0x42ed73);await this['_fetchMissingUsersForThreads'](_0x2d6b84);const _0x240d26=new Set(Array['from'](_0x213736['getCommentThreads']({'channelId':_0x260f89}),_0x24dbef=>_0x24dbef['id']));for(const _0x8f8cf1 of _0x2d6b84)_0x8f8cf1['deletedAt']||_0x240d26['delete'](_0x8f8cf1['commentThreadId']);for(const _0x467c82 of _0x240d26)_0x213736['getCommentThread'](_0x467c82)['remove']({'isFromAdapter':!0x0});for(const _0x47bb37 of _0x2d6b84){let _0x49bfde=_0x213736['getCommentThread'](_0x47bb37['commentThreadId']);const {commentThreadId:_0x1f110f,context:_0x5662fd,attributes:_0x297470,resolvedBy:_0x599034,resolvedAt:_0x4306d8,unlinkedAt:_0x28d130,deletedAt:_0x56aee0}=_0x47bb37;if(_0x56aee0)continue;_0x49bfde||(_0x49bfde=_0x213736['addCommentThread']({'channelId':_0x260f89,'threadId':_0x1f110f,'context':_0x5662fd,'attributes':_0x297470||{},'resolvedBy':_0x599034,'resolvedAt':_0x4306d8,'unlinkedAt':_0x28d130,'isFromAdapter':!0x0}));const _0x26d9d8=new Set(Array['from'](_0x49bfde['comments'],_0x27b10b=>_0x27b10b['id']));for(const _0x154956 of _0x47bb37['comments'])_0x26d9d8['delete'](_0x154956['commentId']);for(const _0x5a5946 of _0x26d9d8)_0x49bfde['getComment'](_0x5a5946)['remove']({'isFromAdapter':!0x0});for(const _0x41dafe of _0x47bb37['comments']){const _0x16b332=_0x49bfde['getComment'](_0x41dafe['commentId']);_0x16b332?_0x16b332['content']!==_0x41dafe['content']&&_0x16b332['update']({'content':_0x41dafe['content'],'isFromAdapter':!0x0}):_0x49bfde['addComment'](Object['assign'](at(_0x41dafe),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2ecb65){if(!this['_services']['has'](_0x2ecb65))throw new _0x39cc72('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2ecb65});return this['_services']['get'](_0x2ecb65);}async['_fetchMissingUsersForThreads'](_0x155dbf){const _0x2e1748=this['context']['plugins']['get'](_0x436e7d),{connection:_0x25ad6b}=this['context']['plugins']['get'](z),_0x3e6fa4=new Set();for(const {resolvedBy:_0x548409,comments:_0x55d53e}of _0x155dbf){_0x548409&&!_0x2e1748['getUser'](_0x548409)&&_0x3e6fa4['add'](_0x548409);for(const {userId:_0x158064}of _0x55d53e)_0x2e1748['getUser'](_0x158064)||_0x3e6fa4['add'](_0x158064);}if(0x0===_0x3e6fa4['size'])return;const _0x358b15=await _0x2b182d['getMany'](_0x25ad6b,Array['from'](_0x3e6fa4));for(const _0x27f76 of _0x358b15)_0x2e1748['getUser'](_0x27f76['id'])||_0x2e1748['addUser'](_0x27f76);}};async function rt(_0x2bd83d){if('404'!==_0x2bd83d['code'])throw _0x2bd83d;}function ct(_0x5808a9){if((_0x40d67c=_0x5808a9)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x40d67c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x40d67c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x40d67c;throw _0x5808a9;}function at(_0x5e6805){return{'threadId':_0x5e6805['commentThreadId'],'commentId':_0x5e6805['commentId'],'content':_0x5e6805['content'],'createdAt':_0x5e6805['createdAt'],'authorId':_0x5e6805['userId'],'attributes':_0x5e6805['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x3eef9e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x2f8ee3)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x36b9ab,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x21a7a7){super(_0x21a7a7);const _0x3cc969=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x3cc969);}['init'](){const _0x3dae75=this['editor']['plugins']['get'](z),_0x332b72=this['editor']['plugins']['get'](_0x36b9ab);return _0x332b72['adapter']={'getSuggestion':async _0x2be680=>{await this['_waitForServiceReady']();const _0x3953c6=await this['_trackChangesService']['get'](_0x2be680)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3953c6]),_0x3953c6;},'addSuggestion':async({id:_0x329008,type:_0x228515,data:_0x17399e,originalSuggestionId:_0x103cef,attributes:_0x3db99c})=>{await this['_waitForServiceReady']();const _0x1f91cb={'id':_0x329008,'type':_0x228515,'data':_0x17399e,'originalSuggestionId':_0x103cef,'attributes':_0x3db99c},_0x447c6b=await this['_trackChangesService']['add'](_0x329008,_0x228515,_0x17399e,_0x103cef,_0x3db99c)['catch'](_0x50b23a=>{if(dt(_0x50b23a))return new Promise(_0x2fc249=>{this['_bufferedRequests']['set'](_0x329008,{'resolve':_0x2fc249,'suggestionData':_0x1f91cb});});throw _0x50b23a;});return this['_bufferedRequests']['delete'](_0x329008),_0x447c6b;},'updateSuggestion':async(_0x4794ca,_0x33f57e)=>{if(await this['_waitForServiceReady'](),'open'!==_0x33f57e['state'])return this['_trackChangesService']['update'](_0x4794ca,_0x33f57e)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4b59c7,_0x335c74)=>{_0x332b72['hasSuggestion'](_0x335c74['id'])&&(_0x332b72['getSuggestion'](_0x335c74['id'])['attributes']=_0x335c74['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x3dae75['connection']?.['state']&&(_0x3dae75['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x3dae75['connection'])['then'](_0x4be32c=>(_0x3dae75['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4be32c)['then'](()=>{for(const _0x54727f of _0x4be32c){_0x332b72['addSuggestionData'](_0x54727f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2e8ab9=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3d2990}=this['editor']['plugins']['get'](z),_0x26f2d4=await this['_trackChangesService']['connect'](_0x3d2990);await this['_fetchMissingUsersForThreads'](_0x26f2d4);for(const {suggestionData:_0xd5c1b5,resolve:_0x24e32b}of this['_bufferedRequests']['values']()){let _0x4079de=_0x26f2d4['find'](_0x12d987=>_0x12d987['id']===_0xd5c1b5['id']);_0x4079de||(_0x4079de=await this['_trackChangesService']['add'](_0xd5c1b5['id'],_0xd5c1b5['type'],_0xd5c1b5['data'],_0xd5c1b5['originalSuggestionId'])),_0x24e32b(_0x4079de);}for(const _0x4f1f74 of _0x26f2d4)_0x2e8ab9['hasSuggestion'](_0x4f1f74['id'])||_0x2e8ab9['addSuggestionData'](_0x4f1f74);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4b37de=>{this['listenTo'](this['_trackChangesService'],'connected',_0x38a853=>{_0x38a853['off'](),_0x4b37de();});});}async['_fetchMissingUsersForThreads'](_0x230169){const _0x65e882=this['editor']['plugins']['get'](_0x436e7d),{connection:_0x47f891}=this['editor']['plugins']['get'](z),_0x1822c7=new Set();for(const {authorId:_0x3c480d}of _0x230169)_0x65e882['getUser'](_0x3c480d)||_0x1822c7['add'](_0x3c480d);if(0x0===_0x1822c7['size'])return;const _0x3081a7=await _0x2b182d['getMany'](_0x47f891,Array['from'](_0x1822c7));for(const _0x5d2c59 of _0x3081a7)_0x65e882['getUser'](_0x5d2c59['id'])||_0x65e882['addUser'](_0x5d2c59);}};function lt(_0xd1c8cb){if(dt(_0xd1c8cb))return new Promise(()=>{});throw _0xd1c8cb;}function dt(_0x56b7e6){return _0x56b7e6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56b7e6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x3eef9e{static get['requires'](){return[_0x401e20,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x46debd=this['editor']['plugins']['get'](z),_0x406421=this['editor']['plugins']['get'](_0x2a3ec7),_0x375e98=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x46debd,'change:state',(_0x24619e,_0x12f402,_0x3290ec)=>{_0x406421['isThreadsLoadingPaused']='connected'!==_0x3290ec;});}),this['listenTo'](_0x46debd,'change:state',(_0x182736,_0x310d20,_0x502c22)=>{this['editor']['plugins']['get'](_0x5e513f)['switchReadOnly']('connected'!==_0x502c22);}),_0x375e98['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x3c741e=this['editor']['plugins']['get'](ot),_0x56c994=this['editor']['config']['get']('collaboration.channelId');_0x3c741e['_services']['has'](_0x56c994)&&_0x3c741e['_terminateService'](_0x56c994),super['destroy']();}},ft=class extends _0x3eef9e{static get['requires'](){return[ut,ht,_0x54c3b7];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x3eef9e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x25482a)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x2f5675,Y,_0x436e7d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x219837){super(_0x219837);const _0x4bc179=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x4bc179);}async['init'](){const _0x5b0c87=this['editor']['plugins']['get'](tt),_0xa1044c=_0x5b0c87['serverHistory'],_0x460a4a=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0xa1044c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5b0c87['sessionId']});const _0x4a24a7=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x2ff48a,_0x1c0163=await _0x57c6a6['isBundleUploaded'](_0x460a4a['connection'],_0x4a24a7);this['editor']['plugins']['get'](_0x2f5675)['adapter']={'getRevision':async({revisionId:_0x43d435})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x43d435)),'updateRevisions':async _0x48c2d6=>{await this['_waitForServiceReady']();const _0x2ab224=this['_revisionTracker']['currentRevision'];if(_0x1c0163&&0x1===_0x48c2d6['length']&&_0x48c2d6[0x0]['id']===_0x2ab224['id'])return _0x48c2d6;for(const _0x42f9f6 of _0x48c2d6)_0x42f9f6['id']===_0x2ab224['id']&&(_0x42f9f6['isEmptyCurrent']=_0x42f9f6['fromVersion']===_0x42f9f6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x48c2d6,this['_lastRequestId'])['then'](_0x471449=>(this['_lastRequestId']=_0x471449,_0x48c2d6))['catch'](_0x401f92=>{if(pt(_0x401f92)||'400'===_0x401f92['code']&&void 0x0!==_0x401f92['data']['wrongRequestId']){for(const _0x24e92c of _0x48c2d6)this['_revisionTracker']['repository']['getRevision'](_0x24e92c['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x24e92c['id'],_0x24e92c,!0x1);if(pt(_0x401f92)&&'destroyed'!==this['editor']['state'])throw _0x401f92;return _0x48c2d6;}throw _0x401f92;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x58ccdf,{revisionsData:_0x3b2754,requestId:_0x824db3})=>{Math['max'](..._0x3b2754['map'](_0x466f92=>_0x466f92['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b2754,_0x824db3);}):this['_handleRevisionsUpdate'](_0x3b2754,_0x824db3);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x460a4a['connection']?.['state']&&(_0x460a4a['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x23b416,requestId:_0x2851fe}=await this['_revisionHistoryService']['connect'](_0x460a4a['connection']);_0x460a4a['addToReconnectionStack'](this),this['_lastRequestId']=_0x2851fe,await this['_fetchMissingUsers'](_0x23b416);for(const _0x2c2669 of _0x23b416)this['_revisionTracker']['addRevisionData'](_0x2c2669);this['listenTo'](_0x5b0c87,'change:_isConnected',(_0x4c7a83,_0x112d92,_0x12389d)=>{_0x12389d&&(this['_oldOffset']=_0x5b0c87['_offset'],_0x4c7a83['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x572216=this['editor']['plugins']['get'](z),_0x5ab988=this['editor']['plugins']['get'](tt),_0x5e87a0=async()=>{const _0x402351=this['_revisionTracker']['currentRevision'],_0x5bdf79=_0x402351['id'],_0xceecb8=_0x5bdf79!==_0x5ab988['sessionId'];if(_0xceecb8){const _0x2b2e23=_0x5ab988['_offset']-this['_oldOffset'],_0x478fa6=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x402351['toVersion']+_0x2b2e23!==_0x478fa6){const _0x233db7=_0x402351['fromVersion']+_0x2b2e23,_0x34ef5d=this['editor']['plugins']['get'](_0x436e7d),_0x3ad6c4=this['_revisionTracker']['buildRevisionData']({'revision':_0x402351,'from':_0x233db7,'to':_0x478fa6});_0x3ad6c4['id']=_0x402351['id'];const _0x1a0dc6=_0x3ad6c4['authorsIds']['map'](_0xa0cb1a=>_0x34ef5d['getUser'](_0xa0cb1a));_0x402351['_update']({..._0x3ad6c4,'authors':_0x1a0dc6},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x402351['id'],_0x3ad6c4,!0x0);}this['_revisionTracker']['_startingVersion']=_0x478fa6,_0x402351['toVersion']!==_0x402351['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x5bdf79)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x5bdf79),this['_revisionTracker']['_createCurrentRevision'](_0x478fa6);}const {revisions:_0xb60280,requestId:_0x253ee4}=await this['_revisionHistoryService']['reconnect'](_0x572216['connection'],this['_lastRequestId']);_0xceecb8&&_0xb60280['length']>0x0?_0x5ab988['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0xb60280),this['_handleRevisionsUpdate'](_0xb60280,_0x253ee4),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5ab988['_isConnected']?_0x5e87a0():new Promise((_0x4b46fc,_0x521a6e)=>{_0x5ab988['once']('change:_isConnected',()=>{_0x5e87a0()['then'](_0x4b46fc)['catch'](_0x521a6e);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x431d6b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x15c4ef=>{_0x15c4ef['off'](),_0x431d6b();});});}['_getLatestVersionFromServerOperations'](){const _0x44e38d=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x17b6ef of _0x44e38d)if('marker'!==_0x17b6ef['type']||_0x17b6ef['affectsData'])return _0x17b6ef['baseVersion']+0x1;}['_getLatestVersion'](){const _0x4c1459=this['editor']['plugins']['get'](tt);return new Promise(_0x2967e9=>{_0x4c1459['_isPendingUpdate']?_0x4c1459['once']('change:_isPendingUpdate',()=>{_0x2967e9(this['_getLatestVersionFromServerOperations']());}):_0x2967e9(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1a9cf0,_0x37e1e5){const _0x1da30a=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x37e1e5;for(const _0x582acd of _0x1a9cf0){const _0x2babd6=_0x1da30a['getRevision'](_0x582acd['id']);if(_0x2babd6){if((_0x582acd['fromVersion']||_0x582acd['toVersion'])&&(_0x582acd['diffData']=null),_0x2babd6===this['_revisionTracker']['currentRevision']){const _0xc6469d=Math['max'](_0x2babd6['toVersion'],_0x582acd['toVersion']),_0x4e706f=Math['max'](_0x2babd6['fromVersion'],_0x582acd['fromVersion']);let _0x206e0a;_0x2babd6['toVersion']===_0x582acd['toVersion']&&_0x2babd6['fromVersion']===_0x582acd['fromVersion']?(_0x206e0a=!0x0,this['_preventResendingRevisionData'](_0x582acd)):_0x582acd['toVersion']===_0xc6469d&&_0x582acd['fromVersion']===_0x4e706f?_0x206e0a=!0x1:(_0x2babd6['toVersion']===_0xc6469d&&_0x2babd6['fromVersion']===_0x4e706f||this['_fixRevision']({'revision':_0x2babd6,'from':_0x4e706f,'to':_0xc6469d}),_0x206e0a=!0x0),_0x206e0a&&(delete _0x582acd['fromVersion'],delete _0x582acd['toVersion'],delete _0x582acd['diffData'],delete _0x582acd['createdAt'],delete _0x582acd['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x582acd),this['_preventResendingRevisionData'](_0x582acd);}else this['_revisionTracker']['addRevisionData'](_0x582acd);}const _0x279e89=_0x1da30a['getRevisions']();_0x279e89['reverse']();for(let _0xd8f136=0x0;_0xd8f136<_0x279e89['length']-0x1;_0xd8f136++){const _0x352cae=_0x279e89[_0xd8f136],_0xc29ca3=_0x279e89[_0xd8f136+0x1];if(_0x352cae['fromVersion']<_0xc29ca3['toVersion']){const _0x40b238=_0xc29ca3['toVersion'],_0x192082=Math['max'](_0x40b238,_0x352cae['toVersion']);this['_fixRevision']({'revision':_0x352cae,'from':_0x40b238,'to':_0x192082});}}}['_fixRevision']({revision:_0x2b43c6,from:_0x5e4761,to:_0x3e3959}={}){const _0x4a644d=this['editor']['plugins']['get'](_0x436e7d),_0x125072=this['_revisionTracker']['buildRevisionData']({'revision':_0x2b43c6,'from':_0x5e4761,'to':_0x3e3959});_0x125072['authors']=_0x125072['authorsIds']['map'](_0x4b0c87=>_0x4a644d['getUser'](_0x4b0c87)),_0x2b43c6['_update'](_0x125072);}['_preventResendingRevisionData'](_0x35d90c){const _0x41abec={};_0x41abec['id']=_0x35d90c['id'];for(const _0x543d1c of Object['keys'](_0x35d90c))'id'!==_0x543d1c&&(_0x41abec[_0x543d1c]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x41abec['id'],_0x41abec,!0x0);}async['_fetchMissingUsers'](_0xe61c58){const _0x19aead=this['editor']['plugins']['get'](_0x436e7d),{connection:_0x4a9c6e}=this['editor']['plugins']['get'](z),_0x40c4fe=new Set();for(const _0x1f456b of _0xe61c58){for(const _0x63f10f of _0x1f456b['authorsIds'])_0x2a8fbf(_0x63f10f);_0x1f456b['creatorId']&&_0x2a8fbf(_0x1f456b['creatorId']);}if(0x0===_0x40c4fe['size'])return;const _0x4ac468=await _0x2b182d['getMany'](_0x4a9c6e,Array['from'](_0x40c4fe));for(const _0x9df97e of _0x4ac468)_0x19aead['getUser'](_0x9df97e['id'])||_0x19aead['addUser'](_0x9df97e);function _0x2a8fbf(_0x369a56){_0x19aead['getUser'](_0x369a56)||_0x40c4fe['add'](_0x369a56);}}};function pt(_0xa9b60f){return _0xa9b60f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xa9b60f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa9b60f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x3eef9e{static get['requires'](){return[_0x2f5675,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x118b39{['_collapseAt'];constructor(_0x896550,_0x55540d=0x6){super(_0x896550);const _0x5f11e2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x55540d,this['bind']('isHidden')['to'](this,'usersCount',_0xd2ca01=>_0xd2ca01<_0x55540d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5f11e2['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':_0x5f11e2['to']('usersCount',_0xf8ac44=>'+'+(_0xf8ac44-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x118b39{['items'];['keystrokes'];constructor(_0x106610){super(_0x106610);const _0xb7830b=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1b9bbc(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xb7830b['if']('hasPopup'),'aria-expanded':_0xb7830b['to']('isExpanded',_0x371977=>this['hasPopup']&&String(_0x371977)),'aria-label':_0xb7830b['to']('hasPopup',_0x19ea53=>X(_0x106610,_0x19ea53?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xb7830b['to']('hasPopup',_0xcfa072=>!!_0xcfa072&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xb7830b['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xb7830b['to'](_0x56b748=>{const _0x18c69b=_0x56b748,_0xde48eb=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5c34f3=document['querySelector']('.ck-balloon-panel_with-arrow');_0xde48eb?.['contains'](_0x18c69b['relatedTarget'])||_0x5c34f3?.['contains'](_0x18c69b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4b39df,_0x1aae65,_0x3af195)=>{this['element']&&(_0x3af195?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x118b39{['counterView'];['inlineListView'];constructor(_0x2a4901,_0x174abb=0x6){super(_0x2a4901);const _0x54101a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x174abb),this['inlineListView']=new vt(_0x2a4901),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x14671b of this['inlineListView']['items'])_0x14671b['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',_0x54101a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x118b39{['listWrapperView'];constructor(_0x5cfff2,_0x1bb302){super(_0x5cfff2);const _0x4ae741=this['bindTemplate'];this['listWrapperView']=new bt(_0x5cfff2,_0x1bb302),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x5cfff2,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4ae741['to'](_0x4decec=>{const _0xdd5b0f=_0x4decec,_0x4a0e85=document['querySelector']('.ck-presence-list__list'),_0xf3f576=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4a0e85?.['contains'](_0xdd5b0f['relatedTarget'])||_0xf3f576?.['contains'](_0xdd5b0f['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x63033d{constructor(_0x195ae4,_0x1ea244){super(_0x195ae4);const _0x5bb89b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1ea244?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5bb89b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5bb89b['to']('role'),'aria-label':_0x5bb89b['to']('ariaLabel'),'aria-labelledby':_0x5bb89b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5de4cf['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x524c99=this['element'];_0x524c99&&(this['_isScrollable']=Math['max'](_0x524c99['scrollHeight'],_0x524c99['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x537ded{['userView'];constructor(_0x5ef706,_0x30536f,_0x944c9d){super(_0x5ef706);const _0x3d86ac=this['bindTemplate'];this['userView']=new _0x2710e6(_0x5ef706,_0x30536f);const _0x58d55c={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x30536f['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x30536f['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x30536f['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x30536f['color']['getColorVariable'](),'--ck-user-color-alpha':_0x30536f['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x944c9d&&(_0x58d55c['tag']='button',_0x58d55c['on']={'click':_0x3d86ac['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x58d55c);}['focus'](){this['element']['focus']();}},It=class extends _0x118b39{['userView'];['markerView'];constructor(_0xf0507d,_0x32e45b,_0x54db38){super(_0xf0507d);const _0x5be7c2=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x2710e6(_0xf0507d,_0x32e45b),this['markerView']=new St(_0xf0507d,_0x32e45b);const _0x370d7d=new _0x5cd191(_0xf0507d);_0x370d7d['template']['tag']='span',_0x370d7d['text']=_0x32e45b['name'];const _0x57eecc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5be7c2['to']('isFocusable',_0x2352f1=>!!_0x2352f1&&0x0),'aria-labelledby':_0x370d7d['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5be7c2['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5be7c2['to']('hasTooltip',_0x50cbb6=>!_0x50cbb6),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x370d7d]};_0x54db38&&(_0x57eecc['tag']='button',_0x57eecc['on']={'click':_0x5be7c2['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x57eecc);}},St=class extends _0x118b39{constructor(_0x6dc400,_0x3dc24a){super(_0x6dc400),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3dc24a['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x3dc24a['color']['getColorVariable'](),'--ck-user-color-alpha':_0x3dc24a['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x2818ba{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x16ab25){super(_0x16ab25),this['context']['config']['define']('presenceList',Tt);const _0x440e68=_0x16ab25['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x440e68)throw new _0x39cc72('presencelist-collapseat-invalid-format',this);if(_0x440e68<0x1)throw new _0x39cc72('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x533d03(),this['balloonPanelView']=new _0x35ff59(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xb0027f of this['_allConnectedUsers'])this['_handleUserAdd'](_0xb0027f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x357543,_0x2a45d3)=>{this['_handleUserAdd'](_0x2a45d3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x177429,_0x37b898)=>{this['_handleUserRemove'](_0x37b898);});}['_createView'](){const _0x20a7fe=this['context'],_0xe887ab=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x1d664a=this['balloonPanelView'];if(!_0x7e36a1(_0x20a7fe['config']['get']('presenceList.container')))throw new _0x39cc72('presencelist-missing-container',this);return _0xe887ab['counterView']['bind']('usersCount')['to'](this),_0xe887ab['bind']('isCollapsed')['to'](this,'usersCount',_0x4614a7=>{const {collapseAt:_0x1c9c63}=_0x20a7fe['config']['get']('presenceList'),_0x3467e6=_0x4614a7>=_0x1c9c63;if(_0x3467e6&&!_0xe887ab['inlineListView']['items']['find'](_0x122f32=>_0x122f32 instanceof wt)){const _0x5ddeb9=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5ddeb9&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0xe887ab['inlineListView']['items']['add'](_0xe887ab['counterView']);}return _0x3467e6||this['hideDropdown'](),_0x3467e6;}),_0xe887ab['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x521766=>{const _0x2b2b53=_0x20a7fe['config']['get']('presenceList'),_0x1ab9fd=new It(_0x20a7fe['locale'],_0x521766,!!_0x2b2b53['onClick']);return _0x1ab9fd['bind']('hasTooltip')['to'](_0xe887ab,'isCollapsed',_0x44d142=>!_0x44d142),_0x1ab9fd['bind']('isFocusable')['to'](_0xe887ab,'isCollapsed',_0xe472f=>!_0xe472f),_0x2b2b53['onClick']&&this['listenTo'](_0x1ab9fd,'execute',()=>{this['view']['isCollapsed']||_0x2b2b53['onClick'](_0x521766,_0x1ab9fd['element']);}),_0x1ab9fd;}),this['listenTo'](_0xe887ab['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0xe887ab['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0xe887ab['inlineListView']['keystrokes']['set']('Enter',(_0x505fa2,_0x5b6c9e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5b6c9e());}),_0xe887ab['render'](),_0x1d664a['render'](),_0x125654({'emitter':_0xe887ab,'activator':()=>_0x1d664a['isVisible'],'contextElements':[_0x1d664a['element'],_0xe887ab['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x20a7fe['config']['get']('presenceList.container')['appendChild'](_0xe887ab['element']),this['_bodyCollection']=new _0x39c0cb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0xe887ab;}['_handleUserAdd'](_0x29d2e9){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x29d2e9['isMe'])return;const _0x58b8dd=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x58b8dd-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x33b5bf=_0x29d2e9['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x29d2e9,_0x33b5bf);}['_handleUserRemove'](_0x13663f){this['usersCount']--;const {collapseAt:_0x1f6808}=this['context']['config']['get']('presenceList'),_0x30572e=this['usersCount']>=_0x1f6808;if(this['currentDisplayedUsers']['get'](_0x13663f['id']))this['currentDisplayedUsers']['remove'](_0x13663f['id']);else{if(_0x30572e&&this['currentDisplayedUsers']['length']+0x1===_0x1f6808-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x30572e?0x1:0x0)<this['usersCount']){for(const _0x5e426e of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5e426e['id'])&&(this['currentDisplayedUsers']['add'](_0x5e426e,Math['min'](this['currentDisplayedUsers']['length']-(_0x30572e?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x30572e?0x1:0x0)===_0x1f6808-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x265562=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x265562['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5b0981}=this['presenceDropdownView'];_0x5b0981['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3a24fa=>{if(!_0x265562['displayMe']&&_0x3a24fa['isMe'])return null;const _0x505cee=new kt(this['context']['locale'],_0x3a24fa,!!_0x265562['onClick']);return _0x265562['onClick']&&this['listenTo'](_0x505cee,'execute',()=>{_0x265562['onClick'](_0x3a24fa,_0x505cee['element']);}),_0x505cee;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5b0981['focus'](),_0x5b0981['checkIfScrollable']();const _0x43c7ab=(_0x47a5f1,_0x504d3b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x504d3b();};_0x5b0981['keystrokes']['set']('Esc',_0x43c7ab),_0x5b0981['keystrokes']['set']('Shift+Tab',_0x43c7ab),_0x5b0981['keystrokes']['set']('Tab',(_0x23e302,_0x3a4ceb)=>{!function(_0x1d042e){const _0x679c11=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x21c49d=>_0x21c49d+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x83405a=[...document['body']['querySelectorAll'](_0x679c11)]['filter'](_0x24c05a=>_0x24c05a===document['activeElement']||_0x24c05a['offsetWidth']+_0x24c05a['offsetHeight']>0x0)['sort']((_0x224e27,_0x5949fa)=>(_0x224e27['tabIndex']||0x0)-(_0x5949fa['tabIndex']||0x0)),_0xa0d5e=_0x83405a[(_0x83405a['indexOf'](_0x1d042e)+0x1)%_0x83405a['length']];_0xa0d5e&&_0xa0d5e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3a4ceb();}),_0x5b0981['focusTracker']['add'](this['view']['element']),_0x5b0981['focusTracker']['on']('change:isFocused',(_0x5ba22c,_0x10e3a9,_0x2a4399)=>{_0x2a4399||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x2818ba{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|