@ckeditor/ckeditor5-real-time-collaboration 49.1.0-alpha.5 → 49.1.0-alpha.7
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
|
-
((()=>_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
|
-
((()=>
|
|
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};
|
|
23
|
+
import{Context as _0x5d909c,ContextPlugin as _0x2a424a,PendingActions as _0xb7e73c,Plugin as _0x323d44}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x72635a,Collection as _0x24fe62,DomEmitterMixin as _0x274dc9,KeystrokeHandler as _0x3967e9,getOverlayMountRoot as _0x279c1c,global as _0x31a7fc,trustedHtml as _0x30565c,uid as _0x543842,version as _0x52c089}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x2a8ccc,LabelView as _0x52aefb,ListItemView as _0x700f3a,ListView as _0x22761e,Notification as _0x2e29a3,OverlayHost as _0x5947b1,View as _0x1cf434,clickOutsideHandler as _0x23b991}from'@ckeditor/ckeditor5-ui';import{History as _0x205c8e,InsertOperation as _0x280c28,MarkerOperation as _0x29b12d,ModelLiveRange as _0x1c0129,NoOperation as _0x4314d0,OperationFactory as _0x4ec439,RootAttributeOperation as _0x147413,transformOperationSets as _0x242765}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x23128d}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x19181e,CommentsService as _0x4eed7c,EditorService as _0x59814e,RevisionHistoryService as _0x57fc4b,TrackChangesService as _0x58c0b7,User as _0x4c7d1e,WEB_SOCKET_GATEWAY_STATES as _0x3842a8,WebSocketGateway as _0x4046e2}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x5c2918,Users as _0x594ec5,isPointerStillOver as _0x331861}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x3dae34}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x3f6f2f,TrackChangesEditing as _0x30f396}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x43ef0d,CommentsEditing as _0x5e816a,CommentsRepository as _0x583a94}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x324b7a}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x302ca0}from'es-toolkit/compat';var K=class WebSocketGateway extends _0x2a424a{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x4046e2)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x23128d,_0x2e29a3];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1719d6){super(_0x1719d6),this['set']('state',_0x3842a8['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x274dc9())();}init(){const _0x31aca9=this['context'],_0x4a63d3=_0x31aca9['plugins']['get'](_0x23128d),_0x2d0cbb=_0x31aca9['plugins']['get'](_0x2e29a3);if(!_0x4a63d3['token'])throw new _0x72635a('websocketgateway-missing-token',this);if(!_0x4a63d3['webSocketUrl'])throw new _0x72635a('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'](_0x4a63d3['token'],_0x4a63d3['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3bcba3=>{if(this['connection']=_0x3bcba3,this['bind']('state')['to'](_0x3bcba3,'state',this,'_isBrowserOffline',(_0x46d4c2,_0x13b546)=>('connected'!==_0x46d4c2&&(this['_shouldPluginsReconnect']=!0x0),_0x13b546||_0x46d4c2!==_0x3842a8['CONNECTED']?_0x3842a8['DISCONNECTED']:this['state']==_0x3842a8['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3842a8['CONNECTING']):_0x3842a8['CONNECTED'])),this['connection']['on']('error',(_0x4c667d,_0x28475e)=>{if('limitExceeded'!==_0x28475e['code'])throw console['error'](_0x28475e),new _0x72635a('cloudservices-init',null,{'originalError':_0x28475e});_0x2d0cbb['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'});}),!_0x3bcba3['me'])return new Promise(_0xdc2de4=>_0x3bcba3['on']('change:me',_0xdc2de4));})['catch'](_0x159c34=>{throw console['error'](_0x159c34),new _0x72635a('cloudservices-init',null,{'originalError':_0x159c34});});}addToReconnectionStack(_0x3a8d22){if('function'!=typeof _0x3a8d22['reconnect'])throw new _0x72635a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x3a8d22))throw new _0x72635a('websocketgateway-plugin-already-registered',this,{'name':_0x3a8d22['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x3a8d22);}removeFromReconnectionStack(_0x187860){this['_reconnectionStack']['delete'](_0x187860);}isInReconnectionStack(_0x2bca91){return this['_reconnectionStack']['has'](_0x2bca91);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1dde1b=>_0x1dde1b['reconnect']())))['then'](()=>this['state']=_0x3842a8['CONNECTED'])['catch'](_0x18357d=>{throw console['error'](_0x18357d),new _0x72635a('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3842a8['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},J=class extends _0x2a424a{['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,_0x594ec5];}constructor(_0x241d48){super(_0x241d48),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x24fe62(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x594ec5);}init(){const _0x5bb3c5=this['context']['plugins']['get'](K);this['listenTo'](_0x5bb3c5,'change:state',(_0x3d9f64,_0x37a4f4,_0x15e6c3)=>{if('connected'!==_0x15e6c3)this['channelSessions']['forEach'](_0x4bac47=>_0x4bac47['clear']()),this['channelConnectedUsers']['forEach'](_0x50e7ac=>_0x50e7ac['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3ecf41,_0x319147]of this['_registeredSessions'])for(const _0x25e1e9 of _0x319147)this['_handleSessionAdd'](_0x3ecf41,_0x25e1e9);}}),this['_createUser'](_0x5bb3c5['connection']['me'],!0x0);}register(_0x284d57,_0x21602e){if(this['_registeredSessions']['has'](_0x284d57))throw new _0x72635a('sessions-register-already-registered',null,{'channelId':_0x284d57});this['_registeredSessions']['set'](_0x284d57,_0x21602e),this['channelSessions']['set'](_0x284d57,new _0x24fe62()),this['channelConnectedUsers']['set'](_0x284d57,new _0x24fe62()),this['listenTo'](_0x21602e,'add',(_0x5be8ed,_0x50da2b)=>this['_handleSessionAdd'](_0x284d57,_0x50da2b)),this['listenTo'](_0x21602e,'remove',(_0x3e0a64,_0x1de217)=>this['_handleSessionRemove'](_0x284d57,_0x1de217));for(const _0xd14cb3 of _0x21602e)this['_handleSessionAdd'](_0x284d57,_0xd14cb3);}unregister(_0x28ceef){if(!this['_registeredSessions']['has'](_0x28ceef))throw new _0x72635a('sessions-unregister-not-exist',null,{'channelId':_0x28ceef});const _0x1d597d=this['_registeredSessions']['get'](_0x28ceef);this['stopListening'](_0x1d597d);for(const _0x1346ae of _0x1d597d)'connected'===this['context']['plugins']['get'](K)['state']&&this['_handleSessionRemove'](_0x28ceef,_0x1346ae);this['_registeredSessions']['delete'](_0x28ceef),this['channelSessions']['delete'](_0x28ceef),this['channelConnectedUsers']['delete'](_0x28ceef);}get['mySessionId'](){return this['context']['plugins']['get'](K)['connection']['sessionId'];}getUserBySessionId(_0x5032a4){for(const _0x439da3 of this['channelSessions']['values']())for(const _0xf84e14 of _0x439da3)if(_0xf84e14['id']===_0x5032a4)return _0xf84e14['user'];}getUserSessions(_0x54f72f,_0x4639a1){const _0x439dcd=_0x4639a1?[this['channelSessions']['get'](_0x4639a1)]:this['channelSessions']['values'](),_0x1a691e=new Set();for(const _0x37bc66 of _0x439dcd)for(const _0x366a96 of _0x37bc66)_0x366a96['user']['id']===_0x54f72f['id']&&_0x1a691e['add'](_0x366a96['id']);return _0x1a691e;}getUserRole(_0x3a81e8){for(const _0x14727b of this['channelSessions']['values']())for(const _0x4efe13 of _0x14727b)if(_0x4efe13['user']===_0x3a81e8)return _0x4efe13['role'];}['_handleSessionAdd'](_0x2ec5b6,_0x5506d0){if('connected'!==this['context']['plugins']['get'](K)['state'])return;const _0x3e8f05=_0x5506d0['user'],_0xf170db=this['_users']['getUser'](_0x3e8f05['id'])||this['_createUser'](_0x3e8f05),_0x4233ef=Object['assign']({},_0x5506d0,{'user':_0xf170db});if(this['channelSessions']['get'](_0x2ec5b6)['add'](_0x4233ef),!_0x3e8f05['hiddenInPresenceList']){const _0x25b109=this['channelConnectedUsers']['get'](_0x2ec5b6);_0x25b109['has'](_0xf170db['id'])||_0x25b109['add'](_0xf170db),this['allConnectedUsers']['has'](_0xf170db['id'])||_0x3e8f05['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0xf170db,_0xf170db['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2ec5b6,{'channelId':_0x2ec5b6,'session':_0x4233ef});}['_handleSessionRemove'](_0x39f4d1,_0x52ba05){if('connected'!==this['context']['plugins']['get'](K)['state'])return;const _0x2be9b6=this['channelConnectedUsers']['get'](_0x39f4d1),_0x9b9930=_0x52ba05['user'];_0x9b9930['id']&&(this['channelSessions']['get'](_0x39f4d1)['remove'](_0x52ba05['id']),_0x2be9b6['has'](_0x9b9930['id'])&&!this['getUserSessions'](_0x9b9930,_0x39f4d1)['size']&&_0x2be9b6['remove'](_0x9b9930['id']),this['allConnectedUsers']['get'](_0x9b9930['id'])&&!this['getUserSessions'](_0x9b9930)['size']&&this['allConnectedUsers']['remove'](_0x9b9930['id']));}_createUser(_0x27fb02,_0x13b098){const _0x1e5cec=this['_users']['addUser'](_0x27fb02);return _0x13b098&&this['_users']['defineMe'](_0x27fb02['id']),_0x1e5cec['orderNumber']=this['_uniqueUsersCount']++,_0x1e5cec;}},X=class extends _0x323d44{_domEmitter=new(_0x274dc9())();static get requires(){return[J];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x5afc95=this['editor'],_0x75cae8=_0x5afc95['plugins']['get'](J);_0x5afc95['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x2610f1,{writer:_0xc1c80d})=>function(_0x96f97,_0x34347e,_0xe40bc4,_0x4fd1f8){const _0x5519a3=_0x96f97['markerName']['split'](':')[0x2],_0x1809ac=_0xe40bc4['getUserBySessionId'](_0x5519a3);if(!_0x1809ac||_0x5519a3===_0xe40bc4['mySessionId'])return;if(!_0x4fd1f8['model']['schema']['checkChild'](_0x96f97['markerRange']['start'],'$text'))return;const _0x17754d={'class':'ck-user__marker\x20'+_0x1809ac['color']['getMarkerClass'](),'style':tt(_0x1809ac),'data-name':_0x1809ac['name'],'data-session-id':_0x5519a3},_0x9a56cb=_0x4fd1f8['model']['markers']['get'](_0x96f97['markerName'])['getStart'](),_0x18315b=_0x9a56cb['nodeAfter'],_0x11d12a=_0x4fd1f8['model']['schema'];if(_0x18315b&&_0x11d12a['isObject'](_0x18315b)&&_0x11d12a['isInline'](_0x18315b)&&!_0x4fd1f8['model']['markers']['get']('user:range:'+_0x5519a3)['getRange']()['isCollapsed'])return;const _0x1c1df0=_0x9a56cb['parent'];return _0x4fd1f8['model']['schema']['isLimit'](_0x1c1df0)&&!_0x4fd1f8['model']['hasContent'](_0x1c1df0)&&(_0x17754d['contenteditable']=!0x1),function(_0x152255,_0x2f9bf3,_0xb1fd2a){const _0x3503c8=_0x152255['createUIElement']('span',_0x2f9bf3);return _0x152255['setCustomProperty']('userPositionMarker',!0x0,_0x3503c8),_0x3503c8['render']=function(_0x956f7d){const _0x144d75=this['toDomElement'](_0x956f7d),_0x13ccc5=document['createElement']('span');return _0x13ccc5['classList']['add']('ck-user__marker-tooltip'),_0x13ccc5['setAttribute']('contenteditable','false'),_0x13ccc5['setAttribute']('spellcheck','false'),_0x13ccc5['textContent']=_0xb1fd2a['name'],_0x144d75['innerHTML']=_0x30565c('<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x13ccc5['outerHTML']+''),_0x144d75['addEventListener']('mouseenter',()=>{_0x144d75['classList']['add']('ck-user__marker_hovered');}),_0x144d75['addEventListener']('mouseleave',()=>{_0x144d75['classList']['remove']('ck-user__marker_hovered');}),_0x144d75;},_0x3503c8['isSimilar']=function(_0x8a737){return!(!this['getCustomProperty']('userPositionMarker')||!_0x8a737['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x8a737['getAttribute']('data-session-id'));},_0x3503c8;}(_0x34347e,_0x17754d,_0x1809ac);}(_0x2610f1,_0xc1c80d,_0x75cae8,_0x5afc95)}),_0x5afc95['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x28ceec=>function(_0x149ae2,_0x139183){const _0x34e1b6=_0x149ae2['markerName']['split'](':')[0x2];if(_0x34e1b6===_0x139183['mySessionId'])return null;const _0x1af596=_0x139183['getUserBySessionId'](_0x34e1b6);return _0x1af596?{'id':_0x34e1b6,'classes':['ck-user__selection',_0x1af596['color']['getSelectionClass']()],'attributes':{'style':tt(_0x1af596),'data-session-id':_0x34e1b6},'priority':0x7d0+_0x1af596['orderNumber']}:{'id':_0x34e1b6,'classes':[]};}(_0x28ceec,_0x75cae8)}),function(_0x17b6d4){const _0x5eedbd=_0x17b6d4['model'],_0x587c66=new Map(),_0xb8436=_0x17b6d4['plugins']['get'](J);_0x5eedbd['markers']['on']('update:user:range',(_0x416c6c,_0x56567f,_0x35a97d,_0x3800ae)=>{if(!_0x3800ae&&_0x587c66['get'](_0x56567f['name']))return _0x587c66['get'](_0x56567f['name'])['detach'](),void _0x587c66['delete'](_0x56567f['name']);const _0x347678=_0x56567f['name']['split'](':')[0x2];if(_0x347678===_0xb8436['mySessionId'])return;const _0x2eed0c='user:position:'+_0x347678;_0x5eedbd['markers']['has'](_0x2eed0c)&&_0x17b6d4['editing']['reconvertMarker'](_0x2eed0c),_0x56567f['on']('change:range',(_0x46a185,_0x250437,_0x39ce4c)=>{if('$graveyard'!=_0x250437['root']['rootName']&&'$graveyard'==_0x56567f['getRange']()['root']['rootName']&&!_0x587c66['has'](_0x56567f['name'])){const _0x456cb1=_0x5eedbd['schema']['getNearestSelectionRange'](_0x39ce4c['deletionPosition']);if(_0x456cb1){const _0x2bc615=_0x1c0129['fromRange'](_0x456cb1);_0x587c66['set'](_0x56567f['name'],_0x2bc615),_0x2bc615['on']('change:range',(_0x54f083,_0x36fdb0,_0x45f809)=>{if('$graveyard'==_0x2bc615['root']['rootName']){const _0x1b71b4=_0x5eedbd['schema']['getNearestSelectionRange'](_0x45f809['deletionPosition']);_0x1b71b4?(_0x2bc615['start']=_0x1b71b4['start'],_0x2bc615['end']=_0x1b71b4['end']):(_0x587c66['delete'](_0x56567f['name']),_0x2bc615['detach']());}});}}});}),_0x5eedbd['document']['on']('change',()=>{_0x587c66['size']>0x0&&_0x5eedbd['enqueueChange']({'isUndoable':!0x1},_0xbac985=>{for(const [_0x2e733f,_0x5578a6]of _0x587c66)'$graveyard'==_0x5eedbd['markers']['get'](_0x2e733f)['getRange']()['root']['rootName']&&(Z(_0x2e733f['split'](':')[0x2],_0x5578a6['toRange'](),_0x5eedbd,_0xbac985),_0x5578a6['detach']());_0x587c66['clear']();});});}(_0x5afc95),this['_domEmitter']['listenTo'](_0x31a7fc['document'],'keydown',(_0x373dce,{key:_0x5129b2})=>{'Escape'===_0x5129b2&&function(_0x586d0c){_0x586d0c['editing']['view']['change'](_0x45fafb=>{for(const _0x3fad57 of _0x586d0c['model']['markers']){if(!_0x3fad57['name']['startsWith']('user:position'))continue;const _0x1e05c0=_0x586d0c['editing']['mapper']['markerNameToElements'](_0x3fad57['name']);if(_0x1e05c0){for(const _0x5d841b of _0x1e05c0)_0x45fafb['removeClass']('ck-user__marker_hovered',_0x5d841b);}}});}(_0x5afc95);},{'useCapture':!0x0});}afterInit(){const _0x4960cb=this['editor'],_0xcf747c=_0x4960cb['commands']['get']('undo');_0xcf747c&&_0x4960cb['model']['on']('applyOperation',(_0x4397be,_0xc51d52)=>{const _0x296053=_0xc51d52[0x0];if(!_0x296053['isDocumentOperation'])return;if('marker'!=_0x296053['type']||!_0x296053['name']['startsWith']('user:'))return;const _0x52d37a=_0x296053['batch'];_0xcf747c['_createdBatches']['has'](_0x52d37a)&&(_0x296053['newRange']=_0x296053['oldRange']?_0x4960cb['model']['createRange'](_0x296053['oldRange']['start'],_0x296053['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x3d80eb=this['editor'],_0x443ced=_0x3d80eb['model']['document'],_0x2a1ff9=_0x3d80eb['plugins']['get'](J);_0x3d80eb['model']['enqueueChange']({'isUndoable':!0x1},_0xcb5cca=>{const _0x3e3f06='user:range:'+_0x2a1ff9['mySessionId'],_0x52f515='user:position:'+_0x2a1ff9['mySessionId'],_0x4c8cca=_0x3d80eb['model']['markers']['has'](_0x3e3f06);_0x3d80eb['editing']['view']['hasDomSelection']?Z(_0x2a1ff9['mySessionId'],_0x443ced['selection']['getFirstRange'](),_0x3d80eb['model'],_0xcb5cca):_0x4c8cca&&(_0xcb5cca['removeMarker'](_0x3e3f06),_0xcb5cca['removeMarker'](_0x52f515));});}};function Z(_0x14f512,_0x4eb3ea,_0x543817,_0x566e24){const _0x3bef60='user:range:'+_0x14f512,_0x1f0f4b='user:position:'+_0x14f512,_0x8dbff7=_0x4eb3ea['getContainedElement']();let _0x482403=_0x4eb3ea['start'];if(_0x8dbff7&&_0x8dbff7['is']('element','tableCell')){const _0x22578a=function(_0x48ab94,_0x9afcf7){for(const _0xc6cc9a of _0x48ab94['getPositions']())if(_0x9afcf7['schema']['checkChild'](_0xc6cc9a,'$text'))return _0xc6cc9a;}(_0x4eb3ea,_0x543817);_0x22578a&&(_0x482403=_0x22578a,_0x4eb3ea=_0x566e24['createRange'](_0x482403));}const _0x50ff20=_0x566e24['createRange'](_0x482403);_0x543817['markers']['has'](_0x3bef60)?(_0x566e24['updateMarker'](_0x3bef60,{'range':_0x4eb3ea}),_0x566e24['updateMarker'](_0x1f0f4b,{'range':_0x50ff20})):(_0x566e24['addMarker'](_0x3bef60,{'range':_0x4eb3ea,'usingOperation':!0x0}),_0x566e24['addMarker'](_0x1f0f4b,{'range':_0x50ff20,'usingOperation':!0x0}));}function tt(_0x1c6bfe){return'--ck-user-color:'+_0x1c6bfe['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x1c6bfe['color']['getColorAlphaVariable']()+';';}function et(_0x2927ee,_0x300da8,_0x8f7367){const _0x4825fd=_0x2927ee['t'],t=_0x2927ee['t'];switch(_0x300da8){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 _0x4825fd({'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'},_0x8f7367);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x323d44{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x19181e)());_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,_0xb7e73c,_0x594ec5,_0x2e29a3];}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 _0x1df4f3=this['serverHistory']['getOperations']();for(let _0x369dce=_0x1df4f3['length']-0x1;_0x369dce>=0x0;_0x369dce--){const _0xae17de=_0x1df4f3[_0x369dce];if(!this['_disconnectionOperations']['has'](_0xae17de))return _0xae17de['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4f5595){if(super(_0x4f5595),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x205c8e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x72635a('collaboration-missing-channelid',this);const _0x221658=_0x4f5595['config']['get']('cloudServices.bundleVersion')||_0x52c089;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x221658,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3dae34(),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 _0x459339=this['editor'],_0x108144=_0x459339['plugins']['get'](_0x594ec5),_0x1fd812=_0x459339['plugins']['get'](K);this['listenTo'](_0x108144,'getOperationAuthor',(_0x40792f,_0x3b1f92)=>{const _0x54fe17=_0x3b1f92[0x0];_0x54fe17['_authorId']&&(_0x40792f['return']=_0x108144['getUser'](_0x54fe17['_authorId']),_0x40792f['stop']()),null===_0x54fe17['_authorId']&&(_0x40792f['return']=null,_0x40792f['stop']());},{'priority':'high'}),this['listenTo'](_0x459339['model']['document']['selection'],'change:range',(_0x1ca273,_0x324b20)=>{_0x324b20['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x459339['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x459339['model']['on']('applyOperation',(_0x2284b8,_0x1b27e4)=>{const _0x26b8dd=_0x1b27e4[0x0];_0x26b8dd['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x26b8dd),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x1fd812,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x2a41e4,_0x4e3ed6,_0x547a58)=>'connected'===_0x2a41e4&&!_0x4e3ed6&&!_0x547a58),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x459339['disableReadOnlyMode']('rtc-offline'):_0x459339['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x459339['disableReadOnlyMode']('rtc-offline'):_0x459339['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x5769e6=this['editor']['plugins']['get'](J),_0x44c8fa=this['editor']['plugins']['get'](K);try{this['_isPendingUpdate']=!0x0,_0x5769e6['unregister'](this['_channelId']);const _0x202131=await this['_service']['reconnect'](_0x44c8fa['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x202131)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2ed53c=await this['_service']['getConnectedSessions']();_0x5769e6['register'](this['_channelId'],_0x2ed53c),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x188528){if(function(_0x3350e3){return'404'===_0x3350e3['code'];}(_0x188528)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5aca91){return'409'===_0x5aca91['code'];}(_0x188528)){const _0x90370a=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'](_0x90370a);}else{if(!(_0x188528 instanceof nt))throw _0x188528;this['_handleReconnectionError']();}}}}destroy(){const _0x50c83e=this['editor']['plugins']['get'](K),_0x183068=this['editor']['plugins']['get'](J);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x183068['channelSessions']['has'](this['_channelId'])&&_0x183068['unregister'](this['_channelId']),_0x50c83e['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x1f8246){if(this['sessionId']!==_0x1f8246['sessionId']&&this['_lastSyncedOperationId']!==_0x1f8246['lastOperationId'])throw new nt();return this['sessionId']=_0x1f8246['sessionId'],this['_handleServerResponse']([],{..._0x1f8246,'wereChangesApplied':!0x1,'data':_0x1f8246['data']},'reconnect');}async _connectService(_0x174a96,_0x276c27=!0x1){const {connection:_0x337b55}=this['editor']['plugins']['get'](K);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x337b55,this['_channelId'])['then'](_0x58e29a=>this['_initSessionsHandling'](_0x58e29a))['catch'](_0x4962a3=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4962a3);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x3d1bc6,_0x3b95ee)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3b95ee);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x6dfa58=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x174a96);this['_isPendingUpdate']=!0x0;const _0xf171fd=await this['_service']['connect'](_0x337b55,this['_compressOperations'](_0x174a96),_0x6dfa58);if(this['sessionId']=_0xf171fd['sessionId'],_0x276c27){if(!_0xf171fd['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xf171fd['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x174a96,_0xf171fd,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xf171fd,_0x174a96);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x2649ce=this['editor']['plugins']['get'](J),_0x224254=this['editor']['plugins']['get'](X),_0x55880e=_0x2649ce['channelSessions']['get'](this['_channelId']);_0x55880e&&_0x55880e['length']>0x1?_0x224254['createUserMarkerOperations']():this['listenTo'](_0x2649ce,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2649ce['channelSessions']['get'](this['_channelId'])['length']&&_0x224254['createUserMarkerOperations']();});}async _handleReceivedOperations(_0xc88c88,_0x3c4531,_0x938d68,_0x53f03a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x3c4531){const _0x515b6b=this['_decompressOperations'](_0x938d68,_0x53f03a);await this['_fetchMissingUsers'](_0x515b6b),this['_handleExternalOperations'](_0x515b6b,_0x3c4531,_0x938d68['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x44f675}=this['editor'];let _0x2ad513;try{_0x2ad513=await this['_service']['getDocumentDetails']();}catch{const _0x1d04da=et(_0x44f675,'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'](_0x1d04da);}const _0x1a74c0=_0x2ad513['currentDocumentSession']||_0x2ad513['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1a74c0['lastOperationId']){const _0x417411=et(_0x44f675,'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'](_0x417411);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x53d876=this['editor']['plugins']['get'](K);if(this['_isConnected']=!0x1,!_0x53d876['connection']||'connected'!==_0x53d876['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x1b1d85=this['editor']['plugins']['get'](J);_0x1b1d85['channelSessions']['has'](this['_channelId'])&&_0x1b1d85['unregister'](this['_channelId']),_0x53d876['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x535db9){const _0xa9d3a1=this['editor']['plugins']['get'](J);this['listenTo'](_0xa9d3a1,'sessionAdd:'+this['_channelId'],(_0x2341e8,{session:_0x1a169a})=>{if(_0x1a169a['id']===_0xa9d3a1['mySessionId']){_0x2341e8['off']();const _0x1b6e0a=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x48db97=_0x1a169a['permissions'];_0x1b6e0a&&_0x1b6e0a['isEnabled']&&(_0x48db97=_0x48db97['filter'](_0x313d95=>'document:write'!==_0x313d95)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x48db97,this['_channelId']);}}),_0xa9d3a1['register'](this['_channelId'],_0x535db9);}_initThrowingOnDataSet(){const _0x5a6f22=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5d96ae)=>{if(!_0x5d96ae[_0x5d96ae['length']-0x1]['suppressErrorInCollaboration'])throw new _0x72635a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5a6f22['apply'](this['editor']['data'],_0x5d96ae);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0xf8fb38,[_0x49f6e5])=>{if(this['_document']['version'])throw new _0x72635a('realtimecollaborationclient-init-document-already-initialized',this);_0xf8fb38['stop'](),this['_setPendingAction']();const _0x6a05c7=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x519aad])=>!_0x519aad['lazyLoad'])['map'](([_0x5f0555,_0x516804])=>[_0x5f0555,_0x516804['modelAttributes']||{}])),_0x3df142=this['_getOperationsFromInitData'](_0x49f6e5,_0x6a05c7);0x0==_0x3df142['length']&&_0x3df142['push'](new _0x4314d0(0x0)),_0xf8fb38['return']=this['_connectService'](_0x3df142)['then'](()=>{this['editor']['plugins']['get'](K)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x34da54=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x34da54))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4881fd,[_0x864197,_0x5f17cc])=>{_0x4881fd['stop']();const _0x1b7021=this['editor']['model']['document']['getRoot'](_0x864197);if(!this['_knownRootNames']['has'](_0x864197)){const _0x306a75=_0x5f17cc&&_0x5f17cc['data']?_0x5f17cc['data']:'',_0x5a4e26=_0x5f17cc&&_0x5f17cc['attributes']?_0x5f17cc['attributes']:{};await this['_loadRoot'](_0x864197,_0x306a75,_0x5a4e26);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1b7021['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1b7021);});},{'priority':'high'});}async _fetchMissingUsers(_0x34a1c6){const _0x339cd3=this['editor']['plugins']['get'](_0x594ec5),{connection:_0xf23b39}=this['editor']['plugins']['get'](K),_0x5da6aa=new Set();for(const _0x4766aa of _0x34a1c6){const _0x3a34f8=_0x4766aa['_authorId'];_0x3a34f8&&!_0x339cd3['getUser'](_0x3a34f8)&&_0x5da6aa['add'](_0x3a34f8);}if(0x0===_0x5da6aa['size'])return;const _0x47f79e=await _0x4c7d1e['getMany'](_0xf23b39,Array['from'](_0x5da6aa));for(const _0x393559 of _0x47f79e)_0x339cd3['getUser'](_0x393559['id'])||_0x339cd3['addUser'](_0x393559);}_getOperationsFromInitData(_0x3fbbb1,_0x38915b={}){const _0x5d038e=this['editor']['model'],_0x48a18c=[];let _0x182145=0x0;const _0x20d3f0='string'==typeof _0x3fbbb1?{'main':_0x3fbbb1}:_0x3fbbb1;for(const _0x4e6fc2 of Object['keys'](_0x20d3f0)){if(!this['_document']['roots']['has'](_0x4e6fc2))throw new _0x72635a('realtimecollaborationclient-init-non-existent-root',this);const _0x2861f7=this['_document']['getRoot'](_0x4e6fc2),_0x2634bb=this['editor']['data']['parse'](_0x20d3f0[_0x4e6fc2],_0x2861f7),_0xa20d56=new _0x280c28(_0x5d038e['createPositionAt'](_0x2861f7,0x0),_0x2634bb,_0x182145++);_0x48a18c['push'](_0xa20d56);for(const [_0x490c9a,_0x2f596f]of _0x2634bb['markers']){const _0x1f0ae4=_0x5d038e['createRange'](_0x5d038e['createPositionFromPath'](_0x2861f7,_0x2f596f['start']['path']['slice']()),_0x5d038e['createPositionFromPath'](_0x2861f7,_0x2f596f['end']['path']['slice']())),_0x128ddf=new _0x29b12d(_0x490c9a,null,_0x1f0ae4,_0x5d038e['markers'],!0x0,_0x182145++);_0x48a18c['push'](_0x128ddf);}}if(_0x38915b)for(const [_0x415313,_0x49ceeb]of Object['entries'](_0x38915b)){const _0x5d223e=_0x5d038e['document']['getRoot'](_0x415313);if(!_0x5d223e)throw new _0x72635a('multi-root-editor-root-attributes-no-root',null);for(const [_0x530de0,_0xbec288]of Object['entries'](_0x49ceeb))if(null!==_0xbec288){const _0x41159c=new _0x147413(_0x5d223e,_0x530de0,null,_0xbec288,_0x182145++);_0x48a18c['push'](_0x41159c);}}return _0x48a18c;}async _loadRoot(_0xaf3242,_0x191f95,_0x52ec1a){this['_getOperationsFromInitData']({[_0xaf3242]:_0x191f95},{[_0xaf3242]:_0x52ec1a})['forEach']((_0x1659c9,_0x4f8b0c)=>{_0x1659c9['baseVersion']=this['_document']['version']+_0x4f8b0c,_0x1659c9['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1659c9);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x54a991,_0x57f395){let _0x251378;this['_offset']=_0x54a991['offset'];const _0xfbde59=_0x54a991['wereChangesApplied']&&!_0x54a991['initData'],_0x2df2e0=_0xfbde59?0x0:_0x54a991['data']['baseVersion'];if(_0x57f395['forEach'](_0x2ded68=>{_0x2ded68['_isInit']=!0x0,_0x2ded68['createdAt']=_0x54a991['sessionCreatedAt'],_0x2ded68['_authorId']=null;}),_0xfbde59)_0x251378=_0x57f395,this['_applyOperationsSet'](_0x251378,_0xfbde59);else{if(_0x54a991['initData']){const _0x4b0e76=this['_getOperationsFromInitData'](_0x54a991['initData']);this['_document']['history']['version']=-_0x4b0e76['length'],_0x4b0e76['forEach'](_0x293d18=>{_0x293d18['baseVersion']-=_0x4b0e76['length'],_0x293d18['createdAt']=_0x54a991['sessionCreatedAt'],_0x293d18['_isInit']=!0x0,_0x293d18['_authorId']=null;}),this['_applyOperationsSet'](_0x4b0e76,!0x0),this['serverHistory']['version']=-_0x4b0e76['length']+this['_offset'],this['_updateServerHistory'](_0x4b0e76);}this['_document']['history']['version']=_0x2df2e0,_0x251378=this['_decompressOperations'](_0x54a991['data'],_0x54a991['metadata']),await this['_fetchMissingUsers'](_0x251378),this['_applyOperationsSet'](_0x251378,_0xfbde59);}_0x54a991['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x251378,_0x54a991['lastOperationId']),this['_lastSyncedOperationId']=_0x54a991['lastOperationId']),this['serverHistory']['version']=_0x2df2e0+this['_offset'],this['_updateServerHistory'](_0x251378),_0x57f395['filter'](_0x24cfb7=>{const _0x138589=this['_getAffectedRoot'](_0x24cfb7);return _0x138589&&!this['_knownRootNames']['has'](_0x138589);})['forEach']((_0x531fb9,_0x498ec6)=>{_0x531fb9['baseVersion']=this['_document']['version']+_0x498ec6,this['_saveOperationInBuffer'](_0x531fb9);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3d154e,_0x984e1d){const _0x9ee542=_0x984e1d&&_0x984e1d['message'];if(_0x9ee542&&_0x9ee542['startsWith']('realtimecollaborationclient'))throw _0x984e1d;const _0x59cf2e=this['editor']['plugins']['get'](K);throw this['_isPendingUpdate']=!0x0,_0x59cf2e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x72635a(_0x3d154e,this['editor'],_0x9ee542?{'originalError':_0x9ee542}:void 0x0);}_saveOperationInBuffer(_0x4832b2){this['_knownOperations']['has'](_0x4832b2)||(this['_knownOperations']['add'](_0x4832b2),this['_bufferedOperations']['push'](_0x4832b2),this['_pendingAction']||'marker'==_0x4832b2['type']&&!_0x4832b2['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x131bf4=!0x1){!_0x131bf4&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x9f0cbf=>{_0x9f0cbf&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x22f827=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2aa3ce){return _0x2aa3ce['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2aa3ce['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2aa3ce['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x22f827)||this['_crash'](_0x22f827['message'],_0x22f827);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x58bb73=>{this['on']('change:_isPendingUpdate',()=>{_0x58bb73();});});}async _sendBufferedOperations(){const _0x88584d=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x88584d['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x250754=[...this['_bufferedOperations']];for(const _0x59a388 of _0x250754)_0x59a388['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x59a388);const _0x5ade5d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x250754),_0x23dcd2=st++,_0x4eb18b=this['_compressOperations'](_0x250754),_0x92d60d=await this['_service']['sendOperations'](_0x4eb18b,_0x4eb18b['baseVersion'],_0x5ade5d);try{return await this['_handleServerResponse'](_0x250754,_0x92d60d,_0x23dcd2);}catch(_0x228890){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x228890);}}async['_handleServerResponse'](_0x3c5321,_0x550b17,_0x3490e4){if('error'in _0x550b17)throw _0x550b17['error'];let _0x402fd3;if(_0x550b17['wereChangesApplied']){_0x550b17['lastOperationId']&&(this['_lastSyncedOperationId']=_0x550b17['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4d9509=>!_0x3c5321['includes'](_0x4d9509));for(const _0x3e32af of _0x3c5321)_0x3e32af['createdAt']='lastOperationAcceptedAt'in _0x550b17&&_0x550b17['lastOperationAcceptedAt']||void 0x0;rt(_0x3c5321,_0x550b17['version']-_0x3c5321['length']),this['_updateServerHistory'](_0x3c5321);const _0x267595=_0x3c5321['filter'](_0x12f4dc=>{if(!_0x12f4dc['_isInit'])return!0x1;const _0x434929=this['_getAffectedRoot'](_0x12f4dc);return _0x434929&&!this['_knownRootNames']['has'](_0x434929);});rt(_0x267595,this['_document']['version']),this['_applyOperationsSet'](_0x267595),_0x402fd3=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1e7f83=this['_decompressOperations'](_0x550b17['data'],_0x550b17['metadata'])['filter'](_0x4e8ea0=>_0x4e8ea0['baseVersion']>=this['_lastServerVersion']);_0x1e7f83['forEach'](_0xa82ba6=>this['_addKnownRoot'](_0xa82ba6)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3970be=>!_0x3970be['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3970be))),this['_bufferedOperations']['length']&&rt(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1e7f83),_0x402fd3=this['_handleExternalOperations'](_0x1e7f83,_0x550b17['version'],_0x550b17['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x402fd3?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x35eb21,_0x348c69,_0x1ba103){try{const _0x369f01={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x18713d,operationsB:_0x3f1562,originalOperations:_0xb56746}=_0x242765(_0x35eb21,this['_bufferedOperations'],_0x369f01);rt(_0x18713d,this['_document']['version']),rt(_0x3f1562,_0x348c69);for(const _0x105e15 of _0x18713d){const _0x4893ab=_0xb56746['get'](_0x105e15);_0x4893ab?(_0x105e15['_authorId']=_0x4893ab['_authorId'],'noop'!==_0x105e15['type']&&(_0x105e15['_aiSource']=_0x4893ab['_aiSource'])):_0x105e15['_authorId']=null;}for(const _0x217cf5 of _0x3f1562)'noop'!==_0x217cf5['type']&&(_0x217cf5['_aiSource']=_0xb56746['get'](_0x217cf5)?.['_aiSource']);_0x1ba103&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x35eb21,_0x1ba103),this['_lastSyncedOperationId']=_0x1ba103),this['_bufferedOperations']=[..._0x3f1562],this['_applyOperationsSet'](_0x18713d),this['_updateServerHistory'](_0x35eb21);}catch(_0x199333){return console['error'](_0x199333),!0x1;}return!0x0;}_applyOperationsSet(_0x4d643e,_0x39567b=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3fe470=>{for(const _0xae1c89 of _0x4d643e)this['_knownOperations']['add'](_0xae1c89),this['_addKnownRoot'](_0xae1c89),_0x3fe470['batch']['addOperation'](_0xae1c89),this['editor']['model']['applyOperation'](_0xae1c89);});}_addKnownRoot(_0x492ca3){const _0x3833ce=this['_getAffectedRoot'](_0x492ca3);_0x3833ce&&this['_knownRootNames']['add'](_0x3833ce);}_getAffectedRoot(_0x577857){let _0x29a6ae,_0x526190;switch(_0x577857['type']){case'insert':_0x29a6ae=_0x577857['position']['root'];break;case'marker':if(_0x526190=_0x577857['newRange'],!_0x526190)return null;_0x29a6ae=_0x526190['root'];break;case'addRootAttribute':_0x29a6ae=_0x577857['root'];break;case'addRoot':_0x29a6ae=_0x577857['affectedSelectable'];break;case'move':_0x29a6ae=_0x577857['targetPosition']['root'];break;default:return null;}return _0x29a6ae['rootName'];}_updateServerHistory(_0x561df8){_0x561df8['forEach'](_0x1d222e=>{const _0x490906=_0x1d222e['clone']();_0x490906['_authorId']=_0x1d222e['_authorId'],_0x490906['_isInit']=!!_0x1d222e['_isInit'],_0x490906['_aiSource']=_0x1d222e['_aiSource'],_0x490906['createdAt']=_0x1d222e['createdAt'],_0x490906['baseVersion']+=this['_offset'],_0x1d222e['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x490906),this['serverHistory']['addOperation'](_0x490906);});}_handleReconnectionError(_0x132f05){const _0x423e45=this['editor']['plugins']['get']('Notification'),_0xe3c52a=this['editor']['locale'];_0x132f05||(_0x132f05=et(_0xe3c52a,'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.')),_0x423e45['showWarning'](_0x132f05,{'title':et(_0xe3c52a,'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'](_0xb7e73c)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0xb7e73c)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x4fe9e6){const _0x43ff27=_0x4fe9e6['map'](_0x26847e=>_0x26847e['toJSON']());return this['_compressor']['compress'](_0x43ff27);}_decompressOperations(_0x3ed9c1,_0x12f7eb){return this['_compressor']['decompress'](_0x3ed9c1)['map']((_0x5971b9,_0x235cfb)=>{const _0xea60a8='init'==_0x12f7eb[_0x235cfb]['type'];if('InsertOperation'==_0x5971b9['__className']){const _0x1c0d9c=_0x5971b9['position']['root'];!this['_document']['getRoot'](_0x1c0d9c)&&(this['_document']['createRoot']('$unknown',_0x1c0d9c)['_isAttached']=!0x1);}else{if('RootOperation'==_0x5971b9['__className']){const _0x53e665=this['_document']['getRoot'](_0x5971b9['rootName']);_0x53e665&&'$unknown'==_0x53e665['name']&&_0x5971b9['elementName']!=_0x53e665['name']&&(_0x53e665['name']=_0x5971b9['elementName']);}}const _0x3bf19d=_0x4ec439['fromJSON'](_0x5971b9,this['_document']);return _0x3bf19d['wasUndone']=_0x5971b9['wasUndone'],_0x3bf19d['_isInit']=_0xea60a8,_0x3bf19d['_authorId']=_0xea60a8?null:_0x12f7eb[_0x235cfb]['userId'],_0x3bf19d['_isDisconnection']='cs:removeUser'===_0x12f7eb[_0x235cfb]['type'],_0x3bf19d['_aiSource']=_0x5971b9['_aiSource']||void 0x0,_0x3bf19d['createdAt']=_0x12f7eb[_0x235cfb]['createdAt'],_0x3bf19d;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x2f1007=this['editor']['plugins']['get'](J)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2f1007&&_0x2f1007['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function rt(_0x41b1ea,_0x4c198c){for(const _0x5e20d4 of _0x41b1ea)_0x5e20d4['baseVersion']=_0x4c198c++;}var ot=class{_ignoredOperations;_operationToId;constructor(_0x30cf81){this['_ignoredOperations']=_0x30cf81,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x55c622){let _0x3ae3db=_0x55c622['length'];for(;_0x3ae3db--;){const _0x1bdafb=_0x55c622[_0x3ae3db];if(!this['_ignoredOperations']['has'](_0x1bdafb)){if(!this['_operationToId']['has'](_0x1bdafb)){const _0x1b457a=_0x543842()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1bdafb,_0x1b457a);}return this['_operationToId']['get'](_0x1bdafb);}}}setIdForTheLastOperation(_0x2371c4,_0x5e9d1a){if(!_0x5e9d1a)return;let _0x5f380a=_0x2371c4['length'];for(;_0x5f380a--;){const _0x42f2be=_0x2371c4[_0x5f380a];this['_ignoredOperations']['has'](_0x42f2be)||this['_operationToId']['set'](_0x42f2be,_0x5e9d1a);}}},ct=class extends _0x323d44{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class extends _0x323d44{['_sources']=new Map();_data=null;_hasStarted=!0x1;static get requires(){return[K,J,_0x594ec5];}static get['pluginName'](){return'RealTimeContentFetcher';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}_register(_0x5df6de,_0xa88385){if(this['_hasStarted'])throw new _0x72635a('realtimecontentfetcher-register-after-init',null,{'name':_0x5df6de});if(this['_sources']['has'](_0x5df6de))throw new _0x72635a('realtimecontentfetcher-register-duplicate',null,{'name':_0x5df6de});this['_sources']['set'](_0x5df6de,_0xa88385);}_takeInitialData(_0x599407){if(!this['_data'])throw new _0x72635a('realtimecontentfetcher-data-not-ready',null,{'name':_0x599407});if(!this['_data']['has'](_0x599407))throw new _0x72635a('realtimecontentfetcher-data-not-available',null,{'name':_0x599407});const _0x1613be=this['_data']['get'](_0x599407);return this['_data']['delete'](_0x599407),_0x1613be;}async init(){this['_hasStarted']=!0x0;const _0x594d45=Array['from'](this['_sources']),_0x36c060=await Promise['all'](_0x594d45['map'](([,_0x2a3dd4])=>_0x2a3dd4['fetch']()));await this['_fetchMissingUsers'](_0x594d45['map'](([,_0x35943d],_0x99b804)=>_0x35943d['getUserIds'](_0x36c060[_0x99b804]))),this['_data']=new Map(_0x594d45['map'](([_0x397050],_0x453837)=>[_0x397050,_0x36c060[_0x453837]]));}async _fetchMissingUsers(_0x457887){const _0x3ec64a=this['editor']['plugins']['get'](_0x594ec5),_0x19fc30=new Set();for(const _0x987c71 of _0x457887)for(const _0x580e14 of _0x987c71)_0x3ec64a['getUser'](_0x580e14)||_0x19fc30['add'](_0x580e14);if(0x0===_0x19fc30['size'])return;const {connection:_0x482d63}=this['editor']['plugins']['get'](K),_0x188dee=await _0x4c7d1e['getMany'](_0x482d63,Array['from'](_0x19fc30));for(const _0x5908a3 of _0x188dee)_0x3ec64a['getUser'](_0x5908a3['id'])||_0x3ec64a['addUser'](_0x5908a3);}};function ht(_0x346af4){const _0x35709e=new Set();for(const {resolvedBy:_0x132d02,comments:_0x3c0b43}of _0x346af4){_0x132d02&&_0x35709e['add'](_0x132d02);for(const {userId:_0x421f30}of _0x3c0b43)_0x35709e['add'](_0x421f30);}return _0x35709e;}var lt=class CloudServicesCommentsAdapter extends _0x2a424a{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x4eed7c)());['_services'];_pendingServiceEvents=new Map();_channelsAwaitingInitialData=new Set();static get requires(){return[K,_0x583a94,J,_0x594ec5];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3329b9){super(_0x3329b9),this['_services']=new Map();}async init(){const _0x1a77bf=this['context'],_0x541ba7=_0x1a77bf['plugins']['get'](_0x583a94);if(_0x1a77bf['plugins']['get'](K)['addToReconnectionStack'](this),_0x541ba7['adapter']={'addCommentThread':async({channelId:_0x2e12a6,threadId:_0x24d308,comments:_0x11e7f4,resolvedAt:_0x52d92,resolvedBy:_0x43ae0d,context:_0x36a37c,attributes:_0x289433})=>{const _0x42db6b=await this['_getService'](_0x2e12a6)['addCommentThread']({'commentThreadId':_0x24d308,'comments':_0x11e7f4['map'](_0x570f37=>function(_0x4b3e47,_0x180a3b,_0x2d1601){return{'commentThreadId':_0x2d1601,'commentId':_0x4b3e47['commentId'],'userId':_0x4b3e47['authorId'],'content':_0x4b3e47['content'],'documentId':_0x180a3b,'createdAt':_0x4b3e47['createdAt'],'attributes':_0x4b3e47['attributes']||{}};}(_0x570f37,_0x2e12a6,_0x24d308)),'resolvedAt':_0x52d92,'resolvedBy':_0x43ae0d,'context':_0x36a37c,'attributes':_0x289433})['catch'](ut);return{'threadId':_0x42db6b['commentThreadId'],'comments':_0x42db6b['comments']};},'getCommentThread':async({channelId:_0x25d8d5,threadId:_0x46f99f})=>{const _0x5f3163=await this['_getService'](_0x25d8d5)['getCommentThread'](_0x46f99f)['catch'](dt)['catch'](ut);return _0x5f3163?_0x5f3163['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5f3163]),{'threadId':_0x5f3163['commentThreadId'],'comments':_0x5f3163['comments']['map'](ft),'context':_0x5f3163['context'],'resolvedAt':_0x5f3163['resolvedAt'],'resolvedBy':_0x5f3163['resolvedBy'],'attributes':_0x5f3163['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x55e776,threadId:_0x32ff26,context:_0x48a58f,unlinkedAt:_0x53824d,attributes:_0x5bf65d})=>this['_getService'](_0x55e776)['updateCommentThread']({'commentThreadId':_0x32ff26,'context':_0x48a58f,'attributes':_0x5bf65d,'unlinkedAt':_0x53824d})['catch'](dt)['catch'](ut),'resolveCommentThread':async({channelId:_0x61493f,threadId:_0x47f5db})=>{const _0x5d9259=await this['_getService'](_0x61493f)['resolveCommentThread'](_0x47f5db)['catch'](dt)['catch'](ut);return{'threadId':_0x5d9259['commentThreadId'],'resolvedAt':_0x5d9259['resolvedAt'],'resolvedBy':_0x5d9259['resolvedBy']};},'reopenCommentThread':async({channelId:_0x25b041,threadId:_0x4c9a45})=>this['_getService'](_0x25b041)['reopenCommentThread'](_0x4c9a45)['catch'](dt)['catch'](ut),'removeCommentThread':({channelId:_0x4617f5,threadId:_0x4bf698})=>this['_getService'](_0x4617f5)['removeCommentThread'](_0x4bf698)['catch'](dt)['catch'](ut),'addComment':({channelId:_0xadf8ae,threadId:_0x2f774a,commentId:_0x56589a,content:_0x2ed57f,attributes:_0x5b8aab})=>this['_getService'](_0xadf8ae)['addComment'](_0x2f774a,_0x56589a,_0x2ed57f,_0x5b8aab)['catch'](ut),'updateComment':({channelId:_0x53b004,threadId:_0x5173b3,commentId:_0xdff5f8,content:_0x5b9421,attributes:_0x441851})=>this['_getService'](_0x53b004)['updateComment'](_0x5173b3,_0xdff5f8,_0x5b9421,_0x441851)['catch'](dt)['catch'](ut),'removeComment':({channelId:_0x264850,threadId:_0x2d7d0c,commentId:_0x3cdd24})=>this['_getService'](_0x264850)['removeComment'](_0x2d7d0c,_0x3cdd24)['catch'](dt)['catch'](ut)},_0x1a77bf instanceof _0x5d909c){const _0x3b2d8a=_0x1a77bf['config']['get']('collaboration.channelId'),_0x5e6de7=_0x1a77bf['plugins']['get'](J);await this['_setUpService'](_0x3b2d8a);const _0x1ebb99=await this['_services']['get'](_0x3b2d8a)['getConnectedSessions']();this['listenTo'](_0x5e6de7,'sessionAdd:'+_0x3b2d8a,(_0x2d6724,{session:_0x1a0dcc})=>{_0x1a0dcc['id']===_0x5e6de7['mySessionId']&&(_0x2d6724['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1a0dcc['permissions'],_0x3b2d8a));}),_0x5e6de7['register'](_0x3b2d8a,_0x1ebb99);}}async _setUpService(_0x4f7d32){this['_createService'](_0x4f7d32),await this['_connectService'](_0x4f7d32);}_createService(_0x40134f){if(this['_services']['has'](_0x40134f))throw new _0x72635a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x40134f});const _0x5842f5=this['context']['plugins']['get'](_0x583a94),_0x28bcdd=new CloudServicesCommentsAdapter['CommentsService'](_0x40134f);this['_services']['set'](_0x40134f,_0x28bcdd),this['listenTo'](_0x28bcdd,'commentThreadAdded',(_0xf2e80,_0x54456c)=>{const {commentThreadId:_0x1806b1,documentId:_0x4cac41,context:_0x15f735,attributes:_0xe3f8a8,resolvedAt:_0x1836ed,resolvedBy:_0x173e8f,comments:_0x15782c}=_0x54456c,_0x2fe12a=_0x15782c?_0x15782c['map'](({userId:_0x4ff7aa})=>_0x4ff7aa):[];_0x173e8f&&_0x2fe12a['push'](_0x173e8f),this['_handleOrQueueServiceEvent'](_0x40134f,_0x2fe12a,()=>{_0x5842f5['getCommentThread'](_0x1806b1)||_0x5842f5['addCommentThread']({'threadId':_0x1806b1,'channelId':_0x4cac41,'comments':_0x15782c?_0x15782c['map'](ft):[],'context':_0x15f735,'attributes':_0xe3f8a8,'resolvedAt':_0x1836ed,'resolvedBy':_0x173e8f,'isFromAdapter':!0x0});});}),this['listenTo'](_0x28bcdd,'commentThreadUpdated',(_0x5a9d06,{commentThreadId:_0x5d50d6,documentId:_0x489d07,context:_0x1567e6,unlinkedAt:_0x28ca66,attributes:_0x36c453})=>{this['_handleOrQueueServiceEvent'](_0x40134f,[],()=>{_0x5842f5['getCommentThread'](_0x5d50d6)&&_0x5842f5['updateCommentThread']({'threadId':_0x5d50d6,'channelId':_0x489d07,'context':_0x1567e6,'unlinkedAt':_0x28ca66,'attributes':_0x36c453,'isFromAdapter':!0x0});});}),this['listenTo'](_0x28bcdd,'commentThreadResolved',(_0x291aad,{commentThreadId:_0xee60a5,resolvedBy:_0x58aefd,resolvedAt:_0x5c6e67})=>{this['_handleOrQueueServiceEvent'](_0x40134f,[_0x58aefd],()=>{const _0x3b0adc=_0x5842f5['getCommentThread'](_0xee60a5);_0x3b0adc&&!_0x3b0adc['isResolved']&&_0x3b0adc['resolve']({'resolvedBy':_0x58aefd,'resolvedAt':_0x5c6e67,'isFromAdapter':!0x0});});}),this['listenTo'](_0x28bcdd,'commentThreadReopened',(_0x2aaf06,{commentThreadId:_0x33fb26})=>{this['_handleOrQueueServiceEvent'](_0x40134f,[],()=>{const _0x46c406=_0x5842f5['getCommentThread'](_0x33fb26);_0x46c406&&_0x46c406['isResolved']&&_0x46c406['reopen']({'isFromAdapter':!0x0});});}),this['listenTo'](_0x28bcdd,'commentThreadRemoved',(_0x32dfee,{commentThreadId:_0x37c6da})=>{this['_handleOrQueueServiceEvent'](_0x40134f,[],()=>{const _0x365ce4=_0x5842f5['getCommentThread'](_0x37c6da);_0x365ce4&&_0x365ce4['remove']({'isFromAdapter':!0x0});});}),this['listenTo'](_0x28bcdd,'commentAdded',(_0x4525f3,_0x37e987)=>{this['_handleOrQueueServiceEvent'](_0x40134f,[_0x37e987['userId']],()=>{const _0x4421f9=_0x5842f5['getCommentThread'](_0x37e987['commentThreadId']);_0x4421f9&&!_0x4421f9['getComment'](_0x37e987['commentId'])&&_0x4421f9['addComment']({...ft(_0x37e987),'isFromAdapter':!0x0});});}),this['listenTo'](_0x28bcdd,'commentUpdated',(_0x47ca00,{commentThreadId:_0x121109,commentId:_0x1ca3f3,content:_0x351219,attributes:_0x46381a})=>{this['_handleOrQueueServiceEvent'](_0x40134f,[],()=>{const _0x1c8b54=_0x5842f5['getCommentThread'](_0x121109)?.['getComment'](_0x1ca3f3);_0x1c8b54&&_0x1c8b54['update']({'content':_0x351219,'attributes':_0x46381a,'isFromAdapter':!0x0});});}),this['listenTo'](_0x28bcdd,'commentRemoved',(_0x44def2,{commentThreadId:_0x38b8a4,commentId:_0x592ce6})=>{this['_handleOrQueueServiceEvent'](_0x40134f,[],()=>{const _0x2ffd8a=_0x5842f5['getCommentThread'](_0x38b8a4)?.['getComment'](_0x592ce6);_0x2ffd8a&&_0x2ffd8a['remove']({'isFromAdapter':!0x0});});}),this['listenTo'](_0x28bcdd,'disconnected',()=>{'connected'===this['context']['plugins']['get'](K)['connection']?.['state']&&(this['_services']['delete'](_0x40134f),this['_pendingServiceEvents']['delete'](_0x40134f),this['stopListening'](_0x28bcdd));});}destroy(){if(this['context']instanceof _0x5d909c){const _0x76b9aa=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x76b9aa)&&this['_terminateService'](_0x76b9aa);}}_terminateService(_0x4164d3){if(!this['_services']['has'](_0x4164d3))throw new _0x72635a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4164d3});this['_getService'](_0x4164d3)['disconnect'](),this['_services']['delete'](_0x4164d3);}async reconnect(){for(const _0x9fb452 of this['_services']['keys']())await this['_connectService'](_0x9fb452);if(this['context']instanceof _0x5d909c){const _0x52f2fb=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x52f2fb)){const _0x51f1d5=this['context']['plugins']['get'](J);_0x51f1d5['unregister'](_0x52f2fb);const _0x1f0264=await this['_services']['get'](_0x52f2fb)['getConnectedSessions']();_0x51f1d5['register'](_0x52f2fb,_0x1f0264);}}}_fetchInitialChannelData(_0x10ff9b){return this['_channelsAwaitingInitialData']['add'](_0x10ff9b),this['_fetchChannelData'](_0x10ff9b);}async _applyInitialChannelData(_0x3ce235,_0x543fea){this['_channelsAwaitingInitialData']['delete'](_0x3ce235)&&await this['_applyChannelData'](_0x3ce235,_0x543fea);}async _fetchChannelData(_0xf09454){const {connection:_0x51d9e4}=this['context']['plugins']['get'](K);return this['_pendingServiceEvents']['set'](_0xf09454,[]),await this['_services']['get'](_0xf09454)['connect'](_0x51d9e4);}async _applyChannelData(_0x4a10cd,_0x3bce4e){const _0x2bc451=this['context']['plugins']['get'](_0x583a94),_0x4d0f45=new Set(Array['from'](_0x2bc451['getCommentThreads']({'channelId':_0x4a10cd}),_0x406430=>_0x406430['id']));for(const _0x4be189 of _0x3bce4e)_0x4be189['deletedAt']||_0x4d0f45['delete'](_0x4be189['commentThreadId']);for(const _0x4542aa of _0x4d0f45)_0x2bc451['getCommentThread'](_0x4542aa)['remove']({'isFromAdapter':!0x0});for(const _0x76f6a8 of _0x3bce4e){let _0x31f4bd=_0x2bc451['getCommentThread'](_0x76f6a8['commentThreadId']);const {commentThreadId:_0x4c3eb7,context:_0x31d133,attributes:_0x199c86,resolvedBy:_0x10425a,resolvedAt:_0x5ded16,unlinkedAt:_0x5a621c,deletedAt:_0x2db60b}=_0x76f6a8;if(_0x2db60b)continue;_0x31f4bd||(_0x31f4bd=_0x2bc451['addCommentThread']({'channelId':_0x4a10cd,'threadId':_0x4c3eb7,'context':_0x31d133,'attributes':_0x199c86||{},'resolvedBy':_0x10425a,'resolvedAt':_0x5ded16,'unlinkedAt':_0x5a621c,'isFromAdapter':!0x0}));const _0x3715ff=new Set(Array['from'](_0x31f4bd['comments'],_0x515c92=>_0x515c92['id']));for(const _0x5d49bc of _0x76f6a8['comments'])_0x3715ff['delete'](_0x5d49bc['commentId']);for(const _0x1dc751 of _0x3715ff)_0x31f4bd['getComment'](_0x1dc751)['remove']({'isFromAdapter':!0x0});for(const _0xdfbae9 of _0x76f6a8['comments']){const _0x10914c=_0x31f4bd['getComment'](_0xdfbae9['commentId']);_0x10914c?_0x10914c['content']!==_0xdfbae9['content']&&_0x10914c['update']({'content':_0xdfbae9['content'],'isFromAdapter':!0x0}):_0x31f4bd['addComment'](Object['assign'](ft(_0xdfbae9),{'isFromAdapter':!0x0}));}}await this['_applyPendingServiceEvents'](_0x4a10cd);}_handleOrQueueServiceEvent(_0x38bd1d,_0x3dc0ea,_0x250834){const _0x25a721=this['_pendingServiceEvents']['get'](_0x38bd1d);_0x25a721?_0x25a721['push']({'userIds':_0x3dc0ea,'apply':_0x250834}):_0x250834();}async _applyPendingServiceEvents(_0x45f0a0){const _0x548a36=this['_pendingServiceEvents']['get'](_0x45f0a0)||[];for(;_0x548a36['length'];){const _0x42a5ad=_0x548a36['splice'](0x0);await this['_fetchMissingUsers'](_0x42a5ad['flatMap'](({userIds:_0x3f2288})=>_0x3f2288));for(const {apply:_0x5764b6}of _0x42a5ad)_0x5764b6();}this['_discardPendingServiceEvents'](_0x45f0a0,_0x548a36);}_discardPendingServiceEvents(_0x21b09f,_0x232086){this['_pendingServiceEvents']['get'](_0x21b09f)===_0x232086&&this['_pendingServiceEvents']['delete'](_0x21b09f);}async _connectService(_0x30d9bb){const _0x1b0e9c=this['_channelsAwaitingInitialData']['delete'](_0x30d9bb),_0x3dc98a=this['_fetchChannelData'](_0x30d9bb),_0x396cf4=this['_pendingServiceEvents']['get'](_0x30d9bb);let _0xb19562=!0x1;try{const _0x24e091=await _0x3dc98a;_0xb19562=!0x0,await this['_fetchMissingUsersForThreads'](_0x24e091),await this['_applyChannelData'](_0x30d9bb,_0x24e091);}catch(_0x5e0e26){throw this['_discardPendingServiceEvents'](_0x30d9bb,_0x396cf4),_0x1b0e9c&&!_0xb19562&&this['_channelsAwaitingInitialData']['add'](_0x30d9bb),_0x5e0e26;}}_getService(_0x4ea6a7){if(!this['_services']['has'](_0x4ea6a7))throw new _0x72635a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4ea6a7});return this['_services']['get'](_0x4ea6a7);}async _fetchMissingUsersForThreads(_0x314741){return this['_fetchMissingUsers'](ht(_0x314741));}async _fetchMissingUsers(_0x11df43){const _0xc33f5e=this['context']['plugins']['get'](_0x594ec5),{connection:_0x529c82}=this['context']['plugins']['get'](K),_0x151d98=Array['from'](new Set(_0x11df43))['filter'](_0x31cb46=>!_0xc33f5e['getUser'](_0x31cb46));if(0x0===_0x151d98['length'])return;const _0x303df6=await _0x4c7d1e['getMany'](_0x529c82,_0x151d98);for(const _0x127da3 of _0x303df6)_0xc33f5e['getUser'](_0x127da3['id'])||_0xc33f5e['addUser'](_0x127da3);}};async function dt(_0x375a58){if('404'!==_0x375a58['code'])throw _0x375a58;}function ut(_0x19f561){if((_0x1ebad6=_0x19f561)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x1ebad6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1ebad6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x1ebad6;throw _0x19f561;}function ft(_0x2aa478){return{'threadId':_0x2aa478['commentThreadId'],'commentId':_0x2aa478['commentId'],'content':_0x2aa478['content'],'createdAt':_0x2aa478['createdAt'],'authorId':_0x2aa478['userId'],'attributes':_0x2aa478['attributes']||{}};}var mt=class CloudServicesTrackChangesAdapter extends _0x323d44{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x58c0b7)());_bufferedRequests;_trackChangesService;['_isChannelFlushed']=!0x1;_pendingSuggestionsUpdates=[];_isReadyForReconnect=!0x1;_isReconnectPending=!0x1;static get requires(){return[lt,_0x30f396,K,at];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x396332){super(_0x396332);const _0x3b4e37=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x3b4e37),_0x396332['plugins']['get'](at)['_register']('trackChanges',{'fetch':()=>this['_fetchInitialSuggestions'](),'getUserIds':_0x131baa=>_0x131baa['map'](({authorId:_0x473415})=>_0x473415)});}init(){const _0x44b379=this['editor']['plugins']['get'](_0x30f396);_0x44b379['adapter']={'getSuggestion':async _0x9e4db1=>{await this['_waitForServiceReady']();const _0x58b7b8=await this['_trackChangesService']['get'](_0x9e4db1)['catch'](pt);return await this['_fetchMissingUsersForThreads']([_0x58b7b8]),_0x58b7b8;},'addSuggestion':async({id:_0xc5b6dd,type:_0x5b925b,data:_0x51182d,originalSuggestionId:_0x4607d0,attributes:_0x2b4966})=>{await this['_waitForServiceReady']();const _0x49264c={'id':_0xc5b6dd,'type':_0x5b925b,'data':_0x51182d,'originalSuggestionId':_0x4607d0,'attributes':_0x2b4966},_0x1244e6=await this['_trackChangesService']['add'](_0xc5b6dd,_0x5b925b,_0x51182d,_0x4607d0,_0x2b4966)['catch'](_0x473373=>{if(gt(_0x473373))return new Promise(_0x3d7155=>{this['_bufferedRequests']['set'](_0xc5b6dd,{'resolve':_0x3d7155,'suggestionData':_0x49264c});});throw _0x473373;});return this['_bufferedRequests']['delete'](_0xc5b6dd),_0x1244e6;},'updateSuggestion':async(_0x33144d,_0x40e77c)=>{if(await this['_waitForServiceReady'](),'open'!==_0x40e77c['state'])return this['_trackChangesService']['update'](_0x33144d,_0x40e77c)['catch'](pt);}};const _0x21b20f=this['editor']['plugins']['get'](at)['_takeInitialData']('trackChanges');for(const _0x372ac3 of _0x21b20f){_0x44b379['addSuggestionData'](_0x372ac3)['_saved']=!0x0;}for(const {id:_0x23a56b,attributes:_0x4e4afd}of this['_pendingSuggestionsUpdates'])this['_handleSuggestionUpdate'](_0x23a56b,_0x4e4afd);this['_pendingSuggestionsUpdates']=null,this['_setReadyForReconnect']();}async _fetchInitialSuggestions(){const _0x296049=this['editor']['plugins']['get'](K);this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x2a68d6,{id:_0x208ecf,attributes:_0x397e4c})=>{this['_pendingSuggestionsUpdates']?this['_pendingSuggestionsUpdates']['push']({'id':_0x208ecf,'attributes':_0x397e4c}):this['_handleSuggestionUpdate'](_0x208ecf,_0x397e4c);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x296049['connection']?.['state']&&(this['_isChannelFlushed']=!0x0,_0x296049['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));});const _0x17bc05=await this['_trackChangesService']['connect'](_0x296049['connection']);return this['_isChannelFlushed']||_0x296049['addToReconnectionStack'](this),_0x17bc05;}_handleSuggestionUpdate(_0x4fe748,_0x2b6201){const _0x469cb4=this['editor']['plugins']['get'](_0x30f396);_0x469cb4['hasSuggestion'](_0x4fe748)&&(_0x469cb4['getSuggestion'](_0x4fe748)['attributes']=_0x2b6201);}destroy(){this['editor']['plugins']['get'](K)['removeFromReconnectionStack'](this),super['destroy']();}_setReadyForReconnect(){this['_isReadyForReconnect']=!0x0,this['_isReconnectPending']&&(this['_isReconnectPending']=!0x1,this['reconnect']()['catch'](_0x45af01=>console['error'](_0x45af01)));}async reconnect(){if(!this['_isReadyForReconnect'])return void(this['_isReconnectPending']=!0x0);const _0x118732=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1f6cf1}=this['editor']['plugins']['get'](K),_0x2fdae7=await this['_trackChangesService']['connect'](_0x1f6cf1);await this['_fetchMissingUsersForThreads'](_0x2fdae7);for(const {suggestionData:_0x28d9dd,resolve:_0x506d56}of this['_bufferedRequests']['values']()){let _0x2c4542=_0x2fdae7['find'](_0x592abc=>_0x592abc['id']===_0x28d9dd['id']);_0x2c4542||(_0x2c4542=await this['_trackChangesService']['add'](_0x28d9dd['id'],_0x28d9dd['type'],_0x28d9dd['data'],_0x28d9dd['originalSuggestionId'])),_0x506d56(_0x2c4542);}for(const _0x30e640 of _0x2fdae7)_0x118732['hasSuggestion'](_0x30e640['id'])||_0x118732['addSuggestionData'](_0x30e640);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x4afd83=>{this['listenTo'](this['_trackChangesService'],'connected',_0x295184=>{_0x295184['off'](),_0x4afd83();});});}async _fetchMissingUsersForThreads(_0x107d07){const _0x189c20=this['editor']['plugins']['get'](_0x594ec5),{connection:_0x15bb15}=this['editor']['plugins']['get'](K),_0x4fe76e=new Set();for(const {authorId:_0x381d88}of _0x107d07)_0x189c20['getUser'](_0x381d88)||_0x4fe76e['add'](_0x381d88);if(0x0===_0x4fe76e['size'])return;const _0x15d9e3=await _0x4c7d1e['getMany'](_0x15bb15,Array['from'](_0x4fe76e));for(const _0x450bef of _0x15d9e3)_0x189c20['getUser'](_0x450bef['id'])||_0x189c20['addUser'](_0x450bef);}};function pt(_0x32b217){if(gt(_0x32b217))return new Promise(()=>{});throw _0x32b217;}function gt(_0x4a9b75){return _0x4a9b75['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4a9b75['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var wt=class extends _0x323d44{static get requires(){return[_0x43ef0d,lt,ct,K,at];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x363cbd){super(_0x363cbd);const _0x138cdf=_0x363cbd['plugins']['get'](lt),_0x286fe8=_0x363cbd['config']['get']('collaboration.channelId');_0x363cbd['plugins']['get'](at)['_register']('comments',{'fetch':()=>(_0x138cdf['_createService'](_0x286fe8),_0x138cdf['_fetchInitialChannelData'](_0x286fe8)),'getUserIds':ht});}init(){const _0x15953a=this['editor']['plugins']['get'](K),_0x3229fa=this['editor']['plugins']['get'](_0x5e816a),_0x3f9af3=this['editor']['plugins']['get'](lt);this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x15953a,'change:state',(_0x5c21c9,_0x2b32f6,_0x336f6b)=>{_0x3229fa['isThreadsLoadingPaused']='connected'!==_0x336f6b;});}),this['listenTo'](_0x15953a,'change:state',(_0x33b392,_0x1d8dfa,_0x4230a1)=>{this['editor']['plugins']['get'](_0x583a94)['switchReadOnly']('connected'!==_0x4230a1);});const _0x56e0e9=this['editor']['config']['get']('collaboration.channelId'),_0x26d649=this['editor']['plugins']['get'](at)['_takeInitialData']('comments');return _0x3f9af3['_applyInitialChannelData'](_0x56e0e9,_0x26d649);}destroy(){const _0x491b9a=this['editor']['plugins']['get'](lt),_0x4b3e7d=this['editor']['config']['get']('collaboration.channelId');_0x491b9a['_services']['has'](_0x4b3e7d)&&_0x491b9a['_terminateService'](_0x4b3e7d),super['destroy']();}},vt=class extends _0x323d44{static get requires(){return[wt,mt,_0x3f6f2f];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},_t=class CloudServicesRevisionHistoryAdapter extends _0x323d44{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x57fc4b)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;['_isChannelFlushed']=!0x1;_newestRevisionPrefetch=null;_pendingRevisionsUpdates=[];_isReadyForReconnect=!0x1;_isReconnectPending=!0x1;static get requires(){return[K,it,_0x324b7a,J,_0x594ec5,at];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12cbdb){super(_0x12cbdb);const _0x2ecd55=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2ecd55),this['set']('_isServiceConnected',!0x1),_0x12cbdb['plugins']['get'](at)['_register']('revisionHistory',{'fetch':()=>this['_fetchInitialData'](),'getUserIds':({revisions:_0x521b68})=>_0x521b68['flatMap'](({authorsIds:_0x2456a3,creatorId:_0x3a828b})=>_0x3a828b?[..._0x2456a3,_0x3a828b]:_0x2456a3)});}async init(){const _0x19bb17=this['editor']['plugins']['get'](it),{hasEditorBundle:_0x6adcc5,revisions:_0x538979}=this['editor']['plugins']['get'](at)['_takeInitialData']('revisionHistory');this['listenTo'](this['editor']['data'],'ready',()=>{this['_setReadyForReconnect'](),this['_newestRevisionPrefetch']=null;}),this['editor']['plugins']['get'](_0x324b7a)['adapter']={'getRevision':async({revisionId:_0x1e5c14})=>{const _0x50cc89=this['_newestRevisionPrefetch'];return _0x50cc89&&_0x50cc89['revisionId']===_0x1e5c14?(this['_newestRevisionPrefetch']=null,_0x50cc89['promise']):(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1e5c14));},'updateRevisions':async _0xbcf8df=>{await this['_waitForServiceReady']();const _0x2b41ce=this['_revisionTracker']['currentRevision'];if(_0x6adcc5&&0x1===_0xbcf8df['length']&&_0xbcf8df[0x0]['id']===_0x2b41ce['id'])return _0xbcf8df;for(const _0x325b94 of _0xbcf8df)_0x325b94['id']===_0x2b41ce['id']&&(_0x325b94['isEmptyCurrent']=_0x325b94['fromVersion']===_0x325b94['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xbcf8df,this['_lastRequestId'])['then'](_0x573266=>(this['_lastRequestId']=_0x573266,_0xbcf8df))['catch'](_0xc24b42=>{if(yt(_0xc24b42)||'400'===_0xc24b42['code']&&void 0x0!==_0xc24b42['data']['wrongRequestId']){for(const _0x3d8383 of _0xbcf8df)this['_revisionTracker']['repository']['getRevision'](_0x3d8383['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x3d8383['id'],_0x3d8383,!0x1);if(yt(_0xc24b42)&&'destroyed'!==this['editor']['state'])throw _0xc24b42;return _0xbcf8df;}throw _0xc24b42;});}};for(const _0x584e5d of _0x538979)this['_revisionTracker']['addRevisionData'](_0x584e5d);this['listenTo'](_0x19bb17,'change:_isConnected',(_0x4fa296,_0x1df905,_0x213df2)=>{_0x213df2&&(this['_oldOffset']=_0x19bb17['_offset'],_0x4fa296['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected'),await this['_applyPendingRevisionsUpdates']();}async _fetchInitialData(){const _0x4807e9=this['editor']['plugins']['get'](it),_0x5a8587=this['editor']['plugins']['get'](K),_0x13c456=_0x4807e9['serverHistory'];this['_revisionTracker']['setSource']({'history':_0x13c456,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4807e9['sessionId']}),this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x409681,{revisionsData:_0x1e5a9e,requestId:_0x5513da})=>{_0x1e5a9e['some'](({id:_0x5c7f4b})=>_0x5c7f4b===this['_newestRevisionPrefetch']?.['revisionId'])&&(this['_newestRevisionPrefetch']=null),Math['max'](..._0x1e5a9e['map'](_0x327195=>_0x327195['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleOrQueueRevisionsUpdate'](_0x1e5a9e,_0x5513da);}):this['_handleOrQueueRevisionsUpdate'](_0x1e5a9e,_0x5513da);}),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x5a8587['connection']?.['state']&&(this['_isChannelFlushed']=!0x0,_0x5a8587['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const _0x59e04d=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x52c089,[_0x59925f,_0x5613a1]=await Promise['all']([_0x59814e['isBundleUploaded'](_0x5a8587['connection'],_0x59e04d),this['_revisionHistoryService']['connect'](_0x5a8587['connection'])['then'](_0x3a5b71=>(this['_lastRequestId']=_0x3a5b71['requestId'],this['_isChannelFlushed']||_0x5a8587['addToReconnectionStack'](this),this['_prefetchNewestRevision'](_0x3a5b71['revisions']),_0x3a5b71['revisions']))]);return{'hasEditorBundle':_0x59925f,'revisions':_0x5613a1};}_handleOrQueueRevisionsUpdate(_0x38e611,_0x5a3a65){this['_pendingRevisionsUpdates']?this['_pendingRevisionsUpdates']['push']({'revisionsData':_0x38e611,'requestId':_0x5a3a65}):this['_handleRevisionsUpdate'](_0x38e611,_0x5a3a65);}async _applyPendingRevisionsUpdates(){for(;this['_pendingRevisionsUpdates']['length'];){const _0xd19901=this['_pendingRevisionsUpdates']['splice'](0x0);await this['_fetchMissingUsers'](_0xd19901['flatMap'](({revisionsData:_0x49dbfa})=>_0x49dbfa));for(const {revisionsData:_0x2f0c75,requestId:_0x502896}of _0xd19901)this['_handleRevisionsUpdate'](_0x2f0c75,_0x502896);}this['_pendingRevisionsUpdates']=null;}_prefetchNewestRevision(_0x11f3cd){const _0xcc7715=_0x11f3cd['reduce']((_0x3fd345,_0x1a2493)=>_0x3fd345?(_0x1a2493['toVersion']-_0x3fd345['toVersion']||_0x1a2493['fromVersion']-_0x3fd345['fromVersion'])>0x0?_0x1a2493:_0x3fd345:_0x1a2493,null);if(!_0xcc7715||_0xcc7715['diffData'])return;const _0x3ec8b3=this['_revisionHistoryService']['getRevision'](_0xcc7715['id']);_0x3ec8b3['catch'](()=>{}),this['_newestRevisionPrefetch']={'revisionId':_0xcc7715['id'],'promise':_0x3ec8b3};}async reconnect(){if(!this['_isReadyForReconnect'])return void(this['_isReconnectPending']=!0x0);const _0x35894c=this['editor']['plugins']['get'](K),_0x17699f=this['editor']['plugins']['get'](it),_0x57bba6=async()=>{const _0x2a625c=this['_revisionTracker']['currentRevision'],_0x2eaaa6=_0x2a625c['id'],_0x4b8b9f=_0x2eaaa6!==_0x17699f['sessionId'];if(_0x4b8b9f){const _0x530c6f=_0x17699f['_offset']-this['_oldOffset'],_0x43c533=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x2a625c['toVersion']+_0x530c6f!==_0x43c533){const _0x3d3edf=_0x2a625c['fromVersion']+_0x530c6f,_0x288205=this['editor']['plugins']['get'](_0x594ec5),_0x141d86=this['_revisionTracker']['buildRevisionData']({'revision':_0x2a625c,'from':_0x3d3edf,'to':_0x43c533});_0x141d86['id']=_0x2a625c['id'];const _0x5ca6a3=_0x141d86['authorsIds']['map'](_0x21280e=>_0x288205['getUser'](_0x21280e));_0x2a625c['_update']({..._0x141d86,'authors':_0x5ca6a3},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2a625c['id'],_0x141d86,!0x0);}this['_revisionTracker']['_startingVersion']=_0x43c533,_0x2a625c['toVersion']!==_0x2a625c['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x2eaaa6)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x2eaaa6),this['_revisionTracker']['_createCurrentRevision'](_0x43c533);}const {revisions:_0x124419,requestId:_0x361ddd}=await this['_revisionHistoryService']['reconnect'](_0x35894c['connection'],this['_lastRequestId']);_0x4b8b9f&&_0x124419['length']>0x0?_0x17699f['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x124419),this['_handleRevisionsUpdate'](_0x124419,_0x361ddd),this['_revisionTracker']['sendBufferedUpdates']());};return _0x17699f['_isConnected']?_0x57bba6():new Promise((_0x19b22b,_0x3bbf81)=>{_0x17699f['once']('change:_isConnected',()=>{_0x57bba6()['then'](_0x19b22b)['catch'](_0x3bbf81);});});}destroy(){this['editor']['plugins']['get'](K)['removeFromReconnectionStack'](this),super['destroy']();}_setReadyForReconnect(){this['_isReadyForReconnect']=!0x0,this['_isReconnectPending']&&(this['_isReconnectPending']=!0x1,this['reconnect']()['catch'](_0x378f74=>console['error'](_0x378f74)));}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x35a6d1=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x180446=>{_0x180446['off'](),_0x35a6d1();});});}_getLatestVersionFromServerOperations(){const _0xe2fa2d=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x417871 of _0xe2fa2d)if('marker'!==_0x417871['type']||_0x417871['affectsData'])return _0x417871['baseVersion']+0x1;}_getLatestVersion(){const _0x41061d=this['editor']['plugins']['get'](it);return new Promise(_0x38748f=>{_0x41061d['_isPendingUpdate']?_0x41061d['once']('change:_isPendingUpdate',()=>{_0x38748f(this['_getLatestVersionFromServerOperations']());}):_0x38748f(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x252a7d,_0x5a50da){const _0x24b8ca=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x5a50da;for(const _0x1934b1 of _0x252a7d){const _0x1486cf=_0x24b8ca['getRevision'](_0x1934b1['id']);if(_0x1486cf){if((_0x1934b1['fromVersion']||_0x1934b1['toVersion'])&&(_0x1934b1['diffData']=null),_0x1486cf===this['_revisionTracker']['currentRevision']){const _0x46d221=Math['max'](_0x1486cf['toVersion'],_0x1934b1['toVersion']),_0xd1485a=Math['max'](_0x1486cf['fromVersion'],_0x1934b1['fromVersion']);let _0x5ef0d6;_0x1486cf['toVersion']===_0x1934b1['toVersion']&&_0x1486cf['fromVersion']===_0x1934b1['fromVersion']?(_0x5ef0d6=!0x0,this['_preventResendingRevisionData'](_0x1934b1)):_0x1934b1['toVersion']===_0x46d221&&_0x1934b1['fromVersion']===_0xd1485a?_0x5ef0d6=!0x1:(_0x1486cf['toVersion']===_0x46d221&&_0x1486cf['fromVersion']===_0xd1485a||this['_fixRevision']({'revision':_0x1486cf,'from':_0xd1485a,'to':_0x46d221}),_0x5ef0d6=!0x0),_0x5ef0d6&&(delete _0x1934b1['fromVersion'],delete _0x1934b1['toVersion'],delete _0x1934b1['diffData'],delete _0x1934b1['createdAt'],delete _0x1934b1['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1934b1),this['_preventResendingRevisionData'](_0x1934b1);}else this['_revisionTracker']['addRevisionData'](_0x1934b1);}const _0x5ee7f4=_0x24b8ca['getRevisions']();_0x5ee7f4['reverse']();for(let _0x44f9b1=0x0;_0x44f9b1<_0x5ee7f4['length']-0x1;_0x44f9b1++){const _0x18ad08=_0x5ee7f4[_0x44f9b1],_0x369b6b=_0x5ee7f4[_0x44f9b1+0x1];if(_0x18ad08['fromVersion']<_0x369b6b['toVersion']){const _0x2f432c=_0x369b6b['toVersion'],_0x5ae545=Math['max'](_0x2f432c,_0x18ad08['toVersion']);this['_fixRevision']({'revision':_0x18ad08,'from':_0x2f432c,'to':_0x5ae545});}}}['_fixRevision']({revision:_0x51b2d6,from:_0x34dc24,to:_0x577ec9}={}){const _0x24c14d=this['editor']['plugins']['get'](_0x594ec5),_0x471dab=this['_revisionTracker']['buildRevisionData']({'revision':_0x51b2d6,'from':_0x34dc24,'to':_0x577ec9});_0x471dab['authors']=_0x471dab['authorsIds']['map'](_0x45365f=>_0x24c14d['getUser'](_0x45365f)),_0x51b2d6['_update'](_0x471dab);}_preventResendingRevisionData(_0x5bc855){const _0x2285c6={};_0x2285c6['id']=_0x5bc855['id'];for(const _0x307cc9 of Object['keys'](_0x5bc855))'id'!==_0x307cc9&&(_0x2285c6[_0x307cc9]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x2285c6['id'],_0x2285c6,!0x0);}async _fetchMissingUsers(_0x579bae){const _0x513eef=this['editor']['plugins']['get'](_0x594ec5),{connection:_0x3ef476}=this['editor']['plugins']['get'](K),_0x58bc60=new Set();for(const _0x1a8bcb of _0x579bae){for(const _0x4c079a of _0x1a8bcb['authorsIds']||[])_0xecba4b(_0x4c079a);_0x1a8bcb['creatorId']&&_0xecba4b(_0x1a8bcb['creatorId']);}if(0x0===_0x58bc60['size'])return;const _0x263668=await _0x4c7d1e['getMany'](_0x3ef476,Array['from'](_0x58bc60));for(const _0x3f8b13 of _0x263668)_0x513eef['getUser'](_0x3f8b13['id'])||_0x513eef['addUser'](_0x3f8b13);function _0xecba4b(_0x357ac6){_0x513eef['getUser'](_0x357ac6)||_0x58bc60['add'](_0x357ac6);}}};function yt(_0x1b7da8){return _0x1b7da8['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1b7da8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1b7da8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var bt=class extends _0x323d44{static get requires(){return[_0x324b7a,_t,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},kt=class extends _0x1cf434{_collapseAt;constructor(_0x2b5a89,_0x4f31c1=0x6){super(_0x2b5a89);const _0x125e5e=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4f31c1,this['bind']('isHidden')['to'](this,'usersCount',_0x286618=>_0x286618<_0x4f31c1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x125e5e['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':_0x125e5e['to']('usersCount',_0xc3e82e=>'+'+(_0xc3e82e-this['_collapseAt']+0x2)['toString']())}]}]}]});}},It=class extends _0x1cf434{items;keystrokes;constructor(_0x5365c3){super(_0x5365c3);const _0x202bf9=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x3967e9(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x202bf9['if']('hasPopup'),'aria-expanded':_0x202bf9['to']('isExpanded',_0x3859d1=>this['hasPopup']&&String(_0x3859d1)),'aria-label':_0x202bf9['to']('hasPopup',_0xdb66f3=>et(_0x5365c3,_0xdb66f3?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x202bf9['to']('hasPopup',_0xe70c2a=>!!_0xe70c2a&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x51468d,_0x17e30d,_0x204143)=>{this['element']&&(_0x204143?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 _0x1cf434{counterView;inlineListView;constructor(_0x3d9f6d,_0x57b4c1=0x6){super(_0x3d9f6d);const _0x36b2ed=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new kt(this['locale'],_0x57b4c1),this['inlineListView']=new It(_0x3d9f6d),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x450d21 of this['inlineListView']['items'])_0x450d21['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',_0x36b2ed['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},Ct=class extends _0x1cf434{listWrapperView;constructor(_0x47eaad,_0x3e0dd0){super(_0x47eaad),this['listWrapperView']=new Tt(_0x47eaad,_0x3e0dd0),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x47eaad,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},Tt=class extends _0x22761e{constructor(_0x14dee0,_0x4036ec){super(_0x14dee0);const _0x1287e5=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4036ec?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1287e5['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1287e5['to']('role'),'aria-label':_0x1287e5['to']('ariaLabel'),'aria-labelledby':_0x1287e5['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x31a7fc['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2bb359=this['element'];_0x2bb359&&(this['_isScrollable']=Math['max'](_0x2bb359['scrollHeight'],_0x2bb359['clientHeight'])>0.8*window['innerHeight']);}},At=class extends _0x700f3a{['userView'];constructor(_0x5b401e,_0x28216a,_0x58df40){super(_0x5b401e);const _0x5b4870=this['bindTemplate'];this['userView']=new _0x5c2918(_0x5b401e,_0x28216a);const _0x489073={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x28216a['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x28216a['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x28216a['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x28216a['color']['getColorVariable'](),'--ck-user-color-alpha':_0x28216a['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x58df40&&(_0x489073['tag']='button',_0x489073['on']={'click':_0x5b4870['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x489073);}['focus'](){this['element']['focus']();}},Pt=class extends _0x1cf434{['userView'];['markerView'];constructor(_0x57e1b8,_0x1accfc,_0x2fbea8){super(_0x57e1b8);const _0x275c12=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5c2918(_0x57e1b8,_0x1accfc),this['markerView']=new Rt(_0x57e1b8,_0x1accfc);const _0x124e75=new _0x52aefb(_0x57e1b8);_0x124e75['template']['tag']='span',_0x124e75['text']=_0x1accfc['name'];const _0x5deb72={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x275c12['to']('isFocusable',_0x32fa2c=>_0x32fa2c?0x0:-0x1),'aria-labelledby':_0x124e75['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x275c12['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x275c12['to']('hasTooltip',_0x214ca2=>!_0x214ca2),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x124e75]};_0x2fbea8&&(_0x5deb72['tag']='button',_0x5deb72['on']={'click':_0x275c12['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5deb72);}},Rt=class extends _0x1cf434{constructor(_0x9bf80a,_0xd15d9a){super(_0x9bf80a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xd15d9a['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xd15d9a['color']['getColorVariable'](),'--ck-user-color-alpha':_0xd15d9a['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Ot={'collapseAt':0x6,'displayMe':!0x0};var xt=class extends _0x2a424a{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e769d){super(_0x1e769d),this['context']['config']['define']('presenceList',Ot);const _0x38b224=_0x1e769d['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x38b224)throw new _0x72635a('presencelist-collapseat-invalid-format',this);if(_0x38b224<0x1)throw new _0x72635a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](J)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x24fe62(),this['balloonPanelView']=new _0x2a8ccc(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[J];}init(){for(const _0x59dd0d of this['_allConnectedUsers'])this['_handleUserAdd'](_0x59dd0d);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1758b8,_0x214449)=>{this['_handleUserAdd'](_0x214449);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x49e2c2,_0x4f7a35)=>{this['_handleUserRemove'](_0x4f7a35);});}_createView(){const _0x53902a=this['context'],_0x2b830f=new St(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4f9f27=this['balloonPanelView'];if(!_0x302ca0(_0x53902a['config']['get']('presenceList.container')))throw new _0x72635a('presencelist-missing-container',this);_0x2b830f['counterView']['bind']('usersCount')['to'](this),_0x2b830f['bind']('isCollapsed')['to'](this,'usersCount',_0x58b58b=>{const {collapseAt:_0x74f43d}=_0x53902a['config']['get']('presenceList'),_0x291a6e=_0x58b58b>=_0x74f43d;if(_0x291a6e&&!_0x2b830f['inlineListView']['items']['find'](_0x3bbbf0=>_0x3bbbf0 instanceof kt)){const _0xc67434=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0xc67434&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2b830f['inlineListView']['items']['add'](_0x2b830f['counterView']);}return _0x291a6e||this['hideDropdown'](),_0x291a6e;}),_0x2b830f['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x552cd6=>{const _0x322cd0=_0x53902a['config']['get']('presenceList'),_0x48e9f7=new Pt(_0x53902a['locale'],_0x552cd6,!!_0x322cd0['onClick']);return _0x48e9f7['bind']('hasTooltip')['to'](_0x2b830f,'isCollapsed',_0x59cf04=>!_0x59cf04),_0x48e9f7['bind']('isFocusable')['to'](_0x2b830f,'isCollapsed',_0xbc6df1=>!_0xbc6df1),_0x322cd0['onClick']&&this['listenTo'](_0x48e9f7,'execute',()=>{this['view']['isCollapsed']||_0x322cd0['onClick'](_0x552cd6,_0x48e9f7['element']);}),_0x48e9f7;}),_0x2b830f['inlineListView']['keystrokes']['set']('Enter',(_0x3e63c9,_0x14fbcd)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x14fbcd());}),_0x2b830f['render'](),_0x4f9f27['render'](),_0x2b830f['listenTo'](_0x2b830f['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x1f0553=(_0x3bce19,_0x28e087)=>{this['_hideDropdownUnlessPointerInside'](_0x28e087);};return _0x2b830f['listenTo'](_0x2b830f['inlineListView']['element'],'mouseleave',_0x1f0553),_0x2b830f['listenTo'](_0x4f9f27['element'],'mouseleave',_0x1f0553),_0x23b991({'emitter':_0x2b830f,'activator':()=>_0x4f9f27['isVisible'],'contextElements':[_0x4f9f27['element'],_0x2b830f['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x53902a['config']['get']('presenceList.container')['appendChild'](_0x2b830f['element']),this['_overlayHost']=new _0x5947b1(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x2b830f;}_resolveOverlayTarget(){const _0x580528=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x580528)return _0x580528;const _0x58d560=this['context']['config']['get']('presenceList.container');return _0x58d560?_0x279c1c(_0x58d560):null;}['_handleUserAdd'](_0x3523e3){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3523e3['isMe'])return;const _0x4c94bd=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4c94bd-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x110f45=_0x3523e3['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3523e3,_0x110f45);}['_handleUserRemove'](_0x5ec7eb){this['usersCount']--;const {collapseAt:_0x109533}=this['context']['config']['get']('presenceList'),_0x2378df=this['usersCount']>=_0x109533;if(this['currentDisplayedUsers']['get'](_0x5ec7eb['id']))this['currentDisplayedUsers']['remove'](_0x5ec7eb['id']);else{if(_0x2378df&&this['currentDisplayedUsers']['length']+0x1===_0x109533-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x2378df?0x1:0x0)<this['usersCount']){for(const _0x3c182f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3c182f['id'])&&(this['currentDisplayedUsers']['add'](_0x3c182f,Math['min'](this['currentDisplayedUsers']['length']-(_0x2378df?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x2378df?0x1:0x0)===_0x109533-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x49cf3d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new Ct(this['context']['locale'],!!_0x49cf3d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x20cc90}=this['presenceDropdownView'];_0x20cc90['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4b8532=>{if(!_0x49cf3d['displayMe']&&_0x4b8532['isMe'])return null;const _0x25b784=new At(this['context']['locale'],_0x4b8532,!!_0x49cf3d['onClick']);return _0x49cf3d['onClick']&&this['listenTo'](_0x25b784,'execute',()=>{_0x49cf3d['onClick'](_0x4b8532,_0x25b784['element']);}),_0x25b784;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']);const _0x1e5632=_0x2a8ccc['generatePositions']({'heightOffset':0x3,'config':{'withArrow':!0x1}});this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element'],'positions':[_0x1e5632['southArrowNorth'],_0x1e5632['southArrowNorthMiddleWest'],_0x1e5632['southArrowNorthMiddleEast'],_0x1e5632['southArrowNorthWest'],_0x1e5632['southArrowNorthEast'],_0x1e5632['northArrowSouth'],_0x1e5632['northArrowSouthMiddleWest'],_0x1e5632['northArrowSouthMiddleEast'],_0x1e5632['northArrowSouthWest'],_0x1e5632['northArrowSouthEast'],_0x1e5632['viewportStickyNorth']]}),_0x20cc90['focus'](),_0x20cc90['checkIfScrollable']();const _0x591b7a=(_0x18131e,_0x223113)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x223113();};_0x20cc90['keystrokes']['set']('Esc',_0x591b7a),_0x20cc90['keystrokes']['set']('Shift+Tab',_0x591b7a),_0x20cc90['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x20cc90['focusTracker']['add'](this['view']['element']),_0x20cc90['focusTracker']['on']('change:isFocused',(_0x1ef4d1,_0x506fe7,_0x32ed03)=>{_0x32ed03||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(_0xf1edf5){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x2de6bf=>_0x331861(_0x2de6bf,_0xf1edf5))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},Nt=class extends _0x2a424a{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};
|