@ckeditor/ckeditor5-real-time-collaboration 44.0.0-alpha.1 → 44.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/real-time-collaboration.js +1 -1
- package/dist/index.js +6 -6
- package/package.json +9 -9
- package/src/presencelist/presencelistui.js +1 -1
- package/src/presencelist/view/presencecounterview.js +1 -1
- package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
- package/src/presencelist/view/presencedropdownlistview.js +1 -1
- package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
- package/src/presencelist/view/presenceinlinelistview.js +1 -1
- package/src/presencelist/view/presencelistview.js +1 -1
- package/src/realtimecollaborativeediting/realtimecollaborationclient.js +1 -1
- package/src/realtimecollaborativeediting/sessions.js +1 -1
- package/src/realtimecollaborativeediting/usermarkers.js +1 -1
- package/src/realtimecollaborativeediting/websocketgateway.js +1 -1
- package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +1 -1
- package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +1 -1
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{ContextPlugin as
|
|
24
|
-
((()=>ft)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x1dfc1e];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1904e6){super(_0x1904e6),this['set']('state',_0x51d08e['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x4ab1ad);}['init'](){const _0x2ce7b0=this['context'],_0x1d594e=_0x2ce7b0['plugins']['get']('CloudServices'),_0x22fc62=_0x2ce7b0['plugins']['get'](_0x1dfc1e);if(!_0x1d594e['token'])throw new _0x3443e5('websocketgateway-missing-token',this);if(!_0x1d594e['webSocketUrl'])throw new _0x3443e5('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),c['WebSocketGateway']['connect'](_0x1d594e['token'],_0x1d594e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x40aed8=>{if(this['connection']=_0x40aed8,this['bind']('state')['to'](_0x40aed8,'state',this,'_isBrowserOffline',(_0x57eab6,_0x122a70)=>('connected'!==_0x57eab6&&(this['_shouldPluginsReconnect']=!0x0),_0x122a70||_0x57eab6!==_0x51d08e['CONNECTED']?_0x51d08e['DISCONNECTED']:this['state']==_0x51d08e['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x51d08e['CONNECTING']):_0x51d08e['CONNECTED'])),this['connection']['on']('error',(_0x1241d9,_0x3ea848)=>{if('limitExceeded'!==_0x3ea848['code'])throw console['error'](_0x3ea848),new _0x3443e5('cloudservices-init',null,{'originalError':_0x3ea848});_0x22fc62['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'});}),!_0x40aed8['me'])return new Promise(_0x483e7b=>_0x40aed8['on']('change:me',_0x483e7b));})['catch'](_0x350102=>{throw console['error'](_0x350102),new _0x3443e5('cloudservices-init',null,{'originalError':_0x350102});});}['addToReconnectionStack'](_0x338a2c){if('function'!=typeof _0x338a2c['reconnect'])throw new _0x3443e5('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x338a2c))throw new _0x3443e5('websocketgateway-plugin-already-registered',this,{'name':_0x338a2c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x338a2c);}['removeFromReconnectionStack'](_0x7a4e11){this['_reconnectionStack']['delete'](_0x7a4e11);}['isInReconnectionStack'](_0x165f90){return this['_reconnectionStack']['has'](_0x165f90);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x302117=>_0x302117['reconnect']())))['then'](()=>this['state']=_0x51d08e['CONNECTED'])['catch'](_0x140ae2=>{throw console['error'](_0x140ae2),new _0x3443e5('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x51d08e['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x375b1b{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x4fe278];}constructor(_0x4fbfd9){super(_0x4fbfd9),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2718c8(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4fe278);}['init'](){const _0x402cf9=this['context']['plugins']['get'](c);this['listenTo'](_0x402cf9,'change:state',(_0x4b06e6,_0x5da501,_0x22e4ef)=>{if('connected'!==_0x22e4ef)this['channelSessions']['forEach'](_0xe7fda1=>_0xe7fda1['clear']()),this['channelConnectedUsers']['forEach'](_0x376cc5=>_0x376cc5['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x47fcb6,_0x38bb05]of this['_registeredSessions'])for(const _0x20c486 of _0x38bb05)this['_handleSessionAdd'](_0x47fcb6,_0x20c486);}}),this['_createUser'](_0x402cf9['connection']['me'],!0x0);}['register'](_0x50a20c,_0x1976dc){if(this['_registeredSessions']['has'](_0x50a20c))throw new _0x3443e5('sessions-register-already-registered',null,{'channelId':_0x50a20c});this['_registeredSessions']['set'](_0x50a20c,_0x1976dc),this['channelSessions']['set'](_0x50a20c,new _0x2718c8()),this['channelConnectedUsers']['set'](_0x50a20c,new _0x2718c8()),this['listenTo'](_0x1976dc,'add',(_0x13f209,_0x13ba1f)=>this['_handleSessionAdd'](_0x50a20c,_0x13ba1f)),this['listenTo'](_0x1976dc,'remove',(_0x1def98,_0x5c197b)=>this['_handleSessionRemove'](_0x50a20c,_0x5c197b));for(const _0x562e7c of _0x1976dc)this['_handleSessionAdd'](_0x50a20c,_0x562e7c);}['unregister'](_0x6a1b4){if(!this['_registeredSessions']['has'](_0x6a1b4))throw new _0x3443e5('sessions-unregister-not-exist',null,{'channelId':_0x6a1b4});const _0x5e512b=this['_registeredSessions']['get'](_0x6a1b4);this['stopListening'](_0x5e512b);for(const _0x45e562 of _0x5e512b)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x6a1b4,_0x45e562);this['_registeredSessions']['delete'](_0x6a1b4),this['channelSessions']['delete'](_0x6a1b4),this['channelConnectedUsers']['delete'](_0x6a1b4);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x5bbf71){for(const _0x403c0c of this['channelSessions']['values']())for(const _0x6ac881 of _0x403c0c)if(_0x6ac881['id']===_0x5bbf71)return _0x6ac881['user'];}['getUserSessions'](_0x132bfc,_0x185cee){const _0x9e7810=_0x185cee?[this['channelSessions']['get'](_0x185cee)]:this['channelSessions']['values'](),_0x2a39a1=new Set();for(const _0x1665ff of _0x9e7810)for(const _0x56576e of _0x1665ff)_0x56576e['user']['id']===_0x132bfc['id']&&_0x2a39a1['add'](_0x56576e['id']);return _0x2a39a1;}['getUserRole'](_0x4dd2a8){for(const _0x47108f of this['channelSessions']['values']())for(const _0x46445d of _0x47108f)if(_0x46445d['user']===_0x4dd2a8)return _0x46445d['role'];}['_handleSessionAdd'](_0x46601a,_0x14d501){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x5b8ef9=_0x14d501['user'],_0x4b0ee9=this['_users']['getUser'](_0x5b8ef9['id'])||this['_createUser'](_0x5b8ef9),_0x440214=Object['assign']({},_0x14d501,{'user':_0x4b0ee9});this['channelSessions']['get'](_0x46601a)['add'](_0x440214);const _0xeca01d=this['channelConnectedUsers']['get'](_0x46601a);_0xeca01d['has'](_0x4b0ee9['id'])||_0xeca01d['add'](_0x4b0ee9),this['allConnectedUsers']['has'](_0x4b0ee9['id'])||this['allConnectedUsers']['add'](_0x4b0ee9,_0x4b0ee9['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x46601a,{'channelId':_0x46601a,'session':_0x440214});}['_handleSessionRemove'](_0x4f02b3,_0x2a5ba2){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x55f764=this['channelConnectedUsers']['get'](_0x4f02b3),_0x4ba8ca=_0x2a5ba2['user'];_0x4ba8ca['id']&&(this['channelSessions']['get'](_0x4f02b3)['remove'](_0x2a5ba2['id']),_0x55f764['has'](_0x4ba8ca['id'])&&!this['getUserSessions'](_0x4ba8ca,_0x4f02b3)['size']&&_0x55f764['remove'](_0x4ba8ca['id']),this['allConnectedUsers']['get'](_0x4ba8ca['id'])&&!this['getUserSessions'](_0x4ba8ca)['size']&&this['allConnectedUsers']['remove'](_0x4ba8ca['id']));}['_createUser'](_0x29f76f,_0xf3f427){const _0x14b344=this['_users']['addUser'](_0x29f76f);return _0xf3f427&&this['_users']['defineMe'](_0x29f76f['id']),_0x14b344['orderNumber']=this['_uniqueUsersCount']++,_0x14b344;}}class N extends _0x3b1a90{['_domEmitter']=new(_0x4ab1ad())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x52b5a5=this['editor'],_0x2b6bd3=_0x52b5a5['plugins']['get'](i);_0x52b5a5['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x566d65,{writer:_0x562c8c})=>function(_0x122a2c,_0xc7c3f2,_0x386885,_0x15b37f){const _0x298d15=_0x122a2c['markerName']['split'](':')[0x2],_0x581943=_0x386885['getUserBySessionId'](_0x298d15);if(!_0x581943||_0x298d15===_0x386885['mySessionId'])return;if(!_0x15b37f['model']['schema']['checkChild'](_0x122a2c['markerRange']['start'],'$text'))return;const _0x4de790={'class':'ck-user__marker\x20'+_0x581943['color']['getMarkerClass'](),'data-name':_0x581943['name'],'data-session-id':_0x298d15},_0x48de3a=_0x15b37f['model']['markers']['get'](_0x122a2c['markerName']),_0x7ed9ff=_0x48de3a['getStart'](),_0x42aee3=_0x7ed9ff['nodeAfter'],_0x2f2215=_0x15b37f['model']['schema'];if(_0x42aee3&&_0x2f2215['isObject'](_0x42aee3)&&_0x2f2215['isInline'](_0x42aee3)&&!_0x15b37f['model']['markers']['get']('user:range:'+_0x298d15)['getRange']()['isCollapsed'])return;const _0x47d683=_0x7ed9ff['parent'];return _0x15b37f['model']['schema']['isLimit'](_0x47d683)&&!_0x15b37f['model']['hasContent'](_0x47d683)&&(_0x4de790['contenteditable']=!0x1),function(_0x490139,_0x27c6df,_0x48a67d){const _0x4bd0bb=_0x490139['createUIElement']('span',_0x27c6df);return _0x490139['setCustomProperty']('userPositionMarker',!0x0,_0x4bd0bb),_0x4bd0bb['render']=function(_0x1f9db5){const _0xb81324=this['toDomElement'](_0x1f9db5);return _0xb81324['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x48a67d['name']+'</span>',_0xb81324['addEventListener']('mouseenter',()=>{_0xb81324['classList']['add']('ck-user__marker_hovered');}),_0xb81324['addEventListener']('mouseleave',()=>{_0xb81324['classList']['remove']('ck-user__marker_hovered');}),_0xb81324;},_0x4bd0bb['isSimilar']=function(_0x1f5ed3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1f5ed3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1f5ed3['getAttribute']('data-session-id'));},_0x4bd0bb;}(_0xc7c3f2,_0x4de790,_0x581943);}(_0x566d65,_0x562c8c,_0x2b6bd3,_0x52b5a5)}),_0x52b5a5['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5ead90=>function(_0x3a0f14,_0x54084c){const _0x1734e8=_0x3a0f14['markerName']['split'](':')[0x2];if(_0x1734e8===_0x54084c['mySessionId'])return null;const _0x464a18=_0x54084c['getUserBySessionId'](_0x1734e8);if(!_0x464a18)return{'id':_0x1734e8,'classes':[]};return{'id':_0x1734e8,'classes':['ck-user__selection',_0x464a18['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1734e8},'priority':0x7d0+_0x464a18['orderNumber']};}(_0x5ead90,_0x2b6bd3)}),function(_0x2e8163){const _0x1aa15c=_0x2e8163['model'],_0x51dffa=new Map(),_0x259d2c=_0x2e8163['plugins']['get'](i);_0x1aa15c['markers']['on']('update:user:range',(_0x16c337,_0xc9ca47,_0x289b3e,_0x38444b)=>{if(!_0x38444b&&_0x51dffa['get'](_0xc9ca47['name']))return _0x51dffa['get'](_0xc9ca47['name'])['detach'](),void _0x51dffa['delete'](_0xc9ca47['name']);const _0x5616bd=_0xc9ca47['name']['split'](':')[0x2];if(_0x5616bd===_0x259d2c['mySessionId'])return;const _0x15b1d9='user:position:'+_0x5616bd;_0x1aa15c['markers']['has'](_0x15b1d9)&&_0x2e8163['editing']['reconvertMarker'](_0x15b1d9),_0xc9ca47['on']('change:range',(_0x29ed07,_0x3438a9,_0x2fcd42)=>{if('$graveyard'!=_0x3438a9['root']['rootName']&&'$graveyard'==_0xc9ca47['getRange']()['root']['rootName']&&!_0x51dffa['has'](_0xc9ca47['name'])){const _0x386abc=_0x1aa15c['schema']['getNearestSelectionRange'](_0x2fcd42['deletionPosition']);if(_0x386abc){const _0x1af3dc=ut['fromRange'](_0x386abc);_0x51dffa['set'](_0xc9ca47['name'],_0x1af3dc),_0x1af3dc['on']('change:range',(_0x230be7,_0xdee545,_0x253dca)=>{if('$graveyard'==_0x1af3dc['root']['rootName']){const _0x2d1f29=_0x1aa15c['schema']['getNearestSelectionRange'](_0x253dca['deletionPosition']);_0x2d1f29?(_0x1af3dc['start']=_0x2d1f29['start'],_0x1af3dc['end']=_0x2d1f29['end']):(_0x51dffa['delete'](_0xc9ca47['name']),_0x1af3dc['detach']());}});}}});}),_0x1aa15c['document']['on']('change',()=>{_0x51dffa['size']>0x0&&_0x1aa15c['enqueueChange']({'isUndoable':!0x1},_0x2d93f7=>{for(const [_0x2e9f0c,_0x224d66]of _0x51dffa)'$graveyard'==_0x1aa15c['markers']['get'](_0x2e9f0c)['getRange']()['root']['rootName']&&(G(_0x2e9f0c['split'](':')[0x2],_0x224d66['toRange'](),_0x1aa15c,_0x2d93f7),_0x224d66['detach']());_0x51dffa['clear']();});});}(_0x52b5a5),this['_domEmitter']['listenTo'](_0x3b8f5d['document'],'keydown',(_0x1609dd,{key:_0x29d335})=>{'Escape'===_0x29d335&&function(_0x19093b){_0x19093b['editing']['view']['change'](_0x4425b0=>{for(const _0x44b3dd of _0x19093b['model']['markers']){if(!_0x44b3dd['name']['startsWith']('user:position'))continue;const _0x5a0313=_0x19093b['editing']['mapper']['markerNameToElements'](_0x44b3dd['name']);if(_0x5a0313){for(const _0x3bbec8 of _0x5a0313)_0x4425b0['removeClass']('ck-user__marker_hovered',_0x3bbec8);}}});}(_0x52b5a5);},{'useCapture':!0x0});}['afterInit'](){const _0x1fb92a=this['editor'],_0x452b97=_0x1fb92a['commands']['get']('undo');_0x452b97&&_0x1fb92a['model']['on']('applyOperation',(_0x3798ae,_0x24c4dc)=>{const _0x3be09d=_0x24c4dc[0x0];if('marker'!=_0x3be09d['type']||!_0x3be09d['name']['startsWith']('user:'))return;const _0x1aa639=_0x3be09d['batch'];_0x452b97['_createdBatches']['has'](_0x1aa639)&&(_0x3be09d['newRange']=_0x3be09d['oldRange']?_0x1fb92a['model']['createRange'](_0x3be09d['oldRange']['start'],_0x3be09d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3c121b=this['editor'],_0x173c55=_0x3c121b['model']['document'],_0x4e0bcf=_0x3c121b['plugins']['get'](i);_0x3c121b['model']['enqueueChange']({'isUndoable':!0x1},_0x3b940=>{const _0x2026f1='user:range:'+_0x4e0bcf['mySessionId'],_0x5a460e='user:position:'+_0x4e0bcf['mySessionId'],_0x45ae66=_0x3c121b['model']['markers']['has'](_0x2026f1);_0x3c121b['editing']['view']['hasDomSelection']?G(_0x4e0bcf['mySessionId'],_0x173c55['selection']['getFirstRange'](),_0x3c121b['model'],_0x3b940):_0x45ae66&&(_0x3b940['removeMarker'](_0x2026f1),_0x3b940['removeMarker'](_0x5a460e));});}}function G(_0xdecb36,_0x35d52f,_0x1efc7d,_0x3cc9be){const _0x4502f0='user:range:'+_0xdecb36,_0x216dd8='user:position:'+_0xdecb36,_0x4b4efb=_0x35d52f['getContainedElement']();let _0x2841e2=_0x35d52f['start'];_0x4b4efb&&_0x4b4efb['is']('element','tableCell')&&(_0x2841e2=function(_0x29b971,_0x51b7d4){for(const _0x3ea707 of _0x29b971['getPositions']())if(_0x51b7d4['schema']['checkChild'](_0x3ea707,'$text'))return _0x3ea707;}(_0x35d52f,_0x1efc7d),_0x35d52f=_0x3cc9be['createRange'](_0x2841e2));const _0x6d61b3=_0x3cc9be['createRange'](_0x2841e2);_0x1efc7d['markers']['has'](_0x4502f0)?(_0x3cc9be['updateMarker'](_0x4502f0,{'range':_0x35d52f}),_0x3cc9be['updateMarker'](_0x216dd8,{'range':_0x6d61b3})):(_0x3cc9be['addMarker'](_0x4502f0,{'range':_0x35d52f,'usingOperation':!0x0}),_0x3cc9be['addMarker'](_0x216dd8,{'range':_0x6d61b3,'usingOperation':!0x0}));}function E(_0x414cb2,_0x458886,_0x442afb){const _0x562b45=_0x414cb2['t'],t=_0x414cb2['t'];switch(_0x458886){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 _0x562b45({'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'},_0x442afb);default:return'';}}let M=0x1;class l extends _0x3b1a90{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0xfd8b2a)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,N,_0x491601,_0x4fe278,_0x1dfc1e];}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 _0x42c9b0=this['serverHistory']['getOperations']();for(let _0x3cd933=_0x42c9b0['length']-0x1;_0x3cd933>=0x0;_0x3cd933--){const _0x245e84=_0x42c9b0[_0x3cd933];if(!this['_disconnectionOperations']['has'](_0x245e84))return _0x245e84['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4fb606){if(super(_0x4fb606),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x49f383(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3443e5('collaboration-missing-channelid',this);const _0x34c4fe=_0x4fb606['config']['get']('cloudServices.bundleVersion')||dt;this['_service']=new l['CollaborativeEditingService'](_0x34c4fe,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x481af2(),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 W(this['_disconnectionOperations']);}['init'](){const _0x161552=this['editor'],_0x2eeb33=_0x161552['plugins']['get'](_0x4fe278),_0x307231=_0x161552['plugins']['get'](c);this['listenTo'](_0x2eeb33,'getOperationAuthor',(_0x222289,_0x340dec)=>{const _0x2d51d3=_0x340dec[0x0];_0x2d51d3['_authorId']&&(_0x222289['return']=_0x2eeb33['getUser'](_0x2d51d3['_authorId']),_0x222289['stop']()),null===_0x2d51d3['_authorId']&&(_0x222289['return']=null,_0x222289['stop']());},{'priority':'high'}),this['listenTo'](_0x161552['model']['document']['selection'],'change:range',(_0x304100,_0x12bb37)=>{_0x12bb37['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x161552['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x161552['model']['on']('applyOperation',(_0x21977e,_0x52e13d)=>{const _0x89fd53=_0x52e13d[0x0];_0x89fd53['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x89fd53),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x307231,'state',this,'_hasSynchronizationProblem',(_0x3c7724,_0x2619fa)=>'connected'===_0x3c7724&&!_0x2619fa),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x161552['disableReadOnlyMode']('rtc-offline'):_0x161552['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x161552['disableReadOnlyMode']('rtc-offline'):_0x161552['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x26f74d=this['editor']['plugins']['get'](i),_0x127e28=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x26f74d['unregister'](this['_channelId']);const _0x5abb65=await this['_service']['reconnect'](_0x127e28['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5abb65)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1b72d2=await this['_service']['getConnectedSessions']();_0x26f74d['register'](this['_channelId'],_0x1b72d2),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x273888){if(function(_0x355621){return'404'===_0x355621['code'];}(_0x273888)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x31acb9){return'409'===_0x31acb9['code'];}(_0x273888)){const _0x19c7d7=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'](_0x19c7d7);}else{if(!(_0x273888 instanceof z))throw _0x273888;this['_handleReconnectionError']();}}}}['destroy'](){const _0x49da24=this['editor']['plugins']['get'](c),_0x18a57a=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x18a57a['channelSessions']['has'](this['_channelId'])&&_0x18a57a['unregister'](this['_channelId']),_0x49da24['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x8c21fc){if(this['sessionId']!==_0x8c21fc['sessionId']&&this['_lastSyncedOperationId']!==_0x8c21fc['lastOperationId'])throw new z();return this['sessionId']=_0x8c21fc['sessionId'],this['_handleServerResponse']([],{..._0x8c21fc,'wereChangesApplied':!0x1,'data':_0x8c21fc['data']},'reconnect');}async['_connectService'](_0x55c562,_0x404220=!0x1){const {connection:_0x26c4e8}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x26c4e8,this['_channelId'])['then'](_0x3ba3fc=>this['_initSessionsHandling'](_0x3ba3fc))['catch'](_0x391ba5=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x391ba5);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x19ebaa,_0x1e1154)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x1e1154);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x3d38dc=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x55c562);this['_isPendingUpdate']=!0x0;const _0x4cfdc7=await this['_service']['connect'](_0x26c4e8,this['_compressOperations'](_0x55c562),_0x3d38dc);if(this['sessionId']=_0x4cfdc7['sessionId'],_0x404220){if(!_0x4cfdc7['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x4cfdc7['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x55c562,_0x4cfdc7,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x4cfdc7,_0x55c562);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1532dc=this['editor']['plugins']['get'](i),_0x30a1ca=this['editor']['plugins']['get'](N),_0x360b82=_0x1532dc['channelSessions']['get'](this['_channelId']);_0x360b82&&_0x360b82['length']>0x1?_0x30a1ca['createUserMarkerOperations']():this['listenTo'](_0x1532dc,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1532dc['channelSessions']['get'](this['_channelId'])['length']&&_0x30a1ca['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1f7ea5,_0x18efab,_0x371152,_0x48e0ea){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x18efab){const _0x306a2e=this['_decompressOperations'](_0x371152,_0x48e0ea);await this['_fetchMissingUsers'](_0x306a2e),this['_handleExternalOperations'](_0x306a2e,_0x18efab,_0x371152['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x4fa786}=this['editor'];let _0x46d23c;try{_0x46d23c=await this['_service']['getDocumentDetails']();}catch(_0x3ed00e){const _0x1721b8=E(_0x4fa786,'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'](_0x1721b8);}const _0x67a621=_0x46d23c['currentDocumentSession']||_0x46d23c['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x67a621['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x357774=E(_0x4fa786,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x357774);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x591a5b){const _0x57461e=this['editor']['plugins']['get'](i);this['listenTo'](_0x57461e,'sessionAdd:'+this['_channelId'],(_0x58e5f8,{session:_0x191cd1})=>{if(_0x191cd1['id']===_0x57461e['mySessionId']){_0x58e5f8['off']();const _0x1405ee=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x33f080=_0x191cd1['permissions'];_0x1405ee&&_0x1405ee['isEnabled']&&(_0x33f080=_0x33f080['filter'](_0x41eb0d=>'document:write'!==_0x41eb0d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x33f080,this['_channelId']);}}),_0x57461e['register'](this['_channelId'],_0x591a5b);}['_initThrowingOnDataSet'](){const _0x6500b8=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x20878d)=>{if(!_0x20878d[_0x20878d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3443e5('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x6500b8['apply'](this['editor']['data'],_0x20878d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xa32651,[_0x5a7933])=>{if(this['_document']['version'])throw new _0x3443e5('realtimecollaborationclient-init-document-already-initialized',this);_0xa32651['stop'](),this['_setPendingAction']();const _0x5796b1=this['editor']['config']['get']('rootsAttributes'),_0x467e88=this['_getOperationsFromInitData'](_0x5a7933,_0x5796b1);0x0==_0x467e88['length']&&_0x467e88['push'](new _0x51c15b(0x0)),_0xa32651['return']=this['_connectService'](_0x467e88)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5c34cb=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5c34cb))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4ecdf9,[_0x4c10f9,_0x4a0056])=>{_0x4ecdf9['stop']();const _0x2a51e6=this['editor']['model']['document']['getRoot'](_0x4c10f9);if(!this['_knownRootNames']['has'](_0x4c10f9)){const _0x2f6f33=_0x4a0056&&_0x4a0056['data']?_0x4a0056['data']:'',_0x4005b6=_0x4a0056&&_0x4a0056['attributes']?_0x4a0056['attributes']:{};await this['_loadRoot'](_0x4c10f9,_0x2f6f33,_0x4005b6);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2a51e6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2a51e6);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2d5e0e){const _0x4a9840=this['editor']['plugins']['get'](_0x4fe278),{connection:_0x3eed42}=this['editor']['plugins']['get'](c),_0x28bb33=new Set();for(const _0x5c77e9 of _0x2d5e0e){const _0x530ae3=_0x5c77e9['_authorId'];_0x530ae3&&!_0x4a9840['getUser'](_0x530ae3)&&_0x28bb33['add'](_0x530ae3);}if(0x0===_0x28bb33['size'])return;const _0x5e9e17=await mt['getMany'](_0x3eed42,Array['from'](_0x28bb33));for(const _0x54ae8e of _0x5e9e17)_0x4a9840['getUser'](_0x54ae8e['id'])||_0x4a9840['addUser'](_0x54ae8e);}['_getOperationsFromInitData'](_0x4e3311,_0x327652={}){const _0x3e92b7=this['editor']['model'],_0x298021=[];let _0x1deeeb=0x0;const _0x283131='string'==typeof _0x4e3311?{'main':_0x4e3311}:_0x4e3311;for(const _0x402987 of Object['keys'](_0x283131)){if(!this['_document']['roots']['has'](_0x402987))throw new _0x3443e5('realtimecollaborationclient-init-non-existent-root',this);const _0x2a7b1b=this['editor']['data']['parse'](_0x283131[_0x402987]),_0x18fcd2=this['_document']['getRoot'](_0x402987),_0x583f98=new _0x1b8f90(_0x3e92b7['createPositionAt'](_0x18fcd2,0x0),_0x2a7b1b,_0x1deeeb++);_0x298021['push'](_0x583f98);for(const [_0x4c2e16,_0x255ec0]of _0x2a7b1b['markers']){const _0x288367=_0x3e92b7['createRange'](_0x3e92b7['createPositionFromPath'](_0x18fcd2,_0x255ec0['start']['path']['slice']()),_0x3e92b7['createPositionFromPath'](_0x18fcd2,_0x255ec0['end']['path']['slice']())),_0x1b52ec=new _0x17a7da(_0x4c2e16,null,_0x288367,_0x3e92b7['markers'],!0x0,_0x1deeeb++);_0x298021['push'](_0x1b52ec);}}if(_0x327652)for(const [_0x3e418a,_0x209993]of Object['entries'](_0x327652)){const _0x3831d3=_0x3e92b7['document']['getRoot'](_0x3e418a);if(!_0x3831d3)throw new _0x3443e5('multi-root-editor-root-attributes-no-root',null);for(const [_0x275640,_0x55b22b]of Object['entries'](_0x209993))if(null!==_0x55b22b){const _0x941c48=new _0x44a68e(_0x3831d3,_0x275640,null,_0x55b22b,_0x1deeeb++);_0x298021['push'](_0x941c48);}}return _0x298021;}async['_loadRoot'](_0x2b5783,_0x12f240,_0x4eac92){this['_getOperationsFromInitData']({[_0x2b5783]:_0x12f240},{[_0x2b5783]:_0x4eac92})['forEach']((_0xda459a,_0xb6c7d2)=>{_0xda459a['baseVersion']=this['_document']['version']+_0xb6c7d2,_0xda459a['_isInit']=!0x0,this['_saveOperationInBuffer'](_0xda459a);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x39044c,_0x5e5be5){let _0x4b49fc;this['_offset']=_0x39044c['offset'];const _0x307984=_0x39044c['wereChangesApplied']&&!_0x39044c['initData'],_0x2b396f=_0x307984?0x0:_0x39044c['data']['baseVersion'];if(_0x5e5be5['forEach'](_0x1e8f0a=>{_0x1e8f0a['_isInit']=!0x0,_0x1e8f0a['createdAt']=_0x39044c['sessionCreatedAt'],_0x1e8f0a['_authorId']=null;}),_0x307984)_0x4b49fc=_0x5e5be5,this['_applyOperationsSet'](_0x4b49fc,_0x307984);else{if(_0x39044c['initData']){const _0x1c6590=this['_getOperationsFromInitData'](_0x39044c['initData']);this['_document']['history']['version']=-_0x1c6590['length'],_0x1c6590['forEach'](_0x3f9770=>{_0x3f9770['baseVersion']-=_0x1c6590['length'],_0x3f9770['createdAt']=_0x39044c['sessionCreatedAt'],_0x3f9770['_isInit']=!0x0,_0x3f9770['_authorId']=null;}),this['_applyOperationsSet'](_0x1c6590,!0x0),this['serverHistory']['version']=-_0x1c6590['length']+this['_offset'],this['_updateServerHistory'](_0x1c6590);}this['_document']['history']['version']=_0x2b396f,_0x4b49fc=this['_decompressOperations'](_0x39044c['data'],_0x39044c['metadata']),await this['_fetchMissingUsers'](_0x4b49fc),this['_applyOperationsSet'](_0x4b49fc,_0x307984);}_0x39044c['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4b49fc,_0x39044c['lastOperationId']),this['_lastSyncedOperationId']=_0x39044c['lastOperationId']),this['serverHistory']['version']=_0x2b396f+this['_offset'],this['_updateServerHistory'](_0x4b49fc),_0x5e5be5['filter'](_0x2d9b31=>{const _0x597415=this['_getAffectedRoot'](_0x2d9b31);return _0x597415&&!this['_knownRootNames']['has'](_0x597415);})['forEach']((_0x1bd300,_0x30891b)=>{_0x1bd300['baseVersion']=this['_document']['version']+_0x30891b,this['_saveOperationInBuffer'](_0x1bd300);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2a7dbc,_0xcd85d,_0x1b5e42){throw this['_isPendingUpdate']=!0x0,_0xcd85d&&console['error'](_0xcd85d),_0x1b5e42&&this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3443e5(_0x2a7dbc,this['editor']);}['_saveOperationInBuffer'](_0x45c8f4){this['_knownOperations']['has'](_0x45c8f4)||(this['_knownOperations']['add'](_0x45c8f4),this['_bufferedOperations']['push'](_0x45c8f4),this['_pendingAction']||'marker'==_0x45c8f4['type']&&!_0x45c8f4['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x11ce07=!0x1){!_0x11ce07&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4db03f=>{_0x4db03f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x530dcb=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5b075b){return _0x5b075b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5b075b['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5b075b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x530dcb)||this['_crash'](_0x530dcb['message'],_0x530dcb,!0x0);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x447394=>{this['on']('change:_isPendingUpdate',()=>{_0x447394();});});}async['_sendBufferedOperations'](){const _0x2d32b1=this['editor']['plugins']['get'](N);if(this['_shouldSendSelectionUpdate']()&&(_0x2d32b1['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3bc901=[...this['_bufferedOperations']];for(const _0x3dabba of _0x3bc901)_0x3dabba['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3dabba);const _0x35a3a6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3bc901),_0x40d9e9=M++,_0xcc0400=this['_compressOperations'](_0x3bc901),_0x3fa78d=await this['_service']['sendOperations'](_0xcc0400,_0xcc0400['baseVersion'],_0x35a3a6);try{return await this['_handleServerResponse'](_0x3bc901,_0x3fa78d,_0x40d9e9);}catch(_0x4ea29c){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4ea29c);}}async['_handleServerResponse'](_0x301704,_0x318fbf,_0x4a8282){if('error'in _0x318fbf)throw _0x318fbf['error'];let _0x439969=!0x1;if(_0x318fbf['wereChangesApplied']){_0x318fbf['lastOperationId']&&(this['_lastSyncedOperationId']=_0x318fbf['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x181761=>!_0x301704['includes'](_0x181761));for(const _0x39c6fa of _0x301704)_0x39c6fa['createdAt']='lastOperationAcceptedAt'in _0x318fbf&&_0x318fbf['lastOperationAcceptedAt']||void 0x0;V(_0x301704,_0x318fbf['version']-_0x301704['length']),this['_updateServerHistory'](_0x301704);const _0x482320=_0x301704['filter'](_0x17b2f3=>{if(!_0x17b2f3['_isInit'])return!0x1;const _0x5348d2=this['_getAffectedRoot'](_0x17b2f3);return _0x5348d2&&!this['_knownRootNames']['has'](_0x5348d2);});V(_0x482320,this['_document']['version']),this['_applyOperationsSet'](_0x482320),_0x439969=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4edb3f=this['_decompressOperations'](_0x318fbf['data'],_0x318fbf['metadata'])['filter'](_0x23df2c=>_0x23df2c['baseVersion']>=this['_lastServerVersion']);_0x4edb3f['forEach'](_0x1ae6b3=>this['_addKnownRoot'](_0x1ae6b3)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5b7ecb=>!_0x5b7ecb['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5b7ecb))),this['_bufferedOperations']['length']&&V(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4edb3f),_0x439969=this['_handleExternalOperations'](_0x4edb3f,_0x318fbf['version'],_0x318fbf['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x439969?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x17a7e4,_0x5baab1,_0x41645c){try{const _0x3a67ae={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x243791,operationsB:_0x468f9f,originalOperations:_0x4efdcb}=_0x1790a5(_0x17a7e4,this['_bufferedOperations'],_0x3a67ae);V(_0x243791,this['_document']['version']),V(_0x468f9f,_0x5baab1);for(const _0x3e6de2 of _0x243791){const _0x2847b7=_0x4efdcb['get'](_0x3e6de2);_0x3e6de2['_authorId']=_0x2847b7?_0x2847b7['_authorId']:null;}_0x41645c&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x17a7e4,_0x41645c),this['_lastSyncedOperationId']=_0x41645c),this['_bufferedOperations']=[..._0x468f9f],this['_applyOperationsSet'](_0x243791),this['_updateServerHistory'](_0x17a7e4);}catch(_0x411410){return console['error'](_0x411410),!0x1;}return!0x0;}['_applyOperationsSet'](_0x494f02,_0x120f71=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x419d6f=>{for(const _0x3ed52b of _0x494f02)this['_knownOperations']['add'](_0x3ed52b),this['_addKnownRoot'](_0x3ed52b),_0x419d6f['batch']['addOperation'](_0x3ed52b),this['editor']['model']['applyOperation'](_0x3ed52b);});}['_addKnownRoot'](_0x2f4810){const _0x5f2432=this['_getAffectedRoot'](_0x2f4810);_0x5f2432&&this['_knownRootNames']['add'](_0x5f2432);}['_getAffectedRoot'](_0x2869ca){let _0x4bb83a,_0x3094d1;switch(_0x2869ca['type']){case'insert':_0x4bb83a=_0x2869ca['position']['root'];break;case'marker':if(_0x3094d1=_0x2869ca['newRange'],!_0x3094d1)return null;_0x4bb83a=_0x3094d1['root'];break;case'addRootAttribute':_0x4bb83a=_0x2869ca['root'];break;case'addRoot':_0x4bb83a=_0x2869ca['affectedSelectable'];break;case'move':_0x4bb83a=_0x2869ca['targetPosition']['root'];break;default:return null;}return _0x4bb83a['rootName'];}['_updateServerHistory'](_0xf4c4d9){_0xf4c4d9['forEach'](_0x4f3b8c=>{const _0x481f7d=_0x4f3b8c['clone']();_0x481f7d['_authorId']=_0x4f3b8c['_authorId'],_0x481f7d['_isInit']=!!_0x4f3b8c['_isInit'],_0x481f7d['createdAt']=_0x4f3b8c['createdAt'],_0x481f7d['baseVersion']+=this['_offset'],_0x4f3b8c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x481f7d),this['serverHistory']['addOperation'](_0x481f7d);});}['_handleReconnectionError'](_0x59e9db){const _0x2cb87a=this['editor']['plugins']['get']('Notification'),_0x35f014=this['editor']['locale'];_0x59e9db||(_0x59e9db=E(_0x35f014,'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.')),_0x2cb87a['showWarning'](_0x59e9db,{'title':E(_0x35f014,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x491601)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x491601)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x44ded6){const _0x273d87=_0x44ded6['map'](_0x3c638f=>_0x3c638f['toJSON']());return this['_compressor']['compress'](_0x273d87);}['_decompressOperations'](_0x37010a,_0x569f64){return this['_compressor']['decompress'](_0x37010a)['map']((_0xb64a4c,_0x27597d)=>{const _0x24e606='init'==_0x569f64[_0x27597d]['type'];if('InsertOperation'==_0xb64a4c['__className']){const _0x57b9c4=_0xb64a4c['position']['root'];!this['_document']['getRoot'](_0x57b9c4)&&(this['_document']['createRoot']('$root',_0x57b9c4)['_isAttached']=!0x1);}const _0x20a49f=_0x540e13['fromJSON'](_0xb64a4c,this['_document']);return _0x20a49f['wasUndone']=_0xb64a4c['wasUndone'],_0x20a49f['_isInit']=_0x24e606,_0x20a49f['_authorId']=_0x24e606?null:_0x569f64[_0x27597d]['userId'],_0x20a49f['_isDisconnection']='cs:removeUser'===_0x569f64[_0x27597d]['type'],_0x20a49f['createdAt']=_0x569f64[_0x27597d]['createdAt'],_0x20a49f;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5aa1a2=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5aa1a2&&_0x5aa1a2['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class z extends Error{}function V(_0x126f7a,_0x40eb6f){for(const _0x23591f of _0x126f7a)_0x23591f['baseVersion']=_0x40eb6f++;}class W{['_ignoredOperations'];['_operationToId'];constructor(_0x36f50e){this['_ignoredOperations']=_0x36f50e,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x5cfb83){let _0x1ce9b4=_0x5cfb83['length'];for(;_0x1ce9b4--;){const _0x2e35ae=_0x5cfb83[_0x1ce9b4];if(!this['_ignoredOperations']['has'](_0x2e35ae)){if(!this['_operationToId']['has'](_0x2e35ae)){const _0x36caa5=_0x3831d0()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2e35ae,_0x36caa5);}return this['_operationToId']['get'](_0x2e35ae);}}}['setIdForTheLastOperation'](_0x5135dc,_0x3204fa){if(!_0x3204fa)return;let _0x17edcb=_0x5135dc['length'];for(;_0x17edcb--;){const _0x57fa0a=_0x5135dc[_0x17edcb];this['_ignoredOperations']['has'](_0x57fa0a)||this['_operationToId']['set'](_0x57fa0a,_0x3204fa);}}}class n extends _0x3b1a90{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x375b1b{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x3354a4)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x4fe278];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2e4294){super(_0x2e4294),this['_services']=new Map();}async['init'](){const _0x2729d5=this['context'],_0x1215d6=_0x2729d5['plugins']['get']('CommentsRepository');if(_0x2729d5['plugins']['get'](c)['addToReconnectionStack'](this),_0x1215d6['adapter']={'addCommentThread':async({channelId:_0xd5e649,threadId:_0x51d395,comments:_0x1b012f,resolvedAt:_0x40d5af,resolvedBy:_0xc07d57,context:_0x1b2b56,attributes:_0x478a26})=>{const _0x394e8c=await this['_getService'](_0xd5e649)['addCommentThread']({'commentThreadId':_0x51d395,'comments':_0x1b012f['map'](_0xff77b9=>function(_0x311d79,_0x5b8b68,_0x1c2123){return{'commentThreadId':_0x1c2123,'commentId':_0x311d79['commentId'],'userId':_0x311d79['authorId'],'content':_0x311d79['content'],'documentId':_0x5b8b68,'createdAt':_0x311d79['createdAt'],'attributes':_0x311d79['attributes']||{}};}(_0xff77b9,_0xd5e649,_0x51d395)),'resolvedAt':_0x40d5af,'resolvedBy':_0xc07d57,'context':_0x1b2b56,'attributes':_0x478a26})['catch'](gt);return{'threadId':_0x394e8c['commentThreadId'],'comments':_0x394e8c['comments']};},'getCommentThread':async({channelId:_0x181118,threadId:_0x287a99})=>{const _0x3cc209=await this['_getService'](_0x181118)['getCommentThread'](_0x287a99)['catch'](gt);return _0x3cc209['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3cc209]),{'threadId':_0x3cc209['commentThreadId'],'comments':_0x3cc209['comments']['map'](b),'context':_0x3cc209['context'],'resolvedAt':_0x3cc209['resolvedAt'],'resolvedBy':_0x3cc209['resolvedBy'],'attributes':_0x3cc209['attributes']||{}});},'updateCommentThread':async({channelId:_0x1cb468,threadId:_0x3d205a,context:_0x213a5b,unlinkedAt:_0x37cd38,attributes:_0x236db1})=>this['_getService'](_0x1cb468)['updateCommentThread']({'commentThreadId':_0x3d205a,'context':_0x213a5b,'attributes':_0x236db1,'unlinkedAt':_0x37cd38})['catch'](y)['catch'](gt),'resolveCommentThread':async({channelId:_0x157382,threadId:_0x377f1c})=>{const _0x3a9528=await this['_getService'](_0x157382)['resolveCommentThread'](_0x377f1c)['catch'](y)['catch'](gt);return{'threadId':_0x3a9528['commentThreadId'],'resolvedAt':_0x3a9528['resolvedAt'],'resolvedBy':_0x3a9528['resolvedBy']};},'reopenCommentThread':async({channelId:_0x498b93,threadId:_0x48f5f9})=>this['_getService'](_0x498b93)['reopenCommentThread'](_0x48f5f9)['catch'](y)['catch'](gt),'removeCommentThread':({channelId:_0x25768a,threadId:_0x5515f3})=>this['_getService'](_0x25768a)['removeCommentThread'](_0x5515f3)['catch'](y)['catch'](gt),'addComment':({channelId:_0x114690,threadId:_0x282f6d,commentId:_0x3195e0,content:_0x49cee7,attributes:_0x41d0c8})=>this['_getService'](_0x114690)['addComment'](_0x282f6d,_0x3195e0,_0x49cee7,_0x41d0c8)['catch'](gt),'updateComment':({channelId:_0x11bea2,threadId:_0x26a799,commentId:_0x590238,content:_0x34357a,attributes:_0x3c922f})=>this['_getService'](_0x11bea2)['updateComment'](_0x26a799,_0x590238,_0x34357a,_0x3c922f)['catch'](y)['catch'](gt),'removeComment':({channelId:_0x35599b,threadId:_0x3911a3,commentId:_0x2ae8dd})=>this['_getService'](_0x35599b)['removeComment'](_0x3911a3,_0x2ae8dd)['catch'](y)['catch'](gt)},_0x2729d5 instanceof _0x445727){const _0x51cbb4=_0x2729d5['config']['get']('collaboration.channelId'),_0x16359b=_0x2729d5['plugins']['get'](i);await this['_setUpService'](_0x51cbb4);const _0x1e5099=await this['_services']['get'](_0x51cbb4)['getConnectedSessions']();this['listenTo'](_0x16359b,'sessionAdd:'+_0x51cbb4,(_0x24e609,{session:_0xecbe49})=>{_0xecbe49['id']===_0x16359b['mySessionId']&&(_0x24e609['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xecbe49['permissions'],_0x51cbb4));}),_0x16359b['register'](_0x51cbb4,_0x1e5099);}}async['_setUpService'](_0x313342){if(this['_services']['has'](_0x313342))throw new _0x3443e5('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x313342});const _0x310de3=this['context']['plugins']['get']('CommentsRepository'),_0x5c6b5a=new a['CommentsService'](_0x313342);this['_services']['set'](_0x313342,_0x5c6b5a),this['listenTo'](_0x5c6b5a,'commentThreadAdded',(_0x1510bf,_0x5b9676)=>{const {commentThreadId:_0x1474cb,documentId:_0xe60eeb,context:_0x18aa69,attributes:_0x4bf455,resolvedAt:_0xe55393,resolvedBy:_0x2ec56f,comments:_0xcb8b8e}=_0x5b9676;_0x310de3['getCommentThread'](_0x1474cb)||_0x310de3['addCommentThread']({'threadId':_0x1474cb,'channelId':_0xe60eeb,'comments':_0xcb8b8e?_0xcb8b8e['map'](b):[],'context':_0x18aa69,'attributes':_0x4bf455,'resolvedAt':_0xe55393,'resolvedBy':_0x2ec56f,'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentThreadUpdated',(_0x2501c1,{commentThreadId:_0x55a263,documentId:_0x35cc4c,context:_0x48273a,unlinkedAt:_0xfd57d,attributes:_0xf7e017})=>{_0x310de3['getCommentThread'](_0x55a263)&&_0x310de3['updateCommentThread']({'threadId':_0x55a263,'channelId':_0x35cc4c,'context':_0x48273a,'unlinkedAt':_0xfd57d,'attributes':_0xf7e017,'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentThreadResolved',(_0x4e48b9,{commentThreadId:_0x37b6ab,resolvedBy:_0x517b40,resolvedAt:_0x5e0f22})=>{const _0x2060f0=_0x310de3['getCommentThread'](_0x37b6ab);_0x2060f0&&_0x2060f0['resolve']({'resolvedBy':_0x517b40,'resolvedAt':_0x5e0f22,'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentThreadReopened',(_0x17ef2a,{commentThreadId:_0x15875d})=>{const _0x32ccdd=_0x310de3['getCommentThread'](_0x15875d);_0x32ccdd&&_0x32ccdd['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentThreadRemoved',(_0x5b5237,{commentThreadId:_0xf71d98})=>{const _0x155156=_0x310de3['getCommentThread'](_0xf71d98);_0x155156&&_0x155156['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentAdded',(_0x35fe27,_0x3187cc)=>{const _0x550259=_0x3187cc['commentThreadId'],_0x2c08cb=_0x310de3['getCommentThread'](_0x550259);_0x2c08cb&&_0x2c08cb['addComment']({...b(_0x3187cc),'isFromAdapter':!0x0});}),this['listenTo'](_0x5c6b5a,'commentUpdated',(_0x40a9d3,{commentThreadId:_0x42c4d8,commentId:_0x1a2b4f,content:_0x1d330,attributes:_0x56ea18})=>{const _0x4a1619=_0x310de3['getCommentThread'](_0x42c4d8);if(_0x4a1619){const _0x9d5491=_0x4a1619['getComment'](_0x1a2b4f);_0x9d5491&&_0x9d5491['update']({'content':_0x1d330,'attributes':_0x56ea18,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5c6b5a,'commentRemoved',(_0x2a4944,{commentThreadId:_0x2bd65a,commentId:_0x40a5f6})=>{const _0x47cfe5=_0x310de3['getCommentThread'](_0x2bd65a);if(_0x47cfe5){const _0x39a891=_0x47cfe5['getComment'](_0x40a5f6);_0x39a891&&_0x39a891['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x313342);}['destroy'](){if(this['context']instanceof _0x445727){const _0x55f468=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x55f468);}}['_terminateService'](_0x2a0ddd){if(!this['_services']['has'](_0x2a0ddd))throw new _0x3443e5('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2a0ddd});this['_getService'](_0x2a0ddd)['disconnect'](),this['_services']['delete'](_0x2a0ddd);}async['reconnect'](){for(const _0x2ce61e of this['_services']['keys']())await this['_connectService'](_0x2ce61e);if(this['context']instanceof _0x445727){const _0x328d44=this['context']['config']['get']('collaboration.channelId'),_0x4785b3=this['context']['plugins']['get'](i);_0x4785b3['unregister'](_0x328d44);const _0x4d80c2=await this['_services']['get'](_0x328d44)['getConnectedSessions']();_0x4785b3['register'](_0x328d44,_0x4d80c2);}}async['_connectService'](_0x3fd4c6){const {connection:_0x55652d}=this['context']['plugins']['get'](c),_0x307db2=this['context']['plugins']['get']('CommentsRepository'),_0x64e4be=this['_services']['get'](_0x3fd4c6),_0x155268=await _0x64e4be['connect'](_0x55652d);await this['_fetchMissingUsersForThreads'](_0x155268);const _0x452cc6=new Set(Array['from'](_0x307db2['getCommentThreads']({'channelId':_0x3fd4c6}),_0x5260df=>_0x5260df['id']));for(const _0x182292 of _0x155268)_0x182292['deletedAt']||_0x452cc6['delete'](_0x182292['commentThreadId']);for(const _0x37062b of _0x452cc6)_0x307db2['getCommentThread'](_0x37062b)['remove']({'isFromAdapter':!0x0});for(const _0x189978 of _0x155268){let _0x20805f=_0x307db2['getCommentThread'](_0x189978['commentThreadId']);const {commentThreadId:_0x1d72b4,context:_0x786ede,attributes:_0x52f059,resolvedBy:_0xa65230,resolvedAt:_0x1d729e,unlinkedAt:_0x14a6eb,deletedAt:_0x14f127}=_0x189978;if(_0x14f127)continue;_0x20805f||(_0x20805f=_0x307db2['addCommentThread']({'channelId':_0x3fd4c6,'threadId':_0x1d72b4,'context':_0x786ede,'attributes':_0x52f059||{},'resolvedBy':_0xa65230,'resolvedAt':_0x1d729e,'unlinkedAt':_0x14a6eb,'isFromAdapter':!0x0}));const _0xccb9d7=new Set(Array['from'](_0x20805f['comments'],_0x2ae594=>_0x2ae594['id']));for(const _0x26e501 of _0x189978['comments'])_0xccb9d7['delete'](_0x26e501['commentId']);for(const _0x2ecda8 of _0xccb9d7)_0x20805f['getComment'](_0x2ecda8)['remove']({'isFromAdapter':!0x0});for(const _0x1703ec of _0x189978['comments']){const _0x3d7573=_0x20805f['getComment'](_0x1703ec['commentId']);_0x3d7573?_0x3d7573['content']!==_0x1703ec['content']&&_0x3d7573['update']({'content':_0x1703ec['content'],'isFromAdapter':!0x0}):_0x20805f['addComment'](Object['assign'](b(_0x1703ec),{'isFromAdapter':!0x0}));}}}['_getService'](_0xf99476){if(!this['_services']['has'](_0xf99476))throw new _0x3443e5('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xf99476});return this['_services']['get'](_0xf99476);}async['_fetchMissingUsersForThreads'](_0x152968){const _0x5d61b9=this['context']['plugins']['get'](_0x4fe278),{connection:_0x1c69df}=this['context']['plugins']['get'](c),_0x5d4c37=new Set();for(const {resolvedBy:_0x2cb039,comments:_0x13fb75}of _0x152968){_0x2cb039&&!_0x5d61b9['getUser'](_0x2cb039)&&_0x5d4c37['add'](_0x2cb039);for(const {userId:_0x428df0}of _0x13fb75)_0x5d61b9['getUser'](_0x428df0)||_0x5d4c37['add'](_0x428df0);}if(0x0===_0x5d4c37['size'])return;const _0x4e6292=await mt['getMany'](_0x1c69df,Array['from'](_0x5d4c37));for(const _0x5beabf of _0x4e6292)_0x5d61b9['getUser'](_0x5beabf['id'])||_0x5d61b9['addUser'](_0x5beabf);}}async function y(_0x588aed){if('404'!==_0x588aed['code'])throw _0x588aed;}function gt(_0x4732ac){if((_0x443bbb=_0x4732ac)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x443bbb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x443bbb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x443bbb;throw _0x4732ac;}function b(_0x2a138c){return{'threadId':_0x2a138c['commentThreadId'],'commentId':_0x2a138c['commentId'],'content':_0x2a138c['content'],'createdAt':_0x2a138c['createdAt'],'authorId':_0x2a138c['userId'],'attributes':_0x2a138c['attributes']||{}};}class f extends _0x3b1a90{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x141eee)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x4fe278];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5160a3){super(_0x5160a3);const _0x520633=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x520633);}async['init'](){const _0x1e69e8=this['editor']['plugins']['get'](l),_0x23903e=_0x1e69e8['serverHistory'],_0x2b3d2f=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x23903e,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1e69e8['sessionId']});const _0x3b69e7=this['editor']['config']['get']('cloudServices.bundleVersion')||dt,_0x12a74c=await _0x132f7f['isBundleUploaded'](_0x2b3d2f['connection'],_0x3b69e7);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x4a53c6})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4a53c6)),'updateRevisions':async _0x769f13=>{await this['_waitForServiceReady']();const _0x3969ee=this['_revisionTracker']['currentRevision'];if(_0x12a74c&&0x1===_0x769f13['length']&&_0x769f13[0x0]['id']===_0x3969ee['id'])return _0x769f13;for(const _0x31136e of _0x769f13)_0x31136e['id']===_0x3969ee['id']&&(_0x31136e['isEmptyCurrent']=_0x31136e['fromVersion']===_0x31136e['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x769f13,this['_lastRequestId'])['then'](_0x40f064=>(this['_lastRequestId']=_0x40f064,_0x769f13))['catch'](_0x49f9c5=>{if(X(_0x49f9c5)||'400'===_0x49f9c5['code']&&void 0x0!==_0x49f9c5['data']['wrongRequestId']){for(const _0x177a73 of _0x769f13){!this['_revisionTracker']['repository']['getRevision'](_0x177a73['id'])||this['_revisionTracker']['_bufferUpdate'](_0x177a73['id'],_0x177a73,!0x1);}if(X(_0x49f9c5))throw _0x49f9c5;return _0x769f13;}throw _0x49f9c5;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2cb35e,{revisionsData:_0xafe875,requestId:_0x1985b0})=>{Math['max'](..._0xafe875['map'](_0x24bf3b=>_0x24bf3b['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xafe875,_0x1985b0);}):this['_handleRevisionsUpdate'](_0xafe875,_0x1985b0);});const {revisions:_0x59d0b6,requestId:_0x325554}=await this['_revisionHistoryService']['connect'](_0x2b3d2f['connection']);_0x2b3d2f['addToReconnectionStack'](this),this['_lastRequestId']=_0x325554,await this['_fetchMissingUsers'](_0x59d0b6);for(const _0x12ef1e of _0x59d0b6)this['_revisionTracker']['addRevisionData'](_0x12ef1e);this['listenTo'](_0x1e69e8,'change:_isConnected',(_0x4169ed,_0x1e614b,_0x29c3a0)=>{_0x29c3a0&&(this['_oldOffset']=_0x1e69e8['_offset'],_0x4169ed['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2b3d2f,'state',_0x488b5e=>_0x488b5e===_0x51d08e['CONNECTED']);}async['reconnect'](){const _0x13a0aa=this['editor']['plugins']['get'](c),_0x5b2803=this['editor']['plugins']['get'](l),_0x147e05=async()=>{const _0x2d01c7=this['_revisionTracker']['currentRevision'],_0xae1ab3=_0x2d01c7['id'],_0x30658=_0xae1ab3!==_0x5b2803['sessionId'];if(_0x30658){const _0x3219e5=_0x5b2803['_offset']-this['_oldOffset'],_0x10fd77=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x2d01c7['toVersion']+_0x3219e5!==_0x10fd77){const _0x58c2e7=_0x2d01c7['fromVersion']+_0x3219e5,_0x3de5cc=this['editor']['plugins']['get'](_0x4fe278),_0x34f40d=this['_revisionTracker']['buildRevisionData']({'revision':_0x2d01c7,'from':_0x58c2e7,'to':_0x10fd77});_0x34f40d['id']=_0x2d01c7['id'];const _0x1d711a=_0x34f40d['authorsIds']['map'](_0x4770a1=>_0x3de5cc['getUser'](_0x4770a1));_0x2d01c7['_update']({..._0x34f40d,'authors':_0x1d711a},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2d01c7['id'],_0x34f40d,!0x0);}this['_revisionTracker']['_startingVersion']=_0x10fd77,(_0x2d01c7['toVersion']===_0x2d01c7['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xae1ab3)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xae1ab3),this['_revisionTracker']['_createCurrentRevision'](_0x10fd77));}const {revisions:_0x5a0563,requestId:_0x17ac98}=await this['_revisionHistoryService']['reconnect'](_0x13a0aa['connection'],this['_lastRequestId']);_0x30658&&_0x5a0563['length']>0x0?_0x5b2803['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5a0563),this['_handleRevisionsUpdate'](_0x5a0563,_0x17ac98),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5b2803['_isConnected']?_0x147e05():new Promise((_0x51ceff,_0x1a159c)=>{_0x5b2803['once']('change:_isConnected',()=>{_0x147e05()['then'](_0x51ceff)['catch'](_0x1a159c);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x7a515f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4e666c=>{_0x4e666c['off'](),_0x7a515f();});});}['_getLatestVersionFromServerOperations'](){const _0x5073f8=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x2c101f of _0x5073f8)if('marker'!==_0x2c101f['type']||_0x2c101f['affectsData'])return _0x2c101f['baseVersion']+0x1;}['_getLatestVersion'](){const _0x29b394=this['editor']['plugins']['get'](l);return new Promise(_0x38feb7=>{_0x29b394['_isPendingUpdate']?_0x29b394['once']('change:_isPendingUpdate',()=>{_0x38feb7(this['_getLatestVersionFromServerOperations']());}):_0x38feb7(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x4a174e,_0xe11f){const _0x536281=this['_revisionTracker']['repository'];this['_lastRequestId']=_0xe11f;for(const _0x3af240 of _0x4a174e){const _0x471cc2=_0x536281['getRevision'](_0x3af240['id']);if(_0x471cc2){if((_0x3af240['fromVersion']||_0x3af240['toVersion'])&&(_0x3af240['diffData']=null),_0x471cc2===this['_revisionTracker']['currentRevision']){const _0x69b19e=Math['max'](_0x471cc2['toVersion'],_0x3af240['toVersion']),_0x5737cc=Math['max'](_0x471cc2['fromVersion'],_0x3af240['fromVersion']);let _0x1f6e48;_0x471cc2['toVersion']===_0x3af240['toVersion']&&_0x471cc2['fromVersion']===_0x3af240['fromVersion']?(_0x1f6e48=!0x0,this['_preventResendingRevisionData'](_0x3af240)):_0x3af240['toVersion']===_0x69b19e&&_0x3af240['fromVersion']===_0x5737cc?_0x1f6e48=!0x1:(_0x471cc2['toVersion']===_0x69b19e&&_0x471cc2['fromVersion']===_0x5737cc||this['_fixRevision']({'revision':_0x471cc2,'from':_0x5737cc,'to':_0x69b19e}),_0x1f6e48=!0x0),_0x1f6e48&&(delete _0x3af240['fromVersion'],delete _0x3af240['toVersion'],delete _0x3af240['diffData'],delete _0x3af240['createdAt'],delete _0x3af240['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3af240),this['_preventResendingRevisionData'](_0x3af240);}else this['_revisionTracker']['addRevisionData'](_0x3af240);}const _0x3e61b0=_0x536281['getRevisions']();_0x3e61b0['reverse']();for(let _0x23a35b=0x0;_0x23a35b<_0x3e61b0['length']-0x1;_0x23a35b++){const _0x31e4d9=_0x3e61b0[_0x23a35b],_0x1eafd1=_0x3e61b0[_0x23a35b+0x1];if(_0x31e4d9['fromVersion']<_0x1eafd1['toVersion']){const _0x2db3dc=_0x1eafd1['toVersion'],_0x1b997c=Math['max'](_0x2db3dc,_0x31e4d9['toVersion']);this['_fixRevision']({'revision':_0x31e4d9,'from':_0x2db3dc,'to':_0x1b997c});}}}['_fixRevision']({revision:_0x2bd86c,from:_0x2297b1,to:_0x1c6b10}={}){const _0x166733=this['editor']['plugins']['get'](_0x4fe278),_0x159b0a=this['_revisionTracker']['buildRevisionData']({'revision':_0x2bd86c,'from':_0x2297b1,'to':_0x1c6b10});_0x159b0a['authors']=_0x159b0a['authorsIds']['map'](_0x18f49a=>_0x166733['getUser'](_0x18f49a)),_0x2bd86c['_update'](_0x159b0a);}['_preventResendingRevisionData'](_0x242191){const _0x45e917={};_0x45e917['id']=_0x242191['id'];for(const _0x51acce of Object['keys'](_0x242191))'id'!==_0x51acce&&(_0x45e917[_0x51acce]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x45e917['id'],_0x45e917,!0x0);}async['_fetchMissingUsers'](_0x139f5c){const _0x203668=this['editor']['plugins']['get'](_0x4fe278),{connection:_0x2232fa}=this['editor']['plugins']['get'](c),_0x2136ad=new Set();for(const _0x3af32f of _0x139f5c){for(const _0x569c90 of _0x3af32f['authorsIds'])_0x370b90(_0x569c90);_0x3af32f['creatorId']&&_0x370b90(_0x3af32f['creatorId']);}if(0x0===_0x2136ad['size'])return;const _0x64b8ba=await mt['getMany'](_0x2232fa,Array['from'](_0x2136ad));for(const _0x250f92 of _0x64b8ba)_0x203668['getUser'](_0x250f92['id'])||_0x203668['addUser'](_0x250f92);function _0x370b90(_0x549b21){_0x203668['getUser'](_0x549b21)||_0x2136ad['add'](_0x549b21);}}}function X(_0x25ab06){return _0x25ab06['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x25ab06['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x25ab06['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x3b1a90{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x360a48{constructor(_0x3e8753){super(_0x3e8753);const _0x3ef9e3=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x3ef9e3['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x3ef9e3['to']('usersCount',_0x26d52=>E(_0x3e8753,'CONNECTED_USERS',_0x26d52))}]});}}class es extends _0x360a48{['items'];['keystrokes'];constructor(_0x5a307f){super(_0x5a307f);const _0x1779fd=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x23d333(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x1779fd['if']('hasPopup'),'aria-expanded':_0x1779fd['to']('isExpanded',_0x4f1483=>this['hasPopup']&&String(_0x4f1483)),'aria-label':_0x1779fd['to']('hasPopup',_0x4c0050=>E(_0x5a307f,_0x4c0050?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x1779fd['to']('hasPopup',_0x238632=>!!_0x238632&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x1779fd['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x4b71ff,_0x567fc0,_0x149b24)=>{this['element']&&(_0x149b24?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 it extends _0x360a48{['counterView'];['inlineListView'];constructor(_0x311d35){super(_0x311d35);const _0x11c623=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x311d35),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x160cf4 of this['inlineListView']['items'])_0x160cf4['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',_0x11c623['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class et extends _0x360a48{['listWrapperView'];constructor(_0x1ef629,_0x41e970){super(_0x1ef629),this['listWrapperView']=new vt(_0x1ef629,_0x41e970),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x1ef629,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class vt extends _0x5b2324{constructor(_0x380b5c,_0x825807){super(_0x380b5c);const _0x6bd9be=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x825807?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x6bd9be['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x6bd9be['to']('role'),'aria-label':_0x6bd9be['to']('ariaLabel'),'aria-labelledby':_0x6bd9be['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3b8f5d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x3eecac=this['element'];_0x3eecac&&(this['_isScrollable']=Math['max'](_0x3eecac['scrollHeight'],_0x3eecac['clientHeight'])>0.8*window['innerHeight']);}}class ht extends ct{['userView'];constructor(_0x284254,_0x165615,_0x40ff81){super(_0x284254);const _0x16f7c4=this['bindTemplate'];this['userView']=new at(_0x284254,_0x165615);const _0xfe9812={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x165615['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x165615['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x165615['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x40ff81&&(_0xfe9812['tag']='button',_0xfe9812['on']={'click':_0x16f7c4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xfe9812);}['focus'](){this['element']['focus']();}}class rt extends _0x360a48{['userView'];['markerView'];constructor(_0x2a1d0e,_0x22a331,_0x3f871a){super(_0x2a1d0e);const _0x396ad9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new at(_0x2a1d0e,_0x22a331),this['markerView']=new pt(_0x2a1d0e,_0x22a331);const _0x36c8b0=new lt(_0x2a1d0e);_0x36c8b0['template']['tag']='span',_0x36c8b0['text']=_0x22a331['name'];const _0x5de156={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x396ad9['to']('isFocusable',_0x588cef=>!!_0x588cef&&0x0),'aria-labelledby':_0x36c8b0['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x396ad9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x396ad9['to']('hasTooltip',_0x515e6e=>!_0x515e6e),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x36c8b0]};_0x3f871a&&(_0x5de156['tag']='button',_0x5de156['on']={'click':_0x396ad9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5de156);}}class pt extends _0x360a48{constructor(_0x3c63b1,_0x50c504){super(_0x3c63b1),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x50c504['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const ot={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x375b1b{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x4f31bb){super(_0x4f31bb),this['context']['config']['define']('presenceList',ot);const _0x5c93bd=_0x4f31bb['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5c93bd)throw new _0x3443e5('presencelist-collapseat-invalid-format',this);if(_0x5c93bd<0x1)throw new _0x3443e5('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2718c8(),this['balloonPanelView']=new _0x2ae021(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x574fd6 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x574fd6);this['listenTo'](this['_allConnectedUsers'],'add',(_0x194765,_0x512b5d)=>{this['_handleUserAdd'](_0x512b5d);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1630a8,_0x42dcbd)=>{this['_handleUserRemove'](_0x42dcbd);});}['_createView'](){const _0x27b430=this['context'],_0x4f9018=new it(this['context']['locale']),_0x1a0581=this['balloonPanelView'];if(!st(_0x27b430['config']['get']('presenceList.container')))throw new _0x3443e5('presencelist-missing-container',this);return _0x4f9018['counterView']['bind']('usersCount')['to'](this),_0x4f9018['bind']('isCollapsed')['to'](this,'usersCount',_0x3d78bc=>{const {collapseAt:_0x7ab8df,displayMe:_0x1367e0}=_0x27b430['config']['get']('presenceList'),_0x180c86=_0x3d78bc>=_0x7ab8df;return _0x4f9018['counterView']['isHidden']=!(0x1==_0x3d78bc&&_0x1367e0||_0x180c86),_0x180c86||this['hideDropdown'](),_0x180c86;}),_0x4f9018['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1aa5fc=>{const _0x518643=_0x27b430['config']['get']('presenceList'),_0x2a32f9=new rt(_0x27b430['locale'],_0x1aa5fc,!!_0x518643['onClick']);return _0x2a32f9['bind']('hasTooltip')['to'](_0x4f9018,'isCollapsed',_0x26afd5=>!_0x26afd5),_0x2a32f9['bind']('isFocusable')['to'](_0x4f9018,'isCollapsed',_0x194cf1=>!_0x194cf1),_0x518643['onClick']&&this['listenTo'](_0x2a32f9,'execute',()=>{this['view']['isCollapsed']||_0x518643['onClick'](_0x1aa5fc,_0x2a32f9['element']);}),_0x2a32f9;}),this['listenTo'](_0x4f9018['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x4f9018['inlineListView']['keystrokes']['set']('Enter',(_0x395c6b,_0x318806)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x318806());}),_0x4f9018['render'](),_0x1a0581['render'](),_0x25d192({'emitter':_0x4f9018,'activator':()=>_0x1a0581['isVisible'],'contextElements':[_0x1a0581['element'],_0x4f9018['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x27b430['config']['get']('presenceList.container')['appendChild'](_0x4f9018['element']),this['_bodyCollection']=new tt(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4f9018;}['_handleUserAdd'](_0x204875){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x204875['isMe'])return;const _0xce857e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0xce857e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x4959a4=_0x204875['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x204875,_0x4959a4);}['_handleUserRemove'](_0x3de51c){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x3de51c['id'])&&(this['currentDisplayedUsers']['remove'](_0x3de51c['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x384153 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x384153['id']))return void this['currentDisplayedUsers']['add'](_0x384153,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1fc93a=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new et(this['context']['locale'],!!_0x1fc93a['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x2f675e}=this['presenceDropdownView'];_0x2f675e['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2358b8=>{if(!_0x1fc93a['displayMe']&&_0x2358b8['isMe'])return null;const _0x238a20=new ht(this['context']['locale'],_0x2358b8,!!_0x1fc93a['onClick']);return _0x1fc93a['onClick']&&this['listenTo'](_0x238a20,'execute',()=>{_0x1fc93a['onClick'](_0x2358b8,_0x238a20['element']);}),_0x238a20;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2f675e['focus'](),_0x2f675e['checkIfScrollable']();const _0x521675=(_0x437be6,_0x1e793b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1e793b();};_0x2f675e['keystrokes']['set']('Esc',_0x521675),_0x2f675e['keystrokes']['set']('Shift+Tab',_0x521675),_0x2f675e['keystrokes']['set']('Tab',(_0x37c95b,_0x5a4f50)=>{!function(_0x4bd00d){const _0x11f19f=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0xe64dce=>_0xe64dce+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x586776=[...document['body']['querySelectorAll'](_0x11f19f)]['filter'](_0x5d3a58=>_0x5d3a58===document['activeElement']||_0x5d3a58['offsetWidth']+_0x5d3a58['offsetHeight']>0x0)['sort']((_0x1a8640,_0x512a9f)=>(_0x1a8640['tabIndex']||0x0)-(_0x512a9f['tabIndex']||0x0)),_0x173953=_0x586776['indexOf'](_0x4bd00d),_0x3ee3cf=_0x586776[(_0x173953+0x1)%_0x586776['length']];_0x3ee3cf&&_0x3ee3cf['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5a4f50();}),_0x2f675e['focusTracker']['add'](this['view']['element']),_0x2f675e['focusTracker']['on']('change:isFocused',(_0x1828ff,_0x351ccc,_0x178ffd)=>{_0x178ffd||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x375b1b{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
|
|
23
|
+
import{ContextPlugin as _0x5a8039,Plugin as _0x2f4ec7,PendingActions as _0x19630d,Context as _0x4f9ef2}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x33bf11,CKEditorError as _0x4bb820,Collection as _0x3fd87a,global as _0x11ae4d,version as nt,uid as _0x1076e1,KeystrokeHandler as _0x5393f7}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x1b3b0a,View as _0x4a36b3,ListView as _0x5b5e13,ListItemView as rt,LabelView as ot,BalloonPanelView as _0xd0549f,clickOutsideHandler as _0x17dab6,BodyCollection as _0x24f1cb}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x12c917,NoOperation as _0x27ffb8,InsertOperation as _0x3709a8,MarkerOperation as _0x164bdb,RootAttributeOperation as _0x257d74,transformSets as _0x583353,OperationFactory as _0x3e5cf4}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x42944f,CollaborativeEditingService as _0x205cab,User as dt,CommentsService as _0x507313,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5e51ff,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5808a4}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x77664d}from'lodash-es';class c extends _0x5a8039{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x1b3b0a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ed359){super(_0x3ed359),this['set']('state',_0x42944f['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x33bf11);}['init'](){const _0x1e7b3f=this['context'],_0x2e4ce=_0x1e7b3f['plugins']['get']('CloudServices'),_0x5c77a3=_0x1e7b3f['plugins']['get'](_0x1b3b0a);if(!_0x2e4ce['token'])throw new _0x4bb820('websocketgateway-missing-token',this);if(!_0x2e4ce['webSocketUrl'])throw new _0x4bb820('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),c['WebSocketGateway']['connect'](_0x2e4ce['token'],_0x2e4ce['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3351fd=>{if(this['connection']=_0x3351fd,this['bind']('state')['to'](_0x3351fd,'state',this,'_isBrowserOffline',(_0x954908,_0x2ce732)=>('connected'!==_0x954908&&(this['_shouldPluginsReconnect']=!0x0),_0x2ce732||_0x954908!==_0x42944f['CONNECTED']?_0x42944f['DISCONNECTED']:this['state']==_0x42944f['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x42944f['CONNECTING']):_0x42944f['CONNECTED'])),this['connection']['on']('error',(_0x18b483,_0xf8d3e9)=>{if('limitExceeded'!==_0xf8d3e9['code'])throw console['error'](_0xf8d3e9),new _0x4bb820('cloudservices-init',null,{'originalError':_0xf8d3e9});_0x5c77a3['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'});}),!_0x3351fd['me'])return new Promise(_0xa91353=>_0x3351fd['on']('change:me',_0xa91353));})['catch'](_0x33c635=>{throw console['error'](_0x33c635),new _0x4bb820('cloudservices-init',null,{'originalError':_0x33c635});});}['addToReconnectionStack'](_0x30ef69){if('function'!=typeof _0x30ef69['reconnect'])throw new _0x4bb820('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x30ef69))throw new _0x4bb820('websocketgateway-plugin-already-registered',this,{'name':_0x30ef69['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x30ef69);}['removeFromReconnectionStack'](_0xc0bbc9){this['_reconnectionStack']['delete'](_0xc0bbc9);}['isInReconnectionStack'](_0x3537a2){return this['_reconnectionStack']['has'](_0x3537a2);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2d1782=>_0x2d1782['reconnect']())))['then'](()=>this['state']=_0x42944f['CONNECTED'])['catch'](_0x221cb7=>{throw console['error'](_0x221cb7),new _0x4bb820('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x42944f['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x5a8039{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[c,_0x5e51ff];}constructor(_0x1e63ce){super(_0x1e63ce),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3fd87a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5e51ff);}['init'](){const _0x319f9b=this['context']['plugins']['get'](c);this['listenTo'](_0x319f9b,'change:state',(_0x42227d,_0x40f1c3,_0x4688de)=>{if('connected'!==_0x4688de)this['channelSessions']['forEach'](_0x55c838=>_0x55c838['clear']()),this['channelConnectedUsers']['forEach'](_0x3d872c=>_0x3d872c['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2253fd,_0x3d75ff]of this['_registeredSessions'])for(const _0x1a8d6a of _0x3d75ff)this['_handleSessionAdd'](_0x2253fd,_0x1a8d6a);}}),this['_createUser'](_0x319f9b['connection']['me'],!0x0);}['register'](_0x2aa87c,_0x5491d3){if(this['_registeredSessions']['has'](_0x2aa87c))throw new _0x4bb820('sessions-register-already-registered',null,{'channelId':_0x2aa87c});this['_registeredSessions']['set'](_0x2aa87c,_0x5491d3),this['channelSessions']['set'](_0x2aa87c,new _0x3fd87a()),this['channelConnectedUsers']['set'](_0x2aa87c,new _0x3fd87a()),this['listenTo'](_0x5491d3,'add',(_0x56fd44,_0x427eaf)=>this['_handleSessionAdd'](_0x2aa87c,_0x427eaf)),this['listenTo'](_0x5491d3,'remove',(_0x346b37,_0x191340)=>this['_handleSessionRemove'](_0x2aa87c,_0x191340));for(const _0x39d4d0 of _0x5491d3)this['_handleSessionAdd'](_0x2aa87c,_0x39d4d0);}['unregister'](_0x21b7df){if(!this['_registeredSessions']['has'](_0x21b7df))throw new _0x4bb820('sessions-unregister-not-exist',null,{'channelId':_0x21b7df});const _0x406445=this['_registeredSessions']['get'](_0x21b7df);this['stopListening'](_0x406445);for(const _0xc95e25 of _0x406445)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x21b7df,_0xc95e25);this['_registeredSessions']['delete'](_0x21b7df),this['channelSessions']['delete'](_0x21b7df),this['channelConnectedUsers']['delete'](_0x21b7df);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x259340){for(const _0x210236 of this['channelSessions']['values']())for(const _0x435d2b of _0x210236)if(_0x435d2b['id']===_0x259340)return _0x435d2b['user'];}['getUserSessions'](_0x3c7157,_0xd5186d){const _0x5009d0=_0xd5186d?[this['channelSessions']['get'](_0xd5186d)]:this['channelSessions']['values'](),_0xb590e0=new Set();for(const _0x3bed1b of _0x5009d0)for(const _0x23cd42 of _0x3bed1b)_0x23cd42['user']['id']===_0x3c7157['id']&&_0xb590e0['add'](_0x23cd42['id']);return _0xb590e0;}['getUserRole'](_0x530106){for(const _0xbc6067 of this['channelSessions']['values']())for(const _0x178bdc of _0xbc6067)if(_0x178bdc['user']===_0x530106)return _0x178bdc['role'];}['_handleSessionAdd'](_0x38976d,_0x46439a){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x4670dc=_0x46439a['user'],_0x3ceba6=this['_users']['getUser'](_0x4670dc['id'])||this['_createUser'](_0x4670dc),_0x2a7d68=Object['assign']({},_0x46439a,{'user':_0x3ceba6});this['channelSessions']['get'](_0x38976d)['add'](_0x2a7d68);const _0x530fdc=this['channelConnectedUsers']['get'](_0x38976d);_0x530fdc['has'](_0x3ceba6['id'])||_0x530fdc['add'](_0x3ceba6),this['allConnectedUsers']['has'](_0x3ceba6['id'])||this['allConnectedUsers']['add'](_0x3ceba6,_0x3ceba6['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x38976d,{'channelId':_0x38976d,'session':_0x2a7d68});}['_handleSessionRemove'](_0x295aaa,_0x11d75f){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x450913=this['channelConnectedUsers']['get'](_0x295aaa),_0x575264=_0x11d75f['user'];_0x575264['id']&&(this['channelSessions']['get'](_0x295aaa)['remove'](_0x11d75f['id']),_0x450913['has'](_0x575264['id'])&&!this['getUserSessions'](_0x575264,_0x295aaa)['size']&&_0x450913['remove'](_0x575264['id']),this['allConnectedUsers']['get'](_0x575264['id'])&&!this['getUserSessions'](_0x575264)['size']&&this['allConnectedUsers']['remove'](_0x575264['id']));}['_createUser'](_0x599fb8,_0x553130){const _0x1ac7da=this['_users']['addUser'](_0x599fb8);return _0x553130&&this['_users']['defineMe'](_0x599fb8['id']),_0x1ac7da['orderNumber']=this['_uniqueUsersCount']++,_0x1ac7da;}}class H extends _0x2f4ec7{['_domEmitter']=new(_0x33bf11())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x73e655=this['editor'],_0x231eba=_0x73e655['plugins']['get'](i);_0x73e655['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xef0520,{writer:_0x23430e})=>function(_0x3bd82f,_0x33ba68,_0x25615c,_0x321784){const _0xaff47b=_0x3bd82f['markerName']['split'](':')[0x2],_0x5b6dce=_0x25615c['getUserBySessionId'](_0xaff47b);if(!_0x5b6dce||_0xaff47b===_0x25615c['mySessionId'])return;if(!_0x321784['model']['schema']['checkChild'](_0x3bd82f['markerRange']['start'],'$text'))return;const _0x4f4776={'class':'ck-user__marker\x20'+_0x5b6dce['color']['getMarkerClass'](),'data-name':_0x5b6dce['name'],'data-session-id':_0xaff47b},_0x3b2990=_0x321784['model']['markers']['get'](_0x3bd82f['markerName']),_0x2ec786=_0x3b2990['getStart'](),_0x3dd034=_0x2ec786['nodeAfter'],_0x11b5fe=_0x321784['model']['schema'];if(_0x3dd034&&_0x11b5fe['isObject'](_0x3dd034)&&_0x11b5fe['isInline'](_0x3dd034)&&!_0x321784['model']['markers']['get']('user:range:'+_0xaff47b)['getRange']()['isCollapsed'])return;const _0x219612=_0x2ec786['parent'];return _0x321784['model']['schema']['isLimit'](_0x219612)&&!_0x321784['model']['hasContent'](_0x219612)&&(_0x4f4776['contenteditable']=!0x1),function(_0xffe653,_0x1b90da,_0x131009){const _0x5deec3=_0xffe653['createUIElement']('span',_0x1b90da);return _0xffe653['setCustomProperty']('userPositionMarker',!0x0,_0x5deec3),_0x5deec3['render']=function(_0x54edf8){const _0x5bbc5c=this['toDomElement'](_0x54edf8);return _0x5bbc5c['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x131009['name']+'</span>',_0x5bbc5c['addEventListener']('mouseenter',()=>{_0x5bbc5c['classList']['add']('ck-user__marker_hovered');}),_0x5bbc5c['addEventListener']('mouseleave',()=>{_0x5bbc5c['classList']['remove']('ck-user__marker_hovered');}),_0x5bbc5c;},_0x5deec3['isSimilar']=function(_0x4ab138){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4ab138['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4ab138['getAttribute']('data-session-id'));},_0x5deec3;}(_0x33ba68,_0x4f4776,_0x5b6dce);}(_0xef0520,_0x23430e,_0x231eba,_0x73e655)}),_0x73e655['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x33ddc5=>function(_0x4e88bf,_0x57b973){const _0xd58adb=_0x4e88bf['markerName']['split'](':')[0x2];if(_0xd58adb===_0x57b973['mySessionId'])return null;const _0x74be4b=_0x57b973['getUserBySessionId'](_0xd58adb);if(!_0x74be4b)return{'id':_0xd58adb,'classes':[]};return{'id':_0xd58adb,'classes':['ck-user__selection',_0x74be4b['color']['getSelectionClass']()],'attributes':{'data-session-id':_0xd58adb},'priority':0x7d0+_0x74be4b['orderNumber']};}(_0x33ddc5,_0x231eba)}),function(_0x5226f1){const _0x46a892=_0x5226f1['model'],_0x3d4cc2=new Map(),_0xa41186=_0x5226f1['plugins']['get'](i);_0x46a892['markers']['on']('update:user:range',(_0x43b49b,_0x4dea60,_0x364448,_0xad3492)=>{if(!_0xad3492&&_0x3d4cc2['get'](_0x4dea60['name']))return _0x3d4cc2['get'](_0x4dea60['name'])['detach'](),void _0x3d4cc2['delete'](_0x4dea60['name']);const _0x16b9ac=_0x4dea60['name']['split'](':')[0x2];if(_0x16b9ac===_0xa41186['mySessionId'])return;const _0x13ccb6='user:position:'+_0x16b9ac;_0x46a892['markers']['has'](_0x13ccb6)&&_0x5226f1['editing']['reconvertMarker'](_0x13ccb6),_0x4dea60['on']('change:range',(_0x59cf83,_0x35f592,_0x142615)=>{if('$graveyard'!=_0x35f592['root']['rootName']&&'$graveyard'==_0x4dea60['getRange']()['root']['rootName']&&!_0x3d4cc2['has'](_0x4dea60['name'])){const _0x114105=_0x46a892['schema']['getNearestSelectionRange'](_0x142615['deletionPosition']);if(_0x114105){const _0xbd262a=ht['fromRange'](_0x114105);_0x3d4cc2['set'](_0x4dea60['name'],_0xbd262a),_0xbd262a['on']('change:range',(_0x425836,_0x3c23ab,_0x462b73)=>{if('$graveyard'==_0xbd262a['root']['rootName']){const _0x2d5467=_0x46a892['schema']['getNearestSelectionRange'](_0x462b73['deletionPosition']);_0x2d5467?(_0xbd262a['start']=_0x2d5467['start'],_0xbd262a['end']=_0x2d5467['end']):(_0x3d4cc2['delete'](_0x4dea60['name']),_0xbd262a['detach']());}});}}});}),_0x46a892['document']['on']('change',()=>{_0x3d4cc2['size']>0x0&&_0x46a892['enqueueChange']({'isUndoable':!0x1},_0x9377b3=>{for(const [_0x5dad32,_0x2994f6]of _0x3d4cc2)'$graveyard'==_0x46a892['markers']['get'](_0x5dad32)['getRange']()['root']['rootName']&&(re(_0x5dad32['split'](':')[0x2],_0x2994f6['toRange'](),_0x46a892,_0x9377b3),_0x2994f6['detach']());_0x3d4cc2['clear']();});});}(_0x73e655),this['_domEmitter']['listenTo'](_0x11ae4d['document'],'keydown',(_0x3e5539,{key:_0x45318b})=>{'Escape'===_0x45318b&&function(_0x203153){_0x203153['editing']['view']['change'](_0x54fa98=>{for(const _0x5b725d of _0x203153['model']['markers']){if(!_0x5b725d['name']['startsWith']('user:position'))continue;const _0x4b316c=_0x203153['editing']['mapper']['markerNameToElements'](_0x5b725d['name']);if(_0x4b316c){for(const _0x3a1576 of _0x4b316c)_0x54fa98['removeClass']('ck-user__marker_hovered',_0x3a1576);}}});}(_0x73e655);},{'useCapture':!0x0});}['afterInit'](){const _0x555cfd=this['editor'],_0x2fb068=_0x555cfd['commands']['get']('undo');_0x2fb068&&_0x555cfd['model']['on']('applyOperation',(_0x4dc8c6,_0x3aeee2)=>{const _0x835707=_0x3aeee2[0x0];if('marker'!=_0x835707['type']||!_0x835707['name']['startsWith']('user:'))return;const _0x59c8b=_0x835707['batch'];_0x2fb068['_createdBatches']['has'](_0x59c8b)&&(_0x835707['newRange']=_0x835707['oldRange']?_0x555cfd['model']['createRange'](_0x835707['oldRange']['start'],_0x835707['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x109a3d=this['editor'],_0x4571af=_0x109a3d['model']['document'],_0x2fcd6c=_0x109a3d['plugins']['get'](i);_0x109a3d['model']['enqueueChange']({'isUndoable':!0x1},_0x3c9f07=>{const _0x49ef9b='user:range:'+_0x2fcd6c['mySessionId'],_0x49d32c='user:position:'+_0x2fcd6c['mySessionId'],_0x10757a=_0x109a3d['model']['markers']['has'](_0x49ef9b);_0x109a3d['editing']['view']['hasDomSelection']?re(_0x2fcd6c['mySessionId'],_0x4571af['selection']['getFirstRange'](),_0x109a3d['model'],_0x3c9f07):_0x10757a&&(_0x3c9f07['removeMarker'](_0x49ef9b),_0x3c9f07['removeMarker'](_0x49d32c));});}}function re(_0x157219,_0x1811dd,_0x564db1,_0x48813a){const _0x33cd1f='user:range:'+_0x157219,_0x470833='user:position:'+_0x157219,_0x13a812=_0x1811dd['getContainedElement']();let _0x5aeb2e=_0x1811dd['start'];_0x13a812&&_0x13a812['is']('element','tableCell')&&(_0x5aeb2e=function(_0xecd0b5,_0x89fc2f){for(const _0x3da43a of _0xecd0b5['getPositions']())if(_0x89fc2f['schema']['checkChild'](_0x3da43a,'$text'))return _0x3da43a;}(_0x1811dd,_0x564db1),_0x1811dd=_0x48813a['createRange'](_0x5aeb2e));const _0x4c5f66=_0x48813a['createRange'](_0x5aeb2e);_0x564db1['markers']['has'](_0x33cd1f)?(_0x48813a['updateMarker'](_0x33cd1f,{'range':_0x1811dd}),_0x48813a['updateMarker'](_0x470833,{'range':_0x4c5f66})):(_0x48813a['addMarker'](_0x33cd1f,{'range':_0x1811dd,'usingOperation':!0x0}),_0x48813a['addMarker'](_0x470833,{'range':_0x4c5f66,'usingOperation':!0x0}));}function q(_0x583af6,_0x337ff6,_0x1c7c06){const _0x12b68b=_0x583af6['t'],t=_0x583af6['t'];switch(_0x337ff6){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 _0x12b68b({'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'},_0x1c7c06);default:return'';}}let K=0x1;class l extends _0x2f4ec7{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x205cab)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,H,_0x19630d,_0x5e51ff,_0x1b3b0a];}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 _0x5ebbb6=this['serverHistory']['getOperations']();for(let _0x401991=_0x5ebbb6['length']-0x1;_0x401991>=0x0;_0x401991--){const _0xc11cfb=_0x5ebbb6[_0x401991];if(!this['_disconnectionOperations']['has'](_0xc11cfb))return _0xc11cfb['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x499522){if(super(_0x499522),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x12c917(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x4bb820('collaboration-missing-channelid',this);const _0x85eeb8=_0x499522['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x85eeb8,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5808a4(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new X(this['_disconnectionOperations']);}['init'](){const _0x8b245b=this['editor'],_0xc08767=_0x8b245b['plugins']['get'](_0x5e51ff),_0x5bda34=_0x8b245b['plugins']['get'](c);this['listenTo'](_0xc08767,'getOperationAuthor',(_0x1622bf,_0x5c301a)=>{const _0x1aa6f1=_0x5c301a[0x0];_0x1aa6f1['_authorId']&&(_0x1622bf['return']=_0xc08767['getUser'](_0x1aa6f1['_authorId']),_0x1622bf['stop']()),null===_0x1aa6f1['_authorId']&&(_0x1622bf['return']=null,_0x1622bf['stop']());},{'priority':'high'}),this['listenTo'](_0x8b245b['model']['document']['selection'],'change:range',(_0xd4f0f9,_0x510dd4)=>{_0x510dd4['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x8b245b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x8b245b['model']['on']('applyOperation',(_0x3386cb,_0x2559d3)=>{const _0x53aa73=_0x2559d3[0x0];_0x53aa73['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x53aa73),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x5bda34,'state',this,'_hasSynchronizationProblem',(_0x39f9a7,_0x57595f)=>'connected'===_0x39f9a7&&!_0x57595f),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x8b245b['disableReadOnlyMode']('rtc-offline'):_0x8b245b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x8b245b['disableReadOnlyMode']('rtc-offline'):_0x8b245b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x16f32f=this['editor']['plugins']['get'](i),_0x8431a5=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x16f32f['unregister'](this['_channelId']);const _0x20dd21=await this['_service']['reconnect'](_0x8431a5['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x20dd21)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x51ee5a=await this['_service']['getConnectedSessions']();_0x16f32f['register'](this['_channelId'],_0x51ee5a),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5e1873){if(function(_0x1a4295){return'404'===_0x1a4295['code'];}(_0x5e1873)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1967fa){return'409'===_0x1967fa['code'];}(_0x5e1873)){const _0x49c7c9=q(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x49c7c9);}else{if(!(_0x5e1873 instanceof J))throw _0x5e1873;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1608a7=this['editor']['plugins']['get'](c),_0x2aabab=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2aabab['channelSessions']['has'](this['_channelId'])&&_0x2aabab['unregister'](this['_channelId']),_0x1608a7['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4f4eed){if(this['sessionId']!==_0x4f4eed['sessionId']&&this['_lastSyncedOperationId']!==_0x4f4eed['lastOperationId'])throw new J();return this['sessionId']=_0x4f4eed['sessionId'],this['_handleServerResponse']([],{..._0x4f4eed,'wereChangesApplied':!0x1,'data':_0x4f4eed['data']},'reconnect');}async['_connectService'](_0x5ad166,_0x2ac486=!0x1){const {connection:_0x35e5fa}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x35e5fa,this['_channelId'])['then'](_0x4143ed=>this['_initSessionsHandling'](_0x4143ed))['catch'](_0x4ee191=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4ee191);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x219295,_0x4ffe0c)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x4ffe0c);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4dea94=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5ad166);this['_isPendingUpdate']=!0x0;const _0x4f4fde=await this['_service']['connect'](_0x35e5fa,this['_compressOperations'](_0x5ad166),_0x4dea94);if(this['sessionId']=_0x4f4fde['sessionId'],_0x2ac486){if(!_0x4f4fde['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x4f4fde['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5ad166,_0x4f4fde,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x4f4fde,_0x5ad166);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x35124f=this['editor']['plugins']['get'](i),_0x3c527c=this['editor']['plugins']['get'](H),_0x293e41=_0x35124f['channelSessions']['get'](this['_channelId']);_0x293e41&&_0x293e41['length']>0x1?_0x3c527c['createUserMarkerOperations']():this['listenTo'](_0x35124f,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x35124f['channelSessions']['get'](this['_channelId'])['length']&&_0x3c527c['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x46215d,_0x537d67,_0x52ed15,_0x1337af){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x537d67){const _0x4f8cdf=this['_decompressOperations'](_0x52ed15,_0x1337af);await this['_fetchMissingUsers'](_0x4f8cdf),this['_handleExternalOperations'](_0x4f8cdf,_0x537d67,_0x52ed15['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x37de5e}=this['editor'];let _0x426c44;try{_0x426c44=await this['_service']['getDocumentDetails']();}catch(_0x3f72f2){const _0x1d3961=q(_0x37de5e,'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'](_0x1d3961);}const _0x4d0d81=_0x426c44['currentDocumentSession']||_0x426c44['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x4d0d81['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x7a610=q(_0x37de5e,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x7a610);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2c9a90){const _0x25dd1a=this['editor']['plugins']['get'](i);this['listenTo'](_0x25dd1a,'sessionAdd:'+this['_channelId'],(_0x29d721,{session:_0x34e7bc})=>{if(_0x34e7bc['id']===_0x25dd1a['mySessionId']){_0x29d721['off']();const _0x595a54=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x259d80=_0x34e7bc['permissions'];_0x595a54&&_0x595a54['isEnabled']&&(_0x259d80=_0x259d80['filter'](_0x3b5ab1=>'document:write'!==_0x3b5ab1)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x259d80,this['_channelId']);}}),_0x25dd1a['register'](this['_channelId'],_0x2c9a90);}['_initThrowingOnDataSet'](){const _0x328cec=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x2bb345)=>{if(!_0x2bb345[_0x2bb345['length']-0x1]['suppressErrorInCollaboration'])throw new _0x4bb820('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x328cec['apply'](this['editor']['data'],_0x2bb345);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x46fcfe,[_0x277f20])=>{if(this['_document']['version'])throw new _0x4bb820('realtimecollaborationclient-init-document-already-initialized',this);_0x46fcfe['stop'](),this['_setPendingAction']();const _0x458618=this['editor']['config']['get']('rootsAttributes'),_0x114223=this['_getOperationsFromInitData'](_0x277f20,_0x458618);0x0==_0x114223['length']&&_0x114223['push'](new _0x27ffb8(0x0)),_0x46fcfe['return']=this['_connectService'](_0x114223)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x595c69=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x595c69))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x18d6c5,[_0x5990c7,_0x54e1c3])=>{_0x18d6c5['stop']();const _0x189642=this['editor']['model']['document']['getRoot'](_0x5990c7);if(!this['_knownRootNames']['has'](_0x5990c7)){const _0x2bd678=_0x54e1c3&&_0x54e1c3['data']?_0x54e1c3['data']:'',_0x1fb309=_0x54e1c3&&_0x54e1c3['attributes']?_0x54e1c3['attributes']:{};await this['_loadRoot'](_0x5990c7,_0x2bd678,_0x1fb309);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x189642['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x189642);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x134426){const _0x5b9647=this['editor']['plugins']['get'](_0x5e51ff),{connection:_0x135831}=this['editor']['plugins']['get'](c),_0x1e32b3=new Set();for(const _0x494b06 of _0x134426){const _0xc7d676=_0x494b06['_authorId'];_0xc7d676&&!_0x5b9647['getUser'](_0xc7d676)&&_0x1e32b3['add'](_0xc7d676);}if(0x0===_0x1e32b3['size'])return;const _0x5433ad=await dt['getMany'](_0x135831,Array['from'](_0x1e32b3));for(const _0x493705 of _0x5433ad)_0x5b9647['getUser'](_0x493705['id'])||_0x5b9647['addUser'](_0x493705);}['_getOperationsFromInitData'](_0x5bb1bb,_0x5c6b42={}){const _0x4a6b17=this['editor']['model'],_0x4f4842=[];let _0x43bcbf=0x0;const _0x31ffd1='string'==typeof _0x5bb1bb?{'main':_0x5bb1bb}:_0x5bb1bb;for(const _0x5eb0f0 of Object['keys'](_0x31ffd1)){if(!this['_document']['roots']['has'](_0x5eb0f0))throw new _0x4bb820('realtimecollaborationclient-init-non-existent-root',this);const _0x3cd4e2=this['editor']['data']['parse'](_0x31ffd1[_0x5eb0f0]),_0x5c91ef=this['_document']['getRoot'](_0x5eb0f0),_0x439271=new _0x3709a8(_0x4a6b17['createPositionAt'](_0x5c91ef,0x0),_0x3cd4e2,_0x43bcbf++);_0x4f4842['push'](_0x439271);for(const [_0x430f6a,_0x2c7e53]of _0x3cd4e2['markers']){const _0xe8c0f=_0x4a6b17['createRange'](_0x4a6b17['createPositionFromPath'](_0x5c91ef,_0x2c7e53['start']['path']['slice']()),_0x4a6b17['createPositionFromPath'](_0x5c91ef,_0x2c7e53['end']['path']['slice']())),_0x2a012e=new _0x164bdb(_0x430f6a,null,_0xe8c0f,_0x4a6b17['markers'],!0x0,_0x43bcbf++);_0x4f4842['push'](_0x2a012e);}}if(_0x5c6b42)for(const [_0x1d5e06,_0x1ddcce]of Object['entries'](_0x5c6b42)){const _0x43e170=_0x4a6b17['document']['getRoot'](_0x1d5e06);if(!_0x43e170)throw new _0x4bb820('multi-root-editor-root-attributes-no-root',null);for(const [_0x1a392b,_0xce9008]of Object['entries'](_0x1ddcce))if(null!==_0xce9008){const _0x116fac=new _0x257d74(_0x43e170,_0x1a392b,null,_0xce9008,_0x43bcbf++);_0x4f4842['push'](_0x116fac);}}return _0x4f4842;}async['_loadRoot'](_0x5cfa0d,_0x5d1449,_0xcc645){this['_getOperationsFromInitData']({[_0x5cfa0d]:_0x5d1449},{[_0x5cfa0d]:_0xcc645})['forEach']((_0x34ebb6,_0x19d843)=>{_0x34ebb6['baseVersion']=this['_document']['version']+_0x19d843,_0x34ebb6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x34ebb6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x10e056,_0x4e51b8){let _0x2cf2ca;this['_offset']=_0x10e056['offset'];const _0x289c12=_0x10e056['wereChangesApplied']&&!_0x10e056['initData'],_0x16b8b6=_0x289c12?0x0:_0x10e056['data']['baseVersion'];if(_0x4e51b8['forEach'](_0x5d5274=>{_0x5d5274['_isInit']=!0x0,_0x5d5274['createdAt']=_0x10e056['sessionCreatedAt'],_0x5d5274['_authorId']=null;}),_0x289c12)_0x2cf2ca=_0x4e51b8,this['_applyOperationsSet'](_0x2cf2ca,_0x289c12);else{if(_0x10e056['initData']){const _0x31aefc=this['_getOperationsFromInitData'](_0x10e056['initData']);this['_document']['history']['version']=-_0x31aefc['length'],_0x31aefc['forEach'](_0x284cc7=>{_0x284cc7['baseVersion']-=_0x31aefc['length'],_0x284cc7['createdAt']=_0x10e056['sessionCreatedAt'],_0x284cc7['_isInit']=!0x0,_0x284cc7['_authorId']=null;}),this['_applyOperationsSet'](_0x31aefc,!0x0),this['serverHistory']['version']=-_0x31aefc['length']+this['_offset'],this['_updateServerHistory'](_0x31aefc);}this['_document']['history']['version']=_0x16b8b6,_0x2cf2ca=this['_decompressOperations'](_0x10e056['data'],_0x10e056['metadata']),await this['_fetchMissingUsers'](_0x2cf2ca),this['_applyOperationsSet'](_0x2cf2ca,_0x289c12);}_0x10e056['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2cf2ca,_0x10e056['lastOperationId']),this['_lastSyncedOperationId']=_0x10e056['lastOperationId']),this['serverHistory']['version']=_0x16b8b6+this['_offset'],this['_updateServerHistory'](_0x2cf2ca),_0x4e51b8['filter'](_0x3ced9e=>{const _0x2f7c19=this['_getAffectedRoot'](_0x3ced9e);return _0x2f7c19&&!this['_knownRootNames']['has'](_0x2f7c19);})['forEach']((_0x36af0f,_0x556a27)=>{_0x36af0f['baseVersion']=this['_document']['version']+_0x556a27,this['_saveOperationInBuffer'](_0x36af0f);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2f0b59,_0x39c7d8,_0x11af1f){throw this['_isPendingUpdate']=!0x0,_0x39c7d8&&console['error'](_0x39c7d8),_0x11af1f&&this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x4bb820(_0x2f0b59,this['editor']);}['_saveOperationInBuffer'](_0x5ac183){this['_knownOperations']['has'](_0x5ac183)||(this['_knownOperations']['add'](_0x5ac183),this['_bufferedOperations']['push'](_0x5ac183),this['_pendingAction']||'marker'==_0x5ac183['type']&&!_0x5ac183['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x28b6e9=!0x1){!_0x28b6e9&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4c747f=>{_0x4c747f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3cd2f7=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x136e54){return _0x136e54['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x136e54['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x136e54['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3cd2f7)||this['_crash'](_0x3cd2f7['message'],_0x3cd2f7,!0x0);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x244498=>{this['on']('change:_isPendingUpdate',()=>{_0x244498();});});}async['_sendBufferedOperations'](){const _0x305b47=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x305b47['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x46607c=[...this['_bufferedOperations']];for(const _0x29b241 of _0x46607c)_0x29b241['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x29b241);const _0x4ab5b9=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x46607c),_0x89bc5c=K++,_0x1051da=this['_compressOperations'](_0x46607c),_0x344e58=await this['_service']['sendOperations'](_0x1051da,_0x1051da['baseVersion'],_0x4ab5b9);try{return await this['_handleServerResponse'](_0x46607c,_0x344e58,_0x89bc5c);}catch(_0x5c888c){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x5c888c);}}async['_handleServerResponse'](_0x1f092f,_0x529dc4,_0x8b1007){if('error'in _0x529dc4)throw _0x529dc4['error'];let _0x5d1264=!0x1;if(_0x529dc4['wereChangesApplied']){_0x529dc4['lastOperationId']&&(this['_lastSyncedOperationId']=_0x529dc4['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x57f3f0=>!_0x1f092f['includes'](_0x57f3f0));for(const _0x2c9046 of _0x1f092f)_0x2c9046['createdAt']='lastOperationAcceptedAt'in _0x529dc4&&_0x529dc4['lastOperationAcceptedAt']||void 0x0;Q(_0x1f092f,_0x529dc4['version']-_0x1f092f['length']),this['_updateServerHistory'](_0x1f092f);const _0x13d2ff=_0x1f092f['filter'](_0x377015=>{if(!_0x377015['_isInit'])return!0x1;const _0xa18f9f=this['_getAffectedRoot'](_0x377015);return _0xa18f9f&&!this['_knownRootNames']['has'](_0xa18f9f);});Q(_0x13d2ff,this['_document']['version']),this['_applyOperationsSet'](_0x13d2ff),_0x5d1264=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x398c16=this['_decompressOperations'](_0x529dc4['data'],_0x529dc4['metadata'])['filter'](_0x27e296=>_0x27e296['baseVersion']>=this['_lastServerVersion']);_0x398c16['forEach'](_0x5680be=>this['_addKnownRoot'](_0x5680be)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3c37e1=>!_0x3c37e1['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3c37e1))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x398c16),_0x5d1264=this['_handleExternalOperations'](_0x398c16,_0x529dc4['version'],_0x529dc4['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5d1264?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x2da746,_0x2437b4,_0x1e0ebf){try{const _0x115725={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x34b322,operationsB:_0x589da4,originalOperations:_0x32e1ba}=_0x583353(_0x2da746,this['_bufferedOperations'],_0x115725);Q(_0x34b322,this['_document']['version']),Q(_0x589da4,_0x2437b4);for(const _0x338eca of _0x34b322){const _0x82af41=_0x32e1ba['get'](_0x338eca);_0x338eca['_authorId']=_0x82af41?_0x82af41['_authorId']:null;}_0x1e0ebf&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2da746,_0x1e0ebf),this['_lastSyncedOperationId']=_0x1e0ebf),this['_bufferedOperations']=[..._0x589da4],this['_applyOperationsSet'](_0x34b322),this['_updateServerHistory'](_0x2da746);}catch(_0x4b4f65){return console['error'](_0x4b4f65),!0x1;}return!0x0;}['_applyOperationsSet'](_0x9fd829,_0x190de7=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4b7f96=>{for(const _0x4111df of _0x9fd829)this['_knownOperations']['add'](_0x4111df),this['_addKnownRoot'](_0x4111df),_0x4b7f96['batch']['addOperation'](_0x4111df),this['editor']['model']['applyOperation'](_0x4111df);});}['_addKnownRoot'](_0x4f1598){const _0x2422b8=this['_getAffectedRoot'](_0x4f1598);_0x2422b8&&this['_knownRootNames']['add'](_0x2422b8);}['_getAffectedRoot'](_0x268b10){let _0x4a8fd5,_0x1cdd9c;switch(_0x268b10['type']){case'insert':_0x4a8fd5=_0x268b10['position']['root'];break;case'marker':if(_0x1cdd9c=_0x268b10['newRange'],!_0x1cdd9c)return null;_0x4a8fd5=_0x1cdd9c['root'];break;case'addRootAttribute':_0x4a8fd5=_0x268b10['root'];break;case'addRoot':_0x4a8fd5=_0x268b10['affectedSelectable'];break;case'move':_0x4a8fd5=_0x268b10['targetPosition']['root'];break;default:return null;}return _0x4a8fd5['rootName'];}['_updateServerHistory'](_0x462c45){_0x462c45['forEach'](_0x370751=>{const _0x2c893d=_0x370751['clone']();_0x2c893d['_authorId']=_0x370751['_authorId'],_0x2c893d['_isInit']=!!_0x370751['_isInit'],_0x2c893d['createdAt']=_0x370751['createdAt'],_0x2c893d['baseVersion']+=this['_offset'],_0x370751['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x2c893d),this['serverHistory']['addOperation'](_0x2c893d);});}['_handleReconnectionError'](_0x3f9052){const _0x5bb337=this['editor']['plugins']['get']('Notification'),_0x58881e=this['editor']['locale'];_0x3f9052||(_0x3f9052=q(_0x58881e,'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.')),_0x5bb337['showWarning'](_0x3f9052,{'title':q(_0x58881e,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x19630d)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x19630d)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x277c31){const _0x5ac04e=_0x277c31['map'](_0x2c7818=>_0x2c7818['toJSON']());return this['_compressor']['compress'](_0x5ac04e);}['_decompressOperations'](_0x562b67,_0x215866){return this['_compressor']['decompress'](_0x562b67)['map']((_0x43927d,_0x1b0db1)=>{const _0x34425c='init'==_0x215866[_0x1b0db1]['type'];if('InsertOperation'==_0x43927d['__className']){const _0x458186=_0x43927d['position']['root'];!this['_document']['getRoot'](_0x458186)&&(this['_document']['createRoot']('$root',_0x458186)['_isAttached']=!0x1);}const _0x32f7f7=_0x3e5cf4['fromJSON'](_0x43927d,this['_document']);return _0x32f7f7['wasUndone']=_0x43927d['wasUndone'],_0x32f7f7['_isInit']=_0x34425c,_0x32f7f7['_authorId']=_0x34425c?null:_0x215866[_0x1b0db1]['userId'],_0x32f7f7['_isDisconnection']='cs:removeUser'===_0x215866[_0x1b0db1]['type'],_0x32f7f7['createdAt']=_0x215866[_0x1b0db1]['createdAt'],_0x32f7f7;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x416517=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x416517&&_0x416517['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x482d0c,_0x1d4d7d){for(const _0xa391e1 of _0x482d0c)_0xa391e1['baseVersion']=_0x1d4d7d++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x198192){this['_ignoredOperations']=_0x198192,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4b3b37){let _0x12c1ac=_0x4b3b37['length'];for(;_0x12c1ac--;){const _0x1d13bf=_0x4b3b37[_0x12c1ac];if(!this['_ignoredOperations']['has'](_0x1d13bf)){if(!this['_operationToId']['has'](_0x1d13bf)){const _0x204001=_0x1076e1()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1d13bf,_0x204001);}return this['_operationToId']['get'](_0x1d13bf);}}}['setIdForTheLastOperation'](_0x18af57,_0x3efcbe){if(!_0x3efcbe)return;let _0x39ff42=_0x18af57['length'];for(;_0x39ff42--;){const _0x290972=_0x18af57[_0x39ff42];this['_ignoredOperations']['has'](_0x290972)||this['_operationToId']['set'](_0x290972,_0x3efcbe);}}}class n extends _0x2f4ec7{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x5a8039{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x507313)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x5e51ff];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1fd16d){super(_0x1fd16d),this['_services']=new Map();}async['init'](){const _0x470a8e=this['context'],_0x393a68=_0x470a8e['plugins']['get']('CommentsRepository');if(_0x470a8e['plugins']['get'](c)['addToReconnectionStack'](this),_0x393a68['adapter']={'addCommentThread':async({channelId:_0x2b5e15,threadId:_0x3ea87d,comments:_0xe96397,resolvedAt:_0x14c5ea,resolvedBy:_0x44e694,context:_0x1c133d,attributes:_0x1246a2})=>{const _0x303e28=await this['_getService'](_0x2b5e15)['addCommentThread']({'commentThreadId':_0x3ea87d,'comments':_0xe96397['map'](_0x6fb6d4=>function(_0xb52649,_0x2eb0f9,_0x148bde){return{'commentThreadId':_0x148bde,'commentId':_0xb52649['commentId'],'userId':_0xb52649['authorId'],'content':_0xb52649['content'],'documentId':_0x2eb0f9,'createdAt':_0xb52649['createdAt'],'attributes':_0xb52649['attributes']||{}};}(_0x6fb6d4,_0x2b5e15,_0x3ea87d)),'resolvedAt':_0x14c5ea,'resolvedBy':_0x44e694,'context':_0x1c133d,'attributes':_0x1246a2})['catch'](ut);return{'threadId':_0x303e28['commentThreadId'],'comments':_0x303e28['comments']};},'getCommentThread':async({channelId:_0x282cdf,threadId:_0x50696f})=>{const _0x369ed9=await this['_getService'](_0x282cdf)['getCommentThread'](_0x50696f)['catch'](ut);return _0x369ed9['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x369ed9]),{'threadId':_0x369ed9['commentThreadId'],'comments':_0x369ed9['comments']['map'](b),'context':_0x369ed9['context'],'resolvedAt':_0x369ed9['resolvedAt'],'resolvedBy':_0x369ed9['resolvedBy'],'attributes':_0x369ed9['attributes']||{}});},'updateCommentThread':async({channelId:_0x1e3d90,threadId:_0x112f43,context:_0x426caf,unlinkedAt:_0x1ec8f4,attributes:_0x567601})=>this['_getService'](_0x1e3d90)['updateCommentThread']({'commentThreadId':_0x112f43,'context':_0x426caf,'attributes':_0x567601,'unlinkedAt':_0x1ec8f4})['catch'](y)['catch'](ut),'resolveCommentThread':async({channelId:_0x5c1ce9,threadId:_0x3a2207})=>{const _0xf976c1=await this['_getService'](_0x5c1ce9)['resolveCommentThread'](_0x3a2207)['catch'](y)['catch'](ut);return{'threadId':_0xf976c1['commentThreadId'],'resolvedAt':_0xf976c1['resolvedAt'],'resolvedBy':_0xf976c1['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4e5dd5,threadId:_0x292496})=>this['_getService'](_0x4e5dd5)['reopenCommentThread'](_0x292496)['catch'](y)['catch'](ut),'removeCommentThread':({channelId:_0x3a27aa,threadId:_0x8de907})=>this['_getService'](_0x3a27aa)['removeCommentThread'](_0x8de907)['catch'](y)['catch'](ut),'addComment':({channelId:_0x3dbef0,threadId:_0x2bb618,commentId:_0x25aacc,content:_0xdaf414,attributes:_0x68e5c8})=>this['_getService'](_0x3dbef0)['addComment'](_0x2bb618,_0x25aacc,_0xdaf414,_0x68e5c8)['catch'](ut),'updateComment':({channelId:_0x300241,threadId:_0x330629,commentId:_0x24e4c8,content:_0x160bb1,attributes:_0x46355b})=>this['_getService'](_0x300241)['updateComment'](_0x330629,_0x24e4c8,_0x160bb1,_0x46355b)['catch'](y)['catch'](ut),'removeComment':({channelId:_0xf2fe30,threadId:_0x18b006,commentId:_0x47745e})=>this['_getService'](_0xf2fe30)['removeComment'](_0x18b006,_0x47745e)['catch'](y)['catch'](ut)},_0x470a8e instanceof _0x4f9ef2){const _0x2ab058=_0x470a8e['config']['get']('collaboration.channelId'),_0x3e84c9=_0x470a8e['plugins']['get'](i);await this['_setUpService'](_0x2ab058);const _0x457c98=await this['_services']['get'](_0x2ab058)['getConnectedSessions']();this['listenTo'](_0x3e84c9,'sessionAdd:'+_0x2ab058,(_0xc1415c,{session:_0x2b9ca0})=>{_0x2b9ca0['id']===_0x3e84c9['mySessionId']&&(_0xc1415c['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2b9ca0['permissions'],_0x2ab058));}),_0x3e84c9['register'](_0x2ab058,_0x457c98);}}async['_setUpService'](_0x452715){if(this['_services']['has'](_0x452715))throw new _0x4bb820('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x452715});const _0x1cb15d=this['context']['plugins']['get']('CommentsRepository'),_0x32f8ee=new a['CommentsService'](_0x452715);this['_services']['set'](_0x452715,_0x32f8ee),this['listenTo'](_0x32f8ee,'commentThreadAdded',(_0x445f9d,_0x163fa2)=>{const {commentThreadId:_0x2c0989,documentId:_0x52b53e,context:_0x2328f5,attributes:_0x2f58a5,resolvedAt:_0xf88d58,resolvedBy:_0x2ba311,comments:_0x205106}=_0x163fa2;_0x1cb15d['getCommentThread'](_0x2c0989)||_0x1cb15d['addCommentThread']({'threadId':_0x2c0989,'channelId':_0x52b53e,'comments':_0x205106?_0x205106['map'](b):[],'context':_0x2328f5,'attributes':_0x2f58a5,'resolvedAt':_0xf88d58,'resolvedBy':_0x2ba311,'isFromAdapter':!0x0});}),this['listenTo'](_0x32f8ee,'commentThreadUpdated',(_0x390b09,{commentThreadId:_0x5a367e,documentId:_0x888d50,context:_0x239e70,unlinkedAt:_0xdf6b15,attributes:_0xe5437f})=>{_0x1cb15d['getCommentThread'](_0x5a367e)&&_0x1cb15d['updateCommentThread']({'threadId':_0x5a367e,'channelId':_0x888d50,'context':_0x239e70,'unlinkedAt':_0xdf6b15,'attributes':_0xe5437f,'isFromAdapter':!0x0});}),this['listenTo'](_0x32f8ee,'commentThreadResolved',(_0x21d95a,{commentThreadId:_0x2b7108,resolvedBy:_0x13cb74,resolvedAt:_0xf9915c})=>{const _0x2d8b1e=_0x1cb15d['getCommentThread'](_0x2b7108);_0x2d8b1e&&_0x2d8b1e['resolve']({'resolvedBy':_0x13cb74,'resolvedAt':_0xf9915c,'isFromAdapter':!0x0});}),this['listenTo'](_0x32f8ee,'commentThreadReopened',(_0x1e091a,{commentThreadId:_0x1ff159})=>{const _0x19aba4=_0x1cb15d['getCommentThread'](_0x1ff159);_0x19aba4&&_0x19aba4['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x32f8ee,'commentThreadRemoved',(_0x2f4a77,{commentThreadId:_0x5a6c5c})=>{const _0x11887b=_0x1cb15d['getCommentThread'](_0x5a6c5c);_0x11887b&&_0x11887b['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x32f8ee,'commentAdded',(_0x569bf0,_0x4241d7)=>{const _0x1284e5=_0x4241d7['commentThreadId'],_0x5b4fae=_0x1cb15d['getCommentThread'](_0x1284e5);_0x5b4fae&&_0x5b4fae['addComment']({...b(_0x4241d7),'isFromAdapter':!0x0});}),this['listenTo'](_0x32f8ee,'commentUpdated',(_0x1ccf54,{commentThreadId:_0x36033c,commentId:_0x40da70,content:_0x4f3931,attributes:_0x322237})=>{const _0x2e3592=_0x1cb15d['getCommentThread'](_0x36033c);if(_0x2e3592){const _0x3a3abc=_0x2e3592['getComment'](_0x40da70);_0x3a3abc&&_0x3a3abc['update']({'content':_0x4f3931,'attributes':_0x322237,'isFromAdapter':!0x0});}}),this['listenTo'](_0x32f8ee,'commentRemoved',(_0x449d8e,{commentThreadId:_0x21681d,commentId:_0x810607})=>{const _0x342d7c=_0x1cb15d['getCommentThread'](_0x21681d);if(_0x342d7c){const _0x2c10db=_0x342d7c['getComment'](_0x810607);_0x2c10db&&_0x2c10db['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x452715);}['destroy'](){if(this['context']instanceof _0x4f9ef2){const _0x1f9599=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1f9599);}}['_terminateService'](_0x39e888){if(!this['_services']['has'](_0x39e888))throw new _0x4bb820('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x39e888});this['_getService'](_0x39e888)['disconnect'](),this['_services']['delete'](_0x39e888);}async['reconnect'](){for(const _0x53513a of this['_services']['keys']())await this['_connectService'](_0x53513a);if(this['context']instanceof _0x4f9ef2){const _0x135803=this['context']['config']['get']('collaboration.channelId'),_0x3df634=this['context']['plugins']['get'](i);_0x3df634['unregister'](_0x135803);const _0xffdd60=await this['_services']['get'](_0x135803)['getConnectedSessions']();_0x3df634['register'](_0x135803,_0xffdd60);}}async['_connectService'](_0x979723){const {connection:_0x17b8c6}=this['context']['plugins']['get'](c),_0x529440=this['context']['plugins']['get']('CommentsRepository'),_0x4d6152=this['_services']['get'](_0x979723),_0x197a16=await _0x4d6152['connect'](_0x17b8c6);await this['_fetchMissingUsersForThreads'](_0x197a16);const _0x49d5db=new Set(Array['from'](_0x529440['getCommentThreads']({'channelId':_0x979723}),_0x319f48=>_0x319f48['id']));for(const _0x4fb326 of _0x197a16)_0x4fb326['deletedAt']||_0x49d5db['delete'](_0x4fb326['commentThreadId']);for(const _0x2c8bbc of _0x49d5db)_0x529440['getCommentThread'](_0x2c8bbc)['remove']({'isFromAdapter':!0x0});for(const _0x4e21d6 of _0x197a16){let _0x3b9099=_0x529440['getCommentThread'](_0x4e21d6['commentThreadId']);const {commentThreadId:_0x4af3c6,context:_0x395bb0,attributes:_0x176029,resolvedBy:_0x28ef9f,resolvedAt:_0x26ff0d,unlinkedAt:_0x5cdf58,deletedAt:_0xcbf5e2}=_0x4e21d6;if(_0xcbf5e2)continue;_0x3b9099||(_0x3b9099=_0x529440['addCommentThread']({'channelId':_0x979723,'threadId':_0x4af3c6,'context':_0x395bb0,'attributes':_0x176029||{},'resolvedBy':_0x28ef9f,'resolvedAt':_0x26ff0d,'unlinkedAt':_0x5cdf58,'isFromAdapter':!0x0}));const _0xe03b89=new Set(Array['from'](_0x3b9099['comments'],_0x3383cb=>_0x3383cb['id']));for(const _0x4a26b0 of _0x4e21d6['comments'])_0xe03b89['delete'](_0x4a26b0['commentId']);for(const _0x34897c of _0xe03b89)_0x3b9099['getComment'](_0x34897c)['remove']({'isFromAdapter':!0x0});for(const _0x1dc840 of _0x4e21d6['comments']){const _0x4730bf=_0x3b9099['getComment'](_0x1dc840['commentId']);_0x4730bf?_0x4730bf['content']!==_0x1dc840['content']&&_0x4730bf['update']({'content':_0x1dc840['content'],'isFromAdapter':!0x0}):_0x3b9099['addComment'](Object['assign'](b(_0x1dc840),{'isFromAdapter':!0x0}));}}}['_getService'](_0x14d5f1){if(!this['_services']['has'](_0x14d5f1))throw new _0x4bb820('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x14d5f1});return this['_services']['get'](_0x14d5f1);}async['_fetchMissingUsersForThreads'](_0x23d6ba){const _0xdbd6b2=this['context']['plugins']['get'](_0x5e51ff),{connection:_0x3f540b}=this['context']['plugins']['get'](c),_0x14054a=new Set();for(const {resolvedBy:_0x49f305,comments:_0x33a8c9}of _0x23d6ba){_0x49f305&&!_0xdbd6b2['getUser'](_0x49f305)&&_0x14054a['add'](_0x49f305);for(const {userId:_0x2dcc13}of _0x33a8c9)_0xdbd6b2['getUser'](_0x2dcc13)||_0x14054a['add'](_0x2dcc13);}if(0x0===_0x14054a['size'])return;const _0x953ef9=await dt['getMany'](_0x3f540b,Array['from'](_0x14054a));for(const _0x2db98f of _0x953ef9)_0xdbd6b2['getUser'](_0x2db98f['id'])||_0xdbd6b2['addUser'](_0x2db98f);}}async function y(_0x49e612){if('404'!==_0x49e612['code'])throw _0x49e612;}function ut(_0xa15a01){if((_0x21fc15=_0xa15a01)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x21fc15['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x21fc15['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x21fc15;throw _0xa15a01;}function b(_0x3017b6){return{'threadId':_0x3017b6['commentThreadId'],'commentId':_0x3017b6['commentId'],'content':_0x3017b6['content'],'createdAt':_0x3017b6['createdAt'],'authorId':_0x3017b6['userId'],'attributes':_0x3017b6['attributes']||{}};}class f extends _0x2f4ec7{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x247d85){super(_0x247d85);const _0x2c3e91=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x2c3e91);}['init'](){const _0x2ff439=this['editor']['plugins']['get'](c),_0x3fe073=this['editor']['plugins']['get']('TrackChangesEditing');return _0x3fe073['adapter']={'getSuggestion':async _0x3d74f4=>{await this['_waitForServiceReady']();const _0x5196a3=await this['_trackChangesService']['get'](_0x3d74f4)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x5196a3]),_0x5196a3;},'addSuggestion':async({id:_0x374ff6,type:_0x9a3506,data:_0x534ae,originalSuggestionId:_0x296531,attributes:_0x474479})=>{await this['_waitForServiceReady']();const _0x285db9={'id':_0x374ff6,'type':_0x9a3506,'data':_0x534ae,'originalSuggestionId':_0x296531,'attributes':_0x474479},_0x3f9bc3=await this['_trackChangesService']['add'](_0x374ff6,_0x9a3506,_0x534ae,_0x296531,_0x474479)['catch'](_0x3ae227=>{if(ft(_0x3ae227))return new Promise(_0x554ce3=>{this['_bufferedRequests']['set'](_0x374ff6,{'resolve':_0x554ce3,'suggestionData':_0x285db9});});throw _0x3ae227;});return this['_bufferedRequests']['delete'](_0x374ff6),_0x3f9bc3;},'updateSuggestion':async(_0xb6326a,_0x16b4e2)=>{if(await this['_waitForServiceReady'](),'open'!==_0x16b4e2['state'])return this['_trackChangesService']['update'](_0xb6326a,_0x16b4e2)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x28e296,_0x5f8ba3)=>{_0x3fe073['hasSuggestion'](_0x5f8ba3['id'])&&(_0x3fe073['getSuggestion'](_0x5f8ba3['id'])['attributes']=_0x5f8ba3['attributes']);}),this['_trackChangesService']['connect'](_0x2ff439['connection'])['then'](_0x41d57b=>(_0x2ff439['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x41d57b)['then'](()=>{for(const _0x58cbe3 of _0x41d57b){_0x3fe073['addSuggestionData'](_0x58cbe3)['_saved']=!0x0;}})));}async['reconnect'](){const _0x7740da=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x58d1ef}=this['editor']['plugins']['get'](c),_0x48679b=await this['_trackChangesService']['connect'](_0x58d1ef);await this['_fetchMissingUsersForThreads'](_0x48679b);for(const {suggestionData:_0x524450,resolve:_0x190252}of this['_bufferedRequests']['values']()){let _0x23106d=_0x48679b['find'](_0x2436d7=>_0x2436d7['id']===_0x524450['id']);_0x23106d||(_0x23106d=await this['_trackChangesService']['add'](_0x524450['id'],_0x524450['type'],_0x524450['data'],_0x524450['originalSuggestionId'])),_0x190252(_0x23106d);}for(const _0x40588e of _0x48679b)_0x7740da['hasSuggestion'](_0x40588e['id'])||_0x7740da['addSuggestionData'](_0x40588e);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x495aba=>{this['listenTo'](this['_trackChangesService'],'connected',_0x372354=>{_0x372354['off'](),_0x495aba();});});}async['_fetchMissingUsersForThreads'](_0xfefa33){const _0x5c4118=this['editor']['plugins']['get'](_0x5e51ff),{connection:_0x214175}=this['editor']['plugins']['get'](c),_0xa0412b=new Set();for(const {authorId:_0x30071e}of _0xfefa33)_0x5c4118['getUser'](_0x30071e)||_0xa0412b['add'](_0x30071e);if(0x0===_0xa0412b['size'])return;const _0x27d24e=await dt['getMany'](_0x214175,Array['from'](_0xa0412b));for(const _0x144e5a of _0x27d24e)_0x5c4118['getUser'](_0x144e5a['id'])||_0x5c4118['addUser'](_0x144e5a);}}function w(_0x494234){if(ft(_0x494234))return new Promise(()=>{});throw _0x494234;}function ft(_0x55821f){return _0x55821f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x55821f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x2f4ec7{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2df85b=this['editor']['plugins']['get'](c),_0x50a757=this['editor']['plugins']['get']('CommentsEditing'),_0x14bd3f=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2df85b,'change:state',(_0x1d193a,_0x46fa81,_0x36d658)=>{_0x50a757['isThreadsLoadingPaused']='connected'!==_0x36d658;});}),this['listenTo'](_0x2df85b,'change:state',(_0x34c388,_0x455f4a,_0x16d284)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x16d284);}),_0x14bd3f['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x2f4ec7{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x2f4ec7{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x5e51ff];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x22d6fa){super(_0x22d6fa);const _0x1298d9=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x1298d9);}async['init'](){const _0x23a5be=this['editor']['plugins']['get'](l),_0x386f3c=_0x23a5be['serverHistory'],_0x1cfd29=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x386f3c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x23a5be['sessionId']});const _0x3ed48f=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x53aed7=await tt['isBundleUploaded'](_0x1cfd29['connection'],_0x3ed48f);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x33bef9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x33bef9)),'updateRevisions':async _0x113ce6=>{await this['_waitForServiceReady']();const _0xb743d0=this['_revisionTracker']['currentRevision'];if(_0x53aed7&&0x1===_0x113ce6['length']&&_0x113ce6[0x0]['id']===_0xb743d0['id'])return _0x113ce6;for(const _0x2df726 of _0x113ce6)_0x2df726['id']===_0xb743d0['id']&&(_0x2df726['isEmptyCurrent']=_0x2df726['fromVersion']===_0x2df726['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x113ce6,this['_lastRequestId'])['then'](_0x171727=>(this['_lastRequestId']=_0x171727,_0x113ce6))['catch'](_0x5d9432=>{if(st(_0x5d9432)||'400'===_0x5d9432['code']&&void 0x0!==_0x5d9432['data']['wrongRequestId']){for(const _0x151a63 of _0x113ce6){!this['_revisionTracker']['repository']['getRevision'](_0x151a63['id'])||this['_revisionTracker']['_bufferUpdate'](_0x151a63['id'],_0x151a63,!0x1);}if(st(_0x5d9432))throw _0x5d9432;return _0x113ce6;}throw _0x5d9432;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xebe53f,{revisionsData:_0x1d2304,requestId:_0x4f8c0b})=>{Math['max'](..._0x1d2304['map'](_0x713f29=>_0x713f29['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1d2304,_0x4f8c0b);}):this['_handleRevisionsUpdate'](_0x1d2304,_0x4f8c0b);});const {revisions:_0x4efedd,requestId:_0x381946}=await this['_revisionHistoryService']['connect'](_0x1cfd29['connection']);_0x1cfd29['addToReconnectionStack'](this),this['_lastRequestId']=_0x381946,await this['_fetchMissingUsers'](_0x4efedd);for(const _0x5e00f7 of _0x4efedd)this['_revisionTracker']['addRevisionData'](_0x5e00f7);this['listenTo'](_0x23a5be,'change:_isConnected',(_0x2fa337,_0x1b3f38,_0xe0668)=>{_0xe0668&&(this['_oldOffset']=_0x23a5be['_offset'],_0x2fa337['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x1cfd29,'state',_0x2397c8=>_0x2397c8===_0x42944f['CONNECTED']);}async['reconnect'](){const _0x277534=this['editor']['plugins']['get'](c),_0x150eb9=this['editor']['plugins']['get'](l),_0x54ab0a=async()=>{const _0x52a5d6=this['_revisionTracker']['currentRevision'],_0xe4b2fc=_0x52a5d6['id'],_0x389108=_0xe4b2fc!==_0x150eb9['sessionId'];if(_0x389108){const _0x555f53=_0x150eb9['_offset']-this['_oldOffset'],_0x2978e8=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x52a5d6['toVersion']+_0x555f53!==_0x2978e8){const _0x27bd81=_0x52a5d6['fromVersion']+_0x555f53,_0x8907d0=this['editor']['plugins']['get'](_0x5e51ff),_0x209563=this['_revisionTracker']['buildRevisionData']({'revision':_0x52a5d6,'from':_0x27bd81,'to':_0x2978e8});_0x209563['id']=_0x52a5d6['id'];const _0x15e418=_0x209563['authorsIds']['map'](_0x2db170=>_0x8907d0['getUser'](_0x2db170));_0x52a5d6['_update']({..._0x209563,'authors':_0x15e418},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x52a5d6['id'],_0x209563,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2978e8,(_0x52a5d6['toVersion']===_0x52a5d6['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xe4b2fc)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xe4b2fc),this['_revisionTracker']['_createCurrentRevision'](_0x2978e8));}const {revisions:_0x19d144,requestId:_0x14b21f}=await this['_revisionHistoryService']['reconnect'](_0x277534['connection'],this['_lastRequestId']);_0x389108&&_0x19d144['length']>0x0?_0x150eb9['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x19d144),this['_handleRevisionsUpdate'](_0x19d144,_0x14b21f),this['_revisionTracker']['sendBufferedUpdates']());};return _0x150eb9['_isConnected']?_0x54ab0a():new Promise((_0x1fd695,_0x332b44)=>{_0x150eb9['once']('change:_isConnected',()=>{_0x54ab0a()['then'](_0x1fd695)['catch'](_0x332b44);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x39b1a0=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x40e236=>{_0x40e236['off'](),_0x39b1a0();});});}['_getLatestVersionFromServerOperations'](){const _0x3f08b0=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x5eb32a of _0x3f08b0)if('marker'!==_0x5eb32a['type']||_0x5eb32a['affectsData'])return _0x5eb32a['baseVersion']+0x1;}['_getLatestVersion'](){const _0x812ed7=this['editor']['plugins']['get'](l);return new Promise(_0x1a18b5=>{_0x812ed7['_isPendingUpdate']?_0x812ed7['once']('change:_isPendingUpdate',()=>{_0x1a18b5(this['_getLatestVersionFromServerOperations']());}):_0x1a18b5(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xa9dee6,_0x429d5c){const _0x57844e=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x429d5c;for(const _0x2cc27d of _0xa9dee6){const _0x4693e6=_0x57844e['getRevision'](_0x2cc27d['id']);if(_0x4693e6){if((_0x2cc27d['fromVersion']||_0x2cc27d['toVersion'])&&(_0x2cc27d['diffData']=null),_0x4693e6===this['_revisionTracker']['currentRevision']){const _0x1bb018=Math['max'](_0x4693e6['toVersion'],_0x2cc27d['toVersion']),_0x57f084=Math['max'](_0x4693e6['fromVersion'],_0x2cc27d['fromVersion']);let _0x6eb1d2;_0x4693e6['toVersion']===_0x2cc27d['toVersion']&&_0x4693e6['fromVersion']===_0x2cc27d['fromVersion']?(_0x6eb1d2=!0x0,this['_preventResendingRevisionData'](_0x2cc27d)):_0x2cc27d['toVersion']===_0x1bb018&&_0x2cc27d['fromVersion']===_0x57f084?_0x6eb1d2=!0x1:(_0x4693e6['toVersion']===_0x1bb018&&_0x4693e6['fromVersion']===_0x57f084||this['_fixRevision']({'revision':_0x4693e6,'from':_0x57f084,'to':_0x1bb018}),_0x6eb1d2=!0x0),_0x6eb1d2&&(delete _0x2cc27d['fromVersion'],delete _0x2cc27d['toVersion'],delete _0x2cc27d['diffData'],delete _0x2cc27d['createdAt'],delete _0x2cc27d['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2cc27d),this['_preventResendingRevisionData'](_0x2cc27d);}else this['_revisionTracker']['addRevisionData'](_0x2cc27d);}const _0x45ed48=_0x57844e['getRevisions']();_0x45ed48['reverse']();for(let _0x594521=0x0;_0x594521<_0x45ed48['length']-0x1;_0x594521++){const _0x12f033=_0x45ed48[_0x594521],_0x2ce9f1=_0x45ed48[_0x594521+0x1];if(_0x12f033['fromVersion']<_0x2ce9f1['toVersion']){const _0x74f36e=_0x2ce9f1['toVersion'],_0x185c3c=Math['max'](_0x74f36e,_0x12f033['toVersion']);this['_fixRevision']({'revision':_0x12f033,'from':_0x74f36e,'to':_0x185c3c});}}}['_fixRevision']({revision:_0x43a217,from:_0x2de269,to:_0x5907df}={}){const _0x3b40ac=this['editor']['plugins']['get'](_0x5e51ff),_0x53907d=this['_revisionTracker']['buildRevisionData']({'revision':_0x43a217,'from':_0x2de269,'to':_0x5907df});_0x53907d['authors']=_0x53907d['authorsIds']['map'](_0x45d85b=>_0x3b40ac['getUser'](_0x45d85b)),_0x43a217['_update'](_0x53907d);}['_preventResendingRevisionData'](_0x512cff){const _0xb48dd6={};_0xb48dd6['id']=_0x512cff['id'];for(const _0xccb03f of Object['keys'](_0x512cff))'id'!==_0xccb03f&&(_0xb48dd6[_0xccb03f]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0xb48dd6['id'],_0xb48dd6,!0x0);}async['_fetchMissingUsers'](_0x201bb7){const _0x44a9c8=this['editor']['plugins']['get'](_0x5e51ff),{connection:_0x4cda27}=this['editor']['plugins']['get'](c),_0x2ffa8e=new Set();for(const _0x5c3135 of _0x201bb7){for(const _0x18a413 of _0x5c3135['authorsIds'])_0x4fbe5d(_0x18a413);_0x5c3135['creatorId']&&_0x4fbe5d(_0x5c3135['creatorId']);}if(0x0===_0x2ffa8e['size'])return;const _0x5dca43=await dt['getMany'](_0x4cda27,Array['from'](_0x2ffa8e));for(const _0x27a04f of _0x5dca43)_0x44a9c8['getUser'](_0x27a04f['id'])||_0x44a9c8['addUser'](_0x27a04f);function _0x4fbe5d(_0x5d5d6a){_0x44a9c8['getUser'](_0x5d5d6a)||_0x2ffa8e['add'](_0x5d5d6a);}}}function st(_0x51e0d8){return _0x51e0d8['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x51e0d8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x51e0d8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x2f4ec7{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x4a36b3{constructor(_0x509190){super(_0x509190);const _0x5e99f1=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x5e99f1['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x5e99f1['to']('usersCount',_0x53da39=>q(_0x509190,'CONNECTED_USERS',_0x53da39))}]});}}class es extends _0x4a36b3{['items'];['keystrokes'];constructor(_0x26f530){super(_0x26f530);const _0x401480=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5393f7(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x401480['if']('hasPopup'),'aria-expanded':_0x401480['to']('isExpanded',_0x51be11=>this['hasPopup']&&String(_0x51be11)),'aria-label':_0x401480['to']('hasPopup',_0x42d3cf=>q(_0x26f530,_0x42d3cf?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x401480['to']('hasPopup',_0x3c9cd6=>!!_0x3c9cd6&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x401480['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x584dae,_0xb9e711,_0x42cc5d)=>{this['element']&&(_0x42cc5d?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _ extends _0x4a36b3{['counterView'];['inlineListView'];constructor(_0x417ee4){super(_0x417ee4);const _0x20c9ed=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x417ee4),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1c659c of this['inlineListView']['items'])_0x1c659c['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',_0x20c9ed['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class M extends _0x4a36b3{['listWrapperView'];constructor(_0x2c5f36,_0x2a3e0f){super(_0x2c5f36),this['listWrapperView']=new mt(_0x2c5f36,_0x2a3e0f),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x2c5f36,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class mt extends _0x5b5e13{constructor(_0x5310aa,_0x3abe44){super(_0x5310aa);const _0x3fccd7=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3abe44?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3fccd7['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3fccd7['to']('role'),'aria-label':_0x3fccd7['to']('ariaLabel'),'aria-labelledby':_0x3fccd7['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x11ae4d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x501575=this['element'];_0x501575&&(this['_isScrollable']=Math['max'](_0x501575['scrollHeight'],_0x501575['clientHeight'])>0.8*window['innerHeight']);}}class E extends rt{['userView'];constructor(_0x1845dd,_0x1c69dd,_0x870c9a){super(_0x1845dd);const _0x4bd903=this['bindTemplate'];this['userView']=new ct(_0x1845dd,_0x1c69dd);const _0x2d655e={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1c69dd['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1c69dd['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1c69dd['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x870c9a&&(_0x2d655e['tag']='button',_0x2d655e['on']={'click':_0x4bd903['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2d655e);}['focus'](){this['element']['focus']();}}class T extends _0x4a36b3{['userView'];['markerView'];constructor(_0x27b1b3,_0xcecb0d,_0x12eb16){super(_0x27b1b3);const _0x38a948=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x27b1b3,_0xcecb0d),this['markerView']=new at(_0x27b1b3,_0xcecb0d);const _0x124d6f=new ot(_0x27b1b3);_0x124d6f['template']['tag']='span',_0x124d6f['text']=_0xcecb0d['name'];const _0x2cfbba={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x38a948['to']('isFocusable',_0x31906a=>!!_0x31906a&&0x0),'aria-labelledby':_0x124d6f['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x38a948['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x38a948['to']('hasTooltip',_0x25d187=>!_0x25d187),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x124d6f]};_0x12eb16&&(_0x2cfbba['tag']='button',_0x2cfbba['on']={'click':_0x38a948['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2cfbba);}}class at extends _0x4a36b3{constructor(_0x5cf8c3,_0x3823af){super(_0x5cf8c3),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3823af['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const D={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x5a8039{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x10e118){super(_0x10e118),this['context']['config']['define']('presenceList',D);const _0x328456=_0x10e118['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x328456)throw new _0x4bb820('presencelist-collapseat-invalid-format',this);if(_0x328456<0x1)throw new _0x4bb820('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3fd87a(),this['balloonPanelView']=new _0xd0549f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x4ea7f5 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4ea7f5);this['listenTo'](this['_allConnectedUsers'],'add',(_0x17b3f4,_0x3281db)=>{this['_handleUserAdd'](_0x3281db);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x289237,_0x2115f4)=>{this['_handleUserRemove'](_0x2115f4);});}['_createView'](){const _0x42cd9c=this['context'],_0x425af9=new _(this['context']['locale']),_0x40ffe5=this['balloonPanelView'];if(!_0x77664d(_0x42cd9c['config']['get']('presenceList.container')))throw new _0x4bb820('presencelist-missing-container',this);return _0x425af9['counterView']['bind']('usersCount')['to'](this),_0x425af9['bind']('isCollapsed')['to'](this,'usersCount',_0x14a05b=>{const {collapseAt:_0x12da3b,displayMe:_0x65b443}=_0x42cd9c['config']['get']('presenceList'),_0x46f9d5=_0x14a05b>=_0x12da3b;return _0x425af9['counterView']['isHidden']=!(0x1==_0x14a05b&&_0x65b443||_0x46f9d5),_0x46f9d5||this['hideDropdown'](),_0x46f9d5;}),_0x425af9['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x9a4c0e=>{const _0x2cad8e=_0x42cd9c['config']['get']('presenceList'),_0x103f40=new T(_0x42cd9c['locale'],_0x9a4c0e,!!_0x2cad8e['onClick']);return _0x103f40['bind']('hasTooltip')['to'](_0x425af9,'isCollapsed',_0x15f385=>!_0x15f385),_0x103f40['bind']('isFocusable')['to'](_0x425af9,'isCollapsed',_0x439acd=>!_0x439acd),_0x2cad8e['onClick']&&this['listenTo'](_0x103f40,'execute',()=>{this['view']['isCollapsed']||_0x2cad8e['onClick'](_0x9a4c0e,_0x103f40['element']);}),_0x103f40;}),this['listenTo'](_0x425af9['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x425af9['inlineListView']['keystrokes']['set']('Enter',(_0x371b61,_0x483ab0)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x483ab0());}),_0x425af9['render'](),_0x40ffe5['render'](),_0x17dab6({'emitter':_0x425af9,'activator':()=>_0x40ffe5['isVisible'],'contextElements':[_0x40ffe5['element'],_0x425af9['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x42cd9c['config']['get']('presenceList.container')['appendChild'](_0x425af9['element']),this['_bodyCollection']=new _0x24f1cb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x425af9;}['_handleUserAdd'](_0x30bbfe){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x30bbfe['isMe'])return;const _0x2c6191=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x2c6191&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x1094aa=_0x30bbfe['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x30bbfe,_0x1094aa);}['_handleUserRemove'](_0x24ebcf){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x24ebcf['id'])&&(this['currentDisplayedUsers']['remove'](_0x24ebcf['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x3f4e0f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3f4e0f['id']))return void this['currentDisplayedUsers']['add'](_0x3f4e0f,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x10742c=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new M(this['context']['locale'],!!_0x10742c['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x279614}=this['presenceDropdownView'];_0x279614['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3f08d7=>{if(!_0x10742c['displayMe']&&_0x3f08d7['isMe'])return null;const _0xee9584=new E(this['context']['locale'],_0x3f08d7,!!_0x10742c['onClick']);return _0x10742c['onClick']&&this['listenTo'](_0xee9584,'execute',()=>{_0x10742c['onClick'](_0x3f08d7,_0xee9584['element']);}),_0xee9584;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x279614['focus'](),_0x279614['checkIfScrollable']();const _0x4723a2=(_0x13045d,_0x3cf56f)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3cf56f();};_0x279614['keystrokes']['set']('Esc',_0x4723a2),_0x279614['keystrokes']['set']('Shift+Tab',_0x4723a2),_0x279614['keystrokes']['set']('Tab',(_0x17b77a,_0x3d1855)=>{!function(_0x2f177f){const _0x4731d9=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4841f3=>_0x4841f3+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x26866d=[...document['body']['querySelectorAll'](_0x4731d9)]['filter'](_0x38f9fb=>_0x38f9fb===document['activeElement']||_0x38f9fb['offsetWidth']+_0x38f9fb['offsetHeight']>0x0)['sort']((_0x4deb64,_0x3da990)=>(_0x4deb64['tabIndex']||0x0)-(_0x3da990['tabIndex']||0x0)),_0x99bef8=_0x26866d['indexOf'](_0x2f177f),_0x155336=_0x26866d[(_0x99bef8+0x1)%_0x26866d['length']];_0x155336&&_0x155336['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3d1855();}),_0x279614['focusTracker']['add'](this['view']['element']),_0x279614['focusTracker']['on']('change:isFocused',(_0x5cdacd,_0x12805a,_0x23751d)=>{_0x23751d||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class s extends _0x5a8039{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-real-time-collaboration",
|
|
3
|
-
"version": "44.0.0-alpha.
|
|
3
|
+
"version": "44.0.0-alpha.2",
|
|
4
4
|
"description": "A set of CKEditor 5 features enabling real-time collaboration within the editor using CKEditor Cloud Services.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "CKSource (http://cksource.com/)",
|
|
@@ -42,14 +42,14 @@
|
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@ckeditor/ckeditor-cloud-services-collaboration": "52.6.11",
|
|
45
|
-
"@ckeditor/ckeditor5-core": "44.0.0-alpha.
|
|
46
|
-
"@ckeditor/ckeditor5-engine": "44.0.0-alpha.
|
|
47
|
-
"@ckeditor/ckeditor5-operations-compressor": "44.0.0-alpha.
|
|
48
|
-
"@ckeditor/ckeditor5-theme-lark": "44.0.0-alpha.
|
|
49
|
-
"@ckeditor/ckeditor5-ui": "44.0.0-alpha.
|
|
50
|
-
"@ckeditor/ckeditor5-utils": "44.0.0-alpha.
|
|
51
|
-
"ckeditor5": "44.0.0-alpha.
|
|
52
|
-
"ckeditor5-collaboration": "44.0.0-alpha.
|
|
45
|
+
"@ckeditor/ckeditor5-core": "44.0.0-alpha.2",
|
|
46
|
+
"@ckeditor/ckeditor5-engine": "44.0.0-alpha.2",
|
|
47
|
+
"@ckeditor/ckeditor5-operations-compressor": "44.0.0-alpha.2",
|
|
48
|
+
"@ckeditor/ckeditor5-theme-lark": "44.0.0-alpha.2",
|
|
49
|
+
"@ckeditor/ckeditor5-ui": "44.0.0-alpha.2",
|
|
50
|
+
"@ckeditor/ckeditor5-utils": "44.0.0-alpha.2",
|
|
51
|
+
"ckeditor5": "44.0.0-alpha.2",
|
|
52
|
+
"ckeditor5-collaboration": "44.0.0-alpha.2",
|
|
53
53
|
"lodash-es": "4.17.21"
|
|
54
54
|
},
|
|
55
55
|
"types": "src/index.d.ts",
|