@ckeditor/ckeditor5-real-time-collaboration 43.1.0-alpha.3 → 43.1.0-alpha.5
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/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/realtimecollaborativeediting/realtimecollaborationclient.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',_0x38a67c];}static get['pluginName'](){return'WebSocketGateway';}constructor(_0x238590){super(_0x238590),this['set']('state',_0x297bec['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x1f8cb4);}['init'](){const _0xbef334=this['context'],_0x3830bf=_0xbef334['plugins']['get']('CloudServices'),_0x4b5d61=_0xbef334['plugins']['get'](_0x38a67c);if(!_0x3830bf['token'])throw new _0x33d818('websocketgateway-missing-token',this);if(!_0x3830bf['webSocketUrl'])throw new _0x33d818('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'](_0x3830bf['token'],_0x3830bf['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x4ddbac=>{if(this['connection']=_0x4ddbac,this['bind']('state')['to'](_0x4ddbac,'state',this,'_isBrowserOffline',(_0x2ba073,_0x44d05a)=>('connected'!==_0x2ba073&&(this['_shouldPluginsReconnect']=!0x0),_0x44d05a||_0x2ba073!==_0x297bec['CONNECTED']?_0x297bec['DISCONNECTED']:this['state']==_0x297bec['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x297bec['CONNECTING']):_0x297bec['CONNECTED'])),this['connection']['on']('error',(_0x213d27,_0x5755cc)=>{if('limitExceeded'!==_0x5755cc['code'])throw console['error'](_0x5755cc),new _0x33d818('cloudservices-init',null,{'originalError':_0x5755cc});_0x4b5d61['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'});}),!_0x4ddbac['me'])return new Promise(_0x5d1fd2=>_0x4ddbac['on']('change:me',_0x5d1fd2));})['catch'](_0x5615d2=>{throw console['error'](_0x5615d2),new _0x33d818('cloudservices-init',null,{'originalError':_0x5615d2});});}['addToReconnectionStack'](_0xf3f70b){if('function'!=typeof _0xf3f70b['reconnect'])throw new _0x33d818('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xf3f70b))throw new _0x33d818('websocketgateway-plugin-already-registered',this,{'name':_0xf3f70b['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xf3f70b);}['removeFromReconnectionStack'](_0x7023af){this['_reconnectionStack']['delete'](_0x7023af);}['isInReconnectionStack'](_0x2e1d18){return this['_reconnectionStack']['has'](_0x2e1d18);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x502393=>_0x502393['reconnect']())))['then'](()=>this['state']=_0x297bec['CONNECTED'])['catch'](_0x4c6ddb=>{throw console['error'](_0x4c6ddb),new _0x33d818('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x297bec['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class r extends _0x4094f3{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['requires'](){return[c,_0x3006d7];}constructor(_0x11adc7){super(_0x11adc7),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xd9e3ba(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3006d7);}['init'](){const _0x40b0da=this['context']['plugins']['get'](c);this['listenTo'](_0x40b0da,'change:state',(_0x5e6979,_0x311be8,_0xfbc231)=>{if('connected'!==_0xfbc231)this['channelSessions']['forEach'](_0x5ca393=>_0x5ca393['clear']()),this['channelConnectedUsers']['forEach'](_0x5a2911=>_0x5a2911['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x52bbfc,_0x15273a]of this['_registeredSessions'])for(const _0xc45bfb of _0x15273a)this['_handleSessionAdd'](_0x52bbfc,_0xc45bfb);}}),this['_createUser'](_0x40b0da['connection']['me'],!0x0);}['register'](_0x57a9e9,_0x53d3f9){if(this['_registeredSessions']['has'](_0x57a9e9))throw new _0x33d818('sessions-register-already-registered',null,{'channelId':_0x57a9e9});this['_registeredSessions']['set'](_0x57a9e9,_0x53d3f9),this['channelSessions']['set'](_0x57a9e9,new _0xd9e3ba()),this['channelConnectedUsers']['set'](_0x57a9e9,new _0xd9e3ba()),this['listenTo'](_0x53d3f9,'add',(_0x2aa1f5,_0x2c4f5d)=>this['_handleSessionAdd'](_0x57a9e9,_0x2c4f5d)),this['listenTo'](_0x53d3f9,'remove',(_0xce1200,_0x7261d2)=>this['_handleSessionRemove'](_0x57a9e9,_0x7261d2));for(const _0x39520e of _0x53d3f9)this['_handleSessionAdd'](_0x57a9e9,_0x39520e);}['unregister'](_0x4894d6){if(!this['_registeredSessions']['has'](_0x4894d6))throw new _0x33d818('sessions-unregister-not-exist',null,{'channelId':_0x4894d6});const _0x28d8a5=this['_registeredSessions']['get'](_0x4894d6);this['stopListening'](_0x28d8a5);for(const _0x42fa5e of _0x28d8a5)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x4894d6,_0x42fa5e);this['_registeredSessions']['delete'](_0x4894d6),this['channelSessions']['delete'](_0x4894d6),this['channelConnectedUsers']['delete'](_0x4894d6);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x142c8c){for(const _0x408c1b of this['channelSessions']['values']())for(const _0x28077a of _0x408c1b)if(_0x28077a['id']===_0x142c8c)return _0x28077a['user'];}['getUserSessions'](_0x4d7cba,_0x4923a8){const _0x323034=_0x4923a8?[this['channelSessions']['get'](_0x4923a8)]:this['channelSessions']['values'](),_0x59f1bc=new Set();for(const _0x3b088f of _0x323034)for(const _0x1bbf6d of _0x3b088f)_0x1bbf6d['user']['id']===_0x4d7cba['id']&&_0x59f1bc['add'](_0x1bbf6d['id']);return _0x59f1bc;}['getUserRole'](_0x2225ac){for(const _0x39838c of this['channelSessions']['values']())for(const _0x20c997 of _0x39838c)if(_0x20c997['user']===_0x2225ac)return _0x20c997['role'];}['_handleSessionAdd'](_0x178d83,_0x403d68){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x59032=_0x403d68['user'],_0x40596b=this['_users']['getUser'](_0x59032['id'])||this['_createUser'](_0x59032),_0x108ac3=Object['assign']({},_0x403d68,{'user':_0x40596b});this['channelSessions']['get'](_0x178d83)['add'](_0x108ac3);const _0x133913=this['channelConnectedUsers']['get'](_0x178d83);_0x133913['has'](_0x40596b['id'])||_0x133913['add'](_0x40596b),this['allConnectedUsers']['has'](_0x40596b['id'])||this['allConnectedUsers']['add'](_0x40596b,_0x40596b['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x178d83,{'channelId':_0x178d83,'session':_0x108ac3});}['_handleSessionRemove'](_0x36f152,_0xa090ec){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x44c67d=this['channelConnectedUsers']['get'](_0x36f152),_0x54be40=_0xa090ec['user'];_0x54be40['id']&&(this['channelSessions']['get'](_0x36f152)['remove'](_0xa090ec['id']),_0x44c67d['has'](_0x54be40['id'])&&!this['getUserSessions'](_0x54be40,_0x36f152)['size']&&_0x44c67d['remove'](_0x54be40['id']),this['allConnectedUsers']['get'](_0x54be40['id'])&&!this['getUserSessions'](_0x54be40)['size']&&this['allConnectedUsers']['remove'](_0x54be40['id']));}['_createUser'](_0x61635a,_0x332603){const _0x4dc8a3=this['_users']['addUser'](_0x61635a);return _0x332603&&this['_users']['defineMe'](_0x61635a['id']),_0x4dc8a3['orderNumber']=this['_uniqueUsersCount']++,_0x4dc8a3;}}class H extends _0x399b4e{['_domEmitter']=new(_0x1f8cb4())();static get['requires'](){return[r];}static get['pluginName'](){return'UserMarkers';}['init'](){const _0x1b2d2f=this['editor'],_0x2d7073=_0x1b2d2f['plugins']['get'](r);_0x1b2d2f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x29d023,{writer:_0x107901})=>function(_0x51ec0a,_0x4ebf34,_0x2fe6d7,_0x3cb918){const _0x501ee1=_0x51ec0a['markerName']['split'](':')[0x2],_0xff51c0=_0x2fe6d7['getUserBySessionId'](_0x501ee1);if(!_0xff51c0||_0x501ee1===_0x2fe6d7['mySessionId'])return;if(!_0x3cb918['model']['schema']['checkChild'](_0x51ec0a['markerRange']['start'],'$text'))return;const _0x3f97e6={'class':'ck-user__marker\x20'+_0xff51c0['color']['getMarkerClass'](),'data-name':_0xff51c0['name'],'data-session-id':_0x501ee1},_0xc85ac7=_0x3cb918['model']['markers']['get'](_0x51ec0a['markerName']),_0x331217=_0xc85ac7['getStart'](),_0x317194=_0x331217['nodeAfter'],_0x227b83=_0x3cb918['model']['schema'];if(_0x317194&&_0x227b83['isObject'](_0x317194)&&_0x227b83['isInline'](_0x317194)&&!_0x3cb918['model']['markers']['get']('user:range:'+_0x501ee1)['getRange']()['isCollapsed'])return;const _0x42dab9=_0x331217['parent'];return _0x3cb918['model']['schema']['isLimit'](_0x42dab9)&&!_0x3cb918['model']['hasContent'](_0x42dab9)&&(_0x3f97e6['contenteditable']=!0x1),function(_0x154b0f,_0x41ce19,_0x4f4fbc){const _0x1ef44a=_0x154b0f['createUIElement']('span',_0x41ce19);return _0x154b0f['setCustomProperty']('userPositionMarker',!0x0,_0x1ef44a),_0x1ef44a['render']=function(_0x458996){const _0x53450d=this['toDomElement'](_0x458996);return _0x53450d['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>'+_0x4f4fbc['name']+'</span>',_0x53450d['addEventListener']('mouseenter',()=>{_0x53450d['classList']['add']('ck-user__marker_hovered');}),_0x53450d['addEventListener']('mouseleave',()=>{_0x53450d['classList']['remove']('ck-user__marker_hovered');}),_0x53450d;},_0x1ef44a['isSimilar']=function(_0x5719cf){return!(!this['getCustomProperty']('userPositionMarker')||!_0x5719cf['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x5719cf['getAttribute']('data-session-id'));},_0x1ef44a;}(_0x4ebf34,_0x3f97e6,_0xff51c0);}(_0x29d023,_0x107901,_0x2d7073,_0x1b2d2f)}),_0x1b2d2f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x442d07=>function(_0x5b1330,_0x207131){const _0x35fe37=_0x5b1330['markerName']['split'](':')[0x2];if(_0x35fe37===_0x207131['mySessionId'])return null;const _0x18f144=_0x207131['getUserBySessionId'](_0x35fe37);if(!_0x18f144)return{'id':_0x35fe37,'classes':[]};return{'id':_0x35fe37,'classes':['ck-user__selection',_0x18f144['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x35fe37},'priority':0x7d0+_0x18f144['orderNumber']};}(_0x442d07,_0x2d7073)}),function(_0x2ecab0){const _0x5db2ea=_0x2ecab0['model'],_0x22bcff=new Map(),_0x2d7153=_0x2ecab0['plugins']['get'](r);_0x5db2ea['markers']['on']('update:user:range',(_0x9abc4f,_0x1095ec,_0x410406,_0x47711d)=>{if(!_0x47711d&&_0x22bcff['get'](_0x1095ec['name']))return _0x22bcff['get'](_0x1095ec['name'])['detach'](),void _0x22bcff['delete'](_0x1095ec['name']);const _0x510b7b=_0x1095ec['name']['split'](':')[0x2];if(_0x510b7b===_0x2d7153['mySessionId'])return;const _0x4a002a='user:position:'+_0x510b7b;_0x5db2ea['markers']['has'](_0x4a002a)&&_0x2ecab0['editing']['reconvertMarker'](_0x4a002a),_0x1095ec['on']('change:range',(_0x9d7968,_0x5b6fd2,_0x254c66)=>{if('$graveyard'!=_0x5b6fd2['root']['rootName']&&'$graveyard'==_0x1095ec['getRange']()['root']['rootName']&&!_0x22bcff['has'](_0x1095ec['name'])){const _0xb8aa8e=_0x5db2ea['schema']['getNearestSelectionRange'](_0x254c66['deletionPosition']);if(_0xb8aa8e){const _0x508ce5=ht['fromRange'](_0xb8aa8e);_0x22bcff['set'](_0x1095ec['name'],_0x508ce5),_0x508ce5['on']('change:range',(_0x43d7df,_0x3d430c,_0x559daa)=>{if('$graveyard'==_0x508ce5['root']['rootName']){const _0x27b346=_0x5db2ea['schema']['getNearestSelectionRange'](_0x559daa['deletionPosition']);_0x27b346?(_0x508ce5['start']=_0x27b346['start'],_0x508ce5['end']=_0x27b346['end']):(_0x22bcff['delete'](_0x1095ec['name']),_0x508ce5['detach']());}});}}});}),_0x5db2ea['document']['on']('change',()=>{_0x22bcff['size']>0x0&&_0x5db2ea['enqueueChange']({'isUndoable':!0x1},_0x2b203d=>{for(const [_0x537601,_0x33112e]of _0x22bcff)'$graveyard'==_0x5db2ea['markers']['get'](_0x537601)['getRange']()['root']['rootName']&&(re(_0x537601['split'](':')[0x2],_0x33112e['toRange'](),_0x5db2ea,_0x2b203d),_0x33112e['detach']());_0x22bcff['clear']();});});}(_0x1b2d2f),this['_domEmitter']['listenTo'](_0x4b223b['document'],'keydown',(_0xf8f45a,{key:_0x3cbc70})=>{'Escape'===_0x3cbc70&&function(_0x588d6a){_0x588d6a['editing']['view']['change'](_0x5a3f79=>{for(const _0x567861 of _0x588d6a['model']['markers']){if(!_0x567861['name']['startsWith']('user:position'))continue;const _0x5d7bec=_0x588d6a['editing']['mapper']['markerNameToElements'](_0x567861['name']);if(_0x5d7bec){for(const _0xae5343 of _0x5d7bec)_0x5a3f79['removeClass']('ck-user__marker_hovered',_0xae5343);}}});}(_0x1b2d2f);},{'useCapture':!0x0});}['afterInit'](){const _0x22feea=this['editor'],_0x1a182d=_0x22feea['commands']['get']('undo');_0x1a182d&&_0x22feea['model']['on']('applyOperation',(_0x430995,_0x17384c)=>{const _0x22fd05=_0x17384c[0x0];if('marker'!=_0x22fd05['type']||!_0x22fd05['name']['startsWith']('user:'))return;const _0x54668d=_0x22fd05['batch'];_0x1a182d['_createdBatches']['has'](_0x54668d)&&(_0x22fd05['newRange']=_0x22fd05['oldRange']?_0x22feea['model']['createRange'](_0x22fd05['oldRange']['start'],_0x22fd05['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5a20ac=this['editor'],_0x507d9e=_0x5a20ac['model']['document'],_0x4c28a1=_0x5a20ac['plugins']['get'](r);_0x5a20ac['model']['enqueueChange']({'isUndoable':!0x1},_0x50c7ac=>{const _0x46ff4f='user:range:'+_0x4c28a1['mySessionId'],_0x1ebfe6='user:position:'+_0x4c28a1['mySessionId'],_0x3a5e88=_0x5a20ac['model']['markers']['has'](_0x46ff4f);_0x5a20ac['editing']['view']['hasDomSelection']?re(_0x4c28a1['mySessionId'],_0x507d9e['selection']['getFirstRange'](),_0x5a20ac['model'],_0x50c7ac):_0x3a5e88&&(_0x50c7ac['removeMarker'](_0x46ff4f),_0x50c7ac['removeMarker'](_0x1ebfe6));});}}function re(_0x5b2427,_0x3eaf22,_0x5e5b44,_0x3c61ac){const _0x19f661='user:range:'+_0x5b2427,_0x41f78c='user:position:'+_0x5b2427,_0x45c285=_0x3eaf22['getContainedElement']();let _0x3e4b92=_0x3eaf22['start'];_0x45c285&&_0x45c285['is']('element','tableCell')&&(_0x3e4b92=function(_0x400b11,_0x33b4b4){for(const _0xeb9b7b of _0x400b11['getPositions']())if(_0x33b4b4['schema']['checkChild'](_0xeb9b7b,'$text'))return _0xeb9b7b;}(_0x3eaf22,_0x5e5b44),_0x3eaf22=_0x3c61ac['createRange'](_0x3e4b92));const _0x157ac6=_0x3c61ac['createRange'](_0x3e4b92);_0x5e5b44['markers']['has'](_0x19f661)?(_0x3c61ac['updateMarker'](_0x19f661,{'range':_0x3eaf22}),_0x3c61ac['updateMarker'](_0x41f78c,{'range':_0x157ac6})):(_0x3c61ac['addMarker'](_0x19f661,{'range':_0x3eaf22,'usingOperation':!0x0}),_0x3c61ac['addMarker'](_0x41f78c,{'range':_0x157ac6,'usingOperation':!0x0}));}function q(_0x57ef4d,_0x416f54,_0x5b9221){const t=_0x57ef4d['t'];switch(_0x416f54){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'},_0x5b9221);default:return'';}}let K=0x1;class l extends _0x399b4e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x3e3ba6)());['_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,_0xa6ab4c,_0x3006d7,_0x38a67c];}static get['pluginName'](){return'RealTimeCollaborationClient';}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x132eea=this['serverHistory']['getOperations']();for(let _0x3127c2=_0x132eea['length']-0x1;_0x3127c2>=0x0;_0x3127c2--){const _0x3bb22b=_0x132eea[_0x3127c2];if(!this['_disconnectionOperations']['has'](_0x3bb22b))return _0x3bb22b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x29e3e4){if(super(_0x29e3e4),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3e5ffd(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x33d818('collaboration-missing-channelid',this);const _0x21e00f=_0x29e3e4['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x21e00f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4b3c4b(),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 _0x27a14d=this['editor'],_0x2c2182=_0x27a14d['plugins']['get'](_0x3006d7),_0xdf23b0=_0x27a14d['plugins']['get'](c);this['listenTo'](_0x2c2182,'getOperationAuthor',(_0x5ebcb4,_0x96e8cb)=>{const _0x2d7fb1=_0x96e8cb[0x0];_0x2d7fb1['_authorId']&&(_0x5ebcb4['return']=_0x2c2182['getUser'](_0x2d7fb1['_authorId']),_0x5ebcb4['stop']()),null===_0x2d7fb1['_authorId']&&(_0x5ebcb4['return']=null,_0x5ebcb4['stop']());},{'priority':'high'}),this['listenTo'](_0x27a14d['model']['document']['selection'],'change:range',(_0x1a7cb9,_0x3355e2)=>{_0x3355e2['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x27a14d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x27a14d['model']['on']('applyOperation',(_0x501964,_0x1b06b7)=>{const _0x55993e=_0x1b06b7[0x0];_0x55993e['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x55993e),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0xdf23b0,'state',this,'_hasSynchronizationProblem',(_0xc8a211,_0x1673d6)=>'connected'===_0xc8a211&&!_0x1673d6),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x27a14d['disableReadOnlyMode']('rtc-offline'):_0x27a14d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x27a14d['disableReadOnlyMode']('rtc-offline'):_0x27a14d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x109bdc=this['editor']['plugins']['get'](r),_0x32648c=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x109bdc['unregister'](this['_channelId']);const _0x318762=await this['_service']['reconnect'](_0x32648c['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x318762)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x5e6ff3=await this['_service']['getConnectedSessions']();_0x109bdc['register'](this['_channelId'],_0x5e6ff3),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x34ccb2){if(function(_0x48815f){return'404'===_0x48815f['code'];}(_0x34ccb2)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x28cc07){return'409'===_0x28cc07['code'];}(_0x34ccb2)){const _0x5bcc86=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'](_0x5bcc86);}else{if(!(_0x34ccb2 instanceof J))throw _0x34ccb2;this['_handleReconnectionError']();}}}}['destroy'](){const _0x534837=this['editor']['plugins']['get'](c),_0x4acd34=this['editor']['plugins']['get'](r);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4acd34['channelSessions']['has'](this['_channelId'])&&_0x4acd34['unregister'](this['_channelId']),_0x534837['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x46ccce){if(this['sessionId']!==_0x46ccce['sessionId']&&this['_lastSyncedOperationId']!==_0x46ccce['lastOperationId'])throw new J();return this['sessionId']=_0x46ccce['sessionId'],this['_handleServerResponse']([],{..._0x46ccce,'wereChangesApplied':!0x1,'data':_0x46ccce['data']},'reconnect');}async['_connectService'](_0x45fc9b,_0x570cca=!0x1){const {connection:_0x2b1bf5}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x2b1bf5,this['_channelId'])['then'](_0x26d1ec=>this['_initSessionsHandling'](_0x26d1ec))['catch'](_0xf411e0=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xf411e0);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5d9b89,_0x5e40b4)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x5e40b4);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x446dea=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x45fc9b);this['_isPendingUpdate']=!0x0;const _0x68d456=await this['_service']['connect'](_0x2b1bf5,this['_compressOperations'](_0x45fc9b),_0x446dea);if(this['sessionId']=_0x68d456['sessionId'],_0x570cca){if(!_0x68d456['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x68d456['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x45fc9b,_0x68d456,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x68d456,_0x45fc9b);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x40ce9e=this['editor']['plugins']['get'](r),_0x49b952=this['editor']['plugins']['get'](H),_0x5e98ac=_0x40ce9e['channelSessions']['get'](this['_channelId']);_0x5e98ac&&_0x5e98ac['length']>0x1?_0x49b952['createUserMarkerOperations']():this['listenTo'](_0x40ce9e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x40ce9e['channelSessions']['get'](this['_channelId'])['length']&&_0x49b952['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x330da5,_0x166a42,_0x1beca1,_0xb97254){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x166a42){const _0x1e269b=this['_decompressOperations'](_0x1beca1,_0xb97254);await this['_fetchMissingUsers'](_0x1e269b),this['_handleExternalOperations'](_0x1e269b,_0x166a42,_0x1beca1['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x22cd66}=this['editor'];let _0x2433f5;try{_0x2433f5=await this['_service']['getDocumentDetails']();}catch(_0x3e70be){const _0x12aace=q(_0x22cd66,'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'](_0x12aace);}const _0x1656bd=_0x2433f5['currentDocumentSession']||_0x2433f5['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x1656bd['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x2399fe=q(_0x22cd66,'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'](_0x2399fe);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x53930e){const _0x4f3353=this['editor']['plugins']['get'](r);this['listenTo'](_0x4f3353,'sessionAdd:'+this['_channelId'],(_0x5da9ab,{session:_0x502c78})=>{if(_0x502c78['id']===_0x4f3353['mySessionId']){_0x5da9ab['off']();const _0x1bae99=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3d51a8=_0x502c78['permissions'];_0x1bae99&&_0x1bae99['isEnabled']&&(_0x3d51a8=_0x3d51a8['filter'](_0x5c5a33=>'document:write'!==_0x5c5a33)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3d51a8,this['_channelId']);}}),_0x4f3353['register'](this['_channelId'],_0x53930e);}['_initThrowingOnDataSet'](){const _0x1d5359=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x46cf2b)=>{if(!_0x46cf2b[_0x46cf2b['length']-0x1]['suppressErrorInCollaboration'])throw new _0x33d818('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1d5359['apply'](this['editor']['data'],_0x46cf2b);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1e5e2e,[_0x35b827])=>{if(this['_document']['version'])throw new _0x33d818('realtimecollaborationclient-init-document-already-initialized',this);_0x1e5e2e['stop'](),this['_setPendingAction']();const _0x34ba0c=this['editor']['config']['get']('rootsAttributes'),_0x23ee96=this['_getOperationsFromInitData'](_0x35b827,_0x34ba0c);0x0==_0x23ee96['length']&&_0x23ee96['push'](new _0x4f120b(0x0)),_0x1e5e2e['return']=this['_connectService'](_0x23ee96)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x4749f5=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x4749f5))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x570641,[_0x2f80ba,_0x297b80])=>{_0x570641['stop']();const _0x343c3b=this['editor']['model']['document']['getRoot'](_0x2f80ba);if(!this['_knownRootNames']['has'](_0x2f80ba)){const _0x320892=_0x297b80&&_0x297b80['data']?_0x297b80['data']:'',_0x4fd86e=_0x297b80&&_0x297b80['attributes']?_0x297b80['attributes']:{};await this['_loadRoot'](_0x2f80ba,_0x320892,_0x4fd86e);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x343c3b['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x343c3b);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x19408f){const _0x513269=this['editor']['plugins']['get'](_0x3006d7),{connection:_0x1eddf9}=this['editor']['plugins']['get'](c),_0x189343=new Set();for(const _0x474ef6 of _0x19408f){const _0x38eb88=_0x474ef6['_authorId'];_0x38eb88&&!_0x513269['getUser'](_0x38eb88)&&_0x189343['add'](_0x38eb88);}if(0x0===_0x189343['size'])return;const _0x2e1198=await lt['getMany'](_0x1eddf9,Array['from'](_0x189343));for(const _0x254d8c of _0x2e1198)_0x513269['getUser'](_0x254d8c['id'])||_0x513269['addUser'](_0x254d8c);}['_getOperationsFromInitData'](_0x4fbe90,_0x5a42f9={}){const _0x1bb934=this['editor']['model'],_0x1622ca=[];let _0x46766e=0x0;const _0x568d4b='string'==typeof _0x4fbe90?{'main':_0x4fbe90}:_0x4fbe90;for(const _0xaf280b of Object['keys'](_0x568d4b)){if(!this['_document']['roots']['has'](_0xaf280b))throw new _0x33d818('realtimecollaborationclient-init-non-existent-root',this);const _0x41b99e=this['editor']['data']['parse'](_0x568d4b[_0xaf280b]),_0x23162b=this['_document']['getRoot'](_0xaf280b),_0xdc560b=new _0x5c872f(_0x1bb934['createPositionAt'](_0x23162b,0x0),_0x41b99e,_0x46766e++);_0x1622ca['push'](_0xdc560b);for(const [_0x24b3a9,_0x49a0b5]of _0x41b99e['markers']){const _0x445b59=_0x1bb934['createRange'](_0x1bb934['createPositionFromPath'](_0x23162b,_0x49a0b5['start']['path']['slice']()),_0x1bb934['createPositionFromPath'](_0x23162b,_0x49a0b5['end']['path']['slice']())),_0xe8b063=new _0x8d7b39(_0x24b3a9,null,_0x445b59,_0x1bb934['markers'],!0x0,_0x46766e++);_0x1622ca['push'](_0xe8b063);}}if(_0x5a42f9)for(const [_0x3d2412,_0x2633f1]of Object['entries'](_0x5a42f9)){const _0x1962b6=_0x1bb934['document']['getRoot'](_0x3d2412);if(!_0x1962b6)throw new _0x33d818('multi-root-editor-root-attributes-no-root',null);for(const [_0x592f28,_0x4df79e]of Object['entries'](_0x2633f1))if(null!==_0x4df79e){const _0x3f089b=new _0x51d1ab(_0x1962b6,_0x592f28,null,_0x4df79e,_0x46766e++);_0x1622ca['push'](_0x3f089b);}}return _0x1622ca;}async['_loadRoot'](_0x281bfd,_0x2c8c8e,_0x77abfe){this['_getOperationsFromInitData']({[_0x281bfd]:_0x2c8c8e},{[_0x281bfd]:_0x77abfe})['forEach']((_0x4d5290,_0x5ed96d)=>{_0x4d5290['baseVersion']=this['_document']['version']+_0x5ed96d,_0x4d5290['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4d5290);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x57432b,_0x13ff9b){let _0x299e64;this['_offset']=_0x57432b['offset'];const _0x5ea8ea=_0x57432b['wereChangesApplied']&&!_0x57432b['initData'],_0x728eb9=_0x5ea8ea?0x0:_0x57432b['data']['baseVersion'];if(_0x13ff9b['forEach'](_0x2e54ec=>{_0x2e54ec['_isInit']=!0x0,_0x2e54ec['createdAt']=_0x57432b['sessionCreatedAt'],_0x2e54ec['_authorId']=null;}),_0x5ea8ea)_0x299e64=_0x13ff9b,this['_applyOperationsSet'](_0x299e64,_0x5ea8ea);else{if(_0x57432b['initData']){const _0x216244=this['_getOperationsFromInitData'](_0x57432b['initData']);this['_document']['history']['version']=-_0x216244['length'],_0x216244['forEach'](_0xc5fa98=>{_0xc5fa98['baseVersion']-=_0x216244['length'],_0xc5fa98['createdAt']=_0x57432b['sessionCreatedAt'],_0xc5fa98['_isInit']=!0x0,_0xc5fa98['_authorId']=null;}),this['_applyOperationsSet'](_0x216244,!0x0),this['serverHistory']['version']=-_0x216244['length']+this['_offset'],this['_updateServerHistory'](_0x216244);}this['_document']['history']['version']=_0x728eb9,_0x299e64=this['_decompressOperations'](_0x57432b['data'],_0x57432b['metadata']),await this['_fetchMissingUsers'](_0x299e64),this['_applyOperationsSet'](_0x299e64,_0x5ea8ea);}_0x57432b['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x299e64,_0x57432b['lastOperationId']),this['_lastSyncedOperationId']=_0x57432b['lastOperationId']),this['serverHistory']['version']=_0x728eb9+this['_offset'],this['_updateServerHistory'](_0x299e64),_0x13ff9b['filter'](_0x2c144c=>{const _0x210187=this['_getAffectedRoot'](_0x2c144c);return _0x210187&&!this['_knownRootNames']['has'](_0x210187);})['forEach']((_0x3e5bf7,_0x120b59)=>{_0x3e5bf7['baseVersion']=this['_document']['version']+_0x120b59,this['_saveOperationInBuffer'](_0x3e5bf7);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x4afba4,_0x145b1c){throw this['_isPendingUpdate']=!0x0,_0x145b1c&&console['error'](_0x145b1c),new _0x33d818(_0x4afba4,this['editor']);}['_saveOperationInBuffer'](_0xab3936){this['_knownOperations']['has'](_0xab3936)||(this['_knownOperations']['add'](_0xab3936),this['_bufferedOperations']['push'](_0xab3936),this['_pendingAction']||'marker'==_0xab3936['type']&&!_0xab3936['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x298ec0=!0x1){!_0x298ec0&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x54dd85=>{_0x54dd85&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4f62da=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x28dfaa){return _0x28dfaa['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x28dfaa['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x28dfaa['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4f62da))throw _0x4f62da;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x442a4d=>{this['on']('change:_isPendingUpdate',()=>{_0x442a4d();});});}async['_sendBufferedOperations'](){const _0x4111ef=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x4111ef['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1adc6e=[...this['_bufferedOperations']];for(const _0x5a236d of _0x1adc6e)_0x5a236d['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5a236d);const _0x3a7a04=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1adc6e),_0x37959a=K++,_0x131742=this['_compressOperations'](_0x1adc6e),_0x2935cb=await this['_service']['sendOperations'](_0x131742,_0x131742['baseVersion'],_0x3a7a04);try{return await this['_handleServerResponse'](_0x1adc6e,_0x2935cb,_0x37959a);}catch(_0x37bb29){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x37bb29);}}async['_handleServerResponse'](_0x20965a,_0x1ab977,_0x4751f5){if('error'in _0x1ab977)throw _0x1ab977['error'];let _0x16e4f5=!0x1;if(_0x1ab977['wereChangesApplied']){_0x1ab977['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1ab977['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xfe2542=>!_0x20965a['includes'](_0xfe2542));for(const _0xf169b4 of _0x20965a)_0xf169b4['createdAt']='lastOperationAcceptedAt'in _0x1ab977&&_0x1ab977['lastOperationAcceptedAt']||void 0x0;Q(_0x20965a,_0x1ab977['version']-_0x20965a['length']),this['_updateServerHistory'](_0x20965a);const _0x5c714a=_0x20965a['filter'](_0x267796=>{if(!_0x267796['_isInit'])return!0x1;const _0x1d955a=this['_getAffectedRoot'](_0x267796);return _0x1d955a&&!this['_knownRootNames']['has'](_0x1d955a);});Q(_0x5c714a,this['_document']['version']),this['_applyOperationsSet'](_0x5c714a),_0x16e4f5=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1111cb=this['_decompressOperations'](_0x1ab977['data'],_0x1ab977['metadata'])['filter'](_0x1f2bb4=>_0x1f2bb4['baseVersion']>=this['_lastServerVersion']);_0x1111cb['forEach'](_0x421409=>this['_addKnownRoot'](_0x421409)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x564c52=>!_0x564c52['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x564c52))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1111cb),_0x16e4f5=this['_handleExternalOperations'](_0x1111cb,_0x1ab977['version'],_0x1ab977['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x16e4f5?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x435b90,_0x1bac2e,_0x22165f){try{const _0x35f138={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xede89e,operationsB:_0x5473eb,originalOperations:_0xde89b}=_0x1f44c9(_0x435b90,this['_bufferedOperations'],_0x35f138);Q(_0xede89e,this['_document']['version']),Q(_0x5473eb,_0x1bac2e);for(const _0x17c522 of _0xede89e){const _0x3a1513=_0xde89b['get'](_0x17c522);_0x17c522['_authorId']=_0x3a1513?_0x3a1513['_authorId']:null;}_0x22165f&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x435b90,_0x22165f),this['_lastSyncedOperationId']=_0x22165f),this['_bufferedOperations']=[..._0x5473eb],this['_applyOperationsSet'](_0xede89e),this['_updateServerHistory'](_0x435b90);}catch(_0x5650cf){return console['error'](_0x5650cf),!0x1;}return!0x0;}['_applyOperationsSet'](_0xcefd3b,_0x1274d8=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x142bd0=>{for(const _0xd75a67 of _0xcefd3b)this['_knownOperations']['add'](_0xd75a67),this['_addKnownRoot'](_0xd75a67),_0x142bd0['batch']['addOperation'](_0xd75a67),this['editor']['model']['applyOperation'](_0xd75a67);});}['_addKnownRoot'](_0x5c42f2){const _0x5c4ca1=this['_getAffectedRoot'](_0x5c42f2);_0x5c4ca1&&this['_knownRootNames']['add'](_0x5c4ca1);}['_getAffectedRoot'](_0x4e9479){let _0x3bfb83,_0xff9c6d;switch(_0x4e9479['type']){case'insert':_0x3bfb83=_0x4e9479['position']['root'];break;case'marker':if(_0xff9c6d=_0x4e9479['newRange'],!_0xff9c6d)return null;_0x3bfb83=_0xff9c6d['root'];break;case'addRootAttribute':_0x3bfb83=_0x4e9479['root'];break;case'addRoot':_0x3bfb83=_0x4e9479['affectedSelectable'];break;case'move':_0x3bfb83=_0x4e9479['targetPosition']['root'];break;default:return null;}return _0x3bfb83['rootName'];}['_updateServerHistory'](_0x45ce4f){_0x45ce4f['forEach'](_0x4dab73=>{const _0x14e4d6=_0x4dab73['clone']();_0x14e4d6['_authorId']=_0x4dab73['_authorId'],_0x14e4d6['_isInit']=!!_0x4dab73['_isInit'],_0x14e4d6['createdAt']=_0x4dab73['createdAt'],_0x14e4d6['baseVersion']+=this['_offset'],_0x4dab73['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x14e4d6),this['serverHistory']['addOperation'](_0x14e4d6);});}['_handleReconnectionError'](_0x5d6c82){const _0x41ed29=this['editor']['plugins']['get']('Notification'),_0x3f82e9=this['editor']['locale'];_0x5d6c82||(_0x5d6c82=q(_0x3f82e9,'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.')),_0x41ed29['showWarning'](_0x5d6c82,{'title':q(_0x3f82e9,'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'](_0xa6ab4c)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0xa6ab4c)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x11e7a3){const _0x338c18=_0x11e7a3['map'](_0x1fa51e=>_0x1fa51e['toJSON']());return this['_compressor']['compress'](_0x338c18);}['_decompressOperations'](_0x530be5,_0x2404fa){return this['_compressor']['decompress'](_0x530be5)['map']((_0x6f5585,_0x4c2956)=>{const _0x14844b='init'==_0x2404fa[_0x4c2956]['type'];if('InsertOperation'==_0x6f5585['__className']){const _0x253357=_0x6f5585['position']['root'];!this['_document']['getRoot'](_0x253357)&&(this['_document']['createRoot']('$root',_0x253357)['_isAttached']=!0x1);}const _0x45d214=_0x224f52['fromJSON'](_0x6f5585,this['_document']);return _0x45d214['wasUndone']=_0x6f5585['wasUndone'],_0x45d214['_isInit']=_0x14844b,_0x45d214['_authorId']=_0x14844b?null:_0x2404fa[_0x4c2956]['userId'],_0x45d214['_isDisconnection']='cs:removeUser'===_0x2404fa[_0x4c2956]['type'],_0x45d214['createdAt']=_0x2404fa[_0x4c2956]['createdAt'],_0x45d214;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x107aec=this['editor']['plugins']['get'](r)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x107aec&&_0x107aec['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x2b8e3a,_0x867694){for(const _0x3d3cf5 of _0x2b8e3a)_0x3d3cf5['baseVersion']=_0x867694++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x321c8a){this['_ignoredOperations']=_0x321c8a,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x344b43){let _0x3e843c=_0x344b43['length'];for(;_0x3e843c--;){const _0x2c8285=_0x344b43[_0x3e843c];if(!this['_ignoredOperations']['has'](_0x2c8285)){if(!this['_operationToId']['has'](_0x2c8285)){const _0x29f334=_0x2ca2cd()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2c8285,_0x29f334);}return this['_operationToId']['get'](_0x2c8285);}}}['setIdForTheLastOperation'](_0x241445,_0x7dba71){if(!_0x7dba71)return;let _0xdf9d35=_0x241445['length'];for(;_0xdf9d35--;){const _0x243145=_0x241445[_0xdf9d35];this['_ignoredOperations']['has'](_0x243145)||this['_operationToId']['set'](_0x243145,_0x7dba71);}}}class n extends _0x399b4e{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}}class a extends _0x4094f3{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x17ad15)());['_services'];static get['requires'](){return[c,'CommentsRepository',r,_0x3006d7];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}constructor(_0x10dbd5){super(_0x10dbd5),this['_services']=new Map();}async['init'](){const _0x874813=this['context'],_0x5431e5=_0x874813['plugins']['get']('CommentsRepository');if(_0x874813['plugins']['get'](c)['addToReconnectionStack'](this),_0x5431e5['adapter']={'addCommentThread':async({channelId:_0x17c48e,threadId:_0x2c5dbe,comments:_0x2f9dfa,resolvedAt:_0x1a8b03,resolvedBy:_0x16aa8e,context:_0x3e0acf,attributes:_0x51f353})=>{const _0x4befa4=await this['_getService'](_0x17c48e)['addCommentThread']({'commentThreadId':_0x2c5dbe,'comments':_0x2f9dfa['map'](_0x4fe9f1=>function(_0x3afe92,_0x4b499a,_0xe2b349){return{'commentThreadId':_0xe2b349,'commentId':_0x3afe92['commentId'],'userId':_0x3afe92['authorId'],'content':_0x3afe92['content'],'documentId':_0x4b499a,'createdAt':_0x3afe92['createdAt'],'attributes':_0x3afe92['attributes']||{}};}(_0x4fe9f1,_0x17c48e,_0x2c5dbe)),'resolvedAt':_0x1a8b03,'resolvedBy':_0x16aa8e,'context':_0x3e0acf,'attributes':_0x51f353})['catch'](ut);return{'threadId':_0x4befa4['commentThreadId'],'comments':_0x4befa4['comments']};},'getCommentThread':async({channelId:_0x421925,threadId:_0x245b08})=>{const _0x2425fa=await this['_getService'](_0x421925)['getCommentThread'](_0x245b08)['catch'](ut);return _0x2425fa['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x2425fa]),{'threadId':_0x2425fa['commentThreadId'],'comments':_0x2425fa['comments']['map'](S),'context':_0x2425fa['context'],'resolvedAt':_0x2425fa['resolvedAt'],'resolvedBy':_0x2425fa['resolvedBy'],'attributes':_0x2425fa['attributes']||{}});},'updateCommentThread':async({channelId:_0x5b4c83,threadId:_0x3294d7,context:_0x100d23,unlinkedAt:_0x298a16,attributes:_0x53d771})=>this['_getService'](_0x5b4c83)['updateCommentThread']({'commentThreadId':_0x3294d7,'context':_0x100d23,'attributes':_0x53d771,'unlinkedAt':_0x298a16})['catch'](B)['catch'](ut),'resolveCommentThread':async({channelId:_0x3105f5,threadId:_0x1279a7})=>{const _0x509c8b=await this['_getService'](_0x3105f5)['resolveCommentThread'](_0x1279a7)['catch'](B)['catch'](ut);return{'threadId':_0x509c8b['commentThreadId'],'resolvedAt':_0x509c8b['resolvedAt'],'resolvedBy':_0x509c8b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x216d12,threadId:_0x493e02})=>this['_getService'](_0x216d12)['reopenCommentThread'](_0x493e02)['catch'](B)['catch'](ut),'removeCommentThread':({channelId:_0x5580d9,threadId:_0x325ee4})=>this['_getService'](_0x5580d9)['removeCommentThread'](_0x325ee4)['catch'](B)['catch'](ut),'addComment':({channelId:_0x2fc092,threadId:_0x2f6142,commentId:_0x195464,content:_0x2ed45e,attributes:_0xd4d47d})=>this['_getService'](_0x2fc092)['addComment'](_0x2f6142,_0x195464,_0x2ed45e,_0xd4d47d)['catch'](ut),'updateComment':({channelId:_0x180b0a,threadId:_0x124615,commentId:_0xbfe516,content:_0x4f9a07,attributes:_0x5f2a0a})=>this['_getService'](_0x180b0a)['updateComment'](_0x124615,_0xbfe516,_0x4f9a07,_0x5f2a0a)['catch'](B)['catch'](ut),'removeComment':({channelId:_0x3638a9,threadId:_0x12d6db,commentId:_0x53a06a})=>this['_getService'](_0x3638a9)['removeComment'](_0x12d6db,_0x53a06a)['catch'](B)['catch'](ut)},_0x874813 instanceof _0x4095d1){const _0x199eac=_0x874813['config']['get']('collaboration.channelId'),_0x22feaf=_0x874813['plugins']['get'](r);await this['_setUpService'](_0x199eac);const _0x40e587=await this['_services']['get'](_0x199eac)['getConnectedSessions']();this['listenTo'](_0x22feaf,'sessionAdd:'+_0x199eac,(_0x7f8670,{session:_0x285977})=>{_0x285977['id']===_0x22feaf['mySessionId']&&(_0x7f8670['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x285977['permissions'],_0x199eac));}),_0x22feaf['register'](_0x199eac,_0x40e587);}}async['_setUpService'](_0x361105){if(this['_services']['has'](_0x361105))throw new _0x33d818('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x361105});const _0x1673ce=this['context']['plugins']['get']('CommentsRepository'),_0x316f41=new a['CommentsService'](_0x361105);this['_services']['set'](_0x361105,_0x316f41),this['listenTo'](_0x316f41,'commentThreadAdded',(_0x862167,_0x5b3269)=>{const {commentThreadId:_0x491b6d,documentId:_0x21fa9a,context:_0x35203f,attributes:_0x59a546,resolvedAt:_0x2ca8b2,resolvedBy:_0x10ded2,comments:_0x30bcac}=_0x5b3269;_0x1673ce['getCommentThread'](_0x491b6d)||_0x1673ce['addCommentThread']({'threadId':_0x491b6d,'channelId':_0x21fa9a,'comments':_0x30bcac?_0x30bcac['map'](S):[],'context':_0x35203f,'attributes':_0x59a546,'resolvedAt':_0x2ca8b2,'resolvedBy':_0x10ded2,'isFromAdapter':!0x0});}),this['listenTo'](_0x316f41,'commentThreadUpdated',(_0x590d76,{commentThreadId:_0x1b0671,documentId:_0x170519,context:_0x4f806f,unlinkedAt:_0x28d7cf,attributes:_0x2e9736})=>{_0x1673ce['getCommentThread'](_0x1b0671)&&_0x1673ce['updateCommentThread']({'threadId':_0x1b0671,'channelId':_0x170519,'context':_0x4f806f,'unlinkedAt':_0x28d7cf,'attributes':_0x2e9736,'isFromAdapter':!0x0});}),this['listenTo'](_0x316f41,'commentThreadResolved',(_0x1a3f1f,{commentThreadId:_0x4733c3,resolvedBy:_0x16ba42,resolvedAt:_0x2b206c})=>{const _0x4884aa=_0x1673ce['getCommentThread'](_0x4733c3);_0x4884aa&&_0x4884aa['resolve']({'resolvedBy':_0x16ba42,'resolvedAt':_0x2b206c,'isFromAdapter':!0x0});}),this['listenTo'](_0x316f41,'commentThreadReopened',(_0x51ce25,{commentThreadId:_0x5328c6})=>{const _0x2c10ac=_0x1673ce['getCommentThread'](_0x5328c6);_0x2c10ac&&_0x2c10ac['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x316f41,'commentThreadRemoved',(_0x7a50d,{commentThreadId:_0x58dec9})=>{const _0x2cbc89=_0x1673ce['getCommentThread'](_0x58dec9);_0x2cbc89&&_0x2cbc89['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x316f41,'commentAdded',(_0x5a48a9,_0x23cf1b)=>{const _0x53b22d=_0x23cf1b['commentThreadId'],_0x427277=_0x1673ce['getCommentThread'](_0x53b22d);_0x427277&&_0x427277['addComment']({...S(_0x23cf1b),'isFromAdapter':!0x0});}),this['listenTo'](_0x316f41,'commentUpdated',(_0xc60a7b,{commentThreadId:_0x1e085c,commentId:_0x164c44,content:_0x510fce,attributes:_0x10e50f})=>{const _0x5c6f46=_0x1673ce['getCommentThread'](_0x1e085c);if(_0x5c6f46){const _0x1a3dc0=_0x5c6f46['getComment'](_0x164c44);_0x1a3dc0&&_0x1a3dc0['update']({'content':_0x510fce,'attributes':_0x10e50f,'isFromAdapter':!0x0});}}),this['listenTo'](_0x316f41,'commentRemoved',(_0x3d02b9,{commentThreadId:_0x61aa41,commentId:_0x1b371f})=>{const _0x57fdb2=_0x1673ce['getCommentThread'](_0x61aa41);if(_0x57fdb2){const _0x5ea8e1=_0x57fdb2['getComment'](_0x1b371f);_0x5ea8e1&&_0x5ea8e1['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x361105);}['destroy'](){if(this['context']instanceof _0x4095d1){const _0x5dc524=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x5dc524);}}['_terminateService'](_0x59c294){if(!this['_services']['has'](_0x59c294))throw new _0x33d818('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x59c294});this['_getService'](_0x59c294)['disconnect'](),this['_services']['delete'](_0x59c294);}async['reconnect'](){for(const _0x3f2f29 of this['_services']['keys']())await this['_connectService'](_0x3f2f29);if(this['context']instanceof _0x4095d1){const _0xcf2789=this['context']['config']['get']('collaboration.channelId'),_0x164a3a=this['context']['plugins']['get'](r);_0x164a3a['unregister'](_0xcf2789);const _0x27df46=await this['_services']['get'](_0xcf2789)['getConnectedSessions']();_0x164a3a['register'](_0xcf2789,_0x27df46);}}async['_connectService'](_0x402157){const {connection:_0x403343}=this['context']['plugins']['get'](c),_0xe2c927=this['context']['plugins']['get']('CommentsRepository'),_0x3ae176=this['_services']['get'](_0x402157),_0x16893e=await _0x3ae176['connect'](_0x403343);await this['_fetchMissingUsersForThreads'](_0x16893e);const _0xad6e5f=new Set(Array['from'](_0xe2c927['getCommentThreads']({'channelId':_0x402157}),_0x1a58d4=>_0x1a58d4['id']));for(const _0x4968e5 of _0x16893e)_0x4968e5['deletedAt']||_0xad6e5f['delete'](_0x4968e5['commentThreadId']);for(const _0x3fda1b of _0xad6e5f)_0xe2c927['getCommentThread'](_0x3fda1b)['remove']({'isFromAdapter':!0x0});for(const _0x196749 of _0x16893e){let _0x207156=_0xe2c927['getCommentThread'](_0x196749['commentThreadId']);const {commentThreadId:_0x3e71af,context:_0x279e8d,attributes:_0x3575e7,resolvedBy:_0x27f5a6,resolvedAt:_0x3d2067,unlinkedAt:_0x2bf5bd,deletedAt:_0x49bff2}=_0x196749;if(_0x49bff2)continue;_0x207156||(_0x207156=_0xe2c927['addCommentThread']({'channelId':_0x402157,'threadId':_0x3e71af,'context':_0x279e8d,'attributes':_0x3575e7||{},'resolvedBy':_0x27f5a6,'resolvedAt':_0x3d2067,'unlinkedAt':_0x2bf5bd,'isFromAdapter':!0x0}));const _0x1cc8d3=new Set(Array['from'](_0x207156['comments'],_0x3c6545=>_0x3c6545['id']));for(const _0x405472 of _0x196749['comments'])_0x1cc8d3['delete'](_0x405472['commentId']);for(const _0x231252 of _0x1cc8d3)_0x207156['getComment'](_0x231252)['remove']({'isFromAdapter':!0x0});for(const _0x4b3f03 of _0x196749['comments']){const _0x538107=_0x207156['getComment'](_0x4b3f03['commentId']);_0x538107?_0x538107['content']!==_0x4b3f03['content']&&_0x538107['update']({'content':_0x4b3f03['content'],'isFromAdapter':!0x0}):_0x207156['addComment'](Object['assign'](S(_0x4b3f03),{'isFromAdapter':!0x0}));}}}['_getService'](_0x273dfe){if(!this['_services']['has'](_0x273dfe))throw new _0x33d818('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x273dfe});return this['_services']['get'](_0x273dfe);}async['_fetchMissingUsersForThreads'](_0x2bc53e){const _0x16ae52=this['context']['plugins']['get'](_0x3006d7),{connection:_0x2f9f6a}=this['context']['plugins']['get'](c),_0x502ce8=new Set();for(const {resolvedBy:_0x144f0a,comments:_0x4c0562}of _0x2bc53e){_0x144f0a&&!_0x16ae52['getUser'](_0x144f0a)&&_0x502ce8['add'](_0x144f0a);for(const {userId:_0x4feeeb}of _0x4c0562)_0x16ae52['getUser'](_0x4feeeb)||_0x502ce8['add'](_0x4feeeb);}if(0x0===_0x502ce8['size'])return;const _0x3d29ec=await lt['getMany'](_0x2f9f6a,Array['from'](_0x502ce8));for(const _0x3db18f of _0x3d29ec)_0x16ae52['getUser'](_0x3db18f['id'])||_0x16ae52['addUser'](_0x3db18f);}}async function B(_0x24bc1d){if('404'!==_0x24bc1d['code'])throw _0x24bc1d;}function ut(_0x8f598e){if((_0x3c59f8=_0x8f598e)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3c59f8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3c59f8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3c59f8;throw _0x8f598e;}function S(_0x333970){return{'threadId':_0x333970['commentThreadId'],'commentId':_0x333970['commentId'],'content':_0x333970['content'],'createdAt':_0x333970['createdAt'],'authorId':_0x333970['userId'],'attributes':_0x333970['attributes']||{}};}class g extends _0x399b4e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',r,_0x3006d7];}constructor(_0x41a24e){super(_0x41a24e);const _0x5f8b76=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new v['RevisionHistoryService'](_0x5f8b76);}async['init'](){const _0x211cc4=this['editor']['plugins']['get'](l),_0x3a60ca=_0x211cc4['serverHistory'],_0x4eec15=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x3a60ca,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x211cc4['sessionId']});const _0xcfa064=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x31f5c2=await tt['isBundleUploaded'](_0x4eec15['connection'],_0xcfa064);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0xfe6c78})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xfe6c78)),'updateRevisions':async _0x53963a=>{await this['_waitForServiceReady']();const _0x199b5a=this['_revisionTracker']['currentRevision'];if(_0x31f5c2&&0x1===_0x53963a['length']&&_0x53963a[0x0]['id']===_0x199b5a['id'])return _0x53963a;for(const _0x2360fb of _0x53963a)_0x2360fb['id']===_0x199b5a['id']&&(_0x2360fb['isEmptyCurrent']=_0x2360fb['fromVersion']===_0x2360fb['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x53963a,this['_lastRequestId'])['then'](_0x13dd35=>(this['_lastRequestId']=_0x13dd35,_0x53963a))['catch'](_0x488b84=>{if(st(_0x488b84)||'400'===_0x488b84['code']&&void 0x0!==_0x488b84['data']['wrongRequestId']){for(const _0x55abf5 of _0x53963a){!this['_revisionTracker']['repository']['getRevision'](_0x55abf5['id'])||this['_revisionTracker']['_bufferUpdate'](_0x55abf5['id'],_0x55abf5,!0x1);}if(st(_0x488b84))throw _0x488b84;return _0x53963a;}throw _0x488b84;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x5a7060,{revisionsData:_0xac3f8b,requestId:_0x34e7f2})=>{Math['max'](..._0xac3f8b['map'](_0x2a0b64=>_0x2a0b64['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xac3f8b,_0x34e7f2);}):this['_handleRevisionsUpdate'](_0xac3f8b,_0x34e7f2);});const {revisions:_0x373d2d,requestId:_0x1a58c8}=await this['_revisionHistoryService']['connect'](_0x4eec15['connection']);_0x4eec15['addToReconnectionStack'](this),this['_lastRequestId']=_0x1a58c8,await this['_fetchMissingUsers'](_0x373d2d);for(const _0x2f8894 of _0x373d2d)this['_revisionTracker']['addRevisionData'](_0x2f8894);this['listenTo'](_0x211cc4,'change:_isConnected',(_0x3c3783,_0x5d57a9,_0x3dd93a)=>{_0x3dd93a&&(this['_oldOffset']=_0x211cc4['_offset'],_0x3c3783['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4eec15,'state',_0x1f41e2=>_0x1f41e2===_0x297bec['CONNECTED']);}async['reconnect'](){const _0x31be8b=this['editor']['plugins']['get'](c),_0x35e048=this['editor']['plugins']['get'](l),_0x380250=async()=>{const _0x20c250=this['_revisionTracker']['currentRevision'],_0xb8da99=_0x20c250['id'],_0x28be51=_0xb8da99!==_0x35e048['sessionId'];if(_0x28be51){const _0x3fab01=_0x35e048['_offset']-this['_oldOffset'],_0x1b1b41=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x20c250['toVersion']+_0x3fab01!==_0x1b1b41){const _0x3f0963=_0x20c250['fromVersion']+_0x3fab01,_0x2ba417=this['editor']['plugins']['get'](_0x3006d7),_0x1927c6=this['_revisionTracker']['buildRevisionData']({'revision':_0x20c250,'from':_0x3f0963,'to':_0x1b1b41});_0x1927c6['id']=_0x20c250['id'];const _0x290f24=_0x1927c6['authorsIds']['map'](_0x247348=>_0x2ba417['getUser'](_0x247348));_0x20c250['_update']({..._0x1927c6,'authors':_0x290f24},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x20c250['id'],_0x1927c6,!0x0);}this['_revisionTracker']['_startingVersion']=_0x1b1b41,(_0x20c250['toVersion']===_0x20c250['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xb8da99)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xb8da99),this['_revisionTracker']['_createCurrentRevision'](_0x1b1b41));}const {revisions:_0x311a92,requestId:_0x3b7de0}=await this['_revisionHistoryService']['reconnect'](_0x31be8b['connection'],this['_lastRequestId']);_0x28be51&&_0x311a92['length']>0x0?_0x35e048['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x311a92),this['_handleRevisionsUpdate'](_0x311a92,_0x3b7de0),this['_revisionTracker']['sendBufferedUpdates']());};return _0x35e048['_isConnected']?_0x380250():new Promise((_0x205995,_0x27c74a)=>{_0x35e048['once']('change:_isConnected',()=>{_0x380250()['then'](_0x205995)['catch'](_0x27c74a);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xfcfce1=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x12afbc=>{_0x12afbc['off'](),_0xfcfce1();});});}['_getLatestVersionFromServerOperations'](){const _0x50a20c=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0xf110b9 of _0x50a20c)if('marker'!==_0xf110b9['type']||_0xf110b9['affectsData'])return _0xf110b9['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1f49c5=this['editor']['plugins']['get'](l);return new Promise(_0x2e12b2=>{_0x1f49c5['_isPendingUpdate']?_0x1f49c5['once']('change:_isPendingUpdate',()=>{_0x2e12b2(this['_getLatestVersionFromServerOperations']());}):_0x2e12b2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1813a9,_0x2eb632){const _0x1447d8=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2eb632;for(const _0x3d0dc1 of _0x1813a9){const _0xd4e596=_0x1447d8['getRevision'](_0x3d0dc1['id']);if(_0xd4e596){if((_0x3d0dc1['fromVersion']||_0x3d0dc1['toVersion'])&&(_0x3d0dc1['diffData']=null),_0xd4e596===this['_revisionTracker']['currentRevision']){const _0x411213=Math['max'](_0xd4e596['toVersion'],_0x3d0dc1['toVersion']),_0x56390e=Math['max'](_0xd4e596['fromVersion'],_0x3d0dc1['fromVersion']);let _0x465887;_0xd4e596['toVersion']===_0x3d0dc1['toVersion']&&_0xd4e596['fromVersion']===_0x3d0dc1['fromVersion']?(_0x465887=!0x0,this['_preventResendingRevisionData'](_0x3d0dc1)):_0x3d0dc1['toVersion']===_0x411213&&_0x3d0dc1['fromVersion']===_0x56390e?_0x465887=!0x1:(_0xd4e596['toVersion']===_0x411213&&_0xd4e596['fromVersion']===_0x56390e||this['_fixRevision']({'revision':_0xd4e596,'from':_0x56390e,'to':_0x411213}),_0x465887=!0x0),_0x465887&&(delete _0x3d0dc1['fromVersion'],delete _0x3d0dc1['toVersion'],delete _0x3d0dc1['diffData'],delete _0x3d0dc1['createdAt'],delete _0x3d0dc1['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3d0dc1),this['_preventResendingRevisionData'](_0x3d0dc1);}else this['_revisionTracker']['addRevisionData'](_0x3d0dc1);}const _0x29e88e=_0x1447d8['getRevisions']();_0x29e88e['reverse']();for(let _0x37d23b=0x0;_0x37d23b<_0x29e88e['length']-0x1;_0x37d23b++){const _0x8f6966=_0x29e88e[_0x37d23b],_0x412bbf=_0x29e88e[_0x37d23b+0x1];if(_0x8f6966['fromVersion']<_0x412bbf['toVersion']){const _0x4d9957=_0x412bbf['toVersion'],_0x22e419=Math['max'](_0x4d9957,_0x8f6966['toVersion']);this['_fixRevision']({'revision':_0x8f6966,'from':_0x4d9957,'to':_0x22e419});}}}['_fixRevision']({revision:_0x4e8a74,from:_0x1a97be,to:_0x570cb4}={}){const _0x1dbd6a=this['editor']['plugins']['get'](_0x3006d7),_0x40fbd7=this['_revisionTracker']['buildRevisionData']({'revision':_0x4e8a74,'from':_0x1a97be,'to':_0x570cb4});_0x40fbd7['authors']=_0x40fbd7['authorsIds']['map'](_0x367a11=>_0x1dbd6a['getUser'](_0x367a11)),_0x4e8a74['_update'](_0x40fbd7);}['_preventResendingRevisionData'](_0x6cea0e){const _0x463e9a={};_0x463e9a['id']=_0x6cea0e['id'];for(const _0x453f99 of Object['keys'](_0x6cea0e))'id'!==_0x453f99&&(_0x463e9a[_0x453f99]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x463e9a['id'],_0x463e9a,!0x0);}async['_fetchMissingUsers'](_0x1f81a1){const _0x320428=this['editor']['plugins']['get'](_0x3006d7),{connection:_0x107446}=this['editor']['plugins']['get'](c),_0x557cff=new Set();for(const _0x28c2fa of _0x1f81a1){for(const _0x1ab480 of _0x28c2fa['authorsIds'])_0x2dc5ca(_0x1ab480);_0x28c2fa['creatorId']&&_0x2dc5ca(_0x28c2fa['creatorId']);}if(0x0===_0x557cff['size'])return;const _0x215ce1=await lt['getMany'](_0x107446,Array['from'](_0x557cff));for(const _0x580ef6 of _0x215ce1)_0x320428['getUser'](_0x580ef6['id'])||_0x320428['addUser'](_0x580ef6);function _0x2dc5ca(_0x4f5ea8){_0x320428['getUser'](_0x4f5ea8)||_0x557cff['add'](_0x4f5ea8);}}}function st(_0x21aeae){return _0x21aeae['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x21aeae['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x21aeae['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class d extends _0x399b4e{static get['requires'](){return['RevisionHistory',v,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}}class ts extends _0x2bd5ae{constructor(_0x46a405){super(_0x46a405);const _0x3cd77d=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x3cd77d['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x3cd77d['to']('usersCount',_0x27c319=>q(_0x46a405,'CONNECTED_USERS',_0x27c319))}]});}}class es extends _0x2bd5ae{['items'];['keystrokes'];constructor(_0x1055e8){super(_0x1055e8);const _0x44e8b6=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x160ad3(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x44e8b6['if']('hasPopup'),'aria-expanded':_0x44e8b6['to']('isExpanded',_0x213a38=>this['hasPopup']&&String(_0x213a38)),'aria-label':_0x44e8b6['to']('hasPopup',_0x3e8ed4=>q(_0x1055e8,_0x3e8ed4?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x44e8b6['to']('hasPopup',_0x3d1fd0=>!!_0x3d1fd0&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x44e8b6['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x1510e3,_0x3a7b9c,_0x4540e2)=>{this['element']&&(_0x4540e2?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 _0x2bd5ae{['counterView'];['inlineListView'];constructor(_0x578ff2){super(_0x578ff2);const _0x13920b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x578ff2),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2f115b of this['inlineListView']['items'])_0x2f115b['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',_0x13920b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x2bd5ae{['listWrapperView'];constructor(_0xaa7408,_0x49641b){super(_0xaa7408),this['listWrapperView']=new mt(_0xaa7408,_0x49641b),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0xaa7408,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class mt extends _0x28698d{constructor(_0xe12d90,_0x41b410){super(_0xe12d90);const _0x3c24f5=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x41b410?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3c24f5['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3c24f5['to']('role'),'aria-label':_0x3c24f5['to']('ariaLabel'),'aria-labelledby':_0x3c24f5['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4b223b['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4bbac0=this['element'];_0x4bbac0&&(this['_isScrollable']=Math['max'](_0x4bbac0['scrollHeight'],_0x4bbac0['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0x217a9c,_0x26e748,_0x336a50){super(_0x217a9c);const _0x15cd67=this['bindTemplate'];this['userView']=new ct(_0x217a9c,_0x26e748);const _0x538465={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x26e748['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x26e748['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x26e748['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x336a50&&(_0x538465['tag']='button',_0x538465['on']={'click':_0x15cd67['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x538465);}['focus'](){this['element']['focus']();}}class y extends _0x2bd5ae{['userView'];['markerView'];constructor(_0x1f1b71,_0x1b7553,_0x17c120){super(_0x1f1b71);const _0x35e94e=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x1f1b71,_0x1b7553),this['markerView']=new at(_0x1f1b71,_0x1b7553);const _0x374dff=new ot(_0x1f1b71);_0x374dff['template']['tag']='span',_0x374dff['text']=_0x1b7553['name'];const _0x152dbb={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x35e94e['to']('isFocusable',_0x45fbca=>!!_0x45fbca&&0x0),'aria-labelledby':_0x374dff['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x35e94e['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x35e94e['to']('hasTooltip',_0x212fe6=>!_0x212fe6),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x374dff]};_0x17c120&&(_0x152dbb['tag']='button',_0x152dbb['on']={'click':_0x35e94e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x152dbb);}}class at extends _0x2bd5ae{constructor(_0x4262ec,_0x3ec93e){super(_0x4262ec),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3ec93e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class s extends _0x4094f3{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x583196){super(_0x583196),this['context']['config']['define']('presenceList',A);const _0x1a32a7=_0x583196['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1a32a7)throw new _0x33d818('presencelist-collapseat-invalid-format',this);if(_0x1a32a7<0x1)throw new _0x33d818('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](r)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xd9e3ba(),this['balloonPanelView']=new _0x780661(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[r];}['init'](){for(const _0x532041 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x532041);this['listenTo'](this['_allConnectedUsers'],'add',(_0x165a22,_0x58cb8e)=>{this['_handleUserAdd'](_0x58cb8e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5442f0,_0x2c9835)=>{this['_handleUserRemove'](_0x2c9835);});}['_createView'](){const _0x20082e=this['context'],_0x28f255=new L(this['context']['locale']),_0x2aa48e=this['balloonPanelView'];if(!_0x56cf79(_0x20082e['config']['get']('presenceList.container')))throw new _0x33d818('presencelist-missing-container',this);return _0x28f255['counterView']['bind']('usersCount')['to'](this),_0x28f255['bind']('isCollapsed')['to'](this,'usersCount',_0x3e6ef6=>{const {collapseAt:_0x5dca8d,displayMe:_0x3a95d3}=_0x20082e['config']['get']('presenceList'),_0x421544=_0x3e6ef6>=_0x5dca8d;return _0x28f255['counterView']['isHidden']=!(0x1==_0x3e6ef6&&_0x3a95d3||_0x421544),_0x421544||this['hideDropdown'](),_0x421544;}),_0x28f255['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x531a29=>{const _0x5447e4=_0x20082e['config']['get']('presenceList'),_0x20b8bf=new y(_0x20082e['locale'],_0x531a29,!!_0x5447e4['onClick']);return _0x20b8bf['bind']('hasTooltip')['to'](_0x28f255,'isCollapsed',_0x38f75b=>!_0x38f75b),_0x20b8bf['bind']('isFocusable')['to'](_0x28f255,'isCollapsed',_0x220b86=>!_0x220b86),_0x5447e4['onClick']&&this['listenTo'](_0x20b8bf,'execute',()=>{this['view']['isCollapsed']||_0x5447e4['onClick'](_0x531a29,_0x20b8bf['element']);}),_0x20b8bf;}),this['listenTo'](_0x28f255['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x28f255['inlineListView']['keystrokes']['set']('Enter',(_0x2a0a49,_0x5488d7)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5488d7());}),_0x28f255['render'](),_0x2aa48e['render'](),_0x1fb300({'emitter':_0x28f255,'activator':()=>_0x2aa48e['isVisible'],'contextElements':[_0x2aa48e['element'],_0x28f255['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x20082e['config']['get']('presenceList.container')['appendChild'](_0x28f255['element']),this['_bodyCollection']=new _0x4c3f79(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x28f255;}['_handleUserAdd'](_0x5055f7){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x5055f7['isMe'])return;const _0x4b8458=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x4b8458&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0xd3d37e=_0x5055f7['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x5055f7,_0xd3d37e);}['_handleUserRemove'](_0x26a307){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x26a307['id'])&&(this['currentDisplayedUsers']['remove'](_0x26a307['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x143079 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x143079['id']))return void this['currentDisplayedUsers']['add'](_0x143079,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x18b4df=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x18b4df['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x172dbb}=this['presenceDropdownView'];_0x172dbb['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xc2a9bd=>{if(!_0x18b4df['displayMe']&&_0xc2a9bd['isMe'])return null;const _0x505623=new k(this['context']['locale'],_0xc2a9bd,!!_0x18b4df['onClick']);return _0x18b4df['onClick']&&this['listenTo'](_0x505623,'execute',()=>{_0x18b4df['onClick'](_0xc2a9bd,_0x505623['element']);}),_0x505623;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x172dbb['focus'](),_0x172dbb['checkIfScrollable']();const _0xe316af=(_0x4c8a1c,_0x25ce8f)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x25ce8f();};_0x172dbb['keystrokes']['set']('Esc',_0xe316af),_0x172dbb['keystrokes']['set']('Shift+Tab',_0xe316af),_0x172dbb['keystrokes']['set']('Tab',(_0x4bfb18,_0x4eb532)=>{!function(_0x2ae9a5){const _0x13e13d=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x528c44=>_0x528c44+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x3867ed=[...document['body']['querySelectorAll'](_0x13e13d)]['filter'](_0x16e50b=>_0x16e50b===document['activeElement']||_0x16e50b['offsetWidth']+_0x16e50b['offsetHeight']>0x0)['sort']((_0x1223ac,_0x5e0a1e)=>(_0x1223ac['tabIndex']||0x0)-(_0x5e0a1e['tabIndex']||0x0)),_0xaad997=_0x3867ed['indexOf'](_0x2ae9a5),_0x28193e=_0x3867ed[(_0xaad997+0x1)%_0x3867ed['length']];_0x28193e&&_0x28193e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4eb532();}),_0x172dbb['focusTracker']['add'](this['view']['element']),_0x172dbb['focusTracker']['on']('change:isFocused',(_0x4c3019,_0x49a93a,_0x53191b)=>{_0x53191b||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 _0x4094f3{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 _0x4da67b,Plugin as _0x447feb,PendingActions as _0x3a8740,Context as _0x58c730}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x469dda,CKEditorError as _0x32a172,Collection as _0x3d8231,global as _0x5c2f10,version as nt,uid as _0x2efd84,KeystrokeHandler as _0x289003}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x5c50b4,View as _0x492637,ListView as _0x29505a,ListItemView as et,LabelView as ot,BalloonPanelView as _0x34ab26,clickOutsideHandler as _0xe2b371,BodyCollection as _0x56bcda}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as at,History as _0x227ed0,NoOperation as _0x11f525,InsertOperation as _0x1017dd,MarkerOperation as _0x5cb22a,RootAttributeOperation as _0x49bfd9,transformSets as _0xa91ba8,OperationFactory as _0x319f1b}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as _0x21eb19,CollaborativeEditingService as _0x39a984,User as dt,CommentsService as _0x4b45f5,TrackChangesService as st,RevisionHistoryService as _0x42f4d4,EditorService as _0x57fffd}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x333c9d,UserView as rt}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x14d01b}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x43594e}from'lodash-es';class c extends _0x4da67b{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x5c50b4];}static get['pluginName'](){return'WebSocketGateway';}constructor(_0x474f8c){super(_0x474f8c),this['set']('state',_0x21eb19['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x469dda);}['init'](){const _0x5e86a9=this['context'],_0x358710=_0x5e86a9['plugins']['get']('CloudServices'),_0x442bf0=_0x5e86a9['plugins']['get'](_0x5c50b4);if(!_0x358710['token'])throw new _0x32a172('websocketgateway-missing-token',this);if(!_0x358710['webSocketUrl'])throw new _0x32a172('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'](_0x358710['token'],_0x358710['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x18d49b=>{if(this['connection']=_0x18d49b,this['bind']('state')['to'](_0x18d49b,'state',this,'_isBrowserOffline',(_0x3d4f0f,_0x4638b7)=>('connected'!==_0x3d4f0f&&(this['_shouldPluginsReconnect']=!0x0),_0x4638b7||_0x3d4f0f!==_0x21eb19['CONNECTED']?_0x21eb19['DISCONNECTED']:this['state']==_0x21eb19['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x21eb19['CONNECTING']):_0x21eb19['CONNECTED'])),this['connection']['on']('error',(_0x246bc3,_0x1b2670)=>{if('limitExceeded'!==_0x1b2670['code'])throw console['error'](_0x1b2670),new _0x32a172('cloudservices-init',null,{'originalError':_0x1b2670});_0x442bf0['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'});}),!_0x18d49b['me'])return new Promise(_0x53ad44=>_0x18d49b['on']('change:me',_0x53ad44));})['catch'](_0x2d3663=>{throw console['error'](_0x2d3663),new _0x32a172('cloudservices-init',null,{'originalError':_0x2d3663});});}['addToReconnectionStack'](_0x1bf656){if('function'!=typeof _0x1bf656['reconnect'])throw new _0x32a172('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1bf656))throw new _0x32a172('websocketgateway-plugin-already-registered',this,{'name':_0x1bf656['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1bf656);}['removeFromReconnectionStack'](_0x27ba5c){this['_reconnectionStack']['delete'](_0x27ba5c);}['isInReconnectionStack'](_0x236807){return this['_reconnectionStack']['has'](_0x236807);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x42693e=>_0x42693e['reconnect']())))['then'](()=>this['state']=_0x21eb19['CONNECTED'])['catch'](_0x4539a8=>{throw console['error'](_0x4539a8),new _0x32a172('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x21eb19['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class r extends _0x4da67b{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['requires'](){return[c,_0x333c9d];}constructor(_0x1f4ef6){super(_0x1f4ef6),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3d8231(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x333c9d);}['init'](){const _0x137cb5=this['context']['plugins']['get'](c);this['listenTo'](_0x137cb5,'change:state',(_0x9128bd,_0xb5442a,_0x3859ce)=>{if('connected'!==_0x3859ce)this['channelSessions']['forEach'](_0x1ca435=>_0x1ca435['clear']()),this['channelConnectedUsers']['forEach'](_0x45edf2=>_0x45edf2['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2415cc,_0x397cb6]of this['_registeredSessions'])for(const _0x5d017a of _0x397cb6)this['_handleSessionAdd'](_0x2415cc,_0x5d017a);}}),this['_createUser'](_0x137cb5['connection']['me'],!0x0);}['register'](_0x549c10,_0x1c3c4b){if(this['_registeredSessions']['has'](_0x549c10))throw new _0x32a172('sessions-register-already-registered',null,{'channelId':_0x549c10});this['_registeredSessions']['set'](_0x549c10,_0x1c3c4b),this['channelSessions']['set'](_0x549c10,new _0x3d8231()),this['channelConnectedUsers']['set'](_0x549c10,new _0x3d8231()),this['listenTo'](_0x1c3c4b,'add',(_0x4aee5b,_0x4d333e)=>this['_handleSessionAdd'](_0x549c10,_0x4d333e)),this['listenTo'](_0x1c3c4b,'remove',(_0x10ddaa,_0x5b50a7)=>this['_handleSessionRemove'](_0x549c10,_0x5b50a7));for(const _0x186efc of _0x1c3c4b)this['_handleSessionAdd'](_0x549c10,_0x186efc);}['unregister'](_0x5c66fd){if(!this['_registeredSessions']['has'](_0x5c66fd))throw new _0x32a172('sessions-unregister-not-exist',null,{'channelId':_0x5c66fd});const _0xbed3c6=this['_registeredSessions']['get'](_0x5c66fd);this['stopListening'](_0xbed3c6);for(const _0x4429b9 of _0xbed3c6)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x5c66fd,_0x4429b9);this['_registeredSessions']['delete'](_0x5c66fd),this['channelSessions']['delete'](_0x5c66fd),this['channelConnectedUsers']['delete'](_0x5c66fd);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x17ea34){for(const _0x13aa20 of this['channelSessions']['values']())for(const _0x1a3585 of _0x13aa20)if(_0x1a3585['id']===_0x17ea34)return _0x1a3585['user'];}['getUserSessions'](_0x2b57c7,_0x29feda){const _0x304de3=_0x29feda?[this['channelSessions']['get'](_0x29feda)]:this['channelSessions']['values'](),_0x1b8cde=new Set();for(const _0x4b1ce1 of _0x304de3)for(const _0x3aea20 of _0x4b1ce1)_0x3aea20['user']['id']===_0x2b57c7['id']&&_0x1b8cde['add'](_0x3aea20['id']);return _0x1b8cde;}['getUserRole'](_0x119318){for(const _0x4880d7 of this['channelSessions']['values']())for(const _0x302fb7 of _0x4880d7)if(_0x302fb7['user']===_0x119318)return _0x302fb7['role'];}['_handleSessionAdd'](_0x3eb90a,_0x59b424){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x16137e=_0x59b424['user'],_0x1a4d2a=this['_users']['getUser'](_0x16137e['id'])||this['_createUser'](_0x16137e),_0x4ea138=Object['assign']({},_0x59b424,{'user':_0x1a4d2a});this['channelSessions']['get'](_0x3eb90a)['add'](_0x4ea138);const _0x242dc5=this['channelConnectedUsers']['get'](_0x3eb90a);_0x242dc5['has'](_0x1a4d2a['id'])||_0x242dc5['add'](_0x1a4d2a),this['allConnectedUsers']['has'](_0x1a4d2a['id'])||this['allConnectedUsers']['add'](_0x1a4d2a,_0x1a4d2a['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x3eb90a,{'channelId':_0x3eb90a,'session':_0x4ea138});}['_handleSessionRemove'](_0x141d88,_0x4c013f){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0xf66d96=this['channelConnectedUsers']['get'](_0x141d88),_0x3e00b0=_0x4c013f['user'];_0x3e00b0['id']&&(this['channelSessions']['get'](_0x141d88)['remove'](_0x4c013f['id']),_0xf66d96['has'](_0x3e00b0['id'])&&!this['getUserSessions'](_0x3e00b0,_0x141d88)['size']&&_0xf66d96['remove'](_0x3e00b0['id']),this['allConnectedUsers']['get'](_0x3e00b0['id'])&&!this['getUserSessions'](_0x3e00b0)['size']&&this['allConnectedUsers']['remove'](_0x3e00b0['id']));}['_createUser'](_0x3fa143,_0x2adfe2){const _0x23e0fd=this['_users']['addUser'](_0x3fa143);return _0x2adfe2&&this['_users']['defineMe'](_0x3fa143['id']),_0x23e0fd['orderNumber']=this['_uniqueUsersCount']++,_0x23e0fd;}}class K extends _0x447feb{['_domEmitter']=new(_0x469dda())();static get['requires'](){return[r];}static get['pluginName'](){return'UserMarkers';}['init'](){const _0x4d7263=this['editor'],_0x557c7a=_0x4d7263['plugins']['get'](r);_0x4d7263['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x22fb2c,{writer:_0x27abe3})=>function(_0x447a7b,_0x4f7603,_0xe3d299,_0x59e33b){const _0x523e30=_0x447a7b['markerName']['split'](':')[0x2],_0x246069=_0xe3d299['getUserBySessionId'](_0x523e30);if(!_0x246069||_0x523e30===_0xe3d299['mySessionId'])return;if(!_0x59e33b['model']['schema']['checkChild'](_0x447a7b['markerRange']['start'],'$text'))return;const _0x2ea1f9={'class':'ck-user__marker\x20'+_0x246069['color']['getMarkerClass'](),'data-name':_0x246069['name'],'data-session-id':_0x523e30},_0x3efb5f=_0x59e33b['model']['markers']['get'](_0x447a7b['markerName']),_0x219cf8=_0x3efb5f['getStart'](),_0x441f8=_0x219cf8['nodeAfter'],_0xec13d2=_0x59e33b['model']['schema'];if(_0x441f8&&_0xec13d2['isObject'](_0x441f8)&&_0xec13d2['isInline'](_0x441f8)&&!_0x59e33b['model']['markers']['get']('user:range:'+_0x523e30)['getRange']()['isCollapsed'])return;const _0xea1802=_0x219cf8['parent'];return _0x59e33b['model']['schema']['isLimit'](_0xea1802)&&!_0x59e33b['model']['hasContent'](_0xea1802)&&(_0x2ea1f9['contenteditable']=!0x1),function(_0x3efdb8,_0x2c114e,_0x190ab5){const _0x45acec=_0x3efdb8['createUIElement']('span',_0x2c114e);return _0x3efdb8['setCustomProperty']('userPositionMarker',!0x0,_0x45acec),_0x45acec['render']=function(_0x29e1d3){const _0x5e49dc=this['toDomElement'](_0x29e1d3);return _0x5e49dc['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>'+_0x190ab5['name']+'</span>',_0x5e49dc['addEventListener']('mouseenter',()=>{_0x5e49dc['classList']['add']('ck-user__marker_hovered');}),_0x5e49dc['addEventListener']('mouseleave',()=>{_0x5e49dc['classList']['remove']('ck-user__marker_hovered');}),_0x5e49dc;},_0x45acec['isSimilar']=function(_0x58b9f8){return!(!this['getCustomProperty']('userPositionMarker')||!_0x58b9f8['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x58b9f8['getAttribute']('data-session-id'));},_0x45acec;}(_0x4f7603,_0x2ea1f9,_0x246069);}(_0x22fb2c,_0x27abe3,_0x557c7a,_0x4d7263)}),_0x4d7263['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x14a6a6=>function(_0x2caf75,_0x34f662){const _0x45495c=_0x2caf75['markerName']['split'](':')[0x2];if(_0x45495c===_0x34f662['mySessionId'])return null;const _0x32a13b=_0x34f662['getUserBySessionId'](_0x45495c);if(!_0x32a13b)return{'id':_0x45495c,'classes':[]};return{'id':_0x45495c,'classes':['ck-user__selection',_0x32a13b['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x45495c},'priority':0x7d0+_0x32a13b['orderNumber']};}(_0x14a6a6,_0x557c7a)}),function(_0x3a7f0f){const _0x3a2465=_0x3a7f0f['model'],_0x4176dc=new Map(),_0x3c5728=_0x3a7f0f['plugins']['get'](r);_0x3a2465['markers']['on']('update:user:range',(_0x265842,_0x1fc704,_0x1835f8,_0x25c48d)=>{if(!_0x25c48d&&_0x4176dc['get'](_0x1fc704['name']))return _0x4176dc['get'](_0x1fc704['name'])['detach'](),void _0x4176dc['delete'](_0x1fc704['name']);const _0x244289=_0x1fc704['name']['split'](':')[0x2];if(_0x244289===_0x3c5728['mySessionId'])return;const _0x33106f='user:position:'+_0x244289;_0x3a2465['markers']['has'](_0x33106f)&&_0x3a7f0f['editing']['reconvertMarker'](_0x33106f),_0x1fc704['on']('change:range',(_0x294715,_0xa5b21b,_0x5aa965)=>{if('$graveyard'!=_0xa5b21b['root']['rootName']&&'$graveyard'==_0x1fc704['getRange']()['root']['rootName']&&!_0x4176dc['has'](_0x1fc704['name'])){const _0x33e2de=_0x3a2465['schema']['getNearestSelectionRange'](_0x5aa965['deletionPosition']);if(_0x33e2de){const _0x1c867b=at['fromRange'](_0x33e2de);_0x4176dc['set'](_0x1fc704['name'],_0x1c867b),_0x1c867b['on']('change:range',(_0x6b3ebb,_0x1c457b,_0x4ca70f)=>{if('$graveyard'==_0x1c867b['root']['rootName']){const _0x443a9a=_0x3a2465['schema']['getNearestSelectionRange'](_0x4ca70f['deletionPosition']);_0x443a9a?(_0x1c867b['start']=_0x443a9a['start'],_0x1c867b['end']=_0x443a9a['end']):(_0x4176dc['delete'](_0x1fc704['name']),_0x1c867b['detach']());}});}}});}),_0x3a2465['document']['on']('change',()=>{_0x4176dc['size']>0x0&&_0x3a2465['enqueueChange']({'isUndoable':!0x1},_0x3eeaad=>{for(const [_0x2179d7,_0x148649]of _0x4176dc)'$graveyard'==_0x3a2465['markers']['get'](_0x2179d7)['getRange']()['root']['rootName']&&(te(_0x2179d7['split'](':')[0x2],_0x148649['toRange'](),_0x3a2465,_0x3eeaad),_0x148649['detach']());_0x4176dc['clear']();});});}(_0x4d7263),this['_domEmitter']['listenTo'](_0x5c2f10['document'],'keydown',(_0x1d54c4,{key:_0x7c6920})=>{'Escape'===_0x7c6920&&function(_0x546672){_0x546672['editing']['view']['change'](_0x2d948a=>{for(const _0x27eb42 of _0x546672['model']['markers']){if(!_0x27eb42['name']['startsWith']('user:position'))continue;const _0x22f8ce=_0x546672['editing']['mapper']['markerNameToElements'](_0x27eb42['name']);if(_0x22f8ce){for(const _0x287cad of _0x22f8ce)_0x2d948a['removeClass']('ck-user__marker_hovered',_0x287cad);}}});}(_0x4d7263);},{'useCapture':!0x0});}['afterInit'](){const _0x5c0841=this['editor'],_0x9611d1=_0x5c0841['commands']['get']('undo');_0x9611d1&&_0x5c0841['model']['on']('applyOperation',(_0x416732,_0x54a376)=>{const _0x2c7eea=_0x54a376[0x0];if('marker'!=_0x2c7eea['type']||!_0x2c7eea['name']['startsWith']('user:'))return;const _0x31dcff=_0x2c7eea['batch'];_0x9611d1['_createdBatches']['has'](_0x31dcff)&&(_0x2c7eea['newRange']=_0x2c7eea['oldRange']?_0x5c0841['model']['createRange'](_0x2c7eea['oldRange']['start'],_0x2c7eea['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x41862f=this['editor'],_0x2eee70=_0x41862f['model']['document'],_0x3b38fc=_0x41862f['plugins']['get'](r);_0x41862f['model']['enqueueChange']({'isUndoable':!0x1},_0x10324e=>{const _0x129a3a='user:range:'+_0x3b38fc['mySessionId'],_0x27e7e2='user:position:'+_0x3b38fc['mySessionId'],_0x42cb85=_0x41862f['model']['markers']['has'](_0x129a3a);_0x41862f['editing']['view']['hasDomSelection']?te(_0x3b38fc['mySessionId'],_0x2eee70['selection']['getFirstRange'](),_0x41862f['model'],_0x10324e):_0x42cb85&&(_0x10324e['removeMarker'](_0x129a3a),_0x10324e['removeMarker'](_0x27e7e2));});}}function te(_0x53b8fa,_0x3a0d02,_0x2f4145,_0x3ae79f){const _0x412e5c='user:range:'+_0x53b8fa,_0x2667e6='user:position:'+_0x53b8fa,_0x490108=_0x3a0d02['getContainedElement']();let _0x3394eb=_0x3a0d02['start'];_0x490108&&_0x490108['is']('element','tableCell')&&(_0x3394eb=function(_0x5ed382,_0x436a62){for(const _0x2fa2b8 of _0x5ed382['getPositions']())if(_0x436a62['schema']['checkChild'](_0x2fa2b8,'$text'))return _0x2fa2b8;}(_0x3a0d02,_0x2f4145),_0x3a0d02=_0x3ae79f['createRange'](_0x3394eb));const _0x2c4deb=_0x3ae79f['createRange'](_0x3394eb);_0x2f4145['markers']['has'](_0x412e5c)?(_0x3ae79f['updateMarker'](_0x412e5c,{'range':_0x3a0d02}),_0x3ae79f['updateMarker'](_0x2667e6,{'range':_0x2c4deb})):(_0x3ae79f['addMarker'](_0x412e5c,{'range':_0x3a0d02,'usingOperation':!0x0}),_0x3ae79f['addMarker'](_0x2667e6,{'range':_0x2c4deb,'usingOperation':!0x0}));}function J(_0x5ed9a0,_0x4d29bb,_0x3a91ba){const t=_0x5ed9a0['t'];switch(_0x4d29bb){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'},_0x3a91ba);default:return'';}}let Y=0x1;class l extends _0x447feb{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x39a984)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,r,K,_0x3a8740,_0x333c9d,_0x5c50b4];}static get['pluginName'](){return'RealTimeCollaborationClient';}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x22ed67=this['serverHistory']['getOperations']();for(let _0x5661b7=_0x22ed67['length']-0x1;_0x5661b7>=0x0;_0x5661b7--){const _0xe11040=_0x22ed67[_0x5661b7];if(!this['_disconnectionOperations']['has'](_0xe11040))return _0xe11040['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xf8f190){if(super(_0xf8f190),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x227ed0(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x32a172('collaboration-missing-channelid',this);const _0x1752a8=_0xf8f190['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x1752a8,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x14d01b(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}['init'](){const _0x2c388d=this['editor'],_0x47a944=_0x2c388d['plugins']['get'](_0x333c9d),_0x134749=_0x2c388d['plugins']['get'](c);this['listenTo'](_0x47a944,'getOperationAuthor',(_0x3b6bc9,_0x4279a8)=>{const _0x3b8aae=_0x4279a8[0x0];_0x3b8aae['_authorId']&&(_0x3b6bc9['return']=_0x47a944['getUser'](_0x3b8aae['_authorId']),_0x3b6bc9['stop']()),null===_0x3b8aae['_authorId']&&(_0x3b6bc9['return']=null,_0x3b6bc9['stop']());},{'priority':'high'}),this['listenTo'](_0x2c388d['model']['document']['selection'],'change:range',(_0x164485,_0x2a0846)=>{_0x2a0846['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2c388d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2c388d['model']['on']('applyOperation',(_0x37ab1a,_0x4e5778)=>{const _0x34ca35=_0x4e5778[0x0];_0x34ca35['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x34ca35),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x134749,'state',this,'_hasSynchronizationProblem',(_0x1cdb0a,_0xb4e16c)=>'connected'===_0x1cdb0a&&!_0xb4e16c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2c388d['disableReadOnlyMode']('rtc-offline'):_0x2c388d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2c388d['disableReadOnlyMode']('rtc-offline'):_0x2c388d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x8897d=this['editor']['plugins']['get'](r),_0x192d48=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x8897d['unregister'](this['_channelId']);const _0x527247=await this['_service']['reconnect'](_0x192d48['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x527247)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x47da86=await this['_service']['getConnectedSessions']();_0x8897d['register'](this['_channelId'],_0x47da86),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x37b21f){if(function(_0x37a4c4){return'404'===_0x37a4c4['code'];}(_0x37b21f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xbc3c78){return'409'===_0xbc3c78['code'];}(_0x37b21f)){const _0x42a3df=J(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'](_0x42a3df);}else{if(!(_0x37b21f instanceof Z))throw _0x37b21f;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1c79d4=this['editor']['plugins']['get'](c),_0x3e6119=this['editor']['plugins']['get'](r);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3e6119['channelSessions']['has'](this['_channelId'])&&_0x3e6119['unregister'](this['_channelId']),_0x1c79d4['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4b553f){if(this['sessionId']!==_0x4b553f['sessionId']&&this['_lastSyncedOperationId']!==_0x4b553f['lastOperationId'])throw new Z();return this['sessionId']=_0x4b553f['sessionId'],this['_handleServerResponse']([],{..._0x4b553f,'wereChangesApplied':!0x1,'data':_0x4b553f['data']},'reconnect');}async['_connectService'](_0x195e7e,_0x171e10=!0x1){const {connection:_0x44bcdf}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x44bcdf,this['_channelId'])['then'](_0xaba3b9=>this['_initSessionsHandling'](_0xaba3b9))['catch'](_0x2341e3=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x2341e3);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4cff02,_0x2e650b)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x2e650b);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x533da4=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x195e7e);this['_isPendingUpdate']=!0x0;const _0x2bee83=await this['_service']['connect'](_0x44bcdf,this['_compressOperations'](_0x195e7e),_0x533da4);if(this['sessionId']=_0x2bee83['sessionId'],_0x171e10){if(!_0x2bee83['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2bee83['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x195e7e,_0x2bee83,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2bee83,_0x195e7e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x51bcee=this['editor']['plugins']['get'](r),_0x43e5e1=this['editor']['plugins']['get'](K),_0x1de6a5=_0x51bcee['channelSessions']['get'](this['_channelId']);_0x1de6a5&&_0x1de6a5['length']>0x1?_0x43e5e1['createUserMarkerOperations']():this['listenTo'](_0x51bcee,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x51bcee['channelSessions']['get'](this['_channelId'])['length']&&_0x43e5e1['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x496a41,_0x23c90e,_0xdd40b9,_0x4bbb84){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x23c90e){const _0x2f67cc=this['_decompressOperations'](_0xdd40b9,_0x4bbb84);await this['_fetchMissingUsers'](_0x2f67cc),this['_handleExternalOperations'](_0x2f67cc,_0x23c90e,_0xdd40b9['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2cd8c7}=this['editor'];let _0x769296;try{_0x769296=await this['_service']['getDocumentDetails']();}catch(_0x10e52e){const _0x32b8cb=J(_0x2cd8c7,'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'](_0x32b8cb);}const _0x53eeaa=_0x769296['currentDocumentSession']||_0x769296['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x53eeaa['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x13fc51=J(_0x2cd8c7,'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'](_0x13fc51);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xabfb7a){const _0x40bbdd=this['editor']['plugins']['get'](r);this['listenTo'](_0x40bbdd,'sessionAdd:'+this['_channelId'],(_0x2baee1,{session:_0xfecbf5})=>{if(_0xfecbf5['id']===_0x40bbdd['mySessionId']){_0x2baee1['off']();const _0x50f55a=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x6a7ba7=_0xfecbf5['permissions'];_0x50f55a&&_0x50f55a['isEnabled']&&(_0x6a7ba7=_0x6a7ba7['filter'](_0x2f2d18=>'document:write'!==_0x2f2d18)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x6a7ba7,this['_channelId']);}}),_0x40bbdd['register'](this['_channelId'],_0xabfb7a);}['_initThrowingOnDataSet'](){const _0x2902ff=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x27b167)=>{if(!_0x27b167[_0x27b167['length']-0x1]['suppressErrorInCollaboration'])throw new _0x32a172('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2902ff['apply'](this['editor']['data'],_0x27b167);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x32ba41,[_0x6e4ec4])=>{if(this['_document']['version'])throw new _0x32a172('realtimecollaborationclient-init-document-already-initialized',this);_0x32ba41['stop'](),this['_setPendingAction']();const _0x25a797=this['editor']['config']['get']('rootsAttributes'),_0x3f6413=this['_getOperationsFromInitData'](_0x6e4ec4,_0x25a797);0x0==_0x3f6413['length']&&_0x3f6413['push'](new _0x11f525(0x0)),_0x32ba41['return']=this['_connectService'](_0x3f6413)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1fbba5=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1fbba5))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1fa917,[_0x37c9e6,_0x33070c])=>{_0x1fa917['stop']();const _0x53537e=this['editor']['model']['document']['getRoot'](_0x37c9e6);if(!this['_knownRootNames']['has'](_0x37c9e6)){const _0x4c367a=_0x33070c&&_0x33070c['data']?_0x33070c['data']:'',_0x57152e=_0x33070c&&_0x33070c['attributes']?_0x33070c['attributes']:{};await this['_loadRoot'](_0x37c9e6,_0x4c367a,_0x57152e);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x53537e['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x53537e);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5bcdb9){const _0x3dd8d5=this['editor']['plugins']['get'](_0x333c9d),{connection:_0x4b6e7a}=this['editor']['plugins']['get'](c),_0x1e959c=new Set();for(const _0x3a4063 of _0x5bcdb9){const _0x30df35=_0x3a4063['_authorId'];_0x30df35&&!_0x3dd8d5['getUser'](_0x30df35)&&_0x1e959c['add'](_0x30df35);}if(0x0===_0x1e959c['size'])return;const _0x2e90a1=await dt['getMany'](_0x4b6e7a,Array['from'](_0x1e959c));for(const _0x1e62b7 of _0x2e90a1)_0x3dd8d5['getUser'](_0x1e62b7['id'])||_0x3dd8d5['addUser'](_0x1e62b7);}['_getOperationsFromInitData'](_0x42c47f,_0x430806={}){const _0x433be5=this['editor']['model'],_0x491a47=[];let _0x352a0a=0x0;const _0x203a19='string'==typeof _0x42c47f?{'main':_0x42c47f}:_0x42c47f;for(const _0x2d5314 of Object['keys'](_0x203a19)){if(!this['_document']['roots']['has'](_0x2d5314))throw new _0x32a172('realtimecollaborationclient-init-non-existent-root',this);const _0x18b263=this['editor']['data']['parse'](_0x203a19[_0x2d5314]),_0x37c9cc=this['_document']['getRoot'](_0x2d5314),_0x3bcb2a=new _0x1017dd(_0x433be5['createPositionAt'](_0x37c9cc,0x0),_0x18b263,_0x352a0a++);_0x491a47['push'](_0x3bcb2a);for(const [_0x50aa44,_0x3ebc69]of _0x18b263['markers']){const _0xda431e=_0x433be5['createRange'](_0x433be5['createPositionFromPath'](_0x37c9cc,_0x3ebc69['start']['path']['slice']()),_0x433be5['createPositionFromPath'](_0x37c9cc,_0x3ebc69['end']['path']['slice']())),_0xe5070e=new _0x5cb22a(_0x50aa44,null,_0xda431e,_0x433be5['markers'],!0x0,_0x352a0a++);_0x491a47['push'](_0xe5070e);}}if(_0x430806)for(const [_0x52bf2c,_0x87439e]of Object['entries'](_0x430806)){const _0x22ab56=_0x433be5['document']['getRoot'](_0x52bf2c);if(!_0x22ab56)throw new _0x32a172('multi-root-editor-root-attributes-no-root',null);for(const [_0xabf36e,_0xfde1af]of Object['entries'](_0x87439e))if(null!==_0xfde1af){const _0x40a7a3=new _0x49bfd9(_0x22ab56,_0xabf36e,null,_0xfde1af,_0x352a0a++);_0x491a47['push'](_0x40a7a3);}}return _0x491a47;}async['_loadRoot'](_0x5e6e85,_0x38f3cc,_0x1670bf){this['_getOperationsFromInitData']({[_0x5e6e85]:_0x38f3cc},{[_0x5e6e85]:_0x1670bf})['forEach']((_0x179dc2,_0x49f890)=>{_0x179dc2['baseVersion']=this['_document']['version']+_0x49f890,_0x179dc2['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x179dc2);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x433aa2,_0x29196e){let _0x44516b;this['_offset']=_0x433aa2['offset'];const _0x264c30=_0x433aa2['wereChangesApplied']&&!_0x433aa2['initData'],_0x336c9a=_0x264c30?0x0:_0x433aa2['data']['baseVersion'];if(_0x29196e['forEach'](_0x23c06f=>{_0x23c06f['_isInit']=!0x0,_0x23c06f['createdAt']=_0x433aa2['sessionCreatedAt'],_0x23c06f['_authorId']=null;}),_0x264c30)_0x44516b=_0x29196e,this['_applyOperationsSet'](_0x44516b,_0x264c30);else{if(_0x433aa2['initData']){const _0x523e08=this['_getOperationsFromInitData'](_0x433aa2['initData']);this['_document']['history']['version']=-_0x523e08['length'],_0x523e08['forEach'](_0x26ebca=>{_0x26ebca['baseVersion']-=_0x523e08['length'],_0x26ebca['createdAt']=_0x433aa2['sessionCreatedAt'],_0x26ebca['_isInit']=!0x0,_0x26ebca['_authorId']=null;}),this['_applyOperationsSet'](_0x523e08,!0x0),this['serverHistory']['version']=-_0x523e08['length']+this['_offset'],this['_updateServerHistory'](_0x523e08);}this['_document']['history']['version']=_0x336c9a,_0x44516b=this['_decompressOperations'](_0x433aa2['data'],_0x433aa2['metadata']),await this['_fetchMissingUsers'](_0x44516b),this['_applyOperationsSet'](_0x44516b,_0x264c30);}_0x433aa2['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x44516b,_0x433aa2['lastOperationId']),this['_lastSyncedOperationId']=_0x433aa2['lastOperationId']),this['serverHistory']['version']=_0x336c9a+this['_offset'],this['_updateServerHistory'](_0x44516b),_0x29196e['filter'](_0x5da0a1=>{const _0x43728c=this['_getAffectedRoot'](_0x5da0a1);return _0x43728c&&!this['_knownRootNames']['has'](_0x43728c);})['forEach']((_0x39a96e,_0x3e1b44)=>{_0x39a96e['baseVersion']=this['_document']['version']+_0x3e1b44,this['_saveOperationInBuffer'](_0x39a96e);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x350d1c,_0x21b7c5){throw this['_isPendingUpdate']=!0x0,_0x21b7c5&&console['error'](_0x21b7c5),new _0x32a172(_0x350d1c,this['editor']);}['_saveOperationInBuffer'](_0xf4b69){this['_knownOperations']['has'](_0xf4b69)||(this['_knownOperations']['add'](_0xf4b69),this['_bufferedOperations']['push'](_0xf4b69),this['_pendingAction']||'marker'==_0xf4b69['type']&&!_0xf4b69['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x4f17f0=!0x1){!_0x4f17f0&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x62f3d=>{_0x62f3d&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x557b94=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x370daa){return _0x370daa['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x370daa['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x370daa['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x557b94))throw _0x557b94;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x14d9d1=>{this['on']('change:_isPendingUpdate',()=>{_0x14d9d1();});});}async['_sendBufferedOperations'](){const _0x36ddba=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x36ddba['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3a6ec0=[...this['_bufferedOperations']];for(const _0x3d21c5 of _0x3a6ec0)_0x3d21c5['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3d21c5);const _0x212354=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3a6ec0),_0x4dc967=Y++,_0x79a400=this['_compressOperations'](_0x3a6ec0),_0x1e0523=await this['_service']['sendOperations'](_0x79a400,_0x79a400['baseVersion'],_0x212354);try{return await this['_handleServerResponse'](_0x3a6ec0,_0x1e0523,_0x4dc967);}catch(_0x36e29b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x36e29b);}}async['_handleServerResponse'](_0x35ce27,_0x29bfb3,_0x34a9c6){if('error'in _0x29bfb3)throw _0x29bfb3['error'];let _0x2a34b5=!0x1;if(_0x29bfb3['wereChangesApplied']){_0x29bfb3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x29bfb3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x219455=>!_0x35ce27['includes'](_0x219455));for(const _0x5a845c of _0x35ce27)_0x5a845c['createdAt']='lastOperationAcceptedAt'in _0x29bfb3&&_0x29bfb3['lastOperationAcceptedAt']||void 0x0;tt(_0x35ce27,_0x29bfb3['version']-_0x35ce27['length']),this['_updateServerHistory'](_0x35ce27);const _0x318f33=_0x35ce27['filter'](_0x122842=>{if(!_0x122842['_isInit'])return!0x1;const _0x5314ab=this['_getAffectedRoot'](_0x122842);return _0x5314ab&&!this['_knownRootNames']['has'](_0x5314ab);});tt(_0x318f33,this['_document']['version']),this['_applyOperationsSet'](_0x318f33),_0x2a34b5=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4a2e53=this['_decompressOperations'](_0x29bfb3['data'],_0x29bfb3['metadata'])['filter'](_0x4e5abf=>_0x4e5abf['baseVersion']>=this['_lastServerVersion']);_0x4a2e53['forEach'](_0x1b20af=>this['_addKnownRoot'](_0x1b20af)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x19dfb6=>!_0x19dfb6['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x19dfb6))),this['_bufferedOperations']['length']&&tt(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4a2e53),_0x2a34b5=this['_handleExternalOperations'](_0x4a2e53,_0x29bfb3['version'],_0x29bfb3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2a34b5?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x52f6b7,_0x23dc17,_0x4f9c89){try{const _0x569c72={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5d5348,operationsB:_0x428ad9,originalOperations:_0x2f99dc}=_0xa91ba8(_0x52f6b7,this['_bufferedOperations'],_0x569c72);tt(_0x5d5348,this['_document']['version']),tt(_0x428ad9,_0x23dc17);for(const _0x5a0a2b of _0x5d5348){const _0x4a6e03=_0x2f99dc['get'](_0x5a0a2b);_0x5a0a2b['_authorId']=_0x4a6e03?_0x4a6e03['_authorId']:null;}_0x4f9c89&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x52f6b7,_0x4f9c89),this['_lastSyncedOperationId']=_0x4f9c89),this['_bufferedOperations']=[..._0x428ad9],this['_applyOperationsSet'](_0x5d5348),this['_updateServerHistory'](_0x52f6b7);}catch(_0x587d86){return console['error'](_0x587d86),!0x1;}return!0x0;}['_applyOperationsSet'](_0x6f2a8a,_0x4747cd=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1d6774=>{for(const _0xe017ad of _0x6f2a8a)this['_knownOperations']['add'](_0xe017ad),this['_addKnownRoot'](_0xe017ad),_0x1d6774['batch']['addOperation'](_0xe017ad),this['editor']['model']['applyOperation'](_0xe017ad);});}['_addKnownRoot'](_0x5d2c8e){const _0x574ff1=this['_getAffectedRoot'](_0x5d2c8e);_0x574ff1&&this['_knownRootNames']['add'](_0x574ff1);}['_getAffectedRoot'](_0x4670a3){let _0x3936f7,_0x49d45f;switch(_0x4670a3['type']){case'insert':_0x3936f7=_0x4670a3['position']['root'];break;case'marker':if(_0x49d45f=_0x4670a3['newRange'],!_0x49d45f)return null;_0x3936f7=_0x49d45f['root'];break;case'addRootAttribute':_0x3936f7=_0x4670a3['root'];break;case'addRoot':_0x3936f7=_0x4670a3['affectedSelectable'];break;case'move':_0x3936f7=_0x4670a3['targetPosition']['root'];break;default:return null;}return _0x3936f7['rootName'];}['_updateServerHistory'](_0x2bb963){_0x2bb963['forEach'](_0xa710f8=>{const _0x181218=_0xa710f8['clone']();_0x181218['_authorId']=_0xa710f8['_authorId'],_0x181218['_isInit']=!!_0xa710f8['_isInit'],_0x181218['createdAt']=_0xa710f8['createdAt'],_0x181218['baseVersion']+=this['_offset'],_0xa710f8['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x181218),this['serverHistory']['addOperation'](_0x181218);});}['_handleReconnectionError'](_0x907b1a){const _0x303607=this['editor']['plugins']['get']('Notification'),_0x18e291=this['editor']['locale'];_0x907b1a||(_0x907b1a=J(_0x18e291,'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.')),_0x303607['showWarning'](_0x907b1a,{'title':J(_0x18e291,'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'](_0x3a8740)['add'](J(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3a8740)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4273e9){const _0x49bdcd=_0x4273e9['map'](_0x42a391=>_0x42a391['toJSON']());return this['_compressor']['compress'](_0x49bdcd);}['_decompressOperations'](_0x149df2,_0x2a805d){return this['_compressor']['decompress'](_0x149df2)['map']((_0x1c497b,_0xb41b88)=>{const _0x1805d6='init'==_0x2a805d[_0xb41b88]['type'];if('InsertOperation'==_0x1c497b['__className']){const _0x32ae4c=_0x1c497b['position']['root'];!this['_document']['getRoot'](_0x32ae4c)&&(this['_document']['createRoot']('$root',_0x32ae4c)['_isAttached']=!0x1);}const _0x1109dc=_0x319f1b['fromJSON'](_0x1c497b,this['_document']);return _0x1109dc['wasUndone']=_0x1c497b['wasUndone'],_0x1109dc['_isInit']=_0x1805d6,_0x1109dc['_authorId']=_0x1805d6?null:_0x2a805d[_0xb41b88]['userId'],_0x1109dc['_isDisconnection']='cs:removeUser'===_0x2a805d[_0xb41b88]['type'],_0x1109dc['createdAt']=_0x2a805d[_0xb41b88]['createdAt'],_0x1109dc;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4ede09=this['editor']['plugins']['get'](r)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4ede09&&_0x4ede09['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Z extends Error{}function tt(_0x15a6b5,_0x2d3fba){for(const _0x12b553 of _0x15a6b5)_0x12b553['baseVersion']=_0x2d3fba++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x1ccc74){this['_ignoredOperations']=_0x1ccc74,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1dec2c){let _0x53b3fc=_0x1dec2c['length'];for(;_0x53b3fc--;){const _0x546a8e=_0x1dec2c[_0x53b3fc];if(!this['_ignoredOperations']['has'](_0x546a8e)){if(!this['_operationToId']['has'](_0x546a8e)){const _0x5e7359=_0x2efd84()['slice'](0x1,0x12);this['_operationToId']['set'](_0x546a8e,_0x5e7359);}return this['_operationToId']['get'](_0x546a8e);}}}['setIdForTheLastOperation'](_0x4ed143,_0x319da7){if(!_0x319da7)return;let _0x157be8=_0x4ed143['length'];for(;_0x157be8--;){const _0x179c35=_0x4ed143[_0x157be8];this['_ignoredOperations']['has'](_0x179c35)||this['_operationToId']['set'](_0x179c35,_0x319da7);}}}class n extends _0x447feb{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}}class a extends _0x4da67b{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x4b45f5)());['_services'];static get['requires'](){return[c,'CommentsRepository',r,_0x333c9d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}constructor(_0xbbe7c4){super(_0xbbe7c4),this['_services']=new Map();}async['init'](){const _0x156eec=this['context'],_0x4fc654=_0x156eec['plugins']['get']('CommentsRepository');if(_0x156eec['plugins']['get'](c)['addToReconnectionStack'](this),_0x4fc654['adapter']={'addCommentThread':async({channelId:_0x5d12a0,threadId:_0x24e62b,comments:_0x349e86,resolvedAt:_0x17c46b,resolvedBy:_0xc8356b,context:_0x49de3b,attributes:_0x4000ad})=>{const _0x296a79=await this['_getService'](_0x5d12a0)['addCommentThread']({'commentThreadId':_0x24e62b,'comments':_0x349e86['map'](_0x1faa46=>function(_0x261006,_0x5ad066,_0xcc5772){return{'commentThreadId':_0xcc5772,'commentId':_0x261006['commentId'],'userId':_0x261006['authorId'],'content':_0x261006['content'],'documentId':_0x5ad066,'createdAt':_0x261006['createdAt'],'attributes':_0x261006['attributes']||{}};}(_0x1faa46,_0x5d12a0,_0x24e62b)),'resolvedAt':_0x17c46b,'resolvedBy':_0xc8356b,'context':_0x49de3b,'attributes':_0x4000ad})['catch'](lt);return{'threadId':_0x296a79['commentThreadId'],'comments':_0x296a79['comments']};},'getCommentThread':async({channelId:_0x325bdd,threadId:_0x1cc753})=>{const _0x5151d7=await this['_getService'](_0x325bdd)['getCommentThread'](_0x1cc753)['catch'](lt);return _0x5151d7['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5151d7]),{'threadId':_0x5151d7['commentThreadId'],'comments':_0x5151d7['comments']['map'](S),'context':_0x5151d7['context'],'resolvedAt':_0x5151d7['resolvedAt'],'resolvedBy':_0x5151d7['resolvedBy'],'attributes':_0x5151d7['attributes']||{}});},'updateCommentThread':async({channelId:_0x29d3c1,threadId:_0xf8b55f,context:_0x2e8df9,unlinkedAt:_0x4d8be0,attributes:_0x4f193d})=>this['_getService'](_0x29d3c1)['updateCommentThread']({'commentThreadId':_0xf8b55f,'context':_0x2e8df9,'attributes':_0x4f193d,'unlinkedAt':_0x4d8be0})['catch'](B)['catch'](lt),'resolveCommentThread':async({channelId:_0x1be52a,threadId:_0x2fc89a})=>{const _0xbb2b4b=await this['_getService'](_0x1be52a)['resolveCommentThread'](_0x2fc89a)['catch'](B)['catch'](lt);return{'threadId':_0xbb2b4b['commentThreadId'],'resolvedAt':_0xbb2b4b['resolvedAt'],'resolvedBy':_0xbb2b4b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x111ef2,threadId:_0x49d6b6})=>this['_getService'](_0x111ef2)['reopenCommentThread'](_0x49d6b6)['catch'](B)['catch'](lt),'removeCommentThread':({channelId:_0x41887c,threadId:_0x297237})=>this['_getService'](_0x41887c)['removeCommentThread'](_0x297237)['catch'](B)['catch'](lt),'addComment':({channelId:_0x9fc81e,threadId:_0x8de6e2,commentId:_0x239a4f,content:_0x2af570,attributes:_0x42a184})=>this['_getService'](_0x9fc81e)['addComment'](_0x8de6e2,_0x239a4f,_0x2af570,_0x42a184)['catch'](lt),'updateComment':({channelId:_0x50a0a6,threadId:_0x3302c4,commentId:_0x4d1474,content:_0x301fd0,attributes:_0x57b870})=>this['_getService'](_0x50a0a6)['updateComment'](_0x3302c4,_0x4d1474,_0x301fd0,_0x57b870)['catch'](B)['catch'](lt),'removeComment':({channelId:_0x62e2d5,threadId:_0x5bb7ff,commentId:_0x53cff1})=>this['_getService'](_0x62e2d5)['removeComment'](_0x5bb7ff,_0x53cff1)['catch'](B)['catch'](lt)},_0x156eec instanceof _0x58c730){const _0x4f11c5=_0x156eec['config']['get']('collaboration.channelId'),_0x520405=_0x156eec['plugins']['get'](r);await this['_setUpService'](_0x4f11c5);const _0x4c0a9f=await this['_services']['get'](_0x4f11c5)['getConnectedSessions']();this['listenTo'](_0x520405,'sessionAdd:'+_0x4f11c5,(_0x28283e,{session:_0x531e77})=>{_0x531e77['id']===_0x520405['mySessionId']&&(_0x28283e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x531e77['permissions'],_0x4f11c5));}),_0x520405['register'](_0x4f11c5,_0x4c0a9f);}}async['_setUpService'](_0x30b3f5){if(this['_services']['has'](_0x30b3f5))throw new _0x32a172('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x30b3f5});const _0x5a672a=this['context']['plugins']['get']('CommentsRepository'),_0x1452d2=new a['CommentsService'](_0x30b3f5);this['_services']['set'](_0x30b3f5,_0x1452d2),this['listenTo'](_0x1452d2,'commentThreadAdded',(_0x32a6ea,_0x39bd9c)=>{const {commentThreadId:_0x3e6b22,documentId:_0x4377ba,context:_0x499098,attributes:_0x2156cf,resolvedAt:_0x13756c,resolvedBy:_0xdb6b18,comments:_0x2211ef}=_0x39bd9c;_0x5a672a['getCommentThread'](_0x3e6b22)||_0x5a672a['addCommentThread']({'threadId':_0x3e6b22,'channelId':_0x4377ba,'comments':_0x2211ef?_0x2211ef['map'](S):[],'context':_0x499098,'attributes':_0x2156cf,'resolvedAt':_0x13756c,'resolvedBy':_0xdb6b18,'isFromAdapter':!0x0});}),this['listenTo'](_0x1452d2,'commentThreadUpdated',(_0x4c4075,{commentThreadId:_0x2436fd,documentId:_0x45f8b1,context:_0x1739af,unlinkedAt:_0x2fe826,attributes:_0x3bc455})=>{_0x5a672a['getCommentThread'](_0x2436fd)&&_0x5a672a['updateCommentThread']({'threadId':_0x2436fd,'channelId':_0x45f8b1,'context':_0x1739af,'unlinkedAt':_0x2fe826,'attributes':_0x3bc455,'isFromAdapter':!0x0});}),this['listenTo'](_0x1452d2,'commentThreadResolved',(_0x980725,{commentThreadId:_0x196259,resolvedBy:_0x46decd,resolvedAt:_0x30117e})=>{const _0x472b26=_0x5a672a['getCommentThread'](_0x196259);_0x472b26&&_0x472b26['resolve']({'resolvedBy':_0x46decd,'resolvedAt':_0x30117e,'isFromAdapter':!0x0});}),this['listenTo'](_0x1452d2,'commentThreadReopened',(_0xabd67f,{commentThreadId:_0x8712e6})=>{const _0x428333=_0x5a672a['getCommentThread'](_0x8712e6);_0x428333&&_0x428333['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1452d2,'commentThreadRemoved',(_0x1a2c4b,{commentThreadId:_0x5261bb})=>{const _0x1b93b7=_0x5a672a['getCommentThread'](_0x5261bb);_0x1b93b7&&_0x1b93b7['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1452d2,'commentAdded',(_0x4ec9dc,_0x3d5596)=>{const _0x25b099=_0x3d5596['commentThreadId'],_0x16a7af=_0x5a672a['getCommentThread'](_0x25b099);_0x16a7af&&_0x16a7af['addComment']({...S(_0x3d5596),'isFromAdapter':!0x0});}),this['listenTo'](_0x1452d2,'commentUpdated',(_0x45b09f,{commentThreadId:_0x5b05c3,commentId:_0x2de5dc,content:_0x3bafc2,attributes:_0x56941c})=>{const _0x3371d3=_0x5a672a['getCommentThread'](_0x5b05c3);if(_0x3371d3){const _0x5e4d3e=_0x3371d3['getComment'](_0x2de5dc);_0x5e4d3e&&_0x5e4d3e['update']({'content':_0x3bafc2,'attributes':_0x56941c,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1452d2,'commentRemoved',(_0x572c10,{commentThreadId:_0x2917b7,commentId:_0xf78fc0})=>{const _0x4fe5d7=_0x5a672a['getCommentThread'](_0x2917b7);if(_0x4fe5d7){const _0x329536=_0x4fe5d7['getComment'](_0xf78fc0);_0x329536&&_0x329536['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x30b3f5);}['destroy'](){if(this['context']instanceof _0x58c730){const _0xb6ae77=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0xb6ae77);}}['_terminateService'](_0x5dfb99){if(!this['_services']['has'](_0x5dfb99))throw new _0x32a172('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x5dfb99});this['_getService'](_0x5dfb99)['disconnect'](),this['_services']['delete'](_0x5dfb99);}async['reconnect'](){for(const _0x260a17 of this['_services']['keys']())await this['_connectService'](_0x260a17);if(this['context']instanceof _0x58c730){const _0x5b2b03=this['context']['config']['get']('collaboration.channelId'),_0x39faf3=this['context']['plugins']['get'](r);_0x39faf3['unregister'](_0x5b2b03);const _0x12910a=await this['_services']['get'](_0x5b2b03)['getConnectedSessions']();_0x39faf3['register'](_0x5b2b03,_0x12910a);}}async['_connectService'](_0x2fd3ec){const {connection:_0x383548}=this['context']['plugins']['get'](c),_0x309b84=this['context']['plugins']['get']('CommentsRepository'),_0x24a42a=this['_services']['get'](_0x2fd3ec),_0x1ce71c=await _0x24a42a['connect'](_0x383548);await this['_fetchMissingUsersForThreads'](_0x1ce71c);const _0x10cb12=new Set(Array['from'](_0x309b84['getCommentThreads']({'channelId':_0x2fd3ec}),_0x323056=>_0x323056['id']));for(const _0x34c21c of _0x1ce71c)_0x34c21c['deletedAt']||_0x10cb12['delete'](_0x34c21c['commentThreadId']);for(const _0x56e5bc of _0x10cb12)_0x309b84['getCommentThread'](_0x56e5bc)['remove']({'isFromAdapter':!0x0});for(const _0x1bd9dc of _0x1ce71c){let _0x20a364=_0x309b84['getCommentThread'](_0x1bd9dc['commentThreadId']);const {commentThreadId:_0x6e0104,context:_0x500f38,attributes:_0x8f7b91,resolvedBy:_0x557be2,resolvedAt:_0x9f6d8c,unlinkedAt:_0xe7b567,deletedAt:_0x174d55}=_0x1bd9dc;if(_0x174d55)continue;_0x20a364||(_0x20a364=_0x309b84['addCommentThread']({'channelId':_0x2fd3ec,'threadId':_0x6e0104,'context':_0x500f38,'attributes':_0x8f7b91||{},'resolvedBy':_0x557be2,'resolvedAt':_0x9f6d8c,'unlinkedAt':_0xe7b567,'isFromAdapter':!0x0}));const _0x34e691=new Set(Array['from'](_0x20a364['comments'],_0x522ec8=>_0x522ec8['id']));for(const _0x5a55df of _0x1bd9dc['comments'])_0x34e691['delete'](_0x5a55df['commentId']);for(const _0x19a75c of _0x34e691)_0x20a364['getComment'](_0x19a75c)['remove']({'isFromAdapter':!0x0});for(const _0x18d13a of _0x1bd9dc['comments']){const _0x12972b=_0x20a364['getComment'](_0x18d13a['commentId']);_0x12972b?_0x12972b['content']!==_0x18d13a['content']&&_0x12972b['update']({'content':_0x18d13a['content'],'isFromAdapter':!0x0}):_0x20a364['addComment'](Object['assign'](S(_0x18d13a),{'isFromAdapter':!0x0}));}}}['_getService'](_0x119dca){if(!this['_services']['has'](_0x119dca))throw new _0x32a172('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x119dca});return this['_services']['get'](_0x119dca);}async['_fetchMissingUsersForThreads'](_0x2acf1e){const _0x4d6b12=this['context']['plugins']['get'](_0x333c9d),{connection:_0x11a4b0}=this['context']['plugins']['get'](c),_0x562a81=new Set();for(const {resolvedBy:_0x3ab54b,comments:_0x2771be}of _0x2acf1e){_0x3ab54b&&!_0x4d6b12['getUser'](_0x3ab54b)&&_0x562a81['add'](_0x3ab54b);for(const {userId:_0x633474}of _0x2771be)_0x4d6b12['getUser'](_0x633474)||_0x562a81['add'](_0x633474);}if(0x0===_0x562a81['size'])return;const _0x5ba9ee=await dt['getMany'](_0x11a4b0,Array['from'](_0x562a81));for(const _0x2d2c9e of _0x5ba9ee)_0x4d6b12['getUser'](_0x2d2c9e['id'])||_0x4d6b12['addUser'](_0x2d2c9e);}}async function B(_0x2cda46){if('404'!==_0x2cda46['code'])throw _0x2cda46;}function lt(_0x18e5e0){if((_0x9a802c=_0x18e5e0)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x9a802c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x9a802c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x9a802c;throw _0x18e5e0;}function S(_0x1bc4e2){return{'threadId':_0x1bc4e2['commentThreadId'],'commentId':_0x1bc4e2['commentId'],'content':_0x1bc4e2['content'],'createdAt':_0x1bc4e2['createdAt'],'authorId':_0x1bc4e2['userId'],'attributes':_0x1bc4e2['attributes']||{}};}class g extends _0x447feb{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>st)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x2f800d){super(_0x2f800d);const _0x4dc9cd=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new g['TrackChangesService'](_0x4dc9cd);}['init'](){const _0x5e9055=this['editor']['plugins']['get'](c),_0x5c8893=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5c8893['adapter']={'getSuggestion':async _0x576c7a=>{await this['_waitForServiceReady']();const _0x509d48=await this['_trackChangesService']['get'](_0x576c7a)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x509d48]),_0x509d48;},'addSuggestion':async({id:_0x12db6a,type:_0x542192,data:_0x2a6bda,originalSuggestionId:_0x55eafe,attributes:_0x81947a})=>{await this['_waitForServiceReady']();const _0x3d13a0={'id':_0x12db6a,'type':_0x542192,'data':_0x2a6bda,'originalSuggestionId':_0x55eafe,'attributes':_0x81947a},_0x1c7023=await this['_trackChangesService']['add'](_0x12db6a,_0x542192,_0x2a6bda,_0x55eafe,_0x81947a)['catch'](_0x97ed2=>{if(ut(_0x97ed2))return new Promise(_0x578396=>{this['_bufferedRequests']['set'](_0x12db6a,{'resolve':_0x578396,'suggestionData':_0x3d13a0});});throw _0x97ed2;});return this['_bufferedRequests']['delete'](_0x12db6a),_0x1c7023;},'updateSuggestion':async(_0x1b85c4,_0x5542dc)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5542dc['state'])return this['_trackChangesService']['update'](_0x1b85c4,_0x5542dc)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5dffb4,_0x3fd467)=>{_0x5c8893['hasSuggestion'](_0x3fd467['id'])&&(_0x5c8893['getSuggestion'](_0x3fd467['id'])['attributes']=_0x3fd467['attributes']);}),this['_trackChangesService']['connect'](_0x5e9055['connection'])['then'](_0x474620=>(_0x5e9055['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x474620)['then'](()=>{for(const _0x1e6477 of _0x474620){_0x5c8893['addSuggestionData'](_0x1e6477)['_saved']=!0x0;}})));}async['reconnect'](){const _0x202acf=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x494cf4}=this['editor']['plugins']['get'](c),_0x226516=await this['_trackChangesService']['connect'](_0x494cf4);await this['_fetchMissingUsersForThreads'](_0x226516);for(const {suggestionData:_0x195f63,resolve:_0x2dbdc6}of this['_bufferedRequests']['values']()){let _0x9d8219=_0x226516['find'](_0x112712=>_0x112712['id']===_0x195f63['id']);_0x9d8219||(_0x9d8219=await this['_trackChangesService']['add'](_0x195f63['id'],_0x195f63['type'],_0x195f63['data'],_0x195f63['originalSuggestionId'])),_0x2dbdc6(_0x9d8219);}for(const _0x2866ac of _0x226516)_0x202acf['hasSuggestion'](_0x2866ac['id'])||_0x202acf['addSuggestionData'](_0x2866ac);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2cbe6f=>{this['listenTo'](this['_trackChangesService'],'connected',_0x126d3d=>{_0x126d3d['off'](),_0x2cbe6f();});});}async['_fetchMissingUsersForThreads'](_0x135180){const _0x15e64d=this['editor']['plugins']['get'](_0x333c9d),{connection:_0xf354e0}=this['editor']['plugins']['get'](c),_0x4a01f4=new Set();for(const {authorId:_0x3f7ee4}of _0x135180)_0x15e64d['getUser'](_0x3f7ee4)||_0x4a01f4['add'](_0x3f7ee4);if(0x0===_0x4a01f4['size'])return;const _0x2226f1=await dt['getMany'](_0xf354e0,Array['from'](_0x4a01f4));for(const _0x4c954e of _0x2226f1)_0x15e64d['getUser'](_0x4c954e['id'])||_0x15e64d['addUser'](_0x4c954e);}}function R(_0x126b77){if(ut(_0x126b77))return new Promise(()=>{});throw _0x126b77;}function ut(_0x45f695){return _0x45f695['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x45f695['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x447feb{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}['init'](){const _0x5f2d6b=this['editor']['plugins']['get'](c),_0x125adb=this['editor']['plugins']['get']('CommentsEditing'),_0x10395c=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5f2d6b,'change:state',(_0x3879e1,_0x251fdf,_0x482024)=>{_0x125adb['isThreadsLoadingPaused']='connected'!==_0x482024;});}),this['listenTo'](_0x5f2d6b,'change:state',(_0x2cb229,_0xd27b64,_0x52c502)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x52c502);}),_0x10395c['_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 _0x447feb{static get['requires'](){return[m,g,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}}class v extends _0x447feb{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x42f4d4)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',r,_0x333c9d];}constructor(_0x2b46ca){super(_0x2b46ca);const _0x3e3a56=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new v['RevisionHistoryService'](_0x3e3a56);}async['init'](){const _0x1464c4=this['editor']['plugins']['get'](l),_0x3dc5ae=_0x1464c4['serverHistory'],_0x176025=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x3dc5ae,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1464c4['sessionId']});const _0x496296=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x65b7bb=await _0x57fffd['isBundleUploaded'](_0x176025['connection'],_0x496296);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x32b8f4})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x32b8f4)),'updateRevisions':async _0x529708=>{await this['_waitForServiceReady']();const _0xb4ef30=this['_revisionTracker']['currentRevision'];if(_0x65b7bb&&0x1===_0x529708['length']&&_0x529708[0x0]['id']===_0xb4ef30['id'])return _0x529708;for(const _0xe795eb of _0x529708)_0xe795eb['id']===_0xb4ef30['id']&&(_0xe795eb['isEmptyCurrent']=_0xe795eb['fromVersion']===_0xe795eb['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x529708,this['_lastRequestId'])['then'](_0x252b6d=>(this['_lastRequestId']=_0x252b6d,_0x529708))['catch'](_0x150865=>{if(P(_0x150865)||'400'===_0x150865['code']&&void 0x0!==_0x150865['data']['wrongRequestId']){for(const _0x25515f of _0x529708){!this['_revisionTracker']['repository']['getRevision'](_0x25515f['id'])||this['_revisionTracker']['_bufferUpdate'](_0x25515f['id'],_0x25515f,!0x1);}if(P(_0x150865))throw _0x150865;return _0x529708;}throw _0x150865;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x56020b,{revisionsData:_0x4993fc,requestId:_0x3a9cef})=>{Math['max'](..._0x4993fc['map'](_0x42f651=>_0x42f651['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4993fc,_0x3a9cef);}):this['_handleRevisionsUpdate'](_0x4993fc,_0x3a9cef);});const {revisions:_0x49bab9,requestId:_0x467229}=await this['_revisionHistoryService']['connect'](_0x176025['connection']);_0x176025['addToReconnectionStack'](this),this['_lastRequestId']=_0x467229,await this['_fetchMissingUsers'](_0x49bab9);for(const _0xb2e1c0 of _0x49bab9)this['_revisionTracker']['addRevisionData'](_0xb2e1c0);this['listenTo'](_0x1464c4,'change:_isConnected',(_0x3d40ce,_0x44a7cd,_0x1feefd)=>{_0x1feefd&&(this['_oldOffset']=_0x1464c4['_offset'],_0x3d40ce['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x176025,'state',_0x3175c4=>_0x3175c4===_0x21eb19['CONNECTED']);}async['reconnect'](){const _0x4d7722=this['editor']['plugins']['get'](c),_0x3afc7f=this['editor']['plugins']['get'](l),_0x51ebfd=async()=>{const _0x403bb0=this['_revisionTracker']['currentRevision'],_0x12c7bf=_0x403bb0['id'],_0x3a4f34=_0x12c7bf!==_0x3afc7f['sessionId'];if(_0x3a4f34){const _0x23f15e=_0x3afc7f['_offset']-this['_oldOffset'],_0x99f3fb=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x403bb0['toVersion']+_0x23f15e!==_0x99f3fb){const _0x441721=_0x403bb0['fromVersion']+_0x23f15e,_0x4f0e05=this['editor']['plugins']['get'](_0x333c9d),_0x4b46b7=this['_revisionTracker']['buildRevisionData']({'revision':_0x403bb0,'from':_0x441721,'to':_0x99f3fb});_0x4b46b7['id']=_0x403bb0['id'];const _0x1c16ae=_0x4b46b7['authorsIds']['map'](_0x211593=>_0x4f0e05['getUser'](_0x211593));_0x403bb0['_update']({..._0x4b46b7,'authors':_0x1c16ae},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x403bb0['id'],_0x4b46b7,!0x0);}this['_revisionTracker']['_startingVersion']=_0x99f3fb,(_0x403bb0['toVersion']===_0x403bb0['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x12c7bf)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x12c7bf),this['_revisionTracker']['_createCurrentRevision'](_0x99f3fb));}const {revisions:_0x138e5b,requestId:_0x38497e}=await this['_revisionHistoryService']['reconnect'](_0x4d7722['connection'],this['_lastRequestId']);_0x3a4f34&&_0x138e5b['length']>0x0?_0x3afc7f['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x138e5b),this['_handleRevisionsUpdate'](_0x138e5b,_0x38497e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3afc7f['_isConnected']?_0x51ebfd():new Promise((_0x23ddc6,_0x174ae1)=>{_0x3afc7f['once']('change:_isConnected',()=>{_0x51ebfd()['then'](_0x23ddc6)['catch'](_0x174ae1);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4c857a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x48d08=>{_0x48d08['off'](),_0x4c857a();});});}['_getLatestVersionFromServerOperations'](){const _0x17e286=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x4ad68a of _0x17e286)if('marker'!==_0x4ad68a['type']||_0x4ad68a['affectsData'])return _0x4ad68a['baseVersion']+0x1;}['_getLatestVersion'](){const _0xdae53a=this['editor']['plugins']['get'](l);return new Promise(_0x3344ce=>{_0xdae53a['_isPendingUpdate']?_0xdae53a['once']('change:_isPendingUpdate',()=>{_0x3344ce(this['_getLatestVersionFromServerOperations']());}):_0x3344ce(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x539291,_0x406c22){const _0x30e088=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x406c22;for(const _0x2090b8 of _0x539291){const _0x58ab0c=_0x30e088['getRevision'](_0x2090b8['id']);if(_0x58ab0c){if((_0x2090b8['fromVersion']||_0x2090b8['toVersion'])&&(_0x2090b8['diffData']=null),_0x58ab0c===this['_revisionTracker']['currentRevision']){const _0xe7aa60=Math['max'](_0x58ab0c['toVersion'],_0x2090b8['toVersion']),_0x497b26=Math['max'](_0x58ab0c['fromVersion'],_0x2090b8['fromVersion']);let _0x44b419;_0x58ab0c['toVersion']===_0x2090b8['toVersion']&&_0x58ab0c['fromVersion']===_0x2090b8['fromVersion']?(_0x44b419=!0x0,this['_preventResendingRevisionData'](_0x2090b8)):_0x2090b8['toVersion']===_0xe7aa60&&_0x2090b8['fromVersion']===_0x497b26?_0x44b419=!0x1:(_0x58ab0c['toVersion']===_0xe7aa60&&_0x58ab0c['fromVersion']===_0x497b26||this['_fixRevision']({'revision':_0x58ab0c,'from':_0x497b26,'to':_0xe7aa60}),_0x44b419=!0x0),_0x44b419&&(delete _0x2090b8['fromVersion'],delete _0x2090b8['toVersion'],delete _0x2090b8['diffData'],delete _0x2090b8['createdAt'],delete _0x2090b8['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2090b8),this['_preventResendingRevisionData'](_0x2090b8);}else this['_revisionTracker']['addRevisionData'](_0x2090b8);}const _0x3383d8=_0x30e088['getRevisions']();_0x3383d8['reverse']();for(let _0x6b8700=0x0;_0x6b8700<_0x3383d8['length']-0x1;_0x6b8700++){const _0xe0b620=_0x3383d8[_0x6b8700],_0x355a3a=_0x3383d8[_0x6b8700+0x1];if(_0xe0b620['fromVersion']<_0x355a3a['toVersion']){const _0x48c340=_0x355a3a['toVersion'],_0x5b4665=Math['max'](_0x48c340,_0xe0b620['toVersion']);this['_fixRevision']({'revision':_0xe0b620,'from':_0x48c340,'to':_0x5b4665});}}}['_fixRevision']({revision:_0x4b462f,from:_0x5e80f5,to:_0x4483e5}={}){const _0x12186e=this['editor']['plugins']['get'](_0x333c9d),_0x8c30e8=this['_revisionTracker']['buildRevisionData']({'revision':_0x4b462f,'from':_0x5e80f5,'to':_0x4483e5});_0x8c30e8['authors']=_0x8c30e8['authorsIds']['map'](_0x5580b0=>_0x12186e['getUser'](_0x5580b0)),_0x4b462f['_update'](_0x8c30e8);}['_preventResendingRevisionData'](_0x3a42e0){const _0x5e999f={};_0x5e999f['id']=_0x3a42e0['id'];for(const _0x3b64f2 of Object['keys'](_0x3a42e0))'id'!==_0x3b64f2&&(_0x5e999f[_0x3b64f2]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5e999f['id'],_0x5e999f,!0x0);}async['_fetchMissingUsers'](_0x1b920d){const _0xd55591=this['editor']['plugins']['get'](_0x333c9d),{connection:_0x1185b2}=this['editor']['plugins']['get'](c),_0xd69ab8=new Set();for(const _0x4014d9 of _0x1b920d){for(const _0x4f8f04 of _0x4014d9['authorsIds'])_0x1c325b(_0x4f8f04);_0x4014d9['creatorId']&&_0x1c325b(_0x4014d9['creatorId']);}if(0x0===_0xd69ab8['size'])return;const _0x206c80=await dt['getMany'](_0x1185b2,Array['from'](_0xd69ab8));for(const _0x29579e of _0x206c80)_0xd55591['getUser'](_0x29579e['id'])||_0xd55591['addUser'](_0x29579e);function _0x1c325b(_0x52abdc){_0xd55591['getUser'](_0x52abdc)||_0xd69ab8['add'](_0x52abdc);}}}function P(_0x298d34){return _0x298d34['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x298d34['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x298d34['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class d extends _0x447feb{static get['requires'](){return['RevisionHistory',v,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}}class ts extends _0x492637{constructor(_0x582e11){super(_0x582e11);const _0x5d2ddf=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x5d2ddf['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x5d2ddf['to']('usersCount',_0x34bb04=>J(_0x582e11,'CONNECTED_USERS',_0x34bb04))}]});}}class es extends _0x492637{['items'];['keystrokes'];constructor(_0x233b1e){super(_0x233b1e);const _0x2b17fc=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x289003(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2b17fc['if']('hasPopup'),'aria-expanded':_0x2b17fc['to']('isExpanded',_0x709f1e=>this['hasPopup']&&String(_0x709f1e)),'aria-label':_0x2b17fc['to']('hasPopup',_0x364451=>J(_0x233b1e,_0x364451?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2b17fc['to']('hasPopup',_0x2a33eb=>!!_0x2a33eb&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x2b17fc['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x2db240,_0x2b5402,_0x480cea)=>{this['element']&&(_0x480cea?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 _0x492637{['counterView'];['inlineListView'];constructor(_0x5c210c){super(_0x5c210c);const _0x946469=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x5c210c),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x36b2ac of this['inlineListView']['items'])_0x36b2ac['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',_0x946469['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x492637{['listWrapperView'];constructor(_0x2c79b3,_0x4c6066){super(_0x2c79b3),this['listWrapperView']=new ft(_0x2c79b3,_0x4c6066),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':J(_0x2c79b3,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class ft extends _0x29505a{constructor(_0x50d831,_0x2ff711){super(_0x50d831);const _0x164e0e=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2ff711?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x164e0e['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x164e0e['to']('role'),'aria-label':_0x164e0e['to']('ariaLabel'),'aria-labelledby':_0x164e0e['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5c2f10['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x318243=this['element'];_0x318243&&(this['_isScrollable']=Math['max'](_0x318243['scrollHeight'],_0x318243['clientHeight'])>0.8*window['innerHeight']);}}class k extends et{['userView'];constructor(_0xcb7b53,_0x40d396,_0x20493a){super(_0xcb7b53);const _0x50980a=this['bindTemplate'];this['userView']=new rt(_0xcb7b53,_0x40d396);const _0x3dee2f={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x40d396['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x40d396['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x40d396['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x20493a&&(_0x3dee2f['tag']='button',_0x3dee2f['on']={'click':_0x50980a['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3dee2f);}['focus'](){this['element']['focus']();}}class y extends _0x492637{['userView'];['markerView'];constructor(_0x1c481a,_0x2f1633,_0x112fec){super(_0x1c481a);const _0x43c315=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new rt(_0x1c481a,_0x2f1633),this['markerView']=new ct(_0x1c481a,_0x2f1633);const _0x48e6bc=new ot(_0x1c481a);_0x48e6bc['template']['tag']='span',_0x48e6bc['text']=_0x2f1633['name'];const _0x5ba6dc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x43c315['to']('isFocusable',_0x390a66=>!!_0x390a66&&0x0),'aria-labelledby':_0x48e6bc['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x43c315['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x43c315['to']('hasTooltip',_0x17514b=>!_0x17514b),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x48e6bc]};_0x112fec&&(_0x5ba6dc['tag']='button',_0x5ba6dc['on']={'click':_0x43c315['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5ba6dc);}}class ct extends _0x492637{constructor(_0x445a08,_0x57abb5){super(_0x445a08),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x57abb5['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class s extends _0x4da67b{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x4aa517){super(_0x4aa517),this['context']['config']['define']('presenceList',A);const _0x525000=_0x4aa517['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x525000)throw new _0x32a172('presencelist-collapseat-invalid-format',this);if(_0x525000<0x1)throw new _0x32a172('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](r)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3d8231(),this['balloonPanelView']=new _0x34ab26(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[r];}['init'](){for(const _0x33f7f7 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x33f7f7);this['listenTo'](this['_allConnectedUsers'],'add',(_0x173e44,_0x403b1a)=>{this['_handleUserAdd'](_0x403b1a);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5d2a93,_0x44347b)=>{this['_handleUserRemove'](_0x44347b);});}['_createView'](){const _0x6bd645=this['context'],_0x360026=new L(this['context']['locale']),_0x74cb5f=this['balloonPanelView'];if(!_0x43594e(_0x6bd645['config']['get']('presenceList.container')))throw new _0x32a172('presencelist-missing-container',this);return _0x360026['counterView']['bind']('usersCount')['to'](this),_0x360026['bind']('isCollapsed')['to'](this,'usersCount',_0x5de1b7=>{const {collapseAt:_0x50589e,displayMe:_0x5d8f0f}=_0x6bd645['config']['get']('presenceList'),_0x227828=_0x5de1b7>=_0x50589e;return _0x360026['counterView']['isHidden']=!(0x1==_0x5de1b7&&_0x5d8f0f||_0x227828),_0x227828||this['hideDropdown'](),_0x227828;}),_0x360026['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x337d88=>{const _0x276e8f=_0x6bd645['config']['get']('presenceList'),_0x17dc6c=new y(_0x6bd645['locale'],_0x337d88,!!_0x276e8f['onClick']);return _0x17dc6c['bind']('hasTooltip')['to'](_0x360026,'isCollapsed',_0x1f5eab=>!_0x1f5eab),_0x17dc6c['bind']('isFocusable')['to'](_0x360026,'isCollapsed',_0x11bf3e=>!_0x11bf3e),_0x276e8f['onClick']&&this['listenTo'](_0x17dc6c,'execute',()=>{this['view']['isCollapsed']||_0x276e8f['onClick'](_0x337d88,_0x17dc6c['element']);}),_0x17dc6c;}),this['listenTo'](_0x360026['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x360026['inlineListView']['keystrokes']['set']('Enter',(_0x31d0a9,_0x48a180)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x48a180());}),_0x360026['render'](),_0x74cb5f['render'](),_0xe2b371({'emitter':_0x360026,'activator':()=>_0x74cb5f['isVisible'],'contextElements':[_0x74cb5f['element'],_0x360026['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x6bd645['config']['get']('presenceList.container')['appendChild'](_0x360026['element']),this['_bodyCollection']=new _0x56bcda(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x360026;}['_handleUserAdd'](_0x300396){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x300396['isMe'])return;const _0x171e99=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x171e99&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0xaacccb=_0x300396['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x300396,_0xaacccb);}['_handleUserRemove'](_0x4b47a5){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x4b47a5['id'])&&(this['currentDisplayedUsers']['remove'](_0x4b47a5['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x412664 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x412664['id']))return void this['currentDisplayedUsers']['add'](_0x412664,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x421745=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x421745['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x3ae1d1}=this['presenceDropdownView'];_0x3ae1d1['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2e41c5=>{if(!_0x421745['displayMe']&&_0x2e41c5['isMe'])return null;const _0x38456d=new k(this['context']['locale'],_0x2e41c5,!!_0x421745['onClick']);return _0x421745['onClick']&&this['listenTo'](_0x38456d,'execute',()=>{_0x421745['onClick'](_0x2e41c5,_0x38456d['element']);}),_0x38456d;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3ae1d1['focus'](),_0x3ae1d1['checkIfScrollable']();const _0x5b6fa1=(_0x216c56,_0x40c64c)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x40c64c();};_0x3ae1d1['keystrokes']['set']('Esc',_0x5b6fa1),_0x3ae1d1['keystrokes']['set']('Shift+Tab',_0x5b6fa1),_0x3ae1d1['keystrokes']['set']('Tab',(_0x4b1dff,_0x3ba242)=>{!function(_0x32e5b2){const _0x52b9d0=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x24000f=>_0x24000f+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2a7236=[...document['body']['querySelectorAll'](_0x52b9d0)]['filter'](_0x564b2a=>_0x564b2a===document['activeElement']||_0x564b2a['offsetWidth']+_0x564b2a['offsetHeight']>0x0)['sort']((_0x3d3460,_0x4859e7)=>(_0x3d3460['tabIndex']||0x0)-(_0x4859e7['tabIndex']||0x0)),_0x4f41bd=_0x2a7236['indexOf'](_0x32e5b2),_0x37c555=_0x2a7236[(_0x4f41bd+0x1)%_0x2a7236['length']];_0x37c555&&_0x37c555['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3ba242();}),_0x3ae1d1['focusTracker']['add'](this['view']['element']),_0x3ae1d1['focusTracker']['on']('change:isFocused',(_0x35ea63,_0x1a6bdf,_0x49beb4)=>{_0x49beb4||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 _0x4da67b{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.1.0-alpha.
|
|
3
|
+
"version": "43.1.0-alpha.5",
|
|
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.1.0-alpha.
|
|
46
|
-
"@ckeditor/ckeditor5-engine": "43.1.0-alpha.
|
|
47
|
-
"@ckeditor/ckeditor5-operations-compressor": "43.1.0-alpha.
|
|
48
|
-
"@ckeditor/ckeditor5-theme-lark": "43.1.0-alpha.
|
|
49
|
-
"@ckeditor/ckeditor5-ui": "43.1.0-alpha.
|
|
50
|
-
"@ckeditor/ckeditor5-utils": "43.1.0-alpha.
|
|
51
|
-
"ckeditor5": "43.1.0-alpha.
|
|
52
|
-
"ckeditor5-collaboration": "43.1.0-alpha.
|
|
45
|
+
"@ckeditor/ckeditor5-core": "43.1.0-alpha.5",
|
|
46
|
+
"@ckeditor/ckeditor5-engine": "43.1.0-alpha.5",
|
|
47
|
+
"@ckeditor/ckeditor5-operations-compressor": "43.1.0-alpha.5",
|
|
48
|
+
"@ckeditor/ckeditor5-theme-lark": "43.1.0-alpha.5",
|
|
49
|
+
"@ckeditor/ckeditor5-ui": "43.1.0-alpha.5",
|
|
50
|
+
"@ckeditor/ckeditor5-utils": "43.1.0-alpha.5",
|
|
51
|
+
"ckeditor5": "43.1.0-alpha.5",
|
|
52
|
+
"ckeditor5-collaboration": "43.1.0-alpha.5",
|
|
53
53
|
"lodash-es": "4.17.21"
|
|
54
54
|
},
|
|
55
55
|
"types": "src/index.d.ts",
|