@ckeditor/ckeditor5-real-time-collaboration 43.2.0-alpha.2 → 43.2.0-alpha.4
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/build/real-time-collaboration.js +1 -1
- package/dist/index.js +6 -6
- package/package.json +9 -9
- package/src/presencelist/presencelistui.js +1 -1
- package/src/presencelist/view/presencecounterview.js +1 -1
- package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
- package/src/presencelist/view/presencedropdownlistview.js +1 -1
- package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
- package/src/presencelist/view/presenceinlinelistview.js +1 -1
- package/src/presencelist/view/presencelistview.js +1 -1
- package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +1 -1
- package/src/realtimecollaborativeediting/realtimecollaborationclient.js +1 -1
- package/src/realtimecollaborativeediting/sessions.js +1 -1
- package/src/realtimecollaborativeediting/usermarkers.js +1 -1
- package/src/realtimecollaborativeediting/websocketgateway.js +1 -1
- package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +1 -1
- package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +1 -1
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{ContextPlugin as
|
|
24
|
-
((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x287102];}static get['pluginName'](){return'WebSocketGateway';}constructor(_0x2e88c9){super(_0x2e88c9),this['set']('state',_0x3d541f['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x2ded50);}['init'](){const _0x40086d=this['context'],_0x17f296=_0x40086d['plugins']['get']('CloudServices'),_0x3cd539=_0x40086d['plugins']['get'](_0x287102);if(!_0x17f296['token'])throw new _0x3359aa('websocketgateway-missing-token',this);if(!_0x17f296['webSocketUrl'])throw new _0x3359aa('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),c['WebSocketGateway']['connect'](_0x17f296['token'],_0x17f296['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x9f3bd5=>{if(this['connection']=_0x9f3bd5,this['bind']('state')['to'](_0x9f3bd5,'state',this,'_isBrowserOffline',(_0x2e15ed,_0x4e84fc)=>('connected'!==_0x2e15ed&&(this['_shouldPluginsReconnect']=!0x0),_0x4e84fc||_0x2e15ed!==_0x3d541f['CONNECTED']?_0x3d541f['DISCONNECTED']:this['state']==_0x3d541f['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3d541f['CONNECTING']):_0x3d541f['CONNECTED'])),this['connection']['on']('error',(_0x344e8a,_0x1e7eab)=>{if('limitExceeded'!==_0x1e7eab['code'])throw console['error'](_0x1e7eab),new _0x3359aa('cloudservices-init',null,{'originalError':_0x1e7eab});_0x3cd539['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'});}),!_0x9f3bd5['me'])return new Promise(_0x4be75a=>_0x9f3bd5['on']('change:me',_0x4be75a));})['catch'](_0x547ece=>{throw console['error'](_0x547ece),new _0x3359aa('cloudservices-init',null,{'originalError':_0x547ece});});}['addToReconnectionStack'](_0x316f3e){if('function'!=typeof _0x316f3e['reconnect'])throw new _0x3359aa('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x316f3e))throw new _0x3359aa('websocketgateway-plugin-already-registered',this,{'name':_0x316f3e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x316f3e);}['removeFromReconnectionStack'](_0x56fc03){this['_reconnectionStack']['delete'](_0x56fc03);}['isInReconnectionStack'](_0x24c4ec){return this['_reconnectionStack']['has'](_0x24c4ec);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x312ee4=>_0x312ee4['reconnect']())))['then'](()=>this['state']=_0x3d541f['CONNECTED'])['catch'](_0x3df90d=>{throw console['error'](_0x3df90d),new _0x3359aa('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3d541f['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class r extends _0x2b84e4{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['requires'](){return[c,_0x321f72];}constructor(_0x2082f6){super(_0x2082f6),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1af149(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x321f72);}['init'](){const _0x20af3d=this['context']['plugins']['get'](c);this['listenTo'](_0x20af3d,'change:state',(_0x59f324,_0x54eef3,_0x3c53b2)=>{if('connected'!==_0x3c53b2)this['channelSessions']['forEach'](_0x4ca322=>_0x4ca322['clear']()),this['channelConnectedUsers']['forEach'](_0xc000fd=>_0xc000fd['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1f8dac,_0x2bebda]of this['_registeredSessions'])for(const _0x629c76 of _0x2bebda)this['_handleSessionAdd'](_0x1f8dac,_0x629c76);}}),this['_createUser'](_0x20af3d['connection']['me'],!0x0);}['register'](_0x1c8e5d,_0x30cfa3){if(this['_registeredSessions']['has'](_0x1c8e5d))throw new _0x3359aa('sessions-register-already-registered',null,{'channelId':_0x1c8e5d});this['_registeredSessions']['set'](_0x1c8e5d,_0x30cfa3),this['channelSessions']['set'](_0x1c8e5d,new _0x1af149()),this['channelConnectedUsers']['set'](_0x1c8e5d,new _0x1af149()),this['listenTo'](_0x30cfa3,'add',(_0x56ba99,_0x49ad64)=>this['_handleSessionAdd'](_0x1c8e5d,_0x49ad64)),this['listenTo'](_0x30cfa3,'remove',(_0x38af64,_0x1dfe2c)=>this['_handleSessionRemove'](_0x1c8e5d,_0x1dfe2c));for(const _0x221294 of _0x30cfa3)this['_handleSessionAdd'](_0x1c8e5d,_0x221294);}['unregister'](_0x17034f){if(!this['_registeredSessions']['has'](_0x17034f))throw new _0x3359aa('sessions-unregister-not-exist',null,{'channelId':_0x17034f});const _0x112ece=this['_registeredSessions']['get'](_0x17034f);this['stopListening'](_0x112ece);for(const _0x1aca61 of _0x112ece)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x17034f,_0x1aca61);this['_registeredSessions']['delete'](_0x17034f),this['channelSessions']['delete'](_0x17034f),this['channelConnectedUsers']['delete'](_0x17034f);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x4e09d7){for(const _0x2b3202 of this['channelSessions']['values']())for(const _0x380268 of _0x2b3202)if(_0x380268['id']===_0x4e09d7)return _0x380268['user'];}['getUserSessions'](_0x37caf7,_0x510a4d){const _0x453617=_0x510a4d?[this['channelSessions']['get'](_0x510a4d)]:this['channelSessions']['values'](),_0x1ec094=new Set();for(const _0x54048a of _0x453617)for(const _0x45b2c8 of _0x54048a)_0x45b2c8['user']['id']===_0x37caf7['id']&&_0x1ec094['add'](_0x45b2c8['id']);return _0x1ec094;}['getUserRole'](_0x4abc13){for(const _0x265a1c of this['channelSessions']['values']())for(const _0x409023 of _0x265a1c)if(_0x409023['user']===_0x4abc13)return _0x409023['role'];}['_handleSessionAdd'](_0x3eeb1b,_0x4f461e){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x16e65a=_0x4f461e['user'],_0x97a9b4=this['_users']['getUser'](_0x16e65a['id'])||this['_createUser'](_0x16e65a),_0x222e48=Object['assign']({},_0x4f461e,{'user':_0x97a9b4});this['channelSessions']['get'](_0x3eeb1b)['add'](_0x222e48);const _0x4e7e34=this['channelConnectedUsers']['get'](_0x3eeb1b);_0x4e7e34['has'](_0x97a9b4['id'])||_0x4e7e34['add'](_0x97a9b4),this['allConnectedUsers']['has'](_0x97a9b4['id'])||this['allConnectedUsers']['add'](_0x97a9b4,_0x97a9b4['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x3eeb1b,{'channelId':_0x3eeb1b,'session':_0x222e48});}['_handleSessionRemove'](_0x6c5482,_0x3c10bc){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x152ae4=this['channelConnectedUsers']['get'](_0x6c5482),_0x13d23a=_0x3c10bc['user'];_0x13d23a['id']&&(this['channelSessions']['get'](_0x6c5482)['remove'](_0x3c10bc['id']),_0x152ae4['has'](_0x13d23a['id'])&&!this['getUserSessions'](_0x13d23a,_0x6c5482)['size']&&_0x152ae4['remove'](_0x13d23a['id']),this['allConnectedUsers']['get'](_0x13d23a['id'])&&!this['getUserSessions'](_0x13d23a)['size']&&this['allConnectedUsers']['remove'](_0x13d23a['id']));}['_createUser'](_0x2c1357,_0x306db8){const _0x38885f=this['_users']['addUser'](_0x2c1357);return _0x306db8&&this['_users']['defineMe'](_0x2c1357['id']),_0x38885f['orderNumber']=this['_uniqueUsersCount']++,_0x38885f;}}class H extends _0x1d73f4{['_domEmitter']=new(_0x2ded50())();static get['requires'](){return[r];}static get['pluginName'](){return'UserMarkers';}['init'](){const _0x19f85a=this['editor'],_0x53feea=_0x19f85a['plugins']['get'](r);_0x19f85a['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3bdf9e,{writer:_0x43c1a8})=>function(_0x2a6917,_0x32bfec,_0x307827,_0x1a18ac){const _0xaada1=_0x2a6917['markerName']['split'](':')[0x2],_0x3d3cb0=_0x307827['getUserBySessionId'](_0xaada1);if(!_0x3d3cb0||_0xaada1===_0x307827['mySessionId'])return;if(!_0x1a18ac['model']['schema']['checkChild'](_0x2a6917['markerRange']['start'],'$text'))return;const _0x3a5613={'class':'ck-user__marker\x20'+_0x3d3cb0['color']['getMarkerClass'](),'data-name':_0x3d3cb0['name'],'data-session-id':_0xaada1},_0xdbae56=_0x1a18ac['model']['markers']['get'](_0x2a6917['markerName']),_0x56e752=_0xdbae56['getStart'](),_0x429d67=_0x56e752['nodeAfter'],_0x4d2137=_0x1a18ac['model']['schema'];if(_0x429d67&&_0x4d2137['isObject'](_0x429d67)&&_0x4d2137['isInline'](_0x429d67)&&!_0x1a18ac['model']['markers']['get']('user:range:'+_0xaada1)['getRange']()['isCollapsed'])return;const _0x424b34=_0x56e752['parent'];return _0x1a18ac['model']['schema']['isLimit'](_0x424b34)&&!_0x1a18ac['model']['hasContent'](_0x424b34)&&(_0x3a5613['contenteditable']=!0x1),function(_0x1e8b4c,_0x36bc6a,_0x3a2dc4){const _0x1a5f57=_0x1e8b4c['createUIElement']('span',_0x36bc6a);return _0x1e8b4c['setCustomProperty']('userPositionMarker',!0x0,_0x1a5f57),_0x1a5f57['render']=function(_0x11b245){const _0x246c10=this['toDomElement'](_0x11b245);return _0x246c10['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x3a2dc4['name']+'</span>',_0x246c10['addEventListener']('mouseenter',()=>{_0x246c10['classList']['add']('ck-user__marker_hovered');}),_0x246c10['addEventListener']('mouseleave',()=>{_0x246c10['classList']['remove']('ck-user__marker_hovered');}),_0x246c10;},_0x1a5f57['isSimilar']=function(_0x1c0e9c){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1c0e9c['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1c0e9c['getAttribute']('data-session-id'));},_0x1a5f57;}(_0x32bfec,_0x3a5613,_0x3d3cb0);}(_0x3bdf9e,_0x43c1a8,_0x53feea,_0x19f85a)}),_0x19f85a['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4c908b=>function(_0x11335a,_0x484c23){const _0x207f92=_0x11335a['markerName']['split'](':')[0x2];if(_0x207f92===_0x484c23['mySessionId'])return null;const _0x4ca3a0=_0x484c23['getUserBySessionId'](_0x207f92);if(!_0x4ca3a0)return{'id':_0x207f92,'classes':[]};return{'id':_0x207f92,'classes':['ck-user__selection',_0x4ca3a0['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x207f92},'priority':0x7d0+_0x4ca3a0['orderNumber']};}(_0x4c908b,_0x53feea)}),function(_0x36df54){const _0x2c544c=_0x36df54['model'],_0x51442b=new Map(),_0x3f3ec5=_0x36df54['plugins']['get'](r);_0x2c544c['markers']['on']('update:user:range',(_0x1c7998,_0x1f7240,_0x56a501,_0x586957)=>{if(!_0x586957&&_0x51442b['get'](_0x1f7240['name']))return _0x51442b['get'](_0x1f7240['name'])['detach'](),void _0x51442b['delete'](_0x1f7240['name']);const _0x3a2d10=_0x1f7240['name']['split'](':')[0x2];if(_0x3a2d10===_0x3f3ec5['mySessionId'])return;const _0x3c5168='user:position:'+_0x3a2d10;_0x2c544c['markers']['has'](_0x3c5168)&&_0x36df54['editing']['reconvertMarker'](_0x3c5168),_0x1f7240['on']('change:range',(_0x29cb58,_0x39824a,_0x2db738)=>{if('$graveyard'!=_0x39824a['root']['rootName']&&'$graveyard'==_0x1f7240['getRange']()['root']['rootName']&&!_0x51442b['has'](_0x1f7240['name'])){const _0x324366=_0x2c544c['schema']['getNearestSelectionRange'](_0x2db738['deletionPosition']);if(_0x324366){const _0x3f5852=ht['fromRange'](_0x324366);_0x51442b['set'](_0x1f7240['name'],_0x3f5852),_0x3f5852['on']('change:range',(_0x11e385,_0x1dcf2e,_0x5752fa)=>{if('$graveyard'==_0x3f5852['root']['rootName']){const _0x3b5908=_0x2c544c['schema']['getNearestSelectionRange'](_0x5752fa['deletionPosition']);_0x3b5908?(_0x3f5852['start']=_0x3b5908['start'],_0x3f5852['end']=_0x3b5908['end']):(_0x51442b['delete'](_0x1f7240['name']),_0x3f5852['detach']());}});}}});}),_0x2c544c['document']['on']('change',()=>{_0x51442b['size']>0x0&&_0x2c544c['enqueueChange']({'isUndoable':!0x1},_0x1b1736=>{for(const [_0x89afd7,_0x3c7bad]of _0x51442b)'$graveyard'==_0x2c544c['markers']['get'](_0x89afd7)['getRange']()['root']['rootName']&&(re(_0x89afd7['split'](':')[0x2],_0x3c7bad['toRange'](),_0x2c544c,_0x1b1736),_0x3c7bad['detach']());_0x51442b['clear']();});});}(_0x19f85a),this['_domEmitter']['listenTo'](_0x10d1d7['document'],'keydown',(_0x50baa2,{key:_0xea58d4})=>{'Escape'===_0xea58d4&&function(_0x4ed4ec){_0x4ed4ec['editing']['view']['change'](_0x50d0fa=>{for(const _0x1c9180 of _0x4ed4ec['model']['markers']){if(!_0x1c9180['name']['startsWith']('user:position'))continue;const _0x128d83=_0x4ed4ec['editing']['mapper']['markerNameToElements'](_0x1c9180['name']);if(_0x128d83){for(const _0x505b96 of _0x128d83)_0x50d0fa['removeClass']('ck-user__marker_hovered',_0x505b96);}}});}(_0x19f85a);},{'useCapture':!0x0});}['afterInit'](){const _0x2c9260=this['editor'],_0x1fc297=_0x2c9260['commands']['get']('undo');_0x1fc297&&_0x2c9260['model']['on']('applyOperation',(_0x1a78b5,_0x2e991f)=>{const _0x478675=_0x2e991f[0x0];if('marker'!=_0x478675['type']||!_0x478675['name']['startsWith']('user:'))return;const _0x254439=_0x478675['batch'];_0x1fc297['_createdBatches']['has'](_0x254439)&&(_0x478675['newRange']=_0x478675['oldRange']?_0x2c9260['model']['createRange'](_0x478675['oldRange']['start'],_0x478675['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2b937a=this['editor'],_0x14c903=_0x2b937a['model']['document'],_0x437918=_0x2b937a['plugins']['get'](r);_0x2b937a['model']['enqueueChange']({'isUndoable':!0x1},_0x47849c=>{const _0x3df8d0='user:range:'+_0x437918['mySessionId'],_0x20749c='user:position:'+_0x437918['mySessionId'],_0x532bb8=_0x2b937a['model']['markers']['has'](_0x3df8d0);_0x2b937a['editing']['view']['hasDomSelection']?re(_0x437918['mySessionId'],_0x14c903['selection']['getFirstRange'](),_0x2b937a['model'],_0x47849c):_0x532bb8&&(_0x47849c['removeMarker'](_0x3df8d0),_0x47849c['removeMarker'](_0x20749c));});}}function re(_0x3b5e30,_0x537b68,_0x540035,_0x2d30de){const _0x34384c='user:range:'+_0x3b5e30,_0x5c651b='user:position:'+_0x3b5e30,_0x353c70=_0x537b68['getContainedElement']();let _0x51f5ed=_0x537b68['start'];_0x353c70&&_0x353c70['is']('element','tableCell')&&(_0x51f5ed=function(_0x230290,_0x3db767){for(const _0x57db04 of _0x230290['getPositions']())if(_0x3db767['schema']['checkChild'](_0x57db04,'$text'))return _0x57db04;}(_0x537b68,_0x540035),_0x537b68=_0x2d30de['createRange'](_0x51f5ed));const _0x49a502=_0x2d30de['createRange'](_0x51f5ed);_0x540035['markers']['has'](_0x34384c)?(_0x2d30de['updateMarker'](_0x34384c,{'range':_0x537b68}),_0x2d30de['updateMarker'](_0x5c651b,{'range':_0x49a502})):(_0x2d30de['addMarker'](_0x34384c,{'range':_0x537b68,'usingOperation':!0x0}),_0x2d30de['addMarker'](_0x5c651b,{'range':_0x49a502,'usingOperation':!0x0}));}function q(_0x1b42f3,_0x1684e3,_0x20aad4){const t=_0x1b42f3['t'];switch(_0x1684e3){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 t({'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'},_0x20aad4);default:return'';}}let K=0x1;class l extends _0x1d73f4{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x2fd421)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,r,H,_0x47eaa4,_0x321f72,_0x287102];}static get['pluginName'](){return'RealTimeCollaborationClient';}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x40e2a4=this['serverHistory']['getOperations']();for(let _0x598287=_0x40e2a4['length']-0x1;_0x598287>=0x0;_0x598287--){const _0x44d636=_0x40e2a4[_0x598287];if(!this['_disconnectionOperations']['has'](_0x44d636))return _0x44d636['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x330a5f){if(super(_0x330a5f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0xd2bb7e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3359aa('collaboration-missing-channelid',this);const _0x4dca8e=_0x330a5f['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x4dca8e,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3fd1b6(),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 X(this['_disconnectionOperations']);}['init'](){const _0x4fc864=this['editor'],_0x5248c5=_0x4fc864['plugins']['get'](_0x321f72),_0x285e67=_0x4fc864['plugins']['get'](c);this['listenTo'](_0x5248c5,'getOperationAuthor',(_0x40731e,_0xd8b7de)=>{const _0x371843=_0xd8b7de[0x0];_0x371843['_authorId']&&(_0x40731e['return']=_0x5248c5['getUser'](_0x371843['_authorId']),_0x40731e['stop']()),null===_0x371843['_authorId']&&(_0x40731e['return']=null,_0x40731e['stop']());},{'priority':'high'}),this['listenTo'](_0x4fc864['model']['document']['selection'],'change:range',(_0x491e49,_0x495578)=>{_0x495578['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4fc864['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4fc864['model']['on']('applyOperation',(_0x2e0b79,_0x15bedf)=>{const _0x328cca=_0x15bedf[0x0];_0x328cca['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x328cca),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x285e67,'state',this,'_hasSynchronizationProblem',(_0x2428d8,_0x20f390)=>'connected'===_0x2428d8&&!_0x20f390),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4fc864['disableReadOnlyMode']('rtc-offline'):_0x4fc864['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4fc864['disableReadOnlyMode']('rtc-offline'):_0x4fc864['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3b3ba4=this['editor']['plugins']['get'](r),_0x256f85=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x3b3ba4['unregister'](this['_channelId']);const _0x5bec48=await this['_service']['reconnect'](_0x256f85['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5bec48)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x167ff3=await this['_service']['getConnectedSessions']();_0x3b3ba4['register'](this['_channelId'],_0x167ff3),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x174557){if(function(_0x9d19ad){return'404'===_0x9d19ad['code'];}(_0x174557)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x122b01){return'409'===_0x122b01['code'];}(_0x174557)){const _0x224d52=q(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'](_0x224d52);}else{if(!(_0x174557 instanceof J))throw _0x174557;this['_handleReconnectionError']();}}}}['destroy'](){const _0x82594e=this['editor']['plugins']['get'](c),_0x43b8ce=this['editor']['plugins']['get'](r);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x43b8ce['channelSessions']['has'](this['_channelId'])&&_0x43b8ce['unregister'](this['_channelId']),_0x82594e['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1a45f7){if(this['sessionId']!==_0x1a45f7['sessionId']&&this['_lastSyncedOperationId']!==_0x1a45f7['lastOperationId'])throw new J();return this['sessionId']=_0x1a45f7['sessionId'],this['_handleServerResponse']([],{..._0x1a45f7,'wereChangesApplied':!0x1,'data':_0x1a45f7['data']},'reconnect');}async['_connectService'](_0x2f51c7,_0x32b2df=!0x1){const {connection:_0x166c96}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x166c96,this['_channelId'])['then'](_0x351519=>this['_initSessionsHandling'](_0x351519))['catch'](_0x464306=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x464306);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x138a7a,_0x1ca6d3)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x1ca6d3);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x3df5cc=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2f51c7);this['_isPendingUpdate']=!0x0;const _0x352f12=await this['_service']['connect'](_0x166c96,this['_compressOperations'](_0x2f51c7),_0x3df5cc);if(this['sessionId']=_0x352f12['sessionId'],_0x32b2df){if(!_0x352f12['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x352f12['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2f51c7,_0x352f12,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x352f12,_0x2f51c7);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x25d5c8=this['editor']['plugins']['get'](r),_0x72fe69=this['editor']['plugins']['get'](H),_0x211f73=_0x25d5c8['channelSessions']['get'](this['_channelId']);_0x211f73&&_0x211f73['length']>0x1?_0x72fe69['createUserMarkerOperations']():this['listenTo'](_0x25d5c8,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x25d5c8['channelSessions']['get'](this['_channelId'])['length']&&_0x72fe69['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x173e32,_0x3b6b7d,_0x43da60,_0x2d624f){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x3b6b7d){const _0x7100ec=this['_decompressOperations'](_0x43da60,_0x2d624f);await this['_fetchMissingUsers'](_0x7100ec),this['_handleExternalOperations'](_0x7100ec,_0x3b6b7d,_0x43da60['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x22eee3}=this['editor'];let _0x1b53a4;try{_0x1b53a4=await this['_service']['getDocumentDetails']();}catch(_0xc35bfe){const _0x927ff=q(_0x22eee3,'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'](_0x927ff);}const _0x2d84b2=_0x1b53a4['currentDocumentSession']||_0x1b53a4['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x2d84b2['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x5dbe35=q(_0x22eee3,'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.');this['_handleReconnectionError'](_0x5dbe35);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xd3084c){const _0x461f4d=this['editor']['plugins']['get'](r);this['listenTo'](_0x461f4d,'sessionAdd:'+this['_channelId'],(_0x2609f2,{session:_0x504cbf})=>{if(_0x504cbf['id']===_0x461f4d['mySessionId']){_0x2609f2['off']();const _0x3d3599=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x29efe4=_0x504cbf['permissions'];_0x3d3599&&_0x3d3599['isEnabled']&&(_0x29efe4=_0x29efe4['filter'](_0x5ef0d3=>'document:write'!==_0x5ef0d3)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x29efe4,this['_channelId']);}}),_0x461f4d['register'](this['_channelId'],_0xd3084c);}['_initThrowingOnDataSet'](){const _0x1073b5=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x9a13d4)=>{if(!_0x9a13d4[_0x9a13d4['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3359aa('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1073b5['apply'](this['editor']['data'],_0x9a13d4);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2dd41f,[_0x5277a0])=>{if(this['_document']['version'])throw new _0x3359aa('realtimecollaborationclient-init-document-already-initialized',this);_0x2dd41f['stop'](),this['_setPendingAction']();const _0x5ef7ef=this['editor']['config']['get']('rootsAttributes'),_0x489633=this['_getOperationsFromInitData'](_0x5277a0,_0x5ef7ef);0x0==_0x489633['length']&&_0x489633['push'](new _0x159c55(0x0)),_0x2dd41f['return']=this['_connectService'](_0x489633)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x77e183=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x77e183))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x5658ad,[_0x341180,_0x4f0cec])=>{_0x5658ad['stop']();const _0x36c4cc=this['editor']['model']['document']['getRoot'](_0x341180);if(!this['_knownRootNames']['has'](_0x341180)){const _0x49045a=_0x4f0cec&&_0x4f0cec['data']?_0x4f0cec['data']:'',_0x25567a=_0x4f0cec&&_0x4f0cec['attributes']?_0x4f0cec['attributes']:{};await this['_loadRoot'](_0x341180,_0x49045a,_0x25567a);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x36c4cc['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x36c4cc);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2ae2c5){const _0x56fe93=this['editor']['plugins']['get'](_0x321f72),{connection:_0x780298}=this['editor']['plugins']['get'](c),_0x45d47a=new Set();for(const _0x39b777 of _0x2ae2c5){const _0x5ce851=_0x39b777['_authorId'];_0x5ce851&&!_0x56fe93['getUser'](_0x5ce851)&&_0x45d47a['add'](_0x5ce851);}if(0x0===_0x45d47a['size'])return;const _0x5cd67c=await lt['getMany'](_0x780298,Array['from'](_0x45d47a));for(const _0x5d298e of _0x5cd67c)_0x56fe93['getUser'](_0x5d298e['id'])||_0x56fe93['addUser'](_0x5d298e);}['_getOperationsFromInitData'](_0x11ad4a,_0x2f6945={}){const _0x2dafe9=this['editor']['model'],_0xea57d=[];let _0x3b5424=0x0;const _0x50370a='string'==typeof _0x11ad4a?{'main':_0x11ad4a}:_0x11ad4a;for(const _0x4fd99f of Object['keys'](_0x50370a)){if(!this['_document']['roots']['has'](_0x4fd99f))throw new _0x3359aa('realtimecollaborationclient-init-non-existent-root',this);const _0x435df3=this['editor']['data']['parse'](_0x50370a[_0x4fd99f]),_0x43e3c0=this['_document']['getRoot'](_0x4fd99f),_0x27499f=new _0x5c1047(_0x2dafe9['createPositionAt'](_0x43e3c0,0x0),_0x435df3,_0x3b5424++);_0xea57d['push'](_0x27499f);for(const [_0x292276,_0x5874cd]of _0x435df3['markers']){const _0x24c082=_0x2dafe9['createRange'](_0x2dafe9['createPositionFromPath'](_0x43e3c0,_0x5874cd['start']['path']['slice']()),_0x2dafe9['createPositionFromPath'](_0x43e3c0,_0x5874cd['end']['path']['slice']())),_0x1ac8dd=new _0x4bdbcb(_0x292276,null,_0x24c082,_0x2dafe9['markers'],!0x0,_0x3b5424++);_0xea57d['push'](_0x1ac8dd);}}if(_0x2f6945)for(const [_0x485527,_0x4f2b4a]of Object['entries'](_0x2f6945)){const _0x96ee7=_0x2dafe9['document']['getRoot'](_0x485527);if(!_0x96ee7)throw new _0x3359aa('multi-root-editor-root-attributes-no-root',null);for(const [_0x58eca9,_0x4192c2]of Object['entries'](_0x4f2b4a))if(null!==_0x4192c2){const _0x164bf1=new _0x1c2c98(_0x96ee7,_0x58eca9,null,_0x4192c2,_0x3b5424++);_0xea57d['push'](_0x164bf1);}}return _0xea57d;}async['_loadRoot'](_0x202671,_0x187739,_0x1590b8){this['_getOperationsFromInitData']({[_0x202671]:_0x187739},{[_0x202671]:_0x1590b8})['forEach']((_0x2819c0,_0x1a4486)=>{_0x2819c0['baseVersion']=this['_document']['version']+_0x1a4486,_0x2819c0['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2819c0);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x19b887,_0x4b49e7){let _0x4c8f76;this['_offset']=_0x19b887['offset'];const _0x1da59d=_0x19b887['wereChangesApplied']&&!_0x19b887['initData'],_0x5d3aff=_0x1da59d?0x0:_0x19b887['data']['baseVersion'];if(_0x4b49e7['forEach'](_0x5565d7=>{_0x5565d7['_isInit']=!0x0,_0x5565d7['createdAt']=_0x19b887['sessionCreatedAt'],_0x5565d7['_authorId']=null;}),_0x1da59d)_0x4c8f76=_0x4b49e7,this['_applyOperationsSet'](_0x4c8f76,_0x1da59d);else{if(_0x19b887['initData']){const _0x1008a6=this['_getOperationsFromInitData'](_0x19b887['initData']);this['_document']['history']['version']=-_0x1008a6['length'],_0x1008a6['forEach'](_0x14e8d3=>{_0x14e8d3['baseVersion']-=_0x1008a6['length'],_0x14e8d3['createdAt']=_0x19b887['sessionCreatedAt'],_0x14e8d3['_isInit']=!0x0,_0x14e8d3['_authorId']=null;}),this['_applyOperationsSet'](_0x1008a6,!0x0),this['serverHistory']['version']=-_0x1008a6['length']+this['_offset'],this['_updateServerHistory'](_0x1008a6);}this['_document']['history']['version']=_0x5d3aff,_0x4c8f76=this['_decompressOperations'](_0x19b887['data'],_0x19b887['metadata']),await this['_fetchMissingUsers'](_0x4c8f76),this['_applyOperationsSet'](_0x4c8f76,_0x1da59d);}_0x19b887['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4c8f76,_0x19b887['lastOperationId']),this['_lastSyncedOperationId']=_0x19b887['lastOperationId']),this['serverHistory']['version']=_0x5d3aff+this['_offset'],this['_updateServerHistory'](_0x4c8f76),_0x4b49e7['filter'](_0x21ddd6=>{const _0x32e4c1=this['_getAffectedRoot'](_0x21ddd6);return _0x32e4c1&&!this['_knownRootNames']['has'](_0x32e4c1);})['forEach']((_0x30ddf3,_0x591617)=>{_0x30ddf3['baseVersion']=this['_document']['version']+_0x591617,this['_saveOperationInBuffer'](_0x30ddf3);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x37efa6,_0xeb8ddc){throw this['_isPendingUpdate']=!0x0,_0xeb8ddc&&console['error'](_0xeb8ddc),new _0x3359aa(_0x37efa6,this['editor']);}['_saveOperationInBuffer'](_0x380564){this['_knownOperations']['has'](_0x380564)||(this['_knownOperations']['add'](_0x380564),this['_bufferedOperations']['push'](_0x380564),this['_pendingAction']||'marker'==_0x380564['type']&&!_0x380564['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1eca4d=!0x1){!_0x1eca4d&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x125b6f=>{_0x125b6f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x190b77=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x59c26f){return _0x59c26f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x59c26f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x59c26f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x190b77))throw _0x190b77;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x479c26=>{this['on']('change:_isPendingUpdate',()=>{_0x479c26();});});}async['_sendBufferedOperations'](){const _0x4902db=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x4902db['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x45e830=[...this['_bufferedOperations']];for(const _0xefd36a of _0x45e830)_0xefd36a['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xefd36a);const _0x449349=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x45e830),_0x3c076b=K++,_0x1a005c=this['_compressOperations'](_0x45e830),_0x120ea7=await this['_service']['sendOperations'](_0x1a005c,_0x1a005c['baseVersion'],_0x449349);try{return await this['_handleServerResponse'](_0x45e830,_0x120ea7,_0x3c076b);}catch(_0x4c449c){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4c449c);}}async['_handleServerResponse'](_0x6db3ed,_0xa1a4bf,_0xcbf7f3){if('error'in _0xa1a4bf)throw _0xa1a4bf['error'];let _0x1456ee=!0x1;if(_0xa1a4bf['wereChangesApplied']){_0xa1a4bf['lastOperationId']&&(this['_lastSyncedOperationId']=_0xa1a4bf['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3890d6=>!_0x6db3ed['includes'](_0x3890d6));for(const _0x23c753 of _0x6db3ed)_0x23c753['createdAt']='lastOperationAcceptedAt'in _0xa1a4bf&&_0xa1a4bf['lastOperationAcceptedAt']||void 0x0;Q(_0x6db3ed,_0xa1a4bf['version']-_0x6db3ed['length']),this['_updateServerHistory'](_0x6db3ed);const _0x46af54=_0x6db3ed['filter'](_0x54aeea=>{if(!_0x54aeea['_isInit'])return!0x1;const _0x184141=this['_getAffectedRoot'](_0x54aeea);return _0x184141&&!this['_knownRootNames']['has'](_0x184141);});Q(_0x46af54,this['_document']['version']),this['_applyOperationsSet'](_0x46af54),_0x1456ee=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xc921d1=this['_decompressOperations'](_0xa1a4bf['data'],_0xa1a4bf['metadata'])['filter'](_0x520f1e=>_0x520f1e['baseVersion']>=this['_lastServerVersion']);_0xc921d1['forEach'](_0x3732fe=>this['_addKnownRoot'](_0x3732fe)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xb07a97=>!_0xb07a97['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0xb07a97))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xc921d1),_0x1456ee=this['_handleExternalOperations'](_0xc921d1,_0xa1a4bf['version'],_0xa1a4bf['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1456ee?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x17762e,_0x36a7c1,_0x514f13){try{const _0x238c6b={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3ca585,operationsB:_0x1b7a41,originalOperations:_0x3076cc}=_0x32289b(_0x17762e,this['_bufferedOperations'],_0x238c6b);Q(_0x3ca585,this['_document']['version']),Q(_0x1b7a41,_0x36a7c1);for(const _0x5e5214 of _0x3ca585){const _0x415c48=_0x3076cc['get'](_0x5e5214);_0x5e5214['_authorId']=_0x415c48?_0x415c48['_authorId']:null;}_0x514f13&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x17762e,_0x514f13),this['_lastSyncedOperationId']=_0x514f13),this['_bufferedOperations']=[..._0x1b7a41],this['_applyOperationsSet'](_0x3ca585),this['_updateServerHistory'](_0x17762e);}catch(_0x426ca6){return console['error'](_0x426ca6),!0x1;}return!0x0;}['_applyOperationsSet'](_0x17a4a4,_0x172557=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x23dc4d=>{for(const _0x46b66f of _0x17a4a4)this['_knownOperations']['add'](_0x46b66f),this['_addKnownRoot'](_0x46b66f),_0x23dc4d['batch']['addOperation'](_0x46b66f),this['editor']['model']['applyOperation'](_0x46b66f);});}['_addKnownRoot'](_0x4ce1c2){const _0x51101=this['_getAffectedRoot'](_0x4ce1c2);_0x51101&&this['_knownRootNames']['add'](_0x51101);}['_getAffectedRoot'](_0x23db0b){let _0x511ff6,_0x2ae12c;switch(_0x23db0b['type']){case'insert':_0x511ff6=_0x23db0b['position']['root'];break;case'marker':if(_0x2ae12c=_0x23db0b['newRange'],!_0x2ae12c)return null;_0x511ff6=_0x2ae12c['root'];break;case'addRootAttribute':_0x511ff6=_0x23db0b['root'];break;case'addRoot':_0x511ff6=_0x23db0b['affectedSelectable'];break;case'move':_0x511ff6=_0x23db0b['targetPosition']['root'];break;default:return null;}return _0x511ff6['rootName'];}['_updateServerHistory'](_0xf20983){_0xf20983['forEach'](_0x1b06e7=>{const _0x1be6ac=_0x1b06e7['clone']();_0x1be6ac['_authorId']=_0x1b06e7['_authorId'],_0x1be6ac['_isInit']=!!_0x1b06e7['_isInit'],_0x1be6ac['createdAt']=_0x1b06e7['createdAt'],_0x1be6ac['baseVersion']+=this['_offset'],_0x1b06e7['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1be6ac),this['serverHistory']['addOperation'](_0x1be6ac);});}['_handleReconnectionError'](_0x22c747){const _0x23015e=this['editor']['plugins']['get']('Notification'),_0x4536e9=this['editor']['locale'];_0x22c747||(_0x22c747=q(_0x4536e9,'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.')),_0x23015e['showWarning'](_0x22c747,{'title':q(_0x4536e9,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x47eaa4)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x47eaa4)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x232067){const _0x211c05=_0x232067['map'](_0x1a563=>_0x1a563['toJSON']());return this['_compressor']['compress'](_0x211c05);}['_decompressOperations'](_0x598dc4,_0x4e719f){return this['_compressor']['decompress'](_0x598dc4)['map']((_0x14849f,_0x2fb322)=>{const _0x15d4cb='init'==_0x4e719f[_0x2fb322]['type'];if('InsertOperation'==_0x14849f['__className']){const _0x31c44f=_0x14849f['position']['root'];!this['_document']['getRoot'](_0x31c44f)&&(this['_document']['createRoot']('$root',_0x31c44f)['_isAttached']=!0x1);}const _0x13debc=_0x1d157f['fromJSON'](_0x14849f,this['_document']);return _0x13debc['wasUndone']=_0x14849f['wasUndone'],_0x13debc['_isInit']=_0x15d4cb,_0x13debc['_authorId']=_0x15d4cb?null:_0x4e719f[_0x2fb322]['userId'],_0x13debc['_isDisconnection']='cs:removeUser'===_0x4e719f[_0x2fb322]['type'],_0x13debc['createdAt']=_0x4e719f[_0x2fb322]['createdAt'],_0x13debc;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5f0d15=this['editor']['plugins']['get'](r)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5f0d15&&_0x5f0d15['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x5c677c,_0x3ab669){for(const _0x2c7b09 of _0x5c677c)_0x2c7b09['baseVersion']=_0x3ab669++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x4ff5bc){this['_ignoredOperations']=_0x4ff5bc,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3aa83d){let _0x4332de=_0x3aa83d['length'];for(;_0x4332de--;){const _0x4e39df=_0x3aa83d[_0x4332de];if(!this['_ignoredOperations']['has'](_0x4e39df)){if(!this['_operationToId']['has'](_0x4e39df)){const _0x2833a7=_0x55d93b()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4e39df,_0x2833a7);}return this['_operationToId']['get'](_0x4e39df);}}}['setIdForTheLastOperation'](_0x1ca14b,_0x3c6b74){if(!_0x3c6b74)return;let _0x49db26=_0x1ca14b['length'];for(;_0x49db26--;){const _0x10cd4c=_0x1ca14b[_0x49db26];this['_ignoredOperations']['has'](_0x10cd4c)||this['_operationToId']['set'](_0x10cd4c,_0x3c6b74);}}}class n extends _0x1d73f4{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}}class a extends _0x2b84e4{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x54e42b)());['_services'];static get['requires'](){return[c,'CommentsRepository',r,_0x321f72];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}constructor(_0x4a4b0e){super(_0x4a4b0e),this['_services']=new Map();}async['init'](){const _0x2e10e1=this['context'],_0x57d479=_0x2e10e1['plugins']['get']('CommentsRepository');if(_0x2e10e1['plugins']['get'](c)['addToReconnectionStack'](this),_0x57d479['adapter']={'addCommentThread':async({channelId:_0x150903,threadId:_0x3c8869,comments:_0x2c296d,resolvedAt:_0x20a6c2,resolvedBy:_0x19973b,context:_0x58d1ee,attributes:_0x4e9061})=>{const _0x23c6bc=await this['_getService'](_0x150903)['addCommentThread']({'commentThreadId':_0x3c8869,'comments':_0x2c296d['map'](_0x21c58d=>function(_0x56d6a7,_0x5c099f,_0x4a2369){return{'commentThreadId':_0x4a2369,'commentId':_0x56d6a7['commentId'],'userId':_0x56d6a7['authorId'],'content':_0x56d6a7['content'],'documentId':_0x5c099f,'createdAt':_0x56d6a7['createdAt'],'attributes':_0x56d6a7['attributes']||{}};}(_0x21c58d,_0x150903,_0x3c8869)),'resolvedAt':_0x20a6c2,'resolvedBy':_0x19973b,'context':_0x58d1ee,'attributes':_0x4e9061})['catch'](ut);return{'threadId':_0x23c6bc['commentThreadId'],'comments':_0x23c6bc['comments']};},'getCommentThread':async({channelId:_0x14235e,threadId:_0x4990ca})=>{const _0x29eb74=await this['_getService'](_0x14235e)['getCommentThread'](_0x4990ca)['catch'](ut);return _0x29eb74['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x29eb74]),{'threadId':_0x29eb74['commentThreadId'],'comments':_0x29eb74['comments']['map'](b),'context':_0x29eb74['context'],'resolvedAt':_0x29eb74['resolvedAt'],'resolvedBy':_0x29eb74['resolvedBy'],'attributes':_0x29eb74['attributes']||{}});},'updateCommentThread':async({channelId:_0x496885,threadId:_0x356445,context:_0x289528,unlinkedAt:_0x5e0f29,attributes:_0x10e7d8})=>this['_getService'](_0x496885)['updateCommentThread']({'commentThreadId':_0x356445,'context':_0x289528,'attributes':_0x10e7d8,'unlinkedAt':_0x5e0f29})['catch'](y)['catch'](ut),'resolveCommentThread':async({channelId:_0x57ba60,threadId:_0x5ae95e})=>{const _0x530099=await this['_getService'](_0x57ba60)['resolveCommentThread'](_0x5ae95e)['catch'](y)['catch'](ut);return{'threadId':_0x530099['commentThreadId'],'resolvedAt':_0x530099['resolvedAt'],'resolvedBy':_0x530099['resolvedBy']};},'reopenCommentThread':async({channelId:_0x45e856,threadId:_0x57078d})=>this['_getService'](_0x45e856)['reopenCommentThread'](_0x57078d)['catch'](y)['catch'](ut),'removeCommentThread':({channelId:_0x191312,threadId:_0x20c973})=>this['_getService'](_0x191312)['removeCommentThread'](_0x20c973)['catch'](y)['catch'](ut),'addComment':({channelId:_0x329886,threadId:_0x1a2f65,commentId:_0x52bf99,content:_0x54e704,attributes:_0x3da45c})=>this['_getService'](_0x329886)['addComment'](_0x1a2f65,_0x52bf99,_0x54e704,_0x3da45c)['catch'](ut),'updateComment':({channelId:_0x527d22,threadId:_0x456569,commentId:_0x16f4f7,content:_0x3e32a2,attributes:_0x2b982d})=>this['_getService'](_0x527d22)['updateComment'](_0x456569,_0x16f4f7,_0x3e32a2,_0x2b982d)['catch'](y)['catch'](ut),'removeComment':({channelId:_0x5e3092,threadId:_0x580c64,commentId:_0x23b6fe})=>this['_getService'](_0x5e3092)['removeComment'](_0x580c64,_0x23b6fe)['catch'](y)['catch'](ut)},_0x2e10e1 instanceof _0x33d726){const _0x49e9ab=_0x2e10e1['config']['get']('collaboration.channelId'),_0x5a97c9=_0x2e10e1['plugins']['get'](r);await this['_setUpService'](_0x49e9ab);const _0x28ee91=await this['_services']['get'](_0x49e9ab)['getConnectedSessions']();this['listenTo'](_0x5a97c9,'sessionAdd:'+_0x49e9ab,(_0x55e9bc,{session:_0x3bfb4b})=>{_0x3bfb4b['id']===_0x5a97c9['mySessionId']&&(_0x55e9bc['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3bfb4b['permissions'],_0x49e9ab));}),_0x5a97c9['register'](_0x49e9ab,_0x28ee91);}}async['_setUpService'](_0x18109e){if(this['_services']['has'](_0x18109e))throw new _0x3359aa('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x18109e});const _0x3f7f06=this['context']['plugins']['get']('CommentsRepository'),_0x4aa980=new a['CommentsService'](_0x18109e);this['_services']['set'](_0x18109e,_0x4aa980),this['listenTo'](_0x4aa980,'commentThreadAdded',(_0x479eb3,_0x130658)=>{const {commentThreadId:_0x4891c4,documentId:_0x42fc95,context:_0x8d8969,attributes:_0x8da28b,resolvedAt:_0x6000e4,resolvedBy:_0x59e226,comments:_0x42f550}=_0x130658;_0x3f7f06['getCommentThread'](_0x4891c4)||_0x3f7f06['addCommentThread']({'threadId':_0x4891c4,'channelId':_0x42fc95,'comments':_0x42f550?_0x42f550['map'](b):[],'context':_0x8d8969,'attributes':_0x8da28b,'resolvedAt':_0x6000e4,'resolvedBy':_0x59e226,'isFromAdapter':!0x0});}),this['listenTo'](_0x4aa980,'commentThreadUpdated',(_0x335540,{commentThreadId:_0x754a41,documentId:_0xb7115e,context:_0xbd097e,unlinkedAt:_0x22e998,attributes:_0x1c4f75})=>{_0x3f7f06['getCommentThread'](_0x754a41)&&_0x3f7f06['updateCommentThread']({'threadId':_0x754a41,'channelId':_0xb7115e,'context':_0xbd097e,'unlinkedAt':_0x22e998,'attributes':_0x1c4f75,'isFromAdapter':!0x0});}),this['listenTo'](_0x4aa980,'commentThreadResolved',(_0xad1e04,{commentThreadId:_0x9307da,resolvedBy:_0x16da3d,resolvedAt:_0x30d4f8})=>{const _0x11cf87=_0x3f7f06['getCommentThread'](_0x9307da);_0x11cf87&&_0x11cf87['resolve']({'resolvedBy':_0x16da3d,'resolvedAt':_0x30d4f8,'isFromAdapter':!0x0});}),this['listenTo'](_0x4aa980,'commentThreadReopened',(_0x298ebb,{commentThreadId:_0x5ae419})=>{const _0x538b2b=_0x3f7f06['getCommentThread'](_0x5ae419);_0x538b2b&&_0x538b2b['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4aa980,'commentThreadRemoved',(_0x37f8c1,{commentThreadId:_0x184e4a})=>{const _0x28506c=_0x3f7f06['getCommentThread'](_0x184e4a);_0x28506c&&_0x28506c['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4aa980,'commentAdded',(_0x31abdc,_0x143828)=>{const _0x5025d6=_0x143828['commentThreadId'],_0x69337a=_0x3f7f06['getCommentThread'](_0x5025d6);_0x69337a&&_0x69337a['addComment']({...b(_0x143828),'isFromAdapter':!0x0});}),this['listenTo'](_0x4aa980,'commentUpdated',(_0x2bc6ae,{commentThreadId:_0x5f3695,commentId:_0x1b045f,content:_0x4e3033,attributes:_0x559fd7})=>{const _0x560831=_0x3f7f06['getCommentThread'](_0x5f3695);if(_0x560831){const _0x305ed6=_0x560831['getComment'](_0x1b045f);_0x305ed6&&_0x305ed6['update']({'content':_0x4e3033,'attributes':_0x559fd7,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4aa980,'commentRemoved',(_0x111d03,{commentThreadId:_0x241886,commentId:_0x216264})=>{const _0x31cc96=_0x3f7f06['getCommentThread'](_0x241886);if(_0x31cc96){const _0x54970d=_0x31cc96['getComment'](_0x216264);_0x54970d&&_0x54970d['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x18109e);}['destroy'](){if(this['context']instanceof _0x33d726){const _0x2d98f9=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2d98f9);}}['_terminateService'](_0x486bb0){if(!this['_services']['has'](_0x486bb0))throw new _0x3359aa('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x486bb0});this['_getService'](_0x486bb0)['disconnect'](),this['_services']['delete'](_0x486bb0);}async['reconnect'](){for(const _0x14c9fe of this['_services']['keys']())await this['_connectService'](_0x14c9fe);if(this['context']instanceof _0x33d726){const _0x4a9957=this['context']['config']['get']('collaboration.channelId'),_0x1c5468=this['context']['plugins']['get'](r);_0x1c5468['unregister'](_0x4a9957);const _0x5d53b5=await this['_services']['get'](_0x4a9957)['getConnectedSessions']();_0x1c5468['register'](_0x4a9957,_0x5d53b5);}}async['_connectService'](_0x252de2){const {connection:_0x11bf48}=this['context']['plugins']['get'](c),_0x5c74f6=this['context']['plugins']['get']('CommentsRepository'),_0x2f9a0b=this['_services']['get'](_0x252de2),_0x1aa700=await _0x2f9a0b['connect'](_0x11bf48);await this['_fetchMissingUsersForThreads'](_0x1aa700);const _0x584751=new Set(Array['from'](_0x5c74f6['getCommentThreads']({'channelId':_0x252de2}),_0x78bd41=>_0x78bd41['id']));for(const _0x4955f3 of _0x1aa700)_0x4955f3['deletedAt']||_0x584751['delete'](_0x4955f3['commentThreadId']);for(const _0x4f5120 of _0x584751)_0x5c74f6['getCommentThread'](_0x4f5120)['remove']({'isFromAdapter':!0x0});for(const _0xed133a of _0x1aa700){let _0x105619=_0x5c74f6['getCommentThread'](_0xed133a['commentThreadId']);const {commentThreadId:_0x15efc7,context:_0x2d42f2,attributes:_0x187155,resolvedBy:_0x5d4f4c,resolvedAt:_0x7ca236,unlinkedAt:_0x4e2b61,deletedAt:_0x235147}=_0xed133a;if(_0x235147)continue;_0x105619||(_0x105619=_0x5c74f6['addCommentThread']({'channelId':_0x252de2,'threadId':_0x15efc7,'context':_0x2d42f2,'attributes':_0x187155||{},'resolvedBy':_0x5d4f4c,'resolvedAt':_0x7ca236,'unlinkedAt':_0x4e2b61,'isFromAdapter':!0x0}));const _0x2c3e7=new Set(Array['from'](_0x105619['comments'],_0x501436=>_0x501436['id']));for(const _0x2de4ad of _0xed133a['comments'])_0x2c3e7['delete'](_0x2de4ad['commentId']);for(const _0x4ae515 of _0x2c3e7)_0x105619['getComment'](_0x4ae515)['remove']({'isFromAdapter':!0x0});for(const _0x5916e6 of _0xed133a['comments']){const _0x28e4ed=_0x105619['getComment'](_0x5916e6['commentId']);_0x28e4ed?_0x28e4ed['content']!==_0x5916e6['content']&&_0x28e4ed['update']({'content':_0x5916e6['content'],'isFromAdapter':!0x0}):_0x105619['addComment'](Object['assign'](b(_0x5916e6),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4930d7){if(!this['_services']['has'](_0x4930d7))throw new _0x3359aa('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4930d7});return this['_services']['get'](_0x4930d7);}async['_fetchMissingUsersForThreads'](_0x14bdeb){const _0x46a81d=this['context']['plugins']['get'](_0x321f72),{connection:_0x570e67}=this['context']['plugins']['get'](c),_0x3a3606=new Set();for(const {resolvedBy:_0x35462f,comments:_0x3bd5f8}of _0x14bdeb){_0x35462f&&!_0x46a81d['getUser'](_0x35462f)&&_0x3a3606['add'](_0x35462f);for(const {userId:_0x4d52a4}of _0x3bd5f8)_0x46a81d['getUser'](_0x4d52a4)||_0x3a3606['add'](_0x4d52a4);}if(0x0===_0x3a3606['size'])return;const _0x6e55d6=await lt['getMany'](_0x570e67,Array['from'](_0x3a3606));for(const _0x44f5e3 of _0x6e55d6)_0x46a81d['getUser'](_0x44f5e3['id'])||_0x46a81d['addUser'](_0x44f5e3);}}async function y(_0x309fc9){if('404'!==_0x309fc9['code'])throw _0x309fc9;}function ut(_0x474bd1){if((_0x74ff87=_0x474bd1)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x74ff87['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x74ff87['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x74ff87;throw _0x474bd1;}function b(_0x521c4a){return{'threadId':_0x521c4a['commentThreadId'],'commentId':_0x521c4a['commentId'],'content':_0x521c4a['content'],'createdAt':_0x521c4a['createdAt'],'authorId':_0x521c4a['userId'],'attributes':_0x521c4a['attributes']||{}};}class g extends _0x1d73f4{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',r,_0x321f72];}constructor(_0x12077c){super(_0x12077c);const _0x9a9177=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new v['RevisionHistoryService'](_0x9a9177);}async['init'](){const _0x4d1203=this['editor']['plugins']['get'](l),_0x1a80eb=_0x4d1203['serverHistory'],_0x2dee18=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x1a80eb,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4d1203['sessionId']});const _0x48304c=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x3bb113=await tt['isBundleUploaded'](_0x2dee18['connection'],_0x48304c);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x33351a})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x33351a)),'updateRevisions':async _0x735af8=>{await this['_waitForServiceReady']();const _0x12765f=this['_revisionTracker']['currentRevision'];if(_0x3bb113&&0x1===_0x735af8['length']&&_0x735af8[0x0]['id']===_0x12765f['id'])return _0x735af8;for(const _0x3f8f64 of _0x735af8)_0x3f8f64['id']===_0x12765f['id']&&(_0x3f8f64['isEmptyCurrent']=_0x3f8f64['fromVersion']===_0x3f8f64['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x735af8,this['_lastRequestId'])['then'](_0x3d5aac=>(this['_lastRequestId']=_0x3d5aac,_0x735af8))['catch'](_0x438510=>{if(st(_0x438510)||'400'===_0x438510['code']&&void 0x0!==_0x438510['data']['wrongRequestId']){for(const _0x2c59d9 of _0x735af8){!this['_revisionTracker']['repository']['getRevision'](_0x2c59d9['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2c59d9['id'],_0x2c59d9,!0x1);}if(st(_0x438510))throw _0x438510;return _0x735af8;}throw _0x438510;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x30e6ff,{revisionsData:_0x52ab71,requestId:_0x598c64})=>{Math['max'](..._0x52ab71['map'](_0x25916f=>_0x25916f['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x52ab71,_0x598c64);}):this['_handleRevisionsUpdate'](_0x52ab71,_0x598c64);});const {revisions:_0x4f130f,requestId:_0x1ee0bc}=await this['_revisionHistoryService']['connect'](_0x2dee18['connection']);_0x2dee18['addToReconnectionStack'](this),this['_lastRequestId']=_0x1ee0bc,await this['_fetchMissingUsers'](_0x4f130f);for(const _0x354164 of _0x4f130f)this['_revisionTracker']['addRevisionData'](_0x354164);this['listenTo'](_0x4d1203,'change:_isConnected',(_0x39009b,_0x28beef,_0x3973fb)=>{_0x3973fb&&(this['_oldOffset']=_0x4d1203['_offset'],_0x39009b['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2dee18,'state',_0x399d25=>_0x399d25===_0x3d541f['CONNECTED']);}async['reconnect'](){const _0x34e447=this['editor']['plugins']['get'](c),_0x56f5a3=this['editor']['plugins']['get'](l),_0x134256=async()=>{const _0xc340ac=this['_revisionTracker']['currentRevision'],_0x5f44b3=_0xc340ac['id'],_0x5d94a9=_0x5f44b3!==_0x56f5a3['sessionId'];if(_0x5d94a9){const _0xc06616=_0x56f5a3['_offset']-this['_oldOffset'],_0x189623=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xc340ac['toVersion']+_0xc06616!==_0x189623){const _0x18f857=_0xc340ac['fromVersion']+_0xc06616,_0x47adf5=this['editor']['plugins']['get'](_0x321f72),_0x408477=this['_revisionTracker']['buildRevisionData']({'revision':_0xc340ac,'from':_0x18f857,'to':_0x189623});_0x408477['id']=_0xc340ac['id'];const _0xf5985e=_0x408477['authorsIds']['map'](_0x9b0681=>_0x47adf5['getUser'](_0x9b0681));_0xc340ac['_update']({..._0x408477,'authors':_0xf5985e},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xc340ac['id'],_0x408477,!0x0);}this['_revisionTracker']['_startingVersion']=_0x189623,(_0xc340ac['toVersion']===_0xc340ac['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x5f44b3)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x5f44b3),this['_revisionTracker']['_createCurrentRevision'](_0x189623));}const {revisions:_0x290593,requestId:_0x4a14a9}=await this['_revisionHistoryService']['reconnect'](_0x34e447['connection'],this['_lastRequestId']);_0x5d94a9&&_0x290593['length']>0x0?_0x56f5a3['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x290593),this['_handleRevisionsUpdate'](_0x290593,_0x4a14a9),this['_revisionTracker']['sendBufferedUpdates']());};return _0x56f5a3['_isConnected']?_0x134256():new Promise((_0x4af83d,_0x17288e)=>{_0x56f5a3['once']('change:_isConnected',()=>{_0x134256()['then'](_0x4af83d)['catch'](_0x17288e);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3cbbb6=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x23b815=>{_0x23b815['off'](),_0x3cbbb6();});});}['_getLatestVersionFromServerOperations'](){const _0xeff604=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x978e0e of _0xeff604)if('marker'!==_0x978e0e['type']||_0x978e0e['affectsData'])return _0x978e0e['baseVersion']+0x1;}['_getLatestVersion'](){const _0x3d4046=this['editor']['plugins']['get'](l);return new Promise(_0x537a8b=>{_0x3d4046['_isPendingUpdate']?_0x3d4046['once']('change:_isPendingUpdate',()=>{_0x537a8b(this['_getLatestVersionFromServerOperations']());}):_0x537a8b(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x30e0f5,_0x2bdea4){const _0x27e1ef=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2bdea4;for(const _0x25998c of _0x30e0f5){const _0xffc198=_0x27e1ef['getRevision'](_0x25998c['id']);if(_0xffc198){if((_0x25998c['fromVersion']||_0x25998c['toVersion'])&&(_0x25998c['diffData']=null),_0xffc198===this['_revisionTracker']['currentRevision']){const _0x53f510=Math['max'](_0xffc198['toVersion'],_0x25998c['toVersion']),_0x41cb67=Math['max'](_0xffc198['fromVersion'],_0x25998c['fromVersion']);let _0xd76956;_0xffc198['toVersion']===_0x25998c['toVersion']&&_0xffc198['fromVersion']===_0x25998c['fromVersion']?(_0xd76956=!0x0,this['_preventResendingRevisionData'](_0x25998c)):_0x25998c['toVersion']===_0x53f510&&_0x25998c['fromVersion']===_0x41cb67?_0xd76956=!0x1:(_0xffc198['toVersion']===_0x53f510&&_0xffc198['fromVersion']===_0x41cb67||this['_fixRevision']({'revision':_0xffc198,'from':_0x41cb67,'to':_0x53f510}),_0xd76956=!0x0),_0xd76956&&(delete _0x25998c['fromVersion'],delete _0x25998c['toVersion'],delete _0x25998c['diffData'],delete _0x25998c['createdAt'],delete _0x25998c['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x25998c),this['_preventResendingRevisionData'](_0x25998c);}else this['_revisionTracker']['addRevisionData'](_0x25998c);}const _0x427d9e=_0x27e1ef['getRevisions']();_0x427d9e['reverse']();for(let _0x2f8282=0x0;_0x2f8282<_0x427d9e['length']-0x1;_0x2f8282++){const _0x62481e=_0x427d9e[_0x2f8282],_0x4b6271=_0x427d9e[_0x2f8282+0x1];if(_0x62481e['fromVersion']<_0x4b6271['toVersion']){const _0x4f9eb9=_0x4b6271['toVersion'],_0x19db02=Math['max'](_0x4f9eb9,_0x62481e['toVersion']);this['_fixRevision']({'revision':_0x62481e,'from':_0x4f9eb9,'to':_0x19db02});}}}['_fixRevision']({revision:_0x1047d8,from:_0x105d90,to:_0x3f22a3}={}){const _0x5094b8=this['editor']['plugins']['get'](_0x321f72),_0x19c30f=this['_revisionTracker']['buildRevisionData']({'revision':_0x1047d8,'from':_0x105d90,'to':_0x3f22a3});_0x19c30f['authors']=_0x19c30f['authorsIds']['map'](_0x39738a=>_0x5094b8['getUser'](_0x39738a)),_0x1047d8['_update'](_0x19c30f);}['_preventResendingRevisionData'](_0x374b35){const _0x51fdb3={};_0x51fdb3['id']=_0x374b35['id'];for(const _0x45661b of Object['keys'](_0x374b35))'id'!==_0x45661b&&(_0x51fdb3[_0x45661b]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x51fdb3['id'],_0x51fdb3,!0x0);}async['_fetchMissingUsers'](_0x11b3db){const _0x13a42a=this['editor']['plugins']['get'](_0x321f72),{connection:_0x1968ed}=this['editor']['plugins']['get'](c),_0x16b435=new Set();for(const _0x5a5a51 of _0x11b3db){for(const _0x10a13b of _0x5a5a51['authorsIds'])_0x2dab2f(_0x10a13b);_0x5a5a51['creatorId']&&_0x2dab2f(_0x5a5a51['creatorId']);}if(0x0===_0x16b435['size'])return;const _0x3b9b6a=await lt['getMany'](_0x1968ed,Array['from'](_0x16b435));for(const _0xb5e59c of _0x3b9b6a)_0x13a42a['getUser'](_0xb5e59c['id'])||_0x13a42a['addUser'](_0xb5e59c);function _0x2dab2f(_0x579e55){_0x13a42a['getUser'](_0x579e55)||_0x16b435['add'](_0x579e55);}}}function st(_0x26e579){return _0x26e579['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x26e579['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x26e579['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class d extends _0x1d73f4{static get['requires'](){return['RevisionHistory',v,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}}class ts extends _0xbb9c35{constructor(_0x2154f1){super(_0x2154f1);const _0x5a3199=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x5a3199['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x5a3199['to']('usersCount',_0x3418c3=>q(_0x2154f1,'CONNECTED_USERS',_0x3418c3))}]});}}class es extends _0xbb9c35{['items'];['keystrokes'];constructor(_0x44e801){super(_0x44e801);const _0xc0a10b=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5841c3(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xc0a10b['if']('hasPopup'),'aria-expanded':_0xc0a10b['to']('isExpanded',_0xc83804=>this['hasPopup']&&String(_0xc83804)),'aria-label':_0xc0a10b['to']('hasPopup',_0x475218=>q(_0x44e801,_0x475218?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xc0a10b['to']('hasPopup',_0x414dc8=>!!_0x414dc8&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0xc0a10b['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x476d2c,_0x59de77,_0x4feacb)=>{this['element']&&(_0x4feacb?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 _ extends _0xbb9c35{['counterView'];['inlineListView'];constructor(_0x3e04d1){super(_0x3e04d1);const _0x468a5f=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x3e04d1),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2b7e56 of this['inlineListView']['items'])_0x2b7e56['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',_0x468a5f['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class M extends _0xbb9c35{['listWrapperView'];constructor(_0x32d377,_0x27afd8){super(_0x32d377),this['listWrapperView']=new mt(_0x32d377,_0x27afd8),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x32d377,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class mt extends _0x310008{constructor(_0x5a0354,_0x3440e7){super(_0x5a0354);const _0x1dacea=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3440e7?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1dacea['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1dacea['to']('role'),'aria-label':_0x1dacea['to']('ariaLabel'),'aria-labelledby':_0x1dacea['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x10d1d7['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x431386=this['element'];_0x431386&&(this['_isScrollable']=Math['max'](_0x431386['scrollHeight'],_0x431386['clientHeight'])>0.8*window['innerHeight']);}}class E extends rt{['userView'];constructor(_0x575066,_0x5c44d4,_0x52f782){super(_0x575066);const _0x4ba54a=this['bindTemplate'];this['userView']=new ct(_0x575066,_0x5c44d4);const _0x17357e={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5c44d4['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5c44d4['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5c44d4['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x52f782&&(_0x17357e['tag']='button',_0x17357e['on']={'click':_0x4ba54a['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x17357e);}['focus'](){this['element']['focus']();}}class T extends _0xbb9c35{['userView'];['markerView'];constructor(_0x48a6ad,_0x15478e,_0x4e82aa){super(_0x48a6ad);const _0x96ae6a=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x48a6ad,_0x15478e),this['markerView']=new at(_0x48a6ad,_0x15478e);const _0x262255=new ot(_0x48a6ad);_0x262255['template']['tag']='span',_0x262255['text']=_0x15478e['name'];const _0x31c8d5={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x96ae6a['to']('isFocusable',_0x1cff0c=>!!_0x1cff0c&&0x0),'aria-labelledby':_0x262255['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x96ae6a['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x96ae6a['to']('hasTooltip',_0x4ee5c4=>!_0x4ee5c4),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x262255]};_0x4e82aa&&(_0x31c8d5['tag']='button',_0x31c8d5['on']={'click':_0x96ae6a['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x31c8d5);}}class at extends _0xbb9c35{constructor(_0x2a1c7f,_0x4a2ff8){super(_0x2a1c7f),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4a2ff8['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const D={'collapseAt':0x6,'displayMe':!0x0};class s extends _0x2b84e4{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x293709){super(_0x293709),this['context']['config']['define']('presenceList',D);const _0x7b30d4=_0x293709['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x7b30d4)throw new _0x3359aa('presencelist-collapseat-invalid-format',this);if(_0x7b30d4<0x1)throw new _0x3359aa('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](r)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1af149(),this['balloonPanelView']=new _0x2dcabe(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[r];}['init'](){for(const _0x29e68a of this['_allConnectedUsers'])this['_handleUserAdd'](_0x29e68a);this['listenTo'](this['_allConnectedUsers'],'add',(_0x177f2d,_0x55c8c6)=>{this['_handleUserAdd'](_0x55c8c6);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1baf27,_0x5d75df)=>{this['_handleUserRemove'](_0x5d75df);});}['_createView'](){const _0x31e0bb=this['context'],_0x3e8956=new _(this['context']['locale']),_0x37d089=this['balloonPanelView'];if(!_0x572beb(_0x31e0bb['config']['get']('presenceList.container')))throw new _0x3359aa('presencelist-missing-container',this);return _0x3e8956['counterView']['bind']('usersCount')['to'](this),_0x3e8956['bind']('isCollapsed')['to'](this,'usersCount',_0x2d18bc=>{const {collapseAt:_0x3b1915,displayMe:_0x2f3062}=_0x31e0bb['config']['get']('presenceList'),_0x51f151=_0x2d18bc>=_0x3b1915;return _0x3e8956['counterView']['isHidden']=!(0x1==_0x2d18bc&&_0x2f3062||_0x51f151),_0x51f151||this['hideDropdown'](),_0x51f151;}),_0x3e8956['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x55218f=>{const _0x1e7c7c=_0x31e0bb['config']['get']('presenceList'),_0x1ef3dc=new T(_0x31e0bb['locale'],_0x55218f,!!_0x1e7c7c['onClick']);return _0x1ef3dc['bind']('hasTooltip')['to'](_0x3e8956,'isCollapsed',_0x20eddb=>!_0x20eddb),_0x1ef3dc['bind']('isFocusable')['to'](_0x3e8956,'isCollapsed',_0x42ca4b=>!_0x42ca4b),_0x1e7c7c['onClick']&&this['listenTo'](_0x1ef3dc,'execute',()=>{this['view']['isCollapsed']||_0x1e7c7c['onClick'](_0x55218f,_0x1ef3dc['element']);}),_0x1ef3dc;}),this['listenTo'](_0x3e8956['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x3e8956['inlineListView']['keystrokes']['set']('Enter',(_0x455130,_0x2509df)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2509df());}),_0x3e8956['render'](),_0x37d089['render'](),_0x1c2462({'emitter':_0x3e8956,'activator':()=>_0x37d089['isVisible'],'contextElements':[_0x37d089['element'],_0x3e8956['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x31e0bb['config']['get']('presenceList.container')['appendChild'](_0x3e8956['element']),this['_bodyCollection']=new _0x423669(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3e8956;}['_handleUserAdd'](_0x51d8e6){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x51d8e6['isMe'])return;const _0x4d44ae=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x4d44ae&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x434236=_0x51d8e6['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x51d8e6,_0x434236);}['_handleUserRemove'](_0x577b8d){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x577b8d['id'])&&(this['currentDisplayedUsers']['remove'](_0x577b8d['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x1c7e1c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1c7e1c['id']))return void this['currentDisplayedUsers']['add'](_0x1c7e1c,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4a4dd1=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new M(this['context']['locale'],!!_0x4a4dd1['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x375dbb}=this['presenceDropdownView'];_0x375dbb['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x35b6f9=>{if(!_0x4a4dd1['displayMe']&&_0x35b6f9['isMe'])return null;const _0x5462dd=new E(this['context']['locale'],_0x35b6f9,!!_0x4a4dd1['onClick']);return _0x4a4dd1['onClick']&&this['listenTo'](_0x5462dd,'execute',()=>{_0x4a4dd1['onClick'](_0x35b6f9,_0x5462dd['element']);}),_0x5462dd;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x375dbb['focus'](),_0x375dbb['checkIfScrollable']();const _0x59a022=(_0x2862c9,_0x58dc17)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x58dc17();};_0x375dbb['keystrokes']['set']('Esc',_0x59a022),_0x375dbb['keystrokes']['set']('Shift+Tab',_0x59a022),_0x375dbb['keystrokes']['set']('Tab',(_0x5c7009,_0x5cacc1)=>{!function(_0x2a3882){const _0x4a9a47=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3dc98f=>_0x3dc98f+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x19c3b7=[...document['body']['querySelectorAll'](_0x4a9a47)]['filter'](_0x400e5d=>_0x400e5d===document['activeElement']||_0x400e5d['offsetWidth']+_0x400e5d['offsetHeight']>0x0)['sort']((_0x4ead2a,_0x52b15)=>(_0x4ead2a['tabIndex']||0x0)-(_0x52b15['tabIndex']||0x0)),_0x38d911=_0x19c3b7['indexOf'](_0x2a3882),_0x90a324=_0x19c3b7[(_0x38d911+0x1)%_0x19c3b7['length']];_0x90a324&&_0x90a324['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5cacc1();}),_0x375dbb['focusTracker']['add'](this['view']['element']),_0x375dbb['focusTracker']['on']('change:isFocused',(_0x5ef66d,_0x4a26f3,_0x179012)=>{_0x179012||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 i extends _0x2b84e4{static get['requires'](){return[r,s];}static get['pluginName'](){return'PresenceList';}}export{a as CloudServicesCommentsAdapter,v as CloudServicesRevisionHistoryAdapter,g as CloudServicesTrackChangesAdapter,i as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,d as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
|
|
23
|
+
import{ContextPlugin as _0x536a58,Plugin as _0xa7b1dc,PendingActions as _0x2fc54a,Context as _0x20f32d}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x3e8a40,CKEditorError as _0x3e942c,Collection as _0x29beb2,global as _0x4bd3f5,version as ht,uid as _0x5c9614,KeystrokeHandler as _0x5b37f4}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2e2629,View as _0x385240,ListView as _0x53e168,ListItemView as ct,LabelView as pt,BalloonPanelView as _0x19bb9a,clickOutsideHandler as _0x1293dd,BodyCollection as _0x54173d}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ut,History as _0x5d978e,NoOperation as _0x5c431e,InsertOperation as _0x453615,MarkerOperation as _0x1128c5,RootAttributeOperation as _0x53a927,transformSets as _0x442640,OperationFactory as _0x168a4e}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ft,WEB_SOCKET_GATEWAY_STATES as _0x2bb5ea,CollaborativeEditingService as _0x3c3a24,User as mt,CommentsService as tt,TrackChangesService as at,RevisionHistoryService as st,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x33926,UserView as lt}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0xe4dc0}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x1d376a}from'lodash-es';class c extends _0x536a58{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>ft)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2e2629];}static get['pluginName'](){return'WebSocketGateway';}constructor(_0x29c2f7){super(_0x29c2f7),this['set']('state',_0x2bb5ea['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x3e8a40);}['init'](){const _0x56f4f3=this['context'],_0x464954=_0x56f4f3['plugins']['get']('CloudServices'),_0xf214d9=_0x56f4f3['plugins']['get'](_0x2e2629);if(!_0x464954['token'])throw new _0x3e942c('websocketgateway-missing-token',this);if(!_0x464954['webSocketUrl'])throw new _0x3e942c('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),c['WebSocketGateway']['connect'](_0x464954['token'],_0x464954['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x179d7a=>{if(this['connection']=_0x179d7a,this['bind']('state')['to'](_0x179d7a,'state',this,'_isBrowserOffline',(_0x125ea5,_0x589ecb)=>('connected'!==_0x125ea5&&(this['_shouldPluginsReconnect']=!0x0),_0x589ecb||_0x125ea5!==_0x2bb5ea['CONNECTED']?_0x2bb5ea['DISCONNECTED']:this['state']==_0x2bb5ea['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2bb5ea['CONNECTING']):_0x2bb5ea['CONNECTED'])),this['connection']['on']('error',(_0x5834a0,_0x25f1c4)=>{if('limitExceeded'!==_0x25f1c4['code'])throw console['error'](_0x25f1c4),new _0x3e942c('cloudservices-init',null,{'originalError':_0x25f1c4});_0xf214d9['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'});}),!_0x179d7a['me'])return new Promise(_0x54bd51=>_0x179d7a['on']('change:me',_0x54bd51));})['catch'](_0x17a4af=>{throw console['error'](_0x17a4af),new _0x3e942c('cloudservices-init',null,{'originalError':_0x17a4af});});}['addToReconnectionStack'](_0x27c6ae){if('function'!=typeof _0x27c6ae['reconnect'])throw new _0x3e942c('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x27c6ae))throw new _0x3e942c('websocketgateway-plugin-already-registered',this,{'name':_0x27c6ae['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x27c6ae);}['removeFromReconnectionStack'](_0x5795aa){this['_reconnectionStack']['delete'](_0x5795aa);}['isInReconnectionStack'](_0x2b4459){return this['_reconnectionStack']['has'](_0x2b4459);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x434818=>_0x434818['reconnect']())))['then'](()=>this['state']=_0x2bb5ea['CONNECTED'])['catch'](_0xe3fd40=>{throw console['error'](_0xe3fd40),new _0x3e942c('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2bb5ea['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class r extends _0x536a58{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['requires'](){return[c,_0x33926];}constructor(_0x30e2aa){super(_0x30e2aa),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x29beb2(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x33926);}['init'](){const _0x35ba43=this['context']['plugins']['get'](c);this['listenTo'](_0x35ba43,'change:state',(_0x138d83,_0x1bf0a7,_0x75a0a)=>{if('connected'!==_0x75a0a)this['channelSessions']['forEach'](_0x40fbc0=>_0x40fbc0['clear']()),this['channelConnectedUsers']['forEach'](_0x581909=>_0x581909['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3e4b1d,_0x2831a0]of this['_registeredSessions'])for(const _0xaf3266 of _0x2831a0)this['_handleSessionAdd'](_0x3e4b1d,_0xaf3266);}}),this['_createUser'](_0x35ba43['connection']['me'],!0x0);}['register'](_0x3ee83f,_0xc7cb96){if(this['_registeredSessions']['has'](_0x3ee83f))throw new _0x3e942c('sessions-register-already-registered',null,{'channelId':_0x3ee83f});this['_registeredSessions']['set'](_0x3ee83f,_0xc7cb96),this['channelSessions']['set'](_0x3ee83f,new _0x29beb2()),this['channelConnectedUsers']['set'](_0x3ee83f,new _0x29beb2()),this['listenTo'](_0xc7cb96,'add',(_0x4ff7ab,_0x20dbb5)=>this['_handleSessionAdd'](_0x3ee83f,_0x20dbb5)),this['listenTo'](_0xc7cb96,'remove',(_0x3f358c,_0x1d0b72)=>this['_handleSessionRemove'](_0x3ee83f,_0x1d0b72));for(const _0x353232 of _0xc7cb96)this['_handleSessionAdd'](_0x3ee83f,_0x353232);}['unregister'](_0x356cd1){if(!this['_registeredSessions']['has'](_0x356cd1))throw new _0x3e942c('sessions-unregister-not-exist',null,{'channelId':_0x356cd1});const _0x4b8ae0=this['_registeredSessions']['get'](_0x356cd1);this['stopListening'](_0x4b8ae0);for(const _0xa0e9be of _0x4b8ae0)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x356cd1,_0xa0e9be);this['_registeredSessions']['delete'](_0x356cd1),this['channelSessions']['delete'](_0x356cd1),this['channelConnectedUsers']['delete'](_0x356cd1);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x4cf57e){for(const _0x13906f of this['channelSessions']['values']())for(const _0xd098ef of _0x13906f)if(_0xd098ef['id']===_0x4cf57e)return _0xd098ef['user'];}['getUserSessions'](_0x22aa5d,_0x514275){const _0x14ede3=_0x514275?[this['channelSessions']['get'](_0x514275)]:this['channelSessions']['values'](),_0x169d38=new Set();for(const _0x47f868 of _0x14ede3)for(const _0x2f3e89 of _0x47f868)_0x2f3e89['user']['id']===_0x22aa5d['id']&&_0x169d38['add'](_0x2f3e89['id']);return _0x169d38;}['getUserRole'](_0x1330ca){for(const _0x58c4bb of this['channelSessions']['values']())for(const _0x370174 of _0x58c4bb)if(_0x370174['user']===_0x1330ca)return _0x370174['role'];}['_handleSessionAdd'](_0x5c9661,_0x41c572){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0xcb8b90=_0x41c572['user'],_0x2e6ef7=this['_users']['getUser'](_0xcb8b90['id'])||this['_createUser'](_0xcb8b90),_0x59736c=Object['assign']({},_0x41c572,{'user':_0x2e6ef7});this['channelSessions']['get'](_0x5c9661)['add'](_0x59736c);const _0x3d1c10=this['channelConnectedUsers']['get'](_0x5c9661);_0x3d1c10['has'](_0x2e6ef7['id'])||_0x3d1c10['add'](_0x2e6ef7),this['allConnectedUsers']['has'](_0x2e6ef7['id'])||this['allConnectedUsers']['add'](_0x2e6ef7,_0x2e6ef7['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x5c9661,{'channelId':_0x5c9661,'session':_0x59736c});}['_handleSessionRemove'](_0x5ea8ca,_0x4ac991){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x5c60eb=this['channelConnectedUsers']['get'](_0x5ea8ca),_0xa881=_0x4ac991['user'];_0xa881['id']&&(this['channelSessions']['get'](_0x5ea8ca)['remove'](_0x4ac991['id']),_0x5c60eb['has'](_0xa881['id'])&&!this['getUserSessions'](_0xa881,_0x5ea8ca)['size']&&_0x5c60eb['remove'](_0xa881['id']),this['allConnectedUsers']['get'](_0xa881['id'])&&!this['getUserSessions'](_0xa881)['size']&&this['allConnectedUsers']['remove'](_0xa881['id']));}['_createUser'](_0x45a28c,_0x101aae){const _0x445bed=this['_users']['addUser'](_0x45a28c);return _0x101aae&&this['_users']['defineMe'](_0x45a28c['id']),_0x445bed['orderNumber']=this['_uniqueUsersCount']++,_0x445bed;}}class E extends _0xa7b1dc{['_domEmitter']=new(_0x3e8a40())();static get['requires'](){return[r];}static get['pluginName'](){return'UserMarkers';}['init'](){const _0x3611bc=this['editor'],_0x270891=_0x3611bc['plugins']['get'](r);_0x3611bc['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x134f02,{writer:_0x78b8c0})=>function(_0x356be4,_0x2ad6b0,_0x5df47f,_0x3a1a88){const _0x16d641=_0x356be4['markerName']['split'](':')[0x2],_0x2ebc2a=_0x5df47f['getUserBySessionId'](_0x16d641);if(!_0x2ebc2a||_0x16d641===_0x5df47f['mySessionId'])return;if(!_0x3a1a88['model']['schema']['checkChild'](_0x356be4['markerRange']['start'],'$text'))return;const _0x1399f3={'class':'ck-user__marker\x20'+_0x2ebc2a['color']['getMarkerClass'](),'data-name':_0x2ebc2a['name'],'data-session-id':_0x16d641},_0xad14a2=_0x3a1a88['model']['markers']['get'](_0x356be4['markerName']),_0x43cf76=_0xad14a2['getStart'](),_0x31e0e5=_0x43cf76['nodeAfter'],_0x40625f=_0x3a1a88['model']['schema'];if(_0x31e0e5&&_0x40625f['isObject'](_0x31e0e5)&&_0x40625f['isInline'](_0x31e0e5)&&!_0x3a1a88['model']['markers']['get']('user:range:'+_0x16d641)['getRange']()['isCollapsed'])return;const _0x2d91cd=_0x43cf76['parent'];return _0x3a1a88['model']['schema']['isLimit'](_0x2d91cd)&&!_0x3a1a88['model']['hasContent'](_0x2d91cd)&&(_0x1399f3['contenteditable']=!0x1),function(_0x35a116,_0x14480e,_0x115693){const _0x4e1409=_0x35a116['createUIElement']('span',_0x14480e);return _0x35a116['setCustomProperty']('userPositionMarker',!0x0,_0x4e1409),_0x4e1409['render']=function(_0x1ebe2d){const _0x35700a=this['toDomElement'](_0x1ebe2d);return _0x35700a['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x115693['name']+'</span>',_0x35700a['addEventListener']('mouseenter',()=>{_0x35700a['classList']['add']('ck-user__marker_hovered');}),_0x35700a['addEventListener']('mouseleave',()=>{_0x35700a['classList']['remove']('ck-user__marker_hovered');}),_0x35700a;},_0x4e1409['isSimilar']=function(_0x4f05a6){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4f05a6['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4f05a6['getAttribute']('data-session-id'));},_0x4e1409;}(_0x2ad6b0,_0x1399f3,_0x2ebc2a);}(_0x134f02,_0x78b8c0,_0x270891,_0x3611bc)}),_0x3611bc['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xe6de7d=>function(_0x5a2355,_0x468def){const _0x2298d7=_0x5a2355['markerName']['split'](':')[0x2];if(_0x2298d7===_0x468def['mySessionId'])return null;const _0x462dd8=_0x468def['getUserBySessionId'](_0x2298d7);if(!_0x462dd8)return{'id':_0x2298d7,'classes':[]};return{'id':_0x2298d7,'classes':['ck-user__selection',_0x462dd8['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x2298d7},'priority':0x7d0+_0x462dd8['orderNumber']};}(_0xe6de7d,_0x270891)}),function(_0x1587e3){const _0x9a30c1=_0x1587e3['model'],_0x320f70=new Map(),_0x581b00=_0x1587e3['plugins']['get'](r);_0x9a30c1['markers']['on']('update:user:range',(_0x50bff6,_0x4ece31,_0x3c1271,_0x1fa7ce)=>{if(!_0x1fa7ce&&_0x320f70['get'](_0x4ece31['name']))return _0x320f70['get'](_0x4ece31['name'])['detach'](),void _0x320f70['delete'](_0x4ece31['name']);const _0x2e3a24=_0x4ece31['name']['split'](':')[0x2];if(_0x2e3a24===_0x581b00['mySessionId'])return;const _0x58b57f='user:position:'+_0x2e3a24;_0x9a30c1['markers']['has'](_0x58b57f)&&_0x1587e3['editing']['reconvertMarker'](_0x58b57f),_0x4ece31['on']('change:range',(_0x3ff10b,_0x348596,_0x41cb7e)=>{if('$graveyard'!=_0x348596['root']['rootName']&&'$graveyard'==_0x4ece31['getRange']()['root']['rootName']&&!_0x320f70['has'](_0x4ece31['name'])){const _0x5246df=_0x9a30c1['schema']['getNearestSelectionRange'](_0x41cb7e['deletionPosition']);if(_0x5246df){const _0x454f69=ut['fromRange'](_0x5246df);_0x320f70['set'](_0x4ece31['name'],_0x454f69),_0x454f69['on']('change:range',(_0x40dd9e,_0x20c975,_0x9c2299)=>{if('$graveyard'==_0x454f69['root']['rootName']){const _0x1b522b=_0x9a30c1['schema']['getNearestSelectionRange'](_0x9c2299['deletionPosition']);_0x1b522b?(_0x454f69['start']=_0x1b522b['start'],_0x454f69['end']=_0x1b522b['end']):(_0x320f70['delete'](_0x4ece31['name']),_0x454f69['detach']());}});}}});}),_0x9a30c1['document']['on']('change',()=>{_0x320f70['size']>0x0&&_0x9a30c1['enqueueChange']({'isUndoable':!0x1},_0x43ab9a=>{for(const [_0x33aa30,_0x1a667b]of _0x320f70)'$graveyard'==_0x9a30c1['markers']['get'](_0x33aa30)['getRange']()['root']['rootName']&&(Q(_0x33aa30['split'](':')[0x2],_0x1a667b['toRange'](),_0x9a30c1,_0x43ab9a),_0x1a667b['detach']());_0x320f70['clear']();});});}(_0x3611bc),this['_domEmitter']['listenTo'](_0x4bd3f5['document'],'keydown',(_0x3dbdf4,{key:_0x410669})=>{'Escape'===_0x410669&&function(_0x26ec35){_0x26ec35['editing']['view']['change'](_0x21b0f9=>{for(const _0x129548 of _0x26ec35['model']['markers']){if(!_0x129548['name']['startsWith']('user:position'))continue;const _0x239a45=_0x26ec35['editing']['mapper']['markerNameToElements'](_0x129548['name']);if(_0x239a45){for(const _0x5613ae of _0x239a45)_0x21b0f9['removeClass']('ck-user__marker_hovered',_0x5613ae);}}});}(_0x3611bc);},{'useCapture':!0x0});}['afterInit'](){const _0x2fe944=this['editor'],_0x26fb05=_0x2fe944['commands']['get']('undo');_0x26fb05&&_0x2fe944['model']['on']('applyOperation',(_0x8148fc,_0x586b17)=>{const _0x34092a=_0x586b17[0x0];if('marker'!=_0x34092a['type']||!_0x34092a['name']['startsWith']('user:'))return;const _0x1c131b=_0x34092a['batch'];_0x26fb05['_createdBatches']['has'](_0x1c131b)&&(_0x34092a['newRange']=_0x34092a['oldRange']?_0x2fe944['model']['createRange'](_0x34092a['oldRange']['start'],_0x34092a['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x26c213=this['editor'],_0x11b8c0=_0x26c213['model']['document'],_0xb0fc00=_0x26c213['plugins']['get'](r);_0x26c213['model']['enqueueChange']({'isUndoable':!0x1},_0x350506=>{const _0x80e26a='user:range:'+_0xb0fc00['mySessionId'],_0x3195b5='user:position:'+_0xb0fc00['mySessionId'],_0x2c73b3=_0x26c213['model']['markers']['has'](_0x80e26a);_0x26c213['editing']['view']['hasDomSelection']?Q(_0xb0fc00['mySessionId'],_0x11b8c0['selection']['getFirstRange'](),_0x26c213['model'],_0x350506):_0x2c73b3&&(_0x350506['removeMarker'](_0x80e26a),_0x350506['removeMarker'](_0x3195b5));});}}function Q(_0x422b45,_0x465332,_0x744c94,_0x9eaca0){const _0x47297b='user:range:'+_0x422b45,_0x5b2c5c='user:position:'+_0x422b45,_0x39396a=_0x465332['getContainedElement']();let _0xc25b7a=_0x465332['start'];_0x39396a&&_0x39396a['is']('element','tableCell')&&(_0xc25b7a=function(_0x32a310,_0x36049c){for(const _0x399564 of _0x32a310['getPositions']())if(_0x36049c['schema']['checkChild'](_0x399564,'$text'))return _0x399564;}(_0x465332,_0x744c94),_0x465332=_0x9eaca0['createRange'](_0xc25b7a));const _0x158141=_0x9eaca0['createRange'](_0xc25b7a);_0x744c94['markers']['has'](_0x47297b)?(_0x9eaca0['updateMarker'](_0x47297b,{'range':_0x465332}),_0x9eaca0['updateMarker'](_0x5b2c5c,{'range':_0x158141})):(_0x9eaca0['addMarker'](_0x47297b,{'range':_0x465332,'usingOperation':!0x0}),_0x9eaca0['addMarker'](_0x5b2c5c,{'range':_0x158141,'usingOperation':!0x0}));}function B(_0x23eb2b,_0x9213da,_0x5b48fb){const t=_0x23eb2b['t'];switch(_0x9213da){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 t({'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'},_0x5b48fb);default:return'';}}let F=0x1;class l extends _0xa7b1dc{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x3c3a24)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,r,E,_0x2fc54a,_0x33926,_0x2e2629];}static get['pluginName'](){return'RealTimeCollaborationClient';}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x262c2f=this['serverHistory']['getOperations']();for(let _0x3e0fde=_0x262c2f['length']-0x1;_0x3e0fde>=0x0;_0x3e0fde--){const _0xa56ed4=_0x262c2f[_0x3e0fde];if(!this['_disconnectionOperations']['has'](_0xa56ed4))return _0xa56ed4['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x50f3c4){if(super(_0x50f3c4),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5d978e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3e942c('collaboration-missing-channelid',this);const _0x5bbdf2=_0x50f3c4['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x5bbdf2,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xe4dc0(),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 G(this['_disconnectionOperations']);}['init'](){const _0x5bb65c=this['editor'],_0x14e5fe=_0x5bb65c['plugins']['get'](_0x33926),_0x16feb0=_0x5bb65c['plugins']['get'](c);this['listenTo'](_0x14e5fe,'getOperationAuthor',(_0x413785,_0xfafa93)=>{const _0x4f28f2=_0xfafa93[0x0];_0x4f28f2['_authorId']&&(_0x413785['return']=_0x14e5fe['getUser'](_0x4f28f2['_authorId']),_0x413785['stop']()),null===_0x4f28f2['_authorId']&&(_0x413785['return']=null,_0x413785['stop']());},{'priority':'high'}),this['listenTo'](_0x5bb65c['model']['document']['selection'],'change:range',(_0xbaf750,_0x2f1834)=>{_0x2f1834['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5bb65c['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5bb65c['model']['on']('applyOperation',(_0x553eb8,_0x56a339)=>{const _0x4b5596=_0x56a339[0x0];_0x4b5596['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4b5596),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x16feb0,'state',this,'_hasSynchronizationProblem',(_0x36f6c2,_0x33da08)=>'connected'===_0x36f6c2&&!_0x33da08),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5bb65c['disableReadOnlyMode']('rtc-offline'):_0x5bb65c['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5bb65c['disableReadOnlyMode']('rtc-offline'):_0x5bb65c['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4b413e=this['editor']['plugins']['get'](r),_0x2dee43=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x4b413e['unregister'](this['_channelId']);const _0x46eb34=await this['_service']['reconnect'](_0x2dee43['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x46eb34)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2c6b65=await this['_service']['getConnectedSessions']();_0x4b413e['register'](this['_channelId'],_0x2c6b65),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x10b97e){if(function(_0x5c7824){return'404'===_0x5c7824['code'];}(_0x10b97e)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4ab38e){return'409'===_0x4ab38e['code'];}(_0x10b97e)){const _0x16283a=B(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'](_0x16283a);}else{if(!(_0x10b97e instanceof H))throw _0x10b97e;this['_handleReconnectionError']();}}}}['destroy'](){const _0x103606=this['editor']['plugins']['get'](c),_0x5c788a=this['editor']['plugins']['get'](r);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5c788a['channelSessions']['has'](this['_channelId'])&&_0x5c788a['unregister'](this['_channelId']),_0x103606['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4d6567){if(this['sessionId']!==_0x4d6567['sessionId']&&this['_lastSyncedOperationId']!==_0x4d6567['lastOperationId'])throw new H();return this['sessionId']=_0x4d6567['sessionId'],this['_handleServerResponse']([],{..._0x4d6567,'wereChangesApplied':!0x1,'data':_0x4d6567['data']},'reconnect');}async['_connectService'](_0x39ae85,_0xe1fb33=!0x1){const {connection:_0x2e1b8b}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x2e1b8b,this['_channelId'])['then'](_0x5596ad=>this['_initSessionsHandling'](_0x5596ad))['catch'](_0x666ec5=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x666ec5);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x215488,_0x281fef)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x281fef);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x45de4a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x39ae85);this['_isPendingUpdate']=!0x0;const _0x1580a1=await this['_service']['connect'](_0x2e1b8b,this['_compressOperations'](_0x39ae85),_0x45de4a);if(this['sessionId']=_0x1580a1['sessionId'],_0xe1fb33){if(!_0x1580a1['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1580a1['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x39ae85,_0x1580a1,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1580a1,_0x39ae85);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2ce99c=this['editor']['plugins']['get'](r),_0x257873=this['editor']['plugins']['get'](E),_0x39118d=_0x2ce99c['channelSessions']['get'](this['_channelId']);_0x39118d&&_0x39118d['length']>0x1?_0x257873['createUserMarkerOperations']():this['listenTo'](_0x2ce99c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2ce99c['channelSessions']['get'](this['_channelId'])['length']&&_0x257873['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4ed7dd,_0x67ceb,_0x1dea7f,_0x39cf2d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x67ceb){const _0xe7bc8c=this['_decompressOperations'](_0x1dea7f,_0x39cf2d);await this['_fetchMissingUsers'](_0xe7bc8c),this['_handleExternalOperations'](_0xe7bc8c,_0x67ceb,_0x1dea7f['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2dec11}=this['editor'];let _0x646a45;try{_0x646a45=await this['_service']['getDocumentDetails']();}catch(_0x5658f4){const _0x4e34cb=B(_0x2dec11,'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'](_0x4e34cb);}const _0x4c935c=_0x646a45['currentDocumentSession']||_0x646a45['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x4c935c['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x3e9b2f=B(_0x2dec11,'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.');this['_handleReconnectionError'](_0x3e9b2f);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x4ab9da){const _0x1d1448=this['editor']['plugins']['get'](r);this['listenTo'](_0x1d1448,'sessionAdd:'+this['_channelId'],(_0x290f52,{session:_0x4406d7})=>{if(_0x4406d7['id']===_0x1d1448['mySessionId']){_0x290f52['off']();const _0x9ce2bb=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x5df825=_0x4406d7['permissions'];_0x9ce2bb&&_0x9ce2bb['isEnabled']&&(_0x5df825=_0x5df825['filter'](_0x6c8700=>'document:write'!==_0x6c8700)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x5df825,this['_channelId']);}}),_0x1d1448['register'](this['_channelId'],_0x4ab9da);}['_initThrowingOnDataSet'](){const _0x512e4e=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x40b8dc)=>{if(!_0x40b8dc[_0x40b8dc['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3e942c('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x512e4e['apply'](this['editor']['data'],_0x40b8dc);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x46112d,[_0x134484])=>{if(this['_document']['version'])throw new _0x3e942c('realtimecollaborationclient-init-document-already-initialized',this);_0x46112d['stop'](),this['_setPendingAction']();const _0x1f46d6=this['editor']['config']['get']('rootsAttributes'),_0x234891=this['_getOperationsFromInitData'](_0x134484,_0x1f46d6);0x0==_0x234891['length']&&_0x234891['push'](new _0x5c431e(0x0)),_0x46112d['return']=this['_connectService'](_0x234891)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2a1947=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2a1947))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x26db9a,[_0x2341f4,_0x192b7c])=>{_0x26db9a['stop']();const _0x419979=this['editor']['model']['document']['getRoot'](_0x2341f4);if(!this['_knownRootNames']['has'](_0x2341f4)){const _0x215043=_0x192b7c&&_0x192b7c['data']?_0x192b7c['data']:'',_0x1d745f=_0x192b7c&&_0x192b7c['attributes']?_0x192b7c['attributes']:{};await this['_loadRoot'](_0x2341f4,_0x215043,_0x1d745f);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x419979['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x419979);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xc43bfe){const _0x34a124=this['editor']['plugins']['get'](_0x33926),{connection:_0x45d478}=this['editor']['plugins']['get'](c),_0x1b6e6e=new Set();for(const _0x4551ee of _0xc43bfe){const _0x5a3ff6=_0x4551ee['_authorId'];_0x5a3ff6&&!_0x34a124['getUser'](_0x5a3ff6)&&_0x1b6e6e['add'](_0x5a3ff6);}if(0x0===_0x1b6e6e['size'])return;const _0x55d5a2=await mt['getMany'](_0x45d478,Array['from'](_0x1b6e6e));for(const _0x5d97e8 of _0x55d5a2)_0x34a124['getUser'](_0x5d97e8['id'])||_0x34a124['addUser'](_0x5d97e8);}['_getOperationsFromInitData'](_0x1b1f13,_0x42ec4d={}){const _0x4e895d=this['editor']['model'],_0x389956=[];let _0x1c5487=0x0;const _0x474cdc='string'==typeof _0x1b1f13?{'main':_0x1b1f13}:_0x1b1f13;for(const _0x403610 of Object['keys'](_0x474cdc)){if(!this['_document']['roots']['has'](_0x403610))throw new _0x3e942c('realtimecollaborationclient-init-non-existent-root',this);const _0x15f2fa=this['editor']['data']['parse'](_0x474cdc[_0x403610]),_0x106cf3=this['_document']['getRoot'](_0x403610),_0x54d687=new _0x453615(_0x4e895d['createPositionAt'](_0x106cf3,0x0),_0x15f2fa,_0x1c5487++);_0x389956['push'](_0x54d687);for(const [_0x3b7b1b,_0x3bc281]of _0x15f2fa['markers']){const _0x14e8d1=_0x4e895d['createRange'](_0x4e895d['createPositionFromPath'](_0x106cf3,_0x3bc281['start']['path']['slice']()),_0x4e895d['createPositionFromPath'](_0x106cf3,_0x3bc281['end']['path']['slice']())),_0xbe592f=new _0x1128c5(_0x3b7b1b,null,_0x14e8d1,_0x4e895d['markers'],!0x0,_0x1c5487++);_0x389956['push'](_0xbe592f);}}if(_0x42ec4d)for(const [_0x4494c4,_0x49a5e1]of Object['entries'](_0x42ec4d)){const _0x313c99=_0x4e895d['document']['getRoot'](_0x4494c4);if(!_0x313c99)throw new _0x3e942c('multi-root-editor-root-attributes-no-root',null);for(const [_0x4204b4,_0x39a7c7]of Object['entries'](_0x49a5e1))if(null!==_0x39a7c7){const _0xae97ba=new _0x53a927(_0x313c99,_0x4204b4,null,_0x39a7c7,_0x1c5487++);_0x389956['push'](_0xae97ba);}}return _0x389956;}async['_loadRoot'](_0x4d8fd6,_0x32b345,_0x57eada){this['_getOperationsFromInitData']({[_0x4d8fd6]:_0x32b345},{[_0x4d8fd6]:_0x57eada})['forEach']((_0x2d3102,_0x324021)=>{_0x2d3102['baseVersion']=this['_document']['version']+_0x324021,_0x2d3102['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2d3102);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3b2eeb,_0x21d5d6){let _0x1f6631;this['_offset']=_0x3b2eeb['offset'];const _0x5d6a22=_0x3b2eeb['wereChangesApplied']&&!_0x3b2eeb['initData'],_0x284fc1=_0x5d6a22?0x0:_0x3b2eeb['data']['baseVersion'];if(_0x21d5d6['forEach'](_0x4a3b22=>{_0x4a3b22['_isInit']=!0x0,_0x4a3b22['createdAt']=_0x3b2eeb['sessionCreatedAt'],_0x4a3b22['_authorId']=null;}),_0x5d6a22)_0x1f6631=_0x21d5d6,this['_applyOperationsSet'](_0x1f6631,_0x5d6a22);else{if(_0x3b2eeb['initData']){const _0x2fd5d5=this['_getOperationsFromInitData'](_0x3b2eeb['initData']);this['_document']['history']['version']=-_0x2fd5d5['length'],_0x2fd5d5['forEach'](_0x19fd45=>{_0x19fd45['baseVersion']-=_0x2fd5d5['length'],_0x19fd45['createdAt']=_0x3b2eeb['sessionCreatedAt'],_0x19fd45['_isInit']=!0x0,_0x19fd45['_authorId']=null;}),this['_applyOperationsSet'](_0x2fd5d5,!0x0),this['serverHistory']['version']=-_0x2fd5d5['length']+this['_offset'],this['_updateServerHistory'](_0x2fd5d5);}this['_document']['history']['version']=_0x284fc1,_0x1f6631=this['_decompressOperations'](_0x3b2eeb['data'],_0x3b2eeb['metadata']),await this['_fetchMissingUsers'](_0x1f6631),this['_applyOperationsSet'](_0x1f6631,_0x5d6a22);}_0x3b2eeb['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1f6631,_0x3b2eeb['lastOperationId']),this['_lastSyncedOperationId']=_0x3b2eeb['lastOperationId']),this['serverHistory']['version']=_0x284fc1+this['_offset'],this['_updateServerHistory'](_0x1f6631),_0x21d5d6['filter'](_0x4aebc5=>{const _0x3acfa0=this['_getAffectedRoot'](_0x4aebc5);return _0x3acfa0&&!this['_knownRootNames']['has'](_0x3acfa0);})['forEach']((_0x3a6be8,_0x52328a)=>{_0x3a6be8['baseVersion']=this['_document']['version']+_0x52328a,this['_saveOperationInBuffer'](_0x3a6be8);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xa67e36,_0x1a1647){throw this['_isPendingUpdate']=!0x0,_0x1a1647&&console['error'](_0x1a1647),new _0x3e942c(_0xa67e36,this['editor']);}['_saveOperationInBuffer'](_0x26e39e){this['_knownOperations']['has'](_0x26e39e)||(this['_knownOperations']['add'](_0x26e39e),this['_bufferedOperations']['push'](_0x26e39e),this['_pendingAction']||'marker'==_0x26e39e['type']&&!_0x26e39e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xa417e7=!0x1){!_0xa417e7&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x5296f0=>{_0x5296f0&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2ff6a9=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x48dc3a){return _0x48dc3a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x48dc3a['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x48dc3a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2ff6a9))throw _0x2ff6a9;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5d9f18=>{this['on']('change:_isPendingUpdate',()=>{_0x5d9f18();});});}async['_sendBufferedOperations'](){const _0x466e86=this['editor']['plugins']['get'](E);if(this['_shouldSendSelectionUpdate']()&&(_0x466e86['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xcfffb=[...this['_bufferedOperations']];for(const _0x1bc466 of _0xcfffb)_0x1bc466['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x1bc466);const _0x10c3a9=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xcfffb),_0x57aced=F++,_0x2ea5fa=this['_compressOperations'](_0xcfffb),_0x47c28d=await this['_service']['sendOperations'](_0x2ea5fa,_0x2ea5fa['baseVersion'],_0x10c3a9);try{return await this['_handleServerResponse'](_0xcfffb,_0x47c28d,_0x57aced);}catch(_0x4f57cc){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4f57cc);}}async['_handleServerResponse'](_0xc15c06,_0x1a70c6,_0x562e78){if('error'in _0x1a70c6)throw _0x1a70c6['error'];let _0x5daa36=!0x1;if(_0x1a70c6['wereChangesApplied']){_0x1a70c6['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1a70c6['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x16345e=>!_0xc15c06['includes'](_0x16345e));for(const _0xe89915 of _0xc15c06)_0xe89915['createdAt']='lastOperationAcceptedAt'in _0x1a70c6&&_0x1a70c6['lastOperationAcceptedAt']||void 0x0;q(_0xc15c06,_0x1a70c6['version']-_0xc15c06['length']),this['_updateServerHistory'](_0xc15c06);const _0xdec1c2=_0xc15c06['filter'](_0x176ff3=>{if(!_0x176ff3['_isInit'])return!0x1;const _0x5e568b=this['_getAffectedRoot'](_0x176ff3);return _0x5e568b&&!this['_knownRootNames']['has'](_0x5e568b);});q(_0xdec1c2,this['_document']['version']),this['_applyOperationsSet'](_0xdec1c2),_0x5daa36=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x16bb00=this['_decompressOperations'](_0x1a70c6['data'],_0x1a70c6['metadata'])['filter'](_0x22e0bd=>_0x22e0bd['baseVersion']>=this['_lastServerVersion']);_0x16bb00['forEach'](_0x1545f1=>this['_addKnownRoot'](_0x1545f1)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2101e6=>!_0x2101e6['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2101e6))),this['_bufferedOperations']['length']&&q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x16bb00),_0x5daa36=this['_handleExternalOperations'](_0x16bb00,_0x1a70c6['version'],_0x1a70c6['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5daa36?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x5155d1,_0x100738,_0x5f3db9){try{const _0x4e0891={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x19492f,operationsB:_0x59657a,originalOperations:_0x3bd364}=_0x442640(_0x5155d1,this['_bufferedOperations'],_0x4e0891);q(_0x19492f,this['_document']['version']),q(_0x59657a,_0x100738);for(const _0x1d82ca of _0x19492f){const _0x3164de=_0x3bd364['get'](_0x1d82ca);_0x1d82ca['_authorId']=_0x3164de?_0x3164de['_authorId']:null;}_0x5f3db9&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5155d1,_0x5f3db9),this['_lastSyncedOperationId']=_0x5f3db9),this['_bufferedOperations']=[..._0x59657a],this['_applyOperationsSet'](_0x19492f),this['_updateServerHistory'](_0x5155d1);}catch(_0x4031f8){return console['error'](_0x4031f8),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2cf54e,_0x4f1cf5=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x49a197=>{for(const _0x377bcf of _0x2cf54e)this['_knownOperations']['add'](_0x377bcf),this['_addKnownRoot'](_0x377bcf),_0x49a197['batch']['addOperation'](_0x377bcf),this['editor']['model']['applyOperation'](_0x377bcf);});}['_addKnownRoot'](_0x4c98d1){const _0x181569=this['_getAffectedRoot'](_0x4c98d1);_0x181569&&this['_knownRootNames']['add'](_0x181569);}['_getAffectedRoot'](_0x558798){let _0x1b5fff,_0x239423;switch(_0x558798['type']){case'insert':_0x1b5fff=_0x558798['position']['root'];break;case'marker':if(_0x239423=_0x558798['newRange'],!_0x239423)return null;_0x1b5fff=_0x239423['root'];break;case'addRootAttribute':_0x1b5fff=_0x558798['root'];break;case'addRoot':_0x1b5fff=_0x558798['affectedSelectable'];break;case'move':_0x1b5fff=_0x558798['targetPosition']['root'];break;default:return null;}return _0x1b5fff['rootName'];}['_updateServerHistory'](_0x334a38){_0x334a38['forEach'](_0x583496=>{const _0x4d0327=_0x583496['clone']();_0x4d0327['_authorId']=_0x583496['_authorId'],_0x4d0327['_isInit']=!!_0x583496['_isInit'],_0x4d0327['createdAt']=_0x583496['createdAt'],_0x4d0327['baseVersion']+=this['_offset'],_0x583496['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4d0327),this['serverHistory']['addOperation'](_0x4d0327);});}['_handleReconnectionError'](_0x152bfc){const _0xe6e2c=this['editor']['plugins']['get']('Notification'),_0x324ea9=this['editor']['locale'];_0x152bfc||(_0x152bfc=B(_0x324ea9,'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.')),_0xe6e2c['showWarning'](_0x152bfc,{'title':B(_0x324ea9,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x2fc54a)['add'](B(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2fc54a)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x84600b){const _0x23691d=_0x84600b['map'](_0x47e44d=>_0x47e44d['toJSON']());return this['_compressor']['compress'](_0x23691d);}['_decompressOperations'](_0x189f2d,_0x23bbfc){return this['_compressor']['decompress'](_0x189f2d)['map']((_0x59b030,_0x1db83e)=>{const _0x363ef7='init'==_0x23bbfc[_0x1db83e]['type'];if('InsertOperation'==_0x59b030['__className']){const _0x4188a1=_0x59b030['position']['root'];!this['_document']['getRoot'](_0x4188a1)&&(this['_document']['createRoot']('$root',_0x4188a1)['_isAttached']=!0x1);}const _0x3de89e=_0x168a4e['fromJSON'](_0x59b030,this['_document']);return _0x3de89e['wasUndone']=_0x59b030['wasUndone'],_0x3de89e['_isInit']=_0x363ef7,_0x3de89e['_authorId']=_0x363ef7?null:_0x23bbfc[_0x1db83e]['userId'],_0x3de89e['_isDisconnection']='cs:removeUser'===_0x23bbfc[_0x1db83e]['type'],_0x3de89e['createdAt']=_0x23bbfc[_0x1db83e]['createdAt'],_0x3de89e;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4a7bcd=this['editor']['plugins']['get'](r)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4a7bcd&&_0x4a7bcd['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class H extends Error{}function q(_0x36623f,_0x262e43){for(const _0x51c720 of _0x36623f)_0x51c720['baseVersion']=_0x262e43++;}class G{['_ignoredOperations'];['_operationToId'];constructor(_0x5b1388){this['_ignoredOperations']=_0x5b1388,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xb9df7b){let _0x647415=_0xb9df7b['length'];for(;_0x647415--;){const _0x1de9e7=_0xb9df7b[_0x647415];if(!this['_ignoredOperations']['has'](_0x1de9e7)){if(!this['_operationToId']['has'](_0x1de9e7)){const _0x439ad7=_0x5c9614()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1de9e7,_0x439ad7);}return this['_operationToId']['get'](_0x1de9e7);}}}['setIdForTheLastOperation'](_0x509e83,_0x455514){if(!_0x455514)return;let _0x46f35f=_0x509e83['length'];for(;_0x46f35f--;){const _0x24bc73=_0x509e83[_0x46f35f];this['_ignoredOperations']['has'](_0x24bc73)||this['_operationToId']['set'](_0x24bc73,_0x455514);}}}class n extends _0xa7b1dc{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}}class a extends _0x536a58{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>tt)());['_services'];static get['requires'](){return[c,'CommentsRepository',r,_0x33926];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}constructor(_0x3511f0){super(_0x3511f0),this['_services']=new Map();}async['init'](){const _0x1067c8=this['context'],_0xac8901=_0x1067c8['plugins']['get']('CommentsRepository');if(_0x1067c8['plugins']['get'](c)['addToReconnectionStack'](this),_0xac8901['adapter']={'addCommentThread':async({channelId:_0x4d5226,threadId:_0xe4fe1b,comments:_0x5241f1,resolvedAt:_0xc6f331,resolvedBy:_0x34bbfc,context:_0x549dee,attributes:_0x55fc23})=>{const _0x44e3ee=await this['_getService'](_0x4d5226)['addCommentThread']({'commentThreadId':_0xe4fe1b,'comments':_0x5241f1['map'](_0xd6ed5d=>function(_0x2584d8,_0x5cd592,_0x2a5d75){return{'commentThreadId':_0x2a5d75,'commentId':_0x2584d8['commentId'],'userId':_0x2584d8['authorId'],'content':_0x2584d8['content'],'documentId':_0x5cd592,'createdAt':_0x2584d8['createdAt'],'attributes':_0x2584d8['attributes']||{}};}(_0xd6ed5d,_0x4d5226,_0xe4fe1b)),'resolvedAt':_0xc6f331,'resolvedBy':_0x34bbfc,'context':_0x549dee,'attributes':_0x55fc23})['catch'](wt);return{'threadId':_0x44e3ee['commentThreadId'],'comments':_0x44e3ee['comments']};},'getCommentThread':async({channelId:_0x4de9d5,threadId:_0x59be97})=>{const _0x2fa6ce=await this['_getService'](_0x4de9d5)['getCommentThread'](_0x59be97)['catch'](wt);return _0x2fa6ce['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x2fa6ce]),{'threadId':_0x2fa6ce['commentThreadId'],'comments':_0x2fa6ce['comments']['map'](nt),'context':_0x2fa6ce['context'],'resolvedAt':_0x2fa6ce['resolvedAt'],'resolvedBy':_0x2fa6ce['resolvedBy'],'attributes':_0x2fa6ce['attributes']||{}});},'updateCommentThread':async({channelId:_0x580b41,threadId:_0x28fb1b,context:_0x27c919,unlinkedAt:_0x34ce07,attributes:_0xa31dfc})=>this['_getService'](_0x580b41)['updateCommentThread']({'commentThreadId':_0x28fb1b,'context':_0x27c919,'attributes':_0xa31dfc,'unlinkedAt':_0x34ce07})['catch'](et)['catch'](wt),'resolveCommentThread':async({channelId:_0x36f404,threadId:_0x4e7547})=>{const _0x2e85cb=await this['_getService'](_0x36f404)['resolveCommentThread'](_0x4e7547)['catch'](et)['catch'](wt);return{'threadId':_0x2e85cb['commentThreadId'],'resolvedAt':_0x2e85cb['resolvedAt'],'resolvedBy':_0x2e85cb['resolvedBy']};},'reopenCommentThread':async({channelId:_0x48de49,threadId:_0x456a40})=>this['_getService'](_0x48de49)['reopenCommentThread'](_0x456a40)['catch'](et)['catch'](wt),'removeCommentThread':({channelId:_0x1e2caf,threadId:_0xf1c540})=>this['_getService'](_0x1e2caf)['removeCommentThread'](_0xf1c540)['catch'](et)['catch'](wt),'addComment':({channelId:_0x38f035,threadId:_0x8c4302,commentId:_0x260e59,content:_0x3308d6,attributes:_0x2e629d})=>this['_getService'](_0x38f035)['addComment'](_0x8c4302,_0x260e59,_0x3308d6,_0x2e629d)['catch'](wt),'updateComment':({channelId:_0xcea788,threadId:_0x564917,commentId:_0x389c59,content:_0x260153,attributes:_0x1f32c3})=>this['_getService'](_0xcea788)['updateComment'](_0x564917,_0x389c59,_0x260153,_0x1f32c3)['catch'](et)['catch'](wt),'removeComment':({channelId:_0x5d154c,threadId:_0x30ff18,commentId:_0x5eb922})=>this['_getService'](_0x5d154c)['removeComment'](_0x30ff18,_0x5eb922)['catch'](et)['catch'](wt)},_0x1067c8 instanceof _0x20f32d){const _0x218e12=_0x1067c8['config']['get']('collaboration.channelId'),_0xef27e7=_0x1067c8['plugins']['get'](r);await this['_setUpService'](_0x218e12);const _0x1003d8=await this['_services']['get'](_0x218e12)['getConnectedSessions']();this['listenTo'](_0xef27e7,'sessionAdd:'+_0x218e12,(_0x422972,{session:_0x6fd060})=>{_0x6fd060['id']===_0xef27e7['mySessionId']&&(_0x422972['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x6fd060['permissions'],_0x218e12));}),_0xef27e7['register'](_0x218e12,_0x1003d8);}}async['_setUpService'](_0x586cc3){if(this['_services']['has'](_0x586cc3))throw new _0x3e942c('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x586cc3});const _0x2602e8=this['context']['plugins']['get']('CommentsRepository'),_0x4c27c2=new a['CommentsService'](_0x586cc3);this['_services']['set'](_0x586cc3,_0x4c27c2),this['listenTo'](_0x4c27c2,'commentThreadAdded',(_0x3c59d4,_0x231585)=>{const {commentThreadId:_0x3dfd42,documentId:_0x250eaa,context:_0x22a2f9,attributes:_0x573527,resolvedAt:_0x2f8144,resolvedBy:_0x305274,comments:_0x552426}=_0x231585;_0x2602e8['getCommentThread'](_0x3dfd42)||_0x2602e8['addCommentThread']({'threadId':_0x3dfd42,'channelId':_0x250eaa,'comments':_0x552426?_0x552426['map'](nt):[],'context':_0x22a2f9,'attributes':_0x573527,'resolvedAt':_0x2f8144,'resolvedBy':_0x305274,'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentThreadUpdated',(_0x39dad5,{commentThreadId:_0x4382d1,documentId:_0x1eb63d,context:_0x33c590,unlinkedAt:_0x15c362,attributes:_0x13c701})=>{_0x2602e8['getCommentThread'](_0x4382d1)&&_0x2602e8['updateCommentThread']({'threadId':_0x4382d1,'channelId':_0x1eb63d,'context':_0x33c590,'unlinkedAt':_0x15c362,'attributes':_0x13c701,'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentThreadResolved',(_0x548650,{commentThreadId:_0x50c050,resolvedBy:_0x207743,resolvedAt:_0x511cfb})=>{const _0x60be40=_0x2602e8['getCommentThread'](_0x50c050);_0x60be40&&_0x60be40['resolve']({'resolvedBy':_0x207743,'resolvedAt':_0x511cfb,'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentThreadReopened',(_0x4d1ba8,{commentThreadId:_0x4ea58f})=>{const _0x362d76=_0x2602e8['getCommentThread'](_0x4ea58f);_0x362d76&&_0x362d76['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentThreadRemoved',(_0x2f0602,{commentThreadId:_0x178428})=>{const _0x442471=_0x2602e8['getCommentThread'](_0x178428);_0x442471&&_0x442471['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentAdded',(_0x25b4a1,_0x2bd06f)=>{const _0x238a74=_0x2bd06f['commentThreadId'],_0xe76df3=_0x2602e8['getCommentThread'](_0x238a74);_0xe76df3&&_0xe76df3['addComment']({...nt(_0x2bd06f),'isFromAdapter':!0x0});}),this['listenTo'](_0x4c27c2,'commentUpdated',(_0x3c8302,{commentThreadId:_0x4cfa4e,commentId:_0xa8840a,content:_0x54b434,attributes:_0x86efa})=>{const _0x4f4c45=_0x2602e8['getCommentThread'](_0x4cfa4e);if(_0x4f4c45){const _0x36466a=_0x4f4c45['getComment'](_0xa8840a);_0x36466a&&_0x36466a['update']({'content':_0x54b434,'attributes':_0x86efa,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4c27c2,'commentRemoved',(_0x5545bc,{commentThreadId:_0x4c8fc9,commentId:_0x5b968c})=>{const _0x48c88e=_0x2602e8['getCommentThread'](_0x4c8fc9);if(_0x48c88e){const _0x11191e=_0x48c88e['getComment'](_0x5b968c);_0x11191e&&_0x11191e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x586cc3);}['destroy'](){if(this['context']instanceof _0x20f32d){const _0x54ab71=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x54ab71);}}['_terminateService'](_0x1b2bee){if(!this['_services']['has'](_0x1b2bee))throw new _0x3e942c('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1b2bee});this['_getService'](_0x1b2bee)['disconnect'](),this['_services']['delete'](_0x1b2bee);}async['reconnect'](){for(const _0x2500bf of this['_services']['keys']())await this['_connectService'](_0x2500bf);if(this['context']instanceof _0x20f32d){const _0x39fec6=this['context']['config']['get']('collaboration.channelId'),_0x4f5fd9=this['context']['plugins']['get'](r);_0x4f5fd9['unregister'](_0x39fec6);const _0x16312c=await this['_services']['get'](_0x39fec6)['getConnectedSessions']();_0x4f5fd9['register'](_0x39fec6,_0x16312c);}}async['_connectService'](_0x5237ce){const {connection:_0x30904e}=this['context']['plugins']['get'](c),_0x578933=this['context']['plugins']['get']('CommentsRepository'),_0x6b9de5=this['_services']['get'](_0x5237ce),_0x996e7b=await _0x6b9de5['connect'](_0x30904e);await this['_fetchMissingUsersForThreads'](_0x996e7b);const _0x3e54ef=new Set(Array['from'](_0x578933['getCommentThreads']({'channelId':_0x5237ce}),_0x12d2eb=>_0x12d2eb['id']));for(const _0x1a31f7 of _0x996e7b)_0x1a31f7['deletedAt']||_0x3e54ef['delete'](_0x1a31f7['commentThreadId']);for(const _0x521ed5 of _0x3e54ef)_0x578933['getCommentThread'](_0x521ed5)['remove']({'isFromAdapter':!0x0});for(const _0x4de3ca of _0x996e7b){let _0x3db2fa=_0x578933['getCommentThread'](_0x4de3ca['commentThreadId']);const {commentThreadId:_0x59ea75,context:_0x276a32,attributes:_0x1e813f,resolvedBy:_0x36afc9,resolvedAt:_0x5bb4cb,unlinkedAt:_0xee4adc,deletedAt:_0x3b3421}=_0x4de3ca;if(_0x3b3421)continue;_0x3db2fa||(_0x3db2fa=_0x578933['addCommentThread']({'channelId':_0x5237ce,'threadId':_0x59ea75,'context':_0x276a32,'attributes':_0x1e813f||{},'resolvedBy':_0x36afc9,'resolvedAt':_0x5bb4cb,'unlinkedAt':_0xee4adc,'isFromAdapter':!0x0}));const _0x2f099a=new Set(Array['from'](_0x3db2fa['comments'],_0x20faa6=>_0x20faa6['id']));for(const _0x50022c of _0x4de3ca['comments'])_0x2f099a['delete'](_0x50022c['commentId']);for(const _0xd672f4 of _0x2f099a)_0x3db2fa['getComment'](_0xd672f4)['remove']({'isFromAdapter':!0x0});for(const _0x351e41 of _0x4de3ca['comments']){const _0x1c5bd9=_0x3db2fa['getComment'](_0x351e41['commentId']);_0x1c5bd9?_0x1c5bd9['content']!==_0x351e41['content']&&_0x1c5bd9['update']({'content':_0x351e41['content'],'isFromAdapter':!0x0}):_0x3db2fa['addComment'](Object['assign'](nt(_0x351e41),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1e103b){if(!this['_services']['has'](_0x1e103b))throw new _0x3e942c('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1e103b});return this['_services']['get'](_0x1e103b);}async['_fetchMissingUsersForThreads'](_0x33a497){const _0x4ab273=this['context']['plugins']['get'](_0x33926),{connection:_0xd1ce78}=this['context']['plugins']['get'](c),_0x511ab7=new Set();for(const {resolvedBy:_0x3a5e00,comments:_0x310590}of _0x33a497){_0x3a5e00&&!_0x4ab273['getUser'](_0x3a5e00)&&_0x511ab7['add'](_0x3a5e00);for(const {userId:_0x5ae9d8}of _0x310590)_0x4ab273['getUser'](_0x5ae9d8)||_0x511ab7['add'](_0x5ae9d8);}if(0x0===_0x511ab7['size'])return;const _0x21ef6e=await mt['getMany'](_0xd1ce78,Array['from'](_0x511ab7));for(const _0x5c56b1 of _0x21ef6e)_0x4ab273['getUser'](_0x5c56b1['id'])||_0x4ab273['addUser'](_0x5c56b1);}}async function et(_0x23d153){if('404'!==_0x23d153['code'])throw _0x23d153;}function wt(_0x2dc18b){if((_0x3b7e09=_0x2dc18b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3b7e09['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3b7e09['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3b7e09;throw _0x2dc18b;}function nt(_0x769613){return{'threadId':_0x769613['commentThreadId'],'commentId':_0x769613['commentId'],'content':_0x769613['content'],'createdAt':_0x769613['createdAt'],'authorId':_0x769613['userId'],'attributes':_0x769613['attributes']||{}};}class g extends _0xa7b1dc{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>at)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x9c33e7){super(_0x9c33e7);const _0x526931=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new g['TrackChangesService'](_0x526931);}['init'](){const _0x975255=this['editor']['plugins']['get'](c),_0x5a9c7b=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5a9c7b['adapter']={'getSuggestion':async _0x4ff8ee=>{await this['_waitForServiceReady']();const _0x33c292=await this['_trackChangesService']['get'](_0x4ff8ee)['catch'](ot);return await this['_fetchMissingUsersForThreads']([_0x33c292]),_0x33c292;},'addSuggestion':async({id:_0x424371,type:_0x1ef7a9,data:_0x5c4534,originalSuggestionId:_0x5d1f8b,attributes:_0x440d55})=>{await this['_waitForServiceReady']();const _0x197a7e={'id':_0x424371,'type':_0x1ef7a9,'data':_0x5c4534,'originalSuggestionId':_0x5d1f8b,'attributes':_0x440d55},_0x5e8253=await this['_trackChangesService']['add'](_0x424371,_0x1ef7a9,_0x5c4534,_0x5d1f8b,_0x440d55)['catch'](_0x27b359=>{if(gt(_0x27b359))return new Promise(_0x39fdfd=>{this['_bufferedRequests']['set'](_0x424371,{'resolve':_0x39fdfd,'suggestionData':_0x197a7e});});throw _0x27b359;});return this['_bufferedRequests']['delete'](_0x424371),_0x5e8253;},'updateSuggestion':async(_0x4f63e2,_0x4a348e)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4a348e['state'])return this['_trackChangesService']['update'](_0x4f63e2,_0x4a348e)['catch'](ot);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x31f9e8,_0xb74ef0)=>{_0x5a9c7b['hasSuggestion'](_0xb74ef0['id'])&&(_0x5a9c7b['getSuggestion'](_0xb74ef0['id'])['attributes']=_0xb74ef0['attributes']);}),this['_trackChangesService']['connect'](_0x975255['connection'])['then'](_0x3503b7=>(_0x975255['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3503b7)['then'](()=>{for(const _0x35c285 of _0x3503b7){_0x5a9c7b['addSuggestionData'](_0x35c285)['_saved']=!0x0;}})));}async['reconnect'](){const _0x5738a6=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3e0149}=this['editor']['plugins']['get'](c),_0x4ba96=await this['_trackChangesService']['connect'](_0x3e0149);await this['_fetchMissingUsersForThreads'](_0x4ba96);for(const {suggestionData:_0x385b98,resolve:_0x13eb8a}of this['_bufferedRequests']['values']()){let _0x5b3dc7=_0x4ba96['find'](_0x4f7ba2=>_0x4f7ba2['id']===_0x385b98['id']);_0x5b3dc7||(_0x5b3dc7=await this['_trackChangesService']['add'](_0x385b98['id'],_0x385b98['type'],_0x385b98['data'],_0x385b98['originalSuggestionId'])),_0x13eb8a(_0x5b3dc7);}for(const _0x33ff89 of _0x4ba96)_0x5738a6['hasSuggestion'](_0x33ff89['id'])||_0x5738a6['addSuggestionData'](_0x33ff89);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5b758b=>{this['listenTo'](this['_trackChangesService'],'connected',_0x18fe6c=>{_0x18fe6c['off'](),_0x5b758b();});});}async['_fetchMissingUsersForThreads'](_0x4ff03e){const _0x597ab8=this['editor']['plugins']['get'](_0x33926),{connection:_0x49d13e}=this['editor']['plugins']['get'](c),_0xaaec92=new Set();for(const {authorId:_0x438971}of _0x4ff03e)_0x597ab8['getUser'](_0x438971)||_0xaaec92['add'](_0x438971);if(0x0===_0xaaec92['size'])return;const _0x156095=await mt['getMany'](_0x49d13e,Array['from'](_0xaaec92));for(const _0x1c091f of _0x156095)_0x597ab8['getUser'](_0x1c091f['id'])||_0x597ab8['addUser'](_0x1c091f);}}function ot(_0x58a52c){if(gt(_0x58a52c))return new Promise(()=>{});throw _0x58a52c;}function gt(_0x39465b){return _0x39465b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x39465b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0xa7b1dc{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}['init'](){const _0x13e643=this['editor']['plugins']['get'](c),_0x33d227=this['editor']['plugins']['get']('CommentsEditing'),_0x4c6a1c=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x13e643,'change:state',(_0x428786,_0x4a8081,_0x36f916)=>{_0x33d227['isThreadsLoadingPaused']='connected'!==_0x36f916;});}),this['listenTo'](_0x13e643,'change:state',(_0x946506,_0x141f6f,_0x11b5db)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x11b5db);}),_0x4c6a1c['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0xa7b1dc{static get['requires'](){return[m,g,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}}class v extends _0xa7b1dc{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>st)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',r,_0x33926];}constructor(_0x241461){super(_0x241461);const _0x193b2a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new v['RevisionHistoryService'](_0x193b2a);}async['init'](){const _0x120eaf=this['editor']['plugins']['get'](l),_0x486785=_0x120eaf['serverHistory'],_0x3a4268=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x486785,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x120eaf['sessionId']});const _0x3765b0=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x5d8100=await it['isBundleUploaded'](_0x3a4268['connection'],_0x3765b0);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x4717b9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4717b9)),'updateRevisions':async _0x89835=>{await this['_waitForServiceReady']();const _0x5ea356=this['_revisionTracker']['currentRevision'];if(_0x5d8100&&0x1===_0x89835['length']&&_0x89835[0x0]['id']===_0x5ea356['id'])return _0x89835;for(const _0x59ac87 of _0x89835)_0x59ac87['id']===_0x5ea356['id']&&(_0x59ac87['isEmptyCurrent']=_0x59ac87['fromVersion']===_0x59ac87['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x89835,this['_lastRequestId'])['then'](_0x2e40d6=>(this['_lastRequestId']=_0x2e40d6,_0x89835))['catch'](_0x1c5f31=>{if(rt(_0x1c5f31)||'400'===_0x1c5f31['code']&&void 0x0!==_0x1c5f31['data']['wrongRequestId']){for(const _0x48adb9 of _0x89835){!this['_revisionTracker']['repository']['getRevision'](_0x48adb9['id'])||this['_revisionTracker']['_bufferUpdate'](_0x48adb9['id'],_0x48adb9,!0x1);}if(rt(_0x1c5f31))throw _0x1c5f31;return _0x89835;}throw _0x1c5f31;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x1d13c5,{revisionsData:_0x58a501,requestId:_0x143934})=>{Math['max'](..._0x58a501['map'](_0x4fa1b8=>_0x4fa1b8['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x58a501,_0x143934);}):this['_handleRevisionsUpdate'](_0x58a501,_0x143934);});const {revisions:_0x5b1296,requestId:_0x4f8523}=await this['_revisionHistoryService']['connect'](_0x3a4268['connection']);_0x3a4268['addToReconnectionStack'](this),this['_lastRequestId']=_0x4f8523,await this['_fetchMissingUsers'](_0x5b1296);for(const _0x4c74cb of _0x5b1296)this['_revisionTracker']['addRevisionData'](_0x4c74cb);this['listenTo'](_0x120eaf,'change:_isConnected',(_0x38d819,_0x107320,_0x4bfe3e)=>{_0x4bfe3e&&(this['_oldOffset']=_0x120eaf['_offset'],_0x38d819['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3a4268,'state',_0x155d3e=>_0x155d3e===_0x2bb5ea['CONNECTED']);}async['reconnect'](){const _0x40a373=this['editor']['plugins']['get'](c),_0x9c463a=this['editor']['plugins']['get'](l),_0x38f48f=async()=>{const _0x30d9d4=this['_revisionTracker']['currentRevision'],_0x4f0836=_0x30d9d4['id'],_0x23a32a=_0x4f0836!==_0x9c463a['sessionId'];if(_0x23a32a){const _0x16ed7a=_0x9c463a['_offset']-this['_oldOffset'],_0x2de1dc=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x30d9d4['toVersion']+_0x16ed7a!==_0x2de1dc){const _0x15c147=_0x30d9d4['fromVersion']+_0x16ed7a,_0x65033a=this['editor']['plugins']['get'](_0x33926),_0x2f58d2=this['_revisionTracker']['buildRevisionData']({'revision':_0x30d9d4,'from':_0x15c147,'to':_0x2de1dc});_0x2f58d2['id']=_0x30d9d4['id'];const _0x395cb5=_0x2f58d2['authorsIds']['map'](_0x17dfe5=>_0x65033a['getUser'](_0x17dfe5));_0x30d9d4['_update']({..._0x2f58d2,'authors':_0x395cb5},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x30d9d4['id'],_0x2f58d2,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2de1dc,(_0x30d9d4['toVersion']===_0x30d9d4['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4f0836)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4f0836),this['_revisionTracker']['_createCurrentRevision'](_0x2de1dc));}const {revisions:_0x37ca28,requestId:_0x52a0c1}=await this['_revisionHistoryService']['reconnect'](_0x40a373['connection'],this['_lastRequestId']);_0x23a32a&&_0x37ca28['length']>0x0?_0x9c463a['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x37ca28),this['_handleRevisionsUpdate'](_0x37ca28,_0x52a0c1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x9c463a['_isConnected']?_0x38f48f():new Promise((_0x541b1f,_0x4451bb)=>{_0x9c463a['once']('change:_isConnected',()=>{_0x38f48f()['then'](_0x541b1f)['catch'](_0x4451bb);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x321112=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x48a285=>{_0x48a285['off'](),_0x321112();});});}['_getLatestVersionFromServerOperations'](){const _0xad7e02=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0xefcf35 of _0xad7e02)if('marker'!==_0xefcf35['type']||_0xefcf35['affectsData'])return _0xefcf35['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1b15b6=this['editor']['plugins']['get'](l);return new Promise(_0x3adb0c=>{_0x1b15b6['_isPendingUpdate']?_0x1b15b6['once']('change:_isPendingUpdate',()=>{_0x3adb0c(this['_getLatestVersionFromServerOperations']());}):_0x3adb0c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x17905c,_0x12f9d3){const _0x43c764=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x12f9d3;for(const _0x138b3b of _0x17905c){const _0x2e09c1=_0x43c764['getRevision'](_0x138b3b['id']);if(_0x2e09c1){if((_0x138b3b['fromVersion']||_0x138b3b['toVersion'])&&(_0x138b3b['diffData']=null),_0x2e09c1===this['_revisionTracker']['currentRevision']){const _0x442440=Math['max'](_0x2e09c1['toVersion'],_0x138b3b['toVersion']),_0x260a12=Math['max'](_0x2e09c1['fromVersion'],_0x138b3b['fromVersion']);let _0x15b684;_0x2e09c1['toVersion']===_0x138b3b['toVersion']&&_0x2e09c1['fromVersion']===_0x138b3b['fromVersion']?(_0x15b684=!0x0,this['_preventResendingRevisionData'](_0x138b3b)):_0x138b3b['toVersion']===_0x442440&&_0x138b3b['fromVersion']===_0x260a12?_0x15b684=!0x1:(_0x2e09c1['toVersion']===_0x442440&&_0x2e09c1['fromVersion']===_0x260a12||this['_fixRevision']({'revision':_0x2e09c1,'from':_0x260a12,'to':_0x442440}),_0x15b684=!0x0),_0x15b684&&(delete _0x138b3b['fromVersion'],delete _0x138b3b['toVersion'],delete _0x138b3b['diffData'],delete _0x138b3b['createdAt'],delete _0x138b3b['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x138b3b),this['_preventResendingRevisionData'](_0x138b3b);}else this['_revisionTracker']['addRevisionData'](_0x138b3b);}const _0x2b5d70=_0x43c764['getRevisions']();_0x2b5d70['reverse']();for(let _0x5d4e88=0x0;_0x5d4e88<_0x2b5d70['length']-0x1;_0x5d4e88++){const _0x558feb=_0x2b5d70[_0x5d4e88],_0x59786f=_0x2b5d70[_0x5d4e88+0x1];if(_0x558feb['fromVersion']<_0x59786f['toVersion']){const _0x4890c7=_0x59786f['toVersion'],_0x23db74=Math['max'](_0x4890c7,_0x558feb['toVersion']);this['_fixRevision']({'revision':_0x558feb,'from':_0x4890c7,'to':_0x23db74});}}}['_fixRevision']({revision:_0x1b0c4a,from:_0x5f4d74,to:_0x5b2f8e}={}){const _0x29c1e9=this['editor']['plugins']['get'](_0x33926),_0x5e0891=this['_revisionTracker']['buildRevisionData']({'revision':_0x1b0c4a,'from':_0x5f4d74,'to':_0x5b2f8e});_0x5e0891['authors']=_0x5e0891['authorsIds']['map'](_0xbe4793=>_0x29c1e9['getUser'](_0xbe4793)),_0x1b0c4a['_update'](_0x5e0891);}['_preventResendingRevisionData'](_0x1a271){const _0x3d6c3d={};_0x3d6c3d['id']=_0x1a271['id'];for(const _0x15ebcd of Object['keys'](_0x1a271))'id'!==_0x15ebcd&&(_0x3d6c3d[_0x15ebcd]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3d6c3d['id'],_0x3d6c3d,!0x0);}async['_fetchMissingUsers'](_0x47ab8f){const _0x469a32=this['editor']['plugins']['get'](_0x33926),{connection:_0x405773}=this['editor']['plugins']['get'](c),_0x2ad0fe=new Set();for(const _0x2320cd of _0x47ab8f){for(const _0xacf529 of _0x2320cd['authorsIds'])_0x144ed3(_0xacf529);_0x2320cd['creatorId']&&_0x144ed3(_0x2320cd['creatorId']);}if(0x0===_0x2ad0fe['size'])return;const _0x2f7bfe=await mt['getMany'](_0x405773,Array['from'](_0x2ad0fe));for(const _0x25c5db of _0x2f7bfe)_0x469a32['getUser'](_0x25c5db['id'])||_0x469a32['addUser'](_0x25c5db);function _0x144ed3(_0x24e64c){_0x469a32['getUser'](_0x24e64c)||_0x2ad0fe['add'](_0x24e64c);}}}function rt(_0x38101d){return _0x38101d['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x38101d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x38101d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class d extends _0xa7b1dc{static get['requires'](){return['RevisionHistory',v,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}}class ts extends _0x385240{constructor(_0x1745df){super(_0x1745df);const _0x1593ba=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x1593ba['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x1593ba['to']('usersCount',_0x2a3387=>B(_0x1745df,'CONNECTED_USERS',_0x2a3387))}]});}}class es extends _0x385240{['items'];['keystrokes'];constructor(_0x249130){super(_0x249130);const _0x58a8d1=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5b37f4(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x58a8d1['if']('hasPopup'),'aria-expanded':_0x58a8d1['to']('isExpanded',_0x23ec78=>this['hasPopup']&&String(_0x23ec78)),'aria-label':_0x58a8d1['to']('hasPopup',_0x2be9e6=>B(_0x249130,_0x2be9e6?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x58a8d1['to']('hasPopup',_0x3afc40=>!!_0x3afc40&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x58a8d1['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x57c85b,_0x397a20,_0x2d13a8)=>{this['element']&&(_0x2d13a8?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 L extends _0x385240{['counterView'];['inlineListView'];constructor(_0xc76b03){super(_0xc76b03);const _0x1cacdf=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0xc76b03),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x281af7 of this['inlineListView']['items'])_0x281af7['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',_0x1cacdf['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x385240{['listWrapperView'];constructor(_0xd7da29,_0x1d20a8){super(_0xd7da29),this['listWrapperView']=new vt(_0xd7da29,_0x1d20a8),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':B(_0xd7da29,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class vt extends _0x53e168{constructor(_0x386bca,_0x7609f8){super(_0x386bca);const _0x4fdce0=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x7609f8?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4fdce0['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4fdce0['to']('role'),'aria-label':_0x4fdce0['to']('ariaLabel'),'aria-labelledby':_0x4fdce0['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4bd3f5['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x22ad99=this['element'];_0x22ad99&&(this['_isScrollable']=Math['max'](_0x22ad99['scrollHeight'],_0x22ad99['clientHeight'])>0.8*window['innerHeight']);}}class k extends ct{['userView'];constructor(_0x2b68b5,_0x49d38c,_0x355ddf){super(_0x2b68b5);const _0x2a74b3=this['bindTemplate'];this['userView']=new lt(_0x2b68b5,_0x49d38c);const _0x97e11d={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x49d38c['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x49d38c['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x49d38c['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x355ddf&&(_0x97e11d['tag']='button',_0x97e11d['on']={'click':_0x2a74b3['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x97e11d);}['focus'](){this['element']['focus']();}}class y extends _0x385240{['userView'];['markerView'];constructor(_0x3e734b,_0x2b41bb,_0x18a9da){super(_0x3e734b);const _0x4311b5=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new lt(_0x3e734b,_0x2b41bb),this['markerView']=new dt(_0x3e734b,_0x2b41bb);const _0x295d83=new pt(_0x3e734b);_0x295d83['template']['tag']='span',_0x295d83['text']=_0x2b41bb['name'];const _0x2636fa={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4311b5['to']('isFocusable',_0xee6d23=>!!_0xee6d23&&0x0),'aria-labelledby':_0x295d83['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4311b5['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4311b5['to']('hasTooltip',_0x15c5a8=>!_0x15c5a8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x295d83]};_0x18a9da&&(_0x2636fa['tag']='button',_0x2636fa['on']={'click':_0x4311b5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2636fa);}}class dt extends _0x385240{constructor(_0x3940af,_0x1ee82b){super(_0x3940af),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1ee82b['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class s extends _0x536a58{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x287df0){super(_0x287df0),this['context']['config']['define']('presenceList',A);const _0x3d07a4=_0x287df0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3d07a4)throw new _0x3e942c('presencelist-collapseat-invalid-format',this);if(_0x3d07a4<0x1)throw new _0x3e942c('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](r)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x29beb2(),this['balloonPanelView']=new _0x19bb9a(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[r];}['init'](){for(const _0x4b90e5 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4b90e5);this['listenTo'](this['_allConnectedUsers'],'add',(_0x147fd0,_0x4fdc09)=>{this['_handleUserAdd'](_0x4fdc09);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x21f2c8,_0x5e1ee2)=>{this['_handleUserRemove'](_0x5e1ee2);});}['_createView'](){const _0x4d40a3=this['context'],_0x385988=new L(this['context']['locale']),_0x285063=this['balloonPanelView'];if(!_0x1d376a(_0x4d40a3['config']['get']('presenceList.container')))throw new _0x3e942c('presencelist-missing-container',this);return _0x385988['counterView']['bind']('usersCount')['to'](this),_0x385988['bind']('isCollapsed')['to'](this,'usersCount',_0x2cfb1d=>{const {collapseAt:_0xebe0d9,displayMe:_0x3399b4}=_0x4d40a3['config']['get']('presenceList'),_0x53cd46=_0x2cfb1d>=_0xebe0d9;return _0x385988['counterView']['isHidden']=!(0x1==_0x2cfb1d&&_0x3399b4||_0x53cd46),_0x53cd46||this['hideDropdown'](),_0x53cd46;}),_0x385988['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4b2132=>{const _0x1538e1=_0x4d40a3['config']['get']('presenceList'),_0x661c81=new y(_0x4d40a3['locale'],_0x4b2132,!!_0x1538e1['onClick']);return _0x661c81['bind']('hasTooltip')['to'](_0x385988,'isCollapsed',_0x43cb05=>!_0x43cb05),_0x661c81['bind']('isFocusable')['to'](_0x385988,'isCollapsed',_0x756db0=>!_0x756db0),_0x1538e1['onClick']&&this['listenTo'](_0x661c81,'execute',()=>{this['view']['isCollapsed']||_0x1538e1['onClick'](_0x4b2132,_0x661c81['element']);}),_0x661c81;}),this['listenTo'](_0x385988['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x385988['inlineListView']['keystrokes']['set']('Enter',(_0x123bc0,_0x1a04c0)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1a04c0());}),_0x385988['render'](),_0x285063['render'](),_0x1293dd({'emitter':_0x385988,'activator':()=>_0x285063['isVisible'],'contextElements':[_0x285063['element'],_0x385988['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4d40a3['config']['get']('presenceList.container')['appendChild'](_0x385988['element']),this['_bodyCollection']=new _0x54173d(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x385988;}['_handleUserAdd'](_0x431baf){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x431baf['isMe'])return;const _0x14fc9b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x14fc9b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x4aff74=_0x431baf['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x431baf,_0x4aff74);}['_handleUserRemove'](_0x44126d){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x44126d['id'])&&(this['currentDisplayedUsers']['remove'](_0x44126d['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x443cce of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x443cce['id']))return void this['currentDisplayedUsers']['add'](_0x443cce,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x2ba537=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x2ba537['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x1d1809}=this['presenceDropdownView'];_0x1d1809['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x264f9b=>{if(!_0x2ba537['displayMe']&&_0x264f9b['isMe'])return null;const _0x241b95=new k(this['context']['locale'],_0x264f9b,!!_0x2ba537['onClick']);return _0x2ba537['onClick']&&this['listenTo'](_0x241b95,'execute',()=>{_0x2ba537['onClick'](_0x264f9b,_0x241b95['element']);}),_0x241b95;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1d1809['focus'](),_0x1d1809['checkIfScrollable']();const _0x5c7d11=(_0x105b00,_0xc028bc)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xc028bc();};_0x1d1809['keystrokes']['set']('Esc',_0x5c7d11),_0x1d1809['keystrokes']['set']('Shift+Tab',_0x5c7d11),_0x1d1809['keystrokes']['set']('Tab',(_0x4740bf,_0x1c60db)=>{!function(_0x5f05df){const _0x2ba971=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x55d974=>_0x55d974+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x53e52a=[...document['body']['querySelectorAll'](_0x2ba971)]['filter'](_0x2d1b51=>_0x2d1b51===document['activeElement']||_0x2d1b51['offsetWidth']+_0x2d1b51['offsetHeight']>0x0)['sort']((_0x1c068c,_0x3a5548)=>(_0x1c068c['tabIndex']||0x0)-(_0x3a5548['tabIndex']||0x0)),_0x1d8e74=_0x53e52a['indexOf'](_0x5f05df),_0x40058c=_0x53e52a[(_0x1d8e74+0x1)%_0x53e52a['length']];_0x40058c&&_0x40058c['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1c60db();}),_0x1d1809['focusTracker']['add'](this['view']['element']),_0x1d1809['focusTracker']['on']('change:isFocused',(_0x40e28e,_0x127b59,_0x37318d)=>{_0x37318d||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 i extends _0x536a58{static get['requires'](){return[r,s];}static get['pluginName'](){return'PresenceList';}}export{a as CloudServicesCommentsAdapter,v as CloudServicesRevisionHistoryAdapter,g as CloudServicesTrackChangesAdapter,i as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,d as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-real-time-collaboration",
|
|
3
|
-
"version": "43.2.0-alpha.
|
|
3
|
+
"version": "43.2.0-alpha.4",
|
|
4
4
|
"description": "A set of CKEditor 5 features enabling real-time collaboration within the editor using CKEditor Cloud Services.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "CKSource (http://cksource.com/)",
|
|
@@ -42,14 +42,14 @@
|
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@ckeditor/ckeditor-cloud-services-collaboration": "52.6.10",
|
|
45
|
-
"@ckeditor/ckeditor5-core": "43.2.0-alpha.
|
|
46
|
-
"@ckeditor/ckeditor5-engine": "43.2.0-alpha.
|
|
47
|
-
"@ckeditor/ckeditor5-operations-compressor": "43.2.0-alpha.
|
|
48
|
-
"@ckeditor/ckeditor5-theme-lark": "43.2.0-alpha.
|
|
49
|
-
"@ckeditor/ckeditor5-ui": "43.2.0-alpha.
|
|
50
|
-
"@ckeditor/ckeditor5-utils": "43.2.0-alpha.
|
|
51
|
-
"ckeditor5": "43.2.0-alpha.
|
|
52
|
-
"ckeditor5-collaboration": "43.2.0-alpha.
|
|
45
|
+
"@ckeditor/ckeditor5-core": "43.2.0-alpha.4",
|
|
46
|
+
"@ckeditor/ckeditor5-engine": "43.2.0-alpha.4",
|
|
47
|
+
"@ckeditor/ckeditor5-operations-compressor": "43.2.0-alpha.4",
|
|
48
|
+
"@ckeditor/ckeditor5-theme-lark": "43.2.0-alpha.4",
|
|
49
|
+
"@ckeditor/ckeditor5-ui": "43.2.0-alpha.4",
|
|
50
|
+
"@ckeditor/ckeditor5-utils": "43.2.0-alpha.4",
|
|
51
|
+
"ckeditor5": "43.2.0-alpha.4",
|
|
52
|
+
"ckeditor5-collaboration": "43.2.0-alpha.4",
|
|
53
53
|
"lodash-es": "4.17.21"
|
|
54
54
|
},
|
|
55
55
|
"types": "src/index.d.ts",
|