@ckeditor/ckeditor5-real-time-collaboration 48.1.0 → 48.2.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -6
- package/dist/translations/af.js +1 -1
- package/dist/translations/af.umd.js +1 -1
- package/dist/translations/ar.js +1 -1
- package/dist/translations/ar.umd.js +1 -1
- package/dist/translations/ast.js +1 -1
- package/dist/translations/ast.umd.js +1 -1
- package/dist/translations/az.js +1 -1
- package/dist/translations/az.umd.js +1 -1
- package/dist/translations/be.js +1 -1
- package/dist/translations/be.umd.js +1 -1
- package/dist/translations/bg.js +1 -1
- package/dist/translations/bg.umd.js +1 -1
- package/dist/translations/bn.js +1 -1
- package/dist/translations/bn.umd.js +1 -1
- package/dist/translations/bs.js +1 -1
- package/dist/translations/bs.umd.js +1 -1
- package/dist/translations/ca.js +1 -1
- package/dist/translations/ca.umd.js +1 -1
- package/dist/translations/cs.js +1 -1
- package/dist/translations/cs.umd.js +1 -1
- package/dist/translations/da.js +1 -1
- package/dist/translations/da.umd.js +1 -1
- package/dist/translations/de-ch.js +1 -1
- package/dist/translations/de-ch.umd.js +1 -1
- package/dist/translations/de.js +1 -1
- package/dist/translations/de.umd.js +1 -1
- package/dist/translations/el.js +1 -1
- package/dist/translations/el.umd.js +1 -1
- package/dist/translations/en-au.js +1 -1
- package/dist/translations/en-au.umd.js +1 -1
- package/dist/translations/en-gb.js +1 -1
- package/dist/translations/en-gb.umd.js +1 -1
- package/dist/translations/en.js +1 -1
- package/dist/translations/en.umd.js +1 -1
- package/dist/translations/eo.js +1 -1
- package/dist/translations/eo.umd.js +1 -1
- package/dist/translations/es-co.js +1 -1
- package/dist/translations/es-co.umd.js +1 -1
- package/dist/translations/es.js +1 -1
- package/dist/translations/es.umd.js +1 -1
- package/dist/translations/et.js +1 -1
- package/dist/translations/et.umd.js +1 -1
- package/dist/translations/eu.js +1 -1
- package/dist/translations/eu.umd.js +1 -1
- package/dist/translations/fa.js +1 -1
- package/dist/translations/fa.umd.js +1 -1
- package/dist/translations/fi.js +1 -1
- package/dist/translations/fi.umd.js +1 -1
- package/dist/translations/fr.js +1 -1
- package/dist/translations/fr.umd.js +1 -1
- package/dist/translations/gl.js +1 -1
- package/dist/translations/gl.umd.js +1 -1
- package/dist/translations/gu.js +1 -1
- package/dist/translations/gu.umd.js +1 -1
- package/dist/translations/he.js +1 -1
- package/dist/translations/he.umd.js +1 -1
- package/dist/translations/hi.js +1 -1
- package/dist/translations/hi.umd.js +1 -1
- package/dist/translations/hr.js +1 -1
- package/dist/translations/hr.umd.js +1 -1
- package/dist/translations/hu.js +1 -1
- package/dist/translations/hu.umd.js +1 -1
- package/dist/translations/hy.js +1 -1
- package/dist/translations/hy.umd.js +1 -1
- package/dist/translations/id.js +1 -1
- package/dist/translations/id.umd.js +1 -1
- package/dist/translations/it.js +1 -1
- package/dist/translations/it.umd.js +1 -1
- package/dist/translations/ja.js +1 -1
- package/dist/translations/ja.umd.js +1 -1
- package/dist/translations/jv.js +1 -1
- package/dist/translations/jv.umd.js +1 -1
- package/dist/translations/kk.js +1 -1
- package/dist/translations/kk.umd.js +1 -1
- package/dist/translations/km.js +1 -1
- package/dist/translations/km.umd.js +1 -1
- package/dist/translations/kn.js +1 -1
- package/dist/translations/kn.umd.js +1 -1
- package/dist/translations/ko.js +1 -1
- package/dist/translations/ko.umd.js +1 -1
- package/dist/translations/ku.js +1 -1
- package/dist/translations/ku.umd.js +1 -1
- package/dist/translations/lt.js +1 -1
- package/dist/translations/lt.umd.js +1 -1
- package/dist/translations/lv.js +1 -1
- package/dist/translations/lv.umd.js +1 -1
- package/dist/translations/ms.js +1 -1
- package/dist/translations/ms.umd.js +1 -1
- package/dist/translations/nb.js +1 -1
- package/dist/translations/nb.umd.js +1 -1
- package/dist/translations/ne.js +1 -1
- package/dist/translations/ne.umd.js +1 -1
- package/dist/translations/nl.js +1 -1
- package/dist/translations/nl.umd.js +1 -1
- package/dist/translations/no.js +1 -1
- package/dist/translations/no.umd.js +1 -1
- package/dist/translations/oc.js +1 -1
- package/dist/translations/oc.umd.js +1 -1
- package/dist/translations/pl.js +1 -1
- package/dist/translations/pl.umd.js +1 -1
- package/dist/translations/pt-br.js +1 -1
- package/dist/translations/pt-br.umd.js +1 -1
- package/dist/translations/pt.js +1 -1
- package/dist/translations/pt.umd.js +1 -1
- package/dist/translations/ro.js +1 -1
- package/dist/translations/ro.umd.js +1 -1
- package/dist/translations/ru.js +1 -1
- package/dist/translations/ru.umd.js +1 -1
- package/dist/translations/si.js +1 -1
- package/dist/translations/si.umd.js +1 -1
- package/dist/translations/sk.js +1 -1
- package/dist/translations/sk.umd.js +1 -1
- package/dist/translations/sl.js +1 -1
- package/dist/translations/sl.umd.js +1 -1
- package/dist/translations/sq.js +1 -1
- package/dist/translations/sq.umd.js +1 -1
- package/dist/translations/sr-latn.js +1 -1
- package/dist/translations/sr-latn.umd.js +1 -1
- package/dist/translations/sr.js +1 -1
- package/dist/translations/sr.umd.js +1 -1
- package/dist/translations/sv.js +1 -1
- package/dist/translations/sv.umd.js +1 -1
- package/dist/translations/th.js +1 -1
- package/dist/translations/th.umd.js +1 -1
- package/dist/translations/ti.js +1 -1
- package/dist/translations/ti.umd.js +1 -1
- package/dist/translations/tk.js +1 -1
- package/dist/translations/tk.umd.js +1 -1
- package/dist/translations/tr.js +1 -1
- package/dist/translations/tr.umd.js +1 -1
- package/dist/translations/tt.js +1 -1
- package/dist/translations/tt.umd.js +1 -1
- package/dist/translations/ug.js +1 -1
- package/dist/translations/ug.umd.js +1 -1
- package/dist/translations/uk.js +1 -1
- package/dist/translations/uk.umd.js +1 -1
- package/dist/translations/ur.js +1 -1
- package/dist/translations/ur.umd.js +1 -1
- package/dist/translations/uz.js +1 -1
- package/dist/translations/uz.umd.js +1 -1
- package/dist/translations/vi.js +1 -1
- package/dist/translations/vi.umd.js +1 -1
- package/dist/translations/zh-cn.js +1 -1
- package/dist/translations/zh-cn.umd.js +1 -1
- package/dist/translations/zh.js +1 -1
- package/dist/translations/zh.umd.js +1 -1
- package/package.json +13 -13
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{ContextPlugin as
|
|
24
|
-
((()=>_0x712f94)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x23396a,_0x52f767];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b73ef){super(_0x5b73ef),this['set']('state',_0x25ca68['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1038f1())();}['init'](){const _0x39355b=this['context'],_0x8eb855=_0x39355b['plugins']['get'](_0x23396a),_0x556b7f=_0x39355b['plugins']['get'](_0x52f767);if(!_0x8eb855['token'])throw new _0x36814d('websocketgateway-missing-token',this);if(!_0x8eb855['webSocketUrl'])throw new _0x36814d('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),z['WebSocketGateway']['connect'](_0x8eb855['token'],_0x8eb855['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5df34b=>{if(this['connection']=_0x5df34b,this['bind']('state')['to'](_0x5df34b,'state',this,'_isBrowserOffline',(_0x4b3f6e,_0x3a054e)=>('connected'!==_0x4b3f6e&&(this['_shouldPluginsReconnect']=!0x0),_0x3a054e||_0x4b3f6e!==_0x25ca68['CONNECTED']?_0x25ca68['DISCONNECTED']:this['state']==_0x25ca68['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x25ca68['CONNECTING']):_0x25ca68['CONNECTED'])),this['connection']['on']('error',(_0x3894e1,_0x455f23)=>{if('limitExceeded'!==_0x455f23['code'])throw console['error'](_0x455f23),new _0x36814d('cloudservices-init',null,{'originalError':_0x455f23});_0x556b7f['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'});}),!_0x5df34b['me'])return new Promise(_0x3a6275=>_0x5df34b['on']('change:me',_0x3a6275));})['catch'](_0x4d8f56=>{throw console['error'](_0x4d8f56),new _0x36814d('cloudservices-init',null,{'originalError':_0x4d8f56});});}['addToReconnectionStack'](_0x55f0e6){if('function'!=typeof _0x55f0e6['reconnect'])throw new _0x36814d('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x55f0e6))throw new _0x36814d('websocketgateway-plugin-already-registered',this,{'name':_0x55f0e6['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x55f0e6);}['removeFromReconnectionStack'](_0x4b953b){this['_reconnectionStack']['delete'](_0x4b953b);}['isInReconnectionStack'](_0x28a86f){return this['_reconnectionStack']['has'](_0x28a86f);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x45e43a=>_0x45e43a['reconnect']())))['then'](()=>this['state']=_0x25ca68['CONNECTED'])['catch'](_0x5a9e25=>{throw console['error'](_0x5a9e25),new _0x36814d('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x25ca68['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0xb2d076{['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,_0x443155];}constructor(_0x394b2f){super(_0x394b2f),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2dbc61(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x443155);}['init'](){const _0xc2ae31=this['context']['plugins']['get'](z);this['listenTo'](_0xc2ae31,'change:state',(_0x8a7cf7,_0x2efede,_0x283d21)=>{if('connected'!==_0x283d21)this['channelSessions']['forEach'](_0x5a7694=>_0x5a7694['clear']()),this['channelConnectedUsers']['forEach'](_0x35c9be=>_0x35c9be['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5954e1,_0x239fe9]of this['_registeredSessions'])for(const _0x154f72 of _0x239fe9)this['_handleSessionAdd'](_0x5954e1,_0x154f72);}}),this['_createUser'](_0xc2ae31['connection']['me'],!0x0);}['register'](_0x49036b,_0x2536b1){if(this['_registeredSessions']['has'](_0x49036b))throw new _0x36814d('sessions-register-already-registered',null,{'channelId':_0x49036b});this['_registeredSessions']['set'](_0x49036b,_0x2536b1),this['channelSessions']['set'](_0x49036b,new _0x2dbc61()),this['channelConnectedUsers']['set'](_0x49036b,new _0x2dbc61()),this['listenTo'](_0x2536b1,'add',(_0x1ee3b8,_0x1fee36)=>this['_handleSessionAdd'](_0x49036b,_0x1fee36)),this['listenTo'](_0x2536b1,'remove',(_0x55c37a,_0x7abc0d)=>this['_handleSessionRemove'](_0x49036b,_0x7abc0d));for(const _0x37a735 of _0x2536b1)this['_handleSessionAdd'](_0x49036b,_0x37a735);}['unregister'](_0x28530a){if(!this['_registeredSessions']['has'](_0x28530a))throw new _0x36814d('sessions-unregister-not-exist',null,{'channelId':_0x28530a});const _0x521a07=this['_registeredSessions']['get'](_0x28530a);this['stopListening'](_0x521a07);for(const _0x2a3766 of _0x521a07)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x28530a,_0x2a3766);this['_registeredSessions']['delete'](_0x28530a),this['channelSessions']['delete'](_0x28530a),this['channelConnectedUsers']['delete'](_0x28530a);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x46dad5){for(const _0x9e8e70 of this['channelSessions']['values']())for(const _0x902170 of _0x9e8e70)if(_0x902170['id']===_0x46dad5)return _0x902170['user'];}['getUserSessions'](_0x51f31c,_0x2a356d){const _0x11ace6=_0x2a356d?[this['channelSessions']['get'](_0x2a356d)]:this['channelSessions']['values'](),_0x1e7b09=new Set();for(const _0x1fd8f4 of _0x11ace6)for(const _0x3852af of _0x1fd8f4)_0x3852af['user']['id']===_0x51f31c['id']&&_0x1e7b09['add'](_0x3852af['id']);return _0x1e7b09;}['getUserRole'](_0x4ba90a){for(const _0x58a643 of this['channelSessions']['values']())for(const _0x4f9fc8 of _0x58a643)if(_0x4f9fc8['user']===_0x4ba90a)return _0x4f9fc8['role'];}['_handleSessionAdd'](_0x3cc26c,_0x72c74d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x565691=_0x72c74d['user'],_0x274a53=this['_users']['getUser'](_0x565691['id'])||this['_createUser'](_0x565691),_0x5685fe=Object['assign']({},_0x72c74d,{'user':_0x274a53});if(this['channelSessions']['get'](_0x3cc26c)['add'](_0x5685fe),!_0x565691['hiddenInPresenceList']){const _0x4773c9=this['channelConnectedUsers']['get'](_0x3cc26c);_0x4773c9['has'](_0x274a53['id'])||_0x4773c9['add'](_0x274a53),this['allConnectedUsers']['has'](_0x274a53['id'])||_0x565691['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x274a53,_0x274a53['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3cc26c,{'channelId':_0x3cc26c,'session':_0x5685fe});}['_handleSessionRemove'](_0x1c8436,_0x991627){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4042be=this['channelConnectedUsers']['get'](_0x1c8436),_0x5455bd=_0x991627['user'];_0x5455bd['id']&&(this['channelSessions']['get'](_0x1c8436)['remove'](_0x991627['id']),_0x4042be['has'](_0x5455bd['id'])&&!this['getUserSessions'](_0x5455bd,_0x1c8436)['size']&&_0x4042be['remove'](_0x5455bd['id']),this['allConnectedUsers']['get'](_0x5455bd['id'])&&!this['getUserSessions'](_0x5455bd)['size']&&this['allConnectedUsers']['remove'](_0x5455bd['id']));}['_createUser'](_0x2bce25,_0x28c66a){const _0x41f287=this['_users']['addUser'](_0x2bce25);return _0x28c66a&&this['_users']['defineMe'](_0x2bce25['id']),_0x41f287['orderNumber']=this['_uniqueUsersCount']++,_0x41f287;}}class K extends _0x1885be{['_domEmitter']=new(_0x1038f1())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2c6bf6=this['editor'],_0xe43a5a=_0x2c6bf6['plugins']['get'](Y);_0x2c6bf6['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x159a0f,{writer:_0xf180ae})=>function(_0x12f5e4,_0x2ab50d,_0x3b7bbc,_0xdacc61){const _0x367855=_0x12f5e4['markerName']['split'](':')[0x2],_0x3d90b2=_0x3b7bbc['getUserBySessionId'](_0x367855);if(!_0x3d90b2||_0x367855===_0x3b7bbc['mySessionId'])return;if(!_0xdacc61['model']['schema']['checkChild'](_0x12f5e4['markerRange']['start'],'$text'))return;const _0x1cca60={'class':'ck-user__marker\x20'+_0x3d90b2['color']['getMarkerClass'](),'style':Q(_0x3d90b2),'data-name':_0x3d90b2['name'],'data-session-id':_0x367855},_0x4cd0bd=_0xdacc61['model']['markers']['get'](_0x12f5e4['markerName']),_0x32b924=_0x4cd0bd['getStart'](),_0x4ff0b2=_0x32b924['nodeAfter'],_0x11ff9e=_0xdacc61['model']['schema'];if(_0x4ff0b2&&_0x11ff9e['isObject'](_0x4ff0b2)&&_0x11ff9e['isInline'](_0x4ff0b2)&&!_0xdacc61['model']['markers']['get']('user:range:'+_0x367855)['getRange']()['isCollapsed'])return;const _0x25efc0=_0x32b924['parent'];return _0xdacc61['model']['schema']['isLimit'](_0x25efc0)&&!_0xdacc61['model']['hasContent'](_0x25efc0)&&(_0x1cca60['contenteditable']=!0x1),function(_0xa2782a,_0x10ed87,_0x5dc214){const _0x334921=_0xa2782a['createUIElement']('span',_0x10ed87);return _0xa2782a['setCustomProperty']('userPositionMarker',!0x0,_0x334921),_0x334921['render']=function(_0x3f5aaf){const _0x2c6848=this['toDomElement'](_0x3f5aaf),_0x3136c6=document['createElement']('span');return _0x3136c6['classList']['add']('ck-user__marker-tooltip'),_0x3136c6['setAttribute']('contenteditable','false'),_0x3136c6['setAttribute']('spellcheck','false'),_0x3136c6['textContent']=_0x5dc214['name'],_0x2c6848['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3136c6['outerHTML']+'',_0x2c6848['addEventListener']('mouseenter',()=>{_0x2c6848['classList']['add']('ck-user__marker_hovered');}),_0x2c6848['addEventListener']('mouseleave',()=>{_0x2c6848['classList']['remove']('ck-user__marker_hovered');}),_0x2c6848;},_0x334921['isSimilar']=function(_0x3c96d8){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3c96d8['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3c96d8['getAttribute']('data-session-id'));},_0x334921;}(_0x2ab50d,_0x1cca60,_0x3d90b2);}(_0x159a0f,_0xf180ae,_0xe43a5a,_0x2c6bf6)}),_0x2c6bf6['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3e6f14=>function(_0x3520a0,_0x200e2e){const _0x52ddef=_0x3520a0['markerName']['split'](':')[0x2];if(_0x52ddef===_0x200e2e['mySessionId'])return null;const _0x287637=_0x200e2e['getUserBySessionId'](_0x52ddef);if(!_0x287637)return{'id':_0x52ddef,'classes':[]};return{'id':_0x52ddef,'classes':['ck-user__selection',_0x287637['color']['getSelectionClass']()],'attributes':{'style':Q(_0x287637),'data-session-id':_0x52ddef},'priority':0x7d0+_0x287637['orderNumber']};}(_0x3e6f14,_0xe43a5a)}),function(_0x28d86b){const _0x20ab44=_0x28d86b['model'],_0x66490f=new Map(),_0x112905=_0x28d86b['plugins']['get'](Y);_0x20ab44['markers']['on']('update:user:range',(_0x2dc6f1,_0x19fd77,_0x15b60d,_0x486695)=>{if(!_0x486695&&_0x66490f['get'](_0x19fd77['name']))return _0x66490f['get'](_0x19fd77['name'])['detach'](),void _0x66490f['delete'](_0x19fd77['name']);const _0x2e9233=_0x19fd77['name']['split'](':')[0x2];if(_0x2e9233===_0x112905['mySessionId'])return;const _0x262cd3='user:position:'+_0x2e9233;_0x20ab44['markers']['has'](_0x262cd3)&&_0x28d86b['editing']['reconvertMarker'](_0x262cd3),_0x19fd77['on']('change:range',(_0x1acb77,_0xd0e1b,_0x291e22)=>{if('$graveyard'!=_0xd0e1b['root']['rootName']&&'$graveyard'==_0x19fd77['getRange']()['root']['rootName']&&!_0x66490f['has'](_0x19fd77['name'])){const _0x2b0edb=_0x20ab44['schema']['getNearestSelectionRange'](_0x291e22['deletionPosition']);if(_0x2b0edb){const _0x2f18cd=_0x1d52d0['fromRange'](_0x2b0edb);_0x66490f['set'](_0x19fd77['name'],_0x2f18cd),_0x2f18cd['on']('change:range',(_0x2d7a22,_0x542da8,_0x4b049b)=>{if('$graveyard'==_0x2f18cd['root']['rootName']){const _0x1f6b94=_0x20ab44['schema']['getNearestSelectionRange'](_0x4b049b['deletionPosition']);_0x1f6b94?(_0x2f18cd['start']=_0x1f6b94['start'],_0x2f18cd['end']=_0x1f6b94['end']):(_0x66490f['delete'](_0x19fd77['name']),_0x2f18cd['detach']());}});}}});}),_0x20ab44['document']['on']('change',()=>{_0x66490f['size']>0x0&&_0x20ab44['enqueueChange']({'isUndoable':!0x1},_0x42c482=>{for(const [_0x2eab59,_0x52acbe]of _0x66490f)'$graveyard'==_0x20ab44['markers']['get'](_0x2eab59)['getRange']()['root']['rootName']&&(J(_0x2eab59['split'](':')[0x2],_0x52acbe['toRange'](),_0x20ab44,_0x42c482),_0x52acbe['detach']());_0x66490f['clear']();});});}(_0x2c6bf6),this['_domEmitter']['listenTo'](_0x58cf37['document'],'keydown',(_0x6f42c0,{key:_0xb7984c})=>{'Escape'===_0xb7984c&&function(_0x5c3ca7){_0x5c3ca7['editing']['view']['change'](_0x35d8f3=>{for(const _0x589b64 of _0x5c3ca7['model']['markers']){if(!_0x589b64['name']['startsWith']('user:position'))continue;const _0x229a4d=_0x5c3ca7['editing']['mapper']['markerNameToElements'](_0x589b64['name']);if(_0x229a4d){for(const _0x309325 of _0x229a4d)_0x35d8f3['removeClass']('ck-user__marker_hovered',_0x309325);}}});}(_0x2c6bf6);},{'useCapture':!0x0});}['afterInit'](){const _0x551f51=this['editor'],_0x1027a3=_0x551f51['commands']['get']('undo');_0x1027a3&&_0x551f51['model']['on']('applyOperation',(_0x35b0dd,_0x48b41c)=>{const _0x3a8ae2=_0x48b41c[0x0];if(!_0x3a8ae2['isDocumentOperation'])return;if('marker'!=_0x3a8ae2['type']||!_0x3a8ae2['name']['startsWith']('user:'))return;const _0x3b48de=_0x3a8ae2['batch'];_0x1027a3['_createdBatches']['has'](_0x3b48de)&&(_0x3a8ae2['newRange']=_0x3a8ae2['oldRange']?_0x551f51['model']['createRange'](_0x3a8ae2['oldRange']['start'],_0x3a8ae2['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x9b2a2=this['editor'],_0x1fcf31=_0x9b2a2['model']['document'],_0x59e33d=_0x9b2a2['plugins']['get'](Y);_0x9b2a2['model']['enqueueChange']({'isUndoable':!0x1},_0x35b5d2=>{const _0x179c57='user:range:'+_0x59e33d['mySessionId'],_0x25eae0='user:position:'+_0x59e33d['mySessionId'],_0xc8f46f=_0x9b2a2['model']['markers']['has'](_0x179c57);_0x9b2a2['editing']['view']['hasDomSelection']?J(_0x59e33d['mySessionId'],_0x1fcf31['selection']['getFirstRange'](),_0x9b2a2['model'],_0x35b5d2):_0xc8f46f&&(_0x35b5d2['removeMarker'](_0x179c57),_0x35b5d2['removeMarker'](_0x25eae0));});}}function J(_0x32528e,_0x3ff6cb,_0x4bc1e5,_0x453482){const _0x16ecb7='user:range:'+_0x32528e,_0xde9c40='user:position:'+_0x32528e,_0x4d51b9=_0x3ff6cb['getContainedElement']();let _0x33e9b0=_0x3ff6cb['start'];if(_0x4d51b9&&_0x4d51b9['is']('element','tableCell')){const _0xc81df8=function(_0x2db78c,_0x5e70d0){for(const _0x50e579 of _0x2db78c['getPositions']())if(_0x5e70d0['schema']['checkChild'](_0x50e579,'$text'))return _0x50e579;}(_0x3ff6cb,_0x4bc1e5);_0xc81df8&&(_0x33e9b0=_0xc81df8,_0x3ff6cb=_0x453482['createRange'](_0x33e9b0));}const _0x3dcde6=_0x453482['createRange'](_0x33e9b0);_0x4bc1e5['markers']['has'](_0x16ecb7)?(_0x453482['updateMarker'](_0x16ecb7,{'range':_0x3ff6cb}),_0x453482['updateMarker'](_0xde9c40,{'range':_0x3dcde6})):(_0x453482['addMarker'](_0x16ecb7,{'range':_0x3ff6cb,'usingOperation':!0x0}),_0x453482['addMarker'](_0xde9c40,{'range':_0x3dcde6,'usingOperation':!0x0}));}function Q(_0x3878ea){return'--ck-user-color:'+_0x3878ea['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x3878ea['color']['getColorAlphaVariable']()+';';}function X(_0x5d6fd1,_0x3ee704,_0x2b11d6){const _0x1806ab=_0x5d6fd1['t'],t=_0x5d6fd1['t'];switch(_0x3ee704){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 _0x1806ab({'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'},_0x2b11d6);default:return'';}}let Z=0x1;class tt extends _0x1885be{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x396fa4)());['_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,_0x5ed6bf,_0x443155,_0x52f767];}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 _0x40ccec=this['serverHistory']['getOperations']();for(let _0x20dce1=_0x40ccec['length']-0x1;_0x20dce1>=0x0;_0x20dce1--){const _0x28aeb0=_0x40ccec[_0x20dce1];if(!this['_disconnectionOperations']['has'](_0x28aeb0))return _0x28aeb0['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x120ee2){if(super(_0x120ee2),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5da6bc(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x36814d('collaboration-missing-channelid',this);const _0x3af4c4=_0x120ee2['config']['get']('cloudServices.bundleVersion')||_0x4b75a5;this['_service']=new tt['CollaborativeEditingService'](_0x3af4c4,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xd752eb(),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 _0x584c96=this['editor'],_0x19df7f=_0x584c96['plugins']['get'](_0x443155),_0x1ec46c=_0x584c96['plugins']['get'](z);this['listenTo'](_0x19df7f,'getOperationAuthor',(_0x2b8f7a,_0x22c816)=>{const _0x5c95bd=_0x22c816[0x0];_0x5c95bd['_authorId']&&(_0x2b8f7a['return']=_0x19df7f['getUser'](_0x5c95bd['_authorId']),_0x2b8f7a['stop']()),null===_0x5c95bd['_authorId']&&(_0x2b8f7a['return']=null,_0x2b8f7a['stop']());},{'priority':'high'}),this['listenTo'](_0x584c96['model']['document']['selection'],'change:range',(_0x532b6e,_0x4d841c)=>{_0x4d841c['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x584c96['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x584c96['model']['on']('applyOperation',(_0x3a7826,_0x1a3092)=>{const _0x15469f=_0x1a3092[0x0];_0x15469f['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x15469f),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x1ec46c,'state',this,'_hasSynchronizationProblem',(_0x1ebfea,_0x49b073)=>'connected'===_0x1ebfea&&!_0x49b073),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x584c96['disableReadOnlyMode']('rtc-offline'):_0x584c96['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x584c96['disableReadOnlyMode']('rtc-offline'):_0x584c96['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2dfa13=this['editor']['plugins']['get'](Y),_0x458bbe=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x2dfa13['unregister'](this['_channelId']);const _0x4566a6=await this['_service']['reconnect'](_0x458bbe['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4566a6)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4823a5=await this['_service']['getConnectedSessions']();_0x2dfa13['register'](this['_channelId'],_0x4823a5),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x572992){if(function(_0x58e9c5){return'404'===_0x58e9c5['code'];}(_0x572992)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x168cc2){return'409'===_0x168cc2['code'];}(_0x572992)){const _0x496e17=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'](_0x496e17);}else{if(!(_0x572992 instanceof et))throw _0x572992;this['_handleReconnectionError']();}}}}['destroy'](){const _0x39bfff=this['editor']['plugins']['get'](z),_0x59f64f=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x59f64f['channelSessions']['has'](this['_channelId'])&&_0x59f64f['unregister'](this['_channelId']),_0x39bfff['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x37cd1f){if(this['sessionId']!==_0x37cd1f['sessionId']&&this['_lastSyncedOperationId']!==_0x37cd1f['lastOperationId'])throw new et();return this['sessionId']=_0x37cd1f['sessionId'],this['_handleServerResponse']([],{..._0x37cd1f,'wereChangesApplied':!0x1,'data':_0x37cd1f['data']},'reconnect');}async['_connectService'](_0x557e22,_0x36ec34=!0x1){const {connection:_0x129442}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x129442,this['_channelId'])['then'](_0x48808a=>this['_initSessionsHandling'](_0x48808a))['catch'](_0x51f1e9=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x51f1e9);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x52c938,_0x4be0c8)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4be0c8);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4aafeb=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x557e22);this['_isPendingUpdate']=!0x0;const _0x31fe0f=await this['_service']['connect'](_0x129442,this['_compressOperations'](_0x557e22),_0x4aafeb);if(this['sessionId']=_0x31fe0f['sessionId'],_0x36ec34){if(!_0x31fe0f['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x31fe0f['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x557e22,_0x31fe0f,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x31fe0f,_0x557e22);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x57f7f9=this['editor']['plugins']['get'](Y),_0x2edbb3=this['editor']['plugins']['get'](K),_0x42d0e4=_0x57f7f9['channelSessions']['get'](this['_channelId']);_0x42d0e4&&_0x42d0e4['length']>0x1?_0x2edbb3['createUserMarkerOperations']():this['listenTo'](_0x57f7f9,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x57f7f9['channelSessions']['get'](this['_channelId'])['length']&&_0x2edbb3['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x85b16e,_0x3aa8ff,_0x2bfd68,_0x380cbd){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x3aa8ff){const _0x540688=this['_decompressOperations'](_0x2bfd68,_0x380cbd);await this['_fetchMissingUsers'](_0x540688),this['_handleExternalOperations'](_0x540688,_0x3aa8ff,_0x2bfd68['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x53e8ac}=this['editor'];let _0x54bf63;try{_0x54bf63=await this['_service']['getDocumentDetails']();}catch{const _0x51a636=X(_0x53e8ac,'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'](_0x51a636);}const _0x3d804e=_0x54bf63['currentDocumentSession']||_0x54bf63['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x3d804e['lastOperationId']){const _0x2e5bc8=X(_0x53e8ac,'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'](_0x2e5bc8);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x284b70){const _0x13b29d=this['editor']['plugins']['get'](Y);this['listenTo'](_0x13b29d,'sessionAdd:'+this['_channelId'],(_0x4ae152,{session:_0x54ef13})=>{if(_0x54ef13['id']===_0x13b29d['mySessionId']){_0x4ae152['off']();const _0x3c5826=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2567a5=_0x54ef13['permissions'];_0x3c5826&&_0x3c5826['isEnabled']&&(_0x2567a5=_0x2567a5['filter'](_0x3d7fc9=>'document:write'!==_0x3d7fc9)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2567a5,this['_channelId']);}}),_0x13b29d['register'](this['_channelId'],_0x284b70);}['_initThrowingOnDataSet'](){const _0x2680bf=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x13a0c6)=>{if(!_0x13a0c6[_0x13a0c6['length']-0x1]['suppressErrorInCollaboration'])throw new _0x36814d('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2680bf['apply'](this['editor']['data'],_0x13a0c6);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5952a9,[_0x4cc7cf])=>{if(this['_document']['version'])throw new _0x36814d('realtimecollaborationclient-init-document-already-initialized',this);_0x5952a9['stop'](),this['_setPendingAction']();const _0x462417=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x137715])=>!_0x137715['lazyLoad'])['map'](([_0x3ada8f,_0x2cff82])=>[_0x3ada8f,_0x2cff82['modelAttributes']||{}])),_0x27e3ee=this['_getOperationsFromInitData'](_0x4cc7cf,_0x462417);0x0==_0x27e3ee['length']&&_0x27e3ee['push'](new _0x18749d(0x0)),_0x5952a9['return']=this['_connectService'](_0x27e3ee)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0xb6d282=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0xb6d282))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x21de52,[_0x30469d,_0x5dac67])=>{_0x21de52['stop']();const _0x3b3d1e=this['editor']['model']['document']['getRoot'](_0x30469d);if(!this['_knownRootNames']['has'](_0x30469d)){const _0x434726=_0x5dac67&&_0x5dac67['data']?_0x5dac67['data']:'',_0x46674d=_0x5dac67&&_0x5dac67['attributes']?_0x5dac67['attributes']:{};await this['_loadRoot'](_0x30469d,_0x434726,_0x46674d);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3b3d1e['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3b3d1e);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x40b431){const _0x6c72fa=this['editor']['plugins']['get'](_0x443155),{connection:_0x16e24f}=this['editor']['plugins']['get'](z),_0x1bc1d8=new Set();for(const _0xecc438 of _0x40b431){const _0x51f6be=_0xecc438['_authorId'];_0x51f6be&&!_0x6c72fa['getUser'](_0x51f6be)&&_0x1bc1d8['add'](_0x51f6be);}if(0x0===_0x1bc1d8['size'])return;const _0x51ba60=await _0x5b2314['getMany'](_0x16e24f,Array['from'](_0x1bc1d8));for(const _0x3d7843 of _0x51ba60)_0x6c72fa['getUser'](_0x3d7843['id'])||_0x6c72fa['addUser'](_0x3d7843);}['_getOperationsFromInitData'](_0x4f72b9,_0x30fd8e={}){const _0x54cc44=this['editor']['model'],_0x412112=[];let _0x1e27c=0x0;const _0x56a5c4='string'==typeof _0x4f72b9?{'main':_0x4f72b9}:_0x4f72b9;for(const _0x10aefe of Object['keys'](_0x56a5c4)){if(!this['_document']['roots']['has'](_0x10aefe))throw new _0x36814d('realtimecollaborationclient-init-non-existent-root',this);const _0x7895cb=this['editor']['data']['parse'](_0x56a5c4[_0x10aefe]),_0x2c4014=this['_document']['getRoot'](_0x10aefe),_0x1e81ac=new _0x1b0982(_0x54cc44['createPositionAt'](_0x2c4014,0x0),_0x7895cb,_0x1e27c++);_0x412112['push'](_0x1e81ac);for(const [_0x3f9bd1,_0x24809d]of _0x7895cb['markers']){const _0x3cd624=_0x54cc44['createRange'](_0x54cc44['createPositionFromPath'](_0x2c4014,_0x24809d['start']['path']['slice']()),_0x54cc44['createPositionFromPath'](_0x2c4014,_0x24809d['end']['path']['slice']())),_0x3df021=new _0x19f48f(_0x3f9bd1,null,_0x3cd624,_0x54cc44['markers'],!0x0,_0x1e27c++);_0x412112['push'](_0x3df021);}}if(_0x30fd8e)for(const [_0x3f9c42,_0x232486]of Object['entries'](_0x30fd8e)){const _0x4d7f2e=_0x54cc44['document']['getRoot'](_0x3f9c42);if(!_0x4d7f2e)throw new _0x36814d('multi-root-editor-root-attributes-no-root',null);for(const [_0x437de0,_0x136e19]of Object['entries'](_0x232486))if(null!==_0x136e19){const _0x41695c=new _0x4e54c2(_0x4d7f2e,_0x437de0,null,_0x136e19,_0x1e27c++);_0x412112['push'](_0x41695c);}}return _0x412112;}async['_loadRoot'](_0x14750e,_0x2ba13e,_0x2c9034){this['_getOperationsFromInitData']({[_0x14750e]:_0x2ba13e},{[_0x14750e]:_0x2c9034})['forEach']((_0x494304,_0x397293)=>{_0x494304['baseVersion']=this['_document']['version']+_0x397293,_0x494304['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x494304);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2239a4,_0x224973){let _0xcf2f27;this['_offset']=_0x2239a4['offset'];const _0x26d585=_0x2239a4['wereChangesApplied']&&!_0x2239a4['initData'],_0x1c0dc1=_0x26d585?0x0:_0x2239a4['data']['baseVersion'];if(_0x224973['forEach'](_0x1d423d=>{_0x1d423d['_isInit']=!0x0,_0x1d423d['createdAt']=_0x2239a4['sessionCreatedAt'],_0x1d423d['_authorId']=null;}),_0x26d585)_0xcf2f27=_0x224973,this['_applyOperationsSet'](_0xcf2f27,_0x26d585);else{if(_0x2239a4['initData']){const _0x24d311=this['_getOperationsFromInitData'](_0x2239a4['initData']);this['_document']['history']['version']=-_0x24d311['length'],_0x24d311['forEach'](_0x3af2a9=>{_0x3af2a9['baseVersion']-=_0x24d311['length'],_0x3af2a9['createdAt']=_0x2239a4['sessionCreatedAt'],_0x3af2a9['_isInit']=!0x0,_0x3af2a9['_authorId']=null;}),this['_applyOperationsSet'](_0x24d311,!0x0),this['serverHistory']['version']=-_0x24d311['length']+this['_offset'],this['_updateServerHistory'](_0x24d311);}this['_document']['history']['version']=_0x1c0dc1,_0xcf2f27=this['_decompressOperations'](_0x2239a4['data'],_0x2239a4['metadata']),await this['_fetchMissingUsers'](_0xcf2f27),this['_applyOperationsSet'](_0xcf2f27,_0x26d585);}_0x2239a4['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xcf2f27,_0x2239a4['lastOperationId']),this['_lastSyncedOperationId']=_0x2239a4['lastOperationId']),this['serverHistory']['version']=_0x1c0dc1+this['_offset'],this['_updateServerHistory'](_0xcf2f27),_0x224973['filter'](_0x5dd55a=>{const _0x1e7624=this['_getAffectedRoot'](_0x5dd55a);return _0x1e7624&&!this['_knownRootNames']['has'](_0x1e7624);})['forEach']((_0x238447,_0x50ed77)=>{_0x238447['baseVersion']=this['_document']['version']+_0x50ed77,this['_saveOperationInBuffer'](_0x238447);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x337b10,_0x5de699){const _0x312618=_0x5de699&&_0x5de699['message'];if(_0x312618&&_0x312618['startsWith']('realtimecollaborationclient'))throw _0x5de699;const _0x52da2d=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x52da2d['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x36814d(_0x337b10,this['editor'],_0x312618?{'originalError':_0x312618}:void 0x0);}['_saveOperationInBuffer'](_0x19408a){this['_knownOperations']['has'](_0x19408a)||(this['_knownOperations']['add'](_0x19408a),this['_bufferedOperations']['push'](_0x19408a),this['_pendingAction']||'marker'==_0x19408a['type']&&!_0x19408a['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x357e04=!0x1){!_0x357e04&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x5e4168=>{_0x5e4168&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4be064=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x29ee24){return _0x29ee24['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x29ee24['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x29ee24['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4be064)||this['_crash'](_0x4be064['message'],_0x4be064);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x46f4cb=>{this['on']('change:_isPendingUpdate',()=>{_0x46f4cb();});});}async['_sendBufferedOperations'](){const _0x59e216=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x59e216['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1f55e3=[...this['_bufferedOperations']];for(const _0x1393d5 of _0x1f55e3)_0x1393d5['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x1393d5);const _0x4d6252=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1f55e3),_0x88b276=Z++,_0x39d33c=this['_compressOperations'](_0x1f55e3),_0x2df9dd=await this['_service']['sendOperations'](_0x39d33c,_0x39d33c['baseVersion'],_0x4d6252);try{return await this['_handleServerResponse'](_0x1f55e3,_0x2df9dd,_0x88b276);}catch(_0xfa728e){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xfa728e);}}async['_handleServerResponse'](_0x351cf6,_0x32c7ec,_0x2f8036){if('error'in _0x32c7ec)throw _0x32c7ec['error'];let _0x2cee5b=!0x1;if(_0x32c7ec['wereChangesApplied']){_0x32c7ec['lastOperationId']&&(this['_lastSyncedOperationId']=_0x32c7ec['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x57a84c=>!_0x351cf6['includes'](_0x57a84c));for(const _0x5e09b5 of _0x351cf6)_0x5e09b5['createdAt']='lastOperationAcceptedAt'in _0x32c7ec&&_0x32c7ec['lastOperationAcceptedAt']||void 0x0;st(_0x351cf6,_0x32c7ec['version']-_0x351cf6['length']),this['_updateServerHistory'](_0x351cf6);const _0x43f012=_0x351cf6['filter'](_0x58aa76=>{if(!_0x58aa76['_isInit'])return!0x1;const _0x433df8=this['_getAffectedRoot'](_0x58aa76);return _0x433df8&&!this['_knownRootNames']['has'](_0x433df8);});st(_0x43f012,this['_document']['version']),this['_applyOperationsSet'](_0x43f012),_0x2cee5b=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x8410ee=this['_decompressOperations'](_0x32c7ec['data'],_0x32c7ec['metadata'])['filter'](_0x289bfc=>_0x289bfc['baseVersion']>=this['_lastServerVersion']);_0x8410ee['forEach'](_0x205667=>this['_addKnownRoot'](_0x205667)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2d7b4b=>!_0x2d7b4b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2d7b4b))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x8410ee),_0x2cee5b=this['_handleExternalOperations'](_0x8410ee,_0x32c7ec['version'],_0x32c7ec['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2cee5b?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x188cfa,_0x3a444f,_0x1a3d33){try{const _0x382f62={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x249ebe,operationsB:_0x1b5f8b,originalOperations:_0x12f28e}=_0x231820(_0x188cfa,this['_bufferedOperations'],_0x382f62);st(_0x249ebe,this['_document']['version']),st(_0x1b5f8b,_0x3a444f);for(const _0x16184c of _0x249ebe){const _0x5660f9=_0x12f28e['get'](_0x16184c);_0x16184c['_authorId']=_0x5660f9?_0x5660f9['_authorId']:null;}_0x1a3d33&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x188cfa,_0x1a3d33),this['_lastSyncedOperationId']=_0x1a3d33),this['_bufferedOperations']=[..._0x1b5f8b],this['_applyOperationsSet'](_0x249ebe),this['_updateServerHistory'](_0x188cfa);}catch(_0x61ddb7){return console['error'](_0x61ddb7),!0x1;}return!0x0;}['_applyOperationsSet'](_0x1562da,_0x4f0ede=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4389e0=>{for(const _0x37686e of _0x1562da)this['_knownOperations']['add'](_0x37686e),this['_addKnownRoot'](_0x37686e),_0x4389e0['batch']['addOperation'](_0x37686e),this['editor']['model']['applyOperation'](_0x37686e);});}['_addKnownRoot'](_0x4c5525){const _0xecfee0=this['_getAffectedRoot'](_0x4c5525);_0xecfee0&&this['_knownRootNames']['add'](_0xecfee0);}['_getAffectedRoot'](_0x32ffc8){let _0x4f25e2,_0x10f82f;switch(_0x32ffc8['type']){case'insert':_0x4f25e2=_0x32ffc8['position']['root'];break;case'marker':if(_0x10f82f=_0x32ffc8['newRange'],!_0x10f82f)return null;_0x4f25e2=_0x10f82f['root'];break;case'addRootAttribute':_0x4f25e2=_0x32ffc8['root'];break;case'addRoot':_0x4f25e2=_0x32ffc8['affectedSelectable'];break;case'move':_0x4f25e2=_0x32ffc8['targetPosition']['root'];break;default:return null;}return _0x4f25e2['rootName'];}['_updateServerHistory'](_0x17331d){_0x17331d['forEach'](_0x326583=>{const _0x15bebc=_0x326583['clone']();_0x15bebc['_authorId']=_0x326583['_authorId'],_0x15bebc['_isInit']=!!_0x326583['_isInit'],_0x15bebc['createdAt']=_0x326583['createdAt'],_0x15bebc['baseVersion']+=this['_offset'],_0x326583['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x15bebc),this['serverHistory']['addOperation'](_0x15bebc);});}['_handleReconnectionError'](_0x4c46ef){const _0x31c7d3=this['editor']['plugins']['get']('Notification'),_0x9d1af6=this['editor']['locale'];_0x4c46ef||(_0x4c46ef=X(_0x9d1af6,'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.')),_0x31c7d3['showWarning'](_0x4c46ef,{'title':X(_0x9d1af6,'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'](_0x5ed6bf)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5ed6bf)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5d0107){const _0x5e0d79=_0x5d0107['map'](_0x1d8c2d=>_0x1d8c2d['toJSON']());return this['_compressor']['compress'](_0x5e0d79);}['_decompressOperations'](_0x4f68b5,_0x2cdc8f){return this['_compressor']['decompress'](_0x4f68b5)['map']((_0xdf569d,_0x193e25)=>{const _0x4a363e='init'==_0x2cdc8f[_0x193e25]['type'];if('InsertOperation'==_0xdf569d['__className']){const _0x125d85=_0xdf569d['position']['root'];!this['_document']['getRoot'](_0x125d85)&&(this['_document']['createRoot']('$root',_0x125d85)['_isAttached']=!0x1);}const _0x2fbd8c=_0x437df2['fromJSON'](_0xdf569d,this['_document']);return _0x2fbd8c['wasUndone']=_0xdf569d['wasUndone'],_0x2fbd8c['_isInit']=_0x4a363e,_0x2fbd8c['_authorId']=_0x4a363e?null:_0x2cdc8f[_0x193e25]['userId'],_0x2fbd8c['_isDisconnection']='cs:removeUser'===_0x2cdc8f[_0x193e25]['type'],_0x2fbd8c['createdAt']=_0x2cdc8f[_0x193e25]['createdAt'],_0x2fbd8c;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2853a5=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2853a5&&_0x2853a5['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x11eeab,_0x4d9480){for(const _0x5774c4 of _0x11eeab)_0x5774c4['baseVersion']=_0x4d9480++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0xea71d1){this['_ignoredOperations']=_0xea71d1,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x32bc76){let _0x59c578=_0x32bc76['length'];for(;_0x59c578--;){const _0x4d60f2=_0x32bc76[_0x59c578];if(!this['_ignoredOperations']['has'](_0x4d60f2)){if(!this['_operationToId']['has'](_0x4d60f2)){const _0x67bdc1=_0x4b8b51()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4d60f2,_0x67bdc1);}return this['_operationToId']['get'](_0x4d60f2);}}}['setIdForTheLastOperation'](_0x20e033,_0x5157df){if(!_0x5157df)return;let _0x44db6d=_0x20e033['length'];for(;_0x44db6d--;){const _0x3d7261=_0x20e033[_0x44db6d];this['_ignoredOperations']['has'](_0x3d7261)||this['_operationToId']['set'](_0x3d7261,_0x5157df);}}}class nt extends _0x1885be{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0xb2d076{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x2134a6)());['_services'];static get['requires'](){return[z,_0x3f8b74,Y,_0x443155];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5267a9){super(_0x5267a9),this['_services']=new Map();}async['init'](){const _0x598e70=this['context'],_0x50872f=_0x598e70['plugins']['get'](_0x3f8b74);if(_0x598e70['plugins']['get'](z)['addToReconnectionStack'](this),_0x50872f['adapter']={'addCommentThread':async({channelId:_0x7110f2,threadId:_0x3d5f10,comments:_0x210053,resolvedAt:_0x2729a6,resolvedBy:_0x48d767,context:_0x5dc8d0,attributes:_0x2b7d7c})=>{const _0x31d8ac=await this['_getService'](_0x7110f2)['addCommentThread']({'commentThreadId':_0x3d5f10,'comments':_0x210053['map'](_0x586ada=>function(_0x533c0e,_0x2553f5,_0x5f587d){return{'commentThreadId':_0x5f587d,'commentId':_0x533c0e['commentId'],'userId':_0x533c0e['authorId'],'content':_0x533c0e['content'],'documentId':_0x2553f5,'createdAt':_0x533c0e['createdAt'],'attributes':_0x533c0e['attributes']||{}};}(_0x586ada,_0x7110f2,_0x3d5f10)),'resolvedAt':_0x2729a6,'resolvedBy':_0x48d767,'context':_0x5dc8d0,'attributes':_0x2b7d7c})['catch'](ct);return{'threadId':_0x31d8ac['commentThreadId'],'comments':_0x31d8ac['comments']};},'getCommentThread':async({channelId:_0x46bc71,threadId:_0x335d0d})=>{const _0x1e47a6=await this['_getService'](_0x46bc71)['getCommentThread'](_0x335d0d)['catch'](rt)['catch'](ct);return _0x1e47a6?_0x1e47a6['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1e47a6]),{'threadId':_0x1e47a6['commentThreadId'],'comments':_0x1e47a6['comments']['map'](at),'context':_0x1e47a6['context'],'resolvedAt':_0x1e47a6['resolvedAt'],'resolvedBy':_0x1e47a6['resolvedBy'],'attributes':_0x1e47a6['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x8de69a,threadId:_0x45bb49,context:_0x82a619,unlinkedAt:_0x4bbb6c,attributes:_0x490c58})=>this['_getService'](_0x8de69a)['updateCommentThread']({'commentThreadId':_0x45bb49,'context':_0x82a619,'attributes':_0x490c58,'unlinkedAt':_0x4bbb6c})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x36bc81,threadId:_0x1440f7})=>{const _0x3311b4=await this['_getService'](_0x36bc81)['resolveCommentThread'](_0x1440f7)['catch'](rt)['catch'](ct);return{'threadId':_0x3311b4['commentThreadId'],'resolvedAt':_0x3311b4['resolvedAt'],'resolvedBy':_0x3311b4['resolvedBy']};},'reopenCommentThread':async({channelId:_0x3ade52,threadId:_0x3d2be2})=>this['_getService'](_0x3ade52)['reopenCommentThread'](_0x3d2be2)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3c627e,threadId:_0x586d3a})=>this['_getService'](_0x3c627e)['removeCommentThread'](_0x586d3a)['catch'](rt)['catch'](ct),'addComment':({channelId:_0xc3edbf,threadId:_0x1ebe92,commentId:_0x37a005,content:_0x5dacc8,attributes:_0x105c83})=>this['_getService'](_0xc3edbf)['addComment'](_0x1ebe92,_0x37a005,_0x5dacc8,_0x105c83)['catch'](ct),'updateComment':({channelId:_0x43e435,threadId:_0x472a6f,commentId:_0x472526,content:_0x4a19e1,attributes:_0x4e65a1})=>this['_getService'](_0x43e435)['updateComment'](_0x472a6f,_0x472526,_0x4a19e1,_0x4e65a1)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1ab735,threadId:_0x32de68,commentId:_0x323fc9})=>this['_getService'](_0x1ab735)['removeComment'](_0x32de68,_0x323fc9)['catch'](rt)['catch'](ct)},_0x598e70 instanceof _0x53fadc){const _0x56ab00=_0x598e70['config']['get']('collaboration.channelId'),_0x3f9890=_0x598e70['plugins']['get'](Y);await this['_setUpService'](_0x56ab00);const _0x574c5a=await this['_services']['get'](_0x56ab00)['getConnectedSessions']();this['listenTo'](_0x3f9890,'sessionAdd:'+_0x56ab00,(_0x24bbd8,{session:_0x2935ad})=>{_0x2935ad['id']===_0x3f9890['mySessionId']&&(_0x24bbd8['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2935ad['permissions'],_0x56ab00));}),_0x3f9890['register'](_0x56ab00,_0x574c5a);}}async['_setUpService'](_0x9d4ff9){if(this['_services']['has'](_0x9d4ff9))throw new _0x36814d('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x9d4ff9});const _0x171fde=this['context']['plugins']['get'](_0x3f8b74),_0x4bd935=new ot['CommentsService'](_0x9d4ff9);this['_services']['set'](_0x9d4ff9,_0x4bd935),this['listenTo'](_0x4bd935,'commentThreadAdded',(_0x12a22a,_0x5dd1d3)=>{const {commentThreadId:_0x52bff7,documentId:_0x1a67dd,context:_0x2b98a6,attributes:_0x3fa3ac,resolvedAt:_0x2a2b67,resolvedBy:_0x187733,comments:_0xac4054}=_0x5dd1d3;_0x171fde['getCommentThread'](_0x52bff7)||_0x171fde['addCommentThread']({'threadId':_0x52bff7,'channelId':_0x1a67dd,'comments':_0xac4054?_0xac4054['map'](at):[],'context':_0x2b98a6,'attributes':_0x3fa3ac,'resolvedAt':_0x2a2b67,'resolvedBy':_0x187733,'isFromAdapter':!0x0});}),this['listenTo'](_0x4bd935,'commentThreadUpdated',(_0xda3388,{commentThreadId:_0x5cb9e9,documentId:_0x21ce44,context:_0x671e79,unlinkedAt:_0x427225,attributes:_0xd2d15c})=>{_0x171fde['getCommentThread'](_0x5cb9e9)&&_0x171fde['updateCommentThread']({'threadId':_0x5cb9e9,'channelId':_0x21ce44,'context':_0x671e79,'unlinkedAt':_0x427225,'attributes':_0xd2d15c,'isFromAdapter':!0x0});}),this['listenTo'](_0x4bd935,'commentThreadResolved',(_0x4fbb30,{commentThreadId:_0x1bb6ab,resolvedBy:_0x594b5c,resolvedAt:_0x44f697})=>{const _0x126db4=_0x171fde['getCommentThread'](_0x1bb6ab);_0x126db4&&_0x126db4['resolve']({'resolvedBy':_0x594b5c,'resolvedAt':_0x44f697,'isFromAdapter':!0x0});}),this['listenTo'](_0x4bd935,'commentThreadReopened',(_0x456b3f,{commentThreadId:_0x56f333})=>{const _0x4fe269=_0x171fde['getCommentThread'](_0x56f333);_0x4fe269&&_0x4fe269['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4bd935,'commentThreadRemoved',(_0x1b8532,{commentThreadId:_0x1c9d97})=>{const _0x4b740b=_0x171fde['getCommentThread'](_0x1c9d97);_0x4b740b&&_0x4b740b['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4bd935,'commentAdded',(_0x52933f,_0xafb907)=>{const _0x6d7c13=_0xafb907['commentThreadId'],_0x1e02d3=_0x171fde['getCommentThread'](_0x6d7c13);_0x1e02d3&&_0x1e02d3['addComment']({...at(_0xafb907),'isFromAdapter':!0x0});}),this['listenTo'](_0x4bd935,'commentUpdated',(_0x58183e,{commentThreadId:_0x273002,commentId:_0x4c9377,content:_0x21cf4e,attributes:_0x2d6edb})=>{const _0x3cd3fe=_0x171fde['getCommentThread'](_0x273002);if(_0x3cd3fe){const _0x34a230=_0x3cd3fe['getComment'](_0x4c9377);_0x34a230&&_0x34a230['update']({'content':_0x21cf4e,'attributes':_0x2d6edb,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4bd935,'commentRemoved',(_0x1c7703,{commentThreadId:_0x185b31,commentId:_0xcf2d03})=>{const _0x137526=_0x171fde['getCommentThread'](_0x185b31);if(_0x137526){const _0x1e494d=_0x137526['getComment'](_0xcf2d03);_0x1e494d&&_0x1e494d['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x9d4ff9);}['destroy'](){if(this['context']instanceof _0x53fadc){const _0x238ad0=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x238ad0);}}['_terminateService'](_0x5070b4){if(!this['_services']['has'](_0x5070b4))throw new _0x36814d('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x5070b4});this['_getService'](_0x5070b4)['disconnect'](),this['_services']['delete'](_0x5070b4);}async['reconnect'](){for(const _0x3908d7 of this['_services']['keys']())await this['_connectService'](_0x3908d7);if(this['context']instanceof _0x53fadc){const _0x11dba2=this['context']['config']['get']('collaboration.channelId'),_0x2f2a5d=this['context']['plugins']['get'](Y);_0x2f2a5d['unregister'](_0x11dba2);const _0x1c9064=await this['_services']['get'](_0x11dba2)['getConnectedSessions']();_0x2f2a5d['register'](_0x11dba2,_0x1c9064);}}async['_connectService'](_0x46ffd8){const {connection:_0x3da4c2}=this['context']['plugins']['get'](z),_0x3f38c2=this['context']['plugins']['get'](_0x3f8b74),_0x471e3b=this['_services']['get'](_0x46ffd8),_0x5b4ca9=await _0x471e3b['connect'](_0x3da4c2);await this['_fetchMissingUsersForThreads'](_0x5b4ca9);const _0x49f610=new Set(Array['from'](_0x3f38c2['getCommentThreads']({'channelId':_0x46ffd8}),_0x318c22=>_0x318c22['id']));for(const _0xd6fa5d of _0x5b4ca9)_0xd6fa5d['deletedAt']||_0x49f610['delete'](_0xd6fa5d['commentThreadId']);for(const _0x387e50 of _0x49f610)_0x3f38c2['getCommentThread'](_0x387e50)['remove']({'isFromAdapter':!0x0});for(const _0x24bce4 of _0x5b4ca9){let _0x480422=_0x3f38c2['getCommentThread'](_0x24bce4['commentThreadId']);const {commentThreadId:_0x502c1b,context:_0x5531ad,attributes:_0x24f324,resolvedBy:_0x1272d2,resolvedAt:_0x3bcbb3,unlinkedAt:_0x3f2a3d,deletedAt:_0x4e4c46}=_0x24bce4;if(_0x4e4c46)continue;_0x480422||(_0x480422=_0x3f38c2['addCommentThread']({'channelId':_0x46ffd8,'threadId':_0x502c1b,'context':_0x5531ad,'attributes':_0x24f324||{},'resolvedBy':_0x1272d2,'resolvedAt':_0x3bcbb3,'unlinkedAt':_0x3f2a3d,'isFromAdapter':!0x0}));const _0x574eae=new Set(Array['from'](_0x480422['comments'],_0x2a6f1d=>_0x2a6f1d['id']));for(const _0x128059 of _0x24bce4['comments'])_0x574eae['delete'](_0x128059['commentId']);for(const _0x12ae85 of _0x574eae)_0x480422['getComment'](_0x12ae85)['remove']({'isFromAdapter':!0x0});for(const _0xd1aa7a of _0x24bce4['comments']){const _0x3326bc=_0x480422['getComment'](_0xd1aa7a['commentId']);_0x3326bc?_0x3326bc['content']!==_0xd1aa7a['content']&&_0x3326bc['update']({'content':_0xd1aa7a['content'],'isFromAdapter':!0x0}):_0x480422['addComment'](Object['assign'](at(_0xd1aa7a),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4ad98d){if(!this['_services']['has'](_0x4ad98d))throw new _0x36814d('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4ad98d});return this['_services']['get'](_0x4ad98d);}async['_fetchMissingUsersForThreads'](_0x4bc36e){const _0x59803d=this['context']['plugins']['get'](_0x443155),{connection:_0x2d750d}=this['context']['plugins']['get'](z),_0x221f0a=new Set();for(const {resolvedBy:_0x58bd9d,comments:_0x3f0f24}of _0x4bc36e){_0x58bd9d&&!_0x59803d['getUser'](_0x58bd9d)&&_0x221f0a['add'](_0x58bd9d);for(const {userId:_0x5ed7b8}of _0x3f0f24)_0x59803d['getUser'](_0x5ed7b8)||_0x221f0a['add'](_0x5ed7b8);}if(0x0===_0x221f0a['size'])return;const _0x14e1a6=await _0x5b2314['getMany'](_0x2d750d,Array['from'](_0x221f0a));for(const _0x2a6634 of _0x14e1a6)_0x59803d['getUser'](_0x2a6634['id'])||_0x59803d['addUser'](_0x2a6634);}}async function rt(_0x847a34){if('404'!==_0x847a34['code'])throw _0x847a34;}function ct(_0xc47c3a){if((_0x36b2d2=_0xc47c3a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x36b2d2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x36b2d2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x36b2d2;throw _0xc47c3a;}function at(_0x541978){return{'threadId':_0x541978['commentThreadId'],'commentId':_0x541978['commentId'],'content':_0x541978['content'],'createdAt':_0x541978['createdAt'],'authorId':_0x541978['userId'],'attributes':_0x541978['attributes']||{}};}class ht extends _0x1885be{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x57f877)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x2ca609,Y,_0x443155];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xbdba2c){super(_0xbdba2c);const _0x526e48=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x526e48);}async['init'](){const _0x534328=this['editor']['plugins']['get'](tt),_0xc42482=_0x534328['serverHistory'],_0x1f2c88=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0xc42482,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x534328['sessionId']});const _0x4a3d12=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x4b75a5,_0x8f4086=await _0x9e6478['isBundleUploaded'](_0x1f2c88['connection'],_0x4a3d12);this['editor']['plugins']['get'](_0x2ca609)['adapter']={'getRevision':async({revisionId:_0x2bd0e9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2bd0e9)),'updateRevisions':async _0x4d3e42=>{await this['_waitForServiceReady']();const _0x7ca433=this['_revisionTracker']['currentRevision'];if(_0x8f4086&&0x1===_0x4d3e42['length']&&_0x4d3e42[0x0]['id']===_0x7ca433['id'])return _0x4d3e42;for(const _0x45fad6 of _0x4d3e42)_0x45fad6['id']===_0x7ca433['id']&&(_0x45fad6['isEmptyCurrent']=_0x45fad6['fromVersion']===_0x45fad6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4d3e42,this['_lastRequestId'])['then'](_0x1fce3a=>(this['_lastRequestId']=_0x1fce3a,_0x4d3e42))['catch'](_0x1a97fe=>{if(pt(_0x1a97fe)||'400'===_0x1a97fe['code']&&void 0x0!==_0x1a97fe['data']['wrongRequestId']){for(const _0x409ac6 of _0x4d3e42){!this['_revisionTracker']['repository']['getRevision'](_0x409ac6['id'])||this['_revisionTracker']['_bufferUpdate'](_0x409ac6['id'],_0x409ac6,!0x1);}if(pt(_0x1a97fe)&&'destroyed'!==this['editor']['state'])throw _0x1a97fe;return _0x4d3e42;}throw _0x1a97fe;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x518b44,{revisionsData:_0x4572ad,requestId:_0x2ab29c})=>{Math['max'](..._0x4572ad['map'](_0x4fb891=>_0x4fb891['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4572ad,_0x2ab29c);}):this['_handleRevisionsUpdate'](_0x4572ad,_0x2ab29c);});const {revisions:_0x15706b,requestId:_0x282494}=await this['_revisionHistoryService']['connect'](_0x1f2c88['connection']);_0x1f2c88['addToReconnectionStack'](this),this['_lastRequestId']=_0x282494,await this['_fetchMissingUsers'](_0x15706b);for(const _0x39a213 of _0x15706b)this['_revisionTracker']['addRevisionData'](_0x39a213);this['listenTo'](_0x534328,'change:_isConnected',(_0x129819,_0x2f828b,_0x2dc423)=>{_0x2dc423&&(this['_oldOffset']=_0x534328['_offset'],_0x129819['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x1f2c88,'state',_0x3a303d=>_0x3a303d===_0x25ca68['CONNECTED']);}async['reconnect'](){const _0x50d361=this['editor']['plugins']['get'](z),_0x3674a5=this['editor']['plugins']['get'](tt),_0x4e090d=async()=>{const _0x4afab6=this['_revisionTracker']['currentRevision'],_0x1114de=_0x4afab6['id'],_0x3c5bdd=_0x1114de!==_0x3674a5['sessionId'];if(_0x3c5bdd){const _0x30b90b=_0x3674a5['_offset']-this['_oldOffset'],_0xdd6bb8=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x4afab6['toVersion']+_0x30b90b!==_0xdd6bb8){const _0x409e13=_0x4afab6['fromVersion']+_0x30b90b,_0x2513bc=this['editor']['plugins']['get'](_0x443155),_0x5764c5=this['_revisionTracker']['buildRevisionData']({'revision':_0x4afab6,'from':_0x409e13,'to':_0xdd6bb8});_0x5764c5['id']=_0x4afab6['id'];const _0x22efba=_0x5764c5['authorsIds']['map'](_0x4a49f6=>_0x2513bc['getUser'](_0x4a49f6));_0x4afab6['_update']({..._0x5764c5,'authors':_0x22efba},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4afab6['id'],_0x5764c5,!0x0);}this['_revisionTracker']['_startingVersion']=_0xdd6bb8,(_0x4afab6['toVersion']===_0x4afab6['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1114de)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1114de),this['_revisionTracker']['_createCurrentRevision'](_0xdd6bb8));}const {revisions:_0x253999,requestId:_0x1720e1}=await this['_revisionHistoryService']['reconnect'](_0x50d361['connection'],this['_lastRequestId']);_0x3c5bdd&&_0x253999['length']>0x0?_0x3674a5['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x253999),this['_handleRevisionsUpdate'](_0x253999,_0x1720e1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3674a5['_isConnected']?_0x4e090d():new Promise((_0x3256fa,_0x195dda)=>{_0x3674a5['once']('change:_isConnected',()=>{_0x4e090d()['then'](_0x3256fa)['catch'](_0x195dda);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x534e5d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1834f6=>{_0x1834f6['off'](),_0x534e5d();});});}['_getLatestVersionFromServerOperations'](){const _0x58178b=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x15d311 of _0x58178b)if('marker'!==_0x15d311['type']||_0x15d311['affectsData'])return _0x15d311['baseVersion']+0x1;}['_getLatestVersion'](){const _0x367437=this['editor']['plugins']['get'](tt);return new Promise(_0x1eb8d6=>{_0x367437['_isPendingUpdate']?_0x367437['once']('change:_isPendingUpdate',()=>{_0x1eb8d6(this['_getLatestVersionFromServerOperations']());}):_0x1eb8d6(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x478402,_0x3e3250){const _0x4db035=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3e3250;for(const _0x363237 of _0x478402){const _0x2178eb=_0x4db035['getRevision'](_0x363237['id']);if(_0x2178eb){if((_0x363237['fromVersion']||_0x363237['toVersion'])&&(_0x363237['diffData']=null),_0x2178eb===this['_revisionTracker']['currentRevision']){const _0x1792b9=Math['max'](_0x2178eb['toVersion'],_0x363237['toVersion']),_0x105ef8=Math['max'](_0x2178eb['fromVersion'],_0x363237['fromVersion']);let _0x4dc55f;_0x2178eb['toVersion']===_0x363237['toVersion']&&_0x2178eb['fromVersion']===_0x363237['fromVersion']?(_0x4dc55f=!0x0,this['_preventResendingRevisionData'](_0x363237)):_0x363237['toVersion']===_0x1792b9&&_0x363237['fromVersion']===_0x105ef8?_0x4dc55f=!0x1:(_0x2178eb['toVersion']===_0x1792b9&&_0x2178eb['fromVersion']===_0x105ef8||this['_fixRevision']({'revision':_0x2178eb,'from':_0x105ef8,'to':_0x1792b9}),_0x4dc55f=!0x0),_0x4dc55f&&(delete _0x363237['fromVersion'],delete _0x363237['toVersion'],delete _0x363237['diffData'],delete _0x363237['createdAt'],delete _0x363237['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x363237),this['_preventResendingRevisionData'](_0x363237);}else this['_revisionTracker']['addRevisionData'](_0x363237);}const _0x4b3f88=_0x4db035['getRevisions']();_0x4b3f88['reverse']();for(let _0x47614c=0x0;_0x47614c<_0x4b3f88['length']-0x1;_0x47614c++){const _0x56f94a=_0x4b3f88[_0x47614c],_0x5c91c2=_0x4b3f88[_0x47614c+0x1];if(_0x56f94a['fromVersion']<_0x5c91c2['toVersion']){const _0x55ef6f=_0x5c91c2['toVersion'],_0x4a54e7=Math['max'](_0x55ef6f,_0x56f94a['toVersion']);this['_fixRevision']({'revision':_0x56f94a,'from':_0x55ef6f,'to':_0x4a54e7});}}}['_fixRevision']({revision:_0x29f496,from:_0x4e7424,to:_0x2e081c}={}){const _0x53cd75=this['editor']['plugins']['get'](_0x443155),_0x217e05=this['_revisionTracker']['buildRevisionData']({'revision':_0x29f496,'from':_0x4e7424,'to':_0x2e081c});_0x217e05['authors']=_0x217e05['authorsIds']['map'](_0x3d4c4a=>_0x53cd75['getUser'](_0x3d4c4a)),_0x29f496['_update'](_0x217e05);}['_preventResendingRevisionData'](_0x4b5a8a){const _0x51f705={};_0x51f705['id']=_0x4b5a8a['id'];for(const _0x36b6e1 of Object['keys'](_0x4b5a8a))'id'!==_0x36b6e1&&(_0x51f705[_0x36b6e1]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x51f705['id'],_0x51f705,!0x0);}async['_fetchMissingUsers'](_0x5002cf){const _0x4c39e8=this['editor']['plugins']['get'](_0x443155),{connection:_0x3fac3b}=this['editor']['plugins']['get'](z),_0x2ed9cf=new Set();for(const _0x2fa6e9 of _0x5002cf){for(const _0x3da2e0 of _0x2fa6e9['authorsIds'])_0x52bd75(_0x3da2e0);_0x2fa6e9['creatorId']&&_0x52bd75(_0x2fa6e9['creatorId']);}if(0x0===_0x2ed9cf['size'])return;const _0x417d7d=await _0x5b2314['getMany'](_0x3fac3b,Array['from'](_0x2ed9cf));for(const _0xfd38da of _0x417d7d)_0x4c39e8['getUser'](_0xfd38da['id'])||_0x4c39e8['addUser'](_0xfd38da);function _0x52bd75(_0x35de35){_0x4c39e8['getUser'](_0x35de35)||_0x2ed9cf['add'](_0x35de35);}}}function pt(_0x4ef9cf){return _0x4ef9cf['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4ef9cf['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4ef9cf['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x1885be{static get['requires'](){return[_0x2ca609,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x1cd989{['_collapseAt'];constructor(_0x3da153,_0x23c6c7=0x6){super(_0x3da153);const _0xd0640b=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x23c6c7,this['bind']('isHidden')['to'](this,'usersCount',_0x398177=>_0x398177<_0x23c6c7),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xd0640b['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':_0xd0640b['to']('usersCount',_0x3d21b8=>'+'+(_0x3d21b8-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x1cd989{['items'];['keystrokes'];constructor(_0x5a748b){super(_0x5a748b);const _0x3b31b1=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x154e98(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3b31b1['if']('hasPopup'),'aria-expanded':_0x3b31b1['to']('isExpanded',_0x2098a7=>this['hasPopup']&&String(_0x2098a7)),'aria-label':_0x3b31b1['to']('hasPopup',_0x504ae2=>X(_0x5a748b,_0x504ae2?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3b31b1['to']('hasPopup',_0x671fd3=>!!_0x671fd3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3b31b1['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3b31b1['to'](_0x1204bd=>{const _0x2dd950=_0x1204bd,_0x253902=document['querySelector']('.ck-presence-list__dropdown-list'),_0x19b6ad=document['querySelector']('.ck-balloon-panel_with-arrow');_0x253902?.['contains'](_0x2dd950['relatedTarget'])||_0x19b6ad?.['contains'](_0x2dd950['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x30c36a,_0x21ca19,_0x25d5a3)=>{this['element']&&(_0x25d5a3?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x1cd989{['counterView'];['inlineListView'];constructor(_0x58344a,_0x3ca5dd=0x6){super(_0x58344a);const _0x67c243=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x3ca5dd),this['inlineListView']=new vt(_0x58344a),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2f7d3a of this['inlineListView']['items'])_0x2f7d3a['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',_0x67c243['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x1cd989{['listWrapperView'];constructor(_0x58fe59,_0x11bde7){super(_0x58fe59);const _0x22e409=this['bindTemplate'];this['listWrapperView']=new bt(_0x58fe59,_0x11bde7),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x58fe59,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x22e409['to'](_0x343a09=>{const _0x36207c=_0x343a09,_0x3bbcac=document['querySelector']('.ck-presence-list__list'),_0x5a499b=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3bbcac?.['contains'](_0x36207c['relatedTarget'])||_0x5a499b?.['contains'](_0x36207c['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x97e680{constructor(_0xb2cf60,_0x19b355){super(_0xb2cf60);const _0x127703=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x19b355?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x127703['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x127703['to']('role'),'aria-label':_0x127703['to']('ariaLabel'),'aria-labelledby':_0x127703['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x58cf37['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x277c3d=this['element'];_0x277c3d&&(this['_isScrollable']=Math['max'](_0x277c3d['scrollHeight'],_0x277c3d['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x1349fc{['userView'];constructor(_0x55d093,_0x58ebd6,_0x5d09a8){super(_0x55d093);const _0x5c7def=this['bindTemplate'];this['userView']=new _0x365ed9(_0x55d093,_0x58ebd6);const _0x1d5de6={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x58ebd6['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x58ebd6['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x58ebd6['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x58ebd6['color']['getColorVariable'](),'--ck-user-color-alpha':_0x58ebd6['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x5d09a8&&(_0x1d5de6['tag']='button',_0x1d5de6['on']={'click':_0x5c7def['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1d5de6);}['focus'](){this['element']['focus']();}}class It extends _0x1cd989{['userView'];['markerView'];constructor(_0x58bca8,_0x399182,_0x5deb45){super(_0x58bca8);const _0x1117bd=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x365ed9(_0x58bca8,_0x399182),this['markerView']=new St(_0x58bca8,_0x399182);const _0x5ec329=new _0x85a073(_0x58bca8);_0x5ec329['template']['tag']='span',_0x5ec329['text']=_0x399182['name'];const _0x5dab75={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1117bd['to']('isFocusable',_0x58be6c=>!!_0x58be6c&&0x0),'aria-labelledby':_0x5ec329['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1117bd['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1117bd['to']('hasTooltip',_0x1cc642=>!_0x1cc642),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5ec329]};_0x5deb45&&(_0x5dab75['tag']='button',_0x5dab75['on']={'click':_0x1117bd['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5dab75);}}class St extends _0x1cd989{constructor(_0x15e4ae,_0x116aa1){super(_0x15e4ae),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x116aa1['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x116aa1['color']['getColorVariable'](),'--ck-user-color-alpha':_0x116aa1['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0xb2d076{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b857d){super(_0x1b857d),this['context']['config']['define']('presenceList',Tt);const _0x500a46=_0x1b857d['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x500a46)throw new _0x36814d('presencelist-collapseat-invalid-format',this);if(_0x500a46<0x1)throw new _0x36814d('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2dbc61(),this['balloonPanelView']=new _0x413bf4(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x2bdd83 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2bdd83);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4d998c,_0x5231b8)=>{this['_handleUserAdd'](_0x5231b8);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1ece3b,_0x4cdc36)=>{this['_handleUserRemove'](_0x4cdc36);});}['_createView'](){const _0x368b5e=this['context'],_0x39f5f3=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4e19c8=this['balloonPanelView'];if(!_0x2487a9(_0x368b5e['config']['get']('presenceList.container')))throw new _0x36814d('presencelist-missing-container',this);return _0x39f5f3['counterView']['bind']('usersCount')['to'](this),_0x39f5f3['bind']('isCollapsed')['to'](this,'usersCount',_0x3b6070=>{const {collapseAt:_0x13810b}=_0x368b5e['config']['get']('presenceList'),_0x79c5df=_0x3b6070>=_0x13810b;if(_0x79c5df&&!_0x39f5f3['inlineListView']['items']['find'](_0x58bb85=>_0x58bb85 instanceof wt)){const _0x39d28b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x39d28b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x39f5f3['inlineListView']['items']['add'](_0x39f5f3['counterView']);}return _0x79c5df||this['hideDropdown'](),_0x79c5df;}),_0x39f5f3['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x3b085a=>{const _0x1fee80=_0x368b5e['config']['get']('presenceList'),_0x3b998d=new It(_0x368b5e['locale'],_0x3b085a,!!_0x1fee80['onClick']);return _0x3b998d['bind']('hasTooltip')['to'](_0x39f5f3,'isCollapsed',_0x366490=>!_0x366490),_0x3b998d['bind']('isFocusable')['to'](_0x39f5f3,'isCollapsed',_0x4e4ed6=>!_0x4e4ed6),_0x1fee80['onClick']&&this['listenTo'](_0x3b998d,'execute',()=>{this['view']['isCollapsed']||_0x1fee80['onClick'](_0x3b085a,_0x3b998d['element']);}),_0x3b998d;}),this['listenTo'](_0x39f5f3['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x39f5f3['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x39f5f3['inlineListView']['keystrokes']['set']('Enter',(_0x14ff7f,_0x37e062)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x37e062());}),_0x39f5f3['render'](),_0x4e19c8['render'](),_0xe12ddf({'emitter':_0x39f5f3,'activator':()=>_0x4e19c8['isVisible'],'contextElements':[_0x4e19c8['element'],_0x39f5f3['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x368b5e['config']['get']('presenceList.container')['appendChild'](_0x39f5f3['element']),this['_bodyCollection']=new _0x411c47(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x39f5f3;}['_handleUserAdd'](_0x36ea42){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x36ea42['isMe'])return;const _0x3b6ca3=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3b6ca3-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x376182=_0x36ea42['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x36ea42,_0x376182);}['_handleUserRemove'](_0x50843e){this['usersCount']--;const {collapseAt:_0x5981ca}=this['context']['config']['get']('presenceList'),_0x5455cd=this['usersCount']>=_0x5981ca;if(this['currentDisplayedUsers']['get'](_0x50843e['id']))this['currentDisplayedUsers']['remove'](_0x50843e['id']);else{if(_0x5455cd&&this['currentDisplayedUsers']['length']+0x1===_0x5981ca-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x5455cd?0x1:0x0)<this['usersCount']){for(const _0x286e64 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x286e64['id'])&&(this['currentDisplayedUsers']['add'](_0x286e64,Math['min'](this['currentDisplayedUsers']['length']-(_0x5455cd?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x5455cd?0x1:0x0)===_0x5981ca-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4748f0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x4748f0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x16f930}=this['presenceDropdownView'];_0x16f930['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3c41bb=>{if(!_0x4748f0['displayMe']&&_0x3c41bb['isMe'])return null;const _0x26b8ab=new kt(this['context']['locale'],_0x3c41bb,!!_0x4748f0['onClick']);return _0x4748f0['onClick']&&this['listenTo'](_0x26b8ab,'execute',()=>{_0x4748f0['onClick'](_0x3c41bb,_0x26b8ab['element']);}),_0x26b8ab;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x16f930['focus'](),_0x16f930['checkIfScrollable']();const _0x4b27ed=(_0x393490,_0xc54018)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xc54018();};_0x16f930['keystrokes']['set']('Esc',_0x4b27ed),_0x16f930['keystrokes']['set']('Shift+Tab',_0x4b27ed),_0x16f930['keystrokes']['set']('Tab',(_0x36f447,_0x37ad00)=>{!function(_0x42ca53){const _0x3b8c47=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x25109c=>_0x25109c+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2fa1dd=[...document['body']['querySelectorAll'](_0x3b8c47)]['filter'](_0x85a85e=>_0x85a85e===document['activeElement']||_0x85a85e['offsetWidth']+_0x85a85e['offsetHeight']>0x0)['sort']((_0x5c351b,_0x47841f)=>(_0x5c351b['tabIndex']||0x0)-(_0x47841f['tabIndex']||0x0)),_0x4a9aa9=_0x2fa1dd['indexOf'](_0x42ca53),_0x3a0bee=_0x2fa1dd[(_0x4a9aa9+0x1)%_0x2fa1dd['length']];_0x3a0bee&&_0x3a0bee['focus']();}(this['view']['element']),this['hideDropdown'](),_0x37ad00();}),_0x16f930['focusTracker']['add'](this['view']['element']),_0x16f930['focusTracker']['on']('change:isFocused',(_0x541eb2,_0x50a546,_0x2c1c82)=>{_0x2c1c82||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0xb2d076{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|
|
23
|
+
import{ContextPlugin as _0x301857,Plugin as _0x525919,PendingActions as _0x2e9287,Context as _0x8106a0}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x15074d,CKEditorError as _0x5ca446,Collection as _0x4be9e8,global as _0x410313,version as _0x53ac72,uid as _0x53ed0a,KeystrokeHandler as _0x3192ca}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x5338a0,View as _0x5f3d1a,ListView as _0x2aa0a6,ListItemView as _0xf6d61d,LabelView as _0x3a59ab,BalloonPanelView as _0x31f4d8,clickOutsideHandler as _0x507db1,BodyCollection as _0x6aff50}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x1edf96,History as _0x3cef10,NoOperation as _0x4f98a8,InsertOperation as _0x59cbf4,MarkerOperation as _0x2eb419,RootAttributeOperation as _0x3bb171,transformOperationSets as _0x337fb0,OperationFactory as _0x4fb23e}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x3dbb6d}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x2c7745,WEB_SOCKET_GATEWAY_STATES as _0xf3d8b5,CollaborativeEditingService as _0x4052b4,User as _0x36e987,CommentsService as _0x3f36bf,TrackChangesService as _0x5d9822,RevisionHistoryService as _0x3af4a6,EditorService as _0x39cbd3}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x5783db,UserView as _0x5a2b39}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0xc14c8}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x438d69,TrackChanges as _0x5a552b}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x27c5eb,Comments as _0x6f1f0e,CommentsEditing as _0x3a954d}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x134b36}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x15a965}from'es-toolkit/compat';class WebSocketGateway extends _0x301857{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x2c7745)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x3dbb6d,_0x5338a0];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2532a7){super(_0x2532a7),this['set']('state',_0xf3d8b5['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x15074d())();}['init'](){const _0x2bd552=this['context'],_0x58b3f1=_0x2bd552['plugins']['get'](_0x3dbb6d),_0x30061c=_0x2bd552['plugins']['get'](_0x5338a0);if(!_0x58b3f1['token'])throw new _0x5ca446('websocketgateway-missing-token',this);if(!_0x58b3f1['webSocketUrl'])throw new _0x5ca446('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'](_0x58b3f1['token'],_0x58b3f1['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x48dea2=>{if(this['connection']=_0x48dea2,this['bind']('state')['to'](_0x48dea2,'state',this,'_isBrowserOffline',(_0x4ab84d,_0x475a61)=>('connected'!==_0x4ab84d&&(this['_shouldPluginsReconnect']=!0x0),_0x475a61||_0x4ab84d!==_0xf3d8b5['CONNECTED']?_0xf3d8b5['DISCONNECTED']:this['state']==_0xf3d8b5['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xf3d8b5['CONNECTING']):_0xf3d8b5['CONNECTED'])),this['connection']['on']('error',(_0x5e2908,_0x1d15e9)=>{if('limitExceeded'!==_0x1d15e9['code'])throw console['error'](_0x1d15e9),new _0x5ca446('cloudservices-init',null,{'originalError':_0x1d15e9});_0x30061c['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'});}),!_0x48dea2['me'])return new Promise(_0x5075e3=>_0x48dea2['on']('change:me',_0x5075e3));})['catch'](_0x1a07d7=>{throw console['error'](_0x1a07d7),new _0x5ca446('cloudservices-init',null,{'originalError':_0x1a07d7});});}['addToReconnectionStack'](_0x4b4da9){if('function'!=typeof _0x4b4da9['reconnect'])throw new _0x5ca446('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4b4da9))throw new _0x5ca446('websocketgateway-plugin-already-registered',this,{'name':_0x4b4da9['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4b4da9);}['removeFromReconnectionStack'](_0x441200){this['_reconnectionStack']['delete'](_0x441200);}['isInReconnectionStack'](_0x1ef9e4){return this['_reconnectionStack']['has'](_0x1ef9e4);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5ac5e6=>_0x5ac5e6['reconnect']())))['then'](()=>this['state']=_0xf3d8b5['CONNECTED'])['catch'](_0x5bd149=>{throw console['error'](_0x5bd149),new _0x5ca446('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xf3d8b5['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Sessions extends _0x301857{['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[WebSocketGateway,_0x5783db];}constructor(_0x232993){super(_0x232993),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4be9e8(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5783db);}['init'](){const _0x17d243=this['context']['plugins']['get'](WebSocketGateway);this['listenTo'](_0x17d243,'change:state',(_0x2928d1,_0x279e3a,_0x18646c)=>{if('connected'!==_0x18646c)this['channelSessions']['forEach'](_0x52a0f3=>_0x52a0f3['clear']()),this['channelConnectedUsers']['forEach'](_0x309a4a=>_0x309a4a['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xac541b,_0x305eec]of this['_registeredSessions'])for(const _0x536169 of _0x305eec)this['_handleSessionAdd'](_0xac541b,_0x536169);}}),this['_createUser'](_0x17d243['connection']['me'],!0x0);}['register'](_0x1fd193,_0xb0e96e){if(this['_registeredSessions']['has'](_0x1fd193))throw new _0x5ca446('sessions-register-already-registered',null,{'channelId':_0x1fd193});this['_registeredSessions']['set'](_0x1fd193,_0xb0e96e),this['channelSessions']['set'](_0x1fd193,new _0x4be9e8()),this['channelConnectedUsers']['set'](_0x1fd193,new _0x4be9e8()),this['listenTo'](_0xb0e96e,'add',(_0x54ab9,_0x2d49bd)=>this['_handleSessionAdd'](_0x1fd193,_0x2d49bd)),this['listenTo'](_0xb0e96e,'remove',(_0x4f850d,_0x13a637)=>this['_handleSessionRemove'](_0x1fd193,_0x13a637));for(const _0x842870 of _0xb0e96e)this['_handleSessionAdd'](_0x1fd193,_0x842870);}['unregister'](_0x30e284){if(!this['_registeredSessions']['has'](_0x30e284))throw new _0x5ca446('sessions-unregister-not-exist',null,{'channelId':_0x30e284});const _0x555223=this['_registeredSessions']['get'](_0x30e284);this['stopListening'](_0x555223);for(const _0x405db5 of _0x555223)'connected'===this['context']['plugins']['get'](WebSocketGateway)['state']&&this['_handleSessionRemove'](_0x30e284,_0x405db5);this['_registeredSessions']['delete'](_0x30e284),this['channelSessions']['delete'](_0x30e284),this['channelConnectedUsers']['delete'](_0x30e284);}get['mySessionId'](){return this['context']['plugins']['get'](WebSocketGateway)['connection']['sessionId'];}['getUserBySessionId'](_0x32c8b6){for(const _0x35b04f of this['channelSessions']['values']())for(const _0xfd7923 of _0x35b04f)if(_0xfd7923['id']===_0x32c8b6)return _0xfd7923['user'];}['getUserSessions'](_0x599287,_0x50f7d2){const _0xadb424=_0x50f7d2?[this['channelSessions']['get'](_0x50f7d2)]:this['channelSessions']['values'](),_0x509b30=new Set();for(const _0x9e106d of _0xadb424)for(const _0x3823fe of _0x9e106d)_0x3823fe['user']['id']===_0x599287['id']&&_0x509b30['add'](_0x3823fe['id']);return _0x509b30;}['getUserRole'](_0x161153){for(const _0x1d796a of this['channelSessions']['values']())for(const _0x3b15a7 of _0x1d796a)if(_0x3b15a7['user']===_0x161153)return _0x3b15a7['role'];}['_handleSessionAdd'](_0x29b31a,_0x2220d2){if('connected'!==this['context']['plugins']['get'](WebSocketGateway)['state'])return;const _0xba6404=_0x2220d2['user'],_0x4cf4b0=this['_users']['getUser'](_0xba6404['id'])||this['_createUser'](_0xba6404),_0x64e116=Object['assign']({},_0x2220d2,{'user':_0x4cf4b0});if(this['channelSessions']['get'](_0x29b31a)['add'](_0x64e116),!_0xba6404['hiddenInPresenceList']){const _0x501a96=this['channelConnectedUsers']['get'](_0x29b31a);_0x501a96['has'](_0x4cf4b0['id'])||_0x501a96['add'](_0x4cf4b0),this['allConnectedUsers']['has'](_0x4cf4b0['id'])||_0xba6404['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x4cf4b0,_0x4cf4b0['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x29b31a,{'channelId':_0x29b31a,'session':_0x64e116});}['_handleSessionRemove'](_0x663099,_0x479344){if('connected'!==this['context']['plugins']['get'](WebSocketGateway)['state'])return;const _0x50a9de=this['channelConnectedUsers']['get'](_0x663099),_0x2bdd6f=_0x479344['user'];_0x2bdd6f['id']&&(this['channelSessions']['get'](_0x663099)['remove'](_0x479344['id']),_0x50a9de['has'](_0x2bdd6f['id'])&&!this['getUserSessions'](_0x2bdd6f,_0x663099)['size']&&_0x50a9de['remove'](_0x2bdd6f['id']),this['allConnectedUsers']['get'](_0x2bdd6f['id'])&&!this['getUserSessions'](_0x2bdd6f)['size']&&this['allConnectedUsers']['remove'](_0x2bdd6f['id']));}['_createUser'](_0xc5f41f,_0x1ba7f0){const _0x53ead1=this['_users']['addUser'](_0xc5f41f);return _0x1ba7f0&&this['_users']['defineMe'](_0xc5f41f['id']),_0x53ead1['orderNumber']=this['_uniqueUsersCount']++,_0x53ead1;}}class UserMarkers extends _0x525919{['_domEmitter']=new(_0x15074d())();static get['requires'](){return[Sessions];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x39bf3c=this['editor'],_0x21f59c=_0x39bf3c['plugins']['get'](Sessions);_0x39bf3c['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x187461,{writer:_0x490e1c})=>function(_0x357a71,_0x11611e,_0xa26fe4,_0xccabf3){const _0x3cac5d=_0x357a71['markerName']['split'](':')[0x2],_0x4eb7fb=_0xa26fe4['getUserBySessionId'](_0x3cac5d);if(!_0x4eb7fb||_0x3cac5d===_0xa26fe4['mySessionId'])return;if(!_0xccabf3['model']['schema']['checkChild'](_0x357a71['markerRange']['start'],'$text'))return;const _0xdad9ff={'class':'ck-user__marker\x20'+_0x4eb7fb['color']['getMarkerClass'](),'style':Y(_0x4eb7fb),'data-name':_0x4eb7fb['name'],'data-session-id':_0x3cac5d},_0x10a76b=_0xccabf3['model']['markers']['get'](_0x357a71['markerName']),_0x183560=_0x10a76b['getStart'](),_0xd7a97=_0x183560['nodeAfter'],_0x55b70e=_0xccabf3['model']['schema'];if(_0xd7a97&&_0x55b70e['isObject'](_0xd7a97)&&_0x55b70e['isInline'](_0xd7a97)&&!_0xccabf3['model']['markers']['get']('user:range:'+_0x3cac5d)['getRange']()['isCollapsed'])return;const _0x1205a3=_0x183560['parent'];return _0xccabf3['model']['schema']['isLimit'](_0x1205a3)&&!_0xccabf3['model']['hasContent'](_0x1205a3)&&(_0xdad9ff['contenteditable']=!0x1),function(_0x1a2405,_0x56acff,_0x893ebb){const _0x2ad96b=_0x1a2405['createUIElement']('span',_0x56acff);return _0x1a2405['setCustomProperty']('userPositionMarker',!0x0,_0x2ad96b),_0x2ad96b['render']=function(_0x11039e){const _0x257c5b=this['toDomElement'](_0x11039e),_0x295671=document['createElement']('span');return _0x295671['classList']['add']('ck-user__marker-tooltip'),_0x295671['setAttribute']('contenteditable','false'),_0x295671['setAttribute']('spellcheck','false'),_0x295671['textContent']=_0x893ebb['name'],_0x257c5b['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x295671['outerHTML']+'',_0x257c5b['addEventListener']('mouseenter',()=>{_0x257c5b['classList']['add']('ck-user__marker_hovered');}),_0x257c5b['addEventListener']('mouseleave',()=>{_0x257c5b['classList']['remove']('ck-user__marker_hovered');}),_0x257c5b;},_0x2ad96b['isSimilar']=function(_0x498578){return!(!this['getCustomProperty']('userPositionMarker')||!_0x498578['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x498578['getAttribute']('data-session-id'));},_0x2ad96b;}(_0x11611e,_0xdad9ff,_0x4eb7fb);}(_0x187461,_0x490e1c,_0x21f59c,_0x39bf3c)}),_0x39bf3c['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x425a64=>function(_0x3b7807,_0x1e84ec){const _0x328756=_0x3b7807['markerName']['split'](':')[0x2];if(_0x328756===_0x1e84ec['mySessionId'])return null;const _0x1402bd=_0x1e84ec['getUserBySessionId'](_0x328756);if(!_0x1402bd)return{'id':_0x328756,'classes':[]};return{'id':_0x328756,'classes':['ck-user__selection',_0x1402bd['color']['getSelectionClass']()],'attributes':{'style':Y(_0x1402bd),'data-session-id':_0x328756},'priority':0x7d0+_0x1402bd['orderNumber']};}(_0x425a64,_0x21f59c)}),function(_0x2fd968){const _0x1a02ee=_0x2fd968['model'],_0x44cc20=new Map(),_0x591c14=_0x2fd968['plugins']['get'](Sessions);_0x1a02ee['markers']['on']('update:user:range',(_0xf450ad,_0x409320,_0x239dd9,_0x48ccfd)=>{if(!_0x48ccfd&&_0x44cc20['get'](_0x409320['name']))return _0x44cc20['get'](_0x409320['name'])['detach'](),void _0x44cc20['delete'](_0x409320['name']);const _0x21315e=_0x409320['name']['split'](':')[0x2];if(_0x21315e===_0x591c14['mySessionId'])return;const _0x2659f9='user:position:'+_0x21315e;_0x1a02ee['markers']['has'](_0x2659f9)&&_0x2fd968['editing']['reconvertMarker'](_0x2659f9),_0x409320['on']('change:range',(_0x144aad,_0x5c2211,_0x3b2ce6)=>{if('$graveyard'!=_0x5c2211['root']['rootName']&&'$graveyard'==_0x409320['getRange']()['root']['rootName']&&!_0x44cc20['has'](_0x409320['name'])){const _0x26135b=_0x1a02ee['schema']['getNearestSelectionRange'](_0x3b2ce6['deletionPosition']);if(_0x26135b){const _0xe78982=_0x1edf96['fromRange'](_0x26135b);_0x44cc20['set'](_0x409320['name'],_0xe78982),_0xe78982['on']('change:range',(_0x3feeda,_0x18fc2f,_0x3f8292)=>{if('$graveyard'==_0xe78982['root']['rootName']){const _0x383041=_0x1a02ee['schema']['getNearestSelectionRange'](_0x3f8292['deletionPosition']);_0x383041?(_0xe78982['start']=_0x383041['start'],_0xe78982['end']=_0x383041['end']):(_0x44cc20['delete'](_0x409320['name']),_0xe78982['detach']());}});}}});}),_0x1a02ee['document']['on']('change',()=>{_0x44cc20['size']>0x0&&_0x1a02ee['enqueueChange']({'isUndoable':!0x1},_0x3e6a33=>{for(const [_0x229978,_0x213213]of _0x44cc20)'$graveyard'==_0x1a02ee['markers']['get'](_0x229978)['getRange']()['root']['rootName']&&(z(_0x229978['split'](':')[0x2],_0x213213['toRange'](),_0x1a02ee,_0x3e6a33),_0x213213['detach']());_0x44cc20['clear']();});});}(_0x39bf3c),this['_domEmitter']['listenTo'](_0x410313['document'],'keydown',(_0x93f7d7,{key:_0x3ca933})=>{'Escape'===_0x3ca933&&function(_0x1b1a26){_0x1b1a26['editing']['view']['change'](_0x449b2d=>{for(const _0x51d0a5 of _0x1b1a26['model']['markers']){if(!_0x51d0a5['name']['startsWith']('user:position'))continue;const _0x5a5cf4=_0x1b1a26['editing']['mapper']['markerNameToElements'](_0x51d0a5['name']);if(_0x5a5cf4){for(const _0x161c0f of _0x5a5cf4)_0x449b2d['removeClass']('ck-user__marker_hovered',_0x161c0f);}}});}(_0x39bf3c);},{'useCapture':!0x0});}['afterInit'](){const _0x32dd3e=this['editor'],_0x109469=_0x32dd3e['commands']['get']('undo');_0x109469&&_0x32dd3e['model']['on']('applyOperation',(_0x2d91f1,_0x1225fb)=>{const _0x32b869=_0x1225fb[0x0];if(!_0x32b869['isDocumentOperation'])return;if('marker'!=_0x32b869['type']||!_0x32b869['name']['startsWith']('user:'))return;const _0x104b5c=_0x32b869['batch'];_0x109469['_createdBatches']['has'](_0x104b5c)&&(_0x32b869['newRange']=_0x32b869['oldRange']?_0x32dd3e['model']['createRange'](_0x32b869['oldRange']['start'],_0x32b869['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2908c9=this['editor'],_0x2d2777=_0x2908c9['model']['document'],_0x53f2db=_0x2908c9['plugins']['get'](Sessions);_0x2908c9['model']['enqueueChange']({'isUndoable':!0x1},_0x4a9ca3=>{const _0x51e5c6='user:range:'+_0x53f2db['mySessionId'],_0x46b3a3='user:position:'+_0x53f2db['mySessionId'],_0x2b2271=_0x2908c9['model']['markers']['has'](_0x51e5c6);_0x2908c9['editing']['view']['hasDomSelection']?z(_0x53f2db['mySessionId'],_0x2d2777['selection']['getFirstRange'](),_0x2908c9['model'],_0x4a9ca3):_0x2b2271&&(_0x4a9ca3['removeMarker'](_0x51e5c6),_0x4a9ca3['removeMarker'](_0x46b3a3));});}}function z(_0x195dcb,_0x4a056c,_0x204417,_0x2d895e){const _0xcc794='user:range:'+_0x195dcb,_0x37a262='user:position:'+_0x195dcb,_0x5de51b=_0x4a056c['getContainedElement']();let _0x282edd=_0x4a056c['start'];if(_0x5de51b&&_0x5de51b['is']('element','tableCell')){const _0x33a412=function(_0x1dbdd2,_0x153cc8){for(const _0x542cad of _0x1dbdd2['getPositions']())if(_0x153cc8['schema']['checkChild'](_0x542cad,'$text'))return _0x542cad;}(_0x4a056c,_0x204417);_0x33a412&&(_0x282edd=_0x33a412,_0x4a056c=_0x2d895e['createRange'](_0x282edd));}const _0x3f5bd8=_0x2d895e['createRange'](_0x282edd);_0x204417['markers']['has'](_0xcc794)?(_0x2d895e['updateMarker'](_0xcc794,{'range':_0x4a056c}),_0x2d895e['updateMarker'](_0x37a262,{'range':_0x3f5bd8})):(_0x2d895e['addMarker'](_0xcc794,{'range':_0x4a056c,'usingOperation':!0x0}),_0x2d895e['addMarker'](_0x37a262,{'range':_0x3f5bd8,'usingOperation':!0x0}));}function Y(_0x15bf11){return'--ck-user-color:'+_0x15bf11['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x15bf11['color']['getColorAlphaVariable']()+';';}function K(_0x3a7227,_0x2c5488,_0x18e41d){const _0x2b58c3=_0x3a7227['t'],t=_0x3a7227['t'];switch(_0x2c5488){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 _0x2b58c3({'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'},_0x18e41d);default:return'';}}let J=0x1;class RealTimeCollaborationClient extends _0x525919{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x4052b4)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[WebSocketGateway,Sessions,UserMarkers,_0x2e9287,_0x5783db,_0x5338a0];}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 _0x440945=this['serverHistory']['getOperations']();for(let _0x1f3fca=_0x440945['length']-0x1;_0x1f3fca>=0x0;_0x1f3fca--){const _0x2612cf=_0x440945[_0x1f3fca];if(!this['_disconnectionOperations']['has'](_0x2612cf))return _0x2612cf['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x2646a7){if(super(_0x2646a7),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3cef10(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x5ca446('collaboration-missing-channelid',this);const _0x49c118=_0x2646a7['config']['get']('cloudServices.bundleVersion')||_0x53ac72;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x49c118,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xc14c8(),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 OperationIdentifier(this['_disconnectionOperations']);}['init'](){const _0x3adc82=this['editor'],_0x42d936=_0x3adc82['plugins']['get'](_0x5783db),_0x35943a=_0x3adc82['plugins']['get'](WebSocketGateway);this['listenTo'](_0x42d936,'getOperationAuthor',(_0x185bc0,_0x20ea7a)=>{const _0x2fe27f=_0x20ea7a[0x0];_0x2fe27f['_authorId']&&(_0x185bc0['return']=_0x42d936['getUser'](_0x2fe27f['_authorId']),_0x185bc0['stop']()),null===_0x2fe27f['_authorId']&&(_0x185bc0['return']=null,_0x185bc0['stop']());},{'priority':'high'}),this['listenTo'](_0x3adc82['model']['document']['selection'],'change:range',(_0x5c9735,_0x338d4f)=>{_0x338d4f['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3adc82['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3adc82['model']['on']('applyOperation',(_0x359ef8,_0x201289)=>{const _0x576c1f=_0x201289[0x0];_0x576c1f['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x576c1f),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x35943a,'state',this,'_hasSynchronizationProblem',(_0x145848,_0x3600e7)=>'connected'===_0x145848&&!_0x3600e7),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3adc82['disableReadOnlyMode']('rtc-offline'):_0x3adc82['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3adc82['disableReadOnlyMode']('rtc-offline'):_0x3adc82['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x574b74=this['editor']['plugins']['get'](Sessions),_0x33c1b6=this['editor']['plugins']['get'](WebSocketGateway);try{this['_isPendingUpdate']=!0x0,_0x574b74['unregister'](this['_channelId']);const _0x31dfdf=await this['_service']['reconnect'](_0x33c1b6['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x31dfdf)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4b5891=await this['_service']['getConnectedSessions']();_0x574b74['register'](this['_channelId'],_0x4b5891),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x393f80){if(function(_0x24d467){return'404'===_0x24d467['code'];}(_0x393f80)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xfbe0fa){return'409'===_0xfbe0fa['code'];}(_0x393f80)){const _0x2079e1=K(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'](_0x2079e1);}else{if(!(_0x393f80 instanceof ReconnectionError))throw _0x393f80;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3a7427=this['editor']['plugins']['get'](WebSocketGateway),_0x3ec89a=this['editor']['plugins']['get'](Sessions);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3ec89a['channelSessions']['has'](this['_channelId'])&&_0x3ec89a['unregister'](this['_channelId']),_0x3a7427['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x3c2fbf){if(this['sessionId']!==_0x3c2fbf['sessionId']&&this['_lastSyncedOperationId']!==_0x3c2fbf['lastOperationId'])throw new ReconnectionError();return this['sessionId']=_0x3c2fbf['sessionId'],this['_handleServerResponse']([],{..._0x3c2fbf,'wereChangesApplied':!0x1,'data':_0x3c2fbf['data']},'reconnect');}async['_connectService'](_0x3b2a09,_0x46d740=!0x1){const {connection:_0x1a24df}=this['editor']['plugins']['get'](WebSocketGateway);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x1a24df,this['_channelId'])['then'](_0x17e0a7=>this['_initSessionsHandling'](_0x17e0a7))['catch'](_0x43f9c9=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x43f9c9);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x7ec2ef,_0x4ff8d5)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4ff8d5);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x267174=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3b2a09);this['_isPendingUpdate']=!0x0;const _0x204159=await this['_service']['connect'](_0x1a24df,this['_compressOperations'](_0x3b2a09),_0x267174);if(this['sessionId']=_0x204159['sessionId'],_0x46d740){if(!_0x204159['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x204159['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x3b2a09,_0x204159,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x204159,_0x3b2a09);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x9ce6b5=this['editor']['plugins']['get'](Sessions),_0x3aed22=this['editor']['plugins']['get'](UserMarkers),_0x11ccb8=_0x9ce6b5['channelSessions']['get'](this['_channelId']);_0x11ccb8&&_0x11ccb8['length']>0x1?_0x3aed22['createUserMarkerOperations']():this['listenTo'](_0x9ce6b5,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x9ce6b5['channelSessions']['get'](this['_channelId'])['length']&&_0x3aed22['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x5e60b6,_0x1b44b3,_0x831e13,_0x5015d9){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1b44b3){const _0x4d3c1b=this['_decompressOperations'](_0x831e13,_0x5015d9);await this['_fetchMissingUsers'](_0x4d3c1b),this['_handleExternalOperations'](_0x4d3c1b,_0x1b44b3,_0x831e13['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xe23bc}=this['editor'];let _0xb7f70b;try{_0xb7f70b=await this['_service']['getDocumentDetails']();}catch{const _0x52c514=K(_0xe23bc,'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'](_0x52c514);}const _0x1d7c31=_0xb7f70b['currentDocumentSession']||_0xb7f70b['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1d7c31['lastOperationId']){const _0x25265e=K(_0xe23bc,'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'](_0x25265e);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x33e59b){const _0x5d5b68=this['editor']['plugins']['get'](Sessions);this['listenTo'](_0x5d5b68,'sessionAdd:'+this['_channelId'],(_0x5ac746,{session:_0x4677e6})=>{if(_0x4677e6['id']===_0x5d5b68['mySessionId']){_0x5ac746['off']();const _0x432bb8=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x352df3=_0x4677e6['permissions'];_0x432bb8&&_0x432bb8['isEnabled']&&(_0x352df3=_0x352df3['filter'](_0x2424d9=>'document:write'!==_0x2424d9)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x352df3,this['_channelId']);}}),_0x5d5b68['register'](this['_channelId'],_0x33e59b);}['_initThrowingOnDataSet'](){const _0x37c760=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x46751f)=>{if(!_0x46751f[_0x46751f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x5ca446('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x37c760['apply'](this['editor']['data'],_0x46751f);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x3a9c7b,[_0x19755b])=>{if(this['_document']['version'])throw new _0x5ca446('realtimecollaborationclient-init-document-already-initialized',this);_0x3a9c7b['stop'](),this['_setPendingAction']();const _0x124de6=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x10c181])=>!_0x10c181['lazyLoad'])['map'](([_0x2202c6,_0x2b08f2])=>[_0x2202c6,_0x2b08f2['modelAttributes']||{}])),_0x260f23=this['_getOperationsFromInitData'](_0x19755b,_0x124de6);0x0==_0x260f23['length']&&_0x260f23['push'](new _0x4f98a8(0x0)),_0x3a9c7b['return']=this['_connectService'](_0x260f23)['then'](()=>{this['editor']['plugins']['get'](WebSocketGateway)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0xbcf569=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0xbcf569))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x8b4d4c,[_0x52b2ba,_0x9ca499])=>{_0x8b4d4c['stop']();const _0x4dc381=this['editor']['model']['document']['getRoot'](_0x52b2ba);if(!this['_knownRootNames']['has'](_0x52b2ba)){const _0x15ab83=_0x9ca499&&_0x9ca499['data']?_0x9ca499['data']:'',_0xf9785a=_0x9ca499&&_0x9ca499['attributes']?_0x9ca499['attributes']:{};await this['_loadRoot'](_0x52b2ba,_0x15ab83,_0xf9785a);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x4dc381['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x4dc381);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x45ce55){const _0x4168fc=this['editor']['plugins']['get'](_0x5783db),{connection:_0x256f2a}=this['editor']['plugins']['get'](WebSocketGateway),_0x5d4ba9=new Set();for(const _0x2304c7 of _0x45ce55){const _0x3f8608=_0x2304c7['_authorId'];_0x3f8608&&!_0x4168fc['getUser'](_0x3f8608)&&_0x5d4ba9['add'](_0x3f8608);}if(0x0===_0x5d4ba9['size'])return;const _0x449a64=await _0x36e987['getMany'](_0x256f2a,Array['from'](_0x5d4ba9));for(const _0x2b7493 of _0x449a64)_0x4168fc['getUser'](_0x2b7493['id'])||_0x4168fc['addUser'](_0x2b7493);}['_getOperationsFromInitData'](_0x3d2dc5,_0x5a9cac={}){const _0x159957=this['editor']['model'],_0x186518=[];let _0x52d1cf=0x0;const _0x1aa9b1='string'==typeof _0x3d2dc5?{'main':_0x3d2dc5}:_0x3d2dc5;for(const _0x2b6275 of Object['keys'](_0x1aa9b1)){if(!this['_document']['roots']['has'](_0x2b6275))throw new _0x5ca446('realtimecollaborationclient-init-non-existent-root',this);const _0x580f7a=this['_document']['getRoot'](_0x2b6275),_0xfd18=this['editor']['data']['parse'](_0x1aa9b1[_0x2b6275],_0x580f7a),_0x441755=new _0x59cbf4(_0x159957['createPositionAt'](_0x580f7a,0x0),_0xfd18,_0x52d1cf++);_0x186518['push'](_0x441755);for(const [_0x29cb48,_0xed0d24]of _0xfd18['markers']){const _0x271b3d=_0x159957['createRange'](_0x159957['createPositionFromPath'](_0x580f7a,_0xed0d24['start']['path']['slice']()),_0x159957['createPositionFromPath'](_0x580f7a,_0xed0d24['end']['path']['slice']())),_0x185350=new _0x2eb419(_0x29cb48,null,_0x271b3d,_0x159957['markers'],!0x0,_0x52d1cf++);_0x186518['push'](_0x185350);}}if(_0x5a9cac)for(const [_0x33ebe4,_0x201fd9]of Object['entries'](_0x5a9cac)){const _0x42ddab=_0x159957['document']['getRoot'](_0x33ebe4);if(!_0x42ddab)throw new _0x5ca446('multi-root-editor-root-attributes-no-root',null);for(const [_0x4193b3,_0x4d7860]of Object['entries'](_0x201fd9))if(null!==_0x4d7860){const _0x2a3d59=new _0x3bb171(_0x42ddab,_0x4193b3,null,_0x4d7860,_0x52d1cf++);_0x186518['push'](_0x2a3d59);}}return _0x186518;}async['_loadRoot'](_0x4e5138,_0x2367aa,_0x571e39){this['_getOperationsFromInitData']({[_0x4e5138]:_0x2367aa},{[_0x4e5138]:_0x571e39})['forEach']((_0x369b03,_0x2e5019)=>{_0x369b03['baseVersion']=this['_document']['version']+_0x2e5019,_0x369b03['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x369b03);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5f4dfd,_0x3631d7){let _0x54cb45;this['_offset']=_0x5f4dfd['offset'];const _0x292d35=_0x5f4dfd['wereChangesApplied']&&!_0x5f4dfd['initData'],_0x1d3de3=_0x292d35?0x0:_0x5f4dfd['data']['baseVersion'];if(_0x3631d7['forEach'](_0x48857d=>{_0x48857d['_isInit']=!0x0,_0x48857d['createdAt']=_0x5f4dfd['sessionCreatedAt'],_0x48857d['_authorId']=null;}),_0x292d35)_0x54cb45=_0x3631d7,this['_applyOperationsSet'](_0x54cb45,_0x292d35);else{if(_0x5f4dfd['initData']){const _0x529462=this['_getOperationsFromInitData'](_0x5f4dfd['initData']);this['_document']['history']['version']=-_0x529462['length'],_0x529462['forEach'](_0x71b3b=>{_0x71b3b['baseVersion']-=_0x529462['length'],_0x71b3b['createdAt']=_0x5f4dfd['sessionCreatedAt'],_0x71b3b['_isInit']=!0x0,_0x71b3b['_authorId']=null;}),this['_applyOperationsSet'](_0x529462,!0x0),this['serverHistory']['version']=-_0x529462['length']+this['_offset'],this['_updateServerHistory'](_0x529462);}this['_document']['history']['version']=_0x1d3de3,_0x54cb45=this['_decompressOperations'](_0x5f4dfd['data'],_0x5f4dfd['metadata']),await this['_fetchMissingUsers'](_0x54cb45),this['_applyOperationsSet'](_0x54cb45,_0x292d35);}_0x5f4dfd['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x54cb45,_0x5f4dfd['lastOperationId']),this['_lastSyncedOperationId']=_0x5f4dfd['lastOperationId']),this['serverHistory']['version']=_0x1d3de3+this['_offset'],this['_updateServerHistory'](_0x54cb45),_0x3631d7['filter'](_0x1b344a=>{const _0x119f59=this['_getAffectedRoot'](_0x1b344a);return _0x119f59&&!this['_knownRootNames']['has'](_0x119f59);})['forEach']((_0x2028e3,_0x9aca79)=>{_0x2028e3['baseVersion']=this['_document']['version']+_0x9aca79,this['_saveOperationInBuffer'](_0x2028e3);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x441842,_0x25b6f4){const _0x4672cf=_0x25b6f4&&_0x25b6f4['message'];if(_0x4672cf&&_0x4672cf['startsWith']('realtimecollaborationclient'))throw _0x25b6f4;const _0x3e9d46=this['editor']['plugins']['get'](WebSocketGateway);throw this['_isPendingUpdate']=!0x0,_0x3e9d46['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x5ca446(_0x441842,this['editor'],_0x4672cf?{'originalError':_0x4672cf}:void 0x0);}['_saveOperationInBuffer'](_0x4b1743){this['_knownOperations']['has'](_0x4b1743)||(this['_knownOperations']['add'](_0x4b1743),this['_bufferedOperations']['push'](_0x4b1743),this['_pendingAction']||'marker'==_0x4b1743['type']&&!_0x4b1743['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xe45ce7=!0x1){!_0xe45ce7&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x535641=>{_0x535641&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3f70c9=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x450727){return _0x450727['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x450727['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x450727['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3f70c9)||this['_crash'](_0x3f70c9['message'],_0x3f70c9);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x9cbaed=>{this['on']('change:_isPendingUpdate',()=>{_0x9cbaed();});});}async['_sendBufferedOperations'](){const _0x7e5e9f=this['editor']['plugins']['get'](UserMarkers);if(this['_shouldSendSelectionUpdate']()&&(_0x7e5e9f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x973614=[...this['_bufferedOperations']];for(const _0xd66915 of _0x973614)_0xd66915['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xd66915);const _0x4f7e37=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x973614),_0x12e51a=J++,_0x605a19=this['_compressOperations'](_0x973614),_0x49b5d6=await this['_service']['sendOperations'](_0x605a19,_0x605a19['baseVersion'],_0x4f7e37);try{return await this['_handleServerResponse'](_0x973614,_0x49b5d6,_0x12e51a);}catch(_0x1e0379){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1e0379);}}async['_handleServerResponse'](_0x19d869,_0x313096,_0x573fe1){if('error'in _0x313096)throw _0x313096['error'];let _0x567e00=!0x1;if(_0x313096['wereChangesApplied']){_0x313096['lastOperationId']&&(this['_lastSyncedOperationId']=_0x313096['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x7ef04f=>!_0x19d869['includes'](_0x7ef04f));for(const _0x4c0d7f of _0x19d869)_0x4c0d7f['createdAt']='lastOperationAcceptedAt'in _0x313096&&_0x313096['lastOperationAcceptedAt']||void 0x0;Q(_0x19d869,_0x313096['version']-_0x19d869['length']),this['_updateServerHistory'](_0x19d869);const _0x411c83=_0x19d869['filter'](_0x429f4e=>{if(!_0x429f4e['_isInit'])return!0x1;const _0x4f50b2=this['_getAffectedRoot'](_0x429f4e);return _0x4f50b2&&!this['_knownRootNames']['has'](_0x4f50b2);});Q(_0x411c83,this['_document']['version']),this['_applyOperationsSet'](_0x411c83),_0x567e00=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x58513c=this['_decompressOperations'](_0x313096['data'],_0x313096['metadata'])['filter'](_0x2b84d0=>_0x2b84d0['baseVersion']>=this['_lastServerVersion']);_0x58513c['forEach'](_0x49d308=>this['_addKnownRoot'](_0x49d308)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x16cc7d=>!_0x16cc7d['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x16cc7d))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x58513c),_0x567e00=this['_handleExternalOperations'](_0x58513c,_0x313096['version'],_0x313096['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x567e00?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1085bc,_0x17c8f2,_0x152c8f){try{const _0x506635={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2eba07,operationsB:_0x3038a0,originalOperations:_0x170477}=_0x337fb0(_0x1085bc,this['_bufferedOperations'],_0x506635);Q(_0x2eba07,this['_document']['version']),Q(_0x3038a0,_0x17c8f2);for(const _0x5987f7 of _0x2eba07){const _0x53d398=_0x170477['get'](_0x5987f7);_0x5987f7['_authorId']=_0x53d398?_0x53d398['_authorId']:null;}_0x152c8f&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1085bc,_0x152c8f),this['_lastSyncedOperationId']=_0x152c8f),this['_bufferedOperations']=[..._0x3038a0],this['_applyOperationsSet'](_0x2eba07),this['_updateServerHistory'](_0x1085bc);}catch(_0x44fa2c){return console['error'](_0x44fa2c),!0x1;}return!0x0;}['_applyOperationsSet'](_0x415d6c,_0x309df5=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1c22dd=>{for(const _0x90c462 of _0x415d6c)this['_knownOperations']['add'](_0x90c462),this['_addKnownRoot'](_0x90c462),_0x1c22dd['batch']['addOperation'](_0x90c462),this['editor']['model']['applyOperation'](_0x90c462);});}['_addKnownRoot'](_0x4aa549){const _0x6d92d5=this['_getAffectedRoot'](_0x4aa549);_0x6d92d5&&this['_knownRootNames']['add'](_0x6d92d5);}['_getAffectedRoot'](_0x4302c1){let _0x3ad684,_0x46ceae;switch(_0x4302c1['type']){case'insert':_0x3ad684=_0x4302c1['position']['root'];break;case'marker':if(_0x46ceae=_0x4302c1['newRange'],!_0x46ceae)return null;_0x3ad684=_0x46ceae['root'];break;case'addRootAttribute':_0x3ad684=_0x4302c1['root'];break;case'addRoot':_0x3ad684=_0x4302c1['affectedSelectable'];break;case'move':_0x3ad684=_0x4302c1['targetPosition']['root'];break;default:return null;}return _0x3ad684['rootName'];}['_updateServerHistory'](_0x17072e){_0x17072e['forEach'](_0x1087ea=>{const _0x3d2909=_0x1087ea['clone']();_0x3d2909['_authorId']=_0x1087ea['_authorId'],_0x3d2909['_isInit']=!!_0x1087ea['_isInit'],_0x3d2909['createdAt']=_0x1087ea['createdAt'],_0x3d2909['baseVersion']+=this['_offset'],_0x1087ea['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3d2909),this['serverHistory']['addOperation'](_0x3d2909);});}['_handleReconnectionError'](_0x53b0af){const _0x425885=this['editor']['plugins']['get']('Notification'),_0x33a7f1=this['editor']['locale'];_0x53b0af||(_0x53b0af=K(_0x33a7f1,'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.')),_0x425885['showWarning'](_0x53b0af,{'title':K(_0x33a7f1,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](WebSocketGateway)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x2e9287)['add'](K(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2e9287)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x50b0c5){const _0x38f790=_0x50b0c5['map'](_0xddf554=>_0xddf554['toJSON']());return this['_compressor']['compress'](_0x38f790);}['_decompressOperations'](_0x2eeca8,_0x44a813){return this['_compressor']['decompress'](_0x2eeca8)['map']((_0x4b49ca,_0x878ef2)=>{const _0x4771a1='init'==_0x44a813[_0x878ef2]['type'];if('InsertOperation'==_0x4b49ca['__className']){const _0x2f6ed7=_0x4b49ca['position']['root'];!this['_document']['getRoot'](_0x2f6ed7)&&(this['_document']['createRoot']('$unknown',_0x2f6ed7)['_isAttached']=!0x1);}else{if('RootOperation'==_0x4b49ca['__className']){const _0x421f5f=this['_document']['getRoot'](_0x4b49ca['rootName']);_0x421f5f&&'$unknown'==_0x421f5f['name']&&_0x4b49ca['elementName']!=_0x421f5f['name']&&(_0x421f5f['name']=_0x4b49ca['elementName']);}}const _0x1cfeb6=_0x4fb23e['fromJSON'](_0x4b49ca,this['_document']);return _0x1cfeb6['wasUndone']=_0x4b49ca['wasUndone'],_0x1cfeb6['_isInit']=_0x4771a1,_0x1cfeb6['_authorId']=_0x4771a1?null:_0x44a813[_0x878ef2]['userId'],_0x1cfeb6['_isDisconnection']='cs:removeUser'===_0x44a813[_0x878ef2]['type'],_0x1cfeb6['createdAt']=_0x44a813[_0x878ef2]['createdAt'],_0x1cfeb6;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x25c028=this['editor']['plugins']['get'](Sessions)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x25c028&&_0x25c028['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class ReconnectionError extends Error{}function Q(_0x14bdfe,_0x48d75d){for(const _0x7b9dfa of _0x14bdfe)_0x7b9dfa['baseVersion']=_0x48d75d++;}class OperationIdentifier{['_ignoredOperations'];['_operationToId'];constructor(_0x571ebf){this['_ignoredOperations']=_0x571ebf,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3ebff8){let _0x383068=_0x3ebff8['length'];for(;_0x383068--;){const _0xb7cd09=_0x3ebff8[_0x383068];if(!this['_ignoredOperations']['has'](_0xb7cd09)){if(!this['_operationToId']['has'](_0xb7cd09)){const _0x3fd513=_0x53ed0a()['slice'](0x1,0x12);this['_operationToId']['set'](_0xb7cd09,_0x3fd513);}return this['_operationToId']['get'](_0xb7cd09);}}}['setIdForTheLastOperation'](_0x4d25da,_0x3de40f){if(!_0x3de40f)return;let _0x2a5ed9=_0x4d25da['length'];for(;_0x2a5ed9--;){const _0x698e90=_0x4d25da[_0x2a5ed9];this['_ignoredOperations']['has'](_0x698e90)||this['_operationToId']['set'](_0x698e90,_0x3de40f);}}}class RealTimeCollaborativeEditing extends _0x525919{static get['requires'](){return[RealTimeCollaborationClient];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class CloudServicesCommentsAdapter extends _0x301857{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x3f36bf)());['_services'];static get['requires'](){return[WebSocketGateway,_0x27c5eb,Sessions,_0x5783db];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x45e325){super(_0x45e325),this['_services']=new Map();}async['init'](){const _0x310cec=this['context'],_0x64a978=_0x310cec['plugins']['get'](_0x27c5eb);if(_0x310cec['plugins']['get'](WebSocketGateway)['addToReconnectionStack'](this),_0x64a978['adapter']={'addCommentThread':async({channelId:_0x24b152,threadId:_0x43dd85,comments:_0x439097,resolvedAt:_0x1c182d,resolvedBy:_0x538df0,context:_0x1ae0cf,attributes:_0x26dee9})=>{const _0x464e4d=await this['_getService'](_0x24b152)['addCommentThread']({'commentThreadId':_0x43dd85,'comments':_0x439097['map'](_0x1a75a4=>function(_0x4d7f23,_0x549541,_0x53ecb1){return{'commentThreadId':_0x53ecb1,'commentId':_0x4d7f23['commentId'],'userId':_0x4d7f23['authorId'],'content':_0x4d7f23['content'],'documentId':_0x549541,'createdAt':_0x4d7f23['createdAt'],'attributes':_0x4d7f23['attributes']||{}};}(_0x1a75a4,_0x24b152,_0x43dd85)),'resolvedAt':_0x1c182d,'resolvedBy':_0x538df0,'context':_0x1ae0cf,'attributes':_0x26dee9})['catch'](Z);return{'threadId':_0x464e4d['commentThreadId'],'comments':_0x464e4d['comments']};},'getCommentThread':async({channelId:_0x148899,threadId:_0x1aeb60})=>{const _0x50fda7=await this['_getService'](_0x148899)['getCommentThread'](_0x1aeb60)['catch'](X)['catch'](Z);return _0x50fda7?_0x50fda7['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x50fda7]),{'threadId':_0x50fda7['commentThreadId'],'comments':_0x50fda7['comments']['map'](tt),'context':_0x50fda7['context'],'resolvedAt':_0x50fda7['resolvedAt'],'resolvedBy':_0x50fda7['resolvedBy'],'attributes':_0x50fda7['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x2ccf09,threadId:_0x433fb5,context:_0x2ce8e4,unlinkedAt:_0x908eda,attributes:_0x3c0063})=>this['_getService'](_0x2ccf09)['updateCommentThread']({'commentThreadId':_0x433fb5,'context':_0x2ce8e4,'attributes':_0x3c0063,'unlinkedAt':_0x908eda})['catch'](X)['catch'](Z),'resolveCommentThread':async({channelId:_0xa27697,threadId:_0x514edb})=>{const _0x3f8927=await this['_getService'](_0xa27697)['resolveCommentThread'](_0x514edb)['catch'](X)['catch'](Z);return{'threadId':_0x3f8927['commentThreadId'],'resolvedAt':_0x3f8927['resolvedAt'],'resolvedBy':_0x3f8927['resolvedBy']};},'reopenCommentThread':async({channelId:_0x442611,threadId:_0x48e36c})=>this['_getService'](_0x442611)['reopenCommentThread'](_0x48e36c)['catch'](X)['catch'](Z),'removeCommentThread':({channelId:_0x510d7e,threadId:_0x109c90})=>this['_getService'](_0x510d7e)['removeCommentThread'](_0x109c90)['catch'](X)['catch'](Z),'addComment':({channelId:_0x56b840,threadId:_0x39c200,commentId:_0x50126e,content:_0x2afe66,attributes:_0x11a5de})=>this['_getService'](_0x56b840)['addComment'](_0x39c200,_0x50126e,_0x2afe66,_0x11a5de)['catch'](Z),'updateComment':({channelId:_0x1f0fd6,threadId:_0x561880,commentId:_0x3d988d,content:_0x42126c,attributes:_0x3f889f})=>this['_getService'](_0x1f0fd6)['updateComment'](_0x561880,_0x3d988d,_0x42126c,_0x3f889f)['catch'](X)['catch'](Z),'removeComment':({channelId:_0x165f44,threadId:_0x2efc6d,commentId:_0x53b28d})=>this['_getService'](_0x165f44)['removeComment'](_0x2efc6d,_0x53b28d)['catch'](X)['catch'](Z)},_0x310cec instanceof _0x8106a0){const _0x49b691=_0x310cec['config']['get']('collaboration.channelId'),_0x497db5=_0x310cec['plugins']['get'](Sessions);await this['_setUpService'](_0x49b691);const _0xc2681b=await this['_services']['get'](_0x49b691)['getConnectedSessions']();this['listenTo'](_0x497db5,'sessionAdd:'+_0x49b691,(_0x2730aa,{session:_0x164f5c})=>{_0x164f5c['id']===_0x497db5['mySessionId']&&(_0x2730aa['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x164f5c['permissions'],_0x49b691));}),_0x497db5['register'](_0x49b691,_0xc2681b);}}async['_setUpService'](_0x2986ac){if(this['_services']['has'](_0x2986ac))throw new _0x5ca446('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2986ac});const _0x287c70=this['context']['plugins']['get'](_0x27c5eb),_0x1d9351=new CloudServicesCommentsAdapter['CommentsService'](_0x2986ac);this['_services']['set'](_0x2986ac,_0x1d9351),this['listenTo'](_0x1d9351,'commentThreadAdded',(_0x26b9a6,_0x49c9fa)=>{const {commentThreadId:_0x4efd3a,documentId:_0x1798b8,context:_0x5858a2,attributes:_0x5972e6,resolvedAt:_0x2cb39d,resolvedBy:_0xc84b4e,comments:_0x528f7b}=_0x49c9fa;_0x287c70['getCommentThread'](_0x4efd3a)||_0x287c70['addCommentThread']({'threadId':_0x4efd3a,'channelId':_0x1798b8,'comments':_0x528f7b?_0x528f7b['map'](tt):[],'context':_0x5858a2,'attributes':_0x5972e6,'resolvedAt':_0x2cb39d,'resolvedBy':_0xc84b4e,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d9351,'commentThreadUpdated',(_0x5eb3c2,{commentThreadId:_0x4e38f4,documentId:_0x3ac04b,context:_0x1e4265,unlinkedAt:_0x3c24c6,attributes:_0x35e615})=>{_0x287c70['getCommentThread'](_0x4e38f4)&&_0x287c70['updateCommentThread']({'threadId':_0x4e38f4,'channelId':_0x3ac04b,'context':_0x1e4265,'unlinkedAt':_0x3c24c6,'attributes':_0x35e615,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d9351,'commentThreadResolved',(_0x5f3db4,{commentThreadId:_0x9541f4,resolvedBy:_0x24de50,resolvedAt:_0x1a54fe})=>{const _0x55852d=_0x287c70['getCommentThread'](_0x9541f4);_0x55852d&&_0x55852d['resolve']({'resolvedBy':_0x24de50,'resolvedAt':_0x1a54fe,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d9351,'commentThreadReopened',(_0x4e1c0d,{commentThreadId:_0xb399f2})=>{const _0x4b9190=_0x287c70['getCommentThread'](_0xb399f2);_0x4b9190&&_0x4b9190['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1d9351,'commentThreadRemoved',(_0x31b1a1,{commentThreadId:_0x4173fb})=>{const _0x57a933=_0x287c70['getCommentThread'](_0x4173fb);_0x57a933&&_0x57a933['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1d9351,'commentAdded',(_0x2892b3,_0x28d4e9)=>{const _0x5db292=_0x28d4e9['commentThreadId'],_0x113c74=_0x287c70['getCommentThread'](_0x5db292);_0x113c74&&_0x113c74['addComment']({...tt(_0x28d4e9),'isFromAdapter':!0x0});}),this['listenTo'](_0x1d9351,'commentUpdated',(_0x170496,{commentThreadId:_0x555ee2,commentId:_0x467e5f,content:_0x15c8f0,attributes:_0x5c3b7b})=>{const _0x871636=_0x287c70['getCommentThread'](_0x555ee2);if(_0x871636){const _0x18f243=_0x871636['getComment'](_0x467e5f);_0x18f243&&_0x18f243['update']({'content':_0x15c8f0,'attributes':_0x5c3b7b,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1d9351,'commentRemoved',(_0x57faca,{commentThreadId:_0x302a16,commentId:_0x45c472})=>{const _0xc5797c=_0x287c70['getCommentThread'](_0x302a16);if(_0xc5797c){const _0x16050d=_0xc5797c['getComment'](_0x45c472);_0x16050d&&_0x16050d['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2986ac);}['destroy'](){if(this['context']instanceof _0x8106a0){const _0x1b8942=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1b8942);}}['_terminateService'](_0x4c588c){if(!this['_services']['has'](_0x4c588c))throw new _0x5ca446('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4c588c});this['_getService'](_0x4c588c)['disconnect'](),this['_services']['delete'](_0x4c588c);}async['reconnect'](){for(const _0x8a9b70 of this['_services']['keys']())await this['_connectService'](_0x8a9b70);if(this['context']instanceof _0x8106a0){const _0x38d22c=this['context']['config']['get']('collaboration.channelId'),_0x541ece=this['context']['plugins']['get'](Sessions);_0x541ece['unregister'](_0x38d22c);const _0x3f1169=await this['_services']['get'](_0x38d22c)['getConnectedSessions']();_0x541ece['register'](_0x38d22c,_0x3f1169);}}async['_connectService'](_0x2adfa7){const {connection:_0x587547}=this['context']['plugins']['get'](WebSocketGateway),_0x1f1220=this['context']['plugins']['get'](_0x27c5eb),_0x2f9773=this['_services']['get'](_0x2adfa7),_0x5c06ed=await _0x2f9773['connect'](_0x587547);await this['_fetchMissingUsersForThreads'](_0x5c06ed);const _0x9f0060=new Set(Array['from'](_0x1f1220['getCommentThreads']({'channelId':_0x2adfa7}),_0x92126e=>_0x92126e['id']));for(const _0x20ab28 of _0x5c06ed)_0x20ab28['deletedAt']||_0x9f0060['delete'](_0x20ab28['commentThreadId']);for(const _0x3df88b of _0x9f0060)_0x1f1220['getCommentThread'](_0x3df88b)['remove']({'isFromAdapter':!0x0});for(const _0x525fff of _0x5c06ed){let _0x5267e0=_0x1f1220['getCommentThread'](_0x525fff['commentThreadId']);const {commentThreadId:_0x4ed941,context:_0x2a36e7,attributes:_0x5e9298,resolvedBy:_0x6b0873,resolvedAt:_0x1b669c,unlinkedAt:_0x8880e1,deletedAt:_0x3a2d85}=_0x525fff;if(_0x3a2d85)continue;_0x5267e0||(_0x5267e0=_0x1f1220['addCommentThread']({'channelId':_0x2adfa7,'threadId':_0x4ed941,'context':_0x2a36e7,'attributes':_0x5e9298||{},'resolvedBy':_0x6b0873,'resolvedAt':_0x1b669c,'unlinkedAt':_0x8880e1,'isFromAdapter':!0x0}));const _0x1d00b9=new Set(Array['from'](_0x5267e0['comments'],_0x497df7=>_0x497df7['id']));for(const _0x1a3f47 of _0x525fff['comments'])_0x1d00b9['delete'](_0x1a3f47['commentId']);for(const _0x14c884 of _0x1d00b9)_0x5267e0['getComment'](_0x14c884)['remove']({'isFromAdapter':!0x0});for(const _0x3160be of _0x525fff['comments']){const _0x547a8f=_0x5267e0['getComment'](_0x3160be['commentId']);_0x547a8f?_0x547a8f['content']!==_0x3160be['content']&&_0x547a8f['update']({'content':_0x3160be['content'],'isFromAdapter':!0x0}):_0x5267e0['addComment'](Object['assign'](tt(_0x3160be),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3000c1){if(!this['_services']['has'](_0x3000c1))throw new _0x5ca446('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3000c1});return this['_services']['get'](_0x3000c1);}async['_fetchMissingUsersForThreads'](_0x3fac74){const _0x2a971f=this['context']['plugins']['get'](_0x5783db),{connection:_0x16a8fe}=this['context']['plugins']['get'](WebSocketGateway),_0x1fbb93=new Set();for(const {resolvedBy:_0x1bc653,comments:_0x245328}of _0x3fac74){_0x1bc653&&!_0x2a971f['getUser'](_0x1bc653)&&_0x1fbb93['add'](_0x1bc653);for(const {userId:_0x4ec9d7}of _0x245328)_0x2a971f['getUser'](_0x4ec9d7)||_0x1fbb93['add'](_0x4ec9d7);}if(0x0===_0x1fbb93['size'])return;const _0x35c7a0=await _0x36e987['getMany'](_0x16a8fe,Array['from'](_0x1fbb93));for(const _0x276e6f of _0x35c7a0)_0x2a971f['getUser'](_0x276e6f['id'])||_0x2a971f['addUser'](_0x276e6f);}}async function X(_0x3c30cf){if('404'!==_0x3c30cf['code'])throw _0x3c30cf;}function Z(_0x3f3028){if((_0xf8a5e2=_0x3f3028)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xf8a5e2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xf8a5e2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xf8a5e2;throw _0x3f3028;}function tt(_0x76e811){return{'threadId':_0x76e811['commentThreadId'],'commentId':_0x76e811['commentId'],'content':_0x76e811['content'],'createdAt':_0x76e811['createdAt'],'authorId':_0x76e811['userId'],'attributes':_0x76e811['attributes']||{}};}class CloudServicesTrackChangesAdapter extends _0x525919{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x5d9822)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[CloudServicesCommentsAdapter,_0x438d69,WebSocketGateway];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3a079d){super(_0x3a079d);const _0x2683c2=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x2683c2);}['init'](){const _0xadbe51=this['editor']['plugins']['get'](WebSocketGateway),_0x33fbc2=this['editor']['plugins']['get'](_0x438d69);return _0x33fbc2['adapter']={'getSuggestion':async _0x33e705=>{await this['_waitForServiceReady']();const _0x71a25e=await this['_trackChangesService']['get'](_0x33e705)['catch'](et);return await this['_fetchMissingUsersForThreads']([_0x71a25e]),_0x71a25e;},'addSuggestion':async({id:_0x201484,type:_0xd30377,data:_0x19b7a5,originalSuggestionId:_0x2aceb2,attributes:_0x4554c4})=>{await this['_waitForServiceReady']();const _0x1c32b7={'id':_0x201484,'type':_0xd30377,'data':_0x19b7a5,'originalSuggestionId':_0x2aceb2,'attributes':_0x4554c4},_0x5546f0=await this['_trackChangesService']['add'](_0x201484,_0xd30377,_0x19b7a5,_0x2aceb2,_0x4554c4)['catch'](_0x4b3c57=>{if(st(_0x4b3c57))return new Promise(_0x286ed4=>{this['_bufferedRequests']['set'](_0x201484,{'resolve':_0x286ed4,'suggestionData':_0x1c32b7});});throw _0x4b3c57;});return this['_bufferedRequests']['delete'](_0x201484),_0x5546f0;},'updateSuggestion':async(_0x1d1019,_0x35affc)=>{if(await this['_waitForServiceReady'](),'open'!==_0x35affc['state'])return this['_trackChangesService']['update'](_0x1d1019,_0x35affc)['catch'](et);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x209c8d,_0x61099)=>{_0x33fbc2['hasSuggestion'](_0x61099['id'])&&(_0x33fbc2['getSuggestion'](_0x61099['id'])['attributes']=_0x61099['attributes']);}),this['_trackChangesService']['connect'](_0xadbe51['connection'])['then'](_0x11465c=>(_0xadbe51['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x11465c)['then'](()=>{for(const _0x1b1c9d of _0x11465c){_0x33fbc2['addSuggestionData'](_0x1b1c9d)['_saved']=!0x0;}})));}async['reconnect'](){const _0x23f075=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x18b81a}=this['editor']['plugins']['get'](WebSocketGateway),_0x4bb54d=await this['_trackChangesService']['connect'](_0x18b81a);await this['_fetchMissingUsersForThreads'](_0x4bb54d);for(const {suggestionData:_0x91e49b,resolve:_0x427bcc}of this['_bufferedRequests']['values']()){let _0x2d6035=_0x4bb54d['find'](_0x16f711=>_0x16f711['id']===_0x91e49b['id']);_0x2d6035||(_0x2d6035=await this['_trackChangesService']['add'](_0x91e49b['id'],_0x91e49b['type'],_0x91e49b['data'],_0x91e49b['originalSuggestionId'])),_0x427bcc(_0x2d6035);}for(const _0x598095 of _0x4bb54d)_0x23f075['hasSuggestion'](_0x598095['id'])||_0x23f075['addSuggestionData'](_0x598095);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x7fe1fa=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5047b2=>{_0x5047b2['off'](),_0x7fe1fa();});});}async['_fetchMissingUsersForThreads'](_0x12546f){const _0x4341d2=this['editor']['plugins']['get'](_0x5783db),{connection:_0x50f296}=this['editor']['plugins']['get'](WebSocketGateway),_0xf78488=new Set();for(const {authorId:_0x3c74ea}of _0x12546f)_0x4341d2['getUser'](_0x3c74ea)||_0xf78488['add'](_0x3c74ea);if(0x0===_0xf78488['size'])return;const _0x31186d=await _0x36e987['getMany'](_0x50f296,Array['from'](_0xf78488));for(const _0x1ea51e of _0x31186d)_0x4341d2['getUser'](_0x1ea51e['id'])||_0x4341d2['addUser'](_0x1ea51e);}}function et(_0x707dc5){if(st(_0x707dc5))return new Promise(()=>{});throw _0x707dc5;}function st(_0x37434f){return _0x37434f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x37434f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeComments extends _0x525919{static get['requires'](){return[_0x6f1f0e,CloudServicesCommentsAdapter,RealTimeCollaborativeEditing,WebSocketGateway];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x18ed83=this['editor']['plugins']['get'](WebSocketGateway),_0x46b68f=this['editor']['plugins']['get'](_0x3a954d),_0x178ca4=this['editor']['plugins']['get'](CloudServicesCommentsAdapter);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x18ed83,'change:state',(_0x3b8ec7,_0x5db085,_0xc5531f)=>{_0x46b68f['isThreadsLoadingPaused']='connected'!==_0xc5531f;});}),this['listenTo'](_0x18ed83,'change:state',(_0x23928f,_0x2e137d,_0x3ae3f9)=>{this['editor']['plugins']['get'](_0x27c5eb)['switchReadOnly']('connected'!==_0x3ae3f9);}),_0x178ca4['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](CloudServicesCommentsAdapter)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class RealTimeCollaborativeTrackChanges extends _0x525919{static get['requires'](){return[RealTimeCollaborativeComments,CloudServicesTrackChangesAdapter,_0x5a552b];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class CloudServicesRevisionHistoryAdapter extends _0x525919{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x3af4a6)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[WebSocketGateway,RealTimeCollaborationClient,_0x134b36,Sessions,_0x5783db];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b7faa){super(_0x1b7faa);const _0x19b20a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x19b20a);}async['init'](){const _0x41d5a0=this['editor']['plugins']['get'](RealTimeCollaborationClient),_0xc265da=_0x41d5a0['serverHistory'],_0x324637=this['editor']['plugins']['get'](WebSocketGateway);this['_revisionTracker']['setSource']({'history':_0xc265da,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x41d5a0['sessionId']});const _0x3279db=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x53ac72,_0x43a706=await _0x39cbd3['isBundleUploaded'](_0x324637['connection'],_0x3279db);this['editor']['plugins']['get'](_0x134b36)['adapter']={'getRevision':async({revisionId:_0x2c6e0f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2c6e0f)),'updateRevisions':async _0x3fa2ce=>{await this['_waitForServiceReady']();const _0x36d0a0=this['_revisionTracker']['currentRevision'];if(_0x43a706&&0x1===_0x3fa2ce['length']&&_0x3fa2ce[0x0]['id']===_0x36d0a0['id'])return _0x3fa2ce;for(const _0x11e449 of _0x3fa2ce)_0x11e449['id']===_0x36d0a0['id']&&(_0x11e449['isEmptyCurrent']=_0x11e449['fromVersion']===_0x11e449['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3fa2ce,this['_lastRequestId'])['then'](_0x1c7968=>(this['_lastRequestId']=_0x1c7968,_0x3fa2ce))['catch'](_0x2e55b5=>{if(it(_0x2e55b5)||'400'===_0x2e55b5['code']&&void 0x0!==_0x2e55b5['data']['wrongRequestId']){for(const _0x2052de of _0x3fa2ce){!this['_revisionTracker']['repository']['getRevision'](_0x2052de['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2052de['id'],_0x2052de,!0x1);}if(it(_0x2e55b5)&&'destroyed'!==this['editor']['state'])throw _0x2e55b5;return _0x3fa2ce;}throw _0x2e55b5;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xf0b2d9,{revisionsData:_0x115c3d,requestId:_0x102678})=>{Math['max'](..._0x115c3d['map'](_0x178663=>_0x178663['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x115c3d,_0x102678);}):this['_handleRevisionsUpdate'](_0x115c3d,_0x102678);});const {revisions:_0x111102,requestId:_0x386487}=await this['_revisionHistoryService']['connect'](_0x324637['connection']);_0x324637['addToReconnectionStack'](this),this['_lastRequestId']=_0x386487,await this['_fetchMissingUsers'](_0x111102);for(const _0x36ef3c of _0x111102)this['_revisionTracker']['addRevisionData'](_0x36ef3c);this['listenTo'](_0x41d5a0,'change:_isConnected',(_0x3b4ede,_0x3e8671,_0x66cd40)=>{_0x66cd40&&(this['_oldOffset']=_0x41d5a0['_offset'],_0x3b4ede['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x324637,'state',_0x20dbfb=>_0x20dbfb===_0xf3d8b5['CONNECTED']);}async['reconnect'](){const _0x9d61a6=this['editor']['plugins']['get'](WebSocketGateway),_0x3ef2fd=this['editor']['plugins']['get'](RealTimeCollaborationClient),_0x5eca00=async()=>{const _0x257ff8=this['_revisionTracker']['currentRevision'],_0x444b3d=_0x257ff8['id'],_0x1be6cc=_0x444b3d!==_0x3ef2fd['sessionId'];if(_0x1be6cc){const _0x1e010d=_0x3ef2fd['_offset']-this['_oldOffset'],_0x2f0467=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x257ff8['toVersion']+_0x1e010d!==_0x2f0467){const _0x33382d=_0x257ff8['fromVersion']+_0x1e010d,_0x681b8d=this['editor']['plugins']['get'](_0x5783db),_0x1ccc56=this['_revisionTracker']['buildRevisionData']({'revision':_0x257ff8,'from':_0x33382d,'to':_0x2f0467});_0x1ccc56['id']=_0x257ff8['id'];const _0x29d3d9=_0x1ccc56['authorsIds']['map'](_0x55e0bf=>_0x681b8d['getUser'](_0x55e0bf));_0x257ff8['_update']({..._0x1ccc56,'authors':_0x29d3d9},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x257ff8['id'],_0x1ccc56,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2f0467,(_0x257ff8['toVersion']===_0x257ff8['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x444b3d)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x444b3d),this['_revisionTracker']['_createCurrentRevision'](_0x2f0467));}const {revisions:_0x31135b,requestId:_0x4ca50a}=await this['_revisionHistoryService']['reconnect'](_0x9d61a6['connection'],this['_lastRequestId']);_0x1be6cc&&_0x31135b['length']>0x0?_0x3ef2fd['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x31135b),this['_handleRevisionsUpdate'](_0x31135b,_0x4ca50a),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3ef2fd['_isConnected']?_0x5eca00():new Promise((_0x4404d2,_0x532e26)=>{_0x3ef2fd['once']('change:_isConnected',()=>{_0x5eca00()['then'](_0x4404d2)['catch'](_0x532e26);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x205c4f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4d9186=>{_0x4d9186['off'](),_0x205c4f();});});}['_getLatestVersionFromServerOperations'](){const _0xffe20c=this['editor']['plugins']['get'](RealTimeCollaborationClient)['serverHistory']['getOperations']()['reverse']();for(const _0x4ec062 of _0xffe20c)if('marker'!==_0x4ec062['type']||_0x4ec062['affectsData'])return _0x4ec062['baseVersion']+0x1;}['_getLatestVersion'](){const _0xb7d0a8=this['editor']['plugins']['get'](RealTimeCollaborationClient);return new Promise(_0x43ea78=>{_0xb7d0a8['_isPendingUpdate']?_0xb7d0a8['once']('change:_isPendingUpdate',()=>{_0x43ea78(this['_getLatestVersionFromServerOperations']());}):_0x43ea78(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3e5ee4,_0x1d4e37){const _0x387fef=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1d4e37;for(const _0x3690f8 of _0x3e5ee4){const _0xac7572=_0x387fef['getRevision'](_0x3690f8['id']);if(_0xac7572){if((_0x3690f8['fromVersion']||_0x3690f8['toVersion'])&&(_0x3690f8['diffData']=null),_0xac7572===this['_revisionTracker']['currentRevision']){const _0x37c998=Math['max'](_0xac7572['toVersion'],_0x3690f8['toVersion']),_0x3db5c9=Math['max'](_0xac7572['fromVersion'],_0x3690f8['fromVersion']);let _0x549e33;_0xac7572['toVersion']===_0x3690f8['toVersion']&&_0xac7572['fromVersion']===_0x3690f8['fromVersion']?(_0x549e33=!0x0,this['_preventResendingRevisionData'](_0x3690f8)):_0x3690f8['toVersion']===_0x37c998&&_0x3690f8['fromVersion']===_0x3db5c9?_0x549e33=!0x1:(_0xac7572['toVersion']===_0x37c998&&_0xac7572['fromVersion']===_0x3db5c9||this['_fixRevision']({'revision':_0xac7572,'from':_0x3db5c9,'to':_0x37c998}),_0x549e33=!0x0),_0x549e33&&(delete _0x3690f8['fromVersion'],delete _0x3690f8['toVersion'],delete _0x3690f8['diffData'],delete _0x3690f8['createdAt'],delete _0x3690f8['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3690f8),this['_preventResendingRevisionData'](_0x3690f8);}else this['_revisionTracker']['addRevisionData'](_0x3690f8);}const _0x532663=_0x387fef['getRevisions']();_0x532663['reverse']();for(let _0x5981da=0x0;_0x5981da<_0x532663['length']-0x1;_0x5981da++){const _0x5dde37=_0x532663[_0x5981da],_0x2d4556=_0x532663[_0x5981da+0x1];if(_0x5dde37['fromVersion']<_0x2d4556['toVersion']){const _0x348a18=_0x2d4556['toVersion'],_0x53175b=Math['max'](_0x348a18,_0x5dde37['toVersion']);this['_fixRevision']({'revision':_0x5dde37,'from':_0x348a18,'to':_0x53175b});}}}['_fixRevision']({revision:_0x348b07,from:_0x5e7556,to:_0x1bcafc}={}){const _0x2c663c=this['editor']['plugins']['get'](_0x5783db),_0x356ae8=this['_revisionTracker']['buildRevisionData']({'revision':_0x348b07,'from':_0x5e7556,'to':_0x1bcafc});_0x356ae8['authors']=_0x356ae8['authorsIds']['map'](_0x34df5e=>_0x2c663c['getUser'](_0x34df5e)),_0x348b07['_update'](_0x356ae8);}['_preventResendingRevisionData'](_0x4a81bd){const _0x28b9ba={};_0x28b9ba['id']=_0x4a81bd['id'];for(const _0x13b282 of Object['keys'](_0x4a81bd))'id'!==_0x13b282&&(_0x28b9ba[_0x13b282]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x28b9ba['id'],_0x28b9ba,!0x0);}async['_fetchMissingUsers'](_0x12fcd0){const _0x2d1365=this['editor']['plugins']['get'](_0x5783db),{connection:_0x547665}=this['editor']['plugins']['get'](WebSocketGateway),_0x3beae2=new Set();for(const _0x1362ce of _0x12fcd0){for(const _0x549608 of _0x1362ce['authorsIds'])_0x554e1f(_0x549608);_0x1362ce['creatorId']&&_0x554e1f(_0x1362ce['creatorId']);}if(0x0===_0x3beae2['size'])return;const _0x5377f7=await _0x36e987['getMany'](_0x547665,Array['from'](_0x3beae2));for(const _0x783c66 of _0x5377f7)_0x2d1365['getUser'](_0x783c66['id'])||_0x2d1365['addUser'](_0x783c66);function _0x554e1f(_0x5a6d82){_0x2d1365['getUser'](_0x5a6d82)||_0x3beae2['add'](_0x5a6d82);}}}function it(_0x442a95){return _0x442a95['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x442a95['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x442a95['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeRevisionHistory extends _0x525919{static get['requires'](){return[_0x134b36,CloudServicesRevisionHistoryAdapter,RealTimeCollaborativeEditing];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class PresenceCounterView extends _0x5f3d1a{['_collapseAt'];constructor(_0x4f8a49,_0x5f1617=0x6){super(_0x4f8a49);const _0x163c6d=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5f1617,this['bind']('isHidden')['to'](this,'usersCount',_0x2d4d4b=>_0x2d4d4b<_0x5f1617),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x163c6d['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':_0x163c6d['to']('usersCount',_0x529307=>'+'+(_0x529307-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class PresenceInlineListView extends _0x5f3d1a{['items'];['keystrokes'];constructor(_0xe7f3a5){super(_0xe7f3a5);const _0x259aeb=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x3192ca(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x259aeb['if']('hasPopup'),'aria-expanded':_0x259aeb['to']('isExpanded',_0x5f2629=>this['hasPopup']&&String(_0x5f2629)),'aria-label':_0x259aeb['to']('hasPopup',_0x411e5e=>K(_0xe7f3a5,_0x411e5e?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x259aeb['to']('hasPopup',_0x453755=>!!_0x453755&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x259aeb['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x259aeb['to'](_0x509982=>{const _0x1cbdb9=_0x509982,_0x42bef2=document['querySelector']('.ck-presence-list__dropdown-list'),_0x149810=document['querySelector']('.ck-balloon-panel_with-arrow');_0x42bef2?.['contains'](_0x1cbdb9['relatedTarget'])||_0x149810?.['contains'](_0x1cbdb9['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x39b393,_0x8c6db8,_0x3dace6)=>{this['element']&&(_0x3dace6?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class PresenceListView extends _0x5f3d1a{['counterView'];['inlineListView'];constructor(_0xa47ce7,_0x17aeed=0x6){super(_0xa47ce7);const _0x645691=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new PresenceCounterView(this['locale'],_0x17aeed),this['inlineListView']=new PresenceInlineListView(_0xa47ce7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1599d6 of this['inlineListView']['items'])_0x1599d6['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',_0x645691['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class PresenceDropdownListView extends _0x5f3d1a{['listWrapperView'];constructor(_0x3b30ab,_0x2cddab){super(_0x3b30ab);const _0x3bb737=this['bindTemplate'];this['listWrapperView']=new PresenceDropdownListWrapperView(_0x3b30ab,_0x2cddab),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':K(_0x3b30ab,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3bb737['to'](_0x539c19=>{const _0x4c4c40=_0x539c19,_0x5ab531=document['querySelector']('.ck-presence-list__list'),_0x38ae41=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5ab531?.['contains'](_0x4c4c40['relatedTarget'])||_0x38ae41?.['contains'](_0x4c4c40['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class PresenceDropdownListWrapperView extends _0x2aa0a6{constructor(_0x145179,_0x572313){super(_0x145179);const _0x181570=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x572313?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x181570['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x181570['to']('role'),'aria-label':_0x181570['to']('ariaLabel'),'aria-labelledby':_0x181570['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x410313['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x44d8ea=this['element'];_0x44d8ea&&(this['_isScrollable']=Math['max'](_0x44d8ea['scrollHeight'],_0x44d8ea['clientHeight'])>0.8*window['innerHeight']);}}class PresenceDropdownListItemView extends _0xf6d61d{['userView'];constructor(_0x330cba,_0x54c151,_0x50ca0e){super(_0x330cba);const _0x2d04b4=this['bindTemplate'];this['userView']=new _0x5a2b39(_0x330cba,_0x54c151);const _0x2683f5={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x54c151['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x54c151['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x54c151['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x54c151['color']['getColorVariable'](),'--ck-user-color-alpha':_0x54c151['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x50ca0e&&(_0x2683f5['tag']='button',_0x2683f5['on']={'click':_0x2d04b4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2683f5);}['focus'](){this['element']['focus']();}}class PresenceInlineListItemView extends _0x5f3d1a{['userView'];['markerView'];constructor(_0xf4855b,_0x3e3ad3,_0x307dfb){super(_0xf4855b);const _0x336995=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5a2b39(_0xf4855b,_0x3e3ad3),this['markerView']=new MarkerView(_0xf4855b,_0x3e3ad3);const _0x18a10b=new _0x3a59ab(_0xf4855b);_0x18a10b['template']['tag']='span',_0x18a10b['text']=_0x3e3ad3['name'];const _0x13fa5c={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x336995['to']('isFocusable',_0x18f7fa=>!!_0x18f7fa&&0x0),'aria-labelledby':_0x18a10b['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x336995['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x336995['to']('hasTooltip',_0x197c66=>!_0x197c66),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x18a10b]};_0x307dfb&&(_0x13fa5c['tag']='button',_0x13fa5c['on']={'click':_0x336995['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x13fa5c);}}class MarkerView extends _0x5f3d1a{constructor(_0xf1a6ea,_0x3d8432){super(_0xf1a6ea),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3d8432['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x3d8432['color']['getColorVariable'](),'--ck-user-color-alpha':_0x3d8432['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const nt={'collapseAt':0x6,'displayMe':!0x0};class PresenceListUI extends _0x301857{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x579062){super(_0x579062),this['context']['config']['define']('presenceList',nt);const _0x41b1db=_0x579062['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x41b1db)throw new _0x5ca446('presencelist-collapseat-invalid-format',this);if(_0x41b1db<0x1)throw new _0x5ca446('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Sessions)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4be9e8(),this['balloonPanelView']=new _0x31f4d8(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Sessions];}['init'](){for(const _0x4f477f of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4f477f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1b1643,_0x12c858)=>{this['_handleUserAdd'](_0x12c858);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4f3076,_0xd68de2)=>{this['_handleUserRemove'](_0xd68de2);});}['_createView'](){const _0x1d6631=this['context'],_0x524297=new PresenceListView(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x574409=this['balloonPanelView'];if(!_0x15a965(_0x1d6631['config']['get']('presenceList.container')))throw new _0x5ca446('presencelist-missing-container',this);return _0x524297['counterView']['bind']('usersCount')['to'](this),_0x524297['bind']('isCollapsed')['to'](this,'usersCount',_0x2e1bff=>{const {collapseAt:_0x292c7e}=_0x1d6631['config']['get']('presenceList'),_0x532085=_0x2e1bff>=_0x292c7e;if(_0x532085&&!_0x524297['inlineListView']['items']['find'](_0x2ebc69=>_0x2ebc69 instanceof PresenceCounterView)){const _0x25df38=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x25df38&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x524297['inlineListView']['items']['add'](_0x524297['counterView']);}return _0x532085||this['hideDropdown'](),_0x532085;}),_0x524297['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4494ce=>{const _0x392115=_0x1d6631['config']['get']('presenceList'),_0x487abf=new PresenceInlineListItemView(_0x1d6631['locale'],_0x4494ce,!!_0x392115['onClick']);return _0x487abf['bind']('hasTooltip')['to'](_0x524297,'isCollapsed',_0x217c12=>!_0x217c12),_0x487abf['bind']('isFocusable')['to'](_0x524297,'isCollapsed',_0x4633bf=>!_0x4633bf),_0x392115['onClick']&&this['listenTo'](_0x487abf,'execute',()=>{this['view']['isCollapsed']||_0x392115['onClick'](_0x4494ce,_0x487abf['element']);}),_0x487abf;}),this['listenTo'](_0x524297['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x524297['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x524297['inlineListView']['keystrokes']['set']('Enter',(_0x5b8dcc,_0x55a78f)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x55a78f());}),_0x524297['render'](),_0x574409['render'](),_0x507db1({'emitter':_0x524297,'activator':()=>_0x574409['isVisible'],'contextElements':[_0x574409['element'],_0x524297['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1d6631['config']['get']('presenceList.container')['appendChild'](_0x524297['element']),this['_bodyCollection']=new _0x6aff50(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x524297;}['_handleUserAdd'](_0x18dd54){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x18dd54['isMe'])return;const _0x5a378d=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x5a378d-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x141ab1=_0x18dd54['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x18dd54,_0x141ab1);}['_handleUserRemove'](_0x321f85){this['usersCount']--;const {collapseAt:_0x565725}=this['context']['config']['get']('presenceList'),_0x53edaa=this['usersCount']>=_0x565725;if(this['currentDisplayedUsers']['get'](_0x321f85['id']))this['currentDisplayedUsers']['remove'](_0x321f85['id']);else{if(_0x53edaa&&this['currentDisplayedUsers']['length']+0x1===_0x565725-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x53edaa?0x1:0x0)<this['usersCount']){for(const _0xaa381d of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xaa381d['id'])&&(this['currentDisplayedUsers']['add'](_0xaa381d,Math['min'](this['currentDisplayedUsers']['length']-(_0x53edaa?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x53edaa?0x1:0x0)===_0x565725-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x59b485=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new PresenceDropdownListView(this['context']['locale'],!!_0x59b485['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x2cac6f}=this['presenceDropdownView'];_0x2cac6f['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x547d7b=>{if(!_0x59b485['displayMe']&&_0x547d7b['isMe'])return null;const _0xf384bd=new PresenceDropdownListItemView(this['context']['locale'],_0x547d7b,!!_0x59b485['onClick']);return _0x59b485['onClick']&&this['listenTo'](_0xf384bd,'execute',()=>{_0x59b485['onClick'](_0x547d7b,_0xf384bd['element']);}),_0xf384bd;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2cac6f['focus'](),_0x2cac6f['checkIfScrollable']();const _0x296c0e=(_0x16cfb5,_0x2ac26b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2ac26b();};_0x2cac6f['keystrokes']['set']('Esc',_0x296c0e),_0x2cac6f['keystrokes']['set']('Shift+Tab',_0x296c0e),_0x2cac6f['keystrokes']['set']('Tab',(_0x2933cd,_0x36d16c)=>{!function(_0x4c7d4f){const _0x595c45=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x21f423=>_0x21f423+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x45b435=[...document['body']['querySelectorAll'](_0x595c45)]['filter'](_0x50fd59=>_0x50fd59===document['activeElement']||_0x50fd59['offsetWidth']+_0x50fd59['offsetHeight']>0x0)['sort']((_0x46e8e5,_0x17c8d1)=>(_0x46e8e5['tabIndex']||0x0)-(_0x17c8d1['tabIndex']||0x0)),_0x157018=_0x45b435['indexOf'](_0x4c7d4f),_0x10883e=_0x45b435[(_0x157018+0x1)%_0x45b435['length']];_0x10883e&&_0x10883e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x36d16c();}),_0x2cac6f['focusTracker']['add'](this['view']['element']),_0x2cac6f['focusTracker']['on']('change:isFocused',(_0x54f347,_0x35cb54,_0x2cda73)=>{_0x2cda73||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class PresenceList extends _0x301857{static get['requires'](){return[Sessions,PresenceListUI];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{CloudServicesCommentsAdapter,CloudServicesRevisionHistoryAdapter,CloudServicesTrackChangesAdapter,PresenceList,PresenceListUI,RealTimeCollaborationClient,RealTimeCollaborativeComments,RealTimeCollaborativeEditing,RealTimeCollaborativeRevisionHistory,RealTimeCollaborativeTrackChanges,Sessions,WebSocketGateway};
|