@ckeditor/ckeditor5-real-time-collaboration 47.1.0-alpha.2 → 47.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/real-time-collaboration.js +1 -1
- package/dist/index.js +6 -6
- package/package.json +14 -14
- package/src/presencelist/presencelistui.js +1 -1
- package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
- package/src/presencelist/view/presencedropdownlistview.js +1 -1
- package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
- package/src/presencelist/view/presenceinlinelistview.js +1 -1
- package/src/presencelist/view/presencelistview.js +1 -1
- package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +2 -2
- package/src/realtimecollaborativeediting/realtimecollaborationclient.js +2 -2
- package/src/realtimecollaborativeediting/sessions.js +1 -1
- package/src/realtimecollaborativeediting/usermarkers.js +1 -1
- package/src/realtimecollaborativeediting/websocketgateway.js +2 -2
- package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +2 -2
- package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +2 -2
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{ContextPlugin as
|
|
24
|
-
((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xd7a3b1];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x58510e){super(_0x58510e),this['set']('state',_0x5e325f['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1222ee())();}['init'](){const _0x398c70=this['context'],_0x203e75=_0x398c70['plugins']['get']('CloudServices'),_0x185cdb=_0x398c70['plugins']['get'](_0xd7a3b1);if(!_0x203e75['token'])throw new _0x495bd7('websocketgateway-missing-token',this);if(!_0x203e75['webSocketUrl'])throw new _0x495bd7('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),n['WebSocketGateway']['connect'](_0x203e75['token'],_0x203e75['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2fee43=>{if(this['connection']=_0x2fee43,this['bind']('state')['to'](_0x2fee43,'state',this,'_isBrowserOffline',(_0x249f3f,_0xb11c96)=>('connected'!==_0x249f3f&&(this['_shouldPluginsReconnect']=!0x0),_0xb11c96||_0x249f3f!==_0x5e325f['CONNECTED']?_0x5e325f['DISCONNECTED']:this['state']==_0x5e325f['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5e325f['CONNECTING']):_0x5e325f['CONNECTED'])),this['connection']['on']('error',(_0x2f4eb4,_0x5e901c)=>{if('limitExceeded'!==_0x5e901c['code'])throw console['error'](_0x5e901c),new _0x495bd7('cloudservices-init',null,{'originalError':_0x5e901c});_0x185cdb['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'});}),!_0x2fee43['me'])return new Promise(_0x829734=>_0x2fee43['on']('change:me',_0x829734));})['catch'](_0x655808=>{throw console['error'](_0x655808),new _0x495bd7('cloudservices-init',null,{'originalError':_0x655808});});}['addToReconnectionStack'](_0x4e455c){if('function'!=typeof _0x4e455c['reconnect'])throw new _0x495bd7('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4e455c))throw new _0x495bd7('websocketgateway-plugin-already-registered',this,{'name':_0x4e455c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4e455c);}['removeFromReconnectionStack'](_0x1f5dd4){this['_reconnectionStack']['delete'](_0x1f5dd4);}['isInReconnectionStack'](_0x197959){return this['_reconnectionStack']['has'](_0x197959);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5efa56=>_0x5efa56['reconnect']())))['then'](()=>this['state']=_0x5e325f['CONNECTED'])['catch'](_0x45c630=>{throw console['error'](_0x45c630),new _0x495bd7('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5e325f['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x3fda04{['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[n,_0x15d897];}constructor(_0x51c1dc){super(_0x51c1dc),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x50504b(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x15d897);}['init'](){const _0x58e9be=this['context']['plugins']['get'](n);this['listenTo'](_0x58e9be,'change:state',(_0x353266,_0x4d6bc5,_0x121598)=>{if('connected'!==_0x121598)this['channelSessions']['forEach'](_0xcf813=>_0xcf813['clear']()),this['channelConnectedUsers']['forEach'](_0x1a773d=>_0x1a773d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x50e820,_0x327d9c]of this['_registeredSessions'])for(const _0x16876c of _0x327d9c)this['_handleSessionAdd'](_0x50e820,_0x16876c);}}),this['_createUser'](_0x58e9be['connection']['me'],!0x0);}['register'](_0x15fcf8,_0x4d9333){if(this['_registeredSessions']['has'](_0x15fcf8))throw new _0x495bd7('sessions-register-already-registered',null,{'channelId':_0x15fcf8});this['_registeredSessions']['set'](_0x15fcf8,_0x4d9333),this['channelSessions']['set'](_0x15fcf8,new _0x50504b()),this['channelConnectedUsers']['set'](_0x15fcf8,new _0x50504b()),this['listenTo'](_0x4d9333,'add',(_0xd8187c,_0x56fc23)=>this['_handleSessionAdd'](_0x15fcf8,_0x56fc23)),this['listenTo'](_0x4d9333,'remove',(_0x377813,_0x174569)=>this['_handleSessionRemove'](_0x15fcf8,_0x174569));for(const _0x398ad6 of _0x4d9333)this['_handleSessionAdd'](_0x15fcf8,_0x398ad6);}['unregister'](_0x22d269){if(!this['_registeredSessions']['has'](_0x22d269))throw new _0x495bd7('sessions-unregister-not-exist',null,{'channelId':_0x22d269});const _0x23bd2e=this['_registeredSessions']['get'](_0x22d269);this['stopListening'](_0x23bd2e);for(const _0x4c391e of _0x23bd2e)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x22d269,_0x4c391e);this['_registeredSessions']['delete'](_0x22d269),this['channelSessions']['delete'](_0x22d269),this['channelConnectedUsers']['delete'](_0x22d269);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x2d6f02){for(const _0x434f94 of this['channelSessions']['values']())for(const _0x4bdbe7 of _0x434f94)if(_0x4bdbe7['id']===_0x2d6f02)return _0x4bdbe7['user'];}['getUserSessions'](_0x5a50c2,_0x6c7614){const _0x41f9e7=_0x6c7614?[this['channelSessions']['get'](_0x6c7614)]:this['channelSessions']['values'](),_0x373778=new Set();for(const _0x400f3e of _0x41f9e7)for(const _0x3677ef of _0x400f3e)_0x3677ef['user']['id']===_0x5a50c2['id']&&_0x373778['add'](_0x3677ef['id']);return _0x373778;}['getUserRole'](_0x30f166){for(const _0x19d71a of this['channelSessions']['values']())for(const _0x2c3faf of _0x19d71a)if(_0x2c3faf['user']===_0x30f166)return _0x2c3faf['role'];}['_handleSessionAdd'](_0x3d2080,_0x5370b7){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x7a751d=_0x5370b7['user'],_0x327425=this['_users']['getUser'](_0x7a751d['id'])||this['_createUser'](_0x7a751d),_0x4c0060=Object['assign']({},_0x5370b7,{'user':_0x327425});if(this['channelSessions']['get'](_0x3d2080)['add'](_0x4c0060),!_0x7a751d['hiddenInPresenceList']){const _0x832e4a=this['channelConnectedUsers']['get'](_0x3d2080);_0x832e4a['has'](_0x327425['id'])||_0x832e4a['add'](_0x327425),this['allConnectedUsers']['has'](_0x327425['id'])||_0x7a751d['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x327425,_0x327425['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3d2080,{'channelId':_0x3d2080,'session':_0x4c0060});}['_handleSessionRemove'](_0x58543e,_0x227857){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x4e9e6b=this['channelConnectedUsers']['get'](_0x58543e),_0x3005ee=_0x227857['user'];_0x3005ee['id']&&(this['channelSessions']['get'](_0x58543e)['remove'](_0x227857['id']),_0x4e9e6b['has'](_0x3005ee['id'])&&!this['getUserSessions'](_0x3005ee,_0x58543e)['size']&&_0x4e9e6b['remove'](_0x3005ee['id']),this['allConnectedUsers']['get'](_0x3005ee['id'])&&!this['getUserSessions'](_0x3005ee)['size']&&this['allConnectedUsers']['remove'](_0x3005ee['id']));}['_createUser'](_0x266e61,_0x4a2637){const _0x23a36f=this['_users']['addUser'](_0x266e61);return _0x4a2637&&this['_users']['defineMe'](_0x266e61['id']),_0x23a36f['orderNumber']=this['_uniqueUsersCount']++,_0x23a36f;}}class U extends _0x2a528b{['_domEmitter']=new(_0x1222ee())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x44911d=this['editor'],_0x34bf2e=_0x44911d['plugins']['get'](i);_0x44911d['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x31da46,{writer:_0x175607})=>function(_0x44df1e,_0xf702cc,_0x4e062a,_0x177562){const _0x4f0313=_0x44df1e['markerName']['split'](':')[0x2],_0x42976e=_0x4e062a['getUserBySessionId'](_0x4f0313);if(!_0x42976e||_0x4f0313===_0x4e062a['mySessionId'])return;if(!_0x177562['model']['schema']['checkChild'](_0x44df1e['markerRange']['start'],'$text'))return;const _0x1f2cb9={'class':'ck-user__marker\x20'+_0x42976e['color']['getMarkerClass'](),'data-name':_0x42976e['name'],'data-session-id':_0x4f0313},_0x1a0f0d=_0x177562['model']['markers']['get'](_0x44df1e['markerName']),_0xb0d94a=_0x1a0f0d['getStart'](),_0x476b09=_0xb0d94a['nodeAfter'],_0x489ccb=_0x177562['model']['schema'];if(_0x476b09&&_0x489ccb['isObject'](_0x476b09)&&_0x489ccb['isInline'](_0x476b09)&&!_0x177562['model']['markers']['get']('user:range:'+_0x4f0313)['getRange']()['isCollapsed'])return;const _0x4ff2cc=_0xb0d94a['parent'];return _0x177562['model']['schema']['isLimit'](_0x4ff2cc)&&!_0x177562['model']['hasContent'](_0x4ff2cc)&&(_0x1f2cb9['contenteditable']=!0x1),function(_0x6f07a5,_0x420480,_0x17739d){const _0x43e618=_0x6f07a5['createUIElement']('span',_0x420480);return _0x6f07a5['setCustomProperty']('userPositionMarker',!0x0,_0x43e618),_0x43e618['render']=function(_0x15c665){const _0x3862ab=this['toDomElement'](_0x15c665),_0x3c0058=document['createElement']('span');return _0x3c0058['classList']['add']('ck-user__marker-tooltip'),_0x3c0058['setAttribute']('contenteditable','false'),_0x3c0058['setAttribute']('spellcheck','false'),_0x3c0058['textContent']=_0x17739d['name'],_0x3862ab['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3c0058['outerHTML']+'',_0x3862ab['addEventListener']('mouseenter',()=>{_0x3862ab['classList']['add']('ck-user__marker_hovered');}),_0x3862ab['addEventListener']('mouseleave',()=>{_0x3862ab['classList']['remove']('ck-user__marker_hovered');}),_0x3862ab;},_0x43e618['isSimilar']=function(_0x2253a5){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2253a5['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2253a5['getAttribute']('data-session-id'));},_0x43e618;}(_0xf702cc,_0x1f2cb9,_0x42976e);}(_0x31da46,_0x175607,_0x34bf2e,_0x44911d)}),_0x44911d['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5e78db=>function(_0x20a8d1,_0x3d49e4){const _0x3cbd9c=_0x20a8d1['markerName']['split'](':')[0x2];if(_0x3cbd9c===_0x3d49e4['mySessionId'])return null;const _0x2de371=_0x3d49e4['getUserBySessionId'](_0x3cbd9c);if(!_0x2de371)return{'id':_0x3cbd9c,'classes':[]};return{'id':_0x3cbd9c,'classes':['ck-user__selection',_0x2de371['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x3cbd9c},'priority':0x7d0+_0x2de371['orderNumber']};}(_0x5e78db,_0x34bf2e)}),function(_0x3dae5c){const _0x131dbf=_0x3dae5c['model'],_0x25f454=new Map(),_0x50de21=_0x3dae5c['plugins']['get'](i);_0x131dbf['markers']['on']('update:user:range',(_0x20f324,_0x1042e8,_0x244cd4,_0x48819c)=>{if(!_0x48819c&&_0x25f454['get'](_0x1042e8['name']))return _0x25f454['get'](_0x1042e8['name'])['detach'](),void _0x25f454['delete'](_0x1042e8['name']);const _0x71387c=_0x1042e8['name']['split'](':')[0x2];if(_0x71387c===_0x50de21['mySessionId'])return;const _0x16d71e='user:position:'+_0x71387c;_0x131dbf['markers']['has'](_0x16d71e)&&_0x3dae5c['editing']['reconvertMarker'](_0x16d71e),_0x1042e8['on']('change:range',(_0x3fd115,_0x3a93bf,_0x301d2b)=>{if('$graveyard'!=_0x3a93bf['root']['rootName']&&'$graveyard'==_0x1042e8['getRange']()['root']['rootName']&&!_0x25f454['has'](_0x1042e8['name'])){const _0x2d064a=_0x131dbf['schema']['getNearestSelectionRange'](_0x301d2b['deletionPosition']);if(_0x2d064a){const _0x134a4d=_0x55fe5a['fromRange'](_0x2d064a);_0x25f454['set'](_0x1042e8['name'],_0x134a4d),_0x134a4d['on']('change:range',(_0x3bae5b,_0x2ce70e,_0x2a0f7c)=>{if('$graveyard'==_0x134a4d['root']['rootName']){const _0x34c088=_0x131dbf['schema']['getNearestSelectionRange'](_0x2a0f7c['deletionPosition']);_0x34c088?(_0x134a4d['start']=_0x34c088['start'],_0x134a4d['end']=_0x34c088['end']):(_0x25f454['delete'](_0x1042e8['name']),_0x134a4d['detach']());}});}}});}),_0x131dbf['document']['on']('change',()=>{_0x25f454['size']>0x0&&_0x131dbf['enqueueChange']({'isUndoable':!0x1},_0x2b4b00=>{for(const [_0x1f4cf1,_0x7f313a]of _0x25f454)'$graveyard'==_0x131dbf['markers']['get'](_0x1f4cf1)['getRange']()['root']['rootName']&&(J(_0x1f4cf1['split'](':')[0x2],_0x7f313a['toRange'](),_0x131dbf,_0x2b4b00),_0x7f313a['detach']());_0x25f454['clear']();});});}(_0x44911d),this['_domEmitter']['listenTo'](_0x238b5d['document'],'keydown',(_0xe59e57,{key:_0x4ec196})=>{'Escape'===_0x4ec196&&function(_0x30b407){_0x30b407['editing']['view']['change'](_0x57ef83=>{for(const _0x8ab99 of _0x30b407['model']['markers']){if(!_0x8ab99['name']['startsWith']('user:position'))continue;const _0x2e2c69=_0x30b407['editing']['mapper']['markerNameToElements'](_0x8ab99['name']);if(_0x2e2c69){for(const _0x59ccd2 of _0x2e2c69)_0x57ef83['removeClass']('ck-user__marker_hovered',_0x59ccd2);}}});}(_0x44911d);},{'useCapture':!0x0});}['afterInit'](){const _0x2d5168=this['editor'],_0x240a42=_0x2d5168['commands']['get']('undo');_0x240a42&&_0x2d5168['model']['on']('applyOperation',(_0x401288,_0x4c52b6)=>{const _0x1e6800=_0x4c52b6[0x0];if(!_0x1e6800['isDocumentOperation'])return;if('marker'!=_0x1e6800['type']||!_0x1e6800['name']['startsWith']('user:'))return;const _0x470ee6=_0x1e6800['batch'];_0x240a42['_createdBatches']['has'](_0x470ee6)&&(_0x1e6800['newRange']=_0x1e6800['oldRange']?_0x2d5168['model']['createRange'](_0x1e6800['oldRange']['start'],_0x1e6800['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xcb4015=this['editor'],_0x816b8c=_0xcb4015['model']['document'],_0x396e3d=_0xcb4015['plugins']['get'](i);_0xcb4015['model']['enqueueChange']({'isUndoable':!0x1},_0x5a122b=>{const _0x2c8968='user:range:'+_0x396e3d['mySessionId'],_0x1fea50='user:position:'+_0x396e3d['mySessionId'],_0x497bd3=_0xcb4015['model']['markers']['has'](_0x2c8968);_0xcb4015['editing']['view']['hasDomSelection']?J(_0x396e3d['mySessionId'],_0x816b8c['selection']['getFirstRange'](),_0xcb4015['model'],_0x5a122b):_0x497bd3&&(_0x5a122b['removeMarker'](_0x2c8968),_0x5a122b['removeMarker'](_0x1fea50));});}}function J(_0x88c0d9,_0x21dd35,_0x18814b,_0x5adbbb){const _0x403ad7='user:range:'+_0x88c0d9,_0x56df2a='user:position:'+_0x88c0d9,_0xed84ca=_0x21dd35['getContainedElement']();let _0x9c1cac=_0x21dd35['start'];if(_0xed84ca&&_0xed84ca['is']('element','tableCell')){const _0x1b352a=function(_0x173f24,_0x170c20){for(const _0x4bb98b of _0x173f24['getPositions']())if(_0x170c20['schema']['checkChild'](_0x4bb98b,'$text'))return _0x4bb98b;}(_0x21dd35,_0x18814b);_0x1b352a&&(_0x9c1cac=_0x1b352a,_0x21dd35=_0x5adbbb['createRange'](_0x9c1cac));}const _0x13f220=_0x5adbbb['createRange'](_0x9c1cac);_0x18814b['markers']['has'](_0x403ad7)?(_0x5adbbb['updateMarker'](_0x403ad7,{'range':_0x21dd35}),_0x5adbbb['updateMarker'](_0x56df2a,{'range':_0x13f220})):(_0x5adbbb['addMarker'](_0x403ad7,{'range':_0x21dd35,'usingOperation':!0x0}),_0x5adbbb['addMarker'](_0x56df2a,{'range':_0x13f220,'usingOperation':!0x0}));}function E(_0x2cb3ab,_0x49643d,_0x26a0b6){const _0x25efa4=_0x2cb3ab['t'],t=_0x2cb3ab['t'];switch(_0x49643d){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 _0x25efa4({'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'},_0x26a0b6);default:return'';}}let H=0x1;class l extends _0x2a528b{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x3e7873)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,U,_0x376d07,_0x15d897,_0xd7a3b1];}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 _0xdb9797=this['serverHistory']['getOperations']();for(let _0x1d8be9=_0xdb9797['length']-0x1;_0x1d8be9>=0x0;_0x1d8be9--){const _0x6672e9=_0xdb9797[_0x1d8be9];if(!this['_disconnectionOperations']['has'](_0x6672e9))return _0x6672e9['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x430c80){if(super(_0x430c80),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x102672(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x495bd7('collaboration-missing-channelid',this);const _0x585342=_0x430c80['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x585342,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1e396c(),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 F(this['_disconnectionOperations']);}['init'](){const _0x382124=this['editor'],_0x22c5e6=_0x382124['plugins']['get'](_0x15d897),_0x4d281b=_0x382124['plugins']['get'](n);this['listenTo'](_0x22c5e6,'getOperationAuthor',(_0x526b93,_0x458071)=>{const _0x547763=_0x458071[0x0];_0x547763['_authorId']&&(_0x526b93['return']=_0x22c5e6['getUser'](_0x547763['_authorId']),_0x526b93['stop']()),null===_0x547763['_authorId']&&(_0x526b93['return']=null,_0x526b93['stop']());},{'priority':'high'}),this['listenTo'](_0x382124['model']['document']['selection'],'change:range',(_0x4c0669,_0x1c0a51)=>{_0x1c0a51['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x382124['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x382124['model']['on']('applyOperation',(_0x365bd0,_0x1019d7)=>{const _0x1c2dac=_0x1019d7[0x0];_0x1c2dac['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1c2dac),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4d281b,'state',this,'_hasSynchronizationProblem',(_0x5c2956,_0x226168)=>'connected'===_0x5c2956&&!_0x226168),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x382124['disableReadOnlyMode']('rtc-offline'):_0x382124['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x382124['disableReadOnlyMode']('rtc-offline'):_0x382124['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x18f963=this['editor']['plugins']['get'](i),_0x487f59=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x18f963['unregister'](this['_channelId']);const _0x1742ea=await this['_service']['reconnect'](_0x487f59['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1742ea)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4e4170=await this['_service']['getConnectedSessions']();_0x18f963['register'](this['_channelId'],_0x4e4170),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4e02b7){if(function(_0x51be39){return'404'===_0x51be39['code'];}(_0x4e02b7)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x22bd3d){return'409'===_0x22bd3d['code'];}(_0x4e02b7)){const _0x23bd2f=E(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'](_0x23bd2f);}else{if(!(_0x4e02b7 instanceof V))throw _0x4e02b7;this['_handleReconnectionError']();}}}}['destroy'](){const _0x24d2a0=this['editor']['plugins']['get'](n),_0x390b30=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x390b30['channelSessions']['has'](this['_channelId'])&&_0x390b30['unregister'](this['_channelId']),_0x24d2a0['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x300a77){if(this['sessionId']!==_0x300a77['sessionId']&&this['_lastSyncedOperationId']!==_0x300a77['lastOperationId'])throw new V();return this['sessionId']=_0x300a77['sessionId'],this['_handleServerResponse']([],{..._0x300a77,'wereChangesApplied':!0x1,'data':_0x300a77['data']},'reconnect');}async['_connectService'](_0x1325f9,_0x502029=!0x1){const {connection:_0x4d5530}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x4d5530,this['_channelId'])['then'](_0x593a2c=>this['_initSessionsHandling'](_0x593a2c))['catch'](_0x4ad2cf=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4ad2cf);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1e3c4e,_0xa7eb94)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xa7eb94);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xa197bd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1325f9);this['_isPendingUpdate']=!0x0;const _0x5ef019=await this['_service']['connect'](_0x4d5530,this['_compressOperations'](_0x1325f9),_0xa197bd);if(this['sessionId']=_0x5ef019['sessionId'],_0x502029){if(!_0x5ef019['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5ef019['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1325f9,_0x5ef019,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5ef019,_0x1325f9);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x36df49=this['editor']['plugins']['get'](i),_0x15b6a0=this['editor']['plugins']['get'](U),_0xfd6514=_0x36df49['channelSessions']['get'](this['_channelId']);_0xfd6514&&_0xfd6514['length']>0x1?_0x15b6a0['createUserMarkerOperations']():this['listenTo'](_0x36df49,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x36df49['channelSessions']['get'](this['_channelId'])['length']&&_0x15b6a0['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x44ce0c,_0x4fa96d,_0x505574,_0x30846b){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4fa96d){const _0xcd2883=this['_decompressOperations'](_0x505574,_0x30846b);await this['_fetchMissingUsers'](_0xcd2883),this['_handleExternalOperations'](_0xcd2883,_0x4fa96d,_0x505574['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xd37fa}=this['editor'];let _0x4e1306;try{_0x4e1306=await this['_service']['getDocumentDetails']();}catch{const _0x454a88=E(_0xd37fa,'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'](_0x454a88);}const _0x106b86=_0x4e1306['currentDocumentSession']||_0x4e1306['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x106b86['lastOperationId']){const _0x1ea2ca=E(_0xd37fa,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x1ea2ca);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3c86eb){const _0x5a4806=this['editor']['plugins']['get'](i);this['listenTo'](_0x5a4806,'sessionAdd:'+this['_channelId'],(_0x5d12fd,{session:_0x1303ca})=>{if(_0x1303ca['id']===_0x5a4806['mySessionId']){_0x5d12fd['off']();const _0xc58c0b=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x19fad7=_0x1303ca['permissions'];_0xc58c0b&&_0xc58c0b['isEnabled']&&(_0x19fad7=_0x19fad7['filter'](_0x55d60d=>'document:write'!==_0x55d60d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x19fad7,this['_channelId']);}}),_0x5a4806['register'](this['_channelId'],_0x3c86eb);}['_initThrowingOnDataSet'](){const _0x3a8f84=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x8028b7)=>{if(!_0x8028b7[_0x8028b7['length']-0x1]['suppressErrorInCollaboration'])throw new _0x495bd7('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3a8f84['apply'](this['editor']['data'],_0x8028b7);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x14d1d2,[_0x2bdac8])=>{if(this['_document']['version'])throw new _0x495bd7('realtimecollaborationclient-init-document-already-initialized',this);_0x14d1d2['stop'](),this['_setPendingAction']();const _0x32eafc=this['editor']['config']['get']('rootsAttributes'),_0x23588b=this['_getOperationsFromInitData'](_0x2bdac8,_0x32eafc);0x0==_0x23588b['length']&&_0x23588b['push'](new _0x747ae5(0x0)),_0x14d1d2['return']=this['_connectService'](_0x23588b)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x18fde=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x18fde))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4d75cd,[_0x15dd64,_0x57da3f])=>{_0x4d75cd['stop']();const _0x1c7647=this['editor']['model']['document']['getRoot'](_0x15dd64);if(!this['_knownRootNames']['has'](_0x15dd64)){const _0xdebec4=_0x57da3f&&_0x57da3f['data']?_0x57da3f['data']:'',_0x543c56=_0x57da3f&&_0x57da3f['attributes']?_0x57da3f['attributes']:{};await this['_loadRoot'](_0x15dd64,_0xdebec4,_0x543c56);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1c7647['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1c7647);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x3d45a8){const _0x48e20a=this['editor']['plugins']['get'](_0x15d897),{connection:_0x2e440e}=this['editor']['plugins']['get'](n),_0x1ba6c7=new Set();for(const _0xae119d of _0x3d45a8){const _0x1dd9f8=_0xae119d['_authorId'];_0x1dd9f8&&!_0x48e20a['getUser'](_0x1dd9f8)&&_0x1ba6c7['add'](_0x1dd9f8);}if(0x0===_0x1ba6c7['size'])return;const _0x4eeb62=await ut['getMany'](_0x2e440e,Array['from'](_0x1ba6c7));for(const _0x7a33cc of _0x4eeb62)_0x48e20a['getUser'](_0x7a33cc['id'])||_0x48e20a['addUser'](_0x7a33cc);}['_getOperationsFromInitData'](_0x3a51da,_0x5d892b={}){const _0xd51325=this['editor']['model'],_0x25efb7=[];let _0x22283e=0x0;const _0x1ded03='string'==typeof _0x3a51da?{'main':_0x3a51da}:_0x3a51da;for(const _0x149624 of Object['keys'](_0x1ded03)){if(!this['_document']['roots']['has'](_0x149624))throw new _0x495bd7('realtimecollaborationclient-init-non-existent-root',this);const _0x2d967b=this['editor']['data']['parse'](_0x1ded03[_0x149624]),_0xd4f28a=this['_document']['getRoot'](_0x149624),_0xfd5df3=new _0x5aaafd(_0xd51325['createPositionAt'](_0xd4f28a,0x0),_0x2d967b,_0x22283e++);_0x25efb7['push'](_0xfd5df3);for(const [_0x17cc3c,_0x28ff6d]of _0x2d967b['markers']){const _0x56bd2d=_0xd51325['createRange'](_0xd51325['createPositionFromPath'](_0xd4f28a,_0x28ff6d['start']['path']['slice']()),_0xd51325['createPositionFromPath'](_0xd4f28a,_0x28ff6d['end']['path']['slice']())),_0x109a4d=new _0x2a532e(_0x17cc3c,null,_0x56bd2d,_0xd51325['markers'],!0x0,_0x22283e++);_0x25efb7['push'](_0x109a4d);}}if(_0x5d892b)for(const [_0x3e2493,_0x5d1a7f]of Object['entries'](_0x5d892b)){const _0xee13a9=_0xd51325['document']['getRoot'](_0x3e2493);if(!_0xee13a9)throw new _0x495bd7('multi-root-editor-root-attributes-no-root',null);for(const [_0x5a4529,_0x4b496d]of Object['entries'](_0x5d1a7f))if(null!==_0x4b496d){const _0x949f35=new _0x52a999(_0xee13a9,_0x5a4529,null,_0x4b496d,_0x22283e++);_0x25efb7['push'](_0x949f35);}}return _0x25efb7;}async['_loadRoot'](_0x38613a,_0xae4860,_0x51fa67){this['_getOperationsFromInitData']({[_0x38613a]:_0xae4860},{[_0x38613a]:_0x51fa67})['forEach']((_0x3464be,_0x3ceea9)=>{_0x3464be['baseVersion']=this['_document']['version']+_0x3ceea9,_0x3464be['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x3464be);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x284c83,_0x27aa37){let _0x2bcde5;this['_offset']=_0x284c83['offset'];const _0x53fd21=_0x284c83['wereChangesApplied']&&!_0x284c83['initData'],_0xb685c6=_0x53fd21?0x0:_0x284c83['data']['baseVersion'];if(_0x27aa37['forEach'](_0x2d840b=>{_0x2d840b['_isInit']=!0x0,_0x2d840b['createdAt']=_0x284c83['sessionCreatedAt'],_0x2d840b['_authorId']=null;}),_0x53fd21)_0x2bcde5=_0x27aa37,this['_applyOperationsSet'](_0x2bcde5,_0x53fd21);else{if(_0x284c83['initData']){const _0x55f984=this['_getOperationsFromInitData'](_0x284c83['initData']);this['_document']['history']['version']=-_0x55f984['length'],_0x55f984['forEach'](_0x51773f=>{_0x51773f['baseVersion']-=_0x55f984['length'],_0x51773f['createdAt']=_0x284c83['sessionCreatedAt'],_0x51773f['_isInit']=!0x0,_0x51773f['_authorId']=null;}),this['_applyOperationsSet'](_0x55f984,!0x0),this['serverHistory']['version']=-_0x55f984['length']+this['_offset'],this['_updateServerHistory'](_0x55f984);}this['_document']['history']['version']=_0xb685c6,_0x2bcde5=this['_decompressOperations'](_0x284c83['data'],_0x284c83['metadata']),await this['_fetchMissingUsers'](_0x2bcde5),this['_applyOperationsSet'](_0x2bcde5,_0x53fd21);}_0x284c83['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2bcde5,_0x284c83['lastOperationId']),this['_lastSyncedOperationId']=_0x284c83['lastOperationId']),this['serverHistory']['version']=_0xb685c6+this['_offset'],this['_updateServerHistory'](_0x2bcde5),_0x27aa37['filter'](_0x190f14=>{const _0x52cea7=this['_getAffectedRoot'](_0x190f14);return _0x52cea7&&!this['_knownRootNames']['has'](_0x52cea7);})['forEach']((_0x5afb97,_0x53121f)=>{_0x5afb97['baseVersion']=this['_document']['version']+_0x53121f,this['_saveOperationInBuffer'](_0x5afb97);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x541152,_0x31c902){const _0x1b5c65=_0x31c902&&_0x31c902['message'];if(_0x1b5c65&&_0x1b5c65['startsWith']('realtimecollaborationclient'))throw _0x31c902;const _0x1d78c=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x1d78c['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x495bd7(_0x541152,this['editor'],_0x1b5c65?{'originalError':_0x1b5c65}:void 0x0);}['_saveOperationInBuffer'](_0x3aa462){this['_knownOperations']['has'](_0x3aa462)||(this['_knownOperations']['add'](_0x3aa462),this['_bufferedOperations']['push'](_0x3aa462),this['_pendingAction']||'marker'==_0x3aa462['type']&&!_0x3aa462['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x283ada=!0x1){!_0x283ada&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1ee680=>{_0x1ee680&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x18f74d=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x58cf7d){return _0x58cf7d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x58cf7d['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x58cf7d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x18f74d)||this['_crash'](_0x18f74d['message'],_0x18f74d);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1d9140=>{this['on']('change:_isPendingUpdate',()=>{_0x1d9140();});});}async['_sendBufferedOperations'](){const _0x28ffd2=this['editor']['plugins']['get'](U);if(this['_shouldSendSelectionUpdate']()&&(_0x28ffd2['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x289db8=[...this['_bufferedOperations']];for(const _0x3acf6c of _0x289db8)_0x3acf6c['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3acf6c);const _0x1e5228=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x289db8),_0x5c0ea7=H++,_0x1b0b9c=this['_compressOperations'](_0x289db8),_0x5dc982=await this['_service']['sendOperations'](_0x1b0b9c,_0x1b0b9c['baseVersion'],_0x1e5228);try{return await this['_handleServerResponse'](_0x289db8,_0x5dc982,_0x5c0ea7);}catch(_0x8525bf){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x8525bf);}}async['_handleServerResponse'](_0x275c77,_0x39666a,_0x21a7d7){if('error'in _0x39666a)throw _0x39666a['error'];let _0x525c3d=!0x1;if(_0x39666a['wereChangesApplied']){_0x39666a['lastOperationId']&&(this['_lastSyncedOperationId']=_0x39666a['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x211a77=>!_0x275c77['includes'](_0x211a77));for(const _0x591628 of _0x275c77)_0x591628['createdAt']='lastOperationAcceptedAt'in _0x39666a&&_0x39666a['lastOperationAcceptedAt']||void 0x0;W(_0x275c77,_0x39666a['version']-_0x275c77['length']),this['_updateServerHistory'](_0x275c77);const _0x11059d=_0x275c77['filter'](_0xcdc630=>{if(!_0xcdc630['_isInit'])return!0x1;const _0x5ed8c1=this['_getAffectedRoot'](_0xcdc630);return _0x5ed8c1&&!this['_knownRootNames']['has'](_0x5ed8c1);});W(_0x11059d,this['_document']['version']),this['_applyOperationsSet'](_0x11059d),_0x525c3d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x369999=this['_decompressOperations'](_0x39666a['data'],_0x39666a['metadata'])['filter'](_0x49cefc=>_0x49cefc['baseVersion']>=this['_lastServerVersion']);_0x369999['forEach'](_0x513183=>this['_addKnownRoot'](_0x513183)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x365a6c=>!_0x365a6c['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x365a6c))),this['_bufferedOperations']['length']&&W(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x369999),_0x525c3d=this['_handleExternalOperations'](_0x369999,_0x39666a['version'],_0x39666a['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x525c3d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1289af,_0x1436e9,_0xa78c10){try{const _0x24fe64={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3c205a,operationsB:_0x3688be,originalOperations:_0x566ced}=_0x543dee(_0x1289af,this['_bufferedOperations'],_0x24fe64);W(_0x3c205a,this['_document']['version']),W(_0x3688be,_0x1436e9);for(const _0x1c1ebf of _0x3c205a){const _0x206deb=_0x566ced['get'](_0x1c1ebf);_0x1c1ebf['_authorId']=_0x206deb?_0x206deb['_authorId']:null;}_0xa78c10&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1289af,_0xa78c10),this['_lastSyncedOperationId']=_0xa78c10),this['_bufferedOperations']=[..._0x3688be],this['_applyOperationsSet'](_0x3c205a),this['_updateServerHistory'](_0x1289af);}catch(_0xf1f26d){return console['error'](_0xf1f26d),!0x1;}return!0x0;}['_applyOperationsSet'](_0x545e5e,_0x2a43ab=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x46cf20=>{for(const _0x1faeb9 of _0x545e5e)this['_knownOperations']['add'](_0x1faeb9),this['_addKnownRoot'](_0x1faeb9),_0x46cf20['batch']['addOperation'](_0x1faeb9),this['editor']['model']['applyOperation'](_0x1faeb9);});}['_addKnownRoot'](_0x3b0c3b){const _0x36a9fc=this['_getAffectedRoot'](_0x3b0c3b);_0x36a9fc&&this['_knownRootNames']['add'](_0x36a9fc);}['_getAffectedRoot'](_0x33c6fb){let _0x48c5ce,_0x2609ce;switch(_0x33c6fb['type']){case'insert':_0x48c5ce=_0x33c6fb['position']['root'];break;case'marker':if(_0x2609ce=_0x33c6fb['newRange'],!_0x2609ce)return null;_0x48c5ce=_0x2609ce['root'];break;case'addRootAttribute':_0x48c5ce=_0x33c6fb['root'];break;case'addRoot':_0x48c5ce=_0x33c6fb['affectedSelectable'];break;case'move':_0x48c5ce=_0x33c6fb['targetPosition']['root'];break;default:return null;}return _0x48c5ce['rootName'];}['_updateServerHistory'](_0x75824a){_0x75824a['forEach'](_0xd7887a=>{const _0x16a8d3=_0xd7887a['clone']();_0x16a8d3['_authorId']=_0xd7887a['_authorId'],_0x16a8d3['_isInit']=!!_0xd7887a['_isInit'],_0x16a8d3['createdAt']=_0xd7887a['createdAt'],_0x16a8d3['baseVersion']+=this['_offset'],_0xd7887a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x16a8d3),this['serverHistory']['addOperation'](_0x16a8d3);});}['_handleReconnectionError'](_0x2baddc){const _0x2296e9=this['editor']['plugins']['get']('Notification'),_0x2c244e=this['editor']['locale'];_0x2baddc||(_0x2baddc=E(_0x2c244e,'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.')),_0x2296e9['showWarning'](_0x2baddc,{'title':E(_0x2c244e,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x376d07)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x376d07)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2ca888){const _0x227251=_0x2ca888['map'](_0x280687=>_0x280687['toJSON']());return this['_compressor']['compress'](_0x227251);}['_decompressOperations'](_0x527aa3,_0x6bfb4a){return this['_compressor']['decompress'](_0x527aa3)['map']((_0x292dc6,_0x379aed)=>{const _0x244d4f='init'==_0x6bfb4a[_0x379aed]['type'];if('InsertOperation'==_0x292dc6['__className']){const _0x1478d6=_0x292dc6['position']['root'];!this['_document']['getRoot'](_0x1478d6)&&(this['_document']['createRoot']('$root',_0x1478d6)['_isAttached']=!0x1);}const _0x5b493f=_0x522808['fromJSON'](_0x292dc6,this['_document']);return _0x5b493f['wasUndone']=_0x292dc6['wasUndone'],_0x5b493f['_isInit']=_0x244d4f,_0x5b493f['_authorId']=_0x244d4f?null:_0x6bfb4a[_0x379aed]['userId'],_0x5b493f['_isDisconnection']='cs:removeUser'===_0x6bfb4a[_0x379aed]['type'],_0x5b493f['createdAt']=_0x6bfb4a[_0x379aed]['createdAt'],_0x5b493f;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x54a60a=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x54a60a&&_0x54a60a['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class V extends Error{}function W(_0x2af681,_0x392f82){for(const _0x2932ac of _0x2af681)_0x2932ac['baseVersion']=_0x392f82++;}class F{['_ignoredOperations'];['_operationToId'];constructor(_0x4ef7a7){this['_ignoredOperations']=_0x4ef7a7,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4f2fcd){let _0x2c4d8b=_0x4f2fcd['length'];for(;_0x2c4d8b--;){const _0x41dd36=_0x4f2fcd[_0x2c4d8b];if(!this['_ignoredOperations']['has'](_0x41dd36)){if(!this['_operationToId']['has'](_0x41dd36)){const _0x3036d9=_0x562ca5()['slice'](0x1,0x12);this['_operationToId']['set'](_0x41dd36,_0x3036d9);}return this['_operationToId']['get'](_0x41dd36);}}}['setIdForTheLastOperation'](_0x59a742,_0x1a8d08){if(!_0x1a8d08)return;let _0x40de8c=_0x59a742['length'];for(;_0x40de8c--;){const _0x44bdf3=_0x59a742[_0x40de8c];this['_ignoredOperations']['has'](_0x44bdf3)||this['_operationToId']['set'](_0x44bdf3,_0x1a8d08);}}}class a extends _0x2a528b{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x3fda04{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>nt)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x15d897];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5f03ec){super(_0x5f03ec),this['_services']=new Map();}async['init'](){const _0x41838f=this['context'],_0x1fd2f5=_0x41838f['plugins']['get']('CommentsRepository');if(_0x41838f['plugins']['get'](n)['addToReconnectionStack'](this),_0x1fd2f5['adapter']={'addCommentThread':async({channelId:_0x51d22b,threadId:_0x5c12dc,comments:_0x573d54,resolvedAt:_0x5d02f3,resolvedBy:_0x501cf4,context:_0xad6a15,attributes:_0x5b09da})=>{const _0x5b8f7f=await this['_getService'](_0x51d22b)['addCommentThread']({'commentThreadId':_0x5c12dc,'comments':_0x573d54['map'](_0x19d754=>function(_0x3eeb0f,_0x1660ea,_0x355896){return{'commentThreadId':_0x355896,'commentId':_0x3eeb0f['commentId'],'userId':_0x3eeb0f['authorId'],'content':_0x3eeb0f['content'],'documentId':_0x1660ea,'createdAt':_0x3eeb0f['createdAt'],'attributes':_0x3eeb0f['attributes']||{}};}(_0x19d754,_0x51d22b,_0x5c12dc)),'resolvedAt':_0x5d02f3,'resolvedBy':_0x501cf4,'context':_0xad6a15,'attributes':_0x5b09da})['catch'](ft);return{'threadId':_0x5b8f7f['commentThreadId'],'comments':_0x5b8f7f['comments']};},'getCommentThread':async({channelId:_0x5b3c32,threadId:_0x3c6439})=>{const _0x276ec9=await this['_getService'](_0x5b3c32)['getCommentThread'](_0x3c6439)['catch'](st)['catch'](ft);return _0x276ec9?_0x276ec9['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x276ec9]),{'threadId':_0x276ec9['commentThreadId'],'comments':_0x276ec9['comments']['map'](rt),'context':_0x276ec9['context'],'resolvedAt':_0x276ec9['resolvedAt'],'resolvedBy':_0x276ec9['resolvedBy'],'attributes':_0x276ec9['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0xc5cfa0,threadId:_0x1926fc,context:_0x125862,unlinkedAt:_0x458a4a,attributes:_0x275b2b})=>this['_getService'](_0xc5cfa0)['updateCommentThread']({'commentThreadId':_0x1926fc,'context':_0x125862,'attributes':_0x275b2b,'unlinkedAt':_0x458a4a})['catch'](st)['catch'](ft),'resolveCommentThread':async({channelId:_0x300ad5,threadId:_0x72e8a4})=>{const _0x4a802b=await this['_getService'](_0x300ad5)['resolveCommentThread'](_0x72e8a4)['catch'](st)['catch'](ft);return{'threadId':_0x4a802b['commentThreadId'],'resolvedAt':_0x4a802b['resolvedAt'],'resolvedBy':_0x4a802b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x11cc99,threadId:_0x1d9472})=>this['_getService'](_0x11cc99)['reopenCommentThread'](_0x1d9472)['catch'](st)['catch'](ft),'removeCommentThread':({channelId:_0x5ea089,threadId:_0x12629e})=>this['_getService'](_0x5ea089)['removeCommentThread'](_0x12629e)['catch'](st)['catch'](ft),'addComment':({channelId:_0x3388ed,threadId:_0x20b9e2,commentId:_0x1a5d50,content:_0x5da720,attributes:_0x5cb55a})=>this['_getService'](_0x3388ed)['addComment'](_0x20b9e2,_0x1a5d50,_0x5da720,_0x5cb55a)['catch'](ft),'updateComment':({channelId:_0x1b05ae,threadId:_0x510a5f,commentId:_0x194d13,content:_0x296fea,attributes:_0x2d6cc7})=>this['_getService'](_0x1b05ae)['updateComment'](_0x510a5f,_0x194d13,_0x296fea,_0x2d6cc7)['catch'](st)['catch'](ft),'removeComment':({channelId:_0x11307d,threadId:_0x4e1eed,commentId:_0x4b6104})=>this['_getService'](_0x11307d)['removeComment'](_0x4e1eed,_0x4b6104)['catch'](st)['catch'](ft)},_0x41838f instanceof ot){const _0xb1a4e4=_0x41838f['config']['get']('collaboration.channelId'),_0x9c72d3=_0x41838f['plugins']['get'](i);await this['_setUpService'](_0xb1a4e4);const _0x203291=await this['_services']['get'](_0xb1a4e4)['getConnectedSessions']();this['listenTo'](_0x9c72d3,'sessionAdd:'+_0xb1a4e4,(_0x29c6ef,{session:_0x34df24})=>{_0x34df24['id']===_0x9c72d3['mySessionId']&&(_0x29c6ef['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x34df24['permissions'],_0xb1a4e4));}),_0x9c72d3['register'](_0xb1a4e4,_0x203291);}}async['_setUpService'](_0x329f8a){if(this['_services']['has'](_0x329f8a))throw new _0x495bd7('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x329f8a});const _0x1f6fe1=this['context']['plugins']['get']('CommentsRepository'),_0x5eeee4=new s['CommentsService'](_0x329f8a);this['_services']['set'](_0x329f8a,_0x5eeee4),this['listenTo'](_0x5eeee4,'commentThreadAdded',(_0x128070,_0x1e92c4)=>{const {commentThreadId:_0x4a7b38,documentId:_0x2b2386,context:_0x3f92d5,attributes:_0x5b7509,resolvedAt:_0x94f2f5,resolvedBy:_0x81ea7f,comments:_0x5361fe}=_0x1e92c4;_0x1f6fe1['getCommentThread'](_0x4a7b38)||_0x1f6fe1['addCommentThread']({'threadId':_0x4a7b38,'channelId':_0x2b2386,'comments':_0x5361fe?_0x5361fe['map'](rt):[],'context':_0x3f92d5,'attributes':_0x5b7509,'resolvedAt':_0x94f2f5,'resolvedBy':_0x81ea7f,'isFromAdapter':!0x0});}),this['listenTo'](_0x5eeee4,'commentThreadUpdated',(_0x10fe6d,{commentThreadId:_0x52a313,documentId:_0x446b8c,context:_0x59df7f,unlinkedAt:_0x51c89d,attributes:_0xd09059})=>{_0x1f6fe1['getCommentThread'](_0x52a313)&&_0x1f6fe1['updateCommentThread']({'threadId':_0x52a313,'channelId':_0x446b8c,'context':_0x59df7f,'unlinkedAt':_0x51c89d,'attributes':_0xd09059,'isFromAdapter':!0x0});}),this['listenTo'](_0x5eeee4,'commentThreadResolved',(_0xf87c70,{commentThreadId:_0x27c931,resolvedBy:_0x34d460,resolvedAt:_0x3d7a9e})=>{const _0x4784c7=_0x1f6fe1['getCommentThread'](_0x27c931);_0x4784c7&&_0x4784c7['resolve']({'resolvedBy':_0x34d460,'resolvedAt':_0x3d7a9e,'isFromAdapter':!0x0});}),this['listenTo'](_0x5eeee4,'commentThreadReopened',(_0xa8a0fd,{commentThreadId:_0x47f80e})=>{const _0x6f5ae4=_0x1f6fe1['getCommentThread'](_0x47f80e);_0x6f5ae4&&_0x6f5ae4['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5eeee4,'commentThreadRemoved',(_0x4bfe8e,{commentThreadId:_0x513b7b})=>{const _0x586188=_0x1f6fe1['getCommentThread'](_0x513b7b);_0x586188&&_0x586188['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5eeee4,'commentAdded',(_0x42c3e7,_0x270402)=>{const _0xf5446b=_0x270402['commentThreadId'],_0x311d2b=_0x1f6fe1['getCommentThread'](_0xf5446b);_0x311d2b&&_0x311d2b['addComment']({...rt(_0x270402),'isFromAdapter':!0x0});}),this['listenTo'](_0x5eeee4,'commentUpdated',(_0x2a8ad9,{commentThreadId:_0x2efdec,commentId:_0x3cbecb,content:_0x17818f,attributes:_0x57f695})=>{const _0x1c7394=_0x1f6fe1['getCommentThread'](_0x2efdec);if(_0x1c7394){const _0x1d14ef=_0x1c7394['getComment'](_0x3cbecb);_0x1d14ef&&_0x1d14ef['update']({'content':_0x17818f,'attributes':_0x57f695,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5eeee4,'commentRemoved',(_0x367169,{commentThreadId:_0x48e23f,commentId:_0x3c8deb})=>{const _0x2e2471=_0x1f6fe1['getCommentThread'](_0x48e23f);if(_0x2e2471){const _0x31ac60=_0x2e2471['getComment'](_0x3c8deb);_0x31ac60&&_0x31ac60['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x329f8a);}['destroy'](){if(this['context']instanceof ot){const _0x3f2f4b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x3f2f4b);}}['_terminateService'](_0x1a7c8e){if(!this['_services']['has'](_0x1a7c8e))throw new _0x495bd7('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1a7c8e});this['_getService'](_0x1a7c8e)['disconnect'](),this['_services']['delete'](_0x1a7c8e);}async['reconnect'](){for(const _0x2c04f5 of this['_services']['keys']())await this['_connectService'](_0x2c04f5);if(this['context']instanceof ot){const _0x343837=this['context']['config']['get']('collaboration.channelId'),_0x264254=this['context']['plugins']['get'](i);_0x264254['unregister'](_0x343837);const _0x455192=await this['_services']['get'](_0x343837)['getConnectedSessions']();_0x264254['register'](_0x343837,_0x455192);}}async['_connectService'](_0x904b2e){const {connection:_0x423bc2}=this['context']['plugins']['get'](n),_0x5cef04=this['context']['plugins']['get']('CommentsRepository'),_0x1813cd=this['_services']['get'](_0x904b2e),_0x31606a=await _0x1813cd['connect'](_0x423bc2);await this['_fetchMissingUsersForThreads'](_0x31606a);const _0x36e373=new Set(Array['from'](_0x5cef04['getCommentThreads']({'channelId':_0x904b2e}),_0x47d755=>_0x47d755['id']));for(const _0x31215f of _0x31606a)_0x31215f['deletedAt']||_0x36e373['delete'](_0x31215f['commentThreadId']);for(const _0x4f4ddf of _0x36e373)_0x5cef04['getCommentThread'](_0x4f4ddf)['remove']({'isFromAdapter':!0x0});for(const _0x51e658 of _0x31606a){let _0x26d555=_0x5cef04['getCommentThread'](_0x51e658['commentThreadId']);const {commentThreadId:_0x23b74e,context:_0x2a912a,attributes:_0xec56c0,resolvedBy:_0x5dc386,resolvedAt:_0x494efb,unlinkedAt:_0x5f3f76,deletedAt:_0x48620d}=_0x51e658;if(_0x48620d)continue;_0x26d555||(_0x26d555=_0x5cef04['addCommentThread']({'channelId':_0x904b2e,'threadId':_0x23b74e,'context':_0x2a912a,'attributes':_0xec56c0||{},'resolvedBy':_0x5dc386,'resolvedAt':_0x494efb,'unlinkedAt':_0x5f3f76,'isFromAdapter':!0x0}));const _0x4c62d7=new Set(Array['from'](_0x26d555['comments'],_0x2b20d3=>_0x2b20d3['id']));for(const _0xa7502a of _0x51e658['comments'])_0x4c62d7['delete'](_0xa7502a['commentId']);for(const _0x2123f2 of _0x4c62d7)_0x26d555['getComment'](_0x2123f2)['remove']({'isFromAdapter':!0x0});for(const _0x2e4151 of _0x51e658['comments']){const _0x22b71b=_0x26d555['getComment'](_0x2e4151['commentId']);_0x22b71b?_0x22b71b['content']!==_0x2e4151['content']&&_0x22b71b['update']({'content':_0x2e4151['content'],'isFromAdapter':!0x0}):_0x26d555['addComment'](Object['assign'](rt(_0x2e4151),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2187c6){if(!this['_services']['has'](_0x2187c6))throw new _0x495bd7('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2187c6});return this['_services']['get'](_0x2187c6);}async['_fetchMissingUsersForThreads'](_0x18c2f8){const _0x5cade1=this['context']['plugins']['get'](_0x15d897),{connection:_0x1471cb}=this['context']['plugins']['get'](n),_0x1b1a3c=new Set();for(const {resolvedBy:_0x3a6821,comments:_0x5afcfe}of _0x18c2f8){_0x3a6821&&!_0x5cade1['getUser'](_0x3a6821)&&_0x1b1a3c['add'](_0x3a6821);for(const {userId:_0x4d0ac2}of _0x5afcfe)_0x5cade1['getUser'](_0x4d0ac2)||_0x1b1a3c['add'](_0x4d0ac2);}if(0x0===_0x1b1a3c['size'])return;const _0x51b9d9=await ut['getMany'](_0x1471cb,Array['from'](_0x1b1a3c));for(const _0x37194a of _0x51b9d9)_0x5cade1['getUser'](_0x37194a['id'])||_0x5cade1['addUser'](_0x37194a);}}async function st(_0x564ba8){if('404'!==_0x564ba8['code'])throw _0x564ba8;}function ft(_0xdf9467){if((_0x35d539=_0xdf9467)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x35d539['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x35d539['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x35d539;throw _0xdf9467;}function rt(_0x5e1c3a){return{'threadId':_0x5e1c3a['commentThreadId'],'commentId':_0x5e1c3a['commentId'],'content':_0x5e1c3a['content'],'createdAt':_0x5e1c3a['createdAt'],'authorId':_0x5e1c3a['userId'],'attributes':_0x5e1c3a['attributes']||{}};}class m extends _0x2a528b{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(
|
|
28
|
-
((()=>_0x4ed55f)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x15d897];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3b0b4f){super(_0x3b0b4f);const _0xf6ab52=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0xf6ab52);}async['init'](){const _0x5cfc42=this['editor']['plugins']['get'](l),_0x566d0d=_0x5cfc42['serverHistory'],_0x215877=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x566d0d,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5cfc42['sessionId']});const _0x34c3b=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x10df1f=await _0x5cdba5['isBundleUploaded'](_0x215877['connection'],_0x34c3b);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x384892})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x384892)),'updateRevisions':async _0x84e2f3=>{await this['_waitForServiceReady']();const _0x3cc351=this['_revisionTracker']['currentRevision'];if(_0x10df1f&&0x1===_0x84e2f3['length']&&_0x84e2f3[0x0]['id']===_0x3cc351['id'])return _0x84e2f3;for(const _0x423934 of _0x84e2f3)_0x423934['id']===_0x3cc351['id']&&(_0x423934['isEmptyCurrent']=_0x423934['fromVersion']===_0x423934['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x84e2f3,this['_lastRequestId'])['then'](_0x10e1c8=>(this['_lastRequestId']=_0x10e1c8,_0x84e2f3))['catch'](_0xdebaff=>{if(Z(_0xdebaff)||'400'===_0xdebaff['code']&&void 0x0!==_0xdebaff['data']['wrongRequestId']){for(const _0x488fdd of _0x84e2f3){!this['_revisionTracker']['repository']['getRevision'](_0x488fdd['id'])||this['_revisionTracker']['_bufferUpdate'](_0x488fdd['id'],_0x488fdd,!0x1);}if(Z(_0xdebaff))throw _0xdebaff;return _0x84e2f3;}throw _0xdebaff;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x22c673,{revisionsData:_0x5c882c,requestId:_0x39eaa7})=>{Math['max'](..._0x5c882c['map'](_0x2fafff=>_0x2fafff['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5c882c,_0x39eaa7);}):this['_handleRevisionsUpdate'](_0x5c882c,_0x39eaa7);});const {revisions:_0x2cb2c5,requestId:_0x1e7bfa}=await this['_revisionHistoryService']['connect'](_0x215877['connection']);_0x215877['addToReconnectionStack'](this),this['_lastRequestId']=_0x1e7bfa,await this['_fetchMissingUsers'](_0x2cb2c5);for(const _0x331c64 of _0x2cb2c5)this['_revisionTracker']['addRevisionData'](_0x331c64);this['listenTo'](_0x5cfc42,'change:_isConnected',(_0xfd02c,_0x4f24b1,_0x18d50e)=>{_0x18d50e&&(this['_oldOffset']=_0x5cfc42['_offset'],_0xfd02c['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x215877,'state',_0x850287=>_0x850287===_0x5e325f['CONNECTED']);}async['reconnect'](){const _0x3dc1fd=this['editor']['plugins']['get'](n),_0xe88660=this['editor']['plugins']['get'](l),_0x2c9ba8=async()=>{const _0x494c92=this['_revisionTracker']['currentRevision'],_0x4e38ad=_0x494c92['id'],_0x286262=_0x4e38ad!==_0xe88660['sessionId'];if(_0x286262){const _0x57e244=_0xe88660['_offset']-this['_oldOffset'],_0x3a4d36=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x494c92['toVersion']+_0x57e244!==_0x3a4d36){const _0x59bf44=_0x494c92['fromVersion']+_0x57e244,_0x599ef3=this['editor']['plugins']['get'](_0x15d897),_0x11450e=this['_revisionTracker']['buildRevisionData']({'revision':_0x494c92,'from':_0x59bf44,'to':_0x3a4d36});_0x11450e['id']=_0x494c92['id'];const _0x38b3ac=_0x11450e['authorsIds']['map'](_0x5dfb81=>_0x599ef3['getUser'](_0x5dfb81));_0x494c92['_update']({..._0x11450e,'authors':_0x38b3ac},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x494c92['id'],_0x11450e,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3a4d36,(_0x494c92['toVersion']===_0x494c92['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4e38ad)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4e38ad),this['_revisionTracker']['_createCurrentRevision'](_0x3a4d36));}const {revisions:_0x5b6100,requestId:_0x1847ab}=await this['_revisionHistoryService']['reconnect'](_0x3dc1fd['connection'],this['_lastRequestId']);_0x286262&&_0x5b6100['length']>0x0?_0xe88660['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5b6100),this['_handleRevisionsUpdate'](_0x5b6100,_0x1847ab),this['_revisionTracker']['sendBufferedUpdates']());};return _0xe88660['_isConnected']?_0x2c9ba8():new Promise((_0x3265e9,_0x2cf2a7)=>{_0xe88660['once']('change:_isConnected',()=>{_0x2c9ba8()['then'](_0x3265e9)['catch'](_0x2cf2a7);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2104e8=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x476536=>{_0x476536['off'](),_0x2104e8();});});}['_getLatestVersionFromServerOperations'](){const _0xf2ae4c=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x50c436 of _0xf2ae4c)if('marker'!==_0x50c436['type']||_0x50c436['affectsData'])return _0x50c436['baseVersion']+0x1;}['_getLatestVersion'](){const _0x303843=this['editor']['plugins']['get'](l);return new Promise(_0xf7bd0b=>{_0x303843['_isPendingUpdate']?_0x303843['once']('change:_isPendingUpdate',()=>{_0xf7bd0b(this['_getLatestVersionFromServerOperations']());}):_0xf7bd0b(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xc5afc3,_0x2acd13){const _0x5c1215=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2acd13;for(const _0x55cc0b of _0xc5afc3){const _0x405971=_0x5c1215['getRevision'](_0x55cc0b['id']);if(_0x405971){if((_0x55cc0b['fromVersion']||_0x55cc0b['toVersion'])&&(_0x55cc0b['diffData']=null),_0x405971===this['_revisionTracker']['currentRevision']){const _0x298e16=Math['max'](_0x405971['toVersion'],_0x55cc0b['toVersion']),_0x459cee=Math['max'](_0x405971['fromVersion'],_0x55cc0b['fromVersion']);let _0x69c109;_0x405971['toVersion']===_0x55cc0b['toVersion']&&_0x405971['fromVersion']===_0x55cc0b['fromVersion']?(_0x69c109=!0x0,this['_preventResendingRevisionData'](_0x55cc0b)):_0x55cc0b['toVersion']===_0x298e16&&_0x55cc0b['fromVersion']===_0x459cee?_0x69c109=!0x1:(_0x405971['toVersion']===_0x298e16&&_0x405971['fromVersion']===_0x459cee||this['_fixRevision']({'revision':_0x405971,'from':_0x459cee,'to':_0x298e16}),_0x69c109=!0x0),_0x69c109&&(delete _0x55cc0b['fromVersion'],delete _0x55cc0b['toVersion'],delete _0x55cc0b['diffData'],delete _0x55cc0b['createdAt'],delete _0x55cc0b['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x55cc0b),this['_preventResendingRevisionData'](_0x55cc0b);}else this['_revisionTracker']['addRevisionData'](_0x55cc0b);}const _0x25a08b=_0x5c1215['getRevisions']();_0x25a08b['reverse']();for(let _0x1cb40f=0x0;_0x1cb40f<_0x25a08b['length']-0x1;_0x1cb40f++){const _0x149f1e=_0x25a08b[_0x1cb40f],_0x14bd72=_0x25a08b[_0x1cb40f+0x1];if(_0x149f1e['fromVersion']<_0x14bd72['toVersion']){const _0x257a2d=_0x14bd72['toVersion'],_0x408099=Math['max'](_0x257a2d,_0x149f1e['toVersion']);this['_fixRevision']({'revision':_0x149f1e,'from':_0x257a2d,'to':_0x408099});}}}['_fixRevision']({revision:_0x5ee768,from:_0x1de3d8,to:_0x55ca8c}={}){const _0x181cef=this['editor']['plugins']['get'](_0x15d897),_0x41af3d=this['_revisionTracker']['buildRevisionData']({'revision':_0x5ee768,'from':_0x1de3d8,'to':_0x55ca8c});_0x41af3d['authors']=_0x41af3d['authorsIds']['map'](_0x447ff5=>_0x181cef['getUser'](_0x447ff5)),_0x5ee768['_update'](_0x41af3d);}['_preventResendingRevisionData'](_0x1c1b2f){const _0x38b165={};_0x38b165['id']=_0x1c1b2f['id'];for(const _0x30cd34 of Object['keys'](_0x1c1b2f))'id'!==_0x30cd34&&(_0x38b165[_0x30cd34]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x38b165['id'],_0x38b165,!0x0);}async['_fetchMissingUsers'](_0x1c855b){const _0x3ce85d=this['editor']['plugins']['get'](_0x15d897),{connection:_0x36e055}=this['editor']['plugins']['get'](n),_0xb63e9c=new Set();for(const _0x305d7c of _0x1c855b){for(const _0x346f7d of _0x305d7c['authorsIds'])_0xe01ae3(_0x346f7d);_0x305d7c['creatorId']&&_0xe01ae3(_0x305d7c['creatorId']);}if(0x0===_0xb63e9c['size'])return;const _0x427d8b=await ut['getMany'](_0x36e055,Array['from'](_0xb63e9c));for(const _0x107dc4 of _0x427d8b)_0x3ce85d['getUser'](_0x107dc4['id'])||_0x3ce85d['addUser'](_0x107dc4);function _0xe01ae3(_0x2612e5){_0x3ce85d['getUser'](_0x2612e5)||_0xb63e9c['add'](_0x2612e5);}}}function Z(_0x48d5da){return _0x48d5da['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x48d5da['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x48d5da['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x2a528b{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x516261{['_collapseAt'];constructor(_0x4b5747,_0x428b3a=0x6){super(_0x4b5747);const _0xce1816=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x428b3a,this['bind']('isHidden')['to'](this,'usersCount',_0x56978a=>_0x56978a<_0x428b3a),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xce1816['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0xce1816['to']('usersCount',_0x16276=>'+'+(_0x16276-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x516261{['items'];['keystrokes'];constructor(_0x145c94){super(_0x145c94);const _0x196a95=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1e10a0(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x196a95['if']('hasPopup'),'aria-expanded':_0x196a95['to']('isExpanded',_0x4c9dd7=>this['hasPopup']&&String(_0x4c9dd7)),'aria-label':_0x196a95['to']('hasPopup',_0x21b42f=>E(_0x145c94,_0x21b42f?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x196a95['to']('hasPopup',_0xb1f747=>!!_0xb1f747&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x196a95['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x196a95['to'](_0x53f1f1=>{const _0x178a83=_0x53f1f1,_0x5dd5c7=document['querySelector']('.ck-presence-list__dropdown-list'),_0xa0db27=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5dd5c7?.['contains'](_0x178a83['relatedTarget'])||_0xa0db27?.['contains'](_0x178a83['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2b3583,_0x43a4a2,_0x450f8d)=>{this['element']&&(_0x450f8d?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 v extends _0x516261{['counterView'];['inlineListView'];constructor(_0x18e45d,_0xa83840=0x6){super(_0x18e45d);const _0x4fedfa=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0xa83840),this['inlineListView']=new is(_0x18e45d),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xc0aabc of this['inlineListView']['items'])_0xc0aabc['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',_0x4fedfa['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x516261{['listWrapperView'];constructor(_0x123824,_0x147bfa){super(_0x123824);const _0x24ba8a=this['bindTemplate'];this['listWrapperView']=new wt(_0x123824,_0x147bfa),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x123824,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x24ba8a['to'](_0x2482ca=>{const _0x47587e=_0x2482ca,_0x14789b=document['querySelector']('.ck-presence-list__list'),_0x56be0b=document['querySelector']('.ck-balloon-panel_with-arrow');_0x14789b?.['contains'](_0x47587e['relatedTarget'])||_0x56be0b?.['contains'](_0x47587e['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x5ad3a7{constructor(_0x3e46cd,_0x14c344){super(_0x3e46cd);const _0x565ddc=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x14c344?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x565ddc['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x565ddc['to']('role'),'aria-label':_0x565ddc['to']('ariaLabel'),'aria-labelledby':_0x565ddc['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x238b5d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2fd505=this['element'];_0x2fd505&&(this['_isScrollable']=Math['max'](_0x2fd505['scrollHeight'],_0x2fd505['clientHeight'])>0.8*window['innerHeight']);}}class j extends it{['userView'];constructor(_0x6d8b7e,_0x186f0b,_0x3ac346){super(_0x6d8b7e);const _0x2c6493=this['bindTemplate'];this['userView']=new ct(_0x6d8b7e,_0x186f0b);const _0x20bf3f={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x186f0b['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x186f0b['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x186f0b['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x3ac346&&(_0x20bf3f['tag']='button',_0x20bf3f['on']={'click':_0x2c6493['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x20bf3f);}['focus'](){this['element']['focus']();}}class A extends _0x516261{['userView'];['markerView'];constructor(_0x2e4a41,_0x36a02f,_0x72250a){super(_0x2e4a41);const _0x5277e8=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x2e4a41,_0x36a02f),this['markerView']=new lt(_0x2e4a41,_0x36a02f);const _0x45ce49=new at(_0x2e4a41);_0x45ce49['template']['tag']='span',_0x45ce49['text']=_0x36a02f['name'];const _0x533e63={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5277e8['to']('isFocusable',_0x6c0a60=>!!_0x6c0a60&&0x0),'aria-labelledby':_0x45ce49['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5277e8['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5277e8['to']('hasTooltip',_0x87f272=>!_0x87f272),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x45ce49]};_0x72250a&&(_0x533e63['tag']='button',_0x533e63['on']={'click':_0x5277e8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x533e63);}}class lt extends _0x516261{constructor(_0x5459ea,_0x481335){super(_0x5459ea),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x481335['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x3fda04{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x53c935){super(_0x53c935),this['context']['config']['define']('presenceList',x);const _0x4d24d7=_0x53c935['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4d24d7)throw new _0x495bd7('presencelist-collapseat-invalid-format',this);if(_0x4d24d7<0x1)throw new _0x495bd7('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x50504b(),this['balloonPanelView']=new _0x458d22(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x5de9d1 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5de9d1);this['listenTo'](this['_allConnectedUsers'],'add',(_0x79db7c,_0x3cc75b)=>{this['_handleUserAdd'](_0x3cc75b);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x363224,_0x2ff167)=>{this['_handleUserRemove'](_0x2ff167);});}['_createView'](){const _0x413f6a=this['context'],_0x2c5bae=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x512194=this['balloonPanelView'];if(!_0x576274(_0x413f6a['config']['get']('presenceList.container')))throw new _0x495bd7('presencelist-missing-container',this);return _0x2c5bae['counterView']['bind']('usersCount')['to'](this),_0x2c5bae['bind']('isCollapsed')['to'](this,'usersCount',_0x1de955=>{const {collapseAt:_0x4ccad5}=_0x413f6a['config']['get']('presenceList'),_0x1ccbc8=_0x1de955>=_0x4ccad5;if(_0x1ccbc8&&!_0x2c5bae['inlineListView']['items']['find'](_0x9db824=>_0x9db824 instanceof b)){const _0x26dec6=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x26dec6&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2c5bae['inlineListView']['items']['add'](_0x2c5bae['counterView']);}return _0x1ccbc8||this['hideDropdown'](),_0x1ccbc8;}),_0x2c5bae['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x99c52b=>{const _0x207c65=_0x413f6a['config']['get']('presenceList'),_0x24fe8b=new A(_0x413f6a['locale'],_0x99c52b,!!_0x207c65['onClick']);return _0x24fe8b['bind']('hasTooltip')['to'](_0x2c5bae,'isCollapsed',_0x21d49f=>!_0x21d49f),_0x24fe8b['bind']('isFocusable')['to'](_0x2c5bae,'isCollapsed',_0x1f507b=>!_0x1f507b),_0x207c65['onClick']&&this['listenTo'](_0x24fe8b,'execute',()=>{this['view']['isCollapsed']||_0x207c65['onClick'](_0x99c52b,_0x24fe8b['element']);}),_0x24fe8b;}),this['listenTo'](_0x2c5bae['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2c5bae['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2c5bae['inlineListView']['keystrokes']['set']('Enter',(_0x405593,_0x40571e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x40571e());}),_0x2c5bae['render'](),_0x512194['render'](),_0x6231a0({'emitter':_0x2c5bae,'activator':()=>_0x512194['isVisible'],'contextElements':[_0x512194['element'],_0x2c5bae['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x413f6a['config']['get']('presenceList.container')['appendChild'](_0x2c5bae['element']),this['_bodyCollection']=new _0x221097(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2c5bae;}['_handleUserAdd'](_0x15eea0){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x15eea0['isMe'])return;const _0x33374c=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x33374c-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x29fc3a=_0x15eea0['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x15eea0,_0x29fc3a);}['_handleUserRemove'](_0x7a386b){this['usersCount']--;const {collapseAt:_0x1ed37c}=this['context']['config']['get']('presenceList'),_0x1c97b4=this['usersCount']>=_0x1ed37c;if(this['currentDisplayedUsers']['get'](_0x7a386b['id']))this['currentDisplayedUsers']['remove'](_0x7a386b['id']);else{if(_0x1c97b4&&this['currentDisplayedUsers']['length']+0x1===_0x1ed37c-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1c97b4?0x1:0x0)<this['usersCount']){for(const _0x289a1b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x289a1b['id'])&&(this['currentDisplayedUsers']['add'](_0x289a1b,Math['min'](this['currentDisplayedUsers']['length']-(_0x1c97b4?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1c97b4?0x1:0x0)===_0x1ed37c-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x6125b3=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x6125b3['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4ad5a0}=this['presenceDropdownView'];_0x4ad5a0['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x40c70a=>{if(!_0x6125b3['displayMe']&&_0x40c70a['isMe'])return null;const _0x5a0fb2=new j(this['context']['locale'],_0x40c70a,!!_0x6125b3['onClick']);return _0x6125b3['onClick']&&this['listenTo'](_0x5a0fb2,'execute',()=>{_0x6125b3['onClick'](_0x40c70a,_0x5a0fb2['element']);}),_0x5a0fb2;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4ad5a0['focus'](),_0x4ad5a0['checkIfScrollable']();const _0x5135bf=(_0x50b6db,_0x3c9acc)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3c9acc();};_0x4ad5a0['keystrokes']['set']('Esc',_0x5135bf),_0x4ad5a0['keystrokes']['set']('Shift+Tab',_0x5135bf),_0x4ad5a0['keystrokes']['set']('Tab',(_0xbc2fc,_0x30461c)=>{!function(_0x5e3fe5){const _0x51fc7a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x15b5a1=>_0x15b5a1+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x12f60e=[...document['body']['querySelectorAll'](_0x51fc7a)]['filter'](_0x116932=>_0x116932===document['activeElement']||_0x116932['offsetWidth']+_0x116932['offsetHeight']>0x0)['sort']((_0x58d01f,_0x36541b)=>(_0x58d01f['tabIndex']||0x0)-(_0x36541b['tabIndex']||0x0)),_0x1f0208=_0x12f60e['indexOf'](_0x5e3fe5),_0xa602e9=_0x12f60e[(_0x1f0208+0x1)%_0x12f60e['length']];_0xa602e9&&_0xa602e9['focus']();}(this['view']['element']),this['hideDropdown'](),_0x30461c();}),_0x4ad5a0['focusTracker']['add'](this['view']['element']),_0x4ad5a0['focusTracker']['on']('change:isFocused',(_0x4bdb80,_0x3091a8,_0x33efa4)=>{_0x33efa4||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 vt extends _0x3fda04{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
|
|
23
|
+
import{ContextPlugin as _0x20381d,Plugin as _0x48a9f0,PendingActions as _0x8eb42e,Context as _0x4ebab9}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1702f4,CKEditorError as _0x271f8a,Collection as _0x42ff4a,global as _0x459bae,version as nt,uid as _0x369498,KeystrokeHandler as _0x13bac5}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x244ae8,View as _0x3d3dbb,ListView as _0x3dbb32,ListItemView as et,LabelView as it,BalloonPanelView as _0x103ccd,clickOutsideHandler as _0x1a73ab,BodyCollection as _0x1f72d8}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0xe45004,History as _0x2aefa6,NoOperation as _0x3aa4db,InsertOperation as _0x4e0cfb,MarkerOperation as _0x69b322,RootAttributeOperation as _0x4626e7,transformOperationSets as _0x56ce2c,OperationFactory as _0x2380ed}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x16a505,CollaborativeEditingService as _0x16b68c,User as ct,CommentsService as _0x3e7f1e,TrackChangesService as tt,RevisionHistoryService as _0x41030c,EditorService as _0x1f6c76}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x38b10c,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3d66fb}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x51facf}from'es-toolkit/compat';class n extends _0x20381d{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x244ae8];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2956e1){super(_0x2956e1),this['set']('state',_0x16a505['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1702f4())();}['init'](){const _0x5f3094=this['context'],_0x38be14=_0x5f3094['plugins']['get']('CloudServices'),_0x49655a=_0x5f3094['plugins']['get'](_0x244ae8);if(!_0x38be14['token'])throw new _0x271f8a('websocketgateway-missing-token',this);if(!_0x38be14['webSocketUrl'])throw new _0x271f8a('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),n['WebSocketGateway']['connect'](_0x38be14['token'],_0x38be14['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1818b4=>{if(this['connection']=_0x1818b4,this['bind']('state')['to'](_0x1818b4,'state',this,'_isBrowserOffline',(_0x27cf66,_0x1a2105)=>('connected'!==_0x27cf66&&(this['_shouldPluginsReconnect']=!0x0),_0x1a2105||_0x27cf66!==_0x16a505['CONNECTED']?_0x16a505['DISCONNECTED']:this['state']==_0x16a505['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x16a505['CONNECTING']):_0x16a505['CONNECTED'])),this['connection']['on']('error',(_0x48e6b0,_0xbf346f)=>{if('limitExceeded'!==_0xbf346f['code'])throw console['error'](_0xbf346f),new _0x271f8a('cloudservices-init',null,{'originalError':_0xbf346f});_0x49655a['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'});}),!_0x1818b4['me'])return new Promise(_0xdc3ff2=>_0x1818b4['on']('change:me',_0xdc3ff2));})['catch'](_0x38ecb1=>{throw console['error'](_0x38ecb1),new _0x271f8a('cloudservices-init',null,{'originalError':_0x38ecb1});});}['addToReconnectionStack'](_0x59be56){if('function'!=typeof _0x59be56['reconnect'])throw new _0x271f8a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x59be56))throw new _0x271f8a('websocketgateway-plugin-already-registered',this,{'name':_0x59be56['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x59be56);}['removeFromReconnectionStack'](_0x3b25cf){this['_reconnectionStack']['delete'](_0x3b25cf);}['isInReconnectionStack'](_0x3b1b2a){return this['_reconnectionStack']['has'](_0x3b1b2a);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2e0f64=>_0x2e0f64['reconnect']())))['then'](()=>this['state']=_0x16a505['CONNECTED'])['catch'](_0x54b361=>{throw console['error'](_0x54b361),new _0x271f8a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x16a505['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x20381d{['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[n,_0x38b10c];}constructor(_0x21208a){super(_0x21208a),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x42ff4a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x38b10c);}['init'](){const _0x4ac5d5=this['context']['plugins']['get'](n);this['listenTo'](_0x4ac5d5,'change:state',(_0x407527,_0x4f2a43,_0x1e5323)=>{if('connected'!==_0x1e5323)this['channelSessions']['forEach'](_0x4d475e=>_0x4d475e['clear']()),this['channelConnectedUsers']['forEach'](_0x3724b7=>_0x3724b7['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x554bfa,_0x4ee249]of this['_registeredSessions'])for(const _0xfe0f21 of _0x4ee249)this['_handleSessionAdd'](_0x554bfa,_0xfe0f21);}}),this['_createUser'](_0x4ac5d5['connection']['me'],!0x0);}['register'](_0x3bd5ca,_0x5ef7d3){if(this['_registeredSessions']['has'](_0x3bd5ca))throw new _0x271f8a('sessions-register-already-registered',null,{'channelId':_0x3bd5ca});this['_registeredSessions']['set'](_0x3bd5ca,_0x5ef7d3),this['channelSessions']['set'](_0x3bd5ca,new _0x42ff4a()),this['channelConnectedUsers']['set'](_0x3bd5ca,new _0x42ff4a()),this['listenTo'](_0x5ef7d3,'add',(_0x263261,_0x3af7ca)=>this['_handleSessionAdd'](_0x3bd5ca,_0x3af7ca)),this['listenTo'](_0x5ef7d3,'remove',(_0x1aad69,_0x469577)=>this['_handleSessionRemove'](_0x3bd5ca,_0x469577));for(const _0x2f5b51 of _0x5ef7d3)this['_handleSessionAdd'](_0x3bd5ca,_0x2f5b51);}['unregister'](_0x5b8eb3){if(!this['_registeredSessions']['has'](_0x5b8eb3))throw new _0x271f8a('sessions-unregister-not-exist',null,{'channelId':_0x5b8eb3});const _0x498b72=this['_registeredSessions']['get'](_0x5b8eb3);this['stopListening'](_0x498b72);for(const _0x5487a3 of _0x498b72)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x5b8eb3,_0x5487a3);this['_registeredSessions']['delete'](_0x5b8eb3),this['channelSessions']['delete'](_0x5b8eb3),this['channelConnectedUsers']['delete'](_0x5b8eb3);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x26563c){for(const _0x3b3e20 of this['channelSessions']['values']())for(const _0x41fff6 of _0x3b3e20)if(_0x41fff6['id']===_0x26563c)return _0x41fff6['user'];}['getUserSessions'](_0x2a8633,_0x27a20c){const _0x3fd9bc=_0x27a20c?[this['channelSessions']['get'](_0x27a20c)]:this['channelSessions']['values'](),_0x10a2a7=new Set();for(const _0x5c2864 of _0x3fd9bc)for(const _0x1f0269 of _0x5c2864)_0x1f0269['user']['id']===_0x2a8633['id']&&_0x10a2a7['add'](_0x1f0269['id']);return _0x10a2a7;}['getUserRole'](_0xcc32ce){for(const _0x4bde4e of this['channelSessions']['values']())for(const _0x5d0ba3 of _0x4bde4e)if(_0x5d0ba3['user']===_0xcc32ce)return _0x5d0ba3['role'];}['_handleSessionAdd'](_0x23584c,_0x5201df){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x1adb60=_0x5201df['user'],_0x12951f=this['_users']['getUser'](_0x1adb60['id'])||this['_createUser'](_0x1adb60),_0x53f5b4=Object['assign']({},_0x5201df,{'user':_0x12951f});if(this['channelSessions']['get'](_0x23584c)['add'](_0x53f5b4),!_0x1adb60['hiddenInPresenceList']){const _0x3fda4d=this['channelConnectedUsers']['get'](_0x23584c);_0x3fda4d['has'](_0x12951f['id'])||_0x3fda4d['add'](_0x12951f),this['allConnectedUsers']['has'](_0x12951f['id'])||_0x1adb60['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x12951f,_0x12951f['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x23584c,{'channelId':_0x23584c,'session':_0x53f5b4});}['_handleSessionRemove'](_0x259167,_0x1ea3b3){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3d0998=this['channelConnectedUsers']['get'](_0x259167),_0x2b6822=_0x1ea3b3['user'];_0x2b6822['id']&&(this['channelSessions']['get'](_0x259167)['remove'](_0x1ea3b3['id']),_0x3d0998['has'](_0x2b6822['id'])&&!this['getUserSessions'](_0x2b6822,_0x259167)['size']&&_0x3d0998['remove'](_0x2b6822['id']),this['allConnectedUsers']['get'](_0x2b6822['id'])&&!this['getUserSessions'](_0x2b6822)['size']&&this['allConnectedUsers']['remove'](_0x2b6822['id']));}['_createUser'](_0x202408,_0x38c0b6){const _0x1803a8=this['_users']['addUser'](_0x202408);return _0x38c0b6&&this['_users']['defineMe'](_0x202408['id']),_0x1803a8['orderNumber']=this['_uniqueUsersCount']++,_0x1803a8;}}class G extends _0x48a9f0{['_domEmitter']=new(_0x1702f4())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4e1674=this['editor'],_0x5ae186=_0x4e1674['plugins']['get'](i);_0x4e1674['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5b3e3f,{writer:_0x507eef})=>function(_0x17400e,_0x549aaf,_0x2b1ac7,_0x234e61){const _0x589ccc=_0x17400e['markerName']['split'](':')[0x2],_0x3b4939=_0x2b1ac7['getUserBySessionId'](_0x589ccc);if(!_0x3b4939||_0x589ccc===_0x2b1ac7['mySessionId'])return;if(!_0x234e61['model']['schema']['checkChild'](_0x17400e['markerRange']['start'],'$text'))return;const _0x10a6df={'class':'ck-user__marker\x20'+_0x3b4939['color']['getMarkerClass'](),'data-name':_0x3b4939['name'],'data-session-id':_0x589ccc},_0x248168=_0x234e61['model']['markers']['get'](_0x17400e['markerName']),_0x3c9c4d=_0x248168['getStart'](),_0x343ab6=_0x3c9c4d['nodeAfter'],_0x24bf02=_0x234e61['model']['schema'];if(_0x343ab6&&_0x24bf02['isObject'](_0x343ab6)&&_0x24bf02['isInline'](_0x343ab6)&&!_0x234e61['model']['markers']['get']('user:range:'+_0x589ccc)['getRange']()['isCollapsed'])return;const _0x32541b=_0x3c9c4d['parent'];return _0x234e61['model']['schema']['isLimit'](_0x32541b)&&!_0x234e61['model']['hasContent'](_0x32541b)&&(_0x10a6df['contenteditable']=!0x1),function(_0x142d5f,_0x5b012b,_0x1a518){const _0x2708a3=_0x142d5f['createUIElement']('span',_0x5b012b);return _0x142d5f['setCustomProperty']('userPositionMarker',!0x0,_0x2708a3),_0x2708a3['render']=function(_0x4fba73){const _0x18cedc=this['toDomElement'](_0x4fba73),_0xe9fdc=document['createElement']('span');return _0xe9fdc['classList']['add']('ck-user__marker-tooltip'),_0xe9fdc['setAttribute']('contenteditable','false'),_0xe9fdc['setAttribute']('spellcheck','false'),_0xe9fdc['textContent']=_0x1a518['name'],_0x18cedc['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0xe9fdc['outerHTML']+'',_0x18cedc['addEventListener']('mouseenter',()=>{_0x18cedc['classList']['add']('ck-user__marker_hovered');}),_0x18cedc['addEventListener']('mouseleave',()=>{_0x18cedc['classList']['remove']('ck-user__marker_hovered');}),_0x18cedc;},_0x2708a3['isSimilar']=function(_0x3bb37c){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3bb37c['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3bb37c['getAttribute']('data-session-id'));},_0x2708a3;}(_0x549aaf,_0x10a6df,_0x3b4939);}(_0x5b3e3f,_0x507eef,_0x5ae186,_0x4e1674)}),_0x4e1674['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5646fc=>function(_0x3573a7,_0x29fea4){const _0x47cbe0=_0x3573a7['markerName']['split'](':')[0x2];if(_0x47cbe0===_0x29fea4['mySessionId'])return null;const _0x49e7d2=_0x29fea4['getUserBySessionId'](_0x47cbe0);if(!_0x49e7d2)return{'id':_0x47cbe0,'classes':[]};return{'id':_0x47cbe0,'classes':['ck-user__selection',_0x49e7d2['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x47cbe0},'priority':0x7d0+_0x49e7d2['orderNumber']};}(_0x5646fc,_0x5ae186)}),function(_0x4515cf){const _0x639b19=_0x4515cf['model'],_0x4ce28a=new Map(),_0x4eee0c=_0x4515cf['plugins']['get'](i);_0x639b19['markers']['on']('update:user:range',(_0x5c33fd,_0x173f9d,_0x54b3d0,_0x3f6ad8)=>{if(!_0x3f6ad8&&_0x4ce28a['get'](_0x173f9d['name']))return _0x4ce28a['get'](_0x173f9d['name'])['detach'](),void _0x4ce28a['delete'](_0x173f9d['name']);const _0x287ef7=_0x173f9d['name']['split'](':')[0x2];if(_0x287ef7===_0x4eee0c['mySessionId'])return;const _0x511c56='user:position:'+_0x287ef7;_0x639b19['markers']['has'](_0x511c56)&&_0x4515cf['editing']['reconvertMarker'](_0x511c56),_0x173f9d['on']('change:range',(_0x34bc81,_0x25ed84,_0x2ccee1)=>{if('$graveyard'!=_0x25ed84['root']['rootName']&&'$graveyard'==_0x173f9d['getRange']()['root']['rootName']&&!_0x4ce28a['has'](_0x173f9d['name'])){const _0x140d9c=_0x639b19['schema']['getNearestSelectionRange'](_0x2ccee1['deletionPosition']);if(_0x140d9c){const _0x6bd116=_0xe45004['fromRange'](_0x140d9c);_0x4ce28a['set'](_0x173f9d['name'],_0x6bd116),_0x6bd116['on']('change:range',(_0x14d9e6,_0x1bab74,_0x19ba96)=>{if('$graveyard'==_0x6bd116['root']['rootName']){const _0x83e1ec=_0x639b19['schema']['getNearestSelectionRange'](_0x19ba96['deletionPosition']);_0x83e1ec?(_0x6bd116['start']=_0x83e1ec['start'],_0x6bd116['end']=_0x83e1ec['end']):(_0x4ce28a['delete'](_0x173f9d['name']),_0x6bd116['detach']());}});}}});}),_0x639b19['document']['on']('change',()=>{_0x4ce28a['size']>0x0&&_0x639b19['enqueueChange']({'isUndoable':!0x1},_0x2e2383=>{for(const [_0x103ca2,_0x20f891]of _0x4ce28a)'$graveyard'==_0x639b19['markers']['get'](_0x103ca2)['getRange']()['root']['rootName']&&(te(_0x103ca2['split'](':')[0x2],_0x20f891['toRange'](),_0x639b19,_0x2e2383),_0x20f891['detach']());_0x4ce28a['clear']();});});}(_0x4e1674),this['_domEmitter']['listenTo'](_0x459bae['document'],'keydown',(_0x1954b6,{key:_0x2c2859})=>{'Escape'===_0x2c2859&&function(_0x417529){_0x417529['editing']['view']['change'](_0x3200da=>{for(const _0x578900 of _0x417529['model']['markers']){if(!_0x578900['name']['startsWith']('user:position'))continue;const _0x129018=_0x417529['editing']['mapper']['markerNameToElements'](_0x578900['name']);if(_0x129018){for(const _0x234f8a of _0x129018)_0x3200da['removeClass']('ck-user__marker_hovered',_0x234f8a);}}});}(_0x4e1674);},{'useCapture':!0x0});}['afterInit'](){const _0x5ed89f=this['editor'],_0x3a08f5=_0x5ed89f['commands']['get']('undo');_0x3a08f5&&_0x5ed89f['model']['on']('applyOperation',(_0x5c583e,_0x398f69)=>{const _0x6e31ab=_0x398f69[0x0];if(!_0x6e31ab['isDocumentOperation'])return;if('marker'!=_0x6e31ab['type']||!_0x6e31ab['name']['startsWith']('user:'))return;const _0x3dff4c=_0x6e31ab['batch'];_0x3a08f5['_createdBatches']['has'](_0x3dff4c)&&(_0x6e31ab['newRange']=_0x6e31ab['oldRange']?_0x5ed89f['model']['createRange'](_0x6e31ab['oldRange']['start'],_0x6e31ab['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x56ed78=this['editor'],_0xf9418b=_0x56ed78['model']['document'],_0x157e30=_0x56ed78['plugins']['get'](i);_0x56ed78['model']['enqueueChange']({'isUndoable':!0x1},_0x1ebfbb=>{const _0x4efbc0='user:range:'+_0x157e30['mySessionId'],_0x41b18f='user:position:'+_0x157e30['mySessionId'],_0x34a479=_0x56ed78['model']['markers']['has'](_0x4efbc0);_0x56ed78['editing']['view']['hasDomSelection']?te(_0x157e30['mySessionId'],_0xf9418b['selection']['getFirstRange'](),_0x56ed78['model'],_0x1ebfbb):_0x34a479&&(_0x1ebfbb['removeMarker'](_0x4efbc0),_0x1ebfbb['removeMarker'](_0x41b18f));});}}function te(_0x4a127d,_0xc386b0,_0x24a876,_0x27f45f){const _0x3e1597='user:range:'+_0x4a127d,_0x24c6ec='user:position:'+_0x4a127d,_0x4f52f1=_0xc386b0['getContainedElement']();let _0x3f956d=_0xc386b0['start'];if(_0x4f52f1&&_0x4f52f1['is']('element','tableCell')){const _0x4057ab=function(_0x6c3cc,_0x512d15){for(const _0x2c6e1a of _0x6c3cc['getPositions']())if(_0x512d15['schema']['checkChild'](_0x2c6e1a,'$text'))return _0x2c6e1a;}(_0xc386b0,_0x24a876);_0x4057ab&&(_0x3f956d=_0x4057ab,_0xc386b0=_0x27f45f['createRange'](_0x3f956d));}const _0x50b81a=_0x27f45f['createRange'](_0x3f956d);_0x24a876['markers']['has'](_0x3e1597)?(_0x27f45f['updateMarker'](_0x3e1597,{'range':_0xc386b0}),_0x27f45f['updateMarker'](_0x24c6ec,{'range':_0x50b81a})):(_0x27f45f['addMarker'](_0x3e1597,{'range':_0xc386b0,'usingOperation':!0x0}),_0x27f45f['addMarker'](_0x24c6ec,{'range':_0x50b81a,'usingOperation':!0x0}));}function $(_0x5ee0f1,_0x5305d9,_0x197ece){const _0x448475=_0x5ee0f1['t'],t=_0x5ee0f1['t'];switch(_0x5305d9){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 _0x448475({'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'},_0x197ece);default:return'';}}let Q=0x1;class l extends _0x48a9f0{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x16b68c)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,G,_0x8eb42e,_0x38b10c,_0x244ae8];}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 _0x2eac87=this['serverHistory']['getOperations']();for(let _0x3450e7=_0x2eac87['length']-0x1;_0x3450e7>=0x0;_0x3450e7--){const _0x116d6b=_0x2eac87[_0x3450e7];if(!this['_disconnectionOperations']['has'](_0x116d6b))return _0x116d6b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5dd1b5){if(super(_0x5dd1b5),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2aefa6(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x271f8a('collaboration-missing-channelid',this);const _0x572e33=_0x5dd1b5['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x572e33,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3d66fb(),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 Z(this['_disconnectionOperations']);}['init'](){const _0x4f7150=this['editor'],_0x36adb3=_0x4f7150['plugins']['get'](_0x38b10c),_0x1582a2=_0x4f7150['plugins']['get'](n);this['listenTo'](_0x36adb3,'getOperationAuthor',(_0x370fb2,_0x5f2af9)=>{const _0x58498a=_0x5f2af9[0x0];_0x58498a['_authorId']&&(_0x370fb2['return']=_0x36adb3['getUser'](_0x58498a['_authorId']),_0x370fb2['stop']()),null===_0x58498a['_authorId']&&(_0x370fb2['return']=null,_0x370fb2['stop']());},{'priority':'high'}),this['listenTo'](_0x4f7150['model']['document']['selection'],'change:range',(_0x4ece5a,_0x382819)=>{_0x382819['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4f7150['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4f7150['model']['on']('applyOperation',(_0x5d90b0,_0x6edcca)=>{const _0x285ca4=_0x6edcca[0x0];_0x285ca4['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x285ca4),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x1582a2,'state',this,'_hasSynchronizationProblem',(_0x37c307,_0x4ed4d7)=>'connected'===_0x37c307&&!_0x4ed4d7),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4f7150['disableReadOnlyMode']('rtc-offline'):_0x4f7150['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4f7150['disableReadOnlyMode']('rtc-offline'):_0x4f7150['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4e5060=this['editor']['plugins']['get'](i),_0x4ecbe6=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x4e5060['unregister'](this['_channelId']);const _0x13cdd3=await this['_service']['reconnect'](_0x4ecbe6['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x13cdd3)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3b4e5b=await this['_service']['getConnectedSessions']();_0x4e5060['register'](this['_channelId'],_0x3b4e5b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x348858){if(function(_0x5013f8){return'404'===_0x5013f8['code'];}(_0x348858)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x27ceec){return'409'===_0x27ceec['code'];}(_0x348858)){const _0xfab3e0=$(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'](_0xfab3e0);}else{if(!(_0x348858 instanceof X))throw _0x348858;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3bba0d=this['editor']['plugins']['get'](n),_0x5bc739=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5bc739['channelSessions']['has'](this['_channelId'])&&_0x5bc739['unregister'](this['_channelId']),_0x3bba0d['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5f0f54){if(this['sessionId']!==_0x5f0f54['sessionId']&&this['_lastSyncedOperationId']!==_0x5f0f54['lastOperationId'])throw new X();return this['sessionId']=_0x5f0f54['sessionId'],this['_handleServerResponse']([],{..._0x5f0f54,'wereChangesApplied':!0x1,'data':_0x5f0f54['data']},'reconnect');}async['_connectService'](_0x507633,_0x1e9d54=!0x1){const {connection:_0x37702a}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x37702a,this['_channelId'])['then'](_0x2879c1=>this['_initSessionsHandling'](_0x2879c1))['catch'](_0x240e72=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x240e72);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x314163,_0x1c7e29)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1c7e29);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x397cc1=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x507633);this['_isPendingUpdate']=!0x0;const _0x1b841b=await this['_service']['connect'](_0x37702a,this['_compressOperations'](_0x507633),_0x397cc1);if(this['sessionId']=_0x1b841b['sessionId'],_0x1e9d54){if(!_0x1b841b['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1b841b['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x507633,_0x1b841b,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1b841b,_0x507633);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2aef33=this['editor']['plugins']['get'](i),_0x5adddc=this['editor']['plugins']['get'](G),_0x242af7=_0x2aef33['channelSessions']['get'](this['_channelId']);_0x242af7&&_0x242af7['length']>0x1?_0x5adddc['createUserMarkerOperations']():this['listenTo'](_0x2aef33,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2aef33['channelSessions']['get'](this['_channelId'])['length']&&_0x5adddc['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x372d61,_0xa4d7c9,_0x3a3a1d,_0x48578d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0xa4d7c9){const _0x18ae36=this['_decompressOperations'](_0x3a3a1d,_0x48578d);await this['_fetchMissingUsers'](_0x18ae36),this['_handleExternalOperations'](_0x18ae36,_0xa4d7c9,_0x3a3a1d['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x22327b}=this['editor'];let _0x205a8a;try{_0x205a8a=await this['_service']['getDocumentDetails']();}catch{const _0x29704d=$(_0x22327b,'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'](_0x29704d);}const _0x19caad=_0x205a8a['currentDocumentSession']||_0x205a8a['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x19caad['lastOperationId']){const _0x44d4ff=$(_0x22327b,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x44d4ff);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x1ac453){const _0x89c11e=this['editor']['plugins']['get'](i);this['listenTo'](_0x89c11e,'sessionAdd:'+this['_channelId'],(_0x35b17b,{session:_0x359a76})=>{if(_0x359a76['id']===_0x89c11e['mySessionId']){_0x35b17b['off']();const _0x5b1242=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x46e47c=_0x359a76['permissions'];_0x5b1242&&_0x5b1242['isEnabled']&&(_0x46e47c=_0x46e47c['filter'](_0x4c394c=>'document:write'!==_0x4c394c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x46e47c,this['_channelId']);}}),_0x89c11e['register'](this['_channelId'],_0x1ac453);}['_initThrowingOnDataSet'](){const _0x1383a7=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x32a019)=>{if(!_0x32a019[_0x32a019['length']-0x1]['suppressErrorInCollaboration'])throw new _0x271f8a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1383a7['apply'](this['editor']['data'],_0x32a019);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xfb9767,[_0x4c0417])=>{if(this['_document']['version'])throw new _0x271f8a('realtimecollaborationclient-init-document-already-initialized',this);_0xfb9767['stop'](),this['_setPendingAction']();const _0x1483d3=this['editor']['config']['get']('rootsAttributes'),_0x2f7f63=this['_getOperationsFromInitData'](_0x4c0417,_0x1483d3);0x0==_0x2f7f63['length']&&_0x2f7f63['push'](new _0x3aa4db(0x0)),_0xfb9767['return']=this['_connectService'](_0x2f7f63)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5b23c6=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5b23c6))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x312c15,[_0x4980d6,_0x4b7347])=>{_0x312c15['stop']();const _0x1fd29d=this['editor']['model']['document']['getRoot'](_0x4980d6);if(!this['_knownRootNames']['has'](_0x4980d6)){const _0x1b8fb4=_0x4b7347&&_0x4b7347['data']?_0x4b7347['data']:'',_0x46b20f=_0x4b7347&&_0x4b7347['attributes']?_0x4b7347['attributes']:{};await this['_loadRoot'](_0x4980d6,_0x1b8fb4,_0x46b20f);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1fd29d['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1fd29d);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x581866){const _0x1e3945=this['editor']['plugins']['get'](_0x38b10c),{connection:_0x13a60a}=this['editor']['plugins']['get'](n),_0xe9c029=new Set();for(const _0x5b77d7 of _0x581866){const _0x13bebc=_0x5b77d7['_authorId'];_0x13bebc&&!_0x1e3945['getUser'](_0x13bebc)&&_0xe9c029['add'](_0x13bebc);}if(0x0===_0xe9c029['size'])return;const _0x25a1bc=await ct['getMany'](_0x13a60a,Array['from'](_0xe9c029));for(const _0xf66ce2 of _0x25a1bc)_0x1e3945['getUser'](_0xf66ce2['id'])||_0x1e3945['addUser'](_0xf66ce2);}['_getOperationsFromInitData'](_0x31eaf1,_0x172e80={}){const _0x183713=this['editor']['model'],_0xf75039=[];let _0x471e56=0x0;const _0x1d35b4='string'==typeof _0x31eaf1?{'main':_0x31eaf1}:_0x31eaf1;for(const _0xc3ad82 of Object['keys'](_0x1d35b4)){if(!this['_document']['roots']['has'](_0xc3ad82))throw new _0x271f8a('realtimecollaborationclient-init-non-existent-root',this);const _0x5a57ab=this['editor']['data']['parse'](_0x1d35b4[_0xc3ad82]),_0xb3b9ec=this['_document']['getRoot'](_0xc3ad82),_0x42734a=new _0x4e0cfb(_0x183713['createPositionAt'](_0xb3b9ec,0x0),_0x5a57ab,_0x471e56++);_0xf75039['push'](_0x42734a);for(const [_0x1f7f3a,_0x1590b2]of _0x5a57ab['markers']){const _0x321eea=_0x183713['createRange'](_0x183713['createPositionFromPath'](_0xb3b9ec,_0x1590b2['start']['path']['slice']()),_0x183713['createPositionFromPath'](_0xb3b9ec,_0x1590b2['end']['path']['slice']())),_0x29ccad=new _0x69b322(_0x1f7f3a,null,_0x321eea,_0x183713['markers'],!0x0,_0x471e56++);_0xf75039['push'](_0x29ccad);}}if(_0x172e80)for(const [_0xb35a6d,_0x24f425]of Object['entries'](_0x172e80)){const _0x5e1e97=_0x183713['document']['getRoot'](_0xb35a6d);if(!_0x5e1e97)throw new _0x271f8a('multi-root-editor-root-attributes-no-root',null);for(const [_0x124aa6,_0x50b48c]of Object['entries'](_0x24f425))if(null!==_0x50b48c){const _0x39c923=new _0x4626e7(_0x5e1e97,_0x124aa6,null,_0x50b48c,_0x471e56++);_0xf75039['push'](_0x39c923);}}return _0xf75039;}async['_loadRoot'](_0x1def8d,_0x210e99,_0x28baf1){this['_getOperationsFromInitData']({[_0x1def8d]:_0x210e99},{[_0x1def8d]:_0x28baf1})['forEach']((_0x85c1c6,_0x185d76)=>{_0x85c1c6['baseVersion']=this['_document']['version']+_0x185d76,_0x85c1c6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x85c1c6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x188863,_0x3ab92b){let _0x384c4c;this['_offset']=_0x188863['offset'];const _0x278983=_0x188863['wereChangesApplied']&&!_0x188863['initData'],_0x2e2ab4=_0x278983?0x0:_0x188863['data']['baseVersion'];if(_0x3ab92b['forEach'](_0x14054c=>{_0x14054c['_isInit']=!0x0,_0x14054c['createdAt']=_0x188863['sessionCreatedAt'],_0x14054c['_authorId']=null;}),_0x278983)_0x384c4c=_0x3ab92b,this['_applyOperationsSet'](_0x384c4c,_0x278983);else{if(_0x188863['initData']){const _0x26fc85=this['_getOperationsFromInitData'](_0x188863['initData']);this['_document']['history']['version']=-_0x26fc85['length'],_0x26fc85['forEach'](_0x4e48da=>{_0x4e48da['baseVersion']-=_0x26fc85['length'],_0x4e48da['createdAt']=_0x188863['sessionCreatedAt'],_0x4e48da['_isInit']=!0x0,_0x4e48da['_authorId']=null;}),this['_applyOperationsSet'](_0x26fc85,!0x0),this['serverHistory']['version']=-_0x26fc85['length']+this['_offset'],this['_updateServerHistory'](_0x26fc85);}this['_document']['history']['version']=_0x2e2ab4,_0x384c4c=this['_decompressOperations'](_0x188863['data'],_0x188863['metadata']),await this['_fetchMissingUsers'](_0x384c4c),this['_applyOperationsSet'](_0x384c4c,_0x278983);}_0x188863['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x384c4c,_0x188863['lastOperationId']),this['_lastSyncedOperationId']=_0x188863['lastOperationId']),this['serverHistory']['version']=_0x2e2ab4+this['_offset'],this['_updateServerHistory'](_0x384c4c),_0x3ab92b['filter'](_0xb8ee90=>{const _0x1aa082=this['_getAffectedRoot'](_0xb8ee90);return _0x1aa082&&!this['_knownRootNames']['has'](_0x1aa082);})['forEach']((_0x56bf3c,_0x4c9b83)=>{_0x56bf3c['baseVersion']=this['_document']['version']+_0x4c9b83,this['_saveOperationInBuffer'](_0x56bf3c);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x541882,_0x2f2d7c){const _0x478861=_0x2f2d7c&&_0x2f2d7c['message'];if(_0x478861&&_0x478861['startsWith']('realtimecollaborationclient'))throw _0x2f2d7c;const _0x6f75b0=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x6f75b0['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x271f8a(_0x541882,this['editor'],_0x478861?{'originalError':_0x478861}:void 0x0);}['_saveOperationInBuffer'](_0x248d8d){this['_knownOperations']['has'](_0x248d8d)||(this['_knownOperations']['add'](_0x248d8d),this['_bufferedOperations']['push'](_0x248d8d),this['_pendingAction']||'marker'==_0x248d8d['type']&&!_0x248d8d['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xdcab96=!0x1){!_0xdcab96&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x773045=>{_0x773045&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x5dccd7=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2ef2f5){return _0x2ef2f5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2ef2f5['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2ef2f5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x5dccd7)||this['_crash'](_0x5dccd7['message'],_0x5dccd7);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0xf05f90=>{this['on']('change:_isPendingUpdate',()=>{_0xf05f90();});});}async['_sendBufferedOperations'](){const _0x5afa37=this['editor']['plugins']['get'](G);if(this['_shouldSendSelectionUpdate']()&&(_0x5afa37['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x91f1e6=[...this['_bufferedOperations']];for(const _0x547192 of _0x91f1e6)_0x547192['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x547192);const _0x4fa67f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x91f1e6),_0x4bd0c4=Q++,_0xb3f3b8=this['_compressOperations'](_0x91f1e6),_0x15dfb3=await this['_service']['sendOperations'](_0xb3f3b8,_0xb3f3b8['baseVersion'],_0x4fa67f);try{return await this['_handleServerResponse'](_0x91f1e6,_0x15dfb3,_0x4bd0c4);}catch(_0x42d646){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x42d646);}}async['_handleServerResponse'](_0x4615a3,_0x353e43,_0x39d012){if('error'in _0x353e43)throw _0x353e43['error'];let _0x5e58d0=!0x1;if(_0x353e43['wereChangesApplied']){_0x353e43['lastOperationId']&&(this['_lastSyncedOperationId']=_0x353e43['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x461293=>!_0x4615a3['includes'](_0x461293));for(const _0x1eea6c of _0x4615a3)_0x1eea6c['createdAt']='lastOperationAcceptedAt'in _0x353e43&&_0x353e43['lastOperationAcceptedAt']||void 0x0;Y(_0x4615a3,_0x353e43['version']-_0x4615a3['length']),this['_updateServerHistory'](_0x4615a3);const _0x4120c0=_0x4615a3['filter'](_0x31a3bc=>{if(!_0x31a3bc['_isInit'])return!0x1;const _0xc5941f=this['_getAffectedRoot'](_0x31a3bc);return _0xc5941f&&!this['_knownRootNames']['has'](_0xc5941f);});Y(_0x4120c0,this['_document']['version']),this['_applyOperationsSet'](_0x4120c0),_0x5e58d0=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1de84a=this['_decompressOperations'](_0x353e43['data'],_0x353e43['metadata'])['filter'](_0x389864=>_0x389864['baseVersion']>=this['_lastServerVersion']);_0x1de84a['forEach'](_0x36df3a=>this['_addKnownRoot'](_0x36df3a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x12427b=>!_0x12427b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x12427b))),this['_bufferedOperations']['length']&&Y(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1de84a),_0x5e58d0=this['_handleExternalOperations'](_0x1de84a,_0x353e43['version'],_0x353e43['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5e58d0?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x40e1a6,_0x310bb6,_0xf34992){try{const _0x3767d1={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xa4800d,operationsB:_0x6bd696,originalOperations:_0x2c23e6}=_0x56ce2c(_0x40e1a6,this['_bufferedOperations'],_0x3767d1);Y(_0xa4800d,this['_document']['version']),Y(_0x6bd696,_0x310bb6);for(const _0x38b57e of _0xa4800d){const _0x24e31d=_0x2c23e6['get'](_0x38b57e);_0x38b57e['_authorId']=_0x24e31d?_0x24e31d['_authorId']:null;}_0xf34992&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x40e1a6,_0xf34992),this['_lastSyncedOperationId']=_0xf34992),this['_bufferedOperations']=[..._0x6bd696],this['_applyOperationsSet'](_0xa4800d),this['_updateServerHistory'](_0x40e1a6);}catch(_0x427786){return console['error'](_0x427786),!0x1;}return!0x0;}['_applyOperationsSet'](_0x467118,_0x3b8dd6=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x340255=>{for(const _0x47c8c7 of _0x467118)this['_knownOperations']['add'](_0x47c8c7),this['_addKnownRoot'](_0x47c8c7),_0x340255['batch']['addOperation'](_0x47c8c7),this['editor']['model']['applyOperation'](_0x47c8c7);});}['_addKnownRoot'](_0x4924f7){const _0x7187b4=this['_getAffectedRoot'](_0x4924f7);_0x7187b4&&this['_knownRootNames']['add'](_0x7187b4);}['_getAffectedRoot'](_0x22d03c){let _0x3f5557,_0x53ff05;switch(_0x22d03c['type']){case'insert':_0x3f5557=_0x22d03c['position']['root'];break;case'marker':if(_0x53ff05=_0x22d03c['newRange'],!_0x53ff05)return null;_0x3f5557=_0x53ff05['root'];break;case'addRootAttribute':_0x3f5557=_0x22d03c['root'];break;case'addRoot':_0x3f5557=_0x22d03c['affectedSelectable'];break;case'move':_0x3f5557=_0x22d03c['targetPosition']['root'];break;default:return null;}return _0x3f5557['rootName'];}['_updateServerHistory'](_0x374e5c){_0x374e5c['forEach'](_0x4ea0c3=>{const _0x24adb4=_0x4ea0c3['clone']();_0x24adb4['_authorId']=_0x4ea0c3['_authorId'],_0x24adb4['_isInit']=!!_0x4ea0c3['_isInit'],_0x24adb4['createdAt']=_0x4ea0c3['createdAt'],_0x24adb4['baseVersion']+=this['_offset'],_0x4ea0c3['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x24adb4),this['serverHistory']['addOperation'](_0x24adb4);});}['_handleReconnectionError'](_0x5e26f9){const _0x3311be=this['editor']['plugins']['get']('Notification'),_0xa183b6=this['editor']['locale'];_0x5e26f9||(_0x5e26f9=$(_0xa183b6,'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.')),_0x3311be['showWarning'](_0x5e26f9,{'title':$(_0xa183b6,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x8eb42e)['add']($(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x8eb42e)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x156388){const _0x55d202=_0x156388['map'](_0x3685b7=>_0x3685b7['toJSON']());return this['_compressor']['compress'](_0x55d202);}['_decompressOperations'](_0x3f3bca,_0x77a5ef){return this['_compressor']['decompress'](_0x3f3bca)['map']((_0x443a41,_0x3c7c67)=>{const _0x35e5bb='init'==_0x77a5ef[_0x3c7c67]['type'];if('InsertOperation'==_0x443a41['__className']){const _0x4eb022=_0x443a41['position']['root'];!this['_document']['getRoot'](_0x4eb022)&&(this['_document']['createRoot']('$root',_0x4eb022)['_isAttached']=!0x1);}const _0x483230=_0x2380ed['fromJSON'](_0x443a41,this['_document']);return _0x483230['wasUndone']=_0x443a41['wasUndone'],_0x483230['_isInit']=_0x35e5bb,_0x483230['_authorId']=_0x35e5bb?null:_0x77a5ef[_0x3c7c67]['userId'],_0x483230['_isDisconnection']='cs:removeUser'===_0x77a5ef[_0x3c7c67]['type'],_0x483230['createdAt']=_0x77a5ef[_0x3c7c67]['createdAt'],_0x483230;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x49a069=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x49a069&&_0x49a069['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class X extends Error{}function Y(_0x30ed60,_0x493944){for(const _0x194b67 of _0x30ed60)_0x194b67['baseVersion']=_0x493944++;}class Z{['_ignoredOperations'];['_operationToId'];constructor(_0x1e375c){this['_ignoredOperations']=_0x1e375c,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3c3ca9){let _0x22e6e7=_0x3c3ca9['length'];for(;_0x22e6e7--;){const _0xcbcfbf=_0x3c3ca9[_0x22e6e7];if(!this['_ignoredOperations']['has'](_0xcbcfbf)){if(!this['_operationToId']['has'](_0xcbcfbf)){const _0x2d4f48=_0x369498()['slice'](0x1,0x12);this['_operationToId']['set'](_0xcbcfbf,_0x2d4f48);}return this['_operationToId']['get'](_0xcbcfbf);}}}['setIdForTheLastOperation'](_0x1c9cd2,_0x2f751a){if(!_0x2f751a)return;let _0x1f4ddd=_0x1c9cd2['length'];for(;_0x1f4ddd--;){const _0x5b6c6d=_0x1c9cd2[_0x1f4ddd];this['_ignoredOperations']['has'](_0x5b6c6d)||this['_operationToId']['set'](_0x5b6c6d,_0x2f751a);}}}class a extends _0x48a9f0{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x20381d{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x3e7f1e)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x38b10c];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2e14b1){super(_0x2e14b1),this['_services']=new Map();}async['init'](){const _0x54c7f5=this['context'],_0x30f94f=_0x54c7f5['plugins']['get']('CommentsRepository');if(_0x54c7f5['plugins']['get'](n)['addToReconnectionStack'](this),_0x30f94f['adapter']={'addCommentThread':async({channelId:_0x1801ce,threadId:_0x534be8,comments:_0x1e9237,resolvedAt:_0x5d5bf8,resolvedBy:_0x269b93,context:_0x15101b,attributes:_0x353a92})=>{const _0xb8dcca=await this['_getService'](_0x1801ce)['addCommentThread']({'commentThreadId':_0x534be8,'comments':_0x1e9237['map'](_0xb4bb4c=>function(_0x5194c4,_0x1c2d70,_0x56bcf4){return{'commentThreadId':_0x56bcf4,'commentId':_0x5194c4['commentId'],'userId':_0x5194c4['authorId'],'content':_0x5194c4['content'],'documentId':_0x1c2d70,'createdAt':_0x5194c4['createdAt'],'attributes':_0x5194c4['attributes']||{}};}(_0xb4bb4c,_0x1801ce,_0x534be8)),'resolvedAt':_0x5d5bf8,'resolvedBy':_0x269b93,'context':_0x15101b,'attributes':_0x353a92})['catch'](at);return{'threadId':_0xb8dcca['commentThreadId'],'comments':_0xb8dcca['comments']};},'getCommentThread':async({channelId:_0x1f208b,threadId:_0x4edb0a})=>{const _0x399043=await this['_getService'](_0x1f208b)['getCommentThread'](_0x4edb0a)['catch'](f)['catch'](at);return _0x399043?_0x399043['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x399043]),{'threadId':_0x399043['commentThreadId'],'comments':_0x399043['comments']['map'](p),'context':_0x399043['context'],'resolvedAt':_0x399043['resolvedAt'],'resolvedBy':_0x399043['resolvedBy'],'attributes':_0x399043['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x9fee96,threadId:_0x7956ec,context:_0x43288a,unlinkedAt:_0x381056,attributes:_0x4dd355})=>this['_getService'](_0x9fee96)['updateCommentThread']({'commentThreadId':_0x7956ec,'context':_0x43288a,'attributes':_0x4dd355,'unlinkedAt':_0x381056})['catch'](f)['catch'](at),'resolveCommentThread':async({channelId:_0x12e0e0,threadId:_0x32e277})=>{const _0x1e19b7=await this['_getService'](_0x12e0e0)['resolveCommentThread'](_0x32e277)['catch'](f)['catch'](at);return{'threadId':_0x1e19b7['commentThreadId'],'resolvedAt':_0x1e19b7['resolvedAt'],'resolvedBy':_0x1e19b7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2d0c7b,threadId:_0x3f8092})=>this['_getService'](_0x2d0c7b)['reopenCommentThread'](_0x3f8092)['catch'](f)['catch'](at),'removeCommentThread':({channelId:_0x483c18,threadId:_0x43b5b4})=>this['_getService'](_0x483c18)['removeCommentThread'](_0x43b5b4)['catch'](f)['catch'](at),'addComment':({channelId:_0x162584,threadId:_0x5e4357,commentId:_0xb62aa9,content:_0xe2176d,attributes:_0x1488c0})=>this['_getService'](_0x162584)['addComment'](_0x5e4357,_0xb62aa9,_0xe2176d,_0x1488c0)['catch'](at),'updateComment':({channelId:_0x5c3e3d,threadId:_0x4cb8c0,commentId:_0x239331,content:_0xdf6787,attributes:_0x22dcac})=>this['_getService'](_0x5c3e3d)['updateComment'](_0x4cb8c0,_0x239331,_0xdf6787,_0x22dcac)['catch'](f)['catch'](at),'removeComment':({channelId:_0x3fe9c7,threadId:_0x126057,commentId:_0x36d2a5})=>this['_getService'](_0x3fe9c7)['removeComment'](_0x126057,_0x36d2a5)['catch'](f)['catch'](at)},_0x54c7f5 instanceof _0x4ebab9){const _0x2a2c5b=_0x54c7f5['config']['get']('collaboration.channelId'),_0x51b53f=_0x54c7f5['plugins']['get'](i);await this['_setUpService'](_0x2a2c5b);const _0x1521fc=await this['_services']['get'](_0x2a2c5b)['getConnectedSessions']();this['listenTo'](_0x51b53f,'sessionAdd:'+_0x2a2c5b,(_0x106461,{session:_0x8b99a7})=>{_0x8b99a7['id']===_0x51b53f['mySessionId']&&(_0x106461['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x8b99a7['permissions'],_0x2a2c5b));}),_0x51b53f['register'](_0x2a2c5b,_0x1521fc);}}async['_setUpService'](_0x1c5c4a){if(this['_services']['has'](_0x1c5c4a))throw new _0x271f8a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x1c5c4a});const _0x422445=this['context']['plugins']['get']('CommentsRepository'),_0x2cd1de=new s['CommentsService'](_0x1c5c4a);this['_services']['set'](_0x1c5c4a,_0x2cd1de),this['listenTo'](_0x2cd1de,'commentThreadAdded',(_0x38a3f9,_0x1ad17f)=>{const {commentThreadId:_0x10ebd2,documentId:_0xc4f46a,context:_0x5524d7,attributes:_0x3c930f,resolvedAt:_0x58ff49,resolvedBy:_0x351fd8,comments:_0x422618}=_0x1ad17f;_0x422445['getCommentThread'](_0x10ebd2)||_0x422445['addCommentThread']({'threadId':_0x10ebd2,'channelId':_0xc4f46a,'comments':_0x422618?_0x422618['map'](p):[],'context':_0x5524d7,'attributes':_0x3c930f,'resolvedAt':_0x58ff49,'resolvedBy':_0x351fd8,'isFromAdapter':!0x0});}),this['listenTo'](_0x2cd1de,'commentThreadUpdated',(_0x4bc09b,{commentThreadId:_0x1aa54c,documentId:_0x449feb,context:_0x226e0f,unlinkedAt:_0x529663,attributes:_0x4160cb})=>{_0x422445['getCommentThread'](_0x1aa54c)&&_0x422445['updateCommentThread']({'threadId':_0x1aa54c,'channelId':_0x449feb,'context':_0x226e0f,'unlinkedAt':_0x529663,'attributes':_0x4160cb,'isFromAdapter':!0x0});}),this['listenTo'](_0x2cd1de,'commentThreadResolved',(_0x44e89d,{commentThreadId:_0x256230,resolvedBy:_0xa5eb9a,resolvedAt:_0x1ce77e})=>{const _0x4a395a=_0x422445['getCommentThread'](_0x256230);_0x4a395a&&_0x4a395a['resolve']({'resolvedBy':_0xa5eb9a,'resolvedAt':_0x1ce77e,'isFromAdapter':!0x0});}),this['listenTo'](_0x2cd1de,'commentThreadReopened',(_0x520a9b,{commentThreadId:_0x5c6be3})=>{const _0x1fb760=_0x422445['getCommentThread'](_0x5c6be3);_0x1fb760&&_0x1fb760['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2cd1de,'commentThreadRemoved',(_0x4285cd,{commentThreadId:_0x1b22ba})=>{const _0x8c873e=_0x422445['getCommentThread'](_0x1b22ba);_0x8c873e&&_0x8c873e['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2cd1de,'commentAdded',(_0x2664cf,_0x393cfc)=>{const _0x458908=_0x393cfc['commentThreadId'],_0x4c35d4=_0x422445['getCommentThread'](_0x458908);_0x4c35d4&&_0x4c35d4['addComment']({...p(_0x393cfc),'isFromAdapter':!0x0});}),this['listenTo'](_0x2cd1de,'commentUpdated',(_0x1c9894,{commentThreadId:_0xd46858,commentId:_0x106f84,content:_0xb092f9,attributes:_0x2d751c})=>{const _0x3821aa=_0x422445['getCommentThread'](_0xd46858);if(_0x3821aa){const _0x13382f=_0x3821aa['getComment'](_0x106f84);_0x13382f&&_0x13382f['update']({'content':_0xb092f9,'attributes':_0x2d751c,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2cd1de,'commentRemoved',(_0x1af2e8,{commentThreadId:_0x3dbcf9,commentId:_0x4852b8})=>{const _0xd817a7=_0x422445['getCommentThread'](_0x3dbcf9);if(_0xd817a7){const _0x48ec60=_0xd817a7['getComment'](_0x4852b8);_0x48ec60&&_0x48ec60['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x1c5c4a);}['destroy'](){if(this['context']instanceof _0x4ebab9){const _0x4c673a=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4c673a);}}['_terminateService'](_0x893deb){if(!this['_services']['has'](_0x893deb))throw new _0x271f8a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x893deb});this['_getService'](_0x893deb)['disconnect'](),this['_services']['delete'](_0x893deb);}async['reconnect'](){for(const _0x47a5c7 of this['_services']['keys']())await this['_connectService'](_0x47a5c7);if(this['context']instanceof _0x4ebab9){const _0x416469=this['context']['config']['get']('collaboration.channelId'),_0x56d578=this['context']['plugins']['get'](i);_0x56d578['unregister'](_0x416469);const _0x291910=await this['_services']['get'](_0x416469)['getConnectedSessions']();_0x56d578['register'](_0x416469,_0x291910);}}async['_connectService'](_0x5bf2f6){const {connection:_0x1f7edf}=this['context']['plugins']['get'](n),_0x4c563e=this['context']['plugins']['get']('CommentsRepository'),_0x511705=this['_services']['get'](_0x5bf2f6),_0x172ec7=await _0x511705['connect'](_0x1f7edf);await this['_fetchMissingUsersForThreads'](_0x172ec7);const _0x2a7de6=new Set(Array['from'](_0x4c563e['getCommentThreads']({'channelId':_0x5bf2f6}),_0xfa9eb7=>_0xfa9eb7['id']));for(const _0x26a644 of _0x172ec7)_0x26a644['deletedAt']||_0x2a7de6['delete'](_0x26a644['commentThreadId']);for(const _0x5c5cc9 of _0x2a7de6)_0x4c563e['getCommentThread'](_0x5c5cc9)['remove']({'isFromAdapter':!0x0});for(const _0x35994f of _0x172ec7){let _0x57ca50=_0x4c563e['getCommentThread'](_0x35994f['commentThreadId']);const {commentThreadId:_0x470fd5,context:_0x2a588f,attributes:_0x247f06,resolvedBy:_0x75b790,resolvedAt:_0x1452cf,unlinkedAt:_0x18a627,deletedAt:_0xd46552}=_0x35994f;if(_0xd46552)continue;_0x57ca50||(_0x57ca50=_0x4c563e['addCommentThread']({'channelId':_0x5bf2f6,'threadId':_0x470fd5,'context':_0x2a588f,'attributes':_0x247f06||{},'resolvedBy':_0x75b790,'resolvedAt':_0x1452cf,'unlinkedAt':_0x18a627,'isFromAdapter':!0x0}));const _0xf672ce=new Set(Array['from'](_0x57ca50['comments'],_0x587acf=>_0x587acf['id']));for(const _0x16b8fc of _0x35994f['comments'])_0xf672ce['delete'](_0x16b8fc['commentId']);for(const _0x40fcc2 of _0xf672ce)_0x57ca50['getComment'](_0x40fcc2)['remove']({'isFromAdapter':!0x0});for(const _0x1954a4 of _0x35994f['comments']){const _0x9ebdf9=_0x57ca50['getComment'](_0x1954a4['commentId']);_0x9ebdf9?_0x9ebdf9['content']!==_0x1954a4['content']&&_0x9ebdf9['update']({'content':_0x1954a4['content'],'isFromAdapter':!0x0}):_0x57ca50['addComment'](Object['assign'](p(_0x1954a4),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1d37e0){if(!this['_services']['has'](_0x1d37e0))throw new _0x271f8a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1d37e0});return this['_services']['get'](_0x1d37e0);}async['_fetchMissingUsersForThreads'](_0x38dfc6){const _0x9d898=this['context']['plugins']['get'](_0x38b10c),{connection:_0x52b001}=this['context']['plugins']['get'](n),_0x4997e8=new Set();for(const {resolvedBy:_0xba392f,comments:_0x46f75f}of _0x38dfc6){_0xba392f&&!_0x9d898['getUser'](_0xba392f)&&_0x4997e8['add'](_0xba392f);for(const {userId:_0x5bfa26}of _0x46f75f)_0x9d898['getUser'](_0x5bfa26)||_0x4997e8['add'](_0x5bfa26);}if(0x0===_0x4997e8['size'])return;const _0x167893=await ct['getMany'](_0x52b001,Array['from'](_0x4997e8));for(const _0x5acc9b of _0x167893)_0x9d898['getUser'](_0x5acc9b['id'])||_0x9d898['addUser'](_0x5acc9b);}}async function f(_0x4bc467){if('404'!==_0x4bc467['code'])throw _0x4bc467;}function at(_0x582a71){if((_0x363460=_0x582a71)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x363460['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x363460['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x363460;throw _0x582a71;}function p(_0x19817d){return{'threadId':_0x19817d['commentThreadId'],'commentId':_0x19817d['commentId'],'content':_0x19817d['content'],'createdAt':_0x19817d['createdAt'],'authorId':_0x19817d['userId'],'attributes':_0x19817d['attributes']||{}};}class m extends _0x48a9f0{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xc0fb2e){super(_0xc0fb2e);const _0x5c0b77=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x5c0b77);}['init'](){const _0x3ae1b3=this['editor']['plugins']['get'](n),_0x39d165=this['editor']['plugins']['get']('TrackChangesEditing');return _0x39d165['adapter']={'getSuggestion':async _0x2bcb05=>{await this['_waitForServiceReady']();const _0x22473d=await this['_trackChangesService']['get'](_0x2bcb05)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x22473d]),_0x22473d;},'addSuggestion':async({id:_0x421246,type:_0xb4e7e3,data:_0x574424,originalSuggestionId:_0x5e48de,attributes:_0x14c962})=>{await this['_waitForServiceReady']();const _0x290a41={'id':_0x421246,'type':_0xb4e7e3,'data':_0x574424,'originalSuggestionId':_0x5e48de,'attributes':_0x14c962},_0x44d70f=await this['_trackChangesService']['add'](_0x421246,_0xb4e7e3,_0x574424,_0x5e48de,_0x14c962)['catch'](_0x4cab6e=>{if(ht(_0x4cab6e))return new Promise(_0x13f3cf=>{this['_bufferedRequests']['set'](_0x421246,{'resolve':_0x13f3cf,'suggestionData':_0x290a41});});throw _0x4cab6e;});return this['_bufferedRequests']['delete'](_0x421246),_0x44d70f;},'updateSuggestion':async(_0x5a87f3,_0x5ad502)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5ad502['state'])return this['_trackChangesService']['update'](_0x5a87f3,_0x5ad502)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x33dd3a,_0x26d309)=>{_0x39d165['hasSuggestion'](_0x26d309['id'])&&(_0x39d165['getSuggestion'](_0x26d309['id'])['attributes']=_0x26d309['attributes']);}),this['_trackChangesService']['connect'](_0x3ae1b3['connection'])['then'](_0x14fe43=>(_0x3ae1b3['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x14fe43)['then'](()=>{for(const _0x39278b of _0x14fe43){_0x39d165['addSuggestionData'](_0x39278b)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2f5854=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x122ccb}=this['editor']['plugins']['get'](n),_0x6a9bd7=await this['_trackChangesService']['connect'](_0x122ccb);await this['_fetchMissingUsersForThreads'](_0x6a9bd7);for(const {suggestionData:_0x5b53da,resolve:_0x212fe5}of this['_bufferedRequests']['values']()){let _0x4ea752=_0x6a9bd7['find'](_0x3df5aa=>_0x3df5aa['id']===_0x5b53da['id']);_0x4ea752||(_0x4ea752=await this['_trackChangesService']['add'](_0x5b53da['id'],_0x5b53da['type'],_0x5b53da['data'],_0x5b53da['originalSuggestionId'])),_0x212fe5(_0x4ea752);}for(const _0x235262 of _0x6a9bd7)_0x2f5854['hasSuggestion'](_0x235262['id'])||_0x2f5854['addSuggestionData'](_0x235262);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4dfb97=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1b9cfd=>{_0x1b9cfd['off'](),_0x4dfb97();});});}async['_fetchMissingUsersForThreads'](_0x3aeb8e){const _0x4c7837=this['editor']['plugins']['get'](_0x38b10c),{connection:_0x4bf6f0}=this['editor']['plugins']['get'](n),_0x5c6506=new Set();for(const {authorId:_0x3dc749}of _0x3aeb8e)_0x4c7837['getUser'](_0x3dc749)||_0x5c6506['add'](_0x3dc749);if(0x0===_0x5c6506['size'])return;const _0x5b8a30=await ct['getMany'](_0x4bf6f0,Array['from'](_0x5c6506));for(const _0x5b7b1f of _0x5b8a30)_0x4c7837['getUser'](_0x5b7b1f['id'])||_0x4c7837['addUser'](_0x5b7b1f);}}function A(_0x1ab370){if(ht(_0x1ab370))return new Promise(()=>{});throw _0x1ab370;}function ht(_0x2dbe8b){return _0x2dbe8b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2dbe8b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x48a9f0{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5965f6=this['editor']['plugins']['get'](n),_0x42e06c=this['editor']['plugins']['get']('CommentsEditing'),_0x57c37b=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5965f6,'change:state',(_0x52cef9,_0x324b31,_0x2fc777)=>{_0x42e06c['isThreadsLoadingPaused']='connected'!==_0x2fc777;});}),this['listenTo'](_0x5965f6,'change:state',(_0x205b56,_0x5bfcf9,_0x47aed0)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x47aed0);}),_0x57c37b['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class lt extends _0x48a9f0{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x48a9f0{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x41030c)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x38b10c];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5eebec){super(_0x5eebec);const _0xf68b4b=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0xf68b4b);}async['init'](){const _0x9537aa=this['editor']['plugins']['get'](l),_0x3e6643=_0x9537aa['serverHistory'],_0xb3c1f6=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x3e6643,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x9537aa['sessionId']});const _0x18a4f5=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x5f5207=await _0x1f6c76['isBundleUploaded'](_0xb3c1f6['connection'],_0x18a4f5);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x31b3e7})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x31b3e7)),'updateRevisions':async _0x150f33=>{await this['_waitForServiceReady']();const _0x5b8724=this['_revisionTracker']['currentRevision'];if(_0x5f5207&&0x1===_0x150f33['length']&&_0x150f33[0x0]['id']===_0x5b8724['id'])return _0x150f33;for(const _0x67d29c of _0x150f33)_0x67d29c['id']===_0x5b8724['id']&&(_0x67d29c['isEmptyCurrent']=_0x67d29c['fromVersion']===_0x67d29c['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x150f33,this['_lastRequestId'])['then'](_0x5b3425=>(this['_lastRequestId']=_0x5b3425,_0x150f33))['catch'](_0x4b0ff9=>{if(M(_0x4b0ff9)||'400'===_0x4b0ff9['code']&&void 0x0!==_0x4b0ff9['data']['wrongRequestId']){for(const _0x2b2cf0 of _0x150f33){!this['_revisionTracker']['repository']['getRevision'](_0x2b2cf0['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2b2cf0['id'],_0x2b2cf0,!0x1);}if(M(_0x4b0ff9))throw _0x4b0ff9;return _0x150f33;}throw _0x4b0ff9;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3e5ca6,{revisionsData:_0x3e530b,requestId:_0x8e1634})=>{Math['max'](..._0x3e530b['map'](_0xa11164=>_0xa11164['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3e530b,_0x8e1634);}):this['_handleRevisionsUpdate'](_0x3e530b,_0x8e1634);});const {revisions:_0x29b1a3,requestId:_0x18e774}=await this['_revisionHistoryService']['connect'](_0xb3c1f6['connection']);_0xb3c1f6['addToReconnectionStack'](this),this['_lastRequestId']=_0x18e774,await this['_fetchMissingUsers'](_0x29b1a3);for(const _0x4a556b of _0x29b1a3)this['_revisionTracker']['addRevisionData'](_0x4a556b);this['listenTo'](_0x9537aa,'change:_isConnected',(_0x420a79,_0x3ab5ab,_0x316ca9)=>{_0x316ca9&&(this['_oldOffset']=_0x9537aa['_offset'],_0x420a79['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0xb3c1f6,'state',_0x117cf6=>_0x117cf6===_0x16a505['CONNECTED']);}async['reconnect'](){const _0x4c2cbe=this['editor']['plugins']['get'](n),_0x17599b=this['editor']['plugins']['get'](l),_0x542909=async()=>{const _0x1b603b=this['_revisionTracker']['currentRevision'],_0x1a1ef5=_0x1b603b['id'],_0x388cdd=_0x1a1ef5!==_0x17599b['sessionId'];if(_0x388cdd){const _0x4ede7f=_0x17599b['_offset']-this['_oldOffset'],_0x598da7=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1b603b['toVersion']+_0x4ede7f!==_0x598da7){const _0x143749=_0x1b603b['fromVersion']+_0x4ede7f,_0x34fd83=this['editor']['plugins']['get'](_0x38b10c),_0x13d8ce=this['_revisionTracker']['buildRevisionData']({'revision':_0x1b603b,'from':_0x143749,'to':_0x598da7});_0x13d8ce['id']=_0x1b603b['id'];const _0x5a4bcf=_0x13d8ce['authorsIds']['map'](_0x46d930=>_0x34fd83['getUser'](_0x46d930));_0x1b603b['_update']({..._0x13d8ce,'authors':_0x5a4bcf},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1b603b['id'],_0x13d8ce,!0x0);}this['_revisionTracker']['_startingVersion']=_0x598da7,(_0x1b603b['toVersion']===_0x1b603b['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1a1ef5)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1a1ef5),this['_revisionTracker']['_createCurrentRevision'](_0x598da7));}const {revisions:_0x39fbfa,requestId:_0x1c350d}=await this['_revisionHistoryService']['reconnect'](_0x4c2cbe['connection'],this['_lastRequestId']);_0x388cdd&&_0x39fbfa['length']>0x0?_0x17599b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x39fbfa),this['_handleRevisionsUpdate'](_0x39fbfa,_0x1c350d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x17599b['_isConnected']?_0x542909():new Promise((_0x4b7391,_0x56ba70)=>{_0x17599b['once']('change:_isConnected',()=>{_0x542909()['then'](_0x4b7391)['catch'](_0x56ba70);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x263ae7=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2b9de9=>{_0x2b9de9['off'](),_0x263ae7();});});}['_getLatestVersionFromServerOperations'](){const _0x465c15=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x4d1be8 of _0x465c15)if('marker'!==_0x4d1be8['type']||_0x4d1be8['affectsData'])return _0x4d1be8['baseVersion']+0x1;}['_getLatestVersion'](){const _0x53167b=this['editor']['plugins']['get'](l);return new Promise(_0x403b3c=>{_0x53167b['_isPendingUpdate']?_0x53167b['once']('change:_isPendingUpdate',()=>{_0x403b3c(this['_getLatestVersionFromServerOperations']());}):_0x403b3c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3fdfd3,_0x3d4ba3){const _0x1f090d=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3d4ba3;for(const _0x549557 of _0x3fdfd3){const _0x19aacd=_0x1f090d['getRevision'](_0x549557['id']);if(_0x19aacd){if((_0x549557['fromVersion']||_0x549557['toVersion'])&&(_0x549557['diffData']=null),_0x19aacd===this['_revisionTracker']['currentRevision']){const _0x410b68=Math['max'](_0x19aacd['toVersion'],_0x549557['toVersion']),_0x252303=Math['max'](_0x19aacd['fromVersion'],_0x549557['fromVersion']);let _0x48d1ea;_0x19aacd['toVersion']===_0x549557['toVersion']&&_0x19aacd['fromVersion']===_0x549557['fromVersion']?(_0x48d1ea=!0x0,this['_preventResendingRevisionData'](_0x549557)):_0x549557['toVersion']===_0x410b68&&_0x549557['fromVersion']===_0x252303?_0x48d1ea=!0x1:(_0x19aacd['toVersion']===_0x410b68&&_0x19aacd['fromVersion']===_0x252303||this['_fixRevision']({'revision':_0x19aacd,'from':_0x252303,'to':_0x410b68}),_0x48d1ea=!0x0),_0x48d1ea&&(delete _0x549557['fromVersion'],delete _0x549557['toVersion'],delete _0x549557['diffData'],delete _0x549557['createdAt'],delete _0x549557['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x549557),this['_preventResendingRevisionData'](_0x549557);}else this['_revisionTracker']['addRevisionData'](_0x549557);}const _0x2e41d0=_0x1f090d['getRevisions']();_0x2e41d0['reverse']();for(let _0x43de58=0x0;_0x43de58<_0x2e41d0['length']-0x1;_0x43de58++){const _0x320f20=_0x2e41d0[_0x43de58],_0x9377e7=_0x2e41d0[_0x43de58+0x1];if(_0x320f20['fromVersion']<_0x9377e7['toVersion']){const _0xf55578=_0x9377e7['toVersion'],_0x1bf700=Math['max'](_0xf55578,_0x320f20['toVersion']);this['_fixRevision']({'revision':_0x320f20,'from':_0xf55578,'to':_0x1bf700});}}}['_fixRevision']({revision:_0x118a89,from:_0x41e892,to:_0x185cba}={}){const _0x408ca4=this['editor']['plugins']['get'](_0x38b10c),_0x4b66f0=this['_revisionTracker']['buildRevisionData']({'revision':_0x118a89,'from':_0x41e892,'to':_0x185cba});_0x4b66f0['authors']=_0x4b66f0['authorsIds']['map'](_0x56ff9c=>_0x408ca4['getUser'](_0x56ff9c)),_0x118a89['_update'](_0x4b66f0);}['_preventResendingRevisionData'](_0x4350bb){const _0x1d8621={};_0x1d8621['id']=_0x4350bb['id'];for(const _0x4b98a3 of Object['keys'](_0x4350bb))'id'!==_0x4b98a3&&(_0x1d8621[_0x4b98a3]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x1d8621['id'],_0x1d8621,!0x0);}async['_fetchMissingUsers'](_0x29ca9e){const _0x1b7001=this['editor']['plugins']['get'](_0x38b10c),{connection:_0x2108b8}=this['editor']['plugins']['get'](n),_0x42753c=new Set();for(const _0x8a045b of _0x29ca9e){for(const _0x4d12df of _0x8a045b['authorsIds'])_0x2df1eb(_0x4d12df);_0x8a045b['creatorId']&&_0x2df1eb(_0x8a045b['creatorId']);}if(0x0===_0x42753c['size'])return;const _0x30b981=await ct['getMany'](_0x2108b8,Array['from'](_0x42753c));for(const _0x5a24d6 of _0x30b981)_0x1b7001['getUser'](_0x5a24d6['id'])||_0x1b7001['addUser'](_0x5a24d6);function _0x2df1eb(_0x2100f9){_0x1b7001['getUser'](_0x2100f9)||_0x42753c['add'](_0x2100f9);}}}function M(_0x5a087c){return _0x5a087c['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5a087c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5a087c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x48a9f0{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x3d3dbb{['_collapseAt'];constructor(_0x3c655d,_0x3d7185=0x6){super(_0x3c655d);const _0x477ef9=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3d7185,this['bind']('isHidden')['to'](this,'usersCount',_0x3f6327=>_0x3f6327<_0x3d7185),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x477ef9['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x477ef9['to']('usersCount',_0x541f1b=>'+'+(_0x541f1b-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x3d3dbb{['items'];['keystrokes'];constructor(_0x92458f){super(_0x92458f);const _0x4aaa9a=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x13bac5(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4aaa9a['if']('hasPopup'),'aria-expanded':_0x4aaa9a['to']('isExpanded',_0x2c7a54=>this['hasPopup']&&String(_0x2c7a54)),'aria-label':_0x4aaa9a['to']('hasPopup',_0x1f9b8c=>$(_0x92458f,_0x1f9b8c?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4aaa9a['to']('hasPopup',_0x474d6d=>!!_0x474d6d&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4aaa9a['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4aaa9a['to'](_0x56d04a=>{const _0xc2d74c=_0x56d04a,_0x5178e6=document['querySelector']('.ck-presence-list__dropdown-list'),_0x119024=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5178e6?.['contains'](_0xc2d74c['relatedTarget'])||_0x119024?.['contains'](_0xc2d74c['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x5ccc7e,_0x4d3c20,_0x4dc9d6)=>{this['element']&&(_0x4dc9d6?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 k extends _0x3d3dbb{['counterView'];['inlineListView'];constructor(_0x42e002,_0x12e0c2=0x6){super(_0x42e002);const _0x5a6b40=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x12e0c2),this['inlineListView']=new is(_0x42e002),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3ebd67 of this['inlineListView']['items'])_0x3ebd67['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',_0x5a6b40['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x3d3dbb{['listWrapperView'];constructor(_0x180956,_0x5f0f80){super(_0x180956);const _0x45ae85=this['bindTemplate'];this['listWrapperView']=new ut(_0x180956,_0x5f0f80),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':$(_0x180956,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x45ae85['to'](_0xb3f8c2=>{const _0x4eb5f6=_0xb3f8c2,_0x3d9740=document['querySelector']('.ck-presence-list__list'),_0x5ce57f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3d9740?.['contains'](_0x4eb5f6['relatedTarget'])||_0x5ce57f?.['contains'](_0x4eb5f6['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x3dbb32{constructor(_0x48c3cc,_0xfef3d6){super(_0x48c3cc);const _0x4646e9=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0xfef3d6?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4646e9['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4646e9['to']('role'),'aria-label':_0x4646e9['to']('ariaLabel'),'aria-labelledby':_0x4646e9['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x459bae['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x7e2cf=this['element'];_0x7e2cf&&(this['_isScrollable']=Math['max'](_0x7e2cf['scrollHeight'],_0x7e2cf['clientHeight'])>0.8*window['innerHeight']);}}class P extends et{['userView'];constructor(_0x3859c5,_0x1f85e0,_0xb2eb46){super(_0x3859c5);const _0xc7c611=this['bindTemplate'];this['userView']=new st(_0x3859c5,_0x1f85e0);const _0x3f3011={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1f85e0['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1f85e0['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1f85e0['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0xb2eb46&&(_0x3f3011['tag']='button',_0x3f3011['on']={'click':_0xc7c611['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3f3011);}['focus'](){this['element']['focus']();}}class _ extends _0x3d3dbb{['userView'];['markerView'];constructor(_0xd9bd15,_0x501aef,_0x288959){super(_0xd9bd15);const _0x1f47b3=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0xd9bd15,_0x501aef),this['markerView']=new ot(_0xd9bd15,_0x501aef);const _0x1f5649=new it(_0xd9bd15);_0x1f5649['template']['tag']='span',_0x1f5649['text']=_0x501aef['name'];const _0x580ee8={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1f47b3['to']('isFocusable',_0x39dbae=>!!_0x39dbae&&0x0),'aria-labelledby':_0x1f5649['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1f47b3['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1f47b3['to']('hasTooltip',_0x34f084=>!_0x34f084),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1f5649]};_0x288959&&(_0x580ee8['tag']='button',_0x580ee8['on']={'click':_0x1f47b3['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x580ee8);}}class ot extends _0x3d3dbb{constructor(_0x8e42a,_0x23f922){super(_0x8e42a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x23f922['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x20381d{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x29188f){super(_0x29188f),this['context']['config']['define']('presenceList',U);const _0x3d37ac=_0x29188f['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3d37ac)throw new _0x271f8a('presencelist-collapseat-invalid-format',this);if(_0x3d37ac<0x1)throw new _0x271f8a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x42ff4a(),this['balloonPanelView']=new _0x103ccd(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x8bf249 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x8bf249);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3dc6df,_0x475915)=>{this['_handleUserAdd'](_0x475915);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x16b5fc,_0x19563f)=>{this['_handleUserRemove'](_0x19563f);});}['_createView'](){const _0x347c3f=this['context'],_0x539181=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3d9f9a=this['balloonPanelView'];if(!_0x51facf(_0x347c3f['config']['get']('presenceList.container')))throw new _0x271f8a('presencelist-missing-container',this);return _0x539181['counterView']['bind']('usersCount')['to'](this),_0x539181['bind']('isCollapsed')['to'](this,'usersCount',_0x3f1742=>{const {collapseAt:_0x4d774e}=_0x347c3f['config']['get']('presenceList'),_0x57afaa=_0x3f1742>=_0x4d774e;if(_0x57afaa&&!_0x539181['inlineListView']['items']['find'](_0x2d7395=>_0x2d7395 instanceof y)){const _0xaa3cfd=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0xaa3cfd&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x539181['inlineListView']['items']['add'](_0x539181['counterView']);}return _0x57afaa||this['hideDropdown'](),_0x57afaa;}),_0x539181['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xf7526e=>{const _0x43bd14=_0x347c3f['config']['get']('presenceList'),_0xc2b6ab=new _(_0x347c3f['locale'],_0xf7526e,!!_0x43bd14['onClick']);return _0xc2b6ab['bind']('hasTooltip')['to'](_0x539181,'isCollapsed',_0x24c274=>!_0x24c274),_0xc2b6ab['bind']('isFocusable')['to'](_0x539181,'isCollapsed',_0x2bc907=>!_0x2bc907),_0x43bd14['onClick']&&this['listenTo'](_0xc2b6ab,'execute',()=>{this['view']['isCollapsed']||_0x43bd14['onClick'](_0xf7526e,_0xc2b6ab['element']);}),_0xc2b6ab;}),this['listenTo'](_0x539181['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x539181['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x539181['inlineListView']['keystrokes']['set']('Enter',(_0x546496,_0x23994a)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x23994a());}),_0x539181['render'](),_0x3d9f9a['render'](),_0x1a73ab({'emitter':_0x539181,'activator':()=>_0x3d9f9a['isVisible'],'contextElements':[_0x3d9f9a['element'],_0x539181['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x347c3f['config']['get']('presenceList.container')['appendChild'](_0x539181['element']),this['_bodyCollection']=new _0x1f72d8(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x539181;}['_handleUserAdd'](_0x1c7ba8){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1c7ba8['isMe'])return;const _0x3346ce=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3346ce-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xc130f9=_0x1c7ba8['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1c7ba8,_0xc130f9);}['_handleUserRemove'](_0x321416){this['usersCount']--;const {collapseAt:_0x31b686}=this['context']['config']['get']('presenceList'),_0x4a530c=this['usersCount']>=_0x31b686;if(this['currentDisplayedUsers']['get'](_0x321416['id']))this['currentDisplayedUsers']['remove'](_0x321416['id']);else{if(_0x4a530c&&this['currentDisplayedUsers']['length']+0x1===_0x31b686-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4a530c?0x1:0x0)<this['usersCount']){for(const _0x468820 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x468820['id'])&&(this['currentDisplayedUsers']['add'](_0x468820,Math['min'](this['currentDisplayedUsers']['length']-(_0x4a530c?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4a530c?0x1:0x0)===_0x31b686-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1ec345=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x1ec345['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1f9f32}=this['presenceDropdownView'];_0x1f9f32['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x14b614=>{if(!_0x1ec345['displayMe']&&_0x14b614['isMe'])return null;const _0x119773=new P(this['context']['locale'],_0x14b614,!!_0x1ec345['onClick']);return _0x1ec345['onClick']&&this['listenTo'](_0x119773,'execute',()=>{_0x1ec345['onClick'](_0x14b614,_0x119773['element']);}),_0x119773;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1f9f32['focus'](),_0x1f9f32['checkIfScrollable']();const _0x217231=(_0x101542,_0x442294)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x442294();};_0x1f9f32['keystrokes']['set']('Esc',_0x217231),_0x1f9f32['keystrokes']['set']('Shift+Tab',_0x217231),_0x1f9f32['keystrokes']['set']('Tab',(_0x2db3c1,_0x4de211)=>{!function(_0x37c62d){const _0x3b70c=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3a7610=>_0x3a7610+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x52407a=[...document['body']['querySelectorAll'](_0x3b70c)]['filter'](_0x52b326=>_0x52b326===document['activeElement']||_0x52b326['offsetWidth']+_0x52b326['offsetHeight']>0x0)['sort']((_0x2c50ae,_0x454a90)=>(_0x2c50ae['tabIndex']||0x0)-(_0x454a90['tabIndex']||0x0)),_0x5b2233=_0x52407a['indexOf'](_0x37c62d),_0x4d38bf=_0x52407a[(_0x5b2233+0x1)%_0x52407a['length']];_0x4d38bf&&_0x4d38bf['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4de211();}),_0x1f9f32['focusTracker']['add'](this['view']['element']),_0x1f9f32['focusTracker']['on']('change:isFocused',(_0x3640fe,_0x16f41d,_0x5ce251)=>{_0x5ce251||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 ft extends _0x20381d{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,ft as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,dt as RealTimeCollaborativeRevisionHistory,lt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
|