@ckeditor/ckeditor5-real-time-collaboration 48.3.0-alpha.2 → 48.3.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -6
- package/dist/translations/af.js +1 -1
- package/dist/translations/af.umd.js +1 -1
- package/dist/translations/ar.js +1 -1
- package/dist/translations/ar.umd.js +1 -1
- package/dist/translations/ast.js +1 -1
- package/dist/translations/ast.umd.js +1 -1
- package/dist/translations/az.js +1 -1
- package/dist/translations/az.umd.js +1 -1
- package/dist/translations/be.js +1 -1
- package/dist/translations/be.umd.js +1 -1
- package/dist/translations/bg.js +1 -1
- package/dist/translations/bg.umd.js +1 -1
- package/dist/translations/bn.js +1 -1
- package/dist/translations/bn.umd.js +1 -1
- package/dist/translations/bs.js +1 -1
- package/dist/translations/bs.umd.js +1 -1
- package/dist/translations/ca.js +1 -1
- package/dist/translations/ca.umd.js +1 -1
- package/dist/translations/cs.js +1 -1
- package/dist/translations/cs.umd.js +1 -1
- package/dist/translations/da.js +1 -1
- package/dist/translations/da.umd.js +1 -1
- package/dist/translations/de-ch.js +1 -1
- package/dist/translations/de-ch.umd.js +1 -1
- package/dist/translations/de.js +1 -1
- package/dist/translations/de.umd.js +1 -1
- package/dist/translations/el.js +1 -1
- package/dist/translations/el.umd.js +1 -1
- package/dist/translations/en-au.js +1 -1
- package/dist/translations/en-au.umd.js +1 -1
- package/dist/translations/en-gb.js +1 -1
- package/dist/translations/en-gb.umd.js +1 -1
- package/dist/translations/en.js +1 -1
- package/dist/translations/en.umd.js +1 -1
- package/dist/translations/eo.js +1 -1
- package/dist/translations/eo.umd.js +1 -1
- package/dist/translations/es-co.js +1 -1
- package/dist/translations/es-co.umd.js +1 -1
- package/dist/translations/es.js +1 -1
- package/dist/translations/es.umd.js +1 -1
- package/dist/translations/et.js +1 -1
- package/dist/translations/et.umd.js +1 -1
- package/dist/translations/eu.js +1 -1
- package/dist/translations/eu.umd.js +1 -1
- package/dist/translations/fa.js +1 -1
- package/dist/translations/fa.umd.js +1 -1
- package/dist/translations/fi.js +1 -1
- package/dist/translations/fi.umd.js +1 -1
- package/dist/translations/fr.js +1 -1
- package/dist/translations/fr.umd.js +1 -1
- package/dist/translations/gl.js +1 -1
- package/dist/translations/gl.umd.js +1 -1
- package/dist/translations/gu.js +1 -1
- package/dist/translations/gu.umd.js +1 -1
- package/dist/translations/he.js +1 -1
- package/dist/translations/he.umd.js +1 -1
- package/dist/translations/hi.js +1 -1
- package/dist/translations/hi.umd.js +1 -1
- package/dist/translations/hr.js +1 -1
- package/dist/translations/hr.umd.js +1 -1
- package/dist/translations/hu.js +1 -1
- package/dist/translations/hu.umd.js +1 -1
- package/dist/translations/hy.js +1 -1
- package/dist/translations/hy.umd.js +1 -1
- package/dist/translations/id.js +1 -1
- package/dist/translations/id.umd.js +1 -1
- package/dist/translations/it.js +1 -1
- package/dist/translations/it.umd.js +1 -1
- package/dist/translations/ja.js +1 -1
- package/dist/translations/ja.umd.js +1 -1
- package/dist/translations/jv.js +1 -1
- package/dist/translations/jv.umd.js +1 -1
- package/dist/translations/kk.js +1 -1
- package/dist/translations/kk.umd.js +1 -1
- package/dist/translations/km.js +1 -1
- package/dist/translations/km.umd.js +1 -1
- package/dist/translations/kn.js +1 -1
- package/dist/translations/kn.umd.js +1 -1
- package/dist/translations/ko.js +1 -1
- package/dist/translations/ko.umd.js +1 -1
- package/dist/translations/ku.js +1 -1
- package/dist/translations/ku.umd.js +1 -1
- package/dist/translations/lt.js +1 -1
- package/dist/translations/lt.umd.js +1 -1
- package/dist/translations/lv.js +1 -1
- package/dist/translations/lv.umd.js +1 -1
- package/dist/translations/ms.js +1 -1
- package/dist/translations/ms.umd.js +1 -1
- package/dist/translations/nb.js +1 -1
- package/dist/translations/nb.umd.js +1 -1
- package/dist/translations/ne.js +1 -1
- package/dist/translations/ne.umd.js +1 -1
- package/dist/translations/nl.js +1 -1
- package/dist/translations/nl.umd.js +1 -1
- package/dist/translations/no.js +1 -1
- package/dist/translations/no.umd.js +1 -1
- package/dist/translations/oc.js +1 -1
- package/dist/translations/oc.umd.js +1 -1
- package/dist/translations/pl.js +1 -1
- package/dist/translations/pl.umd.js +1 -1
- package/dist/translations/pt-br.js +1 -1
- package/dist/translations/pt-br.umd.js +1 -1
- package/dist/translations/pt.js +1 -1
- package/dist/translations/pt.umd.js +1 -1
- package/dist/translations/ro.js +1 -1
- package/dist/translations/ro.umd.js +1 -1
- package/dist/translations/ru.js +1 -1
- package/dist/translations/ru.umd.js +1 -1
- package/dist/translations/si.js +1 -1
- package/dist/translations/si.umd.js +1 -1
- package/dist/translations/sk.js +1 -1
- package/dist/translations/sk.umd.js +1 -1
- package/dist/translations/sl.js +1 -1
- package/dist/translations/sl.umd.js +1 -1
- package/dist/translations/sq.js +1 -1
- package/dist/translations/sq.umd.js +1 -1
- package/dist/translations/sr-latn.js +1 -1
- package/dist/translations/sr-latn.umd.js +1 -1
- package/dist/translations/sr.js +1 -1
- package/dist/translations/sr.umd.js +1 -1
- package/dist/translations/sv.js +1 -1
- package/dist/translations/sv.umd.js +1 -1
- package/dist/translations/th.js +1 -1
- package/dist/translations/th.umd.js +1 -1
- package/dist/translations/ti.js +1 -1
- package/dist/translations/ti.umd.js +1 -1
- package/dist/translations/tk.js +1 -1
- package/dist/translations/tk.umd.js +1 -1
- package/dist/translations/tr.js +1 -1
- package/dist/translations/tr.umd.js +1 -1
- package/dist/translations/tt.js +1 -1
- package/dist/translations/tt.umd.js +1 -1
- package/dist/translations/ug.js +1 -1
- package/dist/translations/ug.umd.js +1 -1
- package/dist/translations/uk.js +1 -1
- package/dist/translations/uk.umd.js +1 -1
- package/dist/translations/ur.js +1 -1
- package/dist/translations/ur.umd.js +1 -1
- package/dist/translations/uz.js +1 -1
- package/dist/translations/uz.umd.js +1 -1
- package/dist/translations/vi.js +1 -1
- package/dist/translations/vi.umd.js +1 -1
- package/dist/translations/zh-cn.js +1 -1
- package/dist/translations/zh-cn.umd.js +1 -1
- package/dist/translations/zh.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
|
-
((()=>_0x3197df)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x1d1225,_0x3aba24];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3462ac){super(_0x3462ac),this['set']('state',_0xbe46e2['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x128a5f())();}['init'](){const _0x2e711c=this['context'],_0x3db06c=_0x2e711c['plugins']['get'](_0x1d1225),_0x3706e2=_0x2e711c['plugins']['get'](_0x3aba24);if(!_0x3db06c['token'])throw new _0x247b99('websocketgateway-missing-token',this);if(!_0x3db06c['webSocketUrl'])throw new _0x247b99('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'](_0x3db06c['token'],_0x3db06c['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x41e0b5=>{if(this['connection']=_0x41e0b5,this['bind']('state')['to'](_0x41e0b5,'state',this,'_isBrowserOffline',(_0x4632a2,_0x15ccb0)=>('connected'!==_0x4632a2&&(this['_shouldPluginsReconnect']=!0x0),_0x15ccb0||_0x4632a2!==_0xbe46e2['CONNECTED']?_0xbe46e2['DISCONNECTED']:this['state']==_0xbe46e2['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xbe46e2['CONNECTING']):_0xbe46e2['CONNECTED'])),this['connection']['on']('error',(_0x20e359,_0x1f0206)=>{if('limitExceeded'!==_0x1f0206['code'])throw console['error'](_0x1f0206),new _0x247b99('cloudservices-init',null,{'originalError':_0x1f0206});_0x3706e2['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'});}),!_0x41e0b5['me'])return new Promise(_0x12509a=>_0x41e0b5['on']('change:me',_0x12509a));})['catch'](_0x3b5220=>{throw console['error'](_0x3b5220),new _0x247b99('cloudservices-init',null,{'originalError':_0x3b5220});});}['addToReconnectionStack'](_0x1baca3){if('function'!=typeof _0x1baca3['reconnect'])throw new _0x247b99('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1baca3))throw new _0x247b99('websocketgateway-plugin-already-registered',this,{'name':_0x1baca3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1baca3);}['removeFromReconnectionStack'](_0x1ed928){this['_reconnectionStack']['delete'](_0x1ed928);}['isInReconnectionStack'](_0x33be3b){return this['_reconnectionStack']['has'](_0x33be3b);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xeb7e3b=>_0xeb7e3b['reconnect']())))['then'](()=>this['state']=_0xbe46e2['CONNECTED'])['catch'](_0x2b4fcc=>{throw console['error'](_0x2b4fcc),new _0x247b99('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xbe46e2['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x198b15{['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[z,_0x2c4aec];}constructor(_0x438c58){super(_0x438c58),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x306590(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2c4aec);}['init'](){const _0x5c897b=this['context']['plugins']['get'](z);this['listenTo'](_0x5c897b,'change:state',(_0x17f0a5,_0x21a04f,_0x4ad1e5)=>{if('connected'!==_0x4ad1e5)this['channelSessions']['forEach'](_0x635b1a=>_0x635b1a['clear']()),this['channelConnectedUsers']['forEach'](_0x2a1a2e=>_0x2a1a2e['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x693cbe,_0x35f46c]of this['_registeredSessions'])for(const _0x11ad98 of _0x35f46c)this['_handleSessionAdd'](_0x693cbe,_0x11ad98);}}),this['_createUser'](_0x5c897b['connection']['me'],!0x0);}['register'](_0x22a626,_0x1e793d){if(this['_registeredSessions']['has'](_0x22a626))throw new _0x247b99('sessions-register-already-registered',null,{'channelId':_0x22a626});this['_registeredSessions']['set'](_0x22a626,_0x1e793d),this['channelSessions']['set'](_0x22a626,new _0x306590()),this['channelConnectedUsers']['set'](_0x22a626,new _0x306590()),this['listenTo'](_0x1e793d,'add',(_0x472e02,_0x169d72)=>this['_handleSessionAdd'](_0x22a626,_0x169d72)),this['listenTo'](_0x1e793d,'remove',(_0x4f1ddd,_0x3b7916)=>this['_handleSessionRemove'](_0x22a626,_0x3b7916));for(const _0x794a02 of _0x1e793d)this['_handleSessionAdd'](_0x22a626,_0x794a02);}['unregister'](_0x3a0c9a){if(!this['_registeredSessions']['has'](_0x3a0c9a))throw new _0x247b99('sessions-unregister-not-exist',null,{'channelId':_0x3a0c9a});const _0x1eae91=this['_registeredSessions']['get'](_0x3a0c9a);this['stopListening'](_0x1eae91);for(const _0x5b225b of _0x1eae91)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x3a0c9a,_0x5b225b);this['_registeredSessions']['delete'](_0x3a0c9a),this['channelSessions']['delete'](_0x3a0c9a),this['channelConnectedUsers']['delete'](_0x3a0c9a);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x3ac32e){for(const _0x2d28ac of this['channelSessions']['values']())for(const _0x407ac2 of _0x2d28ac)if(_0x407ac2['id']===_0x3ac32e)return _0x407ac2['user'];}['getUserSessions'](_0x4a3424,_0x481da4){const _0x15758c=_0x481da4?[this['channelSessions']['get'](_0x481da4)]:this['channelSessions']['values'](),_0x5666ce=new Set();for(const _0x5dd310 of _0x15758c)for(const _0x337701 of _0x5dd310)_0x337701['user']['id']===_0x4a3424['id']&&_0x5666ce['add'](_0x337701['id']);return _0x5666ce;}['getUserRole'](_0x317586){for(const _0x174598 of this['channelSessions']['values']())for(const _0x554da3 of _0x174598)if(_0x554da3['user']===_0x317586)return _0x554da3['role'];}['_handleSessionAdd'](_0x455c4a,_0x5b614a){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3e74a5=_0x5b614a['user'],_0x31eadb=this['_users']['getUser'](_0x3e74a5['id'])||this['_createUser'](_0x3e74a5),_0x1f289c=Object['assign']({},_0x5b614a,{'user':_0x31eadb});if(this['channelSessions']['get'](_0x455c4a)['add'](_0x1f289c),!_0x3e74a5['hiddenInPresenceList']){const _0x56697e=this['channelConnectedUsers']['get'](_0x455c4a);_0x56697e['has'](_0x31eadb['id'])||_0x56697e['add'](_0x31eadb),this['allConnectedUsers']['has'](_0x31eadb['id'])||_0x3e74a5['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x31eadb,_0x31eadb['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x455c4a,{'channelId':_0x455c4a,'session':_0x1f289c});}['_handleSessionRemove'](_0x738f87,_0x1500ed){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4327ca=this['channelConnectedUsers']['get'](_0x738f87),_0x3ecbc6=_0x1500ed['user'];_0x3ecbc6['id']&&(this['channelSessions']['get'](_0x738f87)['remove'](_0x1500ed['id']),_0x4327ca['has'](_0x3ecbc6['id'])&&!this['getUserSessions'](_0x3ecbc6,_0x738f87)['size']&&_0x4327ca['remove'](_0x3ecbc6['id']),this['allConnectedUsers']['get'](_0x3ecbc6['id'])&&!this['getUserSessions'](_0x3ecbc6)['size']&&this['allConnectedUsers']['remove'](_0x3ecbc6['id']));}['_createUser'](_0x137c15,_0x3ef584){const _0x22a60a=this['_users']['addUser'](_0x137c15);return _0x3ef584&&this['_users']['defineMe'](_0x137c15['id']),_0x22a60a['orderNumber']=this['_uniqueUsersCount']++,_0x22a60a;}},K=class extends _0x55f077{['_domEmitter']=new(_0x128a5f())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xf8ab14=this['editor'],_0x3e256c=_0xf8ab14['plugins']['get'](Y);_0xf8ab14['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xcc8eae,{writer:_0x3fce45})=>function(_0x202683,_0x1a9b25,_0x51edd5,_0x39fbd5){const _0xaea4cc=_0x202683['markerName']['split'](':')[0x2],_0x5920e6=_0x51edd5['getUserBySessionId'](_0xaea4cc);if(!_0x5920e6||_0xaea4cc===_0x51edd5['mySessionId'])return;if(!_0x39fbd5['model']['schema']['checkChild'](_0x202683['markerRange']['start'],'$text'))return;const _0x1ae736={'class':'ck-user__marker\x20'+_0x5920e6['color']['getMarkerClass'](),'style':Q(_0x5920e6),'data-name':_0x5920e6['name'],'data-session-id':_0xaea4cc},_0x75f1e1=_0x39fbd5['model']['markers']['get'](_0x202683['markerName'])['getStart'](),_0x54a056=_0x75f1e1['nodeAfter'],_0x53d722=_0x39fbd5['model']['schema'];if(_0x54a056&&_0x53d722['isObject'](_0x54a056)&&_0x53d722['isInline'](_0x54a056)&&!_0x39fbd5['model']['markers']['get']('user:range:'+_0xaea4cc)['getRange']()['isCollapsed'])return;const _0x1cca80=_0x75f1e1['parent'];return _0x39fbd5['model']['schema']['isLimit'](_0x1cca80)&&!_0x39fbd5['model']['hasContent'](_0x1cca80)&&(_0x1ae736['contenteditable']=!0x1),function(_0x500c73,_0x3312fb,_0x47ce0b){const _0x2a0a3c=_0x500c73['createUIElement']('span',_0x3312fb);return _0x500c73['setCustomProperty']('userPositionMarker',!0x0,_0x2a0a3c),_0x2a0a3c['render']=function(_0xd40a0e){const _0x5b2231=this['toDomElement'](_0xd40a0e),_0x5017de=document['createElement']('span');return _0x5017de['classList']['add']('ck-user__marker-tooltip'),_0x5017de['setAttribute']('contenteditable','false'),_0x5017de['setAttribute']('spellcheck','false'),_0x5017de['textContent']=_0x47ce0b['name'],_0x5b2231['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5017de['outerHTML']+'',_0x5b2231['addEventListener']('mouseenter',()=>{_0x5b2231['classList']['add']('ck-user__marker_hovered');}),_0x5b2231['addEventListener']('mouseleave',()=>{_0x5b2231['classList']['remove']('ck-user__marker_hovered');}),_0x5b2231;},_0x2a0a3c['isSimilar']=function(_0x93968e){return!(!this['getCustomProperty']('userPositionMarker')||!_0x93968e['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x93968e['getAttribute']('data-session-id'));},_0x2a0a3c;}(_0x1a9b25,_0x1ae736,_0x5920e6);}(_0xcc8eae,_0x3fce45,_0x3e256c,_0xf8ab14)}),_0xf8ab14['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x9cbf31=>function(_0x58d334,_0x16d6f4){const _0x24eef1=_0x58d334['markerName']['split'](':')[0x2];if(_0x24eef1===_0x16d6f4['mySessionId'])return null;const _0x2829bf=_0x16d6f4['getUserBySessionId'](_0x24eef1);return _0x2829bf?{'id':_0x24eef1,'classes':['ck-user__selection',_0x2829bf['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2829bf),'data-session-id':_0x24eef1},'priority':0x7d0+_0x2829bf['orderNumber']}:{'id':_0x24eef1,'classes':[]};}(_0x9cbf31,_0x3e256c)}),function(_0x3edfa5){const _0x147445=_0x3edfa5['model'],_0x21bdeb=new Map(),_0x4f869c=_0x3edfa5['plugins']['get'](Y);_0x147445['markers']['on']('update:user:range',(_0x5516b1,_0x19b7a3,_0xf6fc61,_0x554f9d)=>{if(!_0x554f9d&&_0x21bdeb['get'](_0x19b7a3['name']))return _0x21bdeb['get'](_0x19b7a3['name'])['detach'](),void _0x21bdeb['delete'](_0x19b7a3['name']);const _0x5d8981=_0x19b7a3['name']['split'](':')[0x2];if(_0x5d8981===_0x4f869c['mySessionId'])return;const _0x29caff='user:position:'+_0x5d8981;_0x147445['markers']['has'](_0x29caff)&&_0x3edfa5['editing']['reconvertMarker'](_0x29caff),_0x19b7a3['on']('change:range',(_0x225aa3,_0x15f62d,_0xb87a4a)=>{if('$graveyard'!=_0x15f62d['root']['rootName']&&'$graveyard'==_0x19b7a3['getRange']()['root']['rootName']&&!_0x21bdeb['has'](_0x19b7a3['name'])){const _0x562c3b=_0x147445['schema']['getNearestSelectionRange'](_0xb87a4a['deletionPosition']);if(_0x562c3b){const _0x528df6=_0x537809['fromRange'](_0x562c3b);_0x21bdeb['set'](_0x19b7a3['name'],_0x528df6),_0x528df6['on']('change:range',(_0x5c0393,_0x38921b,_0x5ce3c9)=>{if('$graveyard'==_0x528df6['root']['rootName']){const _0x565665=_0x147445['schema']['getNearestSelectionRange'](_0x5ce3c9['deletionPosition']);_0x565665?(_0x528df6['start']=_0x565665['start'],_0x528df6['end']=_0x565665['end']):(_0x21bdeb['delete'](_0x19b7a3['name']),_0x528df6['detach']());}});}}});}),_0x147445['document']['on']('change',()=>{_0x21bdeb['size']>0x0&&_0x147445['enqueueChange']({'isUndoable':!0x1},_0x4da494=>{for(const [_0x344ae2,_0x25c67a]of _0x21bdeb)'$graveyard'==_0x147445['markers']['get'](_0x344ae2)['getRange']()['root']['rootName']&&(J(_0x344ae2['split'](':')[0x2],_0x25c67a['toRange'](),_0x147445,_0x4da494),_0x25c67a['detach']());_0x21bdeb['clear']();});});}(_0xf8ab14),this['_domEmitter']['listenTo'](_0x3de184['document'],'keydown',(_0x201010,{key:_0x2208d6})=>{'Escape'===_0x2208d6&&function(_0xdcc4fc){_0xdcc4fc['editing']['view']['change'](_0x5cfc62=>{for(const _0x29df6d of _0xdcc4fc['model']['markers']){if(!_0x29df6d['name']['startsWith']('user:position'))continue;const _0x873309=_0xdcc4fc['editing']['mapper']['markerNameToElements'](_0x29df6d['name']);if(_0x873309){for(const _0x21a3ad of _0x873309)_0x5cfc62['removeClass']('ck-user__marker_hovered',_0x21a3ad);}}});}(_0xf8ab14);},{'useCapture':!0x0});}['afterInit'](){const _0x133824=this['editor'],_0x25e23d=_0x133824['commands']['get']('undo');_0x25e23d&&_0x133824['model']['on']('applyOperation',(_0x903e41,_0xf89f34)=>{const _0x5e3318=_0xf89f34[0x0];if(!_0x5e3318['isDocumentOperation'])return;if('marker'!=_0x5e3318['type']||!_0x5e3318['name']['startsWith']('user:'))return;const _0x36cd93=_0x5e3318['batch'];_0x25e23d['_createdBatches']['has'](_0x36cd93)&&(_0x5e3318['newRange']=_0x5e3318['oldRange']?_0x133824['model']['createRange'](_0x5e3318['oldRange']['start'],_0x5e3318['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2939be=this['editor'],_0x15b234=_0x2939be['model']['document'],_0x4cf68e=_0x2939be['plugins']['get'](Y);_0x2939be['model']['enqueueChange']({'isUndoable':!0x1},_0x5d5e79=>{const _0x32a869='user:range:'+_0x4cf68e['mySessionId'],_0x135e0b='user:position:'+_0x4cf68e['mySessionId'],_0x37168c=_0x2939be['model']['markers']['has'](_0x32a869);_0x2939be['editing']['view']['hasDomSelection']?J(_0x4cf68e['mySessionId'],_0x15b234['selection']['getFirstRange'](),_0x2939be['model'],_0x5d5e79):_0x37168c&&(_0x5d5e79['removeMarker'](_0x32a869),_0x5d5e79['removeMarker'](_0x135e0b));});}};function J(_0x5d6205,_0x4167a4,_0xcc5ac3,_0x258df7){const _0x21012e='user:range:'+_0x5d6205,_0x398941='user:position:'+_0x5d6205,_0x10c64f=_0x4167a4['getContainedElement']();let _0x57dcde=_0x4167a4['start'];if(_0x10c64f&&_0x10c64f['is']('element','tableCell')){const _0x6ba8b2=function(_0x1c55d2,_0x4cf1dd){for(const _0x418734 of _0x1c55d2['getPositions']())if(_0x4cf1dd['schema']['checkChild'](_0x418734,'$text'))return _0x418734;}(_0x4167a4,_0xcc5ac3);_0x6ba8b2&&(_0x57dcde=_0x6ba8b2,_0x4167a4=_0x258df7['createRange'](_0x57dcde));}const _0x4ec9d9=_0x258df7['createRange'](_0x57dcde);_0xcc5ac3['markers']['has'](_0x21012e)?(_0x258df7['updateMarker'](_0x21012e,{'range':_0x4167a4}),_0x258df7['updateMarker'](_0x398941,{'range':_0x4ec9d9})):(_0x258df7['addMarker'](_0x21012e,{'range':_0x4167a4,'usingOperation':!0x0}),_0x258df7['addMarker'](_0x398941,{'range':_0x4ec9d9,'usingOperation':!0x0}));}function Q(_0x57ef86){return'--ck-user-color:'+_0x57ef86['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x57ef86['color']['getColorAlphaVariable']()+';';}function X(_0x530142,_0x14f333,_0x2dae1f){const _0x36232a=_0x530142['t'],t=_0x530142['t'];switch(_0x14f333){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 _0x36232a({'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'},_0x2dae1f);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x55f077{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x56bfe2)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x1664fe,_0x2c4aec,_0x3aba24];}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 _0x387526=this['serverHistory']['getOperations']();for(let _0x13be41=_0x387526['length']-0x1;_0x13be41>=0x0;_0x13be41--){const _0x196c0f=_0x387526[_0x13be41];if(!this['_disconnectionOperations']['has'](_0x196c0f))return _0x196c0f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4b1491){if(super(_0x4b1491),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3b9cfe(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x247b99('collaboration-missing-channelid',this);const _0x10fd95=_0x4b1491['config']['get']('cloudServices.bundleVersion')||_0x43a572;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x10fd95,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x307d8e(),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 it(this['_disconnectionOperations']);}['init'](){const _0x3c5cb3=this['editor'],_0x52d793=_0x3c5cb3['plugins']['get'](_0x2c4aec),_0x5aa1c8=_0x3c5cb3['plugins']['get'](z);this['listenTo'](_0x52d793,'getOperationAuthor',(_0x356bd3,_0x3779e0)=>{const _0x338986=_0x3779e0[0x0];_0x338986['_authorId']&&(_0x356bd3['return']=_0x52d793['getUser'](_0x338986['_authorId']),_0x356bd3['stop']()),null===_0x338986['_authorId']&&(_0x356bd3['return']=null,_0x356bd3['stop']());},{'priority':'high'}),this['listenTo'](_0x3c5cb3['model']['document']['selection'],'change:range',(_0x56fda7,_0x1809a0)=>{_0x1809a0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3c5cb3['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3c5cb3['model']['on']('applyOperation',(_0x3afeec,_0x4e69e1)=>{const _0x27d9f1=_0x4e69e1[0x0];_0x27d9f1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x27d9f1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x5aa1c8,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x321a47,_0x5ba8d3,_0x26c543)=>'connected'===_0x321a47&&!_0x5ba8d3&&!_0x26c543),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3c5cb3['disableReadOnlyMode']('rtc-offline'):_0x3c5cb3['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3c5cb3['disableReadOnlyMode']('rtc-offline'):_0x3c5cb3['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x50b4cb=this['editor']['plugins']['get'](Y),_0x2457cb=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x50b4cb['unregister'](this['_channelId']);const _0x5039f5=await this['_service']['reconnect'](_0x2457cb['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5039f5)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x479ee9=await this['_service']['getConnectedSessions']();_0x50b4cb['register'](this['_channelId'],_0x479ee9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2340cb){if(function(_0x10813d){return'404'===_0x10813d['code'];}(_0x2340cb)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2ceccc){return'409'===_0x2ceccc['code'];}(_0x2340cb)){const _0x38c187=X(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'](_0x38c187);}else{if(!(_0x2340cb instanceof et))throw _0x2340cb;this['_handleReconnectionError']();}}}}['destroy'](){const _0x531712=this['editor']['plugins']['get'](z),_0x55a1e4=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x55a1e4['channelSessions']['has'](this['_channelId'])&&_0x55a1e4['unregister'](this['_channelId']),_0x531712['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x567414){if(this['sessionId']!==_0x567414['sessionId']&&this['_lastSyncedOperationId']!==_0x567414['lastOperationId'])throw new et();return this['sessionId']=_0x567414['sessionId'],this['_handleServerResponse']([],{..._0x567414,'wereChangesApplied':!0x1,'data':_0x567414['data']},'reconnect');}async['_connectService'](_0x14f28d,_0x438022=!0x1){const {connection:_0x392605}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x392605,this['_channelId'])['then'](_0x2dc7ba=>this['_initSessionsHandling'](_0x2dc7ba))['catch'](_0x4d995b=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4d995b);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x59bf40,_0x688884)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x688884);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x5efd14=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x14f28d);this['_isPendingUpdate']=!0x0;const _0x28d416=await this['_service']['connect'](_0x392605,this['_compressOperations'](_0x14f28d),_0x5efd14);if(this['sessionId']=_0x28d416['sessionId'],_0x438022){if(!_0x28d416['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x28d416['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x14f28d,_0x28d416,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x28d416,_0x14f28d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x13fc90=this['editor']['plugins']['get'](Y),_0x1b280d=this['editor']['plugins']['get'](K),_0x1cccec=_0x13fc90['channelSessions']['get'](this['_channelId']);_0x1cccec&&_0x1cccec['length']>0x1?_0x1b280d['createUserMarkerOperations']():this['listenTo'](_0x13fc90,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x13fc90['channelSessions']['get'](this['_channelId'])['length']&&_0x1b280d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x400c04,_0x34e242,_0x560ec2,_0x25b211){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x34e242){const _0x20a981=this['_decompressOperations'](_0x560ec2,_0x25b211);await this['_fetchMissingUsers'](_0x20a981),this['_handleExternalOperations'](_0x20a981,_0x34e242,_0x560ec2['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3a86e3}=this['editor'];let _0x53b307;try{_0x53b307=await this['_service']['getDocumentDetails']();}catch{const _0x42ca3f=X(_0x3a86e3,'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'](_0x42ca3f);}const _0x46b586=_0x53b307['currentDocumentSession']||_0x53b307['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x46b586['lastOperationId']){const _0x2e0879=X(_0x3a86e3,'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'](_0x2e0879);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x2ec208=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2ec208['connection']||'connected'!==_0x2ec208['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x27dbd3=this['editor']['plugins']['get'](Y);_0x27dbd3['channelSessions']['has'](this['_channelId'])&&_0x27dbd3['unregister'](this['_channelId']),_0x2ec208['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x26803f){const _0x5763a5=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5763a5,'sessionAdd:'+this['_channelId'],(_0x4199be,{session:_0x3fb7b3})=>{if(_0x3fb7b3['id']===_0x5763a5['mySessionId']){_0x4199be['off']();const _0x52c1d8=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x16075a=_0x3fb7b3['permissions'];_0x52c1d8&&_0x52c1d8['isEnabled']&&(_0x16075a=_0x16075a['filter'](_0x37c924=>'document:write'!==_0x37c924)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x16075a,this['_channelId']);}}),_0x5763a5['register'](this['_channelId'],_0x26803f);}['_initThrowingOnDataSet'](){const _0x8a206e=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x56eae2)=>{if(!_0x56eae2[_0x56eae2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x247b99('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x8a206e['apply'](this['editor']['data'],_0x56eae2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2d56a8,[_0x4236b7])=>{if(this['_document']['version'])throw new _0x247b99('realtimecollaborationclient-init-document-already-initialized',this);_0x2d56a8['stop'](),this['_setPendingAction']();const _0x490ac4=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0xc55c06])=>!_0xc55c06['lazyLoad'])['map'](([_0x216b84,_0x332897])=>[_0x216b84,_0x332897['modelAttributes']||{}])),_0xf8fc1f=this['_getOperationsFromInitData'](_0x4236b7,_0x490ac4);0x0==_0xf8fc1f['length']&&_0xf8fc1f['push'](new _0x506b04(0x0)),_0x2d56a8['return']=this['_connectService'](_0xf8fc1f)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5e2d7b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5e2d7b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x91c735,[_0x2942ae,_0x3a98c4])=>{_0x91c735['stop']();const _0x2f3e19=this['editor']['model']['document']['getRoot'](_0x2942ae);if(!this['_knownRootNames']['has'](_0x2942ae)){const _0x3c72ea=_0x3a98c4&&_0x3a98c4['data']?_0x3a98c4['data']:'',_0x4bd1b3=_0x3a98c4&&_0x3a98c4['attributes']?_0x3a98c4['attributes']:{};await this['_loadRoot'](_0x2942ae,_0x3c72ea,_0x4bd1b3);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2f3e19['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2f3e19);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x35894e){const _0x488497=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x30453a}=this['editor']['plugins']['get'](z),_0x3827f2=new Set();for(const _0x3f66b6 of _0x35894e){const _0x2055ee=_0x3f66b6['_authorId'];_0x2055ee&&!_0x488497['getUser'](_0x2055ee)&&_0x3827f2['add'](_0x2055ee);}if(0x0===_0x3827f2['size'])return;const _0x450b4e=await _0x3fdc75['getMany'](_0x30453a,Array['from'](_0x3827f2));for(const _0x34fcde of _0x450b4e)_0x488497['getUser'](_0x34fcde['id'])||_0x488497['addUser'](_0x34fcde);}['_getOperationsFromInitData'](_0x4a40af,_0x333075={}){const _0x2d761d=this['editor']['model'],_0x32d939=[];let _0x2a4550=0x0;const _0x11d752='string'==typeof _0x4a40af?{'main':_0x4a40af}:_0x4a40af;for(const _0x4d3bab of Object['keys'](_0x11d752)){if(!this['_document']['roots']['has'](_0x4d3bab))throw new _0x247b99('realtimecollaborationclient-init-non-existent-root',this);const _0xaa7742=this['_document']['getRoot'](_0x4d3bab),_0x70c5a3=this['editor']['data']['parse'](_0x11d752[_0x4d3bab],_0xaa7742),_0x3051bb=new _0x1e623b(_0x2d761d['createPositionAt'](_0xaa7742,0x0),_0x70c5a3,_0x2a4550++);_0x32d939['push'](_0x3051bb);for(const [_0x2a4f1c,_0x4a1444]of _0x70c5a3['markers']){const _0x5d040d=new _0x2b7f21(_0x2a4f1c,null,_0x2d761d['createRange'](_0x2d761d['createPositionFromPath'](_0xaa7742,_0x4a1444['start']['path']['slice']()),_0x2d761d['createPositionFromPath'](_0xaa7742,_0x4a1444['end']['path']['slice']())),_0x2d761d['markers'],!0x0,_0x2a4550++);_0x32d939['push'](_0x5d040d);}}if(_0x333075)for(const [_0x10f51f,_0x3d9780]of Object['entries'](_0x333075)){const _0xae09d3=_0x2d761d['document']['getRoot'](_0x10f51f);if(!_0xae09d3)throw new _0x247b99('multi-root-editor-root-attributes-no-root',null);for(const [_0x401ed6,_0x2ae0f3]of Object['entries'](_0x3d9780))if(null!==_0x2ae0f3){const _0x523524=new _0x530ebb(_0xae09d3,_0x401ed6,null,_0x2ae0f3,_0x2a4550++);_0x32d939['push'](_0x523524);}}return _0x32d939;}async['_loadRoot'](_0x25fa80,_0x3e2359,_0x2f8abc){this['_getOperationsFromInitData']({[_0x25fa80]:_0x3e2359},{[_0x25fa80]:_0x2f8abc})['forEach']((_0x2a5ae9,_0x1468b1)=>{_0x2a5ae9['baseVersion']=this['_document']['version']+_0x1468b1,_0x2a5ae9['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2a5ae9);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2e9ada,_0xedc5b2){let _0x158834;this['_offset']=_0x2e9ada['offset'];const _0x512f13=_0x2e9ada['wereChangesApplied']&&!_0x2e9ada['initData'],_0x5b59a0=_0x512f13?0x0:_0x2e9ada['data']['baseVersion'];if(_0xedc5b2['forEach'](_0x476687=>{_0x476687['_isInit']=!0x0,_0x476687['createdAt']=_0x2e9ada['sessionCreatedAt'],_0x476687['_authorId']=null;}),_0x512f13)_0x158834=_0xedc5b2,this['_applyOperationsSet'](_0x158834,_0x512f13);else{if(_0x2e9ada['initData']){const _0x9724a9=this['_getOperationsFromInitData'](_0x2e9ada['initData']);this['_document']['history']['version']=-_0x9724a9['length'],_0x9724a9['forEach'](_0x45aefa=>{_0x45aefa['baseVersion']-=_0x9724a9['length'],_0x45aefa['createdAt']=_0x2e9ada['sessionCreatedAt'],_0x45aefa['_isInit']=!0x0,_0x45aefa['_authorId']=null;}),this['_applyOperationsSet'](_0x9724a9,!0x0),this['serverHistory']['version']=-_0x9724a9['length']+this['_offset'],this['_updateServerHistory'](_0x9724a9);}this['_document']['history']['version']=_0x5b59a0,_0x158834=this['_decompressOperations'](_0x2e9ada['data'],_0x2e9ada['metadata']),await this['_fetchMissingUsers'](_0x158834),this['_applyOperationsSet'](_0x158834,_0x512f13);}_0x2e9ada['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x158834,_0x2e9ada['lastOperationId']),this['_lastSyncedOperationId']=_0x2e9ada['lastOperationId']),this['serverHistory']['version']=_0x5b59a0+this['_offset'],this['_updateServerHistory'](_0x158834),_0xedc5b2['filter'](_0x175ba6=>{const _0x37a466=this['_getAffectedRoot'](_0x175ba6);return _0x37a466&&!this['_knownRootNames']['has'](_0x37a466);})['forEach']((_0xd4502f,_0x3d59b7)=>{_0xd4502f['baseVersion']=this['_document']['version']+_0x3d59b7,this['_saveOperationInBuffer'](_0xd4502f);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x5c81ab,_0x1d1420){const _0xc25ef2=_0x1d1420&&_0x1d1420['message'];if(_0xc25ef2&&_0xc25ef2['startsWith']('realtimecollaborationclient'))throw _0x1d1420;const _0x2f5495=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x2f5495['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x247b99(_0x5c81ab,this['editor'],_0xc25ef2?{'originalError':_0xc25ef2}:void 0x0);}['_saveOperationInBuffer'](_0x56b497){this['_knownOperations']['has'](_0x56b497)||(this['_knownOperations']['add'](_0x56b497),this['_bufferedOperations']['push'](_0x56b497),this['_pendingAction']||'marker'==_0x56b497['type']&&!_0x56b497['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xc23f51=!0x1){!_0xc23f51&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3ec373=>{_0x3ec373&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x706406=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xdfbea4){return _0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xdfbea4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x706406)||this['_crash'](_0x706406['message'],_0x706406);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x28d860=>{this['on']('change:_isPendingUpdate',()=>{_0x28d860();});});}async['_sendBufferedOperations'](){const _0x1c5b98=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x1c5b98['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1c8329=[...this['_bufferedOperations']];for(const _0x25a654 of _0x1c8329)_0x25a654['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x25a654);const _0x244535=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1c8329),_0x55ecab=Z++,_0x5d4f3a=this['_compressOperations'](_0x1c8329),_0x394096=await this['_service']['sendOperations'](_0x5d4f3a,_0x5d4f3a['baseVersion'],_0x244535);try{return await this['_handleServerResponse'](_0x1c8329,_0x394096,_0x55ecab);}catch(_0x18aea2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x18aea2);}}async['_handleServerResponse'](_0x45dc36,_0x2bdbcf,_0x3b69d2){if('error'in _0x2bdbcf)throw _0x2bdbcf['error'];let _0x588830=!0x1;if(_0x2bdbcf['wereChangesApplied']){_0x2bdbcf['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2bdbcf['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x41a16b=>!_0x45dc36['includes'](_0x41a16b));for(const _0x5be202 of _0x45dc36)_0x5be202['createdAt']='lastOperationAcceptedAt'in _0x2bdbcf&&_0x2bdbcf['lastOperationAcceptedAt']||void 0x0;st(_0x45dc36,_0x2bdbcf['version']-_0x45dc36['length']),this['_updateServerHistory'](_0x45dc36);const _0x2f4594=_0x45dc36['filter'](_0x267ba6=>{if(!_0x267ba6['_isInit'])return!0x1;const _0x42f205=this['_getAffectedRoot'](_0x267ba6);return _0x42f205&&!this['_knownRootNames']['has'](_0x42f205);});st(_0x2f4594,this['_document']['version']),this['_applyOperationsSet'](_0x2f4594),_0x588830=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x10bf07=this['_decompressOperations'](_0x2bdbcf['data'],_0x2bdbcf['metadata'])['filter'](_0xa1aea7=>_0xa1aea7['baseVersion']>=this['_lastServerVersion']);_0x10bf07['forEach'](_0x62ae8a=>this['_addKnownRoot'](_0x62ae8a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2b3ff9=>!_0x2b3ff9['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2b3ff9))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x10bf07),_0x588830=this['_handleExternalOperations'](_0x10bf07,_0x2bdbcf['version'],_0x2bdbcf['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x588830?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x298af5,_0xd6c1f7,_0xd1ad45){try{const _0x21fdf8={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x231e74,operationsB:_0x5e985c,originalOperations:_0x9e2da9}=_0x367266(_0x298af5,this['_bufferedOperations'],_0x21fdf8);st(_0x231e74,this['_document']['version']),st(_0x5e985c,_0xd6c1f7);for(const _0x36abc5 of _0x231e74){const _0x22137b=_0x9e2da9['get'](_0x36abc5);_0x22137b?(_0x36abc5['_authorId']=_0x22137b['_authorId'],'noop'!==_0x36abc5['type']&&(_0x36abc5['_aiSource']=_0x22137b['_aiSource'])):_0x36abc5['_authorId']=null;}for(const _0x9a9ddf of _0x5e985c)'noop'!==_0x9a9ddf['type']&&(_0x9a9ddf['_aiSource']=_0x9e2da9['get'](_0x9a9ddf)?.['_aiSource']);_0xd1ad45&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x298af5,_0xd1ad45),this['_lastSyncedOperationId']=_0xd1ad45),this['_bufferedOperations']=[..._0x5e985c],this['_applyOperationsSet'](_0x231e74),this['_updateServerHistory'](_0x298af5);}catch(_0x57389b){return console['error'](_0x57389b),!0x1;}return!0x0;}['_applyOperationsSet'](_0x54390a,_0x373260=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1cb66a=>{for(const _0x33f6de of _0x54390a)this['_knownOperations']['add'](_0x33f6de),this['_addKnownRoot'](_0x33f6de),_0x1cb66a['batch']['addOperation'](_0x33f6de),this['editor']['model']['applyOperation'](_0x33f6de);});}['_addKnownRoot'](_0x4b3a5c){const _0x4c936c=this['_getAffectedRoot'](_0x4b3a5c);_0x4c936c&&this['_knownRootNames']['add'](_0x4c936c);}['_getAffectedRoot'](_0x28542c){let _0x129d2f,_0x5e5c7a;switch(_0x28542c['type']){case'insert':_0x129d2f=_0x28542c['position']['root'];break;case'marker':if(_0x5e5c7a=_0x28542c['newRange'],!_0x5e5c7a)return null;_0x129d2f=_0x5e5c7a['root'];break;case'addRootAttribute':_0x129d2f=_0x28542c['root'];break;case'addRoot':_0x129d2f=_0x28542c['affectedSelectable'];break;case'move':_0x129d2f=_0x28542c['targetPosition']['root'];break;default:return null;}return _0x129d2f['rootName'];}['_updateServerHistory'](_0x53dede){_0x53dede['forEach'](_0x5d4c4a=>{const _0x5ddaf6=_0x5d4c4a['clone']();_0x5ddaf6['_authorId']=_0x5d4c4a['_authorId'],_0x5ddaf6['_isInit']=!!_0x5d4c4a['_isInit'],_0x5ddaf6['_aiSource']=_0x5d4c4a['_aiSource'],_0x5ddaf6['createdAt']=_0x5d4c4a['createdAt'],_0x5ddaf6['baseVersion']+=this['_offset'],_0x5d4c4a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5ddaf6),this['serverHistory']['addOperation'](_0x5ddaf6);});}['_handleReconnectionError'](_0x35d979){const _0x4ca5fb=this['editor']['plugins']['get']('Notification'),_0x289024=this['editor']['locale'];_0x35d979||(_0x35d979=X(_0x289024,'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.')),_0x4ca5fb['showWarning'](_0x35d979,{'title':X(_0x289024,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x1664fe)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1664fe)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x242e60){const _0x5719f3=_0x242e60['map'](_0x4dd81c=>_0x4dd81c['toJSON']());return this['_compressor']['compress'](_0x5719f3);}['_decompressOperations'](_0x4089eb,_0x4c7799){return this['_compressor']['decompress'](_0x4089eb)['map']((_0x2be7dc,_0x577ab3)=>{const _0x530401='init'==_0x4c7799[_0x577ab3]['type'];if('InsertOperation'==_0x2be7dc['__className']){const _0x166bea=_0x2be7dc['position']['root'];!this['_document']['getRoot'](_0x166bea)&&(this['_document']['createRoot']('$unknown',_0x166bea)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2be7dc['__className']){const _0x315d3c=this['_document']['getRoot'](_0x2be7dc['rootName']);_0x315d3c&&'$unknown'==_0x315d3c['name']&&_0x2be7dc['elementName']!=_0x315d3c['name']&&(_0x315d3c['name']=_0x2be7dc['elementName']);}}const _0x21eddb=_0x23d9fa['fromJSON'](_0x2be7dc,this['_document']);return _0x21eddb['wasUndone']=_0x2be7dc['wasUndone'],_0x21eddb['_isInit']=_0x530401,_0x21eddb['_authorId']=_0x530401?null:_0x4c7799[_0x577ab3]['userId'],_0x21eddb['_isDisconnection']='cs:removeUser'===_0x4c7799[_0x577ab3]['type'],_0x21eddb['_aiSource']=_0x2be7dc['_aiSource']||void 0x0,_0x21eddb['createdAt']=_0x4c7799[_0x577ab3]['createdAt'],_0x21eddb;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xeb95f8=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xeb95f8&&_0xeb95f8['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x4fbf92,_0x2dc436){for(const _0x5e237b of _0x4fbf92)_0x5e237b['baseVersion']=_0x2dc436++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x7bbafd){this['_ignoredOperations']=_0x7bbafd,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2e1231){let _0x44bb60=_0x2e1231['length'];for(;_0x44bb60--;){const _0x5ae877=_0x2e1231[_0x44bb60];if(!this['_ignoredOperations']['has'](_0x5ae877)){if(!this['_operationToId']['has'](_0x5ae877)){const _0x617309=_0x15a4eb()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5ae877,_0x617309);}return this['_operationToId']['get'](_0x5ae877);}}}['setIdForTheLastOperation'](_0x562749,_0x4ab16c){if(!_0x4ab16c)return;let _0x5dd3df=_0x562749['length'];for(;_0x5dd3df--;){const _0xb43b6a=_0x562749[_0x5dd3df];this['_ignoredOperations']['has'](_0xb43b6a)||this['_operationToId']['set'](_0xb43b6a,_0x4ab16c);}}},nt=class extends _0x55f077{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x198b15{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x25de81)());['_services'];static get['requires'](){return[z,_0x557678,Y,_0x2c4aec];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x34e927){super(_0x34e927),this['_services']=new Map();}async['init'](){const _0x2cd89c=this['context'],_0x5552d6=_0x2cd89c['plugins']['get'](_0x557678);if(_0x2cd89c['plugins']['get'](z)['addToReconnectionStack'](this),_0x5552d6['adapter']={'addCommentThread':async({channelId:_0x6c9aef,threadId:_0x52fa28,comments:_0x33b9ca,resolvedAt:_0x2f96f3,resolvedBy:_0x5a4a7a,context:_0x54a51c,attributes:_0x3dae32})=>{const _0x43be02=await this['_getService'](_0x6c9aef)['addCommentThread']({'commentThreadId':_0x52fa28,'comments':_0x33b9ca['map'](_0x4413f7=>function(_0x33aeaf,_0x4e7cbf,_0x3b4bf1){return{'commentThreadId':_0x3b4bf1,'commentId':_0x33aeaf['commentId'],'userId':_0x33aeaf['authorId'],'content':_0x33aeaf['content'],'documentId':_0x4e7cbf,'createdAt':_0x33aeaf['createdAt'],'attributes':_0x33aeaf['attributes']||{}};}(_0x4413f7,_0x6c9aef,_0x52fa28)),'resolvedAt':_0x2f96f3,'resolvedBy':_0x5a4a7a,'context':_0x54a51c,'attributes':_0x3dae32})['catch'](ct);return{'threadId':_0x43be02['commentThreadId'],'comments':_0x43be02['comments']};},'getCommentThread':async({channelId:_0x3fe202,threadId:_0x2c314a})=>{const _0x883a6d=await this['_getService'](_0x3fe202)['getCommentThread'](_0x2c314a)['catch'](rt)['catch'](ct);return _0x883a6d?_0x883a6d['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x883a6d]),{'threadId':_0x883a6d['commentThreadId'],'comments':_0x883a6d['comments']['map'](at),'context':_0x883a6d['context'],'resolvedAt':_0x883a6d['resolvedAt'],'resolvedBy':_0x883a6d['resolvedBy'],'attributes':_0x883a6d['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3a5f11,threadId:_0x1be783,context:_0x3d184d,unlinkedAt:_0xfa1fd5,attributes:_0x3d7f83})=>this['_getService'](_0x3a5f11)['updateCommentThread']({'commentThreadId':_0x1be783,'context':_0x3d184d,'attributes':_0x3d7f83,'unlinkedAt':_0xfa1fd5})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x7d678f,threadId:_0x539e39})=>{const _0x29f816=await this['_getService'](_0x7d678f)['resolveCommentThread'](_0x539e39)['catch'](rt)['catch'](ct);return{'threadId':_0x29f816['commentThreadId'],'resolvedAt':_0x29f816['resolvedAt'],'resolvedBy':_0x29f816['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5abbd8,threadId:_0x5ef77a})=>this['_getService'](_0x5abbd8)['reopenCommentThread'](_0x5ef77a)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x49b1dd,threadId:_0x5287a5})=>this['_getService'](_0x49b1dd)['removeCommentThread'](_0x5287a5)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x165e86,threadId:_0x1eee2f,commentId:_0x55d6e3,content:_0x3cd5d1,attributes:_0x190a1f})=>this['_getService'](_0x165e86)['addComment'](_0x1eee2f,_0x55d6e3,_0x3cd5d1,_0x190a1f)['catch'](ct),'updateComment':({channelId:_0x30c918,threadId:_0x194cda,commentId:_0x4d571a,content:_0x544aa9,attributes:_0x58c59a})=>this['_getService'](_0x30c918)['updateComment'](_0x194cda,_0x4d571a,_0x544aa9,_0x58c59a)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1eb93d,threadId:_0x4c8602,commentId:_0x2b3336})=>this['_getService'](_0x1eb93d)['removeComment'](_0x4c8602,_0x2b3336)['catch'](rt)['catch'](ct)},_0x2cd89c instanceof _0x2d03f6){const _0x29a1fe=_0x2cd89c['config']['get']('collaboration.channelId'),_0x4a1c7e=_0x2cd89c['plugins']['get'](Y);await this['_setUpService'](_0x29a1fe);const _0x2835f7=await this['_services']['get'](_0x29a1fe)['getConnectedSessions']();this['listenTo'](_0x4a1c7e,'sessionAdd:'+_0x29a1fe,(_0x12fc3f,{session:_0x59fd67})=>{_0x59fd67['id']===_0x4a1c7e['mySessionId']&&(_0x12fc3f['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x59fd67['permissions'],_0x29a1fe));}),_0x4a1c7e['register'](_0x29a1fe,_0x2835f7);}}async['_setUpService'](_0x8f005f){if(this['_services']['has'](_0x8f005f))throw new _0x247b99('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x8f005f});const _0x4bf8b6=this['context']['plugins']['get'](_0x557678),_0x13a3d1=new CloudServicesCommentsAdapter['CommentsService'](_0x8f005f);this['_services']['set'](_0x8f005f,_0x13a3d1),this['listenTo'](_0x13a3d1,'commentThreadAdded',(_0x44e6d2,_0xed9b7d)=>{const {commentThreadId:_0x386a52,documentId:_0x7f706d,context:_0x28f5c5,attributes:_0x382979,resolvedAt:_0x2588f2,resolvedBy:_0x1ca9cb,comments:_0x485c88}=_0xed9b7d;_0x4bf8b6['getCommentThread'](_0x386a52)||_0x4bf8b6['addCommentThread']({'threadId':_0x386a52,'channelId':_0x7f706d,'comments':_0x485c88?_0x485c88['map'](at):[],'context':_0x28f5c5,'attributes':_0x382979,'resolvedAt':_0x2588f2,'resolvedBy':_0x1ca9cb,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadUpdated',(_0x50b3a4,{commentThreadId:_0x23261e,documentId:_0x3d44f8,context:_0x5bb447,unlinkedAt:_0x172f80,attributes:_0x2d078a})=>{_0x4bf8b6['getCommentThread'](_0x23261e)&&_0x4bf8b6['updateCommentThread']({'threadId':_0x23261e,'channelId':_0x3d44f8,'context':_0x5bb447,'unlinkedAt':_0x172f80,'attributes':_0x2d078a,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadResolved',(_0x5c681c,{commentThreadId:_0x20afdc,resolvedBy:_0x42a1b6,resolvedAt:_0x58f8f6})=>{const _0x1f928a=_0x4bf8b6['getCommentThread'](_0x20afdc);_0x1f928a&&_0x1f928a['resolve']({'resolvedBy':_0x42a1b6,'resolvedAt':_0x58f8f6,'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadReopened',(_0x3765a3,{commentThreadId:_0x41b3fb})=>{const _0x1bfbf7=_0x4bf8b6['getCommentThread'](_0x41b3fb);_0x1bfbf7&&_0x1bfbf7['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentThreadRemoved',(_0x4747cc,{commentThreadId:_0x331948})=>{const _0x13ef75=_0x4bf8b6['getCommentThread'](_0x331948);_0x13ef75&&_0x13ef75['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentAdded',(_0x23ef4a,_0x159ab6)=>{const _0x4f0376=_0x159ab6['commentThreadId'],_0x47a075=_0x4bf8b6['getCommentThread'](_0x4f0376);_0x47a075&&_0x47a075['addComment']({...at(_0x159ab6),'isFromAdapter':!0x0});}),this['listenTo'](_0x13a3d1,'commentUpdated',(_0x566b14,{commentThreadId:_0x5f373b,commentId:_0x15ff3f,content:_0x55acce,attributes:_0x405616})=>{const _0x217106=_0x4bf8b6['getCommentThread'](_0x5f373b);if(_0x217106){const _0x278bda=_0x217106['getComment'](_0x15ff3f);_0x278bda&&_0x278bda['update']({'content':_0x55acce,'attributes':_0x405616,'isFromAdapter':!0x0});}}),this['listenTo'](_0x13a3d1,'commentRemoved',(_0x470556,{commentThreadId:_0x106bb3,commentId:_0x49f979})=>{const _0x505501=_0x4bf8b6['getCommentThread'](_0x106bb3);if(_0x505501){const _0x4d839=_0x505501['getComment'](_0x49f979);_0x4d839&&_0x4d839['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x13a3d1,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x8f005f),this['stopListening'](_0x13a3d1));}),await this['_connectService'](_0x8f005f);}['destroy'](){if(this['context']instanceof _0x2d03f6){const _0x56a093=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x56a093)&&this['_terminateService'](_0x56a093);}}['_terminateService'](_0x70a3c2){if(!this['_services']['has'](_0x70a3c2))throw new _0x247b99('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x70a3c2});this['_getService'](_0x70a3c2)['disconnect'](),this['_services']['delete'](_0x70a3c2);}async['reconnect'](){for(const _0x132d97 of this['_services']['keys']())await this['_connectService'](_0x132d97);if(this['context']instanceof _0x2d03f6){const _0x3fd398=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x3fd398)){const _0xcc7b3b=this['context']['plugins']['get'](Y);_0xcc7b3b['unregister'](_0x3fd398);const _0x346a24=await this['_services']['get'](_0x3fd398)['getConnectedSessions']();_0xcc7b3b['register'](_0x3fd398,_0x346a24);}}}async['_connectService'](_0x55859a){const {connection:_0x472666}=this['context']['plugins']['get'](z),_0x4572df=this['context']['plugins']['get'](_0x557678),_0x969630=await this['_services']['get'](_0x55859a)['connect'](_0x472666);await this['_fetchMissingUsersForThreads'](_0x969630);const _0x410287=new Set(Array['from'](_0x4572df['getCommentThreads']({'channelId':_0x55859a}),_0x267e47=>_0x267e47['id']));for(const _0x24a96c of _0x969630)_0x24a96c['deletedAt']||_0x410287['delete'](_0x24a96c['commentThreadId']);for(const _0x392f6f of _0x410287)_0x4572df['getCommentThread'](_0x392f6f)['remove']({'isFromAdapter':!0x0});for(const _0x287b5b of _0x969630){let _0x239647=_0x4572df['getCommentThread'](_0x287b5b['commentThreadId']);const {commentThreadId:_0x5b8ba6,context:_0xe8d3f8,attributes:_0x4a7983,resolvedBy:_0x118294,resolvedAt:_0xa756cc,unlinkedAt:_0x37e958,deletedAt:_0x46bf2a}=_0x287b5b;if(_0x46bf2a)continue;_0x239647||(_0x239647=_0x4572df['addCommentThread']({'channelId':_0x55859a,'threadId':_0x5b8ba6,'context':_0xe8d3f8,'attributes':_0x4a7983||{},'resolvedBy':_0x118294,'resolvedAt':_0xa756cc,'unlinkedAt':_0x37e958,'isFromAdapter':!0x0}));const _0x56d674=new Set(Array['from'](_0x239647['comments'],_0x5813d6=>_0x5813d6['id']));for(const _0x4c1423 of _0x287b5b['comments'])_0x56d674['delete'](_0x4c1423['commentId']);for(const _0x2f1ea6 of _0x56d674)_0x239647['getComment'](_0x2f1ea6)['remove']({'isFromAdapter':!0x0});for(const _0x4c2cc6 of _0x287b5b['comments']){const _0x1aa4fc=_0x239647['getComment'](_0x4c2cc6['commentId']);_0x1aa4fc?_0x1aa4fc['content']!==_0x4c2cc6['content']&&_0x1aa4fc['update']({'content':_0x4c2cc6['content'],'isFromAdapter':!0x0}):_0x239647['addComment'](Object['assign'](at(_0x4c2cc6),{'isFromAdapter':!0x0}));}}}['_getService'](_0x16810e){if(!this['_services']['has'](_0x16810e))throw new _0x247b99('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x16810e});return this['_services']['get'](_0x16810e);}async['_fetchMissingUsersForThreads'](_0x2b0d87){const _0x12ec39=this['context']['plugins']['get'](_0x2c4aec),{connection:_0x19e680}=this['context']['plugins']['get'](z),_0x52a07c=new Set();for(const {resolvedBy:_0x3facdf,comments:_0x8ac57}of _0x2b0d87){_0x3facdf&&!_0x12ec39['getUser'](_0x3facdf)&&_0x52a07c['add'](_0x3facdf);for(const {userId:_0x5a6347}of _0x8ac57)_0x12ec39['getUser'](_0x5a6347)||_0x52a07c['add'](_0x5a6347);}if(0x0===_0x52a07c['size'])return;const _0x3b0a82=await _0x3fdc75['getMany'](_0x19e680,Array['from'](_0x52a07c));for(const _0x841fcc of _0x3b0a82)_0x12ec39['getUser'](_0x841fcc['id'])||_0x12ec39['addUser'](_0x841fcc);}};async function rt(_0x5a415f){if('404'!==_0x5a415f['code'])throw _0x5a415f;}function ct(_0x1b6f6a){if((_0x248f2a=_0x1b6f6a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x248f2a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x248f2a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x248f2a;throw _0x1b6f6a;}function at(_0x1f360a){return{'threadId':_0x1f360a['commentThreadId'],'commentId':_0x1f360a['commentId'],'content':_0x1f360a['content'],'createdAt':_0x1f360a['createdAt'],'authorId':_0x1f360a['userId'],'attributes':_0x1f360a['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x55f077{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0xb0619e)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x278f20,Y,_0x2c4aec];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x580f3b){super(_0x580f3b);const _0x3ca96d=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x3ca96d);}async['init'](){const _0x427bd4=this['editor']['plugins']['get'](tt),_0x225fdc=_0x427bd4['serverHistory'],_0x40cfd1=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x225fdc,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x427bd4['sessionId']});const _0x31dd9b=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x43a572,_0x5330e5=await _0x5e4875['isBundleUploaded'](_0x40cfd1['connection'],_0x31dd9b);this['editor']['plugins']['get'](_0x278f20)['adapter']={'getRevision':async({revisionId:_0x23fb1b})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x23fb1b)),'updateRevisions':async _0x34fcca=>{await this['_waitForServiceReady']();const _0x501381=this['_revisionTracker']['currentRevision'];if(_0x5330e5&&0x1===_0x34fcca['length']&&_0x34fcca[0x0]['id']===_0x501381['id'])return _0x34fcca;for(const _0x26df55 of _0x34fcca)_0x26df55['id']===_0x501381['id']&&(_0x26df55['isEmptyCurrent']=_0x26df55['fromVersion']===_0x26df55['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x34fcca,this['_lastRequestId'])['then'](_0xec9d6=>(this['_lastRequestId']=_0xec9d6,_0x34fcca))['catch'](_0x1f8f75=>{if(pt(_0x1f8f75)||'400'===_0x1f8f75['code']&&void 0x0!==_0x1f8f75['data']['wrongRequestId']){for(const _0x5c9c4c of _0x34fcca)this['_revisionTracker']['repository']['getRevision'](_0x5c9c4c['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x5c9c4c['id'],_0x5c9c4c,!0x1);if(pt(_0x1f8f75)&&'destroyed'!==this['editor']['state'])throw _0x1f8f75;return _0x34fcca;}throw _0x1f8f75;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x15e5ee,{revisionsData:_0x3b4cd4,requestId:_0x281f84})=>{Math['max'](..._0x3b4cd4['map'](_0x1778b6=>_0x1778b6['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b4cd4,_0x281f84);}):this['_handleRevisionsUpdate'](_0x3b4cd4,_0x281f84);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x40cfd1['connection']?.['state']&&(_0x40cfd1['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x11ae08,requestId:_0x1171ce}=await this['_revisionHistoryService']['connect'](_0x40cfd1['connection']);_0x40cfd1['addToReconnectionStack'](this),this['_lastRequestId']=_0x1171ce,await this['_fetchMissingUsers'](_0x11ae08);for(const _0xab94f0 of _0x11ae08)this['_revisionTracker']['addRevisionData'](_0xab94f0);this['listenTo'](_0x427bd4,'change:_isConnected',(_0x18647a,_0x248343,_0x2fdcd5)=>{_0x2fdcd5&&(this['_oldOffset']=_0x427bd4['_offset'],_0x18647a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0xeed547=this['editor']['plugins']['get'](z),_0x56d047=this['editor']['plugins']['get'](tt),_0x215aa0=async()=>{const _0x3eac47=this['_revisionTracker']['currentRevision'],_0x1f26c7=_0x3eac47['id'],_0x5cd889=_0x1f26c7!==_0x56d047['sessionId'];if(_0x5cd889){const _0x42443f=_0x56d047['_offset']-this['_oldOffset'],_0x3f7e9e=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x3eac47['toVersion']+_0x42443f!==_0x3f7e9e){const _0x22baf3=_0x3eac47['fromVersion']+_0x42443f,_0x505fda=this['editor']['plugins']['get'](_0x2c4aec),_0x2313e8=this['_revisionTracker']['buildRevisionData']({'revision':_0x3eac47,'from':_0x22baf3,'to':_0x3f7e9e});_0x2313e8['id']=_0x3eac47['id'];const _0x387f27=_0x2313e8['authorsIds']['map'](_0x25318d=>_0x505fda['getUser'](_0x25318d));_0x3eac47['_update']({..._0x2313e8,'authors':_0x387f27},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3eac47['id'],_0x2313e8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3f7e9e,_0x3eac47['toVersion']!==_0x3eac47['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x1f26c7)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x1f26c7),this['_revisionTracker']['_createCurrentRevision'](_0x3f7e9e);}const {revisions:_0x3a8617,requestId:_0xcd3cfd}=await this['_revisionHistoryService']['reconnect'](_0xeed547['connection'],this['_lastRequestId']);_0x5cd889&&_0x3a8617['length']>0x0?_0x56d047['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3a8617),this['_handleRevisionsUpdate'](_0x3a8617,_0xcd3cfd),this['_revisionTracker']['sendBufferedUpdates']());};return _0x56d047['_isConnected']?_0x215aa0():new Promise((_0x400a1f,_0x1af3d0)=>{_0x56d047['once']('change:_isConnected',()=>{_0x215aa0()['then'](_0x400a1f)['catch'](_0x1af3d0);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x309f31=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x35e0a6=>{_0x35e0a6['off'](),_0x309f31();});});}['_getLatestVersionFromServerOperations'](){const _0x43b11e=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x592cbe of _0x43b11e)if('marker'!==_0x592cbe['type']||_0x592cbe['affectsData'])return _0x592cbe['baseVersion']+0x1;}['_getLatestVersion'](){const _0x575144=this['editor']['plugins']['get'](tt);return new Promise(_0x44dc8c=>{_0x575144['_isPendingUpdate']?_0x575144['once']('change:_isPendingUpdate',()=>{_0x44dc8c(this['_getLatestVersionFromServerOperations']());}):_0x44dc8c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xd8ccf1,_0x4a132d){const _0x25a90f=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x4a132d;for(const _0x3442d0 of _0xd8ccf1){const _0x4fc0da=_0x25a90f['getRevision'](_0x3442d0['id']);if(_0x4fc0da){if((_0x3442d0['fromVersion']||_0x3442d0['toVersion'])&&(_0x3442d0['diffData']=null),_0x4fc0da===this['_revisionTracker']['currentRevision']){const _0x54d083=Math['max'](_0x4fc0da['toVersion'],_0x3442d0['toVersion']),_0x5c3070=Math['max'](_0x4fc0da['fromVersion'],_0x3442d0['fromVersion']);let _0x43f921;_0x4fc0da['toVersion']===_0x3442d0['toVersion']&&_0x4fc0da['fromVersion']===_0x3442d0['fromVersion']?(_0x43f921=!0x0,this['_preventResendingRevisionData'](_0x3442d0)):_0x3442d0['toVersion']===_0x54d083&&_0x3442d0['fromVersion']===_0x5c3070?_0x43f921=!0x1:(_0x4fc0da['toVersion']===_0x54d083&&_0x4fc0da['fromVersion']===_0x5c3070||this['_fixRevision']({'revision':_0x4fc0da,'from':_0x5c3070,'to':_0x54d083}),_0x43f921=!0x0),_0x43f921&&(delete _0x3442d0['fromVersion'],delete _0x3442d0['toVersion'],delete _0x3442d0['diffData'],delete _0x3442d0['createdAt'],delete _0x3442d0['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3442d0),this['_preventResendingRevisionData'](_0x3442d0);}else this['_revisionTracker']['addRevisionData'](_0x3442d0);}const _0x51792d=_0x25a90f['getRevisions']();_0x51792d['reverse']();for(let _0x1592c5=0x0;_0x1592c5<_0x51792d['length']-0x1;_0x1592c5++){const _0x530c3c=_0x51792d[_0x1592c5],_0x1dc6d6=_0x51792d[_0x1592c5+0x1];if(_0x530c3c['fromVersion']<_0x1dc6d6['toVersion']){const _0x5d0e69=_0x1dc6d6['toVersion'],_0x49e43d=Math['max'](_0x5d0e69,_0x530c3c['toVersion']);this['_fixRevision']({'revision':_0x530c3c,'from':_0x5d0e69,'to':_0x49e43d});}}}['_fixRevision']({revision:_0x52b6e7,from:_0x4dfceb,to:_0x1d136a}={}){const _0x3fd3ee=this['editor']['plugins']['get'](_0x2c4aec),_0x6fa669=this['_revisionTracker']['buildRevisionData']({'revision':_0x52b6e7,'from':_0x4dfceb,'to':_0x1d136a});_0x6fa669['authors']=_0x6fa669['authorsIds']['map'](_0x21760a=>_0x3fd3ee['getUser'](_0x21760a)),_0x52b6e7['_update'](_0x6fa669);}['_preventResendingRevisionData'](_0x196174){const _0x3379de={};_0x3379de['id']=_0x196174['id'];for(const _0xbf2b66 of Object['keys'](_0x196174))'id'!==_0xbf2b66&&(_0x3379de[_0xbf2b66]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3379de['id'],_0x3379de,!0x0);}async['_fetchMissingUsers'](_0x14c401){const _0x4e4e7c=this['editor']['plugins']['get'](_0x2c4aec),{connection:_0x25fa5f}=this['editor']['plugins']['get'](z),_0x3298ce=new Set();for(const _0x4c5f35 of _0x14c401){for(const _0x17bac5 of _0x4c5f35['authorsIds'])_0x2daec4(_0x17bac5);_0x4c5f35['creatorId']&&_0x2daec4(_0x4c5f35['creatorId']);}if(0x0===_0x3298ce['size'])return;const _0x38b804=await _0x3fdc75['getMany'](_0x25fa5f,Array['from'](_0x3298ce));for(const _0x37f14c of _0x38b804)_0x4e4e7c['getUser'](_0x37f14c['id'])||_0x4e4e7c['addUser'](_0x37f14c);function _0x2daec4(_0x79747c){_0x4e4e7c['getUser'](_0x79747c)||_0x3298ce['add'](_0x79747c);}}};function pt(_0x438a68){return _0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x438a68['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x55f077{static get['requires'](){return[_0x278f20,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x734c23{['_collapseAt'];constructor(_0x3fed50,_0x2d740d=0x6){super(_0x3fed50);const _0x12cb6d=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x2d740d,this['bind']('isHidden')['to'](this,'usersCount',_0x4f6d7a=>_0x4f6d7a<_0x2d740d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x12cb6d['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':_0x12cb6d['to']('usersCount',_0x24a406=>'+'+(_0x24a406-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x734c23{['items'];['keystrokes'];constructor(_0x1b450e){super(_0x1b450e);const _0x397d56=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x8e2249(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x397d56['if']('hasPopup'),'aria-expanded':_0x397d56['to']('isExpanded',_0x37f221=>this['hasPopup']&&String(_0x37f221)),'aria-label':_0x397d56['to']('hasPopup',_0x377101=>X(_0x1b450e,_0x377101?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x397d56['to']('hasPopup',_0x488ceb=>!!_0x488ceb&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x397d56['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x397d56['to'](_0x568583=>{const _0x45ed57=_0x568583,_0x52352f=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1c72a9=document['querySelector']('.ck-balloon-panel_with-arrow');_0x52352f?.['contains'](_0x45ed57['relatedTarget'])||_0x1c72a9?.['contains'](_0x45ed57['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x372d1f,_0x3c477c,_0x172e30)=>{this['element']&&(_0x172e30?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']);}},_t=class extends _0x734c23{['counterView'];['inlineListView'];constructor(_0x87e391,_0x1c8724=0x6){super(_0x87e391);const _0x56119d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1c8724),this['inlineListView']=new vt(_0x87e391),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3d3d51 of this['inlineListView']['items'])_0x3d3d51['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',_0x56119d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x734c23{['listWrapperView'];constructor(_0x177741,_0xd6e9e4){super(_0x177741);const _0x3f73b=this['bindTemplate'];this['listWrapperView']=new bt(_0x177741,_0xd6e9e4),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x177741,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3f73b['to'](_0x34dc11=>{const _0xe97126=_0x34dc11,_0x1ea7f3=document['querySelector']('.ck-presence-list__list'),_0x52f205=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1ea7f3?.['contains'](_0xe97126['relatedTarget'])||_0x52f205?.['contains'](_0xe97126['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x41f256{constructor(_0x48d134,_0x367b08){super(_0x48d134);const _0x357b31=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x367b08?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x357b31['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x357b31['to']('role'),'aria-label':_0x357b31['to']('ariaLabel'),'aria-labelledby':_0x357b31['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3de184['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xe88a55=this['element'];_0xe88a55&&(this['_isScrollable']=Math['max'](_0xe88a55['scrollHeight'],_0xe88a55['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x81bb6c{['userView'];constructor(_0x2b1a84,_0x18e7f2,_0x123ddf){super(_0x2b1a84);const _0xc89086=this['bindTemplate'];this['userView']=new _0x111a61(_0x2b1a84,_0x18e7f2);const _0xff1192={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x18e7f2['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x18e7f2['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x18e7f2['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x18e7f2['color']['getColorVariable'](),'--ck-user-color-alpha':_0x18e7f2['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x123ddf&&(_0xff1192['tag']='button',_0xff1192['on']={'click':_0xc89086['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xff1192);}['focus'](){this['element']['focus']();}},It=class extends _0x734c23{['userView'];['markerView'];constructor(_0x5e57da,_0x3355da,_0x545c38){super(_0x5e57da);const _0x59e596=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x111a61(_0x5e57da,_0x3355da),this['markerView']=new St(_0x5e57da,_0x3355da);const _0x4f19a6=new _0x4b0e72(_0x5e57da);_0x4f19a6['template']['tag']='span',_0x4f19a6['text']=_0x3355da['name'];const _0x382ffc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x59e596['to']('isFocusable',_0x63b34=>!!_0x63b34&&0x0),'aria-labelledby':_0x4f19a6['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x59e596['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x59e596['to']('hasTooltip',_0x5c1753=>!_0x5c1753),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x4f19a6]};_0x545c38&&(_0x382ffc['tag']='button',_0x382ffc['on']={'click':_0x59e596['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x382ffc);}},St=class extends _0x734c23{constructor(_0x30dcfe,_0x361b55){super(_0x30dcfe),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x361b55['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x361b55['color']['getColorVariable'](),'--ck-user-color-alpha':_0x361b55['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x198b15{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x565955){super(_0x565955),this['context']['config']['define']('presenceList',Tt);const _0x2bc697=_0x565955['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2bc697)throw new _0x247b99('presencelist-collapseat-invalid-format',this);if(_0x2bc697<0x1)throw new _0x247b99('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x306590(),this['balloonPanelView']=new _0x40139a(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x5ac2dd of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5ac2dd);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1469d4,_0xc29b14)=>{this['_handleUserAdd'](_0xc29b14);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x338862,_0x2256f6)=>{this['_handleUserRemove'](_0x2256f6);});}['_createView'](){const _0x1b5655=this['context'],_0x4754db=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x197bd6=this['balloonPanelView'];if(!_0x368f5b(_0x1b5655['config']['get']('presenceList.container')))throw new _0x247b99('presencelist-missing-container',this);return _0x4754db['counterView']['bind']('usersCount')['to'](this),_0x4754db['bind']('isCollapsed')['to'](this,'usersCount',_0x48949b=>{const {collapseAt:_0x6a7e4f}=_0x1b5655['config']['get']('presenceList'),_0x24d4b9=_0x48949b>=_0x6a7e4f;if(_0x24d4b9&&!_0x4754db['inlineListView']['items']['find'](_0x21b0a4=>_0x21b0a4 instanceof wt)){const _0x56e4ae=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x56e4ae&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4754db['inlineListView']['items']['add'](_0x4754db['counterView']);}return _0x24d4b9||this['hideDropdown'](),_0x24d4b9;}),_0x4754db['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x45a28c=>{const _0x36fcd2=_0x1b5655['config']['get']('presenceList'),_0x53f563=new It(_0x1b5655['locale'],_0x45a28c,!!_0x36fcd2['onClick']);return _0x53f563['bind']('hasTooltip')['to'](_0x4754db,'isCollapsed',_0x5b6246=>!_0x5b6246),_0x53f563['bind']('isFocusable')['to'](_0x4754db,'isCollapsed',_0x2a510e=>!_0x2a510e),_0x36fcd2['onClick']&&this['listenTo'](_0x53f563,'execute',()=>{this['view']['isCollapsed']||_0x36fcd2['onClick'](_0x45a28c,_0x53f563['element']);}),_0x53f563;}),this['listenTo'](_0x4754db['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4754db['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4754db['inlineListView']['keystrokes']['set']('Enter',(_0x336c65,_0x23faaa)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x23faaa());}),_0x4754db['render'](),_0x197bd6['render'](),_0x955340({'emitter':_0x4754db,'activator':()=>_0x197bd6['isVisible'],'contextElements':[_0x197bd6['element'],_0x4754db['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1b5655['config']['get']('presenceList.container')['appendChild'](_0x4754db['element']),this['_bodyCollection']=new _0x34295a(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4754db;}['_handleUserAdd'](_0x709d4){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x709d4['isMe'])return;const _0x27be9d=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x27be9d-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5652db=_0x709d4['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x709d4,_0x5652db);}['_handleUserRemove'](_0x37757c){this['usersCount']--;const {collapseAt:_0x4d4e81}=this['context']['config']['get']('presenceList'),_0x50f3ce=this['usersCount']>=_0x4d4e81;if(this['currentDisplayedUsers']['get'](_0x37757c['id']))this['currentDisplayedUsers']['remove'](_0x37757c['id']);else{if(_0x50f3ce&&this['currentDisplayedUsers']['length']+0x1===_0x4d4e81-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x50f3ce?0x1:0x0)<this['usersCount']){for(const _0x3ee291 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3ee291['id'])&&(this['currentDisplayedUsers']['add'](_0x3ee291,Math['min'](this['currentDisplayedUsers']['length']-(_0x50f3ce?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x50f3ce?0x1:0x0)===_0x4d4e81-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1a3846=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x1a3846['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4af046}=this['presenceDropdownView'];_0x4af046['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x321aae=>{if(!_0x1a3846['displayMe']&&_0x321aae['isMe'])return null;const _0x5569c5=new kt(this['context']['locale'],_0x321aae,!!_0x1a3846['onClick']);return _0x1a3846['onClick']&&this['listenTo'](_0x5569c5,'execute',()=>{_0x1a3846['onClick'](_0x321aae,_0x5569c5['element']);}),_0x5569c5;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4af046['focus'](),_0x4af046['checkIfScrollable']();const _0xe32af7=(_0x5227e5,_0xc6c471)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xc6c471();};_0x4af046['keystrokes']['set']('Esc',_0xe32af7),_0x4af046['keystrokes']['set']('Shift+Tab',_0xe32af7),_0x4af046['keystrokes']['set']('Tab',(_0x42c890,_0x223629)=>{!function(_0x3466cd){const _0x4f2c49=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3a92ab=>_0x3a92ab+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5e6845=[...document['body']['querySelectorAll'](_0x4f2c49)]['filter'](_0x5f425=>_0x5f425===document['activeElement']||_0x5f425['offsetWidth']+_0x5f425['offsetHeight']>0x0)['sort']((_0x43f9ab,_0x85f105)=>(_0x43f9ab['tabIndex']||0x0)-(_0x85f105['tabIndex']||0x0)),_0x384053=_0x5e6845[(_0x5e6845['indexOf'](_0x3466cd)+0x1)%_0x5e6845['length']];_0x384053&&_0x384053['focus']();}(this['view']['element']),this['hideDropdown'](),_0x223629();}),_0x4af046['focusTracker']['add'](this['view']['element']),_0x4af046['focusTracker']['on']('change:isFocused',(_0x14d557,_0x2080e5,_0x1e3091)=>{_0x1e3091||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);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x198b15{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|
|
23
|
+
import{Context as _0x300413,ContextPlugin as _0x3c12a8,PendingActions as _0x15032a,Plugin as _0x334777}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x206e44,Collection as _0xe676b9,DomEmitterMixin as _0x3def01,KeystrokeHandler as _0x4acf94,global as _0x50bb92,uid as _0x36a117,version as _0x50f32d}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x439950,BodyCollection as _0x4acfe4,LabelView as _0x42795,ListItemView as _0x21f6e8,ListView as _0x18c9ed,Notification as _0x58bc3a,View as _0x3fb656,clickOutsideHandler as _0x216276}from'@ckeditor/ckeditor5-ui';import{History as _0x51009c,InsertOperation as _0x35f3ab,MarkerOperation as _0x411b37,ModelLiveRange as _0x15607a,NoOperation as _0x18f097,OperationFactory as _0x1436e4,RootAttributeOperation as _0x13c8c6,transformOperationSets as _0x494b49}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x313778}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0xad3446,CommentsService as _0x4fa428,EditorService as _0x1850e4,RevisionHistoryService as _0x5ce271,TrackChangesService as _0x10b7b0,User as _0x33a205,WEB_SOCKET_GATEWAY_STATES as _0x585a07,WebSocketGateway as _0x129555}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x44a44e,Users as _0x121396}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x4ed3e2}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x2a293f,TrackChangesEditing as _0x418122}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x4e5806,CommentsEditing as _0x59e8f7,CommentsRepository as _0x52d7db}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x1757ab}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x398bc6}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x3c12a8{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x129555)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x313778,_0x58bc3a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x599ec9){super(_0x599ec9),this['set']('state',_0x585a07['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3def01())();}['init'](){const _0x2a9fe4=this['context'],_0x24be5f=_0x2a9fe4['plugins']['get'](_0x313778),_0x7ef446=_0x2a9fe4['plugins']['get'](_0x58bc3a);if(!_0x24be5f['token'])throw new _0x206e44('websocketgateway-missing-token',this);if(!_0x24be5f['webSocketUrl'])throw new _0x206e44('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'](_0x24be5f['token'],_0x24be5f['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x251588=>{if(this['connection']=_0x251588,this['bind']('state')['to'](_0x251588,'state',this,'_isBrowserOffline',(_0x34eaf0,_0x198afb)=>('connected'!==_0x34eaf0&&(this['_shouldPluginsReconnect']=!0x0),_0x198afb||_0x34eaf0!==_0x585a07['CONNECTED']?_0x585a07['DISCONNECTED']:this['state']==_0x585a07['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x585a07['CONNECTING']):_0x585a07['CONNECTED'])),this['connection']['on']('error',(_0x289bdd,_0xb4d11b)=>{if('limitExceeded'!==_0xb4d11b['code'])throw console['error'](_0xb4d11b),new _0x206e44('cloudservices-init',null,{'originalError':_0xb4d11b});_0x7ef446['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'});}),!_0x251588['me'])return new Promise(_0x5a0c84=>_0x251588['on']('change:me',_0x5a0c84));})['catch'](_0x36498f=>{throw console['error'](_0x36498f),new _0x206e44('cloudservices-init',null,{'originalError':_0x36498f});});}['addToReconnectionStack'](_0xad0820){if('function'!=typeof _0xad0820['reconnect'])throw new _0x206e44('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xad0820))throw new _0x206e44('websocketgateway-plugin-already-registered',this,{'name':_0xad0820['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xad0820);}['removeFromReconnectionStack'](_0x436dcb){this['_reconnectionStack']['delete'](_0x436dcb);}['isInReconnectionStack'](_0x1a7a2e){return this['_reconnectionStack']['has'](_0x1a7a2e);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1b9bb4=>_0x1b9bb4['reconnect']())))['then'](()=>this['state']=_0x585a07['CONNECTED'])['catch'](_0x2bd6f0=>{throw console['error'](_0x2bd6f0),new _0x206e44('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x585a07['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x3c12a8{['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[z,_0x121396];}constructor(_0x1b51b3){super(_0x1b51b3),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xe676b9(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x121396);}['init'](){const _0x27cad4=this['context']['plugins']['get'](z);this['listenTo'](_0x27cad4,'change:state',(_0x595f40,_0x5d8527,_0x2b5060)=>{if('connected'!==_0x2b5060)this['channelSessions']['forEach'](_0x4c04e2=>_0x4c04e2['clear']()),this['channelConnectedUsers']['forEach'](_0x10691b=>_0x10691b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x39297f,_0x2299a9]of this['_registeredSessions'])for(const _0x53396c of _0x2299a9)this['_handleSessionAdd'](_0x39297f,_0x53396c);}}),this['_createUser'](_0x27cad4['connection']['me'],!0x0);}['register'](_0x208532,_0x43b0cc){if(this['_registeredSessions']['has'](_0x208532))throw new _0x206e44('sessions-register-already-registered',null,{'channelId':_0x208532});this['_registeredSessions']['set'](_0x208532,_0x43b0cc),this['channelSessions']['set'](_0x208532,new _0xe676b9()),this['channelConnectedUsers']['set'](_0x208532,new _0xe676b9()),this['listenTo'](_0x43b0cc,'add',(_0x39981d,_0x5077d7)=>this['_handleSessionAdd'](_0x208532,_0x5077d7)),this['listenTo'](_0x43b0cc,'remove',(_0x407831,_0x226444)=>this['_handleSessionRemove'](_0x208532,_0x226444));for(const _0x38e5ec of _0x43b0cc)this['_handleSessionAdd'](_0x208532,_0x38e5ec);}['unregister'](_0x53057a){if(!this['_registeredSessions']['has'](_0x53057a))throw new _0x206e44('sessions-unregister-not-exist',null,{'channelId':_0x53057a});const _0x55d089=this['_registeredSessions']['get'](_0x53057a);this['stopListening'](_0x55d089);for(const _0x53c1b0 of _0x55d089)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x53057a,_0x53c1b0);this['_registeredSessions']['delete'](_0x53057a),this['channelSessions']['delete'](_0x53057a),this['channelConnectedUsers']['delete'](_0x53057a);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0xf9c3cc){for(const _0x42c419 of this['channelSessions']['values']())for(const _0x51017f of _0x42c419)if(_0x51017f['id']===_0xf9c3cc)return _0x51017f['user'];}['getUserSessions'](_0x231d71,_0x1378bc){const _0x1b4872=_0x1378bc?[this['channelSessions']['get'](_0x1378bc)]:this['channelSessions']['values'](),_0x39ff0d=new Set();for(const _0x23540b of _0x1b4872)for(const _0xe69123 of _0x23540b)_0xe69123['user']['id']===_0x231d71['id']&&_0x39ff0d['add'](_0xe69123['id']);return _0x39ff0d;}['getUserRole'](_0x3f402){for(const _0xc730e0 of this['channelSessions']['values']())for(const _0x395376 of _0xc730e0)if(_0x395376['user']===_0x3f402)return _0x395376['role'];}['_handleSessionAdd'](_0x52dc2d,_0xa7763a){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0xd3831=_0xa7763a['user'],_0x25f4c6=this['_users']['getUser'](_0xd3831['id'])||this['_createUser'](_0xd3831),_0x5dcac5=Object['assign']({},_0xa7763a,{'user':_0x25f4c6});if(this['channelSessions']['get'](_0x52dc2d)['add'](_0x5dcac5),!_0xd3831['hiddenInPresenceList']){const _0x27c786=this['channelConnectedUsers']['get'](_0x52dc2d);_0x27c786['has'](_0x25f4c6['id'])||_0x27c786['add'](_0x25f4c6),this['allConnectedUsers']['has'](_0x25f4c6['id'])||_0xd3831['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x25f4c6,_0x25f4c6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x52dc2d,{'channelId':_0x52dc2d,'session':_0x5dcac5});}['_handleSessionRemove'](_0x1ff18c,_0x188fb6){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3cd6d8=this['channelConnectedUsers']['get'](_0x1ff18c),_0x2afc74=_0x188fb6['user'];_0x2afc74['id']&&(this['channelSessions']['get'](_0x1ff18c)['remove'](_0x188fb6['id']),_0x3cd6d8['has'](_0x2afc74['id'])&&!this['getUserSessions'](_0x2afc74,_0x1ff18c)['size']&&_0x3cd6d8['remove'](_0x2afc74['id']),this['allConnectedUsers']['get'](_0x2afc74['id'])&&!this['getUserSessions'](_0x2afc74)['size']&&this['allConnectedUsers']['remove'](_0x2afc74['id']));}['_createUser'](_0x200fca,_0x4f2373){const _0x4cde2c=this['_users']['addUser'](_0x200fca);return _0x4f2373&&this['_users']['defineMe'](_0x200fca['id']),_0x4cde2c['orderNumber']=this['_uniqueUsersCount']++,_0x4cde2c;}},K=class extends _0x334777{['_domEmitter']=new(_0x3def01())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xc32211=this['editor'],_0x261755=_0xc32211['plugins']['get'](Y);_0xc32211['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1b0510,{writer:_0x45c26c})=>function(_0x2d3075,_0x12136d,_0x535e90,_0x4bdc80){const _0x5c64a8=_0x2d3075['markerName']['split'](':')[0x2],_0x225557=_0x535e90['getUserBySessionId'](_0x5c64a8);if(!_0x225557||_0x5c64a8===_0x535e90['mySessionId'])return;if(!_0x4bdc80['model']['schema']['checkChild'](_0x2d3075['markerRange']['start'],'$text'))return;const _0x305164={'class':'ck-user__marker\x20'+_0x225557['color']['getMarkerClass'](),'style':Q(_0x225557),'data-name':_0x225557['name'],'data-session-id':_0x5c64a8},_0x2613a2=_0x4bdc80['model']['markers']['get'](_0x2d3075['markerName'])['getStart'](),_0x113179=_0x2613a2['nodeAfter'],_0x4ca9aa=_0x4bdc80['model']['schema'];if(_0x113179&&_0x4ca9aa['isObject'](_0x113179)&&_0x4ca9aa['isInline'](_0x113179)&&!_0x4bdc80['model']['markers']['get']('user:range:'+_0x5c64a8)['getRange']()['isCollapsed'])return;const _0x2cb70d=_0x2613a2['parent'];return _0x4bdc80['model']['schema']['isLimit'](_0x2cb70d)&&!_0x4bdc80['model']['hasContent'](_0x2cb70d)&&(_0x305164['contenteditable']=!0x1),function(_0x27228a,_0x32f5a6,_0x50c053){const _0xc8ce2e=_0x27228a['createUIElement']('span',_0x32f5a6);return _0x27228a['setCustomProperty']('userPositionMarker',!0x0,_0xc8ce2e),_0xc8ce2e['render']=function(_0x52e172){const _0x4c9060=this['toDomElement'](_0x52e172),_0x3a1939=document['createElement']('span');return _0x3a1939['classList']['add']('ck-user__marker-tooltip'),_0x3a1939['setAttribute']('contenteditable','false'),_0x3a1939['setAttribute']('spellcheck','false'),_0x3a1939['textContent']=_0x50c053['name'],_0x4c9060['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3a1939['outerHTML']+'',_0x4c9060['addEventListener']('mouseenter',()=>{_0x4c9060['classList']['add']('ck-user__marker_hovered');}),_0x4c9060['addEventListener']('mouseleave',()=>{_0x4c9060['classList']['remove']('ck-user__marker_hovered');}),_0x4c9060;},_0xc8ce2e['isSimilar']=function(_0x260090){return!(!this['getCustomProperty']('userPositionMarker')||!_0x260090['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x260090['getAttribute']('data-session-id'));},_0xc8ce2e;}(_0x12136d,_0x305164,_0x225557);}(_0x1b0510,_0x45c26c,_0x261755,_0xc32211)}),_0xc32211['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x190569=>function(_0x3fe495,_0x1f0615){const _0x203ec2=_0x3fe495['markerName']['split'](':')[0x2];if(_0x203ec2===_0x1f0615['mySessionId'])return null;const _0x5641e9=_0x1f0615['getUserBySessionId'](_0x203ec2);return _0x5641e9?{'id':_0x203ec2,'classes':['ck-user__selection',_0x5641e9['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5641e9),'data-session-id':_0x203ec2},'priority':0x7d0+_0x5641e9['orderNumber']}:{'id':_0x203ec2,'classes':[]};}(_0x190569,_0x261755)}),function(_0x12c019){const _0x245736=_0x12c019['model'],_0x96ee2e=new Map(),_0x3e7f2e=_0x12c019['plugins']['get'](Y);_0x245736['markers']['on']('update:user:range',(_0x44fba5,_0x3cb097,_0x46fc2a,_0x1d9fed)=>{if(!_0x1d9fed&&_0x96ee2e['get'](_0x3cb097['name']))return _0x96ee2e['get'](_0x3cb097['name'])['detach'](),void _0x96ee2e['delete'](_0x3cb097['name']);const _0x14fe6a=_0x3cb097['name']['split'](':')[0x2];if(_0x14fe6a===_0x3e7f2e['mySessionId'])return;const _0x4a01a9='user:position:'+_0x14fe6a;_0x245736['markers']['has'](_0x4a01a9)&&_0x12c019['editing']['reconvertMarker'](_0x4a01a9),_0x3cb097['on']('change:range',(_0x4b5559,_0x30a564,_0x3c15bd)=>{if('$graveyard'!=_0x30a564['root']['rootName']&&'$graveyard'==_0x3cb097['getRange']()['root']['rootName']&&!_0x96ee2e['has'](_0x3cb097['name'])){const _0x2b359a=_0x245736['schema']['getNearestSelectionRange'](_0x3c15bd['deletionPosition']);if(_0x2b359a){const _0x5c8af3=_0x15607a['fromRange'](_0x2b359a);_0x96ee2e['set'](_0x3cb097['name'],_0x5c8af3),_0x5c8af3['on']('change:range',(_0x243036,_0x43e96b,_0x4187e3)=>{if('$graveyard'==_0x5c8af3['root']['rootName']){const _0x50eb9b=_0x245736['schema']['getNearestSelectionRange'](_0x4187e3['deletionPosition']);_0x50eb9b?(_0x5c8af3['start']=_0x50eb9b['start'],_0x5c8af3['end']=_0x50eb9b['end']):(_0x96ee2e['delete'](_0x3cb097['name']),_0x5c8af3['detach']());}});}}});}),_0x245736['document']['on']('change',()=>{_0x96ee2e['size']>0x0&&_0x245736['enqueueChange']({'isUndoable':!0x1},_0x4bb98a=>{for(const [_0x59923f,_0x13c246]of _0x96ee2e)'$graveyard'==_0x245736['markers']['get'](_0x59923f)['getRange']()['root']['rootName']&&(J(_0x59923f['split'](':')[0x2],_0x13c246['toRange'](),_0x245736,_0x4bb98a),_0x13c246['detach']());_0x96ee2e['clear']();});});}(_0xc32211),this['_domEmitter']['listenTo'](_0x50bb92['document'],'keydown',(_0x290af6,{key:_0x3d7c59})=>{'Escape'===_0x3d7c59&&function(_0x4758b7){_0x4758b7['editing']['view']['change'](_0x534131=>{for(const _0x12fc9d of _0x4758b7['model']['markers']){if(!_0x12fc9d['name']['startsWith']('user:position'))continue;const _0x5ad455=_0x4758b7['editing']['mapper']['markerNameToElements'](_0x12fc9d['name']);if(_0x5ad455){for(const _0x4120a2 of _0x5ad455)_0x534131['removeClass']('ck-user__marker_hovered',_0x4120a2);}}});}(_0xc32211);},{'useCapture':!0x0});}['afterInit'](){const _0x39fa58=this['editor'],_0x4dcc4f=_0x39fa58['commands']['get']('undo');_0x4dcc4f&&_0x39fa58['model']['on']('applyOperation',(_0x4acb23,_0x242bd0)=>{const _0x51c132=_0x242bd0[0x0];if(!_0x51c132['isDocumentOperation'])return;if('marker'!=_0x51c132['type']||!_0x51c132['name']['startsWith']('user:'))return;const _0xa7b2ac=_0x51c132['batch'];_0x4dcc4f['_createdBatches']['has'](_0xa7b2ac)&&(_0x51c132['newRange']=_0x51c132['oldRange']?_0x39fa58['model']['createRange'](_0x51c132['oldRange']['start'],_0x51c132['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3ab5fe=this['editor'],_0x474bb9=_0x3ab5fe['model']['document'],_0x5650bc=_0x3ab5fe['plugins']['get'](Y);_0x3ab5fe['model']['enqueueChange']({'isUndoable':!0x1},_0x493304=>{const _0xa40456='user:range:'+_0x5650bc['mySessionId'],_0x239794='user:position:'+_0x5650bc['mySessionId'],_0x5b66dd=_0x3ab5fe['model']['markers']['has'](_0xa40456);_0x3ab5fe['editing']['view']['hasDomSelection']?J(_0x5650bc['mySessionId'],_0x474bb9['selection']['getFirstRange'](),_0x3ab5fe['model'],_0x493304):_0x5b66dd&&(_0x493304['removeMarker'](_0xa40456),_0x493304['removeMarker'](_0x239794));});}};function J(_0x3617ac,_0x17eaf4,_0x238dc8,_0x264681){const _0x209e05='user:range:'+_0x3617ac,_0x20c462='user:position:'+_0x3617ac,_0xca7aaa=_0x17eaf4['getContainedElement']();let _0x23105b=_0x17eaf4['start'];if(_0xca7aaa&&_0xca7aaa['is']('element','tableCell')){const _0x104893=function(_0x44cc11,_0x100049){for(const _0x4d13b3 of _0x44cc11['getPositions']())if(_0x100049['schema']['checkChild'](_0x4d13b3,'$text'))return _0x4d13b3;}(_0x17eaf4,_0x238dc8);_0x104893&&(_0x23105b=_0x104893,_0x17eaf4=_0x264681['createRange'](_0x23105b));}const _0xe170f7=_0x264681['createRange'](_0x23105b);_0x238dc8['markers']['has'](_0x209e05)?(_0x264681['updateMarker'](_0x209e05,{'range':_0x17eaf4}),_0x264681['updateMarker'](_0x20c462,{'range':_0xe170f7})):(_0x264681['addMarker'](_0x209e05,{'range':_0x17eaf4,'usingOperation':!0x0}),_0x264681['addMarker'](_0x20c462,{'range':_0xe170f7,'usingOperation':!0x0}));}function Q(_0x55fed6){return'--ck-user-color:'+_0x55fed6['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x55fed6['color']['getColorAlphaVariable']()+';';}function X(_0x4b99f5,_0x4a7995,_0x3d7e3b){const _0x3d7d82=_0x4b99f5['t'],t=_0x4b99f5['t'];switch(_0x4a7995){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 _0x3d7d82({'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'},_0x3d7e3b);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x334777{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0xad3446)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x15032a,_0x121396,_0x58bc3a];}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 _0x2f4d45=this['serverHistory']['getOperations']();for(let _0x1c036f=_0x2f4d45['length']-0x1;_0x1c036f>=0x0;_0x1c036f--){const _0x4d6f74=_0x2f4d45[_0x1c036f];if(!this['_disconnectionOperations']['has'](_0x4d6f74))return _0x4d6f74['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x47487e){if(super(_0x47487e),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x51009c(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x206e44('collaboration-missing-channelid',this);const _0x1af61f=_0x47487e['config']['get']('cloudServices.bundleVersion')||_0x50f32d;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x1af61f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4ed3e2(),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 it(this['_disconnectionOperations']);}['init'](){const _0x2f9085=this['editor'],_0x34edfa=_0x2f9085['plugins']['get'](_0x121396),_0x2328b3=_0x2f9085['plugins']['get'](z);this['listenTo'](_0x34edfa,'getOperationAuthor',(_0x433457,_0x7ffba8)=>{const _0xbfe28c=_0x7ffba8[0x0];_0xbfe28c['_authorId']&&(_0x433457['return']=_0x34edfa['getUser'](_0xbfe28c['_authorId']),_0x433457['stop']()),null===_0xbfe28c['_authorId']&&(_0x433457['return']=null,_0x433457['stop']());},{'priority':'high'}),this['listenTo'](_0x2f9085['model']['document']['selection'],'change:range',(_0x3a88db,_0x1227e3)=>{_0x1227e3['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2f9085['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2f9085['model']['on']('applyOperation',(_0x58a5b5,_0x673624)=>{const _0x4c6604=_0x673624[0x0];_0x4c6604['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4c6604),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2328b3,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x347f04,_0x45082f,_0x3b076e)=>'connected'===_0x347f04&&!_0x45082f&&!_0x3b076e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2f9085['disableReadOnlyMode']('rtc-offline'):_0x2f9085['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2f9085['disableReadOnlyMode']('rtc-offline'):_0x2f9085['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3edead=this['editor']['plugins']['get'](Y),_0x3c76e0=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x3edead['unregister'](this['_channelId']);const _0x263733=await this['_service']['reconnect'](_0x3c76e0['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x263733)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x47bec5=await this['_service']['getConnectedSessions']();_0x3edead['register'](this['_channelId'],_0x47bec5),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1705d9){if(function(_0x11fac3){return'404'===_0x11fac3['code'];}(_0x1705d9)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2eb009){return'409'===_0x2eb009['code'];}(_0x1705d9)){const _0x162419=X(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'](_0x162419);}else{if(!(_0x1705d9 instanceof et))throw _0x1705d9;this['_handleReconnectionError']();}}}}['destroy'](){const _0x2005ca=this['editor']['plugins']['get'](z),_0x3aad56=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3aad56['channelSessions']['has'](this['_channelId'])&&_0x3aad56['unregister'](this['_channelId']),_0x2005ca['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2bac0c){if(this['sessionId']!==_0x2bac0c['sessionId']&&this['_lastSyncedOperationId']!==_0x2bac0c['lastOperationId'])throw new et();return this['sessionId']=_0x2bac0c['sessionId'],this['_handleServerResponse']([],{..._0x2bac0c,'wereChangesApplied':!0x1,'data':_0x2bac0c['data']},'reconnect');}async['_connectService'](_0x5a94ed,_0x1b393e=!0x1){const {connection:_0x2f52f7}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x2f52f7,this['_channelId'])['then'](_0xff9aef=>this['_initSessionsHandling'](_0xff9aef))['catch'](_0x26264b=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x26264b);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4c0ce6,_0x2341b7)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2341b7);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x2ccf91=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5a94ed);this['_isPendingUpdate']=!0x0;const _0x367a48=await this['_service']['connect'](_0x2f52f7,this['_compressOperations'](_0x5a94ed),_0x2ccf91);if(this['sessionId']=_0x367a48['sessionId'],_0x1b393e){if(!_0x367a48['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x367a48['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5a94ed,_0x367a48,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x367a48,_0x5a94ed);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x4d56f0=this['editor']['plugins']['get'](Y),_0x259c65=this['editor']['plugins']['get'](K),_0xe5e681=_0x4d56f0['channelSessions']['get'](this['_channelId']);_0xe5e681&&_0xe5e681['length']>0x1?_0x259c65['createUserMarkerOperations']():this['listenTo'](_0x4d56f0,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4d56f0['channelSessions']['get'](this['_channelId'])['length']&&_0x259c65['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0xf28253,_0x366d9a,_0x53aec2,_0x8c6f5a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x366d9a){const _0x4d3de4=this['_decompressOperations'](_0x53aec2,_0x8c6f5a);await this['_fetchMissingUsers'](_0x4d3de4),this['_handleExternalOperations'](_0x4d3de4,_0x366d9a,_0x53aec2['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2db474}=this['editor'];let _0x466815;try{_0x466815=await this['_service']['getDocumentDetails']();}catch{const _0x2fa22c=X(_0x2db474,'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'](_0x2fa22c);}const _0x303fea=_0x466815['currentDocumentSession']||_0x466815['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x303fea['lastOperationId']){const _0x5657ac=X(_0x2db474,'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'](_0x5657ac);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x40d7eb=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x40d7eb['connection']||'connected'!==_0x40d7eb['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x355d00=this['editor']['plugins']['get'](Y);_0x355d00['channelSessions']['has'](this['_channelId'])&&_0x355d00['unregister'](this['_channelId']),_0x40d7eb['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x29dd67){const _0x2ec673=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2ec673,'sessionAdd:'+this['_channelId'],(_0x1aadf8,{session:_0x4b998b})=>{if(_0x4b998b['id']===_0x2ec673['mySessionId']){_0x1aadf8['off']();const _0x451568=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1ee4f3=_0x4b998b['permissions'];_0x451568&&_0x451568['isEnabled']&&(_0x1ee4f3=_0x1ee4f3['filter'](_0x87e127=>'document:write'!==_0x87e127)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1ee4f3,this['_channelId']);}}),_0x2ec673['register'](this['_channelId'],_0x29dd67);}['_initThrowingOnDataSet'](){const _0x3d13c1=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5a41f2)=>{if(!_0x5a41f2[_0x5a41f2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x206e44('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3d13c1['apply'](this['editor']['data'],_0x5a41f2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x386013,[_0x381572])=>{if(this['_document']['version'])throw new _0x206e44('realtimecollaborationclient-init-document-already-initialized',this);_0x386013['stop'](),this['_setPendingAction']();const _0x53cfb7=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x3efe9a])=>!_0x3efe9a['lazyLoad'])['map'](([_0x1a02fd,_0x2e109b])=>[_0x1a02fd,_0x2e109b['modelAttributes']||{}])),_0x16e252=this['_getOperationsFromInitData'](_0x381572,_0x53cfb7);0x0==_0x16e252['length']&&_0x16e252['push'](new _0x18f097(0x0)),_0x386013['return']=this['_connectService'](_0x16e252)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1a2e20=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1a2e20))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x334e71,[_0x20237b,_0x81c56e])=>{_0x334e71['stop']();const _0x3633ab=this['editor']['model']['document']['getRoot'](_0x20237b);if(!this['_knownRootNames']['has'](_0x20237b)){const _0x359c4e=_0x81c56e&&_0x81c56e['data']?_0x81c56e['data']:'',_0x21637e=_0x81c56e&&_0x81c56e['attributes']?_0x81c56e['attributes']:{};await this['_loadRoot'](_0x20237b,_0x359c4e,_0x21637e);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3633ab['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3633ab);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x57c05a){const _0x4ca995=this['editor']['plugins']['get'](_0x121396),{connection:_0x54edb1}=this['editor']['plugins']['get'](z),_0x1113f6=new Set();for(const _0x28fd8a of _0x57c05a){const _0x3afe11=_0x28fd8a['_authorId'];_0x3afe11&&!_0x4ca995['getUser'](_0x3afe11)&&_0x1113f6['add'](_0x3afe11);}if(0x0===_0x1113f6['size'])return;const _0x3815a6=await _0x33a205['getMany'](_0x54edb1,Array['from'](_0x1113f6));for(const _0x356e18 of _0x3815a6)_0x4ca995['getUser'](_0x356e18['id'])||_0x4ca995['addUser'](_0x356e18);}['_getOperationsFromInitData'](_0x266120,_0x3475f7={}){const _0x14eb9f=this['editor']['model'],_0xb68ba4=[];let _0x4c73f4=0x0;const _0x457521='string'==typeof _0x266120?{'main':_0x266120}:_0x266120;for(const _0x43a813 of Object['keys'](_0x457521)){if(!this['_document']['roots']['has'](_0x43a813))throw new _0x206e44('realtimecollaborationclient-init-non-existent-root',this);const _0x42d22c=this['_document']['getRoot'](_0x43a813),_0xebbf5e=this['editor']['data']['parse'](_0x457521[_0x43a813],_0x42d22c),_0x6f314c=new _0x35f3ab(_0x14eb9f['createPositionAt'](_0x42d22c,0x0),_0xebbf5e,_0x4c73f4++);_0xb68ba4['push'](_0x6f314c);for(const [_0x591196,_0x5edc0d]of _0xebbf5e['markers']){const _0x460b4d=new _0x411b37(_0x591196,null,_0x14eb9f['createRange'](_0x14eb9f['createPositionFromPath'](_0x42d22c,_0x5edc0d['start']['path']['slice']()),_0x14eb9f['createPositionFromPath'](_0x42d22c,_0x5edc0d['end']['path']['slice']())),_0x14eb9f['markers'],!0x0,_0x4c73f4++);_0xb68ba4['push'](_0x460b4d);}}if(_0x3475f7)for(const [_0x30992d,_0x1772e7]of Object['entries'](_0x3475f7)){const _0x4ec43f=_0x14eb9f['document']['getRoot'](_0x30992d);if(!_0x4ec43f)throw new _0x206e44('multi-root-editor-root-attributes-no-root',null);for(const [_0x435b5d,_0x45ecf6]of Object['entries'](_0x1772e7))if(null!==_0x45ecf6){const _0x474ba2=new _0x13c8c6(_0x4ec43f,_0x435b5d,null,_0x45ecf6,_0x4c73f4++);_0xb68ba4['push'](_0x474ba2);}}return _0xb68ba4;}async['_loadRoot'](_0x27918a,_0x216f15,_0xb9d377){this['_getOperationsFromInitData']({[_0x27918a]:_0x216f15},{[_0x27918a]:_0xb9d377})['forEach']((_0x11ebb6,_0x3edbea)=>{_0x11ebb6['baseVersion']=this['_document']['version']+_0x3edbea,_0x11ebb6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x11ebb6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1ad0f9,_0x698ebe){let _0x2928f6;this['_offset']=_0x1ad0f9['offset'];const _0x541738=_0x1ad0f9['wereChangesApplied']&&!_0x1ad0f9['initData'],_0x24cdea=_0x541738?0x0:_0x1ad0f9['data']['baseVersion'];if(_0x698ebe['forEach'](_0x5e4203=>{_0x5e4203['_isInit']=!0x0,_0x5e4203['createdAt']=_0x1ad0f9['sessionCreatedAt'],_0x5e4203['_authorId']=null;}),_0x541738)_0x2928f6=_0x698ebe,this['_applyOperationsSet'](_0x2928f6,_0x541738);else{if(_0x1ad0f9['initData']){const _0x35cf38=this['_getOperationsFromInitData'](_0x1ad0f9['initData']);this['_document']['history']['version']=-_0x35cf38['length'],_0x35cf38['forEach'](_0x342c56=>{_0x342c56['baseVersion']-=_0x35cf38['length'],_0x342c56['createdAt']=_0x1ad0f9['sessionCreatedAt'],_0x342c56['_isInit']=!0x0,_0x342c56['_authorId']=null;}),this['_applyOperationsSet'](_0x35cf38,!0x0),this['serverHistory']['version']=-_0x35cf38['length']+this['_offset'],this['_updateServerHistory'](_0x35cf38);}this['_document']['history']['version']=_0x24cdea,_0x2928f6=this['_decompressOperations'](_0x1ad0f9['data'],_0x1ad0f9['metadata']),await this['_fetchMissingUsers'](_0x2928f6),this['_applyOperationsSet'](_0x2928f6,_0x541738);}_0x1ad0f9['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2928f6,_0x1ad0f9['lastOperationId']),this['_lastSyncedOperationId']=_0x1ad0f9['lastOperationId']),this['serverHistory']['version']=_0x24cdea+this['_offset'],this['_updateServerHistory'](_0x2928f6),_0x698ebe['filter'](_0x528e34=>{const _0x25c287=this['_getAffectedRoot'](_0x528e34);return _0x25c287&&!this['_knownRootNames']['has'](_0x25c287);})['forEach']((_0x183f08,_0x174f8f)=>{_0x183f08['baseVersion']=this['_document']['version']+_0x174f8f,this['_saveOperationInBuffer'](_0x183f08);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2f29db,_0x14778d){const _0x298155=_0x14778d&&_0x14778d['message'];if(_0x298155&&_0x298155['startsWith']('realtimecollaborationclient'))throw _0x14778d;const _0x18295e=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x18295e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x206e44(_0x2f29db,this['editor'],_0x298155?{'originalError':_0x298155}:void 0x0);}['_saveOperationInBuffer'](_0x46ee76){this['_knownOperations']['has'](_0x46ee76)||(this['_knownOperations']['add'](_0x46ee76),this['_bufferedOperations']['push'](_0x46ee76),this['_pendingAction']||'marker'==_0x46ee76['type']&&!_0x46ee76['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x774f17=!0x1){!_0x774f17&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xa165dd=>{_0xa165dd&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xb88174=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xbecf42){return _0xbecf42['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xbecf42['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xbecf42['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xb88174)||this['_crash'](_0xb88174['message'],_0xb88174);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3945df=>{this['on']('change:_isPendingUpdate',()=>{_0x3945df();});});}async['_sendBufferedOperations'](){const _0x57cbe0=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x57cbe0['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5971fa=[...this['_bufferedOperations']];for(const _0x40b26f of _0x5971fa)_0x40b26f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x40b26f);const _0x23be84=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5971fa),_0x331bad=Z++,_0x31cf88=this['_compressOperations'](_0x5971fa),_0x148c32=await this['_service']['sendOperations'](_0x31cf88,_0x31cf88['baseVersion'],_0x23be84);try{return await this['_handleServerResponse'](_0x5971fa,_0x148c32,_0x331bad);}catch(_0xbf1856){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xbf1856);}}async['_handleServerResponse'](_0x3ed820,_0x2b394d,_0x131d3c){if('error'in _0x2b394d)throw _0x2b394d['error'];let _0x3606bd=!0x1;if(_0x2b394d['wereChangesApplied']){_0x2b394d['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2b394d['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x9af649=>!_0x3ed820['includes'](_0x9af649));for(const _0x51b6ce of _0x3ed820)_0x51b6ce['createdAt']='lastOperationAcceptedAt'in _0x2b394d&&_0x2b394d['lastOperationAcceptedAt']||void 0x0;st(_0x3ed820,_0x2b394d['version']-_0x3ed820['length']),this['_updateServerHistory'](_0x3ed820);const _0x4582ac=_0x3ed820['filter'](_0x49bc82=>{if(!_0x49bc82['_isInit'])return!0x1;const _0x238cbe=this['_getAffectedRoot'](_0x49bc82);return _0x238cbe&&!this['_knownRootNames']['has'](_0x238cbe);});st(_0x4582ac,this['_document']['version']),this['_applyOperationsSet'](_0x4582ac),_0x3606bd=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x10230a=this['_decompressOperations'](_0x2b394d['data'],_0x2b394d['metadata'])['filter'](_0x4df80f=>_0x4df80f['baseVersion']>=this['_lastServerVersion']);_0x10230a['forEach'](_0x59d769=>this['_addKnownRoot'](_0x59d769)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3af00b=>!_0x3af00b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3af00b))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x10230a),_0x3606bd=this['_handleExternalOperations'](_0x10230a,_0x2b394d['version'],_0x2b394d['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3606bd?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x482c1e,_0x30da50,_0x1d0717){try{const _0x4a0dff={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xfa0e12,operationsB:_0x541950,originalOperations:_0x32fda5}=_0x494b49(_0x482c1e,this['_bufferedOperations'],_0x4a0dff);st(_0xfa0e12,this['_document']['version']),st(_0x541950,_0x30da50);for(const _0x11ea67 of _0xfa0e12){const _0x84fdb9=_0x32fda5['get'](_0x11ea67);_0x84fdb9?(_0x11ea67['_authorId']=_0x84fdb9['_authorId'],'noop'!==_0x11ea67['type']&&(_0x11ea67['_aiSource']=_0x84fdb9['_aiSource'])):_0x11ea67['_authorId']=null;}for(const _0x551132 of _0x541950)'noop'!==_0x551132['type']&&(_0x551132['_aiSource']=_0x32fda5['get'](_0x551132)?.['_aiSource']);_0x1d0717&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x482c1e,_0x1d0717),this['_lastSyncedOperationId']=_0x1d0717),this['_bufferedOperations']=[..._0x541950],this['_applyOperationsSet'](_0xfa0e12),this['_updateServerHistory'](_0x482c1e);}catch(_0x9d1dba){return console['error'](_0x9d1dba),!0x1;}return!0x0;}['_applyOperationsSet'](_0x12211e,_0xbc13ad=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x28e723=>{for(const _0x15d43a of _0x12211e)this['_knownOperations']['add'](_0x15d43a),this['_addKnownRoot'](_0x15d43a),_0x28e723['batch']['addOperation'](_0x15d43a),this['editor']['model']['applyOperation'](_0x15d43a);});}['_addKnownRoot'](_0x1e59f3){const _0x3eae6a=this['_getAffectedRoot'](_0x1e59f3);_0x3eae6a&&this['_knownRootNames']['add'](_0x3eae6a);}['_getAffectedRoot'](_0xce2aea){let _0x58e9cd,_0x1eb6d3;switch(_0xce2aea['type']){case'insert':_0x58e9cd=_0xce2aea['position']['root'];break;case'marker':if(_0x1eb6d3=_0xce2aea['newRange'],!_0x1eb6d3)return null;_0x58e9cd=_0x1eb6d3['root'];break;case'addRootAttribute':_0x58e9cd=_0xce2aea['root'];break;case'addRoot':_0x58e9cd=_0xce2aea['affectedSelectable'];break;case'move':_0x58e9cd=_0xce2aea['targetPosition']['root'];break;default:return null;}return _0x58e9cd['rootName'];}['_updateServerHistory'](_0x313933){_0x313933['forEach'](_0x3788ae=>{const _0x21f27c=_0x3788ae['clone']();_0x21f27c['_authorId']=_0x3788ae['_authorId'],_0x21f27c['_isInit']=!!_0x3788ae['_isInit'],_0x21f27c['_aiSource']=_0x3788ae['_aiSource'],_0x21f27c['createdAt']=_0x3788ae['createdAt'],_0x21f27c['baseVersion']+=this['_offset'],_0x3788ae['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x21f27c),this['serverHistory']['addOperation'](_0x21f27c);});}['_handleReconnectionError'](_0x56fc82){const _0x3b30a2=this['editor']['plugins']['get']('Notification'),_0x559ded=this['editor']['locale'];_0x56fc82||(_0x56fc82=X(_0x559ded,'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.')),_0x3b30a2['showWarning'](_0x56fc82,{'title':X(_0x559ded,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x15032a)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x15032a)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x556630){const _0x4b1389=_0x556630['map'](_0x362e08=>_0x362e08['toJSON']());return this['_compressor']['compress'](_0x4b1389);}['_decompressOperations'](_0x47554f,_0x1fd9bd){return this['_compressor']['decompress'](_0x47554f)['map']((_0x59f327,_0x31775d)=>{const _0x259554='init'==_0x1fd9bd[_0x31775d]['type'];if('InsertOperation'==_0x59f327['__className']){const _0x35213b=_0x59f327['position']['root'];!this['_document']['getRoot'](_0x35213b)&&(this['_document']['createRoot']('$unknown',_0x35213b)['_isAttached']=!0x1);}else{if('RootOperation'==_0x59f327['__className']){const _0x56def7=this['_document']['getRoot'](_0x59f327['rootName']);_0x56def7&&'$unknown'==_0x56def7['name']&&_0x59f327['elementName']!=_0x56def7['name']&&(_0x56def7['name']=_0x59f327['elementName']);}}const _0x3d7276=_0x1436e4['fromJSON'](_0x59f327,this['_document']);return _0x3d7276['wasUndone']=_0x59f327['wasUndone'],_0x3d7276['_isInit']=_0x259554,_0x3d7276['_authorId']=_0x259554?null:_0x1fd9bd[_0x31775d]['userId'],_0x3d7276['_isDisconnection']='cs:removeUser'===_0x1fd9bd[_0x31775d]['type'],_0x3d7276['_aiSource']=_0x59f327['_aiSource']||void 0x0,_0x3d7276['createdAt']=_0x1fd9bd[_0x31775d]['createdAt'],_0x3d7276;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x184e85=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x184e85&&_0x184e85['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x3bd207,_0x5cd198){for(const _0x435930 of _0x3bd207)_0x435930['baseVersion']=_0x5cd198++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x45f7be){this['_ignoredOperations']=_0x45f7be,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x223167){let _0x4d2299=_0x223167['length'];for(;_0x4d2299--;){const _0x3f9924=_0x223167[_0x4d2299];if(!this['_ignoredOperations']['has'](_0x3f9924)){if(!this['_operationToId']['has'](_0x3f9924)){const _0x3d5c56=_0x36a117()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3f9924,_0x3d5c56);}return this['_operationToId']['get'](_0x3f9924);}}}['setIdForTheLastOperation'](_0x296768,_0x141da4){if(!_0x141da4)return;let _0x17462a=_0x296768['length'];for(;_0x17462a--;){const _0x19a541=_0x296768[_0x17462a];this['_ignoredOperations']['has'](_0x19a541)||this['_operationToId']['set'](_0x19a541,_0x141da4);}}},nt=class extends _0x334777{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x3c12a8{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x4fa428)());['_services'];static get['requires'](){return[z,_0x52d7db,Y,_0x121396];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x50670d){super(_0x50670d),this['_services']=new Map();}async['init'](){const _0x298a24=this['context'],_0xf45260=_0x298a24['plugins']['get'](_0x52d7db);if(_0x298a24['plugins']['get'](z)['addToReconnectionStack'](this),_0xf45260['adapter']={'addCommentThread':async({channelId:_0x6e0e43,threadId:_0x11ba2c,comments:_0x26b896,resolvedAt:_0x24fe77,resolvedBy:_0x34c7e2,context:_0x2febcd,attributes:_0x554fd4})=>{const _0x3b7eb3=await this['_getService'](_0x6e0e43)['addCommentThread']({'commentThreadId':_0x11ba2c,'comments':_0x26b896['map'](_0xa054f8=>function(_0x2efc2d,_0x3c2cfd,_0x4454f5){return{'commentThreadId':_0x4454f5,'commentId':_0x2efc2d['commentId'],'userId':_0x2efc2d['authorId'],'content':_0x2efc2d['content'],'documentId':_0x3c2cfd,'createdAt':_0x2efc2d['createdAt'],'attributes':_0x2efc2d['attributes']||{}};}(_0xa054f8,_0x6e0e43,_0x11ba2c)),'resolvedAt':_0x24fe77,'resolvedBy':_0x34c7e2,'context':_0x2febcd,'attributes':_0x554fd4})['catch'](ct);return{'threadId':_0x3b7eb3['commentThreadId'],'comments':_0x3b7eb3['comments']};},'getCommentThread':async({channelId:_0x3bde7f,threadId:_0x3783b3})=>{const _0x29cb39=await this['_getService'](_0x3bde7f)['getCommentThread'](_0x3783b3)['catch'](rt)['catch'](ct);return _0x29cb39?_0x29cb39['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x29cb39]),{'threadId':_0x29cb39['commentThreadId'],'comments':_0x29cb39['comments']['map'](at),'context':_0x29cb39['context'],'resolvedAt':_0x29cb39['resolvedAt'],'resolvedBy':_0x29cb39['resolvedBy'],'attributes':_0x29cb39['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x260568,threadId:_0xda0b4,context:_0x21cacc,unlinkedAt:_0x878dcf,attributes:_0x3ddb79})=>this['_getService'](_0x260568)['updateCommentThread']({'commentThreadId':_0xda0b4,'context':_0x21cacc,'attributes':_0x3ddb79,'unlinkedAt':_0x878dcf})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x4dcf3c,threadId:_0x5cac64})=>{const _0x5c06ed=await this['_getService'](_0x4dcf3c)['resolveCommentThread'](_0x5cac64)['catch'](rt)['catch'](ct);return{'threadId':_0x5c06ed['commentThreadId'],'resolvedAt':_0x5c06ed['resolvedAt'],'resolvedBy':_0x5c06ed['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4de819,threadId:_0x1527e1})=>this['_getService'](_0x4de819)['reopenCommentThread'](_0x1527e1)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5ed1d5,threadId:_0x155464})=>this['_getService'](_0x5ed1d5)['removeCommentThread'](_0x155464)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x4430cf,threadId:_0xdb0753,commentId:_0x37de76,content:_0x2eecc4,attributes:_0x5185fd})=>this['_getService'](_0x4430cf)['addComment'](_0xdb0753,_0x37de76,_0x2eecc4,_0x5185fd)['catch'](ct),'updateComment':({channelId:_0x4f77e4,threadId:_0x4999c2,commentId:_0x5ce797,content:_0x5cab57,attributes:_0x35706a})=>this['_getService'](_0x4f77e4)['updateComment'](_0x4999c2,_0x5ce797,_0x5cab57,_0x35706a)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x457d2c,threadId:_0x57715b,commentId:_0x5aa6ae})=>this['_getService'](_0x457d2c)['removeComment'](_0x57715b,_0x5aa6ae)['catch'](rt)['catch'](ct)},_0x298a24 instanceof _0x300413){const _0x4aa4f9=_0x298a24['config']['get']('collaboration.channelId'),_0x4eda3a=_0x298a24['plugins']['get'](Y);await this['_setUpService'](_0x4aa4f9);const _0x29c592=await this['_services']['get'](_0x4aa4f9)['getConnectedSessions']();this['listenTo'](_0x4eda3a,'sessionAdd:'+_0x4aa4f9,(_0xbdfa55,{session:_0x3171ec})=>{_0x3171ec['id']===_0x4eda3a['mySessionId']&&(_0xbdfa55['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3171ec['permissions'],_0x4aa4f9));}),_0x4eda3a['register'](_0x4aa4f9,_0x29c592);}}async['_setUpService'](_0x158c0c){if(this['_services']['has'](_0x158c0c))throw new _0x206e44('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x158c0c});const _0x2f35b6=this['context']['plugins']['get'](_0x52d7db),_0x22bc5f=new CloudServicesCommentsAdapter['CommentsService'](_0x158c0c);this['_services']['set'](_0x158c0c,_0x22bc5f),this['listenTo'](_0x22bc5f,'commentThreadAdded',(_0x4fdeb5,_0xb96c25)=>{const {commentThreadId:_0x2ca890,documentId:_0x26bfec,context:_0x588cc8,attributes:_0x54e211,resolvedAt:_0x30427c,resolvedBy:_0x4d7316,comments:_0x379026}=_0xb96c25;_0x2f35b6['getCommentThread'](_0x2ca890)||_0x2f35b6['addCommentThread']({'threadId':_0x2ca890,'channelId':_0x26bfec,'comments':_0x379026?_0x379026['map'](at):[],'context':_0x588cc8,'attributes':_0x54e211,'resolvedAt':_0x30427c,'resolvedBy':_0x4d7316,'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadUpdated',(_0x38d67c,{commentThreadId:_0x2a810f,documentId:_0x4346b0,context:_0x50cfe3,unlinkedAt:_0x1a7fc0,attributes:_0x145da2})=>{_0x2f35b6['getCommentThread'](_0x2a810f)&&_0x2f35b6['updateCommentThread']({'threadId':_0x2a810f,'channelId':_0x4346b0,'context':_0x50cfe3,'unlinkedAt':_0x1a7fc0,'attributes':_0x145da2,'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadResolved',(_0x52fbcb,{commentThreadId:_0x5a4391,resolvedBy:_0x3bffbb,resolvedAt:_0x3f1d66})=>{const _0x3583c9=_0x2f35b6['getCommentThread'](_0x5a4391);_0x3583c9&&_0x3583c9['resolve']({'resolvedBy':_0x3bffbb,'resolvedAt':_0x3f1d66,'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadReopened',(_0x3c065e,{commentThreadId:_0x5e8529})=>{const _0x19c870=_0x2f35b6['getCommentThread'](_0x5e8529);_0x19c870&&_0x19c870['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadRemoved',(_0x2051ac,{commentThreadId:_0x3d078c})=>{const _0x4b45e3=_0x2f35b6['getCommentThread'](_0x3d078c);_0x4b45e3&&_0x4b45e3['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentAdded',(_0x2e1b4d,_0x4da9be)=>{const _0xdcae76=_0x4da9be['commentThreadId'],_0x34884d=_0x2f35b6['getCommentThread'](_0xdcae76);_0x34884d&&_0x34884d['addComment']({...at(_0x4da9be),'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentUpdated',(_0x466456,{commentThreadId:_0x26f8a0,commentId:_0x5db7ad,content:_0x5f2561,attributes:_0xde6604})=>{const _0x326564=_0x2f35b6['getCommentThread'](_0x26f8a0);if(_0x326564){const _0x22ae0b=_0x326564['getComment'](_0x5db7ad);_0x22ae0b&&_0x22ae0b['update']({'content':_0x5f2561,'attributes':_0xde6604,'isFromAdapter':!0x0});}}),this['listenTo'](_0x22bc5f,'commentRemoved',(_0x846c30,{commentThreadId:_0x5d9e5e,commentId:_0x1e256f})=>{const _0x49a167=_0x2f35b6['getCommentThread'](_0x5d9e5e);if(_0x49a167){const _0x2efb92=_0x49a167['getComment'](_0x1e256f);_0x2efb92&&_0x2efb92['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x22bc5f,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x158c0c),this['stopListening'](_0x22bc5f));}),await this['_connectService'](_0x158c0c);}['destroy'](){if(this['context']instanceof _0x300413){const _0x289b04=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x289b04)&&this['_terminateService'](_0x289b04);}}['_terminateService'](_0x551833){if(!this['_services']['has'](_0x551833))throw new _0x206e44('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x551833});this['_getService'](_0x551833)['disconnect'](),this['_services']['delete'](_0x551833);}async['reconnect'](){for(const _0x22b4cd of this['_services']['keys']())await this['_connectService'](_0x22b4cd);if(this['context']instanceof _0x300413){const _0x57e123=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x57e123)){const _0x2d7433=this['context']['plugins']['get'](Y);_0x2d7433['unregister'](_0x57e123);const _0x4bdb43=await this['_services']['get'](_0x57e123)['getConnectedSessions']();_0x2d7433['register'](_0x57e123,_0x4bdb43);}}}async['_connectService'](_0x1ddfb1){const {connection:_0x5037d0}=this['context']['plugins']['get'](z),_0x442c22=this['context']['plugins']['get'](_0x52d7db),_0x550016=await this['_services']['get'](_0x1ddfb1)['connect'](_0x5037d0);await this['_fetchMissingUsersForThreads'](_0x550016);const _0x33dbbc=new Set(Array['from'](_0x442c22['getCommentThreads']({'channelId':_0x1ddfb1}),_0x8d02d3=>_0x8d02d3['id']));for(const _0x3c5450 of _0x550016)_0x3c5450['deletedAt']||_0x33dbbc['delete'](_0x3c5450['commentThreadId']);for(const _0x2ee2ff of _0x33dbbc)_0x442c22['getCommentThread'](_0x2ee2ff)['remove']({'isFromAdapter':!0x0});for(const _0x3cea51 of _0x550016){let _0x63df39=_0x442c22['getCommentThread'](_0x3cea51['commentThreadId']);const {commentThreadId:_0x4cdca7,context:_0x34128f,attributes:_0x44b224,resolvedBy:_0x3976c0,resolvedAt:_0x140cf7,unlinkedAt:_0x5b4671,deletedAt:_0x4bad95}=_0x3cea51;if(_0x4bad95)continue;_0x63df39||(_0x63df39=_0x442c22['addCommentThread']({'channelId':_0x1ddfb1,'threadId':_0x4cdca7,'context':_0x34128f,'attributes':_0x44b224||{},'resolvedBy':_0x3976c0,'resolvedAt':_0x140cf7,'unlinkedAt':_0x5b4671,'isFromAdapter':!0x0}));const _0x39b5e5=new Set(Array['from'](_0x63df39['comments'],_0x4ad2d5=>_0x4ad2d5['id']));for(const _0x11d435 of _0x3cea51['comments'])_0x39b5e5['delete'](_0x11d435['commentId']);for(const _0x10f794 of _0x39b5e5)_0x63df39['getComment'](_0x10f794)['remove']({'isFromAdapter':!0x0});for(const _0x1551bb of _0x3cea51['comments']){const _0x7204f1=_0x63df39['getComment'](_0x1551bb['commentId']);_0x7204f1?_0x7204f1['content']!==_0x1551bb['content']&&_0x7204f1['update']({'content':_0x1551bb['content'],'isFromAdapter':!0x0}):_0x63df39['addComment'](Object['assign'](at(_0x1551bb),{'isFromAdapter':!0x0}));}}}['_getService'](_0x44d129){if(!this['_services']['has'](_0x44d129))throw new _0x206e44('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x44d129});return this['_services']['get'](_0x44d129);}async['_fetchMissingUsersForThreads'](_0x178597){const _0x4fe00b=this['context']['plugins']['get'](_0x121396),{connection:_0x489787}=this['context']['plugins']['get'](z),_0x3b102c=new Set();for(const {resolvedBy:_0x5ba150,comments:_0x21f5dc}of _0x178597){_0x5ba150&&!_0x4fe00b['getUser'](_0x5ba150)&&_0x3b102c['add'](_0x5ba150);for(const {userId:_0x46e7d3}of _0x21f5dc)_0x4fe00b['getUser'](_0x46e7d3)||_0x3b102c['add'](_0x46e7d3);}if(0x0===_0x3b102c['size'])return;const _0x2fc94e=await _0x33a205['getMany'](_0x489787,Array['from'](_0x3b102c));for(const _0x39f077 of _0x2fc94e)_0x4fe00b['getUser'](_0x39f077['id'])||_0x4fe00b['addUser'](_0x39f077);}};async function rt(_0x44f321){if('404'!==_0x44f321['code'])throw _0x44f321;}function ct(_0x520906){if((_0x56ebee=_0x520906)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x56ebee['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56ebee['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x56ebee;throw _0x520906;}function at(_0x190ac1){return{'threadId':_0x190ac1['commentThreadId'],'commentId':_0x190ac1['commentId'],'content':_0x190ac1['content'],'createdAt':_0x190ac1['createdAt'],'authorId':_0x190ac1['userId'],'attributes':_0x190ac1['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x334777{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x10b7b0)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x418122,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5383f5){super(_0x5383f5);const _0x5829e7=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x5829e7);}['init'](){const _0x17d277=this['editor']['plugins']['get'](z),_0x5b76da=this['editor']['plugins']['get'](_0x418122);return _0x5b76da['adapter']={'getSuggestion':async _0x4d0ddb=>{await this['_waitForServiceReady']();const _0x3bdd6d=await this['_trackChangesService']['get'](_0x4d0ddb)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3bdd6d]),_0x3bdd6d;},'addSuggestion':async({id:_0x40d9fd,type:_0x2d7101,data:_0x38b1b8,originalSuggestionId:_0x21845f,attributes:_0x2415a5})=>{await this['_waitForServiceReady']();const _0xc493c={'id':_0x40d9fd,'type':_0x2d7101,'data':_0x38b1b8,'originalSuggestionId':_0x21845f,'attributes':_0x2415a5},_0x16d764=await this['_trackChangesService']['add'](_0x40d9fd,_0x2d7101,_0x38b1b8,_0x21845f,_0x2415a5)['catch'](_0x395242=>{if(dt(_0x395242))return new Promise(_0x14db80=>{this['_bufferedRequests']['set'](_0x40d9fd,{'resolve':_0x14db80,'suggestionData':_0xc493c});});throw _0x395242;});return this['_bufferedRequests']['delete'](_0x40d9fd),_0x16d764;},'updateSuggestion':async(_0x4a2721,_0x368368)=>{if(await this['_waitForServiceReady'](),'open'!==_0x368368['state'])return this['_trackChangesService']['update'](_0x4a2721,_0x368368)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4db54d,_0x20826e)=>{_0x5b76da['hasSuggestion'](_0x20826e['id'])&&(_0x5b76da['getSuggestion'](_0x20826e['id'])['attributes']=_0x20826e['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x17d277['connection']?.['state']&&(_0x17d277['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x17d277['connection'])['then'](_0x504a3b=>(_0x17d277['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x504a3b)['then'](()=>{for(const _0x16025b of _0x504a3b){_0x5b76da['addSuggestionData'](_0x16025b)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1b25b6=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3da64a}=this['editor']['plugins']['get'](z),_0x1e8bda=await this['_trackChangesService']['connect'](_0x3da64a);await this['_fetchMissingUsersForThreads'](_0x1e8bda);for(const {suggestionData:_0x2e66f1,resolve:_0x549ed4}of this['_bufferedRequests']['values']()){let _0x442228=_0x1e8bda['find'](_0x4819dc=>_0x4819dc['id']===_0x2e66f1['id']);_0x442228||(_0x442228=await this['_trackChangesService']['add'](_0x2e66f1['id'],_0x2e66f1['type'],_0x2e66f1['data'],_0x2e66f1['originalSuggestionId'])),_0x549ed4(_0x442228);}for(const _0x1fb91c of _0x1e8bda)_0x1b25b6['hasSuggestion'](_0x1fb91c['id'])||_0x1b25b6['addSuggestionData'](_0x1fb91c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5c749a=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3f0a89=>{_0x3f0a89['off'](),_0x5c749a();});});}async['_fetchMissingUsersForThreads'](_0x369ba5){const _0x5876c1=this['editor']['plugins']['get'](_0x121396),{connection:_0x1d4262}=this['editor']['plugins']['get'](z),_0x15e5cc=new Set();for(const {authorId:_0x342d88}of _0x369ba5)_0x5876c1['getUser'](_0x342d88)||_0x15e5cc['add'](_0x342d88);if(0x0===_0x15e5cc['size'])return;const _0x517ad7=await _0x33a205['getMany'](_0x1d4262,Array['from'](_0x15e5cc));for(const _0x163388 of _0x517ad7)_0x5876c1['getUser'](_0x163388['id'])||_0x5876c1['addUser'](_0x163388);}};function lt(_0x2dd0e8){if(dt(_0x2dd0e8))return new Promise(()=>{});throw _0x2dd0e8;}function dt(_0x3689a0){return _0x3689a0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3689a0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x334777{static get['requires'](){return[_0x4e5806,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1fe4b9=this['editor']['plugins']['get'](z),_0x3545c4=this['editor']['plugins']['get'](_0x59e8f7),_0x13d44e=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1fe4b9,'change:state',(_0x11cba7,_0x282582,_0xedf7c)=>{_0x3545c4['isThreadsLoadingPaused']='connected'!==_0xedf7c;});}),this['listenTo'](_0x1fe4b9,'change:state',(_0x49e60a,_0x2fef01,_0x3bdb01)=>{this['editor']['plugins']['get'](_0x52d7db)['switchReadOnly']('connected'!==_0x3bdb01);}),_0x13d44e['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x86ad74=this['editor']['plugins']['get'](ot),_0x3ec218=this['editor']['config']['get']('collaboration.channelId');_0x86ad74['_services']['has'](_0x3ec218)&&_0x86ad74['_terminateService'](_0x3ec218),super['destroy']();}},ft=class extends _0x334777{static get['requires'](){return[ut,ht,_0x2a293f];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x334777{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x5ce271)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x1757ab,Y,_0x121396];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x48b0cf){super(_0x48b0cf);const _0x2c2880=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2c2880);}async['init'](){const _0xebbc43=this['editor']['plugins']['get'](tt),_0x445e62=_0xebbc43['serverHistory'],_0x4c65fd=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x445e62,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xebbc43['sessionId']});const _0x336257=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x50f32d,_0x274891=await _0x1850e4['isBundleUploaded'](_0x4c65fd['connection'],_0x336257);this['editor']['plugins']['get'](_0x1757ab)['adapter']={'getRevision':async({revisionId:_0x296ce8})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x296ce8)),'updateRevisions':async _0x4a2fbe=>{await this['_waitForServiceReady']();const _0x1d3251=this['_revisionTracker']['currentRevision'];if(_0x274891&&0x1===_0x4a2fbe['length']&&_0x4a2fbe[0x0]['id']===_0x1d3251['id'])return _0x4a2fbe;for(const _0x4443c6 of _0x4a2fbe)_0x4443c6['id']===_0x1d3251['id']&&(_0x4443c6['isEmptyCurrent']=_0x4443c6['fromVersion']===_0x4443c6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4a2fbe,this['_lastRequestId'])['then'](_0x2eb5dd=>(this['_lastRequestId']=_0x2eb5dd,_0x4a2fbe))['catch'](_0x500f11=>{if(pt(_0x500f11)||'400'===_0x500f11['code']&&void 0x0!==_0x500f11['data']['wrongRequestId']){for(const _0x254db3 of _0x4a2fbe)this['_revisionTracker']['repository']['getRevision'](_0x254db3['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x254db3['id'],_0x254db3,!0x1);if(pt(_0x500f11)&&'destroyed'!==this['editor']['state'])throw _0x500f11;return _0x4a2fbe;}throw _0x500f11;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3dee02,{revisionsData:_0x3b9ec8,requestId:_0x3948f7})=>{Math['max'](..._0x3b9ec8['map'](_0x62693e=>_0x62693e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b9ec8,_0x3948f7);}):this['_handleRevisionsUpdate'](_0x3b9ec8,_0x3948f7);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x4c65fd['connection']?.['state']&&(_0x4c65fd['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x3d157a,requestId:_0x1eb3aa}=await this['_revisionHistoryService']['connect'](_0x4c65fd['connection']);_0x4c65fd['addToReconnectionStack'](this),this['_lastRequestId']=_0x1eb3aa,await this['_fetchMissingUsers'](_0x3d157a);for(const _0x47bd3a of _0x3d157a)this['_revisionTracker']['addRevisionData'](_0x47bd3a);this['listenTo'](_0xebbc43,'change:_isConnected',(_0xe6c8c7,_0xf8790c,_0x44665f)=>{_0x44665f&&(this['_oldOffset']=_0xebbc43['_offset'],_0xe6c8c7['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x135204=this['editor']['plugins']['get'](z),_0x58f724=this['editor']['plugins']['get'](tt),_0x218d29=async()=>{const _0x365fac=this['_revisionTracker']['currentRevision'],_0x318087=_0x365fac['id'],_0x54b2cc=_0x318087!==_0x58f724['sessionId'];if(_0x54b2cc){const _0x23e8f3=_0x58f724['_offset']-this['_oldOffset'],_0x775992=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x365fac['toVersion']+_0x23e8f3!==_0x775992){const _0x4d3f58=_0x365fac['fromVersion']+_0x23e8f3,_0x34a39b=this['editor']['plugins']['get'](_0x121396),_0x2142c8=this['_revisionTracker']['buildRevisionData']({'revision':_0x365fac,'from':_0x4d3f58,'to':_0x775992});_0x2142c8['id']=_0x365fac['id'];const _0x5dcd59=_0x2142c8['authorsIds']['map'](_0x3dfffd=>_0x34a39b['getUser'](_0x3dfffd));_0x365fac['_update']({..._0x2142c8,'authors':_0x5dcd59},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x365fac['id'],_0x2142c8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x775992,_0x365fac['toVersion']!==_0x365fac['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x318087)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x318087),this['_revisionTracker']['_createCurrentRevision'](_0x775992);}const {revisions:_0x43efdd,requestId:_0x68cc4e}=await this['_revisionHistoryService']['reconnect'](_0x135204['connection'],this['_lastRequestId']);_0x54b2cc&&_0x43efdd['length']>0x0?_0x58f724['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x43efdd),this['_handleRevisionsUpdate'](_0x43efdd,_0x68cc4e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x58f724['_isConnected']?_0x218d29():new Promise((_0x50cb99,_0x550239)=>{_0x58f724['once']('change:_isConnected',()=>{_0x218d29()['then'](_0x50cb99)['catch'](_0x550239);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xbee858=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x507437=>{_0x507437['off'](),_0xbee858();});});}['_getLatestVersionFromServerOperations'](){const _0x243942=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x2c9f66 of _0x243942)if('marker'!==_0x2c9f66['type']||_0x2c9f66['affectsData'])return _0x2c9f66['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1731bc=this['editor']['plugins']['get'](tt);return new Promise(_0x38197f=>{_0x1731bc['_isPendingUpdate']?_0x1731bc['once']('change:_isPendingUpdate',()=>{_0x38197f(this['_getLatestVersionFromServerOperations']());}):_0x38197f(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5469c1,_0x45de86){const _0x1d8412=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x45de86;for(const _0x6af432 of _0x5469c1){const _0x2d3fe2=_0x1d8412['getRevision'](_0x6af432['id']);if(_0x2d3fe2){if((_0x6af432['fromVersion']||_0x6af432['toVersion'])&&(_0x6af432['diffData']=null),_0x2d3fe2===this['_revisionTracker']['currentRevision']){const _0x33392f=Math['max'](_0x2d3fe2['toVersion'],_0x6af432['toVersion']),_0x164733=Math['max'](_0x2d3fe2['fromVersion'],_0x6af432['fromVersion']);let _0x218058;_0x2d3fe2['toVersion']===_0x6af432['toVersion']&&_0x2d3fe2['fromVersion']===_0x6af432['fromVersion']?(_0x218058=!0x0,this['_preventResendingRevisionData'](_0x6af432)):_0x6af432['toVersion']===_0x33392f&&_0x6af432['fromVersion']===_0x164733?_0x218058=!0x1:(_0x2d3fe2['toVersion']===_0x33392f&&_0x2d3fe2['fromVersion']===_0x164733||this['_fixRevision']({'revision':_0x2d3fe2,'from':_0x164733,'to':_0x33392f}),_0x218058=!0x0),_0x218058&&(delete _0x6af432['fromVersion'],delete _0x6af432['toVersion'],delete _0x6af432['diffData'],delete _0x6af432['createdAt'],delete _0x6af432['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x6af432),this['_preventResendingRevisionData'](_0x6af432);}else this['_revisionTracker']['addRevisionData'](_0x6af432);}const _0x1cf8cc=_0x1d8412['getRevisions']();_0x1cf8cc['reverse']();for(let _0x55169a=0x0;_0x55169a<_0x1cf8cc['length']-0x1;_0x55169a++){const _0x1fb9fd=_0x1cf8cc[_0x55169a],_0x2861fe=_0x1cf8cc[_0x55169a+0x1];if(_0x1fb9fd['fromVersion']<_0x2861fe['toVersion']){const _0x2abb44=_0x2861fe['toVersion'],_0x1754cd=Math['max'](_0x2abb44,_0x1fb9fd['toVersion']);this['_fixRevision']({'revision':_0x1fb9fd,'from':_0x2abb44,'to':_0x1754cd});}}}['_fixRevision']({revision:_0x531d79,from:_0x16d973,to:_0x5a0334}={}){const _0x4b98b2=this['editor']['plugins']['get'](_0x121396),_0x476a3e=this['_revisionTracker']['buildRevisionData']({'revision':_0x531d79,'from':_0x16d973,'to':_0x5a0334});_0x476a3e['authors']=_0x476a3e['authorsIds']['map'](_0x1d5c43=>_0x4b98b2['getUser'](_0x1d5c43)),_0x531d79['_update'](_0x476a3e);}['_preventResendingRevisionData'](_0x3ef12b){const _0x434071={};_0x434071['id']=_0x3ef12b['id'];for(const _0x212b47 of Object['keys'](_0x3ef12b))'id'!==_0x212b47&&(_0x434071[_0x212b47]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x434071['id'],_0x434071,!0x0);}async['_fetchMissingUsers'](_0x1746b1){const _0x2564cb=this['editor']['plugins']['get'](_0x121396),{connection:_0x1867f3}=this['editor']['plugins']['get'](z),_0x210a18=new Set();for(const _0x133893 of _0x1746b1){for(const _0xb1585f of _0x133893['authorsIds'])_0x54ba2a(_0xb1585f);_0x133893['creatorId']&&_0x54ba2a(_0x133893['creatorId']);}if(0x0===_0x210a18['size'])return;const _0x4f9525=await _0x33a205['getMany'](_0x1867f3,Array['from'](_0x210a18));for(const _0xe4af1d of _0x4f9525)_0x2564cb['getUser'](_0xe4af1d['id'])||_0x2564cb['addUser'](_0xe4af1d);function _0x54ba2a(_0x5b0f77){_0x2564cb['getUser'](_0x5b0f77)||_0x210a18['add'](_0x5b0f77);}}};function pt(_0x518e9b){return _0x518e9b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x518e9b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x518e9b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x334777{static get['requires'](){return[_0x1757ab,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x3fb656{['_collapseAt'];constructor(_0x5258a3,_0x858bd1=0x6){super(_0x5258a3);const _0x768901=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x858bd1,this['bind']('isHidden')['to'](this,'usersCount',_0x1358a7=>_0x1358a7<_0x858bd1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x768901['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':_0x768901['to']('usersCount',_0x4f1d6b=>'+'+(_0x4f1d6b-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x3fb656{['items'];['keystrokes'];constructor(_0x51ca43){super(_0x51ca43);const _0x2fef33=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4acf94(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2fef33['if']('hasPopup'),'aria-expanded':_0x2fef33['to']('isExpanded',_0x207a53=>this['hasPopup']&&String(_0x207a53)),'aria-label':_0x2fef33['to']('hasPopup',_0x332638=>X(_0x51ca43,_0x332638?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2fef33['to']('hasPopup',_0x1e2ed3=>!!_0x1e2ed3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2fef33['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2fef33['to'](_0x29edcb=>{const _0x3562de=_0x29edcb,_0x1211e2=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3dde3e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1211e2?.['contains'](_0x3562de['relatedTarget'])||_0x3dde3e?.['contains'](_0x3562de['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x593b73,_0x16abad,_0x2f4af4)=>{this['element']&&(_0x2f4af4?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']);}},_t=class extends _0x3fb656{['counterView'];['inlineListView'];constructor(_0x4b68b7,_0x542875=0x6){super(_0x4b68b7);const _0x2987d2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x542875),this['inlineListView']=new vt(_0x4b68b7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2ab295 of this['inlineListView']['items'])_0x2ab295['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',_0x2987d2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x3fb656{['listWrapperView'];constructor(_0x434d26,_0xd58d17){super(_0x434d26);const _0x1b13b8=this['bindTemplate'];this['listWrapperView']=new bt(_0x434d26,_0xd58d17),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x434d26,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x1b13b8['to'](_0x304825=>{const _0x132b33=_0x304825,_0x1087d3=document['querySelector']('.ck-presence-list__list'),_0x38f335=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1087d3?.['contains'](_0x132b33['relatedTarget'])||_0x38f335?.['contains'](_0x132b33['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x18c9ed{constructor(_0x10599f,_0x3a3f03){super(_0x10599f);const _0x362847=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3a3f03?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x362847['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x362847['to']('role'),'aria-label':_0x362847['to']('ariaLabel'),'aria-labelledby':_0x362847['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x50bb92['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5241e4=this['element'];_0x5241e4&&(this['_isScrollable']=Math['max'](_0x5241e4['scrollHeight'],_0x5241e4['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x21f6e8{['userView'];constructor(_0x3f9286,_0x4a9b43,_0x12e279){super(_0x3f9286);const _0x4dd6f8=this['bindTemplate'];this['userView']=new _0x44a44e(_0x3f9286,_0x4a9b43);const _0x32b9e6={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4a9b43['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4a9b43['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4a9b43['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4a9b43['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4a9b43['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x12e279&&(_0x32b9e6['tag']='button',_0x32b9e6['on']={'click':_0x4dd6f8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x32b9e6);}['focus'](){this['element']['focus']();}},It=class extends _0x3fb656{['userView'];['markerView'];constructor(_0x1c1b42,_0x3d0959,_0x267955){super(_0x1c1b42);const _0x5193b5=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x44a44e(_0x1c1b42,_0x3d0959),this['markerView']=new St(_0x1c1b42,_0x3d0959);const _0x891794=new _0x42795(_0x1c1b42);_0x891794['template']['tag']='span',_0x891794['text']=_0x3d0959['name'];const _0x53bc0f={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5193b5['to']('isFocusable',_0x3b66e6=>!!_0x3b66e6&&0x0),'aria-labelledby':_0x891794['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5193b5['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5193b5['to']('hasTooltip',_0x1d5a75=>!_0x1d5a75),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x891794]};_0x267955&&(_0x53bc0f['tag']='button',_0x53bc0f['on']={'click':_0x5193b5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x53bc0f);}},St=class extends _0x3fb656{constructor(_0x4dde20,_0xc30834){super(_0x4dde20),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xc30834['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xc30834['color']['getColorVariable'](),'--ck-user-color-alpha':_0xc30834['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x3c12a8{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x19e67a){super(_0x19e67a),this['context']['config']['define']('presenceList',Tt);const _0x23f617=_0x19e67a['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x23f617)throw new _0x206e44('presencelist-collapseat-invalid-format',this);if(_0x23f617<0x1)throw new _0x206e44('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xe676b9(),this['balloonPanelView']=new _0x439950(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xd6b652 of this['_allConnectedUsers'])this['_handleUserAdd'](_0xd6b652);this['listenTo'](this['_allConnectedUsers'],'add',(_0x50e2ce,_0x539132)=>{this['_handleUserAdd'](_0x539132);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xccf9aa,_0xdf5918)=>{this['_handleUserRemove'](_0xdf5918);});}['_createView'](){const _0x5b9c91=this['context'],_0x2a2e47=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x34a878=this['balloonPanelView'];if(!_0x398bc6(_0x5b9c91['config']['get']('presenceList.container')))throw new _0x206e44('presencelist-missing-container',this);return _0x2a2e47['counterView']['bind']('usersCount')['to'](this),_0x2a2e47['bind']('isCollapsed')['to'](this,'usersCount',_0x2411d5=>{const {collapseAt:_0x5851cd}=_0x5b9c91['config']['get']('presenceList'),_0x5542a2=_0x2411d5>=_0x5851cd;if(_0x5542a2&&!_0x2a2e47['inlineListView']['items']['find'](_0x3c5115=>_0x3c5115 instanceof wt)){const _0x26b555=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x26b555&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2a2e47['inlineListView']['items']['add'](_0x2a2e47['counterView']);}return _0x5542a2||this['hideDropdown'](),_0x5542a2;}),_0x2a2e47['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2d3ce3=>{const _0x48d578=_0x5b9c91['config']['get']('presenceList'),_0x3989f2=new It(_0x5b9c91['locale'],_0x2d3ce3,!!_0x48d578['onClick']);return _0x3989f2['bind']('hasTooltip')['to'](_0x2a2e47,'isCollapsed',_0x28dd33=>!_0x28dd33),_0x3989f2['bind']('isFocusable')['to'](_0x2a2e47,'isCollapsed',_0x219e8d=>!_0x219e8d),_0x48d578['onClick']&&this['listenTo'](_0x3989f2,'execute',()=>{this['view']['isCollapsed']||_0x48d578['onClick'](_0x2d3ce3,_0x3989f2['element']);}),_0x3989f2;}),this['listenTo'](_0x2a2e47['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2a2e47['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2a2e47['inlineListView']['keystrokes']['set']('Enter',(_0x28fc89,_0x5ae559)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5ae559());}),_0x2a2e47['render'](),_0x34a878['render'](),_0x216276({'emitter':_0x2a2e47,'activator':()=>_0x34a878['isVisible'],'contextElements':[_0x34a878['element'],_0x2a2e47['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5b9c91['config']['get']('presenceList.container')['appendChild'](_0x2a2e47['element']),this['_bodyCollection']=new _0x4acfe4(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2a2e47;}['_handleUserAdd'](_0xf21576){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xf21576['isMe'])return;const _0x98ac8a=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x98ac8a-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x234bb9=_0xf21576['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xf21576,_0x234bb9);}['_handleUserRemove'](_0x5cd98a){this['usersCount']--;const {collapseAt:_0x2eb393}=this['context']['config']['get']('presenceList'),_0x39a574=this['usersCount']>=_0x2eb393;if(this['currentDisplayedUsers']['get'](_0x5cd98a['id']))this['currentDisplayedUsers']['remove'](_0x5cd98a['id']);else{if(_0x39a574&&this['currentDisplayedUsers']['length']+0x1===_0x2eb393-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x39a574?0x1:0x0)<this['usersCount']){for(const _0xeba01b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xeba01b['id'])&&(this['currentDisplayedUsers']['add'](_0xeba01b,Math['min'](this['currentDisplayedUsers']['length']-(_0x39a574?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x39a574?0x1:0x0)===_0x2eb393-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x177d42=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x177d42['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x175a18}=this['presenceDropdownView'];_0x175a18['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xca564f=>{if(!_0x177d42['displayMe']&&_0xca564f['isMe'])return null;const _0x1182fd=new kt(this['context']['locale'],_0xca564f,!!_0x177d42['onClick']);return _0x177d42['onClick']&&this['listenTo'](_0x1182fd,'execute',()=>{_0x177d42['onClick'](_0xca564f,_0x1182fd['element']);}),_0x1182fd;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x175a18['focus'](),_0x175a18['checkIfScrollable']();const _0xd00c38=(_0x32f997,_0x306392)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x306392();};_0x175a18['keystrokes']['set']('Esc',_0xd00c38),_0x175a18['keystrokes']['set']('Shift+Tab',_0xd00c38),_0x175a18['keystrokes']['set']('Tab',(_0x2792b2,_0x501859)=>{!function(_0x3bc319){const _0x551f5a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x22ce33=>_0x22ce33+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x45da96=[...document['body']['querySelectorAll'](_0x551f5a)]['filter'](_0x5ee8d3=>_0x5ee8d3===document['activeElement']||_0x5ee8d3['offsetWidth']+_0x5ee8d3['offsetHeight']>0x0)['sort']((_0x40bcb6,_0x14ff9d)=>(_0x40bcb6['tabIndex']||0x0)-(_0x14ff9d['tabIndex']||0x0)),_0x489e03=_0x45da96[(_0x45da96['indexOf'](_0x3bc319)+0x1)%_0x45da96['length']];_0x489e03&&_0x489e03['focus']();}(this['view']['element']),this['hideDropdown'](),_0x501859();}),_0x175a18['focusTracker']['add'](this['view']['element']),_0x175a18['focusTracker']['on']('change:isFocused',(_0x3c568f,_0x4ebe21,_0x3c2a7e)=>{_0x3c2a7e||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);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x3c12a8{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|