@ckeditor/ckeditor5-real-time-collaboration 48.3.0-alpha.0 → 48.3.0-alpha.2
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 _0x2d03f6,ContextPlugin as _0x198b15,PendingActions as _0x1664fe,Plugin as _0x55f077}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x247b99,Collection as _0x306590,DomEmitterMixin as _0x128a5f,KeystrokeHandler as _0x8e2249,global as _0x3de184,uid as _0x15a4eb,version as _0x43a572}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x40139a,BodyCollection as _0x34295a,LabelView as _0x4b0e72,ListItemView as _0x81bb6c,ListView as _0x41f256,Notification as _0x3aba24,View as _0x734c23,clickOutsideHandler as _0x955340}from'@ckeditor/ckeditor5-ui';import{History as _0x3b9cfe,InsertOperation as _0x1e623b,MarkerOperation as _0x2b7f21,ModelLiveRange as _0x537809,NoOperation as _0x506b04,OperationFactory as _0x23d9fa,RootAttributeOperation as _0x530ebb,transformOperationSets as _0x367266}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x1d1225}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x56bfe2,CommentsService as _0x25de81,EditorService as _0x5e4875,RevisionHistoryService as _0xb0619e,TrackChangesService as _0x504e78,User as _0x3fdc75,WEB_SOCKET_GATEWAY_STATES as _0xbe46e2,WebSocketGateway as _0x3197df}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x111a61,Users as _0x2c4aec}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x307d8e}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x348130,TrackChangesEditing as _0x21a4e2}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x5ddb33,CommentsEditing as _0x4a2cc1,CommentsRepository as _0x557678}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x278f20}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x368f5b}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x198b15{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x3197df)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x1d1225,_0x3aba24];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3462ac){super(_0x3462ac),this['set']('state',_0xbe46e2['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x128a5f())();}['init'](){const _0x2e711c=this['context'],_0x3db06c=_0x2e711c['plugins']['get'](_0x1d1225),_0x3706e2=_0x2e711c['plugins']['get'](_0x3aba24);if(!_0x3db06c['token'])throw new _0x247b99('websocketgateway-missing-token',this);if(!_0x3db06c['webSocketUrl'])throw new _0x247b99('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'](_0x3db06c['token'],_0x3db06c['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x41e0b5=>{if(this['connection']=_0x41e0b5,this['bind']('state')['to'](_0x41e0b5,'state',this,'_isBrowserOffline',(_0x4632a2,_0x15ccb0)=>('connected'!==_0x4632a2&&(this['_shouldPluginsReconnect']=!0x0),_0x15ccb0||_0x4632a2!==_0xbe46e2['CONNECTED']?_0xbe46e2['DISCONNECTED']:this['state']==_0xbe46e2['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xbe46e2['CONNECTING']):_0xbe46e2['CONNECTED'])),this['connection']['on']('error',(_0x20e359,_0x1f0206)=>{if('limitExceeded'!==_0x1f0206['code'])throw console['error'](_0x1f0206),new _0x247b99('cloudservices-init',null,{'originalError':_0x1f0206});_0x3706e2['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'});}),!_0x41e0b5['me'])return new Promise(_0x12509a=>_0x41e0b5['on']('change:me',_0x12509a));})['catch'](_0x3b5220=>{throw console['error'](_0x3b5220),new _0x247b99('cloudservices-init',null,{'originalError':_0x3b5220});});}['addToReconnectionStack'](_0x1baca3){if('function'!=typeof _0x1baca3['reconnect'])throw new _0x247b99('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1baca3))throw new _0x247b99('websocketgateway-plugin-already-registered',this,{'name':_0x1baca3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1baca3);}['removeFromReconnectionStack'](_0x1ed928){this['_reconnectionStack']['delete'](_0x1ed928);}['isInReconnectionStack'](_0x33be3b){return this['_reconnectionStack']['has'](_0x33be3b);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xeb7e3b=>_0xeb7e3b['reconnect']())))['then'](()=>this['state']=_0xbe46e2['CONNECTED'])['catch'](_0x2b4fcc=>{throw console['error'](_0x2b4fcc),new _0x247b99('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xbe46e2['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x198b15{['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,_0x2c4aec];}constructor(_0x438c58){super(_0x438c58),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x306590(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2c4aec);}['init'](){const _0x5c897b=this['context']['plugins']['get'](z);this['listenTo'](_0x5c897b,'change:state',(_0x17f0a5,_0x21a04f,_0x4ad1e5)=>{if('connected'!==_0x4ad1e5)this['channelSessions']['forEach'](_0x635b1a=>_0x635b1a['clear']()),this['channelConnectedUsers']['forEach'](_0x2a1a2e=>_0x2a1a2e['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x693cbe,_0x35f46c]of this['_registeredSessions'])for(const _0x11ad98 of _0x35f46c)this['_handleSessionAdd'](_0x693cbe,_0x11ad98);}}),this['_createUser'](_0x5c897b['connection']['me'],!0x0);}['register'](_0x22a626,_0x1e793d){if(this['_registeredSessions']['has'](_0x22a626))throw new _0x247b99('sessions-register-already-registered',null,{'channelId':_0x22a626});this['_registeredSessions']['set'](_0x22a626,_0x1e793d),this['channelSessions']['set'](_0x22a626,new _0x306590()),this['channelConnectedUsers']['set'](_0x22a626,new _0x306590()),this['listenTo'](_0x1e793d,'add',(_0x472e02,_0x169d72)=>this['_handleSessionAdd'](_0x22a626,_0x169d72)),this['listenTo'](_0x1e793d,'remove',(_0x4f1ddd,_0x3b7916)=>this['_handleSessionRemove'](_0x22a626,_0x3b7916));for(const _0x794a02 of _0x1e793d)this['_handleSessionAdd'](_0x22a626,_0x794a02);}['unregister'](_0x3a0c9a){if(!this['_registeredSessions']['has'](_0x3a0c9a))throw new _0x247b99('sessions-unregister-not-exist',null,{'channelId':_0x3a0c9a});const _0x1eae91=this['_registeredSessions']['get'](_0x3a0c9a);this['stopListening'](_0x1eae91);for(const _0x5b225b of _0x1eae91)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x3a0c9a,_0x5b225b);this['_registeredSessions']['delete'](_0x3a0c9a),this['channelSessions']['delete'](_0x3a0c9a),this['channelConnectedUsers']['delete'](_0x3a0c9a);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x3ac32e){for(const _0x2d28ac of this['channelSessions']['values']())for(const _0x407ac2 of _0x2d28ac)if(_0x407ac2['id']===_0x3ac32e)return _0x407ac2['user'];}['getUserSessions'](_0x4a3424,_0x481da4){const _0x15758c=_0x481da4?[this['channelSessions']['get'](_0x481da4)]:this['channelSessions']['values'](),_0x5666ce=new Set();for(const _0x5dd310 of _0x15758c)for(const _0x337701 of _0x5dd310)_0x337701['user']['id']===_0x4a3424['id']&&_0x5666ce['add'](_0x337701['id']);return _0x5666ce;}['getUserRole'](_0x317586){for(const _0x174598 of this['channelSessions']['values']())for(const _0x554da3 of _0x174598)if(_0x554da3['user']===_0x317586)return _0x554da3['role'];}['_handleSessionAdd'](_0x455c4a,_0x5b614a){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3e74a5=_0x5b614a['user'],_0x31eadb=this['_users']['getUser'](_0x3e74a5['id'])||this['_createUser'](_0x3e74a5),_0x1f289c=Object['assign']({},_0x5b614a,{'user':_0x31eadb});if(this['channelSessions']['get'](_0x455c4a)['add'](_0x1f289c),!_0x3e74a5['hiddenInPresenceList']){const _0x56697e=this['channelConnectedUsers']['get'](_0x455c4a);_0x56697e['has'](_0x31eadb['id'])||_0x56697e['add'](_0x31eadb),this['allConnectedUsers']['has'](_0x31eadb['id'])||_0x3e74a5['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x31eadb,_0x31eadb['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x455c4a,{'channelId':_0x455c4a,'session':_0x1f289c});}['_handleSessionRemove'](_0x738f87,_0x1500ed){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4327ca=this['channelConnectedUsers']['get'](_0x738f87),_0x3ecbc6=_0x1500ed['user'];_0x3ecbc6['id']&&(this['channelSessions']['get'](_0x738f87)['remove'](_0x1500ed['id']),_0x4327ca['has'](_0x3ecbc6['id'])&&!this['getUserSessions'](_0x3ecbc6,_0x738f87)['size']&&_0x4327ca['remove'](_0x3ecbc6['id']),this['allConnectedUsers']['get'](_0x3ecbc6['id'])&&!this['getUserSessions'](_0x3ecbc6)['size']&&this['allConnectedUsers']['remove'](_0x3ecbc6['id']));}['_createUser'](_0x137c15,_0x3ef584){const _0x22a60a=this['_users']['addUser'](_0x137c15);return _0x3ef584&&this['_users']['defineMe'](_0x137c15['id']),_0x22a60a['orderNumber']=this['_uniqueUsersCount']++,_0x22a60a;}},K=class extends _0x55f077{['_domEmitter']=new(_0x128a5f())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xf8ab14=this['editor'],_0x3e256c=_0xf8ab14['plugins']['get'](Y);_0xf8ab14['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xcc8eae,{writer:_0x3fce45})=>function(_0x202683,_0x1a9b25,_0x51edd5,_0x39fbd5){const _0xaea4cc=_0x202683['markerName']['split'](':')[0x2],_0x5920e6=_0x51edd5['getUserBySessionId'](_0xaea4cc);if(!_0x5920e6||_0xaea4cc===_0x51edd5['mySessionId'])return;if(!_0x39fbd5['model']['schema']['checkChild'](_0x202683['markerRange']['start'],'$text'))return;const _0x1ae736={'class':'ck-user__marker\x20'+_0x5920e6['color']['getMarkerClass'](),'style':Q(_0x5920e6),'data-name':_0x5920e6['name'],'data-session-id':_0xaea4cc},_0x75f1e1=_0x39fbd5['model']['markers']['get'](_0x202683['markerName'])['getStart'](),_0x54a056=_0x75f1e1['nodeAfter'],_0x53d722=_0x39fbd5['model']['schema'];if(_0x54a056&&_0x53d722['isObject'](_0x54a056)&&_0x53d722['isInline'](_0x54a056)&&!_0x39fbd5['model']['markers']['get']('user:range:'+_0xaea4cc)['getRange']()['isCollapsed'])return;const _0x1cca80=_0x75f1e1['parent'];return _0x39fbd5['model']['schema']['isLimit'](_0x1cca80)&&!_0x39fbd5['model']['hasContent'](_0x1cca80)&&(_0x1ae736['contenteditable']=!0x1),function(_0x500c73,_0x3312fb,_0x47ce0b){const _0x2a0a3c=_0x500c73['createUIElement']('span',_0x3312fb);return _0x500c73['setCustomProperty']('userPositionMarker',!0x0,_0x2a0a3c),_0x2a0a3c['render']=function(_0xd40a0e){const _0x5b2231=this['toDomElement'](_0xd40a0e),_0x5017de=document['createElement']('span');return _0x5017de['classList']['add']('ck-user__marker-tooltip'),_0x5017de['setAttribute']('contenteditable','false'),_0x5017de['setAttribute']('spellcheck','false'),_0x5017de['textContent']=_0x47ce0b['name'],_0x5b2231['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5017de['outerHTML']+'',_0x5b2231['addEventListener']('mouseenter',()=>{_0x5b2231['classList']['add']('ck-user__marker_hovered');}),_0x5b2231['addEventListener']('mouseleave',()=>{_0x5b2231['classList']['remove']('ck-user__marker_hovered');}),_0x5b2231;},_0x2a0a3c['isSimilar']=function(_0x93968e){return!(!this['getCustomProperty']('userPositionMarker')||!_0x93968e['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x93968e['getAttribute']('data-session-id'));},_0x2a0a3c;}(_0x1a9b25,_0x1ae736,_0x5920e6);}(_0xcc8eae,_0x3fce45,_0x3e256c,_0xf8ab14)}),_0xf8ab14['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x9cbf31=>function(_0x58d334,_0x16d6f4){const _0x24eef1=_0x58d334['markerName']['split'](':')[0x2];if(_0x24eef1===_0x16d6f4['mySessionId'])return null;const _0x2829bf=_0x16d6f4['getUserBySessionId'](_0x24eef1);return _0x2829bf?{'id':_0x24eef1,'classes':['ck-user__selection',_0x2829bf['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2829bf),'data-session-id':_0x24eef1},'priority':0x7d0+_0x2829bf['orderNumber']}:{'id':_0x24eef1,'classes':[]};}(_0x9cbf31,_0x3e256c)}),function(_0x3edfa5){const _0x147445=_0x3edfa5['model'],_0x21bdeb=new Map(),_0x4f869c=_0x3edfa5['plugins']['get'](Y);_0x147445['markers']['on']('update:user:range',(_0x5516b1,_0x19b7a3,_0xf6fc61,_0x554f9d)=>{if(!_0x554f9d&&_0x21bdeb['get'](_0x19b7a3['name']))return _0x21bdeb['get'](_0x19b7a3['name'])['detach'](),void _0x21bdeb['delete'](_0x19b7a3['name']);const _0x5d8981=_0x19b7a3['name']['split'](':')[0x2];if(_0x5d8981===_0x4f869c['mySessionId'])return;const _0x29caff='user:position:'+_0x5d8981;_0x147445['markers']['has'](_0x29caff)&&_0x3edfa5['editing']['reconvertMarker'](_0x29caff),_0x19b7a3['on']('change:range',(_0x225aa3,_0x15f62d,_0xb87a4a)=>{if('$graveyard'!=_0x15f62d['root']['rootName']&&'$graveyard'==_0x19b7a3['getRange']()['root']['rootName']&&!_0x21bdeb['has'](_0x19b7a3['name'])){const _0x562c3b=_0x147445['schema']['getNearestSelectionRange'](_0xb87a4a['deletionPosition']);if(_0x562c3b){const _0x528df6=_0x537809['fromRange'](_0x562c3b);_0x21bdeb['set'](_0x19b7a3['name'],_0x528df6),_0x528df6['on']('change:range',(_0x5c0393,_0x38921b,_0x5ce3c9)=>{if('$graveyard'==_0x528df6['root']['rootName']){const _0x565665=_0x147445['schema']['getNearestSelectionRange'](_0x5ce3c9['deletionPosition']);_0x565665?(_0x528df6['start']=_0x565665['start'],_0x528df6['end']=_0x565665['end']):(_0x21bdeb['delete'](_0x19b7a3['name']),_0x528df6['detach']());}});}}});}),_0x147445['document']['on']('change',()=>{_0x21bdeb['size']>0x0&&_0x147445['enqueueChange']({'isUndoable':!0x1},_0x4da494=>{for(const [_0x344ae2,_0x25c67a]of _0x21bdeb)'$graveyard'==_0x147445['markers']['get'](_0x344ae2)['getRange']()['root']['rootName']&&(J(_0x344ae2['split'](':')[0x2],_0x25c67a['toRange'](),_0x147445,_0x4da494),_0x25c67a['detach']());_0x21bdeb['clear']();});});}(_0xf8ab14),this['_domEmitter']['listenTo'](_0x3de184['document'],'keydown',(_0x201010,{key:_0x2208d6})=>{'Escape'===_0x2208d6&&function(_0xdcc4fc){_0xdcc4fc['editing']['view']['change'](_0x5cfc62=>{for(const _0x29df6d of _0xdcc4fc['model']['markers']){if(!_0x29df6d['name']['startsWith']('user:position'))continue;const _0x873309=_0xdcc4fc['editing']['mapper']['markerNameToElements'](_0x29df6d['name']);if(_0x873309){for(const _0x21a3ad of _0x873309)_0x5cfc62['removeClass']('ck-user__marker_hovered',_0x21a3ad);}}});}(_0xf8ab14);},{'useCapture':!0x0});}['afterInit'](){const _0x133824=this['editor'],_0x25e23d=_0x133824['commands']['get']('undo');_0x25e23d&&_0x133824['model']['on']('applyOperation',(_0x903e41,_0xf89f34)=>{const _0x5e3318=_0xf89f34[0x0];if(!_0x5e3318['isDocumentOperation'])return;if('marker'!=_0x5e3318['type']||!_0x5e3318['name']['startsWith']('user:'))return;const _0x36cd93=_0x5e3318['batch'];_0x25e23d['_createdBatches']['has'](_0x36cd93)&&(_0x5e3318['newRange']=_0x5e3318['oldRange']?_0x133824['model']['createRange'](_0x5e3318['oldRange']['start'],_0x5e3318['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2939be=this['editor'],_0x15b234=_0x2939be['model']['document'],_0x4cf68e=_0x2939be['plugins']['get'](Y);_0x2939be['model']['enqueueChange']({'isUndoable':!0x1},_0x5d5e79=>{const _0x32a869='user:range:'+_0x4cf68e['mySessionId'],_0x135e0b='user:position:'+_0x4cf68e['mySessionId'],_0x37168c=_0x2939be['model']['markers']['has'](_0x32a869);_0x2939be['editing']['view']['hasDomSelection']?J(_0x4cf68e['mySessionId'],_0x15b234['selection']['getFirstRange'](),_0x2939be['model'],_0x5d5e79):_0x37168c&&(_0x5d5e79['removeMarker'](_0x32a869),_0x5d5e79['removeMarker'](_0x135e0b));});}};function J(_0x5d6205,_0x4167a4,_0xcc5ac3,_0x258df7){const _0x21012e='user:range:'+_0x5d6205,_0x398941='user:position:'+_0x5d6205,_0x10c64f=_0x4167a4['getContainedElement']();let _0x57dcde=_0x4167a4['start'];if(_0x10c64f&&_0x10c64f['is']('element','tableCell')){const _0x6ba8b2=function(_0x1c55d2,_0x4cf1dd){for(const _0x418734 of _0x1c55d2['getPositions']())if(_0x4cf1dd['schema']['checkChild'](_0x418734,'$text'))return _0x418734;}(_0x4167a4,_0xcc5ac3);_0x6ba8b2&&(_0x57dcde=_0x6ba8b2,_0x4167a4=_0x258df7['createRange'](_0x57dcde));}const _0x4ec9d9=_0x258df7['createRange'](_0x57dcde);_0xcc5ac3['markers']['has'](_0x21012e)?(_0x258df7['updateMarker'](_0x21012e,{'range':_0x4167a4}),_0x258df7['updateMarker'](_0x398941,{'range':_0x4ec9d9})):(_0x258df7['addMarker'](_0x21012e,{'range':_0x4167a4,'usingOperation':!0x0}),_0x258df7['addMarker'](_0x398941,{'range':_0x4ec9d9,'usingOperation':!0x0}));}function Q(_0x57ef86){return'--ck-user-color:'+_0x57ef86['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x57ef86['color']['getColorAlphaVariable']()+';';}function X(_0x530142,_0x14f333,_0x2dae1f){const _0x36232a=_0x530142['t'],t=_0x530142['t'];switch(_0x14f333){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 _0x36232a({'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'},_0x2dae1f);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x55f077{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x56bfe2)());['_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,_0x1664fe,_0x2c4aec,_0x3aba24];}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 _0x387526=this['serverHistory']['getOperations']();for(let _0x13be41=_0x387526['length']-0x1;_0x13be41>=0x0;_0x13be41--){const _0x196c0f=_0x387526[_0x13be41];if(!this['_disconnectionOperations']['has'](_0x196c0f))return _0x196c0f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4b1491){if(super(_0x4b1491),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3b9cfe(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x247b99('collaboration-missing-channelid',this);const _0x10fd95=_0x4b1491['config']['get']('cloudServices.bundleVersion')||_0x43a572;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x10fd95,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x307d8e(),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 _0x3c5cb3=this['editor'],_0x52d793=_0x3c5cb3['plugins']['get'](_0x2c4aec),_0x5aa1c8=_0x3c5cb3['plugins']['get'](z);this['listenTo'](_0x52d793,'getOperationAuthor',(_0x356bd3,_0x3779e0)=>{const _0x338986=_0x3779e0[0x0];_0x338986['_authorId']&&(_0x356bd3['return']=_0x52d793['getUser'](_0x338986['_authorId']),_0x356bd3['stop']()),null===_0x338986['_authorId']&&(_0x356bd3['return']=null,_0x356bd3['stop']());},{'priority':'high'}),this['listenTo'](_0x3c5cb3['model']['document']['selection'],'change:range',(_0x56fda7,_0x1809a0)=>{_0x1809a0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3c5cb3['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3c5cb3['model']['on']('applyOperation',(_0x3afeec,_0x4e69e1)=>{const _0x27d9f1=_0x4e69e1[0x0];_0x27d9f1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x27d9f1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x5aa1c8,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x321a47,_0x5ba8d3,_0x26c543)=>'connected'===_0x321a47&&!_0x5ba8d3&&!_0x26c543),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3c5cb3['disableReadOnlyMode']('rtc-offline'):_0x3c5cb3['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3c5cb3['disableReadOnlyMode']('rtc-offline'):_0x3c5cb3['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x50b4cb=this['editor']['plugins']['get'](Y),_0x2457cb=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x50b4cb['unregister'](this['_channelId']);const _0x5039f5=await this['_service']['reconnect'](_0x2457cb['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5039f5)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x479ee9=await this['_service']['getConnectedSessions']();_0x50b4cb['register'](this['_channelId'],_0x479ee9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2340cb){if(function(_0x10813d){return'404'===_0x10813d['code'];}(_0x2340cb)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2ceccc){return'409'===_0x2ceccc['code'];}(_0x2340cb)){const _0x38c187=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'](_0x38c187);}else{if(!(_0x2340cb instanceof et))throw _0x2340cb;this['_handleReconnectionError']();}}}}['destroy'](){const _0x531712=this['editor']['plugins']['get'](z),_0x55a1e4=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x55a1e4['channelSessions']['has'](this['_channelId'])&&_0x55a1e4['unregister'](this['_channelId']),_0x531712['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x567414){if(this['sessionId']!==_0x567414['sessionId']&&this['_lastSyncedOperationId']!==_0x567414['lastOperationId'])throw new et();return this['sessionId']=_0x567414['sessionId'],this['_handleServerResponse']([],{..._0x567414,'wereChangesApplied':!0x1,'data':_0x567414['data']},'reconnect');}async['_connectService'](_0x14f28d,_0x438022=!0x1){const {connection:_0x392605}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x392605,this['_channelId'])['then'](_0x2dc7ba=>this['_initSessionsHandling'](_0x2dc7ba))['catch'](_0x4d995b=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4d995b);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x59bf40,_0x688884)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x688884);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x5efd14=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x14f28d);this['_isPendingUpdate']=!0x0;const _0x28d416=await this['_service']['connect'](_0x392605,this['_compressOperations'](_0x14f28d),_0x5efd14);if(this['sessionId']=_0x28d416['sessionId'],_0x438022){if(!_0x28d416['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x28d416['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x14f28d,_0x28d416,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x28d416,_0x14f28d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x13fc90=this['editor']['plugins']['get'](Y),_0x1b280d=this['editor']['plugins']['get'](K),_0x1cccec=_0x13fc90['channelSessions']['get'](this['_channelId']);_0x1cccec&&_0x1cccec['length']>0x1?_0x1b280d['createUserMarkerOperations']():this['listenTo'](_0x13fc90,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x13fc90['channelSessions']['get'](this['_channelId'])['length']&&_0x1b280d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x400c04,_0x34e242,_0x560ec2,_0x25b211){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x34e242){const _0x20a981=this['_decompressOperations'](_0x560ec2,_0x25b211);await this['_fetchMissingUsers'](_0x20a981),this['_handleExternalOperations'](_0x20a981,_0x34e242,_0x560ec2['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3a86e3}=this['editor'];let _0x53b307;try{_0x53b307=await this['_service']['getDocumentDetails']();}catch{const _0x42ca3f=X(_0x3a86e3,'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'](_0x42ca3f);}const _0x46b586=_0x53b307['currentDocumentSession']||_0x53b307['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x46b586['lastOperationId']){const _0x2e0879=X(_0x3a86e3,'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'](_0x2e0879);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x2ec208=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2ec208['connection']||'connected'!==_0x2ec208['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x27dbd3=this['editor']['plugins']['get'](Y);_0x27dbd3['channelSessions']['has'](this['_channelId'])&&_0x27dbd3['unregister'](this['_channelId']),_0x2ec208['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x26803f){const _0x5763a5=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5763a5,'sessionAdd:'+this['_channelId'],(_0x4199be,{session:_0x3fb7b3})=>{if(_0x3fb7b3['id']===_0x5763a5['mySessionId']){_0x4199be['off']();const _0x52c1d8=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x16075a=_0x3fb7b3['permissions'];_0x52c1d8&&_0x52c1d8['isEnabled']&&(_0x16075a=_0x16075a['filter'](_0x37c924=>'document:write'!==_0x37c924)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x16075a,this['_channelId']);}}),_0x5763a5['register'](this['_channelId'],_0x26803f);}['_initThrowingOnDataSet'](){const _0x8a206e=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x56eae2)=>{if(!_0x56eae2[_0x56eae2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x247b99('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x8a206e['apply'](this['editor']['data'],_0x56eae2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2d56a8,[_0x4236b7])=>{if(this['_document']['version'])throw new _0x247b99('realtimecollaborationclient-init-document-already-initialized',this);_0x2d56a8['stop'](),this['_setPendingAction']();const _0x490ac4=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0xc55c06])=>!_0xc55c06['lazyLoad'])['map'](([_0x216b84,_0x332897])=>[_0x216b84,_0x332897['modelAttributes']||{}])),_0xf8fc1f=this['_getOperationsFromInitData'](_0x4236b7,_0x490ac4);0x0==_0xf8fc1f['length']&&_0xf8fc1f['push'](new _0x506b04(0x0)),_0x2d56a8['return']=this['_connectService'](_0xf8fc1f)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5e2d7b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5e2d7b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x91c735,[_0x2942ae,_0x3a98c4])=>{_0x91c735['stop']();const _0x2f3e19=this['editor']['model']['document']['getRoot'](_0x2942ae);if(!this['_knownRootNames']['has'](_0x2942ae)){const _0x3c72ea=_0x3a98c4&&_0x3a98c4['data']?_0x3a98c4['data']:'',_0x4bd1b3=_0x3a98c4&&_0x3a98c4['attributes']?_0x3a98c4['attributes']:{};await this['_loadRoot'](_0x2942ae,_0x3c72ea,_0x4bd1b3);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2f3e19['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2f3e19);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x35894e){const _0x488497=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x30453a}=this['editor']['plugins']['get'](z),_0x3827f2=new Set();for(const _0x3f66b6 of _0x35894e){const _0x2055ee=_0x3f66b6['_authorId'];_0x2055ee&&!_0x488497['getUser'](_0x2055ee)&&_0x3827f2['add'](_0x2055ee);}if(0x0===_0x3827f2['size'])return;const _0x450b4e=await _0x3fdc75['getMany'](_0x30453a,Array['from'](_0x3827f2));for(const _0x34fcde of _0x450b4e)_0x488497['getUser'](_0x34fcde['id'])||_0x488497['addUser'](_0x34fcde);}['_getOperationsFromInitData'](_0x4a40af,_0x333075={}){const _0x2d761d=this['editor']['model'],_0x32d939=[];let _0x2a4550=0x0;const _0x11d752='string'==typeof _0x4a40af?{'main':_0x4a40af}:_0x4a40af;for(const _0x4d3bab of Object['keys'](_0x11d752)){if(!this['_document']['roots']['has'](_0x4d3bab))throw new _0x247b99('realtimecollaborationclient-init-non-existent-root',this);const _0xaa7742=this['_document']['getRoot'](_0x4d3bab),_0x70c5a3=this['editor']['data']['parse'](_0x11d752[_0x4d3bab],_0xaa7742),_0x3051bb=new _0x1e623b(_0x2d761d['createPositionAt'](_0xaa7742,0x0),_0x70c5a3,_0x2a4550++);_0x32d939['push'](_0x3051bb);for(const [_0x2a4f1c,_0x4a1444]of _0x70c5a3['markers']){const _0x5d040d=new _0x2b7f21(_0x2a4f1c,null,_0x2d761d['createRange'](_0x2d761d['createPositionFromPath'](_0xaa7742,_0x4a1444['start']['path']['slice']()),_0x2d761d['createPositionFromPath'](_0xaa7742,_0x4a1444['end']['path']['slice']())),_0x2d761d['markers'],!0x0,_0x2a4550++);_0x32d939['push'](_0x5d040d);}}if(_0x333075)for(const [_0x10f51f,_0x3d9780]of Object['entries'](_0x333075)){const _0xae09d3=_0x2d761d['document']['getRoot'](_0x10f51f);if(!_0xae09d3)throw new _0x247b99('multi-root-editor-root-attributes-no-root',null);for(const [_0x401ed6,_0x2ae0f3]of Object['entries'](_0x3d9780))if(null!==_0x2ae0f3){const _0x523524=new _0x530ebb(_0xae09d3,_0x401ed6,null,_0x2ae0f3,_0x2a4550++);_0x32d939['push'](_0x523524);}}return _0x32d939;}async['_loadRoot'](_0x25fa80,_0x3e2359,_0x2f8abc){this['_getOperationsFromInitData']({[_0x25fa80]:_0x3e2359},{[_0x25fa80]:_0x2f8abc})['forEach']((_0x2a5ae9,_0x1468b1)=>{_0x2a5ae9['baseVersion']=this['_document']['version']+_0x1468b1,_0x2a5ae9['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2a5ae9);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2e9ada,_0xedc5b2){let _0x158834;this['_offset']=_0x2e9ada['offset'];const _0x512f13=_0x2e9ada['wereChangesApplied']&&!_0x2e9ada['initData'],_0x5b59a0=_0x512f13?0x0:_0x2e9ada['data']['baseVersion'];if(_0xedc5b2['forEach'](_0x476687=>{_0x476687['_isInit']=!0x0,_0x476687['createdAt']=_0x2e9ada['sessionCreatedAt'],_0x476687['_authorId']=null;}),_0x512f13)_0x158834=_0xedc5b2,this['_applyOperationsSet'](_0x158834,_0x512f13);else{if(_0x2e9ada['initData']){const _0x9724a9=this['_getOperationsFromInitData'](_0x2e9ada['initData']);this['_document']['history']['version']=-_0x9724a9['length'],_0x9724a9['forEach'](_0x45aefa=>{_0x45aefa['baseVersion']-=_0x9724a9['length'],_0x45aefa['createdAt']=_0x2e9ada['sessionCreatedAt'],_0x45aefa['_isInit']=!0x0,_0x45aefa['_authorId']=null;}),this['_applyOperationsSet'](_0x9724a9,!0x0),this['serverHistory']['version']=-_0x9724a9['length']+this['_offset'],this['_updateServerHistory'](_0x9724a9);}this['_document']['history']['version']=_0x5b59a0,_0x158834=this['_decompressOperations'](_0x2e9ada['data'],_0x2e9ada['metadata']),await this['_fetchMissingUsers'](_0x158834),this['_applyOperationsSet'](_0x158834,_0x512f13);}_0x2e9ada['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x158834,_0x2e9ada['lastOperationId']),this['_lastSyncedOperationId']=_0x2e9ada['lastOperationId']),this['serverHistory']['version']=_0x5b59a0+this['_offset'],this['_updateServerHistory'](_0x158834),_0xedc5b2['filter'](_0x175ba6=>{const _0x37a466=this['_getAffectedRoot'](_0x175ba6);return _0x37a466&&!this['_knownRootNames']['has'](_0x37a466);})['forEach']((_0xd4502f,_0x3d59b7)=>{_0xd4502f['baseVersion']=this['_document']['version']+_0x3d59b7,this['_saveOperationInBuffer'](_0xd4502f);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x5c81ab,_0x1d1420){const _0xc25ef2=_0x1d1420&&_0x1d1420['message'];if(_0xc25ef2&&_0xc25ef2['startsWith']('realtimecollaborationclient'))throw _0x1d1420;const _0x2f5495=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2f5495['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x247b99(_0x5c81ab,this['editor'],_0xc25ef2?{'originalError':_0xc25ef2}:void 0x0);}['_saveOperationInBuffer'](_0x56b497){this['_knownOperations']['has'](_0x56b497)||(this['_knownOperations']['add'](_0x56b497),this['_bufferedOperations']['push'](_0x56b497),this['_pendingAction']||'marker'==_0x56b497['type']&&!_0x56b497['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xc23f51=!0x1){!_0xc23f51&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3ec373=>{_0x3ec373&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x706406=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xdfbea4){return _0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x706406)||this['_crash'](_0x706406['message'],_0x706406);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x28d860=>{this['on']('change:_isPendingUpdate',()=>{_0x28d860();});});}async['_sendBufferedOperations'](){const _0x1c5b98=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x1c5b98['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1c8329=[...this['_bufferedOperations']];for(const _0x25a654 of _0x1c8329)_0x25a654['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x25a654);const _0x244535=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1c8329),_0x55ecab=Z++,_0x5d4f3a=this['_compressOperations'](_0x1c8329),_0x394096=await this['_service']['sendOperations'](_0x5d4f3a,_0x5d4f3a['baseVersion'],_0x244535);try{return await this['_handleServerResponse'](_0x1c8329,_0x394096,_0x55ecab);}catch(_0x18aea2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x18aea2);}}async['_handleServerResponse'](_0x45dc36,_0x2bdbcf,_0x3b69d2){if('error'in _0x2bdbcf)throw _0x2bdbcf['error'];let _0x588830=!0x1;if(_0x2bdbcf['wereChangesApplied']){_0x2bdbcf['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2bdbcf['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x41a16b=>!_0x45dc36['includes'](_0x41a16b));for(const _0x5be202 of _0x45dc36)_0x5be202['createdAt']='lastOperationAcceptedAt'in _0x2bdbcf&&_0x2bdbcf['lastOperationAcceptedAt']||void 0x0;st(_0x45dc36,_0x2bdbcf['version']-_0x45dc36['length']),this['_updateServerHistory'](_0x45dc36);const _0x2f4594=_0x45dc36['filter'](_0x267ba6=>{if(!_0x267ba6['_isInit'])return!0x1;const _0x42f205=this['_getAffectedRoot'](_0x267ba6);return _0x42f205&&!this['_knownRootNames']['has'](_0x42f205);});st(_0x2f4594,this['_document']['version']),this['_applyOperationsSet'](_0x2f4594),_0x588830=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x10bf07=this['_decompressOperations'](_0x2bdbcf['data'],_0x2bdbcf['metadata'])['filter'](_0xa1aea7=>_0xa1aea7['baseVersion']>=this['_lastServerVersion']);_0x10bf07['forEach'](_0x62ae8a=>this['_addKnownRoot'](_0x62ae8a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2b3ff9=>!_0x2b3ff9['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2b3ff9))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x10bf07),_0x588830=this['_handleExternalOperations'](_0x10bf07,_0x2bdbcf['version'],_0x2bdbcf['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x588830?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x298af5,_0xd6c1f7,_0xd1ad45){try{const _0x21fdf8={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x231e74,operationsB:_0x5e985c,originalOperations:_0x9e2da9}=_0x367266(_0x298af5,this['_bufferedOperations'],_0x21fdf8);st(_0x231e74,this['_document']['version']),st(_0x5e985c,_0xd6c1f7);for(const _0x36abc5 of _0x231e74){const _0x22137b=_0x9e2da9['get'](_0x36abc5);_0x22137b?(_0x36abc5['_authorId']=_0x22137b['_authorId'],'noop'!==_0x36abc5['type']&&(_0x36abc5['_aiSource']=_0x22137b['_aiSource'])):_0x36abc5['_authorId']=null;}for(const _0x9a9ddf of _0x5e985c)'noop'!==_0x9a9ddf['type']&&(_0x9a9ddf['_aiSource']=_0x9e2da9['get'](_0x9a9ddf)?.['_aiSource']);_0xd1ad45&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x298af5,_0xd1ad45),this['_lastSyncedOperationId']=_0xd1ad45),this['_bufferedOperations']=[..._0x5e985c],this['_applyOperationsSet'](_0x231e74),this['_updateServerHistory'](_0x298af5);}catch(_0x57389b){return console['error'](_0x57389b),!0x1;}return!0x0;}['_applyOperationsSet'](_0x54390a,_0x373260=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1cb66a=>{for(const _0x33f6de of _0x54390a)this['_knownOperations']['add'](_0x33f6de),this['_addKnownRoot'](_0x33f6de),_0x1cb66a['batch']['addOperation'](_0x33f6de),this['editor']['model']['applyOperation'](_0x33f6de);});}['_addKnownRoot'](_0x4b3a5c){const _0x4c936c=this['_getAffectedRoot'](_0x4b3a5c);_0x4c936c&&this['_knownRootNames']['add'](_0x4c936c);}['_getAffectedRoot'](_0x28542c){let _0x129d2f,_0x5e5c7a;switch(_0x28542c['type']){case'insert':_0x129d2f=_0x28542c['position']['root'];break;case'marker':if(_0x5e5c7a=_0x28542c['newRange'],!_0x5e5c7a)return null;_0x129d2f=_0x5e5c7a['root'];break;case'addRootAttribute':_0x129d2f=_0x28542c['root'];break;case'addRoot':_0x129d2f=_0x28542c['affectedSelectable'];break;case'move':_0x129d2f=_0x28542c['targetPosition']['root'];break;default:return null;}return _0x129d2f['rootName'];}['_updateServerHistory'](_0x53dede){_0x53dede['forEach'](_0x5d4c4a=>{const _0x5ddaf6=_0x5d4c4a['clone']();_0x5ddaf6['_authorId']=_0x5d4c4a['_authorId'],_0x5ddaf6['_isInit']=!!_0x5d4c4a['_isInit'],_0x5ddaf6['_aiSource']=_0x5d4c4a['_aiSource'],_0x5ddaf6['createdAt']=_0x5d4c4a['createdAt'],_0x5ddaf6['baseVersion']+=this['_offset'],_0x5d4c4a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5ddaf6),this['serverHistory']['addOperation'](_0x5ddaf6);});}['_handleReconnectionError'](_0x35d979){const _0x4ca5fb=this['editor']['plugins']['get']('Notification'),_0x289024=this['editor']['locale'];_0x35d979||(_0x35d979=X(_0x289024,'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.')),_0x4ca5fb['showWarning'](_0x35d979,{'title':X(_0x289024,'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'](_0x1664fe)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1664fe)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x242e60){const _0x5719f3=_0x242e60['map'](_0x4dd81c=>_0x4dd81c['toJSON']());return this['_compressor']['compress'](_0x5719f3);}['_decompressOperations'](_0x4089eb,_0x4c7799){return this['_compressor']['decompress'](_0x4089eb)['map']((_0x2be7dc,_0x577ab3)=>{const _0x530401='init'==_0x4c7799[_0x577ab3]['type'];if('InsertOperation'==_0x2be7dc['__className']){const _0x166bea=_0x2be7dc['position']['root'];!this['_document']['getRoot'](_0x166bea)&&(this['_document']['createRoot']('$unknown',_0x166bea)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2be7dc['__className']){const _0x315d3c=this['_document']['getRoot'](_0x2be7dc['rootName']);_0x315d3c&&'$unknown'==_0x315d3c['name']&&_0x2be7dc['elementName']!=_0x315d3c['name']&&(_0x315d3c['name']=_0x2be7dc['elementName']);}}const _0x21eddb=_0x23d9fa['fromJSON'](_0x2be7dc,this['_document']);return _0x21eddb['wasUndone']=_0x2be7dc['wasUndone'],_0x21eddb['_isInit']=_0x530401,_0x21eddb['_authorId']=_0x530401?null:_0x4c7799[_0x577ab3]['userId'],_0x21eddb['_isDisconnection']='cs:removeUser'===_0x4c7799[_0x577ab3]['type'],_0x21eddb['_aiSource']=_0x2be7dc['_aiSource']||void 0x0,_0x21eddb['createdAt']=_0x4c7799[_0x577ab3]['createdAt'],_0x21eddb;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xeb95f8=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xeb95f8&&_0xeb95f8['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x4fbf92,_0x2dc436){for(const _0x5e237b of _0x4fbf92)_0x5e237b['baseVersion']=_0x2dc436++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x7bbafd){this['_ignoredOperations']=_0x7bbafd,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2e1231){let _0x44bb60=_0x2e1231['length'];for(;_0x44bb60--;){const _0x5ae877=_0x2e1231[_0x44bb60];if(!this['_ignoredOperations']['has'](_0x5ae877)){if(!this['_operationToId']['has'](_0x5ae877)){const _0x617309=_0x15a4eb()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5ae877,_0x617309);}return this['_operationToId']['get'](_0x5ae877);}}}['setIdForTheLastOperation'](_0x562749,_0x4ab16c){if(!_0x4ab16c)return;let _0x5dd3df=_0x562749['length'];for(;_0x5dd3df--;){const _0xb43b6a=_0x562749[_0x5dd3df];this['_ignoredOperations']['has'](_0xb43b6a)||this['_operationToId']['set'](_0xb43b6a,_0x4ab16c);}}},nt=class extends _0x55f077{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x198b15{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x25de81)());['_services'];static get['requires'](){return[z,_0x557678,Y,_0x2c4aec];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34e927){super(_0x34e927),this['_services']=new Map();}async['init'](){const _0x2cd89c=this['context'],_0x5552d6=_0x2cd89c['plugins']['get'](_0x557678);if(_0x2cd89c['plugins']['get'](z)['addToReconnectionStack'](this),_0x5552d6['adapter']={'addCommentThread':async({channelId:_0x6c9aef,threadId:_0x52fa28,comments:_0x33b9ca,resolvedAt:_0x2f96f3,resolvedBy:_0x5a4a7a,context:_0x54a51c,attributes:_0x3dae32})=>{const _0x43be02=await this['_getService'](_0x6c9aef)['addCommentThread']({'commentThreadId':_0x52fa28,'comments':_0x33b9ca['map'](_0x4413f7=>function(_0x33aeaf,_0x4e7cbf,_0x3b4bf1){return{'commentThreadId':_0x3b4bf1,'commentId':_0x33aeaf['commentId'],'userId':_0x33aeaf['authorId'],'content':_0x33aeaf['content'],'documentId':_0x4e7cbf,'createdAt':_0x33aeaf['createdAt'],'attributes':_0x33aeaf['attributes']||{}};}(_0x4413f7,_0x6c9aef,_0x52fa28)),'resolvedAt':_0x2f96f3,'resolvedBy':_0x5a4a7a,'context':_0x54a51c,'attributes':_0x3dae32})['catch'](ct);return{'threadId':_0x43be02['commentThreadId'],'comments':_0x43be02['comments']};},'getCommentThread':async({channelId:_0x3fe202,threadId:_0x2c314a})=>{const _0x883a6d=await this['_getService'](_0x3fe202)['getCommentThread'](_0x2c314a)['catch'](rt)['catch'](ct);return _0x883a6d?_0x883a6d['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x883a6d]),{'threadId':_0x883a6d['commentThreadId'],'comments':_0x883a6d['comments']['map'](at),'context':_0x883a6d['context'],'resolvedAt':_0x883a6d['resolvedAt'],'resolvedBy':_0x883a6d['resolvedBy'],'attributes':_0x883a6d['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3a5f11,threadId:_0x1be783,context:_0x3d184d,unlinkedAt:_0xfa1fd5,attributes:_0x3d7f83})=>this['_getService'](_0x3a5f11)['updateCommentThread']({'commentThreadId':_0x1be783,'context':_0x3d184d,'attributes':_0x3d7f83,'unlinkedAt':_0xfa1fd5})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x7d678f,threadId:_0x539e39})=>{const _0x29f816=await this['_getService'](_0x7d678f)['resolveCommentThread'](_0x539e39)['catch'](rt)['catch'](ct);return{'threadId':_0x29f816['commentThreadId'],'resolvedAt':_0x29f816['resolvedAt'],'resolvedBy':_0x29f816['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5abbd8,threadId:_0x5ef77a})=>this['_getService'](_0x5abbd8)['reopenCommentThread'](_0x5ef77a)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x49b1dd,threadId:_0x5287a5})=>this['_getService'](_0x49b1dd)['removeCommentThread'](_0x5287a5)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x165e86,threadId:_0x1eee2f,commentId:_0x55d6e3,content:_0x3cd5d1,attributes:_0x190a1f})=>this['_getService'](_0x165e86)['addComment'](_0x1eee2f,_0x55d6e3,_0x3cd5d1,_0x190a1f)['catch'](ct),'updateComment':({channelId:_0x30c918,threadId:_0x194cda,commentId:_0x4d571a,content:_0x544aa9,attributes:_0x58c59a})=>this['_getService'](_0x30c918)['updateComment'](_0x194cda,_0x4d571a,_0x544aa9,_0x58c59a)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1eb93d,threadId:_0x4c8602,commentId:_0x2b3336})=>this['_getService'](_0x1eb93d)['removeComment'](_0x4c8602,_0x2b3336)['catch'](rt)['catch'](ct)},_0x2cd89c instanceof _0x2d03f6){const _0x29a1fe=_0x2cd89c['config']['get']('collaboration.channelId'),_0x4a1c7e=_0x2cd89c['plugins']['get'](Y);await this['_setUpService'](_0x29a1fe);const _0x2835f7=await this['_services']['get'](_0x29a1fe)['getConnectedSessions']();this['listenTo'](_0x4a1c7e,'sessionAdd:'+_0x29a1fe,(_0x12fc3f,{session:_0x59fd67})=>{_0x59fd67['id']===_0x4a1c7e['mySessionId']&&(_0x12fc3f['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x59fd67['permissions'],_0x29a1fe));}),_0x4a1c7e['register'](_0x29a1fe,_0x2835f7);}}async['_setUpService'](_0x8f005f){if(this['_services']['has'](_0x8f005f))throw new _0x247b99('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x8f005f});const _0x4bf8b6=this['context']['plugins']['get'](_0x557678),_0x13a3d1=new CloudServicesCommentsAdapter['CommentsService'](_0x8f005f);this['_services']['set'](_0x8f005f,_0x13a3d1),this['listenTo'](_0x13a3d1,'commentThreadAdded',(_0x44e6d2,_0xed9b7d)=>{const {commentThreadId:_0x386a52,documentId:_0x7f706d,context:_0x28f5c5,attributes:_0x382979,resolvedAt:_0x2588f2,resolvedBy:_0x1ca9cb,comments:_0x485c88}=_0xed9b7d;_0x4bf8b6['getCommentThread'](_0x386a52)||_0x4bf8b6['addCommentThread']({'threadId':_0x386a52,'channelId':_0x7f706d,'comments':_0x485c88?_0x485c88['map'](at):[],'context':_0x28f5c5,'attributes':_0x382979,'resolvedAt':_0x2588f2,'resolvedBy':_0x1ca9cb,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadUpdated',(_0x50b3a4,{commentThreadId:_0x23261e,documentId:_0x3d44f8,context:_0x5bb447,unlinkedAt:_0x172f80,attributes:_0x2d078a})=>{_0x4bf8b6['getCommentThread'](_0x23261e)&&_0x4bf8b6['updateCommentThread']({'threadId':_0x23261e,'channelId':_0x3d44f8,'context':_0x5bb447,'unlinkedAt':_0x172f80,'attributes':_0x2d078a,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadResolved',(_0x5c681c,{commentThreadId:_0x20afdc,resolvedBy:_0x42a1b6,resolvedAt:_0x58f8f6})=>{const _0x1f928a=_0x4bf8b6['getCommentThread'](_0x20afdc);_0x1f928a&&_0x1f928a['resolve']({'resolvedBy':_0x42a1b6,'resolvedAt':_0x58f8f6,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadReopened',(_0x3765a3,{commentThreadId:_0x41b3fb})=>{const _0x1bfbf7=_0x4bf8b6['getCommentThread'](_0x41b3fb);_0x1bfbf7&&_0x1bfbf7['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadRemoved',(_0x4747cc,{commentThreadId:_0x331948})=>{const _0x13ef75=_0x4bf8b6['getCommentThread'](_0x331948);_0x13ef75&&_0x13ef75['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentAdded',(_0x23ef4a,_0x159ab6)=>{const _0x4f0376=_0x159ab6['commentThreadId'],_0x47a075=_0x4bf8b6['getCommentThread'](_0x4f0376);_0x47a075&&_0x47a075['addComment']({...at(_0x159ab6),'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentUpdated',(_0x566b14,{commentThreadId:_0x5f373b,commentId:_0x15ff3f,content:_0x55acce,attributes:_0x405616})=>{const _0x217106=_0x4bf8b6['getCommentThread'](_0x5f373b);if(_0x217106){const _0x278bda=_0x217106['getComment'](_0x15ff3f);_0x278bda&&_0x278bda['update']({'content':_0x55acce,'attributes':_0x405616,'isFromAdapter':!0x0});}}),this['listenTo'](_0x13a3d1,'commentRemoved',(_0x470556,{commentThreadId:_0x106bb3,commentId:_0x49f979})=>{const _0x505501=_0x4bf8b6['getCommentThread'](_0x106bb3);if(_0x505501){const _0x4d839=_0x505501['getComment'](_0x49f979);_0x4d839&&_0x4d839['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x13a3d1,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x8f005f),this['stopListening'](_0x13a3d1));}),await this['_connectService'](_0x8f005f);}['destroy'](){if(this['context']instanceof _0x2d03f6){const _0x56a093=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x56a093)&&this['_terminateService'](_0x56a093);}}['_terminateService'](_0x70a3c2){if(!this['_services']['has'](_0x70a3c2))throw new _0x247b99('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x70a3c2});this['_getService'](_0x70a3c2)['disconnect'](),this['_services']['delete'](_0x70a3c2);}async['reconnect'](){for(const _0x132d97 of this['_services']['keys']())await this['_connectService'](_0x132d97);if(this['context']instanceof _0x2d03f6){const _0x3fd398=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x3fd398)){const _0xcc7b3b=this['context']['plugins']['get'](Y);_0xcc7b3b['unregister'](_0x3fd398);const _0x346a24=await this['_services']['get'](_0x3fd398)['getConnectedSessions']();_0xcc7b3b['register'](_0x3fd398,_0x346a24);}}}async['_connectService'](_0x55859a){const {connection:_0x472666}=this['context']['plugins']['get'](z),_0x4572df=this['context']['plugins']['get'](_0x557678),_0x969630=await this['_services']['get'](_0x55859a)['connect'](_0x472666);await this['_fetchMissingUsersForThreads'](_0x969630);const _0x410287=new Set(Array['from'](_0x4572df['getCommentThreads']({'channelId':_0x55859a}),_0x267e47=>_0x267e47['id']));for(const _0x24a96c of _0x969630)_0x24a96c['deletedAt']||_0x410287['delete'](_0x24a96c['commentThreadId']);for(const _0x392f6f of _0x410287)_0x4572df['getCommentThread'](_0x392f6f)['remove']({'isFromAdapter':!0x0});for(const _0x287b5b of _0x969630){let _0x239647=_0x4572df['getCommentThread'](_0x287b5b['commentThreadId']);const {commentThreadId:_0x5b8ba6,context:_0xe8d3f8,attributes:_0x4a7983,resolvedBy:_0x118294,resolvedAt:_0xa756cc,unlinkedAt:_0x37e958,deletedAt:_0x46bf2a}=_0x287b5b;if(_0x46bf2a)continue;_0x239647||(_0x239647=_0x4572df['addCommentThread']({'channelId':_0x55859a,'threadId':_0x5b8ba6,'context':_0xe8d3f8,'attributes':_0x4a7983||{},'resolvedBy':_0x118294,'resolvedAt':_0xa756cc,'unlinkedAt':_0x37e958,'isFromAdapter':!0x0}));const _0x56d674=new Set(Array['from'](_0x239647['comments'],_0x5813d6=>_0x5813d6['id']));for(const _0x4c1423 of _0x287b5b['comments'])_0x56d674['delete'](_0x4c1423['commentId']);for(const _0x2f1ea6 of _0x56d674)_0x239647['getComment'](_0x2f1ea6)['remove']({'isFromAdapter':!0x0});for(const _0x4c2cc6 of _0x287b5b['comments']){const _0x1aa4fc=_0x239647['getComment'](_0x4c2cc6['commentId']);_0x1aa4fc?_0x1aa4fc['content']!==_0x4c2cc6['content']&&_0x1aa4fc['update']({'content':_0x4c2cc6['content'],'isFromAdapter':!0x0}):_0x239647['addComment'](Object['assign'](at(_0x4c2cc6),{'isFromAdapter':!0x0}));}}}['_getService'](_0x16810e){if(!this['_services']['has'](_0x16810e))throw new _0x247b99('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x16810e});return this['_services']['get'](_0x16810e);}async['_fetchMissingUsersForThreads'](_0x2b0d87){const _0x12ec39=this['context']['plugins']['get'](_0x2c4aec),{connection:_0x19e680}=this['context']['plugins']['get'](z),_0x52a07c=new Set();for(const {resolvedBy:_0x3facdf,comments:_0x8ac57}of _0x2b0d87){_0x3facdf&&!_0x12ec39['getUser'](_0x3facdf)&&_0x52a07c['add'](_0x3facdf);for(const {userId:_0x5a6347}of _0x8ac57)_0x12ec39['getUser'](_0x5a6347)||_0x52a07c['add'](_0x5a6347);}if(0x0===_0x52a07c['size'])return;const _0x3b0a82=await _0x3fdc75['getMany'](_0x19e680,Array['from'](_0x52a07c));for(const _0x841fcc of _0x3b0a82)_0x12ec39['getUser'](_0x841fcc['id'])||_0x12ec39['addUser'](_0x841fcc);}};async function rt(_0x5a415f){if('404'!==_0x5a415f['code'])throw _0x5a415f;}function ct(_0x1b6f6a){if((_0x248f2a=_0x1b6f6a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x248f2a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x248f2a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x248f2a;throw _0x1b6f6a;}function at(_0x1f360a){return{'threadId':_0x1f360a['commentThreadId'],'commentId':_0x1f360a['commentId'],'content':_0x1f360a['content'],'createdAt':_0x1f360a['createdAt'],'authorId':_0x1f360a['userId'],'attributes':_0x1f360a['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x55f077{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x504e78)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x21a4e2,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ec783){super(_0x2ec783);const _0x531c23=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x531c23);}['init'](){const _0x135a7b=this['editor']['plugins']['get'](z),_0x5dd975=this['editor']['plugins']['get'](_0x21a4e2);return _0x5dd975['adapter']={'getSuggestion':async _0x41d7df=>{await this['_waitForServiceReady']();const _0x3a1289=await this['_trackChangesService']['get'](_0x41d7df)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3a1289]),_0x3a1289;},'addSuggestion':async({id:_0x14bdf2,type:_0x2efff9,data:_0x4d15e1,originalSuggestionId:_0x2e3447,attributes:_0x52eb80})=>{await this['_waitForServiceReady']();const _0xc67497={'id':_0x14bdf2,'type':_0x2efff9,'data':_0x4d15e1,'originalSuggestionId':_0x2e3447,'attributes':_0x52eb80},_0x25525f=await this['_trackChangesService']['add'](_0x14bdf2,_0x2efff9,_0x4d15e1,_0x2e3447,_0x52eb80)['catch'](_0x2780d0=>{if(dt(_0x2780d0))return new Promise(_0x4eb60d=>{this['_bufferedRequests']['set'](_0x14bdf2,{'resolve':_0x4eb60d,'suggestionData':_0xc67497});});throw _0x2780d0;});return this['_bufferedRequests']['delete'](_0x14bdf2),_0x25525f;},'updateSuggestion':async(_0x38ffff,_0x31c62c)=>{if(await this['_waitForServiceReady'](),'open'!==_0x31c62c['state'])return this['_trackChangesService']['update'](_0x38ffff,_0x31c62c)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3ecf9f,_0x51e1f5)=>{_0x5dd975['hasSuggestion'](_0x51e1f5['id'])&&(_0x5dd975['getSuggestion'](_0x51e1f5['id'])['attributes']=_0x51e1f5['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x135a7b['connection']?.['state']&&(_0x135a7b['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x135a7b['connection'])['then'](_0x1485b3=>(_0x135a7b['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1485b3)['then'](()=>{for(const _0x41bfb7 of _0x1485b3){_0x5dd975['addSuggestionData'](_0x41bfb7)['_saved']=!0x0;}})));}async['reconnect'](){const _0x51f27d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5c438e}=this['editor']['plugins']['get'](z),_0x18effc=await this['_trackChangesService']['connect'](_0x5c438e);await this['_fetchMissingUsersForThreads'](_0x18effc);for(const {suggestionData:_0x453ad6,resolve:_0x56022f}of this['_bufferedRequests']['values']()){let _0x2fb0c4=_0x18effc['find'](_0x4e1ae3=>_0x4e1ae3['id']===_0x453ad6['id']);_0x2fb0c4||(_0x2fb0c4=await this['_trackChangesService']['add'](_0x453ad6['id'],_0x453ad6['type'],_0x453ad6['data'],_0x453ad6['originalSuggestionId'])),_0x56022f(_0x2fb0c4);}for(const _0x37472c of _0x18effc)_0x51f27d['hasSuggestion'](_0x37472c['id'])||_0x51f27d['addSuggestionData'](_0x37472c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x52e74a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x48988c=>{_0x48988c['off'](),_0x52e74a();});});}async['_fetchMissingUsersForThreads'](_0x329601){const _0x193267=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x47c624}=this['editor']['plugins']['get'](z),_0x337153=new Set();for(const {authorId:_0x453282}of _0x329601)_0x193267['getUser'](_0x453282)||_0x337153['add'](_0x453282);if(0x0===_0x337153['size'])return;const _0x24076e=await _0x3fdc75['getMany'](_0x47c624,Array['from'](_0x337153));for(const _0x3cedb4 of _0x24076e)_0x193267['getUser'](_0x3cedb4['id'])||_0x193267['addUser'](_0x3cedb4);}};function lt(_0x453709){if(dt(_0x453709))return new Promise(()=>{});throw _0x453709;}function dt(_0x27c288){return _0x27c288['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x27c288['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x55f077{static get['requires'](){return[_0x5ddb33,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5bb531=this['editor']['plugins']['get'](z),_0x224ccb=this['editor']['plugins']['get'](_0x4a2cc1),_0x2c6388=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5bb531,'change:state',(_0x514770,_0x5c89f2,_0x3f791e)=>{_0x224ccb['isThreadsLoadingPaused']='connected'!==_0x3f791e;});}),this['listenTo'](_0x5bb531,'change:state',(_0x48ce1e,_0x1d019b,_0x1d6ae5)=>{this['editor']['plugins']['get'](_0x557678)['switchReadOnly']('connected'!==_0x1d6ae5);}),_0x2c6388['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x3ac3d7=this['editor']['plugins']['get'](ot),_0x3550a5=this['editor']['config']['get']('collaboration.channelId');_0x3ac3d7['_services']['has'](_0x3550a5)&&_0x3ac3d7['_terminateService'](_0x3550a5),super['destroy']();}},ft=class extends _0x55f077{static get['requires'](){return[ut,ht,_0x348130];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x55f077{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0xb0619e)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x278f20,Y,_0x2c4aec];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x580f3b){super(_0x580f3b);const _0x3ca96d=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x3ca96d);}async['init'](){const _0x427bd4=this['editor']['plugins']['get'](tt),_0x225fdc=_0x427bd4['serverHistory'],_0x40cfd1=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x225fdc,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x427bd4['sessionId']});const _0x31dd9b=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x43a572,_0x5330e5=await _0x5e4875['isBundleUploaded'](_0x40cfd1['connection'],_0x31dd9b);this['editor']['plugins']['get'](_0x278f20)['adapter']={'getRevision':async({revisionId:_0x23fb1b})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x23fb1b)),'updateRevisions':async _0x34fcca=>{await this['_waitForServiceReady']();const _0x501381=this['_revisionTracker']['currentRevision'];if(_0x5330e5&&0x1===_0x34fcca['length']&&_0x34fcca[0x0]['id']===_0x501381['id'])return _0x34fcca;for(const _0x26df55 of _0x34fcca)_0x26df55['id']===_0x501381['id']&&(_0x26df55['isEmptyCurrent']=_0x26df55['fromVersion']===_0x26df55['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x34fcca,this['_lastRequestId'])['then'](_0xec9d6=>(this['_lastRequestId']=_0xec9d6,_0x34fcca))['catch'](_0x1f8f75=>{if(pt(_0x1f8f75)||'400'===_0x1f8f75['code']&&void 0x0!==_0x1f8f75['data']['wrongRequestId']){for(const _0x5c9c4c of _0x34fcca)this['_revisionTracker']['repository']['getRevision'](_0x5c9c4c['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x5c9c4c['id'],_0x5c9c4c,!0x1);if(pt(_0x1f8f75)&&'destroyed'!==this['editor']['state'])throw _0x1f8f75;return _0x34fcca;}throw _0x1f8f75;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x15e5ee,{revisionsData:_0x3b4cd4,requestId:_0x281f84})=>{Math['max'](..._0x3b4cd4['map'](_0x1778b6=>_0x1778b6['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b4cd4,_0x281f84);}):this['_handleRevisionsUpdate'](_0x3b4cd4,_0x281f84);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x40cfd1['connection']?.['state']&&(_0x40cfd1['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x11ae08,requestId:_0x1171ce}=await this['_revisionHistoryService']['connect'](_0x40cfd1['connection']);_0x40cfd1['addToReconnectionStack'](this),this['_lastRequestId']=_0x1171ce,await this['_fetchMissingUsers'](_0x11ae08);for(const _0xab94f0 of _0x11ae08)this['_revisionTracker']['addRevisionData'](_0xab94f0);this['listenTo'](_0x427bd4,'change:_isConnected',(_0x18647a,_0x248343,_0x2fdcd5)=>{_0x2fdcd5&&(this['_oldOffset']=_0x427bd4['_offset'],_0x18647a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0xeed547=this['editor']['plugins']['get'](z),_0x56d047=this['editor']['plugins']['get'](tt),_0x215aa0=async()=>{const _0x3eac47=this['_revisionTracker']['currentRevision'],_0x1f26c7=_0x3eac47['id'],_0x5cd889=_0x1f26c7!==_0x56d047['sessionId'];if(_0x5cd889){const _0x42443f=_0x56d047['_offset']-this['_oldOffset'],_0x3f7e9e=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x3eac47['toVersion']+_0x42443f!==_0x3f7e9e){const _0x22baf3=_0x3eac47['fromVersion']+_0x42443f,_0x505fda=this['editor']['plugins']['get'](_0x2c4aec),_0x2313e8=this['_revisionTracker']['buildRevisionData']({'revision':_0x3eac47,'from':_0x22baf3,'to':_0x3f7e9e});_0x2313e8['id']=_0x3eac47['id'];const _0x387f27=_0x2313e8['authorsIds']['map'](_0x25318d=>_0x505fda['getUser'](_0x25318d));_0x3eac47['_update']({..._0x2313e8,'authors':_0x387f27},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3eac47['id'],_0x2313e8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3f7e9e,_0x3eac47['toVersion']!==_0x3eac47['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x1f26c7)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x1f26c7),this['_revisionTracker']['_createCurrentRevision'](_0x3f7e9e);}const {revisions:_0x3a8617,requestId:_0xcd3cfd}=await this['_revisionHistoryService']['reconnect'](_0xeed547['connection'],this['_lastRequestId']);_0x5cd889&&_0x3a8617['length']>0x0?_0x56d047['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3a8617),this['_handleRevisionsUpdate'](_0x3a8617,_0xcd3cfd),this['_revisionTracker']['sendBufferedUpdates']());};return _0x56d047['_isConnected']?_0x215aa0():new Promise((_0x400a1f,_0x1af3d0)=>{_0x56d047['once']('change:_isConnected',()=>{_0x215aa0()['then'](_0x400a1f)['catch'](_0x1af3d0);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x309f31=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x35e0a6=>{_0x35e0a6['off'](),_0x309f31();});});}['_getLatestVersionFromServerOperations'](){const _0x43b11e=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x592cbe of _0x43b11e)if('marker'!==_0x592cbe['type']||_0x592cbe['affectsData'])return _0x592cbe['baseVersion']+0x1;}['_getLatestVersion'](){const _0x575144=this['editor']['plugins']['get'](tt);return new Promise(_0x44dc8c=>{_0x575144['_isPendingUpdate']?_0x575144['once']('change:_isPendingUpdate',()=>{_0x44dc8c(this['_getLatestVersionFromServerOperations']());}):_0x44dc8c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xd8ccf1,_0x4a132d){const _0x25a90f=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x4a132d;for(const _0x3442d0 of _0xd8ccf1){const _0x4fc0da=_0x25a90f['getRevision'](_0x3442d0['id']);if(_0x4fc0da){if((_0x3442d0['fromVersion']||_0x3442d0['toVersion'])&&(_0x3442d0['diffData']=null),_0x4fc0da===this['_revisionTracker']['currentRevision']){const _0x54d083=Math['max'](_0x4fc0da['toVersion'],_0x3442d0['toVersion']),_0x5c3070=Math['max'](_0x4fc0da['fromVersion'],_0x3442d0['fromVersion']);let _0x43f921;_0x4fc0da['toVersion']===_0x3442d0['toVersion']&&_0x4fc0da['fromVersion']===_0x3442d0['fromVersion']?(_0x43f921=!0x0,this['_preventResendingRevisionData'](_0x3442d0)):_0x3442d0['toVersion']===_0x54d083&&_0x3442d0['fromVersion']===_0x5c3070?_0x43f921=!0x1:(_0x4fc0da['toVersion']===_0x54d083&&_0x4fc0da['fromVersion']===_0x5c3070||this['_fixRevision']({'revision':_0x4fc0da,'from':_0x5c3070,'to':_0x54d083}),_0x43f921=!0x0),_0x43f921&&(delete _0x3442d0['fromVersion'],delete _0x3442d0['toVersion'],delete _0x3442d0['diffData'],delete _0x3442d0['createdAt'],delete _0x3442d0['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3442d0),this['_preventResendingRevisionData'](_0x3442d0);}else this['_revisionTracker']['addRevisionData'](_0x3442d0);}const _0x51792d=_0x25a90f['getRevisions']();_0x51792d['reverse']();for(let _0x1592c5=0x0;_0x1592c5<_0x51792d['length']-0x1;_0x1592c5++){const _0x530c3c=_0x51792d[_0x1592c5],_0x1dc6d6=_0x51792d[_0x1592c5+0x1];if(_0x530c3c['fromVersion']<_0x1dc6d6['toVersion']){const _0x5d0e69=_0x1dc6d6['toVersion'],_0x49e43d=Math['max'](_0x5d0e69,_0x530c3c['toVersion']);this['_fixRevision']({'revision':_0x530c3c,'from':_0x5d0e69,'to':_0x49e43d});}}}['_fixRevision']({revision:_0x52b6e7,from:_0x4dfceb,to:_0x1d136a}={}){const _0x3fd3ee=this['editor']['plugins']['get'](_0x2c4aec),_0x6fa669=this['_revisionTracker']['buildRevisionData']({'revision':_0x52b6e7,'from':_0x4dfceb,'to':_0x1d136a});_0x6fa669['authors']=_0x6fa669['authorsIds']['map'](_0x21760a=>_0x3fd3ee['getUser'](_0x21760a)),_0x52b6e7['_update'](_0x6fa669);}['_preventResendingRevisionData'](_0x196174){const _0x3379de={};_0x3379de['id']=_0x196174['id'];for(const _0xbf2b66 of Object['keys'](_0x196174))'id'!==_0xbf2b66&&(_0x3379de[_0xbf2b66]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3379de['id'],_0x3379de,!0x0);}async['_fetchMissingUsers'](_0x14c401){const _0x4e4e7c=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x25fa5f}=this['editor']['plugins']['get'](z),_0x3298ce=new Set();for(const _0x4c5f35 of _0x14c401){for(const _0x17bac5 of _0x4c5f35['authorsIds'])_0x2daec4(_0x17bac5);_0x4c5f35['creatorId']&&_0x2daec4(_0x4c5f35['creatorId']);}if(0x0===_0x3298ce['size'])return;const _0x38b804=await _0x3fdc75['getMany'](_0x25fa5f,Array['from'](_0x3298ce));for(const _0x37f14c of _0x38b804)_0x4e4e7c['getUser'](_0x37f14c['id'])||_0x4e4e7c['addUser'](_0x37f14c);function _0x2daec4(_0x79747c){_0x4e4e7c['getUser'](_0x79747c)||_0x3298ce['add'](_0x79747c);}}};function pt(_0x438a68){return _0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x55f077{static get['requires'](){return[_0x278f20,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x734c23{['_collapseAt'];constructor(_0x3fed50,_0x2d740d=0x6){super(_0x3fed50);const _0x12cb6d=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x2d740d,this['bind']('isHidden')['to'](this,'usersCount',_0x4f6d7a=>_0x4f6d7a<_0x2d740d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x12cb6d['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':_0x12cb6d['to']('usersCount',_0x24a406=>'+'+(_0x24a406-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x734c23{['items'];['keystrokes'];constructor(_0x1b450e){super(_0x1b450e);const _0x397d56=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x8e2249(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x397d56['if']('hasPopup'),'aria-expanded':_0x397d56['to']('isExpanded',_0x37f221=>this['hasPopup']&&String(_0x37f221)),'aria-label':_0x397d56['to']('hasPopup',_0x377101=>X(_0x1b450e,_0x377101?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x397d56['to']('hasPopup',_0x488ceb=>!!_0x488ceb&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x397d56['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x397d56['to'](_0x568583=>{const _0x45ed57=_0x568583,_0x52352f=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1c72a9=document['querySelector']('.ck-balloon-panel_with-arrow');_0x52352f?.['contains'](_0x45ed57['relatedTarget'])||_0x1c72a9?.['contains'](_0x45ed57['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x372d1f,_0x3c477c,_0x172e30)=>{this['element']&&(_0x172e30?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 _0x734c23{['counterView'];['inlineListView'];constructor(_0x87e391,_0x1c8724=0x6){super(_0x87e391);const _0x56119d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1c8724),this['inlineListView']=new vt(_0x87e391),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3d3d51 of this['inlineListView']['items'])_0x3d3d51['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',_0x56119d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x734c23{['listWrapperView'];constructor(_0x177741,_0xd6e9e4){super(_0x177741);const _0x3f73b=this['bindTemplate'];this['listWrapperView']=new bt(_0x177741,_0xd6e9e4),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x177741,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3f73b['to'](_0x34dc11=>{const _0xe97126=_0x34dc11,_0x1ea7f3=document['querySelector']('.ck-presence-list__list'),_0x52f205=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1ea7f3?.['contains'](_0xe97126['relatedTarget'])||_0x52f205?.['contains'](_0xe97126['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x41f256{constructor(_0x48d134,_0x367b08){super(_0x48d134);const _0x357b31=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x367b08?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x357b31['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x357b31['to']('role'),'aria-label':_0x357b31['to']('ariaLabel'),'aria-labelledby':_0x357b31['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3de184['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xe88a55=this['element'];_0xe88a55&&(this['_isScrollable']=Math['max'](_0xe88a55['scrollHeight'],_0xe88a55['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x81bb6c{['userView'];constructor(_0x2b1a84,_0x18e7f2,_0x123ddf){super(_0x2b1a84);const _0xc89086=this['bindTemplate'];this['userView']=new _0x111a61(_0x2b1a84,_0x18e7f2);const _0xff1192={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x18e7f2['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x18e7f2['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x18e7f2['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x18e7f2['color']['getColorVariable'](),'--ck-user-color-alpha':_0x18e7f2['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x123ddf&&(_0xff1192['tag']='button',_0xff1192['on']={'click':_0xc89086['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xff1192);}['focus'](){this['element']['focus']();}},It=class extends _0x734c23{['userView'];['markerView'];constructor(_0x5e57da,_0x3355da,_0x545c38){super(_0x5e57da);const _0x59e596=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x111a61(_0x5e57da,_0x3355da),this['markerView']=new St(_0x5e57da,_0x3355da);const _0x4f19a6=new _0x4b0e72(_0x5e57da);_0x4f19a6['template']['tag']='span',_0x4f19a6['text']=_0x3355da['name'];const _0x382ffc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x59e596['to']('isFocusable',_0x63b34=>!!_0x63b34&&0x0),'aria-labelledby':_0x4f19a6['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x59e596['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x59e596['to']('hasTooltip',_0x5c1753=>!_0x5c1753),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x4f19a6]};_0x545c38&&(_0x382ffc['tag']='button',_0x382ffc['on']={'click':_0x59e596['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x382ffc);}},St=class extends _0x734c23{constructor(_0x30dcfe,_0x361b55){super(_0x30dcfe),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x361b55['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x361b55['color']['getColorVariable'](),'--ck-user-color-alpha':_0x361b55['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x198b15{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x565955){super(_0x565955),this['context']['config']['define']('presenceList',Tt);const _0x2bc697=_0x565955['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2bc697)throw new _0x247b99('presencelist-collapseat-invalid-format',this);if(_0x2bc697<0x1)throw new _0x247b99('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x306590(),this['balloonPanelView']=new _0x40139a(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x5ac2dd of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5ac2dd);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1469d4,_0xc29b14)=>{this['_handleUserAdd'](_0xc29b14);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x338862,_0x2256f6)=>{this['_handleUserRemove'](_0x2256f6);});}['_createView'](){const _0x1b5655=this['context'],_0x4754db=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x197bd6=this['balloonPanelView'];if(!_0x368f5b(_0x1b5655['config']['get']('presenceList.container')))throw new _0x247b99('presencelist-missing-container',this);return _0x4754db['counterView']['bind']('usersCount')['to'](this),_0x4754db['bind']('isCollapsed')['to'](this,'usersCount',_0x48949b=>{const {collapseAt:_0x6a7e4f}=_0x1b5655['config']['get']('presenceList'),_0x24d4b9=_0x48949b>=_0x6a7e4f;if(_0x24d4b9&&!_0x4754db['inlineListView']['items']['find'](_0x21b0a4=>_0x21b0a4 instanceof wt)){const _0x56e4ae=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x56e4ae&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4754db['inlineListView']['items']['add'](_0x4754db['counterView']);}return _0x24d4b9||this['hideDropdown'](),_0x24d4b9;}),_0x4754db['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x45a28c=>{const _0x36fcd2=_0x1b5655['config']['get']('presenceList'),_0x53f563=new It(_0x1b5655['locale'],_0x45a28c,!!_0x36fcd2['onClick']);return _0x53f563['bind']('hasTooltip')['to'](_0x4754db,'isCollapsed',_0x5b6246=>!_0x5b6246),_0x53f563['bind']('isFocusable')['to'](_0x4754db,'isCollapsed',_0x2a510e=>!_0x2a510e),_0x36fcd2['onClick']&&this['listenTo'](_0x53f563,'execute',()=>{this['view']['isCollapsed']||_0x36fcd2['onClick'](_0x45a28c,_0x53f563['element']);}),_0x53f563;}),this['listenTo'](_0x4754db['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4754db['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4754db['inlineListView']['keystrokes']['set']('Enter',(_0x336c65,_0x23faaa)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x23faaa());}),_0x4754db['render'](),_0x197bd6['render'](),_0x955340({'emitter':_0x4754db,'activator':()=>_0x197bd6['isVisible'],'contextElements':[_0x197bd6['element'],_0x4754db['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1b5655['config']['get']('presenceList.container')['appendChild'](_0x4754db['element']),this['_bodyCollection']=new _0x34295a(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4754db;}['_handleUserAdd'](_0x709d4){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x709d4['isMe'])return;const _0x27be9d=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x27be9d-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5652db=_0x709d4['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x709d4,_0x5652db);}['_handleUserRemove'](_0x37757c){this['usersCount']--;const {collapseAt:_0x4d4e81}=this['context']['config']['get']('presenceList'),_0x50f3ce=this['usersCount']>=_0x4d4e81;if(this['currentDisplayedUsers']['get'](_0x37757c['id']))this['currentDisplayedUsers']['remove'](_0x37757c['id']);else{if(_0x50f3ce&&this['currentDisplayedUsers']['length']+0x1===_0x4d4e81-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x50f3ce?0x1:0x0)<this['usersCount']){for(const _0x3ee291 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3ee291['id'])&&(this['currentDisplayedUsers']['add'](_0x3ee291,Math['min'](this['currentDisplayedUsers']['length']-(_0x50f3ce?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x50f3ce?0x1:0x0)===_0x4d4e81-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1a3846=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x1a3846['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4af046}=this['presenceDropdownView'];_0x4af046['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x321aae=>{if(!_0x1a3846['displayMe']&&_0x321aae['isMe'])return null;const _0x5569c5=new kt(this['context']['locale'],_0x321aae,!!_0x1a3846['onClick']);return _0x1a3846['onClick']&&this['listenTo'](_0x5569c5,'execute',()=>{_0x1a3846['onClick'](_0x321aae,_0x5569c5['element']);}),_0x5569c5;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4af046['focus'](),_0x4af046['checkIfScrollable']();const _0xe32af7=(_0x5227e5,_0xc6c471)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xc6c471();};_0x4af046['keystrokes']['set']('Esc',_0xe32af7),_0x4af046['keystrokes']['set']('Shift+Tab',_0xe32af7),_0x4af046['keystrokes']['set']('Tab',(_0x42c890,_0x223629)=>{!function(_0x3466cd){const _0x4f2c49=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3a92ab=>_0x3a92ab+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5e6845=[...document['body']['querySelectorAll'](_0x4f2c49)]['filter'](_0x5f425=>_0x5f425===document['activeElement']||_0x5f425['offsetWidth']+_0x5f425['offsetHeight']>0x0)['sort']((_0x43f9ab,_0x85f105)=>(_0x43f9ab['tabIndex']||0x0)-(_0x85f105['tabIndex']||0x0)),_0x384053=_0x5e6845[(_0x5e6845['indexOf'](_0x3466cd)+0x1)%_0x5e6845['length']];_0x384053&&_0x384053['focus']();}(this['view']['element']),this['hideDropdown'](),_0x223629();}),_0x4af046['focusTracker']['add'](this['view']['element']),_0x4af046['focusTracker']['on']('change:isFocused',(_0x14d557,_0x2080e5,_0x1e3091)=>{_0x1e3091||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 _0x198b15{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};
|