@ckeditor/ckeditor5-real-time-collaboration 49.0.0-alpha.1 → 49.0.0-alpha.3
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
|
-
((()=>_0x469fcf)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x190a06,_0x32fb04];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x45295a){super(_0x45295a),this['set']('state',_0x2244a6['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x27e801())();}init(){const _0x28a669=this['context'],_0xa8b186=_0x28a669['plugins']['get'](_0x190a06),_0x1e9f75=_0x28a669['plugins']['get'](_0x32fb04);if(!_0xa8b186['token'])throw new _0x38db3a('websocketgateway-missing-token',this);if(!_0xa8b186['webSocketUrl'])throw new _0x38db3a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0xa8b186['token'],_0xa8b186['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3b277b=>{if(this['connection']=_0x3b277b,this['bind']('state')['to'](_0x3b277b,'state',this,'_isBrowserOffline',(_0x4517e5,_0x190262)=>('connected'!==_0x4517e5&&(this['_shouldPluginsReconnect']=!0x0),_0x190262||_0x4517e5!==_0x2244a6['CONNECTED']?_0x2244a6['DISCONNECTED']:this['state']==_0x2244a6['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2244a6['CONNECTING']):_0x2244a6['CONNECTED'])),this['connection']['on']('error',(_0x27c62a,_0x1328e8)=>{if('limitExceeded'!==_0x1328e8['code'])throw console['error'](_0x1328e8),new _0x38db3a('cloudservices-init',null,{'originalError':_0x1328e8});_0x1e9f75['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x3b277b['me'])return new Promise(_0x33aa5a=>_0x3b277b['on']('change:me',_0x33aa5a));})['catch'](_0xe0d60e=>{throw console['error'](_0xe0d60e),new _0x38db3a('cloudservices-init',null,{'originalError':_0xe0d60e});});}addToReconnectionStack(_0xd1f23c){if('function'!=typeof _0xd1f23c['reconnect'])throw new _0x38db3a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xd1f23c))throw new _0x38db3a('websocketgateway-plugin-already-registered',this,{'name':_0xd1f23c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xd1f23c);}removeFromReconnectionStack(_0x35f371){this['_reconnectionStack']['delete'](_0x35f371);}isInReconnectionStack(_0x507c86){return this['_reconnectionStack']['has'](_0x507c86);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xf460b9=>_0xf460b9['reconnect']())))['then'](()=>this['state']=_0x2244a6['CONNECTED'])['catch'](_0x48b456=>{throw console['error'](_0x48b456),new _0x38db3a('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2244a6['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Q=class extends _0x2ea2c1{['channelSessions'];channelConnectedUsers;allConnectedUsers;_registeredSessions;_uniqueUsersCount;['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[J,_0x52f463];}constructor(_0x192045){super(_0x192045),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5a6c78(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x52f463);}init(){const _0x1cb1db=this['context']['plugins']['get'](J);this['listenTo'](_0x1cb1db,'change:state',(_0x5554ed,_0x5f0b86,_0x360bcc)=>{if('connected'!==_0x360bcc)this['channelSessions']['forEach'](_0x267443=>_0x267443['clear']()),this['channelConnectedUsers']['forEach'](_0x471e65=>_0x471e65['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x171276,_0x506f57]of this['_registeredSessions'])for(const _0x2f4527 of _0x506f57)this['_handleSessionAdd'](_0x171276,_0x2f4527);}}),this['_createUser'](_0x1cb1db['connection']['me'],!0x0);}register(_0x1c3260,_0x57a99f){if(this['_registeredSessions']['has'](_0x1c3260))throw new _0x38db3a('sessions-register-already-registered',null,{'channelId':_0x1c3260});this['_registeredSessions']['set'](_0x1c3260,_0x57a99f),this['channelSessions']['set'](_0x1c3260,new _0x5a6c78()),this['channelConnectedUsers']['set'](_0x1c3260,new _0x5a6c78()),this['listenTo'](_0x57a99f,'add',(_0x25dbf7,_0x594347)=>this['_handleSessionAdd'](_0x1c3260,_0x594347)),this['listenTo'](_0x57a99f,'remove',(_0x3a52c4,_0x4c83ae)=>this['_handleSessionRemove'](_0x1c3260,_0x4c83ae));for(const _0x4e64da of _0x57a99f)this['_handleSessionAdd'](_0x1c3260,_0x4e64da);}unregister(_0x41aaea){if(!this['_registeredSessions']['has'](_0x41aaea))throw new _0x38db3a('sessions-unregister-not-exist',null,{'channelId':_0x41aaea});const _0x21ed14=this['_registeredSessions']['get'](_0x41aaea);this['stopListening'](_0x21ed14);for(const _0x486173 of _0x21ed14)'connected'===this['context']['plugins']['get'](J)['state']&&this['_handleSessionRemove'](_0x41aaea,_0x486173);this['_registeredSessions']['delete'](_0x41aaea),this['channelSessions']['delete'](_0x41aaea),this['channelConnectedUsers']['delete'](_0x41aaea);}get['mySessionId'](){return this['context']['plugins']['get'](J)['connection']['sessionId'];}getUserBySessionId(_0x1ed18a){for(const _0x318950 of this['channelSessions']['values']())for(const _0x15b91f of _0x318950)if(_0x15b91f['id']===_0x1ed18a)return _0x15b91f['user'];}getUserSessions(_0x49a5df,_0xfeb6b0){const _0x583b3a=_0xfeb6b0?[this['channelSessions']['get'](_0xfeb6b0)]:this['channelSessions']['values'](),_0x4113fc=new Set();for(const _0x204b86 of _0x583b3a)for(const _0x16008b of _0x204b86)_0x16008b['user']['id']===_0x49a5df['id']&&_0x4113fc['add'](_0x16008b['id']);return _0x4113fc;}getUserRole(_0x62019d){for(const _0x5ecf9f of this['channelSessions']['values']())for(const _0x228a69 of _0x5ecf9f)if(_0x228a69['user']===_0x62019d)return _0x228a69['role'];}['_handleSessionAdd'](_0x5d920c,_0x4ea17a){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x8f7e7d=_0x4ea17a['user'],_0x5c5dbb=this['_users']['getUser'](_0x8f7e7d['id'])||this['_createUser'](_0x8f7e7d),_0x51818f=Object['assign']({},_0x4ea17a,{'user':_0x5c5dbb});if(this['channelSessions']['get'](_0x5d920c)['add'](_0x51818f),!_0x8f7e7d['hiddenInPresenceList']){const _0x459cb0=this['channelConnectedUsers']['get'](_0x5d920c);_0x459cb0['has'](_0x5c5dbb['id'])||_0x459cb0['add'](_0x5c5dbb),this['allConnectedUsers']['has'](_0x5c5dbb['id'])||_0x8f7e7d['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5c5dbb,_0x5c5dbb['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x5d920c,{'channelId':_0x5d920c,'session':_0x51818f});}['_handleSessionRemove'](_0x10a1a6,_0x4cddd2){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x7c2969=this['channelConnectedUsers']['get'](_0x10a1a6),_0x38126a=_0x4cddd2['user'];_0x38126a['id']&&(this['channelSessions']['get'](_0x10a1a6)['remove'](_0x4cddd2['id']),_0x7c2969['has'](_0x38126a['id'])&&!this['getUserSessions'](_0x38126a,_0x10a1a6)['size']&&_0x7c2969['remove'](_0x38126a['id']),this['allConnectedUsers']['get'](_0x38126a['id'])&&!this['getUserSessions'](_0x38126a)['size']&&this['allConnectedUsers']['remove'](_0x38126a['id']));}_createUser(_0x3efd3c,_0x1a246e){const _0x5b3c5f=this['_users']['addUser'](_0x3efd3c);return _0x1a246e&&this['_users']['defineMe'](_0x3efd3c['id']),_0x5b3c5f['orderNumber']=this['_uniqueUsersCount']++,_0x5b3c5f;}},X=class extends _0x656eb{_domEmitter=new(_0x27e801())();static get requires(){return[Q];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x3569c7=this['editor'],_0x5c8e60=_0x3569c7['plugins']['get'](Q);_0x3569c7['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x48eebb,{writer:_0x27dd3b})=>function(_0x2d05c7,_0x520dd3,_0x559412,_0x481a48){const _0xb95bbf=_0x2d05c7['markerName']['split'](':')[0x2],_0x4b77b2=_0x559412['getUserBySessionId'](_0xb95bbf);if(!_0x4b77b2||_0xb95bbf===_0x559412['mySessionId'])return;if(!_0x481a48['model']['schema']['checkChild'](_0x2d05c7['markerRange']['start'],'$text'))return;const _0x924a13={'class':'ck-user__marker\x20'+_0x4b77b2['color']['getMarkerClass'](),'style':tt(_0x4b77b2),'data-name':_0x4b77b2['name'],'data-session-id':_0xb95bbf},_0x1747e5=_0x481a48['model']['markers']['get'](_0x2d05c7['markerName'])['getStart'](),_0x16ea43=_0x1747e5['nodeAfter'],_0x2ccbb4=_0x481a48['model']['schema'];if(_0x16ea43&&_0x2ccbb4['isObject'](_0x16ea43)&&_0x2ccbb4['isInline'](_0x16ea43)&&!_0x481a48['model']['markers']['get']('user:range:'+_0xb95bbf)['getRange']()['isCollapsed'])return;const _0x1868d0=_0x1747e5['parent'];return _0x481a48['model']['schema']['isLimit'](_0x1868d0)&&!_0x481a48['model']['hasContent'](_0x1868d0)&&(_0x924a13['contenteditable']=!0x1),function(_0x2d3cec,_0x5887d1,_0x58a9eb){const _0x3c2ed3=_0x2d3cec['createUIElement']('span',_0x5887d1);return _0x2d3cec['setCustomProperty']('userPositionMarker',!0x0,_0x3c2ed3),_0x3c2ed3['render']=function(_0x517fa7){const _0x1fa656=this['toDomElement'](_0x517fa7),_0x4efbb1=document['createElement']('span');return _0x4efbb1['classList']['add']('ck-user__marker-tooltip'),_0x4efbb1['setAttribute']('contenteditable','false'),_0x4efbb1['setAttribute']('spellcheck','false'),_0x4efbb1['textContent']=_0x58a9eb['name'],_0x1fa656['innerHTML']=_0x6e09db('<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x4efbb1['outerHTML']+''),_0x1fa656['addEventListener']('mouseenter',()=>{_0x1fa656['classList']['add']('ck-user__marker_hovered');}),_0x1fa656['addEventListener']('mouseleave',()=>{_0x1fa656['classList']['remove']('ck-user__marker_hovered');}),_0x1fa656;},_0x3c2ed3['isSimilar']=function(_0x469c5a){return!(!this['getCustomProperty']('userPositionMarker')||!_0x469c5a['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x469c5a['getAttribute']('data-session-id'));},_0x3c2ed3;}(_0x520dd3,_0x924a13,_0x4b77b2);}(_0x48eebb,_0x27dd3b,_0x5c8e60,_0x3569c7)}),_0x3569c7['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4f0f86=>function(_0x4b3e8e,_0x2a8100){const _0x43c7c3=_0x4b3e8e['markerName']['split'](':')[0x2];if(_0x43c7c3===_0x2a8100['mySessionId'])return null;const _0x157894=_0x2a8100['getUserBySessionId'](_0x43c7c3);return _0x157894?{'id':_0x43c7c3,'classes':['ck-user__selection',_0x157894['color']['getSelectionClass']()],'attributes':{'style':tt(_0x157894),'data-session-id':_0x43c7c3},'priority':0x7d0+_0x157894['orderNumber']}:{'id':_0x43c7c3,'classes':[]};}(_0x4f0f86,_0x5c8e60)}),function(_0x7254f7){const _0x16484b=_0x7254f7['model'],_0x20b81e=new Map(),_0x401b03=_0x7254f7['plugins']['get'](Q);_0x16484b['markers']['on']('update:user:range',(_0xe6db49,_0x424325,_0x43172d,_0x83e50c)=>{if(!_0x83e50c&&_0x20b81e['get'](_0x424325['name']))return _0x20b81e['get'](_0x424325['name'])['detach'](),void _0x20b81e['delete'](_0x424325['name']);const _0x37741f=_0x424325['name']['split'](':')[0x2];if(_0x37741f===_0x401b03['mySessionId'])return;const _0x3629c4='user:position:'+_0x37741f;_0x16484b['markers']['has'](_0x3629c4)&&_0x7254f7['editing']['reconvertMarker'](_0x3629c4),_0x424325['on']('change:range',(_0x4e8221,_0x657fcb,_0x41b84e)=>{if('$graveyard'!=_0x657fcb['root']['rootName']&&'$graveyard'==_0x424325['getRange']()['root']['rootName']&&!_0x20b81e['has'](_0x424325['name'])){const _0x4b98d5=_0x16484b['schema']['getNearestSelectionRange'](_0x41b84e['deletionPosition']);if(_0x4b98d5){const _0x2431a7=_0x19479d['fromRange'](_0x4b98d5);_0x20b81e['set'](_0x424325['name'],_0x2431a7),_0x2431a7['on']('change:range',(_0x3dd03d,_0x3e5fd6,_0x3141c2)=>{if('$graveyard'==_0x2431a7['root']['rootName']){const _0x531949=_0x16484b['schema']['getNearestSelectionRange'](_0x3141c2['deletionPosition']);_0x531949?(_0x2431a7['start']=_0x531949['start'],_0x2431a7['end']=_0x531949['end']):(_0x20b81e['delete'](_0x424325['name']),_0x2431a7['detach']());}});}}});}),_0x16484b['document']['on']('change',()=>{_0x20b81e['size']>0x0&&_0x16484b['enqueueChange']({'isUndoable':!0x1},_0x5be7bb=>{for(const [_0x6d148d,_0x5b9732]of _0x20b81e)'$graveyard'==_0x16484b['markers']['get'](_0x6d148d)['getRange']()['root']['rootName']&&(Z(_0x6d148d['split'](':')[0x2],_0x5b9732['toRange'](),_0x16484b,_0x5be7bb),_0x5b9732['detach']());_0x20b81e['clear']();});});}(_0x3569c7),this['_domEmitter']['listenTo'](_0x45a7d1['document'],'keydown',(_0x331c7b,{key:_0x6bc4ed})=>{'Escape'===_0x6bc4ed&&function(_0x37bbc5){_0x37bbc5['editing']['view']['change'](_0xbf8aa6=>{for(const _0x3fcdcd of _0x37bbc5['model']['markers']){if(!_0x3fcdcd['name']['startsWith']('user:position'))continue;const _0x1abb1d=_0x37bbc5['editing']['mapper']['markerNameToElements'](_0x3fcdcd['name']);if(_0x1abb1d){for(const _0x180749 of _0x1abb1d)_0xbf8aa6['removeClass']('ck-user__marker_hovered',_0x180749);}}});}(_0x3569c7);},{'useCapture':!0x0});}afterInit(){const _0x553262=this['editor'],_0x2a6c53=_0x553262['commands']['get']('undo');_0x2a6c53&&_0x553262['model']['on']('applyOperation',(_0x4798a1,_0x16a28a)=>{const _0x37edb6=_0x16a28a[0x0];if(!_0x37edb6['isDocumentOperation'])return;if('marker'!=_0x37edb6['type']||!_0x37edb6['name']['startsWith']('user:'))return;const _0x249515=_0x37edb6['batch'];_0x2a6c53['_createdBatches']['has'](_0x249515)&&(_0x37edb6['newRange']=_0x37edb6['oldRange']?_0x553262['model']['createRange'](_0x37edb6['oldRange']['start'],_0x37edb6['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x3dd466=this['editor'],_0x89a1aa=_0x3dd466['model']['document'],_0x4ada29=_0x3dd466['plugins']['get'](Q);_0x3dd466['model']['enqueueChange']({'isUndoable':!0x1},_0x1af9b0=>{const _0x2a4b4b='user:range:'+_0x4ada29['mySessionId'],_0x4da227='user:position:'+_0x4ada29['mySessionId'],_0x15c586=_0x3dd466['model']['markers']['has'](_0x2a4b4b);_0x3dd466['editing']['view']['hasDomSelection']?Z(_0x4ada29['mySessionId'],_0x89a1aa['selection']['getFirstRange'](),_0x3dd466['model'],_0x1af9b0):_0x15c586&&(_0x1af9b0['removeMarker'](_0x2a4b4b),_0x1af9b0['removeMarker'](_0x4da227));});}};function Z(_0x4e480d,_0x1aa86a,_0x5734c7,_0x347d41){const _0x36b516='user:range:'+_0x4e480d,_0x1adc70='user:position:'+_0x4e480d,_0x4b565a=_0x1aa86a['getContainedElement']();let _0x5ee38b=_0x1aa86a['start'];if(_0x4b565a&&_0x4b565a['is']('element','tableCell')){const _0x3011db=function(_0x4d0d1a,_0x345961){for(const _0x431a2b of _0x4d0d1a['getPositions']())if(_0x345961['schema']['checkChild'](_0x431a2b,'$text'))return _0x431a2b;}(_0x1aa86a,_0x5734c7);_0x3011db&&(_0x5ee38b=_0x3011db,_0x1aa86a=_0x347d41['createRange'](_0x5ee38b));}const _0x52470a=_0x347d41['createRange'](_0x5ee38b);_0x5734c7['markers']['has'](_0x36b516)?(_0x347d41['updateMarker'](_0x36b516,{'range':_0x1aa86a}),_0x347d41['updateMarker'](_0x1adc70,{'range':_0x52470a})):(_0x347d41['addMarker'](_0x36b516,{'range':_0x1aa86a,'usingOperation':!0x0}),_0x347d41['addMarker'](_0x1adc70,{'range':_0x52470a,'usingOperation':!0x0}));}function tt(_0x1fbec5){return'--ck-user-color:'+_0x1fbec5['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x1fbec5['color']['getColorAlphaVariable']()+';';}function et(_0x2406db,_0x29ee03,_0x17be16){const _0x509ab4=_0x2406db['t'],t=_0x2406db['t'];switch(_0x29ee03){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x509ab4({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x17be16);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x656eb{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0xa3a082)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[J,Q,X,_0x41c0d3,_0x52f463,_0x32fb04];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get cloudDocumentVersion(){return this['_lastServerVersion']+this['_offset'];}get _lastServerVersion(){return this['serverHistory']['version']-this['_offset'];}get lastSyncVersion(){const _0xb17a80=this['serverHistory']['getOperations']();for(let _0x323b83=_0xb17a80['length']-0x1;_0x323b83>=0x0;_0x323b83--){const _0x198eee=_0xb17a80[_0x323b83];if(!this['_disconnectionOperations']['has'](_0x198eee))return _0x198eee['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4f6e94){if(super(_0x4f6e94),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x13a7ed(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x38db3a('collaboration-missing-channelid',this);const _0x2df346=_0x4f6e94['config']['get']('cloudServices.bundleVersion')||_0x1ccdda;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x2df346,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1a3620(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new rt(this['_disconnectionOperations']);}init(){const _0x37909b=this['editor'],_0x30ba12=_0x37909b['plugins']['get'](_0x52f463),_0x2aae85=_0x37909b['plugins']['get'](J);this['listenTo'](_0x30ba12,'getOperationAuthor',(_0x7e17ec,_0x6b89cb)=>{const _0x275b50=_0x6b89cb[0x0];_0x275b50['_authorId']&&(_0x7e17ec['return']=_0x30ba12['getUser'](_0x275b50['_authorId']),_0x7e17ec['stop']()),null===_0x275b50['_authorId']&&(_0x7e17ec['return']=null,_0x7e17ec['stop']());},{'priority':'high'}),this['listenTo'](_0x37909b['model']['document']['selection'],'change:range',(_0x357914,_0x1dbeb8)=>{_0x1dbeb8['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x37909b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x37909b['model']['on']('applyOperation',(_0x5c6157,_0x4ff9fe)=>{const _0x5189e4=_0x4ff9fe[0x0];_0x5189e4['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5189e4),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2aae85,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x664315,_0x4ba3ea,_0x23b977)=>'connected'===_0x664315&&!_0x4ba3ea&&!_0x23b977),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x37909b['disableReadOnlyMode']('rtc-offline'):_0x37909b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x37909b['disableReadOnlyMode']('rtc-offline'):_0x37909b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x3c8731=this['editor']['plugins']['get'](Q),_0x26f289=this['editor']['plugins']['get'](J);try{this['_isPendingUpdate']=!0x0,_0x3c8731['unregister'](this['_channelId']);const _0x15691c=await this['_service']['reconnect'](_0x26f289['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x15691c)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0xc890ec=await this['_service']['getConnectedSessions']();_0x3c8731['register'](this['_channelId'],_0xc890ec),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3fdd8b){if(function(_0x547f94){return'404'===_0x547f94['code'];}(_0x3fdd8b)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x285a4d){return'409'===_0x285a4d['code'];}(_0x3fdd8b)){const _0x3201c4=et(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x3201c4);}else{if(!(_0x3fdd8b instanceof nt))throw _0x3fdd8b;this['_handleReconnectionError']();}}}}destroy(){const _0xd7b3f7=this['editor']['plugins']['get'](J),_0x3bf26b=this['editor']['plugins']['get'](Q);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3bf26b['channelSessions']['has'](this['_channelId'])&&_0x3bf26b['unregister'](this['_channelId']),_0xd7b3f7['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x5469ac){if(this['sessionId']!==_0x5469ac['sessionId']&&this['_lastSyncedOperationId']!==_0x5469ac['lastOperationId'])throw new nt();return this['sessionId']=_0x5469ac['sessionId'],this['_handleServerResponse']([],{..._0x5469ac,'wereChangesApplied':!0x1,'data':_0x5469ac['data']},'reconnect');}async _connectService(_0x203ca6,_0x6d92e9=!0x1){const {connection:_0x3d80e1}=this['editor']['plugins']['get'](J);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x3d80e1,this['_channelId'])['then'](_0xea716f=>this['_initSessionsHandling'](_0xea716f))['catch'](_0x57a34f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x57a34f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x14fd48,_0x229a2e)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x229a2e);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x341e11=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x203ca6);this['_isPendingUpdate']=!0x0;const _0x11b6bf=await this['_service']['connect'](_0x3d80e1,this['_compressOperations'](_0x203ca6),_0x341e11);if(this['sessionId']=_0x11b6bf['sessionId'],_0x6d92e9){if(!_0x11b6bf['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x11b6bf['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x203ca6,_0x11b6bf,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x11b6bf,_0x203ca6);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x1441da=this['editor']['plugins']['get'](Q),_0x3e46a0=this['editor']['plugins']['get'](X),_0x29f32c=_0x1441da['channelSessions']['get'](this['_channelId']);_0x29f32c&&_0x29f32c['length']>0x1?_0x3e46a0['createUserMarkerOperations']():this['listenTo'](_0x1441da,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1441da['channelSessions']['get'](this['_channelId'])['length']&&_0x3e46a0['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x315f34,_0x137c5e,_0x3f8bde,_0x483fc7){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x137c5e){const _0x320e58=this['_decompressOperations'](_0x3f8bde,_0x483fc7);await this['_fetchMissingUsers'](_0x320e58),this['_handleExternalOperations'](_0x320e58,_0x137c5e,_0x3f8bde['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x468b64}=this['editor'];let _0x59c4f1;try{_0x59c4f1=await this['_service']['getDocumentDetails']();}catch{const _0x4edaa2=et(_0x468b64,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x4edaa2);}const _0x426bf2=_0x59c4f1['currentDocumentSession']||_0x59c4f1['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x426bf2['lastOperationId']){const _0x1d47f8=et(_0x468b64,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x1d47f8);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x1f04e0=this['editor']['plugins']['get'](J);if(this['_isConnected']=!0x1,!_0x1f04e0['connection']||'connected'!==_0x1f04e0['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x370cc5=this['editor']['plugins']['get'](Q);_0x370cc5['channelSessions']['has'](this['_channelId'])&&_0x370cc5['unregister'](this['_channelId']),_0x1f04e0['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x3d2542){const _0x3dcfd0=this['editor']['plugins']['get'](Q);this['listenTo'](_0x3dcfd0,'sessionAdd:'+this['_channelId'],(_0xd550cf,{session:_0x3e01e7})=>{if(_0x3e01e7['id']===_0x3dcfd0['mySessionId']){_0xd550cf['off']();const _0x5b5df4=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x417e19=_0x3e01e7['permissions'];_0x5b5df4&&_0x5b5df4['isEnabled']&&(_0x417e19=_0x417e19['filter'](_0x4e1aed=>'document:write'!==_0x4e1aed)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x417e19,this['_channelId']);}}),_0x3dcfd0['register'](this['_channelId'],_0x3d2542);}_initThrowingOnDataSet(){const _0x21959b=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x30f70d)=>{if(!_0x30f70d[_0x30f70d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x38db3a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x21959b['apply'](this['editor']['data'],_0x30f70d);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x204968,[_0x56cdbb])=>{if(this['_document']['version'])throw new _0x38db3a('realtimecollaborationclient-init-document-already-initialized',this);_0x204968['stop'](),this['_setPendingAction']();const _0x31859b=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x30cbed])=>!_0x30cbed['lazyLoad'])['map'](([_0x356774,_0x6465ce])=>[_0x356774,_0x6465ce['modelAttributes']||{}])),_0x1b83e0=this['_getOperationsFromInitData'](_0x56cdbb,_0x31859b);0x0==_0x1b83e0['length']&&_0x1b83e0['push'](new _0x1daaae(0x0)),_0x204968['return']=this['_connectService'](_0x1b83e0)['then'](()=>{this['editor']['plugins']['get'](J)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5749b2=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5749b2))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4ca307,[_0x4b08cc,_0x831adb])=>{_0x4ca307['stop']();const _0x556cc9=this['editor']['model']['document']['getRoot'](_0x4b08cc);if(!this['_knownRootNames']['has'](_0x4b08cc)){const _0x43d76f=_0x831adb&&_0x831adb['data']?_0x831adb['data']:'',_0x188f31=_0x831adb&&_0x831adb['attributes']?_0x831adb['attributes']:{};await this['_loadRoot'](_0x4b08cc,_0x43d76f,_0x188f31);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x556cc9['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x556cc9);});},{'priority':'high'});}async _fetchMissingUsers(_0x13d523){const _0x3c4317=this['editor']['plugins']['get'](_0x52f463),{connection:_0xcbf421}=this['editor']['plugins']['get'](J),_0x5e24f1=new Set();for(const _0x102ff4 of _0x13d523){const _0x1f5a74=_0x102ff4['_authorId'];_0x1f5a74&&!_0x3c4317['getUser'](_0x1f5a74)&&_0x5e24f1['add'](_0x1f5a74);}if(0x0===_0x5e24f1['size'])return;const _0x4da6e3=await _0x4be4c6['getMany'](_0xcbf421,Array['from'](_0x5e24f1));for(const _0x1b5ed8 of _0x4da6e3)_0x3c4317['getUser'](_0x1b5ed8['id'])||_0x3c4317['addUser'](_0x1b5ed8);}_getOperationsFromInitData(_0x1981a9,_0x187579={}){const _0xa713c2=this['editor']['model'],_0x262f2e=[];let _0x41c43c=0x0;const _0x1d5f2b='string'==typeof _0x1981a9?{'main':_0x1981a9}:_0x1981a9;for(const _0x253769 of Object['keys'](_0x1d5f2b)){if(!this['_document']['roots']['has'](_0x253769))throw new _0x38db3a('realtimecollaborationclient-init-non-existent-root',this);const _0x490ad0=this['_document']['getRoot'](_0x253769),_0x3d19c9=this['editor']['data']['parse'](_0x1d5f2b[_0x253769],_0x490ad0),_0x23bdc4=new _0x3fa927(_0xa713c2['createPositionAt'](_0x490ad0,0x0),_0x3d19c9,_0x41c43c++);_0x262f2e['push'](_0x23bdc4);for(const [_0x4dd7db,_0x4efb64]of _0x3d19c9['markers']){const _0x2cc4aa=_0xa713c2['createRange'](_0xa713c2['createPositionFromPath'](_0x490ad0,_0x4efb64['start']['path']['slice']()),_0xa713c2['createPositionFromPath'](_0x490ad0,_0x4efb64['end']['path']['slice']())),_0x1055f0=new _0x4523b0(_0x4dd7db,null,_0x2cc4aa,_0xa713c2['markers'],!0x0,_0x41c43c++);_0x262f2e['push'](_0x1055f0);}}if(_0x187579)for(const [_0x449f9a,_0x2b3395]of Object['entries'](_0x187579)){const _0x1a3ae9=_0xa713c2['document']['getRoot'](_0x449f9a);if(!_0x1a3ae9)throw new _0x38db3a('multi-root-editor-root-attributes-no-root',null);for(const [_0x46ad09,_0x108d55]of Object['entries'](_0x2b3395))if(null!==_0x108d55){const _0x1f4ee7=new _0x56775c(_0x1a3ae9,_0x46ad09,null,_0x108d55,_0x41c43c++);_0x262f2e['push'](_0x1f4ee7);}}return _0x262f2e;}async _loadRoot(_0x3340fe,_0x4d7fda,_0x2c2ad7){this['_getOperationsFromInitData']({[_0x3340fe]:_0x4d7fda},{[_0x3340fe]:_0x2c2ad7})['forEach']((_0x40b537,_0x2285f3)=>{_0x40b537['baseVersion']=this['_document']['version']+_0x2285f3,_0x40b537['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x40b537);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x33a015,_0xb7b2c9){let _0x20527b;this['_offset']=_0x33a015['offset'];const _0x3296b0=_0x33a015['wereChangesApplied']&&!_0x33a015['initData'],_0x48aa51=_0x3296b0?0x0:_0x33a015['data']['baseVersion'];if(_0xb7b2c9['forEach'](_0x1e13fd=>{_0x1e13fd['_isInit']=!0x0,_0x1e13fd['createdAt']=_0x33a015['sessionCreatedAt'],_0x1e13fd['_authorId']=null;}),_0x3296b0)_0x20527b=_0xb7b2c9,this['_applyOperationsSet'](_0x20527b,_0x3296b0);else{if(_0x33a015['initData']){const _0x267f49=this['_getOperationsFromInitData'](_0x33a015['initData']);this['_document']['history']['version']=-_0x267f49['length'],_0x267f49['forEach'](_0x112c07=>{_0x112c07['baseVersion']-=_0x267f49['length'],_0x112c07['createdAt']=_0x33a015['sessionCreatedAt'],_0x112c07['_isInit']=!0x0,_0x112c07['_authorId']=null;}),this['_applyOperationsSet'](_0x267f49,!0x0),this['serverHistory']['version']=-_0x267f49['length']+this['_offset'],this['_updateServerHistory'](_0x267f49);}this['_document']['history']['version']=_0x48aa51,_0x20527b=this['_decompressOperations'](_0x33a015['data'],_0x33a015['metadata']),await this['_fetchMissingUsers'](_0x20527b),this['_applyOperationsSet'](_0x20527b,_0x3296b0);}_0x33a015['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x20527b,_0x33a015['lastOperationId']),this['_lastSyncedOperationId']=_0x33a015['lastOperationId']),this['serverHistory']['version']=_0x48aa51+this['_offset'],this['_updateServerHistory'](_0x20527b),_0xb7b2c9['filter'](_0x383975=>{const _0x118754=this['_getAffectedRoot'](_0x383975);return _0x118754&&!this['_knownRootNames']['has'](_0x118754);})['forEach']((_0x1d70be,_0x2e2150)=>{_0x1d70be['baseVersion']=this['_document']['version']+_0x2e2150,this['_saveOperationInBuffer'](_0x1d70be);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x346ce2,_0x294f68){const _0x503179=_0x294f68&&_0x294f68['message'];if(_0x503179&&_0x503179['startsWith']('realtimecollaborationclient'))throw _0x294f68;const _0x57552f=this['editor']['plugins']['get'](J);throw this['_isPendingUpdate']=!0x0,_0x57552f['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x38db3a(_0x346ce2,this['editor'],_0x503179?{'originalError':_0x503179}:void 0x0);}_saveOperationInBuffer(_0x538efc){this['_knownOperations']['has'](_0x538efc)||(this['_knownOperations']['add'](_0x538efc),this['_bufferedOperations']['push'](_0x538efc),this['_pendingAction']||'marker'==_0x538efc['type']&&!_0x538efc['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x25ba0e=!0x1){!_0x25ba0e&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x332bef=>{_0x332bef&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x10f0ad=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3b3ac7){return _0x3b3ac7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3b3ac7['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3b3ac7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x10f0ad)||this['_crash'](_0x10f0ad['message'],_0x10f0ad);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x2a22b7=>{this['on']('change:_isPendingUpdate',()=>{_0x2a22b7();});});}async _sendBufferedOperations(){const _0x4a4b75=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x4a4b75['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2544c6=[...this['_bufferedOperations']];for(const _0x3ca40b of _0x2544c6)_0x3ca40b['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3ca40b);const _0x170dd4=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2544c6),_0x5df008=st++,_0xfe878d=this['_compressOperations'](_0x2544c6),_0x1c4142=await this['_service']['sendOperations'](_0xfe878d,_0xfe878d['baseVersion'],_0x170dd4);try{return await this['_handleServerResponse'](_0x2544c6,_0x1c4142,_0x5df008);}catch(_0x2a1785){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2a1785);}}async['_handleServerResponse'](_0x227fcd,_0x5f79f4,_0x2d2b99){if('error'in _0x5f79f4)throw _0x5f79f4['error'];let _0x275a50;if(_0x5f79f4['wereChangesApplied']){_0x5f79f4['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5f79f4['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xbd84b6=>!_0x227fcd['includes'](_0xbd84b6));for(const _0x4b8b93 of _0x227fcd)_0x4b8b93['createdAt']='lastOperationAcceptedAt'in _0x5f79f4&&_0x5f79f4['lastOperationAcceptedAt']||void 0x0;ot(_0x227fcd,_0x5f79f4['version']-_0x227fcd['length']),this['_updateServerHistory'](_0x227fcd);const _0x286f52=_0x227fcd['filter'](_0x1a1b19=>{if(!_0x1a1b19['_isInit'])return!0x1;const _0xa5721=this['_getAffectedRoot'](_0x1a1b19);return _0xa5721&&!this['_knownRootNames']['has'](_0xa5721);});ot(_0x286f52,this['_document']['version']),this['_applyOperationsSet'](_0x286f52),_0x275a50=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2d1e0a=this['_decompressOperations'](_0x5f79f4['data'],_0x5f79f4['metadata'])['filter'](_0x14d7b0=>_0x14d7b0['baseVersion']>=this['_lastServerVersion']);_0x2d1e0a['forEach'](_0x10ce11=>this['_addKnownRoot'](_0x10ce11)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2392ec=>!_0x2392ec['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2392ec))),this['_bufferedOperations']['length']&&ot(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2d1e0a),_0x275a50=this['_handleExternalOperations'](_0x2d1e0a,_0x5f79f4['version'],_0x5f79f4['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x275a50?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x1c3f91,_0x31a08a,_0x1044f6){try{const _0x598c1b={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x29a9dc,operationsB:_0x5606d8,originalOperations:_0x5f3252}=_0x9f7926(_0x1c3f91,this['_bufferedOperations'],_0x598c1b);ot(_0x29a9dc,this['_document']['version']),ot(_0x5606d8,_0x31a08a);for(const _0x1e97ac of _0x29a9dc){const _0x20d8d0=_0x5f3252['get'](_0x1e97ac);_0x20d8d0?(_0x1e97ac['_authorId']=_0x20d8d0['_authorId'],'noop'!==_0x1e97ac['type']&&(_0x1e97ac['_aiSource']=_0x20d8d0['_aiSource'])):_0x1e97ac['_authorId']=null;}for(const _0x2426d7 of _0x5606d8)'noop'!==_0x2426d7['type']&&(_0x2426d7['_aiSource']=_0x5f3252['get'](_0x2426d7)?.['_aiSource']);_0x1044f6&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1c3f91,_0x1044f6),this['_lastSyncedOperationId']=_0x1044f6),this['_bufferedOperations']=[..._0x5606d8],this['_applyOperationsSet'](_0x29a9dc),this['_updateServerHistory'](_0x1c3f91);}catch(_0x1dcfaa){return console['error'](_0x1dcfaa),!0x1;}return!0x0;}_applyOperationsSet(_0x34d447,_0x331e88=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2aee36=>{for(const _0x50d838 of _0x34d447)this['_knownOperations']['add'](_0x50d838),this['_addKnownRoot'](_0x50d838),_0x2aee36['batch']['addOperation'](_0x50d838),this['editor']['model']['applyOperation'](_0x50d838);});}_addKnownRoot(_0x2a4766){const _0x68424=this['_getAffectedRoot'](_0x2a4766);_0x68424&&this['_knownRootNames']['add'](_0x68424);}_getAffectedRoot(_0x7289ce){let _0x4f5d51,_0x4a8e01;switch(_0x7289ce['type']){case'insert':_0x4f5d51=_0x7289ce['position']['root'];break;case'marker':if(_0x4a8e01=_0x7289ce['newRange'],!_0x4a8e01)return null;_0x4f5d51=_0x4a8e01['root'];break;case'addRootAttribute':_0x4f5d51=_0x7289ce['root'];break;case'addRoot':_0x4f5d51=_0x7289ce['affectedSelectable'];break;case'move':_0x4f5d51=_0x7289ce['targetPosition']['root'];break;default:return null;}return _0x4f5d51['rootName'];}_updateServerHistory(_0x17b010){_0x17b010['forEach'](_0x5a0314=>{const _0xac95ed=_0x5a0314['clone']();_0xac95ed['_authorId']=_0x5a0314['_authorId'],_0xac95ed['_isInit']=!!_0x5a0314['_isInit'],_0xac95ed['_aiSource']=_0x5a0314['_aiSource'],_0xac95ed['createdAt']=_0x5a0314['createdAt'],_0xac95ed['baseVersion']+=this['_offset'],_0x5a0314['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xac95ed),this['serverHistory']['addOperation'](_0xac95ed);});}_handleReconnectionError(_0x277b3c){const _0x528bd4=this['editor']['plugins']['get']('Notification'),_0x4504de=this['editor']['locale'];_0x277b3c||(_0x277b3c=et(_0x4504de,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x528bd4['showWarning'](_0x277b3c,{'title':et(_0x4504de,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](J)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x41c0d3)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x41c0d3)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x3aa4e8){const _0x37e115=_0x3aa4e8['map'](_0x5a5bed=>_0x5a5bed['toJSON']());return this['_compressor']['compress'](_0x37e115);}_decompressOperations(_0x87fde2,_0xa05f6b){return this['_compressor']['decompress'](_0x87fde2)['map']((_0x5199f8,_0x4c8f94)=>{const _0x2c1a60='init'==_0xa05f6b[_0x4c8f94]['type'];if('InsertOperation'==_0x5199f8['__className']){const _0x8b44a4=_0x5199f8['position']['root'];!this['_document']['getRoot'](_0x8b44a4)&&(this['_document']['createRoot']('$unknown',_0x8b44a4)['_isAttached']=!0x1);}else{if('RootOperation'==_0x5199f8['__className']){const _0x593ac9=this['_document']['getRoot'](_0x5199f8['rootName']);_0x593ac9&&'$unknown'==_0x593ac9['name']&&_0x5199f8['elementName']!=_0x593ac9['name']&&(_0x593ac9['name']=_0x5199f8['elementName']);}}const _0x1c04ba=_0x13b377['fromJSON'](_0x5199f8,this['_document']);return _0x1c04ba['wasUndone']=_0x5199f8['wasUndone'],_0x1c04ba['_isInit']=_0x2c1a60,_0x1c04ba['_authorId']=_0x2c1a60?null:_0xa05f6b[_0x4c8f94]['userId'],_0x1c04ba['_isDisconnection']='cs:removeUser'===_0xa05f6b[_0x4c8f94]['type'],_0x1c04ba['_aiSource']=_0x5199f8['_aiSource']||void 0x0,_0x1c04ba['createdAt']=_0xa05f6b[_0x4c8f94]['createdAt'],_0x1c04ba;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x25fb8e=this['editor']['plugins']['get'](Q)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x25fb8e&&_0x25fb8e['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function ot(_0x1f33c8,_0x1386ea){for(const _0x3558d2 of _0x1f33c8)_0x3558d2['baseVersion']=_0x1386ea++;}var rt=class{_ignoredOperations;_operationToId;constructor(_0x4c06dc){this['_ignoredOperations']=_0x4c06dc,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x2163db){let _0x2a0af6=_0x2163db['length'];for(;_0x2a0af6--;){const _0x2c676a=_0x2163db[_0x2a0af6];if(!this['_ignoredOperations']['has'](_0x2c676a)){if(!this['_operationToId']['has'](_0x2c676a)){const _0x1a4277=_0x501ece()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2c676a,_0x1a4277);}return this['_operationToId']['get'](_0x2c676a);}}}setIdForTheLastOperation(_0x3c9fdf,_0xa19ccb){if(!_0xa19ccb)return;let _0x211105=_0x3c9fdf['length'];for(;_0x211105--;){const _0x3929c5=_0x3c9fdf[_0x211105];this['_ignoredOperations']['has'](_0x3929c5)||this['_operationToId']['set'](_0x3929c5,_0xa19ccb);}}},ct=class extends _0x656eb{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class CloudServicesCommentsAdapter extends _0x2ea2c1{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x2936da)());['_services'];static get requires(){return[J,_0x8fe529,Q,_0x52f463];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x852d0a){super(_0x852d0a),this['_services']=new Map();}async init(){const _0x5d3e77=this['context'],_0x54375c=_0x5d3e77['plugins']['get'](_0x8fe529);if(_0x5d3e77['plugins']['get'](J)['addToReconnectionStack'](this),_0x54375c['adapter']={'addCommentThread':async({channelId:_0x3da0d4,threadId:_0x196818,comments:_0x37daaa,resolvedAt:_0x4d99ac,resolvedBy:_0x858b43,context:_0x24cdad,attributes:_0x241a3c})=>{const _0x4bc981=await this['_getService'](_0x3da0d4)['addCommentThread']({'commentThreadId':_0x196818,'comments':_0x37daaa['map'](_0x367b0b=>function(_0x245b7e,_0xf8ea5,_0x3b1751){return{'commentThreadId':_0x3b1751,'commentId':_0x245b7e['commentId'],'userId':_0x245b7e['authorId'],'content':_0x245b7e['content'],'documentId':_0xf8ea5,'createdAt':_0x245b7e['createdAt'],'attributes':_0x245b7e['attributes']||{}};}(_0x367b0b,_0x3da0d4,_0x196818)),'resolvedAt':_0x4d99ac,'resolvedBy':_0x858b43,'context':_0x24cdad,'attributes':_0x241a3c})['catch'](lt);return{'threadId':_0x4bc981['commentThreadId'],'comments':_0x4bc981['comments']};},'getCommentThread':async({channelId:_0x436aeb,threadId:_0x11d29d})=>{const _0x27768e=await this['_getService'](_0x436aeb)['getCommentThread'](_0x11d29d)['catch'](ht)['catch'](lt);return _0x27768e?_0x27768e['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x27768e]),{'threadId':_0x27768e['commentThreadId'],'comments':_0x27768e['comments']['map'](dt),'context':_0x27768e['context'],'resolvedAt':_0x27768e['resolvedAt'],'resolvedBy':_0x27768e['resolvedBy'],'attributes':_0x27768e['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1a4f0a,threadId:_0x2f1f2e,context:_0x173805,unlinkedAt:_0x124443,attributes:_0x5acf3a})=>this['_getService'](_0x1a4f0a)['updateCommentThread']({'commentThreadId':_0x2f1f2e,'context':_0x173805,'attributes':_0x5acf3a,'unlinkedAt':_0x124443})['catch'](ht)['catch'](lt),'resolveCommentThread':async({channelId:_0x1ea8d2,threadId:_0x4d6c0c})=>{const _0xedfa4b=await this['_getService'](_0x1ea8d2)['resolveCommentThread'](_0x4d6c0c)['catch'](ht)['catch'](lt);return{'threadId':_0xedfa4b['commentThreadId'],'resolvedAt':_0xedfa4b['resolvedAt'],'resolvedBy':_0xedfa4b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x59b3db,threadId:_0x24169a})=>this['_getService'](_0x59b3db)['reopenCommentThread'](_0x24169a)['catch'](ht)['catch'](lt),'removeCommentThread':({channelId:_0x307139,threadId:_0x601e9})=>this['_getService'](_0x307139)['removeCommentThread'](_0x601e9)['catch'](ht)['catch'](lt),'addComment':({channelId:_0x43da61,threadId:_0x9a19f5,commentId:_0xadb6ea,content:_0x113fd3,attributes:_0x82bea0})=>this['_getService'](_0x43da61)['addComment'](_0x9a19f5,_0xadb6ea,_0x113fd3,_0x82bea0)['catch'](lt),'updateComment':({channelId:_0x4362fe,threadId:_0x48dbd5,commentId:_0x5504c1,content:_0x48399e,attributes:_0x8ef200})=>this['_getService'](_0x4362fe)['updateComment'](_0x48dbd5,_0x5504c1,_0x48399e,_0x8ef200)['catch'](ht)['catch'](lt),'removeComment':({channelId:_0x350a8f,threadId:_0x1d829c,commentId:_0x41c628})=>this['_getService'](_0x350a8f)['removeComment'](_0x1d829c,_0x41c628)['catch'](ht)['catch'](lt)},_0x5d3e77 instanceof _0x11e827){const _0x17699f=_0x5d3e77['config']['get']('collaboration.channelId'),_0x515b38=_0x5d3e77['plugins']['get'](Q);await this['_setUpService'](_0x17699f);const _0x2636e1=await this['_services']['get'](_0x17699f)['getConnectedSessions']();this['listenTo'](_0x515b38,'sessionAdd:'+_0x17699f,(_0x30687d,{session:_0x39c84e})=>{_0x39c84e['id']===_0x515b38['mySessionId']&&(_0x30687d['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x39c84e['permissions'],_0x17699f));}),_0x515b38['register'](_0x17699f,_0x2636e1);}}async _setUpService(_0x3e36ae){if(this['_services']['has'](_0x3e36ae))throw new _0x38db3a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3e36ae});const _0x54f0da=this['context']['plugins']['get'](_0x8fe529),_0x5e46c9=new CloudServicesCommentsAdapter['CommentsService'](_0x3e36ae);this['_services']['set'](_0x3e36ae,_0x5e46c9),this['listenTo'](_0x5e46c9,'commentThreadAdded',(_0x4806b3,_0x5aeda7)=>{const {commentThreadId:_0x4073ed,documentId:_0x9bef3f,context:_0x563e44,attributes:_0x4a87c8,resolvedAt:_0x37372e,resolvedBy:_0x502a04,comments:_0x59bb7c}=_0x5aeda7;_0x54f0da['getCommentThread'](_0x4073ed)||_0x54f0da['addCommentThread']({'threadId':_0x4073ed,'channelId':_0x9bef3f,'comments':_0x59bb7c?_0x59bb7c['map'](dt):[],'context':_0x563e44,'attributes':_0x4a87c8,'resolvedAt':_0x37372e,'resolvedBy':_0x502a04,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e46c9,'commentThreadUpdated',(_0x94d61b,{commentThreadId:_0x30355c,documentId:_0x5b400e,context:_0x581320,unlinkedAt:_0x173575,attributes:_0x2a2c71})=>{_0x54f0da['getCommentThread'](_0x30355c)&&_0x54f0da['updateCommentThread']({'threadId':_0x30355c,'channelId':_0x5b400e,'context':_0x581320,'unlinkedAt':_0x173575,'attributes':_0x2a2c71,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e46c9,'commentThreadResolved',(_0x6938bf,{commentThreadId:_0x3ef5bd,resolvedBy:_0x1e0919,resolvedAt:_0x342d51})=>{const _0x769b2c=_0x54f0da['getCommentThread'](_0x3ef5bd);_0x769b2c&&_0x769b2c['resolve']({'resolvedBy':_0x1e0919,'resolvedAt':_0x342d51,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e46c9,'commentThreadReopened',(_0x437622,{commentThreadId:_0x18a6e8})=>{const _0x392d2d=_0x54f0da['getCommentThread'](_0x18a6e8);_0x392d2d&&_0x392d2d['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5e46c9,'commentThreadRemoved',(_0x4f7de8,{commentThreadId:_0x33f143})=>{const _0x97ae34=_0x54f0da['getCommentThread'](_0x33f143);_0x97ae34&&_0x97ae34['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5e46c9,'commentAdded',(_0x7e85ad,_0x5cd6d6)=>{const _0x42c1e0=_0x5cd6d6['commentThreadId'],_0x55dd94=_0x54f0da['getCommentThread'](_0x42c1e0);_0x55dd94&&_0x55dd94['addComment']({...dt(_0x5cd6d6),'isFromAdapter':!0x0});}),this['listenTo'](_0x5e46c9,'commentUpdated',(_0x2d7797,{commentThreadId:_0x18ce12,commentId:_0x33a73f,content:_0x279496,attributes:_0x2c69e9})=>{const _0x27ce43=_0x54f0da['getCommentThread'](_0x18ce12);if(_0x27ce43){const _0x4ec0b1=_0x27ce43['getComment'](_0x33a73f);_0x4ec0b1&&_0x4ec0b1['update']({'content':_0x279496,'attributes':_0x2c69e9,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5e46c9,'commentRemoved',(_0x246652,{commentThreadId:_0x4f7f05,commentId:_0x3aed59})=>{const _0xfaa42e=_0x54f0da['getCommentThread'](_0x4f7f05);if(_0xfaa42e){const _0x2a6bbf=_0xfaa42e['getComment'](_0x3aed59);_0x2a6bbf&&_0x2a6bbf['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x5e46c9,'disconnected',()=>{'connected'===this['context']['plugins']['get'](J)['connection']?.['state']&&(this['_services']['delete'](_0x3e36ae),this['stopListening'](_0x5e46c9));}),await this['_connectService'](_0x3e36ae);}destroy(){if(this['context']instanceof _0x11e827){const _0x4fdc8b=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x4fdc8b)&&this['_terminateService'](_0x4fdc8b);}}_terminateService(_0x4afba8){if(!this['_services']['has'](_0x4afba8))throw new _0x38db3a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4afba8});this['_getService'](_0x4afba8)['disconnect'](),this['_services']['delete'](_0x4afba8);}async reconnect(){for(const _0x3207ee of this['_services']['keys']())await this['_connectService'](_0x3207ee);if(this['context']instanceof _0x11e827){const _0x59a2d4=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x59a2d4)){const _0x5e3da3=this['context']['plugins']['get'](Q);_0x5e3da3['unregister'](_0x59a2d4);const _0x5af9cb=await this['_services']['get'](_0x59a2d4)['getConnectedSessions']();_0x5e3da3['register'](_0x59a2d4,_0x5af9cb);}}}async _connectService(_0x205f9e){const {connection:_0x4b13cd}=this['context']['plugins']['get'](J),_0x21fed0=this['context']['plugins']['get'](_0x8fe529),_0xcf56e0=await this['_services']['get'](_0x205f9e)['connect'](_0x4b13cd);await this['_fetchMissingUsersForThreads'](_0xcf56e0);const _0x4ec603=new Set(Array['from'](_0x21fed0['getCommentThreads']({'channelId':_0x205f9e}),_0x5995a2=>_0x5995a2['id']));for(const _0x5e5027 of _0xcf56e0)_0x5e5027['deletedAt']||_0x4ec603['delete'](_0x5e5027['commentThreadId']);for(const _0x1b22c2 of _0x4ec603)_0x21fed0['getCommentThread'](_0x1b22c2)['remove']({'isFromAdapter':!0x0});for(const _0x22e03a of _0xcf56e0){let _0x20f653=_0x21fed0['getCommentThread'](_0x22e03a['commentThreadId']);const {commentThreadId:_0x4b570e,context:_0x938064,attributes:_0x253992,resolvedBy:_0x279f89,resolvedAt:_0x86fdec,unlinkedAt:_0x3850ec,deletedAt:_0x2d91e5}=_0x22e03a;if(_0x2d91e5)continue;_0x20f653||(_0x20f653=_0x21fed0['addCommentThread']({'channelId':_0x205f9e,'threadId':_0x4b570e,'context':_0x938064,'attributes':_0x253992||{},'resolvedBy':_0x279f89,'resolvedAt':_0x86fdec,'unlinkedAt':_0x3850ec,'isFromAdapter':!0x0}));const _0xd9ebc4=new Set(Array['from'](_0x20f653['comments'],_0x36dd7f=>_0x36dd7f['id']));for(const _0x4da3f9 of _0x22e03a['comments'])_0xd9ebc4['delete'](_0x4da3f9['commentId']);for(const _0x3b96f3 of _0xd9ebc4)_0x20f653['getComment'](_0x3b96f3)['remove']({'isFromAdapter':!0x0});for(const _0x4d44db of _0x22e03a['comments']){const _0x3debab=_0x20f653['getComment'](_0x4d44db['commentId']);_0x3debab?_0x3debab['content']!==_0x4d44db['content']&&_0x3debab['update']({'content':_0x4d44db['content'],'isFromAdapter':!0x0}):_0x20f653['addComment'](Object['assign'](dt(_0x4d44db),{'isFromAdapter':!0x0}));}}}_getService(_0x443599){if(!this['_services']['has'](_0x443599))throw new _0x38db3a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x443599});return this['_services']['get'](_0x443599);}async _fetchMissingUsersForThreads(_0x304ef8){const _0x4fdc09=this['context']['plugins']['get'](_0x52f463),{connection:_0x52e21f}=this['context']['plugins']['get'](J),_0x47b7c9=new Set();for(const {resolvedBy:_0x372f1e,comments:_0x241d2c}of _0x304ef8){_0x372f1e&&!_0x4fdc09['getUser'](_0x372f1e)&&_0x47b7c9['add'](_0x372f1e);for(const {userId:_0x4d3ddd}of _0x241d2c)_0x4fdc09['getUser'](_0x4d3ddd)||_0x47b7c9['add'](_0x4d3ddd);}if(0x0===_0x47b7c9['size'])return;const _0xe9210=await _0x4be4c6['getMany'](_0x52e21f,Array['from'](_0x47b7c9));for(const _0x2e25d2 of _0xe9210)_0x4fdc09['getUser'](_0x2e25d2['id'])||_0x4fdc09['addUser'](_0x2e25d2);}};async function ht(_0x20393d){if('404'!==_0x20393d['code'])throw _0x20393d;}function lt(_0x374564){if((_0x14c38f=_0x374564)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x14c38f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x14c38f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x14c38f;throw _0x374564;}function dt(_0x355908){return{'threadId':_0x355908['commentThreadId'],'commentId':_0x355908['commentId'],'content':_0x355908['content'],'createdAt':_0x355908['createdAt'],'authorId':_0x355908['userId'],'attributes':_0x355908['attributes']||{}};}var ut=class CloudServicesTrackChangesAdapter extends _0x656eb{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x339e16)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[J,it,_0x2e230e,Q,_0x52f463];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12a39f){super(_0x12a39f);const _0x621349=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x621349);}async init(){const _0x44913f=this['editor']['plugins']['get'](it),_0x290293=_0x44913f['serverHistory'],_0x35dc26=this['editor']['plugins']['get'](J);this['_revisionTracker']['setSource']({'history':_0x290293,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x44913f['sessionId']});const _0x5601cc=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x1ccdda,_0x4f71b2=await _0x53555b['isBundleUploaded'](_0x35dc26['connection'],_0x5601cc);this['editor']['plugins']['get'](_0x2e230e)['adapter']={'getRevision':async({revisionId:_0x386d62})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x386d62)),'updateRevisions':async _0x3f30c4=>{await this['_waitForServiceReady']();const _0x16b211=this['_revisionTracker']['currentRevision'];if(_0x4f71b2&&0x1===_0x3f30c4['length']&&_0x3f30c4[0x0]['id']===_0x16b211['id'])return _0x3f30c4;for(const _0x187d30 of _0x3f30c4)_0x187d30['id']===_0x16b211['id']&&(_0x187d30['isEmptyCurrent']=_0x187d30['fromVersion']===_0x187d30['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3f30c4,this['_lastRequestId'])['then'](_0x437651=>(this['_lastRequestId']=_0x437651,_0x3f30c4))['catch'](_0x2911d0=>{if(vt(_0x2911d0)||'400'===_0x2911d0['code']&&void 0x0!==_0x2911d0['data']['wrongRequestId']){for(const _0x23e0da of _0x3f30c4)this['_revisionTracker']['repository']['getRevision'](_0x23e0da['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x23e0da['id'],_0x23e0da,!0x1);if(vt(_0x2911d0)&&'destroyed'!==this['editor']['state'])throw _0x2911d0;return _0x3f30c4;}throw _0x2911d0;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4d2d0c,{revisionsData:_0x188a4b,requestId:_0x3ffe28})=>{Math['max'](..._0x188a4b['map'](_0x568b94=>_0x568b94['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x188a4b,_0x3ffe28);}):this['_handleRevisionsUpdate'](_0x188a4b,_0x3ffe28);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x35dc26['connection']?.['state']&&(_0x35dc26['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x2b3d79,requestId:_0xa0a202}=await this['_revisionHistoryService']['connect'](_0x35dc26['connection']);_0x35dc26['addToReconnectionStack'](this),this['_lastRequestId']=_0xa0a202,await this['_fetchMissingUsers'](_0x2b3d79);for(const _0x27704f of _0x2b3d79)this['_revisionTracker']['addRevisionData'](_0x27704f);this['listenTo'](_0x44913f,'change:_isConnected',(_0x4cb4b4,_0x378a81,_0x15715f)=>{_0x15715f&&(this['_oldOffset']=_0x44913f['_offset'],_0x4cb4b4['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x55c188=this['editor']['plugins']['get'](J),_0x47a497=this['editor']['plugins']['get'](it),_0x1359be=async()=>{const _0x2485c1=this['_revisionTracker']['currentRevision'],_0xb5cebd=_0x2485c1['id'],_0x1cdd87=_0xb5cebd!==_0x47a497['sessionId'];if(_0x1cdd87){const _0x4b1d21=_0x47a497['_offset']-this['_oldOffset'],_0x334eed=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x2485c1['toVersion']+_0x4b1d21!==_0x334eed){const _0x400538=_0x2485c1['fromVersion']+_0x4b1d21,_0x24674e=this['editor']['plugins']['get'](_0x52f463),_0xea68d4=this['_revisionTracker']['buildRevisionData']({'revision':_0x2485c1,'from':_0x400538,'to':_0x334eed});_0xea68d4['id']=_0x2485c1['id'];const _0x4ffae3=_0xea68d4['authorsIds']['map'](_0x52dd47=>_0x24674e['getUser'](_0x52dd47));_0x2485c1['_update']({..._0xea68d4,'authors':_0x4ffae3},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2485c1['id'],_0xea68d4,!0x0);}this['_revisionTracker']['_startingVersion']=_0x334eed,_0x2485c1['toVersion']!==_0x2485c1['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0xb5cebd)||this['_revisionTracker']['repository']['_revisions']['remove'](_0xb5cebd),this['_revisionTracker']['_createCurrentRevision'](_0x334eed);}const {revisions:_0x298835,requestId:_0x2a22b2}=await this['_revisionHistoryService']['reconnect'](_0x55c188['connection'],this['_lastRequestId']);_0x1cdd87&&_0x298835['length']>0x0?_0x47a497['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x298835),this['_handleRevisionsUpdate'](_0x298835,_0x2a22b2),this['_revisionTracker']['sendBufferedUpdates']());};return _0x47a497['_isConnected']?_0x1359be():new Promise((_0x48c7d4,_0x398ee1)=>{_0x47a497['once']('change:_isConnected',()=>{_0x1359be()['then'](_0x48c7d4)['catch'](_0x398ee1);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5527d0=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1e3db5=>{_0x1e3db5['off'](),_0x5527d0();});});}_getLatestVersionFromServerOperations(){const _0xc7dd5f=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x1ba724 of _0xc7dd5f)if('marker'!==_0x1ba724['type']||_0x1ba724['affectsData'])return _0x1ba724['baseVersion']+0x1;}_getLatestVersion(){const _0x1287b6=this['editor']['plugins']['get'](it);return new Promise(_0x3913f8=>{_0x1287b6['_isPendingUpdate']?_0x1287b6['once']('change:_isPendingUpdate',()=>{_0x3913f8(this['_getLatestVersionFromServerOperations']());}):_0x3913f8(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x213a00,_0x16f57d){const _0x21967e=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x16f57d;for(const _0x5d5de8 of _0x213a00){const _0x2884ba=_0x21967e['getRevision'](_0x5d5de8['id']);if(_0x2884ba){if((_0x5d5de8['fromVersion']||_0x5d5de8['toVersion'])&&(_0x5d5de8['diffData']=null),_0x2884ba===this['_revisionTracker']['currentRevision']){const _0x32276e=Math['max'](_0x2884ba['toVersion'],_0x5d5de8['toVersion']),_0x21ed9a=Math['max'](_0x2884ba['fromVersion'],_0x5d5de8['fromVersion']);let _0x158d1a;_0x2884ba['toVersion']===_0x5d5de8['toVersion']&&_0x2884ba['fromVersion']===_0x5d5de8['fromVersion']?(_0x158d1a=!0x0,this['_preventResendingRevisionData'](_0x5d5de8)):_0x5d5de8['toVersion']===_0x32276e&&_0x5d5de8['fromVersion']===_0x21ed9a?_0x158d1a=!0x1:(_0x2884ba['toVersion']===_0x32276e&&_0x2884ba['fromVersion']===_0x21ed9a||this['_fixRevision']({'revision':_0x2884ba,'from':_0x21ed9a,'to':_0x32276e}),_0x158d1a=!0x0),_0x158d1a&&(delete _0x5d5de8['fromVersion'],delete _0x5d5de8['toVersion'],delete _0x5d5de8['diffData'],delete _0x5d5de8['createdAt'],delete _0x5d5de8['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x5d5de8),this['_preventResendingRevisionData'](_0x5d5de8);}else this['_revisionTracker']['addRevisionData'](_0x5d5de8);}const _0x8935f3=_0x21967e['getRevisions']();_0x8935f3['reverse']();for(let _0x476b40=0x0;_0x476b40<_0x8935f3['length']-0x1;_0x476b40++){const _0x45c2aa=_0x8935f3[_0x476b40],_0x674f32=_0x8935f3[_0x476b40+0x1];if(_0x45c2aa['fromVersion']<_0x674f32['toVersion']){const _0x1b5b7c=_0x674f32['toVersion'],_0x4e0df1=Math['max'](_0x1b5b7c,_0x45c2aa['toVersion']);this['_fixRevision']({'revision':_0x45c2aa,'from':_0x1b5b7c,'to':_0x4e0df1});}}}['_fixRevision']({revision:_0x3d0c34,from:_0x358eba,to:_0x25b365}={}){const _0x58ed3d=this['editor']['plugins']['get'](_0x52f463),_0x127ee4=this['_revisionTracker']['buildRevisionData']({'revision':_0x3d0c34,'from':_0x358eba,'to':_0x25b365});_0x127ee4['authors']=_0x127ee4['authorsIds']['map'](_0x3db010=>_0x58ed3d['getUser'](_0x3db010)),_0x3d0c34['_update'](_0x127ee4);}_preventResendingRevisionData(_0x472c69){const _0x24a9ae={};_0x24a9ae['id']=_0x472c69['id'];for(const _0x1ba158 of Object['keys'](_0x472c69))'id'!==_0x1ba158&&(_0x24a9ae[_0x1ba158]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x24a9ae['id'],_0x24a9ae,!0x0);}async _fetchMissingUsers(_0x3b4d68){const _0x16f647=this['editor']['plugins']['get'](_0x52f463),{connection:_0x2d462b}=this['editor']['plugins']['get'](J),_0x4685df=new Set();for(const _0x3ac152 of _0x3b4d68){for(const _0x5ebe17 of _0x3ac152['authorsIds'])_0xbce3fd(_0x5ebe17);_0x3ac152['creatorId']&&_0xbce3fd(_0x3ac152['creatorId']);}if(0x0===_0x4685df['size'])return;const _0x5821f1=await _0x4be4c6['getMany'](_0x2d462b,Array['from'](_0x4685df));for(const _0x2d7cf6 of _0x5821f1)_0x16f647['getUser'](_0x2d7cf6['id'])||_0x16f647['addUser'](_0x2d7cf6);function _0xbce3fd(_0x35d446){_0x16f647['getUser'](_0x35d446)||_0x4685df['add'](_0x35d446);}}};function vt(_0x40e9d9){return _0x40e9d9['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x40e9d9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x40e9d9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var _t=class extends _0x656eb{static get requires(){return[_0x2e230e,wt,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},yt=class extends _0x3c10c0{_collapseAt;constructor(_0x2493b4,_0x210f36=0x6){super(_0x2493b4);const _0x467ef4=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x210f36,this['bind']('isHidden')['to'](this,'usersCount',_0x37fbd0=>_0x37fbd0<_0x210f36),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x467ef4['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x467ef4['to']('usersCount',_0xec4330=>'+'+(_0xec4330-this['_collapseAt']+0x2)['toString']())}]}]}]});}},bt=class extends _0x3c10c0{items;keystrokes;constructor(_0x239049){super(_0x239049);const _0x35ac7c=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x514268(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x35ac7c['if']('hasPopup'),'aria-expanded':_0x35ac7c['to']('isExpanded',_0x3a93df=>this['hasPopup']&&String(_0x3a93df)),'aria-label':_0x35ac7c['to']('hasPopup',_0x4aee0b=>et(_0x239049,_0x4aee0b?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x35ac7c['to']('hasPopup',_0x1ba9c2=>!!_0x1ba9c2&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x156560,_0x23b45e,_0x5a5eca)=>{this['element']&&(_0x5a5eca?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},kt=class extends _0x3c10c0{counterView;inlineListView;constructor(_0x180f1a,_0x47f330=0x6){super(_0x180f1a);const _0x50e753=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new yt(this['locale'],_0x47f330),this['inlineListView']=new bt(_0x180f1a),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xf0176f of this['inlineListView']['items'])_0xf0176f['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x50e753['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},It=class extends _0x3c10c0{listWrapperView;constructor(_0xd9c7f4,_0x2a3050){super(_0xd9c7f4),this['listWrapperView']=new St(_0xd9c7f4,_0x2a3050),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0xd9c7f4,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},St=class extends _0x41cbcd{constructor(_0x360a9f,_0x58aa7e){super(_0x360a9f);const _0x402cd4=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x58aa7e?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x402cd4['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x402cd4['to']('role'),'aria-label':_0x402cd4['to']('ariaLabel'),'aria-labelledby':_0x402cd4['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x45a7d1['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x24cc8e=this['element'];_0x24cc8e&&(this['_isScrollable']=Math['max'](_0x24cc8e['scrollHeight'],_0x24cc8e['clientHeight'])>0.8*window['innerHeight']);}},Tt=class extends _0x5b7322{['userView'];constructor(_0x1ecdcd,_0x5bae86,_0x206495){super(_0x1ecdcd);const _0x3b3378=this['bindTemplate'];this['userView']=new _0xd0b1dd(_0x1ecdcd,_0x5bae86);const _0xfad9c3={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5bae86['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5bae86['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5bae86['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5bae86['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5bae86['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x206495&&(_0xfad9c3['tag']='button',_0xfad9c3['on']={'click':_0x3b3378['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xfad9c3);}['focus'](){this['element']['focus']();}},Ct=class extends _0x3c10c0{['userView'];['markerView'];constructor(_0x4ed2b9,_0x1cb9ad,_0x25e038){super(_0x4ed2b9);const _0xa1766d=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0xd0b1dd(_0x4ed2b9,_0x1cb9ad),this['markerView']=new At(_0x4ed2b9,_0x1cb9ad);const _0x28a998=new _0xf81f2a(_0x4ed2b9);_0x28a998['template']['tag']='span',_0x28a998['text']=_0x1cb9ad['name'];const _0x293ce8={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0xa1766d['to']('isFocusable',_0x55dcf0=>!!_0x55dcf0&&0x0),'aria-labelledby':_0x28a998['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0xa1766d['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0xa1766d['to']('hasTooltip',_0x12cd4c=>!_0x12cd4c),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x28a998]};_0x25e038&&(_0x293ce8['tag']='button',_0x293ce8['on']={'click':_0xa1766d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x293ce8);}},At=class extends _0x3c10c0{constructor(_0x2e8102,_0x4ba49e){super(_0x2e8102),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4ba49e['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4ba49e['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4ba49e['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Pt={'collapseAt':0x6,'displayMe':!0x0};var Ot=class extends _0x2ea2c1{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x616a5e){super(_0x616a5e),this['context']['config']['define']('presenceList',Pt);const _0x425bb9=_0x616a5e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x425bb9)throw new _0x38db3a('presencelist-collapseat-invalid-format',this);if(_0x425bb9<0x1)throw new _0x38db3a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Q)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5a6c78(),this['balloonPanelView']=new _0x2ec557(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Q];}init(){for(const _0x1ac724 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1ac724);this['listenTo'](this['_allConnectedUsers'],'add',(_0x34f42d,_0x5c609c)=>{this['_handleUserAdd'](_0x5c609c);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x59ff66,_0x420f6f)=>{this['_handleUserRemove'](_0x420f6f);});}_createView(){const _0x38ba60=this['context'],_0x54c008=new kt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x301c98=this['balloonPanelView'];if(!_0x50144a(_0x38ba60['config']['get']('presenceList.container')))throw new _0x38db3a('presencelist-missing-container',this);_0x54c008['counterView']['bind']('usersCount')['to'](this),_0x54c008['bind']('isCollapsed')['to'](this,'usersCount',_0x6dcfe5=>{const {collapseAt:_0x5f20c7}=_0x38ba60['config']['get']('presenceList'),_0x2e08f8=_0x6dcfe5>=_0x5f20c7;if(_0x2e08f8&&!_0x54c008['inlineListView']['items']['find'](_0x2699ea=>_0x2699ea instanceof yt)){const _0x1705af=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1705af&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x54c008['inlineListView']['items']['add'](_0x54c008['counterView']);}return _0x2e08f8||this['hideDropdown'](),_0x2e08f8;}),_0x54c008['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1eed55=>{const _0x454662=_0x38ba60['config']['get']('presenceList'),_0xf68ebc=new Ct(_0x38ba60['locale'],_0x1eed55,!!_0x454662['onClick']);return _0xf68ebc['bind']('hasTooltip')['to'](_0x54c008,'isCollapsed',_0xc39ed4=>!_0xc39ed4),_0xf68ebc['bind']('isFocusable')['to'](_0x54c008,'isCollapsed',_0x3c4c8f=>!_0x3c4c8f),_0x454662['onClick']&&this['listenTo'](_0xf68ebc,'execute',()=>{this['view']['isCollapsed']||_0x454662['onClick'](_0x1eed55,_0xf68ebc['element']);}),_0xf68ebc;}),_0x54c008['inlineListView']['keystrokes']['set']('Enter',(_0x33325e,_0x109c9b)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x109c9b());}),_0x54c008['render'](),_0x301c98['render'](),_0x54c008['listenTo'](_0x54c008['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x3835e5=(_0x229bea,_0x54f941)=>{this['_hideDropdownUnlessPointerInside'](_0x54f941);};return _0x54c008['listenTo'](_0x54c008['inlineListView']['element'],'mouseleave',_0x3835e5),_0x54c008['listenTo'](_0x301c98['element'],'mouseleave',_0x3835e5),_0x4f49cd({'emitter':_0x54c008,'activator':()=>_0x301c98['isVisible'],'contextElements':[_0x301c98['element'],_0x54c008['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x38ba60['config']['get']('presenceList.container')['appendChild'](_0x54c008['element']),this['_overlayHost']=new _0x1d7a4d(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x54c008;}_resolveOverlayTarget(){const _0xadef89=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0xadef89)return _0xadef89;const _0x535442=this['context']['config']['get']('presenceList.container');return _0x535442?_0x414ce5(_0x535442):null;}['_handleUserAdd'](_0x6fb81f){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x6fb81f['isMe'])return;const _0x320bf6=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x320bf6-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x161693=_0x6fb81f['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x6fb81f,_0x161693);}['_handleUserRemove'](_0x41ea1b){this['usersCount']--;const {collapseAt:_0xf2dddd}=this['context']['config']['get']('presenceList'),_0x4a3aa4=this['usersCount']>=_0xf2dddd;if(this['currentDisplayedUsers']['get'](_0x41ea1b['id']))this['currentDisplayedUsers']['remove'](_0x41ea1b['id']);else{if(_0x4a3aa4&&this['currentDisplayedUsers']['length']+0x1===_0xf2dddd-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4a3aa4?0x1:0x0)<this['usersCount']){for(const _0x16e920 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x16e920['id'])&&(this['currentDisplayedUsers']['add'](_0x16e920,Math['min'](this['currentDisplayedUsers']['length']-(_0x4a3aa4?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4a3aa4?0x1:0x0)===_0xf2dddd-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xf35e25=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new It(this['context']['locale'],!!_0xf35e25['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x1b19db}=this['presenceDropdownView'];_0x1b19db['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1871e3=>{if(!_0xf35e25['displayMe']&&_0x1871e3['isMe'])return null;const _0x2ccc2c=new Tt(this['context']['locale'],_0x1871e3,!!_0xf35e25['onClick']);return _0xf35e25['onClick']&&this['listenTo'](_0x2ccc2c,'execute',()=>{_0xf35e25['onClick'](_0x1871e3,_0x2ccc2c['element']);}),_0x2ccc2c;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1b19db['focus'](),_0x1b19db['checkIfScrollable']();const _0x32d068=(_0x43a2c4,_0x1d8eed)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1d8eed();};_0x1b19db['keystrokes']['set']('Esc',_0x32d068),_0x1b19db['keystrokes']['set']('Shift+Tab',_0x32d068),_0x1b19db['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x1b19db['focusTracker']['add'](this['view']['element']),_0x1b19db['focusTracker']['on']('change:isFocused',(_0x33fc24,_0xdccfa,_0x39d07e)=>{_0x39d07e||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}_hideDropdownUnlessPointerInside(_0x53e0bf){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x4a6389=>_0x48de1b(_0x4a6389,_0x53e0bf))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},xt=class extends _0x2ea2c1{static get requires(){return[Q,Ot];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{at as CloudServicesCommentsAdapter,wt as CloudServicesRevisionHistoryAdapter,ut as CloudServicesTrackChangesAdapter,xt as PresenceList,Ot as PresenceListUI,it as RealTimeCollaborationClient,pt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,_t as RealTimeCollaborativeRevisionHistory,gt as RealTimeCollaborativeTrackChanges,Q as Sessions,J as WebSocketGateway};
|
|
23
|
+
import{Context as _0x54e3f1,ContextPlugin as _0x3d5c65,PendingActions as _0x265a77,Plugin as _0x31fc40}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x544475,Collection as _0x5e9f23,DomEmitterMixin as _0x5a848a,KeystrokeHandler as _0x1e4d88,getOverlayMountRoot as _0x14ab56,global as _0x48a199,trustedHtml as _0xdbfc54,uid as _0x3fa067,version as _0x5643f0}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x4167d7,LabelView as _0x27bdd1,ListItemView as _0x3ebef7,ListView as _0x2fc7d0,Notification as _0x21e178,OverlayHost as _0x3a31c7,View as _0x521af7,clickOutsideHandler as _0x2a0934}from'@ckeditor/ckeditor5-ui';import{History as _0x1b5fd5,InsertOperation as _0x2deb91,MarkerOperation as _0x54255b,ModelLiveRange as _0x1e7aff,NoOperation as _0x4ac29a,OperationFactory as _0x4aa6c3,RootAttributeOperation as _0x1af6e4,transformOperationSets as _0x4e0779}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x1cdced}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x3ab55b,CommentsService as _0x2d2254,EditorService as _0x49285b,RevisionHistoryService as _0x44fe60,TrackChangesService as _0xe48cc6,User as _0x57eb50,WEB_SOCKET_GATEWAY_STATES as _0x4248be,WebSocketGateway as _0x17bb73}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x13ed79,Users as _0x2de45a,isPointerStillOver as _0x155aa1}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x62edef}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x22666b,TrackChangesEditing as _0x53e314}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x1b2357,CommentsEditing as _0x164838,CommentsRepository as _0x4a59f5}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x2f93b0}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x70fece}from'es-toolkit/compat';var J=class WebSocketGateway extends _0x3d5c65{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x17bb73)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x1cdced,_0x21e178];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1d1b93){super(_0x1d1b93),this['set']('state',_0x4248be['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5a848a())();}init(){const _0x3c421b=this['context'],_0x57535c=_0x3c421b['plugins']['get'](_0x1cdced),_0x334bae=_0x3c421b['plugins']['get'](_0x21e178);if(!_0x57535c['token'])throw new _0x544475('websocketgateway-missing-token',this);if(!_0x57535c['webSocketUrl'])throw new _0x544475('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'](_0x57535c['token'],_0x57535c['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3abe9c=>{if(this['connection']=_0x3abe9c,this['bind']('state')['to'](_0x3abe9c,'state',this,'_isBrowserOffline',(_0x654a58,_0x1a2fe9)=>('connected'!==_0x654a58&&(this['_shouldPluginsReconnect']=!0x0),_0x1a2fe9||_0x654a58!==_0x4248be['CONNECTED']?_0x4248be['DISCONNECTED']:this['state']==_0x4248be['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4248be['CONNECTING']):_0x4248be['CONNECTED'])),this['connection']['on']('error',(_0x332ae2,_0x34a600)=>{if('limitExceeded'!==_0x34a600['code'])throw console['error'](_0x34a600),new _0x544475('cloudservices-init',null,{'originalError':_0x34a600});_0x334bae['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'});}),!_0x3abe9c['me'])return new Promise(_0x43037e=>_0x3abe9c['on']('change:me',_0x43037e));})['catch'](_0x43717d=>{throw console['error'](_0x43717d),new _0x544475('cloudservices-init',null,{'originalError':_0x43717d});});}addToReconnectionStack(_0x2464f9){if('function'!=typeof _0x2464f9['reconnect'])throw new _0x544475('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x2464f9))throw new _0x544475('websocketgateway-plugin-already-registered',this,{'name':_0x2464f9['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x2464f9);}removeFromReconnectionStack(_0x51bd38){this['_reconnectionStack']['delete'](_0x51bd38);}isInReconnectionStack(_0x268dfe){return this['_reconnectionStack']['has'](_0x268dfe);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5cda29=>_0x5cda29['reconnect']())))['then'](()=>this['state']=_0x4248be['CONNECTED'])['catch'](_0x5135ce=>{throw console['error'](_0x5135ce),new _0x544475('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4248be['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Q=class extends _0x3d5c65{['channelSessions'];channelConnectedUsers;allConnectedUsers;_registeredSessions;_uniqueUsersCount;['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[J,_0x2de45a];}constructor(_0x518394){super(_0x518394),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5e9f23(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2de45a);}init(){const _0x2af450=this['context']['plugins']['get'](J);this['listenTo'](_0x2af450,'change:state',(_0x378b15,_0x1dfb02,_0x9cf0ac)=>{if('connected'!==_0x9cf0ac)this['channelSessions']['forEach'](_0x4193bf=>_0x4193bf['clear']()),this['channelConnectedUsers']['forEach'](_0x1f721d=>_0x1f721d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x451823,_0x18ee4f]of this['_registeredSessions'])for(const _0x573979 of _0x18ee4f)this['_handleSessionAdd'](_0x451823,_0x573979);}}),this['_createUser'](_0x2af450['connection']['me'],!0x0);}register(_0x5b9d14,_0x308d94){if(this['_registeredSessions']['has'](_0x5b9d14))throw new _0x544475('sessions-register-already-registered',null,{'channelId':_0x5b9d14});this['_registeredSessions']['set'](_0x5b9d14,_0x308d94),this['channelSessions']['set'](_0x5b9d14,new _0x5e9f23()),this['channelConnectedUsers']['set'](_0x5b9d14,new _0x5e9f23()),this['listenTo'](_0x308d94,'add',(_0x24a711,_0x310937)=>this['_handleSessionAdd'](_0x5b9d14,_0x310937)),this['listenTo'](_0x308d94,'remove',(_0x37a717,_0x5bab38)=>this['_handleSessionRemove'](_0x5b9d14,_0x5bab38));for(const _0x5e0583 of _0x308d94)this['_handleSessionAdd'](_0x5b9d14,_0x5e0583);}unregister(_0x35ff5e){if(!this['_registeredSessions']['has'](_0x35ff5e))throw new _0x544475('sessions-unregister-not-exist',null,{'channelId':_0x35ff5e});const _0x51760a=this['_registeredSessions']['get'](_0x35ff5e);this['stopListening'](_0x51760a);for(const _0x40092b of _0x51760a)'connected'===this['context']['plugins']['get'](J)['state']&&this['_handleSessionRemove'](_0x35ff5e,_0x40092b);this['_registeredSessions']['delete'](_0x35ff5e),this['channelSessions']['delete'](_0x35ff5e),this['channelConnectedUsers']['delete'](_0x35ff5e);}get['mySessionId'](){return this['context']['plugins']['get'](J)['connection']['sessionId'];}getUserBySessionId(_0x4dd7dd){for(const _0x255b44 of this['channelSessions']['values']())for(const _0x40b2c9 of _0x255b44)if(_0x40b2c9['id']===_0x4dd7dd)return _0x40b2c9['user'];}getUserSessions(_0x10806a,_0x50b1a1){const _0x22f775=_0x50b1a1?[this['channelSessions']['get'](_0x50b1a1)]:this['channelSessions']['values'](),_0x255d77=new Set();for(const _0x47efa6 of _0x22f775)for(const _0xeebc5c of _0x47efa6)_0xeebc5c['user']['id']===_0x10806a['id']&&_0x255d77['add'](_0xeebc5c['id']);return _0x255d77;}getUserRole(_0x1a75a7){for(const _0xa1d099 of this['channelSessions']['values']())for(const _0x4b5c9c of _0xa1d099)if(_0x4b5c9c['user']===_0x1a75a7)return _0x4b5c9c['role'];}['_handleSessionAdd'](_0x26ac9c,_0x2538a4){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x326a2b=_0x2538a4['user'],_0x2b9ecf=this['_users']['getUser'](_0x326a2b['id'])||this['_createUser'](_0x326a2b),_0x4242f9=Object['assign']({},_0x2538a4,{'user':_0x2b9ecf});if(this['channelSessions']['get'](_0x26ac9c)['add'](_0x4242f9),!_0x326a2b['hiddenInPresenceList']){const _0x39b341=this['channelConnectedUsers']['get'](_0x26ac9c);_0x39b341['has'](_0x2b9ecf['id'])||_0x39b341['add'](_0x2b9ecf),this['allConnectedUsers']['has'](_0x2b9ecf['id'])||_0x326a2b['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x2b9ecf,_0x2b9ecf['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x26ac9c,{'channelId':_0x26ac9c,'session':_0x4242f9});}['_handleSessionRemove'](_0x5483ae,_0x23d04c){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x373456=this['channelConnectedUsers']['get'](_0x5483ae),_0x58bb65=_0x23d04c['user'];_0x58bb65['id']&&(this['channelSessions']['get'](_0x5483ae)['remove'](_0x23d04c['id']),_0x373456['has'](_0x58bb65['id'])&&!this['getUserSessions'](_0x58bb65,_0x5483ae)['size']&&_0x373456['remove'](_0x58bb65['id']),this['allConnectedUsers']['get'](_0x58bb65['id'])&&!this['getUserSessions'](_0x58bb65)['size']&&this['allConnectedUsers']['remove'](_0x58bb65['id']));}_createUser(_0x36e943,_0x34e5e9){const _0x26a2d5=this['_users']['addUser'](_0x36e943);return _0x34e5e9&&this['_users']['defineMe'](_0x36e943['id']),_0x26a2d5['orderNumber']=this['_uniqueUsersCount']++,_0x26a2d5;}},X=class extends _0x31fc40{_domEmitter=new(_0x5a848a())();static get requires(){return[Q];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x43ea38=this['editor'],_0x4dc889=_0x43ea38['plugins']['get'](Q);_0x43ea38['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x471fec,{writer:_0x22e9d2})=>function(_0x59d41f,_0x2816fd,_0x2c249b,_0x4c2a22){const _0x5a79d5=_0x59d41f['markerName']['split'](':')[0x2],_0x3a2238=_0x2c249b['getUserBySessionId'](_0x5a79d5);if(!_0x3a2238||_0x5a79d5===_0x2c249b['mySessionId'])return;if(!_0x4c2a22['model']['schema']['checkChild'](_0x59d41f['markerRange']['start'],'$text'))return;const _0x3abf6b={'class':'ck-user__marker\x20'+_0x3a2238['color']['getMarkerClass'](),'style':tt(_0x3a2238),'data-name':_0x3a2238['name'],'data-session-id':_0x5a79d5},_0x4300e6=_0x4c2a22['model']['markers']['get'](_0x59d41f['markerName'])['getStart'](),_0x4c7376=_0x4300e6['nodeAfter'],_0x497914=_0x4c2a22['model']['schema'];if(_0x4c7376&&_0x497914['isObject'](_0x4c7376)&&_0x497914['isInline'](_0x4c7376)&&!_0x4c2a22['model']['markers']['get']('user:range:'+_0x5a79d5)['getRange']()['isCollapsed'])return;const _0x5e313f=_0x4300e6['parent'];return _0x4c2a22['model']['schema']['isLimit'](_0x5e313f)&&!_0x4c2a22['model']['hasContent'](_0x5e313f)&&(_0x3abf6b['contenteditable']=!0x1),function(_0x3aa635,_0x582ed4,_0xfadf42){const _0x2b3f3f=_0x3aa635['createUIElement']('span',_0x582ed4);return _0x3aa635['setCustomProperty']('userPositionMarker',!0x0,_0x2b3f3f),_0x2b3f3f['render']=function(_0x5a61d6){const _0x547624=this['toDomElement'](_0x5a61d6),_0x15a13d=document['createElement']('span');return _0x15a13d['classList']['add']('ck-user__marker-tooltip'),_0x15a13d['setAttribute']('contenteditable','false'),_0x15a13d['setAttribute']('spellcheck','false'),_0x15a13d['textContent']=_0xfadf42['name'],_0x547624['innerHTML']=_0xdbfc54('<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x15a13d['outerHTML']+''),_0x547624['addEventListener']('mouseenter',()=>{_0x547624['classList']['add']('ck-user__marker_hovered');}),_0x547624['addEventListener']('mouseleave',()=>{_0x547624['classList']['remove']('ck-user__marker_hovered');}),_0x547624;},_0x2b3f3f['isSimilar']=function(_0x12ba35){return!(!this['getCustomProperty']('userPositionMarker')||!_0x12ba35['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x12ba35['getAttribute']('data-session-id'));},_0x2b3f3f;}(_0x2816fd,_0x3abf6b,_0x3a2238);}(_0x471fec,_0x22e9d2,_0x4dc889,_0x43ea38)}),_0x43ea38['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3d7cea=>function(_0x28caa5,_0x4625fb){const _0x4477dd=_0x28caa5['markerName']['split'](':')[0x2];if(_0x4477dd===_0x4625fb['mySessionId'])return null;const _0x422508=_0x4625fb['getUserBySessionId'](_0x4477dd);return _0x422508?{'id':_0x4477dd,'classes':['ck-user__selection',_0x422508['color']['getSelectionClass']()],'attributes':{'style':tt(_0x422508),'data-session-id':_0x4477dd},'priority':0x7d0+_0x422508['orderNumber']}:{'id':_0x4477dd,'classes':[]};}(_0x3d7cea,_0x4dc889)}),function(_0x479bba){const _0x937a4e=_0x479bba['model'],_0x58b81b=new Map(),_0x1ad7b2=_0x479bba['plugins']['get'](Q);_0x937a4e['markers']['on']('update:user:range',(_0x44f303,_0x53d72a,_0x24084f,_0x575937)=>{if(!_0x575937&&_0x58b81b['get'](_0x53d72a['name']))return _0x58b81b['get'](_0x53d72a['name'])['detach'](),void _0x58b81b['delete'](_0x53d72a['name']);const _0x48c0bf=_0x53d72a['name']['split'](':')[0x2];if(_0x48c0bf===_0x1ad7b2['mySessionId'])return;const _0x54ed7d='user:position:'+_0x48c0bf;_0x937a4e['markers']['has'](_0x54ed7d)&&_0x479bba['editing']['reconvertMarker'](_0x54ed7d),_0x53d72a['on']('change:range',(_0xd59218,_0x4c28ea,_0x508beb)=>{if('$graveyard'!=_0x4c28ea['root']['rootName']&&'$graveyard'==_0x53d72a['getRange']()['root']['rootName']&&!_0x58b81b['has'](_0x53d72a['name'])){const _0x2a6fed=_0x937a4e['schema']['getNearestSelectionRange'](_0x508beb['deletionPosition']);if(_0x2a6fed){const _0x960a14=_0x1e7aff['fromRange'](_0x2a6fed);_0x58b81b['set'](_0x53d72a['name'],_0x960a14),_0x960a14['on']('change:range',(_0x692852,_0x5e3e41,_0x328ebf)=>{if('$graveyard'==_0x960a14['root']['rootName']){const _0x1eaa45=_0x937a4e['schema']['getNearestSelectionRange'](_0x328ebf['deletionPosition']);_0x1eaa45?(_0x960a14['start']=_0x1eaa45['start'],_0x960a14['end']=_0x1eaa45['end']):(_0x58b81b['delete'](_0x53d72a['name']),_0x960a14['detach']());}});}}});}),_0x937a4e['document']['on']('change',()=>{_0x58b81b['size']>0x0&&_0x937a4e['enqueueChange']({'isUndoable':!0x1},_0x161203=>{for(const [_0x31d53c,_0x2637d5]of _0x58b81b)'$graveyard'==_0x937a4e['markers']['get'](_0x31d53c)['getRange']()['root']['rootName']&&(Z(_0x31d53c['split'](':')[0x2],_0x2637d5['toRange'](),_0x937a4e,_0x161203),_0x2637d5['detach']());_0x58b81b['clear']();});});}(_0x43ea38),this['_domEmitter']['listenTo'](_0x48a199['document'],'keydown',(_0x4341ce,{key:_0x5b57a1})=>{'Escape'===_0x5b57a1&&function(_0x28c800){_0x28c800['editing']['view']['change'](_0x5b2e02=>{for(const _0xe8890f of _0x28c800['model']['markers']){if(!_0xe8890f['name']['startsWith']('user:position'))continue;const _0x924a56=_0x28c800['editing']['mapper']['markerNameToElements'](_0xe8890f['name']);if(_0x924a56){for(const _0x3dfdc4 of _0x924a56)_0x5b2e02['removeClass']('ck-user__marker_hovered',_0x3dfdc4);}}});}(_0x43ea38);},{'useCapture':!0x0});}afterInit(){const _0x11c7d3=this['editor'],_0x523248=_0x11c7d3['commands']['get']('undo');_0x523248&&_0x11c7d3['model']['on']('applyOperation',(_0x5b92e7,_0x44ae40)=>{const _0x17756c=_0x44ae40[0x0];if(!_0x17756c['isDocumentOperation'])return;if('marker'!=_0x17756c['type']||!_0x17756c['name']['startsWith']('user:'))return;const _0x11c6dc=_0x17756c['batch'];_0x523248['_createdBatches']['has'](_0x11c6dc)&&(_0x17756c['newRange']=_0x17756c['oldRange']?_0x11c7d3['model']['createRange'](_0x17756c['oldRange']['start'],_0x17756c['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0xf391c2=this['editor'],_0x21ccc4=_0xf391c2['model']['document'],_0x3b459e=_0xf391c2['plugins']['get'](Q);_0xf391c2['model']['enqueueChange']({'isUndoable':!0x1},_0x472471=>{const _0x46ebf6='user:range:'+_0x3b459e['mySessionId'],_0x25fc9e='user:position:'+_0x3b459e['mySessionId'],_0xeeb668=_0xf391c2['model']['markers']['has'](_0x46ebf6);_0xf391c2['editing']['view']['hasDomSelection']?Z(_0x3b459e['mySessionId'],_0x21ccc4['selection']['getFirstRange'](),_0xf391c2['model'],_0x472471):_0xeeb668&&(_0x472471['removeMarker'](_0x46ebf6),_0x472471['removeMarker'](_0x25fc9e));});}};function Z(_0x309181,_0x323cad,_0x569237,_0x18bd50){const _0x411be4='user:range:'+_0x309181,_0x24e6ad='user:position:'+_0x309181,_0x3fa14e=_0x323cad['getContainedElement']();let _0x46b133=_0x323cad['start'];if(_0x3fa14e&&_0x3fa14e['is']('element','tableCell')){const _0xa46232=function(_0x217648,_0x5474d4){for(const _0x2211a0 of _0x217648['getPositions']())if(_0x5474d4['schema']['checkChild'](_0x2211a0,'$text'))return _0x2211a0;}(_0x323cad,_0x569237);_0xa46232&&(_0x46b133=_0xa46232,_0x323cad=_0x18bd50['createRange'](_0x46b133));}const _0x54a678=_0x18bd50['createRange'](_0x46b133);_0x569237['markers']['has'](_0x411be4)?(_0x18bd50['updateMarker'](_0x411be4,{'range':_0x323cad}),_0x18bd50['updateMarker'](_0x24e6ad,{'range':_0x54a678})):(_0x18bd50['addMarker'](_0x411be4,{'range':_0x323cad,'usingOperation':!0x0}),_0x18bd50['addMarker'](_0x24e6ad,{'range':_0x54a678,'usingOperation':!0x0}));}function tt(_0x426bd0){return'--ck-user-color:'+_0x426bd0['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x426bd0['color']['getColorAlphaVariable']()+';';}function et(_0x64762a,_0x5969be,_0x4a6b41){const _0x3d2276=_0x64762a['t'],t=_0x64762a['t'];switch(_0x5969be){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 _0x3d2276({'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'},_0x4a6b41);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x31fc40{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x3ab55b)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[J,Q,X,_0x265a77,_0x2de45a,_0x21e178];}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 _0x512de6=this['serverHistory']['getOperations']();for(let _0x5a1ebd=_0x512de6['length']-0x1;_0x5a1ebd>=0x0;_0x5a1ebd--){const _0x279747=_0x512de6[_0x5a1ebd];if(!this['_disconnectionOperations']['has'](_0x279747))return _0x279747['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5bdabe){if(super(_0x5bdabe),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x1b5fd5(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x544475('collaboration-missing-channelid',this);const _0x405081=_0x5bdabe['config']['get']('cloudServices.bundleVersion')||_0x5643f0;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x405081,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x62edef(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new rt(this['_disconnectionOperations']);}init(){const _0x5c7a45=this['editor'],_0x654067=_0x5c7a45['plugins']['get'](_0x2de45a),_0x28297e=_0x5c7a45['plugins']['get'](J);this['listenTo'](_0x654067,'getOperationAuthor',(_0xff96f0,_0x2092b5)=>{const _0x2ee9d1=_0x2092b5[0x0];_0x2ee9d1['_authorId']&&(_0xff96f0['return']=_0x654067['getUser'](_0x2ee9d1['_authorId']),_0xff96f0['stop']()),null===_0x2ee9d1['_authorId']&&(_0xff96f0['return']=null,_0xff96f0['stop']());},{'priority':'high'}),this['listenTo'](_0x5c7a45['model']['document']['selection'],'change:range',(_0x152a78,_0x577c61)=>{_0x577c61['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5c7a45['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5c7a45['model']['on']('applyOperation',(_0x31e1e4,_0x3cea2a)=>{const _0x555bf6=_0x3cea2a[0x0];_0x555bf6['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x555bf6),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x28297e,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x1e69bc,_0x4a511a,_0xf80f26)=>'connected'===_0x1e69bc&&!_0x4a511a&&!_0xf80f26),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5c7a45['disableReadOnlyMode']('rtc-offline'):_0x5c7a45['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5c7a45['disableReadOnlyMode']('rtc-offline'):_0x5c7a45['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x3ea21b=this['editor']['plugins']['get'](Q),_0x20e4dd=this['editor']['plugins']['get'](J);try{this['_isPendingUpdate']=!0x0,_0x3ea21b['unregister'](this['_channelId']);const _0x1b72cd=await this['_service']['reconnect'](_0x20e4dd['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1b72cd)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x39d34c=await this['_service']['getConnectedSessions']();_0x3ea21b['register'](this['_channelId'],_0x39d34c),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3d712b){if(function(_0x172768){return'404'===_0x172768['code'];}(_0x3d712b)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x7c302){return'409'===_0x7c302['code'];}(_0x3d712b)){const _0x541bf9=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'](_0x541bf9);}else{if(!(_0x3d712b instanceof nt))throw _0x3d712b;this['_handleReconnectionError']();}}}}destroy(){const _0x144bc8=this['editor']['plugins']['get'](J),_0x39937d=this['editor']['plugins']['get'](Q);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x39937d['channelSessions']['has'](this['_channelId'])&&_0x39937d['unregister'](this['_channelId']),_0x144bc8['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x55fcac){if(this['sessionId']!==_0x55fcac['sessionId']&&this['_lastSyncedOperationId']!==_0x55fcac['lastOperationId'])throw new nt();return this['sessionId']=_0x55fcac['sessionId'],this['_handleServerResponse']([],{..._0x55fcac,'wereChangesApplied':!0x1,'data':_0x55fcac['data']},'reconnect');}async _connectService(_0x250f8e,_0x357001=!0x1){const {connection:_0x27fdb6}=this['editor']['plugins']['get'](J);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x27fdb6,this['_channelId'])['then'](_0x38654a=>this['_initSessionsHandling'](_0x38654a))['catch'](_0x5db841=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5db841);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x632880,_0x54f271)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x54f271);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x30f04b=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x250f8e);this['_isPendingUpdate']=!0x0;const _0x32347c=await this['_service']['connect'](_0x27fdb6,this['_compressOperations'](_0x250f8e),_0x30f04b);if(this['sessionId']=_0x32347c['sessionId'],_0x357001){if(!_0x32347c['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x32347c['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x250f8e,_0x32347c,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x32347c,_0x250f8e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x2c8a5c=this['editor']['plugins']['get'](Q),_0x5cc903=this['editor']['plugins']['get'](X),_0x46dd3e=_0x2c8a5c['channelSessions']['get'](this['_channelId']);_0x46dd3e&&_0x46dd3e['length']>0x1?_0x5cc903['createUserMarkerOperations']():this['listenTo'](_0x2c8a5c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2c8a5c['channelSessions']['get'](this['_channelId'])['length']&&_0x5cc903['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x1d2986,_0x2d2235,_0x2b3617,_0x38595e){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2d2235){const _0x596a44=this['_decompressOperations'](_0x2b3617,_0x38595e);await this['_fetchMissingUsers'](_0x596a44),this['_handleExternalOperations'](_0x596a44,_0x2d2235,_0x2b3617['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x457420}=this['editor'];let _0x187949;try{_0x187949=await this['_service']['getDocumentDetails']();}catch{const _0x35f7d0=et(_0x457420,'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'](_0x35f7d0);}const _0x542bef=_0x187949['currentDocumentSession']||_0x187949['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x542bef['lastOperationId']){const _0x20ff36=et(_0x457420,'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'](_0x20ff36);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x33286b=this['editor']['plugins']['get'](J);if(this['_isConnected']=!0x1,!_0x33286b['connection']||'connected'!==_0x33286b['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0xdeacba=this['editor']['plugins']['get'](Q);_0xdeacba['channelSessions']['has'](this['_channelId'])&&_0xdeacba['unregister'](this['_channelId']),_0x33286b['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x3f451b){const _0xb8699d=this['editor']['plugins']['get'](Q);this['listenTo'](_0xb8699d,'sessionAdd:'+this['_channelId'],(_0x3b7f4b,{session:_0x136c11})=>{if(_0x136c11['id']===_0xb8699d['mySessionId']){_0x3b7f4b['off']();const _0xbcb219=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x185ff0=_0x136c11['permissions'];_0xbcb219&&_0xbcb219['isEnabled']&&(_0x185ff0=_0x185ff0['filter'](_0xe4e775=>'document:write'!==_0xe4e775)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x185ff0,this['_channelId']);}}),_0xb8699d['register'](this['_channelId'],_0x3f451b);}_initThrowingOnDataSet(){const _0x503e8d=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x39dcc2)=>{if(!_0x39dcc2[_0x39dcc2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x544475('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x503e8d['apply'](this['editor']['data'],_0x39dcc2);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x19eeb0,[_0x2661f7])=>{if(this['_document']['version'])throw new _0x544475('realtimecollaborationclient-init-document-already-initialized',this);_0x19eeb0['stop'](),this['_setPendingAction']();const _0x327197=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1fabdb])=>!_0x1fabdb['lazyLoad'])['map'](([_0xa2595,_0x168478])=>[_0xa2595,_0x168478['modelAttributes']||{}])),_0x4f0df9=this['_getOperationsFromInitData'](_0x2661f7,_0x327197);0x0==_0x4f0df9['length']&&_0x4f0df9['push'](new _0x4ac29a(0x0)),_0x19eeb0['return']=this['_connectService'](_0x4f0df9)['then'](()=>{this['editor']['plugins']['get'](J)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x469fe0=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x469fe0))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2390df,[_0x5b33b8,_0x1a20a4])=>{_0x2390df['stop']();const _0x493b2f=this['editor']['model']['document']['getRoot'](_0x5b33b8);if(!this['_knownRootNames']['has'](_0x5b33b8)){const _0x1fe731=_0x1a20a4&&_0x1a20a4['data']?_0x1a20a4['data']:'',_0x1e59dd=_0x1a20a4&&_0x1a20a4['attributes']?_0x1a20a4['attributes']:{};await this['_loadRoot'](_0x5b33b8,_0x1fe731,_0x1e59dd);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x493b2f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x493b2f);});},{'priority':'high'});}async _fetchMissingUsers(_0x1d61e1){const _0x1f019e=this['editor']['plugins']['get'](_0x2de45a),{connection:_0x2976ba}=this['editor']['plugins']['get'](J),_0xb481d0=new Set();for(const _0x228117 of _0x1d61e1){const _0x72c5e7=_0x228117['_authorId'];_0x72c5e7&&!_0x1f019e['getUser'](_0x72c5e7)&&_0xb481d0['add'](_0x72c5e7);}if(0x0===_0xb481d0['size'])return;const _0x1447af=await _0x57eb50['getMany'](_0x2976ba,Array['from'](_0xb481d0));for(const _0x373066 of _0x1447af)_0x1f019e['getUser'](_0x373066['id'])||_0x1f019e['addUser'](_0x373066);}_getOperationsFromInitData(_0x54e33f,_0x40a593={}){const _0x3a3afb=this['editor']['model'],_0x43fda9=[];let _0x2a658a=0x0;const _0x2eb1d7='string'==typeof _0x54e33f?{'main':_0x54e33f}:_0x54e33f;for(const _0x49ba17 of Object['keys'](_0x2eb1d7)){if(!this['_document']['roots']['has'](_0x49ba17))throw new _0x544475('realtimecollaborationclient-init-non-existent-root',this);const _0x2771ee=this['_document']['getRoot'](_0x49ba17),_0x3bc99c=this['editor']['data']['parse'](_0x2eb1d7[_0x49ba17],_0x2771ee),_0x443e20=new _0x2deb91(_0x3a3afb['createPositionAt'](_0x2771ee,0x0),_0x3bc99c,_0x2a658a++);_0x43fda9['push'](_0x443e20);for(const [_0x1b4fec,_0x20cd93]of _0x3bc99c['markers']){const _0x5e3051=_0x3a3afb['createRange'](_0x3a3afb['createPositionFromPath'](_0x2771ee,_0x20cd93['start']['path']['slice']()),_0x3a3afb['createPositionFromPath'](_0x2771ee,_0x20cd93['end']['path']['slice']())),_0x290ead=new _0x54255b(_0x1b4fec,null,_0x5e3051,_0x3a3afb['markers'],!0x0,_0x2a658a++);_0x43fda9['push'](_0x290ead);}}if(_0x40a593)for(const [_0x1771ff,_0x277ffd]of Object['entries'](_0x40a593)){const _0xb85148=_0x3a3afb['document']['getRoot'](_0x1771ff);if(!_0xb85148)throw new _0x544475('multi-root-editor-root-attributes-no-root',null);for(const [_0x1f67a7,_0x3c7a5b]of Object['entries'](_0x277ffd))if(null!==_0x3c7a5b){const _0x26bcac=new _0x1af6e4(_0xb85148,_0x1f67a7,null,_0x3c7a5b,_0x2a658a++);_0x43fda9['push'](_0x26bcac);}}return _0x43fda9;}async _loadRoot(_0x398525,_0x866332,_0x4a9fc8){this['_getOperationsFromInitData']({[_0x398525]:_0x866332},{[_0x398525]:_0x4a9fc8})['forEach']((_0x42be49,_0x484d0c)=>{_0x42be49['baseVersion']=this['_document']['version']+_0x484d0c,_0x42be49['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x42be49);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x1aa51f,_0x332536){let _0x1822af;this['_offset']=_0x1aa51f['offset'];const _0x2d95e2=_0x1aa51f['wereChangesApplied']&&!_0x1aa51f['initData'],_0x5f1fa0=_0x2d95e2?0x0:_0x1aa51f['data']['baseVersion'];if(_0x332536['forEach'](_0x5becd3=>{_0x5becd3['_isInit']=!0x0,_0x5becd3['createdAt']=_0x1aa51f['sessionCreatedAt'],_0x5becd3['_authorId']=null;}),_0x2d95e2)_0x1822af=_0x332536,this['_applyOperationsSet'](_0x1822af,_0x2d95e2);else{if(_0x1aa51f['initData']){const _0x190fd5=this['_getOperationsFromInitData'](_0x1aa51f['initData']);this['_document']['history']['version']=-_0x190fd5['length'],_0x190fd5['forEach'](_0x10e40f=>{_0x10e40f['baseVersion']-=_0x190fd5['length'],_0x10e40f['createdAt']=_0x1aa51f['sessionCreatedAt'],_0x10e40f['_isInit']=!0x0,_0x10e40f['_authorId']=null;}),this['_applyOperationsSet'](_0x190fd5,!0x0),this['serverHistory']['version']=-_0x190fd5['length']+this['_offset'],this['_updateServerHistory'](_0x190fd5);}this['_document']['history']['version']=_0x5f1fa0,_0x1822af=this['_decompressOperations'](_0x1aa51f['data'],_0x1aa51f['metadata']),await this['_fetchMissingUsers'](_0x1822af),this['_applyOperationsSet'](_0x1822af,_0x2d95e2);}_0x1aa51f['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1822af,_0x1aa51f['lastOperationId']),this['_lastSyncedOperationId']=_0x1aa51f['lastOperationId']),this['serverHistory']['version']=_0x5f1fa0+this['_offset'],this['_updateServerHistory'](_0x1822af),_0x332536['filter'](_0x167c22=>{const _0x5ce6e9=this['_getAffectedRoot'](_0x167c22);return _0x5ce6e9&&!this['_knownRootNames']['has'](_0x5ce6e9);})['forEach']((_0x13daef,_0x176d8a)=>{_0x13daef['baseVersion']=this['_document']['version']+_0x176d8a,this['_saveOperationInBuffer'](_0x13daef);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xaf168,_0x39b197){const _0x1ac563=_0x39b197&&_0x39b197['message'];if(_0x1ac563&&_0x1ac563['startsWith']('realtimecollaborationclient'))throw _0x39b197;const _0x3956b6=this['editor']['plugins']['get'](J);throw this['_isPendingUpdate']=!0x0,_0x3956b6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x544475(_0xaf168,this['editor'],_0x1ac563?{'originalError':_0x1ac563}:void 0x0);}_saveOperationInBuffer(_0x45b560){this['_knownOperations']['has'](_0x45b560)||(this['_knownOperations']['add'](_0x45b560),this['_bufferedOperations']['push'](_0x45b560),this['_pendingAction']||'marker'==_0x45b560['type']&&!_0x45b560['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x40ef05=!0x1){!_0x40ef05&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x52da22=>{_0x52da22&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x31df7b=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x324abd){return _0x324abd['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x324abd['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x324abd['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x31df7b)||this['_crash'](_0x31df7b['message'],_0x31df7b);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0xfda154=>{this['on']('change:_isPendingUpdate',()=>{_0xfda154();});});}async _sendBufferedOperations(){const _0xd8d2e=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0xd8d2e['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x34677d=[...this['_bufferedOperations']];for(const _0x10886d of _0x34677d)_0x10886d['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x10886d);const _0x36e27d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x34677d),_0x4801af=st++,_0x553565=this['_compressOperations'](_0x34677d),_0x38bf7c=await this['_service']['sendOperations'](_0x553565,_0x553565['baseVersion'],_0x36e27d);try{return await this['_handleServerResponse'](_0x34677d,_0x38bf7c,_0x4801af);}catch(_0x4009e1){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4009e1);}}async['_handleServerResponse'](_0x1b7d93,_0x7d9b14,_0x1fb21a){if('error'in _0x7d9b14)throw _0x7d9b14['error'];let _0x2c05e9;if(_0x7d9b14['wereChangesApplied']){_0x7d9b14['lastOperationId']&&(this['_lastSyncedOperationId']=_0x7d9b14['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x9f335a=>!_0x1b7d93['includes'](_0x9f335a));for(const _0x1ef836 of _0x1b7d93)_0x1ef836['createdAt']='lastOperationAcceptedAt'in _0x7d9b14&&_0x7d9b14['lastOperationAcceptedAt']||void 0x0;ot(_0x1b7d93,_0x7d9b14['version']-_0x1b7d93['length']),this['_updateServerHistory'](_0x1b7d93);const _0x2b5bbd=_0x1b7d93['filter'](_0x7004b4=>{if(!_0x7004b4['_isInit'])return!0x1;const _0x146eb9=this['_getAffectedRoot'](_0x7004b4);return _0x146eb9&&!this['_knownRootNames']['has'](_0x146eb9);});ot(_0x2b5bbd,this['_document']['version']),this['_applyOperationsSet'](_0x2b5bbd),_0x2c05e9=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x39ed2e=this['_decompressOperations'](_0x7d9b14['data'],_0x7d9b14['metadata'])['filter'](_0xe1324c=>_0xe1324c['baseVersion']>=this['_lastServerVersion']);_0x39ed2e['forEach'](_0x5e1aad=>this['_addKnownRoot'](_0x5e1aad)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5a05ba=>!_0x5a05ba['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5a05ba))),this['_bufferedOperations']['length']&&ot(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x39ed2e),_0x2c05e9=this['_handleExternalOperations'](_0x39ed2e,_0x7d9b14['version'],_0x7d9b14['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2c05e9?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0xd3b379,_0x107e3e,_0x4dba2b){try{const _0x2a8f04={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1a91d0,operationsB:_0x1239a7,originalOperations:_0x99d31c}=_0x4e0779(_0xd3b379,this['_bufferedOperations'],_0x2a8f04);ot(_0x1a91d0,this['_document']['version']),ot(_0x1239a7,_0x107e3e);for(const _0x825c0 of _0x1a91d0){const _0xf948d5=_0x99d31c['get'](_0x825c0);_0xf948d5?(_0x825c0['_authorId']=_0xf948d5['_authorId'],'noop'!==_0x825c0['type']&&(_0x825c0['_aiSource']=_0xf948d5['_aiSource'])):_0x825c0['_authorId']=null;}for(const _0x400338 of _0x1239a7)'noop'!==_0x400338['type']&&(_0x400338['_aiSource']=_0x99d31c['get'](_0x400338)?.['_aiSource']);_0x4dba2b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xd3b379,_0x4dba2b),this['_lastSyncedOperationId']=_0x4dba2b),this['_bufferedOperations']=[..._0x1239a7],this['_applyOperationsSet'](_0x1a91d0),this['_updateServerHistory'](_0xd3b379);}catch(_0x4e360e){return console['error'](_0x4e360e),!0x1;}return!0x0;}_applyOperationsSet(_0x2a4d81,_0x4328ea=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x21deff=>{for(const _0x31fa79 of _0x2a4d81)this['_knownOperations']['add'](_0x31fa79),this['_addKnownRoot'](_0x31fa79),_0x21deff['batch']['addOperation'](_0x31fa79),this['editor']['model']['applyOperation'](_0x31fa79);});}_addKnownRoot(_0x10310e){const _0x296b45=this['_getAffectedRoot'](_0x10310e);_0x296b45&&this['_knownRootNames']['add'](_0x296b45);}_getAffectedRoot(_0xe48478){let _0x5377de,_0x5630c0;switch(_0xe48478['type']){case'insert':_0x5377de=_0xe48478['position']['root'];break;case'marker':if(_0x5630c0=_0xe48478['newRange'],!_0x5630c0)return null;_0x5377de=_0x5630c0['root'];break;case'addRootAttribute':_0x5377de=_0xe48478['root'];break;case'addRoot':_0x5377de=_0xe48478['affectedSelectable'];break;case'move':_0x5377de=_0xe48478['targetPosition']['root'];break;default:return null;}return _0x5377de['rootName'];}_updateServerHistory(_0x2a14af){_0x2a14af['forEach'](_0x52d209=>{const _0x3ea7dd=_0x52d209['clone']();_0x3ea7dd['_authorId']=_0x52d209['_authorId'],_0x3ea7dd['_isInit']=!!_0x52d209['_isInit'],_0x3ea7dd['_aiSource']=_0x52d209['_aiSource'],_0x3ea7dd['createdAt']=_0x52d209['createdAt'],_0x3ea7dd['baseVersion']+=this['_offset'],_0x52d209['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3ea7dd),this['serverHistory']['addOperation'](_0x3ea7dd);});}_handleReconnectionError(_0x58635d){const _0x301476=this['editor']['plugins']['get']('Notification'),_0x1f66a=this['editor']['locale'];_0x58635d||(_0x58635d=et(_0x1f66a,'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.')),_0x301476['showWarning'](_0x58635d,{'title':et(_0x1f66a,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](J)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x265a77)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x265a77)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x243f34){const _0x4b49e1=_0x243f34['map'](_0x2bc913=>_0x2bc913['toJSON']());return this['_compressor']['compress'](_0x4b49e1);}_decompressOperations(_0x4005c6,_0x5c3eb7){return this['_compressor']['decompress'](_0x4005c6)['map']((_0x2a0363,_0x2dc423)=>{const _0x1d11a3='init'==_0x5c3eb7[_0x2dc423]['type'];if('InsertOperation'==_0x2a0363['__className']){const _0x189297=_0x2a0363['position']['root'];!this['_document']['getRoot'](_0x189297)&&(this['_document']['createRoot']('$unknown',_0x189297)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2a0363['__className']){const _0x5d1935=this['_document']['getRoot'](_0x2a0363['rootName']);_0x5d1935&&'$unknown'==_0x5d1935['name']&&_0x2a0363['elementName']!=_0x5d1935['name']&&(_0x5d1935['name']=_0x2a0363['elementName']);}}const _0x3f457d=_0x4aa6c3['fromJSON'](_0x2a0363,this['_document']);return _0x3f457d['wasUndone']=_0x2a0363['wasUndone'],_0x3f457d['_isInit']=_0x1d11a3,_0x3f457d['_authorId']=_0x1d11a3?null:_0x5c3eb7[_0x2dc423]['userId'],_0x3f457d['_isDisconnection']='cs:removeUser'===_0x5c3eb7[_0x2dc423]['type'],_0x3f457d['_aiSource']=_0x2a0363['_aiSource']||void 0x0,_0x3f457d['createdAt']=_0x5c3eb7[_0x2dc423]['createdAt'],_0x3f457d;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x432e8f=this['editor']['plugins']['get'](Q)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x432e8f&&_0x432e8f['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function ot(_0x3eda1f,_0x454582){for(const _0x186769 of _0x3eda1f)_0x186769['baseVersion']=_0x454582++;}var rt=class{_ignoredOperations;_operationToId;constructor(_0x45ded0){this['_ignoredOperations']=_0x45ded0,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0xd45480){let _0x35d329=_0xd45480['length'];for(;_0x35d329--;){const _0x35b9a2=_0xd45480[_0x35d329];if(!this['_ignoredOperations']['has'](_0x35b9a2)){if(!this['_operationToId']['has'](_0x35b9a2)){const _0x59cd63=_0x3fa067()['slice'](0x1,0x12);this['_operationToId']['set'](_0x35b9a2,_0x59cd63);}return this['_operationToId']['get'](_0x35b9a2);}}}setIdForTheLastOperation(_0x36925b,_0x4e0f2a){if(!_0x4e0f2a)return;let _0x4f81fa=_0x36925b['length'];for(;_0x4f81fa--;){const _0x540d91=_0x36925b[_0x4f81fa];this['_ignoredOperations']['has'](_0x540d91)||this['_operationToId']['set'](_0x540d91,_0x4e0f2a);}}},ct=class extends _0x31fc40{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class CloudServicesCommentsAdapter extends _0x3d5c65{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x2d2254)());['_services'];static get requires(){return[J,_0x4a59f5,Q,_0x2de45a];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x11df24){super(_0x11df24),this['_services']=new Map();}async init(){const _0x524cb1=this['context'],_0x8646bb=_0x524cb1['plugins']['get'](_0x4a59f5);if(_0x524cb1['plugins']['get'](J)['addToReconnectionStack'](this),_0x8646bb['adapter']={'addCommentThread':async({channelId:_0xad858f,threadId:_0x2cedab,comments:_0x5de4e9,resolvedAt:_0x10182e,resolvedBy:_0x2cec46,context:_0x193a70,attributes:_0x3102d0})=>{const _0xb1ad57=await this['_getService'](_0xad858f)['addCommentThread']({'commentThreadId':_0x2cedab,'comments':_0x5de4e9['map'](_0x49a721=>function(_0x400bf0,_0x55c520,_0x1d1bc6){return{'commentThreadId':_0x1d1bc6,'commentId':_0x400bf0['commentId'],'userId':_0x400bf0['authorId'],'content':_0x400bf0['content'],'documentId':_0x55c520,'createdAt':_0x400bf0['createdAt'],'attributes':_0x400bf0['attributes']||{}};}(_0x49a721,_0xad858f,_0x2cedab)),'resolvedAt':_0x10182e,'resolvedBy':_0x2cec46,'context':_0x193a70,'attributes':_0x3102d0})['catch'](lt);return{'threadId':_0xb1ad57['commentThreadId'],'comments':_0xb1ad57['comments']};},'getCommentThread':async({channelId:_0x40fb97,threadId:_0x260074})=>{const _0x42d643=await this['_getService'](_0x40fb97)['getCommentThread'](_0x260074)['catch'](ht)['catch'](lt);return _0x42d643?_0x42d643['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x42d643]),{'threadId':_0x42d643['commentThreadId'],'comments':_0x42d643['comments']['map'](dt),'context':_0x42d643['context'],'resolvedAt':_0x42d643['resolvedAt'],'resolvedBy':_0x42d643['resolvedBy'],'attributes':_0x42d643['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1abc5e,threadId:_0x55b85d,context:_0x161d76,unlinkedAt:_0x44bfdd,attributes:_0x4f7558})=>this['_getService'](_0x1abc5e)['updateCommentThread']({'commentThreadId':_0x55b85d,'context':_0x161d76,'attributes':_0x4f7558,'unlinkedAt':_0x44bfdd})['catch'](ht)['catch'](lt),'resolveCommentThread':async({channelId:_0x5b4c45,threadId:_0x505162})=>{const _0xefbb5e=await this['_getService'](_0x5b4c45)['resolveCommentThread'](_0x505162)['catch'](ht)['catch'](lt);return{'threadId':_0xefbb5e['commentThreadId'],'resolvedAt':_0xefbb5e['resolvedAt'],'resolvedBy':_0xefbb5e['resolvedBy']};},'reopenCommentThread':async({channelId:_0x353f6a,threadId:_0x4627e2})=>this['_getService'](_0x353f6a)['reopenCommentThread'](_0x4627e2)['catch'](ht)['catch'](lt),'removeCommentThread':({channelId:_0x2a324d,threadId:_0x9883c3})=>this['_getService'](_0x2a324d)['removeCommentThread'](_0x9883c3)['catch'](ht)['catch'](lt),'addComment':({channelId:_0x1c8b9c,threadId:_0x50f649,commentId:_0x56fa52,content:_0x292e70,attributes:_0x11846a})=>this['_getService'](_0x1c8b9c)['addComment'](_0x50f649,_0x56fa52,_0x292e70,_0x11846a)['catch'](lt),'updateComment':({channelId:_0x33af6f,threadId:_0x24f2a2,commentId:_0x119af5,content:_0x5cf49a,attributes:_0x8bc34})=>this['_getService'](_0x33af6f)['updateComment'](_0x24f2a2,_0x119af5,_0x5cf49a,_0x8bc34)['catch'](ht)['catch'](lt),'removeComment':({channelId:_0x167525,threadId:_0x50fdca,commentId:_0x197d11})=>this['_getService'](_0x167525)['removeComment'](_0x50fdca,_0x197d11)['catch'](ht)['catch'](lt)},_0x524cb1 instanceof _0x54e3f1){const _0x124873=_0x524cb1['config']['get']('collaboration.channelId'),_0x3c6fc2=_0x524cb1['plugins']['get'](Q);await this['_setUpService'](_0x124873);const _0x1b0af0=await this['_services']['get'](_0x124873)['getConnectedSessions']();this['listenTo'](_0x3c6fc2,'sessionAdd:'+_0x124873,(_0x2997aa,{session:_0x2b5442})=>{_0x2b5442['id']===_0x3c6fc2['mySessionId']&&(_0x2997aa['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2b5442['permissions'],_0x124873));}),_0x3c6fc2['register'](_0x124873,_0x1b0af0);}}async _setUpService(_0x4dd643){if(this['_services']['has'](_0x4dd643))throw new _0x544475('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4dd643});const _0xb87cd8=this['context']['plugins']['get'](_0x4a59f5),_0x1d0438=new CloudServicesCommentsAdapter['CommentsService'](_0x4dd643);this['_services']['set'](_0x4dd643,_0x1d0438),this['listenTo'](_0x1d0438,'commentThreadAdded',(_0x4cd647,_0xe2caa3)=>{const {commentThreadId:_0x1c0869,documentId:_0x440ab7,context:_0x497697,attributes:_0x1f50dc,resolvedAt:_0x3c97f9,resolvedBy:_0xf4622c,comments:_0x2235ba}=_0xe2caa3;_0xb87cd8['getCommentThread'](_0x1c0869)||_0xb87cd8['addCommentThread']({'threadId':_0x1c0869,'channelId':_0x440ab7,'comments':_0x2235ba?_0x2235ba['map'](dt):[],'context':_0x497697,'attributes':_0x1f50dc,'resolvedAt':_0x3c97f9,'resolvedBy':_0xf4622c,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d0438,'commentThreadUpdated',(_0x399e81,{commentThreadId:_0x56f63a,documentId:_0x4b69d0,context:_0x2486b4,unlinkedAt:_0x2d7a93,attributes:_0x148e68})=>{_0xb87cd8['getCommentThread'](_0x56f63a)&&_0xb87cd8['updateCommentThread']({'threadId':_0x56f63a,'channelId':_0x4b69d0,'context':_0x2486b4,'unlinkedAt':_0x2d7a93,'attributes':_0x148e68,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d0438,'commentThreadResolved',(_0x1efe7e,{commentThreadId:_0x57c9bd,resolvedBy:_0x4c9e51,resolvedAt:_0x4472b6})=>{const _0xd14fc=_0xb87cd8['getCommentThread'](_0x57c9bd);_0xd14fc&&_0xd14fc['resolve']({'resolvedBy':_0x4c9e51,'resolvedAt':_0x4472b6,'isFromAdapter':!0x0});}),this['listenTo'](_0x1d0438,'commentThreadReopened',(_0x426a46,{commentThreadId:_0x554e69})=>{const _0x590c78=_0xb87cd8['getCommentThread'](_0x554e69);_0x590c78&&_0x590c78['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1d0438,'commentThreadRemoved',(_0x499845,{commentThreadId:_0x2832cc})=>{const _0x3fe2b0=_0xb87cd8['getCommentThread'](_0x2832cc);_0x3fe2b0&&_0x3fe2b0['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1d0438,'commentAdded',(_0xb774fe,_0x48cc21)=>{const _0x21471f=_0x48cc21['commentThreadId'],_0x36369f=_0xb87cd8['getCommentThread'](_0x21471f);_0x36369f&&_0x36369f['addComment']({...dt(_0x48cc21),'isFromAdapter':!0x0});}),this['listenTo'](_0x1d0438,'commentUpdated',(_0x862e52,{commentThreadId:_0x1c8c4d,commentId:_0x439cbd,content:_0xaa9e7f,attributes:_0x208291})=>{const _0x59f0a9=_0xb87cd8['getCommentThread'](_0x1c8c4d);if(_0x59f0a9){const _0x413fae=_0x59f0a9['getComment'](_0x439cbd);_0x413fae&&_0x413fae['update']({'content':_0xaa9e7f,'attributes':_0x208291,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1d0438,'commentRemoved',(_0x573796,{commentThreadId:_0x265c48,commentId:_0x30bd3d})=>{const _0x24d09b=_0xb87cd8['getCommentThread'](_0x265c48);if(_0x24d09b){const _0x4f83cf=_0x24d09b['getComment'](_0x30bd3d);_0x4f83cf&&_0x4f83cf['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x1d0438,'disconnected',()=>{'connected'===this['context']['plugins']['get'](J)['connection']?.['state']&&(this['_services']['delete'](_0x4dd643),this['stopListening'](_0x1d0438));}),await this['_connectService'](_0x4dd643);}destroy(){if(this['context']instanceof _0x54e3f1){const _0x14041d=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x14041d)&&this['_terminateService'](_0x14041d);}}_terminateService(_0x481616){if(!this['_services']['has'](_0x481616))throw new _0x544475('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x481616});this['_getService'](_0x481616)['disconnect'](),this['_services']['delete'](_0x481616);}async reconnect(){for(const _0x477e0c of this['_services']['keys']())await this['_connectService'](_0x477e0c);if(this['context']instanceof _0x54e3f1){const _0x250dc5=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x250dc5)){const _0x39b7ad=this['context']['plugins']['get'](Q);_0x39b7ad['unregister'](_0x250dc5);const _0x5f2428=await this['_services']['get'](_0x250dc5)['getConnectedSessions']();_0x39b7ad['register'](_0x250dc5,_0x5f2428);}}}async _connectService(_0xb7f563){const {connection:_0x3957ff}=this['context']['plugins']['get'](J),_0x1dcf0e=this['context']['plugins']['get'](_0x4a59f5),_0xec544a=await this['_services']['get'](_0xb7f563)['connect'](_0x3957ff);await this['_fetchMissingUsersForThreads'](_0xec544a);const _0x55d757=new Set(Array['from'](_0x1dcf0e['getCommentThreads']({'channelId':_0xb7f563}),_0x2e2fc6=>_0x2e2fc6['id']));for(const _0xd1e896 of _0xec544a)_0xd1e896['deletedAt']||_0x55d757['delete'](_0xd1e896['commentThreadId']);for(const _0x21e2c6 of _0x55d757)_0x1dcf0e['getCommentThread'](_0x21e2c6)['remove']({'isFromAdapter':!0x0});for(const _0x14c484 of _0xec544a){let _0x423cfe=_0x1dcf0e['getCommentThread'](_0x14c484['commentThreadId']);const {commentThreadId:_0x30661e,context:_0x3cfa38,attributes:_0x35b5af,resolvedBy:_0x5c5c93,resolvedAt:_0xd25ddd,unlinkedAt:_0x13e5b2,deletedAt:_0x43df0d}=_0x14c484;if(_0x43df0d)continue;_0x423cfe||(_0x423cfe=_0x1dcf0e['addCommentThread']({'channelId':_0xb7f563,'threadId':_0x30661e,'context':_0x3cfa38,'attributes':_0x35b5af||{},'resolvedBy':_0x5c5c93,'resolvedAt':_0xd25ddd,'unlinkedAt':_0x13e5b2,'isFromAdapter':!0x0}));const _0x2a8eb3=new Set(Array['from'](_0x423cfe['comments'],_0x57bfc0=>_0x57bfc0['id']));for(const _0x1adac2 of _0x14c484['comments'])_0x2a8eb3['delete'](_0x1adac2['commentId']);for(const _0x2f06ea of _0x2a8eb3)_0x423cfe['getComment'](_0x2f06ea)['remove']({'isFromAdapter':!0x0});for(const _0x30bd34 of _0x14c484['comments']){const _0x5be074=_0x423cfe['getComment'](_0x30bd34['commentId']);_0x5be074?_0x5be074['content']!==_0x30bd34['content']&&_0x5be074['update']({'content':_0x30bd34['content'],'isFromAdapter':!0x0}):_0x423cfe['addComment'](Object['assign'](dt(_0x30bd34),{'isFromAdapter':!0x0}));}}}_getService(_0x354af2){if(!this['_services']['has'](_0x354af2))throw new _0x544475('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x354af2});return this['_services']['get'](_0x354af2);}async _fetchMissingUsersForThreads(_0x44cc6e){const _0x440f3c=this['context']['plugins']['get'](_0x2de45a),{connection:_0xff8897}=this['context']['plugins']['get'](J),_0x59b28=new Set();for(const {resolvedBy:_0x2cbc56,comments:_0x49135d}of _0x44cc6e){_0x2cbc56&&!_0x440f3c['getUser'](_0x2cbc56)&&_0x59b28['add'](_0x2cbc56);for(const {userId:_0x46687d}of _0x49135d)_0x440f3c['getUser'](_0x46687d)||_0x59b28['add'](_0x46687d);}if(0x0===_0x59b28['size'])return;const _0x7eaa89=await _0x57eb50['getMany'](_0xff8897,Array['from'](_0x59b28));for(const _0x2144f0 of _0x7eaa89)_0x440f3c['getUser'](_0x2144f0['id'])||_0x440f3c['addUser'](_0x2144f0);}};async function ht(_0x4b0d00){if('404'!==_0x4b0d00['code'])throw _0x4b0d00;}function lt(_0x406e57){if((_0x483d47=_0x406e57)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x483d47['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x483d47['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x483d47;throw _0x406e57;}function dt(_0x5aedaa){return{'threadId':_0x5aedaa['commentThreadId'],'commentId':_0x5aedaa['commentId'],'content':_0x5aedaa['content'],'createdAt':_0x5aedaa['createdAt'],'authorId':_0x5aedaa['userId'],'attributes':_0x5aedaa['attributes']||{}};}var ut=class CloudServicesTrackChangesAdapter extends _0x31fc40{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0xe48cc6)());_bufferedRequests;_trackChangesService;static get requires(){return[at,_0x53e314,J];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e4d27){super(_0x1e4d27);const _0x4b3143=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x4b3143);}init(){const _0xbedd38=this['editor']['plugins']['get'](J),_0x50d168=this['editor']['plugins']['get'](_0x53e314);return _0x50d168['adapter']={'getSuggestion':async _0x2bdf08=>{await this['_waitForServiceReady']();const _0x34fa93=await this['_trackChangesService']['get'](_0x2bdf08)['catch'](ft);return await this['_fetchMissingUsersForThreads']([_0x34fa93]),_0x34fa93;},'addSuggestion':async({id:_0x160b15,type:_0x3513fc,data:_0x4056d2,originalSuggestionId:_0x522f85,attributes:_0x361d3d})=>{await this['_waitForServiceReady']();const _0x3b9f57={'id':_0x160b15,'type':_0x3513fc,'data':_0x4056d2,'originalSuggestionId':_0x522f85,'attributes':_0x361d3d},_0x4de8ba=await this['_trackChangesService']['add'](_0x160b15,_0x3513fc,_0x4056d2,_0x522f85,_0x361d3d)['catch'](_0x36c52f=>{if(mt(_0x36c52f))return new Promise(_0x39e569=>{this['_bufferedRequests']['set'](_0x160b15,{'resolve':_0x39e569,'suggestionData':_0x3b9f57});});throw _0x36c52f;});return this['_bufferedRequests']['delete'](_0x160b15),_0x4de8ba;},'updateSuggestion':async(_0x27de9d,_0x3c76f3)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3c76f3['state'])return this['_trackChangesService']['update'](_0x27de9d,_0x3c76f3)['catch'](ft);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x2cbc9d,_0x428124)=>{_0x50d168['hasSuggestion'](_0x428124['id'])&&(_0x50d168['getSuggestion'](_0x428124['id'])['attributes']=_0x428124['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0xbedd38['connection']?.['state']&&(_0xbedd38['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0xbedd38['connection'])['then'](_0x330954=>(_0xbedd38['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x330954)['then'](()=>{for(const _0x5397e2 of _0x330954){_0x50d168['addSuggestionData'](_0x5397e2)['_saved']=!0x0;}})));}async reconnect(){const _0x278777=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x12a99e}=this['editor']['plugins']['get'](J),_0x234067=await this['_trackChangesService']['connect'](_0x12a99e);await this['_fetchMissingUsersForThreads'](_0x234067);for(const {suggestionData:_0x3fa1f3,resolve:_0x2604b9}of this['_bufferedRequests']['values']()){let _0x42ea80=_0x234067['find'](_0x58cc20=>_0x58cc20['id']===_0x3fa1f3['id']);_0x42ea80||(_0x42ea80=await this['_trackChangesService']['add'](_0x3fa1f3['id'],_0x3fa1f3['type'],_0x3fa1f3['data'],_0x3fa1f3['originalSuggestionId'])),_0x2604b9(_0x42ea80);}for(const _0x29ec47 of _0x234067)_0x278777['hasSuggestion'](_0x29ec47['id'])||_0x278777['addSuggestionData'](_0x29ec47);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x58dfdc=>{this['listenTo'](this['_trackChangesService'],'connected',_0x4e22d6=>{_0x4e22d6['off'](),_0x58dfdc();});});}async _fetchMissingUsersForThreads(_0x18b278){const _0x36fcd7=this['editor']['plugins']['get'](_0x2de45a),{connection:_0x196a62}=this['editor']['plugins']['get'](J),_0x1c3e31=new Set();for(const {authorId:_0x53a1a5}of _0x18b278)_0x36fcd7['getUser'](_0x53a1a5)||_0x1c3e31['add'](_0x53a1a5);if(0x0===_0x1c3e31['size'])return;const _0x203beb=await _0x57eb50['getMany'](_0x196a62,Array['from'](_0x1c3e31));for(const _0x4f4b60 of _0x203beb)_0x36fcd7['getUser'](_0x4f4b60['id'])||_0x36fcd7['addUser'](_0x4f4b60);}};function ft(_0x42783c){if(mt(_0x42783c))return new Promise(()=>{});throw _0x42783c;}function mt(_0x239b14){return _0x239b14['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x239b14['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var pt=class extends _0x31fc40{static get requires(){return[_0x1b2357,at,ct,J];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x3202a7=this['editor']['plugins']['get'](J),_0x57fecd=this['editor']['plugins']['get'](_0x164838),_0x3193d6=this['editor']['plugins']['get'](at);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3202a7,'change:state',(_0x2c5649,_0x53d16b,_0x58daca)=>{_0x57fecd['isThreadsLoadingPaused']='connected'!==_0x58daca;});}),this['listenTo'](_0x3202a7,'change:state',(_0x1d1cdd,_0x1aafd5,_0x30a2c5)=>{this['editor']['plugins']['get'](_0x4a59f5)['switchReadOnly']('connected'!==_0x30a2c5);}),_0x3193d6['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x4abfea=this['editor']['plugins']['get'](at),_0x123e65=this['editor']['config']['get']('collaboration.channelId');_0x4abfea['_services']['has'](_0x123e65)&&_0x4abfea['_terminateService'](_0x123e65),super['destroy']();}},gt=class extends _0x31fc40{static get requires(){return[pt,ut,_0x22666b];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class CloudServicesRevisionHistoryAdapter extends _0x31fc40{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x44fe60)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[J,it,_0x2f93b0,Q,_0x2de45a];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4de69a){super(_0x4de69a);const _0xfa808e=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0xfa808e);}async init(){const _0x5f17e4=this['editor']['plugins']['get'](it),_0x37424b=_0x5f17e4['serverHistory'],_0xbc0b23=this['editor']['plugins']['get'](J);this['_revisionTracker']['setSource']({'history':_0x37424b,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5f17e4['sessionId']});const _0x9f6e0=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x5643f0,_0x43889f=await _0x49285b['isBundleUploaded'](_0xbc0b23['connection'],_0x9f6e0);this['editor']['plugins']['get'](_0x2f93b0)['adapter']={'getRevision':async({revisionId:_0x309190})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x309190)),'updateRevisions':async _0x1be171=>{await this['_waitForServiceReady']();const _0x126b86=this['_revisionTracker']['currentRevision'];if(_0x43889f&&0x1===_0x1be171['length']&&_0x1be171[0x0]['id']===_0x126b86['id'])return _0x1be171;for(const _0x5b2fcb of _0x1be171)_0x5b2fcb['id']===_0x126b86['id']&&(_0x5b2fcb['isEmptyCurrent']=_0x5b2fcb['fromVersion']===_0x5b2fcb['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1be171,this['_lastRequestId'])['then'](_0x51b20d=>(this['_lastRequestId']=_0x51b20d,_0x1be171))['catch'](_0x4511b4=>{if(vt(_0x4511b4)||'400'===_0x4511b4['code']&&void 0x0!==_0x4511b4['data']['wrongRequestId']){for(const _0x3d1f61 of _0x1be171)this['_revisionTracker']['repository']['getRevision'](_0x3d1f61['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x3d1f61['id'],_0x3d1f61,!0x1);if(vt(_0x4511b4)&&'destroyed'!==this['editor']['state'])throw _0x4511b4;return _0x1be171;}throw _0x4511b4;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x237cd5,{revisionsData:_0x399ca5,requestId:_0x253532})=>{Math['max'](..._0x399ca5['map'](_0x583691=>_0x583691['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x399ca5,_0x253532);}):this['_handleRevisionsUpdate'](_0x399ca5,_0x253532);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0xbc0b23['connection']?.['state']&&(_0xbc0b23['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x514fa6,requestId:_0x22b4da}=await this['_revisionHistoryService']['connect'](_0xbc0b23['connection']);_0xbc0b23['addToReconnectionStack'](this),this['_lastRequestId']=_0x22b4da,await this['_fetchMissingUsers'](_0x514fa6);for(const _0xf7ff69 of _0x514fa6)this['_revisionTracker']['addRevisionData'](_0xf7ff69);this['listenTo'](_0x5f17e4,'change:_isConnected',(_0x10eb72,_0x41093b,_0x3fc7cf)=>{_0x3fc7cf&&(this['_oldOffset']=_0x5f17e4['_offset'],_0x10eb72['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x4026cd=this['editor']['plugins']['get'](J),_0x53b204=this['editor']['plugins']['get'](it),_0x192c91=async()=>{const _0x38bdca=this['_revisionTracker']['currentRevision'],_0x4afea5=_0x38bdca['id'],_0x437a0f=_0x4afea5!==_0x53b204['sessionId'];if(_0x437a0f){const _0x22ec27=_0x53b204['_offset']-this['_oldOffset'],_0x1429bf=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x38bdca['toVersion']+_0x22ec27!==_0x1429bf){const _0x115111=_0x38bdca['fromVersion']+_0x22ec27,_0x3e53f3=this['editor']['plugins']['get'](_0x2de45a),_0x21bed7=this['_revisionTracker']['buildRevisionData']({'revision':_0x38bdca,'from':_0x115111,'to':_0x1429bf});_0x21bed7['id']=_0x38bdca['id'];const _0x1bcef6=_0x21bed7['authorsIds']['map'](_0x20dafe=>_0x3e53f3['getUser'](_0x20dafe));_0x38bdca['_update']({..._0x21bed7,'authors':_0x1bcef6},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x38bdca['id'],_0x21bed7,!0x0);}this['_revisionTracker']['_startingVersion']=_0x1429bf,_0x38bdca['toVersion']!==_0x38bdca['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x4afea5)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x4afea5),this['_revisionTracker']['_createCurrentRevision'](_0x1429bf);}const {revisions:_0x3260d7,requestId:_0x19b419}=await this['_revisionHistoryService']['reconnect'](_0x4026cd['connection'],this['_lastRequestId']);_0x437a0f&&_0x3260d7['length']>0x0?_0x53b204['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3260d7),this['_handleRevisionsUpdate'](_0x3260d7,_0x19b419),this['_revisionTracker']['sendBufferedUpdates']());};return _0x53b204['_isConnected']?_0x192c91():new Promise((_0x22e388,_0x59668b)=>{_0x53b204['once']('change:_isConnected',()=>{_0x192c91()['then'](_0x22e388)['catch'](_0x59668b);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5ccafc=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x855eba=>{_0x855eba['off'](),_0x5ccafc();});});}_getLatestVersionFromServerOperations(){const _0x4143e7=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0xfecbc5 of _0x4143e7)if('marker'!==_0xfecbc5['type']||_0xfecbc5['affectsData'])return _0xfecbc5['baseVersion']+0x1;}_getLatestVersion(){const _0x418d62=this['editor']['plugins']['get'](it);return new Promise(_0x391ec7=>{_0x418d62['_isPendingUpdate']?_0x418d62['once']('change:_isPendingUpdate',()=>{_0x391ec7(this['_getLatestVersionFromServerOperations']());}):_0x391ec7(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x231f34,_0x344f3e){const _0x3a70a0=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x344f3e;for(const _0x1f9a85 of _0x231f34){const _0x581c44=_0x3a70a0['getRevision'](_0x1f9a85['id']);if(_0x581c44){if((_0x1f9a85['fromVersion']||_0x1f9a85['toVersion'])&&(_0x1f9a85['diffData']=null),_0x581c44===this['_revisionTracker']['currentRevision']){const _0x26a1b3=Math['max'](_0x581c44['toVersion'],_0x1f9a85['toVersion']),_0x387fae=Math['max'](_0x581c44['fromVersion'],_0x1f9a85['fromVersion']);let _0x39c5df;_0x581c44['toVersion']===_0x1f9a85['toVersion']&&_0x581c44['fromVersion']===_0x1f9a85['fromVersion']?(_0x39c5df=!0x0,this['_preventResendingRevisionData'](_0x1f9a85)):_0x1f9a85['toVersion']===_0x26a1b3&&_0x1f9a85['fromVersion']===_0x387fae?_0x39c5df=!0x1:(_0x581c44['toVersion']===_0x26a1b3&&_0x581c44['fromVersion']===_0x387fae||this['_fixRevision']({'revision':_0x581c44,'from':_0x387fae,'to':_0x26a1b3}),_0x39c5df=!0x0),_0x39c5df&&(delete _0x1f9a85['fromVersion'],delete _0x1f9a85['toVersion'],delete _0x1f9a85['diffData'],delete _0x1f9a85['createdAt'],delete _0x1f9a85['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1f9a85),this['_preventResendingRevisionData'](_0x1f9a85);}else this['_revisionTracker']['addRevisionData'](_0x1f9a85);}const _0x4d1229=_0x3a70a0['getRevisions']();_0x4d1229['reverse']();for(let _0x2152c2=0x0;_0x2152c2<_0x4d1229['length']-0x1;_0x2152c2++){const _0x29bc38=_0x4d1229[_0x2152c2],_0x1537f4=_0x4d1229[_0x2152c2+0x1];if(_0x29bc38['fromVersion']<_0x1537f4['toVersion']){const _0x1270b6=_0x1537f4['toVersion'],_0x4ce2af=Math['max'](_0x1270b6,_0x29bc38['toVersion']);this['_fixRevision']({'revision':_0x29bc38,'from':_0x1270b6,'to':_0x4ce2af});}}}['_fixRevision']({revision:_0x49baa4,from:_0x28d11a,to:_0x3d34c7}={}){const _0x3c425=this['editor']['plugins']['get'](_0x2de45a),_0x365b2b=this['_revisionTracker']['buildRevisionData']({'revision':_0x49baa4,'from':_0x28d11a,'to':_0x3d34c7});_0x365b2b['authors']=_0x365b2b['authorsIds']['map'](_0x383f5a=>_0x3c425['getUser'](_0x383f5a)),_0x49baa4['_update'](_0x365b2b);}_preventResendingRevisionData(_0x53c79d){const _0x49b487={};_0x49b487['id']=_0x53c79d['id'];for(const _0x1095af of Object['keys'](_0x53c79d))'id'!==_0x1095af&&(_0x49b487[_0x1095af]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x49b487['id'],_0x49b487,!0x0);}async _fetchMissingUsers(_0x39518c){const _0x3e71fb=this['editor']['plugins']['get'](_0x2de45a),{connection:_0x35e760}=this['editor']['plugins']['get'](J),_0x4c967b=new Set();for(const _0x412ec5 of _0x39518c){for(const _0x23bb99 of _0x412ec5['authorsIds'])_0x499e02(_0x23bb99);_0x412ec5['creatorId']&&_0x499e02(_0x412ec5['creatorId']);}if(0x0===_0x4c967b['size'])return;const _0x50ef6c=await _0x57eb50['getMany'](_0x35e760,Array['from'](_0x4c967b));for(const _0x42c6e9 of _0x50ef6c)_0x3e71fb['getUser'](_0x42c6e9['id'])||_0x3e71fb['addUser'](_0x42c6e9);function _0x499e02(_0x2a461b){_0x3e71fb['getUser'](_0x2a461b)||_0x4c967b['add'](_0x2a461b);}}};function vt(_0x59b54d){return _0x59b54d['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x59b54d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x59b54d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var _t=class extends _0x31fc40{static get requires(){return[_0x2f93b0,wt,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},yt=class extends _0x521af7{_collapseAt;constructor(_0x5bbbae,_0x158a40=0x6){super(_0x5bbbae);const _0x398280=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x158a40,this['bind']('isHidden')['to'](this,'usersCount',_0x38d28f=>_0x38d28f<_0x158a40),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x398280['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':_0x398280['to']('usersCount',_0x7334fd=>'+'+(_0x7334fd-this['_collapseAt']+0x2)['toString']())}]}]}]});}},bt=class extends _0x521af7{items;keystrokes;constructor(_0x501a04){super(_0x501a04);const _0x4c96ef=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1e4d88(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4c96ef['if']('hasPopup'),'aria-expanded':_0x4c96ef['to']('isExpanded',_0xe237d1=>this['hasPopup']&&String(_0xe237d1)),'aria-label':_0x4c96ef['to']('hasPopup',_0x5c9a86=>et(_0x501a04,_0x5c9a86?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4c96ef['to']('hasPopup',_0xbaa985=>!!_0xbaa985&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x305909,_0x3fef3f,_0x354b3d)=>{this['element']&&(_0x354b3d?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},kt=class extends _0x521af7{counterView;inlineListView;constructor(_0x2ea932,_0x3430e2=0x6){super(_0x2ea932);const _0x5128b5=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new yt(this['locale'],_0x3430e2),this['inlineListView']=new bt(_0x2ea932),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5731b4 of this['inlineListView']['items'])_0x5731b4['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',_0x5128b5['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},It=class extends _0x521af7{listWrapperView;constructor(_0x1a35cb,_0x58e8cb){super(_0x1a35cb),this['listWrapperView']=new St(_0x1a35cb,_0x58e8cb),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x1a35cb,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},St=class extends _0x2fc7d0{constructor(_0x4782d1,_0x27508a){super(_0x4782d1);const _0x4a2233=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x27508a?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4a2233['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4a2233['to']('role'),'aria-label':_0x4a2233['to']('ariaLabel'),'aria-labelledby':_0x4a2233['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x48a199['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2f815c=this['element'];_0x2f815c&&(this['_isScrollable']=Math['max'](_0x2f815c['scrollHeight'],_0x2f815c['clientHeight'])>0.8*window['innerHeight']);}},Tt=class extends _0x3ebef7{['userView'];constructor(_0x4d67c2,_0x2ce5d6,_0xcea305){super(_0x4d67c2);const _0x496f56=this['bindTemplate'];this['userView']=new _0x13ed79(_0x4d67c2,_0x2ce5d6);const _0x227ea9={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2ce5d6['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2ce5d6['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2ce5d6['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2ce5d6['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2ce5d6['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0xcea305&&(_0x227ea9['tag']='button',_0x227ea9['on']={'click':_0x496f56['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x227ea9);}['focus'](){this['element']['focus']();}},Ct=class extends _0x521af7{['userView'];['markerView'];constructor(_0xde400e,_0x4a4a68,_0x46d555){super(_0xde400e);const _0x44a5e7=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x13ed79(_0xde400e,_0x4a4a68),this['markerView']=new At(_0xde400e,_0x4a4a68);const _0x106e2e=new _0x27bdd1(_0xde400e);_0x106e2e['template']['tag']='span',_0x106e2e['text']=_0x4a4a68['name'];const _0xc70262={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x44a5e7['to']('isFocusable',_0x17e397=>!!_0x17e397&&0x0),'aria-labelledby':_0x106e2e['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x44a5e7['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x44a5e7['to']('hasTooltip',_0x3576b0=>!_0x3576b0),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x106e2e]};_0x46d555&&(_0xc70262['tag']='button',_0xc70262['on']={'click':_0x44a5e7['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xc70262);}},At=class extends _0x521af7{constructor(_0xfcb451,_0x364225){super(_0xfcb451),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x364225['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x364225['color']['getColorVariable'](),'--ck-user-color-alpha':_0x364225['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Pt={'collapseAt':0x6,'displayMe':!0x0};var Ot=class extends _0x3d5c65{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x410f9e){super(_0x410f9e),this['context']['config']['define']('presenceList',Pt);const _0x230d1c=_0x410f9e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x230d1c)throw new _0x544475('presencelist-collapseat-invalid-format',this);if(_0x230d1c<0x1)throw new _0x544475('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Q)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5e9f23(),this['balloonPanelView']=new _0x4167d7(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Q];}init(){for(const _0x4b2461 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4b2461);this['listenTo'](this['_allConnectedUsers'],'add',(_0xd7e968,_0x34622e)=>{this['_handleUserAdd'](_0x34622e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1ca83b,_0x32b8e0)=>{this['_handleUserRemove'](_0x32b8e0);});}_createView(){const _0x132ec3=this['context'],_0x2359e4=new kt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3fd56f=this['balloonPanelView'];if(!_0x70fece(_0x132ec3['config']['get']('presenceList.container')))throw new _0x544475('presencelist-missing-container',this);_0x2359e4['counterView']['bind']('usersCount')['to'](this),_0x2359e4['bind']('isCollapsed')['to'](this,'usersCount',_0x59a207=>{const {collapseAt:_0x188c2f}=_0x132ec3['config']['get']('presenceList'),_0x2b8847=_0x59a207>=_0x188c2f;if(_0x2b8847&&!_0x2359e4['inlineListView']['items']['find'](_0x90d7e=>_0x90d7e instanceof yt)){const _0x24f37d=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x24f37d&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2359e4['inlineListView']['items']['add'](_0x2359e4['counterView']);}return _0x2b8847||this['hideDropdown'](),_0x2b8847;}),_0x2359e4['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5d81f2=>{const _0xf67ba2=_0x132ec3['config']['get']('presenceList'),_0x55a78c=new Ct(_0x132ec3['locale'],_0x5d81f2,!!_0xf67ba2['onClick']);return _0x55a78c['bind']('hasTooltip')['to'](_0x2359e4,'isCollapsed',_0x1b492c=>!_0x1b492c),_0x55a78c['bind']('isFocusable')['to'](_0x2359e4,'isCollapsed',_0x289b89=>!_0x289b89),_0xf67ba2['onClick']&&this['listenTo'](_0x55a78c,'execute',()=>{this['view']['isCollapsed']||_0xf67ba2['onClick'](_0x5d81f2,_0x55a78c['element']);}),_0x55a78c;}),_0x2359e4['inlineListView']['keystrokes']['set']('Enter',(_0x30d250,_0x3d8650)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x3d8650());}),_0x2359e4['render'](),_0x3fd56f['render'](),_0x2359e4['listenTo'](_0x2359e4['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x52c840=(_0x3245cc,_0x5150f5)=>{this['_hideDropdownUnlessPointerInside'](_0x5150f5);};return _0x2359e4['listenTo'](_0x2359e4['inlineListView']['element'],'mouseleave',_0x52c840),_0x2359e4['listenTo'](_0x3fd56f['element'],'mouseleave',_0x52c840),_0x2a0934({'emitter':_0x2359e4,'activator':()=>_0x3fd56f['isVisible'],'contextElements':[_0x3fd56f['element'],_0x2359e4['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x132ec3['config']['get']('presenceList.container')['appendChild'](_0x2359e4['element']),this['_overlayHost']=new _0x3a31c7(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x2359e4;}_resolveOverlayTarget(){const _0x23c5c7=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x23c5c7)return _0x23c5c7;const _0x46d90d=this['context']['config']['get']('presenceList.container');return _0x46d90d?_0x14ab56(_0x46d90d):null;}['_handleUserAdd'](_0x46a3ef){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x46a3ef['isMe'])return;const _0x49eb51=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x49eb51-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x210b82=_0x46a3ef['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x46a3ef,_0x210b82);}['_handleUserRemove'](_0x2709cd){this['usersCount']--;const {collapseAt:_0x34a079}=this['context']['config']['get']('presenceList'),_0x542546=this['usersCount']>=_0x34a079;if(this['currentDisplayedUsers']['get'](_0x2709cd['id']))this['currentDisplayedUsers']['remove'](_0x2709cd['id']);else{if(_0x542546&&this['currentDisplayedUsers']['length']+0x1===_0x34a079-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x542546?0x1:0x0)<this['usersCount']){for(const _0x42b5e2 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x42b5e2['id'])&&(this['currentDisplayedUsers']['add'](_0x42b5e2,Math['min'](this['currentDisplayedUsers']['length']-(_0x542546?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x542546?0x1:0x0)===_0x34a079-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x28a584=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new It(this['context']['locale'],!!_0x28a584['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x289fff}=this['presenceDropdownView'];_0x289fff['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1a818a=>{if(!_0x28a584['displayMe']&&_0x1a818a['isMe'])return null;const _0x4d765f=new Tt(this['context']['locale'],_0x1a818a,!!_0x28a584['onClick']);return _0x28a584['onClick']&&this['listenTo'](_0x4d765f,'execute',()=>{_0x28a584['onClick'](_0x1a818a,_0x4d765f['element']);}),_0x4d765f;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x289fff['focus'](),_0x289fff['checkIfScrollable']();const _0x3c5037=(_0x365fe1,_0x33adf7)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x33adf7();};_0x289fff['keystrokes']['set']('Esc',_0x3c5037),_0x289fff['keystrokes']['set']('Shift+Tab',_0x3c5037),_0x289fff['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x289fff['focusTracker']['add'](this['view']['element']),_0x289fff['focusTracker']['on']('change:isFocused',(_0x299d5f,_0x35d7bc,_0x62bc40)=>{_0x62bc40||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(_0x648ba7){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x592931=>_0x155aa1(_0x592931,_0x648ba7))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},xt=class extends _0x3d5c65{static get requires(){return[Q,Ot];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{at as CloudServicesCommentsAdapter,wt as CloudServicesRevisionHistoryAdapter,ut as CloudServicesTrackChangesAdapter,xt as PresenceList,Ot as PresenceListUI,it as RealTimeCollaborationClient,pt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,_t as RealTimeCollaborativeRevisionHistory,gt as RealTimeCollaborativeTrackChanges,Q as Sessions,J as WebSocketGateway};
|