@ckeditor/ckeditor5-real-time-collaboration 47.4.0-alpha.5 → 47.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/real-time-collaboration.js +1 -1
- package/dist/index.js +6 -6
- package/package.json +14 -14
- package/src/presencelist/presencelistui.js +1 -1
- package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
- package/src/presencelist/view/presencedropdownlistview.js +1 -1
- package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
- package/src/presencelist/view/presenceinlinelistview.js +1 -1
- package/src/presencelist/view/presencelistview.js +1 -1
- package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +2 -2
- package/src/realtimecollaborativeediting/realtimecollaborationclient.js +2 -2
- package/src/realtimecollaborativeediting/sessions.js +1 -1
- package/src/realtimecollaborativeediting/usermarkers.js +1 -1
- package/src/realtimecollaborativeediting/websocketgateway.js +2 -2
- package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +2 -2
- package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +2 -2
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{ContextPlugin as
|
|
24
|
-
((()=>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 _0x49081f,Plugin as _0x111504,PendingActions as _0x19f13a,Context as tt}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x715e60,CKEditorError as _0x2ba111,Collection as _0x4c3fca,global as _0x23a209,version as ht,uid as _0x279525,KeystrokeHandler as _0x100592}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3c12c6,View as _0x447871,ListView as _0x211604,ListItemView as rt,LabelView as at,BalloonPanelView as _0x3df348,clickOutsideHandler as _0x358832,BodyCollection as _0x560eda}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x2e51d3,History as _0x3898d5,NoOperation as _0x47d7bf,InsertOperation as _0x4adff9,MarkerOperation as _0x4150e4,RootAttributeOperation as _0x440fd6,transformOperationSets as _0x3419a3,OperationFactory as _0x1b106d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x278209,CollaborativeEditingService as _0x1a0236,User as ut,CommentsService as et,TrackChangesService as it,RevisionHistoryService as _0x439566,EditorService as _0x47cbe4}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x24d756,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x1954db}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x536ad2}from'es-toolkit/compat';class n extends _0x49081f{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3c12c6];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x477801){super(_0x477801),this['set']('state',_0x278209['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x715e60())();}['init'](){const _0xb229a8=this['context'],_0x1fb13d=_0xb229a8['plugins']['get']('CloudServices'),_0x1586cc=_0xb229a8['plugins']['get'](_0x3c12c6);if(!_0x1fb13d['token'])throw new _0x2ba111('websocketgateway-missing-token',this);if(!_0x1fb13d['webSocketUrl'])throw new _0x2ba111('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'](_0x1fb13d['token'],_0x1fb13d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x38d90a=>{if(this['connection']=_0x38d90a,this['bind']('state')['to'](_0x38d90a,'state',this,'_isBrowserOffline',(_0x4646a8,_0x4b9f48)=>('connected'!==_0x4646a8&&(this['_shouldPluginsReconnect']=!0x0),_0x4b9f48||_0x4646a8!==_0x278209['CONNECTED']?_0x278209['DISCONNECTED']:this['state']==_0x278209['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x278209['CONNECTING']):_0x278209['CONNECTED'])),this['connection']['on']('error',(_0x40fb1a,_0x43c93c)=>{if('limitExceeded'!==_0x43c93c['code'])throw console['error'](_0x43c93c),new _0x2ba111('cloudservices-init',null,{'originalError':_0x43c93c});_0x1586cc['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'});}),!_0x38d90a['me'])return new Promise(_0x1dc378=>_0x38d90a['on']('change:me',_0x1dc378));})['catch'](_0x2bc006=>{throw console['error'](_0x2bc006),new _0x2ba111('cloudservices-init',null,{'originalError':_0x2bc006});});}['addToReconnectionStack'](_0x377432){if('function'!=typeof _0x377432['reconnect'])throw new _0x2ba111('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x377432))throw new _0x2ba111('websocketgateway-plugin-already-registered',this,{'name':_0x377432['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x377432);}['removeFromReconnectionStack'](_0x35af5b){this['_reconnectionStack']['delete'](_0x35af5b);}['isInReconnectionStack'](_0x45644c){return this['_reconnectionStack']['has'](_0x45644c);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x55c5ae=>_0x55c5ae['reconnect']())))['then'](()=>this['state']=_0x278209['CONNECTED'])['catch'](_0x4edfae=>{throw console['error'](_0x4edfae),new _0x2ba111('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x278209['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x49081f{['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,_0x24d756];}constructor(_0xea0d08){super(_0xea0d08),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4c3fca(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x24d756);}['init'](){const _0xba9c08=this['context']['plugins']['get'](n);this['listenTo'](_0xba9c08,'change:state',(_0x44d85b,_0x47a9ae,_0x239015)=>{if('connected'!==_0x239015)this['channelSessions']['forEach'](_0x11f7d0=>_0x11f7d0['clear']()),this['channelConnectedUsers']['forEach'](_0x3a5fbc=>_0x3a5fbc['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3a82ed,_0x38ebef]of this['_registeredSessions'])for(const _0xc39a58 of _0x38ebef)this['_handleSessionAdd'](_0x3a82ed,_0xc39a58);}}),this['_createUser'](_0xba9c08['connection']['me'],!0x0);}['register'](_0x550643,_0x512238){if(this['_registeredSessions']['has'](_0x550643))throw new _0x2ba111('sessions-register-already-registered',null,{'channelId':_0x550643});this['_registeredSessions']['set'](_0x550643,_0x512238),this['channelSessions']['set'](_0x550643,new _0x4c3fca()),this['channelConnectedUsers']['set'](_0x550643,new _0x4c3fca()),this['listenTo'](_0x512238,'add',(_0x3c8c2c,_0x18f61c)=>this['_handleSessionAdd'](_0x550643,_0x18f61c)),this['listenTo'](_0x512238,'remove',(_0xa764e0,_0x189f85)=>this['_handleSessionRemove'](_0x550643,_0x189f85));for(const _0x5741d2 of _0x512238)this['_handleSessionAdd'](_0x550643,_0x5741d2);}['unregister'](_0x39a900){if(!this['_registeredSessions']['has'](_0x39a900))throw new _0x2ba111('sessions-unregister-not-exist',null,{'channelId':_0x39a900});const _0x27ee42=this['_registeredSessions']['get'](_0x39a900);this['stopListening'](_0x27ee42);for(const _0x3b86ef of _0x27ee42)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x39a900,_0x3b86ef);this['_registeredSessions']['delete'](_0x39a900),this['channelSessions']['delete'](_0x39a900),this['channelConnectedUsers']['delete'](_0x39a900);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0xd180d6){for(const _0x9aed69 of this['channelSessions']['values']())for(const _0x43a87e of _0x9aed69)if(_0x43a87e['id']===_0xd180d6)return _0x43a87e['user'];}['getUserSessions'](_0x5e2b94,_0x1f6cd4){const _0x19e7b0=_0x1f6cd4?[this['channelSessions']['get'](_0x1f6cd4)]:this['channelSessions']['values'](),_0x34ba15=new Set();for(const _0x478a1a of _0x19e7b0)for(const _0x4481be of _0x478a1a)_0x4481be['user']['id']===_0x5e2b94['id']&&_0x34ba15['add'](_0x4481be['id']);return _0x34ba15;}['getUserRole'](_0x3aa4f7){for(const _0x302e30 of this['channelSessions']['values']())for(const _0x2874ab of _0x302e30)if(_0x2874ab['user']===_0x3aa4f7)return _0x2874ab['role'];}['_handleSessionAdd'](_0x5e4f9c,_0x3629ba){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5104dd=_0x3629ba['user'],_0x20956d=this['_users']['getUser'](_0x5104dd['id'])||this['_createUser'](_0x5104dd),_0x6a5001=Object['assign']({},_0x3629ba,{'user':_0x20956d});if(this['channelSessions']['get'](_0x5e4f9c)['add'](_0x6a5001),!_0x5104dd['hiddenInPresenceList']){const _0x56ab72=this['channelConnectedUsers']['get'](_0x5e4f9c);_0x56ab72['has'](_0x20956d['id'])||_0x56ab72['add'](_0x20956d),this['allConnectedUsers']['has'](_0x20956d['id'])||_0x5104dd['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x20956d,_0x20956d['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x5e4f9c,{'channelId':_0x5e4f9c,'session':_0x6a5001});}['_handleSessionRemove'](_0x60ec50,_0x18524e){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3f4fa1=this['channelConnectedUsers']['get'](_0x60ec50),_0x8d3ced=_0x18524e['user'];_0x8d3ced['id']&&(this['channelSessions']['get'](_0x60ec50)['remove'](_0x18524e['id']),_0x3f4fa1['has'](_0x8d3ced['id'])&&!this['getUserSessions'](_0x8d3ced,_0x60ec50)['size']&&_0x3f4fa1['remove'](_0x8d3ced['id']),this['allConnectedUsers']['get'](_0x8d3ced['id'])&&!this['getUserSessions'](_0x8d3ced)['size']&&this['allConnectedUsers']['remove'](_0x8d3ced['id']));}['_createUser'](_0x5da2bc,_0x436f11){const _0x20e6d4=this['_users']['addUser'](_0x5da2bc);return _0x436f11&&this['_users']['defineMe'](_0x5da2bc['id']),_0x20e6d4['orderNumber']=this['_uniqueUsersCount']++,_0x20e6d4;}}class k extends _0x111504{['_domEmitter']=new(_0x715e60())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xe920a5=this['editor'],_0x211e72=_0xe920a5['plugins']['get'](i);_0xe920a5['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x347cb7,{writer:_0xa8bd97})=>function(_0x258c87,_0x597e0a,_0xe4a51b,_0x2daec0){const _0x52bb30=_0x258c87['markerName']['split'](':')[0x2],_0x3dd50d=_0xe4a51b['getUserBySessionId'](_0x52bb30);if(!_0x3dd50d||_0x52bb30===_0xe4a51b['mySessionId'])return;if(!_0x2daec0['model']['schema']['checkChild'](_0x258c87['markerRange']['start'],'$text'))return;const _0x237b71={'class':'ck-user__marker\x20'+_0x3dd50d['color']['getMarkerClass'](),'data-name':_0x3dd50d['name'],'data-session-id':_0x52bb30},_0x45758a=_0x2daec0['model']['markers']['get'](_0x258c87['markerName']),_0x1fc18b=_0x45758a['getStart'](),_0x438c64=_0x1fc18b['nodeAfter'],_0x532845=_0x2daec0['model']['schema'];if(_0x438c64&&_0x532845['isObject'](_0x438c64)&&_0x532845['isInline'](_0x438c64)&&!_0x2daec0['model']['markers']['get']('user:range:'+_0x52bb30)['getRange']()['isCollapsed'])return;const _0xf7fa7b=_0x1fc18b['parent'];return _0x2daec0['model']['schema']['isLimit'](_0xf7fa7b)&&!_0x2daec0['model']['hasContent'](_0xf7fa7b)&&(_0x237b71['contenteditable']=!0x1),function(_0x44fb9d,_0x9f082e,_0x579117){const _0x431775=_0x44fb9d['createUIElement']('span',_0x9f082e);return _0x44fb9d['setCustomProperty']('userPositionMarker',!0x0,_0x431775),_0x431775['render']=function(_0x3b9726){const _0x15b930=this['toDomElement'](_0x3b9726),_0xacdff7=document['createElement']('span');return _0xacdff7['classList']['add']('ck-user__marker-tooltip'),_0xacdff7['setAttribute']('contenteditable','false'),_0xacdff7['setAttribute']('spellcheck','false'),_0xacdff7['textContent']=_0x579117['name'],_0x15b930['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0xacdff7['outerHTML']+'',_0x15b930['addEventListener']('mouseenter',()=>{_0x15b930['classList']['add']('ck-user__marker_hovered');}),_0x15b930['addEventListener']('mouseleave',()=>{_0x15b930['classList']['remove']('ck-user__marker_hovered');}),_0x15b930;},_0x431775['isSimilar']=function(_0x2426f3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2426f3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2426f3['getAttribute']('data-session-id'));},_0x431775;}(_0x597e0a,_0x237b71,_0x3dd50d);}(_0x347cb7,_0xa8bd97,_0x211e72,_0xe920a5)}),_0xe920a5['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x8820e0=>function(_0x20931b,_0x3dde05){const _0x35c2f2=_0x20931b['markerName']['split'](':')[0x2];if(_0x35c2f2===_0x3dde05['mySessionId'])return null;const _0x4923c7=_0x3dde05['getUserBySessionId'](_0x35c2f2);if(!_0x4923c7)return{'id':_0x35c2f2,'classes':[]};return{'id':_0x35c2f2,'classes':['ck-user__selection',_0x4923c7['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x35c2f2},'priority':0x7d0+_0x4923c7['orderNumber']};}(_0x8820e0,_0x211e72)}),function(_0x17781f){const _0x7a9ef4=_0x17781f['model'],_0x1047c7=new Map(),_0xb00bb3=_0x17781f['plugins']['get'](i);_0x7a9ef4['markers']['on']('update:user:range',(_0x2d3c1c,_0x2e53a9,_0x43e025,_0x76a56d)=>{if(!_0x76a56d&&_0x1047c7['get'](_0x2e53a9['name']))return _0x1047c7['get'](_0x2e53a9['name'])['detach'](),void _0x1047c7['delete'](_0x2e53a9['name']);const _0x1d449a=_0x2e53a9['name']['split'](':')[0x2];if(_0x1d449a===_0xb00bb3['mySessionId'])return;const _0x429224='user:position:'+_0x1d449a;_0x7a9ef4['markers']['has'](_0x429224)&&_0x17781f['editing']['reconvertMarker'](_0x429224),_0x2e53a9['on']('change:range',(_0xae1a25,_0x170826,_0x15c58d)=>{if('$graveyard'!=_0x170826['root']['rootName']&&'$graveyard'==_0x2e53a9['getRange']()['root']['rootName']&&!_0x1047c7['has'](_0x2e53a9['name'])){const _0x48fb92=_0x7a9ef4['schema']['getNearestSelectionRange'](_0x15c58d['deletionPosition']);if(_0x48fb92){const _0x266d8e=_0x2e51d3['fromRange'](_0x48fb92);_0x1047c7['set'](_0x2e53a9['name'],_0x266d8e),_0x266d8e['on']('change:range',(_0x196c75,_0x504ca0,_0x1343e1)=>{if('$graveyard'==_0x266d8e['root']['rootName']){const _0x2ca28c=_0x7a9ef4['schema']['getNearestSelectionRange'](_0x1343e1['deletionPosition']);_0x2ca28c?(_0x266d8e['start']=_0x2ca28c['start'],_0x266d8e['end']=_0x2ca28c['end']):(_0x1047c7['delete'](_0x2e53a9['name']),_0x266d8e['detach']());}});}}});}),_0x7a9ef4['document']['on']('change',()=>{_0x1047c7['size']>0x0&&_0x7a9ef4['enqueueChange']({'isUndoable':!0x1},_0x1cf63a=>{for(const [_0x1b48d6,_0x2382b9]of _0x1047c7)'$graveyard'==_0x7a9ef4['markers']['get'](_0x1b48d6)['getRange']()['root']['rootName']&&(q(_0x1b48d6['split'](':')[0x2],_0x2382b9['toRange'](),_0x7a9ef4,_0x1cf63a),_0x2382b9['detach']());_0x1047c7['clear']();});});}(_0xe920a5),this['_domEmitter']['listenTo'](_0x23a209['document'],'keydown',(_0x1f76ae,{key:_0x58c48d})=>{'Escape'===_0x58c48d&&function(_0x146a8a){_0x146a8a['editing']['view']['change'](_0x2767ab=>{for(const _0x404e82 of _0x146a8a['model']['markers']){if(!_0x404e82['name']['startsWith']('user:position'))continue;const _0x2bd6bb=_0x146a8a['editing']['mapper']['markerNameToElements'](_0x404e82['name']);if(_0x2bd6bb){for(const _0x5d52cd of _0x2bd6bb)_0x2767ab['removeClass']('ck-user__marker_hovered',_0x5d52cd);}}});}(_0xe920a5);},{'useCapture':!0x0});}['afterInit'](){const _0x4a6284=this['editor'],_0x181a13=_0x4a6284['commands']['get']('undo');_0x181a13&&_0x4a6284['model']['on']('applyOperation',(_0x5e0b66,_0x4a4c15)=>{const _0x1b6d47=_0x4a4c15[0x0];if(!_0x1b6d47['isDocumentOperation'])return;if('marker'!=_0x1b6d47['type']||!_0x1b6d47['name']['startsWith']('user:'))return;const _0x31ebac=_0x1b6d47['batch'];_0x181a13['_createdBatches']['has'](_0x31ebac)&&(_0x1b6d47['newRange']=_0x1b6d47['oldRange']?_0x4a6284['model']['createRange'](_0x1b6d47['oldRange']['start'],_0x1b6d47['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1c85b9=this['editor'],_0x496024=_0x1c85b9['model']['document'],_0x47d2a6=_0x1c85b9['plugins']['get'](i);_0x1c85b9['model']['enqueueChange']({'isUndoable':!0x1},_0x49db44=>{const _0x44ce57='user:range:'+_0x47d2a6['mySessionId'],_0x15b889='user:position:'+_0x47d2a6['mySessionId'],_0x53aaa4=_0x1c85b9['model']['markers']['has'](_0x44ce57);_0x1c85b9['editing']['view']['hasDomSelection']?q(_0x47d2a6['mySessionId'],_0x496024['selection']['getFirstRange'](),_0x1c85b9['model'],_0x49db44):_0x53aaa4&&(_0x49db44['removeMarker'](_0x44ce57),_0x49db44['removeMarker'](_0x15b889));});}}function q(_0x1501ba,_0x550da9,_0x430d9d,_0x40b4a6){const _0x114af2='user:range:'+_0x1501ba,_0x19b969='user:position:'+_0x1501ba,_0x47bfc9=_0x550da9['getContainedElement']();let _0x4cf9b1=_0x550da9['start'];if(_0x47bfc9&&_0x47bfc9['is']('element','tableCell')){const _0x2c4489=function(_0x786a69,_0x4f482){for(const _0xf2efe4 of _0x786a69['getPositions']())if(_0x4f482['schema']['checkChild'](_0xf2efe4,'$text'))return _0xf2efe4;}(_0x550da9,_0x430d9d);_0x2c4489&&(_0x4cf9b1=_0x2c4489,_0x550da9=_0x40b4a6['createRange'](_0x4cf9b1));}const _0xb1e903=_0x40b4a6['createRange'](_0x4cf9b1);_0x430d9d['markers']['has'](_0x114af2)?(_0x40b4a6['updateMarker'](_0x114af2,{'range':_0x550da9}),_0x40b4a6['updateMarker'](_0x19b969,{'range':_0xb1e903})):(_0x40b4a6['addMarker'](_0x114af2,{'range':_0x550da9,'usingOperation':!0x0}),_0x40b4a6['addMarker'](_0x19b969,{'range':_0xb1e903,'usingOperation':!0x0}));}function T(_0x3eb432,_0x207ab9,_0x5654e1){const _0x4b4610=_0x3eb432['t'],t=_0x3eb432['t'];switch(_0x207ab9){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 _0x4b4610({'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'},_0x5654e1);default:return'';}}let j=0x1;class l extends _0x111504{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x1a0236)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,k,_0x19f13a,_0x24d756,_0x3c12c6];}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 _0x49d432=this['serverHistory']['getOperations']();for(let _0x2fdcb6=_0x49d432['length']-0x1;_0x2fdcb6>=0x0;_0x2fdcb6--){const _0x4a31cc=_0x49d432[_0x2fdcb6];if(!this['_disconnectionOperations']['has'](_0x4a31cc))return _0x4a31cc['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x65236f){if(super(_0x65236f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3898d5(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2ba111('collaboration-missing-channelid',this);const _0x463e9f=_0x65236f['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x463e9f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1954db(),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 U(this['_disconnectionOperations']);}['init'](){const _0x678504=this['editor'],_0x1256a9=_0x678504['plugins']['get'](_0x24d756),_0x287e5f=_0x678504['plugins']['get'](n);this['listenTo'](_0x1256a9,'getOperationAuthor',(_0x52484a,_0x102c6f)=>{const _0x17dbec=_0x102c6f[0x0];_0x17dbec['_authorId']&&(_0x52484a['return']=_0x1256a9['getUser'](_0x17dbec['_authorId']),_0x52484a['stop']()),null===_0x17dbec['_authorId']&&(_0x52484a['return']=null,_0x52484a['stop']());},{'priority':'high'}),this['listenTo'](_0x678504['model']['document']['selection'],'change:range',(_0x174a23,_0x5e5b58)=>{_0x5e5b58['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x678504['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x678504['model']['on']('applyOperation',(_0x285a53,_0x201f7c)=>{const _0x28ab08=_0x201f7c[0x0];_0x28ab08['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x28ab08),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x287e5f,'state',this,'_hasSynchronizationProblem',(_0x1adb65,_0x15715f)=>'connected'===_0x1adb65&&!_0x15715f),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x678504['disableReadOnlyMode']('rtc-offline'):_0x678504['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x678504['disableReadOnlyMode']('rtc-offline'):_0x678504['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2bd1fa=this['editor']['plugins']['get'](i),_0x3c3c0b=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2bd1fa['unregister'](this['_channelId']);const _0x29758d=await this['_service']['reconnect'](_0x3c3c0b['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x29758d)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x22ff39=await this['_service']['getConnectedSessions']();_0x2bd1fa['register'](this['_channelId'],_0x22ff39),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1964bd){if(function(_0x5b2239){return'404'===_0x5b2239['code'];}(_0x1964bd)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2e84c7){return'409'===_0x2e84c7['code'];}(_0x1964bd)){const _0x198ecc=T(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'](_0x198ecc);}else{if(!(_0x1964bd instanceof D))throw _0x1964bd;this['_handleReconnectionError']();}}}}['destroy'](){const _0x57405b=this['editor']['plugins']['get'](n),_0x2f2653=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2f2653['channelSessions']['has'](this['_channelId'])&&_0x2f2653['unregister'](this['_channelId']),_0x57405b['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x582e5d){if(this['sessionId']!==_0x582e5d['sessionId']&&this['_lastSyncedOperationId']!==_0x582e5d['lastOperationId'])throw new D();return this['sessionId']=_0x582e5d['sessionId'],this['_handleServerResponse']([],{..._0x582e5d,'wereChangesApplied':!0x1,'data':_0x582e5d['data']},'reconnect');}async['_connectService'](_0x35b8e3,_0x3cf681=!0x1){const {connection:_0x56cff8}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x56cff8,this['_channelId'])['then'](_0x42e31c=>this['_initSessionsHandling'](_0x42e31c))['catch'](_0x3163cf=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3163cf);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x418d18,_0x5c5390)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5c5390);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4b6dad=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x35b8e3);this['_isPendingUpdate']=!0x0;const _0x80ddfe=await this['_service']['connect'](_0x56cff8,this['_compressOperations'](_0x35b8e3),_0x4b6dad);if(this['sessionId']=_0x80ddfe['sessionId'],_0x3cf681){if(!_0x80ddfe['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x80ddfe['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x35b8e3,_0x80ddfe,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x80ddfe,_0x35b8e3);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5cd5c9=this['editor']['plugins']['get'](i),_0x176b63=this['editor']['plugins']['get'](k),_0x350d58=_0x5cd5c9['channelSessions']['get'](this['_channelId']);_0x350d58&&_0x350d58['length']>0x1?_0x176b63['createUserMarkerOperations']():this['listenTo'](_0x5cd5c9,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5cd5c9['channelSessions']['get'](this['_channelId'])['length']&&_0x176b63['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3173a7,_0x3b9a12,_0x87c4b9,_0x4983c3){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x3b9a12){const _0x1772f4=this['_decompressOperations'](_0x87c4b9,_0x4983c3);await this['_fetchMissingUsers'](_0x1772f4),this['_handleExternalOperations'](_0x1772f4,_0x3b9a12,_0x87c4b9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x181f10}=this['editor'];let _0x1e7302;try{_0x1e7302=await this['_service']['getDocumentDetails']();}catch{const _0x26e151=T(_0x181f10,'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'](_0x26e151);}const _0x333415=_0x1e7302['currentDocumentSession']||_0x1e7302['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x333415['lastOperationId']){const _0x207358=T(_0x181f10,'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'](_0x207358);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x43dcc8){const _0x1f839d=this['editor']['plugins']['get'](i);this['listenTo'](_0x1f839d,'sessionAdd:'+this['_channelId'],(_0x475e67,{session:_0x3938f9})=>{if(_0x3938f9['id']===_0x1f839d['mySessionId']){_0x475e67['off']();const _0x549b32=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x58c6ef=_0x3938f9['permissions'];_0x549b32&&_0x549b32['isEnabled']&&(_0x58c6ef=_0x58c6ef['filter'](_0x5f1867=>'document:write'!==_0x5f1867)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x58c6ef,this['_channelId']);}}),_0x1f839d['register'](this['_channelId'],_0x43dcc8);}['_initThrowingOnDataSet'](){const _0x577fab=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x4d2be6)=>{if(!_0x4d2be6[_0x4d2be6['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2ba111('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x577fab['apply'](this['editor']['data'],_0x4d2be6);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4c20fd,[_0x2bc65e])=>{if(this['_document']['version'])throw new _0x2ba111('realtimecollaborationclient-init-document-already-initialized',this);_0x4c20fd['stop'](),this['_setPendingAction']();const _0x45714b=this['editor']['config']['get']('rootsAttributes'),_0x91f367=this['_getOperationsFromInitData'](_0x2bc65e,_0x45714b);0x0==_0x91f367['length']&&_0x91f367['push'](new _0x47d7bf(0x0)),_0x4c20fd['return']=this['_connectService'](_0x91f367)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2e439b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2e439b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x346f9f,[_0x285c94,_0x380f30])=>{_0x346f9f['stop']();const _0x4b4399=this['editor']['model']['document']['getRoot'](_0x285c94);if(!this['_knownRootNames']['has'](_0x285c94)){const _0x590fd6=_0x380f30&&_0x380f30['data']?_0x380f30['data']:'',_0x5f3c6a=_0x380f30&&_0x380f30['attributes']?_0x380f30['attributes']:{};await this['_loadRoot'](_0x285c94,_0x590fd6,_0x5f3c6a);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x4b4399['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x4b4399);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xc5d919){const _0x86deec=this['editor']['plugins']['get'](_0x24d756),{connection:_0x4944a9}=this['editor']['plugins']['get'](n),_0x121514=new Set();for(const _0x168cf2 of _0xc5d919){const _0x4bcb21=_0x168cf2['_authorId'];_0x4bcb21&&!_0x86deec['getUser'](_0x4bcb21)&&_0x121514['add'](_0x4bcb21);}if(0x0===_0x121514['size'])return;const _0x1b9e3=await ut['getMany'](_0x4944a9,Array['from'](_0x121514));for(const _0x5e3798 of _0x1b9e3)_0x86deec['getUser'](_0x5e3798['id'])||_0x86deec['addUser'](_0x5e3798);}['_getOperationsFromInitData'](_0xf594c7,_0xeddfc6={}){const _0x53f855=this['editor']['model'],_0x194a7f=[];let _0x481e40=0x0;const _0x164c46='string'==typeof _0xf594c7?{'main':_0xf594c7}:_0xf594c7;for(const _0xa02242 of Object['keys'](_0x164c46)){if(!this['_document']['roots']['has'](_0xa02242))throw new _0x2ba111('realtimecollaborationclient-init-non-existent-root',this);const _0x5a8eb2=this['editor']['data']['parse'](_0x164c46[_0xa02242]),_0x13e7ad=this['_document']['getRoot'](_0xa02242),_0x105f17=new _0x4adff9(_0x53f855['createPositionAt'](_0x13e7ad,0x0),_0x5a8eb2,_0x481e40++);_0x194a7f['push'](_0x105f17);for(const [_0x56a9c8,_0x57eb6c]of _0x5a8eb2['markers']){const _0x2d4da1=_0x53f855['createRange'](_0x53f855['createPositionFromPath'](_0x13e7ad,_0x57eb6c['start']['path']['slice']()),_0x53f855['createPositionFromPath'](_0x13e7ad,_0x57eb6c['end']['path']['slice']())),_0x34cbe5=new _0x4150e4(_0x56a9c8,null,_0x2d4da1,_0x53f855['markers'],!0x0,_0x481e40++);_0x194a7f['push'](_0x34cbe5);}}if(_0xeddfc6)for(const [_0x147320,_0x55f704]of Object['entries'](_0xeddfc6)){const _0x583a61=_0x53f855['document']['getRoot'](_0x147320);if(!_0x583a61)throw new _0x2ba111('multi-root-editor-root-attributes-no-root',null);for(const [_0x2c3040,_0x320358]of Object['entries'](_0x55f704))if(null!==_0x320358){const _0x5292f8=new _0x440fd6(_0x583a61,_0x2c3040,null,_0x320358,_0x481e40++);_0x194a7f['push'](_0x5292f8);}}return _0x194a7f;}async['_loadRoot'](_0x2c3d53,_0x188d3f,_0x2c174a){this['_getOperationsFromInitData']({[_0x2c3d53]:_0x188d3f},{[_0x2c3d53]:_0x2c174a})['forEach']((_0x267533,_0x2ba4a4)=>{_0x267533['baseVersion']=this['_document']['version']+_0x2ba4a4,_0x267533['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x267533);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3955f0,_0x326dc9){let _0x5e23e4;this['_offset']=_0x3955f0['offset'];const _0x15aa96=_0x3955f0['wereChangesApplied']&&!_0x3955f0['initData'],_0x2bf04e=_0x15aa96?0x0:_0x3955f0['data']['baseVersion'];if(_0x326dc9['forEach'](_0x5b5872=>{_0x5b5872['_isInit']=!0x0,_0x5b5872['createdAt']=_0x3955f0['sessionCreatedAt'],_0x5b5872['_authorId']=null;}),_0x15aa96)_0x5e23e4=_0x326dc9,this['_applyOperationsSet'](_0x5e23e4,_0x15aa96);else{if(_0x3955f0['initData']){const _0x54127d=this['_getOperationsFromInitData'](_0x3955f0['initData']);this['_document']['history']['version']=-_0x54127d['length'],_0x54127d['forEach'](_0x2205f1=>{_0x2205f1['baseVersion']-=_0x54127d['length'],_0x2205f1['createdAt']=_0x3955f0['sessionCreatedAt'],_0x2205f1['_isInit']=!0x0,_0x2205f1['_authorId']=null;}),this['_applyOperationsSet'](_0x54127d,!0x0),this['serverHistory']['version']=-_0x54127d['length']+this['_offset'],this['_updateServerHistory'](_0x54127d);}this['_document']['history']['version']=_0x2bf04e,_0x5e23e4=this['_decompressOperations'](_0x3955f0['data'],_0x3955f0['metadata']),await this['_fetchMissingUsers'](_0x5e23e4),this['_applyOperationsSet'](_0x5e23e4,_0x15aa96);}_0x3955f0['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5e23e4,_0x3955f0['lastOperationId']),this['_lastSyncedOperationId']=_0x3955f0['lastOperationId']),this['serverHistory']['version']=_0x2bf04e+this['_offset'],this['_updateServerHistory'](_0x5e23e4),_0x326dc9['filter'](_0x5034e2=>{const _0x584323=this['_getAffectedRoot'](_0x5034e2);return _0x584323&&!this['_knownRootNames']['has'](_0x584323);})['forEach']((_0x1b30bf,_0x534c1b)=>{_0x1b30bf['baseVersion']=this['_document']['version']+_0x534c1b,this['_saveOperationInBuffer'](_0x1b30bf);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xa9d97c,_0x3d8700){const _0x52862e=_0x3d8700&&_0x3d8700['message'];if(_0x52862e&&_0x52862e['startsWith']('realtimecollaborationclient'))throw _0x3d8700;const _0x416dc1=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x416dc1['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2ba111(_0xa9d97c,this['editor'],_0x52862e?{'originalError':_0x52862e}:void 0x0);}['_saveOperationInBuffer'](_0x4bce85){this['_knownOperations']['has'](_0x4bce85)||(this['_knownOperations']['add'](_0x4bce85),this['_bufferedOperations']['push'](_0x4bce85),this['_pendingAction']||'marker'==_0x4bce85['type']&&!_0x4bce85['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x55ad2b=!0x1){!_0x55ad2b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x50f5be=>{_0x50f5be&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2bf18a=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x462e88){return _0x462e88['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x462e88['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x462e88['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2bf18a)||this['_crash'](_0x2bf18a['message'],_0x2bf18a);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2fe34f=>{this['on']('change:_isPendingUpdate',()=>{_0x2fe34f();});});}async['_sendBufferedOperations'](){const _0x2b6672=this['editor']['plugins']['get'](k);if(this['_shouldSendSelectionUpdate']()&&(_0x2b6672['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2a4e6c=[...this['_bufferedOperations']];for(const _0x432442 of _0x2a4e6c)_0x432442['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x432442);const _0x543c72=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2a4e6c),_0x3963ba=j++,_0x12a3f9=this['_compressOperations'](_0x2a4e6c),_0x381aee=await this['_service']['sendOperations'](_0x12a3f9,_0x12a3f9['baseVersion'],_0x543c72);try{return await this['_handleServerResponse'](_0x2a4e6c,_0x381aee,_0x3963ba);}catch(_0x52251f){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x52251f);}}async['_handleServerResponse'](_0x4c5e0c,_0x391e41,_0x43eeb5){if('error'in _0x391e41)throw _0x391e41['error'];let _0x443a84=!0x1;if(_0x391e41['wereChangesApplied']){_0x391e41['lastOperationId']&&(this['_lastSyncedOperationId']=_0x391e41['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xfa946b=>!_0x4c5e0c['includes'](_0xfa946b));for(const _0x5f0b95 of _0x4c5e0c)_0x5f0b95['createdAt']='lastOperationAcceptedAt'in _0x391e41&&_0x391e41['lastOperationAcceptedAt']||void 0x0;P(_0x4c5e0c,_0x391e41['version']-_0x4c5e0c['length']),this['_updateServerHistory'](_0x4c5e0c);const _0x2de88e=_0x4c5e0c['filter'](_0x599c2d=>{if(!_0x599c2d['_isInit'])return!0x1;const _0x4e3880=this['_getAffectedRoot'](_0x599c2d);return _0x4e3880&&!this['_knownRootNames']['has'](_0x4e3880);});P(_0x2de88e,this['_document']['version']),this['_applyOperationsSet'](_0x2de88e),_0x443a84=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5d43fd=this['_decompressOperations'](_0x391e41['data'],_0x391e41['metadata'])['filter'](_0x4333ad=>_0x4333ad['baseVersion']>=this['_lastServerVersion']);_0x5d43fd['forEach'](_0x54cb96=>this['_addKnownRoot'](_0x54cb96)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x10280d=>!_0x10280d['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x10280d))),this['_bufferedOperations']['length']&&P(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5d43fd),_0x443a84=this['_handleExternalOperations'](_0x5d43fd,_0x391e41['version'],_0x391e41['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x443a84?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x4221a3,_0x2b6dfd,_0x1e0628){try{const _0x275f02={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x190d45,operationsB:_0x151b40,originalOperations:_0x590e7f}=_0x3419a3(_0x4221a3,this['_bufferedOperations'],_0x275f02);P(_0x190d45,this['_document']['version']),P(_0x151b40,_0x2b6dfd);for(const _0x34fba7 of _0x190d45){const _0x1ec3b4=_0x590e7f['get'](_0x34fba7);_0x34fba7['_authorId']=_0x1ec3b4?_0x1ec3b4['_authorId']:null;}_0x1e0628&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4221a3,_0x1e0628),this['_lastSyncedOperationId']=_0x1e0628),this['_bufferedOperations']=[..._0x151b40],this['_applyOperationsSet'](_0x190d45),this['_updateServerHistory'](_0x4221a3);}catch(_0xefb654){return console['error'](_0xefb654),!0x1;}return!0x0;}['_applyOperationsSet'](_0x39c704,_0x4dda2e=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x496bd1=>{for(const _0xea48c8 of _0x39c704)this['_knownOperations']['add'](_0xea48c8),this['_addKnownRoot'](_0xea48c8),_0x496bd1['batch']['addOperation'](_0xea48c8),this['editor']['model']['applyOperation'](_0xea48c8);});}['_addKnownRoot'](_0x24e483){const _0x279b54=this['_getAffectedRoot'](_0x24e483);_0x279b54&&this['_knownRootNames']['add'](_0x279b54);}['_getAffectedRoot'](_0x1ff718){let _0x174001,_0xc4c32a;switch(_0x1ff718['type']){case'insert':_0x174001=_0x1ff718['position']['root'];break;case'marker':if(_0xc4c32a=_0x1ff718['newRange'],!_0xc4c32a)return null;_0x174001=_0xc4c32a['root'];break;case'addRootAttribute':_0x174001=_0x1ff718['root'];break;case'addRoot':_0x174001=_0x1ff718['affectedSelectable'];break;case'move':_0x174001=_0x1ff718['targetPosition']['root'];break;default:return null;}return _0x174001['rootName'];}['_updateServerHistory'](_0x387e36){_0x387e36['forEach'](_0x159898=>{const _0x168ce0=_0x159898['clone']();_0x168ce0['_authorId']=_0x159898['_authorId'],_0x168ce0['_isInit']=!!_0x159898['_isInit'],_0x168ce0['createdAt']=_0x159898['createdAt'],_0x168ce0['baseVersion']+=this['_offset'],_0x159898['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x168ce0),this['serverHistory']['addOperation'](_0x168ce0);});}['_handleReconnectionError'](_0x2f1f6a){const _0x27dd9a=this['editor']['plugins']['get']('Notification'),_0x248731=this['editor']['locale'];_0x2f1f6a||(_0x2f1f6a=T(_0x248731,'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.')),_0x27dd9a['showWarning'](_0x2f1f6a,{'title':T(_0x248731,'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'](_0x19f13a)['add'](T(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x19f13a)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x520c2a){const _0x4d3314=_0x520c2a['map'](_0x5672a1=>_0x5672a1['toJSON']());return this['_compressor']['compress'](_0x4d3314);}['_decompressOperations'](_0x4f6293,_0x2646f8){return this['_compressor']['decompress'](_0x4f6293)['map']((_0x2cf774,_0x3fb4ce)=>{const _0x374791='init'==_0x2646f8[_0x3fb4ce]['type'];if('InsertOperation'==_0x2cf774['__className']){const _0x35c14a=_0x2cf774['position']['root'];!this['_document']['getRoot'](_0x35c14a)&&(this['_document']['createRoot']('$root',_0x35c14a)['_isAttached']=!0x1);}const _0x4b8380=_0x1b106d['fromJSON'](_0x2cf774,this['_document']);return _0x4b8380['wasUndone']=_0x2cf774['wasUndone'],_0x4b8380['_isInit']=_0x374791,_0x4b8380['_authorId']=_0x374791?null:_0x2646f8[_0x3fb4ce]['userId'],_0x4b8380['_isDisconnection']='cs:removeUser'===_0x2646f8[_0x3fb4ce]['type'],_0x4b8380['createdAt']=_0x2646f8[_0x3fb4ce]['createdAt'],_0x4b8380;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5c75b1=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5c75b1&&_0x5c75b1['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class D extends Error{}function P(_0x480e41,_0x53f049){for(const _0x3c1f5d of _0x480e41)_0x3c1f5d['baseVersion']=_0x53f049++;}class U{['_ignoredOperations'];['_operationToId'];constructor(_0x97b04d){this['_ignoredOperations']=_0x97b04d,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4ac435){let _0x5ed521=_0x4ac435['length'];for(;_0x5ed521--;){const _0x297937=_0x4ac435[_0x5ed521];if(!this['_ignoredOperations']['has'](_0x297937)){if(!this['_operationToId']['has'](_0x297937)){const _0x3b4a85=_0x279525()['slice'](0x1,0x12);this['_operationToId']['set'](_0x297937,_0x3b4a85);}return this['_operationToId']['get'](_0x297937);}}}['setIdForTheLastOperation'](_0x4eb705,_0x912366){if(!_0x912366)return;let _0x30c2f5=_0x4eb705['length'];for(;_0x30c2f5--;){const _0xc88b08=_0x4eb705[_0x30c2f5];this['_ignoredOperations']['has'](_0xc88b08)||this['_operationToId']['set'](_0xc88b08,_0x912366);}}}class a extends _0x111504{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x49081f{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>et)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x24d756];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x313a67){super(_0x313a67),this['_services']=new Map();}async['init'](){const _0x418f00=this['context'],_0x4bf26e=_0x418f00['plugins']['get']('CommentsRepository');if(_0x418f00['plugins']['get'](n)['addToReconnectionStack'](this),_0x4bf26e['adapter']={'addCommentThread':async({channelId:_0x17a47b,threadId:_0x4a8c78,comments:_0x128e1a,resolvedAt:_0x5b773d,resolvedBy:_0x18089f,context:_0x17cb30,attributes:_0x49dca9})=>{const _0x5ab87e=await this['_getService'](_0x17a47b)['addCommentThread']({'commentThreadId':_0x4a8c78,'comments':_0x128e1a['map'](_0x58cd0f=>function(_0xfd9e71,_0x4cc4a6,_0x19de73){return{'commentThreadId':_0x19de73,'commentId':_0xfd9e71['commentId'],'userId':_0xfd9e71['authorId'],'content':_0xfd9e71['content'],'documentId':_0x4cc4a6,'createdAt':_0xfd9e71['createdAt'],'attributes':_0xfd9e71['attributes']||{}};}(_0x58cd0f,_0x17a47b,_0x4a8c78)),'resolvedAt':_0x5b773d,'resolvedBy':_0x18089f,'context':_0x17cb30,'attributes':_0x49dca9})['catch'](ft);return{'threadId':_0x5ab87e['commentThreadId'],'comments':_0x5ab87e['comments']};},'getCommentThread':async({channelId:_0x52d2e8,threadId:_0x1b9d0d})=>{const _0x1320a7=await this['_getService'](_0x52d2e8)['getCommentThread'](_0x1b9d0d)['catch'](ot)['catch'](ft);return _0x1320a7?_0x1320a7['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1320a7]),{'threadId':_0x1320a7['commentThreadId'],'comments':_0x1320a7['comments']['map'](st),'context':_0x1320a7['context'],'resolvedAt':_0x1320a7['resolvedAt'],'resolvedBy':_0x1320a7['resolvedBy'],'attributes':_0x1320a7['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x446e65,threadId:_0x5a87b1,context:_0x5240af,unlinkedAt:_0xb6b19e,attributes:_0x50dcf3})=>this['_getService'](_0x446e65)['updateCommentThread']({'commentThreadId':_0x5a87b1,'context':_0x5240af,'attributes':_0x50dcf3,'unlinkedAt':_0xb6b19e})['catch'](ot)['catch'](ft),'resolveCommentThread':async({channelId:_0x56016a,threadId:_0x1940c5})=>{const _0xb8c4a7=await this['_getService'](_0x56016a)['resolveCommentThread'](_0x1940c5)['catch'](ot)['catch'](ft);return{'threadId':_0xb8c4a7['commentThreadId'],'resolvedAt':_0xb8c4a7['resolvedAt'],'resolvedBy':_0xb8c4a7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2b0a96,threadId:_0x52e9a9})=>this['_getService'](_0x2b0a96)['reopenCommentThread'](_0x52e9a9)['catch'](ot)['catch'](ft),'removeCommentThread':({channelId:_0x1a2345,threadId:_0x5eb3f1})=>this['_getService'](_0x1a2345)['removeCommentThread'](_0x5eb3f1)['catch'](ot)['catch'](ft),'addComment':({channelId:_0x4e0a47,threadId:_0x50f1fc,commentId:_0x57bb4f,content:_0x1c98db,attributes:_0x576c20})=>this['_getService'](_0x4e0a47)['addComment'](_0x50f1fc,_0x57bb4f,_0x1c98db,_0x576c20)['catch'](ft),'updateComment':({channelId:_0x311688,threadId:_0x31c414,commentId:_0x3c00cb,content:_0xd02822,attributes:_0x55208c})=>this['_getService'](_0x311688)['updateComment'](_0x31c414,_0x3c00cb,_0xd02822,_0x55208c)['catch'](ot)['catch'](ft),'removeComment':({channelId:_0x46f94e,threadId:_0xfa8357,commentId:_0x5d8efe})=>this['_getService'](_0x46f94e)['removeComment'](_0xfa8357,_0x5d8efe)['catch'](ot)['catch'](ft)},_0x418f00 instanceof tt){const _0x3720ab=_0x418f00['config']['get']('collaboration.channelId'),_0x1bc181=_0x418f00['plugins']['get'](i);await this['_setUpService'](_0x3720ab);const _0x219dae=await this['_services']['get'](_0x3720ab)['getConnectedSessions']();this['listenTo'](_0x1bc181,'sessionAdd:'+_0x3720ab,(_0x4f7291,{session:_0xde6165})=>{_0xde6165['id']===_0x1bc181['mySessionId']&&(_0x4f7291['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xde6165['permissions'],_0x3720ab));}),_0x1bc181['register'](_0x3720ab,_0x219dae);}}async['_setUpService'](_0x19dc87){if(this['_services']['has'](_0x19dc87))throw new _0x2ba111('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x19dc87});const _0x4a7d77=this['context']['plugins']['get']('CommentsRepository'),_0x1c3c68=new s['CommentsService'](_0x19dc87);this['_services']['set'](_0x19dc87,_0x1c3c68),this['listenTo'](_0x1c3c68,'commentThreadAdded',(_0x34af4c,_0x8eed0f)=>{const {commentThreadId:_0x3f148b,documentId:_0x13d715,context:_0x7bafc8,attributes:_0x372c4b,resolvedAt:_0x116075,resolvedBy:_0x4e1328,comments:_0x1be7ab}=_0x8eed0f;_0x4a7d77['getCommentThread'](_0x3f148b)||_0x4a7d77['addCommentThread']({'threadId':_0x3f148b,'channelId':_0x13d715,'comments':_0x1be7ab?_0x1be7ab['map'](st):[],'context':_0x7bafc8,'attributes':_0x372c4b,'resolvedAt':_0x116075,'resolvedBy':_0x4e1328,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentThreadUpdated',(_0x536d14,{commentThreadId:_0x22a187,documentId:_0xcff593,context:_0x16928a,unlinkedAt:_0x49987d,attributes:_0x2625d7})=>{_0x4a7d77['getCommentThread'](_0x22a187)&&_0x4a7d77['updateCommentThread']({'threadId':_0x22a187,'channelId':_0xcff593,'context':_0x16928a,'unlinkedAt':_0x49987d,'attributes':_0x2625d7,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentThreadResolved',(_0x1b937a,{commentThreadId:_0x3650b1,resolvedBy:_0xc0f57a,resolvedAt:_0x19c921})=>{const _0x470213=_0x4a7d77['getCommentThread'](_0x3650b1);_0x470213&&_0x470213['resolve']({'resolvedBy':_0xc0f57a,'resolvedAt':_0x19c921,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentThreadReopened',(_0x28a191,{commentThreadId:_0x1fff19})=>{const _0x1fe679=_0x4a7d77['getCommentThread'](_0x1fff19);_0x1fe679&&_0x1fe679['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentThreadRemoved',(_0x1a7c2a,{commentThreadId:_0x2a7182})=>{const _0x62b51=_0x4a7d77['getCommentThread'](_0x2a7182);_0x62b51&&_0x62b51['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentAdded',(_0xe56c00,_0x533e3f)=>{const _0xe71b09=_0x533e3f['commentThreadId'],_0xb117d6=_0x4a7d77['getCommentThread'](_0xe71b09);_0xb117d6&&_0xb117d6['addComment']({...st(_0x533e3f),'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentUpdated',(_0x226085,{commentThreadId:_0x26caf8,commentId:_0x5d1ab0,content:_0x1752ec,attributes:_0x4d0c61})=>{const _0x46c4e4=_0x4a7d77['getCommentThread'](_0x26caf8);if(_0x46c4e4){const _0x4be603=_0x46c4e4['getComment'](_0x5d1ab0);_0x4be603&&_0x4be603['update']({'content':_0x1752ec,'attributes':_0x4d0c61,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1c3c68,'commentRemoved',(_0x4646dc,{commentThreadId:_0x397f9b,commentId:_0x16b857})=>{const _0x3760c8=_0x4a7d77['getCommentThread'](_0x397f9b);if(_0x3760c8){const _0x2f94f8=_0x3760c8['getComment'](_0x16b857);_0x2f94f8&&_0x2f94f8['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x19dc87);}['destroy'](){if(this['context']instanceof tt){const _0x1372f1=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1372f1);}}['_terminateService'](_0x419a2b){if(!this['_services']['has'](_0x419a2b))throw new _0x2ba111('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x419a2b});this['_getService'](_0x419a2b)['disconnect'](),this['_services']['delete'](_0x419a2b);}async['reconnect'](){for(const _0x24f701 of this['_services']['keys']())await this['_connectService'](_0x24f701);if(this['context']instanceof tt){const _0xa2908b=this['context']['config']['get']('collaboration.channelId'),_0x5afc15=this['context']['plugins']['get'](i);_0x5afc15['unregister'](_0xa2908b);const _0xc470c9=await this['_services']['get'](_0xa2908b)['getConnectedSessions']();_0x5afc15['register'](_0xa2908b,_0xc470c9);}}async['_connectService'](_0x494201){const {connection:_0x197deb}=this['context']['plugins']['get'](n),_0x2381bd=this['context']['plugins']['get']('CommentsRepository'),_0x243a14=this['_services']['get'](_0x494201),_0x38eab7=await _0x243a14['connect'](_0x197deb);await this['_fetchMissingUsersForThreads'](_0x38eab7);const _0x1d3831=new Set(Array['from'](_0x2381bd['getCommentThreads']({'channelId':_0x494201}),_0x139921=>_0x139921['id']));for(const _0x655b58 of _0x38eab7)_0x655b58['deletedAt']||_0x1d3831['delete'](_0x655b58['commentThreadId']);for(const _0x43d940 of _0x1d3831)_0x2381bd['getCommentThread'](_0x43d940)['remove']({'isFromAdapter':!0x0});for(const _0x5a53f3 of _0x38eab7){let _0xc3442a=_0x2381bd['getCommentThread'](_0x5a53f3['commentThreadId']);const {commentThreadId:_0x4f201f,context:_0x57a5b0,attributes:_0x9a9b48,resolvedBy:_0x53bb84,resolvedAt:_0x15e2bc,unlinkedAt:_0x3ad86b,deletedAt:_0x15f9d4}=_0x5a53f3;if(_0x15f9d4)continue;_0xc3442a||(_0xc3442a=_0x2381bd['addCommentThread']({'channelId':_0x494201,'threadId':_0x4f201f,'context':_0x57a5b0,'attributes':_0x9a9b48||{},'resolvedBy':_0x53bb84,'resolvedAt':_0x15e2bc,'unlinkedAt':_0x3ad86b,'isFromAdapter':!0x0}));const _0x5c28e6=new Set(Array['from'](_0xc3442a['comments'],_0x8fcc86=>_0x8fcc86['id']));for(const _0x143e8e of _0x5a53f3['comments'])_0x5c28e6['delete'](_0x143e8e['commentId']);for(const _0x5d3be7 of _0x5c28e6)_0xc3442a['getComment'](_0x5d3be7)['remove']({'isFromAdapter':!0x0});for(const _0x4861ff of _0x5a53f3['comments']){const _0x440434=_0xc3442a['getComment'](_0x4861ff['commentId']);_0x440434?_0x440434['content']!==_0x4861ff['content']&&_0x440434['update']({'content':_0x4861ff['content'],'isFromAdapter':!0x0}):_0xc3442a['addComment'](Object['assign'](st(_0x4861ff),{'isFromAdapter':!0x0}));}}}['_getService'](_0xd8db0){if(!this['_services']['has'](_0xd8db0))throw new _0x2ba111('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xd8db0});return this['_services']['get'](_0xd8db0);}async['_fetchMissingUsersForThreads'](_0x41ae9b){const _0x27c6c3=this['context']['plugins']['get'](_0x24d756),{connection:_0x2f5963}=this['context']['plugins']['get'](n),_0x3051d9=new Set();for(const {resolvedBy:_0x4cd093,comments:_0x3f6105}of _0x41ae9b){_0x4cd093&&!_0x27c6c3['getUser'](_0x4cd093)&&_0x3051d9['add'](_0x4cd093);for(const {userId:_0x583350}of _0x3f6105)_0x27c6c3['getUser'](_0x583350)||_0x3051d9['add'](_0x583350);}if(0x0===_0x3051d9['size'])return;const _0x2f9f66=await ut['getMany'](_0x2f5963,Array['from'](_0x3051d9));for(const _0x304dfe of _0x2f9f66)_0x27c6c3['getUser'](_0x304dfe['id'])||_0x27c6c3['addUser'](_0x304dfe);}}async function ot(_0xfd7935){if('404'!==_0xfd7935['code'])throw _0xfd7935;}function ft(_0xd61ec7){if((_0x2dd33c=_0xd61ec7)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2dd33c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2dd33c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2dd33c;throw _0xd61ec7;}function st(_0x19d1c){return{'threadId':_0x19d1c['commentThreadId'],'commentId':_0x19d1c['commentId'],'content':_0x19d1c['content'],'createdAt':_0x19d1c['createdAt'],'authorId':_0x19d1c['userId'],'attributes':_0x19d1c['attributes']||{}};}class m extends _0x111504{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>it)());['_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(_0x679f2f){super(_0x679f2f);const _0x3016be=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x3016be);}['init'](){const _0x5c1794=this['editor']['plugins']['get'](n),_0x340bac=this['editor']['plugins']['get']('TrackChangesEditing');return _0x340bac['adapter']={'getSuggestion':async _0x214639=>{await this['_waitForServiceReady']();const _0x24bad2=await this['_trackChangesService']['get'](_0x214639)['catch'](nt);return await this['_fetchMissingUsersForThreads']([_0x24bad2]),_0x24bad2;},'addSuggestion':async({id:_0x3aca00,type:_0x136903,data:_0x1c6962,originalSuggestionId:_0x48dd55,attributes:_0x1fa872})=>{await this['_waitForServiceReady']();const _0x1b068d={'id':_0x3aca00,'type':_0x136903,'data':_0x1c6962,'originalSuggestionId':_0x48dd55,'attributes':_0x1fa872},_0x5c6913=await this['_trackChangesService']['add'](_0x3aca00,_0x136903,_0x1c6962,_0x48dd55,_0x1fa872)['catch'](_0x192efa=>{if(mt(_0x192efa))return new Promise(_0x1cfe86=>{this['_bufferedRequests']['set'](_0x3aca00,{'resolve':_0x1cfe86,'suggestionData':_0x1b068d});});throw _0x192efa;});return this['_bufferedRequests']['delete'](_0x3aca00),_0x5c6913;},'updateSuggestion':async(_0x58e5ae,_0x3db141)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3db141['state'])return this['_trackChangesService']['update'](_0x58e5ae,_0x3db141)['catch'](nt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5cfa54,_0x432d97)=>{_0x340bac['hasSuggestion'](_0x432d97['id'])&&(_0x340bac['getSuggestion'](_0x432d97['id'])['attributes']=_0x432d97['attributes']);}),this['_trackChangesService']['connect'](_0x5c1794['connection'])['then'](_0x57447a=>(_0x5c1794['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x57447a)['then'](()=>{for(const _0x1ecda of _0x57447a){_0x340bac['addSuggestionData'](_0x1ecda)['_saved']=!0x0;}})));}async['reconnect'](){const _0x36d131=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3468f9}=this['editor']['plugins']['get'](n),_0x42ac23=await this['_trackChangesService']['connect'](_0x3468f9);await this['_fetchMissingUsersForThreads'](_0x42ac23);for(const {suggestionData:_0x1657f9,resolve:_0x490124}of this['_bufferedRequests']['values']()){let _0x34f444=_0x42ac23['find'](_0x4c9a77=>_0x4c9a77['id']===_0x1657f9['id']);_0x34f444||(_0x34f444=await this['_trackChangesService']['add'](_0x1657f9['id'],_0x1657f9['type'],_0x1657f9['data'],_0x1657f9['originalSuggestionId'])),_0x490124(_0x34f444);}for(const _0x3958e1 of _0x42ac23)_0x36d131['hasSuggestion'](_0x3958e1['id'])||_0x36d131['addSuggestionData'](_0x3958e1);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x27515d=>{this['listenTo'](this['_trackChangesService'],'connected',_0x34761d=>{_0x34761d['off'](),_0x27515d();});});}async['_fetchMissingUsersForThreads'](_0x405180){const _0x3fb34c=this['editor']['plugins']['get'](_0x24d756),{connection:_0xb0b811}=this['editor']['plugins']['get'](n),_0x1df4df=new Set();for(const {authorId:_0x39a81d}of _0x405180)_0x3fb34c['getUser'](_0x39a81d)||_0x1df4df['add'](_0x39a81d);if(0x0===_0x1df4df['size'])return;const _0x291555=await ut['getMany'](_0xb0b811,Array['from'](_0x1df4df));for(const _0x23e87d of _0x291555)_0x3fb34c['getUser'](_0x23e87d['id'])||_0x3fb34c['addUser'](_0x23e87d);}}function nt(_0x4c860b){if(mt(_0x4c860b))return new Promise(()=>{});throw _0x4c860b;}function mt(_0xa49576){return _0xa49576['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa49576['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x111504{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 _0x568425=this['editor']['plugins']['get'](n),_0x113ac8=this['editor']['plugins']['get']('CommentsEditing'),_0x56115a=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x568425,'change:state',(_0x1bf4d5,_0x15b69e,_0x550afb)=>{_0x113ac8['isThreadsLoadingPaused']='connected'!==_0x550afb;});}),this['listenTo'](_0x568425,'change:state',(_0x2538b4,_0x129e58,_0x121de1)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x121de1);}),_0x56115a['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x111504{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 _0x111504{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x439566)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x24d756];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x35e39d){super(_0x35e39d);const _0x5a95d6=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5a95d6);}async['init'](){const _0x4aeaa9=this['editor']['plugins']['get'](l),_0x5c6fc2=_0x4aeaa9['serverHistory'],_0x3dde5d=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x5c6fc2,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4aeaa9['sessionId']});const _0x4de0e1=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x235505=await _0x47cbe4['isBundleUploaded'](_0x3dde5d['connection'],_0x4de0e1);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x282be5})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x282be5)),'updateRevisions':async _0x4b68a9=>{await this['_waitForServiceReady']();const _0xd23488=this['_revisionTracker']['currentRevision'];if(_0x235505&&0x1===_0x4b68a9['length']&&_0x4b68a9[0x0]['id']===_0xd23488['id'])return _0x4b68a9;for(const _0x952fd6 of _0x4b68a9)_0x952fd6['id']===_0xd23488['id']&&(_0x952fd6['isEmptyCurrent']=_0x952fd6['fromVersion']===_0x952fd6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4b68a9,this['_lastRequestId'])['then'](_0x41f0c9=>(this['_lastRequestId']=_0x41f0c9,_0x4b68a9))['catch'](_0x5d14db=>{if(L(_0x5d14db)||'400'===_0x5d14db['code']&&void 0x0!==_0x5d14db['data']['wrongRequestId']){for(const _0x42d186 of _0x4b68a9){!this['_revisionTracker']['repository']['getRevision'](_0x42d186['id'])||this['_revisionTracker']['_bufferUpdate'](_0x42d186['id'],_0x42d186,!0x1);}if(L(_0x5d14db))throw _0x5d14db;return _0x4b68a9;}throw _0x5d14db;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3e32c0,{revisionsData:_0x1051b7,requestId:_0x4208fe})=>{Math['max'](..._0x1051b7['map'](_0x1f31f3=>_0x1f31f3['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1051b7,_0x4208fe);}):this['_handleRevisionsUpdate'](_0x1051b7,_0x4208fe);});const {revisions:_0x481d2f,requestId:_0x2844cf}=await this['_revisionHistoryService']['connect'](_0x3dde5d['connection']);_0x3dde5d['addToReconnectionStack'](this),this['_lastRequestId']=_0x2844cf,await this['_fetchMissingUsers'](_0x481d2f);for(const _0x308f9c of _0x481d2f)this['_revisionTracker']['addRevisionData'](_0x308f9c);this['listenTo'](_0x4aeaa9,'change:_isConnected',(_0x86a0b8,_0x1c377d,_0x2e136f)=>{_0x2e136f&&(this['_oldOffset']=_0x4aeaa9['_offset'],_0x86a0b8['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3dde5d,'state',_0x484547=>_0x484547===_0x278209['CONNECTED']);}async['reconnect'](){const _0x5d2616=this['editor']['plugins']['get'](n),_0x534bdd=this['editor']['plugins']['get'](l),_0x2d7164=async()=>{const _0x468906=this['_revisionTracker']['currentRevision'],_0x1c9942=_0x468906['id'],_0x588ca7=_0x1c9942!==_0x534bdd['sessionId'];if(_0x588ca7){const _0x26ae16=_0x534bdd['_offset']-this['_oldOffset'],_0x2fad4a=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x468906['toVersion']+_0x26ae16!==_0x2fad4a){const _0x522582=_0x468906['fromVersion']+_0x26ae16,_0x4770f0=this['editor']['plugins']['get'](_0x24d756),_0x47c0c4=this['_revisionTracker']['buildRevisionData']({'revision':_0x468906,'from':_0x522582,'to':_0x2fad4a});_0x47c0c4['id']=_0x468906['id'];const _0x16d91e=_0x47c0c4['authorsIds']['map'](_0x3b3cae=>_0x4770f0['getUser'](_0x3b3cae));_0x468906['_update']({..._0x47c0c4,'authors':_0x16d91e},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x468906['id'],_0x47c0c4,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2fad4a,(_0x468906['toVersion']===_0x468906['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1c9942)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1c9942),this['_revisionTracker']['_createCurrentRevision'](_0x2fad4a));}const {revisions:_0x2dbd88,requestId:_0x192d33}=await this['_revisionHistoryService']['reconnect'](_0x5d2616['connection'],this['_lastRequestId']);_0x588ca7&&_0x2dbd88['length']>0x0?_0x534bdd['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2dbd88),this['_handleRevisionsUpdate'](_0x2dbd88,_0x192d33),this['_revisionTracker']['sendBufferedUpdates']());};return _0x534bdd['_isConnected']?_0x2d7164():new Promise((_0xf964f5,_0x2ea14c)=>{_0x534bdd['once']('change:_isConnected',()=>{_0x2d7164()['then'](_0xf964f5)['catch'](_0x2ea14c);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5855fb=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x513fda=>{_0x513fda['off'](),_0x5855fb();});});}['_getLatestVersionFromServerOperations'](){const _0x597d3c=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3eafad of _0x597d3c)if('marker'!==_0x3eafad['type']||_0x3eafad['affectsData'])return _0x3eafad['baseVersion']+0x1;}['_getLatestVersion'](){const _0x5489e7=this['editor']['plugins']['get'](l);return new Promise(_0x320cd2=>{_0x5489e7['_isPendingUpdate']?_0x5489e7['once']('change:_isPendingUpdate',()=>{_0x320cd2(this['_getLatestVersionFromServerOperations']());}):_0x320cd2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x4dcf0a,_0x197a48){const _0x2b782c=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x197a48;for(const _0x52d597 of _0x4dcf0a){const _0x4c4b1b=_0x2b782c['getRevision'](_0x52d597['id']);if(_0x4c4b1b){if((_0x52d597['fromVersion']||_0x52d597['toVersion'])&&(_0x52d597['diffData']=null),_0x4c4b1b===this['_revisionTracker']['currentRevision']){const _0x4aebfe=Math['max'](_0x4c4b1b['toVersion'],_0x52d597['toVersion']),_0x56c1dd=Math['max'](_0x4c4b1b['fromVersion'],_0x52d597['fromVersion']);let _0x17647b;_0x4c4b1b['toVersion']===_0x52d597['toVersion']&&_0x4c4b1b['fromVersion']===_0x52d597['fromVersion']?(_0x17647b=!0x0,this['_preventResendingRevisionData'](_0x52d597)):_0x52d597['toVersion']===_0x4aebfe&&_0x52d597['fromVersion']===_0x56c1dd?_0x17647b=!0x1:(_0x4c4b1b['toVersion']===_0x4aebfe&&_0x4c4b1b['fromVersion']===_0x56c1dd||this['_fixRevision']({'revision':_0x4c4b1b,'from':_0x56c1dd,'to':_0x4aebfe}),_0x17647b=!0x0),_0x17647b&&(delete _0x52d597['fromVersion'],delete _0x52d597['toVersion'],delete _0x52d597['diffData'],delete _0x52d597['createdAt'],delete _0x52d597['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x52d597),this['_preventResendingRevisionData'](_0x52d597);}else this['_revisionTracker']['addRevisionData'](_0x52d597);}const _0x150002=_0x2b782c['getRevisions']();_0x150002['reverse']();for(let _0x5e8bb3=0x0;_0x5e8bb3<_0x150002['length']-0x1;_0x5e8bb3++){const _0x11d8d7=_0x150002[_0x5e8bb3],_0x137338=_0x150002[_0x5e8bb3+0x1];if(_0x11d8d7['fromVersion']<_0x137338['toVersion']){const _0x5e9b3a=_0x137338['toVersion'],_0x267ba8=Math['max'](_0x5e9b3a,_0x11d8d7['toVersion']);this['_fixRevision']({'revision':_0x11d8d7,'from':_0x5e9b3a,'to':_0x267ba8});}}}['_fixRevision']({revision:_0x4a69c2,from:_0x19ad2c,to:_0x43617d}={}){const _0xae0537=this['editor']['plugins']['get'](_0x24d756),_0x38cd51=this['_revisionTracker']['buildRevisionData']({'revision':_0x4a69c2,'from':_0x19ad2c,'to':_0x43617d});_0x38cd51['authors']=_0x38cd51['authorsIds']['map'](_0xed64f9=>_0xae0537['getUser'](_0xed64f9)),_0x4a69c2['_update'](_0x38cd51);}['_preventResendingRevisionData'](_0x20a701){const _0x429932={};_0x429932['id']=_0x20a701['id'];for(const _0x4c61a4 of Object['keys'](_0x20a701))'id'!==_0x4c61a4&&(_0x429932[_0x4c61a4]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x429932['id'],_0x429932,!0x0);}async['_fetchMissingUsers'](_0x2c8121){const _0x5efbbe=this['editor']['plugins']['get'](_0x24d756),{connection:_0x289d85}=this['editor']['plugins']['get'](n),_0x9d219d=new Set();for(const _0x271f35 of _0x2c8121){for(const _0x5e1550 of _0x271f35['authorsIds'])_0x529e0b(_0x5e1550);_0x271f35['creatorId']&&_0x529e0b(_0x271f35['creatorId']);}if(0x0===_0x9d219d['size'])return;const _0x52e580=await ut['getMany'](_0x289d85,Array['from'](_0x9d219d));for(const _0x3c4740 of _0x52e580)_0x5efbbe['getUser'](_0x3c4740['id'])||_0x5efbbe['addUser'](_0x3c4740);function _0x529e0b(_0x1d9ea0){_0x5efbbe['getUser'](_0x1d9ea0)||_0x9d219d['add'](_0x1d9ea0);}}}function L(_0x19f9ef){return _0x19f9ef['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x19f9ef['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x19f9ef['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x111504{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class K extends _0x447871{['_collapseAt'];constructor(_0x2be8fa,_0x224688=0x6){super(_0x2be8fa);const _0x5055fc=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x224688,this['bind']('isHidden')['to'](this,'usersCount',_0x1a0848=>_0x1a0848<_0x224688),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5055fc['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':_0x5055fc['to']('usersCount',_0xbaf484=>'+'+(_0xbaf484-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x447871{['items'];['keystrokes'];constructor(_0x3242a6){super(_0x3242a6);const _0x14f21c=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x100592(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x14f21c['if']('hasPopup'),'aria-expanded':_0x14f21c['to']('isExpanded',_0x12b513=>this['hasPopup']&&String(_0x12b513)),'aria-label':_0x14f21c['to']('hasPopup',_0x85fdb5=>T(_0x3242a6,_0x85fdb5?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x14f21c['to']('hasPopup',_0xd37349=>!!_0xd37349&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x14f21c['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x14f21c['to'](_0x11922a=>{const _0x3533ae=_0x11922a,_0x1f24f9=document['querySelector']('.ck-presence-list__dropdown-list'),_0x19a1c4=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1f24f9?.['contains'](_0x3533ae['relatedTarget'])||_0x19a1c4?.['contains'](_0x3533ae['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0xed07f7,_0x3018f9,_0x346fa5)=>{this['element']&&(_0x346fa5?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 J extends _0x447871{['counterView'];['inlineListView'];constructor(_0x3c1826,_0x125a97=0x6){super(_0x3c1826);const _0x490473=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new K(this['locale'],_0x125a97),this['inlineListView']=new is(_0x3c1826),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xee8ade of this['inlineListView']['items'])_0xee8ade['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',_0x490473['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class Q extends _0x447871{['listWrapperView'];constructor(_0x10c63b,_0x16977f){super(_0x10c63b);const _0x45eee6=this['bindTemplate'];this['listWrapperView']=new wt(_0x10c63b,_0x16977f),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':T(_0x10c63b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x45eee6['to'](_0x59ce90=>{const _0x248209=_0x59ce90,_0x182e11=document['querySelector']('.ck-presence-list__list'),_0x3743ba=document['querySelector']('.ck-balloon-panel_with-arrow');_0x182e11?.['contains'](_0x248209['relatedTarget'])||_0x3743ba?.['contains'](_0x248209['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x211604{constructor(_0x1d1235,_0x3a0669){super(_0x1d1235);const _0x378692=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3a0669?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x378692['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x378692['to']('role'),'aria-label':_0x378692['to']('ariaLabel'),'aria-labelledby':_0x378692['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x23a209['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x26afc2=this['element'];_0x26afc2&&(this['_isScrollable']=Math['max'](_0x26afc2['scrollHeight'],_0x26afc2['clientHeight'])>0.8*window['innerHeight']);}}class X extends rt{['userView'];constructor(_0x1e66fa,_0xe0d604,_0x5b784b){super(_0x1e66fa);const _0x956016=this['bindTemplate'];this['userView']=new ct(_0x1e66fa,_0xe0d604);const _0x346d70={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xe0d604['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xe0d604['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xe0d604['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x5b784b&&(_0x346d70['tag']='button',_0x346d70['on']={'click':_0x956016['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x346d70);}['focus'](){this['element']['focus']();}}class Y extends _0x447871{['userView'];['markerView'];constructor(_0xef4c0f,_0x23f359,_0x255259){super(_0xef4c0f);const _0x1ff55f=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0xef4c0f,_0x23f359),this['markerView']=new lt(_0xef4c0f,_0x23f359);const _0x668064=new at(_0xef4c0f);_0x668064['template']['tag']='span',_0x668064['text']=_0x23f359['name'];const _0x4b745a={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1ff55f['to']('isFocusable',_0x4407a4=>!!_0x4407a4&&0x0),'aria-labelledby':_0x668064['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1ff55f['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1ff55f['to']('hasTooltip',_0x8912c7=>!_0x8912c7),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x668064]};_0x255259&&(_0x4b745a['tag']='button',_0x4b745a['on']={'click':_0x1ff55f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4b745a);}}class lt extends _0x447871{constructor(_0x40b71f,_0x2a7fe2){super(_0x40b71f),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2a7fe2['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const Z={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x49081f{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x47edb8){super(_0x47edb8),this['context']['config']['define']('presenceList',Z);const _0x3cff97=_0x47edb8['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3cff97)throw new _0x2ba111('presencelist-collapseat-invalid-format',this);if(_0x3cff97<0x1)throw new _0x2ba111('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4c3fca(),this['balloonPanelView']=new _0x3df348(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x19d47a of this['_allConnectedUsers'])this['_handleUserAdd'](_0x19d47a);this['listenTo'](this['_allConnectedUsers'],'add',(_0x478a5f,_0x104dc4)=>{this['_handleUserAdd'](_0x104dc4);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4ee1fc,_0x227491)=>{this['_handleUserRemove'](_0x227491);});}['_createView'](){const _0xc9141e=this['context'],_0x2141d4=new J(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x2092c9=this['balloonPanelView'];if(!_0x536ad2(_0xc9141e['config']['get']('presenceList.container')))throw new _0x2ba111('presencelist-missing-container',this);return _0x2141d4['counterView']['bind']('usersCount')['to'](this),_0x2141d4['bind']('isCollapsed')['to'](this,'usersCount',_0x3c13f3=>{const {collapseAt:_0x14d910}=_0xc9141e['config']['get']('presenceList'),_0x33370f=_0x3c13f3>=_0x14d910;if(_0x33370f&&!_0x2141d4['inlineListView']['items']['find'](_0x1f264c=>_0x1f264c instanceof K)){const _0x5542e1=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5542e1&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2141d4['inlineListView']['items']['add'](_0x2141d4['counterView']);}return _0x33370f||this['hideDropdown'](),_0x33370f;}),_0x2141d4['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x533a66=>{const _0x5a2e50=_0xc9141e['config']['get']('presenceList'),_0x1c9cd8=new Y(_0xc9141e['locale'],_0x533a66,!!_0x5a2e50['onClick']);return _0x1c9cd8['bind']('hasTooltip')['to'](_0x2141d4,'isCollapsed',_0xd0ba73=>!_0xd0ba73),_0x1c9cd8['bind']('isFocusable')['to'](_0x2141d4,'isCollapsed',_0x5d2b98=>!_0x5d2b98),_0x5a2e50['onClick']&&this['listenTo'](_0x1c9cd8,'execute',()=>{this['view']['isCollapsed']||_0x5a2e50['onClick'](_0x533a66,_0x1c9cd8['element']);}),_0x1c9cd8;}),this['listenTo'](_0x2141d4['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2141d4['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2141d4['inlineListView']['keystrokes']['set']('Enter',(_0x51650f,_0x573fec)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x573fec());}),_0x2141d4['render'](),_0x2092c9['render'](),_0x358832({'emitter':_0x2141d4,'activator':()=>_0x2092c9['isVisible'],'contextElements':[_0x2092c9['element'],_0x2141d4['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xc9141e['config']['get']('presenceList.container')['appendChild'](_0x2141d4['element']),this['_bodyCollection']=new _0x560eda(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2141d4;}['_handleUserAdd'](_0x200828){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x200828['isMe'])return;const _0xa05ac=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0xa05ac-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x53f384=_0x200828['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x200828,_0x53f384);}['_handleUserRemove'](_0x114648){this['usersCount']--;const {collapseAt:_0x5b518b}=this['context']['config']['get']('presenceList'),_0x250745=this['usersCount']>=_0x5b518b;if(this['currentDisplayedUsers']['get'](_0x114648['id']))this['currentDisplayedUsers']['remove'](_0x114648['id']);else{if(_0x250745&&this['currentDisplayedUsers']['length']+0x1===_0x5b518b-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x250745?0x1:0x0)<this['usersCount']){for(const _0x2e3fd3 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2e3fd3['id'])&&(this['currentDisplayedUsers']['add'](_0x2e3fd3,Math['min'](this['currentDisplayedUsers']['length']-(_0x250745?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x250745?0x1:0x0)===_0x5b518b-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x412126=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new Q(this['context']['locale'],!!_0x412126['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x37fe17}=this['presenceDropdownView'];_0x37fe17['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1b7c27=>{if(!_0x412126['displayMe']&&_0x1b7c27['isMe'])return null;const _0xdc184c=new X(this['context']['locale'],_0x1b7c27,!!_0x412126['onClick']);return _0x412126['onClick']&&this['listenTo'](_0xdc184c,'execute',()=>{_0x412126['onClick'](_0x1b7c27,_0xdc184c['element']);}),_0xdc184c;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x37fe17['focus'](),_0x37fe17['checkIfScrollable']();const _0x5490a2=(_0x333a49,_0x8e94e9)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x8e94e9();};_0x37fe17['keystrokes']['set']('Esc',_0x5490a2),_0x37fe17['keystrokes']['set']('Shift+Tab',_0x5490a2),_0x37fe17['keystrokes']['set']('Tab',(_0x49d2cd,_0x3ab043)=>{!function(_0x12a3af){const _0x4ad700=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2a4bef=>_0x2a4bef+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2a4537=[...document['body']['querySelectorAll'](_0x4ad700)]['filter'](_0x11ddb2=>_0x11ddb2===document['activeElement']||_0x11ddb2['offsetWidth']+_0x11ddb2['offsetHeight']>0x0)['sort']((_0x1f8e56,_0x220d4e)=>(_0x1f8e56['tabIndex']||0x0)-(_0x220d4e['tabIndex']||0x0)),_0x2a471c=_0x2a4537['indexOf'](_0x12a3af),_0x58f36d=_0x2a4537[(_0x2a471c+0x1)%_0x2a4537['length']];_0x58f36d&&_0x58f36d['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3ab043();}),_0x37fe17['focusTracker']['add'](this['view']['element']),_0x37fe17['focusTracker']['on']('change:isFocused',(_0x3876d3,_0x58574d,_0x4a3aec)=>{_0x4a3aec||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x49081f{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
|