@ckeditor/ckeditor5-real-time-collaboration 49.1.0-alpha.2 → 49.1.0-alpha.4
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
|
-
((()=>_0x1892ca)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x2c32e7,_0xe3af1];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x24a1a1){super(_0x24a1a1),this['set']('state',_0x21e980['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1f66f9())();}init(){const _0x35282c=this['context'],_0x4439d3=_0x35282c['plugins']['get'](_0x2c32e7),_0x173f67=_0x35282c['plugins']['get'](_0xe3af1);if(!_0x4439d3['token'])throw new _0x36a0fd('websocketgateway-missing-token',this);if(!_0x4439d3['webSocketUrl'])throw new _0x36a0fd('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'](_0x4439d3['token'],_0x4439d3['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x47d845=>{if(this['connection']=_0x47d845,this['bind']('state')['to'](_0x47d845,'state',this,'_isBrowserOffline',(_0x28f6e5,_0x36f894)=>('connected'!==_0x28f6e5&&(this['_shouldPluginsReconnect']=!0x0),_0x36f894||_0x28f6e5!==_0x21e980['CONNECTED']?_0x21e980['DISCONNECTED']:this['state']==_0x21e980['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x21e980['CONNECTING']):_0x21e980['CONNECTED'])),this['connection']['on']('error',(_0x1a0afe,_0x19f536)=>{if('limitExceeded'!==_0x19f536['code'])throw console['error'](_0x19f536),new _0x36a0fd('cloudservices-init',null,{'originalError':_0x19f536});_0x173f67['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'});}),!_0x47d845['me'])return new Promise(_0x1c475f=>_0x47d845['on']('change:me',_0x1c475f));})['catch'](_0x1e793a=>{throw console['error'](_0x1e793a),new _0x36a0fd('cloudservices-init',null,{'originalError':_0x1e793a});});}addToReconnectionStack(_0x10e6a2){if('function'!=typeof _0x10e6a2['reconnect'])throw new _0x36a0fd('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x10e6a2))throw new _0x36a0fd('websocketgateway-plugin-already-registered',this,{'name':_0x10e6a2['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x10e6a2);}removeFromReconnectionStack(_0x902b75){this['_reconnectionStack']['delete'](_0x902b75);}isInReconnectionStack(_0x6f96be){return this['_reconnectionStack']['has'](_0x6f96be);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3b4831=>_0x3b4831['reconnect']())))['then'](()=>this['state']=_0x21e980['CONNECTED'])['catch'](_0xa9f68a=>{throw console['error'](_0xa9f68a),new _0x36a0fd('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x21e980['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},J=class extends _0x577128{['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[K,_0x1d1b46];}constructor(_0x1aca5f){super(_0x1aca5f),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x47fd78(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1d1b46);}init(){const _0x5d8076=this['context']['plugins']['get'](K);this['listenTo'](_0x5d8076,'change:state',(_0x51dba0,_0x3ad9d2,_0x266d82)=>{if('connected'!==_0x266d82)this['channelSessions']['forEach'](_0x344cf2=>_0x344cf2['clear']()),this['channelConnectedUsers']['forEach'](_0x57cb76=>_0x57cb76['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1bfdba,_0x29dd0f]of this['_registeredSessions'])for(const _0x1ffa84 of _0x29dd0f)this['_handleSessionAdd'](_0x1bfdba,_0x1ffa84);}}),this['_createUser'](_0x5d8076['connection']['me'],!0x0);}register(_0x8feb6,_0x105098){if(this['_registeredSessions']['has'](_0x8feb6))throw new _0x36a0fd('sessions-register-already-registered',null,{'channelId':_0x8feb6});this['_registeredSessions']['set'](_0x8feb6,_0x105098),this['channelSessions']['set'](_0x8feb6,new _0x47fd78()),this['channelConnectedUsers']['set'](_0x8feb6,new _0x47fd78()),this['listenTo'](_0x105098,'add',(_0x2dd170,_0x4d3f90)=>this['_handleSessionAdd'](_0x8feb6,_0x4d3f90)),this['listenTo'](_0x105098,'remove',(_0x3b1260,_0x1c1342)=>this['_handleSessionRemove'](_0x8feb6,_0x1c1342));for(const _0x2d82d6 of _0x105098)this['_handleSessionAdd'](_0x8feb6,_0x2d82d6);}unregister(_0x4eefa3){if(!this['_registeredSessions']['has'](_0x4eefa3))throw new _0x36a0fd('sessions-unregister-not-exist',null,{'channelId':_0x4eefa3});const _0x1ede04=this['_registeredSessions']['get'](_0x4eefa3);this['stopListening'](_0x1ede04);for(const _0xd12e49 of _0x1ede04)'connected'===this['context']['plugins']['get'](K)['state']&&this['_handleSessionRemove'](_0x4eefa3,_0xd12e49);this['_registeredSessions']['delete'](_0x4eefa3),this['channelSessions']['delete'](_0x4eefa3),this['channelConnectedUsers']['delete'](_0x4eefa3);}get['mySessionId'](){return this['context']['plugins']['get'](K)['connection']['sessionId'];}getUserBySessionId(_0x17e973){for(const _0x4d8042 of this['channelSessions']['values']())for(const _0x1e83a0 of _0x4d8042)if(_0x1e83a0['id']===_0x17e973)return _0x1e83a0['user'];}getUserSessions(_0x3fe373,_0x1c7666){const _0x4abdef=_0x1c7666?[this['channelSessions']['get'](_0x1c7666)]:this['channelSessions']['values'](),_0x51cc27=new Set();for(const _0x2b96a0 of _0x4abdef)for(const _0x528cb1 of _0x2b96a0)_0x528cb1['user']['id']===_0x3fe373['id']&&_0x51cc27['add'](_0x528cb1['id']);return _0x51cc27;}getUserRole(_0x24b771){for(const _0x52bcc7 of this['channelSessions']['values']())for(const _0x30b06c of _0x52bcc7)if(_0x30b06c['user']===_0x24b771)return _0x30b06c['role'];}['_handleSessionAdd'](_0x3e2fb4,_0x3eb9f7){if('connected'!==this['context']['plugins']['get'](K)['state'])return;const _0x5040c7=_0x3eb9f7['user'],_0x23b402=this['_users']['getUser'](_0x5040c7['id'])||this['_createUser'](_0x5040c7),_0x2d5890=Object['assign']({},_0x3eb9f7,{'user':_0x23b402});if(this['channelSessions']['get'](_0x3e2fb4)['add'](_0x2d5890),!_0x5040c7['hiddenInPresenceList']){const _0x35c40d=this['channelConnectedUsers']['get'](_0x3e2fb4);_0x35c40d['has'](_0x23b402['id'])||_0x35c40d['add'](_0x23b402),this['allConnectedUsers']['has'](_0x23b402['id'])||_0x5040c7['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x23b402,_0x23b402['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3e2fb4,{'channelId':_0x3e2fb4,'session':_0x2d5890});}['_handleSessionRemove'](_0x24a4c1,_0x5768ca){if('connected'!==this['context']['plugins']['get'](K)['state'])return;const _0x100ce2=this['channelConnectedUsers']['get'](_0x24a4c1),_0x5b4078=_0x5768ca['user'];_0x5b4078['id']&&(this['channelSessions']['get'](_0x24a4c1)['remove'](_0x5768ca['id']),_0x100ce2['has'](_0x5b4078['id'])&&!this['getUserSessions'](_0x5b4078,_0x24a4c1)['size']&&_0x100ce2['remove'](_0x5b4078['id']),this['allConnectedUsers']['get'](_0x5b4078['id'])&&!this['getUserSessions'](_0x5b4078)['size']&&this['allConnectedUsers']['remove'](_0x5b4078['id']));}_createUser(_0x539c8c,_0x43d1da){const _0x5a317b=this['_users']['addUser'](_0x539c8c);return _0x43d1da&&this['_users']['defineMe'](_0x539c8c['id']),_0x5a317b['orderNumber']=this['_uniqueUsersCount']++,_0x5a317b;}},X=class extends _0x472486{_domEmitter=new(_0x1f66f9())();static get requires(){return[J];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x313df9=this['editor'],_0x24a989=_0x313df9['plugins']['get'](J);_0x313df9['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x59f629,{writer:_0x2be27e})=>function(_0x1bb425,_0x44ba66,_0x558e1d,_0x464753){const _0xa69fe4=_0x1bb425['markerName']['split'](':')[0x2],_0x4aec49=_0x558e1d['getUserBySessionId'](_0xa69fe4);if(!_0x4aec49||_0xa69fe4===_0x558e1d['mySessionId'])return;if(!_0x464753['model']['schema']['checkChild'](_0x1bb425['markerRange']['start'],'$text'))return;const _0xe6e4f3={'class':'ck-user__marker\x20'+_0x4aec49['color']['getMarkerClass'](),'style':tt(_0x4aec49),'data-name':_0x4aec49['name'],'data-session-id':_0xa69fe4},_0x5a5b85=_0x464753['model']['markers']['get'](_0x1bb425['markerName'])['getStart'](),_0x1d215e=_0x5a5b85['nodeAfter'],_0xb1322=_0x464753['model']['schema'];if(_0x1d215e&&_0xb1322['isObject'](_0x1d215e)&&_0xb1322['isInline'](_0x1d215e)&&!_0x464753['model']['markers']['get']('user:range:'+_0xa69fe4)['getRange']()['isCollapsed'])return;const _0x53eef0=_0x5a5b85['parent'];return _0x464753['model']['schema']['isLimit'](_0x53eef0)&&!_0x464753['model']['hasContent'](_0x53eef0)&&(_0xe6e4f3['contenteditable']=!0x1),function(_0x409a02,_0x1f39d7,_0x29c0ef){const _0x50f44c=_0x409a02['createUIElement']('span',_0x1f39d7);return _0x409a02['setCustomProperty']('userPositionMarker',!0x0,_0x50f44c),_0x50f44c['render']=function(_0x1a24f2){const _0x4dc58a=this['toDomElement'](_0x1a24f2),_0xfd2ba6=document['createElement']('span');return _0xfd2ba6['classList']['add']('ck-user__marker-tooltip'),_0xfd2ba6['setAttribute']('contenteditable','false'),_0xfd2ba6['setAttribute']('spellcheck','false'),_0xfd2ba6['textContent']=_0x29c0ef['name'],_0x4dc58a['innerHTML']=_0x41647d('<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0xfd2ba6['outerHTML']+''),_0x4dc58a['addEventListener']('mouseenter',()=>{_0x4dc58a['classList']['add']('ck-user__marker_hovered');}),_0x4dc58a['addEventListener']('mouseleave',()=>{_0x4dc58a['classList']['remove']('ck-user__marker_hovered');}),_0x4dc58a;},_0x50f44c['isSimilar']=function(_0xc020e4){return!(!this['getCustomProperty']('userPositionMarker')||!_0xc020e4['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xc020e4['getAttribute']('data-session-id'));},_0x50f44c;}(_0x44ba66,_0xe6e4f3,_0x4aec49);}(_0x59f629,_0x2be27e,_0x24a989,_0x313df9)}),_0x313df9['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x1a1478=>function(_0x4d4b55,_0xd66823){const _0xc4d980=_0x4d4b55['markerName']['split'](':')[0x2];if(_0xc4d980===_0xd66823['mySessionId'])return null;const _0x12b4fd=_0xd66823['getUserBySessionId'](_0xc4d980);return _0x12b4fd?{'id':_0xc4d980,'classes':['ck-user__selection',_0x12b4fd['color']['getSelectionClass']()],'attributes':{'style':tt(_0x12b4fd),'data-session-id':_0xc4d980},'priority':0x7d0+_0x12b4fd['orderNumber']}:{'id':_0xc4d980,'classes':[]};}(_0x1a1478,_0x24a989)}),function(_0x4c3f9a){const _0x134588=_0x4c3f9a['model'],_0x2c536e=new Map(),_0xcff005=_0x4c3f9a['plugins']['get'](J);_0x134588['markers']['on']('update:user:range',(_0x4aa625,_0x47bab0,_0x348a88,_0x34477d)=>{if(!_0x34477d&&_0x2c536e['get'](_0x47bab0['name']))return _0x2c536e['get'](_0x47bab0['name'])['detach'](),void _0x2c536e['delete'](_0x47bab0['name']);const _0x1faf91=_0x47bab0['name']['split'](':')[0x2];if(_0x1faf91===_0xcff005['mySessionId'])return;const _0x3b5b52='user:position:'+_0x1faf91;_0x134588['markers']['has'](_0x3b5b52)&&_0x4c3f9a['editing']['reconvertMarker'](_0x3b5b52),_0x47bab0['on']('change:range',(_0x3c8848,_0x3c804f,_0x2855ab)=>{if('$graveyard'!=_0x3c804f['root']['rootName']&&'$graveyard'==_0x47bab0['getRange']()['root']['rootName']&&!_0x2c536e['has'](_0x47bab0['name'])){const _0x57f1fb=_0x134588['schema']['getNearestSelectionRange'](_0x2855ab['deletionPosition']);if(_0x57f1fb){const _0x29e641=_0x583030['fromRange'](_0x57f1fb);_0x2c536e['set'](_0x47bab0['name'],_0x29e641),_0x29e641['on']('change:range',(_0x4b5a18,_0x1fd539,_0x1ca71b)=>{if('$graveyard'==_0x29e641['root']['rootName']){const _0x2302bc=_0x134588['schema']['getNearestSelectionRange'](_0x1ca71b['deletionPosition']);_0x2302bc?(_0x29e641['start']=_0x2302bc['start'],_0x29e641['end']=_0x2302bc['end']):(_0x2c536e['delete'](_0x47bab0['name']),_0x29e641['detach']());}});}}});}),_0x134588['document']['on']('change',()=>{_0x2c536e['size']>0x0&&_0x134588['enqueueChange']({'isUndoable':!0x1},_0x2e7097=>{for(const [_0x438a03,_0x2b39e0]of _0x2c536e)'$graveyard'==_0x134588['markers']['get'](_0x438a03)['getRange']()['root']['rootName']&&(Z(_0x438a03['split'](':')[0x2],_0x2b39e0['toRange'](),_0x134588,_0x2e7097),_0x2b39e0['detach']());_0x2c536e['clear']();});});}(_0x313df9),this['_domEmitter']['listenTo'](_0x159ccb['document'],'keydown',(_0x1a4b28,{key:_0x9d299c})=>{'Escape'===_0x9d299c&&function(_0x4fa1d1){_0x4fa1d1['editing']['view']['change'](_0xc9969a=>{for(const _0x336d95 of _0x4fa1d1['model']['markers']){if(!_0x336d95['name']['startsWith']('user:position'))continue;const _0x336748=_0x4fa1d1['editing']['mapper']['markerNameToElements'](_0x336d95['name']);if(_0x336748){for(const _0x43ea7a of _0x336748)_0xc9969a['removeClass']('ck-user__marker_hovered',_0x43ea7a);}}});}(_0x313df9);},{'useCapture':!0x0});}afterInit(){const _0x2d6bae=this['editor'],_0x28c5ae=_0x2d6bae['commands']['get']('undo');_0x28c5ae&&_0x2d6bae['model']['on']('applyOperation',(_0x548031,_0x1db5bd)=>{const _0x35c614=_0x1db5bd[0x0];if(!_0x35c614['isDocumentOperation'])return;if('marker'!=_0x35c614['type']||!_0x35c614['name']['startsWith']('user:'))return;const _0x1d3f6c=_0x35c614['batch'];_0x28c5ae['_createdBatches']['has'](_0x1d3f6c)&&(_0x35c614['newRange']=_0x35c614['oldRange']?_0x2d6bae['model']['createRange'](_0x35c614['oldRange']['start'],_0x35c614['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x3c4a94=this['editor'],_0x27bf3d=_0x3c4a94['model']['document'],_0x24ed48=_0x3c4a94['plugins']['get'](J);_0x3c4a94['model']['enqueueChange']({'isUndoable':!0x1},_0x400058=>{const _0x254d0b='user:range:'+_0x24ed48['mySessionId'],_0x2be37='user:position:'+_0x24ed48['mySessionId'],_0x21023e=_0x3c4a94['model']['markers']['has'](_0x254d0b);_0x3c4a94['editing']['view']['hasDomSelection']?Z(_0x24ed48['mySessionId'],_0x27bf3d['selection']['getFirstRange'](),_0x3c4a94['model'],_0x400058):_0x21023e&&(_0x400058['removeMarker'](_0x254d0b),_0x400058['removeMarker'](_0x2be37));});}};function Z(_0x57f3eb,_0x1849db,_0x58f5fa,_0x4b5039){const _0x4cf6fa='user:range:'+_0x57f3eb,_0x5b7950='user:position:'+_0x57f3eb,_0x53ea7e=_0x1849db['getContainedElement']();let _0x46e100=_0x1849db['start'];if(_0x53ea7e&&_0x53ea7e['is']('element','tableCell')){const _0x479fea=function(_0x4d35a1,_0x327809){for(const _0x46a149 of _0x4d35a1['getPositions']())if(_0x327809['schema']['checkChild'](_0x46a149,'$text'))return _0x46a149;}(_0x1849db,_0x58f5fa);_0x479fea&&(_0x46e100=_0x479fea,_0x1849db=_0x4b5039['createRange'](_0x46e100));}const _0x345b30=_0x4b5039['createRange'](_0x46e100);_0x58f5fa['markers']['has'](_0x4cf6fa)?(_0x4b5039['updateMarker'](_0x4cf6fa,{'range':_0x1849db}),_0x4b5039['updateMarker'](_0x5b7950,{'range':_0x345b30})):(_0x4b5039['addMarker'](_0x4cf6fa,{'range':_0x1849db,'usingOperation':!0x0}),_0x4b5039['addMarker'](_0x5b7950,{'range':_0x345b30,'usingOperation':!0x0}));}function tt(_0x40eeeb){return'--ck-user-color:'+_0x40eeeb['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x40eeeb['color']['getColorAlphaVariable']()+';';}function et(_0x3276ff,_0x2ce1c4,_0x26af51){const _0xcb03f3=_0x3276ff['t'],t=_0x3276ff['t'];switch(_0x2ce1c4){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 _0xcb03f3({'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'},_0x26af51);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x472486{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x33b0db)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[K,J,X,_0x319a38,_0x1d1b46,_0xe3af1];}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 _0x4fa83b=this['serverHistory']['getOperations']();for(let _0x58c0ba=_0x4fa83b['length']-0x1;_0x58c0ba>=0x0;_0x58c0ba--){const _0x181c11=_0x4fa83b[_0x58c0ba];if(!this['_disconnectionOperations']['has'](_0x181c11))return _0x181c11['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x165d1f){if(super(_0x165d1f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x467c44(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x36a0fd('collaboration-missing-channelid',this);const _0x3cce54=_0x165d1f['config']['get']('cloudServices.bundleVersion')||_0xfc9d30;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3cce54,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x38dc71(),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 ot(this['_disconnectionOperations']);}init(){const _0x35097d=this['editor'],_0x1cc193=_0x35097d['plugins']['get'](_0x1d1b46),_0x89f280=_0x35097d['plugins']['get'](K);this['listenTo'](_0x1cc193,'getOperationAuthor',(_0x55cfe4,_0x103249)=>{const _0x4b0fa7=_0x103249[0x0];_0x4b0fa7['_authorId']&&(_0x55cfe4['return']=_0x1cc193['getUser'](_0x4b0fa7['_authorId']),_0x55cfe4['stop']()),null===_0x4b0fa7['_authorId']&&(_0x55cfe4['return']=null,_0x55cfe4['stop']());},{'priority':'high'}),this['listenTo'](_0x35097d['model']['document']['selection'],'change:range',(_0x4043a7,_0x22d16d)=>{_0x22d16d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x35097d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x35097d['model']['on']('applyOperation',(_0x35a6be,_0x342c44)=>{const _0x388313=_0x342c44[0x0];_0x388313['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x388313),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x89f280,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x438ee9,_0x56c351,_0x39f55b)=>'connected'===_0x438ee9&&!_0x56c351&&!_0x39f55b),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x35097d['disableReadOnlyMode']('rtc-offline'):_0x35097d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x35097d['disableReadOnlyMode']('rtc-offline'):_0x35097d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x5b9fc3=this['editor']['plugins']['get'](J),_0x4d2af9=this['editor']['plugins']['get'](K);try{this['_isPendingUpdate']=!0x0,_0x5b9fc3['unregister'](this['_channelId']);const _0x90df6a=await this['_service']['reconnect'](_0x4d2af9['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x90df6a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1f71d2=await this['_service']['getConnectedSessions']();_0x5b9fc3['register'](this['_channelId'],_0x1f71d2),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2b089d){if(function(_0x462eb8){return'404'===_0x462eb8['code'];}(_0x2b089d)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x510482){return'409'===_0x510482['code'];}(_0x2b089d)){const _0xcbe635=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'](_0xcbe635);}else{if(!(_0x2b089d instanceof nt))throw _0x2b089d;this['_handleReconnectionError']();}}}}destroy(){const _0x55f569=this['editor']['plugins']['get'](K),_0x5760b7=this['editor']['plugins']['get'](J);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5760b7['channelSessions']['has'](this['_channelId'])&&_0x5760b7['unregister'](this['_channelId']),_0x55f569['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x407dba){if(this['sessionId']!==_0x407dba['sessionId']&&this['_lastSyncedOperationId']!==_0x407dba['lastOperationId'])throw new nt();return this['sessionId']=_0x407dba['sessionId'],this['_handleServerResponse']([],{..._0x407dba,'wereChangesApplied':!0x1,'data':_0x407dba['data']},'reconnect');}async _connectService(_0x26263c,_0x3d6013=!0x1){const {connection:_0x3cb18b}=this['editor']['plugins']['get'](K);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x3cb18b,this['_channelId'])['then'](_0x540b11=>this['_initSessionsHandling'](_0x540b11))['catch'](_0x41d0df=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x41d0df);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x440c28,_0x534e96)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x534e96);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x204d49=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x26263c);this['_isPendingUpdate']=!0x0;const _0xbdbd7a=await this['_service']['connect'](_0x3cb18b,this['_compressOperations'](_0x26263c),_0x204d49);if(this['sessionId']=_0xbdbd7a['sessionId'],_0x3d6013){if(!_0xbdbd7a['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xbdbd7a['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x26263c,_0xbdbd7a,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xbdbd7a,_0x26263c);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0xebf011=this['editor']['plugins']['get'](J),_0x1b64aa=this['editor']['plugins']['get'](X),_0x237d1c=_0xebf011['channelSessions']['get'](this['_channelId']);_0x237d1c&&_0x237d1c['length']>0x1?_0x1b64aa['createUserMarkerOperations']():this['listenTo'](_0xebf011,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xebf011['channelSessions']['get'](this['_channelId'])['length']&&_0x1b64aa['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x5456a1,_0x2f4cf8,_0x40a472,_0x3fae4c){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2f4cf8){const _0x169cf6=this['_decompressOperations'](_0x40a472,_0x3fae4c);await this['_fetchMissingUsers'](_0x169cf6),this['_handleExternalOperations'](_0x169cf6,_0x2f4cf8,_0x40a472['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x4965fa}=this['editor'];let _0x3681f9;try{_0x3681f9=await this['_service']['getDocumentDetails']();}catch{const _0x22ea50=et(_0x4965fa,'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'](_0x22ea50);}const _0xa599e0=_0x3681f9['currentDocumentSession']||_0x3681f9['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0xa599e0['lastOperationId']){const _0x48e823=et(_0x4965fa,'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'](_0x48e823);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x168090=this['editor']['plugins']['get'](K);if(this['_isConnected']=!0x1,!_0x168090['connection']||'connected'!==_0x168090['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x1bf6eb=this['editor']['plugins']['get'](J);_0x1bf6eb['channelSessions']['has'](this['_channelId'])&&_0x1bf6eb['unregister'](this['_channelId']),_0x168090['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x5718f6){const _0x6c44d6=this['editor']['plugins']['get'](J);this['listenTo'](_0x6c44d6,'sessionAdd:'+this['_channelId'],(_0x323811,{session:_0x31161c})=>{if(_0x31161c['id']===_0x6c44d6['mySessionId']){_0x323811['off']();const _0xb6f85f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x28faeb=_0x31161c['permissions'];_0xb6f85f&&_0xb6f85f['isEnabled']&&(_0x28faeb=_0x28faeb['filter'](_0x50dd91=>'document:write'!==_0x50dd91)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x28faeb,this['_channelId']);}}),_0x6c44d6['register'](this['_channelId'],_0x5718f6);}_initThrowingOnDataSet(){const _0x3ca04f=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1ee542)=>{if(!_0x1ee542[_0x1ee542['length']-0x1]['suppressErrorInCollaboration'])throw new _0x36a0fd('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3ca04f['apply'](this['editor']['data'],_0x1ee542);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x1de8e5,[_0x199bca])=>{if(this['_document']['version'])throw new _0x36a0fd('realtimecollaborationclient-init-document-already-initialized',this);_0x1de8e5['stop'](),this['_setPendingAction']();const _0x1441bf=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x2f89e6])=>!_0x2f89e6['lazyLoad'])['map'](([_0x2455dc,_0x5ea829])=>[_0x2455dc,_0x5ea829['modelAttributes']||{}])),_0x122bc6=this['_getOperationsFromInitData'](_0x199bca,_0x1441bf);0x0==_0x122bc6['length']&&_0x122bc6['push'](new _0x552d80(0x0)),_0x1de8e5['return']=this['_connectService'](_0x122bc6)['then'](()=>{this['editor']['plugins']['get'](K)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x516bbc=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x516bbc))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x24d0b6,[_0x311081,_0x50cc84])=>{_0x24d0b6['stop']();const _0x54b51e=this['editor']['model']['document']['getRoot'](_0x311081);if(!this['_knownRootNames']['has'](_0x311081)){const _0x33a076=_0x50cc84&&_0x50cc84['data']?_0x50cc84['data']:'',_0xe66c0=_0x50cc84&&_0x50cc84['attributes']?_0x50cc84['attributes']:{};await this['_loadRoot'](_0x311081,_0x33a076,_0xe66c0);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x54b51e['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x54b51e);});},{'priority':'high'});}async _fetchMissingUsers(_0x46e4f4){const _0xe81691=this['editor']['plugins']['get'](_0x1d1b46),{connection:_0x536b84}=this['editor']['plugins']['get'](K),_0x49e2e1=new Set();for(const _0x283158 of _0x46e4f4){const _0x590845=_0x283158['_authorId'];_0x590845&&!_0xe81691['getUser'](_0x590845)&&_0x49e2e1['add'](_0x590845);}if(0x0===_0x49e2e1['size'])return;const _0x1273cc=await _0x3d6f90['getMany'](_0x536b84,Array['from'](_0x49e2e1));for(const _0x1a1c49 of _0x1273cc)_0xe81691['getUser'](_0x1a1c49['id'])||_0xe81691['addUser'](_0x1a1c49);}_getOperationsFromInitData(_0x2c36d0,_0x1b05b5={}){const _0xb376bb=this['editor']['model'],_0x5dfba2=[];let _0x507ac9=0x0;const _0x3b823f='string'==typeof _0x2c36d0?{'main':_0x2c36d0}:_0x2c36d0;for(const _0x2856ff of Object['keys'](_0x3b823f)){if(!this['_document']['roots']['has'](_0x2856ff))throw new _0x36a0fd('realtimecollaborationclient-init-non-existent-root',this);const _0x568ba3=this['_document']['getRoot'](_0x2856ff),_0x2fb6ff=this['editor']['data']['parse'](_0x3b823f[_0x2856ff],_0x568ba3),_0x1a5303=new _0xaf13f4(_0xb376bb['createPositionAt'](_0x568ba3,0x0),_0x2fb6ff,_0x507ac9++);_0x5dfba2['push'](_0x1a5303);for(const [_0x4eee7a,_0x2d391f]of _0x2fb6ff['markers']){const _0x495383=_0xb376bb['createRange'](_0xb376bb['createPositionFromPath'](_0x568ba3,_0x2d391f['start']['path']['slice']()),_0xb376bb['createPositionFromPath'](_0x568ba3,_0x2d391f['end']['path']['slice']())),_0x277288=new _0x3438ad(_0x4eee7a,null,_0x495383,_0xb376bb['markers'],!0x0,_0x507ac9++);_0x5dfba2['push'](_0x277288);}}if(_0x1b05b5)for(const [_0x2fb089,_0x28048f]of Object['entries'](_0x1b05b5)){const _0x312a0e=_0xb376bb['document']['getRoot'](_0x2fb089);if(!_0x312a0e)throw new _0x36a0fd('multi-root-editor-root-attributes-no-root',null);for(const [_0x29256d,_0x1a6760]of Object['entries'](_0x28048f))if(null!==_0x1a6760){const _0x1efd60=new _0x56bf88(_0x312a0e,_0x29256d,null,_0x1a6760,_0x507ac9++);_0x5dfba2['push'](_0x1efd60);}}return _0x5dfba2;}async _loadRoot(_0x5f4a54,_0x2b3b98,_0x4b108d){this['_getOperationsFromInitData']({[_0x5f4a54]:_0x2b3b98},{[_0x5f4a54]:_0x4b108d})['forEach']((_0x24ac93,_0x3727f8)=>{_0x24ac93['baseVersion']=this['_document']['version']+_0x3727f8,_0x24ac93['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x24ac93);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x446280,_0x14c366){let _0x38a106;this['_offset']=_0x446280['offset'];const _0x11e838=_0x446280['wereChangesApplied']&&!_0x446280['initData'],_0x4dc97d=_0x11e838?0x0:_0x446280['data']['baseVersion'];if(_0x14c366['forEach'](_0x1c6cbf=>{_0x1c6cbf['_isInit']=!0x0,_0x1c6cbf['createdAt']=_0x446280['sessionCreatedAt'],_0x1c6cbf['_authorId']=null;}),_0x11e838)_0x38a106=_0x14c366,this['_applyOperationsSet'](_0x38a106,_0x11e838);else{if(_0x446280['initData']){const _0xb7314f=this['_getOperationsFromInitData'](_0x446280['initData']);this['_document']['history']['version']=-_0xb7314f['length'],_0xb7314f['forEach'](_0x5958a8=>{_0x5958a8['baseVersion']-=_0xb7314f['length'],_0x5958a8['createdAt']=_0x446280['sessionCreatedAt'],_0x5958a8['_isInit']=!0x0,_0x5958a8['_authorId']=null;}),this['_applyOperationsSet'](_0xb7314f,!0x0),this['serverHistory']['version']=-_0xb7314f['length']+this['_offset'],this['_updateServerHistory'](_0xb7314f);}this['_document']['history']['version']=_0x4dc97d,_0x38a106=this['_decompressOperations'](_0x446280['data'],_0x446280['metadata']),await this['_fetchMissingUsers'](_0x38a106),this['_applyOperationsSet'](_0x38a106,_0x11e838);}_0x446280['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x38a106,_0x446280['lastOperationId']),this['_lastSyncedOperationId']=_0x446280['lastOperationId']),this['serverHistory']['version']=_0x4dc97d+this['_offset'],this['_updateServerHistory'](_0x38a106),_0x14c366['filter'](_0x3f6a28=>{const _0x47b6a5=this['_getAffectedRoot'](_0x3f6a28);return _0x47b6a5&&!this['_knownRootNames']['has'](_0x47b6a5);})['forEach']((_0x14a14f,_0x1bcc2d)=>{_0x14a14f['baseVersion']=this['_document']['version']+_0x1bcc2d,this['_saveOperationInBuffer'](_0x14a14f);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x59aa50,_0x93e657){const _0x280b79=_0x93e657&&_0x93e657['message'];if(_0x280b79&&_0x280b79['startsWith']('realtimecollaborationclient'))throw _0x93e657;const _0x3cf63e=this['editor']['plugins']['get'](K);throw this['_isPendingUpdate']=!0x0,_0x3cf63e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x36a0fd(_0x59aa50,this['editor'],_0x280b79?{'originalError':_0x280b79}:void 0x0);}_saveOperationInBuffer(_0x2b77b5){this['_knownOperations']['has'](_0x2b77b5)||(this['_knownOperations']['add'](_0x2b77b5),this['_bufferedOperations']['push'](_0x2b77b5),this['_pendingAction']||'marker'==_0x2b77b5['type']&&!_0x2b77b5['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x2e2637=!0x1){!_0x2e2637&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x591a37=>{_0x591a37&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2252fe=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4a293c){return _0x4a293c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4a293c['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4a293c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2252fe)||this['_crash'](_0x2252fe['message'],_0x2252fe);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x5dd12d=>{this['on']('change:_isPendingUpdate',()=>{_0x5dd12d();});});}async _sendBufferedOperations(){const _0x290d23=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x290d23['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x6717aa=[...this['_bufferedOperations']];for(const _0x3db95e of _0x6717aa)_0x3db95e['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3db95e);const _0x156e51=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x6717aa),_0x33783f=st++,_0x2cb039=this['_compressOperations'](_0x6717aa),_0x17462e=await this['_service']['sendOperations'](_0x2cb039,_0x2cb039['baseVersion'],_0x156e51);try{return await this['_handleServerResponse'](_0x6717aa,_0x17462e,_0x33783f);}catch(_0x251661){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x251661);}}async['_handleServerResponse'](_0x5e6d62,_0x13df1c,_0x9aee73){if('error'in _0x13df1c)throw _0x13df1c['error'];let _0x5af193;if(_0x13df1c['wereChangesApplied']){_0x13df1c['lastOperationId']&&(this['_lastSyncedOperationId']=_0x13df1c['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1b9e3e=>!_0x5e6d62['includes'](_0x1b9e3e));for(const _0x5a139d of _0x5e6d62)_0x5a139d['createdAt']='lastOperationAcceptedAt'in _0x13df1c&&_0x13df1c['lastOperationAcceptedAt']||void 0x0;rt(_0x5e6d62,_0x13df1c['version']-_0x5e6d62['length']),this['_updateServerHistory'](_0x5e6d62);const _0x53efed=_0x5e6d62['filter'](_0x1ad669=>{if(!_0x1ad669['_isInit'])return!0x1;const _0x2612bd=this['_getAffectedRoot'](_0x1ad669);return _0x2612bd&&!this['_knownRootNames']['has'](_0x2612bd);});rt(_0x53efed,this['_document']['version']),this['_applyOperationsSet'](_0x53efed),_0x5af193=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x48d998=this['_decompressOperations'](_0x13df1c['data'],_0x13df1c['metadata'])['filter'](_0x4b51b7=>_0x4b51b7['baseVersion']>=this['_lastServerVersion']);_0x48d998['forEach'](_0x59d773=>this['_addKnownRoot'](_0x59d773)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1c2dc3=>!_0x1c2dc3['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x1c2dc3))),this['_bufferedOperations']['length']&&rt(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x48d998),_0x5af193=this['_handleExternalOperations'](_0x48d998,_0x13df1c['version'],_0x13df1c['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5af193?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x2a8ad2,_0x1a9c18,_0x1790ce){try{const _0x2ef4d4={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1e316d,operationsB:_0x83c399,originalOperations:_0x23babb}=_0x25bfc3(_0x2a8ad2,this['_bufferedOperations'],_0x2ef4d4);rt(_0x1e316d,this['_document']['version']),rt(_0x83c399,_0x1a9c18);for(const _0xcef920 of _0x1e316d){const _0x584314=_0x23babb['get'](_0xcef920);_0x584314?(_0xcef920['_authorId']=_0x584314['_authorId'],'noop'!==_0xcef920['type']&&(_0xcef920['_aiSource']=_0x584314['_aiSource'])):_0xcef920['_authorId']=null;}for(const _0xa08c6a of _0x83c399)'noop'!==_0xa08c6a['type']&&(_0xa08c6a['_aiSource']=_0x23babb['get'](_0xa08c6a)?.['_aiSource']);_0x1790ce&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2a8ad2,_0x1790ce),this['_lastSyncedOperationId']=_0x1790ce),this['_bufferedOperations']=[..._0x83c399],this['_applyOperationsSet'](_0x1e316d),this['_updateServerHistory'](_0x2a8ad2);}catch(_0x51095e){return console['error'](_0x51095e),!0x1;}return!0x0;}_applyOperationsSet(_0x1c133e,_0x5d83b4=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x15a15e=>{for(const _0x559a6c of _0x1c133e)this['_knownOperations']['add'](_0x559a6c),this['_addKnownRoot'](_0x559a6c),_0x15a15e['batch']['addOperation'](_0x559a6c),this['editor']['model']['applyOperation'](_0x559a6c);});}_addKnownRoot(_0x155ef8){const _0xc04f6f=this['_getAffectedRoot'](_0x155ef8);_0xc04f6f&&this['_knownRootNames']['add'](_0xc04f6f);}_getAffectedRoot(_0x5a39a1){let _0x5a4c87,_0x21709e;switch(_0x5a39a1['type']){case'insert':_0x5a4c87=_0x5a39a1['position']['root'];break;case'marker':if(_0x21709e=_0x5a39a1['newRange'],!_0x21709e)return null;_0x5a4c87=_0x21709e['root'];break;case'addRootAttribute':_0x5a4c87=_0x5a39a1['root'];break;case'addRoot':_0x5a4c87=_0x5a39a1['affectedSelectable'];break;case'move':_0x5a4c87=_0x5a39a1['targetPosition']['root'];break;default:return null;}return _0x5a4c87['rootName'];}_updateServerHistory(_0x44ea76){_0x44ea76['forEach'](_0x3f2e01=>{const _0x56daf2=_0x3f2e01['clone']();_0x56daf2['_authorId']=_0x3f2e01['_authorId'],_0x56daf2['_isInit']=!!_0x3f2e01['_isInit'],_0x56daf2['_aiSource']=_0x3f2e01['_aiSource'],_0x56daf2['createdAt']=_0x3f2e01['createdAt'],_0x56daf2['baseVersion']+=this['_offset'],_0x3f2e01['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x56daf2),this['serverHistory']['addOperation'](_0x56daf2);});}_handleReconnectionError(_0x36ac99){const _0x27bb4e=this['editor']['plugins']['get']('Notification'),_0x3a5ad3=this['editor']['locale'];_0x36ac99||(_0x36ac99=et(_0x3a5ad3,'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.')),_0x27bb4e['showWarning'](_0x36ac99,{'title':et(_0x3a5ad3,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](K)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x319a38)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x319a38)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x2361be){const _0x38f8f3=_0x2361be['map'](_0x2f868a=>_0x2f868a['toJSON']());return this['_compressor']['compress'](_0x38f8f3);}_decompressOperations(_0x50375d,_0x26107f){return this['_compressor']['decompress'](_0x50375d)['map']((_0x4cb146,_0x4053f5)=>{const _0xfca0fd='init'==_0x26107f[_0x4053f5]['type'];if('InsertOperation'==_0x4cb146['__className']){const _0x2bed94=_0x4cb146['position']['root'];!this['_document']['getRoot'](_0x2bed94)&&(this['_document']['createRoot']('$unknown',_0x2bed94)['_isAttached']=!0x1);}else{if('RootOperation'==_0x4cb146['__className']){const _0x116191=this['_document']['getRoot'](_0x4cb146['rootName']);_0x116191&&'$unknown'==_0x116191['name']&&_0x4cb146['elementName']!=_0x116191['name']&&(_0x116191['name']=_0x4cb146['elementName']);}}const _0x583473=_0x5197a1['fromJSON'](_0x4cb146,this['_document']);return _0x583473['wasUndone']=_0x4cb146['wasUndone'],_0x583473['_isInit']=_0xfca0fd,_0x583473['_authorId']=_0xfca0fd?null:_0x26107f[_0x4053f5]['userId'],_0x583473['_isDisconnection']='cs:removeUser'===_0x26107f[_0x4053f5]['type'],_0x583473['_aiSource']=_0x4cb146['_aiSource']||void 0x0,_0x583473['createdAt']=_0x26107f[_0x4053f5]['createdAt'],_0x583473;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0xa2f922=this['editor']['plugins']['get'](J)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xa2f922&&_0xa2f922['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function rt(_0x36731d,_0x55e5ac){for(const _0x4d65f4 of _0x36731d)_0x4d65f4['baseVersion']=_0x55e5ac++;}var ot=class{_ignoredOperations;_operationToId;constructor(_0x3d6a0d){this['_ignoredOperations']=_0x3d6a0d,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x1fde0f){let _0x1fe7d7=_0x1fde0f['length'];for(;_0x1fe7d7--;){const _0x591c22=_0x1fde0f[_0x1fe7d7];if(!this['_ignoredOperations']['has'](_0x591c22)){if(!this['_operationToId']['has'](_0x591c22)){const _0x415eec=_0x48203e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x591c22,_0x415eec);}return this['_operationToId']['get'](_0x591c22);}}}setIdForTheLastOperation(_0x2a08d1,_0x17d85c){if(!_0x17d85c)return;let _0x358a7e=_0x2a08d1['length'];for(;_0x358a7e--;){const _0x59d58c=_0x2a08d1[_0x358a7e];this['_ignoredOperations']['has'](_0x59d58c)||this['_operationToId']['set'](_0x59d58c,_0x17d85c);}}},ct=class extends _0x472486{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class extends _0x472486{['_sources']=new Map();_data=null;_hasStarted=!0x1;static get requires(){return[K,J,_0x1d1b46];}static get['pluginName'](){return'RealTimeContentFetcher';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}_register(_0x1357f2,_0x279e20){if(this['_hasStarted'])throw new _0x36a0fd('realtimecontentfetcher-register-after-init',null,{'name':_0x1357f2});if(this['_sources']['has'](_0x1357f2))throw new _0x36a0fd('realtimecontentfetcher-register-duplicate',null,{'name':_0x1357f2});this['_sources']['set'](_0x1357f2,_0x279e20);}_takeInitialData(_0x480aa9){if(!this['_data'])throw new _0x36a0fd('realtimecontentfetcher-data-not-ready',null,{'name':_0x480aa9});if(!this['_data']['has'](_0x480aa9))throw new _0x36a0fd('realtimecontentfetcher-data-not-available',null,{'name':_0x480aa9});const _0x330493=this['_data']['get'](_0x480aa9);return this['_data']['delete'](_0x480aa9),_0x330493;}async init(){this['_hasStarted']=!0x0;const _0x44cc28=Array['from'](this['_sources']),_0x3d8c4d=await Promise['all'](_0x44cc28['map'](([,_0x495bdb])=>_0x495bdb['fetch']()));await this['_fetchMissingUsers'](_0x44cc28['map'](([,_0x107c5e],_0x2386f4)=>_0x107c5e['getUserIds'](_0x3d8c4d[_0x2386f4]))),this['_data']=new Map(_0x44cc28['map'](([_0x3f9352],_0x3c9a43)=>[_0x3f9352,_0x3d8c4d[_0x3c9a43]]));}async _fetchMissingUsers(_0x1a0d90){const _0x2ae786=this['editor']['plugins']['get'](_0x1d1b46),_0x209be4=new Set();for(const _0x102fc3 of _0x1a0d90)for(const _0x552acb of _0x102fc3)_0x2ae786['getUser'](_0x552acb)||_0x209be4['add'](_0x552acb);if(0x0===_0x209be4['size'])return;const {connection:_0x67cb4}=this['editor']['plugins']['get'](K),_0x351077=await _0x3d6f90['getMany'](_0x67cb4,Array['from'](_0x209be4));for(const _0xb130e5 of _0x351077)_0x2ae786['getUser'](_0xb130e5['id'])||_0x2ae786['addUser'](_0xb130e5);}};function ht(_0xdf48d1){const _0x566f2c=new Set();for(const {resolvedBy:_0x5623fb,comments:_0x2060d9}of _0xdf48d1){_0x5623fb&&_0x566f2c['add'](_0x5623fb);for(const {userId:_0x295cd9}of _0x2060d9)_0x566f2c['add'](_0x295cd9);}return _0x566f2c;}var lt=class CloudServicesCommentsAdapter extends _0x577128{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x22c092)());['_services'];_pendingServiceEvents=new Map();_channelsAwaitingInitialData=new Set();static get requires(){return[K,_0x3b7eba,J,_0x1d1b46];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x14e7bf){super(_0x14e7bf),this['_services']=new Map();}async init(){const _0x19473a=this['context'],_0x1ad104=_0x19473a['plugins']['get'](_0x3b7eba);if(_0x19473a['plugins']['get'](K)['addToReconnectionStack'](this),_0x1ad104['adapter']={'addCommentThread':async({channelId:_0x44ce47,threadId:_0x59154d,comments:_0x4a02bc,resolvedAt:_0x5e3ea9,resolvedBy:_0x33cd35,context:_0xf71422,attributes:_0x58d1db})=>{const _0x1a27b4=await this['_getService'](_0x44ce47)['addCommentThread']({'commentThreadId':_0x59154d,'comments':_0x4a02bc['map'](_0x300a48=>function(_0x8ee1e0,_0x269897,_0x5535a9){return{'commentThreadId':_0x5535a9,'commentId':_0x8ee1e0['commentId'],'userId':_0x8ee1e0['authorId'],'content':_0x8ee1e0['content'],'documentId':_0x269897,'createdAt':_0x8ee1e0['createdAt'],'attributes':_0x8ee1e0['attributes']||{}};}(_0x300a48,_0x44ce47,_0x59154d)),'resolvedAt':_0x5e3ea9,'resolvedBy':_0x33cd35,'context':_0xf71422,'attributes':_0x58d1db})['catch'](ut);return{'threadId':_0x1a27b4['commentThreadId'],'comments':_0x1a27b4['comments']};},'getCommentThread':async({channelId:_0x1a966e,threadId:_0x484405})=>{const _0x6cb662=await this['_getService'](_0x1a966e)['getCommentThread'](_0x484405)['catch'](dt)['catch'](ut);return _0x6cb662?_0x6cb662['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x6cb662]),{'threadId':_0x6cb662['commentThreadId'],'comments':_0x6cb662['comments']['map'](ft),'context':_0x6cb662['context'],'resolvedAt':_0x6cb662['resolvedAt'],'resolvedBy':_0x6cb662['resolvedBy'],'attributes':_0x6cb662['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x268f1c,threadId:_0x15862b,context:_0x20e6f4,unlinkedAt:_0x59028e,attributes:_0xcf0690})=>this['_getService'](_0x268f1c)['updateCommentThread']({'commentThreadId':_0x15862b,'context':_0x20e6f4,'attributes':_0xcf0690,'unlinkedAt':_0x59028e})['catch'](dt)['catch'](ut),'resolveCommentThread':async({channelId:_0x47e567,threadId:_0x130c34})=>{const _0x3507c5=await this['_getService'](_0x47e567)['resolveCommentThread'](_0x130c34)['catch'](dt)['catch'](ut);return{'threadId':_0x3507c5['commentThreadId'],'resolvedAt':_0x3507c5['resolvedAt'],'resolvedBy':_0x3507c5['resolvedBy']};},'reopenCommentThread':async({channelId:_0x109b96,threadId:_0x5633f7})=>this['_getService'](_0x109b96)['reopenCommentThread'](_0x5633f7)['catch'](dt)['catch'](ut),'removeCommentThread':({channelId:_0x1c0769,threadId:_0x1eccfc})=>this['_getService'](_0x1c0769)['removeCommentThread'](_0x1eccfc)['catch'](dt)['catch'](ut),'addComment':({channelId:_0x3a66e8,threadId:_0x3b195a,commentId:_0x3eea41,content:_0x1df09e,attributes:_0x26e6d3})=>this['_getService'](_0x3a66e8)['addComment'](_0x3b195a,_0x3eea41,_0x1df09e,_0x26e6d3)['catch'](ut),'updateComment':({channelId:_0x4dad17,threadId:_0x5b1ac5,commentId:_0x82f523,content:_0x515c03,attributes:_0x111452})=>this['_getService'](_0x4dad17)['updateComment'](_0x5b1ac5,_0x82f523,_0x515c03,_0x111452)['catch'](dt)['catch'](ut),'removeComment':({channelId:_0x2b8946,threadId:_0x25d6e3,commentId:_0x1d19d8})=>this['_getService'](_0x2b8946)['removeComment'](_0x25d6e3,_0x1d19d8)['catch'](dt)['catch'](ut)},_0x19473a instanceof _0x1166e8){const _0x53a2e2=_0x19473a['config']['get']('collaboration.channelId'),_0x363b5f=_0x19473a['plugins']['get'](J);await this['_setUpService'](_0x53a2e2);const _0x2382b4=await this['_services']['get'](_0x53a2e2)['getConnectedSessions']();this['listenTo'](_0x363b5f,'sessionAdd:'+_0x53a2e2,(_0x5502dc,{session:_0x410855})=>{_0x410855['id']===_0x363b5f['mySessionId']&&(_0x5502dc['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x410855['permissions'],_0x53a2e2));}),_0x363b5f['register'](_0x53a2e2,_0x2382b4);}}async _setUpService(_0x2642ee){this['_createService'](_0x2642ee),await this['_connectService'](_0x2642ee);}_createService(_0x141837){if(this['_services']['has'](_0x141837))throw new _0x36a0fd('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x141837});const _0x2c3774=this['context']['plugins']['get'](_0x3b7eba),_0x62480e=new CloudServicesCommentsAdapter['CommentsService'](_0x141837);this['_services']['set'](_0x141837,_0x62480e),this['listenTo'](_0x62480e,'commentThreadAdded',(_0x20e3a3,_0x480ad2)=>{const {commentThreadId:_0xcb506c,documentId:_0x3f757b,context:_0x2de15b,attributes:_0x445589,resolvedAt:_0x5522a2,resolvedBy:_0x504014,comments:_0x1e1548}=_0x480ad2,_0x14b5c3=_0x1e1548?_0x1e1548['map'](({userId:_0x4a4bf8})=>_0x4a4bf8):[];_0x504014&&_0x14b5c3['push'](_0x504014),this['_handleOrQueueServiceEvent'](_0x141837,_0x14b5c3,()=>{_0x2c3774['getCommentThread'](_0xcb506c)||_0x2c3774['addCommentThread']({'threadId':_0xcb506c,'channelId':_0x3f757b,'comments':_0x1e1548?_0x1e1548['map'](ft):[],'context':_0x2de15b,'attributes':_0x445589,'resolvedAt':_0x5522a2,'resolvedBy':_0x504014,'isFromAdapter':!0x0});});}),this['listenTo'](_0x62480e,'commentThreadUpdated',(_0x3b223a,{commentThreadId:_0x12d5c5,documentId:_0x4f3696,context:_0x550b98,unlinkedAt:_0x560c92,attributes:_0x4325fa})=>{this['_handleOrQueueServiceEvent'](_0x141837,[],()=>{_0x2c3774['getCommentThread'](_0x12d5c5)&&_0x2c3774['updateCommentThread']({'threadId':_0x12d5c5,'channelId':_0x4f3696,'context':_0x550b98,'unlinkedAt':_0x560c92,'attributes':_0x4325fa,'isFromAdapter':!0x0});});}),this['listenTo'](_0x62480e,'commentThreadResolved',(_0x352ddb,{commentThreadId:_0x52b873,resolvedBy:_0x9b3f7,resolvedAt:_0x227b43})=>{this['_handleOrQueueServiceEvent'](_0x141837,[_0x9b3f7],()=>{const _0x145553=_0x2c3774['getCommentThread'](_0x52b873);_0x145553&&!_0x145553['isResolved']&&_0x145553['resolve']({'resolvedBy':_0x9b3f7,'resolvedAt':_0x227b43,'isFromAdapter':!0x0});});}),this['listenTo'](_0x62480e,'commentThreadReopened',(_0x595ffe,{commentThreadId:_0x3a37be})=>{this['_handleOrQueueServiceEvent'](_0x141837,[],()=>{const _0x288191=_0x2c3774['getCommentThread'](_0x3a37be);_0x288191&&_0x288191['isResolved']&&_0x288191['reopen']({'isFromAdapter':!0x0});});}),this['listenTo'](_0x62480e,'commentThreadRemoved',(_0x25039d,{commentThreadId:_0x242c3f})=>{this['_handleOrQueueServiceEvent'](_0x141837,[],()=>{const _0x49f99b=_0x2c3774['getCommentThread'](_0x242c3f);_0x49f99b&&_0x49f99b['remove']({'isFromAdapter':!0x0});});}),this['listenTo'](_0x62480e,'commentAdded',(_0x370b81,_0x3cd258)=>{this['_handleOrQueueServiceEvent'](_0x141837,[_0x3cd258['userId']],()=>{const _0x25a731=_0x2c3774['getCommentThread'](_0x3cd258['commentThreadId']);_0x25a731&&!_0x25a731['getComment'](_0x3cd258['commentId'])&&_0x25a731['addComment']({...ft(_0x3cd258),'isFromAdapter':!0x0});});}),this['listenTo'](_0x62480e,'commentUpdated',(_0x42d236,{commentThreadId:_0x5a6b21,commentId:_0x961abf,content:_0xef5d25,attributes:_0x2f8627})=>{this['_handleOrQueueServiceEvent'](_0x141837,[],()=>{const _0x3c0a5b=_0x2c3774['getCommentThread'](_0x5a6b21)?.['getComment'](_0x961abf);_0x3c0a5b&&_0x3c0a5b['update']({'content':_0xef5d25,'attributes':_0x2f8627,'isFromAdapter':!0x0});});}),this['listenTo'](_0x62480e,'commentRemoved',(_0x2f6757,{commentThreadId:_0x3bed7a,commentId:_0x3db451})=>{this['_handleOrQueueServiceEvent'](_0x141837,[],()=>{const _0x2c4cad=_0x2c3774['getCommentThread'](_0x3bed7a)?.['getComment'](_0x3db451);_0x2c4cad&&_0x2c4cad['remove']({'isFromAdapter':!0x0});});}),this['listenTo'](_0x62480e,'disconnected',()=>{'connected'===this['context']['plugins']['get'](K)['connection']?.['state']&&(this['_services']['delete'](_0x141837),this['_pendingServiceEvents']['delete'](_0x141837),this['stopListening'](_0x62480e));});}destroy(){if(this['context']instanceof _0x1166e8){const _0x153291=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x153291)&&this['_terminateService'](_0x153291);}}_terminateService(_0x135e85){if(!this['_services']['has'](_0x135e85))throw new _0x36a0fd('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x135e85});this['_getService'](_0x135e85)['disconnect'](),this['_services']['delete'](_0x135e85);}async reconnect(){for(const _0x2a6cdc of this['_services']['keys']())await this['_connectService'](_0x2a6cdc);if(this['context']instanceof _0x1166e8){const _0x3de7b9=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x3de7b9)){const _0x1bc01e=this['context']['plugins']['get'](J);_0x1bc01e['unregister'](_0x3de7b9);const _0x25678f=await this['_services']['get'](_0x3de7b9)['getConnectedSessions']();_0x1bc01e['register'](_0x3de7b9,_0x25678f);}}}_fetchInitialChannelData(_0x47dd49){return this['_channelsAwaitingInitialData']['add'](_0x47dd49),this['_fetchChannelData'](_0x47dd49);}async _applyInitialChannelData(_0x3fc605,_0x1bfa56){this['_channelsAwaitingInitialData']['delete'](_0x3fc605)&&await this['_applyChannelData'](_0x3fc605,_0x1bfa56);}async _fetchChannelData(_0x133260){const {connection:_0xa78bc7}=this['context']['plugins']['get'](K);return this['_pendingServiceEvents']['set'](_0x133260,[]),await this['_services']['get'](_0x133260)['connect'](_0xa78bc7);}async _applyChannelData(_0x2348b0,_0x4739ea){const _0x58d0e2=this['context']['plugins']['get'](_0x3b7eba),_0x313d31=new Set(Array['from'](_0x58d0e2['getCommentThreads']({'channelId':_0x2348b0}),_0x1487b7=>_0x1487b7['id']));for(const _0x325e56 of _0x4739ea)_0x325e56['deletedAt']||_0x313d31['delete'](_0x325e56['commentThreadId']);for(const _0x49145f of _0x313d31)_0x58d0e2['getCommentThread'](_0x49145f)['remove']({'isFromAdapter':!0x0});for(const _0x1663a9 of _0x4739ea){let _0xdf5076=_0x58d0e2['getCommentThread'](_0x1663a9['commentThreadId']);const {commentThreadId:_0x25d04a,context:_0x2b7993,attributes:_0x5ce2e7,resolvedBy:_0x55a094,resolvedAt:_0xfc37be,unlinkedAt:_0x179886,deletedAt:_0x3d5b57}=_0x1663a9;if(_0x3d5b57)continue;_0xdf5076||(_0xdf5076=_0x58d0e2['addCommentThread']({'channelId':_0x2348b0,'threadId':_0x25d04a,'context':_0x2b7993,'attributes':_0x5ce2e7||{},'resolvedBy':_0x55a094,'resolvedAt':_0xfc37be,'unlinkedAt':_0x179886,'isFromAdapter':!0x0}));const _0x22fc9f=new Set(Array['from'](_0xdf5076['comments'],_0x41e2a5=>_0x41e2a5['id']));for(const _0x1e20e8 of _0x1663a9['comments'])_0x22fc9f['delete'](_0x1e20e8['commentId']);for(const _0x4ed58a of _0x22fc9f)_0xdf5076['getComment'](_0x4ed58a)['remove']({'isFromAdapter':!0x0});for(const _0x544a7d of _0x1663a9['comments']){const _0x2c0aa1=_0xdf5076['getComment'](_0x544a7d['commentId']);_0x2c0aa1?_0x2c0aa1['content']!==_0x544a7d['content']&&_0x2c0aa1['update']({'content':_0x544a7d['content'],'isFromAdapter':!0x0}):_0xdf5076['addComment'](Object['assign'](ft(_0x544a7d),{'isFromAdapter':!0x0}));}}await this['_applyPendingServiceEvents'](_0x2348b0);}_handleOrQueueServiceEvent(_0x5f23a1,_0x50ade6,_0x23ec0c){const _0xf220fd=this['_pendingServiceEvents']['get'](_0x5f23a1);_0xf220fd?_0xf220fd['push']({'userIds':_0x50ade6,'apply':_0x23ec0c}):_0x23ec0c();}async _applyPendingServiceEvents(_0x25074f){const _0xf2ab24=this['_pendingServiceEvents']['get'](_0x25074f)||[];for(;_0xf2ab24['length'];){const _0x408405=_0xf2ab24['splice'](0x0);await this['_fetchMissingUsers'](_0x408405['flatMap'](({userIds:_0x3289fd})=>_0x3289fd));for(const {apply:_0x354477}of _0x408405)_0x354477();}this['_discardPendingServiceEvents'](_0x25074f,_0xf2ab24);}_discardPendingServiceEvents(_0x3c49da,_0x342130){this['_pendingServiceEvents']['get'](_0x3c49da)===_0x342130&&this['_pendingServiceEvents']['delete'](_0x3c49da);}async _connectService(_0x267596){const _0x3e29ce=this['_channelsAwaitingInitialData']['delete'](_0x267596),_0x2fc675=this['_fetchChannelData'](_0x267596),_0x30564e=this['_pendingServiceEvents']['get'](_0x267596);let _0x249bbf=!0x1;try{const _0x1c5365=await _0x2fc675;_0x249bbf=!0x0,await this['_fetchMissingUsersForThreads'](_0x1c5365),await this['_applyChannelData'](_0x267596,_0x1c5365);}catch(_0x5c8579){throw this['_discardPendingServiceEvents'](_0x267596,_0x30564e),_0x3e29ce&&!_0x249bbf&&this['_channelsAwaitingInitialData']['add'](_0x267596),_0x5c8579;}}_getService(_0x2bd029){if(!this['_services']['has'](_0x2bd029))throw new _0x36a0fd('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2bd029});return this['_services']['get'](_0x2bd029);}async _fetchMissingUsersForThreads(_0x4e8055){return this['_fetchMissingUsers'](ht(_0x4e8055));}async _fetchMissingUsers(_0x7aea90){const _0x33217a=this['context']['plugins']['get'](_0x1d1b46),{connection:_0x2095a1}=this['context']['plugins']['get'](K),_0x1dae6f=Array['from'](new Set(_0x7aea90))['filter'](_0x2b290c=>!_0x33217a['getUser'](_0x2b290c));if(0x0===_0x1dae6f['length'])return;const _0x21e632=await _0x3d6f90['getMany'](_0x2095a1,_0x1dae6f);for(const _0x33ff1a of _0x21e632)_0x33217a['getUser'](_0x33ff1a['id'])||_0x33217a['addUser'](_0x33ff1a);}};async function dt(_0x8844d){if('404'!==_0x8844d['code'])throw _0x8844d;}function ut(_0xdee73d){if((_0x488ef9=_0xdee73d)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x488ef9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x488ef9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x488ef9;throw _0xdee73d;}function ft(_0x580b99){return{'threadId':_0x580b99['commentThreadId'],'commentId':_0x580b99['commentId'],'content':_0x580b99['content'],'createdAt':_0x580b99['createdAt'],'authorId':_0x580b99['userId'],'attributes':_0x580b99['attributes']||{}};}var mt=class CloudServicesTrackChangesAdapter extends _0x472486{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x288311)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;['_isChannelFlushed']=!0x1;_newestRevisionPrefetch=null;_pendingRevisionsUpdates=[];_isReadyForReconnect=!0x1;_isReconnectPending=!0x1;static get requires(){return[K,it,_0x310da3,J,_0x1d1b46,at];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4b2c63){super(_0x4b2c63);const _0x5c9bb5=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x5c9bb5),this['set']('_isServiceConnected',!0x1),_0x4b2c63['plugins']['get'](at)['_register']('revisionHistory',{'fetch':()=>this['_fetchInitialData'](),'getUserIds':({revisions:_0x1cfe01})=>_0x1cfe01['flatMap'](({authorsIds:_0x1bd0c2,creatorId:_0x2206a0})=>_0x2206a0?[..._0x1bd0c2,_0x2206a0]:_0x1bd0c2)});}async init(){const _0x50fed4=this['editor']['plugins']['get'](it),{hasEditorBundle:_0x2df63f,revisions:_0x570659}=this['editor']['plugins']['get'](at)['_takeInitialData']('revisionHistory');this['listenTo'](this['editor']['data'],'ready',()=>{this['_setReadyForReconnect'](),this['_newestRevisionPrefetch']=null;}),this['editor']['plugins']['get'](_0x310da3)['adapter']={'getRevision':async({revisionId:_0x2589ef})=>{const _0x1afecc=this['_newestRevisionPrefetch'];return _0x1afecc&&_0x1afecc['revisionId']===_0x2589ef?(this['_newestRevisionPrefetch']=null,_0x1afecc['promise']):(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2589ef));},'updateRevisions':async _0x7290=>{await this['_waitForServiceReady']();const _0x3843c4=this['_revisionTracker']['currentRevision'];if(_0x2df63f&&0x1===_0x7290['length']&&_0x7290[0x0]['id']===_0x3843c4['id'])return _0x7290;for(const _0x566543 of _0x7290)_0x566543['id']===_0x3843c4['id']&&(_0x566543['isEmptyCurrent']=_0x566543['fromVersion']===_0x566543['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x7290,this['_lastRequestId'])['then'](_0x5a8902=>(this['_lastRequestId']=_0x5a8902,_0x7290))['catch'](_0x86b03=>{if(yt(_0x86b03)||'400'===_0x86b03['code']&&void 0x0!==_0x86b03['data']['wrongRequestId']){for(const _0x3cc916 of _0x7290)this['_revisionTracker']['repository']['getRevision'](_0x3cc916['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x3cc916['id'],_0x3cc916,!0x1);if(yt(_0x86b03)&&'destroyed'!==this['editor']['state'])throw _0x86b03;return _0x7290;}throw _0x86b03;});}};for(const _0x45e9ef of _0x570659)this['_revisionTracker']['addRevisionData'](_0x45e9ef);this['listenTo'](_0x50fed4,'change:_isConnected',(_0x1943df,_0xa0e465,_0x5d1562)=>{_0x5d1562&&(this['_oldOffset']=_0x50fed4['_offset'],_0x1943df['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected'),await this['_applyPendingRevisionsUpdates']();}async _fetchInitialData(){const _0x1816e7=this['editor']['plugins']['get'](it),_0x2114af=this['editor']['plugins']['get'](K),_0x55595f=_0x1816e7['serverHistory'];this['_revisionTracker']['setSource']({'history':_0x55595f,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1816e7['sessionId']}),this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2eb949,{revisionsData:_0x33430a,requestId:_0x389f27})=>{_0x33430a['some'](({id:_0xc73b59})=>_0xc73b59===this['_newestRevisionPrefetch']?.['revisionId'])&&(this['_newestRevisionPrefetch']=null),Math['max'](..._0x33430a['map'](_0x233815=>_0x233815['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleOrQueueRevisionsUpdate'](_0x33430a,_0x389f27);}):this['_handleOrQueueRevisionsUpdate'](_0x33430a,_0x389f27);}),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x2114af['connection']?.['state']&&(this['_isChannelFlushed']=!0x0,_0x2114af['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const _0xe39574=this['editor']['config']['get']('cloudServices.bundleVersion')||_0xfc9d30,[_0x27ddfd,_0x496493]=await Promise['all']([_0xbaacb4['isBundleUploaded'](_0x2114af['connection'],_0xe39574),this['_revisionHistoryService']['connect'](_0x2114af['connection'])['then'](_0x1358bb=>(this['_lastRequestId']=_0x1358bb['requestId'],this['_isChannelFlushed']||_0x2114af['addToReconnectionStack'](this),this['_prefetchNewestRevision'](_0x1358bb['revisions']),_0x1358bb['revisions']))]);return{'hasEditorBundle':_0x27ddfd,'revisions':_0x496493};}_handleOrQueueRevisionsUpdate(_0x4bcdd9,_0x32e01f){this['_pendingRevisionsUpdates']?this['_pendingRevisionsUpdates']['push']({'revisionsData':_0x4bcdd9,'requestId':_0x32e01f}):this['_handleRevisionsUpdate'](_0x4bcdd9,_0x32e01f);}async _applyPendingRevisionsUpdates(){for(;this['_pendingRevisionsUpdates']['length'];){const _0x3ac48c=this['_pendingRevisionsUpdates']['splice'](0x0);await this['_fetchMissingUsers'](_0x3ac48c['flatMap'](({revisionsData:_0x3f2011})=>_0x3f2011));for(const {revisionsData:_0x9eddae,requestId:_0x21eb53}of _0x3ac48c)this['_handleRevisionsUpdate'](_0x9eddae,_0x21eb53);}this['_pendingRevisionsUpdates']=null;}_prefetchNewestRevision(_0x5f18b9){const _0x31c537=_0x5f18b9['reduce']((_0x8c0941,_0x3a5e2e)=>_0x8c0941?(_0x3a5e2e['toVersion']-_0x8c0941['toVersion']||_0x3a5e2e['fromVersion']-_0x8c0941['fromVersion'])>0x0?_0x3a5e2e:_0x8c0941:_0x3a5e2e,null);if(!_0x31c537||_0x31c537['diffData'])return;const _0x43b69d=this['_revisionHistoryService']['getRevision'](_0x31c537['id']);_0x43b69d['catch'](()=>{}),this['_newestRevisionPrefetch']={'revisionId':_0x31c537['id'],'promise':_0x43b69d};}async reconnect(){if(!this['_isReadyForReconnect'])return void(this['_isReconnectPending']=!0x0);const _0x272586=this['editor']['plugins']['get'](K),_0x18fd29=this['editor']['plugins']['get'](it),_0x35682d=async()=>{const _0x139a1d=this['_revisionTracker']['currentRevision'],_0x4d7a3e=_0x139a1d['id'],_0x1a1297=_0x4d7a3e!==_0x18fd29['sessionId'];if(_0x1a1297){const _0x39ccbc=_0x18fd29['_offset']-this['_oldOffset'],_0x151c28=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x139a1d['toVersion']+_0x39ccbc!==_0x151c28){const _0x2841e2=_0x139a1d['fromVersion']+_0x39ccbc,_0x5e99ab=this['editor']['plugins']['get'](_0x1d1b46),_0x435a34=this['_revisionTracker']['buildRevisionData']({'revision':_0x139a1d,'from':_0x2841e2,'to':_0x151c28});_0x435a34['id']=_0x139a1d['id'];const _0x462b0c=_0x435a34['authorsIds']['map'](_0x51660f=>_0x5e99ab['getUser'](_0x51660f));_0x139a1d['_update']({..._0x435a34,'authors':_0x462b0c},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x139a1d['id'],_0x435a34,!0x0);}this['_revisionTracker']['_startingVersion']=_0x151c28,_0x139a1d['toVersion']!==_0x139a1d['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x4d7a3e)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x4d7a3e),this['_revisionTracker']['_createCurrentRevision'](_0x151c28);}const {revisions:_0x16d4f9,requestId:_0x31d7ce}=await this['_revisionHistoryService']['reconnect'](_0x272586['connection'],this['_lastRequestId']);_0x1a1297&&_0x16d4f9['length']>0x0?_0x18fd29['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x16d4f9),this['_handleRevisionsUpdate'](_0x16d4f9,_0x31d7ce),this['_revisionTracker']['sendBufferedUpdates']());};return _0x18fd29['_isConnected']?_0x35682d():new Promise((_0x5d382c,_0x5c4dda)=>{_0x18fd29['once']('change:_isConnected',()=>{_0x35682d()['then'](_0x5d382c)['catch'](_0x5c4dda);});});}destroy(){this['editor']['plugins']['get'](K)['removeFromReconnectionStack'](this),super['destroy']();}_setReadyForReconnect(){this['_isReadyForReconnect']=!0x0,this['_isReconnectPending']&&(this['_isReconnectPending']=!0x1,this['reconnect']()['catch'](_0x51c210=>console['error'](_0x51c210)));}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x410fa5=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x10a542=>{_0x10a542['off'](),_0x410fa5();});});}_getLatestVersionFromServerOperations(){const _0x4e7c30=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x128584 of _0x4e7c30)if('marker'!==_0x128584['type']||_0x128584['affectsData'])return _0x128584['baseVersion']+0x1;}_getLatestVersion(){const _0x1a17dc=this['editor']['plugins']['get'](it);return new Promise(_0x4ad8f5=>{_0x1a17dc['_isPendingUpdate']?_0x1a17dc['once']('change:_isPendingUpdate',()=>{_0x4ad8f5(this['_getLatestVersionFromServerOperations']());}):_0x4ad8f5(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x3e2096,_0x291f64){const _0x39d070=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x291f64;for(const _0x590632 of _0x3e2096){const _0x49ba39=_0x39d070['getRevision'](_0x590632['id']);if(_0x49ba39){if((_0x590632['fromVersion']||_0x590632['toVersion'])&&(_0x590632['diffData']=null),_0x49ba39===this['_revisionTracker']['currentRevision']){const _0x242fd7=Math['max'](_0x49ba39['toVersion'],_0x590632['toVersion']),_0x190466=Math['max'](_0x49ba39['fromVersion'],_0x590632['fromVersion']);let _0x11b46f;_0x49ba39['toVersion']===_0x590632['toVersion']&&_0x49ba39['fromVersion']===_0x590632['fromVersion']?(_0x11b46f=!0x0,this['_preventResendingRevisionData'](_0x590632)):_0x590632['toVersion']===_0x242fd7&&_0x590632['fromVersion']===_0x190466?_0x11b46f=!0x1:(_0x49ba39['toVersion']===_0x242fd7&&_0x49ba39['fromVersion']===_0x190466||this['_fixRevision']({'revision':_0x49ba39,'from':_0x190466,'to':_0x242fd7}),_0x11b46f=!0x0),_0x11b46f&&(delete _0x590632['fromVersion'],delete _0x590632['toVersion'],delete _0x590632['diffData'],delete _0x590632['createdAt'],delete _0x590632['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x590632),this['_preventResendingRevisionData'](_0x590632);}else this['_revisionTracker']['addRevisionData'](_0x590632);}const _0x563645=_0x39d070['getRevisions']();_0x563645['reverse']();for(let _0x29139e=0x0;_0x29139e<_0x563645['length']-0x1;_0x29139e++){const _0x4d9711=_0x563645[_0x29139e],_0x252ab5=_0x563645[_0x29139e+0x1];if(_0x4d9711['fromVersion']<_0x252ab5['toVersion']){const _0x28dd59=_0x252ab5['toVersion'],_0xb2e7f0=Math['max'](_0x28dd59,_0x4d9711['toVersion']);this['_fixRevision']({'revision':_0x4d9711,'from':_0x28dd59,'to':_0xb2e7f0});}}}['_fixRevision']({revision:_0x45e7f7,from:_0x5af780,to:_0x5b52ff}={}){const _0x5aba8b=this['editor']['plugins']['get'](_0x1d1b46),_0x2de176=this['_revisionTracker']['buildRevisionData']({'revision':_0x45e7f7,'from':_0x5af780,'to':_0x5b52ff});_0x2de176['authors']=_0x2de176['authorsIds']['map'](_0x74d076=>_0x5aba8b['getUser'](_0x74d076)),_0x45e7f7['_update'](_0x2de176);}_preventResendingRevisionData(_0x4f0ce6){const _0x18223e={};_0x18223e['id']=_0x4f0ce6['id'];for(const _0x36add2 of Object['keys'](_0x4f0ce6))'id'!==_0x36add2&&(_0x18223e[_0x36add2]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x18223e['id'],_0x18223e,!0x0);}async _fetchMissingUsers(_0x2b5282){const _0x22e2e1=this['editor']['plugins']['get'](_0x1d1b46),{connection:_0x462769}=this['editor']['plugins']['get'](K),_0x448874=new Set();for(const _0x5d4c7c of _0x2b5282){for(const _0x48fb0f of _0x5d4c7c['authorsIds']||[])_0x5d006b(_0x48fb0f);_0x5d4c7c['creatorId']&&_0x5d006b(_0x5d4c7c['creatorId']);}if(0x0===_0x448874['size'])return;const _0x410d91=await _0x3d6f90['getMany'](_0x462769,Array['from'](_0x448874));for(const _0x4e25bb of _0x410d91)_0x22e2e1['getUser'](_0x4e25bb['id'])||_0x22e2e1['addUser'](_0x4e25bb);function _0x5d006b(_0x463153){_0x22e2e1['getUser'](_0x463153)||_0x448874['add'](_0x463153);}}};function yt(_0x257e2b){return _0x257e2b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x257e2b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x257e2b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var bt=class extends _0x472486{static get requires(){return[_0x310da3,_t,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},kt=class extends _0x1307de{_collapseAt;constructor(_0x2bd0e3,_0x44b777=0x6){super(_0x2bd0e3);const _0x58dae1=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x44b777,this['bind']('isHidden')['to'](this,'usersCount',_0x4115b0=>_0x4115b0<_0x44b777),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x58dae1['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':_0x58dae1['to']('usersCount',_0x2feb3e=>'+'+(_0x2feb3e-this['_collapseAt']+0x2)['toString']())}]}]}]});}},It=class extends _0x1307de{items;keystrokes;constructor(_0x377914){super(_0x377914);const _0x1cea61=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1f078d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x1cea61['if']('hasPopup'),'aria-expanded':_0x1cea61['to']('isExpanded',_0x5bf8fb=>this['hasPopup']&&String(_0x5bf8fb)),'aria-label':_0x1cea61['to']('hasPopup',_0x5c9dc5=>et(_0x377914,_0x5c9dc5?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x1cea61['to']('hasPopup',_0x5ed517=>!!_0x5ed517&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x262b70,_0x245350,_0x333943)=>{this['element']&&(_0x333943?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']);}},St=class extends _0x1307de{counterView;inlineListView;constructor(_0x22f544,_0x67dffb=0x6){super(_0x22f544);const _0x29612e=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new kt(this['locale'],_0x67dffb),this['inlineListView']=new It(_0x22f544),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5684bd of this['inlineListView']['items'])_0x5684bd['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',_0x29612e['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},Ct=class extends _0x1307de{listWrapperView;constructor(_0x25b5d7,_0x4542ba){super(_0x25b5d7),this['listWrapperView']=new Tt(_0x25b5d7,_0x4542ba),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x25b5d7,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},Tt=class extends _0x5f2d1d{constructor(_0x2f16f4,_0x511e9b){super(_0x2f16f4);const _0x415955=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x511e9b?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x415955['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x415955['to']('role'),'aria-label':_0x415955['to']('ariaLabel'),'aria-labelledby':_0x415955['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x159ccb['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1f9936=this['element'];_0x1f9936&&(this['_isScrollable']=Math['max'](_0x1f9936['scrollHeight'],_0x1f9936['clientHeight'])>0.8*window['innerHeight']);}},At=class extends _0x48f5c5{['userView'];constructor(_0x229b59,_0x300339,_0x5d91a1){super(_0x229b59);const _0x505321=this['bindTemplate'];this['userView']=new _0x193e58(_0x229b59,_0x300339);const _0x432177={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x300339['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x300339['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x300339['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x300339['color']['getColorVariable'](),'--ck-user-color-alpha':_0x300339['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x5d91a1&&(_0x432177['tag']='button',_0x432177['on']={'click':_0x505321['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x432177);}['focus'](){this['element']['focus']();}},Pt=class extends _0x1307de{['userView'];['markerView'];constructor(_0x253a5f,_0x394760,_0x16fbd3){super(_0x253a5f);const _0x13c998=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x193e58(_0x253a5f,_0x394760),this['markerView']=new Rt(_0x253a5f,_0x394760);const _0x58b7dd=new _0xc52327(_0x253a5f);_0x58b7dd['template']['tag']='span',_0x58b7dd['text']=_0x394760['name'];const _0x5e7b1d={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x13c998['to']('isFocusable',_0x4aa2a6=>_0x4aa2a6?0x0:-0x1),'aria-labelledby':_0x58b7dd['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x13c998['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x13c998['to']('hasTooltip',_0x17bcae=>!_0x17bcae),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x58b7dd]};_0x16fbd3&&(_0x5e7b1d['tag']='button',_0x5e7b1d['on']={'click':_0x13c998['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5e7b1d);}},Rt=class extends _0x1307de{constructor(_0x36b05d,_0x1c62d7){super(_0x36b05d),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1c62d7['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1c62d7['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1c62d7['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Ot={'collapseAt':0x6,'displayMe':!0x0};var xt=class extends _0x577128{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x58eb3d){super(_0x58eb3d),this['context']['config']['define']('presenceList',Ot);const _0x43ef50=_0x58eb3d['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x43ef50)throw new _0x36a0fd('presencelist-collapseat-invalid-format',this);if(_0x43ef50<0x1)throw new _0x36a0fd('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](J)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x47fd78(),this['balloonPanelView']=new _0x47e65b(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[J];}init(){for(const _0x565e5f of this['_allConnectedUsers'])this['_handleUserAdd'](_0x565e5f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4daaf4,_0x3f857b)=>{this['_handleUserAdd'](_0x3f857b);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x192b91,_0x18f4f8)=>{this['_handleUserRemove'](_0x18f4f8);});}_createView(){const _0x3ad621=this['context'],_0x383d74=new St(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x296dcb=this['balloonPanelView'];if(!_0x13562f(_0x3ad621['config']['get']('presenceList.container')))throw new _0x36a0fd('presencelist-missing-container',this);_0x383d74['counterView']['bind']('usersCount')['to'](this),_0x383d74['bind']('isCollapsed')['to'](this,'usersCount',_0xc83f7a=>{const {collapseAt:_0x62c4fd}=_0x3ad621['config']['get']('presenceList'),_0x43b6ee=_0xc83f7a>=_0x62c4fd;if(_0x43b6ee&&!_0x383d74['inlineListView']['items']['find'](_0x273fac=>_0x273fac instanceof kt)){const _0x29b02c=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x29b02c&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x383d74['inlineListView']['items']['add'](_0x383d74['counterView']);}return _0x43b6ee||this['hideDropdown'](),_0x43b6ee;}),_0x383d74['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4de833=>{const _0x53ff80=_0x3ad621['config']['get']('presenceList'),_0x7c0119=new Pt(_0x3ad621['locale'],_0x4de833,!!_0x53ff80['onClick']);return _0x7c0119['bind']('hasTooltip')['to'](_0x383d74,'isCollapsed',_0x1ede0d=>!_0x1ede0d),_0x7c0119['bind']('isFocusable')['to'](_0x383d74,'isCollapsed',_0x4c9ad5=>!_0x4c9ad5),_0x53ff80['onClick']&&this['listenTo'](_0x7c0119,'execute',()=>{this['view']['isCollapsed']||_0x53ff80['onClick'](_0x4de833,_0x7c0119['element']);}),_0x7c0119;}),_0x383d74['inlineListView']['keystrokes']['set']('Enter',(_0x2f27d1,_0x2c90ef)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x2c90ef());}),_0x383d74['render'](),_0x296dcb['render'](),_0x383d74['listenTo'](_0x383d74['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x5e24d5=(_0x405e9a,_0x4a6020)=>{this['_hideDropdownUnlessPointerInside'](_0x4a6020);};return _0x383d74['listenTo'](_0x383d74['inlineListView']['element'],'mouseleave',_0x5e24d5),_0x383d74['listenTo'](_0x296dcb['element'],'mouseleave',_0x5e24d5),_0x544ee6({'emitter':_0x383d74,'activator':()=>_0x296dcb['isVisible'],'contextElements':[_0x296dcb['element'],_0x383d74['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3ad621['config']['get']('presenceList.container')['appendChild'](_0x383d74['element']),this['_overlayHost']=new _0x3cfe8b(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x383d74;}_resolveOverlayTarget(){const _0x111b72=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x111b72)return _0x111b72;const _0x4e6608=this['context']['config']['get']('presenceList.container');return _0x4e6608?_0x43c097(_0x4e6608):null;}['_handleUserAdd'](_0x34ee51){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x34ee51['isMe'])return;const _0x519e75=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x519e75-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x20d850=_0x34ee51['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x34ee51,_0x20d850);}['_handleUserRemove'](_0x2a018c){this['usersCount']--;const {collapseAt:_0x33f7ad}=this['context']['config']['get']('presenceList'),_0x3cfd3a=this['usersCount']>=_0x33f7ad;if(this['currentDisplayedUsers']['get'](_0x2a018c['id']))this['currentDisplayedUsers']['remove'](_0x2a018c['id']);else{if(_0x3cfd3a&&this['currentDisplayedUsers']['length']+0x1===_0x33f7ad-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3cfd3a?0x1:0x0)<this['usersCount']){for(const _0x35a1d3 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x35a1d3['id'])&&(this['currentDisplayedUsers']['add'](_0x35a1d3,Math['min'](this['currentDisplayedUsers']['length']-(_0x3cfd3a?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3cfd3a?0x1:0x0)===_0x33f7ad-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x34f71a=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new Ct(this['context']['locale'],!!_0x34f71a['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x44721d}=this['presenceDropdownView'];_0x44721d['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x46c332=>{if(!_0x34f71a['displayMe']&&_0x46c332['isMe'])return null;const _0x870fbe=new At(this['context']['locale'],_0x46c332,!!_0x34f71a['onClick']);return _0x34f71a['onClick']&&this['listenTo'](_0x870fbe,'execute',()=>{_0x34f71a['onClick'](_0x46c332,_0x870fbe['element']);}),_0x870fbe;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']);const _0x10bc91=_0x47e65b['generatePositions']({'heightOffset':0x3,'config':{'withArrow':!0x1}});this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element'],'positions':[_0x10bc91['southArrowNorth'],_0x10bc91['southArrowNorthMiddleWest'],_0x10bc91['southArrowNorthMiddleEast'],_0x10bc91['southArrowNorthWest'],_0x10bc91['southArrowNorthEast'],_0x10bc91['northArrowSouth'],_0x10bc91['northArrowSouthMiddleWest'],_0x10bc91['northArrowSouthMiddleEast'],_0x10bc91['northArrowSouthWest'],_0x10bc91['northArrowSouthEast'],_0x10bc91['viewportStickyNorth']]}),_0x44721d['focus'](),_0x44721d['checkIfScrollable']();const _0x4b9f4d=(_0x23e6c9,_0x4178a1)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4178a1();};_0x44721d['keystrokes']['set']('Esc',_0x4b9f4d),_0x44721d['keystrokes']['set']('Shift+Tab',_0x4b9f4d),_0x44721d['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x44721d['focusTracker']['add'](this['view']['element']),_0x44721d['focusTracker']['on']('change:isFocused',(_0xc806a1,_0x254f01,_0x807886)=>{_0x807886||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(_0x4b354e){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x23a6d5=>_0x595b6c(_0x23a6d5,_0x4b354e))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},Nt=class extends _0x577128{static get requires(){return[J,xt];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{lt as CloudServicesCommentsAdapter,_t as CloudServicesRevisionHistoryAdapter,mt as CloudServicesTrackChangesAdapter,Nt as PresenceList,xt as PresenceListUI,it as RealTimeCollaborationClient,wt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,bt as RealTimeCollaborativeRevisionHistory,vt as RealTimeCollaborativeTrackChanges,at as RealTimeContentFetcher,J as Sessions,K as WebSocketGateway};
|
|
23
|
+
import{Context as _0x2444db,ContextPlugin as _0x59f6ff,PendingActions as _0x136c96,Plugin as _0xe921b1}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0xfd414f,Collection as _0x562c68,DomEmitterMixin as _0x17110e,KeystrokeHandler as _0x50960c,getOverlayMountRoot as _0x1c9e52,global as _0x2c8769,trustedHtml as _0x2b9de0,uid as _0x1f7834,version as _0x194795}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x354edd,LabelView as _0x1c896a,ListItemView as _0x326e15,ListView as _0x4db83d,Notification as _0x203982,OverlayHost as _0x4619ee,View as _0x37111f,clickOutsideHandler as _0x4e12d4}from'@ckeditor/ckeditor5-ui';import{History as _0x42b666,InsertOperation as _0x138fb1,MarkerOperation as _0x4c1945,ModelLiveRange as _0x255b41,NoOperation as _0x385e36,OperationFactory as _0xb1217f,RootAttributeOperation as _0x5df407,transformOperationSets as _0x16a381}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x3c6391}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x4ddf1a,CommentsService as _0x1e7241,EditorService as _0xdff84a,RevisionHistoryService as _0xcdbd9f,TrackChangesService as _0x58adb6,User as _0x2bb41d,WEB_SOCKET_GATEWAY_STATES as _0x5de295,WebSocketGateway as _0x2d4ca6}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x177ec2,Users as _0x34903c,isPointerStillOver as _0x489d0f}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x19eabb}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x1bd228,TrackChangesEditing as _0x137f9f}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x74b692,CommentsEditing as _0x7b2cab,CommentsRepository as _0x571fe4}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x37ac85}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x574388}from'es-toolkit/compat';var K=class WebSocketGateway extends _0x59f6ff{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x2d4ca6)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x3c6391,_0x203982];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x563424){super(_0x563424),this['set']('state',_0x5de295['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x17110e())();}init(){const _0x23fae0=this['context'],_0x542225=_0x23fae0['plugins']['get'](_0x3c6391),_0x124ae5=_0x23fae0['plugins']['get'](_0x203982);if(!_0x542225['token'])throw new _0xfd414f('websocketgateway-missing-token',this);if(!_0x542225['webSocketUrl'])throw new _0xfd414f('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'](_0x542225['token'],_0x542225['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x16e0c3=>{if(this['connection']=_0x16e0c3,this['bind']('state')['to'](_0x16e0c3,'state',this,'_isBrowserOffline',(_0x5e97e2,_0x38f9a7)=>('connected'!==_0x5e97e2&&(this['_shouldPluginsReconnect']=!0x0),_0x38f9a7||_0x5e97e2!==_0x5de295['CONNECTED']?_0x5de295['DISCONNECTED']:this['state']==_0x5de295['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5de295['CONNECTING']):_0x5de295['CONNECTED'])),this['connection']['on']('error',(_0x463a02,_0x5dd93b)=>{if('limitExceeded'!==_0x5dd93b['code'])throw console['error'](_0x5dd93b),new _0xfd414f('cloudservices-init',null,{'originalError':_0x5dd93b});_0x124ae5['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'});}),!_0x16e0c3['me'])return new Promise(_0x3f0d37=>_0x16e0c3['on']('change:me',_0x3f0d37));})['catch'](_0x14a0fc=>{throw console['error'](_0x14a0fc),new _0xfd414f('cloudservices-init',null,{'originalError':_0x14a0fc});});}addToReconnectionStack(_0x5bb071){if('function'!=typeof _0x5bb071['reconnect'])throw new _0xfd414f('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5bb071))throw new _0xfd414f('websocketgateway-plugin-already-registered',this,{'name':_0x5bb071['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5bb071);}removeFromReconnectionStack(_0x1b4b34){this['_reconnectionStack']['delete'](_0x1b4b34);}isInReconnectionStack(_0x117f32){return this['_reconnectionStack']['has'](_0x117f32);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x360e06=>_0x360e06['reconnect']())))['then'](()=>this['state']=_0x5de295['CONNECTED'])['catch'](_0xd614bf=>{throw console['error'](_0xd614bf),new _0xfd414f('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5de295['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},J=class extends _0x59f6ff{['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[K,_0x34903c];}constructor(_0x2d2ff3){super(_0x2d2ff3),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x562c68(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x34903c);}init(){const _0x469dc6=this['context']['plugins']['get'](K);this['listenTo'](_0x469dc6,'change:state',(_0x2084e6,_0x43e101,_0x587824)=>{if('connected'!==_0x587824)this['channelSessions']['forEach'](_0x50a7d5=>_0x50a7d5['clear']()),this['channelConnectedUsers']['forEach'](_0x3d2dc8=>_0x3d2dc8['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x34c1e8,_0x37813e]of this['_registeredSessions'])for(const _0xff6609 of _0x37813e)this['_handleSessionAdd'](_0x34c1e8,_0xff6609);}}),this['_createUser'](_0x469dc6['connection']['me'],!0x0);}register(_0x3913b2,_0x4d8801){if(this['_registeredSessions']['has'](_0x3913b2))throw new _0xfd414f('sessions-register-already-registered',null,{'channelId':_0x3913b2});this['_registeredSessions']['set'](_0x3913b2,_0x4d8801),this['channelSessions']['set'](_0x3913b2,new _0x562c68()),this['channelConnectedUsers']['set'](_0x3913b2,new _0x562c68()),this['listenTo'](_0x4d8801,'add',(_0x114374,_0x1efb74)=>this['_handleSessionAdd'](_0x3913b2,_0x1efb74)),this['listenTo'](_0x4d8801,'remove',(_0x566b0e,_0x97ec2f)=>this['_handleSessionRemove'](_0x3913b2,_0x97ec2f));for(const _0x47dfcf of _0x4d8801)this['_handleSessionAdd'](_0x3913b2,_0x47dfcf);}unregister(_0x2aa651){if(!this['_registeredSessions']['has'](_0x2aa651))throw new _0xfd414f('sessions-unregister-not-exist',null,{'channelId':_0x2aa651});const _0x457a08=this['_registeredSessions']['get'](_0x2aa651);this['stopListening'](_0x457a08);for(const _0x3981af of _0x457a08)'connected'===this['context']['plugins']['get'](K)['state']&&this['_handleSessionRemove'](_0x2aa651,_0x3981af);this['_registeredSessions']['delete'](_0x2aa651),this['channelSessions']['delete'](_0x2aa651),this['channelConnectedUsers']['delete'](_0x2aa651);}get['mySessionId'](){return this['context']['plugins']['get'](K)['connection']['sessionId'];}getUserBySessionId(_0x44ec2a){for(const _0x2cd7be of this['channelSessions']['values']())for(const _0x317654 of _0x2cd7be)if(_0x317654['id']===_0x44ec2a)return _0x317654['user'];}getUserSessions(_0x2d9c18,_0x5b58a2){const _0x169a6e=_0x5b58a2?[this['channelSessions']['get'](_0x5b58a2)]:this['channelSessions']['values'](),_0x276c70=new Set();for(const _0x432a3d of _0x169a6e)for(const _0x46a30e of _0x432a3d)_0x46a30e['user']['id']===_0x2d9c18['id']&&_0x276c70['add'](_0x46a30e['id']);return _0x276c70;}getUserRole(_0x350117){for(const _0x14a741 of this['channelSessions']['values']())for(const _0x21ad69 of _0x14a741)if(_0x21ad69['user']===_0x350117)return _0x21ad69['role'];}['_handleSessionAdd'](_0x1b81b2,_0x5738d8){if('connected'!==this['context']['plugins']['get'](K)['state'])return;const _0x270641=_0x5738d8['user'],_0x5e7fd8=this['_users']['getUser'](_0x270641['id'])||this['_createUser'](_0x270641),_0x1d959c=Object['assign']({},_0x5738d8,{'user':_0x5e7fd8});if(this['channelSessions']['get'](_0x1b81b2)['add'](_0x1d959c),!_0x270641['hiddenInPresenceList']){const _0x404cfe=this['channelConnectedUsers']['get'](_0x1b81b2);_0x404cfe['has'](_0x5e7fd8['id'])||_0x404cfe['add'](_0x5e7fd8),this['allConnectedUsers']['has'](_0x5e7fd8['id'])||_0x270641['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5e7fd8,_0x5e7fd8['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1b81b2,{'channelId':_0x1b81b2,'session':_0x1d959c});}['_handleSessionRemove'](_0x277c61,_0x346bff){if('connected'!==this['context']['plugins']['get'](K)['state'])return;const _0x4d7f3c=this['channelConnectedUsers']['get'](_0x277c61),_0x3ed624=_0x346bff['user'];_0x3ed624['id']&&(this['channelSessions']['get'](_0x277c61)['remove'](_0x346bff['id']),_0x4d7f3c['has'](_0x3ed624['id'])&&!this['getUserSessions'](_0x3ed624,_0x277c61)['size']&&_0x4d7f3c['remove'](_0x3ed624['id']),this['allConnectedUsers']['get'](_0x3ed624['id'])&&!this['getUserSessions'](_0x3ed624)['size']&&this['allConnectedUsers']['remove'](_0x3ed624['id']));}_createUser(_0x5e8b27,_0x2c595f){const _0xedadc5=this['_users']['addUser'](_0x5e8b27);return _0x2c595f&&this['_users']['defineMe'](_0x5e8b27['id']),_0xedadc5['orderNumber']=this['_uniqueUsersCount']++,_0xedadc5;}},X=class extends _0xe921b1{_domEmitter=new(_0x17110e())();static get requires(){return[J];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x49a60f=this['editor'],_0x4d6bab=_0x49a60f['plugins']['get'](J);_0x49a60f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x53fafb,{writer:_0x45731b})=>function(_0x1ef963,_0x426bf6,_0x43262f,_0x51a02c){const _0x3999cc=_0x1ef963['markerName']['split'](':')[0x2],_0x408e40=_0x43262f['getUserBySessionId'](_0x3999cc);if(!_0x408e40||_0x3999cc===_0x43262f['mySessionId'])return;if(!_0x51a02c['model']['schema']['checkChild'](_0x1ef963['markerRange']['start'],'$text'))return;const _0x40f251={'class':'ck-user__marker\x20'+_0x408e40['color']['getMarkerClass'](),'style':tt(_0x408e40),'data-name':_0x408e40['name'],'data-session-id':_0x3999cc},_0x300df9=_0x51a02c['model']['markers']['get'](_0x1ef963['markerName'])['getStart'](),_0xcf0f02=_0x300df9['nodeAfter'],_0x4cdfa5=_0x51a02c['model']['schema'];if(_0xcf0f02&&_0x4cdfa5['isObject'](_0xcf0f02)&&_0x4cdfa5['isInline'](_0xcf0f02)&&!_0x51a02c['model']['markers']['get']('user:range:'+_0x3999cc)['getRange']()['isCollapsed'])return;const _0x23c860=_0x300df9['parent'];return _0x51a02c['model']['schema']['isLimit'](_0x23c860)&&!_0x51a02c['model']['hasContent'](_0x23c860)&&(_0x40f251['contenteditable']=!0x1),function(_0x22c121,_0x3c3a2c,_0x530966){const _0x2a9d7a=_0x22c121['createUIElement']('span',_0x3c3a2c);return _0x22c121['setCustomProperty']('userPositionMarker',!0x0,_0x2a9d7a),_0x2a9d7a['render']=function(_0x332b6c){const _0x172873=this['toDomElement'](_0x332b6c),_0x2d0989=document['createElement']('span');return _0x2d0989['classList']['add']('ck-user__marker-tooltip'),_0x2d0989['setAttribute']('contenteditable','false'),_0x2d0989['setAttribute']('spellcheck','false'),_0x2d0989['textContent']=_0x530966['name'],_0x172873['innerHTML']=_0x2b9de0('<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x2d0989['outerHTML']+''),_0x172873['addEventListener']('mouseenter',()=>{_0x172873['classList']['add']('ck-user__marker_hovered');}),_0x172873['addEventListener']('mouseleave',()=>{_0x172873['classList']['remove']('ck-user__marker_hovered');}),_0x172873;},_0x2a9d7a['isSimilar']=function(_0x206641){return!(!this['getCustomProperty']('userPositionMarker')||!_0x206641['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x206641['getAttribute']('data-session-id'));},_0x2a9d7a;}(_0x426bf6,_0x40f251,_0x408e40);}(_0x53fafb,_0x45731b,_0x4d6bab,_0x49a60f)}),_0x49a60f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x232404=>function(_0x1f556a,_0x37a80c){const _0x163955=_0x1f556a['markerName']['split'](':')[0x2];if(_0x163955===_0x37a80c['mySessionId'])return null;const _0x505cdd=_0x37a80c['getUserBySessionId'](_0x163955);return _0x505cdd?{'id':_0x163955,'classes':['ck-user__selection',_0x505cdd['color']['getSelectionClass']()],'attributes':{'style':tt(_0x505cdd),'data-session-id':_0x163955},'priority':0x7d0+_0x505cdd['orderNumber']}:{'id':_0x163955,'classes':[]};}(_0x232404,_0x4d6bab)}),function(_0x9a25ed){const _0x2f8e92=_0x9a25ed['model'],_0x45b4ab=new Map(),_0x27a3f3=_0x9a25ed['plugins']['get'](J);_0x2f8e92['markers']['on']('update:user:range',(_0xfc5e56,_0x1a0c2c,_0x1dd3c6,_0x205e63)=>{if(!_0x205e63&&_0x45b4ab['get'](_0x1a0c2c['name']))return _0x45b4ab['get'](_0x1a0c2c['name'])['detach'](),void _0x45b4ab['delete'](_0x1a0c2c['name']);const _0x1cfed6=_0x1a0c2c['name']['split'](':')[0x2];if(_0x1cfed6===_0x27a3f3['mySessionId'])return;const _0x476074='user:position:'+_0x1cfed6;_0x2f8e92['markers']['has'](_0x476074)&&_0x9a25ed['editing']['reconvertMarker'](_0x476074),_0x1a0c2c['on']('change:range',(_0x265a7,_0x2e0062,_0x30320f)=>{if('$graveyard'!=_0x2e0062['root']['rootName']&&'$graveyard'==_0x1a0c2c['getRange']()['root']['rootName']&&!_0x45b4ab['has'](_0x1a0c2c['name'])){const _0x5825b3=_0x2f8e92['schema']['getNearestSelectionRange'](_0x30320f['deletionPosition']);if(_0x5825b3){const _0x4e565c=_0x255b41['fromRange'](_0x5825b3);_0x45b4ab['set'](_0x1a0c2c['name'],_0x4e565c),_0x4e565c['on']('change:range',(_0x434214,_0x5001bb,_0x361df9)=>{if('$graveyard'==_0x4e565c['root']['rootName']){const _0x44068f=_0x2f8e92['schema']['getNearestSelectionRange'](_0x361df9['deletionPosition']);_0x44068f?(_0x4e565c['start']=_0x44068f['start'],_0x4e565c['end']=_0x44068f['end']):(_0x45b4ab['delete'](_0x1a0c2c['name']),_0x4e565c['detach']());}});}}});}),_0x2f8e92['document']['on']('change',()=>{_0x45b4ab['size']>0x0&&_0x2f8e92['enqueueChange']({'isUndoable':!0x1},_0x183a71=>{for(const [_0x5b9a28,_0xcd173d]of _0x45b4ab)'$graveyard'==_0x2f8e92['markers']['get'](_0x5b9a28)['getRange']()['root']['rootName']&&(Z(_0x5b9a28['split'](':')[0x2],_0xcd173d['toRange'](),_0x2f8e92,_0x183a71),_0xcd173d['detach']());_0x45b4ab['clear']();});});}(_0x49a60f),this['_domEmitter']['listenTo'](_0x2c8769['document'],'keydown',(_0x3491bc,{key:_0x2d7dfb})=>{'Escape'===_0x2d7dfb&&function(_0x4fb55e){_0x4fb55e['editing']['view']['change'](_0x451f86=>{for(const _0x8b9b64 of _0x4fb55e['model']['markers']){if(!_0x8b9b64['name']['startsWith']('user:position'))continue;const _0x3153b7=_0x4fb55e['editing']['mapper']['markerNameToElements'](_0x8b9b64['name']);if(_0x3153b7){for(const _0x5125c5 of _0x3153b7)_0x451f86['removeClass']('ck-user__marker_hovered',_0x5125c5);}}});}(_0x49a60f);},{'useCapture':!0x0});}afterInit(){const _0x643980=this['editor'],_0x8909cf=_0x643980['commands']['get']('undo');_0x8909cf&&_0x643980['model']['on']('applyOperation',(_0x5a7b2e,_0x35c6c0)=>{const _0x428c3d=_0x35c6c0[0x0];if(!_0x428c3d['isDocumentOperation'])return;if('marker'!=_0x428c3d['type']||!_0x428c3d['name']['startsWith']('user:'))return;const _0x16cd7d=_0x428c3d['batch'];_0x8909cf['_createdBatches']['has'](_0x16cd7d)&&(_0x428c3d['newRange']=_0x428c3d['oldRange']?_0x643980['model']['createRange'](_0x428c3d['oldRange']['start'],_0x428c3d['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x441717=this['editor'],_0x5ce0d8=_0x441717['model']['document'],_0x1d32f6=_0x441717['plugins']['get'](J);_0x441717['model']['enqueueChange']({'isUndoable':!0x1},_0x47a2e6=>{const _0x4b0b71='user:range:'+_0x1d32f6['mySessionId'],_0x1f1a16='user:position:'+_0x1d32f6['mySessionId'],_0x1ac5ed=_0x441717['model']['markers']['has'](_0x4b0b71);_0x441717['editing']['view']['hasDomSelection']?Z(_0x1d32f6['mySessionId'],_0x5ce0d8['selection']['getFirstRange'](),_0x441717['model'],_0x47a2e6):_0x1ac5ed&&(_0x47a2e6['removeMarker'](_0x4b0b71),_0x47a2e6['removeMarker'](_0x1f1a16));});}};function Z(_0x4ad64d,_0x1c0d67,_0x268c7f,_0x5e53fc){const _0x197ee0='user:range:'+_0x4ad64d,_0x3e8216='user:position:'+_0x4ad64d,_0x30a102=_0x1c0d67['getContainedElement']();let _0x5b12f8=_0x1c0d67['start'];if(_0x30a102&&_0x30a102['is']('element','tableCell')){const _0x1f79c3=function(_0x2caa3e,_0x1798f5){for(const _0x31d7e7 of _0x2caa3e['getPositions']())if(_0x1798f5['schema']['checkChild'](_0x31d7e7,'$text'))return _0x31d7e7;}(_0x1c0d67,_0x268c7f);_0x1f79c3&&(_0x5b12f8=_0x1f79c3,_0x1c0d67=_0x5e53fc['createRange'](_0x5b12f8));}const _0x34904d=_0x5e53fc['createRange'](_0x5b12f8);_0x268c7f['markers']['has'](_0x197ee0)?(_0x5e53fc['updateMarker'](_0x197ee0,{'range':_0x1c0d67}),_0x5e53fc['updateMarker'](_0x3e8216,{'range':_0x34904d})):(_0x5e53fc['addMarker'](_0x197ee0,{'range':_0x1c0d67,'usingOperation':!0x0}),_0x5e53fc['addMarker'](_0x3e8216,{'range':_0x34904d,'usingOperation':!0x0}));}function tt(_0x217f55){return'--ck-user-color:'+_0x217f55['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x217f55['color']['getColorAlphaVariable']()+';';}function et(_0x35746c,_0x93e8ef,_0x361e02){const _0x5accab=_0x35746c['t'],t=_0x35746c['t'];switch(_0x93e8ef){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 _0x5accab({'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'},_0x361e02);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0xe921b1{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x4ddf1a)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[K,J,X,_0x136c96,_0x34903c,_0x203982];}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 _0xf16d5a=this['serverHistory']['getOperations']();for(let _0xcce28=_0xf16d5a['length']-0x1;_0xcce28>=0x0;_0xcce28--){const _0x117192=_0xf16d5a[_0xcce28];if(!this['_disconnectionOperations']['has'](_0x117192))return _0x117192['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x35303b){if(super(_0x35303b),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x42b666(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xfd414f('collaboration-missing-channelid',this);const _0x3b0e38=_0x35303b['config']['get']('cloudServices.bundleVersion')||_0x194795;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3b0e38,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x19eabb(),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 ot(this['_disconnectionOperations']);}init(){const _0x25cbca=this['editor'],_0x218c39=_0x25cbca['plugins']['get'](_0x34903c),_0x4f3d41=_0x25cbca['plugins']['get'](K);this['listenTo'](_0x218c39,'getOperationAuthor',(_0x1059a5,_0x42b573)=>{const _0x10d224=_0x42b573[0x0];_0x10d224['_authorId']&&(_0x1059a5['return']=_0x218c39['getUser'](_0x10d224['_authorId']),_0x1059a5['stop']()),null===_0x10d224['_authorId']&&(_0x1059a5['return']=null,_0x1059a5['stop']());},{'priority':'high'}),this['listenTo'](_0x25cbca['model']['document']['selection'],'change:range',(_0x1f0f58,_0x16695a)=>{_0x16695a['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x25cbca['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x25cbca['model']['on']('applyOperation',(_0x3024d0,_0x3ce9d9)=>{const _0x1167a0=_0x3ce9d9[0x0];_0x1167a0['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1167a0),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x4f3d41,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x1ba857,_0x586d4c,_0x13acc9)=>'connected'===_0x1ba857&&!_0x586d4c&&!_0x13acc9),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x25cbca['disableReadOnlyMode']('rtc-offline'):_0x25cbca['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x25cbca['disableReadOnlyMode']('rtc-offline'):_0x25cbca['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x420e1a=this['editor']['plugins']['get'](J),_0x452de1=this['editor']['plugins']['get'](K);try{this['_isPendingUpdate']=!0x0,_0x420e1a['unregister'](this['_channelId']);const _0x2e6dd7=await this['_service']['reconnect'](_0x452de1['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x2e6dd7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4a1a61=await this['_service']['getConnectedSessions']();_0x420e1a['register'](this['_channelId'],_0x4a1a61),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x19e992){if(function(_0x2b5dd1){return'404'===_0x2b5dd1['code'];}(_0x19e992)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x306eee){return'409'===_0x306eee['code'];}(_0x19e992)){const _0x2eade2=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'](_0x2eade2);}else{if(!(_0x19e992 instanceof nt))throw _0x19e992;this['_handleReconnectionError']();}}}}destroy(){const _0x354621=this['editor']['plugins']['get'](K),_0x158733=this['editor']['plugins']['get'](J);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x158733['channelSessions']['has'](this['_channelId'])&&_0x158733['unregister'](this['_channelId']),_0x354621['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x420df2){if(this['sessionId']!==_0x420df2['sessionId']&&this['_lastSyncedOperationId']!==_0x420df2['lastOperationId'])throw new nt();return this['sessionId']=_0x420df2['sessionId'],this['_handleServerResponse']([],{..._0x420df2,'wereChangesApplied':!0x1,'data':_0x420df2['data']},'reconnect');}async _connectService(_0x10b9da,_0x12c4a9=!0x1){const {connection:_0x3034f9}=this['editor']['plugins']['get'](K);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x3034f9,this['_channelId'])['then'](_0x251761=>this['_initSessionsHandling'](_0x251761))['catch'](_0x3fd3cf=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3fd3cf);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4a8621,_0x1fa827)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1fa827);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x556283=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x10b9da);this['_isPendingUpdate']=!0x0;const _0x79a657=await this['_service']['connect'](_0x3034f9,this['_compressOperations'](_0x10b9da),_0x556283);if(this['sessionId']=_0x79a657['sessionId'],_0x12c4a9){if(!_0x79a657['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x79a657['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x10b9da,_0x79a657,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x79a657,_0x10b9da);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0xbbb65c=this['editor']['plugins']['get'](J),_0x307d59=this['editor']['plugins']['get'](X),_0x28dcb4=_0xbbb65c['channelSessions']['get'](this['_channelId']);_0x28dcb4&&_0x28dcb4['length']>0x1?_0x307d59['createUserMarkerOperations']():this['listenTo'](_0xbbb65c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xbbb65c['channelSessions']['get'](this['_channelId'])['length']&&_0x307d59['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x13a217,_0x55724c,_0x402c47,_0x3664b3){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x55724c){const _0x5084a8=this['_decompressOperations'](_0x402c47,_0x3664b3);await this['_fetchMissingUsers'](_0x5084a8),this['_handleExternalOperations'](_0x5084a8,_0x55724c,_0x402c47['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x243c55}=this['editor'];let _0x15e882;try{_0x15e882=await this['_service']['getDocumentDetails']();}catch{const _0x5dece9=et(_0x243c55,'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'](_0x5dece9);}const _0x55b5e2=_0x15e882['currentDocumentSession']||_0x15e882['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x55b5e2['lastOperationId']){const _0x5ccf08=et(_0x243c55,'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'](_0x5ccf08);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x7d07bc=this['editor']['plugins']['get'](K);if(this['_isConnected']=!0x1,!_0x7d07bc['connection']||'connected'!==_0x7d07bc['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0xc231af=this['editor']['plugins']['get'](J);_0xc231af['channelSessions']['has'](this['_channelId'])&&_0xc231af['unregister'](this['_channelId']),_0x7d07bc['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x28bd63){const _0x35fd9b=this['editor']['plugins']['get'](J);this['listenTo'](_0x35fd9b,'sessionAdd:'+this['_channelId'],(_0x40dba0,{session:_0x12b419})=>{if(_0x12b419['id']===_0x35fd9b['mySessionId']){_0x40dba0['off']();const _0x45ed7c=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x462a4e=_0x12b419['permissions'];_0x45ed7c&&_0x45ed7c['isEnabled']&&(_0x462a4e=_0x462a4e['filter'](_0x18d033=>'document:write'!==_0x18d033)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x462a4e,this['_channelId']);}}),_0x35fd9b['register'](this['_channelId'],_0x28bd63);}_initThrowingOnDataSet(){const _0x286f1d=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x37f3e9)=>{if(!_0x37f3e9[_0x37f3e9['length']-0x1]['suppressErrorInCollaboration'])throw new _0xfd414f('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x286f1d['apply'](this['editor']['data'],_0x37f3e9);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x35ed55,[_0x51c5e0])=>{if(this['_document']['version'])throw new _0xfd414f('realtimecollaborationclient-init-document-already-initialized',this);_0x35ed55['stop'](),this['_setPendingAction']();const _0x460869=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x266ad0])=>!_0x266ad0['lazyLoad'])['map'](([_0x5c714c,_0x111dab])=>[_0x5c714c,_0x111dab['modelAttributes']||{}])),_0x2c750e=this['_getOperationsFromInitData'](_0x51c5e0,_0x460869);0x0==_0x2c750e['length']&&_0x2c750e['push'](new _0x385e36(0x0)),_0x35ed55['return']=this['_connectService'](_0x2c750e)['then'](()=>{this['editor']['plugins']['get'](K)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1ca209=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1ca209))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x5ec146,[_0x3bf35a,_0x2f69ce])=>{_0x5ec146['stop']();const _0x3ad3b2=this['editor']['model']['document']['getRoot'](_0x3bf35a);if(!this['_knownRootNames']['has'](_0x3bf35a)){const _0x578a74=_0x2f69ce&&_0x2f69ce['data']?_0x2f69ce['data']:'',_0xbf61d8=_0x2f69ce&&_0x2f69ce['attributes']?_0x2f69ce['attributes']:{};await this['_loadRoot'](_0x3bf35a,_0x578a74,_0xbf61d8);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3ad3b2['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3ad3b2);});},{'priority':'high'});}async _fetchMissingUsers(_0xb58f36){const _0x182c44=this['editor']['plugins']['get'](_0x34903c),{connection:_0x36618d}=this['editor']['plugins']['get'](K),_0x27a372=new Set();for(const _0x2c501a of _0xb58f36){const _0x109b37=_0x2c501a['_authorId'];_0x109b37&&!_0x182c44['getUser'](_0x109b37)&&_0x27a372['add'](_0x109b37);}if(0x0===_0x27a372['size'])return;const _0x426150=await _0x2bb41d['getMany'](_0x36618d,Array['from'](_0x27a372));for(const _0x4204e1 of _0x426150)_0x182c44['getUser'](_0x4204e1['id'])||_0x182c44['addUser'](_0x4204e1);}_getOperationsFromInitData(_0x153218,_0x14564f={}){const _0x24de1b=this['editor']['model'],_0x368fbb=[];let _0x139c5c=0x0;const _0x27fc3c='string'==typeof _0x153218?{'main':_0x153218}:_0x153218;for(const _0xccf073 of Object['keys'](_0x27fc3c)){if(!this['_document']['roots']['has'](_0xccf073))throw new _0xfd414f('realtimecollaborationclient-init-non-existent-root',this);const _0x48e0a6=this['_document']['getRoot'](_0xccf073),_0x7870f8=this['editor']['data']['parse'](_0x27fc3c[_0xccf073],_0x48e0a6),_0x50b36e=new _0x138fb1(_0x24de1b['createPositionAt'](_0x48e0a6,0x0),_0x7870f8,_0x139c5c++);_0x368fbb['push'](_0x50b36e);for(const [_0x85c520,_0x333249]of _0x7870f8['markers']){const _0x380ec6=_0x24de1b['createRange'](_0x24de1b['createPositionFromPath'](_0x48e0a6,_0x333249['start']['path']['slice']()),_0x24de1b['createPositionFromPath'](_0x48e0a6,_0x333249['end']['path']['slice']())),_0x874f37=new _0x4c1945(_0x85c520,null,_0x380ec6,_0x24de1b['markers'],!0x0,_0x139c5c++);_0x368fbb['push'](_0x874f37);}}if(_0x14564f)for(const [_0x35ee0d,_0x424c79]of Object['entries'](_0x14564f)){const _0x360e1e=_0x24de1b['document']['getRoot'](_0x35ee0d);if(!_0x360e1e)throw new _0xfd414f('multi-root-editor-root-attributes-no-root',null);for(const [_0x27d3d7,_0x8dea3]of Object['entries'](_0x424c79))if(null!==_0x8dea3){const _0xc02b63=new _0x5df407(_0x360e1e,_0x27d3d7,null,_0x8dea3,_0x139c5c++);_0x368fbb['push'](_0xc02b63);}}return _0x368fbb;}async _loadRoot(_0x3dbabd,_0xb31ad,_0x5f2892){this['_getOperationsFromInitData']({[_0x3dbabd]:_0xb31ad},{[_0x3dbabd]:_0x5f2892})['forEach']((_0x3de29f,_0x519fda)=>{_0x3de29f['baseVersion']=this['_document']['version']+_0x519fda,_0x3de29f['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x3de29f);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x5ae6b3,_0x266e8b){let _0xf2af7c;this['_offset']=_0x5ae6b3['offset'];const _0x1efe05=_0x5ae6b3['wereChangesApplied']&&!_0x5ae6b3['initData'],_0x21f0e9=_0x1efe05?0x0:_0x5ae6b3['data']['baseVersion'];if(_0x266e8b['forEach'](_0x39adaa=>{_0x39adaa['_isInit']=!0x0,_0x39adaa['createdAt']=_0x5ae6b3['sessionCreatedAt'],_0x39adaa['_authorId']=null;}),_0x1efe05)_0xf2af7c=_0x266e8b,this['_applyOperationsSet'](_0xf2af7c,_0x1efe05);else{if(_0x5ae6b3['initData']){const _0x3dbb17=this['_getOperationsFromInitData'](_0x5ae6b3['initData']);this['_document']['history']['version']=-_0x3dbb17['length'],_0x3dbb17['forEach'](_0x1bcf9c=>{_0x1bcf9c['baseVersion']-=_0x3dbb17['length'],_0x1bcf9c['createdAt']=_0x5ae6b3['sessionCreatedAt'],_0x1bcf9c['_isInit']=!0x0,_0x1bcf9c['_authorId']=null;}),this['_applyOperationsSet'](_0x3dbb17,!0x0),this['serverHistory']['version']=-_0x3dbb17['length']+this['_offset'],this['_updateServerHistory'](_0x3dbb17);}this['_document']['history']['version']=_0x21f0e9,_0xf2af7c=this['_decompressOperations'](_0x5ae6b3['data'],_0x5ae6b3['metadata']),await this['_fetchMissingUsers'](_0xf2af7c),this['_applyOperationsSet'](_0xf2af7c,_0x1efe05);}_0x5ae6b3['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xf2af7c,_0x5ae6b3['lastOperationId']),this['_lastSyncedOperationId']=_0x5ae6b3['lastOperationId']),this['serverHistory']['version']=_0x21f0e9+this['_offset'],this['_updateServerHistory'](_0xf2af7c),_0x266e8b['filter'](_0x469237=>{const _0x220086=this['_getAffectedRoot'](_0x469237);return _0x220086&&!this['_knownRootNames']['has'](_0x220086);})['forEach']((_0x3ac910,_0x57a3f5)=>{_0x3ac910['baseVersion']=this['_document']['version']+_0x57a3f5,this['_saveOperationInBuffer'](_0x3ac910);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x376ad4,_0x1a0d70){const _0xb326e7=_0x1a0d70&&_0x1a0d70['message'];if(_0xb326e7&&_0xb326e7['startsWith']('realtimecollaborationclient'))throw _0x1a0d70;const _0x1fdc41=this['editor']['plugins']['get'](K);throw this['_isPendingUpdate']=!0x0,_0x1fdc41['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xfd414f(_0x376ad4,this['editor'],_0xb326e7?{'originalError':_0xb326e7}:void 0x0);}_saveOperationInBuffer(_0xb89be){this['_knownOperations']['has'](_0xb89be)||(this['_knownOperations']['add'](_0xb89be),this['_bufferedOperations']['push'](_0xb89be),this['_pendingAction']||'marker'==_0xb89be['type']&&!_0xb89be['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x5aead1=!0x1){!_0x5aead1&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x46961e=>{_0x46961e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x438538=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4c4075){return _0x4c4075['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4c4075['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4c4075['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x438538)||this['_crash'](_0x438538['message'],_0x438538);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x5b9ae0=>{this['on']('change:_isPendingUpdate',()=>{_0x5b9ae0();});});}async _sendBufferedOperations(){const _0x8f1d76=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x8f1d76['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x45b26d=[...this['_bufferedOperations']];for(const _0x145a64 of _0x45b26d)_0x145a64['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x145a64);const _0x3a3775=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x45b26d),_0x409351=st++,_0x2c9e57=this['_compressOperations'](_0x45b26d),_0x32fb3b=await this['_service']['sendOperations'](_0x2c9e57,_0x2c9e57['baseVersion'],_0x3a3775);try{return await this['_handleServerResponse'](_0x45b26d,_0x32fb3b,_0x409351);}catch(_0x28b92a){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x28b92a);}}async['_handleServerResponse'](_0x27aac0,_0x393df5,_0x4babce){if('error'in _0x393df5)throw _0x393df5['error'];let _0x520fbc;if(_0x393df5['wereChangesApplied']){_0x393df5['lastOperationId']&&(this['_lastSyncedOperationId']=_0x393df5['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x52775f=>!_0x27aac0['includes'](_0x52775f));for(const _0x7f081b of _0x27aac0)_0x7f081b['createdAt']='lastOperationAcceptedAt'in _0x393df5&&_0x393df5['lastOperationAcceptedAt']||void 0x0;rt(_0x27aac0,_0x393df5['version']-_0x27aac0['length']),this['_updateServerHistory'](_0x27aac0);const _0x216fce=_0x27aac0['filter'](_0x1eaeab=>{if(!_0x1eaeab['_isInit'])return!0x1;const _0xb862aa=this['_getAffectedRoot'](_0x1eaeab);return _0xb862aa&&!this['_knownRootNames']['has'](_0xb862aa);});rt(_0x216fce,this['_document']['version']),this['_applyOperationsSet'](_0x216fce),_0x520fbc=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3ef6da=this['_decompressOperations'](_0x393df5['data'],_0x393df5['metadata'])['filter'](_0x340328=>_0x340328['baseVersion']>=this['_lastServerVersion']);_0x3ef6da['forEach'](_0x551b30=>this['_addKnownRoot'](_0x551b30)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5d05c8=>!_0x5d05c8['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5d05c8))),this['_bufferedOperations']['length']&&rt(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3ef6da),_0x520fbc=this['_handleExternalOperations'](_0x3ef6da,_0x393df5['version'],_0x393df5['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x520fbc?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x8a7b45,_0x3a1a7b,_0x4a2466){try{const _0x2b165e={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4bbc50,operationsB:_0x34a2f4,originalOperations:_0x37af7f}=_0x16a381(_0x8a7b45,this['_bufferedOperations'],_0x2b165e);rt(_0x4bbc50,this['_document']['version']),rt(_0x34a2f4,_0x3a1a7b);for(const _0x1f5306 of _0x4bbc50){const _0x475e2c=_0x37af7f['get'](_0x1f5306);_0x475e2c?(_0x1f5306['_authorId']=_0x475e2c['_authorId'],'noop'!==_0x1f5306['type']&&(_0x1f5306['_aiSource']=_0x475e2c['_aiSource'])):_0x1f5306['_authorId']=null;}for(const _0x212562 of _0x34a2f4)'noop'!==_0x212562['type']&&(_0x212562['_aiSource']=_0x37af7f['get'](_0x212562)?.['_aiSource']);_0x4a2466&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x8a7b45,_0x4a2466),this['_lastSyncedOperationId']=_0x4a2466),this['_bufferedOperations']=[..._0x34a2f4],this['_applyOperationsSet'](_0x4bbc50),this['_updateServerHistory'](_0x8a7b45);}catch(_0x109f7b){return console['error'](_0x109f7b),!0x1;}return!0x0;}_applyOperationsSet(_0x594513,_0xb35c90=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x24e7de=>{for(const _0x1e3922 of _0x594513)this['_knownOperations']['add'](_0x1e3922),this['_addKnownRoot'](_0x1e3922),_0x24e7de['batch']['addOperation'](_0x1e3922),this['editor']['model']['applyOperation'](_0x1e3922);});}_addKnownRoot(_0x3f32d2){const _0x5d5f68=this['_getAffectedRoot'](_0x3f32d2);_0x5d5f68&&this['_knownRootNames']['add'](_0x5d5f68);}_getAffectedRoot(_0x41838d){let _0x3cff56,_0x33718b;switch(_0x41838d['type']){case'insert':_0x3cff56=_0x41838d['position']['root'];break;case'marker':if(_0x33718b=_0x41838d['newRange'],!_0x33718b)return null;_0x3cff56=_0x33718b['root'];break;case'addRootAttribute':_0x3cff56=_0x41838d['root'];break;case'addRoot':_0x3cff56=_0x41838d['affectedSelectable'];break;case'move':_0x3cff56=_0x41838d['targetPosition']['root'];break;default:return null;}return _0x3cff56['rootName'];}_updateServerHistory(_0x3ae5bd){_0x3ae5bd['forEach'](_0x56c98d=>{const _0x3af129=_0x56c98d['clone']();_0x3af129['_authorId']=_0x56c98d['_authorId'],_0x3af129['_isInit']=!!_0x56c98d['_isInit'],_0x3af129['_aiSource']=_0x56c98d['_aiSource'],_0x3af129['createdAt']=_0x56c98d['createdAt'],_0x3af129['baseVersion']+=this['_offset'],_0x56c98d['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3af129),this['serverHistory']['addOperation'](_0x3af129);});}_handleReconnectionError(_0x3b2b78){const _0x509d93=this['editor']['plugins']['get']('Notification'),_0x5c6176=this['editor']['locale'];_0x3b2b78||(_0x3b2b78=et(_0x5c6176,'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.')),_0x509d93['showWarning'](_0x3b2b78,{'title':et(_0x5c6176,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](K)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x136c96)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x136c96)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x5d45c7){const _0x2300eb=_0x5d45c7['map'](_0x48b636=>_0x48b636['toJSON']());return this['_compressor']['compress'](_0x2300eb);}_decompressOperations(_0x5b080f,_0x3ae73e){return this['_compressor']['decompress'](_0x5b080f)['map']((_0x5d65b1,_0x3684ec)=>{const _0x3693a5='init'==_0x3ae73e[_0x3684ec]['type'];if('InsertOperation'==_0x5d65b1['__className']){const _0x1572f8=_0x5d65b1['position']['root'];!this['_document']['getRoot'](_0x1572f8)&&(this['_document']['createRoot']('$unknown',_0x1572f8)['_isAttached']=!0x1);}else{if('RootOperation'==_0x5d65b1['__className']){const _0x3e1aa0=this['_document']['getRoot'](_0x5d65b1['rootName']);_0x3e1aa0&&'$unknown'==_0x3e1aa0['name']&&_0x5d65b1['elementName']!=_0x3e1aa0['name']&&(_0x3e1aa0['name']=_0x5d65b1['elementName']);}}const _0x15ad8a=_0xb1217f['fromJSON'](_0x5d65b1,this['_document']);return _0x15ad8a['wasUndone']=_0x5d65b1['wasUndone'],_0x15ad8a['_isInit']=_0x3693a5,_0x15ad8a['_authorId']=_0x3693a5?null:_0x3ae73e[_0x3684ec]['userId'],_0x15ad8a['_isDisconnection']='cs:removeUser'===_0x3ae73e[_0x3684ec]['type'],_0x15ad8a['_aiSource']=_0x5d65b1['_aiSource']||void 0x0,_0x15ad8a['createdAt']=_0x3ae73e[_0x3684ec]['createdAt'],_0x15ad8a;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x4cbbae=this['editor']['plugins']['get'](J)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4cbbae&&_0x4cbbae['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function rt(_0x547ce6,_0x2adc00){for(const _0x1076e2 of _0x547ce6)_0x1076e2['baseVersion']=_0x2adc00++;}var ot=class{_ignoredOperations;_operationToId;constructor(_0xa9af60){this['_ignoredOperations']=_0xa9af60,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x4cf98d){let _0x585084=_0x4cf98d['length'];for(;_0x585084--;){const _0x5e41eb=_0x4cf98d[_0x585084];if(!this['_ignoredOperations']['has'](_0x5e41eb)){if(!this['_operationToId']['has'](_0x5e41eb)){const _0x251893=_0x1f7834()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5e41eb,_0x251893);}return this['_operationToId']['get'](_0x5e41eb);}}}setIdForTheLastOperation(_0x10946c,_0x6d1d70){if(!_0x6d1d70)return;let _0xcd622b=_0x10946c['length'];for(;_0xcd622b--;){const _0x3edcf4=_0x10946c[_0xcd622b];this['_ignoredOperations']['has'](_0x3edcf4)||this['_operationToId']['set'](_0x3edcf4,_0x6d1d70);}}},ct=class extends _0xe921b1{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class extends _0xe921b1{['_sources']=new Map();_data=null;_hasStarted=!0x1;static get requires(){return[K,J,_0x34903c];}static get['pluginName'](){return'RealTimeContentFetcher';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}_register(_0x4cc6ee,_0x33ec54){if(this['_hasStarted'])throw new _0xfd414f('realtimecontentfetcher-register-after-init',null,{'name':_0x4cc6ee});if(this['_sources']['has'](_0x4cc6ee))throw new _0xfd414f('realtimecontentfetcher-register-duplicate',null,{'name':_0x4cc6ee});this['_sources']['set'](_0x4cc6ee,_0x33ec54);}_takeInitialData(_0x1bfa92){if(!this['_data'])throw new _0xfd414f('realtimecontentfetcher-data-not-ready',null,{'name':_0x1bfa92});if(!this['_data']['has'](_0x1bfa92))throw new _0xfd414f('realtimecontentfetcher-data-not-available',null,{'name':_0x1bfa92});const _0x42abd9=this['_data']['get'](_0x1bfa92);return this['_data']['delete'](_0x1bfa92),_0x42abd9;}async init(){this['_hasStarted']=!0x0;const _0x2c7b5c=Array['from'](this['_sources']),_0x42c4ef=await Promise['all'](_0x2c7b5c['map'](([,_0x5806ea])=>_0x5806ea['fetch']()));await this['_fetchMissingUsers'](_0x2c7b5c['map'](([,_0x41d673],_0x363b70)=>_0x41d673['getUserIds'](_0x42c4ef[_0x363b70]))),this['_data']=new Map(_0x2c7b5c['map'](([_0x39e1d5],_0x1aad62)=>[_0x39e1d5,_0x42c4ef[_0x1aad62]]));}async _fetchMissingUsers(_0xefa911){const _0x71b898=this['editor']['plugins']['get'](_0x34903c),_0x5428b3=new Set();for(const _0x54dc25 of _0xefa911)for(const _0x3ff2ea of _0x54dc25)_0x71b898['getUser'](_0x3ff2ea)||_0x5428b3['add'](_0x3ff2ea);if(0x0===_0x5428b3['size'])return;const {connection:_0x55891a}=this['editor']['plugins']['get'](K),_0x559ac9=await _0x2bb41d['getMany'](_0x55891a,Array['from'](_0x5428b3));for(const _0x21df54 of _0x559ac9)_0x71b898['getUser'](_0x21df54['id'])||_0x71b898['addUser'](_0x21df54);}};function ht(_0x5881fa){const _0x32c687=new Set();for(const {resolvedBy:_0x2898b0,comments:_0x4dbd8d}of _0x5881fa){_0x2898b0&&_0x32c687['add'](_0x2898b0);for(const {userId:_0x54e616}of _0x4dbd8d)_0x32c687['add'](_0x54e616);}return _0x32c687;}var lt=class CloudServicesCommentsAdapter extends _0x59f6ff{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x1e7241)());['_services'];_pendingServiceEvents=new Map();_channelsAwaitingInitialData=new Set();static get requires(){return[K,_0x571fe4,J,_0x34903c];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b21ba){super(_0x5b21ba),this['_services']=new Map();}async init(){const _0x1bbae9=this['context'],_0x784e43=_0x1bbae9['plugins']['get'](_0x571fe4);if(_0x1bbae9['plugins']['get'](K)['addToReconnectionStack'](this),_0x784e43['adapter']={'addCommentThread':async({channelId:_0x1e4d43,threadId:_0x1df603,comments:_0x15bbb2,resolvedAt:_0x56381e,resolvedBy:_0x19ff6a,context:_0x21c828,attributes:_0x33fec5})=>{const _0x4118ee=await this['_getService'](_0x1e4d43)['addCommentThread']({'commentThreadId':_0x1df603,'comments':_0x15bbb2['map'](_0x5bfd1a=>function(_0x3a51be,_0x35421c,_0x43d941){return{'commentThreadId':_0x43d941,'commentId':_0x3a51be['commentId'],'userId':_0x3a51be['authorId'],'content':_0x3a51be['content'],'documentId':_0x35421c,'createdAt':_0x3a51be['createdAt'],'attributes':_0x3a51be['attributes']||{}};}(_0x5bfd1a,_0x1e4d43,_0x1df603)),'resolvedAt':_0x56381e,'resolvedBy':_0x19ff6a,'context':_0x21c828,'attributes':_0x33fec5})['catch'](ut);return{'threadId':_0x4118ee['commentThreadId'],'comments':_0x4118ee['comments']};},'getCommentThread':async({channelId:_0x139420,threadId:_0x574e7a})=>{const _0x5d9072=await this['_getService'](_0x139420)['getCommentThread'](_0x574e7a)['catch'](dt)['catch'](ut);return _0x5d9072?_0x5d9072['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5d9072]),{'threadId':_0x5d9072['commentThreadId'],'comments':_0x5d9072['comments']['map'](ft),'context':_0x5d9072['context'],'resolvedAt':_0x5d9072['resolvedAt'],'resolvedBy':_0x5d9072['resolvedBy'],'attributes':_0x5d9072['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x402fd4,threadId:_0x34f3c9,context:_0x454056,unlinkedAt:_0x417057,attributes:_0x565325})=>this['_getService'](_0x402fd4)['updateCommentThread']({'commentThreadId':_0x34f3c9,'context':_0x454056,'attributes':_0x565325,'unlinkedAt':_0x417057})['catch'](dt)['catch'](ut),'resolveCommentThread':async({channelId:_0x4bb9e5,threadId:_0xbd5e56})=>{const _0x2f8cef=await this['_getService'](_0x4bb9e5)['resolveCommentThread'](_0xbd5e56)['catch'](dt)['catch'](ut);return{'threadId':_0x2f8cef['commentThreadId'],'resolvedAt':_0x2f8cef['resolvedAt'],'resolvedBy':_0x2f8cef['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1be7d7,threadId:_0x58db13})=>this['_getService'](_0x1be7d7)['reopenCommentThread'](_0x58db13)['catch'](dt)['catch'](ut),'removeCommentThread':({channelId:_0x23999a,threadId:_0x347d24})=>this['_getService'](_0x23999a)['removeCommentThread'](_0x347d24)['catch'](dt)['catch'](ut),'addComment':({channelId:_0x17a9d0,threadId:_0x46958e,commentId:_0x160dcf,content:_0x2eee32,attributes:_0x5ea753})=>this['_getService'](_0x17a9d0)['addComment'](_0x46958e,_0x160dcf,_0x2eee32,_0x5ea753)['catch'](ut),'updateComment':({channelId:_0x4d721f,threadId:_0x16d994,commentId:_0x2d6e8f,content:_0x533741,attributes:_0x520bcf})=>this['_getService'](_0x4d721f)['updateComment'](_0x16d994,_0x2d6e8f,_0x533741,_0x520bcf)['catch'](dt)['catch'](ut),'removeComment':({channelId:_0x3d07c5,threadId:_0x485237,commentId:_0x44ef52})=>this['_getService'](_0x3d07c5)['removeComment'](_0x485237,_0x44ef52)['catch'](dt)['catch'](ut)},_0x1bbae9 instanceof _0x2444db){const _0x418ec7=_0x1bbae9['config']['get']('collaboration.channelId'),_0x3a8815=_0x1bbae9['plugins']['get'](J);await this['_setUpService'](_0x418ec7);const _0xd7eab8=await this['_services']['get'](_0x418ec7)['getConnectedSessions']();this['listenTo'](_0x3a8815,'sessionAdd:'+_0x418ec7,(_0x4b26c5,{session:_0x55f210})=>{_0x55f210['id']===_0x3a8815['mySessionId']&&(_0x4b26c5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x55f210['permissions'],_0x418ec7));}),_0x3a8815['register'](_0x418ec7,_0xd7eab8);}}async _setUpService(_0x217f30){this['_createService'](_0x217f30),await this['_connectService'](_0x217f30);}_createService(_0x4676fd){if(this['_services']['has'](_0x4676fd))throw new _0xfd414f('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4676fd});const _0x3ab22f=this['context']['plugins']['get'](_0x571fe4),_0x4b76e1=new CloudServicesCommentsAdapter['CommentsService'](_0x4676fd);this['_services']['set'](_0x4676fd,_0x4b76e1),this['listenTo'](_0x4b76e1,'commentThreadAdded',(_0x278675,_0x5f558d)=>{const {commentThreadId:_0x42b15e,documentId:_0x4b2e0c,context:_0x49d8c0,attributes:_0x3f50b0,resolvedAt:_0x5943c6,resolvedBy:_0x30f50b,comments:_0x328d20}=_0x5f558d,_0x20c664=_0x328d20?_0x328d20['map'](({userId:_0x29a2da})=>_0x29a2da):[];_0x30f50b&&_0x20c664['push'](_0x30f50b),this['_handleOrQueueServiceEvent'](_0x4676fd,_0x20c664,()=>{_0x3ab22f['getCommentThread'](_0x42b15e)||_0x3ab22f['addCommentThread']({'threadId':_0x42b15e,'channelId':_0x4b2e0c,'comments':_0x328d20?_0x328d20['map'](ft):[],'context':_0x49d8c0,'attributes':_0x3f50b0,'resolvedAt':_0x5943c6,'resolvedBy':_0x30f50b,'isFromAdapter':!0x0});});}),this['listenTo'](_0x4b76e1,'commentThreadUpdated',(_0x426ffa,{commentThreadId:_0x4d412d,documentId:_0x10edbd,context:_0x1241fd,unlinkedAt:_0x110b6b,attributes:_0x2925b3})=>{this['_handleOrQueueServiceEvent'](_0x4676fd,[],()=>{_0x3ab22f['getCommentThread'](_0x4d412d)&&_0x3ab22f['updateCommentThread']({'threadId':_0x4d412d,'channelId':_0x10edbd,'context':_0x1241fd,'unlinkedAt':_0x110b6b,'attributes':_0x2925b3,'isFromAdapter':!0x0});});}),this['listenTo'](_0x4b76e1,'commentThreadResolved',(_0x2a9a43,{commentThreadId:_0x618d83,resolvedBy:_0x457a87,resolvedAt:_0x130b11})=>{this['_handleOrQueueServiceEvent'](_0x4676fd,[_0x457a87],()=>{const _0x503425=_0x3ab22f['getCommentThread'](_0x618d83);_0x503425&&!_0x503425['isResolved']&&_0x503425['resolve']({'resolvedBy':_0x457a87,'resolvedAt':_0x130b11,'isFromAdapter':!0x0});});}),this['listenTo'](_0x4b76e1,'commentThreadReopened',(_0x2836ed,{commentThreadId:_0x232a03})=>{this['_handleOrQueueServiceEvent'](_0x4676fd,[],()=>{const _0x1d3819=_0x3ab22f['getCommentThread'](_0x232a03);_0x1d3819&&_0x1d3819['isResolved']&&_0x1d3819['reopen']({'isFromAdapter':!0x0});});}),this['listenTo'](_0x4b76e1,'commentThreadRemoved',(_0x4df9f6,{commentThreadId:_0x1875d0})=>{this['_handleOrQueueServiceEvent'](_0x4676fd,[],()=>{const _0xf3ad61=_0x3ab22f['getCommentThread'](_0x1875d0);_0xf3ad61&&_0xf3ad61['remove']({'isFromAdapter':!0x0});});}),this['listenTo'](_0x4b76e1,'commentAdded',(_0x279d03,_0x4f4c5c)=>{this['_handleOrQueueServiceEvent'](_0x4676fd,[_0x4f4c5c['userId']],()=>{const _0x16cfe7=_0x3ab22f['getCommentThread'](_0x4f4c5c['commentThreadId']);_0x16cfe7&&!_0x16cfe7['getComment'](_0x4f4c5c['commentId'])&&_0x16cfe7['addComment']({...ft(_0x4f4c5c),'isFromAdapter':!0x0});});}),this['listenTo'](_0x4b76e1,'commentUpdated',(_0x7ed74a,{commentThreadId:_0x5573cd,commentId:_0x3020cb,content:_0x2e5c7a,attributes:_0x1b6b7d})=>{this['_handleOrQueueServiceEvent'](_0x4676fd,[],()=>{const _0x404931=_0x3ab22f['getCommentThread'](_0x5573cd)?.['getComment'](_0x3020cb);_0x404931&&_0x404931['update']({'content':_0x2e5c7a,'attributes':_0x1b6b7d,'isFromAdapter':!0x0});});}),this['listenTo'](_0x4b76e1,'commentRemoved',(_0x189435,{commentThreadId:_0xbe96ae,commentId:_0x81b3e7})=>{this['_handleOrQueueServiceEvent'](_0x4676fd,[],()=>{const _0x1c1217=_0x3ab22f['getCommentThread'](_0xbe96ae)?.['getComment'](_0x81b3e7);_0x1c1217&&_0x1c1217['remove']({'isFromAdapter':!0x0});});}),this['listenTo'](_0x4b76e1,'disconnected',()=>{'connected'===this['context']['plugins']['get'](K)['connection']?.['state']&&(this['_services']['delete'](_0x4676fd),this['_pendingServiceEvents']['delete'](_0x4676fd),this['stopListening'](_0x4b76e1));});}destroy(){if(this['context']instanceof _0x2444db){const _0x7efd07=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x7efd07)&&this['_terminateService'](_0x7efd07);}}_terminateService(_0x37b8c4){if(!this['_services']['has'](_0x37b8c4))throw new _0xfd414f('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x37b8c4});this['_getService'](_0x37b8c4)['disconnect'](),this['_services']['delete'](_0x37b8c4);}async reconnect(){for(const _0xeb901c of this['_services']['keys']())await this['_connectService'](_0xeb901c);if(this['context']instanceof _0x2444db){const _0x2fdb76=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x2fdb76)){const _0x18d419=this['context']['plugins']['get'](J);_0x18d419['unregister'](_0x2fdb76);const _0x18c959=await this['_services']['get'](_0x2fdb76)['getConnectedSessions']();_0x18d419['register'](_0x2fdb76,_0x18c959);}}}_fetchInitialChannelData(_0x450e78){return this['_channelsAwaitingInitialData']['add'](_0x450e78),this['_fetchChannelData'](_0x450e78);}async _applyInitialChannelData(_0x26d081,_0x418826){this['_channelsAwaitingInitialData']['delete'](_0x26d081)&&await this['_applyChannelData'](_0x26d081,_0x418826);}async _fetchChannelData(_0x2f6b3a){const {connection:_0x28a68d}=this['context']['plugins']['get'](K);return this['_pendingServiceEvents']['set'](_0x2f6b3a,[]),await this['_services']['get'](_0x2f6b3a)['connect'](_0x28a68d);}async _applyChannelData(_0x2a0291,_0x535596){const _0x2e5bee=this['context']['plugins']['get'](_0x571fe4),_0x22bc00=new Set(Array['from'](_0x2e5bee['getCommentThreads']({'channelId':_0x2a0291}),_0x12f9e6=>_0x12f9e6['id']));for(const _0x390e36 of _0x535596)_0x390e36['deletedAt']||_0x22bc00['delete'](_0x390e36['commentThreadId']);for(const _0x57c980 of _0x22bc00)_0x2e5bee['getCommentThread'](_0x57c980)['remove']({'isFromAdapter':!0x0});for(const _0x4f3532 of _0x535596){let _0x2b0977=_0x2e5bee['getCommentThread'](_0x4f3532['commentThreadId']);const {commentThreadId:_0x2560d8,context:_0x48c5f7,attributes:_0x4c5b46,resolvedBy:_0x1bb1d5,resolvedAt:_0x40952f,unlinkedAt:_0x2cf5c1,deletedAt:_0x25216d}=_0x4f3532;if(_0x25216d)continue;_0x2b0977||(_0x2b0977=_0x2e5bee['addCommentThread']({'channelId':_0x2a0291,'threadId':_0x2560d8,'context':_0x48c5f7,'attributes':_0x4c5b46||{},'resolvedBy':_0x1bb1d5,'resolvedAt':_0x40952f,'unlinkedAt':_0x2cf5c1,'isFromAdapter':!0x0}));const _0x57b6a0=new Set(Array['from'](_0x2b0977['comments'],_0x1269f3=>_0x1269f3['id']));for(const _0xe6bcef of _0x4f3532['comments'])_0x57b6a0['delete'](_0xe6bcef['commentId']);for(const _0x1f5695 of _0x57b6a0)_0x2b0977['getComment'](_0x1f5695)['remove']({'isFromAdapter':!0x0});for(const _0x10b26c of _0x4f3532['comments']){const _0xf46b5a=_0x2b0977['getComment'](_0x10b26c['commentId']);_0xf46b5a?_0xf46b5a['content']!==_0x10b26c['content']&&_0xf46b5a['update']({'content':_0x10b26c['content'],'isFromAdapter':!0x0}):_0x2b0977['addComment'](Object['assign'](ft(_0x10b26c),{'isFromAdapter':!0x0}));}}await this['_applyPendingServiceEvents'](_0x2a0291);}_handleOrQueueServiceEvent(_0x583561,_0x568b97,_0x1d7902){const _0x5efbb7=this['_pendingServiceEvents']['get'](_0x583561);_0x5efbb7?_0x5efbb7['push']({'userIds':_0x568b97,'apply':_0x1d7902}):_0x1d7902();}async _applyPendingServiceEvents(_0x95440c){const _0x5a40ce=this['_pendingServiceEvents']['get'](_0x95440c)||[];for(;_0x5a40ce['length'];){const _0x4a2678=_0x5a40ce['splice'](0x0);await this['_fetchMissingUsers'](_0x4a2678['flatMap'](({userIds:_0x2f2b08})=>_0x2f2b08));for(const {apply:_0x4e9362}of _0x4a2678)_0x4e9362();}this['_discardPendingServiceEvents'](_0x95440c,_0x5a40ce);}_discardPendingServiceEvents(_0x2188ab,_0x38aa7b){this['_pendingServiceEvents']['get'](_0x2188ab)===_0x38aa7b&&this['_pendingServiceEvents']['delete'](_0x2188ab);}async _connectService(_0x501487){const _0x6a523=this['_channelsAwaitingInitialData']['delete'](_0x501487),_0x3d44b5=this['_fetchChannelData'](_0x501487),_0x2b0bbc=this['_pendingServiceEvents']['get'](_0x501487);let _0x4f548c=!0x1;try{const _0x36bce3=await _0x3d44b5;_0x4f548c=!0x0,await this['_fetchMissingUsersForThreads'](_0x36bce3),await this['_applyChannelData'](_0x501487,_0x36bce3);}catch(_0x20ea75){throw this['_discardPendingServiceEvents'](_0x501487,_0x2b0bbc),_0x6a523&&!_0x4f548c&&this['_channelsAwaitingInitialData']['add'](_0x501487),_0x20ea75;}}_getService(_0x4a81fa){if(!this['_services']['has'](_0x4a81fa))throw new _0xfd414f('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4a81fa});return this['_services']['get'](_0x4a81fa);}async _fetchMissingUsersForThreads(_0x1780c7){return this['_fetchMissingUsers'](ht(_0x1780c7));}async _fetchMissingUsers(_0x23e62f){const _0x5a8131=this['context']['plugins']['get'](_0x34903c),{connection:_0x2adaaf}=this['context']['plugins']['get'](K),_0x48be8a=Array['from'](new Set(_0x23e62f))['filter'](_0x2567d1=>!_0x5a8131['getUser'](_0x2567d1));if(0x0===_0x48be8a['length'])return;const _0x1834bd=await _0x2bb41d['getMany'](_0x2adaaf,_0x48be8a);for(const _0x53dc9f of _0x1834bd)_0x5a8131['getUser'](_0x53dc9f['id'])||_0x5a8131['addUser'](_0x53dc9f);}};async function dt(_0x4763b8){if('404'!==_0x4763b8['code'])throw _0x4763b8;}function ut(_0x3f0928){if((_0x4db5bb=_0x3f0928)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4db5bb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4db5bb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4db5bb;throw _0x3f0928;}function ft(_0x2ad53d){return{'threadId':_0x2ad53d['commentThreadId'],'commentId':_0x2ad53d['commentId'],'content':_0x2ad53d['content'],'createdAt':_0x2ad53d['createdAt'],'authorId':_0x2ad53d['userId'],'attributes':_0x2ad53d['attributes']||{}};}var mt=class CloudServicesTrackChangesAdapter extends _0xe921b1{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x58adb6)());_bufferedRequests;_trackChangesService;['_isChannelFlushed']=!0x1;_pendingSuggestionsUpdates=[];_isReadyForReconnect=!0x1;_isReconnectPending=!0x1;static get requires(){return[lt,_0x137f9f,K,at];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x380049){super(_0x380049);const _0x5efa79=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x5efa79),_0x380049['plugins']['get'](at)['_register']('trackChanges',{'fetch':()=>this['_fetchInitialSuggestions'](),'getUserIds':_0x383c7f=>_0x383c7f['map'](({authorId:_0x18969e})=>_0x18969e)});}init(){const _0x29eb14=this['editor']['plugins']['get'](_0x137f9f);_0x29eb14['adapter']={'getSuggestion':async _0x819047=>{await this['_waitForServiceReady']();const _0x3e585c=await this['_trackChangesService']['get'](_0x819047)['catch'](pt);return await this['_fetchMissingUsersForThreads']([_0x3e585c]),_0x3e585c;},'addSuggestion':async({id:_0x237bd5,type:_0x56d73e,data:_0x3bc292,originalSuggestionId:_0x11d95c,attributes:_0x48b826})=>{await this['_waitForServiceReady']();const _0x3a4c9c={'id':_0x237bd5,'type':_0x56d73e,'data':_0x3bc292,'originalSuggestionId':_0x11d95c,'attributes':_0x48b826},_0xac79=await this['_trackChangesService']['add'](_0x237bd5,_0x56d73e,_0x3bc292,_0x11d95c,_0x48b826)['catch'](_0x1922d1=>{if(gt(_0x1922d1))return new Promise(_0x47efac=>{this['_bufferedRequests']['set'](_0x237bd5,{'resolve':_0x47efac,'suggestionData':_0x3a4c9c});});throw _0x1922d1;});return this['_bufferedRequests']['delete'](_0x237bd5),_0xac79;},'updateSuggestion':async(_0x22a794,_0x20cf66)=>{if(await this['_waitForServiceReady'](),'open'!==_0x20cf66['state'])return this['_trackChangesService']['update'](_0x22a794,_0x20cf66)['catch'](pt);}};const _0x420be9=this['editor']['plugins']['get'](at)['_takeInitialData']('trackChanges');for(const _0x1aa54 of _0x420be9){_0x29eb14['addSuggestionData'](_0x1aa54)['_saved']=!0x0;}for(const {id:_0x522529,attributes:_0x54ec28}of this['_pendingSuggestionsUpdates'])this['_handleSuggestionUpdate'](_0x522529,_0x54ec28);this['_pendingSuggestionsUpdates']=null,this['_setReadyForReconnect']();}async _fetchInitialSuggestions(){const _0x3f0c61=this['editor']['plugins']['get'](K);this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x18114a,{id:_0x20fbd9,attributes:_0x58864e})=>{this['_pendingSuggestionsUpdates']?this['_pendingSuggestionsUpdates']['push']({'id':_0x20fbd9,'attributes':_0x58864e}):this['_handleSuggestionUpdate'](_0x20fbd9,_0x58864e);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x3f0c61['connection']?.['state']&&(this['_isChannelFlushed']=!0x0,_0x3f0c61['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));});const _0x18b638=await this['_trackChangesService']['connect'](_0x3f0c61['connection']);return this['_isChannelFlushed']||_0x3f0c61['addToReconnectionStack'](this),_0x18b638;}_handleSuggestionUpdate(_0x14d05d,_0x2857ff){const _0x588095=this['editor']['plugins']['get'](_0x137f9f);_0x588095['hasSuggestion'](_0x14d05d)&&(_0x588095['getSuggestion'](_0x14d05d)['attributes']=_0x2857ff);}destroy(){this['editor']['plugins']['get'](K)['removeFromReconnectionStack'](this),super['destroy']();}_setReadyForReconnect(){this['_isReadyForReconnect']=!0x0,this['_isReconnectPending']&&(this['_isReconnectPending']=!0x1,this['reconnect']()['catch'](_0x54e797=>console['error'](_0x54e797)));}async reconnect(){if(!this['_isReadyForReconnect'])return void(this['_isReconnectPending']=!0x0);const _0x2b395c=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x4d2a72}=this['editor']['plugins']['get'](K),_0x1b6b4c=await this['_trackChangesService']['connect'](_0x4d2a72);await this['_fetchMissingUsersForThreads'](_0x1b6b4c);for(const {suggestionData:_0x2b2d39,resolve:_0x501220}of this['_bufferedRequests']['values']()){let _0x5eca3d=_0x1b6b4c['find'](_0x225039=>_0x225039['id']===_0x2b2d39['id']);_0x5eca3d||(_0x5eca3d=await this['_trackChangesService']['add'](_0x2b2d39['id'],_0x2b2d39['type'],_0x2b2d39['data'],_0x2b2d39['originalSuggestionId'])),_0x501220(_0x5eca3d);}for(const _0x30965a of _0x1b6b4c)_0x2b395c['hasSuggestion'](_0x30965a['id'])||_0x2b395c['addSuggestionData'](_0x30965a);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0xffb659=>{this['listenTo'](this['_trackChangesService'],'connected',_0x184fab=>{_0x184fab['off'](),_0xffb659();});});}async _fetchMissingUsersForThreads(_0x44571c){const _0x14a3af=this['editor']['plugins']['get'](_0x34903c),{connection:_0x214aa5}=this['editor']['plugins']['get'](K),_0x27abc6=new Set();for(const {authorId:_0x12bb88}of _0x44571c)_0x14a3af['getUser'](_0x12bb88)||_0x27abc6['add'](_0x12bb88);if(0x0===_0x27abc6['size'])return;const _0x10e4e8=await _0x2bb41d['getMany'](_0x214aa5,Array['from'](_0x27abc6));for(const _0xa43ae9 of _0x10e4e8)_0x14a3af['getUser'](_0xa43ae9['id'])||_0x14a3af['addUser'](_0xa43ae9);}};function pt(_0x5cff15){if(gt(_0x5cff15))return new Promise(()=>{});throw _0x5cff15;}function gt(_0x3b3dfb){return _0x3b3dfb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3b3dfb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var wt=class extends _0xe921b1{static get requires(){return[_0x74b692,lt,ct,K,at];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x264e72){super(_0x264e72);const _0x2d5662=_0x264e72['plugins']['get'](lt),_0x396743=_0x264e72['config']['get']('collaboration.channelId');_0x264e72['plugins']['get'](at)['_register']('comments',{'fetch':()=>(_0x2d5662['_createService'](_0x396743),_0x2d5662['_fetchInitialChannelData'](_0x396743)),'getUserIds':ht});}init(){const _0x4dd34c=this['editor']['plugins']['get'](K),_0x5d74c8=this['editor']['plugins']['get'](_0x7b2cab),_0x473733=this['editor']['plugins']['get'](lt);this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x4dd34c,'change:state',(_0x3d7ff6,_0x30f659,_0x103add)=>{_0x5d74c8['isThreadsLoadingPaused']='connected'!==_0x103add;});}),this['listenTo'](_0x4dd34c,'change:state',(_0x2b2d71,_0xbd0acd,_0x1a07a7)=>{this['editor']['plugins']['get'](_0x571fe4)['switchReadOnly']('connected'!==_0x1a07a7);});const _0x3d2078=this['editor']['config']['get']('collaboration.channelId'),_0x18cb96=this['editor']['plugins']['get'](at)['_takeInitialData']('comments');return _0x473733['_applyInitialChannelData'](_0x3d2078,_0x18cb96);}destroy(){const _0x56ad36=this['editor']['plugins']['get'](lt),_0x23f5ee=this['editor']['config']['get']('collaboration.channelId');_0x56ad36['_services']['has'](_0x23f5ee)&&_0x56ad36['_terminateService'](_0x23f5ee),super['destroy']();}},vt=class extends _0xe921b1{static get requires(){return[wt,mt,_0x1bd228];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},_t=class CloudServicesRevisionHistoryAdapter extends _0xe921b1{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0xcdbd9f)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;['_isChannelFlushed']=!0x1;_newestRevisionPrefetch=null;_pendingRevisionsUpdates=[];_isReadyForReconnect=!0x1;_isReconnectPending=!0x1;static get requires(){return[K,it,_0x37ac85,J,_0x34903c,at];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x55daa1){super(_0x55daa1);const _0x4209c5=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x4209c5),this['set']('_isServiceConnected',!0x1),_0x55daa1['plugins']['get'](at)['_register']('revisionHistory',{'fetch':()=>this['_fetchInitialData'](),'getUserIds':({revisions:_0x844812})=>_0x844812['flatMap'](({authorsIds:_0x23be86,creatorId:_0x309dac})=>_0x309dac?[..._0x23be86,_0x309dac]:_0x23be86)});}async init(){const _0x370ccc=this['editor']['plugins']['get'](it),{hasEditorBundle:_0xa9fdd9,revisions:_0x3f0b10}=this['editor']['plugins']['get'](at)['_takeInitialData']('revisionHistory');this['listenTo'](this['editor']['data'],'ready',()=>{this['_setReadyForReconnect'](),this['_newestRevisionPrefetch']=null;}),this['editor']['plugins']['get'](_0x37ac85)['adapter']={'getRevision':async({revisionId:_0x5d6e1f})=>{const _0x3e60ae=this['_newestRevisionPrefetch'];return _0x3e60ae&&_0x3e60ae['revisionId']===_0x5d6e1f?(this['_newestRevisionPrefetch']=null,_0x3e60ae['promise']):(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5d6e1f));},'updateRevisions':async _0x75ddc1=>{await this['_waitForServiceReady']();const _0x45f5ff=this['_revisionTracker']['currentRevision'];if(_0xa9fdd9&&0x1===_0x75ddc1['length']&&_0x75ddc1[0x0]['id']===_0x45f5ff['id'])return _0x75ddc1;for(const _0x15314d of _0x75ddc1)_0x15314d['id']===_0x45f5ff['id']&&(_0x15314d['isEmptyCurrent']=_0x15314d['fromVersion']===_0x15314d['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x75ddc1,this['_lastRequestId'])['then'](_0x5dde84=>(this['_lastRequestId']=_0x5dde84,_0x75ddc1))['catch'](_0x175f69=>{if(yt(_0x175f69)||'400'===_0x175f69['code']&&void 0x0!==_0x175f69['data']['wrongRequestId']){for(const _0x598dc7 of _0x75ddc1)this['_revisionTracker']['repository']['getRevision'](_0x598dc7['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x598dc7['id'],_0x598dc7,!0x1);if(yt(_0x175f69)&&'destroyed'!==this['editor']['state'])throw _0x175f69;return _0x75ddc1;}throw _0x175f69;});}};for(const _0x697634 of _0x3f0b10)this['_revisionTracker']['addRevisionData'](_0x697634);this['listenTo'](_0x370ccc,'change:_isConnected',(_0x5a9cff,_0x48bb1a,_0x15a436)=>{_0x15a436&&(this['_oldOffset']=_0x370ccc['_offset'],_0x5a9cff['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected'),await this['_applyPendingRevisionsUpdates']();}async _fetchInitialData(){const _0x456c99=this['editor']['plugins']['get'](it),_0x32337b=this['editor']['plugins']['get'](K),_0x4b8c4d=_0x456c99['serverHistory'];this['_revisionTracker']['setSource']({'history':_0x4b8c4d,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x456c99['sessionId']}),this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xe5b06c,{revisionsData:_0x206bcd,requestId:_0x24e431})=>{_0x206bcd['some'](({id:_0x3b49e4})=>_0x3b49e4===this['_newestRevisionPrefetch']?.['revisionId'])&&(this['_newestRevisionPrefetch']=null),Math['max'](..._0x206bcd['map'](_0x126c87=>_0x126c87['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleOrQueueRevisionsUpdate'](_0x206bcd,_0x24e431);}):this['_handleOrQueueRevisionsUpdate'](_0x206bcd,_0x24e431);}),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x32337b['connection']?.['state']&&(this['_isChannelFlushed']=!0x0,_0x32337b['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const _0x320eb9=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x194795,[_0x8614d0,_0x3d4ce7]=await Promise['all']([_0xdff84a['isBundleUploaded'](_0x32337b['connection'],_0x320eb9),this['_revisionHistoryService']['connect'](_0x32337b['connection'])['then'](_0x10ae23=>(this['_lastRequestId']=_0x10ae23['requestId'],this['_isChannelFlushed']||_0x32337b['addToReconnectionStack'](this),this['_prefetchNewestRevision'](_0x10ae23['revisions']),_0x10ae23['revisions']))]);return{'hasEditorBundle':_0x8614d0,'revisions':_0x3d4ce7};}_handleOrQueueRevisionsUpdate(_0x25c815,_0x54a8bf){this['_pendingRevisionsUpdates']?this['_pendingRevisionsUpdates']['push']({'revisionsData':_0x25c815,'requestId':_0x54a8bf}):this['_handleRevisionsUpdate'](_0x25c815,_0x54a8bf);}async _applyPendingRevisionsUpdates(){for(;this['_pendingRevisionsUpdates']['length'];){const _0x3d4f92=this['_pendingRevisionsUpdates']['splice'](0x0);await this['_fetchMissingUsers'](_0x3d4f92['flatMap'](({revisionsData:_0xd31f64})=>_0xd31f64));for(const {revisionsData:_0x54c132,requestId:_0x32ef45}of _0x3d4f92)this['_handleRevisionsUpdate'](_0x54c132,_0x32ef45);}this['_pendingRevisionsUpdates']=null;}_prefetchNewestRevision(_0x45ba4c){const _0x285063=_0x45ba4c['reduce']((_0x37b148,_0x192b3e)=>_0x37b148?(_0x192b3e['toVersion']-_0x37b148['toVersion']||_0x192b3e['fromVersion']-_0x37b148['fromVersion'])>0x0?_0x192b3e:_0x37b148:_0x192b3e,null);if(!_0x285063||_0x285063['diffData'])return;const _0x19fdfc=this['_revisionHistoryService']['getRevision'](_0x285063['id']);_0x19fdfc['catch'](()=>{}),this['_newestRevisionPrefetch']={'revisionId':_0x285063['id'],'promise':_0x19fdfc};}async reconnect(){if(!this['_isReadyForReconnect'])return void(this['_isReconnectPending']=!0x0);const _0x31b77d=this['editor']['plugins']['get'](K),_0x4a88e3=this['editor']['plugins']['get'](it),_0x15bc63=async()=>{const _0x1bacdf=this['_revisionTracker']['currentRevision'],_0x2bb2b4=_0x1bacdf['id'],_0x4bff70=_0x2bb2b4!==_0x4a88e3['sessionId'];if(_0x4bff70){const _0x20a231=_0x4a88e3['_offset']-this['_oldOffset'],_0x3bba79=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x1bacdf['toVersion']+_0x20a231!==_0x3bba79){const _0x13ee14=_0x1bacdf['fromVersion']+_0x20a231,_0x279630=this['editor']['plugins']['get'](_0x34903c),_0xc7d2f0=this['_revisionTracker']['buildRevisionData']({'revision':_0x1bacdf,'from':_0x13ee14,'to':_0x3bba79});_0xc7d2f0['id']=_0x1bacdf['id'];const _0x146738=_0xc7d2f0['authorsIds']['map'](_0x31f2c5=>_0x279630['getUser'](_0x31f2c5));_0x1bacdf['_update']({..._0xc7d2f0,'authors':_0x146738},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1bacdf['id'],_0xc7d2f0,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3bba79,_0x1bacdf['toVersion']!==_0x1bacdf['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x2bb2b4)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x2bb2b4),this['_revisionTracker']['_createCurrentRevision'](_0x3bba79);}const {revisions:_0x53f88d,requestId:_0x36b4b8}=await this['_revisionHistoryService']['reconnect'](_0x31b77d['connection'],this['_lastRequestId']);_0x4bff70&&_0x53f88d['length']>0x0?_0x4a88e3['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x53f88d),this['_handleRevisionsUpdate'](_0x53f88d,_0x36b4b8),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4a88e3['_isConnected']?_0x15bc63():new Promise((_0x36df2c,_0x637537)=>{_0x4a88e3['once']('change:_isConnected',()=>{_0x15bc63()['then'](_0x36df2c)['catch'](_0x637537);});});}destroy(){this['editor']['plugins']['get'](K)['removeFromReconnectionStack'](this),super['destroy']();}_setReadyForReconnect(){this['_isReadyForReconnect']=!0x0,this['_isReconnectPending']&&(this['_isReconnectPending']=!0x1,this['reconnect']()['catch'](_0x7a4604=>console['error'](_0x7a4604)));}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x582745=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x35d0d7=>{_0x35d0d7['off'](),_0x582745();});});}_getLatestVersionFromServerOperations(){const _0x49634a=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x38964b of _0x49634a)if('marker'!==_0x38964b['type']||_0x38964b['affectsData'])return _0x38964b['baseVersion']+0x1;}_getLatestVersion(){const _0x151db1=this['editor']['plugins']['get'](it);return new Promise(_0x4e280d=>{_0x151db1['_isPendingUpdate']?_0x151db1['once']('change:_isPendingUpdate',()=>{_0x4e280d(this['_getLatestVersionFromServerOperations']());}):_0x4e280d(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x53b20,_0x14c7f7){const _0x564dc6=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x14c7f7;for(const _0x56c68a of _0x53b20){const _0x1dcc5e=_0x564dc6['getRevision'](_0x56c68a['id']);if(_0x1dcc5e){if((_0x56c68a['fromVersion']||_0x56c68a['toVersion'])&&(_0x56c68a['diffData']=null),_0x1dcc5e===this['_revisionTracker']['currentRevision']){const _0x1b77cf=Math['max'](_0x1dcc5e['toVersion'],_0x56c68a['toVersion']),_0x42294d=Math['max'](_0x1dcc5e['fromVersion'],_0x56c68a['fromVersion']);let _0x2c4776;_0x1dcc5e['toVersion']===_0x56c68a['toVersion']&&_0x1dcc5e['fromVersion']===_0x56c68a['fromVersion']?(_0x2c4776=!0x0,this['_preventResendingRevisionData'](_0x56c68a)):_0x56c68a['toVersion']===_0x1b77cf&&_0x56c68a['fromVersion']===_0x42294d?_0x2c4776=!0x1:(_0x1dcc5e['toVersion']===_0x1b77cf&&_0x1dcc5e['fromVersion']===_0x42294d||this['_fixRevision']({'revision':_0x1dcc5e,'from':_0x42294d,'to':_0x1b77cf}),_0x2c4776=!0x0),_0x2c4776&&(delete _0x56c68a['fromVersion'],delete _0x56c68a['toVersion'],delete _0x56c68a['diffData'],delete _0x56c68a['createdAt'],delete _0x56c68a['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x56c68a),this['_preventResendingRevisionData'](_0x56c68a);}else this['_revisionTracker']['addRevisionData'](_0x56c68a);}const _0x5a68d2=_0x564dc6['getRevisions']();_0x5a68d2['reverse']();for(let _0xc37846=0x0;_0xc37846<_0x5a68d2['length']-0x1;_0xc37846++){const _0x5eb2e5=_0x5a68d2[_0xc37846],_0x44ca50=_0x5a68d2[_0xc37846+0x1];if(_0x5eb2e5['fromVersion']<_0x44ca50['toVersion']){const _0x32b573=_0x44ca50['toVersion'],_0x1aeddc=Math['max'](_0x32b573,_0x5eb2e5['toVersion']);this['_fixRevision']({'revision':_0x5eb2e5,'from':_0x32b573,'to':_0x1aeddc});}}}['_fixRevision']({revision:_0x4f9c5e,from:_0xbc3e49,to:_0x28aa08}={}){const _0x1dca76=this['editor']['plugins']['get'](_0x34903c),_0x5af78f=this['_revisionTracker']['buildRevisionData']({'revision':_0x4f9c5e,'from':_0xbc3e49,'to':_0x28aa08});_0x5af78f['authors']=_0x5af78f['authorsIds']['map'](_0x214232=>_0x1dca76['getUser'](_0x214232)),_0x4f9c5e['_update'](_0x5af78f);}_preventResendingRevisionData(_0x3c5e6e){const _0x100510={};_0x100510['id']=_0x3c5e6e['id'];for(const _0x3e4195 of Object['keys'](_0x3c5e6e))'id'!==_0x3e4195&&(_0x100510[_0x3e4195]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x100510['id'],_0x100510,!0x0);}async _fetchMissingUsers(_0x47f8ee){const _0xf84a8d=this['editor']['plugins']['get'](_0x34903c),{connection:_0x381c34}=this['editor']['plugins']['get'](K),_0x147c13=new Set();for(const _0x2f9afd of _0x47f8ee){for(const _0x47a0e9 of _0x2f9afd['authorsIds']||[])_0x31384b(_0x47a0e9);_0x2f9afd['creatorId']&&_0x31384b(_0x2f9afd['creatorId']);}if(0x0===_0x147c13['size'])return;const _0x222d63=await _0x2bb41d['getMany'](_0x381c34,Array['from'](_0x147c13));for(const _0x10e751 of _0x222d63)_0xf84a8d['getUser'](_0x10e751['id'])||_0xf84a8d['addUser'](_0x10e751);function _0x31384b(_0x45f0b7){_0xf84a8d['getUser'](_0x45f0b7)||_0x147c13['add'](_0x45f0b7);}}};function yt(_0x5ac9cd){return _0x5ac9cd['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5ac9cd['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5ac9cd['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var bt=class extends _0xe921b1{static get requires(){return[_0x37ac85,_t,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},kt=class extends _0x37111f{_collapseAt;constructor(_0x4bb11e,_0x2905f3=0x6){super(_0x4bb11e);const _0x24941a=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x2905f3,this['bind']('isHidden')['to'](this,'usersCount',_0x460c92=>_0x460c92<_0x2905f3),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x24941a['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':_0x24941a['to']('usersCount',_0xfd66d6=>'+'+(_0xfd66d6-this['_collapseAt']+0x2)['toString']())}]}]}]});}},It=class extends _0x37111f{items;keystrokes;constructor(_0x4b0008){super(_0x4b0008);const _0x2e00fd=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x50960c(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2e00fd['if']('hasPopup'),'aria-expanded':_0x2e00fd['to']('isExpanded',_0x43ec78=>this['hasPopup']&&String(_0x43ec78)),'aria-label':_0x2e00fd['to']('hasPopup',_0x4c07d9=>et(_0x4b0008,_0x4c07d9?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2e00fd['to']('hasPopup',_0x3db608=>!!_0x3db608&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x17379d,_0x440cbb,_0x4eb318)=>{this['element']&&(_0x4eb318?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']);}},St=class extends _0x37111f{counterView;inlineListView;constructor(_0x1ba146,_0x43c9fd=0x6){super(_0x1ba146);const _0x4f9e55=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new kt(this['locale'],_0x43c9fd),this['inlineListView']=new It(_0x1ba146),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x284119 of this['inlineListView']['items'])_0x284119['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',_0x4f9e55['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},Ct=class extends _0x37111f{listWrapperView;constructor(_0xac2814,_0xd34bbe){super(_0xac2814),this['listWrapperView']=new Tt(_0xac2814,_0xd34bbe),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0xac2814,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},Tt=class extends _0x4db83d{constructor(_0x35bbd4,_0x93f111){super(_0x35bbd4);const _0x547d08=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x93f111?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x547d08['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x547d08['to']('role'),'aria-label':_0x547d08['to']('ariaLabel'),'aria-labelledby':_0x547d08['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2c8769['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x436721=this['element'];_0x436721&&(this['_isScrollable']=Math['max'](_0x436721['scrollHeight'],_0x436721['clientHeight'])>0.8*window['innerHeight']);}},At=class extends _0x326e15{['userView'];constructor(_0x24a450,_0x511009,_0x482f45){super(_0x24a450);const _0x423c50=this['bindTemplate'];this['userView']=new _0x177ec2(_0x24a450,_0x511009);const _0x22dd69={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x511009['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x511009['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x511009['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x511009['color']['getColorVariable'](),'--ck-user-color-alpha':_0x511009['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x482f45&&(_0x22dd69['tag']='button',_0x22dd69['on']={'click':_0x423c50['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x22dd69);}['focus'](){this['element']['focus']();}},Pt=class extends _0x37111f{['userView'];['markerView'];constructor(_0xdf75ec,_0x4c4fbc,_0x1bb757){super(_0xdf75ec);const _0x29550e=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x177ec2(_0xdf75ec,_0x4c4fbc),this['markerView']=new Rt(_0xdf75ec,_0x4c4fbc);const _0x4c7f7f=new _0x1c896a(_0xdf75ec);_0x4c7f7f['template']['tag']='span',_0x4c7f7f['text']=_0x4c4fbc['name'];const _0x161b5a={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x29550e['to']('isFocusable',_0x2d9e45=>_0x2d9e45?0x0:-0x1),'aria-labelledby':_0x4c7f7f['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x29550e['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x29550e['to']('hasTooltip',_0x591dd6=>!_0x591dd6),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x4c7f7f]};_0x1bb757&&(_0x161b5a['tag']='button',_0x161b5a['on']={'click':_0x29550e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x161b5a);}},Rt=class extends _0x37111f{constructor(_0x54f4b8,_0x625bb6){super(_0x54f4b8),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x625bb6['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x625bb6['color']['getColorVariable'](),'--ck-user-color-alpha':_0x625bb6['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Ot={'collapseAt':0x6,'displayMe':!0x0};var xt=class extends _0x59f6ff{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5355c6){super(_0x5355c6),this['context']['config']['define']('presenceList',Ot);const _0x154d8a=_0x5355c6['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x154d8a)throw new _0xfd414f('presencelist-collapseat-invalid-format',this);if(_0x154d8a<0x1)throw new _0xfd414f('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](J)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x562c68(),this['balloonPanelView']=new _0x354edd(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[J];}init(){for(const _0x5c807e of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5c807e);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4bbc28,_0xe05e7)=>{this['_handleUserAdd'](_0xe05e7);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x505d8e,_0x50606b)=>{this['_handleUserRemove'](_0x50606b);});}_createView(){const _0x141f78=this['context'],_0x25225a=new St(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x10b745=this['balloonPanelView'];if(!_0x574388(_0x141f78['config']['get']('presenceList.container')))throw new _0xfd414f('presencelist-missing-container',this);_0x25225a['counterView']['bind']('usersCount')['to'](this),_0x25225a['bind']('isCollapsed')['to'](this,'usersCount',_0x43de9c=>{const {collapseAt:_0x217cd8}=_0x141f78['config']['get']('presenceList'),_0x347d6a=_0x43de9c>=_0x217cd8;if(_0x347d6a&&!_0x25225a['inlineListView']['items']['find'](_0x188d9b=>_0x188d9b instanceof kt)){const _0x368fdc=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x368fdc&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x25225a['inlineListView']['items']['add'](_0x25225a['counterView']);}return _0x347d6a||this['hideDropdown'](),_0x347d6a;}),_0x25225a['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xad9fb1=>{const _0x4a5371=_0x141f78['config']['get']('presenceList'),_0x5d6542=new Pt(_0x141f78['locale'],_0xad9fb1,!!_0x4a5371['onClick']);return _0x5d6542['bind']('hasTooltip')['to'](_0x25225a,'isCollapsed',_0x152ea5=>!_0x152ea5),_0x5d6542['bind']('isFocusable')['to'](_0x25225a,'isCollapsed',_0xc1042a=>!_0xc1042a),_0x4a5371['onClick']&&this['listenTo'](_0x5d6542,'execute',()=>{this['view']['isCollapsed']||_0x4a5371['onClick'](_0xad9fb1,_0x5d6542['element']);}),_0x5d6542;}),_0x25225a['inlineListView']['keystrokes']['set']('Enter',(_0x5384fa,_0x470976)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x470976());}),_0x25225a['render'](),_0x10b745['render'](),_0x25225a['listenTo'](_0x25225a['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x54972b=(_0x10bb0f,_0xde7730)=>{this['_hideDropdownUnlessPointerInside'](_0xde7730);};return _0x25225a['listenTo'](_0x25225a['inlineListView']['element'],'mouseleave',_0x54972b),_0x25225a['listenTo'](_0x10b745['element'],'mouseleave',_0x54972b),_0x4e12d4({'emitter':_0x25225a,'activator':()=>_0x10b745['isVisible'],'contextElements':[_0x10b745['element'],_0x25225a['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x141f78['config']['get']('presenceList.container')['appendChild'](_0x25225a['element']),this['_overlayHost']=new _0x4619ee(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x25225a;}_resolveOverlayTarget(){const _0x4519cd=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x4519cd)return _0x4519cd;const _0x212551=this['context']['config']['get']('presenceList.container');return _0x212551?_0x1c9e52(_0x212551):null;}['_handleUserAdd'](_0x168eda){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x168eda['isMe'])return;const _0x7e2b13=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x7e2b13-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3f73c6=_0x168eda['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x168eda,_0x3f73c6);}['_handleUserRemove'](_0x3e17c2){this['usersCount']--;const {collapseAt:_0x3345af}=this['context']['config']['get']('presenceList'),_0x504068=this['usersCount']>=_0x3345af;if(this['currentDisplayedUsers']['get'](_0x3e17c2['id']))this['currentDisplayedUsers']['remove'](_0x3e17c2['id']);else{if(_0x504068&&this['currentDisplayedUsers']['length']+0x1===_0x3345af-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x504068?0x1:0x0)<this['usersCount']){for(const _0x47d4e3 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x47d4e3['id'])&&(this['currentDisplayedUsers']['add'](_0x47d4e3,Math['min'](this['currentDisplayedUsers']['length']-(_0x504068?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x504068?0x1:0x0)===_0x3345af-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x238eff=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new Ct(this['context']['locale'],!!_0x238eff['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x4ec5e3}=this['presenceDropdownView'];_0x4ec5e3['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4a5f02=>{if(!_0x238eff['displayMe']&&_0x4a5f02['isMe'])return null;const _0x1c5c22=new At(this['context']['locale'],_0x4a5f02,!!_0x238eff['onClick']);return _0x238eff['onClick']&&this['listenTo'](_0x1c5c22,'execute',()=>{_0x238eff['onClick'](_0x4a5f02,_0x1c5c22['element']);}),_0x1c5c22;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']);const _0xdff591=_0x354edd['generatePositions']({'heightOffset':0x3,'config':{'withArrow':!0x1}});this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element'],'positions':[_0xdff591['southArrowNorth'],_0xdff591['southArrowNorthMiddleWest'],_0xdff591['southArrowNorthMiddleEast'],_0xdff591['southArrowNorthWest'],_0xdff591['southArrowNorthEast'],_0xdff591['northArrowSouth'],_0xdff591['northArrowSouthMiddleWest'],_0xdff591['northArrowSouthMiddleEast'],_0xdff591['northArrowSouthWest'],_0xdff591['northArrowSouthEast'],_0xdff591['viewportStickyNorth']]}),_0x4ec5e3['focus'](),_0x4ec5e3['checkIfScrollable']();const _0x578785=(_0x4d1656,_0x42c2be)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x42c2be();};_0x4ec5e3['keystrokes']['set']('Esc',_0x578785),_0x4ec5e3['keystrokes']['set']('Shift+Tab',_0x578785),_0x4ec5e3['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x4ec5e3['focusTracker']['add'](this['view']['element']),_0x4ec5e3['focusTracker']['on']('change:isFocused',(_0x3188ef,_0x57b7da,_0x437145)=>{_0x437145||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(_0x2219eb){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x170b15=>_0x489d0f(_0x170b15,_0x2219eb))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},Nt=class extends _0x59f6ff{static get requires(){return[J,xt];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{lt as CloudServicesCommentsAdapter,_t as CloudServicesRevisionHistoryAdapter,mt as CloudServicesTrackChangesAdapter,Nt as PresenceList,xt as PresenceListUI,it as RealTimeCollaborationClient,wt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,bt as RealTimeCollaborativeRevisionHistory,vt as RealTimeCollaborativeTrackChanges,at as RealTimeContentFetcher,J as Sessions,K as WebSocketGateway};
|