@ckeditor/ckeditor5-real-time-collaboration 49.0.0-alpha.1 → 49.0.0-alpha.2
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 _0x24b052,ContextPlugin as _0x40687c,PendingActions as _0x46b075,Plugin as _0x42c452}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x18c6f6,Collection as _0x1c9906,DomEmitterMixin as _0x383f17,KeystrokeHandler as _0x362adb,getOverlayMountRoot as _0x42ec83,global as _0x4ce874,trustedHtml as _0x1c6d73,uid as _0x1a59ca,version as _0xfc776a}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0xa07487,LabelView as _0x4257d6,ListItemView as _0x1a0ed4,ListView as _0x492574,Notification as _0x463ec2,OverlayHost as _0x94d82e,View as _0x51c765,clickOutsideHandler as _0x5074c4}from'@ckeditor/ckeditor5-ui';import{History as _0x144afa,InsertOperation as _0x23e4aa,MarkerOperation as _0x336d67,ModelLiveRange as _0xbf4ce7,NoOperation as _0x2cb42f,OperationFactory as _0x4573e3,RootAttributeOperation as _0x4e4ab8,transformOperationSets as _0x1d7d93}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x3d8009}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0xcc0716,CommentsService as _0x4e0964,EditorService as _0x3c7c32,RevisionHistoryService as _0x1faca0,TrackChangesService as _0x52527a,User as _0x4e1e1e,WEB_SOCKET_GATEWAY_STATES as _0x4f05a5,WebSocketGateway as _0x41cf6c}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x61d070,Users as _0x1f9655,isPointerStillOver as _0x1a1620}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x2d43fb}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x15dd8e,TrackChangesEditing as _0x4a0de4}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x12fcfb,CommentsEditing as _0x3a4fbd,CommentsRepository as _0x2f6c6e}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x595b6f}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x42df98}from'es-toolkit/compat';var J=class WebSocketGateway extends _0x40687c{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x41cf6c)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x3d8009,_0x463ec2];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x53a012){super(_0x53a012),this['set']('state',_0x4f05a5['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x383f17())();}init(){const _0x16b891=this['context'],_0x51fd4d=_0x16b891['plugins']['get'](_0x3d8009),_0x4adf6f=_0x16b891['plugins']['get'](_0x463ec2);if(!_0x51fd4d['token'])throw new _0x18c6f6('websocketgateway-missing-token',this);if(!_0x51fd4d['webSocketUrl'])throw new _0x18c6f6('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'](_0x51fd4d['token'],_0x51fd4d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xe6cf2a=>{if(this['connection']=_0xe6cf2a,this['bind']('state')['to'](_0xe6cf2a,'state',this,'_isBrowserOffline',(_0x292797,_0x2e8d18)=>('connected'!==_0x292797&&(this['_shouldPluginsReconnect']=!0x0),_0x2e8d18||_0x292797!==_0x4f05a5['CONNECTED']?_0x4f05a5['DISCONNECTED']:this['state']==_0x4f05a5['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4f05a5['CONNECTING']):_0x4f05a5['CONNECTED'])),this['connection']['on']('error',(_0x26d596,_0x51f1eb)=>{if('limitExceeded'!==_0x51f1eb['code'])throw console['error'](_0x51f1eb),new _0x18c6f6('cloudservices-init',null,{'originalError':_0x51f1eb});_0x4adf6f['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'});}),!_0xe6cf2a['me'])return new Promise(_0x2ce652=>_0xe6cf2a['on']('change:me',_0x2ce652));})['catch'](_0x4b0775=>{throw console['error'](_0x4b0775),new _0x18c6f6('cloudservices-init',null,{'originalError':_0x4b0775});});}addToReconnectionStack(_0x153cbe){if('function'!=typeof _0x153cbe['reconnect'])throw new _0x18c6f6('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x153cbe))throw new _0x18c6f6('websocketgateway-plugin-already-registered',this,{'name':_0x153cbe['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x153cbe);}removeFromReconnectionStack(_0x3ae201){this['_reconnectionStack']['delete'](_0x3ae201);}isInReconnectionStack(_0x49dc4a){return this['_reconnectionStack']['has'](_0x49dc4a);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x518791=>_0x518791['reconnect']())))['then'](()=>this['state']=_0x4f05a5['CONNECTED'])['catch'](_0x3ecfce=>{throw console['error'](_0x3ecfce),new _0x18c6f6('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4f05a5['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Q=class extends _0x40687c{['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,_0x1f9655];}constructor(_0x2c3cce){super(_0x2c3cce),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1c9906(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1f9655);}init(){const _0x33119a=this['context']['plugins']['get'](J);this['listenTo'](_0x33119a,'change:state',(_0x57563e,_0xfbfdf8,_0x5139df)=>{if('connected'!==_0x5139df)this['channelSessions']['forEach'](_0x3c0d86=>_0x3c0d86['clear']()),this['channelConnectedUsers']['forEach'](_0x28c2e2=>_0x28c2e2['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x8b3075,_0x27e5a6]of this['_registeredSessions'])for(const _0x49e444 of _0x27e5a6)this['_handleSessionAdd'](_0x8b3075,_0x49e444);}}),this['_createUser'](_0x33119a['connection']['me'],!0x0);}register(_0xb6e14f,_0x2b4514){if(this['_registeredSessions']['has'](_0xb6e14f))throw new _0x18c6f6('sessions-register-already-registered',null,{'channelId':_0xb6e14f});this['_registeredSessions']['set'](_0xb6e14f,_0x2b4514),this['channelSessions']['set'](_0xb6e14f,new _0x1c9906()),this['channelConnectedUsers']['set'](_0xb6e14f,new _0x1c9906()),this['listenTo'](_0x2b4514,'add',(_0x14bee3,_0x21c0c8)=>this['_handleSessionAdd'](_0xb6e14f,_0x21c0c8)),this['listenTo'](_0x2b4514,'remove',(_0x3ecdda,_0x12f200)=>this['_handleSessionRemove'](_0xb6e14f,_0x12f200));for(const _0x44afee of _0x2b4514)this['_handleSessionAdd'](_0xb6e14f,_0x44afee);}unregister(_0x277685){if(!this['_registeredSessions']['has'](_0x277685))throw new _0x18c6f6('sessions-unregister-not-exist',null,{'channelId':_0x277685});const _0x413550=this['_registeredSessions']['get'](_0x277685);this['stopListening'](_0x413550);for(const _0x2d9200 of _0x413550)'connected'===this['context']['plugins']['get'](J)['state']&&this['_handleSessionRemove'](_0x277685,_0x2d9200);this['_registeredSessions']['delete'](_0x277685),this['channelSessions']['delete'](_0x277685),this['channelConnectedUsers']['delete'](_0x277685);}get['mySessionId'](){return this['context']['plugins']['get'](J)['connection']['sessionId'];}getUserBySessionId(_0xa1bfdb){for(const _0x5e1ce3 of this['channelSessions']['values']())for(const _0x1dc8dd of _0x5e1ce3)if(_0x1dc8dd['id']===_0xa1bfdb)return _0x1dc8dd['user'];}getUserSessions(_0x30aea1,_0x21a382){const _0x8f5a12=_0x21a382?[this['channelSessions']['get'](_0x21a382)]:this['channelSessions']['values'](),_0x19cc82=new Set();for(const _0x217bc7 of _0x8f5a12)for(const _0x2d45ba of _0x217bc7)_0x2d45ba['user']['id']===_0x30aea1['id']&&_0x19cc82['add'](_0x2d45ba['id']);return _0x19cc82;}getUserRole(_0x27b44e){for(const _0x1bf383 of this['channelSessions']['values']())for(const _0x5ee4b0 of _0x1bf383)if(_0x5ee4b0['user']===_0x27b44e)return _0x5ee4b0['role'];}['_handleSessionAdd'](_0x107c5a,_0x25c6bf){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x7c29b=_0x25c6bf['user'],_0x417644=this['_users']['getUser'](_0x7c29b['id'])||this['_createUser'](_0x7c29b),_0x49da43=Object['assign']({},_0x25c6bf,{'user':_0x417644});if(this['channelSessions']['get'](_0x107c5a)['add'](_0x49da43),!_0x7c29b['hiddenInPresenceList']){const _0x18c5b1=this['channelConnectedUsers']['get'](_0x107c5a);_0x18c5b1['has'](_0x417644['id'])||_0x18c5b1['add'](_0x417644),this['allConnectedUsers']['has'](_0x417644['id'])||_0x7c29b['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x417644,_0x417644['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x107c5a,{'channelId':_0x107c5a,'session':_0x49da43});}['_handleSessionRemove'](_0x201fd4,_0x4b7846){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x461ec3=this['channelConnectedUsers']['get'](_0x201fd4),_0x2602a9=_0x4b7846['user'];_0x2602a9['id']&&(this['channelSessions']['get'](_0x201fd4)['remove'](_0x4b7846['id']),_0x461ec3['has'](_0x2602a9['id'])&&!this['getUserSessions'](_0x2602a9,_0x201fd4)['size']&&_0x461ec3['remove'](_0x2602a9['id']),this['allConnectedUsers']['get'](_0x2602a9['id'])&&!this['getUserSessions'](_0x2602a9)['size']&&this['allConnectedUsers']['remove'](_0x2602a9['id']));}_createUser(_0x41f7d3,_0x5b5da2){const _0x261380=this['_users']['addUser'](_0x41f7d3);return _0x5b5da2&&this['_users']['defineMe'](_0x41f7d3['id']),_0x261380['orderNumber']=this['_uniqueUsersCount']++,_0x261380;}},X=class extends _0x42c452{_domEmitter=new(_0x383f17())();static get requires(){return[Q];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x23b108=this['editor'],_0x3acd3e=_0x23b108['plugins']['get'](Q);_0x23b108['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xe991de,{writer:_0x4908aa})=>function(_0x4d491c,_0x4692f8,_0xcbf04e,_0x16bf46){const _0x173049=_0x4d491c['markerName']['split'](':')[0x2],_0x2d38aa=_0xcbf04e['getUserBySessionId'](_0x173049);if(!_0x2d38aa||_0x173049===_0xcbf04e['mySessionId'])return;if(!_0x16bf46['model']['schema']['checkChild'](_0x4d491c['markerRange']['start'],'$text'))return;const _0x54f6e9={'class':'ck-user__marker\x20'+_0x2d38aa['color']['getMarkerClass'](),'style':tt(_0x2d38aa),'data-name':_0x2d38aa['name'],'data-session-id':_0x173049},_0x48858e=_0x16bf46['model']['markers']['get'](_0x4d491c['markerName'])['getStart'](),_0x53c250=_0x48858e['nodeAfter'],_0x57c725=_0x16bf46['model']['schema'];if(_0x53c250&&_0x57c725['isObject'](_0x53c250)&&_0x57c725['isInline'](_0x53c250)&&!_0x16bf46['model']['markers']['get']('user:range:'+_0x173049)['getRange']()['isCollapsed'])return;const _0x41d212=_0x48858e['parent'];return _0x16bf46['model']['schema']['isLimit'](_0x41d212)&&!_0x16bf46['model']['hasContent'](_0x41d212)&&(_0x54f6e9['contenteditable']=!0x1),function(_0x328e6b,_0x37e1fa,_0xb41596){const _0x467e86=_0x328e6b['createUIElement']('span',_0x37e1fa);return _0x328e6b['setCustomProperty']('userPositionMarker',!0x0,_0x467e86),_0x467e86['render']=function(_0x266cb5){const _0x3bdf29=this['toDomElement'](_0x266cb5),_0x4c16f5=document['createElement']('span');return _0x4c16f5['classList']['add']('ck-user__marker-tooltip'),_0x4c16f5['setAttribute']('contenteditable','false'),_0x4c16f5['setAttribute']('spellcheck','false'),_0x4c16f5['textContent']=_0xb41596['name'],_0x3bdf29['innerHTML']=_0x1c6d73('<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x4c16f5['outerHTML']+''),_0x3bdf29['addEventListener']('mouseenter',()=>{_0x3bdf29['classList']['add']('ck-user__marker_hovered');}),_0x3bdf29['addEventListener']('mouseleave',()=>{_0x3bdf29['classList']['remove']('ck-user__marker_hovered');}),_0x3bdf29;},_0x467e86['isSimilar']=function(_0x3b9789){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3b9789['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3b9789['getAttribute']('data-session-id'));},_0x467e86;}(_0x4692f8,_0x54f6e9,_0x2d38aa);}(_0xe991de,_0x4908aa,_0x3acd3e,_0x23b108)}),_0x23b108['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3d5b21=>function(_0xbcc5e5,_0x5577d0){const _0x456d9d=_0xbcc5e5['markerName']['split'](':')[0x2];if(_0x456d9d===_0x5577d0['mySessionId'])return null;const _0x753909=_0x5577d0['getUserBySessionId'](_0x456d9d);return _0x753909?{'id':_0x456d9d,'classes':['ck-user__selection',_0x753909['color']['getSelectionClass']()],'attributes':{'style':tt(_0x753909),'data-session-id':_0x456d9d},'priority':0x7d0+_0x753909['orderNumber']}:{'id':_0x456d9d,'classes':[]};}(_0x3d5b21,_0x3acd3e)}),function(_0x1491ab){const _0x3bc4bb=_0x1491ab['model'],_0x2965c7=new Map(),_0x310690=_0x1491ab['plugins']['get'](Q);_0x3bc4bb['markers']['on']('update:user:range',(_0x50183b,_0xdf81f4,_0x163d51,_0x8f7e80)=>{if(!_0x8f7e80&&_0x2965c7['get'](_0xdf81f4['name']))return _0x2965c7['get'](_0xdf81f4['name'])['detach'](),void _0x2965c7['delete'](_0xdf81f4['name']);const _0xcbc09b=_0xdf81f4['name']['split'](':')[0x2];if(_0xcbc09b===_0x310690['mySessionId'])return;const _0x3f4dcb='user:position:'+_0xcbc09b;_0x3bc4bb['markers']['has'](_0x3f4dcb)&&_0x1491ab['editing']['reconvertMarker'](_0x3f4dcb),_0xdf81f4['on']('change:range',(_0x451ea5,_0x18333a,_0x923dac)=>{if('$graveyard'!=_0x18333a['root']['rootName']&&'$graveyard'==_0xdf81f4['getRange']()['root']['rootName']&&!_0x2965c7['has'](_0xdf81f4['name'])){const _0x29d6a7=_0x3bc4bb['schema']['getNearestSelectionRange'](_0x923dac['deletionPosition']);if(_0x29d6a7){const _0x3846cc=_0xbf4ce7['fromRange'](_0x29d6a7);_0x2965c7['set'](_0xdf81f4['name'],_0x3846cc),_0x3846cc['on']('change:range',(_0xc3b250,_0x366d80,_0x139baf)=>{if('$graveyard'==_0x3846cc['root']['rootName']){const _0x122c40=_0x3bc4bb['schema']['getNearestSelectionRange'](_0x139baf['deletionPosition']);_0x122c40?(_0x3846cc['start']=_0x122c40['start'],_0x3846cc['end']=_0x122c40['end']):(_0x2965c7['delete'](_0xdf81f4['name']),_0x3846cc['detach']());}});}}});}),_0x3bc4bb['document']['on']('change',()=>{_0x2965c7['size']>0x0&&_0x3bc4bb['enqueueChange']({'isUndoable':!0x1},_0x15262b=>{for(const [_0x49259b,_0x47f3a0]of _0x2965c7)'$graveyard'==_0x3bc4bb['markers']['get'](_0x49259b)['getRange']()['root']['rootName']&&(Z(_0x49259b['split'](':')[0x2],_0x47f3a0['toRange'](),_0x3bc4bb,_0x15262b),_0x47f3a0['detach']());_0x2965c7['clear']();});});}(_0x23b108),this['_domEmitter']['listenTo'](_0x4ce874['document'],'keydown',(_0x62bc8e,{key:_0x3a0ed8})=>{'Escape'===_0x3a0ed8&&function(_0x1a311f){_0x1a311f['editing']['view']['change'](_0x35190a=>{for(const _0x5b5079 of _0x1a311f['model']['markers']){if(!_0x5b5079['name']['startsWith']('user:position'))continue;const _0x182801=_0x1a311f['editing']['mapper']['markerNameToElements'](_0x5b5079['name']);if(_0x182801){for(const _0x2028b6 of _0x182801)_0x35190a['removeClass']('ck-user__marker_hovered',_0x2028b6);}}});}(_0x23b108);},{'useCapture':!0x0});}afterInit(){const _0x3a3178=this['editor'],_0x3ee36b=_0x3a3178['commands']['get']('undo');_0x3ee36b&&_0x3a3178['model']['on']('applyOperation',(_0x423dcd,_0xac20dc)=>{const _0x33d96b=_0xac20dc[0x0];if(!_0x33d96b['isDocumentOperation'])return;if('marker'!=_0x33d96b['type']||!_0x33d96b['name']['startsWith']('user:'))return;const _0x4552e3=_0x33d96b['batch'];_0x3ee36b['_createdBatches']['has'](_0x4552e3)&&(_0x33d96b['newRange']=_0x33d96b['oldRange']?_0x3a3178['model']['createRange'](_0x33d96b['oldRange']['start'],_0x33d96b['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x111bd1=this['editor'],_0x5f2d4f=_0x111bd1['model']['document'],_0x259dab=_0x111bd1['plugins']['get'](Q);_0x111bd1['model']['enqueueChange']({'isUndoable':!0x1},_0xbde811=>{const _0x5881f7='user:range:'+_0x259dab['mySessionId'],_0x3b5592='user:position:'+_0x259dab['mySessionId'],_0x30ebb5=_0x111bd1['model']['markers']['has'](_0x5881f7);_0x111bd1['editing']['view']['hasDomSelection']?Z(_0x259dab['mySessionId'],_0x5f2d4f['selection']['getFirstRange'](),_0x111bd1['model'],_0xbde811):_0x30ebb5&&(_0xbde811['removeMarker'](_0x5881f7),_0xbde811['removeMarker'](_0x3b5592));});}};function Z(_0x169399,_0x58aa7f,_0x18f81b,_0x33d3a5){const _0x1e973f='user:range:'+_0x169399,_0x56481e='user:position:'+_0x169399,_0x2eada9=_0x58aa7f['getContainedElement']();let _0x252a8b=_0x58aa7f['start'];if(_0x2eada9&&_0x2eada9['is']('element','tableCell')){const _0x3353be=function(_0x37be86,_0x4883d0){for(const _0x4c6e4f of _0x37be86['getPositions']())if(_0x4883d0['schema']['checkChild'](_0x4c6e4f,'$text'))return _0x4c6e4f;}(_0x58aa7f,_0x18f81b);_0x3353be&&(_0x252a8b=_0x3353be,_0x58aa7f=_0x33d3a5['createRange'](_0x252a8b));}const _0x3993f6=_0x33d3a5['createRange'](_0x252a8b);_0x18f81b['markers']['has'](_0x1e973f)?(_0x33d3a5['updateMarker'](_0x1e973f,{'range':_0x58aa7f}),_0x33d3a5['updateMarker'](_0x56481e,{'range':_0x3993f6})):(_0x33d3a5['addMarker'](_0x1e973f,{'range':_0x58aa7f,'usingOperation':!0x0}),_0x33d3a5['addMarker'](_0x56481e,{'range':_0x3993f6,'usingOperation':!0x0}));}function tt(_0x409273){return'--ck-user-color:'+_0x409273['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x409273['color']['getColorAlphaVariable']()+';';}function et(_0x48ccdf,_0x59a7b1,_0x32577d){const _0x2f8dab=_0x48ccdf['t'],t=_0x48ccdf['t'];switch(_0x59a7b1){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 _0x2f8dab({'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'},_0x32577d);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x42c452{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0xcc0716)());_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,_0x46b075,_0x1f9655,_0x463ec2];}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 _0x21827c=this['serverHistory']['getOperations']();for(let _0x54ed06=_0x21827c['length']-0x1;_0x54ed06>=0x0;_0x54ed06--){const _0x29977e=_0x21827c[_0x54ed06];if(!this['_disconnectionOperations']['has'](_0x29977e))return _0x29977e['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x269f80){if(super(_0x269f80),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x144afa(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x18c6f6('collaboration-missing-channelid',this);const _0xfb32ab=_0x269f80['config']['get']('cloudServices.bundleVersion')||_0xfc776a;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0xfb32ab,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x2d43fb(),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 _0x2092cc=this['editor'],_0x1f93b5=_0x2092cc['plugins']['get'](_0x1f9655),_0x3d4d21=_0x2092cc['plugins']['get'](J);this['listenTo'](_0x1f93b5,'getOperationAuthor',(_0x4ad0a8,_0x19ce89)=>{const _0x46a218=_0x19ce89[0x0];_0x46a218['_authorId']&&(_0x4ad0a8['return']=_0x1f93b5['getUser'](_0x46a218['_authorId']),_0x4ad0a8['stop']()),null===_0x46a218['_authorId']&&(_0x4ad0a8['return']=null,_0x4ad0a8['stop']());},{'priority':'high'}),this['listenTo'](_0x2092cc['model']['document']['selection'],'change:range',(_0x2df34d,_0x3eb03a)=>{_0x3eb03a['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2092cc['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2092cc['model']['on']('applyOperation',(_0x5897b2,_0x270ac1)=>{const _0x58180e=_0x270ac1[0x0];_0x58180e['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x58180e),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x3d4d21,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x28a6bd,_0x138020,_0x273d24)=>'connected'===_0x28a6bd&&!_0x138020&&!_0x273d24),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2092cc['disableReadOnlyMode']('rtc-offline'):_0x2092cc['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2092cc['disableReadOnlyMode']('rtc-offline'):_0x2092cc['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0xfd4de9=this['editor']['plugins']['get'](Q),_0x1b0654=this['editor']['plugins']['get'](J);try{this['_isPendingUpdate']=!0x0,_0xfd4de9['unregister'](this['_channelId']);const _0x512060=await this['_service']['reconnect'](_0x1b0654['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x512060)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x505a3b=await this['_service']['getConnectedSessions']();_0xfd4de9['register'](this['_channelId'],_0x505a3b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x259129){if(function(_0x59c1e6){return'404'===_0x59c1e6['code'];}(_0x259129)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4a50b0){return'409'===_0x4a50b0['code'];}(_0x259129)){const _0x4ea1b0=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'](_0x4ea1b0);}else{if(!(_0x259129 instanceof nt))throw _0x259129;this['_handleReconnectionError']();}}}}destroy(){const _0x16c1ff=this['editor']['plugins']['get'](J),_0x48ec2c=this['editor']['plugins']['get'](Q);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x48ec2c['channelSessions']['has'](this['_channelId'])&&_0x48ec2c['unregister'](this['_channelId']),_0x16c1ff['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x74e2bd){if(this['sessionId']!==_0x74e2bd['sessionId']&&this['_lastSyncedOperationId']!==_0x74e2bd['lastOperationId'])throw new nt();return this['sessionId']=_0x74e2bd['sessionId'],this['_handleServerResponse']([],{..._0x74e2bd,'wereChangesApplied':!0x1,'data':_0x74e2bd['data']},'reconnect');}async _connectService(_0x37e61b,_0x46d726=!0x1){const {connection:_0xc4f689}=this['editor']['plugins']['get'](J);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0xc4f689,this['_channelId'])['then'](_0x96b3a1=>this['_initSessionsHandling'](_0x96b3a1))['catch'](_0x43136c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x43136c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4482da,_0x2ffdfe)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2ffdfe);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0xafba83=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x37e61b);this['_isPendingUpdate']=!0x0;const _0x36abfb=await this['_service']['connect'](_0xc4f689,this['_compressOperations'](_0x37e61b),_0xafba83);if(this['sessionId']=_0x36abfb['sessionId'],_0x46d726){if(!_0x36abfb['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x36abfb['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x37e61b,_0x36abfb,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x36abfb,_0x37e61b);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x4a071c=this['editor']['plugins']['get'](Q),_0x2bb2f6=this['editor']['plugins']['get'](X),_0x1cb1c4=_0x4a071c['channelSessions']['get'](this['_channelId']);_0x1cb1c4&&_0x1cb1c4['length']>0x1?_0x2bb2f6['createUserMarkerOperations']():this['listenTo'](_0x4a071c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4a071c['channelSessions']['get'](this['_channelId'])['length']&&_0x2bb2f6['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x4c2ea3,_0x378dc9,_0x54093d,_0x1430b0){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x378dc9){const _0x441c80=this['_decompressOperations'](_0x54093d,_0x1430b0);await this['_fetchMissingUsers'](_0x441c80),this['_handleExternalOperations'](_0x441c80,_0x378dc9,_0x54093d['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x4ebb9d}=this['editor'];let _0x397c8f;try{_0x397c8f=await this['_service']['getDocumentDetails']();}catch{const _0x389ef4=et(_0x4ebb9d,'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'](_0x389ef4);}const _0x4f2c74=_0x397c8f['currentDocumentSession']||_0x397c8f['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x4f2c74['lastOperationId']){const _0x1a101a=et(_0x4ebb9d,'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'](_0x1a101a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x2cfc21=this['editor']['plugins']['get'](J);if(this['_isConnected']=!0x1,!_0x2cfc21['connection']||'connected'!==_0x2cfc21['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0xf5be93=this['editor']['plugins']['get'](Q);_0xf5be93['channelSessions']['has'](this['_channelId'])&&_0xf5be93['unregister'](this['_channelId']),_0x2cfc21['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x505533){const _0x5259f8=this['editor']['plugins']['get'](Q);this['listenTo'](_0x5259f8,'sessionAdd:'+this['_channelId'],(_0x3d695c,{session:_0x29749a})=>{if(_0x29749a['id']===_0x5259f8['mySessionId']){_0x3d695c['off']();const _0x848dd=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x207193=_0x29749a['permissions'];_0x848dd&&_0x848dd['isEnabled']&&(_0x207193=_0x207193['filter'](_0x1a63b4=>'document:write'!==_0x1a63b4)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x207193,this['_channelId']);}}),_0x5259f8['register'](this['_channelId'],_0x505533);}_initThrowingOnDataSet(){const _0x4d9855=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x26ad99)=>{if(!_0x26ad99[_0x26ad99['length']-0x1]['suppressErrorInCollaboration'])throw new _0x18c6f6('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x4d9855['apply'](this['editor']['data'],_0x26ad99);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x5ecf83,[_0x129f9f])=>{if(this['_document']['version'])throw new _0x18c6f6('realtimecollaborationclient-init-document-already-initialized',this);_0x5ecf83['stop'](),this['_setPendingAction']();const _0x3b6344=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x35a568])=>!_0x35a568['lazyLoad'])['map'](([_0x3d7022,_0x50efcd])=>[_0x3d7022,_0x50efcd['modelAttributes']||{}])),_0x3e0508=this['_getOperationsFromInitData'](_0x129f9f,_0x3b6344);0x0==_0x3e0508['length']&&_0x3e0508['push'](new _0x2cb42f(0x0)),_0x5ecf83['return']=this['_connectService'](_0x3e0508)['then'](()=>{this['editor']['plugins']['get'](J)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1d9ff6=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1d9ff6))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x31d6f5,[_0x2d0ad7,_0x282a24])=>{_0x31d6f5['stop']();const _0x5a266c=this['editor']['model']['document']['getRoot'](_0x2d0ad7);if(!this['_knownRootNames']['has'](_0x2d0ad7)){const _0x15d748=_0x282a24&&_0x282a24['data']?_0x282a24['data']:'',_0x44bb54=_0x282a24&&_0x282a24['attributes']?_0x282a24['attributes']:{};await this['_loadRoot'](_0x2d0ad7,_0x15d748,_0x44bb54);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5a266c['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5a266c);});},{'priority':'high'});}async _fetchMissingUsers(_0xda788d){const _0x5f4236=this['editor']['plugins']['get'](_0x1f9655),{connection:_0x13d55b}=this['editor']['plugins']['get'](J),_0x34f384=new Set();for(const _0x42d085 of _0xda788d){const _0x38066f=_0x42d085['_authorId'];_0x38066f&&!_0x5f4236['getUser'](_0x38066f)&&_0x34f384['add'](_0x38066f);}if(0x0===_0x34f384['size'])return;const _0x4330dc=await _0x4e1e1e['getMany'](_0x13d55b,Array['from'](_0x34f384));for(const _0x1fe438 of _0x4330dc)_0x5f4236['getUser'](_0x1fe438['id'])||_0x5f4236['addUser'](_0x1fe438);}_getOperationsFromInitData(_0x18ee19,_0x78701a={}){const _0x44b2bf=this['editor']['model'],_0x36417a=[];let _0xc4cb43=0x0;const _0x12bcae='string'==typeof _0x18ee19?{'main':_0x18ee19}:_0x18ee19;for(const _0x47a3c2 of Object['keys'](_0x12bcae)){if(!this['_document']['roots']['has'](_0x47a3c2))throw new _0x18c6f6('realtimecollaborationclient-init-non-existent-root',this);const _0x2b67fa=this['_document']['getRoot'](_0x47a3c2),_0xdf5463=this['editor']['data']['parse'](_0x12bcae[_0x47a3c2],_0x2b67fa),_0x5cbf7c=new _0x23e4aa(_0x44b2bf['createPositionAt'](_0x2b67fa,0x0),_0xdf5463,_0xc4cb43++);_0x36417a['push'](_0x5cbf7c);for(const [_0x3645fc,_0x2cf076]of _0xdf5463['markers']){const _0x439597=_0x44b2bf['createRange'](_0x44b2bf['createPositionFromPath'](_0x2b67fa,_0x2cf076['start']['path']['slice']()),_0x44b2bf['createPositionFromPath'](_0x2b67fa,_0x2cf076['end']['path']['slice']())),_0x20040f=new _0x336d67(_0x3645fc,null,_0x439597,_0x44b2bf['markers'],!0x0,_0xc4cb43++);_0x36417a['push'](_0x20040f);}}if(_0x78701a)for(const [_0x351e56,_0x3de879]of Object['entries'](_0x78701a)){const _0x55a1ec=_0x44b2bf['document']['getRoot'](_0x351e56);if(!_0x55a1ec)throw new _0x18c6f6('multi-root-editor-root-attributes-no-root',null);for(const [_0x29aadd,_0x159684]of Object['entries'](_0x3de879))if(null!==_0x159684){const _0x1e460e=new _0x4e4ab8(_0x55a1ec,_0x29aadd,null,_0x159684,_0xc4cb43++);_0x36417a['push'](_0x1e460e);}}return _0x36417a;}async _loadRoot(_0xc139b7,_0x2c3634,_0x3fd2af){this['_getOperationsFromInitData']({[_0xc139b7]:_0x2c3634},{[_0xc139b7]:_0x3fd2af})['forEach']((_0x529aed,_0x2b3e6c)=>{_0x529aed['baseVersion']=this['_document']['version']+_0x2b3e6c,_0x529aed['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x529aed);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x33d03b,_0x385c8f){let _0x26e23e;this['_offset']=_0x33d03b['offset'];const _0x5cebdc=_0x33d03b['wereChangesApplied']&&!_0x33d03b['initData'],_0x211050=_0x5cebdc?0x0:_0x33d03b['data']['baseVersion'];if(_0x385c8f['forEach'](_0x2e6f2e=>{_0x2e6f2e['_isInit']=!0x0,_0x2e6f2e['createdAt']=_0x33d03b['sessionCreatedAt'],_0x2e6f2e['_authorId']=null;}),_0x5cebdc)_0x26e23e=_0x385c8f,this['_applyOperationsSet'](_0x26e23e,_0x5cebdc);else{if(_0x33d03b['initData']){const _0x1ac03f=this['_getOperationsFromInitData'](_0x33d03b['initData']);this['_document']['history']['version']=-_0x1ac03f['length'],_0x1ac03f['forEach'](_0x330165=>{_0x330165['baseVersion']-=_0x1ac03f['length'],_0x330165['createdAt']=_0x33d03b['sessionCreatedAt'],_0x330165['_isInit']=!0x0,_0x330165['_authorId']=null;}),this['_applyOperationsSet'](_0x1ac03f,!0x0),this['serverHistory']['version']=-_0x1ac03f['length']+this['_offset'],this['_updateServerHistory'](_0x1ac03f);}this['_document']['history']['version']=_0x211050,_0x26e23e=this['_decompressOperations'](_0x33d03b['data'],_0x33d03b['metadata']),await this['_fetchMissingUsers'](_0x26e23e),this['_applyOperationsSet'](_0x26e23e,_0x5cebdc);}_0x33d03b['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x26e23e,_0x33d03b['lastOperationId']),this['_lastSyncedOperationId']=_0x33d03b['lastOperationId']),this['serverHistory']['version']=_0x211050+this['_offset'],this['_updateServerHistory'](_0x26e23e),_0x385c8f['filter'](_0x30d8b8=>{const _0x2375bb=this['_getAffectedRoot'](_0x30d8b8);return _0x2375bb&&!this['_knownRootNames']['has'](_0x2375bb);})['forEach']((_0x3359a8,_0x28c356)=>{_0x3359a8['baseVersion']=this['_document']['version']+_0x28c356,this['_saveOperationInBuffer'](_0x3359a8);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x95648,_0x269b60){const _0x400b32=_0x269b60&&_0x269b60['message'];if(_0x400b32&&_0x400b32['startsWith']('realtimecollaborationclient'))throw _0x269b60;const _0xe8f10b=this['editor']['plugins']['get'](J);throw this['_isPendingUpdate']=!0x0,_0xe8f10b['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x18c6f6(_0x95648,this['editor'],_0x400b32?{'originalError':_0x400b32}:void 0x0);}_saveOperationInBuffer(_0x542ff6){this['_knownOperations']['has'](_0x542ff6)||(this['_knownOperations']['add'](_0x542ff6),this['_bufferedOperations']['push'](_0x542ff6),this['_pendingAction']||'marker'==_0x542ff6['type']&&!_0x542ff6['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x539d2d=!0x1){!_0x539d2d&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x34658d=>{_0x34658d&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x19ce10=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x39e752){return _0x39e752['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x39e752['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x39e752['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x19ce10)||this['_crash'](_0x19ce10['message'],_0x19ce10);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x38009d=>{this['on']('change:_isPendingUpdate',()=>{_0x38009d();});});}async _sendBufferedOperations(){const _0x448333=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x448333['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4e1fed=[...this['_bufferedOperations']];for(const _0x4750a0 of _0x4e1fed)_0x4750a0['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4750a0);const _0x3bca38=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4e1fed),_0xcaf594=st++,_0x2c2d72=this['_compressOperations'](_0x4e1fed),_0x58f197=await this['_service']['sendOperations'](_0x2c2d72,_0x2c2d72['baseVersion'],_0x3bca38);try{return await this['_handleServerResponse'](_0x4e1fed,_0x58f197,_0xcaf594);}catch(_0x2a4d65){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2a4d65);}}async['_handleServerResponse'](_0x5eeb65,_0x6f7ffd,_0x355a8a){if('error'in _0x6f7ffd)throw _0x6f7ffd['error'];let _0x51467d;if(_0x6f7ffd['wereChangesApplied']){_0x6f7ffd['lastOperationId']&&(this['_lastSyncedOperationId']=_0x6f7ffd['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x76a347=>!_0x5eeb65['includes'](_0x76a347));for(const _0x1b3146 of _0x5eeb65)_0x1b3146['createdAt']='lastOperationAcceptedAt'in _0x6f7ffd&&_0x6f7ffd['lastOperationAcceptedAt']||void 0x0;ot(_0x5eeb65,_0x6f7ffd['version']-_0x5eeb65['length']),this['_updateServerHistory'](_0x5eeb65);const _0x4381eb=_0x5eeb65['filter'](_0x5d489c=>{if(!_0x5d489c['_isInit'])return!0x1;const _0x2cbe5d=this['_getAffectedRoot'](_0x5d489c);return _0x2cbe5d&&!this['_knownRootNames']['has'](_0x2cbe5d);});ot(_0x4381eb,this['_document']['version']),this['_applyOperationsSet'](_0x4381eb),_0x51467d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5ee2fd=this['_decompressOperations'](_0x6f7ffd['data'],_0x6f7ffd['metadata'])['filter'](_0x2599b8=>_0x2599b8['baseVersion']>=this['_lastServerVersion']);_0x5ee2fd['forEach'](_0x13c9a1=>this['_addKnownRoot'](_0x13c9a1)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xde9d3a=>!_0xde9d3a['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0xde9d3a))),this['_bufferedOperations']['length']&&ot(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5ee2fd),_0x51467d=this['_handleExternalOperations'](_0x5ee2fd,_0x6f7ffd['version'],_0x6f7ffd['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x51467d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x14f024,_0x3d2a5e,_0x44f2c5){try{const _0x2f4210={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2e4ad2,operationsB:_0x2129b8,originalOperations:_0x58b3f1}=_0x1d7d93(_0x14f024,this['_bufferedOperations'],_0x2f4210);ot(_0x2e4ad2,this['_document']['version']),ot(_0x2129b8,_0x3d2a5e);for(const _0x397897 of _0x2e4ad2){const _0x31f4fd=_0x58b3f1['get'](_0x397897);_0x31f4fd?(_0x397897['_authorId']=_0x31f4fd['_authorId'],'noop'!==_0x397897['type']&&(_0x397897['_aiSource']=_0x31f4fd['_aiSource'])):_0x397897['_authorId']=null;}for(const _0x3254a0 of _0x2129b8)'noop'!==_0x3254a0['type']&&(_0x3254a0['_aiSource']=_0x58b3f1['get'](_0x3254a0)?.['_aiSource']);_0x44f2c5&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x14f024,_0x44f2c5),this['_lastSyncedOperationId']=_0x44f2c5),this['_bufferedOperations']=[..._0x2129b8],this['_applyOperationsSet'](_0x2e4ad2),this['_updateServerHistory'](_0x14f024);}catch(_0x540735){return console['error'](_0x540735),!0x1;}return!0x0;}_applyOperationsSet(_0x326662,_0x26ee94=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5e38a=>{for(const _0x6f604a of _0x326662)this['_knownOperations']['add'](_0x6f604a),this['_addKnownRoot'](_0x6f604a),_0x5e38a['batch']['addOperation'](_0x6f604a),this['editor']['model']['applyOperation'](_0x6f604a);});}_addKnownRoot(_0x292db8){const _0xf79bd8=this['_getAffectedRoot'](_0x292db8);_0xf79bd8&&this['_knownRootNames']['add'](_0xf79bd8);}_getAffectedRoot(_0x4d196c){let _0x1a9e90,_0x381ad8;switch(_0x4d196c['type']){case'insert':_0x1a9e90=_0x4d196c['position']['root'];break;case'marker':if(_0x381ad8=_0x4d196c['newRange'],!_0x381ad8)return null;_0x1a9e90=_0x381ad8['root'];break;case'addRootAttribute':_0x1a9e90=_0x4d196c['root'];break;case'addRoot':_0x1a9e90=_0x4d196c['affectedSelectable'];break;case'move':_0x1a9e90=_0x4d196c['targetPosition']['root'];break;default:return null;}return _0x1a9e90['rootName'];}_updateServerHistory(_0x4e0708){_0x4e0708['forEach'](_0x3b37c0=>{const _0x5c1aa3=_0x3b37c0['clone']();_0x5c1aa3['_authorId']=_0x3b37c0['_authorId'],_0x5c1aa3['_isInit']=!!_0x3b37c0['_isInit'],_0x5c1aa3['_aiSource']=_0x3b37c0['_aiSource'],_0x5c1aa3['createdAt']=_0x3b37c0['createdAt'],_0x5c1aa3['baseVersion']+=this['_offset'],_0x3b37c0['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5c1aa3),this['serverHistory']['addOperation'](_0x5c1aa3);});}_handleReconnectionError(_0x744e09){const _0x3136c2=this['editor']['plugins']['get']('Notification'),_0x4c2b09=this['editor']['locale'];_0x744e09||(_0x744e09=et(_0x4c2b09,'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.')),_0x3136c2['showWarning'](_0x744e09,{'title':et(_0x4c2b09,'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'](_0x46b075)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x46b075)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x31b2f7){const _0x53b684=_0x31b2f7['map'](_0x62f78e=>_0x62f78e['toJSON']());return this['_compressor']['compress'](_0x53b684);}_decompressOperations(_0x2611b4,_0x52a067){return this['_compressor']['decompress'](_0x2611b4)['map']((_0x44a038,_0x2585fb)=>{const _0x333360='init'==_0x52a067[_0x2585fb]['type'];if('InsertOperation'==_0x44a038['__className']){const _0x19774b=_0x44a038['position']['root'];!this['_document']['getRoot'](_0x19774b)&&(this['_document']['createRoot']('$unknown',_0x19774b)['_isAttached']=!0x1);}else{if('RootOperation'==_0x44a038['__className']){const _0x195c50=this['_document']['getRoot'](_0x44a038['rootName']);_0x195c50&&'$unknown'==_0x195c50['name']&&_0x44a038['elementName']!=_0x195c50['name']&&(_0x195c50['name']=_0x44a038['elementName']);}}const _0x445c7d=_0x4573e3['fromJSON'](_0x44a038,this['_document']);return _0x445c7d['wasUndone']=_0x44a038['wasUndone'],_0x445c7d['_isInit']=_0x333360,_0x445c7d['_authorId']=_0x333360?null:_0x52a067[_0x2585fb]['userId'],_0x445c7d['_isDisconnection']='cs:removeUser'===_0x52a067[_0x2585fb]['type'],_0x445c7d['_aiSource']=_0x44a038['_aiSource']||void 0x0,_0x445c7d['createdAt']=_0x52a067[_0x2585fb]['createdAt'],_0x445c7d;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x351dd1=this['editor']['plugins']['get'](Q)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x351dd1&&_0x351dd1['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function ot(_0x28687f,_0x4a1265){for(const _0x4c98af of _0x28687f)_0x4c98af['baseVersion']=_0x4a1265++;}var rt=class{_ignoredOperations;_operationToId;constructor(_0x5bcf65){this['_ignoredOperations']=_0x5bcf65,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x1dbeaf){let _0x30b7bc=_0x1dbeaf['length'];for(;_0x30b7bc--;){const _0x44b70a=_0x1dbeaf[_0x30b7bc];if(!this['_ignoredOperations']['has'](_0x44b70a)){if(!this['_operationToId']['has'](_0x44b70a)){const _0x42dfd5=_0x1a59ca()['slice'](0x1,0x12);this['_operationToId']['set'](_0x44b70a,_0x42dfd5);}return this['_operationToId']['get'](_0x44b70a);}}}setIdForTheLastOperation(_0xfa7adf,_0x5dddd1){if(!_0x5dddd1)return;let _0x20742f=_0xfa7adf['length'];for(;_0x20742f--;){const _0x5a6153=_0xfa7adf[_0x20742f];this['_ignoredOperations']['has'](_0x5a6153)||this['_operationToId']['set'](_0x5a6153,_0x5dddd1);}}},ct=class extends _0x42c452{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class CloudServicesCommentsAdapter extends _0x40687c{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x4e0964)());['_services'];static get requires(){return[J,_0x2f6c6e,Q,_0x1f9655];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x423651){super(_0x423651),this['_services']=new Map();}async init(){const _0x57acdc=this['context'],_0x38d40e=_0x57acdc['plugins']['get'](_0x2f6c6e);if(_0x57acdc['plugins']['get'](J)['addToReconnectionStack'](this),_0x38d40e['adapter']={'addCommentThread':async({channelId:_0x517e98,threadId:_0x41d9bb,comments:_0xc6d214,resolvedAt:_0x578702,resolvedBy:_0x4e8da1,context:_0x14d961,attributes:_0x4b90cc})=>{const _0x286cca=await this['_getService'](_0x517e98)['addCommentThread']({'commentThreadId':_0x41d9bb,'comments':_0xc6d214['map'](_0x553969=>function(_0x59ba4a,_0x406ed5,_0x48fb65){return{'commentThreadId':_0x48fb65,'commentId':_0x59ba4a['commentId'],'userId':_0x59ba4a['authorId'],'content':_0x59ba4a['content'],'documentId':_0x406ed5,'createdAt':_0x59ba4a['createdAt'],'attributes':_0x59ba4a['attributes']||{}};}(_0x553969,_0x517e98,_0x41d9bb)),'resolvedAt':_0x578702,'resolvedBy':_0x4e8da1,'context':_0x14d961,'attributes':_0x4b90cc})['catch'](lt);return{'threadId':_0x286cca['commentThreadId'],'comments':_0x286cca['comments']};},'getCommentThread':async({channelId:_0x37fa2c,threadId:_0x18c629})=>{const _0x2007b5=await this['_getService'](_0x37fa2c)['getCommentThread'](_0x18c629)['catch'](ht)['catch'](lt);return _0x2007b5?_0x2007b5['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x2007b5]),{'threadId':_0x2007b5['commentThreadId'],'comments':_0x2007b5['comments']['map'](dt),'context':_0x2007b5['context'],'resolvedAt':_0x2007b5['resolvedAt'],'resolvedBy':_0x2007b5['resolvedBy'],'attributes':_0x2007b5['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x108af8,threadId:_0x1eddde,context:_0x5e61e4,unlinkedAt:_0x4d9a4c,attributes:_0x5a8437})=>this['_getService'](_0x108af8)['updateCommentThread']({'commentThreadId':_0x1eddde,'context':_0x5e61e4,'attributes':_0x5a8437,'unlinkedAt':_0x4d9a4c})['catch'](ht)['catch'](lt),'resolveCommentThread':async({channelId:_0x4fc847,threadId:_0xf61baa})=>{const _0x5eda9d=await this['_getService'](_0x4fc847)['resolveCommentThread'](_0xf61baa)['catch'](ht)['catch'](lt);return{'threadId':_0x5eda9d['commentThreadId'],'resolvedAt':_0x5eda9d['resolvedAt'],'resolvedBy':_0x5eda9d['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4dd6f8,threadId:_0x2b3155})=>this['_getService'](_0x4dd6f8)['reopenCommentThread'](_0x2b3155)['catch'](ht)['catch'](lt),'removeCommentThread':({channelId:_0x2600cb,threadId:_0x1db97d})=>this['_getService'](_0x2600cb)['removeCommentThread'](_0x1db97d)['catch'](ht)['catch'](lt),'addComment':({channelId:_0x58e942,threadId:_0x23fa7a,commentId:_0x201d33,content:_0x4c4714,attributes:_0x28fa26})=>this['_getService'](_0x58e942)['addComment'](_0x23fa7a,_0x201d33,_0x4c4714,_0x28fa26)['catch'](lt),'updateComment':({channelId:_0x5eab2b,threadId:_0x90315f,commentId:_0x1c5caf,content:_0x33b759,attributes:_0x5ab704})=>this['_getService'](_0x5eab2b)['updateComment'](_0x90315f,_0x1c5caf,_0x33b759,_0x5ab704)['catch'](ht)['catch'](lt),'removeComment':({channelId:_0x19c15e,threadId:_0x5a1120,commentId:_0x48e9b4})=>this['_getService'](_0x19c15e)['removeComment'](_0x5a1120,_0x48e9b4)['catch'](ht)['catch'](lt)},_0x57acdc instanceof _0x24b052){const _0x193639=_0x57acdc['config']['get']('collaboration.channelId'),_0x3f452f=_0x57acdc['plugins']['get'](Q);await this['_setUpService'](_0x193639);const _0x4b511a=await this['_services']['get'](_0x193639)['getConnectedSessions']();this['listenTo'](_0x3f452f,'sessionAdd:'+_0x193639,(_0x2a78b8,{session:_0x34f227})=>{_0x34f227['id']===_0x3f452f['mySessionId']&&(_0x2a78b8['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x34f227['permissions'],_0x193639));}),_0x3f452f['register'](_0x193639,_0x4b511a);}}async _setUpService(_0x13e88b){if(this['_services']['has'](_0x13e88b))throw new _0x18c6f6('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x13e88b});const _0x473e01=this['context']['plugins']['get'](_0x2f6c6e),_0x100673=new CloudServicesCommentsAdapter['CommentsService'](_0x13e88b);this['_services']['set'](_0x13e88b,_0x100673),this['listenTo'](_0x100673,'commentThreadAdded',(_0x20f063,_0x3fb2a4)=>{const {commentThreadId:_0x327fe9,documentId:_0x29aa2d,context:_0x19774c,attributes:_0x59023c,resolvedAt:_0x3cb751,resolvedBy:_0x3fe0eb,comments:_0x2ecbaa}=_0x3fb2a4;_0x473e01['getCommentThread'](_0x327fe9)||_0x473e01['addCommentThread']({'threadId':_0x327fe9,'channelId':_0x29aa2d,'comments':_0x2ecbaa?_0x2ecbaa['map'](dt):[],'context':_0x19774c,'attributes':_0x59023c,'resolvedAt':_0x3cb751,'resolvedBy':_0x3fe0eb,'isFromAdapter':!0x0});}),this['listenTo'](_0x100673,'commentThreadUpdated',(_0x5423e2,{commentThreadId:_0x4a1abb,documentId:_0x16b6cf,context:_0x4cd655,unlinkedAt:_0x2dd3d0,attributes:_0x363251})=>{_0x473e01['getCommentThread'](_0x4a1abb)&&_0x473e01['updateCommentThread']({'threadId':_0x4a1abb,'channelId':_0x16b6cf,'context':_0x4cd655,'unlinkedAt':_0x2dd3d0,'attributes':_0x363251,'isFromAdapter':!0x0});}),this['listenTo'](_0x100673,'commentThreadResolved',(_0x1d56a5,{commentThreadId:_0x17ab98,resolvedBy:_0xe2dd61,resolvedAt:_0x15d8b2})=>{const _0x4672e7=_0x473e01['getCommentThread'](_0x17ab98);_0x4672e7&&_0x4672e7['resolve']({'resolvedBy':_0xe2dd61,'resolvedAt':_0x15d8b2,'isFromAdapter':!0x0});}),this['listenTo'](_0x100673,'commentThreadReopened',(_0x2d98d6,{commentThreadId:_0x283173})=>{const _0x3c3572=_0x473e01['getCommentThread'](_0x283173);_0x3c3572&&_0x3c3572['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x100673,'commentThreadRemoved',(_0x1138e2,{commentThreadId:_0x510c79})=>{const _0xe1eb9=_0x473e01['getCommentThread'](_0x510c79);_0xe1eb9&&_0xe1eb9['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x100673,'commentAdded',(_0x5acade,_0x414f7d)=>{const _0x2884=_0x414f7d['commentThreadId'],_0x1bb1bc=_0x473e01['getCommentThread'](_0x2884);_0x1bb1bc&&_0x1bb1bc['addComment']({...dt(_0x414f7d),'isFromAdapter':!0x0});}),this['listenTo'](_0x100673,'commentUpdated',(_0x1f0c5e,{commentThreadId:_0x4c5599,commentId:_0x1ef91f,content:_0x40a7f2,attributes:_0x59d7ac})=>{const _0xf63a3f=_0x473e01['getCommentThread'](_0x4c5599);if(_0xf63a3f){const _0xb17870=_0xf63a3f['getComment'](_0x1ef91f);_0xb17870&&_0xb17870['update']({'content':_0x40a7f2,'attributes':_0x59d7ac,'isFromAdapter':!0x0});}}),this['listenTo'](_0x100673,'commentRemoved',(_0xf370e,{commentThreadId:_0x6481a1,commentId:_0x19a3a9})=>{const _0x33e8d6=_0x473e01['getCommentThread'](_0x6481a1);if(_0x33e8d6){const _0x324e14=_0x33e8d6['getComment'](_0x19a3a9);_0x324e14&&_0x324e14['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x100673,'disconnected',()=>{'connected'===this['context']['plugins']['get'](J)['connection']?.['state']&&(this['_services']['delete'](_0x13e88b),this['stopListening'](_0x100673));}),await this['_connectService'](_0x13e88b);}destroy(){if(this['context']instanceof _0x24b052){const _0x36b70e=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x36b70e)&&this['_terminateService'](_0x36b70e);}}_terminateService(_0x322610){if(!this['_services']['has'](_0x322610))throw new _0x18c6f6('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x322610});this['_getService'](_0x322610)['disconnect'](),this['_services']['delete'](_0x322610);}async reconnect(){for(const _0x15b8b1 of this['_services']['keys']())await this['_connectService'](_0x15b8b1);if(this['context']instanceof _0x24b052){const _0xab9dec=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0xab9dec)){const _0x22bf7a=this['context']['plugins']['get'](Q);_0x22bf7a['unregister'](_0xab9dec);const _0x538663=await this['_services']['get'](_0xab9dec)['getConnectedSessions']();_0x22bf7a['register'](_0xab9dec,_0x538663);}}}async _connectService(_0x4efd12){const {connection:_0x1ac40f}=this['context']['plugins']['get'](J),_0x49d443=this['context']['plugins']['get'](_0x2f6c6e),_0x403f56=await this['_services']['get'](_0x4efd12)['connect'](_0x1ac40f);await this['_fetchMissingUsersForThreads'](_0x403f56);const _0x15cede=new Set(Array['from'](_0x49d443['getCommentThreads']({'channelId':_0x4efd12}),_0x13c684=>_0x13c684['id']));for(const _0x3d83a8 of _0x403f56)_0x3d83a8['deletedAt']||_0x15cede['delete'](_0x3d83a8['commentThreadId']);for(const _0x28199f of _0x15cede)_0x49d443['getCommentThread'](_0x28199f)['remove']({'isFromAdapter':!0x0});for(const _0x197b3f of _0x403f56){let _0x40182c=_0x49d443['getCommentThread'](_0x197b3f['commentThreadId']);const {commentThreadId:_0x451a32,context:_0x5b132b,attributes:_0x1e502c,resolvedBy:_0x2e58e6,resolvedAt:_0x7de2d0,unlinkedAt:_0x4ff7fc,deletedAt:_0x4aea08}=_0x197b3f;if(_0x4aea08)continue;_0x40182c||(_0x40182c=_0x49d443['addCommentThread']({'channelId':_0x4efd12,'threadId':_0x451a32,'context':_0x5b132b,'attributes':_0x1e502c||{},'resolvedBy':_0x2e58e6,'resolvedAt':_0x7de2d0,'unlinkedAt':_0x4ff7fc,'isFromAdapter':!0x0}));const _0x42d22f=new Set(Array['from'](_0x40182c['comments'],_0x1034f4=>_0x1034f4['id']));for(const _0x5da895 of _0x197b3f['comments'])_0x42d22f['delete'](_0x5da895['commentId']);for(const _0x3729d8 of _0x42d22f)_0x40182c['getComment'](_0x3729d8)['remove']({'isFromAdapter':!0x0});for(const _0x1ca44a of _0x197b3f['comments']){const _0x5a8b53=_0x40182c['getComment'](_0x1ca44a['commentId']);_0x5a8b53?_0x5a8b53['content']!==_0x1ca44a['content']&&_0x5a8b53['update']({'content':_0x1ca44a['content'],'isFromAdapter':!0x0}):_0x40182c['addComment'](Object['assign'](dt(_0x1ca44a),{'isFromAdapter':!0x0}));}}}_getService(_0x43c916){if(!this['_services']['has'](_0x43c916))throw new _0x18c6f6('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x43c916});return this['_services']['get'](_0x43c916);}async _fetchMissingUsersForThreads(_0x2ce49a){const _0x1265c2=this['context']['plugins']['get'](_0x1f9655),{connection:_0x413f3d}=this['context']['plugins']['get'](J),_0x2e7707=new Set();for(const {resolvedBy:_0x557b1a,comments:_0xb52a8a}of _0x2ce49a){_0x557b1a&&!_0x1265c2['getUser'](_0x557b1a)&&_0x2e7707['add'](_0x557b1a);for(const {userId:_0x3bddc9}of _0xb52a8a)_0x1265c2['getUser'](_0x3bddc9)||_0x2e7707['add'](_0x3bddc9);}if(0x0===_0x2e7707['size'])return;const _0x547291=await _0x4e1e1e['getMany'](_0x413f3d,Array['from'](_0x2e7707));for(const _0x13d2f7 of _0x547291)_0x1265c2['getUser'](_0x13d2f7['id'])||_0x1265c2['addUser'](_0x13d2f7);}};async function ht(_0x135b53){if('404'!==_0x135b53['code'])throw _0x135b53;}function lt(_0x22c8da){if((_0x371f09=_0x22c8da)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x371f09['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x371f09['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x371f09;throw _0x22c8da;}function dt(_0xb1a44a){return{'threadId':_0xb1a44a['commentThreadId'],'commentId':_0xb1a44a['commentId'],'content':_0xb1a44a['content'],'createdAt':_0xb1a44a['createdAt'],'authorId':_0xb1a44a['userId'],'attributes':_0xb1a44a['attributes']||{}};}var ut=class CloudServicesTrackChangesAdapter extends _0x42c452{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x52527a)());_bufferedRequests;_trackChangesService;static get requires(){return[at,_0x4a0de4,J];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x557562){super(_0x557562);const _0x22e44b=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x22e44b);}init(){const _0x254c64=this['editor']['plugins']['get'](J),_0x5d291d=this['editor']['plugins']['get'](_0x4a0de4);return _0x5d291d['adapter']={'getSuggestion':async _0x540693=>{await this['_waitForServiceReady']();const _0x2be801=await this['_trackChangesService']['get'](_0x540693)['catch'](ft);return await this['_fetchMissingUsersForThreads']([_0x2be801]),_0x2be801;},'addSuggestion':async({id:_0x5cd7f8,type:_0x3ae985,data:_0x1213a0,originalSuggestionId:_0x32d9c1,attributes:_0x234f6e})=>{await this['_waitForServiceReady']();const _0x2df1eb={'id':_0x5cd7f8,'type':_0x3ae985,'data':_0x1213a0,'originalSuggestionId':_0x32d9c1,'attributes':_0x234f6e},_0x25a384=await this['_trackChangesService']['add'](_0x5cd7f8,_0x3ae985,_0x1213a0,_0x32d9c1,_0x234f6e)['catch'](_0x5bad03=>{if(mt(_0x5bad03))return new Promise(_0x1ed25a=>{this['_bufferedRequests']['set'](_0x5cd7f8,{'resolve':_0x1ed25a,'suggestionData':_0x2df1eb});});throw _0x5bad03;});return this['_bufferedRequests']['delete'](_0x5cd7f8),_0x25a384;},'updateSuggestion':async(_0x513557,_0x136a5a)=>{if(await this['_waitForServiceReady'](),'open'!==_0x136a5a['state'])return this['_trackChangesService']['update'](_0x513557,_0x136a5a)['catch'](ft);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x39a996,_0x57964e)=>{_0x5d291d['hasSuggestion'](_0x57964e['id'])&&(_0x5d291d['getSuggestion'](_0x57964e['id'])['attributes']=_0x57964e['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x254c64['connection']?.['state']&&(_0x254c64['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x254c64['connection'])['then'](_0x2c239a=>(_0x254c64['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x2c239a)['then'](()=>{for(const _0x22e63c of _0x2c239a){_0x5d291d['addSuggestionData'](_0x22e63c)['_saved']=!0x0;}})));}async reconnect(){const _0x1520c5=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x42c350}=this['editor']['plugins']['get'](J),_0x4ac40a=await this['_trackChangesService']['connect'](_0x42c350);await this['_fetchMissingUsersForThreads'](_0x4ac40a);for(const {suggestionData:_0x28efe5,resolve:_0x4ab4b2}of this['_bufferedRequests']['values']()){let _0x34d3d2=_0x4ac40a['find'](_0x385782=>_0x385782['id']===_0x28efe5['id']);_0x34d3d2||(_0x34d3d2=await this['_trackChangesService']['add'](_0x28efe5['id'],_0x28efe5['type'],_0x28efe5['data'],_0x28efe5['originalSuggestionId'])),_0x4ab4b2(_0x34d3d2);}for(const _0x1fad02 of _0x4ac40a)_0x1520c5['hasSuggestion'](_0x1fad02['id'])||_0x1520c5['addSuggestionData'](_0x1fad02);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x2b53ae=>{this['listenTo'](this['_trackChangesService'],'connected',_0x37d296=>{_0x37d296['off'](),_0x2b53ae();});});}async _fetchMissingUsersForThreads(_0xad8616){const _0x209e22=this['editor']['plugins']['get'](_0x1f9655),{connection:_0x4463be}=this['editor']['plugins']['get'](J),_0x54766f=new Set();for(const {authorId:_0x154f1d}of _0xad8616)_0x209e22['getUser'](_0x154f1d)||_0x54766f['add'](_0x154f1d);if(0x0===_0x54766f['size'])return;const _0x22371d=await _0x4e1e1e['getMany'](_0x4463be,Array['from'](_0x54766f));for(const _0x3c54c5 of _0x22371d)_0x209e22['getUser'](_0x3c54c5['id'])||_0x209e22['addUser'](_0x3c54c5);}};function ft(_0x1410c2){if(mt(_0x1410c2))return new Promise(()=>{});throw _0x1410c2;}function mt(_0xea9897){return _0xea9897['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xea9897['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var pt=class extends _0x42c452{static get requires(){return[_0x12fcfb,at,ct,J];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0xd688a8=this['editor']['plugins']['get'](J),_0x4c78aa=this['editor']['plugins']['get'](_0x3a4fbd),_0x156d79=this['editor']['plugins']['get'](at);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xd688a8,'change:state',(_0xd7dd9b,_0x3b258a,_0x2e3e3f)=>{_0x4c78aa['isThreadsLoadingPaused']='connected'!==_0x2e3e3f;});}),this['listenTo'](_0xd688a8,'change:state',(_0x29d5e4,_0x1c2006,_0x5ab7fb)=>{this['editor']['plugins']['get'](_0x2f6c6e)['switchReadOnly']('connected'!==_0x5ab7fb);}),_0x156d79['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x1016ab=this['editor']['plugins']['get'](at),_0x23cf7e=this['editor']['config']['get']('collaboration.channelId');_0x1016ab['_services']['has'](_0x23cf7e)&&_0x1016ab['_terminateService'](_0x23cf7e),super['destroy']();}},gt=class extends _0x42c452{static get requires(){return[pt,ut,_0x15dd8e];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class CloudServicesRevisionHistoryAdapter extends _0x42c452{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x1faca0)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[J,it,_0x595b6f,Q,_0x1f9655];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x30317d){super(_0x30317d);const _0x2abe73=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2abe73);}async init(){const _0xc3757b=this['editor']['plugins']['get'](it),_0x528792=_0xc3757b['serverHistory'],_0x587413=this['editor']['plugins']['get'](J);this['_revisionTracker']['setSource']({'history':_0x528792,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xc3757b['sessionId']});const _0x6d2f0e=this['editor']['config']['get']('cloudServices.bundleVersion')||_0xfc776a,_0x3f5bea=await _0x3c7c32['isBundleUploaded'](_0x587413['connection'],_0x6d2f0e);this['editor']['plugins']['get'](_0x595b6f)['adapter']={'getRevision':async({revisionId:_0x5bb9b1})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5bb9b1)),'updateRevisions':async _0x1f5213=>{await this['_waitForServiceReady']();const _0x21c7e3=this['_revisionTracker']['currentRevision'];if(_0x3f5bea&&0x1===_0x1f5213['length']&&_0x1f5213[0x0]['id']===_0x21c7e3['id'])return _0x1f5213;for(const _0x2c584c of _0x1f5213)_0x2c584c['id']===_0x21c7e3['id']&&(_0x2c584c['isEmptyCurrent']=_0x2c584c['fromVersion']===_0x2c584c['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1f5213,this['_lastRequestId'])['then'](_0x116263=>(this['_lastRequestId']=_0x116263,_0x1f5213))['catch'](_0x18bcf5=>{if(vt(_0x18bcf5)||'400'===_0x18bcf5['code']&&void 0x0!==_0x18bcf5['data']['wrongRequestId']){for(const _0x16913a of _0x1f5213)this['_revisionTracker']['repository']['getRevision'](_0x16913a['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x16913a['id'],_0x16913a,!0x1);if(vt(_0x18bcf5)&&'destroyed'!==this['editor']['state'])throw _0x18bcf5;return _0x1f5213;}throw _0x18bcf5;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x5da766,{revisionsData:_0xc2e097,requestId:_0x214230})=>{Math['max'](..._0xc2e097['map'](_0x2e14f0=>_0x2e14f0['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xc2e097,_0x214230);}):this['_handleRevisionsUpdate'](_0xc2e097,_0x214230);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x587413['connection']?.['state']&&(_0x587413['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x333beb,requestId:_0x44c888}=await this['_revisionHistoryService']['connect'](_0x587413['connection']);_0x587413['addToReconnectionStack'](this),this['_lastRequestId']=_0x44c888,await this['_fetchMissingUsers'](_0x333beb);for(const _0x234caa of _0x333beb)this['_revisionTracker']['addRevisionData'](_0x234caa);this['listenTo'](_0xc3757b,'change:_isConnected',(_0x120f49,_0x36f609,_0x4b5642)=>{_0x4b5642&&(this['_oldOffset']=_0xc3757b['_offset'],_0x120f49['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x4ab650=this['editor']['plugins']['get'](J),_0x92892f=this['editor']['plugins']['get'](it),_0x42dcdd=async()=>{const _0x45913a=this['_revisionTracker']['currentRevision'],_0x5e904e=_0x45913a['id'],_0x52a8c0=_0x5e904e!==_0x92892f['sessionId'];if(_0x52a8c0){const _0x5038ec=_0x92892f['_offset']-this['_oldOffset'],_0x2246f1=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x45913a['toVersion']+_0x5038ec!==_0x2246f1){const _0x74a597=_0x45913a['fromVersion']+_0x5038ec,_0x10b014=this['editor']['plugins']['get'](_0x1f9655),_0x1b4b6e=this['_revisionTracker']['buildRevisionData']({'revision':_0x45913a,'from':_0x74a597,'to':_0x2246f1});_0x1b4b6e['id']=_0x45913a['id'];const _0x104567=_0x1b4b6e['authorsIds']['map'](_0x108004=>_0x10b014['getUser'](_0x108004));_0x45913a['_update']({..._0x1b4b6e,'authors':_0x104567},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x45913a['id'],_0x1b4b6e,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2246f1,_0x45913a['toVersion']!==_0x45913a['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x5e904e)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x5e904e),this['_revisionTracker']['_createCurrentRevision'](_0x2246f1);}const {revisions:_0x170ed1,requestId:_0x3bceb4}=await this['_revisionHistoryService']['reconnect'](_0x4ab650['connection'],this['_lastRequestId']);_0x52a8c0&&_0x170ed1['length']>0x0?_0x92892f['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x170ed1),this['_handleRevisionsUpdate'](_0x170ed1,_0x3bceb4),this['_revisionTracker']['sendBufferedUpdates']());};return _0x92892f['_isConnected']?_0x42dcdd():new Promise((_0x1853fd,_0xb0ce87)=>{_0x92892f['once']('change:_isConnected',()=>{_0x42dcdd()['then'](_0x1853fd)['catch'](_0xb0ce87);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x336ce5=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5e0c05=>{_0x5e0c05['off'](),_0x336ce5();});});}_getLatestVersionFromServerOperations(){const _0x5afef8=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x34b8ac of _0x5afef8)if('marker'!==_0x34b8ac['type']||_0x34b8ac['affectsData'])return _0x34b8ac['baseVersion']+0x1;}_getLatestVersion(){const _0x4a606b=this['editor']['plugins']['get'](it);return new Promise(_0x55bc22=>{_0x4a606b['_isPendingUpdate']?_0x4a606b['once']('change:_isPendingUpdate',()=>{_0x55bc22(this['_getLatestVersionFromServerOperations']());}):_0x55bc22(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x2200b1,_0x4babd2){const _0xe17c72=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x4babd2;for(const _0x5b25bc of _0x2200b1){const _0x5a2adc=_0xe17c72['getRevision'](_0x5b25bc['id']);if(_0x5a2adc){if((_0x5b25bc['fromVersion']||_0x5b25bc['toVersion'])&&(_0x5b25bc['diffData']=null),_0x5a2adc===this['_revisionTracker']['currentRevision']){const _0x410453=Math['max'](_0x5a2adc['toVersion'],_0x5b25bc['toVersion']),_0x70b7a4=Math['max'](_0x5a2adc['fromVersion'],_0x5b25bc['fromVersion']);let _0x16d23c;_0x5a2adc['toVersion']===_0x5b25bc['toVersion']&&_0x5a2adc['fromVersion']===_0x5b25bc['fromVersion']?(_0x16d23c=!0x0,this['_preventResendingRevisionData'](_0x5b25bc)):_0x5b25bc['toVersion']===_0x410453&&_0x5b25bc['fromVersion']===_0x70b7a4?_0x16d23c=!0x1:(_0x5a2adc['toVersion']===_0x410453&&_0x5a2adc['fromVersion']===_0x70b7a4||this['_fixRevision']({'revision':_0x5a2adc,'from':_0x70b7a4,'to':_0x410453}),_0x16d23c=!0x0),_0x16d23c&&(delete _0x5b25bc['fromVersion'],delete _0x5b25bc['toVersion'],delete _0x5b25bc['diffData'],delete _0x5b25bc['createdAt'],delete _0x5b25bc['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x5b25bc),this['_preventResendingRevisionData'](_0x5b25bc);}else this['_revisionTracker']['addRevisionData'](_0x5b25bc);}const _0x503a1f=_0xe17c72['getRevisions']();_0x503a1f['reverse']();for(let _0x845d15=0x0;_0x845d15<_0x503a1f['length']-0x1;_0x845d15++){const _0x2105f7=_0x503a1f[_0x845d15],_0x261e2f=_0x503a1f[_0x845d15+0x1];if(_0x2105f7['fromVersion']<_0x261e2f['toVersion']){const _0x4e4285=_0x261e2f['toVersion'],_0x2edc81=Math['max'](_0x4e4285,_0x2105f7['toVersion']);this['_fixRevision']({'revision':_0x2105f7,'from':_0x4e4285,'to':_0x2edc81});}}}['_fixRevision']({revision:_0x3103d9,from:_0x14b829,to:_0x18af0b}={}){const _0x596901=this['editor']['plugins']['get'](_0x1f9655),_0x53a456=this['_revisionTracker']['buildRevisionData']({'revision':_0x3103d9,'from':_0x14b829,'to':_0x18af0b});_0x53a456['authors']=_0x53a456['authorsIds']['map'](_0x31f5c8=>_0x596901['getUser'](_0x31f5c8)),_0x3103d9['_update'](_0x53a456);}_preventResendingRevisionData(_0x3ab3df){const _0xfabaad={};_0xfabaad['id']=_0x3ab3df['id'];for(const _0x20280b of Object['keys'](_0x3ab3df))'id'!==_0x20280b&&(_0xfabaad[_0x20280b]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0xfabaad['id'],_0xfabaad,!0x0);}async _fetchMissingUsers(_0x218ed9){const _0x194763=this['editor']['plugins']['get'](_0x1f9655),{connection:_0x28edb4}=this['editor']['plugins']['get'](J),_0x30ec26=new Set();for(const _0x11b2ed of _0x218ed9){for(const _0xc596e6 of _0x11b2ed['authorsIds'])_0x2a8f3a(_0xc596e6);_0x11b2ed['creatorId']&&_0x2a8f3a(_0x11b2ed['creatorId']);}if(0x0===_0x30ec26['size'])return;const _0x14015b=await _0x4e1e1e['getMany'](_0x28edb4,Array['from'](_0x30ec26));for(const _0x5b084e of _0x14015b)_0x194763['getUser'](_0x5b084e['id'])||_0x194763['addUser'](_0x5b084e);function _0x2a8f3a(_0x56e2c9){_0x194763['getUser'](_0x56e2c9)||_0x30ec26['add'](_0x56e2c9);}}};function vt(_0x39eb5f){return _0x39eb5f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x39eb5f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x39eb5f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var _t=class extends _0x42c452{static get requires(){return[_0x595b6f,wt,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},yt=class extends _0x51c765{_collapseAt;constructor(_0x318374,_0xb4d0e8=0x6){super(_0x318374);const _0x269ff4=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0xb4d0e8,this['bind']('isHidden')['to'](this,'usersCount',_0x31db65=>_0x31db65<_0xb4d0e8),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x269ff4['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':_0x269ff4['to']('usersCount',_0x4f973a=>'+'+(_0x4f973a-this['_collapseAt']+0x2)['toString']())}]}]}]});}},bt=class extends _0x51c765{items;keystrokes;constructor(_0x55057a){super(_0x55057a);const _0x2dc45c=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x362adb(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2dc45c['if']('hasPopup'),'aria-expanded':_0x2dc45c['to']('isExpanded',_0x55c555=>this['hasPopup']&&String(_0x55c555)),'aria-label':_0x2dc45c['to']('hasPopup',_0x21fa5f=>et(_0x55057a,_0x21fa5f?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2dc45c['to']('hasPopup',_0x5cb9b0=>!!_0x5cb9b0&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0xda7ce5,_0x1aa4f0,_0x35663e)=>{this['element']&&(_0x35663e?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 _0x51c765{counterView;inlineListView;constructor(_0x1c82d9,_0x19a580=0x6){super(_0x1c82d9);const _0x1f881c=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new yt(this['locale'],_0x19a580),this['inlineListView']=new bt(_0x1c82d9),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4ddc8e of this['inlineListView']['items'])_0x4ddc8e['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',_0x1f881c['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},It=class extends _0x51c765{listWrapperView;constructor(_0x4aa4b4,_0x2ea421){super(_0x4aa4b4),this['listWrapperView']=new St(_0x4aa4b4,_0x2ea421),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x4aa4b4,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},St=class extends _0x492574{constructor(_0x258e0e,_0x3b64cd){super(_0x258e0e);const _0x342847=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3b64cd?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x342847['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x342847['to']('role'),'aria-label':_0x342847['to']('ariaLabel'),'aria-labelledby':_0x342847['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4ce874['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4261c8=this['element'];_0x4261c8&&(this['_isScrollable']=Math['max'](_0x4261c8['scrollHeight'],_0x4261c8['clientHeight'])>0.8*window['innerHeight']);}},Tt=class extends _0x1a0ed4{['userView'];constructor(_0x278ab8,_0x9acefb,_0x123e29){super(_0x278ab8);const _0xdd8298=this['bindTemplate'];this['userView']=new _0x61d070(_0x278ab8,_0x9acefb);const _0x5becaa={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x9acefb['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x9acefb['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x9acefb['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x9acefb['color']['getColorVariable'](),'--ck-user-color-alpha':_0x9acefb['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x123e29&&(_0x5becaa['tag']='button',_0x5becaa['on']={'click':_0xdd8298['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5becaa);}['focus'](){this['element']['focus']();}},Ct=class extends _0x51c765{['userView'];['markerView'];constructor(_0x45c610,_0x19e856,_0x1c396f){super(_0x45c610);const _0x10dbbf=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x61d070(_0x45c610,_0x19e856),this['markerView']=new At(_0x45c610,_0x19e856);const _0x446e84=new _0x4257d6(_0x45c610);_0x446e84['template']['tag']='span',_0x446e84['text']=_0x19e856['name'];const _0x1d5c85={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x10dbbf['to']('isFocusable',_0x5c91a6=>!!_0x5c91a6&&0x0),'aria-labelledby':_0x446e84['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x10dbbf['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x10dbbf['to']('hasTooltip',_0x24fb3b=>!_0x24fb3b),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x446e84]};_0x1c396f&&(_0x1d5c85['tag']='button',_0x1d5c85['on']={'click':_0x10dbbf['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1d5c85);}},At=class extends _0x51c765{constructor(_0x54942e,_0x53abd2){super(_0x54942e),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x53abd2['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x53abd2['color']['getColorVariable'](),'--ck-user-color-alpha':_0x53abd2['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Pt={'collapseAt':0x6,'displayMe':!0x0};var Ot=class extends _0x40687c{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1c5874){super(_0x1c5874),this['context']['config']['define']('presenceList',Pt);const _0x3f8643=_0x1c5874['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3f8643)throw new _0x18c6f6('presencelist-collapseat-invalid-format',this);if(_0x3f8643<0x1)throw new _0x18c6f6('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Q)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1c9906(),this['balloonPanelView']=new _0xa07487(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Q];}init(){for(const _0x1f9874 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1f9874);this['listenTo'](this['_allConnectedUsers'],'add',(_0x2f1328,_0x55d8b9)=>{this['_handleUserAdd'](_0x55d8b9);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x571a18,_0x24f356)=>{this['_handleUserRemove'](_0x24f356);});}_createView(){const _0x3a8f25=this['context'],_0x2cff01=new kt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x46b228=this['balloonPanelView'];if(!_0x42df98(_0x3a8f25['config']['get']('presenceList.container')))throw new _0x18c6f6('presencelist-missing-container',this);_0x2cff01['counterView']['bind']('usersCount')['to'](this),_0x2cff01['bind']('isCollapsed')['to'](this,'usersCount',_0x37ef41=>{const {collapseAt:_0x31845c}=_0x3a8f25['config']['get']('presenceList'),_0x19a081=_0x37ef41>=_0x31845c;if(_0x19a081&&!_0x2cff01['inlineListView']['items']['find'](_0x58d3d4=>_0x58d3d4 instanceof yt)){const _0x57b983=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x57b983&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2cff01['inlineListView']['items']['add'](_0x2cff01['counterView']);}return _0x19a081||this['hideDropdown'](),_0x19a081;}),_0x2cff01['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x47c9ce=>{const _0x28c94f=_0x3a8f25['config']['get']('presenceList'),_0x4c7f2a=new Ct(_0x3a8f25['locale'],_0x47c9ce,!!_0x28c94f['onClick']);return _0x4c7f2a['bind']('hasTooltip')['to'](_0x2cff01,'isCollapsed',_0xa18fbc=>!_0xa18fbc),_0x4c7f2a['bind']('isFocusable')['to'](_0x2cff01,'isCollapsed',_0x3f4214=>!_0x3f4214),_0x28c94f['onClick']&&this['listenTo'](_0x4c7f2a,'execute',()=>{this['view']['isCollapsed']||_0x28c94f['onClick'](_0x47c9ce,_0x4c7f2a['element']);}),_0x4c7f2a;}),_0x2cff01['inlineListView']['keystrokes']['set']('Enter',(_0x511a65,_0x1da447)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x1da447());}),_0x2cff01['render'](),_0x46b228['render'](),_0x2cff01['listenTo'](_0x2cff01['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x400451=(_0x1231b0,_0x1d29e5)=>{this['_hideDropdownUnlessPointerInside'](_0x1d29e5);};return _0x2cff01['listenTo'](_0x2cff01['inlineListView']['element'],'mouseleave',_0x400451),_0x2cff01['listenTo'](_0x46b228['element'],'mouseleave',_0x400451),_0x5074c4({'emitter':_0x2cff01,'activator':()=>_0x46b228['isVisible'],'contextElements':[_0x46b228['element'],_0x2cff01['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3a8f25['config']['get']('presenceList.container')['appendChild'](_0x2cff01['element']),this['_overlayHost']=new _0x94d82e(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x2cff01;}_resolveOverlayTarget(){const _0x39d46d=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x39d46d)return _0x39d46d;const _0x1de8dc=this['context']['config']['get']('presenceList.container');return _0x1de8dc?_0x42ec83(_0x1de8dc):null;}['_handleUserAdd'](_0x4cb64a){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x4cb64a['isMe'])return;const _0x25bbdb=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x25bbdb-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3ec0ed=_0x4cb64a['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x4cb64a,_0x3ec0ed);}['_handleUserRemove'](_0x325e58){this['usersCount']--;const {collapseAt:_0x11177d}=this['context']['config']['get']('presenceList'),_0x5ba0bc=this['usersCount']>=_0x11177d;if(this['currentDisplayedUsers']['get'](_0x325e58['id']))this['currentDisplayedUsers']['remove'](_0x325e58['id']);else{if(_0x5ba0bc&&this['currentDisplayedUsers']['length']+0x1===_0x11177d-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x5ba0bc?0x1:0x0)<this['usersCount']){for(const _0x4f8e78 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x4f8e78['id'])&&(this['currentDisplayedUsers']['add'](_0x4f8e78,Math['min'](this['currentDisplayedUsers']['length']-(_0x5ba0bc?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x5ba0bc?0x1:0x0)===_0x11177d-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x52575b=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new It(this['context']['locale'],!!_0x52575b['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x284289}=this['presenceDropdownView'];_0x284289['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4637be=>{if(!_0x52575b['displayMe']&&_0x4637be['isMe'])return null;const _0x4f9340=new Tt(this['context']['locale'],_0x4637be,!!_0x52575b['onClick']);return _0x52575b['onClick']&&this['listenTo'](_0x4f9340,'execute',()=>{_0x52575b['onClick'](_0x4637be,_0x4f9340['element']);}),_0x4f9340;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x284289['focus'](),_0x284289['checkIfScrollable']();const _0x280b74=(_0x2f3d73,_0x25ee10)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x25ee10();};_0x284289['keystrokes']['set']('Esc',_0x280b74),_0x284289['keystrokes']['set']('Shift+Tab',_0x280b74),_0x284289['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x284289['focusTracker']['add'](this['view']['element']),_0x284289['focusTracker']['on']('change:isFocused',(_0x33a2b9,_0x107147,_0x25c62e)=>{_0x25c62e||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(_0x54733a){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x2c4935=>_0x1a1620(_0x2c4935,_0x54733a))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},xt=class extends _0x40687c{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};
|