@ckeditor/ckeditor5-real-time-collaboration 48.3.0-alpha.2 → 48.3.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -6
- package/dist/translations/af.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 _0x40965d,ContextPlugin as _0x2818ba,PendingActions as _0x13e9ee,Plugin as _0x3eef9e}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x39cc72,Collection as _0x533d03,DomEmitterMixin as _0x3ad2ae,KeystrokeHandler as _0x1b9bbc,global as _0x5de4cf,uid as _0x26c87e,version as _0x2ff48a}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x35ff59,BodyCollection as _0x39c0cb,LabelView as _0x5cd191,ListItemView as _0x537ded,ListView as _0x63033d,Notification as _0x27b27a,View as _0x118b39,clickOutsideHandler as _0x125654}from'@ckeditor/ckeditor5-ui';import{History as _0x4783e9,InsertOperation as _0x27aa6e,MarkerOperation as _0x30954d,ModelLiveRange as _0x4175bc,NoOperation as _0xf768d9,OperationFactory as _0x44800b,RootAttributeOperation as _0x2727f3,transformOperationSets as _0x50af1d}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x5f118b}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x396cfa,CommentsService as _0x1e5c77,EditorService as _0x57c6a6,RevisionHistoryService as _0x25482a,TrackChangesService as _0x2f8ee3,User as _0x2b182d,WEB_SOCKET_GATEWAY_STATES as _0xe7bc04,WebSocketGateway as _0xce0c00}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x2710e6,Users as _0x436e7d}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x510ebc}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x54c3b7,TrackChangesEditing as _0x36b9ab}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x401e20,CommentsEditing as _0x2a3ec7,CommentsRepository as _0x5e513f}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x2f5675}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x7e36a1}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x2818ba{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0xce0c00)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x5f118b,_0x27b27a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b2633){super(_0x1b2633),this['set']('state',_0xe7bc04['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3ad2ae())();}['init'](){const _0x3059b5=this['context'],_0x32dd85=_0x3059b5['plugins']['get'](_0x5f118b),_0x163784=_0x3059b5['plugins']['get'](_0x27b27a);if(!_0x32dd85['token'])throw new _0x39cc72('websocketgateway-missing-token',this);if(!_0x32dd85['webSocketUrl'])throw new _0x39cc72('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'](_0x32dd85['token'],_0x32dd85['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x724530=>{if(this['connection']=_0x724530,this['bind']('state')['to'](_0x724530,'state',this,'_isBrowserOffline',(_0x243e23,_0x5ea164)=>('connected'!==_0x243e23&&(this['_shouldPluginsReconnect']=!0x0),_0x5ea164||_0x243e23!==_0xe7bc04['CONNECTED']?_0xe7bc04['DISCONNECTED']:this['state']==_0xe7bc04['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xe7bc04['CONNECTING']):_0xe7bc04['CONNECTED'])),this['connection']['on']('error',(_0x846e6a,_0x56ed11)=>{if('limitExceeded'!==_0x56ed11['code'])throw console['error'](_0x56ed11),new _0x39cc72('cloudservices-init',null,{'originalError':_0x56ed11});_0x163784['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'});}),!_0x724530['me'])return new Promise(_0x1398fb=>_0x724530['on']('change:me',_0x1398fb));})['catch'](_0x5af219=>{throw console['error'](_0x5af219),new _0x39cc72('cloudservices-init',null,{'originalError':_0x5af219});});}['addToReconnectionStack'](_0x47b666){if('function'!=typeof _0x47b666['reconnect'])throw new _0x39cc72('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x47b666))throw new _0x39cc72('websocketgateway-plugin-already-registered',this,{'name':_0x47b666['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x47b666);}['removeFromReconnectionStack'](_0x2522ad){this['_reconnectionStack']['delete'](_0x2522ad);}['isInReconnectionStack'](_0x4868e9){return this['_reconnectionStack']['has'](_0x4868e9);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x59f2ac=>_0x59f2ac['reconnect']())))['then'](()=>this['state']=_0xe7bc04['CONNECTED'])['catch'](_0x591aca=>{throw console['error'](_0x591aca),new _0x39cc72('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xe7bc04['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x2818ba{['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,_0x436e7d];}constructor(_0x100925){super(_0x100925),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x533d03(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x436e7d);}['init'](){const _0x107333=this['context']['plugins']['get'](z);this['listenTo'](_0x107333,'change:state',(_0x22246d,_0x5933c2,_0x7f775b)=>{if('connected'!==_0x7f775b)this['channelSessions']['forEach'](_0x2ecfc8=>_0x2ecfc8['clear']()),this['channelConnectedUsers']['forEach'](_0x4492d9=>_0x4492d9['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5834db,_0x3ef91c]of this['_registeredSessions'])for(const _0x518e59 of _0x3ef91c)this['_handleSessionAdd'](_0x5834db,_0x518e59);}}),this['_createUser'](_0x107333['connection']['me'],!0x0);}['register'](_0x24b9a4,_0x237da1){if(this['_registeredSessions']['has'](_0x24b9a4))throw new _0x39cc72('sessions-register-already-registered',null,{'channelId':_0x24b9a4});this['_registeredSessions']['set'](_0x24b9a4,_0x237da1),this['channelSessions']['set'](_0x24b9a4,new _0x533d03()),this['channelConnectedUsers']['set'](_0x24b9a4,new _0x533d03()),this['listenTo'](_0x237da1,'add',(_0x51d456,_0x3632fb)=>this['_handleSessionAdd'](_0x24b9a4,_0x3632fb)),this['listenTo'](_0x237da1,'remove',(_0x18e85f,_0xe37586)=>this['_handleSessionRemove'](_0x24b9a4,_0xe37586));for(const _0x11a028 of _0x237da1)this['_handleSessionAdd'](_0x24b9a4,_0x11a028);}['unregister'](_0x171f75){if(!this['_registeredSessions']['has'](_0x171f75))throw new _0x39cc72('sessions-unregister-not-exist',null,{'channelId':_0x171f75});const _0x5047b1=this['_registeredSessions']['get'](_0x171f75);this['stopListening'](_0x5047b1);for(const _0x5e6a63 of _0x5047b1)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x171f75,_0x5e6a63);this['_registeredSessions']['delete'](_0x171f75),this['channelSessions']['delete'](_0x171f75),this['channelConnectedUsers']['delete'](_0x171f75);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x5372bf){for(const _0x5ceebf of this['channelSessions']['values']())for(const _0xcd53c3 of _0x5ceebf)if(_0xcd53c3['id']===_0x5372bf)return _0xcd53c3['user'];}['getUserSessions'](_0x2053f8,_0x8daca9){const _0x3fea1e=_0x8daca9?[this['channelSessions']['get'](_0x8daca9)]:this['channelSessions']['values'](),_0x555afc=new Set();for(const _0x3f5d93 of _0x3fea1e)for(const _0x3f8827 of _0x3f5d93)_0x3f8827['user']['id']===_0x2053f8['id']&&_0x555afc['add'](_0x3f8827['id']);return _0x555afc;}['getUserRole'](_0x54a789){for(const _0xad31d3 of this['channelSessions']['values']())for(const _0x14ec6b of _0xad31d3)if(_0x14ec6b['user']===_0x54a789)return _0x14ec6b['role'];}['_handleSessionAdd'](_0x498192,_0x45aa78){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1147b0=_0x45aa78['user'],_0x453597=this['_users']['getUser'](_0x1147b0['id'])||this['_createUser'](_0x1147b0),_0x59097c=Object['assign']({},_0x45aa78,{'user':_0x453597});if(this['channelSessions']['get'](_0x498192)['add'](_0x59097c),!_0x1147b0['hiddenInPresenceList']){const _0x1ca3d9=this['channelConnectedUsers']['get'](_0x498192);_0x1ca3d9['has'](_0x453597['id'])||_0x1ca3d9['add'](_0x453597),this['allConnectedUsers']['has'](_0x453597['id'])||_0x1147b0['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x453597,_0x453597['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x498192,{'channelId':_0x498192,'session':_0x59097c});}['_handleSessionRemove'](_0x4f6022,_0x3c11ea){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x509632=this['channelConnectedUsers']['get'](_0x4f6022),_0x2c0e73=_0x3c11ea['user'];_0x2c0e73['id']&&(this['channelSessions']['get'](_0x4f6022)['remove'](_0x3c11ea['id']),_0x509632['has'](_0x2c0e73['id'])&&!this['getUserSessions'](_0x2c0e73,_0x4f6022)['size']&&_0x509632['remove'](_0x2c0e73['id']),this['allConnectedUsers']['get'](_0x2c0e73['id'])&&!this['getUserSessions'](_0x2c0e73)['size']&&this['allConnectedUsers']['remove'](_0x2c0e73['id']));}['_createUser'](_0x3c795b,_0x52e998){const _0x4624f5=this['_users']['addUser'](_0x3c795b);return _0x52e998&&this['_users']['defineMe'](_0x3c795b['id']),_0x4624f5['orderNumber']=this['_uniqueUsersCount']++,_0x4624f5;}},K=class extends _0x3eef9e{['_domEmitter']=new(_0x3ad2ae())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x110846=this['editor'],_0x232fa0=_0x110846['plugins']['get'](Y);_0x110846['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x28cae4,{writer:_0x4904f5})=>function(_0x4040c4,_0x626049,_0xf317ff,_0x4989c7){const _0x18ca19=_0x4040c4['markerName']['split'](':')[0x2],_0x1ea1b4=_0xf317ff['getUserBySessionId'](_0x18ca19);if(!_0x1ea1b4||_0x18ca19===_0xf317ff['mySessionId'])return;if(!_0x4989c7['model']['schema']['checkChild'](_0x4040c4['markerRange']['start'],'$text'))return;const _0x4881fd={'class':'ck-user__marker\x20'+_0x1ea1b4['color']['getMarkerClass'](),'style':Q(_0x1ea1b4),'data-name':_0x1ea1b4['name'],'data-session-id':_0x18ca19},_0x48916d=_0x4989c7['model']['markers']['get'](_0x4040c4['markerName'])['getStart'](),_0x3e3992=_0x48916d['nodeAfter'],_0x3f5436=_0x4989c7['model']['schema'];if(_0x3e3992&&_0x3f5436['isObject'](_0x3e3992)&&_0x3f5436['isInline'](_0x3e3992)&&!_0x4989c7['model']['markers']['get']('user:range:'+_0x18ca19)['getRange']()['isCollapsed'])return;const _0x580541=_0x48916d['parent'];return _0x4989c7['model']['schema']['isLimit'](_0x580541)&&!_0x4989c7['model']['hasContent'](_0x580541)&&(_0x4881fd['contenteditable']=!0x1),function(_0x414b3b,_0x1c1a2b,_0x4f2516){const _0x1f5687=_0x414b3b['createUIElement']('span',_0x1c1a2b);return _0x414b3b['setCustomProperty']('userPositionMarker',!0x0,_0x1f5687),_0x1f5687['render']=function(_0x3610e3){const _0x35b6c6=this['toDomElement'](_0x3610e3),_0x468113=document['createElement']('span');return _0x468113['classList']['add']('ck-user__marker-tooltip'),_0x468113['setAttribute']('contenteditable','false'),_0x468113['setAttribute']('spellcheck','false'),_0x468113['textContent']=_0x4f2516['name'],_0x35b6c6['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x468113['outerHTML']+'',_0x35b6c6['addEventListener']('mouseenter',()=>{_0x35b6c6['classList']['add']('ck-user__marker_hovered');}),_0x35b6c6['addEventListener']('mouseleave',()=>{_0x35b6c6['classList']['remove']('ck-user__marker_hovered');}),_0x35b6c6;},_0x1f5687['isSimilar']=function(_0x28c817){return!(!this['getCustomProperty']('userPositionMarker')||!_0x28c817['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x28c817['getAttribute']('data-session-id'));},_0x1f5687;}(_0x626049,_0x4881fd,_0x1ea1b4);}(_0x28cae4,_0x4904f5,_0x232fa0,_0x110846)}),_0x110846['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2ac7a9=>function(_0x271651,_0x5dbd7c){const _0x32682d=_0x271651['markerName']['split'](':')[0x2];if(_0x32682d===_0x5dbd7c['mySessionId'])return null;const _0x2591bb=_0x5dbd7c['getUserBySessionId'](_0x32682d);return _0x2591bb?{'id':_0x32682d,'classes':['ck-user__selection',_0x2591bb['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2591bb),'data-session-id':_0x32682d},'priority':0x7d0+_0x2591bb['orderNumber']}:{'id':_0x32682d,'classes':[]};}(_0x2ac7a9,_0x232fa0)}),function(_0x53a50f){const _0x50b416=_0x53a50f['model'],_0x4485fc=new Map(),_0x3fbd21=_0x53a50f['plugins']['get'](Y);_0x50b416['markers']['on']('update:user:range',(_0x4e36fa,_0x308ab9,_0x3d0afd,_0x49c3e8)=>{if(!_0x49c3e8&&_0x4485fc['get'](_0x308ab9['name']))return _0x4485fc['get'](_0x308ab9['name'])['detach'](),void _0x4485fc['delete'](_0x308ab9['name']);const _0x2e6889=_0x308ab9['name']['split'](':')[0x2];if(_0x2e6889===_0x3fbd21['mySessionId'])return;const _0x31abe6='user:position:'+_0x2e6889;_0x50b416['markers']['has'](_0x31abe6)&&_0x53a50f['editing']['reconvertMarker'](_0x31abe6),_0x308ab9['on']('change:range',(_0x15a547,_0x1364b6,_0x7be478)=>{if('$graveyard'!=_0x1364b6['root']['rootName']&&'$graveyard'==_0x308ab9['getRange']()['root']['rootName']&&!_0x4485fc['has'](_0x308ab9['name'])){const _0x3c076f=_0x50b416['schema']['getNearestSelectionRange'](_0x7be478['deletionPosition']);if(_0x3c076f){const _0x535023=_0x4175bc['fromRange'](_0x3c076f);_0x4485fc['set'](_0x308ab9['name'],_0x535023),_0x535023['on']('change:range',(_0x511f23,_0x499089,_0x34f2aa)=>{if('$graveyard'==_0x535023['root']['rootName']){const _0x107fab=_0x50b416['schema']['getNearestSelectionRange'](_0x34f2aa['deletionPosition']);_0x107fab?(_0x535023['start']=_0x107fab['start'],_0x535023['end']=_0x107fab['end']):(_0x4485fc['delete'](_0x308ab9['name']),_0x535023['detach']());}});}}});}),_0x50b416['document']['on']('change',()=>{_0x4485fc['size']>0x0&&_0x50b416['enqueueChange']({'isUndoable':!0x1},_0x1cf3fa=>{for(const [_0x2311ea,_0x539be3]of _0x4485fc)'$graveyard'==_0x50b416['markers']['get'](_0x2311ea)['getRange']()['root']['rootName']&&(J(_0x2311ea['split'](':')[0x2],_0x539be3['toRange'](),_0x50b416,_0x1cf3fa),_0x539be3['detach']());_0x4485fc['clear']();});});}(_0x110846),this['_domEmitter']['listenTo'](_0x5de4cf['document'],'keydown',(_0x281ce5,{key:_0x480f94})=>{'Escape'===_0x480f94&&function(_0x317a47){_0x317a47['editing']['view']['change'](_0x4a2c2d=>{for(const _0x210b23 of _0x317a47['model']['markers']){if(!_0x210b23['name']['startsWith']('user:position'))continue;const _0x25b9ca=_0x317a47['editing']['mapper']['markerNameToElements'](_0x210b23['name']);if(_0x25b9ca){for(const _0xe7f269 of _0x25b9ca)_0x4a2c2d['removeClass']('ck-user__marker_hovered',_0xe7f269);}}});}(_0x110846);},{'useCapture':!0x0});}['afterInit'](){const _0x30bb1c=this['editor'],_0x3b6b41=_0x30bb1c['commands']['get']('undo');_0x3b6b41&&_0x30bb1c['model']['on']('applyOperation',(_0x314cc8,_0x3de63f)=>{const _0x304756=_0x3de63f[0x0];if(!_0x304756['isDocumentOperation'])return;if('marker'!=_0x304756['type']||!_0x304756['name']['startsWith']('user:'))return;const _0x58cec5=_0x304756['batch'];_0x3b6b41['_createdBatches']['has'](_0x58cec5)&&(_0x304756['newRange']=_0x304756['oldRange']?_0x30bb1c['model']['createRange'](_0x304756['oldRange']['start'],_0x304756['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x128b28=this['editor'],_0x47ba5e=_0x128b28['model']['document'],_0x5f5940=_0x128b28['plugins']['get'](Y);_0x128b28['model']['enqueueChange']({'isUndoable':!0x1},_0x4e2f28=>{const _0x109da2='user:range:'+_0x5f5940['mySessionId'],_0x30442e='user:position:'+_0x5f5940['mySessionId'],_0x565f66=_0x128b28['model']['markers']['has'](_0x109da2);_0x128b28['editing']['view']['hasDomSelection']?J(_0x5f5940['mySessionId'],_0x47ba5e['selection']['getFirstRange'](),_0x128b28['model'],_0x4e2f28):_0x565f66&&(_0x4e2f28['removeMarker'](_0x109da2),_0x4e2f28['removeMarker'](_0x30442e));});}};function J(_0x4ac527,_0x1fd616,_0x1fd7ac,_0x3cdcb0){const _0x3e66ea='user:range:'+_0x4ac527,_0x1c97bb='user:position:'+_0x4ac527,_0x99be11=_0x1fd616['getContainedElement']();let _0x17ebe0=_0x1fd616['start'];if(_0x99be11&&_0x99be11['is']('element','tableCell')){const _0x21eb73=function(_0xb94e4c,_0x40c3f4){for(const _0x1380cb of _0xb94e4c['getPositions']())if(_0x40c3f4['schema']['checkChild'](_0x1380cb,'$text'))return _0x1380cb;}(_0x1fd616,_0x1fd7ac);_0x21eb73&&(_0x17ebe0=_0x21eb73,_0x1fd616=_0x3cdcb0['createRange'](_0x17ebe0));}const _0x43cad0=_0x3cdcb0['createRange'](_0x17ebe0);_0x1fd7ac['markers']['has'](_0x3e66ea)?(_0x3cdcb0['updateMarker'](_0x3e66ea,{'range':_0x1fd616}),_0x3cdcb0['updateMarker'](_0x1c97bb,{'range':_0x43cad0})):(_0x3cdcb0['addMarker'](_0x3e66ea,{'range':_0x1fd616,'usingOperation':!0x0}),_0x3cdcb0['addMarker'](_0x1c97bb,{'range':_0x43cad0,'usingOperation':!0x0}));}function Q(_0x33a1c3){return'--ck-user-color:'+_0x33a1c3['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x33a1c3['color']['getColorAlphaVariable']()+';';}function X(_0x31961a,_0x134050,_0x5631f1){const _0x5b6061=_0x31961a['t'],t=_0x31961a['t'];switch(_0x134050){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 _0x5b6061({'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'},_0x5631f1);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x3eef9e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x396cfa)());['_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,_0x13e9ee,_0x436e7d,_0x27b27a];}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 _0x57bb73=this['serverHistory']['getOperations']();for(let _0xa806a5=_0x57bb73['length']-0x1;_0xa806a5>=0x0;_0xa806a5--){const _0x3a11d1=_0x57bb73[_0xa806a5];if(!this['_disconnectionOperations']['has'](_0x3a11d1))return _0x3a11d1['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x47bfc8){if(super(_0x47bfc8),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4783e9(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x39cc72('collaboration-missing-channelid',this);const _0x52d9a5=_0x47bfc8['config']['get']('cloudServices.bundleVersion')||_0x2ff48a;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x52d9a5,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x510ebc(),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 _0x51923b=this['editor'],_0x44036e=_0x51923b['plugins']['get'](_0x436e7d),_0x903b4f=_0x51923b['plugins']['get'](z);this['listenTo'](_0x44036e,'getOperationAuthor',(_0x4e4c36,_0x1de97)=>{const _0x3b21bb=_0x1de97[0x0];_0x3b21bb['_authorId']&&(_0x4e4c36['return']=_0x44036e['getUser'](_0x3b21bb['_authorId']),_0x4e4c36['stop']()),null===_0x3b21bb['_authorId']&&(_0x4e4c36['return']=null,_0x4e4c36['stop']());},{'priority':'high'}),this['listenTo'](_0x51923b['model']['document']['selection'],'change:range',(_0x379fe6,_0x3e22de)=>{_0x3e22de['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x51923b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x51923b['model']['on']('applyOperation',(_0x4eeb3b,_0x3b566f)=>{const _0x5a1047=_0x3b566f[0x0];_0x5a1047['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5a1047),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x903b4f,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x2aa08f,_0x40674b,_0x5d3545)=>'connected'===_0x2aa08f&&!_0x40674b&&!_0x5d3545),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x51923b['disableReadOnlyMode']('rtc-offline'):_0x51923b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x51923b['disableReadOnlyMode']('rtc-offline'):_0x51923b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1872d1=this['editor']['plugins']['get'](Y),_0x7e8705=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1872d1['unregister'](this['_channelId']);const _0x1e8c35=await this['_service']['reconnect'](_0x7e8705['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1e8c35)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1081b9=await this['_service']['getConnectedSessions']();_0x1872d1['register'](this['_channelId'],_0x1081b9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x544f02){if(function(_0x3f93f8){return'404'===_0x3f93f8['code'];}(_0x544f02)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4c625c){return'409'===_0x4c625c['code'];}(_0x544f02)){const _0x41e992=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'](_0x41e992);}else{if(!(_0x544f02 instanceof et))throw _0x544f02;this['_handleReconnectionError']();}}}}['destroy'](){const _0x260cae=this['editor']['plugins']['get'](z),_0x5c8200=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5c8200['channelSessions']['has'](this['_channelId'])&&_0x5c8200['unregister'](this['_channelId']),_0x260cae['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2c6746){if(this['sessionId']!==_0x2c6746['sessionId']&&this['_lastSyncedOperationId']!==_0x2c6746['lastOperationId'])throw new et();return this['sessionId']=_0x2c6746['sessionId'],this['_handleServerResponse']([],{..._0x2c6746,'wereChangesApplied':!0x1,'data':_0x2c6746['data']},'reconnect');}async['_connectService'](_0x462396,_0x5070ec=!0x1){const {connection:_0x262d2a}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x262d2a,this['_channelId'])['then'](_0x27e0ca=>this['_initSessionsHandling'](_0x27e0ca))['catch'](_0x222b43=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x222b43);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1d1986,_0x2bfdb2)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2bfdb2);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x4a007f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x462396);this['_isPendingUpdate']=!0x0;const _0x108111=await this['_service']['connect'](_0x262d2a,this['_compressOperations'](_0x462396),_0x4a007f);if(this['sessionId']=_0x108111['sessionId'],_0x5070ec){if(!_0x108111['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x108111['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x462396,_0x108111,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x108111,_0x462396);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5367f1=this['editor']['plugins']['get'](Y),_0x57f004=this['editor']['plugins']['get'](K),_0x5e810f=_0x5367f1['channelSessions']['get'](this['_channelId']);_0x5e810f&&_0x5e810f['length']>0x1?_0x57f004['createUserMarkerOperations']():this['listenTo'](_0x5367f1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5367f1['channelSessions']['get'](this['_channelId'])['length']&&_0x57f004['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x584f92,_0x29a09f,_0x50fd57,_0x303abc){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x29a09f){const _0x3e2e6a=this['_decompressOperations'](_0x50fd57,_0x303abc);await this['_fetchMissingUsers'](_0x3e2e6a),this['_handleExternalOperations'](_0x3e2e6a,_0x29a09f,_0x50fd57['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x44be12}=this['editor'];let _0x47b248;try{_0x47b248=await this['_service']['getDocumentDetails']();}catch{const _0x512087=X(_0x44be12,'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'](_0x512087);}const _0x59db4e=_0x47b248['currentDocumentSession']||_0x47b248['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x59db4e['lastOperationId']){const _0x4e434c=X(_0x44be12,'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'](_0x4e434c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x223b53=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x223b53['connection']||'connected'!==_0x223b53['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x5124f8=this['editor']['plugins']['get'](Y);_0x5124f8['channelSessions']['has'](this['_channelId'])&&_0x5124f8['unregister'](this['_channelId']),_0x223b53['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x43b4ca){const _0x3dab4a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x3dab4a,'sessionAdd:'+this['_channelId'],(_0x259dd7,{session:_0x2dbdb7})=>{if(_0x2dbdb7['id']===_0x3dab4a['mySessionId']){_0x259dd7['off']();const _0x389f59=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x494f1f=_0x2dbdb7['permissions'];_0x389f59&&_0x389f59['isEnabled']&&(_0x494f1f=_0x494f1f['filter'](_0x5871b3=>'document:write'!==_0x5871b3)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x494f1f,this['_channelId']);}}),_0x3dab4a['register'](this['_channelId'],_0x43b4ca);}['_initThrowingOnDataSet'](){const _0x2e79d6=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1bdd69)=>{if(!_0x1bdd69[_0x1bdd69['length']-0x1]['suppressErrorInCollaboration'])throw new _0x39cc72('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2e79d6['apply'](this['editor']['data'],_0x1bdd69);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2de49e,[_0xde231e])=>{if(this['_document']['version'])throw new _0x39cc72('realtimecollaborationclient-init-document-already-initialized',this);_0x2de49e['stop'](),this['_setPendingAction']();const _0x36f8a2=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x35d85e])=>!_0x35d85e['lazyLoad'])['map'](([_0x192def,_0x56d2cb])=>[_0x192def,_0x56d2cb['modelAttributes']||{}])),_0x4ba5f6=this['_getOperationsFromInitData'](_0xde231e,_0x36f8a2);0x0==_0x4ba5f6['length']&&_0x4ba5f6['push'](new _0xf768d9(0x0)),_0x2de49e['return']=this['_connectService'](_0x4ba5f6)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x20dca7=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x20dca7))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xc86271,[_0x25d92d,_0x1aaeb1])=>{_0xc86271['stop']();const _0x46fa80=this['editor']['model']['document']['getRoot'](_0x25d92d);if(!this['_knownRootNames']['has'](_0x25d92d)){const _0xbaebe5=_0x1aaeb1&&_0x1aaeb1['data']?_0x1aaeb1['data']:'',_0x397517=_0x1aaeb1&&_0x1aaeb1['attributes']?_0x1aaeb1['attributes']:{};await this['_loadRoot'](_0x25d92d,_0xbaebe5,_0x397517);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x46fa80['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x46fa80);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x113074){const _0x8f944d=this['editor']['plugins']['get'](_0x436e7d),{connection:_0x32483b}=this['editor']['plugins']['get'](z),_0x5d00ba=new Set();for(const _0x3cf74e of _0x113074){const _0x10a97c=_0x3cf74e['_authorId'];_0x10a97c&&!_0x8f944d['getUser'](_0x10a97c)&&_0x5d00ba['add'](_0x10a97c);}if(0x0===_0x5d00ba['size'])return;const _0x269e17=await _0x2b182d['getMany'](_0x32483b,Array['from'](_0x5d00ba));for(const _0x4a5b66 of _0x269e17)_0x8f944d['getUser'](_0x4a5b66['id'])||_0x8f944d['addUser'](_0x4a5b66);}['_getOperationsFromInitData'](_0x4d92c9,_0x1467bd={}){const _0x5ce742=this['editor']['model'],_0x2f4c58=[];let _0x34337e=0x0;const _0x5e9738='string'==typeof _0x4d92c9?{'main':_0x4d92c9}:_0x4d92c9;for(const _0x338807 of Object['keys'](_0x5e9738)){if(!this['_document']['roots']['has'](_0x338807))throw new _0x39cc72('realtimecollaborationclient-init-non-existent-root',this);const _0x237c70=this['_document']['getRoot'](_0x338807),_0x507919=this['editor']['data']['parse'](_0x5e9738[_0x338807],_0x237c70),_0x352d79=new _0x27aa6e(_0x5ce742['createPositionAt'](_0x237c70,0x0),_0x507919,_0x34337e++);_0x2f4c58['push'](_0x352d79);for(const [_0xd3cb3a,_0x2fd41b]of _0x507919['markers']){const _0x3f072f=new _0x30954d(_0xd3cb3a,null,_0x5ce742['createRange'](_0x5ce742['createPositionFromPath'](_0x237c70,_0x2fd41b['start']['path']['slice']()),_0x5ce742['createPositionFromPath'](_0x237c70,_0x2fd41b['end']['path']['slice']())),_0x5ce742['markers'],!0x0,_0x34337e++);_0x2f4c58['push'](_0x3f072f);}}if(_0x1467bd)for(const [_0x14fc54,_0x22ed5a]of Object['entries'](_0x1467bd)){const _0x54ae53=_0x5ce742['document']['getRoot'](_0x14fc54);if(!_0x54ae53)throw new _0x39cc72('multi-root-editor-root-attributes-no-root',null);for(const [_0x5d0795,_0x37ca7b]of Object['entries'](_0x22ed5a))if(null!==_0x37ca7b){const _0x5a518f=new _0x2727f3(_0x54ae53,_0x5d0795,null,_0x37ca7b,_0x34337e++);_0x2f4c58['push'](_0x5a518f);}}return _0x2f4c58;}async['_loadRoot'](_0xee4ec1,_0x161ab4,_0x1b1a0c){this['_getOperationsFromInitData']({[_0xee4ec1]:_0x161ab4},{[_0xee4ec1]:_0x1b1a0c})['forEach']((_0x320fb3,_0x390c0b)=>{_0x320fb3['baseVersion']=this['_document']['version']+_0x390c0b,_0x320fb3['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x320fb3);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2c1d65,_0x4e8418){let _0x3d8eb4;this['_offset']=_0x2c1d65['offset'];const _0x463986=_0x2c1d65['wereChangesApplied']&&!_0x2c1d65['initData'],_0x17edcd=_0x463986?0x0:_0x2c1d65['data']['baseVersion'];if(_0x4e8418['forEach'](_0x3df212=>{_0x3df212['_isInit']=!0x0,_0x3df212['createdAt']=_0x2c1d65['sessionCreatedAt'],_0x3df212['_authorId']=null;}),_0x463986)_0x3d8eb4=_0x4e8418,this['_applyOperationsSet'](_0x3d8eb4,_0x463986);else{if(_0x2c1d65['initData']){const _0x5442c1=this['_getOperationsFromInitData'](_0x2c1d65['initData']);this['_document']['history']['version']=-_0x5442c1['length'],_0x5442c1['forEach'](_0x94a570=>{_0x94a570['baseVersion']-=_0x5442c1['length'],_0x94a570['createdAt']=_0x2c1d65['sessionCreatedAt'],_0x94a570['_isInit']=!0x0,_0x94a570['_authorId']=null;}),this['_applyOperationsSet'](_0x5442c1,!0x0),this['serverHistory']['version']=-_0x5442c1['length']+this['_offset'],this['_updateServerHistory'](_0x5442c1);}this['_document']['history']['version']=_0x17edcd,_0x3d8eb4=this['_decompressOperations'](_0x2c1d65['data'],_0x2c1d65['metadata']),await this['_fetchMissingUsers'](_0x3d8eb4),this['_applyOperationsSet'](_0x3d8eb4,_0x463986);}_0x2c1d65['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3d8eb4,_0x2c1d65['lastOperationId']),this['_lastSyncedOperationId']=_0x2c1d65['lastOperationId']),this['serverHistory']['version']=_0x17edcd+this['_offset'],this['_updateServerHistory'](_0x3d8eb4),_0x4e8418['filter'](_0x138fc9=>{const _0x524b43=this['_getAffectedRoot'](_0x138fc9);return _0x524b43&&!this['_knownRootNames']['has'](_0x524b43);})['forEach']((_0x6c5eea,_0x299c2f)=>{_0x6c5eea['baseVersion']=this['_document']['version']+_0x299c2f,this['_saveOperationInBuffer'](_0x6c5eea);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x14c047,_0x21137e){const _0xbe8bac=_0x21137e&&_0x21137e['message'];if(_0xbe8bac&&_0xbe8bac['startsWith']('realtimecollaborationclient'))throw _0x21137e;const _0x35c0f2=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x35c0f2['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x39cc72(_0x14c047,this['editor'],_0xbe8bac?{'originalError':_0xbe8bac}:void 0x0);}['_saveOperationInBuffer'](_0x4b2126){this['_knownOperations']['has'](_0x4b2126)||(this['_knownOperations']['add'](_0x4b2126),this['_bufferedOperations']['push'](_0x4b2126),this['_pendingAction']||'marker'==_0x4b2126['type']&&!_0x4b2126['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x303c07=!0x1){!_0x303c07&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x30432b=>{_0x30432b&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x506ede=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1448b7){return _0x1448b7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1448b7['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1448b7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x506ede)||this['_crash'](_0x506ede['message'],_0x506ede);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0xc982a5=>{this['on']('change:_isPendingUpdate',()=>{_0xc982a5();});});}async['_sendBufferedOperations'](){const _0xa1b1fc=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0xa1b1fc['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xcfd068=[...this['_bufferedOperations']];for(const _0xc0aca4 of _0xcfd068)_0xc0aca4['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xc0aca4);const _0x4fdeb3=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xcfd068),_0x15de04=Z++,_0x1490ca=this['_compressOperations'](_0xcfd068),_0x3d971e=await this['_service']['sendOperations'](_0x1490ca,_0x1490ca['baseVersion'],_0x4fdeb3);try{return await this['_handleServerResponse'](_0xcfd068,_0x3d971e,_0x15de04);}catch(_0x4b4271){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4b4271);}}async['_handleServerResponse'](_0x3a7407,_0x4d36a3,_0x33a342){if('error'in _0x4d36a3)throw _0x4d36a3['error'];let _0x34d345=!0x1;if(_0x4d36a3['wereChangesApplied']){_0x4d36a3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4d36a3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1e1c81=>!_0x3a7407['includes'](_0x1e1c81));for(const _0x4f5845 of _0x3a7407)_0x4f5845['createdAt']='lastOperationAcceptedAt'in _0x4d36a3&&_0x4d36a3['lastOperationAcceptedAt']||void 0x0;st(_0x3a7407,_0x4d36a3['version']-_0x3a7407['length']),this['_updateServerHistory'](_0x3a7407);const _0x1b4a76=_0x3a7407['filter'](_0x348846=>{if(!_0x348846['_isInit'])return!0x1;const _0x48ccf4=this['_getAffectedRoot'](_0x348846);return _0x48ccf4&&!this['_knownRootNames']['has'](_0x48ccf4);});st(_0x1b4a76,this['_document']['version']),this['_applyOperationsSet'](_0x1b4a76),_0x34d345=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x107aea=this['_decompressOperations'](_0x4d36a3['data'],_0x4d36a3['metadata'])['filter'](_0x1ec125=>_0x1ec125['baseVersion']>=this['_lastServerVersion']);_0x107aea['forEach'](_0x77016d=>this['_addKnownRoot'](_0x77016d)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2542bb=>!_0x2542bb['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2542bb))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x107aea),_0x34d345=this['_handleExternalOperations'](_0x107aea,_0x4d36a3['version'],_0x4d36a3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x34d345?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x181dfc,_0x532221,_0xe04648){try{const _0x4c8f2a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xf3366b,operationsB:_0x100706,originalOperations:_0x324b73}=_0x50af1d(_0x181dfc,this['_bufferedOperations'],_0x4c8f2a);st(_0xf3366b,this['_document']['version']),st(_0x100706,_0x532221);for(const _0x3abeb2 of _0xf3366b){const _0x477bb4=_0x324b73['get'](_0x3abeb2);_0x477bb4?(_0x3abeb2['_authorId']=_0x477bb4['_authorId'],'noop'!==_0x3abeb2['type']&&(_0x3abeb2['_aiSource']=_0x477bb4['_aiSource'])):_0x3abeb2['_authorId']=null;}for(const _0xd84ac6 of _0x100706)'noop'!==_0xd84ac6['type']&&(_0xd84ac6['_aiSource']=_0x324b73['get'](_0xd84ac6)?.['_aiSource']);_0xe04648&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x181dfc,_0xe04648),this['_lastSyncedOperationId']=_0xe04648),this['_bufferedOperations']=[..._0x100706],this['_applyOperationsSet'](_0xf3366b),this['_updateServerHistory'](_0x181dfc);}catch(_0x2f6087){return console['error'](_0x2f6087),!0x1;}return!0x0;}['_applyOperationsSet'](_0xb19183,_0x5d8236=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3a0090=>{for(const _0x20503c of _0xb19183)this['_knownOperations']['add'](_0x20503c),this['_addKnownRoot'](_0x20503c),_0x3a0090['batch']['addOperation'](_0x20503c),this['editor']['model']['applyOperation'](_0x20503c);});}['_addKnownRoot'](_0x56559a){const _0x54b50f=this['_getAffectedRoot'](_0x56559a);_0x54b50f&&this['_knownRootNames']['add'](_0x54b50f);}['_getAffectedRoot'](_0xa39fe3){let _0x55770f,_0x427f78;switch(_0xa39fe3['type']){case'insert':_0x55770f=_0xa39fe3['position']['root'];break;case'marker':if(_0x427f78=_0xa39fe3['newRange'],!_0x427f78)return null;_0x55770f=_0x427f78['root'];break;case'addRootAttribute':_0x55770f=_0xa39fe3['root'];break;case'addRoot':_0x55770f=_0xa39fe3['affectedSelectable'];break;case'move':_0x55770f=_0xa39fe3['targetPosition']['root'];break;default:return null;}return _0x55770f['rootName'];}['_updateServerHistory'](_0x5802d2){_0x5802d2['forEach'](_0x1dc40c=>{const _0x47e492=_0x1dc40c['clone']();_0x47e492['_authorId']=_0x1dc40c['_authorId'],_0x47e492['_isInit']=!!_0x1dc40c['_isInit'],_0x47e492['_aiSource']=_0x1dc40c['_aiSource'],_0x47e492['createdAt']=_0x1dc40c['createdAt'],_0x47e492['baseVersion']+=this['_offset'],_0x1dc40c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x47e492),this['serverHistory']['addOperation'](_0x47e492);});}['_handleReconnectionError'](_0x5cd03f){const _0x226c9c=this['editor']['plugins']['get']('Notification'),_0x48f524=this['editor']['locale'];_0x5cd03f||(_0x5cd03f=X(_0x48f524,'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.')),_0x226c9c['showWarning'](_0x5cd03f,{'title':X(_0x48f524,'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'](_0x13e9ee)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x13e9ee)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4785bd){const _0x4bb87e=_0x4785bd['map'](_0x17cd4f=>_0x17cd4f['toJSON']());return this['_compressor']['compress'](_0x4bb87e);}['_decompressOperations'](_0x5d1078,_0x19c827){return this['_compressor']['decompress'](_0x5d1078)['map']((_0x28aac6,_0x28dbcb)=>{const _0x39d8e4='init'==_0x19c827[_0x28dbcb]['type'];if('InsertOperation'==_0x28aac6['__className']){const _0x1d47c9=_0x28aac6['position']['root'];!this['_document']['getRoot'](_0x1d47c9)&&(this['_document']['createRoot']('$unknown',_0x1d47c9)['_isAttached']=!0x1);}else{if('RootOperation'==_0x28aac6['__className']){const _0x3e8f9e=this['_document']['getRoot'](_0x28aac6['rootName']);_0x3e8f9e&&'$unknown'==_0x3e8f9e['name']&&_0x28aac6['elementName']!=_0x3e8f9e['name']&&(_0x3e8f9e['name']=_0x28aac6['elementName']);}}const _0x45c5f2=_0x44800b['fromJSON'](_0x28aac6,this['_document']);return _0x45c5f2['wasUndone']=_0x28aac6['wasUndone'],_0x45c5f2['_isInit']=_0x39d8e4,_0x45c5f2['_authorId']=_0x39d8e4?null:_0x19c827[_0x28dbcb]['userId'],_0x45c5f2['_isDisconnection']='cs:removeUser'===_0x19c827[_0x28dbcb]['type'],_0x45c5f2['_aiSource']=_0x28aac6['_aiSource']||void 0x0,_0x45c5f2['createdAt']=_0x19c827[_0x28dbcb]['createdAt'],_0x45c5f2;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5b4987=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5b4987&&_0x5b4987['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x495750,_0x3f6a68){for(const _0x2f3335 of _0x495750)_0x2f3335['baseVersion']=_0x3f6a68++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x1bb619){this['_ignoredOperations']=_0x1bb619,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2696c2){let _0xc5f13f=_0x2696c2['length'];for(;_0xc5f13f--;){const _0x57c1b5=_0x2696c2[_0xc5f13f];if(!this['_ignoredOperations']['has'](_0x57c1b5)){if(!this['_operationToId']['has'](_0x57c1b5)){const _0x5c226a=_0x26c87e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x57c1b5,_0x5c226a);}return this['_operationToId']['get'](_0x57c1b5);}}}['setIdForTheLastOperation'](_0x19922f,_0x529b43){if(!_0x529b43)return;let _0x5864fe=_0x19922f['length'];for(;_0x5864fe--;){const _0x10e467=_0x19922f[_0x5864fe];this['_ignoredOperations']['has'](_0x10e467)||this['_operationToId']['set'](_0x10e467,_0x529b43);}}},nt=class extends _0x3eef9e{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x2818ba{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x1e5c77)());['_services'];static get['requires'](){return[z,_0x5e513f,Y,_0x436e7d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ab80c){super(_0x3ab80c),this['_services']=new Map();}async['init'](){const _0xb660f2=this['context'],_0x22d23d=_0xb660f2['plugins']['get'](_0x5e513f);if(_0xb660f2['plugins']['get'](z)['addToReconnectionStack'](this),_0x22d23d['adapter']={'addCommentThread':async({channelId:_0x1a812d,threadId:_0x25634f,comments:_0x4bebb9,resolvedAt:_0x415d4d,resolvedBy:_0x4e262a,context:_0x4eeee5,attributes:_0x2706a5})=>{const _0x34be43=await this['_getService'](_0x1a812d)['addCommentThread']({'commentThreadId':_0x25634f,'comments':_0x4bebb9['map'](_0x27b8c1=>function(_0x585f7c,_0x5a78c3,_0x2079d3){return{'commentThreadId':_0x2079d3,'commentId':_0x585f7c['commentId'],'userId':_0x585f7c['authorId'],'content':_0x585f7c['content'],'documentId':_0x5a78c3,'createdAt':_0x585f7c['createdAt'],'attributes':_0x585f7c['attributes']||{}};}(_0x27b8c1,_0x1a812d,_0x25634f)),'resolvedAt':_0x415d4d,'resolvedBy':_0x4e262a,'context':_0x4eeee5,'attributes':_0x2706a5})['catch'](ct);return{'threadId':_0x34be43['commentThreadId'],'comments':_0x34be43['comments']};},'getCommentThread':async({channelId:_0x5ebf78,threadId:_0x2440a9})=>{const _0x35fa01=await this['_getService'](_0x5ebf78)['getCommentThread'](_0x2440a9)['catch'](rt)['catch'](ct);return _0x35fa01?_0x35fa01['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x35fa01]),{'threadId':_0x35fa01['commentThreadId'],'comments':_0x35fa01['comments']['map'](at),'context':_0x35fa01['context'],'resolvedAt':_0x35fa01['resolvedAt'],'resolvedBy':_0x35fa01['resolvedBy'],'attributes':_0x35fa01['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3fbfb9,threadId:_0x133ff8,context:_0x21521c,unlinkedAt:_0x342eb8,attributes:_0x2548fd})=>this['_getService'](_0x3fbfb9)['updateCommentThread']({'commentThreadId':_0x133ff8,'context':_0x21521c,'attributes':_0x2548fd,'unlinkedAt':_0x342eb8})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x28e3c5,threadId:_0x15b706})=>{const _0x52ccfb=await this['_getService'](_0x28e3c5)['resolveCommentThread'](_0x15b706)['catch'](rt)['catch'](ct);return{'threadId':_0x52ccfb['commentThreadId'],'resolvedAt':_0x52ccfb['resolvedAt'],'resolvedBy':_0x52ccfb['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2b411e,threadId:_0x5ad93a})=>this['_getService'](_0x2b411e)['reopenCommentThread'](_0x5ad93a)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x16eaf7,threadId:_0x45e12a})=>this['_getService'](_0x16eaf7)['removeCommentThread'](_0x45e12a)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x58330e,threadId:_0x154da5,commentId:_0x1746c7,content:_0x1b53e7,attributes:_0x201197})=>this['_getService'](_0x58330e)['addComment'](_0x154da5,_0x1746c7,_0x1b53e7,_0x201197)['catch'](ct),'updateComment':({channelId:_0x9e18a4,threadId:_0xd0cb0b,commentId:_0x5ccb17,content:_0x4cd8c5,attributes:_0x7857a0})=>this['_getService'](_0x9e18a4)['updateComment'](_0xd0cb0b,_0x5ccb17,_0x4cd8c5,_0x7857a0)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x26df0f,threadId:_0x6eb929,commentId:_0x45bf47})=>this['_getService'](_0x26df0f)['removeComment'](_0x6eb929,_0x45bf47)['catch'](rt)['catch'](ct)},_0xb660f2 instanceof _0x40965d){const _0x3c9239=_0xb660f2['config']['get']('collaboration.channelId'),_0x628412=_0xb660f2['plugins']['get'](Y);await this['_setUpService'](_0x3c9239);const _0x36edf2=await this['_services']['get'](_0x3c9239)['getConnectedSessions']();this['listenTo'](_0x628412,'sessionAdd:'+_0x3c9239,(_0x1bac54,{session:_0x11fb11})=>{_0x11fb11['id']===_0x628412['mySessionId']&&(_0x1bac54['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x11fb11['permissions'],_0x3c9239));}),_0x628412['register'](_0x3c9239,_0x36edf2);}}async['_setUpService'](_0x734660){if(this['_services']['has'](_0x734660))throw new _0x39cc72('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x734660});const _0x4098d6=this['context']['plugins']['get'](_0x5e513f),_0x2e9c66=new CloudServicesCommentsAdapter['CommentsService'](_0x734660);this['_services']['set'](_0x734660,_0x2e9c66),this['listenTo'](_0x2e9c66,'commentThreadAdded',(_0x1539b6,_0x4a7d29)=>{const {commentThreadId:_0x29a00f,documentId:_0x4a1d16,context:_0x52b102,attributes:_0x49c549,resolvedAt:_0x2b2b11,resolvedBy:_0x2002e3,comments:_0x1fde00}=_0x4a7d29;_0x4098d6['getCommentThread'](_0x29a00f)||_0x4098d6['addCommentThread']({'threadId':_0x29a00f,'channelId':_0x4a1d16,'comments':_0x1fde00?_0x1fde00['map'](at):[],'context':_0x52b102,'attributes':_0x49c549,'resolvedAt':_0x2b2b11,'resolvedBy':_0x2002e3,'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadUpdated',(_0x2e9016,{commentThreadId:_0x3ddb78,documentId:_0x14bd07,context:_0x504bc3,unlinkedAt:_0x525333,attributes:_0x22d1fc})=>{_0x4098d6['getCommentThread'](_0x3ddb78)&&_0x4098d6['updateCommentThread']({'threadId':_0x3ddb78,'channelId':_0x14bd07,'context':_0x504bc3,'unlinkedAt':_0x525333,'attributes':_0x22d1fc,'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadResolved',(_0x27b308,{commentThreadId:_0x52f288,resolvedBy:_0x2cd706,resolvedAt:_0x4cf39d})=>{const _0x262a93=_0x4098d6['getCommentThread'](_0x52f288);_0x262a93&&_0x262a93['resolve']({'resolvedBy':_0x2cd706,'resolvedAt':_0x4cf39d,'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadReopened',(_0x52f726,{commentThreadId:_0x1da074})=>{const _0x64f385=_0x4098d6['getCommentThread'](_0x1da074);_0x64f385&&_0x64f385['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadRemoved',(_0x1b64e2,{commentThreadId:_0x5549e3})=>{const _0xe694fc=_0x4098d6['getCommentThread'](_0x5549e3);_0xe694fc&&_0xe694fc['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentAdded',(_0x2e7ae8,_0x1246f2)=>{const _0x4f4093=_0x1246f2['commentThreadId'],_0x9cc1ba=_0x4098d6['getCommentThread'](_0x4f4093);_0x9cc1ba&&_0x9cc1ba['addComment']({...at(_0x1246f2),'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentUpdated',(_0x56349d,{commentThreadId:_0x10c488,commentId:_0x1f8c38,content:_0x3679bf,attributes:_0x505b7e})=>{const _0x496e94=_0x4098d6['getCommentThread'](_0x10c488);if(_0x496e94){const _0x2edee5=_0x496e94['getComment'](_0x1f8c38);_0x2edee5&&_0x2edee5['update']({'content':_0x3679bf,'attributes':_0x505b7e,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2e9c66,'commentRemoved',(_0x3581a4,{commentThreadId:_0x2e3cd9,commentId:_0x4a3c70})=>{const _0x597a14=_0x4098d6['getCommentThread'](_0x2e3cd9);if(_0x597a14){const _0x5f4cdd=_0x597a14['getComment'](_0x4a3c70);_0x5f4cdd&&_0x5f4cdd['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x2e9c66,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x734660),this['stopListening'](_0x2e9c66));}),await this['_connectService'](_0x734660);}['destroy'](){if(this['context']instanceof _0x40965d){const _0x29cd53=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x29cd53)&&this['_terminateService'](_0x29cd53);}}['_terminateService'](_0x32784d){if(!this['_services']['has'](_0x32784d))throw new _0x39cc72('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x32784d});this['_getService'](_0x32784d)['disconnect'](),this['_services']['delete'](_0x32784d);}async['reconnect'](){for(const _0x5ddac3 of this['_services']['keys']())await this['_connectService'](_0x5ddac3);if(this['context']instanceof _0x40965d){const _0x41bcad=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x41bcad)){const _0x3f08fa=this['context']['plugins']['get'](Y);_0x3f08fa['unregister'](_0x41bcad);const _0xdc2128=await this['_services']['get'](_0x41bcad)['getConnectedSessions']();_0x3f08fa['register'](_0x41bcad,_0xdc2128);}}}async['_connectService'](_0x260f89){const {connection:_0x42ed73}=this['context']['plugins']['get'](z),_0x213736=this['context']['plugins']['get'](_0x5e513f),_0x2d6b84=await this['_services']['get'](_0x260f89)['connect'](_0x42ed73);await this['_fetchMissingUsersForThreads'](_0x2d6b84);const _0x240d26=new Set(Array['from'](_0x213736['getCommentThreads']({'channelId':_0x260f89}),_0x24dbef=>_0x24dbef['id']));for(const _0x8f8cf1 of _0x2d6b84)_0x8f8cf1['deletedAt']||_0x240d26['delete'](_0x8f8cf1['commentThreadId']);for(const _0x467c82 of _0x240d26)_0x213736['getCommentThread'](_0x467c82)['remove']({'isFromAdapter':!0x0});for(const _0x47bb37 of _0x2d6b84){let _0x49bfde=_0x213736['getCommentThread'](_0x47bb37['commentThreadId']);const {commentThreadId:_0x1f110f,context:_0x5662fd,attributes:_0x297470,resolvedBy:_0x599034,resolvedAt:_0x4306d8,unlinkedAt:_0x28d130,deletedAt:_0x56aee0}=_0x47bb37;if(_0x56aee0)continue;_0x49bfde||(_0x49bfde=_0x213736['addCommentThread']({'channelId':_0x260f89,'threadId':_0x1f110f,'context':_0x5662fd,'attributes':_0x297470||{},'resolvedBy':_0x599034,'resolvedAt':_0x4306d8,'unlinkedAt':_0x28d130,'isFromAdapter':!0x0}));const _0x26d9d8=new Set(Array['from'](_0x49bfde['comments'],_0x27b10b=>_0x27b10b['id']));for(const _0x154956 of _0x47bb37['comments'])_0x26d9d8['delete'](_0x154956['commentId']);for(const _0x5a5946 of _0x26d9d8)_0x49bfde['getComment'](_0x5a5946)['remove']({'isFromAdapter':!0x0});for(const _0x41dafe of _0x47bb37['comments']){const _0x16b332=_0x49bfde['getComment'](_0x41dafe['commentId']);_0x16b332?_0x16b332['content']!==_0x41dafe['content']&&_0x16b332['update']({'content':_0x41dafe['content'],'isFromAdapter':!0x0}):_0x49bfde['addComment'](Object['assign'](at(_0x41dafe),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2ecb65){if(!this['_services']['has'](_0x2ecb65))throw new _0x39cc72('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2ecb65});return this['_services']['get'](_0x2ecb65);}async['_fetchMissingUsersForThreads'](_0x155dbf){const _0x2e1748=this['context']['plugins']['get'](_0x436e7d),{connection:_0x25ad6b}=this['context']['plugins']['get'](z),_0x3e6fa4=new Set();for(const {resolvedBy:_0x548409,comments:_0x55d53e}of _0x155dbf){_0x548409&&!_0x2e1748['getUser'](_0x548409)&&_0x3e6fa4['add'](_0x548409);for(const {userId:_0x158064}of _0x55d53e)_0x2e1748['getUser'](_0x158064)||_0x3e6fa4['add'](_0x158064);}if(0x0===_0x3e6fa4['size'])return;const _0x358b15=await _0x2b182d['getMany'](_0x25ad6b,Array['from'](_0x3e6fa4));for(const _0x27f76 of _0x358b15)_0x2e1748['getUser'](_0x27f76['id'])||_0x2e1748['addUser'](_0x27f76);}};async function rt(_0x2bd83d){if('404'!==_0x2bd83d['code'])throw _0x2bd83d;}function ct(_0x5808a9){if((_0x40d67c=_0x5808a9)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x40d67c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x40d67c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x40d67c;throw _0x5808a9;}function at(_0x5e6805){return{'threadId':_0x5e6805['commentThreadId'],'commentId':_0x5e6805['commentId'],'content':_0x5e6805['content'],'createdAt':_0x5e6805['createdAt'],'authorId':_0x5e6805['userId'],'attributes':_0x5e6805['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x3eef9e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x2f8ee3)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x36b9ab,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x21a7a7){super(_0x21a7a7);const _0x3cc969=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x3cc969);}['init'](){const _0x3dae75=this['editor']['plugins']['get'](z),_0x332b72=this['editor']['plugins']['get'](_0x36b9ab);return _0x332b72['adapter']={'getSuggestion':async _0x2be680=>{await this['_waitForServiceReady']();const _0x3953c6=await this['_trackChangesService']['get'](_0x2be680)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3953c6]),_0x3953c6;},'addSuggestion':async({id:_0x329008,type:_0x228515,data:_0x17399e,originalSuggestionId:_0x103cef,attributes:_0x3db99c})=>{await this['_waitForServiceReady']();const _0x1f91cb={'id':_0x329008,'type':_0x228515,'data':_0x17399e,'originalSuggestionId':_0x103cef,'attributes':_0x3db99c},_0x447c6b=await this['_trackChangesService']['add'](_0x329008,_0x228515,_0x17399e,_0x103cef,_0x3db99c)['catch'](_0x50b23a=>{if(dt(_0x50b23a))return new Promise(_0x2fc249=>{this['_bufferedRequests']['set'](_0x329008,{'resolve':_0x2fc249,'suggestionData':_0x1f91cb});});throw _0x50b23a;});return this['_bufferedRequests']['delete'](_0x329008),_0x447c6b;},'updateSuggestion':async(_0x4794ca,_0x33f57e)=>{if(await this['_waitForServiceReady'](),'open'!==_0x33f57e['state'])return this['_trackChangesService']['update'](_0x4794ca,_0x33f57e)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4b59c7,_0x335c74)=>{_0x332b72['hasSuggestion'](_0x335c74['id'])&&(_0x332b72['getSuggestion'](_0x335c74['id'])['attributes']=_0x335c74['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x3dae75['connection']?.['state']&&(_0x3dae75['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x3dae75['connection'])['then'](_0x4be32c=>(_0x3dae75['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4be32c)['then'](()=>{for(const _0x54727f of _0x4be32c){_0x332b72['addSuggestionData'](_0x54727f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2e8ab9=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3d2990}=this['editor']['plugins']['get'](z),_0x26f2d4=await this['_trackChangesService']['connect'](_0x3d2990);await this['_fetchMissingUsersForThreads'](_0x26f2d4);for(const {suggestionData:_0xd5c1b5,resolve:_0x24e32b}of this['_bufferedRequests']['values']()){let _0x4079de=_0x26f2d4['find'](_0x12d987=>_0x12d987['id']===_0xd5c1b5['id']);_0x4079de||(_0x4079de=await this['_trackChangesService']['add'](_0xd5c1b5['id'],_0xd5c1b5['type'],_0xd5c1b5['data'],_0xd5c1b5['originalSuggestionId'])),_0x24e32b(_0x4079de);}for(const _0x4f1f74 of _0x26f2d4)_0x2e8ab9['hasSuggestion'](_0x4f1f74['id'])||_0x2e8ab9['addSuggestionData'](_0x4f1f74);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4b37de=>{this['listenTo'](this['_trackChangesService'],'connected',_0x38a853=>{_0x38a853['off'](),_0x4b37de();});});}async['_fetchMissingUsersForThreads'](_0x230169){const _0x65e882=this['editor']['plugins']['get'](_0x436e7d),{connection:_0x47f891}=this['editor']['plugins']['get'](z),_0x1822c7=new Set();for(const {authorId:_0x3c480d}of _0x230169)_0x65e882['getUser'](_0x3c480d)||_0x1822c7['add'](_0x3c480d);if(0x0===_0x1822c7['size'])return;const _0x3081a7=await _0x2b182d['getMany'](_0x47f891,Array['from'](_0x1822c7));for(const _0x5d2c59 of _0x3081a7)_0x65e882['getUser'](_0x5d2c59['id'])||_0x65e882['addUser'](_0x5d2c59);}};function lt(_0xd1c8cb){if(dt(_0xd1c8cb))return new Promise(()=>{});throw _0xd1c8cb;}function dt(_0x56b7e6){return _0x56b7e6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56b7e6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x3eef9e{static get['requires'](){return[_0x401e20,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x46debd=this['editor']['plugins']['get'](z),_0x406421=this['editor']['plugins']['get'](_0x2a3ec7),_0x375e98=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x46debd,'change:state',(_0x24619e,_0x12f402,_0x3290ec)=>{_0x406421['isThreadsLoadingPaused']='connected'!==_0x3290ec;});}),this['listenTo'](_0x46debd,'change:state',(_0x182736,_0x310d20,_0x502c22)=>{this['editor']['plugins']['get'](_0x5e513f)['switchReadOnly']('connected'!==_0x502c22);}),_0x375e98['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x3c741e=this['editor']['plugins']['get'](ot),_0x56c994=this['editor']['config']['get']('collaboration.channelId');_0x3c741e['_services']['has'](_0x56c994)&&_0x3c741e['_terminateService'](_0x56c994),super['destroy']();}},ft=class extends _0x3eef9e{static get['requires'](){return[ut,ht,_0x54c3b7];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x3eef9e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x25482a)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x2f5675,Y,_0x436e7d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x219837){super(_0x219837);const _0x4bc179=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x4bc179);}async['init'](){const _0x5b0c87=this['editor']['plugins']['get'](tt),_0xa1044c=_0x5b0c87['serverHistory'],_0x460a4a=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0xa1044c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5b0c87['sessionId']});const _0x4a24a7=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x2ff48a,_0x1c0163=await _0x57c6a6['isBundleUploaded'](_0x460a4a['connection'],_0x4a24a7);this['editor']['plugins']['get'](_0x2f5675)['adapter']={'getRevision':async({revisionId:_0x43d435})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x43d435)),'updateRevisions':async _0x48c2d6=>{await this['_waitForServiceReady']();const _0x2ab224=this['_revisionTracker']['currentRevision'];if(_0x1c0163&&0x1===_0x48c2d6['length']&&_0x48c2d6[0x0]['id']===_0x2ab224['id'])return _0x48c2d6;for(const _0x42f9f6 of _0x48c2d6)_0x42f9f6['id']===_0x2ab224['id']&&(_0x42f9f6['isEmptyCurrent']=_0x42f9f6['fromVersion']===_0x42f9f6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x48c2d6,this['_lastRequestId'])['then'](_0x471449=>(this['_lastRequestId']=_0x471449,_0x48c2d6))['catch'](_0x401f92=>{if(pt(_0x401f92)||'400'===_0x401f92['code']&&void 0x0!==_0x401f92['data']['wrongRequestId']){for(const _0x24e92c of _0x48c2d6)this['_revisionTracker']['repository']['getRevision'](_0x24e92c['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x24e92c['id'],_0x24e92c,!0x1);if(pt(_0x401f92)&&'destroyed'!==this['editor']['state'])throw _0x401f92;return _0x48c2d6;}throw _0x401f92;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x58ccdf,{revisionsData:_0x3b2754,requestId:_0x824db3})=>{Math['max'](..._0x3b2754['map'](_0x466f92=>_0x466f92['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b2754,_0x824db3);}):this['_handleRevisionsUpdate'](_0x3b2754,_0x824db3);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x460a4a['connection']?.['state']&&(_0x460a4a['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x23b416,requestId:_0x2851fe}=await this['_revisionHistoryService']['connect'](_0x460a4a['connection']);_0x460a4a['addToReconnectionStack'](this),this['_lastRequestId']=_0x2851fe,await this['_fetchMissingUsers'](_0x23b416);for(const _0x2c2669 of _0x23b416)this['_revisionTracker']['addRevisionData'](_0x2c2669);this['listenTo'](_0x5b0c87,'change:_isConnected',(_0x4c7a83,_0x112d92,_0x12389d)=>{_0x12389d&&(this['_oldOffset']=_0x5b0c87['_offset'],_0x4c7a83['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x572216=this['editor']['plugins']['get'](z),_0x5ab988=this['editor']['plugins']['get'](tt),_0x5e87a0=async()=>{const _0x402351=this['_revisionTracker']['currentRevision'],_0x5bdf79=_0x402351['id'],_0xceecb8=_0x5bdf79!==_0x5ab988['sessionId'];if(_0xceecb8){const _0x2b2e23=_0x5ab988['_offset']-this['_oldOffset'],_0x478fa6=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x402351['toVersion']+_0x2b2e23!==_0x478fa6){const _0x233db7=_0x402351['fromVersion']+_0x2b2e23,_0x34ef5d=this['editor']['plugins']['get'](_0x436e7d),_0x3ad6c4=this['_revisionTracker']['buildRevisionData']({'revision':_0x402351,'from':_0x233db7,'to':_0x478fa6});_0x3ad6c4['id']=_0x402351['id'];const _0x1a0dc6=_0x3ad6c4['authorsIds']['map'](_0xa0cb1a=>_0x34ef5d['getUser'](_0xa0cb1a));_0x402351['_update']({..._0x3ad6c4,'authors':_0x1a0dc6},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x402351['id'],_0x3ad6c4,!0x0);}this['_revisionTracker']['_startingVersion']=_0x478fa6,_0x402351['toVersion']!==_0x402351['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x5bdf79)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x5bdf79),this['_revisionTracker']['_createCurrentRevision'](_0x478fa6);}const {revisions:_0xb60280,requestId:_0x253ee4}=await this['_revisionHistoryService']['reconnect'](_0x572216['connection'],this['_lastRequestId']);_0xceecb8&&_0xb60280['length']>0x0?_0x5ab988['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0xb60280),this['_handleRevisionsUpdate'](_0xb60280,_0x253ee4),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5ab988['_isConnected']?_0x5e87a0():new Promise((_0x4b46fc,_0x521a6e)=>{_0x5ab988['once']('change:_isConnected',()=>{_0x5e87a0()['then'](_0x4b46fc)['catch'](_0x521a6e);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x431d6b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x15c4ef=>{_0x15c4ef['off'](),_0x431d6b();});});}['_getLatestVersionFromServerOperations'](){const _0x44e38d=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x17b6ef of _0x44e38d)if('marker'!==_0x17b6ef['type']||_0x17b6ef['affectsData'])return _0x17b6ef['baseVersion']+0x1;}['_getLatestVersion'](){const _0x4c1459=this['editor']['plugins']['get'](tt);return new Promise(_0x2967e9=>{_0x4c1459['_isPendingUpdate']?_0x4c1459['once']('change:_isPendingUpdate',()=>{_0x2967e9(this['_getLatestVersionFromServerOperations']());}):_0x2967e9(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1a9cf0,_0x37e1e5){const _0x1da30a=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x37e1e5;for(const _0x582acd of _0x1a9cf0){const _0x2babd6=_0x1da30a['getRevision'](_0x582acd['id']);if(_0x2babd6){if((_0x582acd['fromVersion']||_0x582acd['toVersion'])&&(_0x582acd['diffData']=null),_0x2babd6===this['_revisionTracker']['currentRevision']){const _0xc6469d=Math['max'](_0x2babd6['toVersion'],_0x582acd['toVersion']),_0x4e706f=Math['max'](_0x2babd6['fromVersion'],_0x582acd['fromVersion']);let _0x206e0a;_0x2babd6['toVersion']===_0x582acd['toVersion']&&_0x2babd6['fromVersion']===_0x582acd['fromVersion']?(_0x206e0a=!0x0,this['_preventResendingRevisionData'](_0x582acd)):_0x582acd['toVersion']===_0xc6469d&&_0x582acd['fromVersion']===_0x4e706f?_0x206e0a=!0x1:(_0x2babd6['toVersion']===_0xc6469d&&_0x2babd6['fromVersion']===_0x4e706f||this['_fixRevision']({'revision':_0x2babd6,'from':_0x4e706f,'to':_0xc6469d}),_0x206e0a=!0x0),_0x206e0a&&(delete _0x582acd['fromVersion'],delete _0x582acd['toVersion'],delete _0x582acd['diffData'],delete _0x582acd['createdAt'],delete _0x582acd['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x582acd),this['_preventResendingRevisionData'](_0x582acd);}else this['_revisionTracker']['addRevisionData'](_0x582acd);}const _0x279e89=_0x1da30a['getRevisions']();_0x279e89['reverse']();for(let _0xd8f136=0x0;_0xd8f136<_0x279e89['length']-0x1;_0xd8f136++){const _0x352cae=_0x279e89[_0xd8f136],_0xc29ca3=_0x279e89[_0xd8f136+0x1];if(_0x352cae['fromVersion']<_0xc29ca3['toVersion']){const _0x40b238=_0xc29ca3['toVersion'],_0x192082=Math['max'](_0x40b238,_0x352cae['toVersion']);this['_fixRevision']({'revision':_0x352cae,'from':_0x40b238,'to':_0x192082});}}}['_fixRevision']({revision:_0x2b43c6,from:_0x5e4761,to:_0x3e3959}={}){const _0x4a644d=this['editor']['plugins']['get'](_0x436e7d),_0x125072=this['_revisionTracker']['buildRevisionData']({'revision':_0x2b43c6,'from':_0x5e4761,'to':_0x3e3959});_0x125072['authors']=_0x125072['authorsIds']['map'](_0x4b0c87=>_0x4a644d['getUser'](_0x4b0c87)),_0x2b43c6['_update'](_0x125072);}['_preventResendingRevisionData'](_0x35d90c){const _0x41abec={};_0x41abec['id']=_0x35d90c['id'];for(const _0x543d1c of Object['keys'](_0x35d90c))'id'!==_0x543d1c&&(_0x41abec[_0x543d1c]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x41abec['id'],_0x41abec,!0x0);}async['_fetchMissingUsers'](_0xe61c58){const _0x19aead=this['editor']['plugins']['get'](_0x436e7d),{connection:_0x4a9c6e}=this['editor']['plugins']['get'](z),_0x40c4fe=new Set();for(const _0x1f456b of _0xe61c58){for(const _0x63f10f of _0x1f456b['authorsIds'])_0x2a8fbf(_0x63f10f);_0x1f456b['creatorId']&&_0x2a8fbf(_0x1f456b['creatorId']);}if(0x0===_0x40c4fe['size'])return;const _0x4ac468=await _0x2b182d['getMany'](_0x4a9c6e,Array['from'](_0x40c4fe));for(const _0x9df97e of _0x4ac468)_0x19aead['getUser'](_0x9df97e['id'])||_0x19aead['addUser'](_0x9df97e);function _0x2a8fbf(_0x369a56){_0x19aead['getUser'](_0x369a56)||_0x40c4fe['add'](_0x369a56);}}};function pt(_0xa9b60f){return _0xa9b60f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xa9b60f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa9b60f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x3eef9e{static get['requires'](){return[_0x2f5675,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x118b39{['_collapseAt'];constructor(_0x896550,_0x55540d=0x6){super(_0x896550);const _0x5f11e2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x55540d,this['bind']('isHidden')['to'](this,'usersCount',_0xd2ca01=>_0xd2ca01<_0x55540d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5f11e2['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':_0x5f11e2['to']('usersCount',_0xf8ac44=>'+'+(_0xf8ac44-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x118b39{['items'];['keystrokes'];constructor(_0x106610){super(_0x106610);const _0xb7830b=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1b9bbc(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xb7830b['if']('hasPopup'),'aria-expanded':_0xb7830b['to']('isExpanded',_0x371977=>this['hasPopup']&&String(_0x371977)),'aria-label':_0xb7830b['to']('hasPopup',_0x19ea53=>X(_0x106610,_0x19ea53?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xb7830b['to']('hasPopup',_0xcfa072=>!!_0xcfa072&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xb7830b['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xb7830b['to'](_0x56b748=>{const _0x18c69b=_0x56b748,_0xde48eb=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5c34f3=document['querySelector']('.ck-balloon-panel_with-arrow');_0xde48eb?.['contains'](_0x18c69b['relatedTarget'])||_0x5c34f3?.['contains'](_0x18c69b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4b39df,_0x1aae65,_0x3af195)=>{this['element']&&(_0x3af195?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 _0x118b39{['counterView'];['inlineListView'];constructor(_0x2a4901,_0x174abb=0x6){super(_0x2a4901);const _0x54101a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x174abb),this['inlineListView']=new vt(_0x2a4901),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x14671b of this['inlineListView']['items'])_0x14671b['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',_0x54101a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x118b39{['listWrapperView'];constructor(_0x5cfff2,_0x1bb302){super(_0x5cfff2);const _0x4ae741=this['bindTemplate'];this['listWrapperView']=new bt(_0x5cfff2,_0x1bb302),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x5cfff2,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4ae741['to'](_0x4decec=>{const _0xdd5b0f=_0x4decec,_0x4a0e85=document['querySelector']('.ck-presence-list__list'),_0xf3f576=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4a0e85?.['contains'](_0xdd5b0f['relatedTarget'])||_0xf3f576?.['contains'](_0xdd5b0f['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x63033d{constructor(_0x195ae4,_0x1ea244){super(_0x195ae4);const _0x5bb89b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1ea244?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5bb89b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5bb89b['to']('role'),'aria-label':_0x5bb89b['to']('ariaLabel'),'aria-labelledby':_0x5bb89b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5de4cf['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x524c99=this['element'];_0x524c99&&(this['_isScrollable']=Math['max'](_0x524c99['scrollHeight'],_0x524c99['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x537ded{['userView'];constructor(_0x5ef706,_0x30536f,_0x944c9d){super(_0x5ef706);const _0x3d86ac=this['bindTemplate'];this['userView']=new _0x2710e6(_0x5ef706,_0x30536f);const _0x58d55c={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x30536f['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x30536f['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x30536f['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x30536f['color']['getColorVariable'](),'--ck-user-color-alpha':_0x30536f['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x944c9d&&(_0x58d55c['tag']='button',_0x58d55c['on']={'click':_0x3d86ac['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x58d55c);}['focus'](){this['element']['focus']();}},It=class extends _0x118b39{['userView'];['markerView'];constructor(_0xf0507d,_0x32e45b,_0x54db38){super(_0xf0507d);const _0x5be7c2=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x2710e6(_0xf0507d,_0x32e45b),this['markerView']=new St(_0xf0507d,_0x32e45b);const _0x370d7d=new _0x5cd191(_0xf0507d);_0x370d7d['template']['tag']='span',_0x370d7d['text']=_0x32e45b['name'];const _0x57eecc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5be7c2['to']('isFocusable',_0x2352f1=>!!_0x2352f1&&0x0),'aria-labelledby':_0x370d7d['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5be7c2['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5be7c2['to']('hasTooltip',_0x50cbb6=>!_0x50cbb6),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x370d7d]};_0x54db38&&(_0x57eecc['tag']='button',_0x57eecc['on']={'click':_0x5be7c2['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x57eecc);}},St=class extends _0x118b39{constructor(_0x6dc400,_0x3dc24a){super(_0x6dc400),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3dc24a['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x3dc24a['color']['getColorVariable'](),'--ck-user-color-alpha':_0x3dc24a['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x2818ba{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x16ab25){super(_0x16ab25),this['context']['config']['define']('presenceList',Tt);const _0x440e68=_0x16ab25['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x440e68)throw new _0x39cc72('presencelist-collapseat-invalid-format',this);if(_0x440e68<0x1)throw new _0x39cc72('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x533d03(),this['balloonPanelView']=new _0x35ff59(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xb0027f of this['_allConnectedUsers'])this['_handleUserAdd'](_0xb0027f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x357543,_0x2a45d3)=>{this['_handleUserAdd'](_0x2a45d3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x177429,_0x37b898)=>{this['_handleUserRemove'](_0x37b898);});}['_createView'](){const _0x20a7fe=this['context'],_0xe887ab=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x1d664a=this['balloonPanelView'];if(!_0x7e36a1(_0x20a7fe['config']['get']('presenceList.container')))throw new _0x39cc72('presencelist-missing-container',this);return _0xe887ab['counterView']['bind']('usersCount')['to'](this),_0xe887ab['bind']('isCollapsed')['to'](this,'usersCount',_0x4614a7=>{const {collapseAt:_0x1c9c63}=_0x20a7fe['config']['get']('presenceList'),_0x3467e6=_0x4614a7>=_0x1c9c63;if(_0x3467e6&&!_0xe887ab['inlineListView']['items']['find'](_0x122f32=>_0x122f32 instanceof wt)){const _0x5ddeb9=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5ddeb9&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0xe887ab['inlineListView']['items']['add'](_0xe887ab['counterView']);}return _0x3467e6||this['hideDropdown'](),_0x3467e6;}),_0xe887ab['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x521766=>{const _0x2b2b53=_0x20a7fe['config']['get']('presenceList'),_0x1ab9fd=new It(_0x20a7fe['locale'],_0x521766,!!_0x2b2b53['onClick']);return _0x1ab9fd['bind']('hasTooltip')['to'](_0xe887ab,'isCollapsed',_0x44d142=>!_0x44d142),_0x1ab9fd['bind']('isFocusable')['to'](_0xe887ab,'isCollapsed',_0xe472f=>!_0xe472f),_0x2b2b53['onClick']&&this['listenTo'](_0x1ab9fd,'execute',()=>{this['view']['isCollapsed']||_0x2b2b53['onClick'](_0x521766,_0x1ab9fd['element']);}),_0x1ab9fd;}),this['listenTo'](_0xe887ab['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0xe887ab['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0xe887ab['inlineListView']['keystrokes']['set']('Enter',(_0x505fa2,_0x5b6c9e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5b6c9e());}),_0xe887ab['render'](),_0x1d664a['render'](),_0x125654({'emitter':_0xe887ab,'activator':()=>_0x1d664a['isVisible'],'contextElements':[_0x1d664a['element'],_0xe887ab['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x20a7fe['config']['get']('presenceList.container')['appendChild'](_0xe887ab['element']),this['_bodyCollection']=new _0x39c0cb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0xe887ab;}['_handleUserAdd'](_0x29d2e9){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x29d2e9['isMe'])return;const _0x58b8dd=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x58b8dd-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x33b5bf=_0x29d2e9['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x29d2e9,_0x33b5bf);}['_handleUserRemove'](_0x13663f){this['usersCount']--;const {collapseAt:_0x1f6808}=this['context']['config']['get']('presenceList'),_0x30572e=this['usersCount']>=_0x1f6808;if(this['currentDisplayedUsers']['get'](_0x13663f['id']))this['currentDisplayedUsers']['remove'](_0x13663f['id']);else{if(_0x30572e&&this['currentDisplayedUsers']['length']+0x1===_0x1f6808-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x30572e?0x1:0x0)<this['usersCount']){for(const _0x5e426e of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5e426e['id'])&&(this['currentDisplayedUsers']['add'](_0x5e426e,Math['min'](this['currentDisplayedUsers']['length']-(_0x30572e?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x30572e?0x1:0x0)===_0x1f6808-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x265562=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x265562['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5b0981}=this['presenceDropdownView'];_0x5b0981['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3a24fa=>{if(!_0x265562['displayMe']&&_0x3a24fa['isMe'])return null;const _0x505cee=new kt(this['context']['locale'],_0x3a24fa,!!_0x265562['onClick']);return _0x265562['onClick']&&this['listenTo'](_0x505cee,'execute',()=>{_0x265562['onClick'](_0x3a24fa,_0x505cee['element']);}),_0x505cee;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5b0981['focus'](),_0x5b0981['checkIfScrollable']();const _0x43c7ab=(_0x47a5f1,_0x504d3b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x504d3b();};_0x5b0981['keystrokes']['set']('Esc',_0x43c7ab),_0x5b0981['keystrokes']['set']('Shift+Tab',_0x43c7ab),_0x5b0981['keystrokes']['set']('Tab',(_0x23e302,_0x3a4ceb)=>{!function(_0x1d042e){const _0x679c11=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x21c49d=>_0x21c49d+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x83405a=[...document['body']['querySelectorAll'](_0x679c11)]['filter'](_0x24c05a=>_0x24c05a===document['activeElement']||_0x24c05a['offsetWidth']+_0x24c05a['offsetHeight']>0x0)['sort']((_0x224e27,_0x5949fa)=>(_0x224e27['tabIndex']||0x0)-(_0x5949fa['tabIndex']||0x0)),_0xa0d5e=_0x83405a[(_0x83405a['indexOf'](_0x1d042e)+0x1)%_0x83405a['length']];_0xa0d5e&&_0xa0d5e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3a4ceb();}),_0x5b0981['focusTracker']['add'](this['view']['element']),_0x5b0981['focusTracker']['on']('change:isFocused',(_0x5ba22c,_0x10e3a9,_0x2a4399)=>{_0x2a4399||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 _0x2818ba{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};
|