@ckeditor/ckeditor5-real-time-collaboration 49.0.0-alpha.0 → 49.0.0-alpha.1
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/dist/index.js +6 -6
- package/dist/translations/af.umd.js +1 -1
- package/dist/translations/ar.umd.js +1 -1
- package/dist/translations/ast.umd.js +1 -1
- package/dist/translations/az.umd.js +1 -1
- package/dist/translations/be.umd.js +1 -1
- package/dist/translations/bg.umd.js +1 -1
- package/dist/translations/bn.umd.js +1 -1
- package/dist/translations/bs.umd.js +1 -1
- package/dist/translations/ca.umd.js +1 -1
- package/dist/translations/cs.umd.js +1 -1
- package/dist/translations/da.umd.js +1 -1
- package/dist/translations/de-ch.umd.js +1 -1
- package/dist/translations/de.umd.js +1 -1
- package/dist/translations/el.umd.js +1 -1
- package/dist/translations/en-au.umd.js +1 -1
- package/dist/translations/en-gb.umd.js +1 -1
- package/dist/translations/en.umd.js +1 -1
- package/dist/translations/eo.umd.js +1 -1
- package/dist/translations/es-co.umd.js +1 -1
- package/dist/translations/es.umd.js +1 -1
- package/dist/translations/et.umd.js +1 -1
- package/dist/translations/eu.umd.js +1 -1
- package/dist/translations/fa.umd.js +1 -1
- package/dist/translations/fi.umd.js +1 -1
- package/dist/translations/fr.umd.js +1 -1
- package/dist/translations/gl.umd.js +1 -1
- package/dist/translations/gu.umd.js +1 -1
- package/dist/translations/he.umd.js +1 -1
- package/dist/translations/hi.umd.js +1 -1
- package/dist/translations/hr.umd.js +1 -1
- package/dist/translations/hu.umd.js +1 -1
- package/dist/translations/hy.umd.js +1 -1
- package/dist/translations/id.umd.js +1 -1
- package/dist/translations/it.umd.js +1 -1
- package/dist/translations/ja.umd.js +1 -1
- package/dist/translations/jv.umd.js +1 -1
- package/dist/translations/kk.umd.js +1 -1
- package/dist/translations/km.umd.js +1 -1
- package/dist/translations/kn.umd.js +1 -1
- package/dist/translations/ko.umd.js +1 -1
- package/dist/translations/ku.umd.js +1 -1
- package/dist/translations/lt.umd.js +1 -1
- package/dist/translations/lv.umd.js +1 -1
- package/dist/translations/ms.umd.js +1 -1
- package/dist/translations/nb.umd.js +1 -1
- package/dist/translations/ne.umd.js +1 -1
- package/dist/translations/nl.umd.js +1 -1
- package/dist/translations/no.umd.js +1 -1
- package/dist/translations/oc.umd.js +1 -1
- package/dist/translations/pl.umd.js +1 -1
- package/dist/translations/pt-br.umd.js +1 -1
- package/dist/translations/pt.umd.js +1 -1
- package/dist/translations/ro.umd.js +1 -1
- package/dist/translations/ru.umd.js +1 -1
- package/dist/translations/si.umd.js +1 -1
- package/dist/translations/sk.umd.js +1 -1
- package/dist/translations/sl.umd.js +1 -1
- package/dist/translations/sq.umd.js +1 -1
- package/dist/translations/sr-latn.umd.js +1 -1
- package/dist/translations/sr.umd.js +1 -1
- package/dist/translations/sv.umd.js +1 -1
- package/dist/translations/th.umd.js +1 -1
- package/dist/translations/ti.umd.js +1 -1
- package/dist/translations/tk.umd.js +1 -1
- package/dist/translations/tr.umd.js +1 -1
- package/dist/translations/tt.umd.js +1 -1
- package/dist/translations/ug.umd.js +1 -1
- package/dist/translations/uk.umd.js +1 -1
- package/dist/translations/ur.umd.js +1 -1
- package/dist/translations/uz.umd.js +1 -1
- package/dist/translations/vi.umd.js +1 -1
- package/dist/translations/zh-cn.umd.js +1 -1
- package/dist/translations/zh.umd.js +1 -1
- package/package.json +12 -12
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Context as
|
|
24
|
-
((()=>_0x49e252)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x5bcd0,_0x57a6dd];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4f6646){super(_0x4f6646),this['set']('state',_0x5579e8['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3fcc25())();}init(){const _0x333886=this['context'],_0x235245=_0x333886['plugins']['get'](_0x5bcd0),_0x2f4975=_0x333886['plugins']['get'](_0x57a6dd);if(!_0x235245['token'])throw new _0x506387('websocketgateway-missing-token',this);if(!_0x235245['webSocketUrl'])throw new _0x506387('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),WebSocketGateway['WebSocketGateway']['connect'](_0x235245['token'],_0x235245['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3521af=>{if(this['connection']=_0x3521af,this['bind']('state')['to'](_0x3521af,'state',this,'_isBrowserOffline',(_0x2ad874,_0x7aff8f)=>('connected'!==_0x2ad874&&(this['_shouldPluginsReconnect']=!0x0),_0x7aff8f||_0x2ad874!==_0x5579e8['CONNECTED']?_0x5579e8['DISCONNECTED']:this['state']==_0x5579e8['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5579e8['CONNECTING']):_0x5579e8['CONNECTED'])),this['connection']['on']('error',(_0x1f7857,_0x4fc52d)=>{if('limitExceeded'!==_0x4fc52d['code'])throw console['error'](_0x4fc52d),new _0x506387('cloudservices-init',null,{'originalError':_0x4fc52d});_0x2f4975['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'});}),!_0x3521af['me'])return new Promise(_0xa3191a=>_0x3521af['on']('change:me',_0xa3191a));})['catch'](_0x35d8ea=>{throw console['error'](_0x35d8ea),new _0x506387('cloudservices-init',null,{'originalError':_0x35d8ea});});}addToReconnectionStack(_0x5d964d){if('function'!=typeof _0x5d964d['reconnect'])throw new _0x506387('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5d964d))throw new _0x506387('websocketgateway-plugin-already-registered',this,{'name':_0x5d964d['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5d964d);}removeFromReconnectionStack(_0x809b3f){this['_reconnectionStack']['delete'](_0x809b3f);}isInReconnectionStack(_0x45b51a){return this['_reconnectionStack']['has'](_0x45b51a);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2fcb22=>_0x2fcb22['reconnect']())))['then'](()=>this['state']=_0x5579e8['CONNECTED'])['catch'](_0x229970=>{throw console['error'](_0x229970),new _0x506387('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5579e8['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Q=class extends _0x566254{['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[J,_0x309335];}constructor(_0x448d03){super(_0x448d03),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2ae756(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x309335);}init(){const _0x30c9c6=this['context']['plugins']['get'](J);this['listenTo'](_0x30c9c6,'change:state',(_0x5e26af,_0x5a1b56,_0x56a9f2)=>{if('connected'!==_0x56a9f2)this['channelSessions']['forEach'](_0x5cc722=>_0x5cc722['clear']()),this['channelConnectedUsers']['forEach'](_0x1abe4b=>_0x1abe4b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x26923d,_0x5d32c1]of this['_registeredSessions'])for(const _0x237bcf of _0x5d32c1)this['_handleSessionAdd'](_0x26923d,_0x237bcf);}}),this['_createUser'](_0x30c9c6['connection']['me'],!0x0);}register(_0xfee4c4,_0x4b82fd){if(this['_registeredSessions']['has'](_0xfee4c4))throw new _0x506387('sessions-register-already-registered',null,{'channelId':_0xfee4c4});this['_registeredSessions']['set'](_0xfee4c4,_0x4b82fd),this['channelSessions']['set'](_0xfee4c4,new _0x2ae756()),this['channelConnectedUsers']['set'](_0xfee4c4,new _0x2ae756()),this['listenTo'](_0x4b82fd,'add',(_0x3685ba,_0x2bab5c)=>this['_handleSessionAdd'](_0xfee4c4,_0x2bab5c)),this['listenTo'](_0x4b82fd,'remove',(_0x1634e5,_0x59ff7a)=>this['_handleSessionRemove'](_0xfee4c4,_0x59ff7a));for(const _0xc30bbd of _0x4b82fd)this['_handleSessionAdd'](_0xfee4c4,_0xc30bbd);}unregister(_0x4f528b){if(!this['_registeredSessions']['has'](_0x4f528b))throw new _0x506387('sessions-unregister-not-exist',null,{'channelId':_0x4f528b});const _0x4f450c=this['_registeredSessions']['get'](_0x4f528b);this['stopListening'](_0x4f450c);for(const _0xee92af of _0x4f450c)'connected'===this['context']['plugins']['get'](J)['state']&&this['_handleSessionRemove'](_0x4f528b,_0xee92af);this['_registeredSessions']['delete'](_0x4f528b),this['channelSessions']['delete'](_0x4f528b),this['channelConnectedUsers']['delete'](_0x4f528b);}get['mySessionId'](){return this['context']['plugins']['get'](J)['connection']['sessionId'];}getUserBySessionId(_0x4d7ee2){for(const _0xd0f8ea of this['channelSessions']['values']())for(const _0x3e0656 of _0xd0f8ea)if(_0x3e0656['id']===_0x4d7ee2)return _0x3e0656['user'];}getUserSessions(_0x4a6e4e,_0x3d928c){const _0x2f867b=_0x3d928c?[this['channelSessions']['get'](_0x3d928c)]:this['channelSessions']['values'](),_0x5de8f5=new Set();for(const _0x382bb6 of _0x2f867b)for(const _0x107f47 of _0x382bb6)_0x107f47['user']['id']===_0x4a6e4e['id']&&_0x5de8f5['add'](_0x107f47['id']);return _0x5de8f5;}getUserRole(_0x48bd1e){for(const _0x137d6c of this['channelSessions']['values']())for(const _0x22602d of _0x137d6c)if(_0x22602d['user']===_0x48bd1e)return _0x22602d['role'];}['_handleSessionAdd'](_0x2c5701,_0x55b611){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x35489=_0x55b611['user'],_0x5b01b2=this['_users']['getUser'](_0x35489['id'])||this['_createUser'](_0x35489),_0x19d302=Object['assign']({},_0x55b611,{'user':_0x5b01b2});if(this['channelSessions']['get'](_0x2c5701)['add'](_0x19d302),!_0x35489['hiddenInPresenceList']){const _0x40f80e=this['channelConnectedUsers']['get'](_0x2c5701);_0x40f80e['has'](_0x5b01b2['id'])||_0x40f80e['add'](_0x5b01b2),this['allConnectedUsers']['has'](_0x5b01b2['id'])||_0x35489['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5b01b2,_0x5b01b2['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2c5701,{'channelId':_0x2c5701,'session':_0x19d302});}['_handleSessionRemove'](_0x50ec20,_0x43b360){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x11feaf=this['channelConnectedUsers']['get'](_0x50ec20),_0x5d6fa4=_0x43b360['user'];_0x5d6fa4['id']&&(this['channelSessions']['get'](_0x50ec20)['remove'](_0x43b360['id']),_0x11feaf['has'](_0x5d6fa4['id'])&&!this['getUserSessions'](_0x5d6fa4,_0x50ec20)['size']&&_0x11feaf['remove'](_0x5d6fa4['id']),this['allConnectedUsers']['get'](_0x5d6fa4['id'])&&!this['getUserSessions'](_0x5d6fa4)['size']&&this['allConnectedUsers']['remove'](_0x5d6fa4['id']));}_createUser(_0x5da992,_0x1513b6){const _0x3bc01f=this['_users']['addUser'](_0x5da992);return _0x1513b6&&this['_users']['defineMe'](_0x5da992['id']),_0x3bc01f['orderNumber']=this['_uniqueUsersCount']++,_0x3bc01f;}},X=class extends _0x1ef3e5{_domEmitter=new(_0x3fcc25())();static get requires(){return[Q];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x38cb0c=this['editor'],_0x35a306=_0x38cb0c['plugins']['get'](Q);_0x38cb0c['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5e7530,{writer:_0x345507})=>function(_0x2ae72b,_0x3a738e,_0x1b460a,_0x24b62a){const _0x1f4ea5=_0x2ae72b['markerName']['split'](':')[0x2],_0x4b0649=_0x1b460a['getUserBySessionId'](_0x1f4ea5);if(!_0x4b0649||_0x1f4ea5===_0x1b460a['mySessionId'])return;if(!_0x24b62a['model']['schema']['checkChild'](_0x2ae72b['markerRange']['start'],'$text'))return;const _0x25793f={'class':'ck-user__marker\x20'+_0x4b0649['color']['getMarkerClass'](),'style':tt(_0x4b0649),'data-name':_0x4b0649['name'],'data-session-id':_0x1f4ea5},_0x48c067=_0x24b62a['model']['markers']['get'](_0x2ae72b['markerName'])['getStart'](),_0x27b698=_0x48c067['nodeAfter'],_0x336ec5=_0x24b62a['model']['schema'];if(_0x27b698&&_0x336ec5['isObject'](_0x27b698)&&_0x336ec5['isInline'](_0x27b698)&&!_0x24b62a['model']['markers']['get']('user:range:'+_0x1f4ea5)['getRange']()['isCollapsed'])return;const _0x32f83d=_0x48c067['parent'];return _0x24b62a['model']['schema']['isLimit'](_0x32f83d)&&!_0x24b62a['model']['hasContent'](_0x32f83d)&&(_0x25793f['contenteditable']=!0x1),function(_0x4b7f94,_0x4c0348,_0x2a5da2){const _0x5b5d99=_0x4b7f94['createUIElement']('span',_0x4c0348);return _0x4b7f94['setCustomProperty']('userPositionMarker',!0x0,_0x5b5d99),_0x5b5d99['render']=function(_0x58c923){const _0x56275f=this['toDomElement'](_0x58c923),_0x4cb16f=document['createElement']('span');return _0x4cb16f['classList']['add']('ck-user__marker-tooltip'),_0x4cb16f['setAttribute']('contenteditable','false'),_0x4cb16f['setAttribute']('spellcheck','false'),_0x4cb16f['textContent']=_0x2a5da2['name'],_0x56275f['innerHTML']=_0x5161ef('<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x4cb16f['outerHTML']+''),_0x56275f['addEventListener']('mouseenter',()=>{_0x56275f['classList']['add']('ck-user__marker_hovered');}),_0x56275f['addEventListener']('mouseleave',()=>{_0x56275f['classList']['remove']('ck-user__marker_hovered');}),_0x56275f;},_0x5b5d99['isSimilar']=function(_0x3d1d0b){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3d1d0b['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3d1d0b['getAttribute']('data-session-id'));},_0x5b5d99;}(_0x3a738e,_0x25793f,_0x4b0649);}(_0x5e7530,_0x345507,_0x35a306,_0x38cb0c)}),_0x38cb0c['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x1e3899=>function(_0x1697f5,_0x399805){const _0x8eb1a0=_0x1697f5['markerName']['split'](':')[0x2];if(_0x8eb1a0===_0x399805['mySessionId'])return null;const _0x3e0fa3=_0x399805['getUserBySessionId'](_0x8eb1a0);return _0x3e0fa3?{'id':_0x8eb1a0,'classes':['ck-user__selection',_0x3e0fa3['color']['getSelectionClass']()],'attributes':{'style':tt(_0x3e0fa3),'data-session-id':_0x8eb1a0},'priority':0x7d0+_0x3e0fa3['orderNumber']}:{'id':_0x8eb1a0,'classes':[]};}(_0x1e3899,_0x35a306)}),function(_0x372bc7){const _0x9bd845=_0x372bc7['model'],_0x11e002=new Map(),_0x29fbf2=_0x372bc7['plugins']['get'](Q);_0x9bd845['markers']['on']('update:user:range',(_0x4730dc,_0x5566ad,_0x3af272,_0x595c64)=>{if(!_0x595c64&&_0x11e002['get'](_0x5566ad['name']))return _0x11e002['get'](_0x5566ad['name'])['detach'](),void _0x11e002['delete'](_0x5566ad['name']);const _0x277519=_0x5566ad['name']['split'](':')[0x2];if(_0x277519===_0x29fbf2['mySessionId'])return;const _0x744d89='user:position:'+_0x277519;_0x9bd845['markers']['has'](_0x744d89)&&_0x372bc7['editing']['reconvertMarker'](_0x744d89),_0x5566ad['on']('change:range',(_0x568697,_0x2d3e71,_0x45183f)=>{if('$graveyard'!=_0x2d3e71['root']['rootName']&&'$graveyard'==_0x5566ad['getRange']()['root']['rootName']&&!_0x11e002['has'](_0x5566ad['name'])){const _0x26a46d=_0x9bd845['schema']['getNearestSelectionRange'](_0x45183f['deletionPosition']);if(_0x26a46d){const _0x57d741=_0x52c56e['fromRange'](_0x26a46d);_0x11e002['set'](_0x5566ad['name'],_0x57d741),_0x57d741['on']('change:range',(_0x4a2514,_0x5278f4,_0x38218f)=>{if('$graveyard'==_0x57d741['root']['rootName']){const _0x14cfc0=_0x9bd845['schema']['getNearestSelectionRange'](_0x38218f['deletionPosition']);_0x14cfc0?(_0x57d741['start']=_0x14cfc0['start'],_0x57d741['end']=_0x14cfc0['end']):(_0x11e002['delete'](_0x5566ad['name']),_0x57d741['detach']());}});}}});}),_0x9bd845['document']['on']('change',()=>{_0x11e002['size']>0x0&&_0x9bd845['enqueueChange']({'isUndoable':!0x1},_0x219ff9=>{for(const [_0x18333a,_0x1c4106]of _0x11e002)'$graveyard'==_0x9bd845['markers']['get'](_0x18333a)['getRange']()['root']['rootName']&&(Z(_0x18333a['split'](':')[0x2],_0x1c4106['toRange'](),_0x9bd845,_0x219ff9),_0x1c4106['detach']());_0x11e002['clear']();});});}(_0x38cb0c),this['_domEmitter']['listenTo'](_0x34368d['document'],'keydown',(_0x1d2de9,{key:_0x4664a4})=>{'Escape'===_0x4664a4&&function(_0x2792e0){_0x2792e0['editing']['view']['change'](_0x1820c7=>{for(const _0x12aef7 of _0x2792e0['model']['markers']){if(!_0x12aef7['name']['startsWith']('user:position'))continue;const _0x22e22a=_0x2792e0['editing']['mapper']['markerNameToElements'](_0x12aef7['name']);if(_0x22e22a){for(const _0x4abd98 of _0x22e22a)_0x1820c7['removeClass']('ck-user__marker_hovered',_0x4abd98);}}});}(_0x38cb0c);},{'useCapture':!0x0});}afterInit(){const _0x12d2c8=this['editor'],_0x5593c1=_0x12d2c8['commands']['get']('undo');_0x5593c1&&_0x12d2c8['model']['on']('applyOperation',(_0x374336,_0x2bf43d)=>{const _0x320b1c=_0x2bf43d[0x0];if(!_0x320b1c['isDocumentOperation'])return;if('marker'!=_0x320b1c['type']||!_0x320b1c['name']['startsWith']('user:'))return;const _0x5846e2=_0x320b1c['batch'];_0x5593c1['_createdBatches']['has'](_0x5846e2)&&(_0x320b1c['newRange']=_0x320b1c['oldRange']?_0x12d2c8['model']['createRange'](_0x320b1c['oldRange']['start'],_0x320b1c['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0xb9faf7=this['editor'],_0x58ba07=_0xb9faf7['model']['document'],_0x3b5ad2=_0xb9faf7['plugins']['get'](Q);_0xb9faf7['model']['enqueueChange']({'isUndoable':!0x1},_0x444505=>{const _0x189326='user:range:'+_0x3b5ad2['mySessionId'],_0x332c8e='user:position:'+_0x3b5ad2['mySessionId'],_0x1f893f=_0xb9faf7['model']['markers']['has'](_0x189326);_0xb9faf7['editing']['view']['hasDomSelection']?Z(_0x3b5ad2['mySessionId'],_0x58ba07['selection']['getFirstRange'](),_0xb9faf7['model'],_0x444505):_0x1f893f&&(_0x444505['removeMarker'](_0x189326),_0x444505['removeMarker'](_0x332c8e));});}};function Z(_0x443958,_0x50c6e2,_0x4ef157,_0x4d1136){const _0x3f09a='user:range:'+_0x443958,_0x218128='user:position:'+_0x443958,_0x47d950=_0x50c6e2['getContainedElement']();let _0x41eee4=_0x50c6e2['start'];if(_0x47d950&&_0x47d950['is']('element','tableCell')){const _0xe6f363=function(_0x496a7a,_0xe1471a){for(const _0x7b395 of _0x496a7a['getPositions']())if(_0xe1471a['schema']['checkChild'](_0x7b395,'$text'))return _0x7b395;}(_0x50c6e2,_0x4ef157);_0xe6f363&&(_0x41eee4=_0xe6f363,_0x50c6e2=_0x4d1136['createRange'](_0x41eee4));}const _0x325fcf=_0x4d1136['createRange'](_0x41eee4);_0x4ef157['markers']['has'](_0x3f09a)?(_0x4d1136['updateMarker'](_0x3f09a,{'range':_0x50c6e2}),_0x4d1136['updateMarker'](_0x218128,{'range':_0x325fcf})):(_0x4d1136['addMarker'](_0x3f09a,{'range':_0x50c6e2,'usingOperation':!0x0}),_0x4d1136['addMarker'](_0x218128,{'range':_0x325fcf,'usingOperation':!0x0}));}function tt(_0x12a514){return'--ck-user-color:'+_0x12a514['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x12a514['color']['getColorAlphaVariable']()+';';}function et(_0x5a25b4,_0x33b005,_0xaa5bba){const _0x110982=_0x5a25b4['t'],t=_0x5a25b4['t'];switch(_0x33b005){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 _0x110982({'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'},_0xaa5bba);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x1ef3e5{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x58b839)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[J,Q,X,_0x5d7b3b,_0x309335,_0x57a6dd];}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 _0x53fe26=this['serverHistory']['getOperations']();for(let _0x597588=_0x53fe26['length']-0x1;_0x597588>=0x0;_0x597588--){const _0x2c8dbb=_0x53fe26[_0x597588];if(!this['_disconnectionOperations']['has'](_0x2c8dbb))return _0x2c8dbb['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1435dd){if(super(_0x1435dd),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5c882e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x506387('collaboration-missing-channelid',this);const _0x129ff3=_0x1435dd['config']['get']('cloudServices.bundleVersion')||_0x535cdb;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x129ff3,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1631c2(),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 rt(this['_disconnectionOperations']);}init(){const _0x104e70=this['editor'],_0x881308=_0x104e70['plugins']['get'](_0x309335),_0x549822=_0x104e70['plugins']['get'](J);this['listenTo'](_0x881308,'getOperationAuthor',(_0x50ea83,_0x4087a2)=>{const _0x5022bc=_0x4087a2[0x0];_0x5022bc['_authorId']&&(_0x50ea83['return']=_0x881308['getUser'](_0x5022bc['_authorId']),_0x50ea83['stop']()),null===_0x5022bc['_authorId']&&(_0x50ea83['return']=null,_0x50ea83['stop']());},{'priority':'high'}),this['listenTo'](_0x104e70['model']['document']['selection'],'change:range',(_0x51ae32,_0x435911)=>{_0x435911['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x104e70['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x104e70['model']['on']('applyOperation',(_0x5292ee,_0x20e084)=>{const _0x446ed7=_0x20e084[0x0];_0x446ed7['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x446ed7),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x549822,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x33cdc5,_0x4c71e4,_0xc78327)=>'connected'===_0x33cdc5&&!_0x4c71e4&&!_0xc78327),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x104e70['disableReadOnlyMode']('rtc-offline'):_0x104e70['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x104e70['disableReadOnlyMode']('rtc-offline'):_0x104e70['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x297097=this['editor']['plugins']['get'](Q),_0x4bb64d=this['editor']['plugins']['get'](J);try{this['_isPendingUpdate']=!0x0,_0x297097['unregister'](this['_channelId']);const _0x1910c4=await this['_service']['reconnect'](_0x4bb64d['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1910c4)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x46b92b=await this['_service']['getConnectedSessions']();_0x297097['register'](this['_channelId'],_0x46b92b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x219d0c){if(function(_0x218bcc){return'404'===_0x218bcc['code'];}(_0x219d0c)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x40a313){return'409'===_0x40a313['code'];}(_0x219d0c)){const _0x1bbf40=et(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'](_0x1bbf40);}else{if(!(_0x219d0c instanceof nt))throw _0x219d0c;this['_handleReconnectionError']();}}}}destroy(){const _0x517d8f=this['editor']['plugins']['get'](J),_0x4ad1be=this['editor']['plugins']['get'](Q);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4ad1be['channelSessions']['has'](this['_channelId'])&&_0x4ad1be['unregister'](this['_channelId']),_0x517d8f['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x2ac1b5){if(this['sessionId']!==_0x2ac1b5['sessionId']&&this['_lastSyncedOperationId']!==_0x2ac1b5['lastOperationId'])throw new nt();return this['sessionId']=_0x2ac1b5['sessionId'],this['_handleServerResponse']([],{..._0x2ac1b5,'wereChangesApplied':!0x1,'data':_0x2ac1b5['data']},'reconnect');}async _connectService(_0x1e33bc,_0x5d5627=!0x1){const {connection:_0x17de68}=this['editor']['plugins']['get'](J);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x17de68,this['_channelId'])['then'](_0x541267=>this['_initSessionsHandling'](_0x541267))['catch'](_0x18ee05=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x18ee05);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0xd71f2a,_0x3c92cb)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3c92cb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x4fe26b=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1e33bc);this['_isPendingUpdate']=!0x0;const _0x16b9e0=await this['_service']['connect'](_0x17de68,this['_compressOperations'](_0x1e33bc),_0x4fe26b);if(this['sessionId']=_0x16b9e0['sessionId'],_0x5d5627){if(!_0x16b9e0['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x16b9e0['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1e33bc,_0x16b9e0,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x16b9e0,_0x1e33bc);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x13968b=this['editor']['plugins']['get'](Q),_0x3100ce=this['editor']['plugins']['get'](X),_0xab22d8=_0x13968b['channelSessions']['get'](this['_channelId']);_0xab22d8&&_0xab22d8['length']>0x1?_0x3100ce['createUserMarkerOperations']():this['listenTo'](_0x13968b,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x13968b['channelSessions']['get'](this['_channelId'])['length']&&_0x3100ce['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x21970b,_0x1dc098,_0x4839cd,_0x311295){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1dc098){const _0x35d31b=this['_decompressOperations'](_0x4839cd,_0x311295);await this['_fetchMissingUsers'](_0x35d31b),this['_handleExternalOperations'](_0x35d31b,_0x1dc098,_0x4839cd['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x58a4c6}=this['editor'];let _0x486607;try{_0x486607=await this['_service']['getDocumentDetails']();}catch{const _0x3e50d8=et(_0x58a4c6,'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'](_0x3e50d8);}const _0x4f1ebf=_0x486607['currentDocumentSession']||_0x486607['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x4f1ebf['lastOperationId']){const _0x15dd25=et(_0x58a4c6,'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'](_0x15dd25);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x5e1c1a=this['editor']['plugins']['get'](J);if(this['_isConnected']=!0x1,!_0x5e1c1a['connection']||'connected'!==_0x5e1c1a['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x244ba5=this['editor']['plugins']['get'](Q);_0x244ba5['channelSessions']['has'](this['_channelId'])&&_0x244ba5['unregister'](this['_channelId']),_0x5e1c1a['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x57ecf5){const _0x35622d=this['editor']['plugins']['get'](Q);this['listenTo'](_0x35622d,'sessionAdd:'+this['_channelId'],(_0x15c100,{session:_0x429b91})=>{if(_0x429b91['id']===_0x35622d['mySessionId']){_0x15c100['off']();const _0x7a8b1e=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x26cc64=_0x429b91['permissions'];_0x7a8b1e&&_0x7a8b1e['isEnabled']&&(_0x26cc64=_0x26cc64['filter'](_0x322f46=>'document:write'!==_0x322f46)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x26cc64,this['_channelId']);}}),_0x35622d['register'](this['_channelId'],_0x57ecf5);}_initThrowingOnDataSet(){const _0x559b34=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3108ec)=>{if(!_0x3108ec[_0x3108ec['length']-0x1]['suppressErrorInCollaboration'])throw new _0x506387('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x559b34['apply'](this['editor']['data'],_0x3108ec);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x1bb4a1,[_0x2b5ea8])=>{if(this['_document']['version'])throw new _0x506387('realtimecollaborationclient-init-document-already-initialized',this);_0x1bb4a1['stop'](),this['_setPendingAction']();const _0x1ef360=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x20f0f6])=>!_0x20f0f6['lazyLoad'])['map'](([_0x3e2c4a,_0x1cb742])=>[_0x3e2c4a,_0x1cb742['modelAttributes']||{}])),_0x5e1f4c=this['_getOperationsFromInitData'](_0x2b5ea8,_0x1ef360);0x0==_0x5e1f4c['length']&&_0x5e1f4c['push'](new _0xfbd4a(0x0)),_0x1bb4a1['return']=this['_connectService'](_0x5e1f4c)['then'](()=>{this['editor']['plugins']['get'](J)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x82e03=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x82e03))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x38ae88,[_0x271f96,_0x1f3264])=>{_0x38ae88['stop']();const _0x8ef7c7=this['editor']['model']['document']['getRoot'](_0x271f96);if(!this['_knownRootNames']['has'](_0x271f96)){const _0x475426=_0x1f3264&&_0x1f3264['data']?_0x1f3264['data']:'',_0x55fb2b=_0x1f3264&&_0x1f3264['attributes']?_0x1f3264['attributes']:{};await this['_loadRoot'](_0x271f96,_0x475426,_0x55fb2b);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x8ef7c7['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x8ef7c7);});},{'priority':'high'});}async _fetchMissingUsers(_0x592a70){const _0x4b5158=this['editor']['plugins']['get'](_0x309335),{connection:_0x3a8d99}=this['editor']['plugins']['get'](J),_0x452ddc=new Set();for(const _0x3b0f57 of _0x592a70){const _0x2ec082=_0x3b0f57['_authorId'];_0x2ec082&&!_0x4b5158['getUser'](_0x2ec082)&&_0x452ddc['add'](_0x2ec082);}if(0x0===_0x452ddc['size'])return;const _0x6d1253=await _0x1da1c8['getMany'](_0x3a8d99,Array['from'](_0x452ddc));for(const _0x21a9a1 of _0x6d1253)_0x4b5158['getUser'](_0x21a9a1['id'])||_0x4b5158['addUser'](_0x21a9a1);}_getOperationsFromInitData(_0x30882a,_0xac3921={}){const _0x3cc866=this['editor']['model'],_0x1121c7=[];let _0x43986a=0x0;const _0x19656a='string'==typeof _0x30882a?{'main':_0x30882a}:_0x30882a;for(const _0x1af36b of Object['keys'](_0x19656a)){if(!this['_document']['roots']['has'](_0x1af36b))throw new _0x506387('realtimecollaborationclient-init-non-existent-root',this);const _0x48b9e6=this['_document']['getRoot'](_0x1af36b),_0x14c87c=this['editor']['data']['parse'](_0x19656a[_0x1af36b],_0x48b9e6),_0x1ae844=new _0x475a5f(_0x3cc866['createPositionAt'](_0x48b9e6,0x0),_0x14c87c,_0x43986a++);_0x1121c7['push'](_0x1ae844);for(const [_0x4e3e2b,_0x4a7806]of _0x14c87c['markers']){const _0x428fed=_0x3cc866['createRange'](_0x3cc866['createPositionFromPath'](_0x48b9e6,_0x4a7806['start']['path']['slice']()),_0x3cc866['createPositionFromPath'](_0x48b9e6,_0x4a7806['end']['path']['slice']())),_0x670a57=new _0x4bf24d(_0x4e3e2b,null,_0x428fed,_0x3cc866['markers'],!0x0,_0x43986a++);_0x1121c7['push'](_0x670a57);}}if(_0xac3921)for(const [_0x7391e3,_0x57d1c3]of Object['entries'](_0xac3921)){const _0x687e6=_0x3cc866['document']['getRoot'](_0x7391e3);if(!_0x687e6)throw new _0x506387('multi-root-editor-root-attributes-no-root',null);for(const [_0x1f1385,_0x2f4705]of Object['entries'](_0x57d1c3))if(null!==_0x2f4705){const _0x1f58c3=new _0x42fa76(_0x687e6,_0x1f1385,null,_0x2f4705,_0x43986a++);_0x1121c7['push'](_0x1f58c3);}}return _0x1121c7;}async _loadRoot(_0x655010,_0x1c4e86,_0x100d18){this['_getOperationsFromInitData']({[_0x655010]:_0x1c4e86},{[_0x655010]:_0x100d18})['forEach']((_0x388e19,_0x5dc0a5)=>{_0x388e19['baseVersion']=this['_document']['version']+_0x5dc0a5,_0x388e19['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x388e19);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x2cde52,_0x432bb2){let _0x290412;this['_offset']=_0x2cde52['offset'];const _0x50c0b1=_0x2cde52['wereChangesApplied']&&!_0x2cde52['initData'],_0x83457f=_0x50c0b1?0x0:_0x2cde52['data']['baseVersion'];if(_0x432bb2['forEach'](_0x2142ac=>{_0x2142ac['_isInit']=!0x0,_0x2142ac['createdAt']=_0x2cde52['sessionCreatedAt'],_0x2142ac['_authorId']=null;}),_0x50c0b1)_0x290412=_0x432bb2,this['_applyOperationsSet'](_0x290412,_0x50c0b1);else{if(_0x2cde52['initData']){const _0x3e7447=this['_getOperationsFromInitData'](_0x2cde52['initData']);this['_document']['history']['version']=-_0x3e7447['length'],_0x3e7447['forEach'](_0x48c92c=>{_0x48c92c['baseVersion']-=_0x3e7447['length'],_0x48c92c['createdAt']=_0x2cde52['sessionCreatedAt'],_0x48c92c['_isInit']=!0x0,_0x48c92c['_authorId']=null;}),this['_applyOperationsSet'](_0x3e7447,!0x0),this['serverHistory']['version']=-_0x3e7447['length']+this['_offset'],this['_updateServerHistory'](_0x3e7447);}this['_document']['history']['version']=_0x83457f,_0x290412=this['_decompressOperations'](_0x2cde52['data'],_0x2cde52['metadata']),await this['_fetchMissingUsers'](_0x290412),this['_applyOperationsSet'](_0x290412,_0x50c0b1);}_0x2cde52['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x290412,_0x2cde52['lastOperationId']),this['_lastSyncedOperationId']=_0x2cde52['lastOperationId']),this['serverHistory']['version']=_0x83457f+this['_offset'],this['_updateServerHistory'](_0x290412),_0x432bb2['filter'](_0x2d95ee=>{const _0x12906b=this['_getAffectedRoot'](_0x2d95ee);return _0x12906b&&!this['_knownRootNames']['has'](_0x12906b);})['forEach']((_0x511796,_0x438f16)=>{_0x511796['baseVersion']=this['_document']['version']+_0x438f16,this['_saveOperationInBuffer'](_0x511796);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1de0a0,_0x305af5){const _0x4235bb=_0x305af5&&_0x305af5['message'];if(_0x4235bb&&_0x4235bb['startsWith']('realtimecollaborationclient'))throw _0x305af5;const _0x5e9b9a=this['editor']['plugins']['get'](J);throw this['_isPendingUpdate']=!0x0,_0x5e9b9a['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x506387(_0x1de0a0,this['editor'],_0x4235bb?{'originalError':_0x4235bb}:void 0x0);}_saveOperationInBuffer(_0x2eb748){this['_knownOperations']['has'](_0x2eb748)||(this['_knownOperations']['add'](_0x2eb748),this['_bufferedOperations']['push'](_0x2eb748),this['_pendingAction']||'marker'==_0x2eb748['type']&&!_0x2eb748['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0xa44483=!0x1){!_0xa44483&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2a5056=>{_0x2a5056&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x30a567=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x384192){return _0x384192['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x384192['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x384192['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x30a567)||this['_crash'](_0x30a567['message'],_0x30a567);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x223454=>{this['on']('change:_isPendingUpdate',()=>{_0x223454();});});}async _sendBufferedOperations(){const _0x452f23=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x452f23['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x22974c=[...this['_bufferedOperations']];for(const _0x3be03e of _0x22974c)_0x3be03e['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3be03e);const _0x3efa6c=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x22974c),_0x4943b9=st++,_0x519184=this['_compressOperations'](_0x22974c),_0x1d2e59=await this['_service']['sendOperations'](_0x519184,_0x519184['baseVersion'],_0x3efa6c);try{return await this['_handleServerResponse'](_0x22974c,_0x1d2e59,_0x4943b9);}catch(_0x17221c){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x17221c);}}async['_handleServerResponse'](_0x53ec20,_0x31f76e,_0x101d64){if('error'in _0x31f76e)throw _0x31f76e['error'];let _0x46d2f8;if(_0x31f76e['wereChangesApplied']){_0x31f76e['lastOperationId']&&(this['_lastSyncedOperationId']=_0x31f76e['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x576973=>!_0x53ec20['includes'](_0x576973));for(const _0x54e8d9 of _0x53ec20)_0x54e8d9['createdAt']='lastOperationAcceptedAt'in _0x31f76e&&_0x31f76e['lastOperationAcceptedAt']||void 0x0;ot(_0x53ec20,_0x31f76e['version']-_0x53ec20['length']),this['_updateServerHistory'](_0x53ec20);const _0x367da7=_0x53ec20['filter'](_0x1730d8=>{if(!_0x1730d8['_isInit'])return!0x1;const _0x150b69=this['_getAffectedRoot'](_0x1730d8);return _0x150b69&&!this['_knownRootNames']['has'](_0x150b69);});ot(_0x367da7,this['_document']['version']),this['_applyOperationsSet'](_0x367da7),_0x46d2f8=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2aafd4=this['_decompressOperations'](_0x31f76e['data'],_0x31f76e['metadata'])['filter'](_0x572110=>_0x572110['baseVersion']>=this['_lastServerVersion']);_0x2aafd4['forEach'](_0x131a0e=>this['_addKnownRoot'](_0x131a0e)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3f9720=>!_0x3f9720['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3f9720))),this['_bufferedOperations']['length']&&ot(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2aafd4),_0x46d2f8=this['_handleExternalOperations'](_0x2aafd4,_0x31f76e['version'],_0x31f76e['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x46d2f8?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x28f5bc,_0x167a71,_0x102451){try{const _0x3f2f0f={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x45adff,operationsB:_0x53b8d6,originalOperations:_0xfe5386}=_0x25b084(_0x28f5bc,this['_bufferedOperations'],_0x3f2f0f);ot(_0x45adff,this['_document']['version']),ot(_0x53b8d6,_0x167a71);for(const _0x45d070 of _0x45adff){const _0x148670=_0xfe5386['get'](_0x45d070);_0x148670?(_0x45d070['_authorId']=_0x148670['_authorId'],'noop'!==_0x45d070['type']&&(_0x45d070['_aiSource']=_0x148670['_aiSource'])):_0x45d070['_authorId']=null;}for(const _0xe41cd6 of _0x53b8d6)'noop'!==_0xe41cd6['type']&&(_0xe41cd6['_aiSource']=_0xfe5386['get'](_0xe41cd6)?.['_aiSource']);_0x102451&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x28f5bc,_0x102451),this['_lastSyncedOperationId']=_0x102451),this['_bufferedOperations']=[..._0x53b8d6],this['_applyOperationsSet'](_0x45adff),this['_updateServerHistory'](_0x28f5bc);}catch(_0x3c169d){return console['error'](_0x3c169d),!0x1;}return!0x0;}_applyOperationsSet(_0x34dd67,_0x4c5b76=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x10a899=>{for(const _0x358306 of _0x34dd67)this['_knownOperations']['add'](_0x358306),this['_addKnownRoot'](_0x358306),_0x10a899['batch']['addOperation'](_0x358306),this['editor']['model']['applyOperation'](_0x358306);});}_addKnownRoot(_0x526e5f){const _0x2477d8=this['_getAffectedRoot'](_0x526e5f);_0x2477d8&&this['_knownRootNames']['add'](_0x2477d8);}_getAffectedRoot(_0x33999a){let _0x3ec4d0,_0x157549;switch(_0x33999a['type']){case'insert':_0x3ec4d0=_0x33999a['position']['root'];break;case'marker':if(_0x157549=_0x33999a['newRange'],!_0x157549)return null;_0x3ec4d0=_0x157549['root'];break;case'addRootAttribute':_0x3ec4d0=_0x33999a['root'];break;case'addRoot':_0x3ec4d0=_0x33999a['affectedSelectable'];break;case'move':_0x3ec4d0=_0x33999a['targetPosition']['root'];break;default:return null;}return _0x3ec4d0['rootName'];}_updateServerHistory(_0x2fe28e){_0x2fe28e['forEach'](_0x389063=>{const _0x41a4ca=_0x389063['clone']();_0x41a4ca['_authorId']=_0x389063['_authorId'],_0x41a4ca['_isInit']=!!_0x389063['_isInit'],_0x41a4ca['_aiSource']=_0x389063['_aiSource'],_0x41a4ca['createdAt']=_0x389063['createdAt'],_0x41a4ca['baseVersion']+=this['_offset'],_0x389063['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x41a4ca),this['serverHistory']['addOperation'](_0x41a4ca);});}_handleReconnectionError(_0x12a33f){const _0x4ac8f1=this['editor']['plugins']['get']('Notification'),_0x5a2b84=this['editor']['locale'];_0x12a33f||(_0x12a33f=et(_0x5a2b84,'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.')),_0x4ac8f1['showWarning'](_0x12a33f,{'title':et(_0x5a2b84,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](J)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x5d7b3b)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5d7b3b)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x21207c){const _0x19b94e=_0x21207c['map'](_0x2ccf6a=>_0x2ccf6a['toJSON']());return this['_compressor']['compress'](_0x19b94e);}_decompressOperations(_0x2b3c3b,_0x6b3b69){return this['_compressor']['decompress'](_0x2b3c3b)['map']((_0x1cfceb,_0x1283e4)=>{const _0x23fb98='init'==_0x6b3b69[_0x1283e4]['type'];if('InsertOperation'==_0x1cfceb['__className']){const _0x478312=_0x1cfceb['position']['root'];!this['_document']['getRoot'](_0x478312)&&(this['_document']['createRoot']('$unknown',_0x478312)['_isAttached']=!0x1);}else{if('RootOperation'==_0x1cfceb['__className']){const _0x3a70ac=this['_document']['getRoot'](_0x1cfceb['rootName']);_0x3a70ac&&'$unknown'==_0x3a70ac['name']&&_0x1cfceb['elementName']!=_0x3a70ac['name']&&(_0x3a70ac['name']=_0x1cfceb['elementName']);}}const _0x424eb8=_0x1f62bf['fromJSON'](_0x1cfceb,this['_document']);return _0x424eb8['wasUndone']=_0x1cfceb['wasUndone'],_0x424eb8['_isInit']=_0x23fb98,_0x424eb8['_authorId']=_0x23fb98?null:_0x6b3b69[_0x1283e4]['userId'],_0x424eb8['_isDisconnection']='cs:removeUser'===_0x6b3b69[_0x1283e4]['type'],_0x424eb8['_aiSource']=_0x1cfceb['_aiSource']||void 0x0,_0x424eb8['createdAt']=_0x6b3b69[_0x1283e4]['createdAt'],_0x424eb8;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x449f75=this['editor']['plugins']['get'](Q)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x449f75&&_0x449f75['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function ot(_0x479e36,_0x4a657f){for(const _0x48eeb3 of _0x479e36)_0x48eeb3['baseVersion']=_0x4a657f++;}var rt=class{_ignoredOperations;_operationToId;constructor(_0x3b66c5){this['_ignoredOperations']=_0x3b66c5,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x40a619){let _0x2981c8=_0x40a619['length'];for(;_0x2981c8--;){const _0x115af3=_0x40a619[_0x2981c8];if(!this['_ignoredOperations']['has'](_0x115af3)){if(!this['_operationToId']['has'](_0x115af3)){const _0x1decea=_0x1595fb()['slice'](0x1,0x12);this['_operationToId']['set'](_0x115af3,_0x1decea);}return this['_operationToId']['get'](_0x115af3);}}}setIdForTheLastOperation(_0x20b9c7,_0x4ef7c2){if(!_0x4ef7c2)return;let _0x4291c3=_0x20b9c7['length'];for(;_0x4291c3--;){const _0x3ac80a=_0x20b9c7[_0x4291c3];this['_ignoredOperations']['has'](_0x3ac80a)||this['_operationToId']['set'](_0x3ac80a,_0x4ef7c2);}}},ct=class extends _0x1ef3e5{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class CloudServicesCommentsAdapter extends _0x566254{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x46c038)());['_services'];static get requires(){return[J,_0xb6c8ae,Q,_0x309335];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3a4c0d){super(_0x3a4c0d),this['_services']=new Map();}async init(){const _0x40a4fd=this['context'],_0x29edfc=_0x40a4fd['plugins']['get'](_0xb6c8ae);if(_0x40a4fd['plugins']['get'](J)['addToReconnectionStack'](this),_0x29edfc['adapter']={'addCommentThread':async({channelId:_0x3a29e6,threadId:_0x309e5a,comments:_0xde44c7,resolvedAt:_0x751b03,resolvedBy:_0x52a3a6,context:_0x2a6990,attributes:_0x5873cd})=>{const _0x24f7ef=await this['_getService'](_0x3a29e6)['addCommentThread']({'commentThreadId':_0x309e5a,'comments':_0xde44c7['map'](_0x5ede7d=>function(_0x259d89,_0x28f39d,_0x5848da){return{'commentThreadId':_0x5848da,'commentId':_0x259d89['commentId'],'userId':_0x259d89['authorId'],'content':_0x259d89['content'],'documentId':_0x28f39d,'createdAt':_0x259d89['createdAt'],'attributes':_0x259d89['attributes']||{}};}(_0x5ede7d,_0x3a29e6,_0x309e5a)),'resolvedAt':_0x751b03,'resolvedBy':_0x52a3a6,'context':_0x2a6990,'attributes':_0x5873cd})['catch'](lt);return{'threadId':_0x24f7ef['commentThreadId'],'comments':_0x24f7ef['comments']};},'getCommentThread':async({channelId:_0x27e08b,threadId:_0x1d2e91})=>{const _0x5b3d54=await this['_getService'](_0x27e08b)['getCommentThread'](_0x1d2e91)['catch'](ht)['catch'](lt);return _0x5b3d54?_0x5b3d54['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5b3d54]),{'threadId':_0x5b3d54['commentThreadId'],'comments':_0x5b3d54['comments']['map'](dt),'context':_0x5b3d54['context'],'resolvedAt':_0x5b3d54['resolvedAt'],'resolvedBy':_0x5b3d54['resolvedBy'],'attributes':_0x5b3d54['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x329d95,threadId:_0x18f306,context:_0x10c8df,unlinkedAt:_0x1b19a8,attributes:_0x4e66f5})=>this['_getService'](_0x329d95)['updateCommentThread']({'commentThreadId':_0x18f306,'context':_0x10c8df,'attributes':_0x4e66f5,'unlinkedAt':_0x1b19a8})['catch'](ht)['catch'](lt),'resolveCommentThread':async({channelId:_0x2a8e21,threadId:_0x58c18})=>{const _0x16eae5=await this['_getService'](_0x2a8e21)['resolveCommentThread'](_0x58c18)['catch'](ht)['catch'](lt);return{'threadId':_0x16eae5['commentThreadId'],'resolvedAt':_0x16eae5['resolvedAt'],'resolvedBy':_0x16eae5['resolvedBy']};},'reopenCommentThread':async({channelId:_0x3ddfeb,threadId:_0x337fd8})=>this['_getService'](_0x3ddfeb)['reopenCommentThread'](_0x337fd8)['catch'](ht)['catch'](lt),'removeCommentThread':({channelId:_0x4db2fc,threadId:_0x56f3c5})=>this['_getService'](_0x4db2fc)['removeCommentThread'](_0x56f3c5)['catch'](ht)['catch'](lt),'addComment':({channelId:_0x463b7e,threadId:_0x1cd326,commentId:_0x3abfde,content:_0x6799c4,attributes:_0x5ca45c})=>this['_getService'](_0x463b7e)['addComment'](_0x1cd326,_0x3abfde,_0x6799c4,_0x5ca45c)['catch'](lt),'updateComment':({channelId:_0x13ff3c,threadId:_0xdf2fc1,commentId:_0x125087,content:_0x286e3d,attributes:_0x451897})=>this['_getService'](_0x13ff3c)['updateComment'](_0xdf2fc1,_0x125087,_0x286e3d,_0x451897)['catch'](ht)['catch'](lt),'removeComment':({channelId:_0x2db223,threadId:_0x5189c7,commentId:_0x1caf68})=>this['_getService'](_0x2db223)['removeComment'](_0x5189c7,_0x1caf68)['catch'](ht)['catch'](lt)},_0x40a4fd instanceof _0x52494c){const _0x1893d5=_0x40a4fd['config']['get']('collaboration.channelId'),_0xeaff2a=_0x40a4fd['plugins']['get'](Q);await this['_setUpService'](_0x1893d5);const _0x208d86=await this['_services']['get'](_0x1893d5)['getConnectedSessions']();this['listenTo'](_0xeaff2a,'sessionAdd:'+_0x1893d5,(_0x3c05fc,{session:_0x46d036})=>{_0x46d036['id']===_0xeaff2a['mySessionId']&&(_0x3c05fc['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x46d036['permissions'],_0x1893d5));}),_0xeaff2a['register'](_0x1893d5,_0x208d86);}}async _setUpService(_0x1d2286){if(this['_services']['has'](_0x1d2286))throw new _0x506387('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x1d2286});const _0xe7536a=this['context']['plugins']['get'](_0xb6c8ae),_0x701021=new CloudServicesCommentsAdapter['CommentsService'](_0x1d2286);this['_services']['set'](_0x1d2286,_0x701021),this['listenTo'](_0x701021,'commentThreadAdded',(_0x3a0f98,_0x35669b)=>{const {commentThreadId:_0x5a554b,documentId:_0x4f2195,context:_0x5e6b46,attributes:_0x832baa,resolvedAt:_0x3e877c,resolvedBy:_0x3e2bf3,comments:_0xae121e}=_0x35669b;_0xe7536a['getCommentThread'](_0x5a554b)||_0xe7536a['addCommentThread']({'threadId':_0x5a554b,'channelId':_0x4f2195,'comments':_0xae121e?_0xae121e['map'](dt):[],'context':_0x5e6b46,'attributes':_0x832baa,'resolvedAt':_0x3e877c,'resolvedBy':_0x3e2bf3,'isFromAdapter':!0x0});}),this['listenTo'](_0x701021,'commentThreadUpdated',(_0x58db8e,{commentThreadId:_0x56d16d,documentId:_0xae9c7f,context:_0x26db05,unlinkedAt:_0x446cdf,attributes:_0x4ae684})=>{_0xe7536a['getCommentThread'](_0x56d16d)&&_0xe7536a['updateCommentThread']({'threadId':_0x56d16d,'channelId':_0xae9c7f,'context':_0x26db05,'unlinkedAt':_0x446cdf,'attributes':_0x4ae684,'isFromAdapter':!0x0});}),this['listenTo'](_0x701021,'commentThreadResolved',(_0x1c8583,{commentThreadId:_0xf116d5,resolvedBy:_0xdc00b5,resolvedAt:_0x2e41ec})=>{const _0x3a24ea=_0xe7536a['getCommentThread'](_0xf116d5);_0x3a24ea&&_0x3a24ea['resolve']({'resolvedBy':_0xdc00b5,'resolvedAt':_0x2e41ec,'isFromAdapter':!0x0});}),this['listenTo'](_0x701021,'commentThreadReopened',(_0xd3f372,{commentThreadId:_0x10623c})=>{const _0x550e73=_0xe7536a['getCommentThread'](_0x10623c);_0x550e73&&_0x550e73['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x701021,'commentThreadRemoved',(_0x59dd3c,{commentThreadId:_0xd8e890})=>{const _0x1b7bb9=_0xe7536a['getCommentThread'](_0xd8e890);_0x1b7bb9&&_0x1b7bb9['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x701021,'commentAdded',(_0x531978,_0x57bf9e)=>{const _0x5e1bd4=_0x57bf9e['commentThreadId'],_0x20ca0b=_0xe7536a['getCommentThread'](_0x5e1bd4);_0x20ca0b&&_0x20ca0b['addComment']({...dt(_0x57bf9e),'isFromAdapter':!0x0});}),this['listenTo'](_0x701021,'commentUpdated',(_0x21c13d,{commentThreadId:_0x4eaf24,commentId:_0x4bb465,content:_0x270340,attributes:_0x127b6e})=>{const _0x3b416c=_0xe7536a['getCommentThread'](_0x4eaf24);if(_0x3b416c){const _0x544a83=_0x3b416c['getComment'](_0x4bb465);_0x544a83&&_0x544a83['update']({'content':_0x270340,'attributes':_0x127b6e,'isFromAdapter':!0x0});}}),this['listenTo'](_0x701021,'commentRemoved',(_0x3aa705,{commentThreadId:_0x466977,commentId:_0x9e0919})=>{const _0x901204=_0xe7536a['getCommentThread'](_0x466977);if(_0x901204){const _0x3df22c=_0x901204['getComment'](_0x9e0919);_0x3df22c&&_0x3df22c['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x701021,'disconnected',()=>{'connected'===this['context']['plugins']['get'](J)['connection']?.['state']&&(this['_services']['delete'](_0x1d2286),this['stopListening'](_0x701021));}),await this['_connectService'](_0x1d2286);}destroy(){if(this['context']instanceof _0x52494c){const _0x5e28cb=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x5e28cb)&&this['_terminateService'](_0x5e28cb);}}_terminateService(_0x130672){if(!this['_services']['has'](_0x130672))throw new _0x506387('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x130672});this['_getService'](_0x130672)['disconnect'](),this['_services']['delete'](_0x130672);}async reconnect(){for(const _0x29d3b6 of this['_services']['keys']())await this['_connectService'](_0x29d3b6);if(this['context']instanceof _0x52494c){const _0x5ea1e7=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x5ea1e7)){const _0x43bd1f=this['context']['plugins']['get'](Q);_0x43bd1f['unregister'](_0x5ea1e7);const _0x1706ea=await this['_services']['get'](_0x5ea1e7)['getConnectedSessions']();_0x43bd1f['register'](_0x5ea1e7,_0x1706ea);}}}async _connectService(_0x13deff){const {connection:_0x3b7786}=this['context']['plugins']['get'](J),_0x35ba22=this['context']['plugins']['get'](_0xb6c8ae),_0x3e5a13=await this['_services']['get'](_0x13deff)['connect'](_0x3b7786);await this['_fetchMissingUsersForThreads'](_0x3e5a13);const _0x56f82c=new Set(Array['from'](_0x35ba22['getCommentThreads']({'channelId':_0x13deff}),_0x356142=>_0x356142['id']));for(const _0x2c6b46 of _0x3e5a13)_0x2c6b46['deletedAt']||_0x56f82c['delete'](_0x2c6b46['commentThreadId']);for(const _0x576420 of _0x56f82c)_0x35ba22['getCommentThread'](_0x576420)['remove']({'isFromAdapter':!0x0});for(const _0x1d29b5 of _0x3e5a13){let _0x3d339a=_0x35ba22['getCommentThread'](_0x1d29b5['commentThreadId']);const {commentThreadId:_0x1ed6f7,context:_0x135be7,attributes:_0x4154db,resolvedBy:_0x262b3e,resolvedAt:_0x571e3a,unlinkedAt:_0x14fd9b,deletedAt:_0xa4f8ea}=_0x1d29b5;if(_0xa4f8ea)continue;_0x3d339a||(_0x3d339a=_0x35ba22['addCommentThread']({'channelId':_0x13deff,'threadId':_0x1ed6f7,'context':_0x135be7,'attributes':_0x4154db||{},'resolvedBy':_0x262b3e,'resolvedAt':_0x571e3a,'unlinkedAt':_0x14fd9b,'isFromAdapter':!0x0}));const _0x33ae7e=new Set(Array['from'](_0x3d339a['comments'],_0x4299ec=>_0x4299ec['id']));for(const _0x4964c5 of _0x1d29b5['comments'])_0x33ae7e['delete'](_0x4964c5['commentId']);for(const _0xbc725b of _0x33ae7e)_0x3d339a['getComment'](_0xbc725b)['remove']({'isFromAdapter':!0x0});for(const _0x45acac of _0x1d29b5['comments']){const _0x584c49=_0x3d339a['getComment'](_0x45acac['commentId']);_0x584c49?_0x584c49['content']!==_0x45acac['content']&&_0x584c49['update']({'content':_0x45acac['content'],'isFromAdapter':!0x0}):_0x3d339a['addComment'](Object['assign'](dt(_0x45acac),{'isFromAdapter':!0x0}));}}}_getService(_0x58701f){if(!this['_services']['has'](_0x58701f))throw new _0x506387('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x58701f});return this['_services']['get'](_0x58701f);}async _fetchMissingUsersForThreads(_0x186478){const _0x378763=this['context']['plugins']['get'](_0x309335),{connection:_0x4b6678}=this['context']['plugins']['get'](J),_0x31a8f5=new Set();for(const {resolvedBy:_0x558914,comments:_0x3ab4da}of _0x186478){_0x558914&&!_0x378763['getUser'](_0x558914)&&_0x31a8f5['add'](_0x558914);for(const {userId:_0x1e3b23}of _0x3ab4da)_0x378763['getUser'](_0x1e3b23)||_0x31a8f5['add'](_0x1e3b23);}if(0x0===_0x31a8f5['size'])return;const _0x14b2b8=await _0x1da1c8['getMany'](_0x4b6678,Array['from'](_0x31a8f5));for(const _0x3e8200 of _0x14b2b8)_0x378763['getUser'](_0x3e8200['id'])||_0x378763['addUser'](_0x3e8200);}};async function ht(_0x24e9be){if('404'!==_0x24e9be['code'])throw _0x24e9be;}function lt(_0x245e40){if((_0x19a211=_0x245e40)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x19a211['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x19a211['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x19a211;throw _0x245e40;}function dt(_0x904e9e){return{'threadId':_0x904e9e['commentThreadId'],'commentId':_0x904e9e['commentId'],'content':_0x904e9e['content'],'createdAt':_0x904e9e['createdAt'],'authorId':_0x904e9e['userId'],'attributes':_0x904e9e['attributes']||{}};}var ut=class CloudServicesTrackChangesAdapter extends _0x1ef3e5{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x4babd0)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[J,it,_0x2ede9a,Q,_0x309335];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1f0728){super(_0x1f0728);const _0x4b7c0a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x4b7c0a);}async init(){const _0x34fe83=this['editor']['plugins']['get'](it),_0x42ae87=_0x34fe83['serverHistory'],_0x2eb6cc=this['editor']['plugins']['get'](J);this['_revisionTracker']['setSource']({'history':_0x42ae87,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x34fe83['sessionId']});const _0x256fa9=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x535cdb,_0x7aa8b9=await _0x5de62b['isBundleUploaded'](_0x2eb6cc['connection'],_0x256fa9);this['editor']['plugins']['get'](_0x2ede9a)['adapter']={'getRevision':async({revisionId:_0xf8f9ef})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xf8f9ef)),'updateRevisions':async _0x546deb=>{await this['_waitForServiceReady']();const _0x3ca29b=this['_revisionTracker']['currentRevision'];if(_0x7aa8b9&&0x1===_0x546deb['length']&&_0x546deb[0x0]['id']===_0x3ca29b['id'])return _0x546deb;for(const _0x23c90b of _0x546deb)_0x23c90b['id']===_0x3ca29b['id']&&(_0x23c90b['isEmptyCurrent']=_0x23c90b['fromVersion']===_0x23c90b['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x546deb,this['_lastRequestId'])['then'](_0x2ac7be=>(this['_lastRequestId']=_0x2ac7be,_0x546deb))['catch'](_0xb716f6=>{if(vt(_0xb716f6)||'400'===_0xb716f6['code']&&void 0x0!==_0xb716f6['data']['wrongRequestId']){for(const _0x1009df of _0x546deb)this['_revisionTracker']['repository']['getRevision'](_0x1009df['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x1009df['id'],_0x1009df,!0x1);if(vt(_0xb716f6)&&'destroyed'!==this['editor']['state'])throw _0xb716f6;return _0x546deb;}throw _0xb716f6;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x533e6f,{revisionsData:_0x422a46,requestId:_0x1cfd8f})=>{Math['max'](..._0x422a46['map'](_0x68a6e7=>_0x68a6e7['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x422a46,_0x1cfd8f);}):this['_handleRevisionsUpdate'](_0x422a46,_0x1cfd8f);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x2eb6cc['connection']?.['state']&&(_0x2eb6cc['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x458fce,requestId:_0x3493e7}=await this['_revisionHistoryService']['connect'](_0x2eb6cc['connection']);_0x2eb6cc['addToReconnectionStack'](this),this['_lastRequestId']=_0x3493e7,await this['_fetchMissingUsers'](_0x458fce);for(const _0x2c6f8d of _0x458fce)this['_revisionTracker']['addRevisionData'](_0x2c6f8d);this['listenTo'](_0x34fe83,'change:_isConnected',(_0x1bcd03,_0x205c8e,_0x3e3257)=>{_0x3e3257&&(this['_oldOffset']=_0x34fe83['_offset'],_0x1bcd03['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x16a124=this['editor']['plugins']['get'](J),_0x378e22=this['editor']['plugins']['get'](it),_0xfbbf07=async()=>{const _0x13865b=this['_revisionTracker']['currentRevision'],_0x23821d=_0x13865b['id'],_0x519704=_0x23821d!==_0x378e22['sessionId'];if(_0x519704){const _0x4cb369=_0x378e22['_offset']-this['_oldOffset'],_0x49ecf2=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x13865b['toVersion']+_0x4cb369!==_0x49ecf2){const _0x4ccf71=_0x13865b['fromVersion']+_0x4cb369,_0xd9ee8b=this['editor']['plugins']['get'](_0x309335),_0x2d75a8=this['_revisionTracker']['buildRevisionData']({'revision':_0x13865b,'from':_0x4ccf71,'to':_0x49ecf2});_0x2d75a8['id']=_0x13865b['id'];const _0x5f5902=_0x2d75a8['authorsIds']['map'](_0x9473d5=>_0xd9ee8b['getUser'](_0x9473d5));_0x13865b['_update']({..._0x2d75a8,'authors':_0x5f5902},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x13865b['id'],_0x2d75a8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x49ecf2,_0x13865b['toVersion']!==_0x13865b['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x23821d)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x23821d),this['_revisionTracker']['_createCurrentRevision'](_0x49ecf2);}const {revisions:_0x3f7bd6,requestId:_0x2187cd}=await this['_revisionHistoryService']['reconnect'](_0x16a124['connection'],this['_lastRequestId']);_0x519704&&_0x3f7bd6['length']>0x0?_0x378e22['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3f7bd6),this['_handleRevisionsUpdate'](_0x3f7bd6,_0x2187cd),this['_revisionTracker']['sendBufferedUpdates']());};return _0x378e22['_isConnected']?_0xfbbf07():new Promise((_0x5d55ee,_0x2aeea6)=>{_0x378e22['once']('change:_isConnected',()=>{_0xfbbf07()['then'](_0x5d55ee)['catch'](_0x2aeea6);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5f4d2c=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2f604a=>{_0x2f604a['off'](),_0x5f4d2c();});});}_getLatestVersionFromServerOperations(){const _0x683b29=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x2b2911 of _0x683b29)if('marker'!==_0x2b2911['type']||_0x2b2911['affectsData'])return _0x2b2911['baseVersion']+0x1;}_getLatestVersion(){const _0x148099=this['editor']['plugins']['get'](it);return new Promise(_0xd4f7a5=>{_0x148099['_isPendingUpdate']?_0x148099['once']('change:_isPendingUpdate',()=>{_0xd4f7a5(this['_getLatestVersionFromServerOperations']());}):_0xd4f7a5(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x467b37,_0x32ac3a){const _0x8f12a8=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x32ac3a;for(const _0x38d9fb of _0x467b37){const _0x7b1973=_0x8f12a8['getRevision'](_0x38d9fb['id']);if(_0x7b1973){if((_0x38d9fb['fromVersion']||_0x38d9fb['toVersion'])&&(_0x38d9fb['diffData']=null),_0x7b1973===this['_revisionTracker']['currentRevision']){const _0x283236=Math['max'](_0x7b1973['toVersion'],_0x38d9fb['toVersion']),_0x2bab10=Math['max'](_0x7b1973['fromVersion'],_0x38d9fb['fromVersion']);let _0x315301;_0x7b1973['toVersion']===_0x38d9fb['toVersion']&&_0x7b1973['fromVersion']===_0x38d9fb['fromVersion']?(_0x315301=!0x0,this['_preventResendingRevisionData'](_0x38d9fb)):_0x38d9fb['toVersion']===_0x283236&&_0x38d9fb['fromVersion']===_0x2bab10?_0x315301=!0x1:(_0x7b1973['toVersion']===_0x283236&&_0x7b1973['fromVersion']===_0x2bab10||this['_fixRevision']({'revision':_0x7b1973,'from':_0x2bab10,'to':_0x283236}),_0x315301=!0x0),_0x315301&&(delete _0x38d9fb['fromVersion'],delete _0x38d9fb['toVersion'],delete _0x38d9fb['diffData'],delete _0x38d9fb['createdAt'],delete _0x38d9fb['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x38d9fb),this['_preventResendingRevisionData'](_0x38d9fb);}else this['_revisionTracker']['addRevisionData'](_0x38d9fb);}const _0x2d7034=_0x8f12a8['getRevisions']();_0x2d7034['reverse']();for(let _0x22fa72=0x0;_0x22fa72<_0x2d7034['length']-0x1;_0x22fa72++){const _0x2151ee=_0x2d7034[_0x22fa72],_0x4e4047=_0x2d7034[_0x22fa72+0x1];if(_0x2151ee['fromVersion']<_0x4e4047['toVersion']){const _0x4e7a54=_0x4e4047['toVersion'],_0x5d2310=Math['max'](_0x4e7a54,_0x2151ee['toVersion']);this['_fixRevision']({'revision':_0x2151ee,'from':_0x4e7a54,'to':_0x5d2310});}}}['_fixRevision']({revision:_0x2a5236,from:_0x138889,to:_0x177083}={}){const _0xe3bfef=this['editor']['plugins']['get'](_0x309335),_0x37b24b=this['_revisionTracker']['buildRevisionData']({'revision':_0x2a5236,'from':_0x138889,'to':_0x177083});_0x37b24b['authors']=_0x37b24b['authorsIds']['map'](_0x46fa20=>_0xe3bfef['getUser'](_0x46fa20)),_0x2a5236['_update'](_0x37b24b);}_preventResendingRevisionData(_0x47b8bf){const _0x5c4a21={};_0x5c4a21['id']=_0x47b8bf['id'];for(const _0x496979 of Object['keys'](_0x47b8bf))'id'!==_0x496979&&(_0x5c4a21[_0x496979]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5c4a21['id'],_0x5c4a21,!0x0);}async _fetchMissingUsers(_0x251641){const _0x1ce847=this['editor']['plugins']['get'](_0x309335),{connection:_0x19be20}=this['editor']['plugins']['get'](J),_0x1bfb27=new Set();for(const _0x3e5221 of _0x251641){for(const _0x59e8c1 of _0x3e5221['authorsIds'])_0x4742c9(_0x59e8c1);_0x3e5221['creatorId']&&_0x4742c9(_0x3e5221['creatorId']);}if(0x0===_0x1bfb27['size'])return;const _0x41145=await _0x1da1c8['getMany'](_0x19be20,Array['from'](_0x1bfb27));for(const _0x11ec40 of _0x41145)_0x1ce847['getUser'](_0x11ec40['id'])||_0x1ce847['addUser'](_0x11ec40);function _0x4742c9(_0x2d6d57){_0x1ce847['getUser'](_0x2d6d57)||_0x1bfb27['add'](_0x2d6d57);}}};function vt(_0x22abc6){return _0x22abc6['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x22abc6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x22abc6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var _t=class extends _0x1ef3e5{static get requires(){return[_0x2ede9a,wt,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},yt=class extends _0x33a1e3{_collapseAt;constructor(_0x250ff2,_0x6c642f=0x6){super(_0x250ff2);const _0x3e535f=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x6c642f,this['bind']('isHidden')['to'](this,'usersCount',_0x49079a=>_0x49079a<_0x6c642f),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x3e535f['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':_0x3e535f['to']('usersCount',_0xb80fab=>'+'+(_0xb80fab-this['_collapseAt']+0x2)['toString']())}]}]}]});}},bt=class extends _0x33a1e3{items;keystrokes;constructor(_0x1d5ec7){super(_0x1d5ec7);const _0x188c44=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x593e5d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x188c44['if']('hasPopup'),'aria-expanded':_0x188c44['to']('isExpanded',_0x329e74=>this['hasPopup']&&String(_0x329e74)),'aria-label':_0x188c44['to']('hasPopup',_0x9d7cd4=>et(_0x1d5ec7,_0x9d7cd4?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x188c44['to']('hasPopup',_0x4c908e=>!!_0x4c908e&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x53ffd2,_0xa3060d,_0x1b9580)=>{this['element']&&(_0x1b9580?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']);}},kt=class extends _0x33a1e3{counterView;inlineListView;constructor(_0x43488f,_0x38d1d9=0x6){super(_0x43488f);const _0x582d13=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new yt(this['locale'],_0x38d1d9),this['inlineListView']=new bt(_0x43488f),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x49efd4 of this['inlineListView']['items'])_0x49efd4['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',_0x582d13['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},It=class extends _0x33a1e3{listWrapperView;constructor(_0x50ad38,_0x1f4185){super(_0x50ad38),this['listWrapperView']=new St(_0x50ad38,_0x1f4185),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x50ad38,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},St=class extends _0x13406a{constructor(_0x64b6de,_0x52f571){super(_0x64b6de);const _0x10a70f=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x52f571?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x10a70f['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x10a70f['to']('role'),'aria-label':_0x10a70f['to']('ariaLabel'),'aria-labelledby':_0x10a70f['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x34368d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x615d44=this['element'];_0x615d44&&(this['_isScrollable']=Math['max'](_0x615d44['scrollHeight'],_0x615d44['clientHeight'])>0.8*window['innerHeight']);}},Tt=class extends _0x148dcf{['userView'];constructor(_0x143561,_0x13a881,_0x4db114){super(_0x143561);const _0x1ca5aa=this['bindTemplate'];this['userView']=new _0x497636(_0x143561,_0x13a881);const _0xa50bdc={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x13a881['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x13a881['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x13a881['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x13a881['color']['getColorVariable'](),'--ck-user-color-alpha':_0x13a881['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4db114&&(_0xa50bdc['tag']='button',_0xa50bdc['on']={'click':_0x1ca5aa['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xa50bdc);}['focus'](){this['element']['focus']();}},Ct=class extends _0x33a1e3{['userView'];['markerView'];constructor(_0x472bae,_0x8e494,_0x5d88f2){super(_0x472bae);const _0x3f4200=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x497636(_0x472bae,_0x8e494),this['markerView']=new At(_0x472bae,_0x8e494);const _0x418716=new _0x36004a(_0x472bae);_0x418716['template']['tag']='span',_0x418716['text']=_0x8e494['name'];const _0x4c75f0={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x3f4200['to']('isFocusable',_0x18a330=>!!_0x18a330&&0x0),'aria-labelledby':_0x418716['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x3f4200['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x3f4200['to']('hasTooltip',_0x978e6c=>!_0x978e6c),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x418716]};_0x5d88f2&&(_0x4c75f0['tag']='button',_0x4c75f0['on']={'click':_0x3f4200['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4c75f0);}},At=class extends _0x33a1e3{constructor(_0x1fbae4,_0x1672c8){super(_0x1fbae4),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1672c8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1672c8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1672c8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Pt={'collapseAt':0x6,'displayMe':!0x0};var Ot=class extends _0x566254{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1f6c6f){super(_0x1f6c6f),this['context']['config']['define']('presenceList',Pt);const _0x5737ab=_0x1f6c6f['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5737ab)throw new _0x506387('presencelist-collapseat-invalid-format',this);if(_0x5737ab<0x1)throw new _0x506387('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Q)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2ae756(),this['balloonPanelView']=new _0x29e4cc(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Q];}init(){for(const _0x19044f of this['_allConnectedUsers'])this['_handleUserAdd'](_0x19044f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3e67d7,_0x147595)=>{this['_handleUserAdd'](_0x147595);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x518059,_0x4b1487)=>{this['_handleUserRemove'](_0x4b1487);});}_createView(){const _0x9c4203=this['context'],_0x1a45bf=new kt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4768ec=this['balloonPanelView'];if(!_0xd4ae81(_0x9c4203['config']['get']('presenceList.container')))throw new _0x506387('presencelist-missing-container',this);_0x1a45bf['counterView']['bind']('usersCount')['to'](this),_0x1a45bf['bind']('isCollapsed')['to'](this,'usersCount',_0x4a6a30=>{const {collapseAt:_0x1d1088}=_0x9c4203['config']['get']('presenceList'),_0x4abf99=_0x4a6a30>=_0x1d1088;if(_0x4abf99&&!_0x1a45bf['inlineListView']['items']['find'](_0x415c8e=>_0x415c8e instanceof yt)){const _0xfa093b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0xfa093b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x1a45bf['inlineListView']['items']['add'](_0x1a45bf['counterView']);}return _0x4abf99||this['hideDropdown'](),_0x4abf99;}),_0x1a45bf['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xc88f21=>{const _0x54c6d8=_0x9c4203['config']['get']('presenceList'),_0x553fb5=new Ct(_0x9c4203['locale'],_0xc88f21,!!_0x54c6d8['onClick']);return _0x553fb5['bind']('hasTooltip')['to'](_0x1a45bf,'isCollapsed',_0x2d8af4=>!_0x2d8af4),_0x553fb5['bind']('isFocusable')['to'](_0x1a45bf,'isCollapsed',_0x4e6c47=>!_0x4e6c47),_0x54c6d8['onClick']&&this['listenTo'](_0x553fb5,'execute',()=>{this['view']['isCollapsed']||_0x54c6d8['onClick'](_0xc88f21,_0x553fb5['element']);}),_0x553fb5;}),_0x1a45bf['inlineListView']['keystrokes']['set']('Enter',(_0x512170,_0xa5d598)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0xa5d598());}),_0x1a45bf['render'](),_0x4768ec['render'](),_0x1a45bf['listenTo'](_0x1a45bf['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x47e514=(_0x554ddd,_0x4bda4f)=>{this['_hideDropdownUnlessPointerInside'](_0x4bda4f);};return _0x1a45bf['listenTo'](_0x1a45bf['inlineListView']['element'],'mouseleave',_0x47e514),_0x1a45bf['listenTo'](_0x4768ec['element'],'mouseleave',_0x47e514),_0x13785d({'emitter':_0x1a45bf,'activator':()=>_0x4768ec['isVisible'],'contextElements':[_0x4768ec['element'],_0x1a45bf['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x9c4203['config']['get']('presenceList.container')['appendChild'](_0x1a45bf['element']),this['_overlayHost']=new _0x20b1a3(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x1a45bf;}_resolveOverlayTarget(){const _0x317abb=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x317abb)return _0x317abb;const _0x93b148=this['context']['config']['get']('presenceList.container');return _0x93b148?_0x3b9441(_0x93b148):null;}['_handleUserAdd'](_0xe4a208){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xe4a208['isMe'])return;const _0x5ca2ce=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x5ca2ce-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1373e3=_0xe4a208['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xe4a208,_0x1373e3);}['_handleUserRemove'](_0x447406){this['usersCount']--;const {collapseAt:_0x547cdc}=this['context']['config']['get']('presenceList'),_0x4909cf=this['usersCount']>=_0x547cdc;if(this['currentDisplayedUsers']['get'](_0x447406['id']))this['currentDisplayedUsers']['remove'](_0x447406['id']);else{if(_0x4909cf&&this['currentDisplayedUsers']['length']+0x1===_0x547cdc-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4909cf?0x1:0x0)<this['usersCount']){for(const _0x4d467d of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x4d467d['id'])&&(this['currentDisplayedUsers']['add'](_0x4d467d,Math['min'](this['currentDisplayedUsers']['length']-(_0x4909cf?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4909cf?0x1:0x0)===_0x547cdc-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x388b66=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new It(this['context']['locale'],!!_0x388b66['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0xf81067}=this['presenceDropdownView'];_0xf81067['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x12279d=>{if(!_0x388b66['displayMe']&&_0x12279d['isMe'])return null;const _0x4b83b7=new Tt(this['context']['locale'],_0x12279d,!!_0x388b66['onClick']);return _0x388b66['onClick']&&this['listenTo'](_0x4b83b7,'execute',()=>{_0x388b66['onClick'](_0x12279d,_0x4b83b7['element']);}),_0x4b83b7;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0xf81067['focus'](),_0xf81067['checkIfScrollable']();const _0x4f10bb=(_0x360d5c,_0x3394c8)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3394c8();};_0xf81067['keystrokes']['set']('Esc',_0x4f10bb),_0xf81067['keystrokes']['set']('Shift+Tab',_0x4f10bb),_0xf81067['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0xf81067['focusTracker']['add'](this['view']['element']),_0xf81067['focusTracker']['on']('change:isFocused',(_0x2b29b3,_0x544e3c,_0x59acef)=>{_0x59acef||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);}_hideDropdownUnlessPointerInside(_0x3b7302){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x33f842=>_0x300a14(_0x33f842,_0x3b7302))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},xt=class extends _0x566254{static get requires(){return[Q,Ot];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{at as CloudServicesCommentsAdapter,wt as CloudServicesRevisionHistoryAdapter,ut as CloudServicesTrackChangesAdapter,xt as PresenceList,Ot as PresenceListUI,it as RealTimeCollaborationClient,pt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,_t as RealTimeCollaborativeRevisionHistory,gt as RealTimeCollaborativeTrackChanges,Q as Sessions,J as WebSocketGateway};
|
|
23
|
+
import{Context as _0x11e827,ContextPlugin as _0x2ea2c1,PendingActions as _0x41c0d3,Plugin as _0x656eb}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x38db3a,Collection as _0x5a6c78,DomEmitterMixin as _0x27e801,KeystrokeHandler as _0x514268,getOverlayMountRoot as _0x414ce5,global as _0x45a7d1,trustedHtml as _0x6e09db,uid as _0x501ece,version as _0x1ccdda}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x2ec557,LabelView as _0xf81f2a,ListItemView as _0x5b7322,ListView as _0x41cbcd,Notification as _0x32fb04,OverlayHost as _0x1d7a4d,View as _0x3c10c0,clickOutsideHandler as _0x4f49cd}from'@ckeditor/ckeditor5-ui';import{History as _0x13a7ed,InsertOperation as _0x3fa927,MarkerOperation as _0x4523b0,ModelLiveRange as _0x19479d,NoOperation as _0x1daaae,OperationFactory as _0x13b377,RootAttributeOperation as _0x56775c,transformOperationSets as _0x9f7926}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x190a06}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0xa3a082,CommentsService as _0x2936da,EditorService as _0x53555b,RevisionHistoryService as _0x339e16,TrackChangesService as _0x291e29,User as _0x4be4c6,WEB_SOCKET_GATEWAY_STATES as _0x2244a6,WebSocketGateway as _0x469fcf}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0xd0b1dd,Users as _0x52f463,isPointerStillOver as _0x48de1b}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x1a3620}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x17f480,TrackChangesEditing as _0x5457f9}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x4aa167,CommentsEditing as _0x3ac6ed,CommentsRepository as _0x8fe529}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x2e230e}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x50144a}from'es-toolkit/compat';var J=class WebSocketGateway extends _0x2ea2c1{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x469fcf)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x190a06,_0x32fb04];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x45295a){super(_0x45295a),this['set']('state',_0x2244a6['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x27e801())();}init(){const _0x28a669=this['context'],_0xa8b186=_0x28a669['plugins']['get'](_0x190a06),_0x1e9f75=_0x28a669['plugins']['get'](_0x32fb04);if(!_0xa8b186['token'])throw new _0x38db3a('websocketgateway-missing-token',this);if(!_0xa8b186['webSocketUrl'])throw new _0x38db3a('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),WebSocketGateway['WebSocketGateway']['connect'](_0xa8b186['token'],_0xa8b186['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3b277b=>{if(this['connection']=_0x3b277b,this['bind']('state')['to'](_0x3b277b,'state',this,'_isBrowserOffline',(_0x4517e5,_0x190262)=>('connected'!==_0x4517e5&&(this['_shouldPluginsReconnect']=!0x0),_0x190262||_0x4517e5!==_0x2244a6['CONNECTED']?_0x2244a6['DISCONNECTED']:this['state']==_0x2244a6['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2244a6['CONNECTING']):_0x2244a6['CONNECTED'])),this['connection']['on']('error',(_0x27c62a,_0x1328e8)=>{if('limitExceeded'!==_0x1328e8['code'])throw console['error'](_0x1328e8),new _0x38db3a('cloudservices-init',null,{'originalError':_0x1328e8});_0x1e9f75['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'});}),!_0x3b277b['me'])return new Promise(_0x33aa5a=>_0x3b277b['on']('change:me',_0x33aa5a));})['catch'](_0xe0d60e=>{throw console['error'](_0xe0d60e),new _0x38db3a('cloudservices-init',null,{'originalError':_0xe0d60e});});}addToReconnectionStack(_0xd1f23c){if('function'!=typeof _0xd1f23c['reconnect'])throw new _0x38db3a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xd1f23c))throw new _0x38db3a('websocketgateway-plugin-already-registered',this,{'name':_0xd1f23c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xd1f23c);}removeFromReconnectionStack(_0x35f371){this['_reconnectionStack']['delete'](_0x35f371);}isInReconnectionStack(_0x507c86){return this['_reconnectionStack']['has'](_0x507c86);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xf460b9=>_0xf460b9['reconnect']())))['then'](()=>this['state']=_0x2244a6['CONNECTED'])['catch'](_0x48b456=>{throw console['error'](_0x48b456),new _0x38db3a('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2244a6['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Q=class extends _0x2ea2c1{['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[J,_0x52f463];}constructor(_0x192045){super(_0x192045),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5a6c78(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x52f463);}init(){const _0x1cb1db=this['context']['plugins']['get'](J);this['listenTo'](_0x1cb1db,'change:state',(_0x5554ed,_0x5f0b86,_0x360bcc)=>{if('connected'!==_0x360bcc)this['channelSessions']['forEach'](_0x267443=>_0x267443['clear']()),this['channelConnectedUsers']['forEach'](_0x471e65=>_0x471e65['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x171276,_0x506f57]of this['_registeredSessions'])for(const _0x2f4527 of _0x506f57)this['_handleSessionAdd'](_0x171276,_0x2f4527);}}),this['_createUser'](_0x1cb1db['connection']['me'],!0x0);}register(_0x1c3260,_0x57a99f){if(this['_registeredSessions']['has'](_0x1c3260))throw new _0x38db3a('sessions-register-already-registered',null,{'channelId':_0x1c3260});this['_registeredSessions']['set'](_0x1c3260,_0x57a99f),this['channelSessions']['set'](_0x1c3260,new _0x5a6c78()),this['channelConnectedUsers']['set'](_0x1c3260,new _0x5a6c78()),this['listenTo'](_0x57a99f,'add',(_0x25dbf7,_0x594347)=>this['_handleSessionAdd'](_0x1c3260,_0x594347)),this['listenTo'](_0x57a99f,'remove',(_0x3a52c4,_0x4c83ae)=>this['_handleSessionRemove'](_0x1c3260,_0x4c83ae));for(const _0x4e64da of _0x57a99f)this['_handleSessionAdd'](_0x1c3260,_0x4e64da);}unregister(_0x41aaea){if(!this['_registeredSessions']['has'](_0x41aaea))throw new _0x38db3a('sessions-unregister-not-exist',null,{'channelId':_0x41aaea});const _0x21ed14=this['_registeredSessions']['get'](_0x41aaea);this['stopListening'](_0x21ed14);for(const _0x486173 of _0x21ed14)'connected'===this['context']['plugins']['get'](J)['state']&&this['_handleSessionRemove'](_0x41aaea,_0x486173);this['_registeredSessions']['delete'](_0x41aaea),this['channelSessions']['delete'](_0x41aaea),this['channelConnectedUsers']['delete'](_0x41aaea);}get['mySessionId'](){return this['context']['plugins']['get'](J)['connection']['sessionId'];}getUserBySessionId(_0x1ed18a){for(const _0x318950 of this['channelSessions']['values']())for(const _0x15b91f of _0x318950)if(_0x15b91f['id']===_0x1ed18a)return _0x15b91f['user'];}getUserSessions(_0x49a5df,_0xfeb6b0){const _0x583b3a=_0xfeb6b0?[this['channelSessions']['get'](_0xfeb6b0)]:this['channelSessions']['values'](),_0x4113fc=new Set();for(const _0x204b86 of _0x583b3a)for(const _0x16008b of _0x204b86)_0x16008b['user']['id']===_0x49a5df['id']&&_0x4113fc['add'](_0x16008b['id']);return _0x4113fc;}getUserRole(_0x62019d){for(const _0x5ecf9f of this['channelSessions']['values']())for(const _0x228a69 of _0x5ecf9f)if(_0x228a69['user']===_0x62019d)return _0x228a69['role'];}['_handleSessionAdd'](_0x5d920c,_0x4ea17a){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x8f7e7d=_0x4ea17a['user'],_0x5c5dbb=this['_users']['getUser'](_0x8f7e7d['id'])||this['_createUser'](_0x8f7e7d),_0x51818f=Object['assign']({},_0x4ea17a,{'user':_0x5c5dbb});if(this['channelSessions']['get'](_0x5d920c)['add'](_0x51818f),!_0x8f7e7d['hiddenInPresenceList']){const _0x459cb0=this['channelConnectedUsers']['get'](_0x5d920c);_0x459cb0['has'](_0x5c5dbb['id'])||_0x459cb0['add'](_0x5c5dbb),this['allConnectedUsers']['has'](_0x5c5dbb['id'])||_0x8f7e7d['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5c5dbb,_0x5c5dbb['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x5d920c,{'channelId':_0x5d920c,'session':_0x51818f});}['_handleSessionRemove'](_0x10a1a6,_0x4cddd2){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x7c2969=this['channelConnectedUsers']['get'](_0x10a1a6),_0x38126a=_0x4cddd2['user'];_0x38126a['id']&&(this['channelSessions']['get'](_0x10a1a6)['remove'](_0x4cddd2['id']),_0x7c2969['has'](_0x38126a['id'])&&!this['getUserSessions'](_0x38126a,_0x10a1a6)['size']&&_0x7c2969['remove'](_0x38126a['id']),this['allConnectedUsers']['get'](_0x38126a['id'])&&!this['getUserSessions'](_0x38126a)['size']&&this['allConnectedUsers']['remove'](_0x38126a['id']));}_createUser(_0x3efd3c,_0x1a246e){const _0x5b3c5f=this['_users']['addUser'](_0x3efd3c);return _0x1a246e&&this['_users']['defineMe'](_0x3efd3c['id']),_0x5b3c5f['orderNumber']=this['_uniqueUsersCount']++,_0x5b3c5f;}},X=class extends _0x656eb{_domEmitter=new(_0x27e801())();static get requires(){return[Q];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x3569c7=this['editor'],_0x5c8e60=_0x3569c7['plugins']['get'](Q);_0x3569c7['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x48eebb,{writer:_0x27dd3b})=>function(_0x2d05c7,_0x520dd3,_0x559412,_0x481a48){const _0xb95bbf=_0x2d05c7['markerName']['split'](':')[0x2],_0x4b77b2=_0x559412['getUserBySessionId'](_0xb95bbf);if(!_0x4b77b2||_0xb95bbf===_0x559412['mySessionId'])return;if(!_0x481a48['model']['schema']['checkChild'](_0x2d05c7['markerRange']['start'],'$text'))return;const _0x924a13={'class':'ck-user__marker\x20'+_0x4b77b2['color']['getMarkerClass'](),'style':tt(_0x4b77b2),'data-name':_0x4b77b2['name'],'data-session-id':_0xb95bbf},_0x1747e5=_0x481a48['model']['markers']['get'](_0x2d05c7['markerName'])['getStart'](),_0x16ea43=_0x1747e5['nodeAfter'],_0x2ccbb4=_0x481a48['model']['schema'];if(_0x16ea43&&_0x2ccbb4['isObject'](_0x16ea43)&&_0x2ccbb4['isInline'](_0x16ea43)&&!_0x481a48['model']['markers']['get']('user:range:'+_0xb95bbf)['getRange']()['isCollapsed'])return;const _0x1868d0=_0x1747e5['parent'];return _0x481a48['model']['schema']['isLimit'](_0x1868d0)&&!_0x481a48['model']['hasContent'](_0x1868d0)&&(_0x924a13['contenteditable']=!0x1),function(_0x2d3cec,_0x5887d1,_0x58a9eb){const _0x3c2ed3=_0x2d3cec['createUIElement']('span',_0x5887d1);return _0x2d3cec['setCustomProperty']('userPositionMarker',!0x0,_0x3c2ed3),_0x3c2ed3['render']=function(_0x517fa7){const _0x1fa656=this['toDomElement'](_0x517fa7),_0x4efbb1=document['createElement']('span');return _0x4efbb1['classList']['add']('ck-user__marker-tooltip'),_0x4efbb1['setAttribute']('contenteditable','false'),_0x4efbb1['setAttribute']('spellcheck','false'),_0x4efbb1['textContent']=_0x58a9eb['name'],_0x1fa656['innerHTML']=_0x6e09db('<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x4efbb1['outerHTML']+''),_0x1fa656['addEventListener']('mouseenter',()=>{_0x1fa656['classList']['add']('ck-user__marker_hovered');}),_0x1fa656['addEventListener']('mouseleave',()=>{_0x1fa656['classList']['remove']('ck-user__marker_hovered');}),_0x1fa656;},_0x3c2ed3['isSimilar']=function(_0x469c5a){return!(!this['getCustomProperty']('userPositionMarker')||!_0x469c5a['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x469c5a['getAttribute']('data-session-id'));},_0x3c2ed3;}(_0x520dd3,_0x924a13,_0x4b77b2);}(_0x48eebb,_0x27dd3b,_0x5c8e60,_0x3569c7)}),_0x3569c7['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4f0f86=>function(_0x4b3e8e,_0x2a8100){const _0x43c7c3=_0x4b3e8e['markerName']['split'](':')[0x2];if(_0x43c7c3===_0x2a8100['mySessionId'])return null;const _0x157894=_0x2a8100['getUserBySessionId'](_0x43c7c3);return _0x157894?{'id':_0x43c7c3,'classes':['ck-user__selection',_0x157894['color']['getSelectionClass']()],'attributes':{'style':tt(_0x157894),'data-session-id':_0x43c7c3},'priority':0x7d0+_0x157894['orderNumber']}:{'id':_0x43c7c3,'classes':[]};}(_0x4f0f86,_0x5c8e60)}),function(_0x7254f7){const _0x16484b=_0x7254f7['model'],_0x20b81e=new Map(),_0x401b03=_0x7254f7['plugins']['get'](Q);_0x16484b['markers']['on']('update:user:range',(_0xe6db49,_0x424325,_0x43172d,_0x83e50c)=>{if(!_0x83e50c&&_0x20b81e['get'](_0x424325['name']))return _0x20b81e['get'](_0x424325['name'])['detach'](),void _0x20b81e['delete'](_0x424325['name']);const _0x37741f=_0x424325['name']['split'](':')[0x2];if(_0x37741f===_0x401b03['mySessionId'])return;const _0x3629c4='user:position:'+_0x37741f;_0x16484b['markers']['has'](_0x3629c4)&&_0x7254f7['editing']['reconvertMarker'](_0x3629c4),_0x424325['on']('change:range',(_0x4e8221,_0x657fcb,_0x41b84e)=>{if('$graveyard'!=_0x657fcb['root']['rootName']&&'$graveyard'==_0x424325['getRange']()['root']['rootName']&&!_0x20b81e['has'](_0x424325['name'])){const _0x4b98d5=_0x16484b['schema']['getNearestSelectionRange'](_0x41b84e['deletionPosition']);if(_0x4b98d5){const _0x2431a7=_0x19479d['fromRange'](_0x4b98d5);_0x20b81e['set'](_0x424325['name'],_0x2431a7),_0x2431a7['on']('change:range',(_0x3dd03d,_0x3e5fd6,_0x3141c2)=>{if('$graveyard'==_0x2431a7['root']['rootName']){const _0x531949=_0x16484b['schema']['getNearestSelectionRange'](_0x3141c2['deletionPosition']);_0x531949?(_0x2431a7['start']=_0x531949['start'],_0x2431a7['end']=_0x531949['end']):(_0x20b81e['delete'](_0x424325['name']),_0x2431a7['detach']());}});}}});}),_0x16484b['document']['on']('change',()=>{_0x20b81e['size']>0x0&&_0x16484b['enqueueChange']({'isUndoable':!0x1},_0x5be7bb=>{for(const [_0x6d148d,_0x5b9732]of _0x20b81e)'$graveyard'==_0x16484b['markers']['get'](_0x6d148d)['getRange']()['root']['rootName']&&(Z(_0x6d148d['split'](':')[0x2],_0x5b9732['toRange'](),_0x16484b,_0x5be7bb),_0x5b9732['detach']());_0x20b81e['clear']();});});}(_0x3569c7),this['_domEmitter']['listenTo'](_0x45a7d1['document'],'keydown',(_0x331c7b,{key:_0x6bc4ed})=>{'Escape'===_0x6bc4ed&&function(_0x37bbc5){_0x37bbc5['editing']['view']['change'](_0xbf8aa6=>{for(const _0x3fcdcd of _0x37bbc5['model']['markers']){if(!_0x3fcdcd['name']['startsWith']('user:position'))continue;const _0x1abb1d=_0x37bbc5['editing']['mapper']['markerNameToElements'](_0x3fcdcd['name']);if(_0x1abb1d){for(const _0x180749 of _0x1abb1d)_0xbf8aa6['removeClass']('ck-user__marker_hovered',_0x180749);}}});}(_0x3569c7);},{'useCapture':!0x0});}afterInit(){const _0x553262=this['editor'],_0x2a6c53=_0x553262['commands']['get']('undo');_0x2a6c53&&_0x553262['model']['on']('applyOperation',(_0x4798a1,_0x16a28a)=>{const _0x37edb6=_0x16a28a[0x0];if(!_0x37edb6['isDocumentOperation'])return;if('marker'!=_0x37edb6['type']||!_0x37edb6['name']['startsWith']('user:'))return;const _0x249515=_0x37edb6['batch'];_0x2a6c53['_createdBatches']['has'](_0x249515)&&(_0x37edb6['newRange']=_0x37edb6['oldRange']?_0x553262['model']['createRange'](_0x37edb6['oldRange']['start'],_0x37edb6['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x3dd466=this['editor'],_0x89a1aa=_0x3dd466['model']['document'],_0x4ada29=_0x3dd466['plugins']['get'](Q);_0x3dd466['model']['enqueueChange']({'isUndoable':!0x1},_0x1af9b0=>{const _0x2a4b4b='user:range:'+_0x4ada29['mySessionId'],_0x4da227='user:position:'+_0x4ada29['mySessionId'],_0x15c586=_0x3dd466['model']['markers']['has'](_0x2a4b4b);_0x3dd466['editing']['view']['hasDomSelection']?Z(_0x4ada29['mySessionId'],_0x89a1aa['selection']['getFirstRange'](),_0x3dd466['model'],_0x1af9b0):_0x15c586&&(_0x1af9b0['removeMarker'](_0x2a4b4b),_0x1af9b0['removeMarker'](_0x4da227));});}};function Z(_0x4e480d,_0x1aa86a,_0x5734c7,_0x347d41){const _0x36b516='user:range:'+_0x4e480d,_0x1adc70='user:position:'+_0x4e480d,_0x4b565a=_0x1aa86a['getContainedElement']();let _0x5ee38b=_0x1aa86a['start'];if(_0x4b565a&&_0x4b565a['is']('element','tableCell')){const _0x3011db=function(_0x4d0d1a,_0x345961){for(const _0x431a2b of _0x4d0d1a['getPositions']())if(_0x345961['schema']['checkChild'](_0x431a2b,'$text'))return _0x431a2b;}(_0x1aa86a,_0x5734c7);_0x3011db&&(_0x5ee38b=_0x3011db,_0x1aa86a=_0x347d41['createRange'](_0x5ee38b));}const _0x52470a=_0x347d41['createRange'](_0x5ee38b);_0x5734c7['markers']['has'](_0x36b516)?(_0x347d41['updateMarker'](_0x36b516,{'range':_0x1aa86a}),_0x347d41['updateMarker'](_0x1adc70,{'range':_0x52470a})):(_0x347d41['addMarker'](_0x36b516,{'range':_0x1aa86a,'usingOperation':!0x0}),_0x347d41['addMarker'](_0x1adc70,{'range':_0x52470a,'usingOperation':!0x0}));}function tt(_0x1fbec5){return'--ck-user-color:'+_0x1fbec5['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x1fbec5['color']['getColorAlphaVariable']()+';';}function et(_0x2406db,_0x29ee03,_0x17be16){const _0x509ab4=_0x2406db['t'],t=_0x2406db['t'];switch(_0x29ee03){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 _0x509ab4({'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'},_0x17be16);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x656eb{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0xa3a082)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[J,Q,X,_0x41c0d3,_0x52f463,_0x32fb04];}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 _0xb17a80=this['serverHistory']['getOperations']();for(let _0x323b83=_0xb17a80['length']-0x1;_0x323b83>=0x0;_0x323b83--){const _0x198eee=_0xb17a80[_0x323b83];if(!this['_disconnectionOperations']['has'](_0x198eee))return _0x198eee['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4f6e94){if(super(_0x4f6e94),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x13a7ed(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x38db3a('collaboration-missing-channelid',this);const _0x2df346=_0x4f6e94['config']['get']('cloudServices.bundleVersion')||_0x1ccdda;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x2df346,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1a3620(),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 rt(this['_disconnectionOperations']);}init(){const _0x37909b=this['editor'],_0x30ba12=_0x37909b['plugins']['get'](_0x52f463),_0x2aae85=_0x37909b['plugins']['get'](J);this['listenTo'](_0x30ba12,'getOperationAuthor',(_0x7e17ec,_0x6b89cb)=>{const _0x275b50=_0x6b89cb[0x0];_0x275b50['_authorId']&&(_0x7e17ec['return']=_0x30ba12['getUser'](_0x275b50['_authorId']),_0x7e17ec['stop']()),null===_0x275b50['_authorId']&&(_0x7e17ec['return']=null,_0x7e17ec['stop']());},{'priority':'high'}),this['listenTo'](_0x37909b['model']['document']['selection'],'change:range',(_0x357914,_0x1dbeb8)=>{_0x1dbeb8['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x37909b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x37909b['model']['on']('applyOperation',(_0x5c6157,_0x4ff9fe)=>{const _0x5189e4=_0x4ff9fe[0x0];_0x5189e4['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5189e4),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2aae85,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x664315,_0x4ba3ea,_0x23b977)=>'connected'===_0x664315&&!_0x4ba3ea&&!_0x23b977),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x37909b['disableReadOnlyMode']('rtc-offline'):_0x37909b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x37909b['disableReadOnlyMode']('rtc-offline'):_0x37909b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x3c8731=this['editor']['plugins']['get'](Q),_0x26f289=this['editor']['plugins']['get'](J);try{this['_isPendingUpdate']=!0x0,_0x3c8731['unregister'](this['_channelId']);const _0x15691c=await this['_service']['reconnect'](_0x26f289['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x15691c)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0xc890ec=await this['_service']['getConnectedSessions']();_0x3c8731['register'](this['_channelId'],_0xc890ec),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3fdd8b){if(function(_0x547f94){return'404'===_0x547f94['code'];}(_0x3fdd8b)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x285a4d){return'409'===_0x285a4d['code'];}(_0x3fdd8b)){const _0x3201c4=et(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'](_0x3201c4);}else{if(!(_0x3fdd8b instanceof nt))throw _0x3fdd8b;this['_handleReconnectionError']();}}}}destroy(){const _0xd7b3f7=this['editor']['plugins']['get'](J),_0x3bf26b=this['editor']['plugins']['get'](Q);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3bf26b['channelSessions']['has'](this['_channelId'])&&_0x3bf26b['unregister'](this['_channelId']),_0xd7b3f7['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x5469ac){if(this['sessionId']!==_0x5469ac['sessionId']&&this['_lastSyncedOperationId']!==_0x5469ac['lastOperationId'])throw new nt();return this['sessionId']=_0x5469ac['sessionId'],this['_handleServerResponse']([],{..._0x5469ac,'wereChangesApplied':!0x1,'data':_0x5469ac['data']},'reconnect');}async _connectService(_0x203ca6,_0x6d92e9=!0x1){const {connection:_0x3d80e1}=this['editor']['plugins']['get'](J);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x3d80e1,this['_channelId'])['then'](_0xea716f=>this['_initSessionsHandling'](_0xea716f))['catch'](_0x57a34f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x57a34f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x14fd48,_0x229a2e)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x229a2e);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x341e11=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x203ca6);this['_isPendingUpdate']=!0x0;const _0x11b6bf=await this['_service']['connect'](_0x3d80e1,this['_compressOperations'](_0x203ca6),_0x341e11);if(this['sessionId']=_0x11b6bf['sessionId'],_0x6d92e9){if(!_0x11b6bf['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x11b6bf['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x203ca6,_0x11b6bf,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x11b6bf,_0x203ca6);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x1441da=this['editor']['plugins']['get'](Q),_0x3e46a0=this['editor']['plugins']['get'](X),_0x29f32c=_0x1441da['channelSessions']['get'](this['_channelId']);_0x29f32c&&_0x29f32c['length']>0x1?_0x3e46a0['createUserMarkerOperations']():this['listenTo'](_0x1441da,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1441da['channelSessions']['get'](this['_channelId'])['length']&&_0x3e46a0['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x315f34,_0x137c5e,_0x3f8bde,_0x483fc7){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x137c5e){const _0x320e58=this['_decompressOperations'](_0x3f8bde,_0x483fc7);await this['_fetchMissingUsers'](_0x320e58),this['_handleExternalOperations'](_0x320e58,_0x137c5e,_0x3f8bde['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x468b64}=this['editor'];let _0x59c4f1;try{_0x59c4f1=await this['_service']['getDocumentDetails']();}catch{const _0x4edaa2=et(_0x468b64,'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'](_0x4edaa2);}const _0x426bf2=_0x59c4f1['currentDocumentSession']||_0x59c4f1['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x426bf2['lastOperationId']){const _0x1d47f8=et(_0x468b64,'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'](_0x1d47f8);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x1f04e0=this['editor']['plugins']['get'](J);if(this['_isConnected']=!0x1,!_0x1f04e0['connection']||'connected'!==_0x1f04e0['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x370cc5=this['editor']['plugins']['get'](Q);_0x370cc5['channelSessions']['has'](this['_channelId'])&&_0x370cc5['unregister'](this['_channelId']),_0x1f04e0['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x3d2542){const _0x3dcfd0=this['editor']['plugins']['get'](Q);this['listenTo'](_0x3dcfd0,'sessionAdd:'+this['_channelId'],(_0xd550cf,{session:_0x3e01e7})=>{if(_0x3e01e7['id']===_0x3dcfd0['mySessionId']){_0xd550cf['off']();const _0x5b5df4=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x417e19=_0x3e01e7['permissions'];_0x5b5df4&&_0x5b5df4['isEnabled']&&(_0x417e19=_0x417e19['filter'](_0x4e1aed=>'document:write'!==_0x4e1aed)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x417e19,this['_channelId']);}}),_0x3dcfd0['register'](this['_channelId'],_0x3d2542);}_initThrowingOnDataSet(){const _0x21959b=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x30f70d)=>{if(!_0x30f70d[_0x30f70d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x38db3a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x21959b['apply'](this['editor']['data'],_0x30f70d);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x204968,[_0x56cdbb])=>{if(this['_document']['version'])throw new _0x38db3a('realtimecollaborationclient-init-document-already-initialized',this);_0x204968['stop'](),this['_setPendingAction']();const _0x31859b=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x30cbed])=>!_0x30cbed['lazyLoad'])['map'](([_0x356774,_0x6465ce])=>[_0x356774,_0x6465ce['modelAttributes']||{}])),_0x1b83e0=this['_getOperationsFromInitData'](_0x56cdbb,_0x31859b);0x0==_0x1b83e0['length']&&_0x1b83e0['push'](new _0x1daaae(0x0)),_0x204968['return']=this['_connectService'](_0x1b83e0)['then'](()=>{this['editor']['plugins']['get'](J)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5749b2=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5749b2))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4ca307,[_0x4b08cc,_0x831adb])=>{_0x4ca307['stop']();const _0x556cc9=this['editor']['model']['document']['getRoot'](_0x4b08cc);if(!this['_knownRootNames']['has'](_0x4b08cc)){const _0x43d76f=_0x831adb&&_0x831adb['data']?_0x831adb['data']:'',_0x188f31=_0x831adb&&_0x831adb['attributes']?_0x831adb['attributes']:{};await this['_loadRoot'](_0x4b08cc,_0x43d76f,_0x188f31);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x556cc9['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x556cc9);});},{'priority':'high'});}async _fetchMissingUsers(_0x13d523){const _0x3c4317=this['editor']['plugins']['get'](_0x52f463),{connection:_0xcbf421}=this['editor']['plugins']['get'](J),_0x5e24f1=new Set();for(const _0x102ff4 of _0x13d523){const _0x1f5a74=_0x102ff4['_authorId'];_0x1f5a74&&!_0x3c4317['getUser'](_0x1f5a74)&&_0x5e24f1['add'](_0x1f5a74);}if(0x0===_0x5e24f1['size'])return;const _0x4da6e3=await _0x4be4c6['getMany'](_0xcbf421,Array['from'](_0x5e24f1));for(const _0x1b5ed8 of _0x4da6e3)_0x3c4317['getUser'](_0x1b5ed8['id'])||_0x3c4317['addUser'](_0x1b5ed8);}_getOperationsFromInitData(_0x1981a9,_0x187579={}){const _0xa713c2=this['editor']['model'],_0x262f2e=[];let _0x41c43c=0x0;const _0x1d5f2b='string'==typeof _0x1981a9?{'main':_0x1981a9}:_0x1981a9;for(const _0x253769 of Object['keys'](_0x1d5f2b)){if(!this['_document']['roots']['has'](_0x253769))throw new _0x38db3a('realtimecollaborationclient-init-non-existent-root',this);const _0x490ad0=this['_document']['getRoot'](_0x253769),_0x3d19c9=this['editor']['data']['parse'](_0x1d5f2b[_0x253769],_0x490ad0),_0x23bdc4=new _0x3fa927(_0xa713c2['createPositionAt'](_0x490ad0,0x0),_0x3d19c9,_0x41c43c++);_0x262f2e['push'](_0x23bdc4);for(const [_0x4dd7db,_0x4efb64]of _0x3d19c9['markers']){const _0x2cc4aa=_0xa713c2['createRange'](_0xa713c2['createPositionFromPath'](_0x490ad0,_0x4efb64['start']['path']['slice']()),_0xa713c2['createPositionFromPath'](_0x490ad0,_0x4efb64['end']['path']['slice']())),_0x1055f0=new _0x4523b0(_0x4dd7db,null,_0x2cc4aa,_0xa713c2['markers'],!0x0,_0x41c43c++);_0x262f2e['push'](_0x1055f0);}}if(_0x187579)for(const [_0x449f9a,_0x2b3395]of Object['entries'](_0x187579)){const _0x1a3ae9=_0xa713c2['document']['getRoot'](_0x449f9a);if(!_0x1a3ae9)throw new _0x38db3a('multi-root-editor-root-attributes-no-root',null);for(const [_0x46ad09,_0x108d55]of Object['entries'](_0x2b3395))if(null!==_0x108d55){const _0x1f4ee7=new _0x56775c(_0x1a3ae9,_0x46ad09,null,_0x108d55,_0x41c43c++);_0x262f2e['push'](_0x1f4ee7);}}return _0x262f2e;}async _loadRoot(_0x3340fe,_0x4d7fda,_0x2c2ad7){this['_getOperationsFromInitData']({[_0x3340fe]:_0x4d7fda},{[_0x3340fe]:_0x2c2ad7})['forEach']((_0x40b537,_0x2285f3)=>{_0x40b537['baseVersion']=this['_document']['version']+_0x2285f3,_0x40b537['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x40b537);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x33a015,_0xb7b2c9){let _0x20527b;this['_offset']=_0x33a015['offset'];const _0x3296b0=_0x33a015['wereChangesApplied']&&!_0x33a015['initData'],_0x48aa51=_0x3296b0?0x0:_0x33a015['data']['baseVersion'];if(_0xb7b2c9['forEach'](_0x1e13fd=>{_0x1e13fd['_isInit']=!0x0,_0x1e13fd['createdAt']=_0x33a015['sessionCreatedAt'],_0x1e13fd['_authorId']=null;}),_0x3296b0)_0x20527b=_0xb7b2c9,this['_applyOperationsSet'](_0x20527b,_0x3296b0);else{if(_0x33a015['initData']){const _0x267f49=this['_getOperationsFromInitData'](_0x33a015['initData']);this['_document']['history']['version']=-_0x267f49['length'],_0x267f49['forEach'](_0x112c07=>{_0x112c07['baseVersion']-=_0x267f49['length'],_0x112c07['createdAt']=_0x33a015['sessionCreatedAt'],_0x112c07['_isInit']=!0x0,_0x112c07['_authorId']=null;}),this['_applyOperationsSet'](_0x267f49,!0x0),this['serverHistory']['version']=-_0x267f49['length']+this['_offset'],this['_updateServerHistory'](_0x267f49);}this['_document']['history']['version']=_0x48aa51,_0x20527b=this['_decompressOperations'](_0x33a015['data'],_0x33a015['metadata']),await this['_fetchMissingUsers'](_0x20527b),this['_applyOperationsSet'](_0x20527b,_0x3296b0);}_0x33a015['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x20527b,_0x33a015['lastOperationId']),this['_lastSyncedOperationId']=_0x33a015['lastOperationId']),this['serverHistory']['version']=_0x48aa51+this['_offset'],this['_updateServerHistory'](_0x20527b),_0xb7b2c9['filter'](_0x383975=>{const _0x118754=this['_getAffectedRoot'](_0x383975);return _0x118754&&!this['_knownRootNames']['has'](_0x118754);})['forEach']((_0x1d70be,_0x2e2150)=>{_0x1d70be['baseVersion']=this['_document']['version']+_0x2e2150,this['_saveOperationInBuffer'](_0x1d70be);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x346ce2,_0x294f68){const _0x503179=_0x294f68&&_0x294f68['message'];if(_0x503179&&_0x503179['startsWith']('realtimecollaborationclient'))throw _0x294f68;const _0x57552f=this['editor']['plugins']['get'](J);throw this['_isPendingUpdate']=!0x0,_0x57552f['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x38db3a(_0x346ce2,this['editor'],_0x503179?{'originalError':_0x503179}:void 0x0);}_saveOperationInBuffer(_0x538efc){this['_knownOperations']['has'](_0x538efc)||(this['_knownOperations']['add'](_0x538efc),this['_bufferedOperations']['push'](_0x538efc),this['_pendingAction']||'marker'==_0x538efc['type']&&!_0x538efc['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x25ba0e=!0x1){!_0x25ba0e&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x332bef=>{_0x332bef&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x10f0ad=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3b3ac7){return _0x3b3ac7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3b3ac7['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3b3ac7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x10f0ad)||this['_crash'](_0x10f0ad['message'],_0x10f0ad);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x2a22b7=>{this['on']('change:_isPendingUpdate',()=>{_0x2a22b7();});});}async _sendBufferedOperations(){const _0x4a4b75=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x4a4b75['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2544c6=[...this['_bufferedOperations']];for(const _0x3ca40b of _0x2544c6)_0x3ca40b['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3ca40b);const _0x170dd4=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2544c6),_0x5df008=st++,_0xfe878d=this['_compressOperations'](_0x2544c6),_0x1c4142=await this['_service']['sendOperations'](_0xfe878d,_0xfe878d['baseVersion'],_0x170dd4);try{return await this['_handleServerResponse'](_0x2544c6,_0x1c4142,_0x5df008);}catch(_0x2a1785){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2a1785);}}async['_handleServerResponse'](_0x227fcd,_0x5f79f4,_0x2d2b99){if('error'in _0x5f79f4)throw _0x5f79f4['error'];let _0x275a50;if(_0x5f79f4['wereChangesApplied']){_0x5f79f4['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5f79f4['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xbd84b6=>!_0x227fcd['includes'](_0xbd84b6));for(const _0x4b8b93 of _0x227fcd)_0x4b8b93['createdAt']='lastOperationAcceptedAt'in _0x5f79f4&&_0x5f79f4['lastOperationAcceptedAt']||void 0x0;ot(_0x227fcd,_0x5f79f4['version']-_0x227fcd['length']),this['_updateServerHistory'](_0x227fcd);const _0x286f52=_0x227fcd['filter'](_0x1a1b19=>{if(!_0x1a1b19['_isInit'])return!0x1;const _0xa5721=this['_getAffectedRoot'](_0x1a1b19);return _0xa5721&&!this['_knownRootNames']['has'](_0xa5721);});ot(_0x286f52,this['_document']['version']),this['_applyOperationsSet'](_0x286f52),_0x275a50=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2d1e0a=this['_decompressOperations'](_0x5f79f4['data'],_0x5f79f4['metadata'])['filter'](_0x14d7b0=>_0x14d7b0['baseVersion']>=this['_lastServerVersion']);_0x2d1e0a['forEach'](_0x10ce11=>this['_addKnownRoot'](_0x10ce11)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2392ec=>!_0x2392ec['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2392ec))),this['_bufferedOperations']['length']&&ot(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2d1e0a),_0x275a50=this['_handleExternalOperations'](_0x2d1e0a,_0x5f79f4['version'],_0x5f79f4['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x275a50?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x1c3f91,_0x31a08a,_0x1044f6){try{const _0x598c1b={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x29a9dc,operationsB:_0x5606d8,originalOperations:_0x5f3252}=_0x9f7926(_0x1c3f91,this['_bufferedOperations'],_0x598c1b);ot(_0x29a9dc,this['_document']['version']),ot(_0x5606d8,_0x31a08a);for(const _0x1e97ac of _0x29a9dc){const _0x20d8d0=_0x5f3252['get'](_0x1e97ac);_0x20d8d0?(_0x1e97ac['_authorId']=_0x20d8d0['_authorId'],'noop'!==_0x1e97ac['type']&&(_0x1e97ac['_aiSource']=_0x20d8d0['_aiSource'])):_0x1e97ac['_authorId']=null;}for(const _0x2426d7 of _0x5606d8)'noop'!==_0x2426d7['type']&&(_0x2426d7['_aiSource']=_0x5f3252['get'](_0x2426d7)?.['_aiSource']);_0x1044f6&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1c3f91,_0x1044f6),this['_lastSyncedOperationId']=_0x1044f6),this['_bufferedOperations']=[..._0x5606d8],this['_applyOperationsSet'](_0x29a9dc),this['_updateServerHistory'](_0x1c3f91);}catch(_0x1dcfaa){return console['error'](_0x1dcfaa),!0x1;}return!0x0;}_applyOperationsSet(_0x34d447,_0x331e88=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2aee36=>{for(const _0x50d838 of _0x34d447)this['_knownOperations']['add'](_0x50d838),this['_addKnownRoot'](_0x50d838),_0x2aee36['batch']['addOperation'](_0x50d838),this['editor']['model']['applyOperation'](_0x50d838);});}_addKnownRoot(_0x2a4766){const _0x68424=this['_getAffectedRoot'](_0x2a4766);_0x68424&&this['_knownRootNames']['add'](_0x68424);}_getAffectedRoot(_0x7289ce){let _0x4f5d51,_0x4a8e01;switch(_0x7289ce['type']){case'insert':_0x4f5d51=_0x7289ce['position']['root'];break;case'marker':if(_0x4a8e01=_0x7289ce['newRange'],!_0x4a8e01)return null;_0x4f5d51=_0x4a8e01['root'];break;case'addRootAttribute':_0x4f5d51=_0x7289ce['root'];break;case'addRoot':_0x4f5d51=_0x7289ce['affectedSelectable'];break;case'move':_0x4f5d51=_0x7289ce['targetPosition']['root'];break;default:return null;}return _0x4f5d51['rootName'];}_updateServerHistory(_0x17b010){_0x17b010['forEach'](_0x5a0314=>{const _0xac95ed=_0x5a0314['clone']();_0xac95ed['_authorId']=_0x5a0314['_authorId'],_0xac95ed['_isInit']=!!_0x5a0314['_isInit'],_0xac95ed['_aiSource']=_0x5a0314['_aiSource'],_0xac95ed['createdAt']=_0x5a0314['createdAt'],_0xac95ed['baseVersion']+=this['_offset'],_0x5a0314['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xac95ed),this['serverHistory']['addOperation'](_0xac95ed);});}_handleReconnectionError(_0x277b3c){const _0x528bd4=this['editor']['plugins']['get']('Notification'),_0x4504de=this['editor']['locale'];_0x277b3c||(_0x277b3c=et(_0x4504de,'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.')),_0x528bd4['showWarning'](_0x277b3c,{'title':et(_0x4504de,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](J)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x41c0d3)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x41c0d3)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x3aa4e8){const _0x37e115=_0x3aa4e8['map'](_0x5a5bed=>_0x5a5bed['toJSON']());return this['_compressor']['compress'](_0x37e115);}_decompressOperations(_0x87fde2,_0xa05f6b){return this['_compressor']['decompress'](_0x87fde2)['map']((_0x5199f8,_0x4c8f94)=>{const _0x2c1a60='init'==_0xa05f6b[_0x4c8f94]['type'];if('InsertOperation'==_0x5199f8['__className']){const _0x8b44a4=_0x5199f8['position']['root'];!this['_document']['getRoot'](_0x8b44a4)&&(this['_document']['createRoot']('$unknown',_0x8b44a4)['_isAttached']=!0x1);}else{if('RootOperation'==_0x5199f8['__className']){const _0x593ac9=this['_document']['getRoot'](_0x5199f8['rootName']);_0x593ac9&&'$unknown'==_0x593ac9['name']&&_0x5199f8['elementName']!=_0x593ac9['name']&&(_0x593ac9['name']=_0x5199f8['elementName']);}}const _0x1c04ba=_0x13b377['fromJSON'](_0x5199f8,this['_document']);return _0x1c04ba['wasUndone']=_0x5199f8['wasUndone'],_0x1c04ba['_isInit']=_0x2c1a60,_0x1c04ba['_authorId']=_0x2c1a60?null:_0xa05f6b[_0x4c8f94]['userId'],_0x1c04ba['_isDisconnection']='cs:removeUser'===_0xa05f6b[_0x4c8f94]['type'],_0x1c04ba['_aiSource']=_0x5199f8['_aiSource']||void 0x0,_0x1c04ba['createdAt']=_0xa05f6b[_0x4c8f94]['createdAt'],_0x1c04ba;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x25fb8e=this['editor']['plugins']['get'](Q)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x25fb8e&&_0x25fb8e['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function ot(_0x1f33c8,_0x1386ea){for(const _0x3558d2 of _0x1f33c8)_0x3558d2['baseVersion']=_0x1386ea++;}var rt=class{_ignoredOperations;_operationToId;constructor(_0x4c06dc){this['_ignoredOperations']=_0x4c06dc,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x2163db){let _0x2a0af6=_0x2163db['length'];for(;_0x2a0af6--;){const _0x2c676a=_0x2163db[_0x2a0af6];if(!this['_ignoredOperations']['has'](_0x2c676a)){if(!this['_operationToId']['has'](_0x2c676a)){const _0x1a4277=_0x501ece()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2c676a,_0x1a4277);}return this['_operationToId']['get'](_0x2c676a);}}}setIdForTheLastOperation(_0x3c9fdf,_0xa19ccb){if(!_0xa19ccb)return;let _0x211105=_0x3c9fdf['length'];for(;_0x211105--;){const _0x3929c5=_0x3c9fdf[_0x211105];this['_ignoredOperations']['has'](_0x3929c5)||this['_operationToId']['set'](_0x3929c5,_0xa19ccb);}}},ct=class extends _0x656eb{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class CloudServicesCommentsAdapter extends _0x2ea2c1{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x2936da)());['_services'];static get requires(){return[J,_0x8fe529,Q,_0x52f463];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x852d0a){super(_0x852d0a),this['_services']=new Map();}async init(){const _0x5d3e77=this['context'],_0x54375c=_0x5d3e77['plugins']['get'](_0x8fe529);if(_0x5d3e77['plugins']['get'](J)['addToReconnectionStack'](this),_0x54375c['adapter']={'addCommentThread':async({channelId:_0x3da0d4,threadId:_0x196818,comments:_0x37daaa,resolvedAt:_0x4d99ac,resolvedBy:_0x858b43,context:_0x24cdad,attributes:_0x241a3c})=>{const _0x4bc981=await this['_getService'](_0x3da0d4)['addCommentThread']({'commentThreadId':_0x196818,'comments':_0x37daaa['map'](_0x367b0b=>function(_0x245b7e,_0xf8ea5,_0x3b1751){return{'commentThreadId':_0x3b1751,'commentId':_0x245b7e['commentId'],'userId':_0x245b7e['authorId'],'content':_0x245b7e['content'],'documentId':_0xf8ea5,'createdAt':_0x245b7e['createdAt'],'attributes':_0x245b7e['attributes']||{}};}(_0x367b0b,_0x3da0d4,_0x196818)),'resolvedAt':_0x4d99ac,'resolvedBy':_0x858b43,'context':_0x24cdad,'attributes':_0x241a3c})['catch'](lt);return{'threadId':_0x4bc981['commentThreadId'],'comments':_0x4bc981['comments']};},'getCommentThread':async({channelId:_0x436aeb,threadId:_0x11d29d})=>{const _0x27768e=await this['_getService'](_0x436aeb)['getCommentThread'](_0x11d29d)['catch'](ht)['catch'](lt);return _0x27768e?_0x27768e['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x27768e]),{'threadId':_0x27768e['commentThreadId'],'comments':_0x27768e['comments']['map'](dt),'context':_0x27768e['context'],'resolvedAt':_0x27768e['resolvedAt'],'resolvedBy':_0x27768e['resolvedBy'],'attributes':_0x27768e['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1a4f0a,threadId:_0x2f1f2e,context:_0x173805,unlinkedAt:_0x124443,attributes:_0x5acf3a})=>this['_getService'](_0x1a4f0a)['updateCommentThread']({'commentThreadId':_0x2f1f2e,'context':_0x173805,'attributes':_0x5acf3a,'unlinkedAt':_0x124443})['catch'](ht)['catch'](lt),'resolveCommentThread':async({channelId:_0x1ea8d2,threadId:_0x4d6c0c})=>{const _0xedfa4b=await this['_getService'](_0x1ea8d2)['resolveCommentThread'](_0x4d6c0c)['catch'](ht)['catch'](lt);return{'threadId':_0xedfa4b['commentThreadId'],'resolvedAt':_0xedfa4b['resolvedAt'],'resolvedBy':_0xedfa4b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x59b3db,threadId:_0x24169a})=>this['_getService'](_0x59b3db)['reopenCommentThread'](_0x24169a)['catch'](ht)['catch'](lt),'removeCommentThread':({channelId:_0x307139,threadId:_0x601e9})=>this['_getService'](_0x307139)['removeCommentThread'](_0x601e9)['catch'](ht)['catch'](lt),'addComment':({channelId:_0x43da61,threadId:_0x9a19f5,commentId:_0xadb6ea,content:_0x113fd3,attributes:_0x82bea0})=>this['_getService'](_0x43da61)['addComment'](_0x9a19f5,_0xadb6ea,_0x113fd3,_0x82bea0)['catch'](lt),'updateComment':({channelId:_0x4362fe,threadId:_0x48dbd5,commentId:_0x5504c1,content:_0x48399e,attributes:_0x8ef200})=>this['_getService'](_0x4362fe)['updateComment'](_0x48dbd5,_0x5504c1,_0x48399e,_0x8ef200)['catch'](ht)['catch'](lt),'removeComment':({channelId:_0x350a8f,threadId:_0x1d829c,commentId:_0x41c628})=>this['_getService'](_0x350a8f)['removeComment'](_0x1d829c,_0x41c628)['catch'](ht)['catch'](lt)},_0x5d3e77 instanceof _0x11e827){const _0x17699f=_0x5d3e77['config']['get']('collaboration.channelId'),_0x515b38=_0x5d3e77['plugins']['get'](Q);await this['_setUpService'](_0x17699f);const _0x2636e1=await this['_services']['get'](_0x17699f)['getConnectedSessions']();this['listenTo'](_0x515b38,'sessionAdd:'+_0x17699f,(_0x30687d,{session:_0x39c84e})=>{_0x39c84e['id']===_0x515b38['mySessionId']&&(_0x30687d['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x39c84e['permissions'],_0x17699f));}),_0x515b38['register'](_0x17699f,_0x2636e1);}}async _setUpService(_0x3e36ae){if(this['_services']['has'](_0x3e36ae))throw new _0x38db3a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3e36ae});const _0x54f0da=this['context']['plugins']['get'](_0x8fe529),_0x5e46c9=new CloudServicesCommentsAdapter['CommentsService'](_0x3e36ae);this['_services']['set'](_0x3e36ae,_0x5e46c9),this['listenTo'](_0x5e46c9,'commentThreadAdded',(_0x4806b3,_0x5aeda7)=>{const {commentThreadId:_0x4073ed,documentId:_0x9bef3f,context:_0x563e44,attributes:_0x4a87c8,resolvedAt:_0x37372e,resolvedBy:_0x502a04,comments:_0x59bb7c}=_0x5aeda7;_0x54f0da['getCommentThread'](_0x4073ed)||_0x54f0da['addCommentThread']({'threadId':_0x4073ed,'channelId':_0x9bef3f,'comments':_0x59bb7c?_0x59bb7c['map'](dt):[],'context':_0x563e44,'attributes':_0x4a87c8,'resolvedAt':_0x37372e,'resolvedBy':_0x502a04,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e46c9,'commentThreadUpdated',(_0x94d61b,{commentThreadId:_0x30355c,documentId:_0x5b400e,context:_0x581320,unlinkedAt:_0x173575,attributes:_0x2a2c71})=>{_0x54f0da['getCommentThread'](_0x30355c)&&_0x54f0da['updateCommentThread']({'threadId':_0x30355c,'channelId':_0x5b400e,'context':_0x581320,'unlinkedAt':_0x173575,'attributes':_0x2a2c71,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e46c9,'commentThreadResolved',(_0x6938bf,{commentThreadId:_0x3ef5bd,resolvedBy:_0x1e0919,resolvedAt:_0x342d51})=>{const _0x769b2c=_0x54f0da['getCommentThread'](_0x3ef5bd);_0x769b2c&&_0x769b2c['resolve']({'resolvedBy':_0x1e0919,'resolvedAt':_0x342d51,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e46c9,'commentThreadReopened',(_0x437622,{commentThreadId:_0x18a6e8})=>{const _0x392d2d=_0x54f0da['getCommentThread'](_0x18a6e8);_0x392d2d&&_0x392d2d['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5e46c9,'commentThreadRemoved',(_0x4f7de8,{commentThreadId:_0x33f143})=>{const _0x97ae34=_0x54f0da['getCommentThread'](_0x33f143);_0x97ae34&&_0x97ae34['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5e46c9,'commentAdded',(_0x7e85ad,_0x5cd6d6)=>{const _0x42c1e0=_0x5cd6d6['commentThreadId'],_0x55dd94=_0x54f0da['getCommentThread'](_0x42c1e0);_0x55dd94&&_0x55dd94['addComment']({...dt(_0x5cd6d6),'isFromAdapter':!0x0});}),this['listenTo'](_0x5e46c9,'commentUpdated',(_0x2d7797,{commentThreadId:_0x18ce12,commentId:_0x33a73f,content:_0x279496,attributes:_0x2c69e9})=>{const _0x27ce43=_0x54f0da['getCommentThread'](_0x18ce12);if(_0x27ce43){const _0x4ec0b1=_0x27ce43['getComment'](_0x33a73f);_0x4ec0b1&&_0x4ec0b1['update']({'content':_0x279496,'attributes':_0x2c69e9,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5e46c9,'commentRemoved',(_0x246652,{commentThreadId:_0x4f7f05,commentId:_0x3aed59})=>{const _0xfaa42e=_0x54f0da['getCommentThread'](_0x4f7f05);if(_0xfaa42e){const _0x2a6bbf=_0xfaa42e['getComment'](_0x3aed59);_0x2a6bbf&&_0x2a6bbf['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x5e46c9,'disconnected',()=>{'connected'===this['context']['plugins']['get'](J)['connection']?.['state']&&(this['_services']['delete'](_0x3e36ae),this['stopListening'](_0x5e46c9));}),await this['_connectService'](_0x3e36ae);}destroy(){if(this['context']instanceof _0x11e827){const _0x4fdc8b=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x4fdc8b)&&this['_terminateService'](_0x4fdc8b);}}_terminateService(_0x4afba8){if(!this['_services']['has'](_0x4afba8))throw new _0x38db3a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4afba8});this['_getService'](_0x4afba8)['disconnect'](),this['_services']['delete'](_0x4afba8);}async reconnect(){for(const _0x3207ee of this['_services']['keys']())await this['_connectService'](_0x3207ee);if(this['context']instanceof _0x11e827){const _0x59a2d4=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x59a2d4)){const _0x5e3da3=this['context']['plugins']['get'](Q);_0x5e3da3['unregister'](_0x59a2d4);const _0x5af9cb=await this['_services']['get'](_0x59a2d4)['getConnectedSessions']();_0x5e3da3['register'](_0x59a2d4,_0x5af9cb);}}}async _connectService(_0x205f9e){const {connection:_0x4b13cd}=this['context']['plugins']['get'](J),_0x21fed0=this['context']['plugins']['get'](_0x8fe529),_0xcf56e0=await this['_services']['get'](_0x205f9e)['connect'](_0x4b13cd);await this['_fetchMissingUsersForThreads'](_0xcf56e0);const _0x4ec603=new Set(Array['from'](_0x21fed0['getCommentThreads']({'channelId':_0x205f9e}),_0x5995a2=>_0x5995a2['id']));for(const _0x5e5027 of _0xcf56e0)_0x5e5027['deletedAt']||_0x4ec603['delete'](_0x5e5027['commentThreadId']);for(const _0x1b22c2 of _0x4ec603)_0x21fed0['getCommentThread'](_0x1b22c2)['remove']({'isFromAdapter':!0x0});for(const _0x22e03a of _0xcf56e0){let _0x20f653=_0x21fed0['getCommentThread'](_0x22e03a['commentThreadId']);const {commentThreadId:_0x4b570e,context:_0x938064,attributes:_0x253992,resolvedBy:_0x279f89,resolvedAt:_0x86fdec,unlinkedAt:_0x3850ec,deletedAt:_0x2d91e5}=_0x22e03a;if(_0x2d91e5)continue;_0x20f653||(_0x20f653=_0x21fed0['addCommentThread']({'channelId':_0x205f9e,'threadId':_0x4b570e,'context':_0x938064,'attributes':_0x253992||{},'resolvedBy':_0x279f89,'resolvedAt':_0x86fdec,'unlinkedAt':_0x3850ec,'isFromAdapter':!0x0}));const _0xd9ebc4=new Set(Array['from'](_0x20f653['comments'],_0x36dd7f=>_0x36dd7f['id']));for(const _0x4da3f9 of _0x22e03a['comments'])_0xd9ebc4['delete'](_0x4da3f9['commentId']);for(const _0x3b96f3 of _0xd9ebc4)_0x20f653['getComment'](_0x3b96f3)['remove']({'isFromAdapter':!0x0});for(const _0x4d44db of _0x22e03a['comments']){const _0x3debab=_0x20f653['getComment'](_0x4d44db['commentId']);_0x3debab?_0x3debab['content']!==_0x4d44db['content']&&_0x3debab['update']({'content':_0x4d44db['content'],'isFromAdapter':!0x0}):_0x20f653['addComment'](Object['assign'](dt(_0x4d44db),{'isFromAdapter':!0x0}));}}}_getService(_0x443599){if(!this['_services']['has'](_0x443599))throw new _0x38db3a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x443599});return this['_services']['get'](_0x443599);}async _fetchMissingUsersForThreads(_0x304ef8){const _0x4fdc09=this['context']['plugins']['get'](_0x52f463),{connection:_0x52e21f}=this['context']['plugins']['get'](J),_0x47b7c9=new Set();for(const {resolvedBy:_0x372f1e,comments:_0x241d2c}of _0x304ef8){_0x372f1e&&!_0x4fdc09['getUser'](_0x372f1e)&&_0x47b7c9['add'](_0x372f1e);for(const {userId:_0x4d3ddd}of _0x241d2c)_0x4fdc09['getUser'](_0x4d3ddd)||_0x47b7c9['add'](_0x4d3ddd);}if(0x0===_0x47b7c9['size'])return;const _0xe9210=await _0x4be4c6['getMany'](_0x52e21f,Array['from'](_0x47b7c9));for(const _0x2e25d2 of _0xe9210)_0x4fdc09['getUser'](_0x2e25d2['id'])||_0x4fdc09['addUser'](_0x2e25d2);}};async function ht(_0x20393d){if('404'!==_0x20393d['code'])throw _0x20393d;}function lt(_0x374564){if((_0x14c38f=_0x374564)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x14c38f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x14c38f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x14c38f;throw _0x374564;}function dt(_0x355908){return{'threadId':_0x355908['commentThreadId'],'commentId':_0x355908['commentId'],'content':_0x355908['content'],'createdAt':_0x355908['createdAt'],'authorId':_0x355908['userId'],'attributes':_0x355908['attributes']||{}};}var ut=class CloudServicesTrackChangesAdapter extends _0x656eb{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x291e29)());_bufferedRequests;_trackChangesService;static get requires(){return[at,_0x5457f9,J];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3af080){super(_0x3af080);const _0x405586=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x405586);}init(){const _0x3e36b0=this['editor']['plugins']['get'](J),_0x46aa26=this['editor']['plugins']['get'](_0x5457f9);return _0x46aa26['adapter']={'getSuggestion':async _0x3c42a0=>{await this['_waitForServiceReady']();const _0x3967d9=await this['_trackChangesService']['get'](_0x3c42a0)['catch'](ft);return await this['_fetchMissingUsersForThreads']([_0x3967d9]),_0x3967d9;},'addSuggestion':async({id:_0x1fb6fc,type:_0x5e459c,data:_0x5d448f,originalSuggestionId:_0x11c0b0,attributes:_0x2b2f6d})=>{await this['_waitForServiceReady']();const _0x7c3004={'id':_0x1fb6fc,'type':_0x5e459c,'data':_0x5d448f,'originalSuggestionId':_0x11c0b0,'attributes':_0x2b2f6d},_0x314710=await this['_trackChangesService']['add'](_0x1fb6fc,_0x5e459c,_0x5d448f,_0x11c0b0,_0x2b2f6d)['catch'](_0x64cab4=>{if(mt(_0x64cab4))return new Promise(_0x2de110=>{this['_bufferedRequests']['set'](_0x1fb6fc,{'resolve':_0x2de110,'suggestionData':_0x7c3004});});throw _0x64cab4;});return this['_bufferedRequests']['delete'](_0x1fb6fc),_0x314710;},'updateSuggestion':async(_0x51a319,_0x3efed3)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3efed3['state'])return this['_trackChangesService']['update'](_0x51a319,_0x3efed3)['catch'](ft);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x860fbb,_0x192473)=>{_0x46aa26['hasSuggestion'](_0x192473['id'])&&(_0x46aa26['getSuggestion'](_0x192473['id'])['attributes']=_0x192473['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x3e36b0['connection']?.['state']&&(_0x3e36b0['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x3e36b0['connection'])['then'](_0x54673b=>(_0x3e36b0['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x54673b)['then'](()=>{for(const _0x481b7e of _0x54673b){_0x46aa26['addSuggestionData'](_0x481b7e)['_saved']=!0x0;}})));}async reconnect(){const _0x2ce1be=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1b1ee0}=this['editor']['plugins']['get'](J),_0x24d08d=await this['_trackChangesService']['connect'](_0x1b1ee0);await this['_fetchMissingUsersForThreads'](_0x24d08d);for(const {suggestionData:_0x5e2c25,resolve:_0x1a34fb}of this['_bufferedRequests']['values']()){let _0x29e7b0=_0x24d08d['find'](_0x101d91=>_0x101d91['id']===_0x5e2c25['id']);_0x29e7b0||(_0x29e7b0=await this['_trackChangesService']['add'](_0x5e2c25['id'],_0x5e2c25['type'],_0x5e2c25['data'],_0x5e2c25['originalSuggestionId'])),_0x1a34fb(_0x29e7b0);}for(const _0x1327d2 of _0x24d08d)_0x2ce1be['hasSuggestion'](_0x1327d2['id'])||_0x2ce1be['addSuggestionData'](_0x1327d2);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x23d3c9=>{this['listenTo'](this['_trackChangesService'],'connected',_0x26b973=>{_0x26b973['off'](),_0x23d3c9();});});}async _fetchMissingUsersForThreads(_0x3f1dab){const _0x149fef=this['editor']['plugins']['get'](_0x52f463),{connection:_0x4b6b0b}=this['editor']['plugins']['get'](J),_0x3a653d=new Set();for(const {authorId:_0x12b26c}of _0x3f1dab)_0x149fef['getUser'](_0x12b26c)||_0x3a653d['add'](_0x12b26c);if(0x0===_0x3a653d['size'])return;const _0x5188e0=await _0x4be4c6['getMany'](_0x4b6b0b,Array['from'](_0x3a653d));for(const _0x4f90a5 of _0x5188e0)_0x149fef['getUser'](_0x4f90a5['id'])||_0x149fef['addUser'](_0x4f90a5);}};function ft(_0x29f095){if(mt(_0x29f095))return new Promise(()=>{});throw _0x29f095;}function mt(_0x64b863){return _0x64b863['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x64b863['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var pt=class extends _0x656eb{static get requires(){return[_0x4aa167,at,ct,J];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x1400cf=this['editor']['plugins']['get'](J),_0x42d3b1=this['editor']['plugins']['get'](_0x3ac6ed),_0x4c0fee=this['editor']['plugins']['get'](at);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1400cf,'change:state',(_0x59b270,_0x10fb36,_0x547d90)=>{_0x42d3b1['isThreadsLoadingPaused']='connected'!==_0x547d90;});}),this['listenTo'](_0x1400cf,'change:state',(_0x405b0a,_0x1ab341,_0x3f1260)=>{this['editor']['plugins']['get'](_0x8fe529)['switchReadOnly']('connected'!==_0x3f1260);}),_0x4c0fee['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x406883=this['editor']['plugins']['get'](at),_0xc36711=this['editor']['config']['get']('collaboration.channelId');_0x406883['_services']['has'](_0xc36711)&&_0x406883['_terminateService'](_0xc36711),super['destroy']();}},gt=class extends _0x656eb{static get requires(){return[pt,ut,_0x17f480];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class CloudServicesRevisionHistoryAdapter extends _0x656eb{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x339e16)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[J,it,_0x2e230e,Q,_0x52f463];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12a39f){super(_0x12a39f);const _0x621349=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x621349);}async init(){const _0x44913f=this['editor']['plugins']['get'](it),_0x290293=_0x44913f['serverHistory'],_0x35dc26=this['editor']['plugins']['get'](J);this['_revisionTracker']['setSource']({'history':_0x290293,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x44913f['sessionId']});const _0x5601cc=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x1ccdda,_0x4f71b2=await _0x53555b['isBundleUploaded'](_0x35dc26['connection'],_0x5601cc);this['editor']['plugins']['get'](_0x2e230e)['adapter']={'getRevision':async({revisionId:_0x386d62})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x386d62)),'updateRevisions':async _0x3f30c4=>{await this['_waitForServiceReady']();const _0x16b211=this['_revisionTracker']['currentRevision'];if(_0x4f71b2&&0x1===_0x3f30c4['length']&&_0x3f30c4[0x0]['id']===_0x16b211['id'])return _0x3f30c4;for(const _0x187d30 of _0x3f30c4)_0x187d30['id']===_0x16b211['id']&&(_0x187d30['isEmptyCurrent']=_0x187d30['fromVersion']===_0x187d30['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3f30c4,this['_lastRequestId'])['then'](_0x437651=>(this['_lastRequestId']=_0x437651,_0x3f30c4))['catch'](_0x2911d0=>{if(vt(_0x2911d0)||'400'===_0x2911d0['code']&&void 0x0!==_0x2911d0['data']['wrongRequestId']){for(const _0x23e0da of _0x3f30c4)this['_revisionTracker']['repository']['getRevision'](_0x23e0da['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x23e0da['id'],_0x23e0da,!0x1);if(vt(_0x2911d0)&&'destroyed'!==this['editor']['state'])throw _0x2911d0;return _0x3f30c4;}throw _0x2911d0;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4d2d0c,{revisionsData:_0x188a4b,requestId:_0x3ffe28})=>{Math['max'](..._0x188a4b['map'](_0x568b94=>_0x568b94['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x188a4b,_0x3ffe28);}):this['_handleRevisionsUpdate'](_0x188a4b,_0x3ffe28);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x35dc26['connection']?.['state']&&(_0x35dc26['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x2b3d79,requestId:_0xa0a202}=await this['_revisionHistoryService']['connect'](_0x35dc26['connection']);_0x35dc26['addToReconnectionStack'](this),this['_lastRequestId']=_0xa0a202,await this['_fetchMissingUsers'](_0x2b3d79);for(const _0x27704f of _0x2b3d79)this['_revisionTracker']['addRevisionData'](_0x27704f);this['listenTo'](_0x44913f,'change:_isConnected',(_0x4cb4b4,_0x378a81,_0x15715f)=>{_0x15715f&&(this['_oldOffset']=_0x44913f['_offset'],_0x4cb4b4['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x55c188=this['editor']['plugins']['get'](J),_0x47a497=this['editor']['plugins']['get'](it),_0x1359be=async()=>{const _0x2485c1=this['_revisionTracker']['currentRevision'],_0xb5cebd=_0x2485c1['id'],_0x1cdd87=_0xb5cebd!==_0x47a497['sessionId'];if(_0x1cdd87){const _0x4b1d21=_0x47a497['_offset']-this['_oldOffset'],_0x334eed=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x2485c1['toVersion']+_0x4b1d21!==_0x334eed){const _0x400538=_0x2485c1['fromVersion']+_0x4b1d21,_0x24674e=this['editor']['plugins']['get'](_0x52f463),_0xea68d4=this['_revisionTracker']['buildRevisionData']({'revision':_0x2485c1,'from':_0x400538,'to':_0x334eed});_0xea68d4['id']=_0x2485c1['id'];const _0x4ffae3=_0xea68d4['authorsIds']['map'](_0x52dd47=>_0x24674e['getUser'](_0x52dd47));_0x2485c1['_update']({..._0xea68d4,'authors':_0x4ffae3},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2485c1['id'],_0xea68d4,!0x0);}this['_revisionTracker']['_startingVersion']=_0x334eed,_0x2485c1['toVersion']!==_0x2485c1['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0xb5cebd)||this['_revisionTracker']['repository']['_revisions']['remove'](_0xb5cebd),this['_revisionTracker']['_createCurrentRevision'](_0x334eed);}const {revisions:_0x298835,requestId:_0x2a22b2}=await this['_revisionHistoryService']['reconnect'](_0x55c188['connection'],this['_lastRequestId']);_0x1cdd87&&_0x298835['length']>0x0?_0x47a497['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x298835),this['_handleRevisionsUpdate'](_0x298835,_0x2a22b2),this['_revisionTracker']['sendBufferedUpdates']());};return _0x47a497['_isConnected']?_0x1359be():new Promise((_0x48c7d4,_0x398ee1)=>{_0x47a497['once']('change:_isConnected',()=>{_0x1359be()['then'](_0x48c7d4)['catch'](_0x398ee1);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5527d0=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1e3db5=>{_0x1e3db5['off'](),_0x5527d0();});});}_getLatestVersionFromServerOperations(){const _0xc7dd5f=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x1ba724 of _0xc7dd5f)if('marker'!==_0x1ba724['type']||_0x1ba724['affectsData'])return _0x1ba724['baseVersion']+0x1;}_getLatestVersion(){const _0x1287b6=this['editor']['plugins']['get'](it);return new Promise(_0x3913f8=>{_0x1287b6['_isPendingUpdate']?_0x1287b6['once']('change:_isPendingUpdate',()=>{_0x3913f8(this['_getLatestVersionFromServerOperations']());}):_0x3913f8(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x213a00,_0x16f57d){const _0x21967e=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x16f57d;for(const _0x5d5de8 of _0x213a00){const _0x2884ba=_0x21967e['getRevision'](_0x5d5de8['id']);if(_0x2884ba){if((_0x5d5de8['fromVersion']||_0x5d5de8['toVersion'])&&(_0x5d5de8['diffData']=null),_0x2884ba===this['_revisionTracker']['currentRevision']){const _0x32276e=Math['max'](_0x2884ba['toVersion'],_0x5d5de8['toVersion']),_0x21ed9a=Math['max'](_0x2884ba['fromVersion'],_0x5d5de8['fromVersion']);let _0x158d1a;_0x2884ba['toVersion']===_0x5d5de8['toVersion']&&_0x2884ba['fromVersion']===_0x5d5de8['fromVersion']?(_0x158d1a=!0x0,this['_preventResendingRevisionData'](_0x5d5de8)):_0x5d5de8['toVersion']===_0x32276e&&_0x5d5de8['fromVersion']===_0x21ed9a?_0x158d1a=!0x1:(_0x2884ba['toVersion']===_0x32276e&&_0x2884ba['fromVersion']===_0x21ed9a||this['_fixRevision']({'revision':_0x2884ba,'from':_0x21ed9a,'to':_0x32276e}),_0x158d1a=!0x0),_0x158d1a&&(delete _0x5d5de8['fromVersion'],delete _0x5d5de8['toVersion'],delete _0x5d5de8['diffData'],delete _0x5d5de8['createdAt'],delete _0x5d5de8['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x5d5de8),this['_preventResendingRevisionData'](_0x5d5de8);}else this['_revisionTracker']['addRevisionData'](_0x5d5de8);}const _0x8935f3=_0x21967e['getRevisions']();_0x8935f3['reverse']();for(let _0x476b40=0x0;_0x476b40<_0x8935f3['length']-0x1;_0x476b40++){const _0x45c2aa=_0x8935f3[_0x476b40],_0x674f32=_0x8935f3[_0x476b40+0x1];if(_0x45c2aa['fromVersion']<_0x674f32['toVersion']){const _0x1b5b7c=_0x674f32['toVersion'],_0x4e0df1=Math['max'](_0x1b5b7c,_0x45c2aa['toVersion']);this['_fixRevision']({'revision':_0x45c2aa,'from':_0x1b5b7c,'to':_0x4e0df1});}}}['_fixRevision']({revision:_0x3d0c34,from:_0x358eba,to:_0x25b365}={}){const _0x58ed3d=this['editor']['plugins']['get'](_0x52f463),_0x127ee4=this['_revisionTracker']['buildRevisionData']({'revision':_0x3d0c34,'from':_0x358eba,'to':_0x25b365});_0x127ee4['authors']=_0x127ee4['authorsIds']['map'](_0x3db010=>_0x58ed3d['getUser'](_0x3db010)),_0x3d0c34['_update'](_0x127ee4);}_preventResendingRevisionData(_0x472c69){const _0x24a9ae={};_0x24a9ae['id']=_0x472c69['id'];for(const _0x1ba158 of Object['keys'](_0x472c69))'id'!==_0x1ba158&&(_0x24a9ae[_0x1ba158]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x24a9ae['id'],_0x24a9ae,!0x0);}async _fetchMissingUsers(_0x3b4d68){const _0x16f647=this['editor']['plugins']['get'](_0x52f463),{connection:_0x2d462b}=this['editor']['plugins']['get'](J),_0x4685df=new Set();for(const _0x3ac152 of _0x3b4d68){for(const _0x5ebe17 of _0x3ac152['authorsIds'])_0xbce3fd(_0x5ebe17);_0x3ac152['creatorId']&&_0xbce3fd(_0x3ac152['creatorId']);}if(0x0===_0x4685df['size'])return;const _0x5821f1=await _0x4be4c6['getMany'](_0x2d462b,Array['from'](_0x4685df));for(const _0x2d7cf6 of _0x5821f1)_0x16f647['getUser'](_0x2d7cf6['id'])||_0x16f647['addUser'](_0x2d7cf6);function _0xbce3fd(_0x35d446){_0x16f647['getUser'](_0x35d446)||_0x4685df['add'](_0x35d446);}}};function vt(_0x40e9d9){return _0x40e9d9['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x40e9d9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x40e9d9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var _t=class extends _0x656eb{static get requires(){return[_0x2e230e,wt,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},yt=class extends _0x3c10c0{_collapseAt;constructor(_0x2493b4,_0x210f36=0x6){super(_0x2493b4);const _0x467ef4=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x210f36,this['bind']('isHidden')['to'](this,'usersCount',_0x37fbd0=>_0x37fbd0<_0x210f36),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x467ef4['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':_0x467ef4['to']('usersCount',_0xec4330=>'+'+(_0xec4330-this['_collapseAt']+0x2)['toString']())}]}]}]});}},bt=class extends _0x3c10c0{items;keystrokes;constructor(_0x239049){super(_0x239049);const _0x35ac7c=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x514268(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x35ac7c['if']('hasPopup'),'aria-expanded':_0x35ac7c['to']('isExpanded',_0x3a93df=>this['hasPopup']&&String(_0x3a93df)),'aria-label':_0x35ac7c['to']('hasPopup',_0x4aee0b=>et(_0x239049,_0x4aee0b?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x35ac7c['to']('hasPopup',_0x1ba9c2=>!!_0x1ba9c2&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x156560,_0x23b45e,_0x5a5eca)=>{this['element']&&(_0x5a5eca?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']);}},kt=class extends _0x3c10c0{counterView;inlineListView;constructor(_0x180f1a,_0x47f330=0x6){super(_0x180f1a);const _0x50e753=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new yt(this['locale'],_0x47f330),this['inlineListView']=new bt(_0x180f1a),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xf0176f of this['inlineListView']['items'])_0xf0176f['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',_0x50e753['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},It=class extends _0x3c10c0{listWrapperView;constructor(_0xd9c7f4,_0x2a3050){super(_0xd9c7f4),this['listWrapperView']=new St(_0xd9c7f4,_0x2a3050),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0xd9c7f4,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},St=class extends _0x41cbcd{constructor(_0x360a9f,_0x58aa7e){super(_0x360a9f);const _0x402cd4=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x58aa7e?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x402cd4['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x402cd4['to']('role'),'aria-label':_0x402cd4['to']('ariaLabel'),'aria-labelledby':_0x402cd4['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x45a7d1['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x24cc8e=this['element'];_0x24cc8e&&(this['_isScrollable']=Math['max'](_0x24cc8e['scrollHeight'],_0x24cc8e['clientHeight'])>0.8*window['innerHeight']);}},Tt=class extends _0x5b7322{['userView'];constructor(_0x1ecdcd,_0x5bae86,_0x206495){super(_0x1ecdcd);const _0x3b3378=this['bindTemplate'];this['userView']=new _0xd0b1dd(_0x1ecdcd,_0x5bae86);const _0xfad9c3={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5bae86['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5bae86['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5bae86['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5bae86['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5bae86['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x206495&&(_0xfad9c3['tag']='button',_0xfad9c3['on']={'click':_0x3b3378['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xfad9c3);}['focus'](){this['element']['focus']();}},Ct=class extends _0x3c10c0{['userView'];['markerView'];constructor(_0x4ed2b9,_0x1cb9ad,_0x25e038){super(_0x4ed2b9);const _0xa1766d=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0xd0b1dd(_0x4ed2b9,_0x1cb9ad),this['markerView']=new At(_0x4ed2b9,_0x1cb9ad);const _0x28a998=new _0xf81f2a(_0x4ed2b9);_0x28a998['template']['tag']='span',_0x28a998['text']=_0x1cb9ad['name'];const _0x293ce8={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0xa1766d['to']('isFocusable',_0x55dcf0=>!!_0x55dcf0&&0x0),'aria-labelledby':_0x28a998['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0xa1766d['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0xa1766d['to']('hasTooltip',_0x12cd4c=>!_0x12cd4c),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x28a998]};_0x25e038&&(_0x293ce8['tag']='button',_0x293ce8['on']={'click':_0xa1766d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x293ce8);}},At=class extends _0x3c10c0{constructor(_0x2e8102,_0x4ba49e){super(_0x2e8102),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4ba49e['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4ba49e['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4ba49e['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Pt={'collapseAt':0x6,'displayMe':!0x0};var Ot=class extends _0x2ea2c1{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x616a5e){super(_0x616a5e),this['context']['config']['define']('presenceList',Pt);const _0x425bb9=_0x616a5e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x425bb9)throw new _0x38db3a('presencelist-collapseat-invalid-format',this);if(_0x425bb9<0x1)throw new _0x38db3a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Q)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5a6c78(),this['balloonPanelView']=new _0x2ec557(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Q];}init(){for(const _0x1ac724 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1ac724);this['listenTo'](this['_allConnectedUsers'],'add',(_0x34f42d,_0x5c609c)=>{this['_handleUserAdd'](_0x5c609c);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x59ff66,_0x420f6f)=>{this['_handleUserRemove'](_0x420f6f);});}_createView(){const _0x38ba60=this['context'],_0x54c008=new kt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x301c98=this['balloonPanelView'];if(!_0x50144a(_0x38ba60['config']['get']('presenceList.container')))throw new _0x38db3a('presencelist-missing-container',this);_0x54c008['counterView']['bind']('usersCount')['to'](this),_0x54c008['bind']('isCollapsed')['to'](this,'usersCount',_0x6dcfe5=>{const {collapseAt:_0x5f20c7}=_0x38ba60['config']['get']('presenceList'),_0x2e08f8=_0x6dcfe5>=_0x5f20c7;if(_0x2e08f8&&!_0x54c008['inlineListView']['items']['find'](_0x2699ea=>_0x2699ea instanceof yt)){const _0x1705af=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1705af&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x54c008['inlineListView']['items']['add'](_0x54c008['counterView']);}return _0x2e08f8||this['hideDropdown'](),_0x2e08f8;}),_0x54c008['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1eed55=>{const _0x454662=_0x38ba60['config']['get']('presenceList'),_0xf68ebc=new Ct(_0x38ba60['locale'],_0x1eed55,!!_0x454662['onClick']);return _0xf68ebc['bind']('hasTooltip')['to'](_0x54c008,'isCollapsed',_0xc39ed4=>!_0xc39ed4),_0xf68ebc['bind']('isFocusable')['to'](_0x54c008,'isCollapsed',_0x3c4c8f=>!_0x3c4c8f),_0x454662['onClick']&&this['listenTo'](_0xf68ebc,'execute',()=>{this['view']['isCollapsed']||_0x454662['onClick'](_0x1eed55,_0xf68ebc['element']);}),_0xf68ebc;}),_0x54c008['inlineListView']['keystrokes']['set']('Enter',(_0x33325e,_0x109c9b)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x109c9b());}),_0x54c008['render'](),_0x301c98['render'](),_0x54c008['listenTo'](_0x54c008['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x3835e5=(_0x229bea,_0x54f941)=>{this['_hideDropdownUnlessPointerInside'](_0x54f941);};return _0x54c008['listenTo'](_0x54c008['inlineListView']['element'],'mouseleave',_0x3835e5),_0x54c008['listenTo'](_0x301c98['element'],'mouseleave',_0x3835e5),_0x4f49cd({'emitter':_0x54c008,'activator':()=>_0x301c98['isVisible'],'contextElements':[_0x301c98['element'],_0x54c008['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x38ba60['config']['get']('presenceList.container')['appendChild'](_0x54c008['element']),this['_overlayHost']=new _0x1d7a4d(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x54c008;}_resolveOverlayTarget(){const _0xadef89=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0xadef89)return _0xadef89;const _0x535442=this['context']['config']['get']('presenceList.container');return _0x535442?_0x414ce5(_0x535442):null;}['_handleUserAdd'](_0x6fb81f){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x6fb81f['isMe'])return;const _0x320bf6=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x320bf6-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x161693=_0x6fb81f['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x6fb81f,_0x161693);}['_handleUserRemove'](_0x41ea1b){this['usersCount']--;const {collapseAt:_0xf2dddd}=this['context']['config']['get']('presenceList'),_0x4a3aa4=this['usersCount']>=_0xf2dddd;if(this['currentDisplayedUsers']['get'](_0x41ea1b['id']))this['currentDisplayedUsers']['remove'](_0x41ea1b['id']);else{if(_0x4a3aa4&&this['currentDisplayedUsers']['length']+0x1===_0xf2dddd-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4a3aa4?0x1:0x0)<this['usersCount']){for(const _0x16e920 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x16e920['id'])&&(this['currentDisplayedUsers']['add'](_0x16e920,Math['min'](this['currentDisplayedUsers']['length']-(_0x4a3aa4?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4a3aa4?0x1:0x0)===_0xf2dddd-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xf35e25=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new It(this['context']['locale'],!!_0xf35e25['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x1b19db}=this['presenceDropdownView'];_0x1b19db['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1871e3=>{if(!_0xf35e25['displayMe']&&_0x1871e3['isMe'])return null;const _0x2ccc2c=new Tt(this['context']['locale'],_0x1871e3,!!_0xf35e25['onClick']);return _0xf35e25['onClick']&&this['listenTo'](_0x2ccc2c,'execute',()=>{_0xf35e25['onClick'](_0x1871e3,_0x2ccc2c['element']);}),_0x2ccc2c;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1b19db['focus'](),_0x1b19db['checkIfScrollable']();const _0x32d068=(_0x43a2c4,_0x1d8eed)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1d8eed();};_0x1b19db['keystrokes']['set']('Esc',_0x32d068),_0x1b19db['keystrokes']['set']('Shift+Tab',_0x32d068),_0x1b19db['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x1b19db['focusTracker']['add'](this['view']['element']),_0x1b19db['focusTracker']['on']('change:isFocused',(_0x33fc24,_0xdccfa,_0x39d07e)=>{_0x39d07e||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);}_hideDropdownUnlessPointerInside(_0x53e0bf){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x4a6389=>_0x48de1b(_0x4a6389,_0x53e0bf))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},xt=class extends _0x2ea2c1{static get requires(){return[Q,Ot];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{at as CloudServicesCommentsAdapter,wt as CloudServicesRevisionHistoryAdapter,ut as CloudServicesTrackChangesAdapter,xt as PresenceList,Ot as PresenceListUI,it as RealTimeCollaborationClient,pt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,_t as RealTimeCollaborativeRevisionHistory,gt as RealTimeCollaborativeTrackChanges,Q as Sessions,J as WebSocketGateway};
|