@ckeditor/ckeditor5-real-time-collaboration 44.3.0-alpha.3 → 44.3.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/real-time-collaboration.js +1 -1
- package/dist/index.js +6 -6
- package/package.json +14 -14
- 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/realtimecollaborativecomments/cloudservicescommentsadapter.js +1 -1
- package/src/realtimecollaborativeediting/realtimecollaborationclient.js +1 -1
- package/src/realtimecollaborativeediting/sessions.js +1 -1
- package/src/realtimecollaborativeediting/usermarkers.js +1 -1
- package/src/realtimecollaborativeediting/websocketgateway.js +1 -1
- package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +1 -1
- package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +1 -1
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{ContextPlugin as
|
|
24
|
-
((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2492ec];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x27809b){super(_0x27809b),this['set']('state',_0x256970['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x48b8ff);}['init'](){const _0x5aa535=this['context'],_0x1cd5bd=_0x5aa535['plugins']['get']('CloudServices'),_0x37d15f=_0x5aa535['plugins']['get'](_0x2492ec);if(!_0x1cd5bd['token'])throw new _0x3cc9a2('websocketgateway-missing-token',this);if(!_0x1cd5bd['webSocketUrl'])throw new _0x3cc9a2('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'](_0x1cd5bd['token'],_0x1cd5bd['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x185baf=>{if(this['connection']=_0x185baf,this['bind']('state')['to'](_0x185baf,'state',this,'_isBrowserOffline',(_0x11f2cf,_0x485507)=>('connected'!==_0x11f2cf&&(this['_shouldPluginsReconnect']=!0x0),_0x485507||_0x11f2cf!==_0x256970['CONNECTED']?_0x256970['DISCONNECTED']:this['state']==_0x256970['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x256970['CONNECTING']):_0x256970['CONNECTED'])),this['connection']['on']('error',(_0x4a40aa,_0x589f0f)=>{if('limitExceeded'!==_0x589f0f['code'])throw console['error'](_0x589f0f),new _0x3cc9a2('cloudservices-init',null,{'originalError':_0x589f0f});_0x37d15f['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'});}),!_0x185baf['me'])return new Promise(_0x5c9896=>_0x185baf['on']('change:me',_0x5c9896));})['catch'](_0x78577e=>{throw console['error'](_0x78577e),new _0x3cc9a2('cloudservices-init',null,{'originalError':_0x78577e});});}['addToReconnectionStack'](_0x3cb82b){if('function'!=typeof _0x3cb82b['reconnect'])throw new _0x3cc9a2('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x3cb82b))throw new _0x3cc9a2('websocketgateway-plugin-already-registered',this,{'name':_0x3cb82b['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x3cb82b);}['removeFromReconnectionStack'](_0x189f11){this['_reconnectionStack']['delete'](_0x189f11);}['isInReconnectionStack'](_0xc99f57){return this['_reconnectionStack']['has'](_0xc99f57);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x26c28f=>_0x26c28f['reconnect']())))['then'](()=>this['state']=_0x256970['CONNECTED'])['catch'](_0x507179=>{throw console['error'](_0x507179),new _0x3cc9a2('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x256970['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x1bf31c{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x256f41];}constructor(_0xc47f0c){super(_0xc47f0c),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xb9b57e(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x256f41);}['init'](){const _0x24d44b=this['context']['plugins']['get'](c);this['listenTo'](_0x24d44b,'change:state',(_0x4f3a85,_0xe4f113,_0x91259c)=>{if('connected'!==_0x91259c)this['channelSessions']['forEach'](_0x51a4f6=>_0x51a4f6['clear']()),this['channelConnectedUsers']['forEach'](_0x14d425=>_0x14d425['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5bc461,_0x2626de]of this['_registeredSessions'])for(const _0x567265 of _0x2626de)this['_handleSessionAdd'](_0x5bc461,_0x567265);}}),this['_createUser'](_0x24d44b['connection']['me'],!0x0);}['register'](_0xba7c4f,_0x324502){if(this['_registeredSessions']['has'](_0xba7c4f))throw new _0x3cc9a2('sessions-register-already-registered',null,{'channelId':_0xba7c4f});this['_registeredSessions']['set'](_0xba7c4f,_0x324502),this['channelSessions']['set'](_0xba7c4f,new _0xb9b57e()),this['channelConnectedUsers']['set'](_0xba7c4f,new _0xb9b57e()),this['listenTo'](_0x324502,'add',(_0x4b567d,_0x3b7b43)=>this['_handleSessionAdd'](_0xba7c4f,_0x3b7b43)),this['listenTo'](_0x324502,'remove',(_0x598cf9,_0x14bd36)=>this['_handleSessionRemove'](_0xba7c4f,_0x14bd36));for(const _0x25d7cc of _0x324502)this['_handleSessionAdd'](_0xba7c4f,_0x25d7cc);}['unregister'](_0x431ec8){if(!this['_registeredSessions']['has'](_0x431ec8))throw new _0x3cc9a2('sessions-unregister-not-exist',null,{'channelId':_0x431ec8});const _0xb2a9f0=this['_registeredSessions']['get'](_0x431ec8);this['stopListening'](_0xb2a9f0);for(const _0x13b4e6 of _0xb2a9f0)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x431ec8,_0x13b4e6);this['_registeredSessions']['delete'](_0x431ec8),this['channelSessions']['delete'](_0x431ec8),this['channelConnectedUsers']['delete'](_0x431ec8);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x5087b0){for(const _0x4d0e53 of this['channelSessions']['values']())for(const _0x2bb8c3 of _0x4d0e53)if(_0x2bb8c3['id']===_0x5087b0)return _0x2bb8c3['user'];}['getUserSessions'](_0x29464d,_0x50b0aa){const _0x17f9cd=_0x50b0aa?[this['channelSessions']['get'](_0x50b0aa)]:this['channelSessions']['values'](),_0x2611df=new Set();for(const _0x53fd08 of _0x17f9cd)for(const _0x50e22d of _0x53fd08)_0x50e22d['user']['id']===_0x29464d['id']&&_0x2611df['add'](_0x50e22d['id']);return _0x2611df;}['getUserRole'](_0x6c8b2e){for(const _0x14bf57 of this['channelSessions']['values']())for(const _0x1b0b94 of _0x14bf57)if(_0x1b0b94['user']===_0x6c8b2e)return _0x1b0b94['role'];}['_handleSessionAdd'](_0x552bf1,_0xff17d8){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x4b66d4=_0xff17d8['user'],_0x285af7=this['_users']['getUser'](_0x4b66d4['id'])||this['_createUser'](_0x4b66d4),_0x3c60e1=Object['assign']({},_0xff17d8,{'user':_0x285af7});this['channelSessions']['get'](_0x552bf1)['add'](_0x3c60e1);const _0xe9b456=this['channelConnectedUsers']['get'](_0x552bf1);_0xe9b456['has'](_0x285af7['id'])||_0xe9b456['add'](_0x285af7),this['allConnectedUsers']['has'](_0x285af7['id'])||this['allConnectedUsers']['add'](_0x285af7,_0x285af7['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x552bf1,{'channelId':_0x552bf1,'session':_0x3c60e1});}['_handleSessionRemove'](_0x570ead,_0x50f49d){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0xaacfed=this['channelConnectedUsers']['get'](_0x570ead),_0x500b6f=_0x50f49d['user'];_0x500b6f['id']&&(this['channelSessions']['get'](_0x570ead)['remove'](_0x50f49d['id']),_0xaacfed['has'](_0x500b6f['id'])&&!this['getUserSessions'](_0x500b6f,_0x570ead)['size']&&_0xaacfed['remove'](_0x500b6f['id']),this['allConnectedUsers']['get'](_0x500b6f['id'])&&!this['getUserSessions'](_0x500b6f)['size']&&this['allConnectedUsers']['remove'](_0x500b6f['id']));}['_createUser'](_0x29fa85,_0x2dbc99){const _0x4326c1=this['_users']['addUser'](_0x29fa85);return _0x2dbc99&&this['_users']['defineMe'](_0x29fa85['id']),_0x4326c1['orderNumber']=this['_uniqueUsersCount']++,_0x4326c1;}}class H extends _0x569f97{['_domEmitter']=new(_0x48b8ff())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x562ecf=this['editor'],_0x293581=_0x562ecf['plugins']['get'](i);_0x562ecf['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x341a5a,{writer:_0x593c89})=>function(_0x24a0af,_0x283a4f,_0xdb578c,_0x267d1b){const _0x12efab=_0x24a0af['markerName']['split'](':')[0x2],_0x2eda1b=_0xdb578c['getUserBySessionId'](_0x12efab);if(!_0x2eda1b||_0x12efab===_0xdb578c['mySessionId'])return;if(!_0x267d1b['model']['schema']['checkChild'](_0x24a0af['markerRange']['start'],'$text'))return;const _0x49df2f={'class':'ck-user__marker\x20'+_0x2eda1b['color']['getMarkerClass'](),'data-name':_0x2eda1b['name'],'data-session-id':_0x12efab},_0x58d8ee=_0x267d1b['model']['markers']['get'](_0x24a0af['markerName']),_0x4939d4=_0x58d8ee['getStart'](),_0x401c10=_0x4939d4['nodeAfter'],_0xf96e97=_0x267d1b['model']['schema'];if(_0x401c10&&_0xf96e97['isObject'](_0x401c10)&&_0xf96e97['isInline'](_0x401c10)&&!_0x267d1b['model']['markers']['get']('user:range:'+_0x12efab)['getRange']()['isCollapsed'])return;const _0xdf3d63=_0x4939d4['parent'];return _0x267d1b['model']['schema']['isLimit'](_0xdf3d63)&&!_0x267d1b['model']['hasContent'](_0xdf3d63)&&(_0x49df2f['contenteditable']=!0x1),function(_0x4d3a7f,_0x38b1ad,_0x16403e){const _0x589525=_0x4d3a7f['createUIElement']('span',_0x38b1ad);return _0x4d3a7f['setCustomProperty']('userPositionMarker',!0x0,_0x589525),_0x589525['render']=function(_0x1d4802){const _0x1cf310=this['toDomElement'](_0x1d4802),_0x46775c=document['createElement']('span');return _0x46775c['classList']['add']('ck-user__marker-tooltip'),_0x46775c['setAttribute']('contenteditable','false'),_0x46775c['setAttribute']('spellcheck','false'),_0x46775c['textContent']=_0x16403e['name'],_0x1cf310['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x46775c['outerHTML']+'',_0x1cf310['addEventListener']('mouseenter',()=>{_0x1cf310['classList']['add']('ck-user__marker_hovered');}),_0x1cf310['addEventListener']('mouseleave',()=>{_0x1cf310['classList']['remove']('ck-user__marker_hovered');}),_0x1cf310;},_0x589525['isSimilar']=function(_0x425a33){return!(!this['getCustomProperty']('userPositionMarker')||!_0x425a33['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x425a33['getAttribute']('data-session-id'));},_0x589525;}(_0x283a4f,_0x49df2f,_0x2eda1b);}(_0x341a5a,_0x593c89,_0x293581,_0x562ecf)}),_0x562ecf['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x47df1c=>function(_0x4f13f2,_0x3f128a){const _0x8e3ff8=_0x4f13f2['markerName']['split'](':')[0x2];if(_0x8e3ff8===_0x3f128a['mySessionId'])return null;const _0x533a6b=_0x3f128a['getUserBySessionId'](_0x8e3ff8);if(!_0x533a6b)return{'id':_0x8e3ff8,'classes':[]};return{'id':_0x8e3ff8,'classes':['ck-user__selection',_0x533a6b['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x8e3ff8},'priority':0x7d0+_0x533a6b['orderNumber']};}(_0x47df1c,_0x293581)}),function(_0x1448eb){const _0x38d3b4=_0x1448eb['model'],_0x147e9c=new Map(),_0x45b966=_0x1448eb['plugins']['get'](i);_0x38d3b4['markers']['on']('update:user:range',(_0x1d9b71,_0xc7e6e5,_0x25588c,_0x3ebe53)=>{if(!_0x3ebe53&&_0x147e9c['get'](_0xc7e6e5['name']))return _0x147e9c['get'](_0xc7e6e5['name'])['detach'](),void _0x147e9c['delete'](_0xc7e6e5['name']);const _0xb9732c=_0xc7e6e5['name']['split'](':')[0x2];if(_0xb9732c===_0x45b966['mySessionId'])return;const _0x502367='user:position:'+_0xb9732c;_0x38d3b4['markers']['has'](_0x502367)&&_0x1448eb['editing']['reconvertMarker'](_0x502367),_0xc7e6e5['on']('change:range',(_0x3e3c0b,_0x3ec97f,_0x3fa4f0)=>{if('$graveyard'!=_0x3ec97f['root']['rootName']&&'$graveyard'==_0xc7e6e5['getRange']()['root']['rootName']&&!_0x147e9c['has'](_0xc7e6e5['name'])){const _0x31af0b=_0x38d3b4['schema']['getNearestSelectionRange'](_0x3fa4f0['deletionPosition']);if(_0x31af0b){const _0x10bc21=ht['fromRange'](_0x31af0b);_0x147e9c['set'](_0xc7e6e5['name'],_0x10bc21),_0x10bc21['on']('change:range',(_0x4b2883,_0x5646ea,_0x141398)=>{if('$graveyard'==_0x10bc21['root']['rootName']){const _0x5ea51a=_0x38d3b4['schema']['getNearestSelectionRange'](_0x141398['deletionPosition']);_0x5ea51a?(_0x10bc21['start']=_0x5ea51a['start'],_0x10bc21['end']=_0x5ea51a['end']):(_0x147e9c['delete'](_0xc7e6e5['name']),_0x10bc21['detach']());}});}}});}),_0x38d3b4['document']['on']('change',()=>{_0x147e9c['size']>0x0&&_0x38d3b4['enqueueChange']({'isUndoable':!0x1},_0x3aad6f=>{for(const [_0x5e8224,_0x63b81b]of _0x147e9c)'$graveyard'==_0x38d3b4['markers']['get'](_0x5e8224)['getRange']()['root']['rootName']&&(re(_0x5e8224['split'](':')[0x2],_0x63b81b['toRange'](),_0x38d3b4,_0x3aad6f),_0x63b81b['detach']());_0x147e9c['clear']();});});}(_0x562ecf),this['_domEmitter']['listenTo'](_0x501dc7['document'],'keydown',(_0x559bc5,{key:_0x3aebc5})=>{'Escape'===_0x3aebc5&&function(_0x5960ba){_0x5960ba['editing']['view']['change'](_0x1942d4=>{for(const _0x271083 of _0x5960ba['model']['markers']){if(!_0x271083['name']['startsWith']('user:position'))continue;const _0x932555=_0x5960ba['editing']['mapper']['markerNameToElements'](_0x271083['name']);if(_0x932555){for(const _0x17325a of _0x932555)_0x1942d4['removeClass']('ck-user__marker_hovered',_0x17325a);}}});}(_0x562ecf);},{'useCapture':!0x0});}['afterInit'](){const _0x38c5cf=this['editor'],_0x36a0c9=_0x38c5cf['commands']['get']('undo');_0x36a0c9&&_0x38c5cf['model']['on']('applyOperation',(_0x2c9147,_0x7a6dfe)=>{const _0x5e06d5=_0x7a6dfe[0x0];if(!_0x5e06d5['isDocumentOperation'])return;if('marker'!=_0x5e06d5['type']||!_0x5e06d5['name']['startsWith']('user:'))return;const _0x294f14=_0x5e06d5['batch'];_0x36a0c9['_createdBatches']['has'](_0x294f14)&&(_0x5e06d5['newRange']=_0x5e06d5['oldRange']?_0x38c5cf['model']['createRange'](_0x5e06d5['oldRange']['start'],_0x5e06d5['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x55e044=this['editor'],_0xa0c4a7=_0x55e044['model']['document'],_0x479d59=_0x55e044['plugins']['get'](i);_0x55e044['model']['enqueueChange']({'isUndoable':!0x1},_0x487026=>{const _0x452a8d='user:range:'+_0x479d59['mySessionId'],_0x5e34f3='user:position:'+_0x479d59['mySessionId'],_0x770056=_0x55e044['model']['markers']['has'](_0x452a8d);_0x55e044['editing']['view']['hasDomSelection']?re(_0x479d59['mySessionId'],_0xa0c4a7['selection']['getFirstRange'](),_0x55e044['model'],_0x487026):_0x770056&&(_0x487026['removeMarker'](_0x452a8d),_0x487026['removeMarker'](_0x5e34f3));});}}function re(_0x3c699f,_0x3e783b,_0x464441,_0xbce0f8){const _0x24e66d='user:range:'+_0x3c699f,_0x47513a='user:position:'+_0x3c699f,_0x7db3f0=_0x3e783b['getContainedElement']();let _0x147a74=_0x3e783b['start'];_0x7db3f0&&_0x7db3f0['is']('element','tableCell')&&(_0x147a74=function(_0x47a307,_0x57b4ec){for(const _0x164b5f of _0x47a307['getPositions']())if(_0x57b4ec['schema']['checkChild'](_0x164b5f,'$text'))return _0x164b5f;}(_0x3e783b,_0x464441),_0x3e783b=_0xbce0f8['createRange'](_0x147a74));const _0x555140=_0xbce0f8['createRange'](_0x147a74);_0x464441['markers']['has'](_0x24e66d)?(_0xbce0f8['updateMarker'](_0x24e66d,{'range':_0x3e783b}),_0xbce0f8['updateMarker'](_0x47513a,{'range':_0x555140})):(_0xbce0f8['addMarker'](_0x24e66d,{'range':_0x3e783b,'usingOperation':!0x0}),_0xbce0f8['addMarker'](_0x47513a,{'range':_0x555140,'usingOperation':!0x0}));}function q(_0x51e997,_0x3e3220,_0x2c8cba){const _0x3b151a=_0x51e997['t'],t=_0x51e997['t'];switch(_0x3e3220){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 _0x3b151a({'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'},_0x2c8cba);default:return'';}}let K=0x1;class l extends _0x569f97{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x46d982)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,H,_0x383f8f,_0x256f41,_0x2492ec];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x3934c3=this['serverHistory']['getOperations']();for(let _0x356fa1=_0x3934c3['length']-0x1;_0x356fa1>=0x0;_0x356fa1--){const _0x2af1d6=_0x3934c3[_0x356fa1];if(!this['_disconnectionOperations']['has'](_0x2af1d6))return _0x2af1d6['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5f07b3){if(super(_0x5f07b3),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4437c4(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3cc9a2('collaboration-missing-channelid',this);const _0x329e29=_0x5f07b3['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x329e29,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x238bb9(),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 _0x3472ff=this['editor'],_0xaaccc0=_0x3472ff['plugins']['get'](_0x256f41),_0x2794e2=_0x3472ff['plugins']['get'](c);this['listenTo'](_0xaaccc0,'getOperationAuthor',(_0x40406e,_0x5b2910)=>{const _0x42f683=_0x5b2910[0x0];_0x42f683['_authorId']&&(_0x40406e['return']=_0xaaccc0['getUser'](_0x42f683['_authorId']),_0x40406e['stop']()),null===_0x42f683['_authorId']&&(_0x40406e['return']=null,_0x40406e['stop']());},{'priority':'high'}),this['listenTo'](_0x3472ff['model']['document']['selection'],'change:range',(_0x464a2d,_0x1026c8)=>{_0x1026c8['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3472ff['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3472ff['model']['on']('applyOperation',(_0x285ff5,_0x452bdc)=>{const _0x444e4f=_0x452bdc[0x0];_0x444e4f['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x444e4f),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2794e2,'state',this,'_hasSynchronizationProblem',(_0x3cd9cf,_0x2e62d3)=>'connected'===_0x3cd9cf&&!_0x2e62d3),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3472ff['disableReadOnlyMode']('rtc-offline'):_0x3472ff['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3472ff['disableReadOnlyMode']('rtc-offline'):_0x3472ff['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x197801=this['editor']['plugins']['get'](i),_0x4629f3=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x197801['unregister'](this['_channelId']);const _0xb2fad4=await this['_service']['reconnect'](_0x4629f3['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0xb2fad4)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0xd20f80=await this['_service']['getConnectedSessions']();_0x197801['register'](this['_channelId'],_0xd20f80),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2700db){if(function(_0x206f36){return'404'===_0x206f36['code'];}(_0x2700db)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x14fe8e){return'409'===_0x14fe8e['code'];}(_0x2700db)){const _0x50c1d6=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'](_0x50c1d6);}else{if(!(_0x2700db instanceof J))throw _0x2700db;this['_handleReconnectionError']();}}}}['destroy'](){const _0x536106=this['editor']['plugins']['get'](c),_0x57594e=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x57594e['channelSessions']['has'](this['_channelId'])&&_0x57594e['unregister'](this['_channelId']),_0x536106['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x331827){if(this['sessionId']!==_0x331827['sessionId']&&this['_lastSyncedOperationId']!==_0x331827['lastOperationId'])throw new J();return this['sessionId']=_0x331827['sessionId'],this['_handleServerResponse']([],{..._0x331827,'wereChangesApplied':!0x1,'data':_0x331827['data']},'reconnect');}async['_connectService'](_0x166e1c,_0x2166a0=!0x1){const {connection:_0x5194b5}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x5194b5,this['_channelId'])['then'](_0x28fb7f=>this['_initSessionsHandling'](_0x28fb7f))['catch'](_0x5a5d31=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5a5d31);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x38a7ed,_0x276358)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x276358);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x12eaf0=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x166e1c);this['_isPendingUpdate']=!0x0;const _0x321b8d=await this['_service']['connect'](_0x5194b5,this['_compressOperations'](_0x166e1c),_0x12eaf0);if(this['sessionId']=_0x321b8d['sessionId'],_0x2166a0){if(!_0x321b8d['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x321b8d['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x166e1c,_0x321b8d,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x321b8d,_0x166e1c);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x316ef8=this['editor']['plugins']['get'](i),_0x11a940=this['editor']['plugins']['get'](H),_0x38cad9=_0x316ef8['channelSessions']['get'](this['_channelId']);_0x38cad9&&_0x38cad9['length']>0x1?_0x11a940['createUserMarkerOperations']():this['listenTo'](_0x316ef8,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x316ef8['channelSessions']['get'](this['_channelId'])['length']&&_0x11a940['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0xdc9efe,_0x4d909e,_0x99c69e,_0x456700){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4d909e){const _0xe8e017=this['_decompressOperations'](_0x99c69e,_0x456700);await this['_fetchMissingUsers'](_0xe8e017),this['_handleExternalOperations'](_0xe8e017,_0x4d909e,_0x99c69e['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3a84f5}=this['editor'];let _0x342db5;try{_0x342db5=await this['_service']['getDocumentDetails']();}catch(_0x41ccb6){const _0x449551=q(_0x3a84f5,'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'](_0x449551);}const _0x4043d7=_0x342db5['currentDocumentSession']||_0x342db5['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x4043d7['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x49f2df=q(_0x3a84f5,'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'](_0x49f2df);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x433c3b){const _0xe044be=this['editor']['plugins']['get'](i);this['listenTo'](_0xe044be,'sessionAdd:'+this['_channelId'],(_0x58de54,{session:_0x310ba5})=>{if(_0x310ba5['id']===_0xe044be['mySessionId']){_0x58de54['off']();const _0x13df0c=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3e83a3=_0x310ba5['permissions'];_0x13df0c&&_0x13df0c['isEnabled']&&(_0x3e83a3=_0x3e83a3['filter'](_0x12c2b3=>'document:write'!==_0x12c2b3)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3e83a3,this['_channelId']);}}),_0xe044be['register'](this['_channelId'],_0x433c3b);}['_initThrowingOnDataSet'](){const _0x4c20fa=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x36162a)=>{if(!_0x36162a[_0x36162a['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3cc9a2('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x4c20fa['apply'](this['editor']['data'],_0x36162a);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x287dba,[_0x4a3c67])=>{if(this['_document']['version'])throw new _0x3cc9a2('realtimecollaborationclient-init-document-already-initialized',this);_0x287dba['stop'](),this['_setPendingAction']();const _0x2a9b27=this['editor']['config']['get']('rootsAttributes'),_0x479992=this['_getOperationsFromInitData'](_0x4a3c67,_0x2a9b27);0x0==_0x479992['length']&&_0x479992['push'](new _0x389070(0x0)),_0x287dba['return']=this['_connectService'](_0x479992)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x554022=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x554022))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x40b246,[_0x1b35ba,_0x3a96af])=>{_0x40b246['stop']();const _0x2f5e3e=this['editor']['model']['document']['getRoot'](_0x1b35ba);if(!this['_knownRootNames']['has'](_0x1b35ba)){const _0x56c871=_0x3a96af&&_0x3a96af['data']?_0x3a96af['data']:'',_0x704fcb=_0x3a96af&&_0x3a96af['attributes']?_0x3a96af['attributes']:{};await this['_loadRoot'](_0x1b35ba,_0x56c871,_0x704fcb);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2f5e3e['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2f5e3e);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x47531a){const _0x449146=this['editor']['plugins']['get'](_0x256f41),{connection:_0x4cdcf3}=this['editor']['plugins']['get'](c),_0x6ffef3=new Set();for(const _0x57fba8 of _0x47531a){const _0x235dd7=_0x57fba8['_authorId'];_0x235dd7&&!_0x449146['getUser'](_0x235dd7)&&_0x6ffef3['add'](_0x235dd7);}if(0x0===_0x6ffef3['size'])return;const _0x43339f=await dt['getMany'](_0x4cdcf3,Array['from'](_0x6ffef3));for(const _0x3d07ce of _0x43339f)_0x449146['getUser'](_0x3d07ce['id'])||_0x449146['addUser'](_0x3d07ce);}['_getOperationsFromInitData'](_0x36a0ab,_0x38ede0={}){const _0x23a29a=this['editor']['model'],_0x54c0c0=[];let _0x543609=0x0;const _0xb2baec='string'==typeof _0x36a0ab?{'main':_0x36a0ab}:_0x36a0ab;for(const _0x41c50f of Object['keys'](_0xb2baec)){if(!this['_document']['roots']['has'](_0x41c50f))throw new _0x3cc9a2('realtimecollaborationclient-init-non-existent-root',this);const _0x593932=this['editor']['data']['parse'](_0xb2baec[_0x41c50f]),_0x4afaec=this['_document']['getRoot'](_0x41c50f),_0x151cf9=new _0x5b8a73(_0x23a29a['createPositionAt'](_0x4afaec,0x0),_0x593932,_0x543609++);_0x54c0c0['push'](_0x151cf9);for(const [_0x43ea50,_0x43b19c]of _0x593932['markers']){const _0x1b0e95=_0x23a29a['createRange'](_0x23a29a['createPositionFromPath'](_0x4afaec,_0x43b19c['start']['path']['slice']()),_0x23a29a['createPositionFromPath'](_0x4afaec,_0x43b19c['end']['path']['slice']())),_0x536c28=new _0x1d65ad(_0x43ea50,null,_0x1b0e95,_0x23a29a['markers'],!0x0,_0x543609++);_0x54c0c0['push'](_0x536c28);}}if(_0x38ede0)for(const [_0x578f5b,_0x424389]of Object['entries'](_0x38ede0)){const _0x4465c7=_0x23a29a['document']['getRoot'](_0x578f5b);if(!_0x4465c7)throw new _0x3cc9a2('multi-root-editor-root-attributes-no-root',null);for(const [_0x4a78fb,_0x101e04]of Object['entries'](_0x424389))if(null!==_0x101e04){const _0x510bbd=new _0x480810(_0x4465c7,_0x4a78fb,null,_0x101e04,_0x543609++);_0x54c0c0['push'](_0x510bbd);}}return _0x54c0c0;}async['_loadRoot'](_0x55af28,_0x22bc22,_0x891c5d){this['_getOperationsFromInitData']({[_0x55af28]:_0x22bc22},{[_0x55af28]:_0x891c5d})['forEach']((_0x3060fb,_0xa98124)=>{_0x3060fb['baseVersion']=this['_document']['version']+_0xa98124,_0x3060fb['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x3060fb);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4a8670,_0x49e82c){let _0x34a36f;this['_offset']=_0x4a8670['offset'];const _0x4b62b1=_0x4a8670['wereChangesApplied']&&!_0x4a8670['initData'],_0x1d6ec9=_0x4b62b1?0x0:_0x4a8670['data']['baseVersion'];if(_0x49e82c['forEach'](_0x2792c4=>{_0x2792c4['_isInit']=!0x0,_0x2792c4['createdAt']=_0x4a8670['sessionCreatedAt'],_0x2792c4['_authorId']=null;}),_0x4b62b1)_0x34a36f=_0x49e82c,this['_applyOperationsSet'](_0x34a36f,_0x4b62b1);else{if(_0x4a8670['initData']){const _0x1cf537=this['_getOperationsFromInitData'](_0x4a8670['initData']);this['_document']['history']['version']=-_0x1cf537['length'],_0x1cf537['forEach'](_0xec45b6=>{_0xec45b6['baseVersion']-=_0x1cf537['length'],_0xec45b6['createdAt']=_0x4a8670['sessionCreatedAt'],_0xec45b6['_isInit']=!0x0,_0xec45b6['_authorId']=null;}),this['_applyOperationsSet'](_0x1cf537,!0x0),this['serverHistory']['version']=-_0x1cf537['length']+this['_offset'],this['_updateServerHistory'](_0x1cf537);}this['_document']['history']['version']=_0x1d6ec9,_0x34a36f=this['_decompressOperations'](_0x4a8670['data'],_0x4a8670['metadata']),await this['_fetchMissingUsers'](_0x34a36f),this['_applyOperationsSet'](_0x34a36f,_0x4b62b1);}_0x4a8670['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x34a36f,_0x4a8670['lastOperationId']),this['_lastSyncedOperationId']=_0x4a8670['lastOperationId']),this['serverHistory']['version']=_0x1d6ec9+this['_offset'],this['_updateServerHistory'](_0x34a36f),_0x49e82c['filter'](_0x24c6e3=>{const _0x34949a=this['_getAffectedRoot'](_0x24c6e3);return _0x34949a&&!this['_knownRootNames']['has'](_0x34949a);})['forEach']((_0x4e7966,_0x45b163)=>{_0x4e7966['baseVersion']=this['_document']['version']+_0x45b163,this['_saveOperationInBuffer'](_0x4e7966);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1c9940,_0x2680a5){const _0x13ce22=_0x2680a5&&_0x2680a5['message'];if(_0x13ce22&&_0x13ce22['startsWith']('realtimecollaborationclient'))throw _0x2680a5;const _0x15ca6b=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x15ca6b['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3cc9a2(_0x1c9940,this['editor'],_0x13ce22?{'originalError':_0x13ce22}:void 0x0);}['_saveOperationInBuffer'](_0x5648bf){this['_knownOperations']['has'](_0x5648bf)||(this['_knownOperations']['add'](_0x5648bf),this['_bufferedOperations']['push'](_0x5648bf),this['_pendingAction']||'marker'==_0x5648bf['type']&&!_0x5648bf['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3751ef=!0x1){!_0x3751ef&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2aace2=>{_0x2aace2&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x411395=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x596916){return _0x596916['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x596916['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x596916['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x411395)||this['_crash'](_0x411395['message'],_0x411395);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x68e8b1=>{this['on']('change:_isPendingUpdate',()=>{_0x68e8b1();});});}async['_sendBufferedOperations'](){const _0x55eb06=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x55eb06['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x324fef=[...this['_bufferedOperations']];for(const _0x25dde6 of _0x324fef)_0x25dde6['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x25dde6);const _0x37633d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x324fef),_0x238106=K++,_0x21b69b=this['_compressOperations'](_0x324fef),_0x5da86c=await this['_service']['sendOperations'](_0x21b69b,_0x21b69b['baseVersion'],_0x37633d);try{return await this['_handleServerResponse'](_0x324fef,_0x5da86c,_0x238106);}catch(_0x4c117d){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4c117d);}}async['_handleServerResponse'](_0x243358,_0x1bd097,_0x3d47b1){if('error'in _0x1bd097)throw _0x1bd097['error'];let _0x23e2d5=!0x1;if(_0x1bd097['wereChangesApplied']){_0x1bd097['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1bd097['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x275768=>!_0x243358['includes'](_0x275768));for(const _0x4caea0 of _0x243358)_0x4caea0['createdAt']='lastOperationAcceptedAt'in _0x1bd097&&_0x1bd097['lastOperationAcceptedAt']||void 0x0;Q(_0x243358,_0x1bd097['version']-_0x243358['length']),this['_updateServerHistory'](_0x243358);const _0xb24b70=_0x243358['filter'](_0x4b504c=>{if(!_0x4b504c['_isInit'])return!0x1;const _0x324ee7=this['_getAffectedRoot'](_0x4b504c);return _0x324ee7&&!this['_knownRootNames']['has'](_0x324ee7);});Q(_0xb24b70,this['_document']['version']),this['_applyOperationsSet'](_0xb24b70),_0x23e2d5=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x18050f=this['_decompressOperations'](_0x1bd097['data'],_0x1bd097['metadata'])['filter'](_0x5692ae=>_0x5692ae['baseVersion']>=this['_lastServerVersion']);_0x18050f['forEach'](_0x46c7f7=>this['_addKnownRoot'](_0x46c7f7)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5a93b3=>!_0x5a93b3['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5a93b3))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x18050f),_0x23e2d5=this['_handleExternalOperations'](_0x18050f,_0x1bd097['version'],_0x1bd097['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x23e2d5?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x5754b2,_0x42aadf,_0x154cb2){try{const _0x5a4790={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3ceb2c,operationsB:_0x58a740,originalOperations:_0x5b7e81}=_0x23d7e3(_0x5754b2,this['_bufferedOperations'],_0x5a4790);Q(_0x3ceb2c,this['_document']['version']),Q(_0x58a740,_0x42aadf);for(const _0x470616 of _0x3ceb2c){const _0x1fa2d3=_0x5b7e81['get'](_0x470616);_0x470616['_authorId']=_0x1fa2d3?_0x1fa2d3['_authorId']:null;}_0x154cb2&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5754b2,_0x154cb2),this['_lastSyncedOperationId']=_0x154cb2),this['_bufferedOperations']=[..._0x58a740],this['_applyOperationsSet'](_0x3ceb2c),this['_updateServerHistory'](_0x5754b2);}catch(_0x2c174e){return console['error'](_0x2c174e),!0x1;}return!0x0;}['_applyOperationsSet'](_0x19ddcf,_0x318642=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x347423=>{for(const _0x5808ca of _0x19ddcf)this['_knownOperations']['add'](_0x5808ca),this['_addKnownRoot'](_0x5808ca),_0x347423['batch']['addOperation'](_0x5808ca),this['editor']['model']['applyOperation'](_0x5808ca);});}['_addKnownRoot'](_0x393001){const _0x50ec97=this['_getAffectedRoot'](_0x393001);_0x50ec97&&this['_knownRootNames']['add'](_0x50ec97);}['_getAffectedRoot'](_0x29735d){let _0x5cc432,_0x139959;switch(_0x29735d['type']){case'insert':_0x5cc432=_0x29735d['position']['root'];break;case'marker':if(_0x139959=_0x29735d['newRange'],!_0x139959)return null;_0x5cc432=_0x139959['root'];break;case'addRootAttribute':_0x5cc432=_0x29735d['root'];break;case'addRoot':_0x5cc432=_0x29735d['affectedSelectable'];break;case'move':_0x5cc432=_0x29735d['targetPosition']['root'];break;default:return null;}return _0x5cc432['rootName'];}['_updateServerHistory'](_0x387fcf){_0x387fcf['forEach'](_0x23bcdb=>{const _0xbc8650=_0x23bcdb['clone']();_0xbc8650['_authorId']=_0x23bcdb['_authorId'],_0xbc8650['_isInit']=!!_0x23bcdb['_isInit'],_0xbc8650['createdAt']=_0x23bcdb['createdAt'],_0xbc8650['baseVersion']+=this['_offset'],_0x23bcdb['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xbc8650),this['serverHistory']['addOperation'](_0xbc8650);});}['_handleReconnectionError'](_0x1df9c3){const _0x944f63=this['editor']['plugins']['get']('Notification'),_0x257870=this['editor']['locale'];_0x1df9c3||(_0x1df9c3=q(_0x257870,'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.')),_0x944f63['showWarning'](_0x1df9c3,{'title':q(_0x257870,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x383f8f)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x383f8f)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x47761a){const _0x255067=_0x47761a['map'](_0x117519=>_0x117519['toJSON']());return this['_compressor']['compress'](_0x255067);}['_decompressOperations'](_0x3ec298,_0x44ab03){return this['_compressor']['decompress'](_0x3ec298)['map']((_0x501c32,_0x205e4c)=>{const _0x1a5496='init'==_0x44ab03[_0x205e4c]['type'];if('InsertOperation'==_0x501c32['__className']){const _0x1583e0=_0x501c32['position']['root'];!this['_document']['getRoot'](_0x1583e0)&&(this['_document']['createRoot']('$root',_0x1583e0)['_isAttached']=!0x1);}const _0x59d6b9=_0x4e1925['fromJSON'](_0x501c32,this['_document']);return _0x59d6b9['wasUndone']=_0x501c32['wasUndone'],_0x59d6b9['_isInit']=_0x1a5496,_0x59d6b9['_authorId']=_0x1a5496?null:_0x44ab03[_0x205e4c]['userId'],_0x59d6b9['_isDisconnection']='cs:removeUser'===_0x44ab03[_0x205e4c]['type'],_0x59d6b9['createdAt']=_0x44ab03[_0x205e4c]['createdAt'],_0x59d6b9;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5a59de=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5a59de&&_0x5a59de['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x5b3d86,_0xa20020){for(const _0x48e4dc of _0x5b3d86)_0x48e4dc['baseVersion']=_0xa20020++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x593811){this['_ignoredOperations']=_0x593811,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4b96de){let _0x5625cf=_0x4b96de['length'];for(;_0x5625cf--;){const _0xc186aa=_0x4b96de[_0x5625cf];if(!this['_ignoredOperations']['has'](_0xc186aa)){if(!this['_operationToId']['has'](_0xc186aa)){const _0x51ecee=_0x4e5327()['slice'](0x1,0x12);this['_operationToId']['set'](_0xc186aa,_0x51ecee);}return this['_operationToId']['get'](_0xc186aa);}}}['setIdForTheLastOperation'](_0x1d084c,_0x57dab0){if(!_0x57dab0)return;let _0x5e5ede=_0x1d084c['length'];for(;_0x5e5ede--;){const _0x40e39c=_0x1d084c[_0x5e5ede];this['_ignoredOperations']['has'](_0x40e39c)||this['_operationToId']['set'](_0x40e39c,_0x57dab0);}}}class n extends _0x569f97{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x1bf31c{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x4de34e)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x256f41];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2dad7b){super(_0x2dad7b),this['_services']=new Map();}async['init'](){const _0x1599d1=this['context'],_0x27bae5=_0x1599d1['plugins']['get']('CommentsRepository');if(_0x1599d1['plugins']['get'](c)['addToReconnectionStack'](this),_0x27bae5['adapter']={'addCommentThread':async({channelId:_0x38e941,threadId:_0x16cce0,comments:_0x2d9445,resolvedAt:_0x2641a0,resolvedBy:_0x2258d5,context:_0x57906b,attributes:_0x383f1f})=>{const _0x1197d4=await this['_getService'](_0x38e941)['addCommentThread']({'commentThreadId':_0x16cce0,'comments':_0x2d9445['map'](_0x14a430=>function(_0xbdc0bd,_0x398540,_0x972014){return{'commentThreadId':_0x972014,'commentId':_0xbdc0bd['commentId'],'userId':_0xbdc0bd['authorId'],'content':_0xbdc0bd['content'],'documentId':_0x398540,'createdAt':_0xbdc0bd['createdAt'],'attributes':_0xbdc0bd['attributes']||{}};}(_0x14a430,_0x38e941,_0x16cce0)),'resolvedAt':_0x2641a0,'resolvedBy':_0x2258d5,'context':_0x57906b,'attributes':_0x383f1f})['catch'](ut);return{'threadId':_0x1197d4['commentThreadId'],'comments':_0x1197d4['comments']};},'getCommentThread':async({channelId:_0x2c43e2,threadId:_0x17fa95})=>{const _0x1327dc=await this['_getService'](_0x2c43e2)['getCommentThread'](_0x17fa95)['catch'](ut);return _0x1327dc['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1327dc]),{'threadId':_0x1327dc['commentThreadId'],'comments':_0x1327dc['comments']['map'](S),'context':_0x1327dc['context'],'resolvedAt':_0x1327dc['resolvedAt'],'resolvedBy':_0x1327dc['resolvedBy'],'attributes':_0x1327dc['attributes']||{}});},'updateCommentThread':async({channelId:_0x40b014,threadId:_0x8b1f36,context:_0x3323f0,unlinkedAt:_0xd96314,attributes:_0x12ed09})=>this['_getService'](_0x40b014)['updateCommentThread']({'commentThreadId':_0x8b1f36,'context':_0x3323f0,'attributes':_0x12ed09,'unlinkedAt':_0xd96314})['catch'](B)['catch'](ut),'resolveCommentThread':async({channelId:_0x4ed26c,threadId:_0x3c3b16})=>{const _0x5ebc5a=await this['_getService'](_0x4ed26c)['resolveCommentThread'](_0x3c3b16)['catch'](B)['catch'](ut);return{'threadId':_0x5ebc5a['commentThreadId'],'resolvedAt':_0x5ebc5a['resolvedAt'],'resolvedBy':_0x5ebc5a['resolvedBy']};},'reopenCommentThread':async({channelId:_0x3b4f42,threadId:_0x2a8c1f})=>this['_getService'](_0x3b4f42)['reopenCommentThread'](_0x2a8c1f)['catch'](B)['catch'](ut),'removeCommentThread':({channelId:_0x195694,threadId:_0xe6a681})=>this['_getService'](_0x195694)['removeCommentThread'](_0xe6a681)['catch'](B)['catch'](ut),'addComment':({channelId:_0x5ba34a,threadId:_0x424f1f,commentId:_0x263aec,content:_0x100ddf,attributes:_0x38d4a7})=>this['_getService'](_0x5ba34a)['addComment'](_0x424f1f,_0x263aec,_0x100ddf,_0x38d4a7)['catch'](ut),'updateComment':({channelId:_0x153108,threadId:_0x3f9215,commentId:_0x1765a5,content:_0x57fe5a,attributes:_0x4a7cb9})=>this['_getService'](_0x153108)['updateComment'](_0x3f9215,_0x1765a5,_0x57fe5a,_0x4a7cb9)['catch'](B)['catch'](ut),'removeComment':({channelId:_0x5f57f3,threadId:_0x3e31b9,commentId:_0x451c05})=>this['_getService'](_0x5f57f3)['removeComment'](_0x3e31b9,_0x451c05)['catch'](B)['catch'](ut)},_0x1599d1 instanceof _0x45674b){const _0x2ba7b4=_0x1599d1['config']['get']('collaboration.channelId'),_0xcba385=_0x1599d1['plugins']['get'](i);await this['_setUpService'](_0x2ba7b4);const _0x2916ec=await this['_services']['get'](_0x2ba7b4)['getConnectedSessions']();this['listenTo'](_0xcba385,'sessionAdd:'+_0x2ba7b4,(_0x524963,{session:_0x14c0d2})=>{_0x14c0d2['id']===_0xcba385['mySessionId']&&(_0x524963['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x14c0d2['permissions'],_0x2ba7b4));}),_0xcba385['register'](_0x2ba7b4,_0x2916ec);}}async['_setUpService'](_0x11c196){if(this['_services']['has'](_0x11c196))throw new _0x3cc9a2('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x11c196});const _0x4d4df4=this['context']['plugins']['get']('CommentsRepository'),_0x2faae5=new a['CommentsService'](_0x11c196);this['_services']['set'](_0x11c196,_0x2faae5),this['listenTo'](_0x2faae5,'commentThreadAdded',(_0x2fc39c,_0x17befd)=>{const {commentThreadId:_0x29d715,documentId:_0x2e5e0a,context:_0x2ee1a1,attributes:_0x114fcd,resolvedAt:_0x1628b6,resolvedBy:_0x4f63cf,comments:_0x328e3c}=_0x17befd;_0x4d4df4['getCommentThread'](_0x29d715)||_0x4d4df4['addCommentThread']({'threadId':_0x29d715,'channelId':_0x2e5e0a,'comments':_0x328e3c?_0x328e3c['map'](S):[],'context':_0x2ee1a1,'attributes':_0x114fcd,'resolvedAt':_0x1628b6,'resolvedBy':_0x4f63cf,'isFromAdapter':!0x0});}),this['listenTo'](_0x2faae5,'commentThreadUpdated',(_0x2bce0a,{commentThreadId:_0x50c6d1,documentId:_0x313d55,context:_0x1fa02e,unlinkedAt:_0x5462c3,attributes:_0x113e21})=>{_0x4d4df4['getCommentThread'](_0x50c6d1)&&_0x4d4df4['updateCommentThread']({'threadId':_0x50c6d1,'channelId':_0x313d55,'context':_0x1fa02e,'unlinkedAt':_0x5462c3,'attributes':_0x113e21,'isFromAdapter':!0x0});}),this['listenTo'](_0x2faae5,'commentThreadResolved',(_0x135aa9,{commentThreadId:_0x113eed,resolvedBy:_0x336702,resolvedAt:_0x542fc0})=>{const _0x207092=_0x4d4df4['getCommentThread'](_0x113eed);_0x207092&&_0x207092['resolve']({'resolvedBy':_0x336702,'resolvedAt':_0x542fc0,'isFromAdapter':!0x0});}),this['listenTo'](_0x2faae5,'commentThreadReopened',(_0x5a293c,{commentThreadId:_0x3fa878})=>{const _0x32e064=_0x4d4df4['getCommentThread'](_0x3fa878);_0x32e064&&_0x32e064['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2faae5,'commentThreadRemoved',(_0x2145e0,{commentThreadId:_0x29dbf2})=>{const _0xd0b3b6=_0x4d4df4['getCommentThread'](_0x29dbf2);_0xd0b3b6&&_0xd0b3b6['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2faae5,'commentAdded',(_0x42ca63,_0x3ebfca)=>{const _0x5ee1eb=_0x3ebfca['commentThreadId'],_0x4665d2=_0x4d4df4['getCommentThread'](_0x5ee1eb);_0x4665d2&&_0x4665d2['addComment']({...S(_0x3ebfca),'isFromAdapter':!0x0});}),this['listenTo'](_0x2faae5,'commentUpdated',(_0x1a395c,{commentThreadId:_0x23e37c,commentId:_0x59b4ee,content:_0x5ebb6c,attributes:_0x51d879})=>{const _0x6e0df3=_0x4d4df4['getCommentThread'](_0x23e37c);if(_0x6e0df3){const _0x5ba8c3=_0x6e0df3['getComment'](_0x59b4ee);_0x5ba8c3&&_0x5ba8c3['update']({'content':_0x5ebb6c,'attributes':_0x51d879,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2faae5,'commentRemoved',(_0x28eb02,{commentThreadId:_0x4a14fe,commentId:_0x1353f9})=>{const _0x19f02d=_0x4d4df4['getCommentThread'](_0x4a14fe);if(_0x19f02d){const _0x45c281=_0x19f02d['getComment'](_0x1353f9);_0x45c281&&_0x45c281['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x11c196);}['destroy'](){if(this['context']instanceof _0x45674b){const _0x29b6a=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x29b6a);}}['_terminateService'](_0x4ffb1b){if(!this['_services']['has'](_0x4ffb1b))throw new _0x3cc9a2('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4ffb1b});this['_getService'](_0x4ffb1b)['disconnect'](),this['_services']['delete'](_0x4ffb1b);}async['reconnect'](){for(const _0x55a82d of this['_services']['keys']())await this['_connectService'](_0x55a82d);if(this['context']instanceof _0x45674b){const _0x4b7ad8=this['context']['config']['get']('collaboration.channelId'),_0x28cd4f=this['context']['plugins']['get'](i);_0x28cd4f['unregister'](_0x4b7ad8);const _0x40aa00=await this['_services']['get'](_0x4b7ad8)['getConnectedSessions']();_0x28cd4f['register'](_0x4b7ad8,_0x40aa00);}}async['_connectService'](_0x59d19d){const {connection:_0x468d60}=this['context']['plugins']['get'](c),_0x3b9cb5=this['context']['plugins']['get']('CommentsRepository'),_0x5bd737=this['_services']['get'](_0x59d19d),_0x321d79=await _0x5bd737['connect'](_0x468d60);await this['_fetchMissingUsersForThreads'](_0x321d79);const _0x16efea=new Set(Array['from'](_0x3b9cb5['getCommentThreads']({'channelId':_0x59d19d}),_0x4bbf3a=>_0x4bbf3a['id']));for(const _0x1c6acb of _0x321d79)_0x1c6acb['deletedAt']||_0x16efea['delete'](_0x1c6acb['commentThreadId']);for(const _0x4cc7c6 of _0x16efea)_0x3b9cb5['getCommentThread'](_0x4cc7c6)['remove']({'isFromAdapter':!0x0});for(const _0x332545 of _0x321d79){let _0x12a46b=_0x3b9cb5['getCommentThread'](_0x332545['commentThreadId']);const {commentThreadId:_0x18c6d3,context:_0x28f942,attributes:_0x22b150,resolvedBy:_0x25e920,resolvedAt:_0x435b77,unlinkedAt:_0x37dba2,deletedAt:_0x3db219}=_0x332545;if(_0x3db219)continue;_0x12a46b||(_0x12a46b=_0x3b9cb5['addCommentThread']({'channelId':_0x59d19d,'threadId':_0x18c6d3,'context':_0x28f942,'attributes':_0x22b150||{},'resolvedBy':_0x25e920,'resolvedAt':_0x435b77,'unlinkedAt':_0x37dba2,'isFromAdapter':!0x0}));const _0x5ef710=new Set(Array['from'](_0x12a46b['comments'],_0x8bda8b=>_0x8bda8b['id']));for(const _0x3272da of _0x332545['comments'])_0x5ef710['delete'](_0x3272da['commentId']);for(const _0xb39d8a of _0x5ef710)_0x12a46b['getComment'](_0xb39d8a)['remove']({'isFromAdapter':!0x0});for(const _0xdf82c7 of _0x332545['comments']){const _0x4c35bf=_0x12a46b['getComment'](_0xdf82c7['commentId']);_0x4c35bf?_0x4c35bf['content']!==_0xdf82c7['content']&&_0x4c35bf['update']({'content':_0xdf82c7['content'],'isFromAdapter':!0x0}):_0x12a46b['addComment'](Object['assign'](S(_0xdf82c7),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1fd893){if(!this['_services']['has'](_0x1fd893))throw new _0x3cc9a2('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1fd893});return this['_services']['get'](_0x1fd893);}async['_fetchMissingUsersForThreads'](_0x1525bd){const _0x470608=this['context']['plugins']['get'](_0x256f41),{connection:_0x4a5340}=this['context']['plugins']['get'](c),_0x42391c=new Set();for(const {resolvedBy:_0x39e4ae,comments:_0x3f4d54}of _0x1525bd){_0x39e4ae&&!_0x470608['getUser'](_0x39e4ae)&&_0x42391c['add'](_0x39e4ae);for(const {userId:_0xa5309b}of _0x3f4d54)_0x470608['getUser'](_0xa5309b)||_0x42391c['add'](_0xa5309b);}if(0x0===_0x42391c['size'])return;const _0x5b1954=await dt['getMany'](_0x4a5340,Array['from'](_0x42391c));for(const _0x2b8c20 of _0x5b1954)_0x470608['getUser'](_0x2b8c20['id'])||_0x470608['addUser'](_0x2b8c20);}}async function B(_0x73389){if('404'!==_0x73389['code'])throw _0x73389;}function ut(_0x560e43){if((_0x2ce58f=_0x560e43)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2ce58f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2ce58f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2ce58f;throw _0x560e43;}function S(_0x58c731){return{'threadId':_0x58c731['commentThreadId'],'commentId':_0x58c731['commentId'],'content':_0x58c731['content'],'createdAt':_0x58c731['createdAt'],'authorId':_0x58c731['userId'],'attributes':_0x58c731['attributes']||{}};}class f extends _0x569f97{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x256f41];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x24431a){super(_0x24431a);const _0x123f4e=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x123f4e);}async['init'](){const _0x18a4c8=this['editor']['plugins']['get'](l),_0x4ccbd4=_0x18a4c8['serverHistory'],_0x5c8aba=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x4ccbd4,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x18a4c8['sessionId']});const _0x23f907=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x208ad9=await tt['isBundleUploaded'](_0x5c8aba['connection'],_0x23f907);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x110f65})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x110f65)),'updateRevisions':async _0x329c64=>{await this['_waitForServiceReady']();const _0x4d6438=this['_revisionTracker']['currentRevision'];if(_0x208ad9&&0x1===_0x329c64['length']&&_0x329c64[0x0]['id']===_0x4d6438['id'])return _0x329c64;for(const _0x44df28 of _0x329c64)_0x44df28['id']===_0x4d6438['id']&&(_0x44df28['isEmptyCurrent']=_0x44df28['fromVersion']===_0x44df28['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x329c64,this['_lastRequestId'])['then'](_0x395964=>(this['_lastRequestId']=_0x395964,_0x329c64))['catch'](_0x4f2352=>{if(st(_0x4f2352)||'400'===_0x4f2352['code']&&void 0x0!==_0x4f2352['data']['wrongRequestId']){for(const _0x24c443 of _0x329c64){!this['_revisionTracker']['repository']['getRevision'](_0x24c443['id'])||this['_revisionTracker']['_bufferUpdate'](_0x24c443['id'],_0x24c443,!0x1);}if(st(_0x4f2352))throw _0x4f2352;return _0x329c64;}throw _0x4f2352;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x54d65b,{revisionsData:_0x2c321e,requestId:_0x31ad85})=>{Math['max'](..._0x2c321e['map'](_0x56bc8b=>_0x56bc8b['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2c321e,_0x31ad85);}):this['_handleRevisionsUpdate'](_0x2c321e,_0x31ad85);});const {revisions:_0x2a5b7c,requestId:_0x4e672b}=await this['_revisionHistoryService']['connect'](_0x5c8aba['connection']);_0x5c8aba['addToReconnectionStack'](this),this['_lastRequestId']=_0x4e672b,await this['_fetchMissingUsers'](_0x2a5b7c);for(const _0x11aacb of _0x2a5b7c)this['_revisionTracker']['addRevisionData'](_0x11aacb);this['listenTo'](_0x18a4c8,'change:_isConnected',(_0x94b818,_0x4c1ae9,_0x5c9165)=>{_0x5c9165&&(this['_oldOffset']=_0x18a4c8['_offset'],_0x94b818['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5c8aba,'state',_0x25161b=>_0x25161b===_0x256970['CONNECTED']);}async['reconnect'](){const _0x2b5790=this['editor']['plugins']['get'](c),_0x37eae2=this['editor']['plugins']['get'](l),_0x54aa51=async()=>{const _0x396084=this['_revisionTracker']['currentRevision'],_0x5be8d6=_0x396084['id'],_0x426d6c=_0x5be8d6!==_0x37eae2['sessionId'];if(_0x426d6c){const _0xb45fb=_0x37eae2['_offset']-this['_oldOffset'],_0x4278c0=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x396084['toVersion']+_0xb45fb!==_0x4278c0){const _0x4cb365=_0x396084['fromVersion']+_0xb45fb,_0x912193=this['editor']['plugins']['get'](_0x256f41),_0x309f24=this['_revisionTracker']['buildRevisionData']({'revision':_0x396084,'from':_0x4cb365,'to':_0x4278c0});_0x309f24['id']=_0x396084['id'];const _0x13b823=_0x309f24['authorsIds']['map'](_0x3f7741=>_0x912193['getUser'](_0x3f7741));_0x396084['_update']({..._0x309f24,'authors':_0x13b823},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x396084['id'],_0x309f24,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4278c0,(_0x396084['toVersion']===_0x396084['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x5be8d6)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x5be8d6),this['_revisionTracker']['_createCurrentRevision'](_0x4278c0));}const {revisions:_0x242d83,requestId:_0x3905d5}=await this['_revisionHistoryService']['reconnect'](_0x2b5790['connection'],this['_lastRequestId']);_0x426d6c&&_0x242d83['length']>0x0?_0x37eae2['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x242d83),this['_handleRevisionsUpdate'](_0x242d83,_0x3905d5),this['_revisionTracker']['sendBufferedUpdates']());};return _0x37eae2['_isConnected']?_0x54aa51():new Promise((_0x55da71,_0x1952ef)=>{_0x37eae2['once']('change:_isConnected',()=>{_0x54aa51()['then'](_0x55da71)['catch'](_0x1952ef);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x24fefe=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x53fcea=>{_0x53fcea['off'](),_0x24fefe();});});}['_getLatestVersionFromServerOperations'](){const _0x425f50=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x12f262 of _0x425f50)if('marker'!==_0x12f262['type']||_0x12f262['affectsData'])return _0x12f262['baseVersion']+0x1;}['_getLatestVersion'](){const _0x8e9622=this['editor']['plugins']['get'](l);return new Promise(_0x5f13f8=>{_0x8e9622['_isPendingUpdate']?_0x8e9622['once']('change:_isPendingUpdate',()=>{_0x5f13f8(this['_getLatestVersionFromServerOperations']());}):_0x5f13f8(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5029ca,_0x334329){const _0x11e2f7=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x334329;for(const _0x53654f of _0x5029ca){const _0x1044b7=_0x11e2f7['getRevision'](_0x53654f['id']);if(_0x1044b7){if((_0x53654f['fromVersion']||_0x53654f['toVersion'])&&(_0x53654f['diffData']=null),_0x1044b7===this['_revisionTracker']['currentRevision']){const _0x39084f=Math['max'](_0x1044b7['toVersion'],_0x53654f['toVersion']),_0x5e8953=Math['max'](_0x1044b7['fromVersion'],_0x53654f['fromVersion']);let _0x13c911;_0x1044b7['toVersion']===_0x53654f['toVersion']&&_0x1044b7['fromVersion']===_0x53654f['fromVersion']?(_0x13c911=!0x0,this['_preventResendingRevisionData'](_0x53654f)):_0x53654f['toVersion']===_0x39084f&&_0x53654f['fromVersion']===_0x5e8953?_0x13c911=!0x1:(_0x1044b7['toVersion']===_0x39084f&&_0x1044b7['fromVersion']===_0x5e8953||this['_fixRevision']({'revision':_0x1044b7,'from':_0x5e8953,'to':_0x39084f}),_0x13c911=!0x0),_0x13c911&&(delete _0x53654f['fromVersion'],delete _0x53654f['toVersion'],delete _0x53654f['diffData'],delete _0x53654f['createdAt'],delete _0x53654f['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x53654f),this['_preventResendingRevisionData'](_0x53654f);}else this['_revisionTracker']['addRevisionData'](_0x53654f);}const _0x12d20b=_0x11e2f7['getRevisions']();_0x12d20b['reverse']();for(let _0x34431b=0x0;_0x34431b<_0x12d20b['length']-0x1;_0x34431b++){const _0x14a701=_0x12d20b[_0x34431b],_0x4cf9fe=_0x12d20b[_0x34431b+0x1];if(_0x14a701['fromVersion']<_0x4cf9fe['toVersion']){const _0x29b963=_0x4cf9fe['toVersion'],_0x5a40c9=Math['max'](_0x29b963,_0x14a701['toVersion']);this['_fixRevision']({'revision':_0x14a701,'from':_0x29b963,'to':_0x5a40c9});}}}['_fixRevision']({revision:_0x26d033,from:_0x283f58,to:_0x400c7a}={}){const _0x5eb788=this['editor']['plugins']['get'](_0x256f41),_0x29d090=this['_revisionTracker']['buildRevisionData']({'revision':_0x26d033,'from':_0x283f58,'to':_0x400c7a});_0x29d090['authors']=_0x29d090['authorsIds']['map'](_0x369b73=>_0x5eb788['getUser'](_0x369b73)),_0x26d033['_update'](_0x29d090);}['_preventResendingRevisionData'](_0x92a853){const _0x205bb9={};_0x205bb9['id']=_0x92a853['id'];for(const _0x12a630 of Object['keys'](_0x92a853))'id'!==_0x12a630&&(_0x205bb9[_0x12a630]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x205bb9['id'],_0x205bb9,!0x0);}async['_fetchMissingUsers'](_0x1e64cc){const _0x482d5c=this['editor']['plugins']['get'](_0x256f41),{connection:_0x512f00}=this['editor']['plugins']['get'](c),_0x195d94=new Set();for(const _0x48b201 of _0x1e64cc){for(const _0x16add4 of _0x48b201['authorsIds'])_0xf13d3e(_0x16add4);_0x48b201['creatorId']&&_0xf13d3e(_0x48b201['creatorId']);}if(0x0===_0x195d94['size'])return;const _0x231dc0=await dt['getMany'](_0x512f00,Array['from'](_0x195d94));for(const _0x83d0ac of _0x231dc0)_0x482d5c['getUser'](_0x83d0ac['id'])||_0x482d5c['addUser'](_0x83d0ac);function _0xf13d3e(_0x433fdb){_0x482d5c['getUser'](_0x433fdb)||_0x195d94['add'](_0x433fdb);}}}function st(_0x2c842d){return _0x2c842d['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2c842d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2c842d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x569f97{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x4abdf7{constructor(_0x544196){super(_0x544196);const _0x104cef=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x104cef['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x104cef['to']('usersCount',_0xe6ca77=>q(_0x544196,'CONNECTED_USERS',_0xe6ca77))}]});}}class es extends _0x4abdf7{['items'];['keystrokes'];constructor(_0x430c06){super(_0x430c06);const _0x593fad=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1030f8(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x593fad['if']('hasPopup'),'aria-expanded':_0x593fad['to']('isExpanded',_0x1b40c9=>this['hasPopup']&&String(_0x1b40c9)),'aria-label':_0x593fad['to']('hasPopup',_0x5b8ec3=>q(_0x430c06,_0x5b8ec3?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x593fad['to']('hasPopup',_0x7a0381=>!!_0x7a0381&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x593fad['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x543112,_0x46e52d,_0x5e04b9)=>{this['element']&&(_0x5e04b9?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 _0x4abdf7{['counterView'];['inlineListView'];constructor(_0x2c28cc){super(_0x2c28cc);const _0x775618=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x2c28cc),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5016e0 of this['inlineListView']['items'])_0x5016e0['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',_0x775618['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x4abdf7{['listWrapperView'];constructor(_0x566356,_0x1e9bb9){super(_0x566356),this['listWrapperView']=new mt(_0x566356,_0x1e9bb9),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x566356,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class mt extends _0x2b30ba{constructor(_0x4f7520,_0x56ea07){super(_0x4f7520);const _0x2ee108=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x56ea07?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2ee108['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2ee108['to']('role'),'aria-label':_0x2ee108['to']('ariaLabel'),'aria-labelledby':_0x2ee108['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x501dc7['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x31e317=this['element'];_0x31e317&&(this['_isScrollable']=Math['max'](_0x31e317['scrollHeight'],_0x31e317['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0x5cc25d,_0x206ea2,_0x44fc77){super(_0x5cc25d);const _0x40b374=this['bindTemplate'];this['userView']=new ct(_0x5cc25d,_0x206ea2);const _0x48e5b5={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x206ea2['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x206ea2['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x206ea2['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x44fc77&&(_0x48e5b5['tag']='button',_0x48e5b5['on']={'click':_0x40b374['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x48e5b5);}['focus'](){this['element']['focus']();}}class y extends _0x4abdf7{['userView'];['markerView'];constructor(_0x3220c7,_0x3e1ed7,_0x435e86){super(_0x3220c7);const _0x499c62=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x3220c7,_0x3e1ed7),this['markerView']=new at(_0x3220c7,_0x3e1ed7);const _0x57a6cf=new ot(_0x3220c7);_0x57a6cf['template']['tag']='span',_0x57a6cf['text']=_0x3e1ed7['name'];const _0x2c7d23={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x499c62['to']('isFocusable',_0x1dd30d=>!!_0x1dd30d&&0x0),'aria-labelledby':_0x57a6cf['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x499c62['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x499c62['to']('hasTooltip',_0x49dac2=>!_0x49dac2),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x57a6cf]};_0x435e86&&(_0x2c7d23['tag']='button',_0x2c7d23['on']={'click':_0x499c62['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2c7d23);}}class at extends _0x4abdf7{constructor(_0x53b1eb,_0x34555a){super(_0x53b1eb),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x34555a['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1bf31c{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x3355b2){super(_0x3355b2),this['context']['config']['define']('presenceList',A);const _0x40ffba=_0x3355b2['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x40ffba)throw new _0x3cc9a2('presencelist-collapseat-invalid-format',this);if(_0x40ffba<0x1)throw new _0x3cc9a2('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xb9b57e(),this['balloonPanelView']=new _0x50768e(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x16e0a4 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x16e0a4);this['listenTo'](this['_allConnectedUsers'],'add',(_0x2fd557,_0x818313)=>{this['_handleUserAdd'](_0x818313);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x43e31c,_0x4797e7)=>{this['_handleUserRemove'](_0x4797e7);});}['_createView'](){const _0x4c64c9=this['context'],_0x4db26a=new L(this['context']['locale']),_0xeba5f1=this['balloonPanelView'];if(!_0x363bb3(_0x4c64c9['config']['get']('presenceList.container')))throw new _0x3cc9a2('presencelist-missing-container',this);return _0x4db26a['counterView']['bind']('usersCount')['to'](this),_0x4db26a['bind']('isCollapsed')['to'](this,'usersCount',_0x4275c6=>{const {collapseAt:_0x26fbc3,displayMe:_0x1f8167}=_0x4c64c9['config']['get']('presenceList'),_0x5323ea=_0x4275c6>=_0x26fbc3;return _0x4db26a['counterView']['isHidden']=!(0x1==_0x4275c6&&_0x1f8167||_0x5323ea),_0x5323ea||this['hideDropdown'](),_0x5323ea;}),_0x4db26a['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x7c8840=>{const _0x3b83d0=_0x4c64c9['config']['get']('presenceList'),_0x1c2551=new y(_0x4c64c9['locale'],_0x7c8840,!!_0x3b83d0['onClick']);return _0x1c2551['bind']('hasTooltip')['to'](_0x4db26a,'isCollapsed',_0xfa2f06=>!_0xfa2f06),_0x1c2551['bind']('isFocusable')['to'](_0x4db26a,'isCollapsed',_0x1ef2ca=>!_0x1ef2ca),_0x3b83d0['onClick']&&this['listenTo'](_0x1c2551,'execute',()=>{this['view']['isCollapsed']||_0x3b83d0['onClick'](_0x7c8840,_0x1c2551['element']);}),_0x1c2551;}),this['listenTo'](_0x4db26a['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x4db26a['inlineListView']['keystrokes']['set']('Enter',(_0x3770c2,_0x1b8062)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1b8062());}),_0x4db26a['render'](),_0xeba5f1['render'](),_0x19cfcf({'emitter':_0x4db26a,'activator':()=>_0xeba5f1['isVisible'],'contextElements':[_0xeba5f1['element'],_0x4db26a['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4c64c9['config']['get']('presenceList.container')['appendChild'](_0x4db26a['element']),this['_bodyCollection']=new _0x37b47d(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4db26a;}['_handleUserAdd'](_0x533747){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x533747['isMe'])return;const _0x5206c1=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x5206c1&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x4ca499=_0x533747['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x533747,_0x4ca499);}['_handleUserRemove'](_0x5388bb){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x5388bb['id'])&&(this['currentDisplayedUsers']['remove'](_0x5388bb['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x4080df of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x4080df['id']))return void this['currentDisplayedUsers']['add'](_0x4080df,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x27e7e5=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x27e7e5['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x2ec52d}=this['presenceDropdownView'];_0x2ec52d['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x35eb92=>{if(!_0x27e7e5['displayMe']&&_0x35eb92['isMe'])return null;const _0x30cd73=new k(this['context']['locale'],_0x35eb92,!!_0x27e7e5['onClick']);return _0x27e7e5['onClick']&&this['listenTo'](_0x30cd73,'execute',()=>{_0x27e7e5['onClick'](_0x35eb92,_0x30cd73['element']);}),_0x30cd73;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2ec52d['focus'](),_0x2ec52d['checkIfScrollable']();const _0x1c94ef=(_0x51896b,_0x3d18c1)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3d18c1();};_0x2ec52d['keystrokes']['set']('Esc',_0x1c94ef),_0x2ec52d['keystrokes']['set']('Shift+Tab',_0x1c94ef),_0x2ec52d['keystrokes']['set']('Tab',(_0x210865,_0x262f15)=>{!function(_0x30b967){const _0xc58848=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x185c7d=>_0x185c7d+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5cb2c3=[...document['body']['querySelectorAll'](_0xc58848)]['filter'](_0x19ef77=>_0x19ef77===document['activeElement']||_0x19ef77['offsetWidth']+_0x19ef77['offsetHeight']>0x0)['sort']((_0xf1b049,_0xab5e2f)=>(_0xf1b049['tabIndex']||0x0)-(_0xab5e2f['tabIndex']||0x0)),_0x4d8e61=_0x5cb2c3['indexOf'](_0x30b967),_0x4c8cd7=_0x5cb2c3[(_0x4d8e61+0x1)%_0x5cb2c3['length']];_0x4c8cd7&&_0x4c8cd7['focus']();}(this['view']['element']),this['hideDropdown'](),_0x262f15();}),_0x2ec52d['focusTracker']['add'](this['view']['element']),_0x2ec52d['focusTracker']['on']('change:isFocused',(_0x924ab7,_0x4dc67d,_0x295b46)=>{_0x295b46||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 s extends _0x1bf31c{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};
|
|
23
|
+
import{ContextPlugin as _0x32de9b,Plugin as _0x3111a4,PendingActions as _0x58eebd,Context as _0x160987}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x540faa,CKEditorError as _0x5f7cec,Collection as _0x1e8fd0,global as _0x3d711e,version as ht,uid as _0x37ac80,KeystrokeHandler as _0x5ef21e}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x4d6a84,View as _0x105e30,ListView as _0x1ba598,ListItemView as at,LabelView as pt,BalloonPanelView as _0x198394,clickOutsideHandler as _0x4d04fe,BodyCollection as _0x1921bb}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ut,History as _0x2314a1,NoOperation as _0x54f299,InsertOperation as _0x1ea601,MarkerOperation as _0x239708,RootAttributeOperation as _0x2aa2a4,transformSets as _0x147829,OperationFactory as _0x2893d2}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ft,WEB_SOCKET_GATEWAY_STATES as _0x35cc25,CollaborativeEditingService as _0x489ee1,User as mt,CommentsService as tt,TrackChangesService as it,RevisionHistoryService as ct,EditorService as rt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x3f765e,UserView as lt}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x1d79bb}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x2a93db}from'lodash-es';class c extends _0x32de9b{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>ft)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x4d6a84];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x515601){super(_0x515601),this['set']('state',_0x35cc25['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x540faa);}['init'](){const _0x1eb40f=this['context'],_0x5e5f54=_0x1eb40f['plugins']['get']('CloudServices'),_0x28b2e5=_0x1eb40f['plugins']['get'](_0x4d6a84);if(!_0x5e5f54['token'])throw new _0x5f7cec('websocketgateway-missing-token',this);if(!_0x5e5f54['webSocketUrl'])throw new _0x5f7cec('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'](_0x5e5f54['token'],_0x5e5f54['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x373826=>{if(this['connection']=_0x373826,this['bind']('state')['to'](_0x373826,'state',this,'_isBrowserOffline',(_0x1b0714,_0x1752fc)=>('connected'!==_0x1b0714&&(this['_shouldPluginsReconnect']=!0x0),_0x1752fc||_0x1b0714!==_0x35cc25['CONNECTED']?_0x35cc25['DISCONNECTED']:this['state']==_0x35cc25['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x35cc25['CONNECTING']):_0x35cc25['CONNECTED'])),this['connection']['on']('error',(_0x13466d,_0x3f7b6e)=>{if('limitExceeded'!==_0x3f7b6e['code'])throw console['error'](_0x3f7b6e),new _0x5f7cec('cloudservices-init',null,{'originalError':_0x3f7b6e});_0x28b2e5['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'});}),!_0x373826['me'])return new Promise(_0x31227d=>_0x373826['on']('change:me',_0x31227d));})['catch'](_0x844f9=>{throw console['error'](_0x844f9),new _0x5f7cec('cloudservices-init',null,{'originalError':_0x844f9});});}['addToReconnectionStack'](_0x5f983e){if('function'!=typeof _0x5f983e['reconnect'])throw new _0x5f7cec('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5f983e))throw new _0x5f7cec('websocketgateway-plugin-already-registered',this,{'name':_0x5f983e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5f983e);}['removeFromReconnectionStack'](_0x2e3dd0){this['_reconnectionStack']['delete'](_0x2e3dd0);}['isInReconnectionStack'](_0x5964f2){return this['_reconnectionStack']['has'](_0x5964f2);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x250d91=>_0x250d91['reconnect']())))['then'](()=>this['state']=_0x35cc25['CONNECTED'])['catch'](_0x5a544a=>{throw console['error'](_0x5a544a),new _0x5f7cec('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x35cc25['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x32de9b{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x3f765e];}constructor(_0x358ee2){super(_0x358ee2),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1e8fd0(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3f765e);}['init'](){const _0x3a9367=this['context']['plugins']['get'](c);this['listenTo'](_0x3a9367,'change:state',(_0x5ce908,_0x4978f0,_0x3e74b3)=>{if('connected'!==_0x3e74b3)this['channelSessions']['forEach'](_0x6f9be6=>_0x6f9be6['clear']()),this['channelConnectedUsers']['forEach'](_0x2366a7=>_0x2366a7['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3828e9,_0x5e52a3]of this['_registeredSessions'])for(const _0x3e2651 of _0x5e52a3)this['_handleSessionAdd'](_0x3828e9,_0x3e2651);}}),this['_createUser'](_0x3a9367['connection']['me'],!0x0);}['register'](_0x69824c,_0x1aad40){if(this['_registeredSessions']['has'](_0x69824c))throw new _0x5f7cec('sessions-register-already-registered',null,{'channelId':_0x69824c});this['_registeredSessions']['set'](_0x69824c,_0x1aad40),this['channelSessions']['set'](_0x69824c,new _0x1e8fd0()),this['channelConnectedUsers']['set'](_0x69824c,new _0x1e8fd0()),this['listenTo'](_0x1aad40,'add',(_0x2c5358,_0x5b7949)=>this['_handleSessionAdd'](_0x69824c,_0x5b7949)),this['listenTo'](_0x1aad40,'remove',(_0x110345,_0x2b3b86)=>this['_handleSessionRemove'](_0x69824c,_0x2b3b86));for(const _0x569591 of _0x1aad40)this['_handleSessionAdd'](_0x69824c,_0x569591);}['unregister'](_0xab2690){if(!this['_registeredSessions']['has'](_0xab2690))throw new _0x5f7cec('sessions-unregister-not-exist',null,{'channelId':_0xab2690});const _0x43b49f=this['_registeredSessions']['get'](_0xab2690);this['stopListening'](_0x43b49f);for(const _0x2cc67c of _0x43b49f)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0xab2690,_0x2cc67c);this['_registeredSessions']['delete'](_0xab2690),this['channelSessions']['delete'](_0xab2690),this['channelConnectedUsers']['delete'](_0xab2690);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x5c95b4){for(const _0x282cc4 of this['channelSessions']['values']())for(const _0x3f5c37 of _0x282cc4)if(_0x3f5c37['id']===_0x5c95b4)return _0x3f5c37['user'];}['getUserSessions'](_0x12497a,_0x3fe78b){const _0x2f6714=_0x3fe78b?[this['channelSessions']['get'](_0x3fe78b)]:this['channelSessions']['values'](),_0x3d1885=new Set();for(const _0x3e9a3b of _0x2f6714)for(const _0x210aa4 of _0x3e9a3b)_0x210aa4['user']['id']===_0x12497a['id']&&_0x3d1885['add'](_0x210aa4['id']);return _0x3d1885;}['getUserRole'](_0x228985){for(const _0x494ff3 of this['channelSessions']['values']())for(const _0x3c01ac of _0x494ff3)if(_0x3c01ac['user']===_0x228985)return _0x3c01ac['role'];}['_handleSessionAdd'](_0x21a42f,_0x5cf1aa){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x12ceae=_0x5cf1aa['user'],_0x362e12=this['_users']['getUser'](_0x12ceae['id'])||this['_createUser'](_0x12ceae),_0x4fca5e=Object['assign']({},_0x5cf1aa,{'user':_0x362e12});this['channelSessions']['get'](_0x21a42f)['add'](_0x4fca5e);const _0xc24b93=this['channelConnectedUsers']['get'](_0x21a42f);_0xc24b93['has'](_0x362e12['id'])||_0xc24b93['add'](_0x362e12),this['allConnectedUsers']['has'](_0x362e12['id'])||this['allConnectedUsers']['add'](_0x362e12,_0x362e12['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x21a42f,{'channelId':_0x21a42f,'session':_0x4fca5e});}['_handleSessionRemove'](_0x3aad9f,_0x10aa5c){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x255d1b=this['channelConnectedUsers']['get'](_0x3aad9f),_0x1ae697=_0x10aa5c['user'];_0x1ae697['id']&&(this['channelSessions']['get'](_0x3aad9f)['remove'](_0x10aa5c['id']),_0x255d1b['has'](_0x1ae697['id'])&&!this['getUserSessions'](_0x1ae697,_0x3aad9f)['size']&&_0x255d1b['remove'](_0x1ae697['id']),this['allConnectedUsers']['get'](_0x1ae697['id'])&&!this['getUserSessions'](_0x1ae697)['size']&&this['allConnectedUsers']['remove'](_0x1ae697['id']));}['_createUser'](_0x37fccf,_0x52cd06){const _0x5d9961=this['_users']['addUser'](_0x37fccf);return _0x52cd06&&this['_users']['defineMe'](_0x37fccf['id']),_0x5d9961['orderNumber']=this['_uniqueUsersCount']++,_0x5d9961;}}class N extends _0x3111a4{['_domEmitter']=new(_0x540faa())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x83a3c2=this['editor'],_0x533bca=_0x83a3c2['plugins']['get'](i);_0x83a3c2['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x48e45a,{writer:_0x577025})=>function(_0x41caf3,_0x2a38b1,_0x7bc768,_0x1c8aeb){const _0x5c37c3=_0x41caf3['markerName']['split'](':')[0x2],_0x75792f=_0x7bc768['getUserBySessionId'](_0x5c37c3);if(!_0x75792f||_0x5c37c3===_0x7bc768['mySessionId'])return;if(!_0x1c8aeb['model']['schema']['checkChild'](_0x41caf3['markerRange']['start'],'$text'))return;const _0x586b43={'class':'ck-user__marker\x20'+_0x75792f['color']['getMarkerClass'](),'data-name':_0x75792f['name'],'data-session-id':_0x5c37c3},_0x42cecc=_0x1c8aeb['model']['markers']['get'](_0x41caf3['markerName']),_0x5c0cdd=_0x42cecc['getStart'](),_0x4a6592=_0x5c0cdd['nodeAfter'],_0x4e2973=_0x1c8aeb['model']['schema'];if(_0x4a6592&&_0x4e2973['isObject'](_0x4a6592)&&_0x4e2973['isInline'](_0x4a6592)&&!_0x1c8aeb['model']['markers']['get']('user:range:'+_0x5c37c3)['getRange']()['isCollapsed'])return;const _0x4f3571=_0x5c0cdd['parent'];return _0x1c8aeb['model']['schema']['isLimit'](_0x4f3571)&&!_0x1c8aeb['model']['hasContent'](_0x4f3571)&&(_0x586b43['contenteditable']=!0x1),function(_0x255f23,_0x2ba3ed,_0x3f05d7){const _0x4d2a64=_0x255f23['createUIElement']('span',_0x2ba3ed);return _0x255f23['setCustomProperty']('userPositionMarker',!0x0,_0x4d2a64),_0x4d2a64['render']=function(_0x588a19){const _0x46a964=this['toDomElement'](_0x588a19),_0x235de8=document['createElement']('span');return _0x235de8['classList']['add']('ck-user__marker-tooltip'),_0x235de8['setAttribute']('contenteditable','false'),_0x235de8['setAttribute']('spellcheck','false'),_0x235de8['textContent']=_0x3f05d7['name'],_0x46a964['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x235de8['outerHTML']+'',_0x46a964['addEventListener']('mouseenter',()=>{_0x46a964['classList']['add']('ck-user__marker_hovered');}),_0x46a964['addEventListener']('mouseleave',()=>{_0x46a964['classList']['remove']('ck-user__marker_hovered');}),_0x46a964;},_0x4d2a64['isSimilar']=function(_0x2d6af2){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2d6af2['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2d6af2['getAttribute']('data-session-id'));},_0x4d2a64;}(_0x2a38b1,_0x586b43,_0x75792f);}(_0x48e45a,_0x577025,_0x533bca,_0x83a3c2)}),_0x83a3c2['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x307fa5=>function(_0x26f32e,_0xb70da4){const _0x1afbc0=_0x26f32e['markerName']['split'](':')[0x2];if(_0x1afbc0===_0xb70da4['mySessionId'])return null;const _0x59fcd2=_0xb70da4['getUserBySessionId'](_0x1afbc0);if(!_0x59fcd2)return{'id':_0x1afbc0,'classes':[]};return{'id':_0x1afbc0,'classes':['ck-user__selection',_0x59fcd2['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1afbc0},'priority':0x7d0+_0x59fcd2['orderNumber']};}(_0x307fa5,_0x533bca)}),function(_0x2f7ade){const _0x38adc5=_0x2f7ade['model'],_0x11e843=new Map(),_0x5f06ae=_0x2f7ade['plugins']['get'](i);_0x38adc5['markers']['on']('update:user:range',(_0x56ffd7,_0x2157bf,_0x1621ed,_0x5a6728)=>{if(!_0x5a6728&&_0x11e843['get'](_0x2157bf['name']))return _0x11e843['get'](_0x2157bf['name'])['detach'](),void _0x11e843['delete'](_0x2157bf['name']);const _0x3a2054=_0x2157bf['name']['split'](':')[0x2];if(_0x3a2054===_0x5f06ae['mySessionId'])return;const _0x3223d7='user:position:'+_0x3a2054;_0x38adc5['markers']['has'](_0x3223d7)&&_0x2f7ade['editing']['reconvertMarker'](_0x3223d7),_0x2157bf['on']('change:range',(_0x488397,_0x28093a,_0x27bbd9)=>{if('$graveyard'!=_0x28093a['root']['rootName']&&'$graveyard'==_0x2157bf['getRange']()['root']['rootName']&&!_0x11e843['has'](_0x2157bf['name'])){const _0x49e2bd=_0x38adc5['schema']['getNearestSelectionRange'](_0x27bbd9['deletionPosition']);if(_0x49e2bd){const _0xe2f68c=ut['fromRange'](_0x49e2bd);_0x11e843['set'](_0x2157bf['name'],_0xe2f68c),_0xe2f68c['on']('change:range',(_0x239bf2,_0x6e5fca,_0x1df9d4)=>{if('$graveyard'==_0xe2f68c['root']['rootName']){const _0x54ff64=_0x38adc5['schema']['getNearestSelectionRange'](_0x1df9d4['deletionPosition']);_0x54ff64?(_0xe2f68c['start']=_0x54ff64['start'],_0xe2f68c['end']=_0x54ff64['end']):(_0x11e843['delete'](_0x2157bf['name']),_0xe2f68c['detach']());}});}}});}),_0x38adc5['document']['on']('change',()=>{_0x11e843['size']>0x0&&_0x38adc5['enqueueChange']({'isUndoable':!0x1},_0x331b7a=>{for(const [_0x3c43f6,_0x4b5c89]of _0x11e843)'$graveyard'==_0x38adc5['markers']['get'](_0x3c43f6)['getRange']()['root']['rootName']&&(Q(_0x3c43f6['split'](':')[0x2],_0x4b5c89['toRange'](),_0x38adc5,_0x331b7a),_0x4b5c89['detach']());_0x11e843['clear']();});});}(_0x83a3c2),this['_domEmitter']['listenTo'](_0x3d711e['document'],'keydown',(_0x2c62bf,{key:_0x4446e8})=>{'Escape'===_0x4446e8&&function(_0xd3c345){_0xd3c345['editing']['view']['change'](_0x9cda3a=>{for(const _0x143126 of _0xd3c345['model']['markers']){if(!_0x143126['name']['startsWith']('user:position'))continue;const _0x4752f1=_0xd3c345['editing']['mapper']['markerNameToElements'](_0x143126['name']);if(_0x4752f1){for(const _0x129801 of _0x4752f1)_0x9cda3a['removeClass']('ck-user__marker_hovered',_0x129801);}}});}(_0x83a3c2);},{'useCapture':!0x0});}['afterInit'](){const _0x12bebd=this['editor'],_0x49b66d=_0x12bebd['commands']['get']('undo');_0x49b66d&&_0x12bebd['model']['on']('applyOperation',(_0x18341f,_0x40c72f)=>{const _0x56e6c2=_0x40c72f[0x0];if(!_0x56e6c2['isDocumentOperation'])return;if('marker'!=_0x56e6c2['type']||!_0x56e6c2['name']['startsWith']('user:'))return;const _0x45c198=_0x56e6c2['batch'];_0x49b66d['_createdBatches']['has'](_0x45c198)&&(_0x56e6c2['newRange']=_0x56e6c2['oldRange']?_0x12bebd['model']['createRange'](_0x56e6c2['oldRange']['start'],_0x56e6c2['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x438e76=this['editor'],_0x2dac61=_0x438e76['model']['document'],_0x5d1e3b=_0x438e76['plugins']['get'](i);_0x438e76['model']['enqueueChange']({'isUndoable':!0x1},_0x9833b3=>{const _0x19b982='user:range:'+_0x5d1e3b['mySessionId'],_0x2ae31d='user:position:'+_0x5d1e3b['mySessionId'],_0x3a2e6e=_0x438e76['model']['markers']['has'](_0x19b982);_0x438e76['editing']['view']['hasDomSelection']?Q(_0x5d1e3b['mySessionId'],_0x2dac61['selection']['getFirstRange'](),_0x438e76['model'],_0x9833b3):_0x3a2e6e&&(_0x9833b3['removeMarker'](_0x19b982),_0x9833b3['removeMarker'](_0x2ae31d));});}}function Q(_0x156424,_0x3fdb55,_0x17e119,_0x1f3937){const _0x198381='user:range:'+_0x156424,_0x599041='user:position:'+_0x156424,_0x5693f0=_0x3fdb55['getContainedElement']();let _0x3daa25=_0x3fdb55['start'];_0x5693f0&&_0x5693f0['is']('element','tableCell')&&(_0x3daa25=function(_0x5c9321,_0x25fc88){for(const _0x228523 of _0x5c9321['getPositions']())if(_0x25fc88['schema']['checkChild'](_0x228523,'$text'))return _0x228523;}(_0x3fdb55,_0x17e119),_0x3fdb55=_0x1f3937['createRange'](_0x3daa25));const _0x1cd329=_0x1f3937['createRange'](_0x3daa25);_0x17e119['markers']['has'](_0x198381)?(_0x1f3937['updateMarker'](_0x198381,{'range':_0x3fdb55}),_0x1f3937['updateMarker'](_0x599041,{'range':_0x1cd329})):(_0x1f3937['addMarker'](_0x198381,{'range':_0x3fdb55,'usingOperation':!0x0}),_0x1f3937['addMarker'](_0x599041,{'range':_0x1cd329,'usingOperation':!0x0}));}function B(_0x113ebe,_0x4a2e42,_0x49e57c){const _0x3beb77=_0x113ebe['t'],t=_0x113ebe['t'];switch(_0x4a2e42){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 _0x3beb77({'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'},_0x49e57c);default:return'';}}let F=0x1;class l extends _0x3111a4{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x489ee1)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,N,_0x58eebd,_0x3f765e,_0x4d6a84];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x12af6e=this['serverHistory']['getOperations']();for(let _0x5b9f31=_0x12af6e['length']-0x1;_0x5b9f31>=0x0;_0x5b9f31--){const _0x3fe496=_0x12af6e[_0x5b9f31];if(!this['_disconnectionOperations']['has'](_0x3fe496))return _0x3fe496['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4aeeb6){if(super(_0x4aeeb6),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2314a1(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x5f7cec('collaboration-missing-channelid',this);const _0x20c7cb=_0x4aeeb6['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x20c7cb,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1d79bb(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new G(this['_disconnectionOperations']);}['init'](){const _0x3d3e8d=this['editor'],_0x3aba81=_0x3d3e8d['plugins']['get'](_0x3f765e),_0x38da68=_0x3d3e8d['plugins']['get'](c);this['listenTo'](_0x3aba81,'getOperationAuthor',(_0xfafef8,_0x461aef)=>{const _0x36ae25=_0x461aef[0x0];_0x36ae25['_authorId']&&(_0xfafef8['return']=_0x3aba81['getUser'](_0x36ae25['_authorId']),_0xfafef8['stop']()),null===_0x36ae25['_authorId']&&(_0xfafef8['return']=null,_0xfafef8['stop']());},{'priority':'high'}),this['listenTo'](_0x3d3e8d['model']['document']['selection'],'change:range',(_0x42175d,_0x57fc95)=>{_0x57fc95['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3d3e8d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3d3e8d['model']['on']('applyOperation',(_0x176d20,_0x12f361)=>{const _0x1f41aa=_0x12f361[0x0];_0x1f41aa['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1f41aa),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x38da68,'state',this,'_hasSynchronizationProblem',(_0x560dd2,_0x5835de)=>'connected'===_0x560dd2&&!_0x5835de),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3d3e8d['disableReadOnlyMode']('rtc-offline'):_0x3d3e8d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3d3e8d['disableReadOnlyMode']('rtc-offline'):_0x3d3e8d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x20698d=this['editor']['plugins']['get'](i),_0x1a54c7=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x20698d['unregister'](this['_channelId']);const _0x61bce=await this['_service']['reconnect'](_0x1a54c7['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x61bce)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2cc920=await this['_service']['getConnectedSessions']();_0x20698d['register'](this['_channelId'],_0x2cc920),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x487486){if(function(_0x46d54d){return'404'===_0x46d54d['code'];}(_0x487486)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x3b9b03){return'409'===_0x3b9b03['code'];}(_0x487486)){const _0x1ed682=B(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x1ed682);}else{if(!(_0x487486 instanceof H))throw _0x487486;this['_handleReconnectionError']();}}}}['destroy'](){const _0x190f7e=this['editor']['plugins']['get'](c),_0x2e1723=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2e1723['channelSessions']['has'](this['_channelId'])&&_0x2e1723['unregister'](this['_channelId']),_0x190f7e['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x3a928c){if(this['sessionId']!==_0x3a928c['sessionId']&&this['_lastSyncedOperationId']!==_0x3a928c['lastOperationId'])throw new H();return this['sessionId']=_0x3a928c['sessionId'],this['_handleServerResponse']([],{..._0x3a928c,'wereChangesApplied':!0x1,'data':_0x3a928c['data']},'reconnect');}async['_connectService'](_0x29636d,_0x1d6a09=!0x1){const {connection:_0xd9cc63}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0xd9cc63,this['_channelId'])['then'](_0x3b63a2=>this['_initSessionsHandling'](_0x3b63a2))['catch'](_0x573ade=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x573ade);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x3542bf,_0x19455e)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x19455e);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x857552=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x29636d);this['_isPendingUpdate']=!0x0;const _0x3dbf86=await this['_service']['connect'](_0xd9cc63,this['_compressOperations'](_0x29636d),_0x857552);if(this['sessionId']=_0x3dbf86['sessionId'],_0x1d6a09){if(!_0x3dbf86['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3dbf86['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x29636d,_0x3dbf86,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3dbf86,_0x29636d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x37597b=this['editor']['plugins']['get'](i),_0xe1dd7c=this['editor']['plugins']['get'](N),_0x4ebebe=_0x37597b['channelSessions']['get'](this['_channelId']);_0x4ebebe&&_0x4ebebe['length']>0x1?_0xe1dd7c['createUserMarkerOperations']():this['listenTo'](_0x37597b,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x37597b['channelSessions']['get'](this['_channelId'])['length']&&_0xe1dd7c['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1eeaf9,_0x150b3a,_0x287e51,_0x1961a0){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x150b3a){const _0xa954a2=this['_decompressOperations'](_0x287e51,_0x1961a0);await this['_fetchMissingUsers'](_0xa954a2),this['_handleExternalOperations'](_0xa954a2,_0x150b3a,_0x287e51['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x18e654}=this['editor'];let _0x517313;try{_0x517313=await this['_service']['getDocumentDetails']();}catch(_0xa61824){const _0x3e0b29=B(_0x18e654,'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'](_0x3e0b29);}const _0x40272d=_0x517313['currentDocumentSession']||_0x517313['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x40272d['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x385b62=B(_0x18e654,'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'](_0x385b62);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x1bf5d7){const _0x21c082=this['editor']['plugins']['get'](i);this['listenTo'](_0x21c082,'sessionAdd:'+this['_channelId'],(_0x51ca70,{session:_0x2f4b09})=>{if(_0x2f4b09['id']===_0x21c082['mySessionId']){_0x51ca70['off']();const _0x4508cb=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x55ef64=_0x2f4b09['permissions'];_0x4508cb&&_0x4508cb['isEnabled']&&(_0x55ef64=_0x55ef64['filter'](_0x317d2d=>'document:write'!==_0x317d2d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x55ef64,this['_channelId']);}}),_0x21c082['register'](this['_channelId'],_0x1bf5d7);}['_initThrowingOnDataSet'](){const _0xf93e00=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3072fa)=>{if(!_0x3072fa[_0x3072fa['length']-0x1]['suppressErrorInCollaboration'])throw new _0x5f7cec('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xf93e00['apply'](this['editor']['data'],_0x3072fa);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5c3573,[_0x65c852])=>{if(this['_document']['version'])throw new _0x5f7cec('realtimecollaborationclient-init-document-already-initialized',this);_0x5c3573['stop'](),this['_setPendingAction']();const _0x23ea0b=this['editor']['config']['get']('rootsAttributes'),_0x5d3fd9=this['_getOperationsFromInitData'](_0x65c852,_0x23ea0b);0x0==_0x5d3fd9['length']&&_0x5d3fd9['push'](new _0x54f299(0x0)),_0x5c3573['return']=this['_connectService'](_0x5d3fd9)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x29f127=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x29f127))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x36c748,[_0x59a344,_0x19735c])=>{_0x36c748['stop']();const _0x5b48b2=this['editor']['model']['document']['getRoot'](_0x59a344);if(!this['_knownRootNames']['has'](_0x59a344)){const _0xee75e6=_0x19735c&&_0x19735c['data']?_0x19735c['data']:'',_0x5a5b15=_0x19735c&&_0x19735c['attributes']?_0x19735c['attributes']:{};await this['_loadRoot'](_0x59a344,_0xee75e6,_0x5a5b15);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5b48b2['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5b48b2);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x445e5b){const _0x2e8124=this['editor']['plugins']['get'](_0x3f765e),{connection:_0x35c5fb}=this['editor']['plugins']['get'](c),_0xea1ad9=new Set();for(const _0x1e3785 of _0x445e5b){const _0x2b5311=_0x1e3785['_authorId'];_0x2b5311&&!_0x2e8124['getUser'](_0x2b5311)&&_0xea1ad9['add'](_0x2b5311);}if(0x0===_0xea1ad9['size'])return;const _0x19a578=await mt['getMany'](_0x35c5fb,Array['from'](_0xea1ad9));for(const _0x1831a0 of _0x19a578)_0x2e8124['getUser'](_0x1831a0['id'])||_0x2e8124['addUser'](_0x1831a0);}['_getOperationsFromInitData'](_0x4bf496,_0x3affa0={}){const _0x2107c1=this['editor']['model'],_0x1b43f1=[];let _0x153b74=0x0;const _0x5a78d8='string'==typeof _0x4bf496?{'main':_0x4bf496}:_0x4bf496;for(const _0x2ce2af of Object['keys'](_0x5a78d8)){if(!this['_document']['roots']['has'](_0x2ce2af))throw new _0x5f7cec('realtimecollaborationclient-init-non-existent-root',this);const _0x45c5c3=this['editor']['data']['parse'](_0x5a78d8[_0x2ce2af]),_0x45985d=this['_document']['getRoot'](_0x2ce2af),_0x1c7937=new _0x1ea601(_0x2107c1['createPositionAt'](_0x45985d,0x0),_0x45c5c3,_0x153b74++);_0x1b43f1['push'](_0x1c7937);for(const [_0x53c855,_0x242aa7]of _0x45c5c3['markers']){const _0x58dcf4=_0x2107c1['createRange'](_0x2107c1['createPositionFromPath'](_0x45985d,_0x242aa7['start']['path']['slice']()),_0x2107c1['createPositionFromPath'](_0x45985d,_0x242aa7['end']['path']['slice']())),_0x3d7f13=new _0x239708(_0x53c855,null,_0x58dcf4,_0x2107c1['markers'],!0x0,_0x153b74++);_0x1b43f1['push'](_0x3d7f13);}}if(_0x3affa0)for(const [_0x235578,_0x464b10]of Object['entries'](_0x3affa0)){const _0x49418f=_0x2107c1['document']['getRoot'](_0x235578);if(!_0x49418f)throw new _0x5f7cec('multi-root-editor-root-attributes-no-root',null);for(const [_0x2b6433,_0x165c27]of Object['entries'](_0x464b10))if(null!==_0x165c27){const _0x197376=new _0x2aa2a4(_0x49418f,_0x2b6433,null,_0x165c27,_0x153b74++);_0x1b43f1['push'](_0x197376);}}return _0x1b43f1;}async['_loadRoot'](_0x42c45f,_0x326687,_0x5b8e29){this['_getOperationsFromInitData']({[_0x42c45f]:_0x326687},{[_0x42c45f]:_0x5b8e29})['forEach']((_0x5ddabe,_0x1133ae)=>{_0x5ddabe['baseVersion']=this['_document']['version']+_0x1133ae,_0x5ddabe['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x5ddabe);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0xd3d994,_0x26b53e){let _0x24afaf;this['_offset']=_0xd3d994['offset'];const _0x28816a=_0xd3d994['wereChangesApplied']&&!_0xd3d994['initData'],_0x22f3fb=_0x28816a?0x0:_0xd3d994['data']['baseVersion'];if(_0x26b53e['forEach'](_0x55623d=>{_0x55623d['_isInit']=!0x0,_0x55623d['createdAt']=_0xd3d994['sessionCreatedAt'],_0x55623d['_authorId']=null;}),_0x28816a)_0x24afaf=_0x26b53e,this['_applyOperationsSet'](_0x24afaf,_0x28816a);else{if(_0xd3d994['initData']){const _0x26825b=this['_getOperationsFromInitData'](_0xd3d994['initData']);this['_document']['history']['version']=-_0x26825b['length'],_0x26825b['forEach'](_0x4284a3=>{_0x4284a3['baseVersion']-=_0x26825b['length'],_0x4284a3['createdAt']=_0xd3d994['sessionCreatedAt'],_0x4284a3['_isInit']=!0x0,_0x4284a3['_authorId']=null;}),this['_applyOperationsSet'](_0x26825b,!0x0),this['serverHistory']['version']=-_0x26825b['length']+this['_offset'],this['_updateServerHistory'](_0x26825b);}this['_document']['history']['version']=_0x22f3fb,_0x24afaf=this['_decompressOperations'](_0xd3d994['data'],_0xd3d994['metadata']),await this['_fetchMissingUsers'](_0x24afaf),this['_applyOperationsSet'](_0x24afaf,_0x28816a);}_0xd3d994['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x24afaf,_0xd3d994['lastOperationId']),this['_lastSyncedOperationId']=_0xd3d994['lastOperationId']),this['serverHistory']['version']=_0x22f3fb+this['_offset'],this['_updateServerHistory'](_0x24afaf),_0x26b53e['filter'](_0x37d334=>{const _0x8a80ff=this['_getAffectedRoot'](_0x37d334);return _0x8a80ff&&!this['_knownRootNames']['has'](_0x8a80ff);})['forEach']((_0x6dae36,_0x1e2961)=>{_0x6dae36['baseVersion']=this['_document']['version']+_0x1e2961,this['_saveOperationInBuffer'](_0x6dae36);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x67a524,_0x45153e){const _0x5ec1e=_0x45153e&&_0x45153e['message'];if(_0x5ec1e&&_0x5ec1e['startsWith']('realtimecollaborationclient'))throw _0x45153e;const _0x460325=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x460325['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x5f7cec(_0x67a524,this['editor'],_0x5ec1e?{'originalError':_0x5ec1e}:void 0x0);}['_saveOperationInBuffer'](_0xbc77b){this['_knownOperations']['has'](_0xbc77b)||(this['_knownOperations']['add'](_0xbc77b),this['_bufferedOperations']['push'](_0xbc77b),this['_pendingAction']||'marker'==_0xbc77b['type']&&!_0xbc77b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x570161=!0x1){!_0x570161&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x13dfbc=>{_0x13dfbc&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3cb170=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4422be){return _0x4422be['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4422be['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4422be['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3cb170)||this['_crash'](_0x3cb170['message'],_0x3cb170);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x285c8c=>{this['on']('change:_isPendingUpdate',()=>{_0x285c8c();});});}async['_sendBufferedOperations'](){const _0x2465d1=this['editor']['plugins']['get'](N);if(this['_shouldSendSelectionUpdate']()&&(_0x2465d1['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x132a2f=[...this['_bufferedOperations']];for(const _0x5176fd of _0x132a2f)_0x5176fd['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5176fd);const _0x5901ff=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x132a2f),_0x24d6b8=F++,_0x1bcff9=this['_compressOperations'](_0x132a2f),_0x242241=await this['_service']['sendOperations'](_0x1bcff9,_0x1bcff9['baseVersion'],_0x5901ff);try{return await this['_handleServerResponse'](_0x132a2f,_0x242241,_0x24d6b8);}catch(_0x45c3ea){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x45c3ea);}}async['_handleServerResponse'](_0x5d667a,_0x3a16e5,_0x4bd36a){if('error'in _0x3a16e5)throw _0x3a16e5['error'];let _0x5238d4=!0x1;if(_0x3a16e5['wereChangesApplied']){_0x3a16e5['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3a16e5['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x455a57=>!_0x5d667a['includes'](_0x455a57));for(const _0x1067e4 of _0x5d667a)_0x1067e4['createdAt']='lastOperationAcceptedAt'in _0x3a16e5&&_0x3a16e5['lastOperationAcceptedAt']||void 0x0;q(_0x5d667a,_0x3a16e5['version']-_0x5d667a['length']),this['_updateServerHistory'](_0x5d667a);const _0x626bc5=_0x5d667a['filter'](_0xd0d6fb=>{if(!_0xd0d6fb['_isInit'])return!0x1;const _0xb6cc75=this['_getAffectedRoot'](_0xd0d6fb);return _0xb6cc75&&!this['_knownRootNames']['has'](_0xb6cc75);});q(_0x626bc5,this['_document']['version']),this['_applyOperationsSet'](_0x626bc5),_0x5238d4=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x534af1=this['_decompressOperations'](_0x3a16e5['data'],_0x3a16e5['metadata'])['filter'](_0x36c6e7=>_0x36c6e7['baseVersion']>=this['_lastServerVersion']);_0x534af1['forEach'](_0x3eb204=>this['_addKnownRoot'](_0x3eb204)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3f4aa4=>!_0x3f4aa4['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3f4aa4))),this['_bufferedOperations']['length']&&q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x534af1),_0x5238d4=this['_handleExternalOperations'](_0x534af1,_0x3a16e5['version'],_0x3a16e5['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5238d4?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x562ea3,_0xa2de8,_0x51a638){try{const _0x507e9f={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5344bd,operationsB:_0x5a7d4c,originalOperations:_0x3b6286}=_0x147829(_0x562ea3,this['_bufferedOperations'],_0x507e9f);q(_0x5344bd,this['_document']['version']),q(_0x5a7d4c,_0xa2de8);for(const _0x40640f of _0x5344bd){const _0x225b4f=_0x3b6286['get'](_0x40640f);_0x40640f['_authorId']=_0x225b4f?_0x225b4f['_authorId']:null;}_0x51a638&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x562ea3,_0x51a638),this['_lastSyncedOperationId']=_0x51a638),this['_bufferedOperations']=[..._0x5a7d4c],this['_applyOperationsSet'](_0x5344bd),this['_updateServerHistory'](_0x562ea3);}catch(_0x19672f){return console['error'](_0x19672f),!0x1;}return!0x0;}['_applyOperationsSet'](_0x49bbc1,_0x41b63b=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4ebece=>{for(const _0xe1dbd8 of _0x49bbc1)this['_knownOperations']['add'](_0xe1dbd8),this['_addKnownRoot'](_0xe1dbd8),_0x4ebece['batch']['addOperation'](_0xe1dbd8),this['editor']['model']['applyOperation'](_0xe1dbd8);});}['_addKnownRoot'](_0x445895){const _0xfeea1b=this['_getAffectedRoot'](_0x445895);_0xfeea1b&&this['_knownRootNames']['add'](_0xfeea1b);}['_getAffectedRoot'](_0x52ba96){let _0xaff11a,_0x3c5222;switch(_0x52ba96['type']){case'insert':_0xaff11a=_0x52ba96['position']['root'];break;case'marker':if(_0x3c5222=_0x52ba96['newRange'],!_0x3c5222)return null;_0xaff11a=_0x3c5222['root'];break;case'addRootAttribute':_0xaff11a=_0x52ba96['root'];break;case'addRoot':_0xaff11a=_0x52ba96['affectedSelectable'];break;case'move':_0xaff11a=_0x52ba96['targetPosition']['root'];break;default:return null;}return _0xaff11a['rootName'];}['_updateServerHistory'](_0x3f1de7){_0x3f1de7['forEach'](_0x5c07cc=>{const _0x468480=_0x5c07cc['clone']();_0x468480['_authorId']=_0x5c07cc['_authorId'],_0x468480['_isInit']=!!_0x5c07cc['_isInit'],_0x468480['createdAt']=_0x5c07cc['createdAt'],_0x468480['baseVersion']+=this['_offset'],_0x5c07cc['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x468480),this['serverHistory']['addOperation'](_0x468480);});}['_handleReconnectionError'](_0x10eb77){const _0x2037a2=this['editor']['plugins']['get']('Notification'),_0x2c1c8a=this['editor']['locale'];_0x10eb77||(_0x10eb77=B(_0x2c1c8a,'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.')),_0x2037a2['showWarning'](_0x10eb77,{'title':B(_0x2c1c8a,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x58eebd)['add'](B(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x58eebd)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x40e2d0){const _0x390cc7=_0x40e2d0['map'](_0x4b6310=>_0x4b6310['toJSON']());return this['_compressor']['compress'](_0x390cc7);}['_decompressOperations'](_0x172f42,_0x16d113){return this['_compressor']['decompress'](_0x172f42)['map']((_0x55c8a7,_0x3016ad)=>{const _0x260318='init'==_0x16d113[_0x3016ad]['type'];if('InsertOperation'==_0x55c8a7['__className']){const _0x1f0f35=_0x55c8a7['position']['root'];!this['_document']['getRoot'](_0x1f0f35)&&(this['_document']['createRoot']('$root',_0x1f0f35)['_isAttached']=!0x1);}const _0x4d19f2=_0x2893d2['fromJSON'](_0x55c8a7,this['_document']);return _0x4d19f2['wasUndone']=_0x55c8a7['wasUndone'],_0x4d19f2['_isInit']=_0x260318,_0x4d19f2['_authorId']=_0x260318?null:_0x16d113[_0x3016ad]['userId'],_0x4d19f2['_isDisconnection']='cs:removeUser'===_0x16d113[_0x3016ad]['type'],_0x4d19f2['createdAt']=_0x16d113[_0x3016ad]['createdAt'],_0x4d19f2;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3f92d6=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3f92d6&&_0x3f92d6['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class H extends Error{}function q(_0x2b746e,_0x1f2830){for(const _0x465850 of _0x2b746e)_0x465850['baseVersion']=_0x1f2830++;}class G{['_ignoredOperations'];['_operationToId'];constructor(_0x8f52d){this['_ignoredOperations']=_0x8f52d,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xd944dc){let _0x33810b=_0xd944dc['length'];for(;_0x33810b--;){const _0x3cfdf1=_0xd944dc[_0x33810b];if(!this['_ignoredOperations']['has'](_0x3cfdf1)){if(!this['_operationToId']['has'](_0x3cfdf1)){const _0x34c6d9=_0x37ac80()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3cfdf1,_0x34c6d9);}return this['_operationToId']['get'](_0x3cfdf1);}}}['setIdForTheLastOperation'](_0x73565e,_0x53b065){if(!_0x53b065)return;let _0x46f34e=_0x73565e['length'];for(;_0x46f34e--;){const _0x49af1c=_0x73565e[_0x46f34e];this['_ignoredOperations']['has'](_0x49af1c)||this['_operationToId']['set'](_0x49af1c,_0x53b065);}}}class n extends _0x3111a4{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x32de9b{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>tt)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x3f765e];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1c45a4){super(_0x1c45a4),this['_services']=new Map();}async['init'](){const _0x19c109=this['context'],_0x542bec=_0x19c109['plugins']['get']('CommentsRepository');if(_0x19c109['plugins']['get'](c)['addToReconnectionStack'](this),_0x542bec['adapter']={'addCommentThread':async({channelId:_0x3f4ebe,threadId:_0x8d5079,comments:_0x587217,resolvedAt:_0x3c0abd,resolvedBy:_0x2c0177,context:_0x1c1ed8,attributes:_0xc5fa51})=>{const _0x55e764=await this['_getService'](_0x3f4ebe)['addCommentThread']({'commentThreadId':_0x8d5079,'comments':_0x587217['map'](_0x3d861d=>function(_0x439c16,_0x458fbf,_0x12c31c){return{'commentThreadId':_0x12c31c,'commentId':_0x439c16['commentId'],'userId':_0x439c16['authorId'],'content':_0x439c16['content'],'documentId':_0x458fbf,'createdAt':_0x439c16['createdAt'],'attributes':_0x439c16['attributes']||{}};}(_0x3d861d,_0x3f4ebe,_0x8d5079)),'resolvedAt':_0x3c0abd,'resolvedBy':_0x2c0177,'context':_0x1c1ed8,'attributes':_0xc5fa51})['catch'](gt);return{'threadId':_0x55e764['commentThreadId'],'comments':_0x55e764['comments']};},'getCommentThread':async({channelId:_0x87ef6,threadId:_0x44f31f})=>{const _0x30d029=await this['_getService'](_0x87ef6)['getCommentThread'](_0x44f31f)['catch'](gt);return _0x30d029['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x30d029]),{'threadId':_0x30d029['commentThreadId'],'comments':_0x30d029['comments']['map'](nt),'context':_0x30d029['context'],'resolvedAt':_0x30d029['resolvedAt'],'resolvedBy':_0x30d029['resolvedBy'],'attributes':_0x30d029['attributes']||{}});},'updateCommentThread':async({channelId:_0x131139,threadId:_0x249e28,context:_0x6ad309,unlinkedAt:_0x56bedb,attributes:_0x1fc1f3})=>this['_getService'](_0x131139)['updateCommentThread']({'commentThreadId':_0x249e28,'context':_0x6ad309,'attributes':_0x1fc1f3,'unlinkedAt':_0x56bedb})['catch'](et)['catch'](gt),'resolveCommentThread':async({channelId:_0x48c985,threadId:_0x48c921})=>{const _0x144f29=await this['_getService'](_0x48c985)['resolveCommentThread'](_0x48c921)['catch'](et)['catch'](gt);return{'threadId':_0x144f29['commentThreadId'],'resolvedAt':_0x144f29['resolvedAt'],'resolvedBy':_0x144f29['resolvedBy']};},'reopenCommentThread':async({channelId:_0x380974,threadId:_0x292ae5})=>this['_getService'](_0x380974)['reopenCommentThread'](_0x292ae5)['catch'](et)['catch'](gt),'removeCommentThread':({channelId:_0x1bb9ec,threadId:_0x163496})=>this['_getService'](_0x1bb9ec)['removeCommentThread'](_0x163496)['catch'](et)['catch'](gt),'addComment':({channelId:_0x33d650,threadId:_0x51f88f,commentId:_0x51d75e,content:_0x2f45e8,attributes:_0x42bbd4})=>this['_getService'](_0x33d650)['addComment'](_0x51f88f,_0x51d75e,_0x2f45e8,_0x42bbd4)['catch'](gt),'updateComment':({channelId:_0x5edcf4,threadId:_0x3b7392,commentId:_0x1c4bb1,content:_0x28d32f,attributes:_0x129d7c})=>this['_getService'](_0x5edcf4)['updateComment'](_0x3b7392,_0x1c4bb1,_0x28d32f,_0x129d7c)['catch'](et)['catch'](gt),'removeComment':({channelId:_0x1a67a3,threadId:_0x35a580,commentId:_0x358778})=>this['_getService'](_0x1a67a3)['removeComment'](_0x35a580,_0x358778)['catch'](et)['catch'](gt)},_0x19c109 instanceof _0x160987){const _0x22ea84=_0x19c109['config']['get']('collaboration.channelId'),_0x10b7a8=_0x19c109['plugins']['get'](i);await this['_setUpService'](_0x22ea84);const _0x280d06=await this['_services']['get'](_0x22ea84)['getConnectedSessions']();this['listenTo'](_0x10b7a8,'sessionAdd:'+_0x22ea84,(_0x28ed01,{session:_0x4084f2})=>{_0x4084f2['id']===_0x10b7a8['mySessionId']&&(_0x28ed01['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x4084f2['permissions'],_0x22ea84));}),_0x10b7a8['register'](_0x22ea84,_0x280d06);}}async['_setUpService'](_0x38bfe5){if(this['_services']['has'](_0x38bfe5))throw new _0x5f7cec('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x38bfe5});const _0x240a10=this['context']['plugins']['get']('CommentsRepository'),_0x2b3040=new a['CommentsService'](_0x38bfe5);this['_services']['set'](_0x38bfe5,_0x2b3040),this['listenTo'](_0x2b3040,'commentThreadAdded',(_0x3cd02c,_0xe69ca6)=>{const {commentThreadId:_0x12807b,documentId:_0x51a7f9,context:_0x1235fc,attributes:_0x2c2640,resolvedAt:_0x275739,resolvedBy:_0x5961c9,comments:_0x336b7c}=_0xe69ca6;_0x240a10['getCommentThread'](_0x12807b)||_0x240a10['addCommentThread']({'threadId':_0x12807b,'channelId':_0x51a7f9,'comments':_0x336b7c?_0x336b7c['map'](nt):[],'context':_0x1235fc,'attributes':_0x2c2640,'resolvedAt':_0x275739,'resolvedBy':_0x5961c9,'isFromAdapter':!0x0});}),this['listenTo'](_0x2b3040,'commentThreadUpdated',(_0x3c80db,{commentThreadId:_0x378aed,documentId:_0x52838d,context:_0x1250db,unlinkedAt:_0x12317e,attributes:_0xf7735e})=>{_0x240a10['getCommentThread'](_0x378aed)&&_0x240a10['updateCommentThread']({'threadId':_0x378aed,'channelId':_0x52838d,'context':_0x1250db,'unlinkedAt':_0x12317e,'attributes':_0xf7735e,'isFromAdapter':!0x0});}),this['listenTo'](_0x2b3040,'commentThreadResolved',(_0x5d80ba,{commentThreadId:_0x16872f,resolvedBy:_0x167658,resolvedAt:_0x4d7e2f})=>{const _0x461a24=_0x240a10['getCommentThread'](_0x16872f);_0x461a24&&_0x461a24['resolve']({'resolvedBy':_0x167658,'resolvedAt':_0x4d7e2f,'isFromAdapter':!0x0});}),this['listenTo'](_0x2b3040,'commentThreadReopened',(_0x1f1113,{commentThreadId:_0x50498b})=>{const _0x22b4cc=_0x240a10['getCommentThread'](_0x50498b);_0x22b4cc&&_0x22b4cc['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2b3040,'commentThreadRemoved',(_0x4c5405,{commentThreadId:_0x364d70})=>{const _0x113b8d=_0x240a10['getCommentThread'](_0x364d70);_0x113b8d&&_0x113b8d['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2b3040,'commentAdded',(_0x2b4cf3,_0x12a69b)=>{const _0x7ae3b2=_0x12a69b['commentThreadId'],_0xbd6c7b=_0x240a10['getCommentThread'](_0x7ae3b2);_0xbd6c7b&&_0xbd6c7b['addComment']({...nt(_0x12a69b),'isFromAdapter':!0x0});}),this['listenTo'](_0x2b3040,'commentUpdated',(_0x34a32d,{commentThreadId:_0x12c269,commentId:_0x4ae092,content:_0x2b0f0b,attributes:_0xede060})=>{const _0x1f59d5=_0x240a10['getCommentThread'](_0x12c269);if(_0x1f59d5){const _0x17c63c=_0x1f59d5['getComment'](_0x4ae092);_0x17c63c&&_0x17c63c['update']({'content':_0x2b0f0b,'attributes':_0xede060,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2b3040,'commentRemoved',(_0x2cfc46,{commentThreadId:_0x4590b5,commentId:_0x3de4ce})=>{const _0x10a257=_0x240a10['getCommentThread'](_0x4590b5);if(_0x10a257){const _0x240e6c=_0x10a257['getComment'](_0x3de4ce);_0x240e6c&&_0x240e6c['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x38bfe5);}['destroy'](){if(this['context']instanceof _0x160987){const _0x198493=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x198493);}}['_terminateService'](_0x1aad05){if(!this['_services']['has'](_0x1aad05))throw new _0x5f7cec('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1aad05});this['_getService'](_0x1aad05)['disconnect'](),this['_services']['delete'](_0x1aad05);}async['reconnect'](){for(const _0x454f28 of this['_services']['keys']())await this['_connectService'](_0x454f28);if(this['context']instanceof _0x160987){const _0x25b9c1=this['context']['config']['get']('collaboration.channelId'),_0x25380d=this['context']['plugins']['get'](i);_0x25380d['unregister'](_0x25b9c1);const _0x13a352=await this['_services']['get'](_0x25b9c1)['getConnectedSessions']();_0x25380d['register'](_0x25b9c1,_0x13a352);}}async['_connectService'](_0x2b2c47){const {connection:_0x1277c3}=this['context']['plugins']['get'](c),_0x80f4ed=this['context']['plugins']['get']('CommentsRepository'),_0xcba29e=this['_services']['get'](_0x2b2c47),_0x34f6c1=await _0xcba29e['connect'](_0x1277c3);await this['_fetchMissingUsersForThreads'](_0x34f6c1);const _0x397327=new Set(Array['from'](_0x80f4ed['getCommentThreads']({'channelId':_0x2b2c47}),_0x2b1080=>_0x2b1080['id']));for(const _0x474d20 of _0x34f6c1)_0x474d20['deletedAt']||_0x397327['delete'](_0x474d20['commentThreadId']);for(const _0x50bbf8 of _0x397327)_0x80f4ed['getCommentThread'](_0x50bbf8)['remove']({'isFromAdapter':!0x0});for(const _0x257ac7 of _0x34f6c1){let _0x237c5b=_0x80f4ed['getCommentThread'](_0x257ac7['commentThreadId']);const {commentThreadId:_0xafb7f7,context:_0x24781c,attributes:_0x937103,resolvedBy:_0x19afbd,resolvedAt:_0x5382f5,unlinkedAt:_0x4f9f6f,deletedAt:_0x1000ea}=_0x257ac7;if(_0x1000ea)continue;_0x237c5b||(_0x237c5b=_0x80f4ed['addCommentThread']({'channelId':_0x2b2c47,'threadId':_0xafb7f7,'context':_0x24781c,'attributes':_0x937103||{},'resolvedBy':_0x19afbd,'resolvedAt':_0x5382f5,'unlinkedAt':_0x4f9f6f,'isFromAdapter':!0x0}));const _0x5ed662=new Set(Array['from'](_0x237c5b['comments'],_0x3efec2=>_0x3efec2['id']));for(const _0x4cddb4 of _0x257ac7['comments'])_0x5ed662['delete'](_0x4cddb4['commentId']);for(const _0x308197 of _0x5ed662)_0x237c5b['getComment'](_0x308197)['remove']({'isFromAdapter':!0x0});for(const _0xb7a106 of _0x257ac7['comments']){const _0x4fb608=_0x237c5b['getComment'](_0xb7a106['commentId']);_0x4fb608?_0x4fb608['content']!==_0xb7a106['content']&&_0x4fb608['update']({'content':_0xb7a106['content'],'isFromAdapter':!0x0}):_0x237c5b['addComment'](Object['assign'](nt(_0xb7a106),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2609ed){if(!this['_services']['has'](_0x2609ed))throw new _0x5f7cec('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2609ed});return this['_services']['get'](_0x2609ed);}async['_fetchMissingUsersForThreads'](_0xae48e9){const _0x356adf=this['context']['plugins']['get'](_0x3f765e),{connection:_0xe6f044}=this['context']['plugins']['get'](c),_0x4091b6=new Set();for(const {resolvedBy:_0x494f69,comments:_0x3ba26f}of _0xae48e9){_0x494f69&&!_0x356adf['getUser'](_0x494f69)&&_0x4091b6['add'](_0x494f69);for(const {userId:_0xfd733d}of _0x3ba26f)_0x356adf['getUser'](_0xfd733d)||_0x4091b6['add'](_0xfd733d);}if(0x0===_0x4091b6['size'])return;const _0x2b5603=await mt['getMany'](_0xe6f044,Array['from'](_0x4091b6));for(const _0x12a518 of _0x2b5603)_0x356adf['getUser'](_0x12a518['id'])||_0x356adf['addUser'](_0x12a518);}}async function et(_0x2e3bc8){if('404'!==_0x2e3bc8['code'])throw _0x2e3bc8;}function gt(_0xaee1ee){if((_0x3d3113=_0xaee1ee)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3d3113['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3d3113['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3d3113;throw _0xaee1ee;}function nt(_0x4dcbe6){return{'threadId':_0x4dcbe6['commentThreadId'],'commentId':_0x4dcbe6['commentId'],'content':_0x4dcbe6['content'],'createdAt':_0x4dcbe6['createdAt'],'authorId':_0x4dcbe6['userId'],'attributes':_0x4dcbe6['attributes']||{}};}class f extends _0x3111a4{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>it)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xec9200){super(_0xec9200);const _0x56ccce=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x56ccce);}['init'](){const _0x66b411=this['editor']['plugins']['get'](c),_0xdac301=this['editor']['plugins']['get']('TrackChangesEditing');return _0xdac301['adapter']={'getSuggestion':async _0x2dce70=>{await this['_waitForServiceReady']();const _0x9a3904=await this['_trackChangesService']['get'](_0x2dce70)['catch'](ot);return await this['_fetchMissingUsersForThreads']([_0x9a3904]),_0x9a3904;},'addSuggestion':async({id:_0x5d5752,type:_0x261613,data:_0x3afc86,originalSuggestionId:_0x281c5c,attributes:_0x6601a1})=>{await this['_waitForServiceReady']();const _0x23b34c={'id':_0x5d5752,'type':_0x261613,'data':_0x3afc86,'originalSuggestionId':_0x281c5c,'attributes':_0x6601a1},_0xaf0958=await this['_trackChangesService']['add'](_0x5d5752,_0x261613,_0x3afc86,_0x281c5c,_0x6601a1)['catch'](_0x3c6155=>{if(wt(_0x3c6155))return new Promise(_0x56d5a8=>{this['_bufferedRequests']['set'](_0x5d5752,{'resolve':_0x56d5a8,'suggestionData':_0x23b34c});});throw _0x3c6155;});return this['_bufferedRequests']['delete'](_0x5d5752),_0xaf0958;},'updateSuggestion':async(_0x37b813,_0x240890)=>{if(await this['_waitForServiceReady'](),'open'!==_0x240890['state'])return this['_trackChangesService']['update'](_0x37b813,_0x240890)['catch'](ot);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x2ab07a,_0xe32c56)=>{_0xdac301['hasSuggestion'](_0xe32c56['id'])&&(_0xdac301['getSuggestion'](_0xe32c56['id'])['attributes']=_0xe32c56['attributes']);}),this['_trackChangesService']['connect'](_0x66b411['connection'])['then'](_0x10140d=>(_0x66b411['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x10140d)['then'](()=>{for(const _0x8146f7 of _0x10140d){_0xdac301['addSuggestionData'](_0x8146f7)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1a8b82=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5b1391}=this['editor']['plugins']['get'](c),_0x28149d=await this['_trackChangesService']['connect'](_0x5b1391);await this['_fetchMissingUsersForThreads'](_0x28149d);for(const {suggestionData:_0x3e0b48,resolve:_0x3afa40}of this['_bufferedRequests']['values']()){let _0x53c1ba=_0x28149d['find'](_0x11e2fc=>_0x11e2fc['id']===_0x3e0b48['id']);_0x53c1ba||(_0x53c1ba=await this['_trackChangesService']['add'](_0x3e0b48['id'],_0x3e0b48['type'],_0x3e0b48['data'],_0x3e0b48['originalSuggestionId'])),_0x3afa40(_0x53c1ba);}for(const _0x2a8ff1 of _0x28149d)_0x1a8b82['hasSuggestion'](_0x2a8ff1['id'])||_0x1a8b82['addSuggestionData'](_0x2a8ff1);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x16f346=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5b32ab=>{_0x5b32ab['off'](),_0x16f346();});});}async['_fetchMissingUsersForThreads'](_0xd33f86){const _0x5adabf=this['editor']['plugins']['get'](_0x3f765e),{connection:_0x38d338}=this['editor']['plugins']['get'](c),_0x22b807=new Set();for(const {authorId:_0x15b5ff}of _0xd33f86)_0x5adabf['getUser'](_0x15b5ff)||_0x22b807['add'](_0x15b5ff);if(0x0===_0x22b807['size'])return;const _0x28e238=await mt['getMany'](_0x38d338,Array['from'](_0x22b807));for(const _0x22c517 of _0x28e238)_0x5adabf['getUser'](_0x22c517['id'])||_0x5adabf['addUser'](_0x22c517);}}function ot(_0x1cb24f){if(wt(_0x1cb24f))return new Promise(()=>{});throw _0x1cb24f;}function wt(_0x5ceabf){return _0x5ceabf['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5ceabf['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x3111a4{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5a515d=this['editor']['plugins']['get'](c),_0xba9f2b=this['editor']['plugins']['get']('CommentsEditing'),_0x4656aa=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5a515d,'change:state',(_0x44e078,_0x28a4b7,_0x1edd12)=>{_0xba9f2b['isThreadsLoadingPaused']='connected'!==_0x1edd12;});}),this['listenTo'](_0x5a515d,'change:state',(_0x33edb7,_0x14c63d,_0x4aef06)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x4aef06);}),_0x4656aa['_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 _0x3111a4{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x3111a4{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>ct)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x3f765e];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4a03de){super(_0x4a03de);const _0x40fc5a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x40fc5a);}async['init'](){const _0x58e569=this['editor']['plugins']['get'](l),_0x450c96=_0x58e569['serverHistory'],_0x108c77=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x450c96,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x58e569['sessionId']});const _0x4b23bc=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x2a1736=await rt['isBundleUploaded'](_0x108c77['connection'],_0x4b23bc);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x87aebc})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x87aebc)),'updateRevisions':async _0x569a39=>{await this['_waitForServiceReady']();const _0x2973d1=this['_revisionTracker']['currentRevision'];if(_0x2a1736&&0x1===_0x569a39['length']&&_0x569a39[0x0]['id']===_0x2973d1['id'])return _0x569a39;for(const _0x342ea6 of _0x569a39)_0x342ea6['id']===_0x2973d1['id']&&(_0x342ea6['isEmptyCurrent']=_0x342ea6['fromVersion']===_0x342ea6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x569a39,this['_lastRequestId'])['then'](_0x3964db=>(this['_lastRequestId']=_0x3964db,_0x569a39))['catch'](_0x1b308a=>{if(st(_0x1b308a)||'400'===_0x1b308a['code']&&void 0x0!==_0x1b308a['data']['wrongRequestId']){for(const _0x3b7205 of _0x569a39){!this['_revisionTracker']['repository']['getRevision'](_0x3b7205['id'])||this['_revisionTracker']['_bufferUpdate'](_0x3b7205['id'],_0x3b7205,!0x1);}if(st(_0x1b308a))throw _0x1b308a;return _0x569a39;}throw _0x1b308a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3757d5,{revisionsData:_0x5bb735,requestId:_0xe6f227})=>{Math['max'](..._0x5bb735['map'](_0x4c9bc5=>_0x4c9bc5['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5bb735,_0xe6f227);}):this['_handleRevisionsUpdate'](_0x5bb735,_0xe6f227);});const {revisions:_0x25d825,requestId:_0x82590d}=await this['_revisionHistoryService']['connect'](_0x108c77['connection']);_0x108c77['addToReconnectionStack'](this),this['_lastRequestId']=_0x82590d,await this['_fetchMissingUsers'](_0x25d825);for(const _0x3b5a3c of _0x25d825)this['_revisionTracker']['addRevisionData'](_0x3b5a3c);this['listenTo'](_0x58e569,'change:_isConnected',(_0x9192b,_0x3abdb7,_0x4ac84f)=>{_0x4ac84f&&(this['_oldOffset']=_0x58e569['_offset'],_0x9192b['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x108c77,'state',_0x5eabdd=>_0x5eabdd===_0x35cc25['CONNECTED']);}async['reconnect'](){const _0x4c05aa=this['editor']['plugins']['get'](c),_0x13ff94=this['editor']['plugins']['get'](l),_0xb66b4e=async()=>{const _0x22256f=this['_revisionTracker']['currentRevision'],_0x7ca1bc=_0x22256f['id'],_0xa14ab=_0x7ca1bc!==_0x13ff94['sessionId'];if(_0xa14ab){const _0x10ac6c=_0x13ff94['_offset']-this['_oldOffset'],_0x5b3e1c=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x22256f['toVersion']+_0x10ac6c!==_0x5b3e1c){const _0x6c5ecb=_0x22256f['fromVersion']+_0x10ac6c,_0x365bf6=this['editor']['plugins']['get'](_0x3f765e),_0x17df0d=this['_revisionTracker']['buildRevisionData']({'revision':_0x22256f,'from':_0x6c5ecb,'to':_0x5b3e1c});_0x17df0d['id']=_0x22256f['id'];const _0x5c42ee=_0x17df0d['authorsIds']['map'](_0x514272=>_0x365bf6['getUser'](_0x514272));_0x22256f['_update']({..._0x17df0d,'authors':_0x5c42ee},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x22256f['id'],_0x17df0d,!0x0);}this['_revisionTracker']['_startingVersion']=_0x5b3e1c,(_0x22256f['toVersion']===_0x22256f['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x7ca1bc)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x7ca1bc),this['_revisionTracker']['_createCurrentRevision'](_0x5b3e1c));}const {revisions:_0x15e47f,requestId:_0x22eed3}=await this['_revisionHistoryService']['reconnect'](_0x4c05aa['connection'],this['_lastRequestId']);_0xa14ab&&_0x15e47f['length']>0x0?_0x13ff94['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x15e47f),this['_handleRevisionsUpdate'](_0x15e47f,_0x22eed3),this['_revisionTracker']['sendBufferedUpdates']());};return _0x13ff94['_isConnected']?_0xb66b4e():new Promise((_0x39e224,_0xb30e8f)=>{_0x13ff94['once']('change:_isConnected',()=>{_0xb66b4e()['then'](_0x39e224)['catch'](_0xb30e8f);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x32f179=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x51f315=>{_0x51f315['off'](),_0x32f179();});});}['_getLatestVersionFromServerOperations'](){const _0x122ed9=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x5d7067 of _0x122ed9)if('marker'!==_0x5d7067['type']||_0x5d7067['affectsData'])return _0x5d7067['baseVersion']+0x1;}['_getLatestVersion'](){const _0x311522=this['editor']['plugins']['get'](l);return new Promise(_0xf8e9d5=>{_0x311522['_isPendingUpdate']?_0x311522['once']('change:_isPendingUpdate',()=>{_0xf8e9d5(this['_getLatestVersionFromServerOperations']());}):_0xf8e9d5(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x2efe4b,_0x1e73fc){const _0x45c77d=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1e73fc;for(const _0x2833ad of _0x2efe4b){const _0x4bd626=_0x45c77d['getRevision'](_0x2833ad['id']);if(_0x4bd626){if((_0x2833ad['fromVersion']||_0x2833ad['toVersion'])&&(_0x2833ad['diffData']=null),_0x4bd626===this['_revisionTracker']['currentRevision']){const _0x55d1f0=Math['max'](_0x4bd626['toVersion'],_0x2833ad['toVersion']),_0x55ebc7=Math['max'](_0x4bd626['fromVersion'],_0x2833ad['fromVersion']);let _0x11c590;_0x4bd626['toVersion']===_0x2833ad['toVersion']&&_0x4bd626['fromVersion']===_0x2833ad['fromVersion']?(_0x11c590=!0x0,this['_preventResendingRevisionData'](_0x2833ad)):_0x2833ad['toVersion']===_0x55d1f0&&_0x2833ad['fromVersion']===_0x55ebc7?_0x11c590=!0x1:(_0x4bd626['toVersion']===_0x55d1f0&&_0x4bd626['fromVersion']===_0x55ebc7||this['_fixRevision']({'revision':_0x4bd626,'from':_0x55ebc7,'to':_0x55d1f0}),_0x11c590=!0x0),_0x11c590&&(delete _0x2833ad['fromVersion'],delete _0x2833ad['toVersion'],delete _0x2833ad['diffData'],delete _0x2833ad['createdAt'],delete _0x2833ad['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2833ad),this['_preventResendingRevisionData'](_0x2833ad);}else this['_revisionTracker']['addRevisionData'](_0x2833ad);}const _0x24eeaf=_0x45c77d['getRevisions']();_0x24eeaf['reverse']();for(let _0x4f3e24=0x0;_0x4f3e24<_0x24eeaf['length']-0x1;_0x4f3e24++){const _0x35cfa4=_0x24eeaf[_0x4f3e24],_0x1b0615=_0x24eeaf[_0x4f3e24+0x1];if(_0x35cfa4['fromVersion']<_0x1b0615['toVersion']){const _0x425aeb=_0x1b0615['toVersion'],_0x4e6bab=Math['max'](_0x425aeb,_0x35cfa4['toVersion']);this['_fixRevision']({'revision':_0x35cfa4,'from':_0x425aeb,'to':_0x4e6bab});}}}['_fixRevision']({revision:_0x4a0978,from:_0x5e8aa7,to:_0x3e6a1f}={}){const _0x5de3cd=this['editor']['plugins']['get'](_0x3f765e),_0x4868b5=this['_revisionTracker']['buildRevisionData']({'revision':_0x4a0978,'from':_0x5e8aa7,'to':_0x3e6a1f});_0x4868b5['authors']=_0x4868b5['authorsIds']['map'](_0x6bb438=>_0x5de3cd['getUser'](_0x6bb438)),_0x4a0978['_update'](_0x4868b5);}['_preventResendingRevisionData'](_0xf9b795){const _0x570bf4={};_0x570bf4['id']=_0xf9b795['id'];for(const _0x31e5e9 of Object['keys'](_0xf9b795))'id'!==_0x31e5e9&&(_0x570bf4[_0x31e5e9]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x570bf4['id'],_0x570bf4,!0x0);}async['_fetchMissingUsers'](_0x1be9e4){const _0x12cf96=this['editor']['plugins']['get'](_0x3f765e),{connection:_0xe4ce23}=this['editor']['plugins']['get'](c),_0x9cae41=new Set();for(const _0x251c33 of _0x1be9e4){for(const _0x19a1c5 of _0x251c33['authorsIds'])_0x4dbfbe(_0x19a1c5);_0x251c33['creatorId']&&_0x4dbfbe(_0x251c33['creatorId']);}if(0x0===_0x9cae41['size'])return;const _0x48344b=await mt['getMany'](_0xe4ce23,Array['from'](_0x9cae41));for(const _0x2da6ce of _0x48344b)_0x12cf96['getUser'](_0x2da6ce['id'])||_0x12cf96['addUser'](_0x2da6ce);function _0x4dbfbe(_0x5b2af8){_0x12cf96['getUser'](_0x5b2af8)||_0x9cae41['add'](_0x5b2af8);}}}function st(_0x1d792c){return _0x1d792c['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1d792c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1d792c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x3111a4{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x105e30{constructor(_0x5685fc){super(_0x5685fc);const _0x276b61=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x276b61['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x276b61['to']('usersCount',_0x225be8=>B(_0x5685fc,'CONNECTED_USERS',_0x225be8))}]});}}class es extends _0x105e30{['items'];['keystrokes'];constructor(_0x5de47a){super(_0x5de47a);const _0x874379=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5ef21e(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x874379['if']('hasPopup'),'aria-expanded':_0x874379['to']('isExpanded',_0x364034=>this['hasPopup']&&String(_0x364034)),'aria-label':_0x874379['to']('hasPopup',_0x542512=>B(_0x5de47a,_0x542512?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x874379['to']('hasPopup',_0x59b041=>!!_0x59b041&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x874379['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x752ddc,_0x19f111,_0xa1e265)=>{this['element']&&(_0xa1e265?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 _0x105e30{['counterView'];['inlineListView'];constructor(_0x5ba697){super(_0x5ba697);const _0x2e8d34=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x5ba697),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5b11c2 of this['inlineListView']['items'])_0x5b11c2['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',_0x2e8d34['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x105e30{['listWrapperView'];constructor(_0x1a4802,_0x586adc){super(_0x1a4802),this['listWrapperView']=new vt(_0x1a4802,_0x586adc),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':B(_0x1a4802,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class vt extends _0x1ba598{constructor(_0x2ac5ed,_0x94d8f3){super(_0x2ac5ed);const _0x58afa1=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x94d8f3?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x58afa1['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x58afa1['to']('role'),'aria-label':_0x58afa1['to']('ariaLabel'),'aria-labelledby':_0x58afa1['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3d711e['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x50af0c=this['element'];_0x50af0c&&(this['_isScrollable']=Math['max'](_0x50af0c['scrollHeight'],_0x50af0c['clientHeight'])>0.8*window['innerHeight']);}}class k extends at{['userView'];constructor(_0x5a4eda,_0x22db0f,_0x2bf3c9){super(_0x5a4eda);const _0x41c62c=this['bindTemplate'];this['userView']=new lt(_0x5a4eda,_0x22db0f);const _0x520b39={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x22db0f['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x22db0f['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x22db0f['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2bf3c9&&(_0x520b39['tag']='button',_0x520b39['on']={'click':_0x41c62c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x520b39);}['focus'](){this['element']['focus']();}}class y extends _0x105e30{['userView'];['markerView'];constructor(_0x14f38e,_0x5f511e,_0x1456e6){super(_0x14f38e);const _0x4a91d6=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new lt(_0x14f38e,_0x5f511e),this['markerView']=new dt(_0x14f38e,_0x5f511e);const _0x43a87e=new pt(_0x14f38e);_0x43a87e['template']['tag']='span',_0x43a87e['text']=_0x5f511e['name'];const _0x6ef2e9={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4a91d6['to']('isFocusable',_0x196f88=>!!_0x196f88&&0x0),'aria-labelledby':_0x43a87e['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4a91d6['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4a91d6['to']('hasTooltip',_0x5b7266=>!_0x5b7266),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x43a87e]};_0x1456e6&&(_0x6ef2e9['tag']='button',_0x6ef2e9['on']={'click':_0x4a91d6['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x6ef2e9);}}class dt extends _0x105e30{constructor(_0x28d60a,_0x35a994){super(_0x28d60a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x35a994['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x32de9b{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x369a79){super(_0x369a79),this['context']['config']['define']('presenceList',A);const _0x2f1ee7=_0x369a79['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2f1ee7)throw new _0x5f7cec('presencelist-collapseat-invalid-format',this);if(_0x2f1ee7<0x1)throw new _0x5f7cec('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1e8fd0(),this['balloonPanelView']=new _0x198394(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x3a04cd of this['_allConnectedUsers'])this['_handleUserAdd'](_0x3a04cd);this['listenTo'](this['_allConnectedUsers'],'add',(_0x228c91,_0x4918dd)=>{this['_handleUserAdd'](_0x4918dd);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x321026,_0x15b404)=>{this['_handleUserRemove'](_0x15b404);});}['_createView'](){const _0x35b027=this['context'],_0x45af68=new L(this['context']['locale']),_0x4966aa=this['balloonPanelView'];if(!_0x2a93db(_0x35b027['config']['get']('presenceList.container')))throw new _0x5f7cec('presencelist-missing-container',this);return _0x45af68['counterView']['bind']('usersCount')['to'](this),_0x45af68['bind']('isCollapsed')['to'](this,'usersCount',_0x5d4648=>{const {collapseAt:_0x247330,displayMe:_0x17a34b}=_0x35b027['config']['get']('presenceList'),_0x26d089=_0x5d4648>=_0x247330;return _0x45af68['counterView']['isHidden']=!(0x1==_0x5d4648&&_0x17a34b||_0x26d089),_0x26d089||this['hideDropdown'](),_0x26d089;}),_0x45af68['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x402bee=>{const _0x4ff7ad=_0x35b027['config']['get']('presenceList'),_0xf8d2bf=new y(_0x35b027['locale'],_0x402bee,!!_0x4ff7ad['onClick']);return _0xf8d2bf['bind']('hasTooltip')['to'](_0x45af68,'isCollapsed',_0x4c1658=>!_0x4c1658),_0xf8d2bf['bind']('isFocusable')['to'](_0x45af68,'isCollapsed',_0x579f45=>!_0x579f45),_0x4ff7ad['onClick']&&this['listenTo'](_0xf8d2bf,'execute',()=>{this['view']['isCollapsed']||_0x4ff7ad['onClick'](_0x402bee,_0xf8d2bf['element']);}),_0xf8d2bf;}),this['listenTo'](_0x45af68['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x45af68['inlineListView']['keystrokes']['set']('Enter',(_0x24c1e0,_0xbd04df)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0xbd04df());}),_0x45af68['render'](),_0x4966aa['render'](),_0x4d04fe({'emitter':_0x45af68,'activator':()=>_0x4966aa['isVisible'],'contextElements':[_0x4966aa['element'],_0x45af68['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x35b027['config']['get']('presenceList.container')['appendChild'](_0x45af68['element']),this['_bodyCollection']=new _0x1921bb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x45af68;}['_handleUserAdd'](_0x990b84){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x990b84['isMe'])return;const _0x39bb5e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x39bb5e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x5ee7f7=_0x990b84['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x990b84,_0x5ee7f7);}['_handleUserRemove'](_0x4b61d0){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x4b61d0['id'])&&(this['currentDisplayedUsers']['remove'](_0x4b61d0['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x41896f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x41896f['id']))return void this['currentDisplayedUsers']['add'](_0x41896f,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4efbd1=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x4efbd1['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x3cc8a1}=this['presenceDropdownView'];_0x3cc8a1['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x51e01a=>{if(!_0x4efbd1['displayMe']&&_0x51e01a['isMe'])return null;const _0x15fb9a=new k(this['context']['locale'],_0x51e01a,!!_0x4efbd1['onClick']);return _0x4efbd1['onClick']&&this['listenTo'](_0x15fb9a,'execute',()=>{_0x4efbd1['onClick'](_0x51e01a,_0x15fb9a['element']);}),_0x15fb9a;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3cc8a1['focus'](),_0x3cc8a1['checkIfScrollable']();const _0x300d42=(_0x2f946c,_0x116829)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x116829();};_0x3cc8a1['keystrokes']['set']('Esc',_0x300d42),_0x3cc8a1['keystrokes']['set']('Shift+Tab',_0x300d42),_0x3cc8a1['keystrokes']['set']('Tab',(_0xa13d52,_0x9762ec)=>{!function(_0x36e9f4){const _0x44f90a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x34736c=>_0x34736c+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4b78df=[...document['body']['querySelectorAll'](_0x44f90a)]['filter'](_0x178f0a=>_0x178f0a===document['activeElement']||_0x178f0a['offsetWidth']+_0x178f0a['offsetHeight']>0x0)['sort']((_0x88fd68,_0x343a52)=>(_0x88fd68['tabIndex']||0x0)-(_0x343a52['tabIndex']||0x0)),_0x551e30=_0x4b78df['indexOf'](_0x36e9f4),_0x9364c8=_0x4b78df[(_0x551e30+0x1)%_0x4b78df['length']];_0x9364c8&&_0x9364c8['focus']();}(this['view']['element']),this['hideDropdown'](),_0x9762ec();}),_0x3cc8a1['focusTracker']['add'](this['view']['element']),_0x3cc8a1['focusTracker']['on']('change:isFocused',(_0x14c972,_0xa6e51,_0x10db0d)=>{_0x10db0d||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 s extends _0x32de9b{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-real-time-collaboration",
|
|
3
|
-
"version": "44.3.0-alpha.
|
|
3
|
+
"version": "44.3.0-alpha.4",
|
|
4
4
|
"description": "A set of CKEditor 5 features enabling real-time collaboration within the editor using CKEditor Cloud Services.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "CKSource (http://cksource.com/)",
|
|
@@ -42,19 +42,19 @@
|
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@ckeditor/ckeditor-cloud-services-collaboration": "52.6.11",
|
|
45
|
-
"@ckeditor/ckeditor5-cloud-services": "44.3.0-alpha.
|
|
46
|
-
"@ckeditor/ckeditor5-comments": "44.3.0-alpha.
|
|
47
|
-
"@ckeditor/ckeditor5-core": "44.3.0-alpha.
|
|
48
|
-
"@ckeditor/ckeditor5-editor-multi-root": "44.3.0-alpha.
|
|
49
|
-
"@ckeditor/ckeditor5-engine": "44.3.0-alpha.
|
|
50
|
-
"@ckeditor/ckeditor5-operations-compressor": "44.3.0-alpha.
|
|
51
|
-
"@ckeditor/ckeditor5-revision-history": "44.3.0-alpha.
|
|
52
|
-
"@ckeditor/ckeditor5-theme-lark": "44.3.0-alpha.
|
|
53
|
-
"@ckeditor/ckeditor5-track-changes": "44.3.0-alpha.
|
|
54
|
-
"@ckeditor/ckeditor5-ui": "44.3.0-alpha.
|
|
55
|
-
"@ckeditor/ckeditor5-utils": "44.3.0-alpha.
|
|
56
|
-
"ckeditor5": "44.3.0-alpha.
|
|
57
|
-
"ckeditor5-collaboration": "44.3.0-alpha.
|
|
45
|
+
"@ckeditor/ckeditor5-cloud-services": "44.3.0-alpha.4",
|
|
46
|
+
"@ckeditor/ckeditor5-comments": "44.3.0-alpha.4",
|
|
47
|
+
"@ckeditor/ckeditor5-core": "44.3.0-alpha.4",
|
|
48
|
+
"@ckeditor/ckeditor5-editor-multi-root": "44.3.0-alpha.4",
|
|
49
|
+
"@ckeditor/ckeditor5-engine": "44.3.0-alpha.4",
|
|
50
|
+
"@ckeditor/ckeditor5-operations-compressor": "44.3.0-alpha.4",
|
|
51
|
+
"@ckeditor/ckeditor5-revision-history": "44.3.0-alpha.4",
|
|
52
|
+
"@ckeditor/ckeditor5-theme-lark": "44.3.0-alpha.4",
|
|
53
|
+
"@ckeditor/ckeditor5-track-changes": "44.3.0-alpha.4",
|
|
54
|
+
"@ckeditor/ckeditor5-ui": "44.3.0-alpha.4",
|
|
55
|
+
"@ckeditor/ckeditor5-utils": "44.3.0-alpha.4",
|
|
56
|
+
"ckeditor5": "44.3.0-alpha.4",
|
|
57
|
+
"ckeditor5-collaboration": "44.3.0-alpha.4",
|
|
58
58
|
"lodash-es": "4.17.21"
|
|
59
59
|
},
|
|
60
60
|
"types": "src/index.d.ts",
|