@ckeditor/ckeditor5-real-time-collaboration 47.4.0-alpha.5 → 47.4.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/real-time-collaboration.js +1 -1
- package/dist/index.js +6 -6
- package/package.json +14 -14
- package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
- package/src/presencelist/view/presencedropdownlistview.js +1 -1
- package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
- package/src/presencelist/view/presenceinlinelistview.js +1 -1
- package/src/realtimecollaborativeediting/realtimecollaborationclient.js +2 -2
- package/src/realtimecollaborativeediting/usermarkers.js +1 -1
- package/src/realtimecollaborativeediting/websocketgateway.js +2 -2
- package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +2 -2
- package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +2 -2
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{ContextPlugin as
|
|
24
|
-
((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2ad1d6];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x390de1){super(_0x390de1),this['set']('state',_0x5b0dbe['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x4ee733())();}['init'](){const _0x2337a9=this['context'],_0x21fe0d=_0x2337a9['plugins']['get']('CloudServices'),_0x32727c=_0x2337a9['plugins']['get'](_0x2ad1d6);if(!_0x21fe0d['token'])throw new _0xa9b19('websocketgateway-missing-token',this);if(!_0x21fe0d['webSocketUrl'])throw new _0xa9b19('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x21fe0d['token'],_0x21fe0d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1b1dbb=>{if(this['connection']=_0x1b1dbb,this['bind']('state')['to'](_0x1b1dbb,'state',this,'_isBrowserOffline',(_0x5b8311,_0x431e60)=>('connected'!==_0x5b8311&&(this['_shouldPluginsReconnect']=!0x0),_0x431e60||_0x5b8311!==_0x5b0dbe['CONNECTED']?_0x5b0dbe['DISCONNECTED']:this['state']==_0x5b0dbe['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5b0dbe['CONNECTING']):_0x5b0dbe['CONNECTED'])),this['connection']['on']('error',(_0x279cf3,_0x5bfcee)=>{if('limitExceeded'!==_0x5bfcee['code'])throw console['error'](_0x5bfcee),new _0xa9b19('cloudservices-init',null,{'originalError':_0x5bfcee});_0x32727c['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'});}),!_0x1b1dbb['me'])return new Promise(_0x3f8c6f=>_0x1b1dbb['on']('change:me',_0x3f8c6f));})['catch'](_0x5cbdf9=>{throw console['error'](_0x5cbdf9),new _0xa9b19('cloudservices-init',null,{'originalError':_0x5cbdf9});});}['addToReconnectionStack'](_0x177fdb){if('function'!=typeof _0x177fdb['reconnect'])throw new _0xa9b19('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x177fdb))throw new _0xa9b19('websocketgateway-plugin-already-registered',this,{'name':_0x177fdb['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x177fdb);}['removeFromReconnectionStack'](_0x5dbe60){this['_reconnectionStack']['delete'](_0x5dbe60);}['isInReconnectionStack'](_0x19a989){return this['_reconnectionStack']['has'](_0x19a989);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x121092=>_0x121092['reconnect']())))['then'](()=>this['state']=_0x5b0dbe['CONNECTED'])['catch'](_0x445d01=>{throw console['error'](_0x445d01),new _0xa9b19('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5b0dbe['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x4cb85d{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x1a7c05];}constructor(_0x4edefa){super(_0x4edefa),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3c6690(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1a7c05);}['init'](){const _0x37530e=this['context']['plugins']['get'](n);this['listenTo'](_0x37530e,'change:state',(_0x1968ba,_0x2a3125,_0x4d57e7)=>{if('connected'!==_0x4d57e7)this['channelSessions']['forEach'](_0x2e62c6=>_0x2e62c6['clear']()),this['channelConnectedUsers']['forEach'](_0x19da2a=>_0x19da2a['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5577ed,_0x5eccf8]of this['_registeredSessions'])for(const _0x90510a of _0x5eccf8)this['_handleSessionAdd'](_0x5577ed,_0x90510a);}}),this['_createUser'](_0x37530e['connection']['me'],!0x0);}['register'](_0x52210c,_0x30c3ad){if(this['_registeredSessions']['has'](_0x52210c))throw new _0xa9b19('sessions-register-already-registered',null,{'channelId':_0x52210c});this['_registeredSessions']['set'](_0x52210c,_0x30c3ad),this['channelSessions']['set'](_0x52210c,new _0x3c6690()),this['channelConnectedUsers']['set'](_0x52210c,new _0x3c6690()),this['listenTo'](_0x30c3ad,'add',(_0x57da7d,_0x397954)=>this['_handleSessionAdd'](_0x52210c,_0x397954)),this['listenTo'](_0x30c3ad,'remove',(_0x2545da,_0x48e630)=>this['_handleSessionRemove'](_0x52210c,_0x48e630));for(const _0x4bd2dd of _0x30c3ad)this['_handleSessionAdd'](_0x52210c,_0x4bd2dd);}['unregister'](_0x1d897f){if(!this['_registeredSessions']['has'](_0x1d897f))throw new _0xa9b19('sessions-unregister-not-exist',null,{'channelId':_0x1d897f});const _0xfe04bd=this['_registeredSessions']['get'](_0x1d897f);this['stopListening'](_0xfe04bd);for(const _0x515005 of _0xfe04bd)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x1d897f,_0x515005);this['_registeredSessions']['delete'](_0x1d897f),this['channelSessions']['delete'](_0x1d897f),this['channelConnectedUsers']['delete'](_0x1d897f);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x2bae80){for(const _0x3a4a9e of this['channelSessions']['values']())for(const _0x3da473 of _0x3a4a9e)if(_0x3da473['id']===_0x2bae80)return _0x3da473['user'];}['getUserSessions'](_0x39189c,_0x606004){const _0xe58e73=_0x606004?[this['channelSessions']['get'](_0x606004)]:this['channelSessions']['values'](),_0x140fc5=new Set();for(const _0x566d96 of _0xe58e73)for(const _0x4e03e1 of _0x566d96)_0x4e03e1['user']['id']===_0x39189c['id']&&_0x140fc5['add'](_0x4e03e1['id']);return _0x140fc5;}['getUserRole'](_0x46041d){for(const _0x14370b of this['channelSessions']['values']())for(const _0x52acfe of _0x14370b)if(_0x52acfe['user']===_0x46041d)return _0x52acfe['role'];}['_handleSessionAdd'](_0x717e26,_0x4a21b0){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x9dd620=_0x4a21b0['user'],_0x159fb7=this['_users']['getUser'](_0x9dd620['id'])||this['_createUser'](_0x9dd620),_0x58ca61=Object['assign']({},_0x4a21b0,{'user':_0x159fb7});if(this['channelSessions']['get'](_0x717e26)['add'](_0x58ca61),!_0x9dd620['hiddenInPresenceList']){const _0x18c40a=this['channelConnectedUsers']['get'](_0x717e26);_0x18c40a['has'](_0x159fb7['id'])||_0x18c40a['add'](_0x159fb7),this['allConnectedUsers']['has'](_0x159fb7['id'])||_0x9dd620['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x159fb7,_0x159fb7['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x717e26,{'channelId':_0x717e26,'session':_0x58ca61});}['_handleSessionRemove'](_0x30e533,_0x146c4f){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x8ed00=this['channelConnectedUsers']['get'](_0x30e533),_0x3dbd29=_0x146c4f['user'];_0x3dbd29['id']&&(this['channelSessions']['get'](_0x30e533)['remove'](_0x146c4f['id']),_0x8ed00['has'](_0x3dbd29['id'])&&!this['getUserSessions'](_0x3dbd29,_0x30e533)['size']&&_0x8ed00['remove'](_0x3dbd29['id']),this['allConnectedUsers']['get'](_0x3dbd29['id'])&&!this['getUserSessions'](_0x3dbd29)['size']&&this['allConnectedUsers']['remove'](_0x3dbd29['id']));}['_createUser'](_0x1e7591,_0x2663cb){const _0x4325f4=this['_users']['addUser'](_0x1e7591);return _0x2663cb&&this['_users']['defineMe'](_0x1e7591['id']),_0x4325f4['orderNumber']=this['_uniqueUsersCount']++,_0x4325f4;}}class W extends _0x532c83{['_domEmitter']=new(_0x4ee733())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x36893e=this['editor'],_0x27a538=_0x36893e['plugins']['get'](i);_0x36893e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5d4b18,{writer:_0x219002})=>function(_0x4c2192,_0x145721,_0x318a83,_0x37a74f){const _0x254bde=_0x4c2192['markerName']['split'](':')[0x2],_0x2b7206=_0x318a83['getUserBySessionId'](_0x254bde);if(!_0x2b7206||_0x254bde===_0x318a83['mySessionId'])return;if(!_0x37a74f['model']['schema']['checkChild'](_0x4c2192['markerRange']['start'],'$text'))return;const _0x1c6789={'class':'ck-user__marker\x20'+_0x2b7206['color']['getMarkerClass'](),'data-name':_0x2b7206['name'],'data-session-id':_0x254bde},_0x5844fa=_0x37a74f['model']['markers']['get'](_0x4c2192['markerName']),_0x1ba2d3=_0x5844fa['getStart'](),_0x35f84b=_0x1ba2d3['nodeAfter'],_0x1d5ce2=_0x37a74f['model']['schema'];if(_0x35f84b&&_0x1d5ce2['isObject'](_0x35f84b)&&_0x1d5ce2['isInline'](_0x35f84b)&&!_0x37a74f['model']['markers']['get']('user:range:'+_0x254bde)['getRange']()['isCollapsed'])return;const _0x25ae13=_0x1ba2d3['parent'];return _0x37a74f['model']['schema']['isLimit'](_0x25ae13)&&!_0x37a74f['model']['hasContent'](_0x25ae13)&&(_0x1c6789['contenteditable']=!0x1),function(_0x5a22e9,_0x3a06a1,_0x23c463){const _0x5a4c40=_0x5a22e9['createUIElement']('span',_0x3a06a1);return _0x5a22e9['setCustomProperty']('userPositionMarker',!0x0,_0x5a4c40),_0x5a4c40['render']=function(_0x3ea42a){const _0x2d0855=this['toDomElement'](_0x3ea42a),_0x392832=document['createElement']('span');return _0x392832['classList']['add']('ck-user__marker-tooltip'),_0x392832['setAttribute']('contenteditable','false'),_0x392832['setAttribute']('spellcheck','false'),_0x392832['textContent']=_0x23c463['name'],_0x2d0855['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x392832['outerHTML']+'',_0x2d0855['addEventListener']('mouseenter',()=>{_0x2d0855['classList']['add']('ck-user__marker_hovered');}),_0x2d0855['addEventListener']('mouseleave',()=>{_0x2d0855['classList']['remove']('ck-user__marker_hovered');}),_0x2d0855;},_0x5a4c40['isSimilar']=function(_0x3f2153){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3f2153['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3f2153['getAttribute']('data-session-id'));},_0x5a4c40;}(_0x145721,_0x1c6789,_0x2b7206);}(_0x5d4b18,_0x219002,_0x27a538,_0x36893e)}),_0x36893e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x33980e=>function(_0x281de2,_0x4a68c5){const _0x1d7635=_0x281de2['markerName']['split'](':')[0x2];if(_0x1d7635===_0x4a68c5['mySessionId'])return null;const _0x3beb7a=_0x4a68c5['getUserBySessionId'](_0x1d7635);if(!_0x3beb7a)return{'id':_0x1d7635,'classes':[]};return{'id':_0x1d7635,'classes':['ck-user__selection',_0x3beb7a['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1d7635},'priority':0x7d0+_0x3beb7a['orderNumber']};}(_0x33980e,_0x27a538)}),function(_0x474d8a){const _0x3be3dd=_0x474d8a['model'],_0x1f3e22=new Map(),_0x24c4ca=_0x474d8a['plugins']['get'](i);_0x3be3dd['markers']['on']('update:user:range',(_0x17f008,_0x3bb61c,_0x35b0b0,_0x52a0de)=>{if(!_0x52a0de&&_0x1f3e22['get'](_0x3bb61c['name']))return _0x1f3e22['get'](_0x3bb61c['name'])['detach'](),void _0x1f3e22['delete'](_0x3bb61c['name']);const _0x286dbb=_0x3bb61c['name']['split'](':')[0x2];if(_0x286dbb===_0x24c4ca['mySessionId'])return;const _0x3aac00='user:position:'+_0x286dbb;_0x3be3dd['markers']['has'](_0x3aac00)&&_0x474d8a['editing']['reconvertMarker'](_0x3aac00),_0x3bb61c['on']('change:range',(_0x11c811,_0x3bb547,_0x412467)=>{if('$graveyard'!=_0x3bb547['root']['rootName']&&'$graveyard'==_0x3bb61c['getRange']()['root']['rootName']&&!_0x1f3e22['has'](_0x3bb61c['name'])){const _0x32e970=_0x3be3dd['schema']['getNearestSelectionRange'](_0x412467['deletionPosition']);if(_0x32e970){const _0xa0d045=_0x4bf6b4['fromRange'](_0x32e970);_0x1f3e22['set'](_0x3bb61c['name'],_0xa0d045),_0xa0d045['on']('change:range',(_0x2926f4,_0x22156f,_0x124087)=>{if('$graveyard'==_0xa0d045['root']['rootName']){const _0x127e2d=_0x3be3dd['schema']['getNearestSelectionRange'](_0x124087['deletionPosition']);_0x127e2d?(_0xa0d045['start']=_0x127e2d['start'],_0xa0d045['end']=_0x127e2d['end']):(_0x1f3e22['delete'](_0x3bb61c['name']),_0xa0d045['detach']());}});}}});}),_0x3be3dd['document']['on']('change',()=>{_0x1f3e22['size']>0x0&&_0x3be3dd['enqueueChange']({'isUndoable':!0x1},_0x1acdb8=>{for(const [_0x232126,_0x111827]of _0x1f3e22)'$graveyard'==_0x3be3dd['markers']['get'](_0x232126)['getRange']()['root']['rootName']&&(re(_0x232126['split'](':')[0x2],_0x111827['toRange'](),_0x3be3dd,_0x1acdb8),_0x111827['detach']());_0x1f3e22['clear']();});});}(_0x36893e),this['_domEmitter']['listenTo'](_0x553c6f['document'],'keydown',(_0x47ed33,{key:_0x3e75bb})=>{'Escape'===_0x3e75bb&&function(_0x1bd36d){_0x1bd36d['editing']['view']['change'](_0x5fcc35=>{for(const _0x4cbfc0 of _0x1bd36d['model']['markers']){if(!_0x4cbfc0['name']['startsWith']('user:position'))continue;const _0x3fb689=_0x1bd36d['editing']['mapper']['markerNameToElements'](_0x4cbfc0['name']);if(_0x3fb689){for(const _0x3d4295 of _0x3fb689)_0x5fcc35['removeClass']('ck-user__marker_hovered',_0x3d4295);}}});}(_0x36893e);},{'useCapture':!0x0});}['afterInit'](){const _0x5b6539=this['editor'],_0x201a24=_0x5b6539['commands']['get']('undo');_0x201a24&&_0x5b6539['model']['on']('applyOperation',(_0x40d6db,_0x4d4726)=>{const _0x1a9055=_0x4d4726[0x0];if(!_0x1a9055['isDocumentOperation'])return;if('marker'!=_0x1a9055['type']||!_0x1a9055['name']['startsWith']('user:'))return;const _0x39e1ea=_0x1a9055['batch'];_0x201a24['_createdBatches']['has'](_0x39e1ea)&&(_0x1a9055['newRange']=_0x1a9055['oldRange']?_0x5b6539['model']['createRange'](_0x1a9055['oldRange']['start'],_0x1a9055['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x559dc1=this['editor'],_0x3c2445=_0x559dc1['model']['document'],_0x26fd89=_0x559dc1['plugins']['get'](i);_0x559dc1['model']['enqueueChange']({'isUndoable':!0x1},_0x4ba919=>{const _0xe3201='user:range:'+_0x26fd89['mySessionId'],_0x42e8a4='user:position:'+_0x26fd89['mySessionId'],_0x59c3d4=_0x559dc1['model']['markers']['has'](_0xe3201);_0x559dc1['editing']['view']['hasDomSelection']?re(_0x26fd89['mySessionId'],_0x3c2445['selection']['getFirstRange'](),_0x559dc1['model'],_0x4ba919):_0x59c3d4&&(_0x4ba919['removeMarker'](_0xe3201),_0x4ba919['removeMarker'](_0x42e8a4));});}}function re(_0x2bfe10,_0x2147e1,_0x563483,_0x3eced7){const _0x2a7f11='user:range:'+_0x2bfe10,_0x48a052='user:position:'+_0x2bfe10,_0x843f02=_0x2147e1['getContainedElement']();let _0x1367e2=_0x2147e1['start'];if(_0x843f02&&_0x843f02['is']('element','tableCell')){const _0x394e68=function(_0x18b77f,_0x775fee){for(const _0xeda196 of _0x18b77f['getPositions']())if(_0x775fee['schema']['checkChild'](_0xeda196,'$text'))return _0xeda196;}(_0x2147e1,_0x563483);_0x394e68&&(_0x1367e2=_0x394e68,_0x2147e1=_0x3eced7['createRange'](_0x1367e2));}const _0x517fdd=_0x3eced7['createRange'](_0x1367e2);_0x563483['markers']['has'](_0x2a7f11)?(_0x3eced7['updateMarker'](_0x2a7f11,{'range':_0x2147e1}),_0x3eced7['updateMarker'](_0x48a052,{'range':_0x517fdd})):(_0x3eced7['addMarker'](_0x2a7f11,{'range':_0x2147e1,'usingOperation':!0x0}),_0x3eced7['addMarker'](_0x48a052,{'range':_0x517fdd,'usingOperation':!0x0}));}function q(_0x1fdb68,_0x19ac56,_0x5916e3){const _0x4158b4=_0x1fdb68['t'],t=_0x1fdb68['t'];switch(_0x19ac56){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 _0x4158b4({'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'},_0x5916e3);default:return'';}}let K=0x1;class l extends _0x532c83{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x51f844)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,W,_0x37736b,_0x1a7c05,_0x2ad1d6];}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 _0x46edba=this['serverHistory']['getOperations']();for(let _0x268de6=_0x46edba['length']-0x1;_0x268de6>=0x0;_0x268de6--){const _0x5a9cb6=_0x46edba[_0x268de6];if(!this['_disconnectionOperations']['has'](_0x5a9cb6))return _0x5a9cb6['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x48ca18){if(super(_0x48ca18),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x38e4be(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xa9b19('collaboration-missing-channelid',this);const _0x43b315=_0x48ca18['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x43b315,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3bde43(),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 _0x568a8b=this['editor'],_0x3168d6=_0x568a8b['plugins']['get'](_0x1a7c05),_0x54fc9f=_0x568a8b['plugins']['get'](n);this['listenTo'](_0x3168d6,'getOperationAuthor',(_0x25a7a4,_0x123056)=>{const _0x350c1d=_0x123056[0x0];_0x350c1d['_authorId']&&(_0x25a7a4['return']=_0x3168d6['getUser'](_0x350c1d['_authorId']),_0x25a7a4['stop']()),null===_0x350c1d['_authorId']&&(_0x25a7a4['return']=null,_0x25a7a4['stop']());},{'priority':'high'}),this['listenTo'](_0x568a8b['model']['document']['selection'],'change:range',(_0x2bc5f3,_0x336c20)=>{_0x336c20['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x568a8b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x568a8b['model']['on']('applyOperation',(_0x3ebe22,_0x2ec07d)=>{const _0x10272c=_0x2ec07d[0x0];_0x10272c['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x10272c),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x54fc9f,'state',this,'_hasSynchronizationProblem',(_0x34b511,_0x3b4ea9)=>'connected'===_0x34b511&&!_0x3b4ea9),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x568a8b['disableReadOnlyMode']('rtc-offline'):_0x568a8b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x568a8b['disableReadOnlyMode']('rtc-offline'):_0x568a8b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1675e4=this['editor']['plugins']['get'](i),_0x5eb20b=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x1675e4['unregister'](this['_channelId']);const _0x1c79cc=await this['_service']['reconnect'](_0x5eb20b['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1c79cc)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0xdbf584=await this['_service']['getConnectedSessions']();_0x1675e4['register'](this['_channelId'],_0xdbf584),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x18f189){if(function(_0x47b17b){return'404'===_0x47b17b['code'];}(_0x18f189)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5312ff){return'409'===_0x5312ff['code'];}(_0x18f189)){const _0x41bcb6=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'](_0x41bcb6);}else{if(!(_0x18f189 instanceof J))throw _0x18f189;this['_handleReconnectionError']();}}}}['destroy'](){const _0x23862c=this['editor']['plugins']['get'](n),_0x5bcca7=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5bcca7['channelSessions']['has'](this['_channelId'])&&_0x5bcca7['unregister'](this['_channelId']),_0x23862c['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x58c4fd){if(this['sessionId']!==_0x58c4fd['sessionId']&&this['_lastSyncedOperationId']!==_0x58c4fd['lastOperationId'])throw new J();return this['sessionId']=_0x58c4fd['sessionId'],this['_handleServerResponse']([],{..._0x58c4fd,'wereChangesApplied':!0x1,'data':_0x58c4fd['data']},'reconnect');}async['_connectService'](_0x56e0d6,_0x2f9b58=!0x1){const {connection:_0x4afd45}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x4afd45,this['_channelId'])['then'](_0xd904da=>this['_initSessionsHandling'](_0xd904da))['catch'](_0x29ce30=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x29ce30);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x408c77,_0x58ddc1)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x58ddc1);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x17cc6f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x56e0d6);this['_isPendingUpdate']=!0x0;const _0x34ce11=await this['_service']['connect'](_0x4afd45,this['_compressOperations'](_0x56e0d6),_0x17cc6f);if(this['sessionId']=_0x34ce11['sessionId'],_0x2f9b58){if(!_0x34ce11['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x34ce11['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x56e0d6,_0x34ce11,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x34ce11,_0x56e0d6);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1f64a1=this['editor']['plugins']['get'](i),_0x177992=this['editor']['plugins']['get'](W),_0x3607b6=_0x1f64a1['channelSessions']['get'](this['_channelId']);_0x3607b6&&_0x3607b6['length']>0x1?_0x177992['createUserMarkerOperations']():this['listenTo'](_0x1f64a1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1f64a1['channelSessions']['get'](this['_channelId'])['length']&&_0x177992['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x6aa47d,_0x4aa88c,_0x35f6c8,_0x45e189){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4aa88c){const _0x279857=this['_decompressOperations'](_0x35f6c8,_0x45e189);await this['_fetchMissingUsers'](_0x279857),this['_handleExternalOperations'](_0x279857,_0x4aa88c,_0x35f6c8['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x103886}=this['editor'];let _0x24178b;try{_0x24178b=await this['_service']['getDocumentDetails']();}catch{const _0x3e9164=q(_0x103886,'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'](_0x3e9164);}const _0x52fe44=_0x24178b['currentDocumentSession']||_0x24178b['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x52fe44['lastOperationId']){const _0x3b91ef=q(_0x103886,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x3b91ef);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x1c6bd5){const _0x37e58b=this['editor']['plugins']['get'](i);this['listenTo'](_0x37e58b,'sessionAdd:'+this['_channelId'],(_0x37cc5b,{session:_0x281cd5})=>{if(_0x281cd5['id']===_0x37e58b['mySessionId']){_0x37cc5b['off']();const _0x13e7a6=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3e9f11=_0x281cd5['permissions'];_0x13e7a6&&_0x13e7a6['isEnabled']&&(_0x3e9f11=_0x3e9f11['filter'](_0x2c51b9=>'document:write'!==_0x2c51b9)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3e9f11,this['_channelId']);}}),_0x37e58b['register'](this['_channelId'],_0x1c6bd5);}['_initThrowingOnDataSet'](){const _0x43b700=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5d84a1)=>{if(!_0x5d84a1[_0x5d84a1['length']-0x1]['suppressErrorInCollaboration'])throw new _0xa9b19('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x43b700['apply'](this['editor']['data'],_0x5d84a1);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x3d8812,[_0x586919])=>{if(this['_document']['version'])throw new _0xa9b19('realtimecollaborationclient-init-document-already-initialized',this);_0x3d8812['stop'](),this['_setPendingAction']();const _0x197395=this['editor']['config']['get']('rootsAttributes'),_0x2f4979=this['_getOperationsFromInitData'](_0x586919,_0x197395);0x0==_0x2f4979['length']&&_0x2f4979['push'](new _0x28f9e4(0x0)),_0x3d8812['return']=this['_connectService'](_0x2f4979)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3fd632=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3fd632))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x29f4f8,[_0x33d5a2,_0x103a88])=>{_0x29f4f8['stop']();const _0x40f768=this['editor']['model']['document']['getRoot'](_0x33d5a2);if(!this['_knownRootNames']['has'](_0x33d5a2)){const _0xa03b41=_0x103a88&&_0x103a88['data']?_0x103a88['data']:'',_0x399efb=_0x103a88&&_0x103a88['attributes']?_0x103a88['attributes']:{};await this['_loadRoot'](_0x33d5a2,_0xa03b41,_0x399efb);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x40f768['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x40f768);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x33fe31){const _0x448bd5=this['editor']['plugins']['get'](_0x1a7c05),{connection:_0xf075ef}=this['editor']['plugins']['get'](n),_0x124b61=new Set();for(const _0x49a80f of _0x33fe31){const _0x3e53e8=_0x49a80f['_authorId'];_0x3e53e8&&!_0x448bd5['getUser'](_0x3e53e8)&&_0x124b61['add'](_0x3e53e8);}if(0x0===_0x124b61['size'])return;const _0x10643a=await at['getMany'](_0xf075ef,Array['from'](_0x124b61));for(const _0x44307f of _0x10643a)_0x448bd5['getUser'](_0x44307f['id'])||_0x448bd5['addUser'](_0x44307f);}['_getOperationsFromInitData'](_0x5bcab5,_0x5d4f52={}){const _0x4ae089=this['editor']['model'],_0x2dfb30=[];let _0x4f154b=0x0;const _0x2b952d='string'==typeof _0x5bcab5?{'main':_0x5bcab5}:_0x5bcab5;for(const _0x42dc48 of Object['keys'](_0x2b952d)){if(!this['_document']['roots']['has'](_0x42dc48))throw new _0xa9b19('realtimecollaborationclient-init-non-existent-root',this);const _0x21fa36=this['editor']['data']['parse'](_0x2b952d[_0x42dc48]),_0x201ba0=this['_document']['getRoot'](_0x42dc48),_0xadb362=new _0x5aa108(_0x4ae089['createPositionAt'](_0x201ba0,0x0),_0x21fa36,_0x4f154b++);_0x2dfb30['push'](_0xadb362);for(const [_0x6c4f0f,_0x50ab67]of _0x21fa36['markers']){const _0x32fd42=_0x4ae089['createRange'](_0x4ae089['createPositionFromPath'](_0x201ba0,_0x50ab67['start']['path']['slice']()),_0x4ae089['createPositionFromPath'](_0x201ba0,_0x50ab67['end']['path']['slice']())),_0x59fb10=new _0x295f41(_0x6c4f0f,null,_0x32fd42,_0x4ae089['markers'],!0x0,_0x4f154b++);_0x2dfb30['push'](_0x59fb10);}}if(_0x5d4f52)for(const [_0xc76d24,_0x26b2ce]of Object['entries'](_0x5d4f52)){const _0x9494ae=_0x4ae089['document']['getRoot'](_0xc76d24);if(!_0x9494ae)throw new _0xa9b19('multi-root-editor-root-attributes-no-root',null);for(const [_0x1b1818,_0x539a03]of Object['entries'](_0x26b2ce))if(null!==_0x539a03){const _0x416491=new _0x210995(_0x9494ae,_0x1b1818,null,_0x539a03,_0x4f154b++);_0x2dfb30['push'](_0x416491);}}return _0x2dfb30;}async['_loadRoot'](_0x2f646a,_0x5e3692,_0x47e6e7){this['_getOperationsFromInitData']({[_0x2f646a]:_0x5e3692},{[_0x2f646a]:_0x47e6e7})['forEach']((_0x2dd9e1,_0x378ac8)=>{_0x2dd9e1['baseVersion']=this['_document']['version']+_0x378ac8,_0x2dd9e1['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2dd9e1);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x373a0c,_0xdc861a){let _0x320d32;this['_offset']=_0x373a0c['offset'];const _0x1c1c79=_0x373a0c['wereChangesApplied']&&!_0x373a0c['initData'],_0x59518f=_0x1c1c79?0x0:_0x373a0c['data']['baseVersion'];if(_0xdc861a['forEach'](_0x417191=>{_0x417191['_isInit']=!0x0,_0x417191['createdAt']=_0x373a0c['sessionCreatedAt'],_0x417191['_authorId']=null;}),_0x1c1c79)_0x320d32=_0xdc861a,this['_applyOperationsSet'](_0x320d32,_0x1c1c79);else{if(_0x373a0c['initData']){const _0x1810b7=this['_getOperationsFromInitData'](_0x373a0c['initData']);this['_document']['history']['version']=-_0x1810b7['length'],_0x1810b7['forEach'](_0xcb4110=>{_0xcb4110['baseVersion']-=_0x1810b7['length'],_0xcb4110['createdAt']=_0x373a0c['sessionCreatedAt'],_0xcb4110['_isInit']=!0x0,_0xcb4110['_authorId']=null;}),this['_applyOperationsSet'](_0x1810b7,!0x0),this['serverHistory']['version']=-_0x1810b7['length']+this['_offset'],this['_updateServerHistory'](_0x1810b7);}this['_document']['history']['version']=_0x59518f,_0x320d32=this['_decompressOperations'](_0x373a0c['data'],_0x373a0c['metadata']),await this['_fetchMissingUsers'](_0x320d32),this['_applyOperationsSet'](_0x320d32,_0x1c1c79);}_0x373a0c['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x320d32,_0x373a0c['lastOperationId']),this['_lastSyncedOperationId']=_0x373a0c['lastOperationId']),this['serverHistory']['version']=_0x59518f+this['_offset'],this['_updateServerHistory'](_0x320d32),_0xdc861a['filter'](_0x562446=>{const _0x754463=this['_getAffectedRoot'](_0x562446);return _0x754463&&!this['_knownRootNames']['has'](_0x754463);})['forEach']((_0x6a6b7a,_0x458c00)=>{_0x6a6b7a['baseVersion']=this['_document']['version']+_0x458c00,this['_saveOperationInBuffer'](_0x6a6b7a);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3d7b42,_0x58bd71){const _0x40d979=_0x58bd71&&_0x58bd71['message'];if(_0x40d979&&_0x40d979['startsWith']('realtimecollaborationclient'))throw _0x58bd71;const _0x349f35=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x349f35['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xa9b19(_0x3d7b42,this['editor'],_0x40d979?{'originalError':_0x40d979}:void 0x0);}['_saveOperationInBuffer'](_0x3f9542){this['_knownOperations']['has'](_0x3f9542)||(this['_knownOperations']['add'](_0x3f9542),this['_bufferedOperations']['push'](_0x3f9542),this['_pendingAction']||'marker'==_0x3f9542['type']&&!_0x3f9542['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x2986ea=!0x1){!_0x2986ea&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xeddd31=>{_0xeddd31&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2582dc=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x537c1a){return _0x537c1a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x537c1a['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x537c1a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2582dc)||this['_crash'](_0x2582dc['message'],_0x2582dc);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x45cdb3=>{this['on']('change:_isPendingUpdate',()=>{_0x45cdb3();});});}async['_sendBufferedOperations'](){const _0x2d309b=this['editor']['plugins']['get'](W);if(this['_shouldSendSelectionUpdate']()&&(_0x2d309b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x480e45=[...this['_bufferedOperations']];for(const _0x4ae24e of _0x480e45)_0x4ae24e['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4ae24e);const _0x340fa7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x480e45),_0x29e112=K++,_0x3e74e9=this['_compressOperations'](_0x480e45),_0x2fa4d5=await this['_service']['sendOperations'](_0x3e74e9,_0x3e74e9['baseVersion'],_0x340fa7);try{return await this['_handleServerResponse'](_0x480e45,_0x2fa4d5,_0x29e112);}catch(_0x1b2116){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1b2116);}}async['_handleServerResponse'](_0x5a649d,_0x12dbe3,_0x34182c){if('error'in _0x12dbe3)throw _0x12dbe3['error'];let _0x583c3a=!0x1;if(_0x12dbe3['wereChangesApplied']){_0x12dbe3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x12dbe3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4aa520=>!_0x5a649d['includes'](_0x4aa520));for(const _0x1678ad of _0x5a649d)_0x1678ad['createdAt']='lastOperationAcceptedAt'in _0x12dbe3&&_0x12dbe3['lastOperationAcceptedAt']||void 0x0;Q(_0x5a649d,_0x12dbe3['version']-_0x5a649d['length']),this['_updateServerHistory'](_0x5a649d);const _0x562672=_0x5a649d['filter'](_0x1cca95=>{if(!_0x1cca95['_isInit'])return!0x1;const _0x8a65e1=this['_getAffectedRoot'](_0x1cca95);return _0x8a65e1&&!this['_knownRootNames']['has'](_0x8a65e1);});Q(_0x562672,this['_document']['version']),this['_applyOperationsSet'](_0x562672),_0x583c3a=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x351645=this['_decompressOperations'](_0x12dbe3['data'],_0x12dbe3['metadata'])['filter'](_0x3b3144=>_0x3b3144['baseVersion']>=this['_lastServerVersion']);_0x351645['forEach'](_0x4bbf46=>this['_addKnownRoot'](_0x4bbf46)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5742b4=>!_0x5742b4['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5742b4))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x351645),_0x583c3a=this['_handleExternalOperations'](_0x351645,_0x12dbe3['version'],_0x12dbe3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x583c3a?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x19d56c,_0x5eb343,_0x40f79b){try{const _0x48284c={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2fb7c6,operationsB:_0xd0210a,originalOperations:_0x9498ca}=_0x399e35(_0x19d56c,this['_bufferedOperations'],_0x48284c);Q(_0x2fb7c6,this['_document']['version']),Q(_0xd0210a,_0x5eb343);for(const _0x5c8c5d of _0x2fb7c6){const _0x474e1d=_0x9498ca['get'](_0x5c8c5d);_0x5c8c5d['_authorId']=_0x474e1d?_0x474e1d['_authorId']:null;}_0x40f79b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x19d56c,_0x40f79b),this['_lastSyncedOperationId']=_0x40f79b),this['_bufferedOperations']=[..._0xd0210a],this['_applyOperationsSet'](_0x2fb7c6),this['_updateServerHistory'](_0x19d56c);}catch(_0x41e527){return console['error'](_0x41e527),!0x1;}return!0x0;}['_applyOperationsSet'](_0x56a3d1,_0x434f9a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x529e00=>{for(const _0x3f5ef4 of _0x56a3d1)this['_knownOperations']['add'](_0x3f5ef4),this['_addKnownRoot'](_0x3f5ef4),_0x529e00['batch']['addOperation'](_0x3f5ef4),this['editor']['model']['applyOperation'](_0x3f5ef4);});}['_addKnownRoot'](_0x2e433a){const _0x406be7=this['_getAffectedRoot'](_0x2e433a);_0x406be7&&this['_knownRootNames']['add'](_0x406be7);}['_getAffectedRoot'](_0x25d167){let _0x347d20,_0xcd2021;switch(_0x25d167['type']){case'insert':_0x347d20=_0x25d167['position']['root'];break;case'marker':if(_0xcd2021=_0x25d167['newRange'],!_0xcd2021)return null;_0x347d20=_0xcd2021['root'];break;case'addRootAttribute':_0x347d20=_0x25d167['root'];break;case'addRoot':_0x347d20=_0x25d167['affectedSelectable'];break;case'move':_0x347d20=_0x25d167['targetPosition']['root'];break;default:return null;}return _0x347d20['rootName'];}['_updateServerHistory'](_0x9e85e4){_0x9e85e4['forEach'](_0x55da5f=>{const _0x337bfe=_0x55da5f['clone']();_0x337bfe['_authorId']=_0x55da5f['_authorId'],_0x337bfe['_isInit']=!!_0x55da5f['_isInit'],_0x337bfe['createdAt']=_0x55da5f['createdAt'],_0x337bfe['baseVersion']+=this['_offset'],_0x55da5f['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x337bfe),this['serverHistory']['addOperation'](_0x337bfe);});}['_handleReconnectionError'](_0x30475c){const _0x2e380a=this['editor']['plugins']['get']('Notification'),_0x335e1a=this['editor']['locale'];_0x30475c||(_0x30475c=q(_0x335e1a,'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.')),_0x2e380a['showWarning'](_0x30475c,{'title':q(_0x335e1a,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x37736b)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x37736b)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x916854){const _0xeb9dd=_0x916854['map'](_0x385238=>_0x385238['toJSON']());return this['_compressor']['compress'](_0xeb9dd);}['_decompressOperations'](_0x1b209d,_0x466034){return this['_compressor']['decompress'](_0x1b209d)['map']((_0x55cfac,_0x14ca0e)=>{const _0x35f982='init'==_0x466034[_0x14ca0e]['type'];if('InsertOperation'==_0x55cfac['__className']){const _0x4aaf12=_0x55cfac['position']['root'];!this['_document']['getRoot'](_0x4aaf12)&&(this['_document']['createRoot']('$root',_0x4aaf12)['_isAttached']=!0x1);}const _0x26593c=_0x1ba137['fromJSON'](_0x55cfac,this['_document']);return _0x26593c['wasUndone']=_0x55cfac['wasUndone'],_0x26593c['_isInit']=_0x35f982,_0x26593c['_authorId']=_0x35f982?null:_0x466034[_0x14ca0e]['userId'],_0x26593c['_isDisconnection']='cs:removeUser'===_0x466034[_0x14ca0e]['type'],_0x26593c['createdAt']=_0x466034[_0x14ca0e]['createdAt'],_0x26593c;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x1aad31=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1aad31&&_0x1aad31['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x509d60,_0x5f3a10){for(const _0x25b49f of _0x509d60)_0x25b49f['baseVersion']=_0x5f3a10++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x2233ae){this['_ignoredOperations']=_0x2233ae,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x18dbc6){let _0x3af197=_0x18dbc6['length'];for(;_0x3af197--;){const _0x520359=_0x18dbc6[_0x3af197];if(!this['_ignoredOperations']['has'](_0x520359)){if(!this['_operationToId']['has'](_0x520359)){const _0x2962b1=_0x2974f1()['slice'](0x1,0x12);this['_operationToId']['set'](_0x520359,_0x2962b1);}return this['_operationToId']['get'](_0x520359);}}}['setIdForTheLastOperation'](_0x55930b,_0x14695a){if(!_0x14695a)return;let _0x3486f9=_0x55930b['length'];for(;_0x3486f9--;){const _0x53273f=_0x55930b[_0x3486f9];this['_ignoredOperations']['has'](_0x53273f)||this['_operationToId']['set'](_0x53273f,_0x14695a);}}}class a extends _0x532c83{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x4cb85d{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x59ea95)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1a7c05];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4f0437){super(_0x4f0437),this['_services']=new Map();}async['init'](){const _0x24c8a9=this['context'],_0x161879=_0x24c8a9['plugins']['get']('CommentsRepository');if(_0x24c8a9['plugins']['get'](n)['addToReconnectionStack'](this),_0x161879['adapter']={'addCommentThread':async({channelId:_0x289fb5,threadId:_0x5a8e6c,comments:_0x59a29e,resolvedAt:_0x18d133,resolvedBy:_0x129869,context:_0x12c6fc,attributes:_0x3d436b})=>{const _0x4273d0=await this['_getService'](_0x289fb5)['addCommentThread']({'commentThreadId':_0x5a8e6c,'comments':_0x59a29e['map'](_0x1809ae=>function(_0x3d7262,_0x157b46,_0x4c6583){return{'commentThreadId':_0x4c6583,'commentId':_0x3d7262['commentId'],'userId':_0x3d7262['authorId'],'content':_0x3d7262['content'],'documentId':_0x157b46,'createdAt':_0x3d7262['createdAt'],'attributes':_0x3d7262['attributes']||{}};}(_0x1809ae,_0x289fb5,_0x5a8e6c)),'resolvedAt':_0x18d133,'resolvedBy':_0x129869,'context':_0x12c6fc,'attributes':_0x3d436b})['catch'](ht);return{'threadId':_0x4273d0['commentThreadId'],'comments':_0x4273d0['comments']};},'getCommentThread':async({channelId:_0xae2fe,threadId:_0x2e7c47})=>{const _0x406391=await this['_getService'](_0xae2fe)['getCommentThread'](_0x2e7c47)['catch'](F)['catch'](ht);return _0x406391?_0x406391['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x406391]),{'threadId':_0x406391['commentThreadId'],'comments':_0x406391['comments']['map'](S),'context':_0x406391['context'],'resolvedAt':_0x406391['resolvedAt'],'resolvedBy':_0x406391['resolvedBy'],'attributes':_0x406391['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x47e28a,threadId:_0x1c9608,context:_0x3ae22e,unlinkedAt:_0x2f7096,attributes:_0xca50a7})=>this['_getService'](_0x47e28a)['updateCommentThread']({'commentThreadId':_0x1c9608,'context':_0x3ae22e,'attributes':_0xca50a7,'unlinkedAt':_0x2f7096})['catch'](F)['catch'](ht),'resolveCommentThread':async({channelId:_0x58b1ab,threadId:_0x595b0f})=>{const _0x1b0043=await this['_getService'](_0x58b1ab)['resolveCommentThread'](_0x595b0f)['catch'](F)['catch'](ht);return{'threadId':_0x1b0043['commentThreadId'],'resolvedAt':_0x1b0043['resolvedAt'],'resolvedBy':_0x1b0043['resolvedBy']};},'reopenCommentThread':async({channelId:_0x20b8e6,threadId:_0x218901})=>this['_getService'](_0x20b8e6)['reopenCommentThread'](_0x218901)['catch'](F)['catch'](ht),'removeCommentThread':({channelId:_0x46f10c,threadId:_0x411a5f})=>this['_getService'](_0x46f10c)['removeCommentThread'](_0x411a5f)['catch'](F)['catch'](ht),'addComment':({channelId:_0x2d65e2,threadId:_0x1448b2,commentId:_0x3f047b,content:_0x2e4f3c,attributes:_0x1682cf})=>this['_getService'](_0x2d65e2)['addComment'](_0x1448b2,_0x3f047b,_0x2e4f3c,_0x1682cf)['catch'](ht),'updateComment':({channelId:_0x1c086d,threadId:_0x571166,commentId:_0x32a7fb,content:_0x424c11,attributes:_0x5a6fc3})=>this['_getService'](_0x1c086d)['updateComment'](_0x571166,_0x32a7fb,_0x424c11,_0x5a6fc3)['catch'](F)['catch'](ht),'removeComment':({channelId:_0xa8d3bb,threadId:_0x3a6003,commentId:_0x34aa8e})=>this['_getService'](_0xa8d3bb)['removeComment'](_0x3a6003,_0x34aa8e)['catch'](F)['catch'](ht)},_0x24c8a9 instanceof _0x31709a){const _0x8a7ec4=_0x24c8a9['config']['get']('collaboration.channelId'),_0x436ac3=_0x24c8a9['plugins']['get'](i);await this['_setUpService'](_0x8a7ec4);const _0x449b16=await this['_services']['get'](_0x8a7ec4)['getConnectedSessions']();this['listenTo'](_0x436ac3,'sessionAdd:'+_0x8a7ec4,(_0x4038d1,{session:_0x490db0})=>{_0x490db0['id']===_0x436ac3['mySessionId']&&(_0x4038d1['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x490db0['permissions'],_0x8a7ec4));}),_0x436ac3['register'](_0x8a7ec4,_0x449b16);}}async['_setUpService'](_0x268895){if(this['_services']['has'](_0x268895))throw new _0xa9b19('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x268895});const _0x1d9d52=this['context']['plugins']['get']('CommentsRepository'),_0x30b431=new s['CommentsService'](_0x268895);this['_services']['set'](_0x268895,_0x30b431),this['listenTo'](_0x30b431,'commentThreadAdded',(_0x745a77,_0x252cb2)=>{const {commentThreadId:_0x186929,documentId:_0x232358,context:_0x1d6227,attributes:_0x2351ed,resolvedAt:_0x1bd59c,resolvedBy:_0x56160a,comments:_0x220622}=_0x252cb2;_0x1d9d52['getCommentThread'](_0x186929)||_0x1d9d52['addCommentThread']({'threadId':_0x186929,'channelId':_0x232358,'comments':_0x220622?_0x220622['map'](S):[],'context':_0x1d6227,'attributes':_0x2351ed,'resolvedAt':_0x1bd59c,'resolvedBy':_0x56160a,'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentThreadUpdated',(_0x2f83fb,{commentThreadId:_0x3db8a9,documentId:_0x32ce0c,context:_0x53f970,unlinkedAt:_0x456d11,attributes:_0x1c5983})=>{_0x1d9d52['getCommentThread'](_0x3db8a9)&&_0x1d9d52['updateCommentThread']({'threadId':_0x3db8a9,'channelId':_0x32ce0c,'context':_0x53f970,'unlinkedAt':_0x456d11,'attributes':_0x1c5983,'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentThreadResolved',(_0x21b565,{commentThreadId:_0x3bbac8,resolvedBy:_0x351a35,resolvedAt:_0x1a639d})=>{const _0x42d01d=_0x1d9d52['getCommentThread'](_0x3bbac8);_0x42d01d&&_0x42d01d['resolve']({'resolvedBy':_0x351a35,'resolvedAt':_0x1a639d,'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentThreadReopened',(_0x29dfb0,{commentThreadId:_0x40c73e})=>{const _0x5c4e7d=_0x1d9d52['getCommentThread'](_0x40c73e);_0x5c4e7d&&_0x5c4e7d['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentThreadRemoved',(_0xe1f4cd,{commentThreadId:_0xb8e2a6})=>{const _0x6e3f30=_0x1d9d52['getCommentThread'](_0xb8e2a6);_0x6e3f30&&_0x6e3f30['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentAdded',(_0x491132,_0x5efd91)=>{const _0x49f187=_0x5efd91['commentThreadId'],_0x572046=_0x1d9d52['getCommentThread'](_0x49f187);_0x572046&&_0x572046['addComment']({...S(_0x5efd91),'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentUpdated',(_0x4449f6,{commentThreadId:_0x21e7cb,commentId:_0x27912e,content:_0x2f4db9,attributes:_0x5ba3fa})=>{const _0x569543=_0x1d9d52['getCommentThread'](_0x21e7cb);if(_0x569543){const _0x38dab4=_0x569543['getComment'](_0x27912e);_0x38dab4&&_0x38dab4['update']({'content':_0x2f4db9,'attributes':_0x5ba3fa,'isFromAdapter':!0x0});}}),this['listenTo'](_0x30b431,'commentRemoved',(_0x2501eb,{commentThreadId:_0x1e9396,commentId:_0x3c8ba7})=>{const _0xa5fb88=_0x1d9d52['getCommentThread'](_0x1e9396);if(_0xa5fb88){const _0x4a4616=_0xa5fb88['getComment'](_0x3c8ba7);_0x4a4616&&_0x4a4616['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x268895);}['destroy'](){if(this['context']instanceof _0x31709a){const _0x207313=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x207313);}}['_terminateService'](_0x255fa6){if(!this['_services']['has'](_0x255fa6))throw new _0xa9b19('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x255fa6});this['_getService'](_0x255fa6)['disconnect'](),this['_services']['delete'](_0x255fa6);}async['reconnect'](){for(const _0x19f707 of this['_services']['keys']())await this['_connectService'](_0x19f707);if(this['context']instanceof _0x31709a){const _0x42f24c=this['context']['config']['get']('collaboration.channelId'),_0x110fb3=this['context']['plugins']['get'](i);_0x110fb3['unregister'](_0x42f24c);const _0x1c3434=await this['_services']['get'](_0x42f24c)['getConnectedSessions']();_0x110fb3['register'](_0x42f24c,_0x1c3434);}}async['_connectService'](_0xc4ee2){const {connection:_0xc075aa}=this['context']['plugins']['get'](n),_0x2c77e4=this['context']['plugins']['get']('CommentsRepository'),_0x282873=this['_services']['get'](_0xc4ee2),_0x9efa43=await _0x282873['connect'](_0xc075aa);await this['_fetchMissingUsersForThreads'](_0x9efa43);const _0x1b26c2=new Set(Array['from'](_0x2c77e4['getCommentThreads']({'channelId':_0xc4ee2}),_0x2cf2b0=>_0x2cf2b0['id']));for(const _0x3a73c5 of _0x9efa43)_0x3a73c5['deletedAt']||_0x1b26c2['delete'](_0x3a73c5['commentThreadId']);for(const _0x49a47e of _0x1b26c2)_0x2c77e4['getCommentThread'](_0x49a47e)['remove']({'isFromAdapter':!0x0});for(const _0x1ebfc2 of _0x9efa43){let _0x3a7894=_0x2c77e4['getCommentThread'](_0x1ebfc2['commentThreadId']);const {commentThreadId:_0x4eded3,context:_0x3c2c00,attributes:_0xd91cc0,resolvedBy:_0x44a1e2,resolvedAt:_0x2fd592,unlinkedAt:_0x511c4c,deletedAt:_0x17941b}=_0x1ebfc2;if(_0x17941b)continue;_0x3a7894||(_0x3a7894=_0x2c77e4['addCommentThread']({'channelId':_0xc4ee2,'threadId':_0x4eded3,'context':_0x3c2c00,'attributes':_0xd91cc0||{},'resolvedBy':_0x44a1e2,'resolvedAt':_0x2fd592,'unlinkedAt':_0x511c4c,'isFromAdapter':!0x0}));const _0x52ee2f=new Set(Array['from'](_0x3a7894['comments'],_0x3af128=>_0x3af128['id']));for(const _0x377371 of _0x1ebfc2['comments'])_0x52ee2f['delete'](_0x377371['commentId']);for(const _0x2236de of _0x52ee2f)_0x3a7894['getComment'](_0x2236de)['remove']({'isFromAdapter':!0x0});for(const _0x20e470 of _0x1ebfc2['comments']){const _0x72a09c=_0x3a7894['getComment'](_0x20e470['commentId']);_0x72a09c?_0x72a09c['content']!==_0x20e470['content']&&_0x72a09c['update']({'content':_0x20e470['content'],'isFromAdapter':!0x0}):_0x3a7894['addComment'](Object['assign'](S(_0x20e470),{'isFromAdapter':!0x0}));}}}['_getService'](_0x10075c){if(!this['_services']['has'](_0x10075c))throw new _0xa9b19('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x10075c});return this['_services']['get'](_0x10075c);}async['_fetchMissingUsersForThreads'](_0x2d623f){const _0x5efc4d=this['context']['plugins']['get'](_0x1a7c05),{connection:_0xee9b}=this['context']['plugins']['get'](n),_0x36985a=new Set();for(const {resolvedBy:_0x4e2fa6,comments:_0x57cfa3}of _0x2d623f){_0x4e2fa6&&!_0x5efc4d['getUser'](_0x4e2fa6)&&_0x36985a['add'](_0x4e2fa6);for(const {userId:_0x2a9bba}of _0x57cfa3)_0x5efc4d['getUser'](_0x2a9bba)||_0x36985a['add'](_0x2a9bba);}if(0x0===_0x36985a['size'])return;const _0x23f80e=await at['getMany'](_0xee9b,Array['from'](_0x36985a));for(const _0x1648de of _0x23f80e)_0x5efc4d['getUser'](_0x1648de['id'])||_0x5efc4d['addUser'](_0x1648de);}}async function F(_0x329dfa){if('404'!==_0x329dfa['code'])throw _0x329dfa;}function ht(_0x14939b){if((_0xfd2da8=_0x14939b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xfd2da8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xfd2da8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xfd2da8;throw _0x14939b;}function S(_0x6061e){return{'threadId':_0x6061e['commentThreadId'],'commentId':_0x6061e['commentId'],'content':_0x6061e['content'],'createdAt':_0x6061e['createdAt'],'authorId':_0x6061e['userId'],'attributes':_0x6061e['attributes']||{}};}class m extends _0x532c83{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1a7c05];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x47df6d){super(_0x47df6d);const _0x53bdd3=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x53bdd3);}async['init'](){const _0x1ad3a7=this['editor']['plugins']['get'](l),_0x578990=_0x1ad3a7['serverHistory'],_0x405740=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x578990,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1ad3a7['sessionId']});const _0xd762c5=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x4387e3=await tt['isBundleUploaded'](_0x405740['connection'],_0xd762c5);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x35981f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x35981f)),'updateRevisions':async _0x581f2c=>{await this['_waitForServiceReady']();const _0xe6f650=this['_revisionTracker']['currentRevision'];if(_0x4387e3&&0x1===_0x581f2c['length']&&_0x581f2c[0x0]['id']===_0xe6f650['id'])return _0x581f2c;for(const _0xbbb695 of _0x581f2c)_0xbbb695['id']===_0xe6f650['id']&&(_0xbbb695['isEmptyCurrent']=_0xbbb695['fromVersion']===_0xbbb695['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x581f2c,this['_lastRequestId'])['then'](_0x5dbc3a=>(this['_lastRequestId']=_0x5dbc3a,_0x581f2c))['catch'](_0x321070=>{if(_(_0x321070)||'400'===_0x321070['code']&&void 0x0!==_0x321070['data']['wrongRequestId']){for(const _0x46561f of _0x581f2c){!this['_revisionTracker']['repository']['getRevision'](_0x46561f['id'])||this['_revisionTracker']['_bufferUpdate'](_0x46561f['id'],_0x46561f,!0x1);}if(_(_0x321070))throw _0x321070;return _0x581f2c;}throw _0x321070;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x462973,{revisionsData:_0x16a4fd,requestId:_0x4af970})=>{Math['max'](..._0x16a4fd['map'](_0x1659c5=>_0x1659c5['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x16a4fd,_0x4af970);}):this['_handleRevisionsUpdate'](_0x16a4fd,_0x4af970);});const {revisions:_0x40569a,requestId:_0x5a217e}=await this['_revisionHistoryService']['connect'](_0x405740['connection']);_0x405740['addToReconnectionStack'](this),this['_lastRequestId']=_0x5a217e,await this['_fetchMissingUsers'](_0x40569a);for(const _0x58a74f of _0x40569a)this['_revisionTracker']['addRevisionData'](_0x58a74f);this['listenTo'](_0x1ad3a7,'change:_isConnected',(_0x1c6a1f,_0x461e51,_0x99cf4b)=>{_0x99cf4b&&(this['_oldOffset']=_0x1ad3a7['_offset'],_0x1c6a1f['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x405740,'state',_0x2b522f=>_0x2b522f===_0x5b0dbe['CONNECTED']);}async['reconnect'](){const _0x2d336d=this['editor']['plugins']['get'](n),_0x154fc3=this['editor']['plugins']['get'](l),_0x4c001c=async()=>{const _0x100a6a=this['_revisionTracker']['currentRevision'],_0x47af9f=_0x100a6a['id'],_0x566a78=_0x47af9f!==_0x154fc3['sessionId'];if(_0x566a78){const _0x513078=_0x154fc3['_offset']-this['_oldOffset'],_0x49fb7d=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x100a6a['toVersion']+_0x513078!==_0x49fb7d){const _0x6eadcb=_0x100a6a['fromVersion']+_0x513078,_0x137ec6=this['editor']['plugins']['get'](_0x1a7c05),_0x44fc63=this['_revisionTracker']['buildRevisionData']({'revision':_0x100a6a,'from':_0x6eadcb,'to':_0x49fb7d});_0x44fc63['id']=_0x100a6a['id'];const _0x228ea1=_0x44fc63['authorsIds']['map'](_0x589fce=>_0x137ec6['getUser'](_0x589fce));_0x100a6a['_update']({..._0x44fc63,'authors':_0x228ea1},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x100a6a['id'],_0x44fc63,!0x0);}this['_revisionTracker']['_startingVersion']=_0x49fb7d,(_0x100a6a['toVersion']===_0x100a6a['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x47af9f)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x47af9f),this['_revisionTracker']['_createCurrentRevision'](_0x49fb7d));}const {revisions:_0x46f4c2,requestId:_0x2b1245}=await this['_revisionHistoryService']['reconnect'](_0x2d336d['connection'],this['_lastRequestId']);_0x566a78&&_0x46f4c2['length']>0x0?_0x154fc3['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x46f4c2),this['_handleRevisionsUpdate'](_0x46f4c2,_0x2b1245),this['_revisionTracker']['sendBufferedUpdates']());};return _0x154fc3['_isConnected']?_0x4c001c():new Promise((_0xa28a20,_0x3d8bf5)=>{_0x154fc3['once']('change:_isConnected',()=>{_0x4c001c()['then'](_0xa28a20)['catch'](_0x3d8bf5);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x39b03d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4ac070=>{_0x4ac070['off'](),_0x39b03d();});});}['_getLatestVersionFromServerOperations'](){const _0x4dddc2=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x44d479 of _0x4dddc2)if('marker'!==_0x44d479['type']||_0x44d479['affectsData'])return _0x44d479['baseVersion']+0x1;}['_getLatestVersion'](){const _0x34c6a8=this['editor']['plugins']['get'](l);return new Promise(_0x3bb1eb=>{_0x34c6a8['_isPendingUpdate']?_0x34c6a8['once']('change:_isPendingUpdate',()=>{_0x3bb1eb(this['_getLatestVersionFromServerOperations']());}):_0x3bb1eb(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x51ed10,_0x2c7bd7){const _0x4ce177=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2c7bd7;for(const _0x4204eb of _0x51ed10){const _0x31f87b=_0x4ce177['getRevision'](_0x4204eb['id']);if(_0x31f87b){if((_0x4204eb['fromVersion']||_0x4204eb['toVersion'])&&(_0x4204eb['diffData']=null),_0x31f87b===this['_revisionTracker']['currentRevision']){const _0x51cc05=Math['max'](_0x31f87b['toVersion'],_0x4204eb['toVersion']),_0x3a709a=Math['max'](_0x31f87b['fromVersion'],_0x4204eb['fromVersion']);let _0x3a462e;_0x31f87b['toVersion']===_0x4204eb['toVersion']&&_0x31f87b['fromVersion']===_0x4204eb['fromVersion']?(_0x3a462e=!0x0,this['_preventResendingRevisionData'](_0x4204eb)):_0x4204eb['toVersion']===_0x51cc05&&_0x4204eb['fromVersion']===_0x3a709a?_0x3a462e=!0x1:(_0x31f87b['toVersion']===_0x51cc05&&_0x31f87b['fromVersion']===_0x3a709a||this['_fixRevision']({'revision':_0x31f87b,'from':_0x3a709a,'to':_0x51cc05}),_0x3a462e=!0x0),_0x3a462e&&(delete _0x4204eb['fromVersion'],delete _0x4204eb['toVersion'],delete _0x4204eb['diffData'],delete _0x4204eb['createdAt'],delete _0x4204eb['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4204eb),this['_preventResendingRevisionData'](_0x4204eb);}else this['_revisionTracker']['addRevisionData'](_0x4204eb);}const _0x2d92cd=_0x4ce177['getRevisions']();_0x2d92cd['reverse']();for(let _0x497556=0x0;_0x497556<_0x2d92cd['length']-0x1;_0x497556++){const _0x14de45=_0x2d92cd[_0x497556],_0x10b9e7=_0x2d92cd[_0x497556+0x1];if(_0x14de45['fromVersion']<_0x10b9e7['toVersion']){const _0x37f42d=_0x10b9e7['toVersion'],_0x408f86=Math['max'](_0x37f42d,_0x14de45['toVersion']);this['_fixRevision']({'revision':_0x14de45,'from':_0x37f42d,'to':_0x408f86});}}}['_fixRevision']({revision:_0x32c216,from:_0x3073cc,to:_0x3b900c}={}){const _0x48d300=this['editor']['plugins']['get'](_0x1a7c05),_0x34528e=this['_revisionTracker']['buildRevisionData']({'revision':_0x32c216,'from':_0x3073cc,'to':_0x3b900c});_0x34528e['authors']=_0x34528e['authorsIds']['map'](_0xe8fd9=>_0x48d300['getUser'](_0xe8fd9)),_0x32c216['_update'](_0x34528e);}['_preventResendingRevisionData'](_0x2a199f){const _0xd0b47={};_0xd0b47['id']=_0x2a199f['id'];for(const _0x4eb37d of Object['keys'](_0x2a199f))'id'!==_0x4eb37d&&(_0xd0b47[_0x4eb37d]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0xd0b47['id'],_0xd0b47,!0x0);}async['_fetchMissingUsers'](_0x3e7df6){const _0x213075=this['editor']['plugins']['get'](_0x1a7c05),{connection:_0x6a43f7}=this['editor']['plugins']['get'](n),_0x182b3a=new Set();for(const _0x5afa74 of _0x3e7df6){for(const _0x54b2e9 of _0x5afa74['authorsIds'])_0x5f17a6(_0x54b2e9);_0x5afa74['creatorId']&&_0x5f17a6(_0x5afa74['creatorId']);}if(0x0===_0x182b3a['size'])return;const _0x11b8eb=await at['getMany'](_0x6a43f7,Array['from'](_0x182b3a));for(const _0x308a1e of _0x11b8eb)_0x213075['getUser'](_0x308a1e['id'])||_0x213075['addUser'](_0x308a1e);function _0x5f17a6(_0x249a1f){_0x213075['getUser'](_0x249a1f)||_0x182b3a['add'](_0x249a1f);}}}function _(_0x4ace2f){return _0x4ace2f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4ace2f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4ace2f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x532c83{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x2153f8{['_collapseAt'];constructor(_0x150630,_0x36e0fb=0x6){super(_0x150630);const _0x4c53cf=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x36e0fb,this['bind']('isHidden')['to'](this,'usersCount',_0x1d964e=>_0x1d964e<_0x36e0fb),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4c53cf['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x4c53cf['to']('usersCount',_0x1de83b=>'+'+(_0x1de83b-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x2153f8{['items'];['keystrokes'];constructor(_0x1bea99){super(_0x1bea99);const _0x5500e5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4896af(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5500e5['if']('hasPopup'),'aria-expanded':_0x5500e5['to']('isExpanded',_0x41c7fd=>this['hasPopup']&&String(_0x41c7fd)),'aria-label':_0x5500e5['to']('hasPopup',_0x1851e3=>q(_0x1bea99,_0x1851e3?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5500e5['to']('hasPopup',_0x4910b3=>!!_0x4910b3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5500e5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5500e5['to'](_0x2f2fdc=>{const _0x5ac6c2=_0x2f2fdc,_0x350554=document['querySelector']('.ck-presence-list__dropdown-list'),_0x53e25e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x350554?.['contains'](_0x5ac6c2['relatedTarget'])||_0x53e25e?.['contains'](_0x5ac6c2['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2680d1,_0x47ac53,_0x1abb65)=>{this['element']&&(_0x1abb65?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x2153f8{['counterView'];['inlineListView'];constructor(_0x12b6a6,_0x3205f6=0x6){super(_0x12b6a6);const _0x241449=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x3205f6),this['inlineListView']=new is(_0x12b6a6),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x395509 of this['inlineListView']['items'])_0x395509['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',_0x241449['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x2153f8{['listWrapperView'];constructor(_0x20481e,_0x5f21a6){super(_0x20481e);const _0x332a02=this['bindTemplate'];this['listWrapperView']=new ft(_0x20481e,_0x5f21a6),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x20481e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x332a02['to'](_0x951147=>{const _0x238f48=_0x951147,_0x2c69f3=document['querySelector']('.ck-presence-list__list'),_0xb8827=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2c69f3?.['contains'](_0x238f48['relatedTarget'])||_0xb8827?.['contains'](_0x238f48['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ft extends _0x3466f8{constructor(_0x45604e,_0x5059d9){super(_0x45604e);const _0x53d94e=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5059d9?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x53d94e['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x53d94e['to']('role'),'aria-label':_0x53d94e['to']('ariaLabel'),'aria-labelledby':_0x53d94e['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x553c6f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5243ba=this['element'];_0x5243ba&&(this['_isScrollable']=Math['max'](_0x5243ba['scrollHeight'],_0x5243ba['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x3b83f1,_0x190266,_0x6b0717){super(_0x3b83f1);const _0x3896fe=this['bindTemplate'];this['userView']=new st(_0x3b83f1,_0x190266);const _0x5222f0={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x190266['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x190266['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x190266['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x6b0717&&(_0x5222f0['tag']='button',_0x5222f0['on']={'click':_0x3896fe['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5222f0);}['focus'](){this['element']['focus']();}}class A extends _0x2153f8{['userView'];['markerView'];constructor(_0x31549c,_0x4b34af,_0x593bd8){super(_0x31549c);const _0x1ff219=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x31549c,_0x4b34af),this['markerView']=new ct(_0x31549c,_0x4b34af);const _0x42131c=new ot(_0x31549c);_0x42131c['template']['tag']='span',_0x42131c['text']=_0x4b34af['name'];const _0x18fefa={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1ff219['to']('isFocusable',_0x5c074e=>!!_0x5c074e&&0x0),'aria-labelledby':_0x42131c['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1ff219['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1ff219['to']('hasTooltip',_0x50fdd4=>!_0x50fdd4),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x42131c]};_0x593bd8&&(_0x18fefa['tag']='button',_0x18fefa['on']={'click':_0x1ff219['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x18fefa);}}class ct extends _0x2153f8{constructor(_0x538273,_0x3338fe){super(_0x538273),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3338fe['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x4cb85d{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1cd6c0){super(_0x1cd6c0),this['context']['config']['define']('presenceList',x);const _0x4405a0=_0x1cd6c0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4405a0)throw new _0xa9b19('presencelist-collapseat-invalid-format',this);if(_0x4405a0<0x1)throw new _0xa9b19('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3c6690(),this['balloonPanelView']=new _0x15a511(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x1bfbf8 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1bfbf8);this['listenTo'](this['_allConnectedUsers'],'add',(_0xfeb59d,_0x55082b)=>{this['_handleUserAdd'](_0x55082b);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x30c537,_0x52e369)=>{this['_handleUserRemove'](_0x52e369);});}['_createView'](){const _0x11cb70=this['context'],_0x526771=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3d417e=this['balloonPanelView'];if(!_0x76099f(_0x11cb70['config']['get']('presenceList.container')))throw new _0xa9b19('presencelist-missing-container',this);return _0x526771['counterView']['bind']('usersCount')['to'](this),_0x526771['bind']('isCollapsed')['to'](this,'usersCount',_0x58619b=>{const {collapseAt:_0x152bc7}=_0x11cb70['config']['get']('presenceList'),_0x41b993=_0x58619b>=_0x152bc7;if(_0x41b993&&!_0x526771['inlineListView']['items']['find'](_0x458026=>_0x458026 instanceof b)){const _0x244cfa=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x244cfa&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x526771['inlineListView']['items']['add'](_0x526771['counterView']);}return _0x41b993||this['hideDropdown'](),_0x41b993;}),_0x526771['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x55f6ed=>{const _0x192989=_0x11cb70['config']['get']('presenceList'),_0xd4c8b0=new A(_0x11cb70['locale'],_0x55f6ed,!!_0x192989['onClick']);return _0xd4c8b0['bind']('hasTooltip')['to'](_0x526771,'isCollapsed',_0xe611ec=>!_0xe611ec),_0xd4c8b0['bind']('isFocusable')['to'](_0x526771,'isCollapsed',_0x182e43=>!_0x182e43),_0x192989['onClick']&&this['listenTo'](_0xd4c8b0,'execute',()=>{this['view']['isCollapsed']||_0x192989['onClick'](_0x55f6ed,_0xd4c8b0['element']);}),_0xd4c8b0;}),this['listenTo'](_0x526771['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x526771['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x526771['inlineListView']['keystrokes']['set']('Enter',(_0x3add83,_0x3de00e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3de00e());}),_0x526771['render'](),_0x3d417e['render'](),_0x34db55({'emitter':_0x526771,'activator':()=>_0x3d417e['isVisible'],'contextElements':[_0x3d417e['element'],_0x526771['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x11cb70['config']['get']('presenceList.container')['appendChild'](_0x526771['element']),this['_bodyCollection']=new _0x51fd37(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x526771;}['_handleUserAdd'](_0x12bf04){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x12bf04['isMe'])return;const _0x543047=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x543047-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x14b46c=_0x12bf04['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x12bf04,_0x14b46c);}['_handleUserRemove'](_0x22676d){this['usersCount']--;const {collapseAt:_0x321c70}=this['context']['config']['get']('presenceList'),_0x415556=this['usersCount']>=_0x321c70;if(this['currentDisplayedUsers']['get'](_0x22676d['id']))this['currentDisplayedUsers']['remove'](_0x22676d['id']);else{if(_0x415556&&this['currentDisplayedUsers']['length']+0x1===_0x321c70-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x415556?0x1:0x0)<this['usersCount']){for(const _0x5c1cb3 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5c1cb3['id'])&&(this['currentDisplayedUsers']['add'](_0x5c1cb3,Math['min'](this['currentDisplayedUsers']['length']-(_0x415556?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x415556?0x1:0x0)===_0x321c70-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x285db6=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x285db6['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1dc550}=this['presenceDropdownView'];_0x1dc550['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x26db54=>{if(!_0x285db6['displayMe']&&_0x26db54['isMe'])return null;const _0x133590=new j(this['context']['locale'],_0x26db54,!!_0x285db6['onClick']);return _0x285db6['onClick']&&this['listenTo'](_0x133590,'execute',()=>{_0x285db6['onClick'](_0x26db54,_0x133590['element']);}),_0x133590;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1dc550['focus'](),_0x1dc550['checkIfScrollable']();const _0x2f88cc=(_0x4e73ad,_0x38dfd9)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x38dfd9();};_0x1dc550['keystrokes']['set']('Esc',_0x2f88cc),_0x1dc550['keystrokes']['set']('Shift+Tab',_0x2f88cc),_0x1dc550['keystrokes']['set']('Tab',(_0x278cf5,_0x3e0ccb)=>{!function(_0x57578b){const _0xba7786=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x424279=>_0x424279+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5ab836=[...document['body']['querySelectorAll'](_0xba7786)]['filter'](_0x1f289c=>_0x1f289c===document['activeElement']||_0x1f289c['offsetWidth']+_0x1f289c['offsetHeight']>0x0)['sort']((_0x31c5fa,_0x165fd3)=>(_0x31c5fa['tabIndex']||0x0)-(_0x165fd3['tabIndex']||0x0)),_0x2c8f0b=_0x5ab836['indexOf'](_0x57578b),_0x42fbe7=_0x5ab836[(_0x2c8f0b+0x1)%_0x5ab836['length']];_0x42fbe7&&_0x42fbe7['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3e0ccb();}),_0x1dc550['focusTracker']['add'](this['view']['element']),_0x1dc550['focusTracker']['on']('change:isFocused',(_0x1a7872,_0x3b1a09,_0x425743)=>{_0x425743||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 mt extends _0x4cb85d{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,mt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,ut as RealTimeCollaborativeRevisionHistory,dt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
|
|
23
|
+
import{ContextPlugin as _0x1c6eb3,Plugin as _0x5bfa53,PendingActions as _0x32fe04,Context as _0x23c0a4}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5524d7,CKEditorError as _0x1ce47a,Collection as _0x38d74d,global as _0x26dcab,version as nt,uid as _0x440ce5,KeystrokeHandler as _0x3bfa3c}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2148b5,View as _0x59df29,ListView as _0x514ed5,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x5008c7,clickOutsideHandler as _0x35631f,BodyCollection as _0x33e143}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x69ae37,History as _0x5c976a,NoOperation as _0x43d8a1,InsertOperation as _0x81060,MarkerOperation as _0x6193d1,RootAttributeOperation as _0x4ee1b8,transformOperationSets as _0x52fab2,OperationFactory as _0x59cd5d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x7ab6d,User as lt,CommentsService as _0x319e55,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x4020f1,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3a4b00}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x6bd037}from'es-toolkit/compat';class n extends _0x1c6eb3{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2148b5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e4b24){super(_0x1e4b24),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5524d7())();}['init'](){const _0x4ab8e6=this['context'],_0x17623d=_0x4ab8e6['plugins']['get']('CloudServices'),_0x11d0e5=_0x4ab8e6['plugins']['get'](_0x2148b5);if(!_0x17623d['token'])throw new _0x1ce47a('websocketgateway-missing-token',this);if(!_0x17623d['webSocketUrl'])throw new _0x1ce47a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x17623d['token'],_0x17623d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x19f921=>{if(this['connection']=_0x19f921,this['bind']('state')['to'](_0x19f921,'state',this,'_isBrowserOffline',(_0x3bbd4e,_0x61110)=>('connected'!==_0x3bbd4e&&(this['_shouldPluginsReconnect']=!0x0),_0x61110||_0x3bbd4e!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x310cca,_0x47470a)=>{if('limitExceeded'!==_0x47470a['code'])throw console['error'](_0x47470a),new _0x1ce47a('cloudservices-init',null,{'originalError':_0x47470a});_0x11d0e5['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'});}),!_0x19f921['me'])return new Promise(_0x4d0bf5=>_0x19f921['on']('change:me',_0x4d0bf5));})['catch'](_0x8278a2=>{throw console['error'](_0x8278a2),new _0x1ce47a('cloudservices-init',null,{'originalError':_0x8278a2});});}['addToReconnectionStack'](_0x4f7f68){if('function'!=typeof _0x4f7f68['reconnect'])throw new _0x1ce47a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4f7f68))throw new _0x1ce47a('websocketgateway-plugin-already-registered',this,{'name':_0x4f7f68['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4f7f68);}['removeFromReconnectionStack'](_0x3628a2){this['_reconnectionStack']['delete'](_0x3628a2);}['isInReconnectionStack'](_0x3c0930){return this['_reconnectionStack']['has'](_0x3c0930);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5a6757=>_0x5a6757['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x2a0424=>{throw console['error'](_0x2a0424),new _0x1ce47a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x1c6eb3{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x4020f1];}constructor(_0x1d512e){super(_0x1d512e),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x38d74d(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4020f1);}['init'](){const _0x437e7a=this['context']['plugins']['get'](n);this['listenTo'](_0x437e7a,'change:state',(_0x456af9,_0x3393ee,_0x48c48f)=>{if('connected'!==_0x48c48f)this['channelSessions']['forEach'](_0x3f57f0=>_0x3f57f0['clear']()),this['channelConnectedUsers']['forEach'](_0x381c2d=>_0x381c2d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x188890,_0x1a45e4]of this['_registeredSessions'])for(const _0x23dbdb of _0x1a45e4)this['_handleSessionAdd'](_0x188890,_0x23dbdb);}}),this['_createUser'](_0x437e7a['connection']['me'],!0x0);}['register'](_0xc1602d,_0x332b4e){if(this['_registeredSessions']['has'](_0xc1602d))throw new _0x1ce47a('sessions-register-already-registered',null,{'channelId':_0xc1602d});this['_registeredSessions']['set'](_0xc1602d,_0x332b4e),this['channelSessions']['set'](_0xc1602d,new _0x38d74d()),this['channelConnectedUsers']['set'](_0xc1602d,new _0x38d74d()),this['listenTo'](_0x332b4e,'add',(_0x210627,_0x542f4c)=>this['_handleSessionAdd'](_0xc1602d,_0x542f4c)),this['listenTo'](_0x332b4e,'remove',(_0x112cb2,_0x4990ee)=>this['_handleSessionRemove'](_0xc1602d,_0x4990ee));for(const _0x149752 of _0x332b4e)this['_handleSessionAdd'](_0xc1602d,_0x149752);}['unregister'](_0x2df282){if(!this['_registeredSessions']['has'](_0x2df282))throw new _0x1ce47a('sessions-unregister-not-exist',null,{'channelId':_0x2df282});const _0x3ccf22=this['_registeredSessions']['get'](_0x2df282);this['stopListening'](_0x3ccf22);for(const _0x239a9c of _0x3ccf22)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x2df282,_0x239a9c);this['_registeredSessions']['delete'](_0x2df282),this['channelSessions']['delete'](_0x2df282),this['channelConnectedUsers']['delete'](_0x2df282);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x1ae92f){for(const _0x3d7b30 of this['channelSessions']['values']())for(const _0x28f8c6 of _0x3d7b30)if(_0x28f8c6['id']===_0x1ae92f)return _0x28f8c6['user'];}['getUserSessions'](_0x5635b2,_0x4c335c){const _0x1a3751=_0x4c335c?[this['channelSessions']['get'](_0x4c335c)]:this['channelSessions']['values'](),_0x36c405=new Set();for(const _0x3eb6a0 of _0x1a3751)for(const _0x57ea55 of _0x3eb6a0)_0x57ea55['user']['id']===_0x5635b2['id']&&_0x36c405['add'](_0x57ea55['id']);return _0x36c405;}['getUserRole'](_0x1aee49){for(const _0x1a00f7 of this['channelSessions']['values']())for(const _0x2e9b6d of _0x1a00f7)if(_0x2e9b6d['user']===_0x1aee49)return _0x2e9b6d['role'];}['_handleSessionAdd'](_0x373ea8,_0x306378){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x486a66=_0x306378['user'],_0x1d24a4=this['_users']['getUser'](_0x486a66['id'])||this['_createUser'](_0x486a66),_0x273963=Object['assign']({},_0x306378,{'user':_0x1d24a4});if(this['channelSessions']['get'](_0x373ea8)['add'](_0x273963),!_0x486a66['hiddenInPresenceList']){const _0x5e9764=this['channelConnectedUsers']['get'](_0x373ea8);_0x5e9764['has'](_0x1d24a4['id'])||_0x5e9764['add'](_0x1d24a4),this['allConnectedUsers']['has'](_0x1d24a4['id'])||_0x486a66['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1d24a4,_0x1d24a4['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x373ea8,{'channelId':_0x373ea8,'session':_0x273963});}['_handleSessionRemove'](_0xc58058,_0x340686){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x31d876=this['channelConnectedUsers']['get'](_0xc58058),_0x3b915f=_0x340686['user'];_0x3b915f['id']&&(this['channelSessions']['get'](_0xc58058)['remove'](_0x340686['id']),_0x31d876['has'](_0x3b915f['id'])&&!this['getUserSessions'](_0x3b915f,_0xc58058)['size']&&_0x31d876['remove'](_0x3b915f['id']),this['allConnectedUsers']['get'](_0x3b915f['id'])&&!this['getUserSessions'](_0x3b915f)['size']&&this['allConnectedUsers']['remove'](_0x3b915f['id']));}['_createUser'](_0x3d9192,_0x44e521){const _0x1f959f=this['_users']['addUser'](_0x3d9192);return _0x44e521&&this['_users']['defineMe'](_0x3d9192['id']),_0x1f959f['orderNumber']=this['_uniqueUsersCount']++,_0x1f959f;}}class H extends _0x5bfa53{['_domEmitter']=new(_0x5524d7())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5acb36=this['editor'],_0x460f0d=_0x5acb36['plugins']['get'](i);_0x5acb36['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xeea9a5,{writer:_0x1a1d32})=>function(_0x13bddc,_0x3e5a65,_0x1a24a6,_0x6c670e){const _0x304ae3=_0x13bddc['markerName']['split'](':')[0x2],_0x58938a=_0x1a24a6['getUserBySessionId'](_0x304ae3);if(!_0x58938a||_0x304ae3===_0x1a24a6['mySessionId'])return;if(!_0x6c670e['model']['schema']['checkChild'](_0x13bddc['markerRange']['start'],'$text'))return;const _0x2519da={'class':'ck-user__marker\x20'+_0x58938a['color']['getMarkerClass'](),'data-name':_0x58938a['name'],'data-session-id':_0x304ae3},_0x1979b9=_0x6c670e['model']['markers']['get'](_0x13bddc['markerName']),_0x588d73=_0x1979b9['getStart'](),_0x43f393=_0x588d73['nodeAfter'],_0x97faf1=_0x6c670e['model']['schema'];if(_0x43f393&&_0x97faf1['isObject'](_0x43f393)&&_0x97faf1['isInline'](_0x43f393)&&!_0x6c670e['model']['markers']['get']('user:range:'+_0x304ae3)['getRange']()['isCollapsed'])return;const _0x4054b2=_0x588d73['parent'];return _0x6c670e['model']['schema']['isLimit'](_0x4054b2)&&!_0x6c670e['model']['hasContent'](_0x4054b2)&&(_0x2519da['contenteditable']=!0x1),function(_0x9eb503,_0xfb7cd4,_0x49e7bc){const _0x20b0fb=_0x9eb503['createUIElement']('span',_0xfb7cd4);return _0x9eb503['setCustomProperty']('userPositionMarker',!0x0,_0x20b0fb),_0x20b0fb['render']=function(_0xd323dd){const _0x5f01ae=this['toDomElement'](_0xd323dd),_0x1f269c=document['createElement']('span');return _0x1f269c['classList']['add']('ck-user__marker-tooltip'),_0x1f269c['setAttribute']('contenteditable','false'),_0x1f269c['setAttribute']('spellcheck','false'),_0x1f269c['textContent']=_0x49e7bc['name'],_0x5f01ae['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1f269c['outerHTML']+'',_0x5f01ae['addEventListener']('mouseenter',()=>{_0x5f01ae['classList']['add']('ck-user__marker_hovered');}),_0x5f01ae['addEventListener']('mouseleave',()=>{_0x5f01ae['classList']['remove']('ck-user__marker_hovered');}),_0x5f01ae;},_0x20b0fb['isSimilar']=function(_0x725620){return!(!this['getCustomProperty']('userPositionMarker')||!_0x725620['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x725620['getAttribute']('data-session-id'));},_0x20b0fb;}(_0x3e5a65,_0x2519da,_0x58938a);}(_0xeea9a5,_0x1a1d32,_0x460f0d,_0x5acb36)}),_0x5acb36['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2c905e=>function(_0x1a4041,_0x13e2c8){const _0x17acf9=_0x1a4041['markerName']['split'](':')[0x2];if(_0x17acf9===_0x13e2c8['mySessionId'])return null;const _0x3604c7=_0x13e2c8['getUserBySessionId'](_0x17acf9);if(!_0x3604c7)return{'id':_0x17acf9,'classes':[]};return{'id':_0x17acf9,'classes':['ck-user__selection',_0x3604c7['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x17acf9},'priority':0x7d0+_0x3604c7['orderNumber']};}(_0x2c905e,_0x460f0d)}),function(_0x2e8b65){const _0x54641d=_0x2e8b65['model'],_0x350f5b=new Map(),_0x57a84b=_0x2e8b65['plugins']['get'](i);_0x54641d['markers']['on']('update:user:range',(_0x458c8b,_0x3d007a,_0x521f96,_0x51ba43)=>{if(!_0x51ba43&&_0x350f5b['get'](_0x3d007a['name']))return _0x350f5b['get'](_0x3d007a['name'])['detach'](),void _0x350f5b['delete'](_0x3d007a['name']);const _0x4f6627=_0x3d007a['name']['split'](':')[0x2];if(_0x4f6627===_0x57a84b['mySessionId'])return;const _0x2d5328='user:position:'+_0x4f6627;_0x54641d['markers']['has'](_0x2d5328)&&_0x2e8b65['editing']['reconvertMarker'](_0x2d5328),_0x3d007a['on']('change:range',(_0x4c134c,_0x18f5ba,_0x292e20)=>{if('$graveyard'!=_0x18f5ba['root']['rootName']&&'$graveyard'==_0x3d007a['getRange']()['root']['rootName']&&!_0x350f5b['has'](_0x3d007a['name'])){const _0x57f512=_0x54641d['schema']['getNearestSelectionRange'](_0x292e20['deletionPosition']);if(_0x57f512){const _0xd2bffc=_0x69ae37['fromRange'](_0x57f512);_0x350f5b['set'](_0x3d007a['name'],_0xd2bffc),_0xd2bffc['on']('change:range',(_0x34164a,_0xff7358,_0x38a5e1)=>{if('$graveyard'==_0xd2bffc['root']['rootName']){const _0x44911f=_0x54641d['schema']['getNearestSelectionRange'](_0x38a5e1['deletionPosition']);_0x44911f?(_0xd2bffc['start']=_0x44911f['start'],_0xd2bffc['end']=_0x44911f['end']):(_0x350f5b['delete'](_0x3d007a['name']),_0xd2bffc['detach']());}});}}});}),_0x54641d['document']['on']('change',()=>{_0x350f5b['size']>0x0&&_0x54641d['enqueueChange']({'isUndoable':!0x1},_0x42bbbe=>{for(const [_0x19c9eb,_0x5b0e36]of _0x350f5b)'$graveyard'==_0x54641d['markers']['get'](_0x19c9eb)['getRange']()['root']['rootName']&&(Z(_0x19c9eb['split'](':')[0x2],_0x5b0e36['toRange'](),_0x54641d,_0x42bbbe),_0x5b0e36['detach']());_0x350f5b['clear']();});});}(_0x5acb36),this['_domEmitter']['listenTo'](_0x26dcab['document'],'keydown',(_0x49ddcf,{key:_0xe948d6})=>{'Escape'===_0xe948d6&&function(_0x232ccc){_0x232ccc['editing']['view']['change'](_0x7883d8=>{for(const _0x5c0a7d of _0x232ccc['model']['markers']){if(!_0x5c0a7d['name']['startsWith']('user:position'))continue;const _0x3159a7=_0x232ccc['editing']['mapper']['markerNameToElements'](_0x5c0a7d['name']);if(_0x3159a7){for(const _0x513113 of _0x3159a7)_0x7883d8['removeClass']('ck-user__marker_hovered',_0x513113);}}});}(_0x5acb36);},{'useCapture':!0x0});}['afterInit'](){const _0xb69463=this['editor'],_0xbba0c2=_0xb69463['commands']['get']('undo');_0xbba0c2&&_0xb69463['model']['on']('applyOperation',(_0x437125,_0x2af55b)=>{const _0x262f3f=_0x2af55b[0x0];if(!_0x262f3f['isDocumentOperation'])return;if('marker'!=_0x262f3f['type']||!_0x262f3f['name']['startsWith']('user:'))return;const _0x390bd9=_0x262f3f['batch'];_0xbba0c2['_createdBatches']['has'](_0x390bd9)&&(_0x262f3f['newRange']=_0x262f3f['oldRange']?_0xb69463['model']['createRange'](_0x262f3f['oldRange']['start'],_0x262f3f['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3ee6af=this['editor'],_0x6af2da=_0x3ee6af['model']['document'],_0x2262c=_0x3ee6af['plugins']['get'](i);_0x3ee6af['model']['enqueueChange']({'isUndoable':!0x1},_0x59928f=>{const _0x4f7137='user:range:'+_0x2262c['mySessionId'],_0x3ac8b6='user:position:'+_0x2262c['mySessionId'],_0x4e5b4d=_0x3ee6af['model']['markers']['has'](_0x4f7137);_0x3ee6af['editing']['view']['hasDomSelection']?Z(_0x2262c['mySessionId'],_0x6af2da['selection']['getFirstRange'](),_0x3ee6af['model'],_0x59928f):_0x4e5b4d&&(_0x59928f['removeMarker'](_0x4f7137),_0x59928f['removeMarker'](_0x3ac8b6));});}}function Z(_0x56e6a9,_0x3d0af5,_0x34330d,_0x107aff){const _0x53f681='user:range:'+_0x56e6a9,_0xfe0908='user:position:'+_0x56e6a9,_0x22e094=_0x3d0af5['getContainedElement']();let _0x62cbd5=_0x3d0af5['start'];if(_0x22e094&&_0x22e094['is']('element','tableCell')){const _0x4b0fcf=function(_0x20285d,_0x3c39e9){for(const _0x43c1b3 of _0x20285d['getPositions']())if(_0x3c39e9['schema']['checkChild'](_0x43c1b3,'$text'))return _0x43c1b3;}(_0x3d0af5,_0x34330d);_0x4b0fcf&&(_0x62cbd5=_0x4b0fcf,_0x3d0af5=_0x107aff['createRange'](_0x62cbd5));}const _0x169c6e=_0x107aff['createRange'](_0x62cbd5);_0x34330d['markers']['has'](_0x53f681)?(_0x107aff['updateMarker'](_0x53f681,{'range':_0x3d0af5}),_0x107aff['updateMarker'](_0xfe0908,{'range':_0x169c6e})):(_0x107aff['addMarker'](_0x53f681,{'range':_0x3d0af5,'usingOperation':!0x0}),_0x107aff['addMarker'](_0xfe0908,{'range':_0x169c6e,'usingOperation':!0x0}));}function V(_0x10b1a6,_0x4cf1c6,_0x375204){const _0x39490c=_0x10b1a6['t'],t=_0x10b1a6['t'];switch(_0x4cf1c6){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 _0x39490c({'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'},_0x375204);default:return'';}}let G=0x1;class l extends _0x5bfa53{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x7ab6d)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0x32fe04,_0x4020f1,_0x2148b5];}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 _0x4df03b=this['serverHistory']['getOperations']();for(let _0x5327b0=_0x4df03b['length']-0x1;_0x5327b0>=0x0;_0x5327b0--){const _0x5b44dd=_0x4df03b[_0x5327b0];if(!this['_disconnectionOperations']['has'](_0x5b44dd))return _0x5b44dd['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x58f6ed){if(super(_0x58f6ed),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5c976a(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1ce47a('collaboration-missing-channelid',this);const _0x437300=_0x58f6ed['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x437300,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3a4b00(),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 J(this['_disconnectionOperations']);}['init'](){const _0x279a80=this['editor'],_0xd403c2=_0x279a80['plugins']['get'](_0x4020f1),_0x8a27eb=_0x279a80['plugins']['get'](n);this['listenTo'](_0xd403c2,'getOperationAuthor',(_0x477621,_0x34f87d)=>{const _0x46f02b=_0x34f87d[0x0];_0x46f02b['_authorId']&&(_0x477621['return']=_0xd403c2['getUser'](_0x46f02b['_authorId']),_0x477621['stop']()),null===_0x46f02b['_authorId']&&(_0x477621['return']=null,_0x477621['stop']());},{'priority':'high'}),this['listenTo'](_0x279a80['model']['document']['selection'],'change:range',(_0x2561aa,_0xe42261)=>{_0xe42261['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x279a80['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x279a80['model']['on']('applyOperation',(_0x7b8545,_0x9ec93)=>{const _0x21d569=_0x9ec93[0x0];_0x21d569['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x21d569),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x8a27eb,'state',this,'_hasSynchronizationProblem',(_0x4693d7,_0x2efb08)=>'connected'===_0x4693d7&&!_0x2efb08),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x279a80['disableReadOnlyMode']('rtc-offline'):_0x279a80['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x279a80['disableReadOnlyMode']('rtc-offline'):_0x279a80['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0xf7d892=this['editor']['plugins']['get'](i),_0x40f0c9=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0xf7d892['unregister'](this['_channelId']);const _0x36bfdf=await this['_service']['reconnect'](_0x40f0c9['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x36bfdf)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x200bce=await this['_service']['getConnectedSessions']();_0xf7d892['register'](this['_channelId'],_0x200bce),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x9952f){if(function(_0x46f61a){return'404'===_0x46f61a['code'];}(_0x9952f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x124844){return'409'===_0x124844['code'];}(_0x9952f)){const _0x32122e=V(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'](_0x32122e);}else{if(!(_0x9952f instanceof $))throw _0x9952f;this['_handleReconnectionError']();}}}}['destroy'](){const _0x574b37=this['editor']['plugins']['get'](n),_0x5af106=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5af106['channelSessions']['has'](this['_channelId'])&&_0x5af106['unregister'](this['_channelId']),_0x574b37['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1e904a){if(this['sessionId']!==_0x1e904a['sessionId']&&this['_lastSyncedOperationId']!==_0x1e904a['lastOperationId'])throw new $();return this['sessionId']=_0x1e904a['sessionId'],this['_handleServerResponse']([],{..._0x1e904a,'wereChangesApplied':!0x1,'data':_0x1e904a['data']},'reconnect');}async['_connectService'](_0x513aac,_0x1018a5=!0x1){const {connection:_0x376468}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x376468,this['_channelId'])['then'](_0x114704=>this['_initSessionsHandling'](_0x114704))['catch'](_0x1f18ea=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1f18ea);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x48a207,_0x207505)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x207505);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xd6e0d7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x513aac);this['_isPendingUpdate']=!0x0;const _0x10540e=await this['_service']['connect'](_0x376468,this['_compressOperations'](_0x513aac),_0xd6e0d7);if(this['sessionId']=_0x10540e['sessionId'],_0x1018a5){if(!_0x10540e['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x10540e['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x513aac,_0x10540e,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x10540e,_0x513aac);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5bee5a=this['editor']['plugins']['get'](i),_0xdf7d49=this['editor']['plugins']['get'](H),_0x3ef8e7=_0x5bee5a['channelSessions']['get'](this['_channelId']);_0x3ef8e7&&_0x3ef8e7['length']>0x1?_0xdf7d49['createUserMarkerOperations']():this['listenTo'](_0x5bee5a,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5bee5a['channelSessions']['get'](this['_channelId'])['length']&&_0xdf7d49['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x136a8c,_0x334998,_0x5bfbfb,_0x4d2388){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x334998){const _0x32e579=this['_decompressOperations'](_0x5bfbfb,_0x4d2388);await this['_fetchMissingUsers'](_0x32e579),this['_handleExternalOperations'](_0x32e579,_0x334998,_0x5bfbfb['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x310874}=this['editor'];let _0x448b06;try{_0x448b06=await this['_service']['getDocumentDetails']();}catch{const _0x12e6e0=V(_0x310874,'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'](_0x12e6e0);}const _0x26545e=_0x448b06['currentDocumentSession']||_0x448b06['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x26545e['lastOperationId']){const _0x34cb82=V(_0x310874,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x34cb82);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xef7909){const _0x4d2d7a=this['editor']['plugins']['get'](i);this['listenTo'](_0x4d2d7a,'sessionAdd:'+this['_channelId'],(_0x3d0437,{session:_0x4075b8})=>{if(_0x4075b8['id']===_0x4d2d7a['mySessionId']){_0x3d0437['off']();const _0x94557f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3fec84=_0x4075b8['permissions'];_0x94557f&&_0x94557f['isEnabled']&&(_0x3fec84=_0x3fec84['filter'](_0x37851a=>'document:write'!==_0x37851a)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3fec84,this['_channelId']);}}),_0x4d2d7a['register'](this['_channelId'],_0xef7909);}['_initThrowingOnDataSet'](){const _0x5af901=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3d087d)=>{if(!_0x3d087d[_0x3d087d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1ce47a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5af901['apply'](this['editor']['data'],_0x3d087d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x10c654,[_0x38f454])=>{if(this['_document']['version'])throw new _0x1ce47a('realtimecollaborationclient-init-document-already-initialized',this);_0x10c654['stop'](),this['_setPendingAction']();const _0x35f96c=this['editor']['config']['get']('rootsAttributes'),_0x1731ea=this['_getOperationsFromInitData'](_0x38f454,_0x35f96c);0x0==_0x1731ea['length']&&_0x1731ea['push'](new _0x43d8a1(0x0)),_0x10c654['return']=this['_connectService'](_0x1731ea)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x14bcad=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x14bcad))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xebec4a,[_0xf6223f,_0x1627b2])=>{_0xebec4a['stop']();const _0x6e691d=this['editor']['model']['document']['getRoot'](_0xf6223f);if(!this['_knownRootNames']['has'](_0xf6223f)){const _0x4cbf5b=_0x1627b2&&_0x1627b2['data']?_0x1627b2['data']:'',_0x2fb7b7=_0x1627b2&&_0x1627b2['attributes']?_0x1627b2['attributes']:{};await this['_loadRoot'](_0xf6223f,_0x4cbf5b,_0x2fb7b7);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x6e691d['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x6e691d);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x430908){const _0x4abf0d=this['editor']['plugins']['get'](_0x4020f1),{connection:_0x4ae34b}=this['editor']['plugins']['get'](n),_0x36c102=new Set();for(const _0x34455b of _0x430908){const _0x3cbe2e=_0x34455b['_authorId'];_0x3cbe2e&&!_0x4abf0d['getUser'](_0x3cbe2e)&&_0x36c102['add'](_0x3cbe2e);}if(0x0===_0x36c102['size'])return;const _0xd796ab=await lt['getMany'](_0x4ae34b,Array['from'](_0x36c102));for(const _0x5b63e7 of _0xd796ab)_0x4abf0d['getUser'](_0x5b63e7['id'])||_0x4abf0d['addUser'](_0x5b63e7);}['_getOperationsFromInitData'](_0x51d15a,_0x39acbc={}){const _0xb9e400=this['editor']['model'],_0x4590b8=[];let _0x24abb6=0x0;const _0x3789fb='string'==typeof _0x51d15a?{'main':_0x51d15a}:_0x51d15a;for(const _0xb84ba3 of Object['keys'](_0x3789fb)){if(!this['_document']['roots']['has'](_0xb84ba3))throw new _0x1ce47a('realtimecollaborationclient-init-non-existent-root',this);const _0x242dac=this['editor']['data']['parse'](_0x3789fb[_0xb84ba3]),_0x3d224d=this['_document']['getRoot'](_0xb84ba3),_0x38aad9=new _0x81060(_0xb9e400['createPositionAt'](_0x3d224d,0x0),_0x242dac,_0x24abb6++);_0x4590b8['push'](_0x38aad9);for(const [_0x3b2fd2,_0x51f5ad]of _0x242dac['markers']){const _0x76b825=_0xb9e400['createRange'](_0xb9e400['createPositionFromPath'](_0x3d224d,_0x51f5ad['start']['path']['slice']()),_0xb9e400['createPositionFromPath'](_0x3d224d,_0x51f5ad['end']['path']['slice']())),_0x2635a0=new _0x6193d1(_0x3b2fd2,null,_0x76b825,_0xb9e400['markers'],!0x0,_0x24abb6++);_0x4590b8['push'](_0x2635a0);}}if(_0x39acbc)for(const [_0x43ca7d,_0xec90d2]of Object['entries'](_0x39acbc)){const _0x352207=_0xb9e400['document']['getRoot'](_0x43ca7d);if(!_0x352207)throw new _0x1ce47a('multi-root-editor-root-attributes-no-root',null);for(const [_0x876128,_0x460986]of Object['entries'](_0xec90d2))if(null!==_0x460986){const _0x1c8903=new _0x4ee1b8(_0x352207,_0x876128,null,_0x460986,_0x24abb6++);_0x4590b8['push'](_0x1c8903);}}return _0x4590b8;}async['_loadRoot'](_0x166350,_0x223dea,_0xa038c1){this['_getOperationsFromInitData']({[_0x166350]:_0x223dea},{[_0x166350]:_0xa038c1})['forEach']((_0x1121ee,_0x2169fe)=>{_0x1121ee['baseVersion']=this['_document']['version']+_0x2169fe,_0x1121ee['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1121ee);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1d3a88,_0xba1d8a){let _0x4c8b38;this['_offset']=_0x1d3a88['offset'];const _0x3e60d8=_0x1d3a88['wereChangesApplied']&&!_0x1d3a88['initData'],_0x30ee6c=_0x3e60d8?0x0:_0x1d3a88['data']['baseVersion'];if(_0xba1d8a['forEach'](_0x519dde=>{_0x519dde['_isInit']=!0x0,_0x519dde['createdAt']=_0x1d3a88['sessionCreatedAt'],_0x519dde['_authorId']=null;}),_0x3e60d8)_0x4c8b38=_0xba1d8a,this['_applyOperationsSet'](_0x4c8b38,_0x3e60d8);else{if(_0x1d3a88['initData']){const _0x2c08f2=this['_getOperationsFromInitData'](_0x1d3a88['initData']);this['_document']['history']['version']=-_0x2c08f2['length'],_0x2c08f2['forEach'](_0xba31b=>{_0xba31b['baseVersion']-=_0x2c08f2['length'],_0xba31b['createdAt']=_0x1d3a88['sessionCreatedAt'],_0xba31b['_isInit']=!0x0,_0xba31b['_authorId']=null;}),this['_applyOperationsSet'](_0x2c08f2,!0x0),this['serverHistory']['version']=-_0x2c08f2['length']+this['_offset'],this['_updateServerHistory'](_0x2c08f2);}this['_document']['history']['version']=_0x30ee6c,_0x4c8b38=this['_decompressOperations'](_0x1d3a88['data'],_0x1d3a88['metadata']),await this['_fetchMissingUsers'](_0x4c8b38),this['_applyOperationsSet'](_0x4c8b38,_0x3e60d8);}_0x1d3a88['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4c8b38,_0x1d3a88['lastOperationId']),this['_lastSyncedOperationId']=_0x1d3a88['lastOperationId']),this['serverHistory']['version']=_0x30ee6c+this['_offset'],this['_updateServerHistory'](_0x4c8b38),_0xba1d8a['filter'](_0x5429ea=>{const _0x271219=this['_getAffectedRoot'](_0x5429ea);return _0x271219&&!this['_knownRootNames']['has'](_0x271219);})['forEach']((_0x2f7d24,_0x23ec53)=>{_0x2f7d24['baseVersion']=this['_document']['version']+_0x23ec53,this['_saveOperationInBuffer'](_0x2f7d24);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x28e5b6,_0x10d43c){const _0x6f0432=_0x10d43c&&_0x10d43c['message'];if(_0x6f0432&&_0x6f0432['startsWith']('realtimecollaborationclient'))throw _0x10d43c;const _0x101208=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x101208['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1ce47a(_0x28e5b6,this['editor'],_0x6f0432?{'originalError':_0x6f0432}:void 0x0);}['_saveOperationInBuffer'](_0x4117a1){this['_knownOperations']['has'](_0x4117a1)||(this['_knownOperations']['add'](_0x4117a1),this['_bufferedOperations']['push'](_0x4117a1),this['_pendingAction']||'marker'==_0x4117a1['type']&&!_0x4117a1['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x4705b5=!0x1){!_0x4705b5&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2a7b9a=>{_0x2a7b9a&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x38d369=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2328dd){return _0x2328dd['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2328dd['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2328dd['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x38d369)||this['_crash'](_0x38d369['message'],_0x38d369);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x57a0ec=>{this['on']('change:_isPendingUpdate',()=>{_0x57a0ec();});});}async['_sendBufferedOperations'](){const _0x3f9aee=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x3f9aee['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3db74b=[...this['_bufferedOperations']];for(const _0x5ef795 of _0x3db74b)_0x5ef795['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5ef795);const _0x45763d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3db74b),_0x3f9737=G++,_0x3780fe=this['_compressOperations'](_0x3db74b),_0x49bb3d=await this['_service']['sendOperations'](_0x3780fe,_0x3780fe['baseVersion'],_0x45763d);try{return await this['_handleServerResponse'](_0x3db74b,_0x49bb3d,_0x3f9737);}catch(_0x2fbec1){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2fbec1);}}async['_handleServerResponse'](_0x88765d,_0x102998,_0x1d2457){if('error'in _0x102998)throw _0x102998['error'];let _0x15efef=!0x1;if(_0x102998['wereChangesApplied']){_0x102998['lastOperationId']&&(this['_lastSyncedOperationId']=_0x102998['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xe12a7c=>!_0x88765d['includes'](_0xe12a7c));for(const _0x79bc44 of _0x88765d)_0x79bc44['createdAt']='lastOperationAcceptedAt'in _0x102998&&_0x102998['lastOperationAcceptedAt']||void 0x0;K(_0x88765d,_0x102998['version']-_0x88765d['length']),this['_updateServerHistory'](_0x88765d);const _0x597015=_0x88765d['filter'](_0x4ce00a=>{if(!_0x4ce00a['_isInit'])return!0x1;const _0x52ba65=this['_getAffectedRoot'](_0x4ce00a);return _0x52ba65&&!this['_knownRootNames']['has'](_0x52ba65);});K(_0x597015,this['_document']['version']),this['_applyOperationsSet'](_0x597015),_0x15efef=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x58db68=this['_decompressOperations'](_0x102998['data'],_0x102998['metadata'])['filter'](_0x2d18bc=>_0x2d18bc['baseVersion']>=this['_lastServerVersion']);_0x58db68['forEach'](_0x2784e4=>this['_addKnownRoot'](_0x2784e4)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5ce65e=>!_0x5ce65e['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5ce65e))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x58db68),_0x15efef=this['_handleExternalOperations'](_0x58db68,_0x102998['version'],_0x102998['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x15efef?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x23b832,_0x42b66d,_0x5c45de){try{const _0x187266={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x39e9e1,operationsB:_0x4f4f12,originalOperations:_0x485d50}=_0x52fab2(_0x23b832,this['_bufferedOperations'],_0x187266);K(_0x39e9e1,this['_document']['version']),K(_0x4f4f12,_0x42b66d);for(const _0xa50cbe of _0x39e9e1){const _0x1f7537=_0x485d50['get'](_0xa50cbe);_0xa50cbe['_authorId']=_0x1f7537?_0x1f7537['_authorId']:null;}_0x5c45de&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x23b832,_0x5c45de),this['_lastSyncedOperationId']=_0x5c45de),this['_bufferedOperations']=[..._0x4f4f12],this['_applyOperationsSet'](_0x39e9e1),this['_updateServerHistory'](_0x23b832);}catch(_0x296421){return console['error'](_0x296421),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5ca5a6,_0x3b40f=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x219ea3=>{for(const _0x25c06f of _0x5ca5a6)this['_knownOperations']['add'](_0x25c06f),this['_addKnownRoot'](_0x25c06f),_0x219ea3['batch']['addOperation'](_0x25c06f),this['editor']['model']['applyOperation'](_0x25c06f);});}['_addKnownRoot'](_0x22cfc2){const _0x52471a=this['_getAffectedRoot'](_0x22cfc2);_0x52471a&&this['_knownRootNames']['add'](_0x52471a);}['_getAffectedRoot'](_0x5edb40){let _0x19346f,_0x13645c;switch(_0x5edb40['type']){case'insert':_0x19346f=_0x5edb40['position']['root'];break;case'marker':if(_0x13645c=_0x5edb40['newRange'],!_0x13645c)return null;_0x19346f=_0x13645c['root'];break;case'addRootAttribute':_0x19346f=_0x5edb40['root'];break;case'addRoot':_0x19346f=_0x5edb40['affectedSelectable'];break;case'move':_0x19346f=_0x5edb40['targetPosition']['root'];break;default:return null;}return _0x19346f['rootName'];}['_updateServerHistory'](_0x56e76a){_0x56e76a['forEach'](_0x5a25a2=>{const _0x1dc57d=_0x5a25a2['clone']();_0x1dc57d['_authorId']=_0x5a25a2['_authorId'],_0x1dc57d['_isInit']=!!_0x5a25a2['_isInit'],_0x1dc57d['createdAt']=_0x5a25a2['createdAt'],_0x1dc57d['baseVersion']+=this['_offset'],_0x5a25a2['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1dc57d),this['serverHistory']['addOperation'](_0x1dc57d);});}['_handleReconnectionError'](_0x593e3b){const _0x108d4f=this['editor']['plugins']['get']('Notification'),_0x50d1b8=this['editor']['locale'];_0x593e3b||(_0x593e3b=V(_0x50d1b8,'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.')),_0x108d4f['showWarning'](_0x593e3b,{'title':V(_0x50d1b8,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x32fe04)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x32fe04)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5a6d96){const _0x152187=_0x5a6d96['map'](_0x5e92dd=>_0x5e92dd['toJSON']());return this['_compressor']['compress'](_0x152187);}['_decompressOperations'](_0x25fa53,_0x316dec){return this['_compressor']['decompress'](_0x25fa53)['map']((_0x1d5123,_0x2494d5)=>{const _0x480e49='init'==_0x316dec[_0x2494d5]['type'];if('InsertOperation'==_0x1d5123['__className']){const _0x2099f2=_0x1d5123['position']['root'];!this['_document']['getRoot'](_0x2099f2)&&(this['_document']['createRoot']('$root',_0x2099f2)['_isAttached']=!0x1);}const _0x18454a=_0x59cd5d['fromJSON'](_0x1d5123,this['_document']);return _0x18454a['wasUndone']=_0x1d5123['wasUndone'],_0x18454a['_isInit']=_0x480e49,_0x18454a['_authorId']=_0x480e49?null:_0x316dec[_0x2494d5]['userId'],_0x18454a['_isDisconnection']='cs:removeUser'===_0x316dec[_0x2494d5]['type'],_0x18454a['createdAt']=_0x316dec[_0x2494d5]['createdAt'],_0x18454a;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x58fc4d=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x58fc4d&&_0x58fc4d['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x563a64,_0x548ad3){for(const _0x2e3a52 of _0x563a64)_0x2e3a52['baseVersion']=_0x548ad3++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x59d31d){this['_ignoredOperations']=_0x59d31d,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x21c050){let _0x338d4f=_0x21c050['length'];for(;_0x338d4f--;){const _0x34a407=_0x21c050[_0x338d4f];if(!this['_ignoredOperations']['has'](_0x34a407)){if(!this['_operationToId']['has'](_0x34a407)){const _0x354328=_0x440ce5()['slice'](0x1,0x12);this['_operationToId']['set'](_0x34a407,_0x354328);}return this['_operationToId']['get'](_0x34a407);}}}['setIdForTheLastOperation'](_0x38544b,_0x2fcf0c){if(!_0x2fcf0c)return;let _0x263926=_0x38544b['length'];for(;_0x263926--;){const _0x4feedc=_0x38544b[_0x263926];this['_ignoredOperations']['has'](_0x4feedc)||this['_operationToId']['set'](_0x4feedc,_0x2fcf0c);}}}class a extends _0x5bfa53{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x1c6eb3{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x319e55)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x4020f1];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12f2ff){super(_0x12f2ff),this['_services']=new Map();}async['init'](){const _0x127f6d=this['context'],_0x1c2cd6=_0x127f6d['plugins']['get']('CommentsRepository');if(_0x127f6d['plugins']['get'](n)['addToReconnectionStack'](this),_0x1c2cd6['adapter']={'addCommentThread':async({channelId:_0x373901,threadId:_0x103b91,comments:_0x4844ff,resolvedAt:_0xe13029,resolvedBy:_0xf54943,context:_0x21b5e3,attributes:_0x4aff57})=>{const _0x284cf1=await this['_getService'](_0x373901)['addCommentThread']({'commentThreadId':_0x103b91,'comments':_0x4844ff['map'](_0x2c3e3c=>function(_0x501d65,_0x4b642b,_0x1bcfa8){return{'commentThreadId':_0x1bcfa8,'commentId':_0x501d65['commentId'],'userId':_0x501d65['authorId'],'content':_0x501d65['content'],'documentId':_0x4b642b,'createdAt':_0x501d65['createdAt'],'attributes':_0x501d65['attributes']||{}};}(_0x2c3e3c,_0x373901,_0x103b91)),'resolvedAt':_0xe13029,'resolvedBy':_0xf54943,'context':_0x21b5e3,'attributes':_0x4aff57})['catch'](dt);return{'threadId':_0x284cf1['commentThreadId'],'comments':_0x284cf1['comments']};},'getCommentThread':async({channelId:_0x190f36,threadId:_0xbc7799})=>{const _0x3df458=await this['_getService'](_0x190f36)['getCommentThread'](_0xbc7799)['catch'](F)['catch'](dt);return _0x3df458?_0x3df458['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3df458]),{'threadId':_0x3df458['commentThreadId'],'comments':_0x3df458['comments']['map'](S),'context':_0x3df458['context'],'resolvedAt':_0x3df458['resolvedAt'],'resolvedBy':_0x3df458['resolvedBy'],'attributes':_0x3df458['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x323576,threadId:_0x1b6fec,context:_0x438565,unlinkedAt:_0x42e250,attributes:_0x467e74})=>this['_getService'](_0x323576)['updateCommentThread']({'commentThreadId':_0x1b6fec,'context':_0x438565,'attributes':_0x467e74,'unlinkedAt':_0x42e250})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x98e58b,threadId:_0x580a9f})=>{const _0x15971d=await this['_getService'](_0x98e58b)['resolveCommentThread'](_0x580a9f)['catch'](F)['catch'](dt);return{'threadId':_0x15971d['commentThreadId'],'resolvedAt':_0x15971d['resolvedAt'],'resolvedBy':_0x15971d['resolvedBy']};},'reopenCommentThread':async({channelId:_0x38ae54,threadId:_0x2116d5})=>this['_getService'](_0x38ae54)['reopenCommentThread'](_0x2116d5)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x4402a9,threadId:_0x240a6b})=>this['_getService'](_0x4402a9)['removeCommentThread'](_0x240a6b)['catch'](F)['catch'](dt),'addComment':({channelId:_0x1cdcc7,threadId:_0x30e9f5,commentId:_0x5f23c0,content:_0x2fd50d,attributes:_0x15e019})=>this['_getService'](_0x1cdcc7)['addComment'](_0x30e9f5,_0x5f23c0,_0x2fd50d,_0x15e019)['catch'](dt),'updateComment':({channelId:_0x365cf9,threadId:_0x79e5ff,commentId:_0x2feb37,content:_0x1493d1,attributes:_0x243fb7})=>this['_getService'](_0x365cf9)['updateComment'](_0x79e5ff,_0x2feb37,_0x1493d1,_0x243fb7)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x3f8a5e,threadId:_0x328e2f,commentId:_0x33085a})=>this['_getService'](_0x3f8a5e)['removeComment'](_0x328e2f,_0x33085a)['catch'](F)['catch'](dt)},_0x127f6d instanceof _0x23c0a4){const _0x3e5865=_0x127f6d['config']['get']('collaboration.channelId'),_0x4c0934=_0x127f6d['plugins']['get'](i);await this['_setUpService'](_0x3e5865);const _0x2d1de6=await this['_services']['get'](_0x3e5865)['getConnectedSessions']();this['listenTo'](_0x4c0934,'sessionAdd:'+_0x3e5865,(_0x319486,{session:_0x4ccb3a})=>{_0x4ccb3a['id']===_0x4c0934['mySessionId']&&(_0x319486['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x4ccb3a['permissions'],_0x3e5865));}),_0x4c0934['register'](_0x3e5865,_0x2d1de6);}}async['_setUpService'](_0x594cec){if(this['_services']['has'](_0x594cec))throw new _0x1ce47a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x594cec});const _0x1c5247=this['context']['plugins']['get']('CommentsRepository'),_0x109be8=new s['CommentsService'](_0x594cec);this['_services']['set'](_0x594cec,_0x109be8),this['listenTo'](_0x109be8,'commentThreadAdded',(_0x82211d,_0x2303b8)=>{const {commentThreadId:_0x3026a1,documentId:_0x310e4c,context:_0x3d4021,attributes:_0x18f186,resolvedAt:_0x5ebb2d,resolvedBy:_0x212b81,comments:_0x2959de}=_0x2303b8;_0x1c5247['getCommentThread'](_0x3026a1)||_0x1c5247['addCommentThread']({'threadId':_0x3026a1,'channelId':_0x310e4c,'comments':_0x2959de?_0x2959de['map'](S):[],'context':_0x3d4021,'attributes':_0x18f186,'resolvedAt':_0x5ebb2d,'resolvedBy':_0x212b81,'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentThreadUpdated',(_0x28fdc6,{commentThreadId:_0x5afd82,documentId:_0x1dee70,context:_0x3f40c3,unlinkedAt:_0x228bb8,attributes:_0x6234ae})=>{_0x1c5247['getCommentThread'](_0x5afd82)&&_0x1c5247['updateCommentThread']({'threadId':_0x5afd82,'channelId':_0x1dee70,'context':_0x3f40c3,'unlinkedAt':_0x228bb8,'attributes':_0x6234ae,'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentThreadResolved',(_0x14c233,{commentThreadId:_0x14bd26,resolvedBy:_0x23bc3d,resolvedAt:_0xb252cd})=>{const _0x393095=_0x1c5247['getCommentThread'](_0x14bd26);_0x393095&&_0x393095['resolve']({'resolvedBy':_0x23bc3d,'resolvedAt':_0xb252cd,'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentThreadReopened',(_0x54fcad,{commentThreadId:_0x3835fc})=>{const _0x554a32=_0x1c5247['getCommentThread'](_0x3835fc);_0x554a32&&_0x554a32['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentThreadRemoved',(_0x6ff8c1,{commentThreadId:_0x41f420})=>{const _0x1f0fc3=_0x1c5247['getCommentThread'](_0x41f420);_0x1f0fc3&&_0x1f0fc3['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentAdded',(_0x409a64,_0x3f5bcb)=>{const _0x21f701=_0x3f5bcb['commentThreadId'],_0x1462b5=_0x1c5247['getCommentThread'](_0x21f701);_0x1462b5&&_0x1462b5['addComment']({...S(_0x3f5bcb),'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentUpdated',(_0x961a13,{commentThreadId:_0x17f227,commentId:_0x165138,content:_0x39589a,attributes:_0x55b211})=>{const _0x45b6c3=_0x1c5247['getCommentThread'](_0x17f227);if(_0x45b6c3){const _0x5610f9=_0x45b6c3['getComment'](_0x165138);_0x5610f9&&_0x5610f9['update']({'content':_0x39589a,'attributes':_0x55b211,'isFromAdapter':!0x0});}}),this['listenTo'](_0x109be8,'commentRemoved',(_0x2dc7c4,{commentThreadId:_0x1ef805,commentId:_0x53f7bf})=>{const _0x4578e1=_0x1c5247['getCommentThread'](_0x1ef805);if(_0x4578e1){const _0x4a98b0=_0x4578e1['getComment'](_0x53f7bf);_0x4a98b0&&_0x4a98b0['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x594cec);}['destroy'](){if(this['context']instanceof _0x23c0a4){const _0x13e2b3=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x13e2b3);}}['_terminateService'](_0x11be9b){if(!this['_services']['has'](_0x11be9b))throw new _0x1ce47a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x11be9b});this['_getService'](_0x11be9b)['disconnect'](),this['_services']['delete'](_0x11be9b);}async['reconnect'](){for(const _0x251e38 of this['_services']['keys']())await this['_connectService'](_0x251e38);if(this['context']instanceof _0x23c0a4){const _0x6805c1=this['context']['config']['get']('collaboration.channelId'),_0xddd2fc=this['context']['plugins']['get'](i);_0xddd2fc['unregister'](_0x6805c1);const _0x369f78=await this['_services']['get'](_0x6805c1)['getConnectedSessions']();_0xddd2fc['register'](_0x6805c1,_0x369f78);}}async['_connectService'](_0x16f309){const {connection:_0xc0cce7}=this['context']['plugins']['get'](n),_0x1a35d2=this['context']['plugins']['get']('CommentsRepository'),_0x4c4ebb=this['_services']['get'](_0x16f309),_0x3b0938=await _0x4c4ebb['connect'](_0xc0cce7);await this['_fetchMissingUsersForThreads'](_0x3b0938);const _0xfba7ac=new Set(Array['from'](_0x1a35d2['getCommentThreads']({'channelId':_0x16f309}),_0x104b6a=>_0x104b6a['id']));for(const _0x40e34e of _0x3b0938)_0x40e34e['deletedAt']||_0xfba7ac['delete'](_0x40e34e['commentThreadId']);for(const _0x301ffa of _0xfba7ac)_0x1a35d2['getCommentThread'](_0x301ffa)['remove']({'isFromAdapter':!0x0});for(const _0x4de2a0 of _0x3b0938){let _0x46a800=_0x1a35d2['getCommentThread'](_0x4de2a0['commentThreadId']);const {commentThreadId:_0x4b5a18,context:_0x4ff777,attributes:_0x4ee7f9,resolvedBy:_0x29e503,resolvedAt:_0x1690ef,unlinkedAt:_0x4773f8,deletedAt:_0x5ac8cb}=_0x4de2a0;if(_0x5ac8cb)continue;_0x46a800||(_0x46a800=_0x1a35d2['addCommentThread']({'channelId':_0x16f309,'threadId':_0x4b5a18,'context':_0x4ff777,'attributes':_0x4ee7f9||{},'resolvedBy':_0x29e503,'resolvedAt':_0x1690ef,'unlinkedAt':_0x4773f8,'isFromAdapter':!0x0}));const _0x3f225e=new Set(Array['from'](_0x46a800['comments'],_0x39fc84=>_0x39fc84['id']));for(const _0x233ae7 of _0x4de2a0['comments'])_0x3f225e['delete'](_0x233ae7['commentId']);for(const _0x20c1f5 of _0x3f225e)_0x46a800['getComment'](_0x20c1f5)['remove']({'isFromAdapter':!0x0});for(const _0x4b4af2 of _0x4de2a0['comments']){const _0x5cd47e=_0x46a800['getComment'](_0x4b4af2['commentId']);_0x5cd47e?_0x5cd47e['content']!==_0x4b4af2['content']&&_0x5cd47e['update']({'content':_0x4b4af2['content'],'isFromAdapter':!0x0}):_0x46a800['addComment'](Object['assign'](S(_0x4b4af2),{'isFromAdapter':!0x0}));}}}['_getService'](_0x39cab4){if(!this['_services']['has'](_0x39cab4))throw new _0x1ce47a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x39cab4});return this['_services']['get'](_0x39cab4);}async['_fetchMissingUsersForThreads'](_0x4181f3){const _0x819f00=this['context']['plugins']['get'](_0x4020f1),{connection:_0x9abb0}=this['context']['plugins']['get'](n),_0x1f33c4=new Set();for(const {resolvedBy:_0xc4f42a,comments:_0x12d33a}of _0x4181f3){_0xc4f42a&&!_0x819f00['getUser'](_0xc4f42a)&&_0x1f33c4['add'](_0xc4f42a);for(const {userId:_0x2c0f35}of _0x12d33a)_0x819f00['getUser'](_0x2c0f35)||_0x1f33c4['add'](_0x2c0f35);}if(0x0===_0x1f33c4['size'])return;const _0x17f33e=await lt['getMany'](_0x9abb0,Array['from'](_0x1f33c4));for(const _0x129fad of _0x17f33e)_0x819f00['getUser'](_0x129fad['id'])||_0x819f00['addUser'](_0x129fad);}}async function F(_0x233594){if('404'!==_0x233594['code'])throw _0x233594;}function dt(_0x38d02b){if((_0x53308d=_0x38d02b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x53308d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x53308d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x53308d;throw _0x38d02b;}function S(_0x2b9baa){return{'threadId':_0x2b9baa['commentThreadId'],'commentId':_0x2b9baa['commentId'],'content':_0x2b9baa['content'],'createdAt':_0x2b9baa['createdAt'],'authorId':_0x2b9baa['userId'],'attributes':_0x2b9baa['attributes']||{}};}class m extends _0x5bfa53{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x96ad98){super(_0x96ad98);const _0x24a078=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x24a078);}['init'](){const _0x200f7f=this['editor']['plugins']['get'](n),_0x595aa0=this['editor']['plugins']['get']('TrackChangesEditing');return _0x595aa0['adapter']={'getSuggestion':async _0x49d5c3=>{await this['_waitForServiceReady']();const _0x4b39b9=await this['_trackChangesService']['get'](_0x49d5c3)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x4b39b9]),_0x4b39b9;},'addSuggestion':async({id:_0x31a21b,type:_0x461b07,data:_0x1a4c14,originalSuggestionId:_0x4ffbcc,attributes:_0x5774fa})=>{await this['_waitForServiceReady']();const _0x3b7d1c={'id':_0x31a21b,'type':_0x461b07,'data':_0x1a4c14,'originalSuggestionId':_0x4ffbcc,'attributes':_0x5774fa},_0x25c6a5=await this['_trackChangesService']['add'](_0x31a21b,_0x461b07,_0x1a4c14,_0x4ffbcc,_0x5774fa)['catch'](_0xd34898=>{if(ut(_0xd34898))return new Promise(_0x2cae5a=>{this['_bufferedRequests']['set'](_0x31a21b,{'resolve':_0x2cae5a,'suggestionData':_0x3b7d1c});});throw _0xd34898;});return this['_bufferedRequests']['delete'](_0x31a21b),_0x25c6a5;},'updateSuggestion':async(_0x5761e9,_0x3d9b39)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3d9b39['state'])return this['_trackChangesService']['update'](_0x5761e9,_0x3d9b39)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x34d66c,_0x4b9fea)=>{_0x595aa0['hasSuggestion'](_0x4b9fea['id'])&&(_0x595aa0['getSuggestion'](_0x4b9fea['id'])['attributes']=_0x4b9fea['attributes']);}),this['_trackChangesService']['connect'](_0x200f7f['connection'])['then'](_0x1592fd=>(_0x200f7f['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1592fd)['then'](()=>{for(const _0x88471f of _0x1592fd){_0x595aa0['addSuggestionData'](_0x88471f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x515eab=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x463945}=this['editor']['plugins']['get'](n),_0x88217a=await this['_trackChangesService']['connect'](_0x463945);await this['_fetchMissingUsersForThreads'](_0x88217a);for(const {suggestionData:_0x31b724,resolve:_0x42565e}of this['_bufferedRequests']['values']()){let _0x568fd4=_0x88217a['find'](_0x163be3=>_0x163be3['id']===_0x31b724['id']);_0x568fd4||(_0x568fd4=await this['_trackChangesService']['add'](_0x31b724['id'],_0x31b724['type'],_0x31b724['data'],_0x31b724['originalSuggestionId'])),_0x42565e(_0x568fd4);}for(const _0x3bea55 of _0x88217a)_0x515eab['hasSuggestion'](_0x3bea55['id'])||_0x515eab['addSuggestionData'](_0x3bea55);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2cb001=>{this['listenTo'](this['_trackChangesService'],'connected',_0x176c18=>{_0x176c18['off'](),_0x2cb001();});});}async['_fetchMissingUsersForThreads'](_0x5b6a07){const _0x59ec68=this['editor']['plugins']['get'](_0x4020f1),{connection:_0x42c036}=this['editor']['plugins']['get'](n),_0x20b193=new Set();for(const {authorId:_0xb903ec}of _0x5b6a07)_0x59ec68['getUser'](_0xb903ec)||_0x20b193['add'](_0xb903ec);if(0x0===_0x20b193['size'])return;const _0x133870=await lt['getMany'](_0x42c036,Array['from'](_0x20b193));for(const _0x5f3d16 of _0x133870)_0x59ec68['getUser'](_0x5f3d16['id'])||_0x59ec68['addUser'](_0x5f3d16);}}function k(_0x1e114b){if(ut(_0x1e114b))return new Promise(()=>{});throw _0x1e114b;}function ut(_0x26f207){return _0x26f207['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x26f207['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x5bfa53{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x503ca6=this['editor']['plugins']['get'](n),_0x2f09ad=this['editor']['plugins']['get']('CommentsEditing'),_0x1e5edc=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x503ca6,'change:state',(_0x5014c4,_0x2539bb,_0x409c87)=>{_0x2f09ad['isThreadsLoadingPaused']='connected'!==_0x409c87;});}),this['listenTo'](_0x503ca6,'change:state',(_0x550d6e,_0x40a918,_0x377c38)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x377c38);}),_0x1e5edc['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x5bfa53{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x5bfa53{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x4020f1];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1bdf1b){super(_0x1bdf1b);const _0x2526cf=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x2526cf);}async['init'](){const _0x32935d=this['editor']['plugins']['get'](l),_0x4668c7=_0x32935d['serverHistory'],_0x513249=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x4668c7,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x32935d['sessionId']});const _0x4a812e=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x2e48b5=await tt['isBundleUploaded'](_0x513249['connection'],_0x4a812e);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x25b706})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x25b706)),'updateRevisions':async _0x38edea=>{await this['_waitForServiceReady']();const _0x4cd9b8=this['_revisionTracker']['currentRevision'];if(_0x2e48b5&&0x1===_0x38edea['length']&&_0x38edea[0x0]['id']===_0x4cd9b8['id'])return _0x38edea;for(const _0x113e00 of _0x38edea)_0x113e00['id']===_0x4cd9b8['id']&&(_0x113e00['isEmptyCurrent']=_0x113e00['fromVersion']===_0x113e00['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x38edea,this['_lastRequestId'])['then'](_0x3abb81=>(this['_lastRequestId']=_0x3abb81,_0x38edea))['catch'](_0x5c85ed=>{if(st(_0x5c85ed)||'400'===_0x5c85ed['code']&&void 0x0!==_0x5c85ed['data']['wrongRequestId']){for(const _0x220277 of _0x38edea){!this['_revisionTracker']['repository']['getRevision'](_0x220277['id'])||this['_revisionTracker']['_bufferUpdate'](_0x220277['id'],_0x220277,!0x1);}if(st(_0x5c85ed))throw _0x5c85ed;return _0x38edea;}throw _0x5c85ed;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x142de3,{revisionsData:_0x269bb8,requestId:_0x7d8252})=>{Math['max'](..._0x269bb8['map'](_0x5498b9=>_0x5498b9['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x269bb8,_0x7d8252);}):this['_handleRevisionsUpdate'](_0x269bb8,_0x7d8252);});const {revisions:_0x55f0a3,requestId:_0x3da673}=await this['_revisionHistoryService']['connect'](_0x513249['connection']);_0x513249['addToReconnectionStack'](this),this['_lastRequestId']=_0x3da673,await this['_fetchMissingUsers'](_0x55f0a3);for(const _0x243d07 of _0x55f0a3)this['_revisionTracker']['addRevisionData'](_0x243d07);this['listenTo'](_0x32935d,'change:_isConnected',(_0xaaa955,_0xafb43c,_0x188599)=>{_0x188599&&(this['_oldOffset']=_0x32935d['_offset'],_0xaaa955['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x513249,'state',_0x46de27=>_0x46de27===te['CONNECTED']);}async['reconnect'](){const _0x47e895=this['editor']['plugins']['get'](n),_0x5cf48b=this['editor']['plugins']['get'](l),_0x3614b1=async()=>{const _0x159a1e=this['_revisionTracker']['currentRevision'],_0x537bd4=_0x159a1e['id'],_0x64b3f3=_0x537bd4!==_0x5cf48b['sessionId'];if(_0x64b3f3){const _0x441ff5=_0x5cf48b['_offset']-this['_oldOffset'],_0x2d3844=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x159a1e['toVersion']+_0x441ff5!==_0x2d3844){const _0x4fba7c=_0x159a1e['fromVersion']+_0x441ff5,_0x3cd58a=this['editor']['plugins']['get'](_0x4020f1),_0x517e45=this['_revisionTracker']['buildRevisionData']({'revision':_0x159a1e,'from':_0x4fba7c,'to':_0x2d3844});_0x517e45['id']=_0x159a1e['id'];const _0x4efb16=_0x517e45['authorsIds']['map'](_0x202952=>_0x3cd58a['getUser'](_0x202952));_0x159a1e['_update']({..._0x517e45,'authors':_0x4efb16},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x159a1e['id'],_0x517e45,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2d3844,(_0x159a1e['toVersion']===_0x159a1e['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x537bd4)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x537bd4),this['_revisionTracker']['_createCurrentRevision'](_0x2d3844));}const {revisions:_0x481d28,requestId:_0x178081}=await this['_revisionHistoryService']['reconnect'](_0x47e895['connection'],this['_lastRequestId']);_0x64b3f3&&_0x481d28['length']>0x0?_0x5cf48b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x481d28),this['_handleRevisionsUpdate'](_0x481d28,_0x178081),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5cf48b['_isConnected']?_0x3614b1():new Promise((_0x10e287,_0x4f43b3)=>{_0x5cf48b['once']('change:_isConnected',()=>{_0x3614b1()['then'](_0x10e287)['catch'](_0x4f43b3);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x323227=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1398f6=>{_0x1398f6['off'](),_0x323227();});});}['_getLatestVersionFromServerOperations'](){const _0x420475=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3a90c0 of _0x420475)if('marker'!==_0x3a90c0['type']||_0x3a90c0['affectsData'])return _0x3a90c0['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1e1b98=this['editor']['plugins']['get'](l);return new Promise(_0x588ff8=>{_0x1e1b98['_isPendingUpdate']?_0x1e1b98['once']('change:_isPendingUpdate',()=>{_0x588ff8(this['_getLatestVersionFromServerOperations']());}):_0x588ff8(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x261083,_0x2cb873){const _0x41bbfa=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2cb873;for(const _0xa93004 of _0x261083){const _0x8502d5=_0x41bbfa['getRevision'](_0xa93004['id']);if(_0x8502d5){if((_0xa93004['fromVersion']||_0xa93004['toVersion'])&&(_0xa93004['diffData']=null),_0x8502d5===this['_revisionTracker']['currentRevision']){const _0x1da3a4=Math['max'](_0x8502d5['toVersion'],_0xa93004['toVersion']),_0x446a6b=Math['max'](_0x8502d5['fromVersion'],_0xa93004['fromVersion']);let _0x3f9235;_0x8502d5['toVersion']===_0xa93004['toVersion']&&_0x8502d5['fromVersion']===_0xa93004['fromVersion']?(_0x3f9235=!0x0,this['_preventResendingRevisionData'](_0xa93004)):_0xa93004['toVersion']===_0x1da3a4&&_0xa93004['fromVersion']===_0x446a6b?_0x3f9235=!0x1:(_0x8502d5['toVersion']===_0x1da3a4&&_0x8502d5['fromVersion']===_0x446a6b||this['_fixRevision']({'revision':_0x8502d5,'from':_0x446a6b,'to':_0x1da3a4}),_0x3f9235=!0x0),_0x3f9235&&(delete _0xa93004['fromVersion'],delete _0xa93004['toVersion'],delete _0xa93004['diffData'],delete _0xa93004['createdAt'],delete _0xa93004['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xa93004),this['_preventResendingRevisionData'](_0xa93004);}else this['_revisionTracker']['addRevisionData'](_0xa93004);}const _0x5bfba4=_0x41bbfa['getRevisions']();_0x5bfba4['reverse']();for(let _0x22ecd2=0x0;_0x22ecd2<_0x5bfba4['length']-0x1;_0x22ecd2++){const _0x155e44=_0x5bfba4[_0x22ecd2],_0x328027=_0x5bfba4[_0x22ecd2+0x1];if(_0x155e44['fromVersion']<_0x328027['toVersion']){const _0x482e02=_0x328027['toVersion'],_0x5f491d=Math['max'](_0x482e02,_0x155e44['toVersion']);this['_fixRevision']({'revision':_0x155e44,'from':_0x482e02,'to':_0x5f491d});}}}['_fixRevision']({revision:_0x279d80,from:_0x2165c4,to:_0x422b02}={}){const _0x4e1fac=this['editor']['plugins']['get'](_0x4020f1),_0x4197be=this['_revisionTracker']['buildRevisionData']({'revision':_0x279d80,'from':_0x2165c4,'to':_0x422b02});_0x4197be['authors']=_0x4197be['authorsIds']['map'](_0x17999f=>_0x4e1fac['getUser'](_0x17999f)),_0x279d80['_update'](_0x4197be);}['_preventResendingRevisionData'](_0x5a8855){const _0x4cf8dd={};_0x4cf8dd['id']=_0x5a8855['id'];for(const _0x59d390 of Object['keys'](_0x5a8855))'id'!==_0x59d390&&(_0x4cf8dd[_0x59d390]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4cf8dd['id'],_0x4cf8dd,!0x0);}async['_fetchMissingUsers'](_0x2738dc){const _0x1faff0=this['editor']['plugins']['get'](_0x4020f1),{connection:_0x474634}=this['editor']['plugins']['get'](n),_0x4b69cc=new Set();for(const _0x4e78b6 of _0x2738dc){for(const _0x8f4ec3 of _0x4e78b6['authorsIds'])_0x57e918(_0x8f4ec3);_0x4e78b6['creatorId']&&_0x57e918(_0x4e78b6['creatorId']);}if(0x0===_0x4b69cc['size'])return;const _0x1a742a=await lt['getMany'](_0x474634,Array['from'](_0x4b69cc));for(const _0x14b45d of _0x1a742a)_0x1faff0['getUser'](_0x14b45d['id'])||_0x1faff0['addUser'](_0x14b45d);function _0x57e918(_0x124046){_0x1faff0['getUser'](_0x124046)||_0x4b69cc['add'](_0x124046);}}}function st(_0xdbf771){return _0xdbf771['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xdbf771['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xdbf771['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x5bfa53{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x59df29{['_collapseAt'];constructor(_0x2a4776,_0x3dbb1b=0x6){super(_0x2a4776);const _0x394aed=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3dbb1b,this['bind']('isHidden')['to'](this,'usersCount',_0x1801ff=>_0x1801ff<_0x3dbb1b),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x394aed['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x394aed['to']('usersCount',_0x4e4a8a=>'+'+(_0x4e4a8a-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x59df29{['items'];['keystrokes'];constructor(_0x198c8d){super(_0x198c8d);const _0x4dd588=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x3bfa3c(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4dd588['if']('hasPopup'),'aria-expanded':_0x4dd588['to']('isExpanded',_0x159700=>this['hasPopup']&&String(_0x159700)),'aria-label':_0x4dd588['to']('hasPopup',_0x5359fa=>V(_0x198c8d,_0x5359fa?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4dd588['to']('hasPopup',_0x3da804=>!!_0x3da804&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4dd588['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4dd588['to'](_0x2c771a=>{const _0x24bf5b=_0x2c771a,_0x231f4a=document['querySelector']('.ck-presence-list__dropdown-list'),_0xec080d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x231f4a?.['contains'](_0x24bf5b['relatedTarget'])||_0xec080d?.['contains'](_0x24bf5b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x112e80,_0x3c129b,_0x3cbd10)=>{this['element']&&(_0x3cbd10?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x59df29{['counterView'];['inlineListView'];constructor(_0x22bde4,_0x1ba271=0x6){super(_0x22bde4);const _0x5a05e6=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x1ba271),this['inlineListView']=new is(_0x22bde4),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4cdee7 of this['inlineListView']['items'])_0x4cdee7['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',_0x5a05e6['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x59df29{['listWrapperView'];constructor(_0x204b37,_0x28c39d){super(_0x204b37);const _0x5460a1=this['bindTemplate'];this['listWrapperView']=new pt(_0x204b37,_0x28c39d),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x204b37,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5460a1['to'](_0x86256a=>{const _0x1f446d=_0x86256a,_0x23f92a=document['querySelector']('.ck-presence-list__list'),_0x5b7dcc=document['querySelector']('.ck-balloon-panel_with-arrow');_0x23f92a?.['contains'](_0x1f446d['relatedTarget'])||_0x5b7dcc?.['contains'](_0x1f446d['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x514ed5{constructor(_0x5c1938,_0x35e7e9){super(_0x5c1938);const _0x296741=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x35e7e9?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x296741['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x296741['to']('role'),'aria-label':_0x296741['to']('ariaLabel'),'aria-labelledby':_0x296741['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x26dcab['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xc2dd39=this['element'];_0xc2dd39&&(this['_isScrollable']=Math['max'](_0xc2dd39['scrollHeight'],_0xc2dd39['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x4b2074,_0x124508,_0x31cd3c){super(_0x4b2074);const _0x16e4ec=this['bindTemplate'];this['userView']=new ct(_0x4b2074,_0x124508);const _0xb429af={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x124508['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x124508['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x124508['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x31cd3c&&(_0xb429af['tag']='button',_0xb429af['on']={'click':_0x16e4ec['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xb429af);}['focus'](){this['element']['focus']();}}class A extends _0x59df29{['userView'];['markerView'];constructor(_0x23dccd,_0x355b1a,_0x9df8e9){super(_0x23dccd);const _0x473c7b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x23dccd,_0x355b1a),this['markerView']=new at(_0x23dccd,_0x355b1a);const _0x2758c5=new ot(_0x23dccd);_0x2758c5['template']['tag']='span',_0x2758c5['text']=_0x355b1a['name'];const _0x247de5={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x473c7b['to']('isFocusable',_0x218354=>!!_0x218354&&0x0),'aria-labelledby':_0x2758c5['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x473c7b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x473c7b['to']('hasTooltip',_0xcc4d26=>!_0xcc4d26),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2758c5]};_0x9df8e9&&(_0x247de5['tag']='button',_0x247de5['on']={'click':_0x473c7b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x247de5);}}class at extends _0x59df29{constructor(_0x780114,_0x28f95e){super(_0x780114),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x28f95e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1c6eb3{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x41e001){super(_0x41e001),this['context']['config']['define']('presenceList',x);const _0x5ed9f8=_0x41e001['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5ed9f8)throw new _0x1ce47a('presencelist-collapseat-invalid-format',this);if(_0x5ed9f8<0x1)throw new _0x1ce47a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x38d74d(),this['balloonPanelView']=new _0x5008c7(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x56697c of this['_allConnectedUsers'])this['_handleUserAdd'](_0x56697c);this['listenTo'](this['_allConnectedUsers'],'add',(_0x139b19,_0x31db4e)=>{this['_handleUserAdd'](_0x31db4e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x628bbc,_0x1b545e)=>{this['_handleUserRemove'](_0x1b545e);});}['_createView'](){const _0xc79b1d=this['context'],_0x548590=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x242929=this['balloonPanelView'];if(!_0x6bd037(_0xc79b1d['config']['get']('presenceList.container')))throw new _0x1ce47a('presencelist-missing-container',this);return _0x548590['counterView']['bind']('usersCount')['to'](this),_0x548590['bind']('isCollapsed')['to'](this,'usersCount',_0x4f62ea=>{const {collapseAt:_0x30ed2e}=_0xc79b1d['config']['get']('presenceList'),_0x22909c=_0x4f62ea>=_0x30ed2e;if(_0x22909c&&!_0x548590['inlineListView']['items']['find'](_0x446e23=>_0x446e23 instanceof b)){const _0x46182e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x46182e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x548590['inlineListView']['items']['add'](_0x548590['counterView']);}return _0x22909c||this['hideDropdown'](),_0x22909c;}),_0x548590['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5e0b4=>{const _0x10e3bd=_0xc79b1d['config']['get']('presenceList'),_0x44d7f0=new A(_0xc79b1d['locale'],_0x5e0b4,!!_0x10e3bd['onClick']);return _0x44d7f0['bind']('hasTooltip')['to'](_0x548590,'isCollapsed',_0x53fec6=>!_0x53fec6),_0x44d7f0['bind']('isFocusable')['to'](_0x548590,'isCollapsed',_0xc36e5b=>!_0xc36e5b),_0x10e3bd['onClick']&&this['listenTo'](_0x44d7f0,'execute',()=>{this['view']['isCollapsed']||_0x10e3bd['onClick'](_0x5e0b4,_0x44d7f0['element']);}),_0x44d7f0;}),this['listenTo'](_0x548590['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x548590['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x548590['inlineListView']['keystrokes']['set']('Enter',(_0x5605e3,_0x1500af)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1500af());}),_0x548590['render'](),_0x242929['render'](),_0x35631f({'emitter':_0x548590,'activator':()=>_0x242929['isVisible'],'contextElements':[_0x242929['element'],_0x548590['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xc79b1d['config']['get']('presenceList.container')['appendChild'](_0x548590['element']),this['_bodyCollection']=new _0x33e143(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x548590;}['_handleUserAdd'](_0x573342){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x573342['isMe'])return;const _0x4bc2f7=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4bc2f7-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5e0181=_0x573342['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x573342,_0x5e0181);}['_handleUserRemove'](_0x4c2bc0){this['usersCount']--;const {collapseAt:_0x4ed84e}=this['context']['config']['get']('presenceList'),_0x1905ee=this['usersCount']>=_0x4ed84e;if(this['currentDisplayedUsers']['get'](_0x4c2bc0['id']))this['currentDisplayedUsers']['remove'](_0x4c2bc0['id']);else{if(_0x1905ee&&this['currentDisplayedUsers']['length']+0x1===_0x4ed84e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1905ee?0x1:0x0)<this['usersCount']){for(const _0x73da74 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x73da74['id'])&&(this['currentDisplayedUsers']['add'](_0x73da74,Math['min'](this['currentDisplayedUsers']['length']-(_0x1905ee?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1905ee?0x1:0x0)===_0x4ed84e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x41a8e3=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x41a8e3['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x3648e0}=this['presenceDropdownView'];_0x3648e0['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x399bff=>{if(!_0x41a8e3['displayMe']&&_0x399bff['isMe'])return null;const _0x7af79a=new j(this['context']['locale'],_0x399bff,!!_0x41a8e3['onClick']);return _0x41a8e3['onClick']&&this['listenTo'](_0x7af79a,'execute',()=>{_0x41a8e3['onClick'](_0x399bff,_0x7af79a['element']);}),_0x7af79a;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3648e0['focus'](),_0x3648e0['checkIfScrollable']();const _0x447394=(_0x203a4b,_0x24608b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x24608b();};_0x3648e0['keystrokes']['set']('Esc',_0x447394),_0x3648e0['keystrokes']['set']('Shift+Tab',_0x447394),_0x3648e0['keystrokes']['set']('Tab',(_0x3141d2,_0x5978c2)=>{!function(_0x9b20ee){const _0x43eb18=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x139ecc=>_0x139ecc+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4771cc=[...document['body']['querySelectorAll'](_0x43eb18)]['filter'](_0x3b2829=>_0x3b2829===document['activeElement']||_0x3b2829['offsetWidth']+_0x3b2829['offsetHeight']>0x0)['sort']((_0x294c47,_0xfcee8b)=>(_0x294c47['tabIndex']||0x0)-(_0xfcee8b['tabIndex']||0x0)),_0x1e1f44=_0x4771cc['indexOf'](_0x9b20ee),_0x38f3ac=_0x4771cc[(_0x1e1f44+0x1)%_0x4771cc['length']];_0x38f3ac&&_0x38f3ac['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5978c2();}),_0x3648e0['focusTracker']['add'](this['view']['element']),_0x3648e0['focusTracker']['on']('change:isFocused',(_0x4c4604,_0x293581,_0x27738b)=>{_0x27738b||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 gt extends _0x1c6eb3{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
|