@ckeditor/ckeditor5-real-time-collaboration 48.3.0-alpha.6 → 48.3.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -6
- package/dist/translations/af.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
|
-
((()=>_0x129555)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x313778,_0x58bc3a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x599ec9){super(_0x599ec9),this['set']('state',_0x585a07['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3def01())();}['init'](){const _0x2a9fe4=this['context'],_0x24be5f=_0x2a9fe4['plugins']['get'](_0x313778),_0x7ef446=_0x2a9fe4['plugins']['get'](_0x58bc3a);if(!_0x24be5f['token'])throw new _0x206e44('websocketgateway-missing-token',this);if(!_0x24be5f['webSocketUrl'])throw new _0x206e44('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x24be5f['token'],_0x24be5f['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x251588=>{if(this['connection']=_0x251588,this['bind']('state')['to'](_0x251588,'state',this,'_isBrowserOffline',(_0x34eaf0,_0x198afb)=>('connected'!==_0x34eaf0&&(this['_shouldPluginsReconnect']=!0x0),_0x198afb||_0x34eaf0!==_0x585a07['CONNECTED']?_0x585a07['DISCONNECTED']:this['state']==_0x585a07['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x585a07['CONNECTING']):_0x585a07['CONNECTED'])),this['connection']['on']('error',(_0x289bdd,_0xb4d11b)=>{if('limitExceeded'!==_0xb4d11b['code'])throw console['error'](_0xb4d11b),new _0x206e44('cloudservices-init',null,{'originalError':_0xb4d11b});_0x7ef446['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x251588['me'])return new Promise(_0x5a0c84=>_0x251588['on']('change:me',_0x5a0c84));})['catch'](_0x36498f=>{throw console['error'](_0x36498f),new _0x206e44('cloudservices-init',null,{'originalError':_0x36498f});});}['addToReconnectionStack'](_0xad0820){if('function'!=typeof _0xad0820['reconnect'])throw new _0x206e44('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xad0820))throw new _0x206e44('websocketgateway-plugin-already-registered',this,{'name':_0xad0820['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xad0820);}['removeFromReconnectionStack'](_0x436dcb){this['_reconnectionStack']['delete'](_0x436dcb);}['isInReconnectionStack'](_0x1a7a2e){return this['_reconnectionStack']['has'](_0x1a7a2e);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1b9bb4=>_0x1b9bb4['reconnect']())))['then'](()=>this['state']=_0x585a07['CONNECTED'])['catch'](_0x2bd6f0=>{throw console['error'](_0x2bd6f0),new _0x206e44('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x585a07['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x3c12a8{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[z,_0x121396];}constructor(_0x1b51b3){super(_0x1b51b3),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xe676b9(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x121396);}['init'](){const _0x27cad4=this['context']['plugins']['get'](z);this['listenTo'](_0x27cad4,'change:state',(_0x595f40,_0x5d8527,_0x2b5060)=>{if('connected'!==_0x2b5060)this['channelSessions']['forEach'](_0x4c04e2=>_0x4c04e2['clear']()),this['channelConnectedUsers']['forEach'](_0x10691b=>_0x10691b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x39297f,_0x2299a9]of this['_registeredSessions'])for(const _0x53396c of _0x2299a9)this['_handleSessionAdd'](_0x39297f,_0x53396c);}}),this['_createUser'](_0x27cad4['connection']['me'],!0x0);}['register'](_0x208532,_0x43b0cc){if(this['_registeredSessions']['has'](_0x208532))throw new _0x206e44('sessions-register-already-registered',null,{'channelId':_0x208532});this['_registeredSessions']['set'](_0x208532,_0x43b0cc),this['channelSessions']['set'](_0x208532,new _0xe676b9()),this['channelConnectedUsers']['set'](_0x208532,new _0xe676b9()),this['listenTo'](_0x43b0cc,'add',(_0x39981d,_0x5077d7)=>this['_handleSessionAdd'](_0x208532,_0x5077d7)),this['listenTo'](_0x43b0cc,'remove',(_0x407831,_0x226444)=>this['_handleSessionRemove'](_0x208532,_0x226444));for(const _0x38e5ec of _0x43b0cc)this['_handleSessionAdd'](_0x208532,_0x38e5ec);}['unregister'](_0x53057a){if(!this['_registeredSessions']['has'](_0x53057a))throw new _0x206e44('sessions-unregister-not-exist',null,{'channelId':_0x53057a});const _0x55d089=this['_registeredSessions']['get'](_0x53057a);this['stopListening'](_0x55d089);for(const _0x53c1b0 of _0x55d089)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x53057a,_0x53c1b0);this['_registeredSessions']['delete'](_0x53057a),this['channelSessions']['delete'](_0x53057a),this['channelConnectedUsers']['delete'](_0x53057a);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0xf9c3cc){for(const _0x42c419 of this['channelSessions']['values']())for(const _0x51017f of _0x42c419)if(_0x51017f['id']===_0xf9c3cc)return _0x51017f['user'];}['getUserSessions'](_0x231d71,_0x1378bc){const _0x1b4872=_0x1378bc?[this['channelSessions']['get'](_0x1378bc)]:this['channelSessions']['values'](),_0x39ff0d=new Set();for(const _0x23540b of _0x1b4872)for(const _0xe69123 of _0x23540b)_0xe69123['user']['id']===_0x231d71['id']&&_0x39ff0d['add'](_0xe69123['id']);return _0x39ff0d;}['getUserRole'](_0x3f402){for(const _0xc730e0 of this['channelSessions']['values']())for(const _0x395376 of _0xc730e0)if(_0x395376['user']===_0x3f402)return _0x395376['role'];}['_handleSessionAdd'](_0x52dc2d,_0xa7763a){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0xd3831=_0xa7763a['user'],_0x25f4c6=this['_users']['getUser'](_0xd3831['id'])||this['_createUser'](_0xd3831),_0x5dcac5=Object['assign']({},_0xa7763a,{'user':_0x25f4c6});if(this['channelSessions']['get'](_0x52dc2d)['add'](_0x5dcac5),!_0xd3831['hiddenInPresenceList']){const _0x27c786=this['channelConnectedUsers']['get'](_0x52dc2d);_0x27c786['has'](_0x25f4c6['id'])||_0x27c786['add'](_0x25f4c6),this['allConnectedUsers']['has'](_0x25f4c6['id'])||_0xd3831['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x25f4c6,_0x25f4c6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x52dc2d,{'channelId':_0x52dc2d,'session':_0x5dcac5});}['_handleSessionRemove'](_0x1ff18c,_0x188fb6){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3cd6d8=this['channelConnectedUsers']['get'](_0x1ff18c),_0x2afc74=_0x188fb6['user'];_0x2afc74['id']&&(this['channelSessions']['get'](_0x1ff18c)['remove'](_0x188fb6['id']),_0x3cd6d8['has'](_0x2afc74['id'])&&!this['getUserSessions'](_0x2afc74,_0x1ff18c)['size']&&_0x3cd6d8['remove'](_0x2afc74['id']),this['allConnectedUsers']['get'](_0x2afc74['id'])&&!this['getUserSessions'](_0x2afc74)['size']&&this['allConnectedUsers']['remove'](_0x2afc74['id']));}['_createUser'](_0x200fca,_0x4f2373){const _0x4cde2c=this['_users']['addUser'](_0x200fca);return _0x4f2373&&this['_users']['defineMe'](_0x200fca['id']),_0x4cde2c['orderNumber']=this['_uniqueUsersCount']++,_0x4cde2c;}},K=class extends _0x334777{['_domEmitter']=new(_0x3def01())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xc32211=this['editor'],_0x261755=_0xc32211['plugins']['get'](Y);_0xc32211['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1b0510,{writer:_0x45c26c})=>function(_0x2d3075,_0x12136d,_0x535e90,_0x4bdc80){const _0x5c64a8=_0x2d3075['markerName']['split'](':')[0x2],_0x225557=_0x535e90['getUserBySessionId'](_0x5c64a8);if(!_0x225557||_0x5c64a8===_0x535e90['mySessionId'])return;if(!_0x4bdc80['model']['schema']['checkChild'](_0x2d3075['markerRange']['start'],'$text'))return;const _0x305164={'class':'ck-user__marker\x20'+_0x225557['color']['getMarkerClass'](),'style':Q(_0x225557),'data-name':_0x225557['name'],'data-session-id':_0x5c64a8},_0x2613a2=_0x4bdc80['model']['markers']['get'](_0x2d3075['markerName'])['getStart'](),_0x113179=_0x2613a2['nodeAfter'],_0x4ca9aa=_0x4bdc80['model']['schema'];if(_0x113179&&_0x4ca9aa['isObject'](_0x113179)&&_0x4ca9aa['isInline'](_0x113179)&&!_0x4bdc80['model']['markers']['get']('user:range:'+_0x5c64a8)['getRange']()['isCollapsed'])return;const _0x2cb70d=_0x2613a2['parent'];return _0x4bdc80['model']['schema']['isLimit'](_0x2cb70d)&&!_0x4bdc80['model']['hasContent'](_0x2cb70d)&&(_0x305164['contenteditable']=!0x1),function(_0x27228a,_0x32f5a6,_0x50c053){const _0xc8ce2e=_0x27228a['createUIElement']('span',_0x32f5a6);return _0x27228a['setCustomProperty']('userPositionMarker',!0x0,_0xc8ce2e),_0xc8ce2e['render']=function(_0x52e172){const _0x4c9060=this['toDomElement'](_0x52e172),_0x3a1939=document['createElement']('span');return _0x3a1939['classList']['add']('ck-user__marker-tooltip'),_0x3a1939['setAttribute']('contenteditable','false'),_0x3a1939['setAttribute']('spellcheck','false'),_0x3a1939['textContent']=_0x50c053['name'],_0x4c9060['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3a1939['outerHTML']+'',_0x4c9060['addEventListener']('mouseenter',()=>{_0x4c9060['classList']['add']('ck-user__marker_hovered');}),_0x4c9060['addEventListener']('mouseleave',()=>{_0x4c9060['classList']['remove']('ck-user__marker_hovered');}),_0x4c9060;},_0xc8ce2e['isSimilar']=function(_0x260090){return!(!this['getCustomProperty']('userPositionMarker')||!_0x260090['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x260090['getAttribute']('data-session-id'));},_0xc8ce2e;}(_0x12136d,_0x305164,_0x225557);}(_0x1b0510,_0x45c26c,_0x261755,_0xc32211)}),_0xc32211['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x190569=>function(_0x3fe495,_0x1f0615){const _0x203ec2=_0x3fe495['markerName']['split'](':')[0x2];if(_0x203ec2===_0x1f0615['mySessionId'])return null;const _0x5641e9=_0x1f0615['getUserBySessionId'](_0x203ec2);return _0x5641e9?{'id':_0x203ec2,'classes':['ck-user__selection',_0x5641e9['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5641e9),'data-session-id':_0x203ec2},'priority':0x7d0+_0x5641e9['orderNumber']}:{'id':_0x203ec2,'classes':[]};}(_0x190569,_0x261755)}),function(_0x12c019){const _0x245736=_0x12c019['model'],_0x96ee2e=new Map(),_0x3e7f2e=_0x12c019['plugins']['get'](Y);_0x245736['markers']['on']('update:user:range',(_0x44fba5,_0x3cb097,_0x46fc2a,_0x1d9fed)=>{if(!_0x1d9fed&&_0x96ee2e['get'](_0x3cb097['name']))return _0x96ee2e['get'](_0x3cb097['name'])['detach'](),void _0x96ee2e['delete'](_0x3cb097['name']);const _0x14fe6a=_0x3cb097['name']['split'](':')[0x2];if(_0x14fe6a===_0x3e7f2e['mySessionId'])return;const _0x4a01a9='user:position:'+_0x14fe6a;_0x245736['markers']['has'](_0x4a01a9)&&_0x12c019['editing']['reconvertMarker'](_0x4a01a9),_0x3cb097['on']('change:range',(_0x4b5559,_0x30a564,_0x3c15bd)=>{if('$graveyard'!=_0x30a564['root']['rootName']&&'$graveyard'==_0x3cb097['getRange']()['root']['rootName']&&!_0x96ee2e['has'](_0x3cb097['name'])){const _0x2b359a=_0x245736['schema']['getNearestSelectionRange'](_0x3c15bd['deletionPosition']);if(_0x2b359a){const _0x5c8af3=_0x15607a['fromRange'](_0x2b359a);_0x96ee2e['set'](_0x3cb097['name'],_0x5c8af3),_0x5c8af3['on']('change:range',(_0x243036,_0x43e96b,_0x4187e3)=>{if('$graveyard'==_0x5c8af3['root']['rootName']){const _0x50eb9b=_0x245736['schema']['getNearestSelectionRange'](_0x4187e3['deletionPosition']);_0x50eb9b?(_0x5c8af3['start']=_0x50eb9b['start'],_0x5c8af3['end']=_0x50eb9b['end']):(_0x96ee2e['delete'](_0x3cb097['name']),_0x5c8af3['detach']());}});}}});}),_0x245736['document']['on']('change',()=>{_0x96ee2e['size']>0x0&&_0x245736['enqueueChange']({'isUndoable':!0x1},_0x4bb98a=>{for(const [_0x59923f,_0x13c246]of _0x96ee2e)'$graveyard'==_0x245736['markers']['get'](_0x59923f)['getRange']()['root']['rootName']&&(J(_0x59923f['split'](':')[0x2],_0x13c246['toRange'](),_0x245736,_0x4bb98a),_0x13c246['detach']());_0x96ee2e['clear']();});});}(_0xc32211),this['_domEmitter']['listenTo'](_0x50bb92['document'],'keydown',(_0x290af6,{key:_0x3d7c59})=>{'Escape'===_0x3d7c59&&function(_0x4758b7){_0x4758b7['editing']['view']['change'](_0x534131=>{for(const _0x12fc9d of _0x4758b7['model']['markers']){if(!_0x12fc9d['name']['startsWith']('user:position'))continue;const _0x5ad455=_0x4758b7['editing']['mapper']['markerNameToElements'](_0x12fc9d['name']);if(_0x5ad455){for(const _0x4120a2 of _0x5ad455)_0x534131['removeClass']('ck-user__marker_hovered',_0x4120a2);}}});}(_0xc32211);},{'useCapture':!0x0});}['afterInit'](){const _0x39fa58=this['editor'],_0x4dcc4f=_0x39fa58['commands']['get']('undo');_0x4dcc4f&&_0x39fa58['model']['on']('applyOperation',(_0x4acb23,_0x242bd0)=>{const _0x51c132=_0x242bd0[0x0];if(!_0x51c132['isDocumentOperation'])return;if('marker'!=_0x51c132['type']||!_0x51c132['name']['startsWith']('user:'))return;const _0xa7b2ac=_0x51c132['batch'];_0x4dcc4f['_createdBatches']['has'](_0xa7b2ac)&&(_0x51c132['newRange']=_0x51c132['oldRange']?_0x39fa58['model']['createRange'](_0x51c132['oldRange']['start'],_0x51c132['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3ab5fe=this['editor'],_0x474bb9=_0x3ab5fe['model']['document'],_0x5650bc=_0x3ab5fe['plugins']['get'](Y);_0x3ab5fe['model']['enqueueChange']({'isUndoable':!0x1},_0x493304=>{const _0xa40456='user:range:'+_0x5650bc['mySessionId'],_0x239794='user:position:'+_0x5650bc['mySessionId'],_0x5b66dd=_0x3ab5fe['model']['markers']['has'](_0xa40456);_0x3ab5fe['editing']['view']['hasDomSelection']?J(_0x5650bc['mySessionId'],_0x474bb9['selection']['getFirstRange'](),_0x3ab5fe['model'],_0x493304):_0x5b66dd&&(_0x493304['removeMarker'](_0xa40456),_0x493304['removeMarker'](_0x239794));});}};function J(_0x3617ac,_0x17eaf4,_0x238dc8,_0x264681){const _0x209e05='user:range:'+_0x3617ac,_0x20c462='user:position:'+_0x3617ac,_0xca7aaa=_0x17eaf4['getContainedElement']();let _0x23105b=_0x17eaf4['start'];if(_0xca7aaa&&_0xca7aaa['is']('element','tableCell')){const _0x104893=function(_0x44cc11,_0x100049){for(const _0x4d13b3 of _0x44cc11['getPositions']())if(_0x100049['schema']['checkChild'](_0x4d13b3,'$text'))return _0x4d13b3;}(_0x17eaf4,_0x238dc8);_0x104893&&(_0x23105b=_0x104893,_0x17eaf4=_0x264681['createRange'](_0x23105b));}const _0xe170f7=_0x264681['createRange'](_0x23105b);_0x238dc8['markers']['has'](_0x209e05)?(_0x264681['updateMarker'](_0x209e05,{'range':_0x17eaf4}),_0x264681['updateMarker'](_0x20c462,{'range':_0xe170f7})):(_0x264681['addMarker'](_0x209e05,{'range':_0x17eaf4,'usingOperation':!0x0}),_0x264681['addMarker'](_0x20c462,{'range':_0xe170f7,'usingOperation':!0x0}));}function Q(_0x55fed6){return'--ck-user-color:'+_0x55fed6['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x55fed6['color']['getColorAlphaVariable']()+';';}function X(_0x4b99f5,_0x4a7995,_0x3d7e3b){const _0x3d7d82=_0x4b99f5['t'],t=_0x4b99f5['t'];switch(_0x4a7995){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x3d7d82({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x3d7e3b);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x334777{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0xad3446)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x15032a,_0x121396,_0x58bc3a];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x2f4d45=this['serverHistory']['getOperations']();for(let _0x1c036f=_0x2f4d45['length']-0x1;_0x1c036f>=0x0;_0x1c036f--){const _0x4d6f74=_0x2f4d45[_0x1c036f];if(!this['_disconnectionOperations']['has'](_0x4d6f74))return _0x4d6f74['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x47487e){if(super(_0x47487e),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x51009c(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x206e44('collaboration-missing-channelid',this);const _0x1af61f=_0x47487e['config']['get']('cloudServices.bundleVersion')||_0x50f32d;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x1af61f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4ed3e2(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}['init'](){const _0x2f9085=this['editor'],_0x34edfa=_0x2f9085['plugins']['get'](_0x121396),_0x2328b3=_0x2f9085['plugins']['get'](z);this['listenTo'](_0x34edfa,'getOperationAuthor',(_0x433457,_0x7ffba8)=>{const _0xbfe28c=_0x7ffba8[0x0];_0xbfe28c['_authorId']&&(_0x433457['return']=_0x34edfa['getUser'](_0xbfe28c['_authorId']),_0x433457['stop']()),null===_0xbfe28c['_authorId']&&(_0x433457['return']=null,_0x433457['stop']());},{'priority':'high'}),this['listenTo'](_0x2f9085['model']['document']['selection'],'change:range',(_0x3a88db,_0x1227e3)=>{_0x1227e3['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2f9085['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2f9085['model']['on']('applyOperation',(_0x58a5b5,_0x673624)=>{const _0x4c6604=_0x673624[0x0];_0x4c6604['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4c6604),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x2328b3,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x347f04,_0x45082f,_0x3b076e)=>'connected'===_0x347f04&&!_0x45082f&&!_0x3b076e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2f9085['disableReadOnlyMode']('rtc-offline'):_0x2f9085['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2f9085['disableReadOnlyMode']('rtc-offline'):_0x2f9085['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3edead=this['editor']['plugins']['get'](Y),_0x3c76e0=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x3edead['unregister'](this['_channelId']);const _0x263733=await this['_service']['reconnect'](_0x3c76e0['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x263733)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x47bec5=await this['_service']['getConnectedSessions']();_0x3edead['register'](this['_channelId'],_0x47bec5),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1705d9){if(function(_0x11fac3){return'404'===_0x11fac3['code'];}(_0x1705d9)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2eb009){return'409'===_0x2eb009['code'];}(_0x1705d9)){const _0x162419=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x162419);}else{if(!(_0x1705d9 instanceof et))throw _0x1705d9;this['_handleReconnectionError']();}}}}['destroy'](){const _0x2005ca=this['editor']['plugins']['get'](z),_0x3aad56=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3aad56['channelSessions']['has'](this['_channelId'])&&_0x3aad56['unregister'](this['_channelId']),_0x2005ca['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2bac0c){if(this['sessionId']!==_0x2bac0c['sessionId']&&this['_lastSyncedOperationId']!==_0x2bac0c['lastOperationId'])throw new et();return this['sessionId']=_0x2bac0c['sessionId'],this['_handleServerResponse']([],{..._0x2bac0c,'wereChangesApplied':!0x1,'data':_0x2bac0c['data']},'reconnect');}async['_connectService'](_0x5a94ed,_0x1b393e=!0x1){const {connection:_0x2f52f7}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x2f52f7,this['_channelId'])['then'](_0xff9aef=>this['_initSessionsHandling'](_0xff9aef))['catch'](_0x26264b=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x26264b);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4c0ce6,_0x2341b7)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2341b7);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x2ccf91=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5a94ed);this['_isPendingUpdate']=!0x0;const _0x367a48=await this['_service']['connect'](_0x2f52f7,this['_compressOperations'](_0x5a94ed),_0x2ccf91);if(this['sessionId']=_0x367a48['sessionId'],_0x1b393e){if(!_0x367a48['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x367a48['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5a94ed,_0x367a48,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x367a48,_0x5a94ed);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x4d56f0=this['editor']['plugins']['get'](Y),_0x259c65=this['editor']['plugins']['get'](K),_0xe5e681=_0x4d56f0['channelSessions']['get'](this['_channelId']);_0xe5e681&&_0xe5e681['length']>0x1?_0x259c65['createUserMarkerOperations']():this['listenTo'](_0x4d56f0,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4d56f0['channelSessions']['get'](this['_channelId'])['length']&&_0x259c65['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0xf28253,_0x366d9a,_0x53aec2,_0x8c6f5a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x366d9a){const _0x4d3de4=this['_decompressOperations'](_0x53aec2,_0x8c6f5a);await this['_fetchMissingUsers'](_0x4d3de4),this['_handleExternalOperations'](_0x4d3de4,_0x366d9a,_0x53aec2['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x2db474}=this['editor'];let _0x466815;try{_0x466815=await this['_service']['getDocumentDetails']();}catch{const _0x2fa22c=X(_0x2db474,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x2fa22c);}const _0x303fea=_0x466815['currentDocumentSession']||_0x466815['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x303fea['lastOperationId']){const _0x5657ac=X(_0x2db474,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x5657ac);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x40d7eb=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x40d7eb['connection']||'connected'!==_0x40d7eb['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x355d00=this['editor']['plugins']['get'](Y);_0x355d00['channelSessions']['has'](this['_channelId'])&&_0x355d00['unregister'](this['_channelId']),_0x40d7eb['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x29dd67){const _0x2ec673=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2ec673,'sessionAdd:'+this['_channelId'],(_0x1aadf8,{session:_0x4b998b})=>{if(_0x4b998b['id']===_0x2ec673['mySessionId']){_0x1aadf8['off']();const _0x451568=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1ee4f3=_0x4b998b['permissions'];_0x451568&&_0x451568['isEnabled']&&(_0x1ee4f3=_0x1ee4f3['filter'](_0x87e127=>'document:write'!==_0x87e127)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1ee4f3,this['_channelId']);}}),_0x2ec673['register'](this['_channelId'],_0x29dd67);}['_initThrowingOnDataSet'](){const _0x3d13c1=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5a41f2)=>{if(!_0x5a41f2[_0x5a41f2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x206e44('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3d13c1['apply'](this['editor']['data'],_0x5a41f2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x386013,[_0x381572])=>{if(this['_document']['version'])throw new _0x206e44('realtimecollaborationclient-init-document-already-initialized',this);_0x386013['stop'](),this['_setPendingAction']();const _0x53cfb7=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x3efe9a])=>!_0x3efe9a['lazyLoad'])['map'](([_0x1a02fd,_0x2e109b])=>[_0x1a02fd,_0x2e109b['modelAttributes']||{}])),_0x16e252=this['_getOperationsFromInitData'](_0x381572,_0x53cfb7);0x0==_0x16e252['length']&&_0x16e252['push'](new _0x18f097(0x0)),_0x386013['return']=this['_connectService'](_0x16e252)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1a2e20=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1a2e20))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x334e71,[_0x20237b,_0x81c56e])=>{_0x334e71['stop']();const _0x3633ab=this['editor']['model']['document']['getRoot'](_0x20237b);if(!this['_knownRootNames']['has'](_0x20237b)){const _0x359c4e=_0x81c56e&&_0x81c56e['data']?_0x81c56e['data']:'',_0x21637e=_0x81c56e&&_0x81c56e['attributes']?_0x81c56e['attributes']:{};await this['_loadRoot'](_0x20237b,_0x359c4e,_0x21637e);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3633ab['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3633ab);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x57c05a){const _0x4ca995=this['editor']['plugins']['get'](_0x121396),{connection:_0x54edb1}=this['editor']['plugins']['get'](z),_0x1113f6=new Set();for(const _0x28fd8a of _0x57c05a){const _0x3afe11=_0x28fd8a['_authorId'];_0x3afe11&&!_0x4ca995['getUser'](_0x3afe11)&&_0x1113f6['add'](_0x3afe11);}if(0x0===_0x1113f6['size'])return;const _0x3815a6=await _0x33a205['getMany'](_0x54edb1,Array['from'](_0x1113f6));for(const _0x356e18 of _0x3815a6)_0x4ca995['getUser'](_0x356e18['id'])||_0x4ca995['addUser'](_0x356e18);}['_getOperationsFromInitData'](_0x266120,_0x3475f7={}){const _0x14eb9f=this['editor']['model'],_0xb68ba4=[];let _0x4c73f4=0x0;const _0x457521='string'==typeof _0x266120?{'main':_0x266120}:_0x266120;for(const _0x43a813 of Object['keys'](_0x457521)){if(!this['_document']['roots']['has'](_0x43a813))throw new _0x206e44('realtimecollaborationclient-init-non-existent-root',this);const _0x42d22c=this['_document']['getRoot'](_0x43a813),_0xebbf5e=this['editor']['data']['parse'](_0x457521[_0x43a813],_0x42d22c),_0x6f314c=new _0x35f3ab(_0x14eb9f['createPositionAt'](_0x42d22c,0x0),_0xebbf5e,_0x4c73f4++);_0xb68ba4['push'](_0x6f314c);for(const [_0x591196,_0x5edc0d]of _0xebbf5e['markers']){const _0x460b4d=new _0x411b37(_0x591196,null,_0x14eb9f['createRange'](_0x14eb9f['createPositionFromPath'](_0x42d22c,_0x5edc0d['start']['path']['slice']()),_0x14eb9f['createPositionFromPath'](_0x42d22c,_0x5edc0d['end']['path']['slice']())),_0x14eb9f['markers'],!0x0,_0x4c73f4++);_0xb68ba4['push'](_0x460b4d);}}if(_0x3475f7)for(const [_0x30992d,_0x1772e7]of Object['entries'](_0x3475f7)){const _0x4ec43f=_0x14eb9f['document']['getRoot'](_0x30992d);if(!_0x4ec43f)throw new _0x206e44('multi-root-editor-root-attributes-no-root',null);for(const [_0x435b5d,_0x45ecf6]of Object['entries'](_0x1772e7))if(null!==_0x45ecf6){const _0x474ba2=new _0x13c8c6(_0x4ec43f,_0x435b5d,null,_0x45ecf6,_0x4c73f4++);_0xb68ba4['push'](_0x474ba2);}}return _0xb68ba4;}async['_loadRoot'](_0x27918a,_0x216f15,_0xb9d377){this['_getOperationsFromInitData']({[_0x27918a]:_0x216f15},{[_0x27918a]:_0xb9d377})['forEach']((_0x11ebb6,_0x3edbea)=>{_0x11ebb6['baseVersion']=this['_document']['version']+_0x3edbea,_0x11ebb6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x11ebb6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1ad0f9,_0x698ebe){let _0x2928f6;this['_offset']=_0x1ad0f9['offset'];const _0x541738=_0x1ad0f9['wereChangesApplied']&&!_0x1ad0f9['initData'],_0x24cdea=_0x541738?0x0:_0x1ad0f9['data']['baseVersion'];if(_0x698ebe['forEach'](_0x5e4203=>{_0x5e4203['_isInit']=!0x0,_0x5e4203['createdAt']=_0x1ad0f9['sessionCreatedAt'],_0x5e4203['_authorId']=null;}),_0x541738)_0x2928f6=_0x698ebe,this['_applyOperationsSet'](_0x2928f6,_0x541738);else{if(_0x1ad0f9['initData']){const _0x35cf38=this['_getOperationsFromInitData'](_0x1ad0f9['initData']);this['_document']['history']['version']=-_0x35cf38['length'],_0x35cf38['forEach'](_0x342c56=>{_0x342c56['baseVersion']-=_0x35cf38['length'],_0x342c56['createdAt']=_0x1ad0f9['sessionCreatedAt'],_0x342c56['_isInit']=!0x0,_0x342c56['_authorId']=null;}),this['_applyOperationsSet'](_0x35cf38,!0x0),this['serverHistory']['version']=-_0x35cf38['length']+this['_offset'],this['_updateServerHistory'](_0x35cf38);}this['_document']['history']['version']=_0x24cdea,_0x2928f6=this['_decompressOperations'](_0x1ad0f9['data'],_0x1ad0f9['metadata']),await this['_fetchMissingUsers'](_0x2928f6),this['_applyOperationsSet'](_0x2928f6,_0x541738);}_0x1ad0f9['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2928f6,_0x1ad0f9['lastOperationId']),this['_lastSyncedOperationId']=_0x1ad0f9['lastOperationId']),this['serverHistory']['version']=_0x24cdea+this['_offset'],this['_updateServerHistory'](_0x2928f6),_0x698ebe['filter'](_0x528e34=>{const _0x25c287=this['_getAffectedRoot'](_0x528e34);return _0x25c287&&!this['_knownRootNames']['has'](_0x25c287);})['forEach']((_0x183f08,_0x174f8f)=>{_0x183f08['baseVersion']=this['_document']['version']+_0x174f8f,this['_saveOperationInBuffer'](_0x183f08);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2f29db,_0x14778d){const _0x298155=_0x14778d&&_0x14778d['message'];if(_0x298155&&_0x298155['startsWith']('realtimecollaborationclient'))throw _0x14778d;const _0x18295e=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x18295e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x206e44(_0x2f29db,this['editor'],_0x298155?{'originalError':_0x298155}:void 0x0);}['_saveOperationInBuffer'](_0x46ee76){this['_knownOperations']['has'](_0x46ee76)||(this['_knownOperations']['add'](_0x46ee76),this['_bufferedOperations']['push'](_0x46ee76),this['_pendingAction']||'marker'==_0x46ee76['type']&&!_0x46ee76['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x774f17=!0x1){!_0x774f17&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xa165dd=>{_0xa165dd&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xb88174=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xbecf42){return _0xbecf42['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xbecf42['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xbecf42['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xb88174)||this['_crash'](_0xb88174['message'],_0xb88174);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3945df=>{this['on']('change:_isPendingUpdate',()=>{_0x3945df();});});}async['_sendBufferedOperations'](){const _0x57cbe0=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x57cbe0['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5971fa=[...this['_bufferedOperations']];for(const _0x40b26f of _0x5971fa)_0x40b26f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x40b26f);const _0x23be84=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5971fa),_0x331bad=Z++,_0x31cf88=this['_compressOperations'](_0x5971fa),_0x148c32=await this['_service']['sendOperations'](_0x31cf88,_0x31cf88['baseVersion'],_0x23be84);try{return await this['_handleServerResponse'](_0x5971fa,_0x148c32,_0x331bad);}catch(_0xbf1856){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xbf1856);}}async['_handleServerResponse'](_0x3ed820,_0x2b394d,_0x131d3c){if('error'in _0x2b394d)throw _0x2b394d['error'];let _0x3606bd=!0x1;if(_0x2b394d['wereChangesApplied']){_0x2b394d['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2b394d['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x9af649=>!_0x3ed820['includes'](_0x9af649));for(const _0x51b6ce of _0x3ed820)_0x51b6ce['createdAt']='lastOperationAcceptedAt'in _0x2b394d&&_0x2b394d['lastOperationAcceptedAt']||void 0x0;st(_0x3ed820,_0x2b394d['version']-_0x3ed820['length']),this['_updateServerHistory'](_0x3ed820);const _0x4582ac=_0x3ed820['filter'](_0x49bc82=>{if(!_0x49bc82['_isInit'])return!0x1;const _0x238cbe=this['_getAffectedRoot'](_0x49bc82);return _0x238cbe&&!this['_knownRootNames']['has'](_0x238cbe);});st(_0x4582ac,this['_document']['version']),this['_applyOperationsSet'](_0x4582ac),_0x3606bd=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x10230a=this['_decompressOperations'](_0x2b394d['data'],_0x2b394d['metadata'])['filter'](_0x4df80f=>_0x4df80f['baseVersion']>=this['_lastServerVersion']);_0x10230a['forEach'](_0x59d769=>this['_addKnownRoot'](_0x59d769)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3af00b=>!_0x3af00b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3af00b))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x10230a),_0x3606bd=this['_handleExternalOperations'](_0x10230a,_0x2b394d['version'],_0x2b394d['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3606bd?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x482c1e,_0x30da50,_0x1d0717){try{const _0x4a0dff={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xfa0e12,operationsB:_0x541950,originalOperations:_0x32fda5}=_0x494b49(_0x482c1e,this['_bufferedOperations'],_0x4a0dff);st(_0xfa0e12,this['_document']['version']),st(_0x541950,_0x30da50);for(const _0x11ea67 of _0xfa0e12){const _0x84fdb9=_0x32fda5['get'](_0x11ea67);_0x84fdb9?(_0x11ea67['_authorId']=_0x84fdb9['_authorId'],'noop'!==_0x11ea67['type']&&(_0x11ea67['_aiSource']=_0x84fdb9['_aiSource'])):_0x11ea67['_authorId']=null;}for(const _0x551132 of _0x541950)'noop'!==_0x551132['type']&&(_0x551132['_aiSource']=_0x32fda5['get'](_0x551132)?.['_aiSource']);_0x1d0717&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x482c1e,_0x1d0717),this['_lastSyncedOperationId']=_0x1d0717),this['_bufferedOperations']=[..._0x541950],this['_applyOperationsSet'](_0xfa0e12),this['_updateServerHistory'](_0x482c1e);}catch(_0x9d1dba){return console['error'](_0x9d1dba),!0x1;}return!0x0;}['_applyOperationsSet'](_0x12211e,_0xbc13ad=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x28e723=>{for(const _0x15d43a of _0x12211e)this['_knownOperations']['add'](_0x15d43a),this['_addKnownRoot'](_0x15d43a),_0x28e723['batch']['addOperation'](_0x15d43a),this['editor']['model']['applyOperation'](_0x15d43a);});}['_addKnownRoot'](_0x1e59f3){const _0x3eae6a=this['_getAffectedRoot'](_0x1e59f3);_0x3eae6a&&this['_knownRootNames']['add'](_0x3eae6a);}['_getAffectedRoot'](_0xce2aea){let _0x58e9cd,_0x1eb6d3;switch(_0xce2aea['type']){case'insert':_0x58e9cd=_0xce2aea['position']['root'];break;case'marker':if(_0x1eb6d3=_0xce2aea['newRange'],!_0x1eb6d3)return null;_0x58e9cd=_0x1eb6d3['root'];break;case'addRootAttribute':_0x58e9cd=_0xce2aea['root'];break;case'addRoot':_0x58e9cd=_0xce2aea['affectedSelectable'];break;case'move':_0x58e9cd=_0xce2aea['targetPosition']['root'];break;default:return null;}return _0x58e9cd['rootName'];}['_updateServerHistory'](_0x313933){_0x313933['forEach'](_0x3788ae=>{const _0x21f27c=_0x3788ae['clone']();_0x21f27c['_authorId']=_0x3788ae['_authorId'],_0x21f27c['_isInit']=!!_0x3788ae['_isInit'],_0x21f27c['_aiSource']=_0x3788ae['_aiSource'],_0x21f27c['createdAt']=_0x3788ae['createdAt'],_0x21f27c['baseVersion']+=this['_offset'],_0x3788ae['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x21f27c),this['serverHistory']['addOperation'](_0x21f27c);});}['_handleReconnectionError'](_0x56fc82){const _0x3b30a2=this['editor']['plugins']['get']('Notification'),_0x559ded=this['editor']['locale'];_0x56fc82||(_0x56fc82=X(_0x559ded,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x3b30a2['showWarning'](_0x56fc82,{'title':X(_0x559ded,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x15032a)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x15032a)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x556630){const _0x4b1389=_0x556630['map'](_0x362e08=>_0x362e08['toJSON']());return this['_compressor']['compress'](_0x4b1389);}['_decompressOperations'](_0x47554f,_0x1fd9bd){return this['_compressor']['decompress'](_0x47554f)['map']((_0x59f327,_0x31775d)=>{const _0x259554='init'==_0x1fd9bd[_0x31775d]['type'];if('InsertOperation'==_0x59f327['__className']){const _0x35213b=_0x59f327['position']['root'];!this['_document']['getRoot'](_0x35213b)&&(this['_document']['createRoot']('$unknown',_0x35213b)['_isAttached']=!0x1);}else{if('RootOperation'==_0x59f327['__className']){const _0x56def7=this['_document']['getRoot'](_0x59f327['rootName']);_0x56def7&&'$unknown'==_0x56def7['name']&&_0x59f327['elementName']!=_0x56def7['name']&&(_0x56def7['name']=_0x59f327['elementName']);}}const _0x3d7276=_0x1436e4['fromJSON'](_0x59f327,this['_document']);return _0x3d7276['wasUndone']=_0x59f327['wasUndone'],_0x3d7276['_isInit']=_0x259554,_0x3d7276['_authorId']=_0x259554?null:_0x1fd9bd[_0x31775d]['userId'],_0x3d7276['_isDisconnection']='cs:removeUser'===_0x1fd9bd[_0x31775d]['type'],_0x3d7276['_aiSource']=_0x59f327['_aiSource']||void 0x0,_0x3d7276['createdAt']=_0x1fd9bd[_0x31775d]['createdAt'],_0x3d7276;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x184e85=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x184e85&&_0x184e85['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x3bd207,_0x5cd198){for(const _0x435930 of _0x3bd207)_0x435930['baseVersion']=_0x5cd198++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x45f7be){this['_ignoredOperations']=_0x45f7be,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x223167){let _0x4d2299=_0x223167['length'];for(;_0x4d2299--;){const _0x3f9924=_0x223167[_0x4d2299];if(!this['_ignoredOperations']['has'](_0x3f9924)){if(!this['_operationToId']['has'](_0x3f9924)){const _0x3d5c56=_0x36a117()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3f9924,_0x3d5c56);}return this['_operationToId']['get'](_0x3f9924);}}}['setIdForTheLastOperation'](_0x296768,_0x141da4){if(!_0x141da4)return;let _0x17462a=_0x296768['length'];for(;_0x17462a--;){const _0x19a541=_0x296768[_0x17462a];this['_ignoredOperations']['has'](_0x19a541)||this['_operationToId']['set'](_0x19a541,_0x141da4);}}},nt=class extends _0x334777{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x3c12a8{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x4fa428)());['_services'];static get['requires'](){return[z,_0x52d7db,Y,_0x121396];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x50670d){super(_0x50670d),this['_services']=new Map();}async['init'](){const _0x298a24=this['context'],_0xf45260=_0x298a24['plugins']['get'](_0x52d7db);if(_0x298a24['plugins']['get'](z)['addToReconnectionStack'](this),_0xf45260['adapter']={'addCommentThread':async({channelId:_0x6e0e43,threadId:_0x11ba2c,comments:_0x26b896,resolvedAt:_0x24fe77,resolvedBy:_0x34c7e2,context:_0x2febcd,attributes:_0x554fd4})=>{const _0x3b7eb3=await this['_getService'](_0x6e0e43)['addCommentThread']({'commentThreadId':_0x11ba2c,'comments':_0x26b896['map'](_0xa054f8=>function(_0x2efc2d,_0x3c2cfd,_0x4454f5){return{'commentThreadId':_0x4454f5,'commentId':_0x2efc2d['commentId'],'userId':_0x2efc2d['authorId'],'content':_0x2efc2d['content'],'documentId':_0x3c2cfd,'createdAt':_0x2efc2d['createdAt'],'attributes':_0x2efc2d['attributes']||{}};}(_0xa054f8,_0x6e0e43,_0x11ba2c)),'resolvedAt':_0x24fe77,'resolvedBy':_0x34c7e2,'context':_0x2febcd,'attributes':_0x554fd4})['catch'](ct);return{'threadId':_0x3b7eb3['commentThreadId'],'comments':_0x3b7eb3['comments']};},'getCommentThread':async({channelId:_0x3bde7f,threadId:_0x3783b3})=>{const _0x29cb39=await this['_getService'](_0x3bde7f)['getCommentThread'](_0x3783b3)['catch'](rt)['catch'](ct);return _0x29cb39?_0x29cb39['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x29cb39]),{'threadId':_0x29cb39['commentThreadId'],'comments':_0x29cb39['comments']['map'](at),'context':_0x29cb39['context'],'resolvedAt':_0x29cb39['resolvedAt'],'resolvedBy':_0x29cb39['resolvedBy'],'attributes':_0x29cb39['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x260568,threadId:_0xda0b4,context:_0x21cacc,unlinkedAt:_0x878dcf,attributes:_0x3ddb79})=>this['_getService'](_0x260568)['updateCommentThread']({'commentThreadId':_0xda0b4,'context':_0x21cacc,'attributes':_0x3ddb79,'unlinkedAt':_0x878dcf})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x4dcf3c,threadId:_0x5cac64})=>{const _0x5c06ed=await this['_getService'](_0x4dcf3c)['resolveCommentThread'](_0x5cac64)['catch'](rt)['catch'](ct);return{'threadId':_0x5c06ed['commentThreadId'],'resolvedAt':_0x5c06ed['resolvedAt'],'resolvedBy':_0x5c06ed['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4de819,threadId:_0x1527e1})=>this['_getService'](_0x4de819)['reopenCommentThread'](_0x1527e1)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5ed1d5,threadId:_0x155464})=>this['_getService'](_0x5ed1d5)['removeCommentThread'](_0x155464)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x4430cf,threadId:_0xdb0753,commentId:_0x37de76,content:_0x2eecc4,attributes:_0x5185fd})=>this['_getService'](_0x4430cf)['addComment'](_0xdb0753,_0x37de76,_0x2eecc4,_0x5185fd)['catch'](ct),'updateComment':({channelId:_0x4f77e4,threadId:_0x4999c2,commentId:_0x5ce797,content:_0x5cab57,attributes:_0x35706a})=>this['_getService'](_0x4f77e4)['updateComment'](_0x4999c2,_0x5ce797,_0x5cab57,_0x35706a)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x457d2c,threadId:_0x57715b,commentId:_0x5aa6ae})=>this['_getService'](_0x457d2c)['removeComment'](_0x57715b,_0x5aa6ae)['catch'](rt)['catch'](ct)},_0x298a24 instanceof _0x300413){const _0x4aa4f9=_0x298a24['config']['get']('collaboration.channelId'),_0x4eda3a=_0x298a24['plugins']['get'](Y);await this['_setUpService'](_0x4aa4f9);const _0x29c592=await this['_services']['get'](_0x4aa4f9)['getConnectedSessions']();this['listenTo'](_0x4eda3a,'sessionAdd:'+_0x4aa4f9,(_0xbdfa55,{session:_0x3171ec})=>{_0x3171ec['id']===_0x4eda3a['mySessionId']&&(_0xbdfa55['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3171ec['permissions'],_0x4aa4f9));}),_0x4eda3a['register'](_0x4aa4f9,_0x29c592);}}async['_setUpService'](_0x158c0c){if(this['_services']['has'](_0x158c0c))throw new _0x206e44('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x158c0c});const _0x2f35b6=this['context']['plugins']['get'](_0x52d7db),_0x22bc5f=new CloudServicesCommentsAdapter['CommentsService'](_0x158c0c);this['_services']['set'](_0x158c0c,_0x22bc5f),this['listenTo'](_0x22bc5f,'commentThreadAdded',(_0x4fdeb5,_0xb96c25)=>{const {commentThreadId:_0x2ca890,documentId:_0x26bfec,context:_0x588cc8,attributes:_0x54e211,resolvedAt:_0x30427c,resolvedBy:_0x4d7316,comments:_0x379026}=_0xb96c25;_0x2f35b6['getCommentThread'](_0x2ca890)||_0x2f35b6['addCommentThread']({'threadId':_0x2ca890,'channelId':_0x26bfec,'comments':_0x379026?_0x379026['map'](at):[],'context':_0x588cc8,'attributes':_0x54e211,'resolvedAt':_0x30427c,'resolvedBy':_0x4d7316,'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadUpdated',(_0x38d67c,{commentThreadId:_0x2a810f,documentId:_0x4346b0,context:_0x50cfe3,unlinkedAt:_0x1a7fc0,attributes:_0x145da2})=>{_0x2f35b6['getCommentThread'](_0x2a810f)&&_0x2f35b6['updateCommentThread']({'threadId':_0x2a810f,'channelId':_0x4346b0,'context':_0x50cfe3,'unlinkedAt':_0x1a7fc0,'attributes':_0x145da2,'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadResolved',(_0x52fbcb,{commentThreadId:_0x5a4391,resolvedBy:_0x3bffbb,resolvedAt:_0x3f1d66})=>{const _0x3583c9=_0x2f35b6['getCommentThread'](_0x5a4391);_0x3583c9&&_0x3583c9['resolve']({'resolvedBy':_0x3bffbb,'resolvedAt':_0x3f1d66,'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadReopened',(_0x3c065e,{commentThreadId:_0x5e8529})=>{const _0x19c870=_0x2f35b6['getCommentThread'](_0x5e8529);_0x19c870&&_0x19c870['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentThreadRemoved',(_0x2051ac,{commentThreadId:_0x3d078c})=>{const _0x4b45e3=_0x2f35b6['getCommentThread'](_0x3d078c);_0x4b45e3&&_0x4b45e3['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentAdded',(_0x2e1b4d,_0x4da9be)=>{const _0xdcae76=_0x4da9be['commentThreadId'],_0x34884d=_0x2f35b6['getCommentThread'](_0xdcae76);_0x34884d&&_0x34884d['addComment']({...at(_0x4da9be),'isFromAdapter':!0x0});}),this['listenTo'](_0x22bc5f,'commentUpdated',(_0x466456,{commentThreadId:_0x26f8a0,commentId:_0x5db7ad,content:_0x5f2561,attributes:_0xde6604})=>{const _0x326564=_0x2f35b6['getCommentThread'](_0x26f8a0);if(_0x326564){const _0x22ae0b=_0x326564['getComment'](_0x5db7ad);_0x22ae0b&&_0x22ae0b['update']({'content':_0x5f2561,'attributes':_0xde6604,'isFromAdapter':!0x0});}}),this['listenTo'](_0x22bc5f,'commentRemoved',(_0x846c30,{commentThreadId:_0x5d9e5e,commentId:_0x1e256f})=>{const _0x49a167=_0x2f35b6['getCommentThread'](_0x5d9e5e);if(_0x49a167){const _0x2efb92=_0x49a167['getComment'](_0x1e256f);_0x2efb92&&_0x2efb92['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x22bc5f,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x158c0c),this['stopListening'](_0x22bc5f));}),await this['_connectService'](_0x158c0c);}['destroy'](){if(this['context']instanceof _0x300413){const _0x289b04=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x289b04)&&this['_terminateService'](_0x289b04);}}['_terminateService'](_0x551833){if(!this['_services']['has'](_0x551833))throw new _0x206e44('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x551833});this['_getService'](_0x551833)['disconnect'](),this['_services']['delete'](_0x551833);}async['reconnect'](){for(const _0x22b4cd of this['_services']['keys']())await this['_connectService'](_0x22b4cd);if(this['context']instanceof _0x300413){const _0x57e123=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x57e123)){const _0x2d7433=this['context']['plugins']['get'](Y);_0x2d7433['unregister'](_0x57e123);const _0x4bdb43=await this['_services']['get'](_0x57e123)['getConnectedSessions']();_0x2d7433['register'](_0x57e123,_0x4bdb43);}}}async['_connectService'](_0x1ddfb1){const {connection:_0x5037d0}=this['context']['plugins']['get'](z),_0x442c22=this['context']['plugins']['get'](_0x52d7db),_0x550016=await this['_services']['get'](_0x1ddfb1)['connect'](_0x5037d0);await this['_fetchMissingUsersForThreads'](_0x550016);const _0x33dbbc=new Set(Array['from'](_0x442c22['getCommentThreads']({'channelId':_0x1ddfb1}),_0x8d02d3=>_0x8d02d3['id']));for(const _0x3c5450 of _0x550016)_0x3c5450['deletedAt']||_0x33dbbc['delete'](_0x3c5450['commentThreadId']);for(const _0x2ee2ff of _0x33dbbc)_0x442c22['getCommentThread'](_0x2ee2ff)['remove']({'isFromAdapter':!0x0});for(const _0x3cea51 of _0x550016){let _0x63df39=_0x442c22['getCommentThread'](_0x3cea51['commentThreadId']);const {commentThreadId:_0x4cdca7,context:_0x34128f,attributes:_0x44b224,resolvedBy:_0x3976c0,resolvedAt:_0x140cf7,unlinkedAt:_0x5b4671,deletedAt:_0x4bad95}=_0x3cea51;if(_0x4bad95)continue;_0x63df39||(_0x63df39=_0x442c22['addCommentThread']({'channelId':_0x1ddfb1,'threadId':_0x4cdca7,'context':_0x34128f,'attributes':_0x44b224||{},'resolvedBy':_0x3976c0,'resolvedAt':_0x140cf7,'unlinkedAt':_0x5b4671,'isFromAdapter':!0x0}));const _0x39b5e5=new Set(Array['from'](_0x63df39['comments'],_0x4ad2d5=>_0x4ad2d5['id']));for(const _0x11d435 of _0x3cea51['comments'])_0x39b5e5['delete'](_0x11d435['commentId']);for(const _0x10f794 of _0x39b5e5)_0x63df39['getComment'](_0x10f794)['remove']({'isFromAdapter':!0x0});for(const _0x1551bb of _0x3cea51['comments']){const _0x7204f1=_0x63df39['getComment'](_0x1551bb['commentId']);_0x7204f1?_0x7204f1['content']!==_0x1551bb['content']&&_0x7204f1['update']({'content':_0x1551bb['content'],'isFromAdapter':!0x0}):_0x63df39['addComment'](Object['assign'](at(_0x1551bb),{'isFromAdapter':!0x0}));}}}['_getService'](_0x44d129){if(!this['_services']['has'](_0x44d129))throw new _0x206e44('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x44d129});return this['_services']['get'](_0x44d129);}async['_fetchMissingUsersForThreads'](_0x178597){const _0x4fe00b=this['context']['plugins']['get'](_0x121396),{connection:_0x489787}=this['context']['plugins']['get'](z),_0x3b102c=new Set();for(const {resolvedBy:_0x5ba150,comments:_0x21f5dc}of _0x178597){_0x5ba150&&!_0x4fe00b['getUser'](_0x5ba150)&&_0x3b102c['add'](_0x5ba150);for(const {userId:_0x46e7d3}of _0x21f5dc)_0x4fe00b['getUser'](_0x46e7d3)||_0x3b102c['add'](_0x46e7d3);}if(0x0===_0x3b102c['size'])return;const _0x2fc94e=await _0x33a205['getMany'](_0x489787,Array['from'](_0x3b102c));for(const _0x39f077 of _0x2fc94e)_0x4fe00b['getUser'](_0x39f077['id'])||_0x4fe00b['addUser'](_0x39f077);}};async function rt(_0x44f321){if('404'!==_0x44f321['code'])throw _0x44f321;}function ct(_0x520906){if((_0x56ebee=_0x520906)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x56ebee['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56ebee['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x56ebee;throw _0x520906;}function at(_0x190ac1){return{'threadId':_0x190ac1['commentThreadId'],'commentId':_0x190ac1['commentId'],'content':_0x190ac1['content'],'createdAt':_0x190ac1['createdAt'],'authorId':_0x190ac1['userId'],'attributes':_0x190ac1['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x334777{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x5ce271)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x1757ab,Y,_0x121396];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x48b0cf){super(_0x48b0cf);const _0x2c2880=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2c2880);}async['init'](){const _0xebbc43=this['editor']['plugins']['get'](tt),_0x445e62=_0xebbc43['serverHistory'],_0x4c65fd=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x445e62,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xebbc43['sessionId']});const _0x336257=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x50f32d,_0x274891=await _0x1850e4['isBundleUploaded'](_0x4c65fd['connection'],_0x336257);this['editor']['plugins']['get'](_0x1757ab)['adapter']={'getRevision':async({revisionId:_0x296ce8})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x296ce8)),'updateRevisions':async _0x4a2fbe=>{await this['_waitForServiceReady']();const _0x1d3251=this['_revisionTracker']['currentRevision'];if(_0x274891&&0x1===_0x4a2fbe['length']&&_0x4a2fbe[0x0]['id']===_0x1d3251['id'])return _0x4a2fbe;for(const _0x4443c6 of _0x4a2fbe)_0x4443c6['id']===_0x1d3251['id']&&(_0x4443c6['isEmptyCurrent']=_0x4443c6['fromVersion']===_0x4443c6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4a2fbe,this['_lastRequestId'])['then'](_0x2eb5dd=>(this['_lastRequestId']=_0x2eb5dd,_0x4a2fbe))['catch'](_0x500f11=>{if(pt(_0x500f11)||'400'===_0x500f11['code']&&void 0x0!==_0x500f11['data']['wrongRequestId']){for(const _0x254db3 of _0x4a2fbe)this['_revisionTracker']['repository']['getRevision'](_0x254db3['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x254db3['id'],_0x254db3,!0x1);if(pt(_0x500f11)&&'destroyed'!==this['editor']['state'])throw _0x500f11;return _0x4a2fbe;}throw _0x500f11;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3dee02,{revisionsData:_0x3b9ec8,requestId:_0x3948f7})=>{Math['max'](..._0x3b9ec8['map'](_0x62693e=>_0x62693e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b9ec8,_0x3948f7);}):this['_handleRevisionsUpdate'](_0x3b9ec8,_0x3948f7);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x4c65fd['connection']?.['state']&&(_0x4c65fd['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x3d157a,requestId:_0x1eb3aa}=await this['_revisionHistoryService']['connect'](_0x4c65fd['connection']);_0x4c65fd['addToReconnectionStack'](this),this['_lastRequestId']=_0x1eb3aa,await this['_fetchMissingUsers'](_0x3d157a);for(const _0x47bd3a of _0x3d157a)this['_revisionTracker']['addRevisionData'](_0x47bd3a);this['listenTo'](_0xebbc43,'change:_isConnected',(_0xe6c8c7,_0xf8790c,_0x44665f)=>{_0x44665f&&(this['_oldOffset']=_0xebbc43['_offset'],_0xe6c8c7['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x135204=this['editor']['plugins']['get'](z),_0x58f724=this['editor']['plugins']['get'](tt),_0x218d29=async()=>{const _0x365fac=this['_revisionTracker']['currentRevision'],_0x318087=_0x365fac['id'],_0x54b2cc=_0x318087!==_0x58f724['sessionId'];if(_0x54b2cc){const _0x23e8f3=_0x58f724['_offset']-this['_oldOffset'],_0x775992=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x365fac['toVersion']+_0x23e8f3!==_0x775992){const _0x4d3f58=_0x365fac['fromVersion']+_0x23e8f3,_0x34a39b=this['editor']['plugins']['get'](_0x121396),_0x2142c8=this['_revisionTracker']['buildRevisionData']({'revision':_0x365fac,'from':_0x4d3f58,'to':_0x775992});_0x2142c8['id']=_0x365fac['id'];const _0x5dcd59=_0x2142c8['authorsIds']['map'](_0x3dfffd=>_0x34a39b['getUser'](_0x3dfffd));_0x365fac['_update']({..._0x2142c8,'authors':_0x5dcd59},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x365fac['id'],_0x2142c8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x775992,_0x365fac['toVersion']!==_0x365fac['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x318087)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x318087),this['_revisionTracker']['_createCurrentRevision'](_0x775992);}const {revisions:_0x43efdd,requestId:_0x68cc4e}=await this['_revisionHistoryService']['reconnect'](_0x135204['connection'],this['_lastRequestId']);_0x54b2cc&&_0x43efdd['length']>0x0?_0x58f724['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x43efdd),this['_handleRevisionsUpdate'](_0x43efdd,_0x68cc4e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x58f724['_isConnected']?_0x218d29():new Promise((_0x50cb99,_0x550239)=>{_0x58f724['once']('change:_isConnected',()=>{_0x218d29()['then'](_0x50cb99)['catch'](_0x550239);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xbee858=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x507437=>{_0x507437['off'](),_0xbee858();});});}['_getLatestVersionFromServerOperations'](){const _0x243942=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x2c9f66 of _0x243942)if('marker'!==_0x2c9f66['type']||_0x2c9f66['affectsData'])return _0x2c9f66['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1731bc=this['editor']['plugins']['get'](tt);return new Promise(_0x38197f=>{_0x1731bc['_isPendingUpdate']?_0x1731bc['once']('change:_isPendingUpdate',()=>{_0x38197f(this['_getLatestVersionFromServerOperations']());}):_0x38197f(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5469c1,_0x45de86){const _0x1d8412=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x45de86;for(const _0x6af432 of _0x5469c1){const _0x2d3fe2=_0x1d8412['getRevision'](_0x6af432['id']);if(_0x2d3fe2){if((_0x6af432['fromVersion']||_0x6af432['toVersion'])&&(_0x6af432['diffData']=null),_0x2d3fe2===this['_revisionTracker']['currentRevision']){const _0x33392f=Math['max'](_0x2d3fe2['toVersion'],_0x6af432['toVersion']),_0x164733=Math['max'](_0x2d3fe2['fromVersion'],_0x6af432['fromVersion']);let _0x218058;_0x2d3fe2['toVersion']===_0x6af432['toVersion']&&_0x2d3fe2['fromVersion']===_0x6af432['fromVersion']?(_0x218058=!0x0,this['_preventResendingRevisionData'](_0x6af432)):_0x6af432['toVersion']===_0x33392f&&_0x6af432['fromVersion']===_0x164733?_0x218058=!0x1:(_0x2d3fe2['toVersion']===_0x33392f&&_0x2d3fe2['fromVersion']===_0x164733||this['_fixRevision']({'revision':_0x2d3fe2,'from':_0x164733,'to':_0x33392f}),_0x218058=!0x0),_0x218058&&(delete _0x6af432['fromVersion'],delete _0x6af432['toVersion'],delete _0x6af432['diffData'],delete _0x6af432['createdAt'],delete _0x6af432['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x6af432),this['_preventResendingRevisionData'](_0x6af432);}else this['_revisionTracker']['addRevisionData'](_0x6af432);}const _0x1cf8cc=_0x1d8412['getRevisions']();_0x1cf8cc['reverse']();for(let _0x55169a=0x0;_0x55169a<_0x1cf8cc['length']-0x1;_0x55169a++){const _0x1fb9fd=_0x1cf8cc[_0x55169a],_0x2861fe=_0x1cf8cc[_0x55169a+0x1];if(_0x1fb9fd['fromVersion']<_0x2861fe['toVersion']){const _0x2abb44=_0x2861fe['toVersion'],_0x1754cd=Math['max'](_0x2abb44,_0x1fb9fd['toVersion']);this['_fixRevision']({'revision':_0x1fb9fd,'from':_0x2abb44,'to':_0x1754cd});}}}['_fixRevision']({revision:_0x531d79,from:_0x16d973,to:_0x5a0334}={}){const _0x4b98b2=this['editor']['plugins']['get'](_0x121396),_0x476a3e=this['_revisionTracker']['buildRevisionData']({'revision':_0x531d79,'from':_0x16d973,'to':_0x5a0334});_0x476a3e['authors']=_0x476a3e['authorsIds']['map'](_0x1d5c43=>_0x4b98b2['getUser'](_0x1d5c43)),_0x531d79['_update'](_0x476a3e);}['_preventResendingRevisionData'](_0x3ef12b){const _0x434071={};_0x434071['id']=_0x3ef12b['id'];for(const _0x212b47 of Object['keys'](_0x3ef12b))'id'!==_0x212b47&&(_0x434071[_0x212b47]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x434071['id'],_0x434071,!0x0);}async['_fetchMissingUsers'](_0x1746b1){const _0x2564cb=this['editor']['plugins']['get'](_0x121396),{connection:_0x1867f3}=this['editor']['plugins']['get'](z),_0x210a18=new Set();for(const _0x133893 of _0x1746b1){for(const _0xb1585f of _0x133893['authorsIds'])_0x54ba2a(_0xb1585f);_0x133893['creatorId']&&_0x54ba2a(_0x133893['creatorId']);}if(0x0===_0x210a18['size'])return;const _0x4f9525=await _0x33a205['getMany'](_0x1867f3,Array['from'](_0x210a18));for(const _0xe4af1d of _0x4f9525)_0x2564cb['getUser'](_0xe4af1d['id'])||_0x2564cb['addUser'](_0xe4af1d);function _0x54ba2a(_0x5b0f77){_0x2564cb['getUser'](_0x5b0f77)||_0x210a18['add'](_0x5b0f77);}}};function pt(_0x518e9b){return _0x518e9b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x518e9b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x518e9b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x334777{static get['requires'](){return[_0x1757ab,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x3fb656{['_collapseAt'];constructor(_0x5258a3,_0x858bd1=0x6){super(_0x5258a3);const _0x768901=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x858bd1,this['bind']('isHidden')['to'](this,'usersCount',_0x1358a7=>_0x1358a7<_0x858bd1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x768901['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x768901['to']('usersCount',_0x4f1d6b=>'+'+(_0x4f1d6b-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x3fb656{['items'];['keystrokes'];constructor(_0x51ca43){super(_0x51ca43);const _0x2fef33=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4acf94(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2fef33['if']('hasPopup'),'aria-expanded':_0x2fef33['to']('isExpanded',_0x207a53=>this['hasPopup']&&String(_0x207a53)),'aria-label':_0x2fef33['to']('hasPopup',_0x332638=>X(_0x51ca43,_0x332638?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2fef33['to']('hasPopup',_0x1e2ed3=>!!_0x1e2ed3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2fef33['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2fef33['to'](_0x29edcb=>{const _0x3562de=_0x29edcb,_0x1211e2=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3dde3e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1211e2?.['contains'](_0x3562de['relatedTarget'])||_0x3dde3e?.['contains'](_0x3562de['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x593b73,_0x16abad,_0x2f4af4)=>{this['element']&&(_0x2f4af4?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x3fb656{['counterView'];['inlineListView'];constructor(_0x4b68b7,_0x542875=0x6){super(_0x4b68b7);const _0x2987d2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x542875),this['inlineListView']=new vt(_0x4b68b7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2ab295 of this['inlineListView']['items'])_0x2ab295['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x2987d2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x3fb656{['listWrapperView'];constructor(_0x434d26,_0xd58d17){super(_0x434d26);const _0x1b13b8=this['bindTemplate'];this['listWrapperView']=new bt(_0x434d26,_0xd58d17),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x434d26,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x1b13b8['to'](_0x304825=>{const _0x132b33=_0x304825,_0x1087d3=document['querySelector']('.ck-presence-list__list'),_0x38f335=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1087d3?.['contains'](_0x132b33['relatedTarget'])||_0x38f335?.['contains'](_0x132b33['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x18c9ed{constructor(_0x10599f,_0x3a3f03){super(_0x10599f);const _0x362847=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3a3f03?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x362847['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x362847['to']('role'),'aria-label':_0x362847['to']('ariaLabel'),'aria-labelledby':_0x362847['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x50bb92['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5241e4=this['element'];_0x5241e4&&(this['_isScrollable']=Math['max'](_0x5241e4['scrollHeight'],_0x5241e4['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x21f6e8{['userView'];constructor(_0x3f9286,_0x4a9b43,_0x12e279){super(_0x3f9286);const _0x4dd6f8=this['bindTemplate'];this['userView']=new _0x44a44e(_0x3f9286,_0x4a9b43);const _0x32b9e6={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4a9b43['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4a9b43['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4a9b43['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4a9b43['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4a9b43['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x12e279&&(_0x32b9e6['tag']='button',_0x32b9e6['on']={'click':_0x4dd6f8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x32b9e6);}['focus'](){this['element']['focus']();}},It=class extends _0x3fb656{['userView'];['markerView'];constructor(_0x1c1b42,_0x3d0959,_0x267955){super(_0x1c1b42);const _0x5193b5=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x44a44e(_0x1c1b42,_0x3d0959),this['markerView']=new St(_0x1c1b42,_0x3d0959);const _0x891794=new _0x42795(_0x1c1b42);_0x891794['template']['tag']='span',_0x891794['text']=_0x3d0959['name'];const _0x53bc0f={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5193b5['to']('isFocusable',_0x3b66e6=>!!_0x3b66e6&&0x0),'aria-labelledby':_0x891794['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5193b5['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5193b5['to']('hasTooltip',_0x1d5a75=>!_0x1d5a75),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x891794]};_0x267955&&(_0x53bc0f['tag']='button',_0x53bc0f['on']={'click':_0x5193b5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x53bc0f);}},St=class extends _0x3fb656{constructor(_0x4dde20,_0xc30834){super(_0x4dde20),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xc30834['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xc30834['color']['getColorVariable'](),'--ck-user-color-alpha':_0xc30834['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x3c12a8{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x19e67a){super(_0x19e67a),this['context']['config']['define']('presenceList',Tt);const _0x23f617=_0x19e67a['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x23f617)throw new _0x206e44('presencelist-collapseat-invalid-format',this);if(_0x23f617<0x1)throw new _0x206e44('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xe676b9(),this['balloonPanelView']=new _0x439950(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xd6b652 of this['_allConnectedUsers'])this['_handleUserAdd'](_0xd6b652);this['listenTo'](this['_allConnectedUsers'],'add',(_0x50e2ce,_0x539132)=>{this['_handleUserAdd'](_0x539132);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xccf9aa,_0xdf5918)=>{this['_handleUserRemove'](_0xdf5918);});}['_createView'](){const _0x5b9c91=this['context'],_0x2a2e47=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x34a878=this['balloonPanelView'];if(!_0x398bc6(_0x5b9c91['config']['get']('presenceList.container')))throw new _0x206e44('presencelist-missing-container',this);return _0x2a2e47['counterView']['bind']('usersCount')['to'](this),_0x2a2e47['bind']('isCollapsed')['to'](this,'usersCount',_0x2411d5=>{const {collapseAt:_0x5851cd}=_0x5b9c91['config']['get']('presenceList'),_0x5542a2=_0x2411d5>=_0x5851cd;if(_0x5542a2&&!_0x2a2e47['inlineListView']['items']['find'](_0x3c5115=>_0x3c5115 instanceof wt)){const _0x26b555=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x26b555&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2a2e47['inlineListView']['items']['add'](_0x2a2e47['counterView']);}return _0x5542a2||this['hideDropdown'](),_0x5542a2;}),_0x2a2e47['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2d3ce3=>{const _0x48d578=_0x5b9c91['config']['get']('presenceList'),_0x3989f2=new It(_0x5b9c91['locale'],_0x2d3ce3,!!_0x48d578['onClick']);return _0x3989f2['bind']('hasTooltip')['to'](_0x2a2e47,'isCollapsed',_0x28dd33=>!_0x28dd33),_0x3989f2['bind']('isFocusable')['to'](_0x2a2e47,'isCollapsed',_0x219e8d=>!_0x219e8d),_0x48d578['onClick']&&this['listenTo'](_0x3989f2,'execute',()=>{this['view']['isCollapsed']||_0x48d578['onClick'](_0x2d3ce3,_0x3989f2['element']);}),_0x3989f2;}),this['listenTo'](_0x2a2e47['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2a2e47['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2a2e47['inlineListView']['keystrokes']['set']('Enter',(_0x28fc89,_0x5ae559)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5ae559());}),_0x2a2e47['render'](),_0x34a878['render'](),_0x216276({'emitter':_0x2a2e47,'activator':()=>_0x34a878['isVisible'],'contextElements':[_0x34a878['element'],_0x2a2e47['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x5b9c91['config']['get']('presenceList.container')['appendChild'](_0x2a2e47['element']),this['_bodyCollection']=new _0x4acfe4(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2a2e47;}['_handleUserAdd'](_0xf21576){if(!this['context']['config']['get']('presenceList.displayMe')&&_0xf21576['isMe'])return;const _0x98ac8a=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x98ac8a-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x234bb9=_0xf21576['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0xf21576,_0x234bb9);}['_handleUserRemove'](_0x5cd98a){this['usersCount']--;const {collapseAt:_0x2eb393}=this['context']['config']['get']('presenceList'),_0x39a574=this['usersCount']>=_0x2eb393;if(this['currentDisplayedUsers']['get'](_0x5cd98a['id']))this['currentDisplayedUsers']['remove'](_0x5cd98a['id']);else{if(_0x39a574&&this['currentDisplayedUsers']['length']+0x1===_0x2eb393-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x39a574?0x1:0x0)<this['usersCount']){for(const _0xeba01b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xeba01b['id'])&&(this['currentDisplayedUsers']['add'](_0xeba01b,Math['min'](this['currentDisplayedUsers']['length']-(_0x39a574?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x39a574?0x1:0x0)===_0x2eb393-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x177d42=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x177d42['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x175a18}=this['presenceDropdownView'];_0x175a18['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xca564f=>{if(!_0x177d42['displayMe']&&_0xca564f['isMe'])return null;const _0x1182fd=new kt(this['context']['locale'],_0xca564f,!!_0x177d42['onClick']);return _0x177d42['onClick']&&this['listenTo'](_0x1182fd,'execute',()=>{_0x177d42['onClick'](_0xca564f,_0x1182fd['element']);}),_0x1182fd;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x175a18['focus'](),_0x175a18['checkIfScrollable']();const _0xd00c38=(_0x32f997,_0x306392)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x306392();};_0x175a18['keystrokes']['set']('Esc',_0xd00c38),_0x175a18['keystrokes']['set']('Shift+Tab',_0xd00c38),_0x175a18['keystrokes']['set']('Tab',(_0x2792b2,_0x501859)=>{!function(_0x3bc319){const _0x551f5a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x22ce33=>_0x22ce33+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x45da96=[...document['body']['querySelectorAll'](_0x551f5a)]['filter'](_0x5ee8d3=>_0x5ee8d3===document['activeElement']||_0x5ee8d3['offsetWidth']+_0x5ee8d3['offsetHeight']>0x0)['sort']((_0x40bcb6,_0x14ff9d)=>(_0x40bcb6['tabIndex']||0x0)-(_0x14ff9d['tabIndex']||0x0)),_0x489e03=_0x45da96[(_0x45da96['indexOf'](_0x3bc319)+0x1)%_0x45da96['length']];_0x489e03&&_0x489e03['focus']();}(this['view']['element']),this['hideDropdown'](),_0x501859();}),_0x175a18['focusTracker']['add'](this['view']['element']),_0x175a18['focusTracker']['on']('change:isFocused',(_0x3c568f,_0x4ebe21,_0x3c2a7e)=>{_0x3c2a7e||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x3c12a8{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|
|
23
|
+
import{Context as _0x403fa9,ContextPlugin as _0x748e16,PendingActions as _0x459316,Plugin as _0xba3866}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x3f1dcf,Collection as _0x271755,DomEmitterMixin as _0x57ba7a,KeystrokeHandler as _0x5a77f1,global as _0x3c55b7,uid as _0x5920c8,version as _0x13d0cc}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x14124b,BodyCollection as _0x47ad2b,LabelView as _0x1a8e59,ListItemView as _0x1b5251,ListView as _0x5dc78c,Notification as _0x211bfd,View as _0x48e552,clickOutsideHandler as _0x2c9d92}from'@ckeditor/ckeditor5-ui';import{History as _0x53181b,InsertOperation as _0x583136,MarkerOperation as _0x47ba36,ModelLiveRange as _0x4f59fe,NoOperation as _0xdf2d5c,OperationFactory as _0x56b57a,RootAttributeOperation as _0x1f58d5,transformOperationSets as _0x20990c}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0xb6ab9f}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x221ac5,CommentsService as _0x29a0a9,EditorService as _0x451a45,RevisionHistoryService as _0x145221,TrackChangesService as _0x52f9bc,User as _0x4a06bf,WEB_SOCKET_GATEWAY_STATES as _0x2ba2b3,WebSocketGateway as _0x2dfe16}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x10a99c,Users as _0x14b59c}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x2a74e1}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x32388c,TrackChangesEditing as _0x2053c1}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x2de072,CommentsEditing as _0x34f96c,CommentsRepository as _0x509c50}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x5a9f69}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x19e585}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x748e16{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x2dfe16)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0xb6ab9f,_0x211bfd];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xdb0f0d){super(_0xdb0f0d),this['set']('state',_0x2ba2b3['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x57ba7a())();}['init'](){const _0x4ef527=this['context'],_0x1f000a=_0x4ef527['plugins']['get'](_0xb6ab9f),_0x3f9df8=_0x4ef527['plugins']['get'](_0x211bfd);if(!_0x1f000a['token'])throw new _0x3f1dcf('websocketgateway-missing-token',this);if(!_0x1f000a['webSocketUrl'])throw new _0x3f1dcf('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'](_0x1f000a['token'],_0x1f000a['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x25317e=>{if(this['connection']=_0x25317e,this['bind']('state')['to'](_0x25317e,'state',this,'_isBrowserOffline',(_0x131bbb,_0x309896)=>('connected'!==_0x131bbb&&(this['_shouldPluginsReconnect']=!0x0),_0x309896||_0x131bbb!==_0x2ba2b3['CONNECTED']?_0x2ba2b3['DISCONNECTED']:this['state']==_0x2ba2b3['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x2ba2b3['CONNECTING']):_0x2ba2b3['CONNECTED'])),this['connection']['on']('error',(_0x51c4d1,_0x15eae5)=>{if('limitExceeded'!==_0x15eae5['code'])throw console['error'](_0x15eae5),new _0x3f1dcf('cloudservices-init',null,{'originalError':_0x15eae5});_0x3f9df8['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'});}),!_0x25317e['me'])return new Promise(_0x202dcf=>_0x25317e['on']('change:me',_0x202dcf));})['catch'](_0xb57fce=>{throw console['error'](_0xb57fce),new _0x3f1dcf('cloudservices-init',null,{'originalError':_0xb57fce});});}['addToReconnectionStack'](_0x44ab6c){if('function'!=typeof _0x44ab6c['reconnect'])throw new _0x3f1dcf('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x44ab6c))throw new _0x3f1dcf('websocketgateway-plugin-already-registered',this,{'name':_0x44ab6c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x44ab6c);}['removeFromReconnectionStack'](_0x113526){this['_reconnectionStack']['delete'](_0x113526);}['isInReconnectionStack'](_0x3435c3){return this['_reconnectionStack']['has'](_0x3435c3);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x59b903=>_0x59b903['reconnect']())))['then'](()=>this['state']=_0x2ba2b3['CONNECTED'])['catch'](_0x56115a=>{throw console['error'](_0x56115a),new _0x3f1dcf('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x2ba2b3['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x748e16{['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,_0x14b59c];}constructor(_0x566d1f){super(_0x566d1f),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x271755(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x14b59c);}['init'](){const _0x49f177=this['context']['plugins']['get'](z);this['listenTo'](_0x49f177,'change:state',(_0x26b0f9,_0x140476,_0x2aedfa)=>{if('connected'!==_0x2aedfa)this['channelSessions']['forEach'](_0x2091bd=>_0x2091bd['clear']()),this['channelConnectedUsers']['forEach'](_0x5221f5=>_0x5221f5['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x11f1cb,_0x552a13]of this['_registeredSessions'])for(const _0x340ef0 of _0x552a13)this['_handleSessionAdd'](_0x11f1cb,_0x340ef0);}}),this['_createUser'](_0x49f177['connection']['me'],!0x0);}['register'](_0x447a62,_0x4bb800){if(this['_registeredSessions']['has'](_0x447a62))throw new _0x3f1dcf('sessions-register-already-registered',null,{'channelId':_0x447a62});this['_registeredSessions']['set'](_0x447a62,_0x4bb800),this['channelSessions']['set'](_0x447a62,new _0x271755()),this['channelConnectedUsers']['set'](_0x447a62,new _0x271755()),this['listenTo'](_0x4bb800,'add',(_0x5f5af3,_0x19f655)=>this['_handleSessionAdd'](_0x447a62,_0x19f655)),this['listenTo'](_0x4bb800,'remove',(_0x3c4d4f,_0x47959b)=>this['_handleSessionRemove'](_0x447a62,_0x47959b));for(const _0x165186 of _0x4bb800)this['_handleSessionAdd'](_0x447a62,_0x165186);}['unregister'](_0x59cb1d){if(!this['_registeredSessions']['has'](_0x59cb1d))throw new _0x3f1dcf('sessions-unregister-not-exist',null,{'channelId':_0x59cb1d});const _0x343997=this['_registeredSessions']['get'](_0x59cb1d);this['stopListening'](_0x343997);for(const _0x36c5af of _0x343997)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x59cb1d,_0x36c5af);this['_registeredSessions']['delete'](_0x59cb1d),this['channelSessions']['delete'](_0x59cb1d),this['channelConnectedUsers']['delete'](_0x59cb1d);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x110dfb){for(const _0x2a82dd of this['channelSessions']['values']())for(const _0x1f1828 of _0x2a82dd)if(_0x1f1828['id']===_0x110dfb)return _0x1f1828['user'];}['getUserSessions'](_0x46cad1,_0x39ab31){const _0x4292ba=_0x39ab31?[this['channelSessions']['get'](_0x39ab31)]:this['channelSessions']['values'](),_0x194fc5=new Set();for(const _0xa35611 of _0x4292ba)for(const _0xc7c3aa of _0xa35611)_0xc7c3aa['user']['id']===_0x46cad1['id']&&_0x194fc5['add'](_0xc7c3aa['id']);return _0x194fc5;}['getUserRole'](_0x830609){for(const _0x4c4b4b of this['channelSessions']['values']())for(const _0x12f23b of _0x4c4b4b)if(_0x12f23b['user']===_0x830609)return _0x12f23b['role'];}['_handleSessionAdd'](_0x3de142,_0x3464f9){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x3b88b6=_0x3464f9['user'],_0x16433e=this['_users']['getUser'](_0x3b88b6['id'])||this['_createUser'](_0x3b88b6),_0x51014c=Object['assign']({},_0x3464f9,{'user':_0x16433e});if(this['channelSessions']['get'](_0x3de142)['add'](_0x51014c),!_0x3b88b6['hiddenInPresenceList']){const _0x198c85=this['channelConnectedUsers']['get'](_0x3de142);_0x198c85['has'](_0x16433e['id'])||_0x198c85['add'](_0x16433e),this['allConnectedUsers']['has'](_0x16433e['id'])||_0x3b88b6['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x16433e,_0x16433e['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3de142,{'channelId':_0x3de142,'session':_0x51014c});}['_handleSessionRemove'](_0x56ae9e,_0x13386e){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x16553e=this['channelConnectedUsers']['get'](_0x56ae9e),_0x597058=_0x13386e['user'];_0x597058['id']&&(this['channelSessions']['get'](_0x56ae9e)['remove'](_0x13386e['id']),_0x16553e['has'](_0x597058['id'])&&!this['getUserSessions'](_0x597058,_0x56ae9e)['size']&&_0x16553e['remove'](_0x597058['id']),this['allConnectedUsers']['get'](_0x597058['id'])&&!this['getUserSessions'](_0x597058)['size']&&this['allConnectedUsers']['remove'](_0x597058['id']));}['_createUser'](_0x2b0bff,_0x14d5a5){const _0xfbb730=this['_users']['addUser'](_0x2b0bff);return _0x14d5a5&&this['_users']['defineMe'](_0x2b0bff['id']),_0xfbb730['orderNumber']=this['_uniqueUsersCount']++,_0xfbb730;}},K=class extends _0xba3866{['_domEmitter']=new(_0x57ba7a())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x11176b=this['editor'],_0x21661e=_0x11176b['plugins']['get'](Y);_0x11176b['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3523f2,{writer:_0x569048})=>function(_0x4d5a61,_0x5a1c82,_0x5af390,_0x509f6f){const _0x4dde0d=_0x4d5a61['markerName']['split'](':')[0x2],_0x2313e4=_0x5af390['getUserBySessionId'](_0x4dde0d);if(!_0x2313e4||_0x4dde0d===_0x5af390['mySessionId'])return;if(!_0x509f6f['model']['schema']['checkChild'](_0x4d5a61['markerRange']['start'],'$text'))return;const _0x42520d={'class':'ck-user__marker\x20'+_0x2313e4['color']['getMarkerClass'](),'style':Q(_0x2313e4),'data-name':_0x2313e4['name'],'data-session-id':_0x4dde0d},_0x50c6df=_0x509f6f['model']['markers']['get'](_0x4d5a61['markerName'])['getStart'](),_0x13fdd5=_0x50c6df['nodeAfter'],_0x45add8=_0x509f6f['model']['schema'];if(_0x13fdd5&&_0x45add8['isObject'](_0x13fdd5)&&_0x45add8['isInline'](_0x13fdd5)&&!_0x509f6f['model']['markers']['get']('user:range:'+_0x4dde0d)['getRange']()['isCollapsed'])return;const _0x1a12bd=_0x50c6df['parent'];return _0x509f6f['model']['schema']['isLimit'](_0x1a12bd)&&!_0x509f6f['model']['hasContent'](_0x1a12bd)&&(_0x42520d['contenteditable']=!0x1),function(_0x2d51f0,_0xca55da,_0x37b357){const _0x4cca1e=_0x2d51f0['createUIElement']('span',_0xca55da);return _0x2d51f0['setCustomProperty']('userPositionMarker',!0x0,_0x4cca1e),_0x4cca1e['render']=function(_0x5cf9a5){const _0x49617a=this['toDomElement'](_0x5cf9a5),_0x13986c=document['createElement']('span');return _0x13986c['classList']['add']('ck-user__marker-tooltip'),_0x13986c['setAttribute']('contenteditable','false'),_0x13986c['setAttribute']('spellcheck','false'),_0x13986c['textContent']=_0x37b357['name'],_0x49617a['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x13986c['outerHTML']+'',_0x49617a['addEventListener']('mouseenter',()=>{_0x49617a['classList']['add']('ck-user__marker_hovered');}),_0x49617a['addEventListener']('mouseleave',()=>{_0x49617a['classList']['remove']('ck-user__marker_hovered');}),_0x49617a;},_0x4cca1e['isSimilar']=function(_0x4c69a8){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4c69a8['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4c69a8['getAttribute']('data-session-id'));},_0x4cca1e;}(_0x5a1c82,_0x42520d,_0x2313e4);}(_0x3523f2,_0x569048,_0x21661e,_0x11176b)}),_0x11176b['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x72152f=>function(_0x2ed3a2,_0x5e7402){const _0x4904d1=_0x2ed3a2['markerName']['split'](':')[0x2];if(_0x4904d1===_0x5e7402['mySessionId'])return null;const _0xf37422=_0x5e7402['getUserBySessionId'](_0x4904d1);return _0xf37422?{'id':_0x4904d1,'classes':['ck-user__selection',_0xf37422['color']['getSelectionClass']()],'attributes':{'style':Q(_0xf37422),'data-session-id':_0x4904d1},'priority':0x7d0+_0xf37422['orderNumber']}:{'id':_0x4904d1,'classes':[]};}(_0x72152f,_0x21661e)}),function(_0xb05daa){const _0x4ac8e8=_0xb05daa['model'],_0x5b2114=new Map(),_0x6a15c9=_0xb05daa['plugins']['get'](Y);_0x4ac8e8['markers']['on']('update:user:range',(_0xc44db8,_0x11876d,_0x410b0f,_0x3a0559)=>{if(!_0x3a0559&&_0x5b2114['get'](_0x11876d['name']))return _0x5b2114['get'](_0x11876d['name'])['detach'](),void _0x5b2114['delete'](_0x11876d['name']);const _0x514bec=_0x11876d['name']['split'](':')[0x2];if(_0x514bec===_0x6a15c9['mySessionId'])return;const _0x20f235='user:position:'+_0x514bec;_0x4ac8e8['markers']['has'](_0x20f235)&&_0xb05daa['editing']['reconvertMarker'](_0x20f235),_0x11876d['on']('change:range',(_0x5e0a39,_0x1f5028,_0x4e0292)=>{if('$graveyard'!=_0x1f5028['root']['rootName']&&'$graveyard'==_0x11876d['getRange']()['root']['rootName']&&!_0x5b2114['has'](_0x11876d['name'])){const _0x119ba7=_0x4ac8e8['schema']['getNearestSelectionRange'](_0x4e0292['deletionPosition']);if(_0x119ba7){const _0xa2ad22=_0x4f59fe['fromRange'](_0x119ba7);_0x5b2114['set'](_0x11876d['name'],_0xa2ad22),_0xa2ad22['on']('change:range',(_0x42361d,_0x34e7c3,_0x57d859)=>{if('$graveyard'==_0xa2ad22['root']['rootName']){const _0x2fa38b=_0x4ac8e8['schema']['getNearestSelectionRange'](_0x57d859['deletionPosition']);_0x2fa38b?(_0xa2ad22['start']=_0x2fa38b['start'],_0xa2ad22['end']=_0x2fa38b['end']):(_0x5b2114['delete'](_0x11876d['name']),_0xa2ad22['detach']());}});}}});}),_0x4ac8e8['document']['on']('change',()=>{_0x5b2114['size']>0x0&&_0x4ac8e8['enqueueChange']({'isUndoable':!0x1},_0x5473bb=>{for(const [_0x5636c3,_0x5f1303]of _0x5b2114)'$graveyard'==_0x4ac8e8['markers']['get'](_0x5636c3)['getRange']()['root']['rootName']&&(J(_0x5636c3['split'](':')[0x2],_0x5f1303['toRange'](),_0x4ac8e8,_0x5473bb),_0x5f1303['detach']());_0x5b2114['clear']();});});}(_0x11176b),this['_domEmitter']['listenTo'](_0x3c55b7['document'],'keydown',(_0x9e9c43,{key:_0x397599})=>{'Escape'===_0x397599&&function(_0x28fad3){_0x28fad3['editing']['view']['change'](_0x479eac=>{for(const _0x17ebab of _0x28fad3['model']['markers']){if(!_0x17ebab['name']['startsWith']('user:position'))continue;const _0x5dcfa0=_0x28fad3['editing']['mapper']['markerNameToElements'](_0x17ebab['name']);if(_0x5dcfa0){for(const _0x10c121 of _0x5dcfa0)_0x479eac['removeClass']('ck-user__marker_hovered',_0x10c121);}}});}(_0x11176b);},{'useCapture':!0x0});}['afterInit'](){const _0x13f0a0=this['editor'],_0x4e0765=_0x13f0a0['commands']['get']('undo');_0x4e0765&&_0x13f0a0['model']['on']('applyOperation',(_0x327bf8,_0x5a0cf9)=>{const _0x4ef288=_0x5a0cf9[0x0];if(!_0x4ef288['isDocumentOperation'])return;if('marker'!=_0x4ef288['type']||!_0x4ef288['name']['startsWith']('user:'))return;const _0x527cac=_0x4ef288['batch'];_0x4e0765['_createdBatches']['has'](_0x527cac)&&(_0x4ef288['newRange']=_0x4ef288['oldRange']?_0x13f0a0['model']['createRange'](_0x4ef288['oldRange']['start'],_0x4ef288['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x19140a=this['editor'],_0x54bea4=_0x19140a['model']['document'],_0x503e02=_0x19140a['plugins']['get'](Y);_0x19140a['model']['enqueueChange']({'isUndoable':!0x1},_0xb28743=>{const _0x2e24f5='user:range:'+_0x503e02['mySessionId'],_0x1a7b5a='user:position:'+_0x503e02['mySessionId'],_0x495670=_0x19140a['model']['markers']['has'](_0x2e24f5);_0x19140a['editing']['view']['hasDomSelection']?J(_0x503e02['mySessionId'],_0x54bea4['selection']['getFirstRange'](),_0x19140a['model'],_0xb28743):_0x495670&&(_0xb28743['removeMarker'](_0x2e24f5),_0xb28743['removeMarker'](_0x1a7b5a));});}};function J(_0x405971,_0x32999a,_0x38b46e,_0x580069){const _0xccf4b5='user:range:'+_0x405971,_0x400cbc='user:position:'+_0x405971,_0x2eb70b=_0x32999a['getContainedElement']();let _0x252acc=_0x32999a['start'];if(_0x2eb70b&&_0x2eb70b['is']('element','tableCell')){const _0x38c47f=function(_0x397faa,_0x5a9f87){for(const _0x55aa70 of _0x397faa['getPositions']())if(_0x5a9f87['schema']['checkChild'](_0x55aa70,'$text'))return _0x55aa70;}(_0x32999a,_0x38b46e);_0x38c47f&&(_0x252acc=_0x38c47f,_0x32999a=_0x580069['createRange'](_0x252acc));}const _0x2820ba=_0x580069['createRange'](_0x252acc);_0x38b46e['markers']['has'](_0xccf4b5)?(_0x580069['updateMarker'](_0xccf4b5,{'range':_0x32999a}),_0x580069['updateMarker'](_0x400cbc,{'range':_0x2820ba})):(_0x580069['addMarker'](_0xccf4b5,{'range':_0x32999a,'usingOperation':!0x0}),_0x580069['addMarker'](_0x400cbc,{'range':_0x2820ba,'usingOperation':!0x0}));}function Q(_0x17dc38){return'--ck-user-color:'+_0x17dc38['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x17dc38['color']['getColorAlphaVariable']()+';';}function X(_0x35504e,_0x5bc7b8,_0x6644c1){const _0x294ab5=_0x35504e['t'],t=_0x35504e['t'];switch(_0x5bc7b8){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 _0x294ab5({'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'},_0x6644c1);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0xba3866{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x221ac5)());['_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,_0x459316,_0x14b59c,_0x211bfd];}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 _0x337092=this['serverHistory']['getOperations']();for(let _0x421624=_0x337092['length']-0x1;_0x421624>=0x0;_0x421624--){const _0x1b9df5=_0x337092[_0x421624];if(!this['_disconnectionOperations']['has'](_0x1b9df5))return _0x1b9df5['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1f6f5e){if(super(_0x1f6f5e),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x53181b(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3f1dcf('collaboration-missing-channelid',this);const _0x3e5190=_0x1f6f5e['config']['get']('cloudServices.bundleVersion')||_0x13d0cc;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3e5190,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x2a74e1(),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 _0x3b8800=this['editor'],_0x171a9e=_0x3b8800['plugins']['get'](_0x14b59c),_0x48fefd=_0x3b8800['plugins']['get'](z);this['listenTo'](_0x171a9e,'getOperationAuthor',(_0x1b16e0,_0xdcdc00)=>{const _0x5e95ca=_0xdcdc00[0x0];_0x5e95ca['_authorId']&&(_0x1b16e0['return']=_0x171a9e['getUser'](_0x5e95ca['_authorId']),_0x1b16e0['stop']()),null===_0x5e95ca['_authorId']&&(_0x1b16e0['return']=null,_0x1b16e0['stop']());},{'priority':'high'}),this['listenTo'](_0x3b8800['model']['document']['selection'],'change:range',(_0x56b3b7,_0x29503e)=>{_0x29503e['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3b8800['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3b8800['model']['on']('applyOperation',(_0x232082,_0x37b2c0)=>{const _0x247bea=_0x37b2c0[0x0];_0x247bea['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x247bea),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x48fefd,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x45133f,_0xa65a3c,_0x5ed702)=>'connected'===_0x45133f&&!_0xa65a3c&&!_0x5ed702),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3b8800['disableReadOnlyMode']('rtc-offline'):_0x3b8800['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3b8800['disableReadOnlyMode']('rtc-offline'):_0x3b8800['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x25ec32=this['editor']['plugins']['get'](Y),_0x6bf8b=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x25ec32['unregister'](this['_channelId']);const _0x292a3c=await this['_service']['reconnect'](_0x6bf8b['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x292a3c)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1f323e=await this['_service']['getConnectedSessions']();_0x25ec32['register'](this['_channelId'],_0x1f323e),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4b4926){if(function(_0x20e7e7){return'404'===_0x20e7e7['code'];}(_0x4b4926)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xc01c06){return'409'===_0xc01c06['code'];}(_0x4b4926)){const _0x54f244=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'](_0x54f244);}else{if(!(_0x4b4926 instanceof et))throw _0x4b4926;this['_handleReconnectionError']();}}}}['destroy'](){const _0x33850a=this['editor']['plugins']['get'](z),_0x495159=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x495159['channelSessions']['has'](this['_channelId'])&&_0x495159['unregister'](this['_channelId']),_0x33850a['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x23594f){if(this['sessionId']!==_0x23594f['sessionId']&&this['_lastSyncedOperationId']!==_0x23594f['lastOperationId'])throw new et();return this['sessionId']=_0x23594f['sessionId'],this['_handleServerResponse']([],{..._0x23594f,'wereChangesApplied':!0x1,'data':_0x23594f['data']},'reconnect');}async['_connectService'](_0x35fd64,_0x2a2f9b=!0x1){const {connection:_0x2b0c52}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x2b0c52,this['_channelId'])['then'](_0x2fb09f=>this['_initSessionsHandling'](_0x2fb09f))['catch'](_0x36d4d7=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x36d4d7);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2b2992,_0x58c65b)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x58c65b);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x34accd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x35fd64);this['_isPendingUpdate']=!0x0;const _0x431fbf=await this['_service']['connect'](_0x2b0c52,this['_compressOperations'](_0x35fd64),_0x34accd);if(this['sessionId']=_0x431fbf['sessionId'],_0x2a2f9b){if(!_0x431fbf['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x431fbf['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x35fd64,_0x431fbf,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x431fbf,_0x35fd64);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2ed613=this['editor']['plugins']['get'](Y),_0x449b7f=this['editor']['plugins']['get'](K),_0x581c27=_0x2ed613['channelSessions']['get'](this['_channelId']);_0x581c27&&_0x581c27['length']>0x1?_0x449b7f['createUserMarkerOperations']():this['listenTo'](_0x2ed613,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2ed613['channelSessions']['get'](this['_channelId'])['length']&&_0x449b7f['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x12e31b,_0x1ba4cd,_0x5416b9,_0x1202d8){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1ba4cd){const _0x5c98d0=this['_decompressOperations'](_0x5416b9,_0x1202d8);await this['_fetchMissingUsers'](_0x5c98d0),this['_handleExternalOperations'](_0x5c98d0,_0x1ba4cd,_0x5416b9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x745783}=this['editor'];let _0xa46834;try{_0xa46834=await this['_service']['getDocumentDetails']();}catch{const _0x6b90ca=X(_0x745783,'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'](_0x6b90ca);}const _0x10d9eb=_0xa46834['currentDocumentSession']||_0xa46834['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x10d9eb['lastOperationId']){const _0x5e4d93=X(_0x745783,'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'](_0x5e4d93);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x3c2dc9=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x3c2dc9['connection']||'connected'!==_0x3c2dc9['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x58a819=this['editor']['plugins']['get'](Y);_0x58a819['channelSessions']['has'](this['_channelId'])&&_0x58a819['unregister'](this['_channelId']),_0x3c2dc9['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x25b5c5){const _0x2fb853=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2fb853,'sessionAdd:'+this['_channelId'],(_0x57f6af,{session:_0x303f94})=>{if(_0x303f94['id']===_0x2fb853['mySessionId']){_0x57f6af['off']();const _0x3eceb0=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x500ad9=_0x303f94['permissions'];_0x3eceb0&&_0x3eceb0['isEnabled']&&(_0x500ad9=_0x500ad9['filter'](_0x220bb7=>'document:write'!==_0x220bb7)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x500ad9,this['_channelId']);}}),_0x2fb853['register'](this['_channelId'],_0x25b5c5);}['_initThrowingOnDataSet'](){const _0x312f58=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5bd71d)=>{if(!_0x5bd71d[_0x5bd71d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3f1dcf('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x312f58['apply'](this['editor']['data'],_0x5bd71d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2d215b,[_0x5c43f2])=>{if(this['_document']['version'])throw new _0x3f1dcf('realtimecollaborationclient-init-document-already-initialized',this);_0x2d215b['stop'](),this['_setPendingAction']();const _0x131532=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x3e2665])=>!_0x3e2665['lazyLoad'])['map'](([_0x193dfc,_0x29d255])=>[_0x193dfc,_0x29d255['modelAttributes']||{}])),_0x3d9520=this['_getOperationsFromInitData'](_0x5c43f2,_0x131532);0x0==_0x3d9520['length']&&_0x3d9520['push'](new _0xdf2d5c(0x0)),_0x2d215b['return']=this['_connectService'](_0x3d9520)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2e76b9=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2e76b9))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x26b5b8,[_0x40211c,_0x35a673])=>{_0x26b5b8['stop']();const _0x13a680=this['editor']['model']['document']['getRoot'](_0x40211c);if(!this['_knownRootNames']['has'](_0x40211c)){const _0x27b643=_0x35a673&&_0x35a673['data']?_0x35a673['data']:'',_0x2cd396=_0x35a673&&_0x35a673['attributes']?_0x35a673['attributes']:{};await this['_loadRoot'](_0x40211c,_0x27b643,_0x2cd396);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x13a680['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x13a680);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x446065){const _0x17d180=this['editor']['plugins']['get'](_0x14b59c),{connection:_0x1cff43}=this['editor']['plugins']['get'](z),_0x299afd=new Set();for(const _0x40fca1 of _0x446065){const _0x1bdad3=_0x40fca1['_authorId'];_0x1bdad3&&!_0x17d180['getUser'](_0x1bdad3)&&_0x299afd['add'](_0x1bdad3);}if(0x0===_0x299afd['size'])return;const _0x10a2fc=await _0x4a06bf['getMany'](_0x1cff43,Array['from'](_0x299afd));for(const _0x5ccc64 of _0x10a2fc)_0x17d180['getUser'](_0x5ccc64['id'])||_0x17d180['addUser'](_0x5ccc64);}['_getOperationsFromInitData'](_0x28b108,_0x4867f4={}){const _0x3be3cc=this['editor']['model'],_0x3b914b=[];let _0x49dfff=0x0;const _0x2f687a='string'==typeof _0x28b108?{'main':_0x28b108}:_0x28b108;for(const _0x30351c of Object['keys'](_0x2f687a)){if(!this['_document']['roots']['has'](_0x30351c))throw new _0x3f1dcf('realtimecollaborationclient-init-non-existent-root',this);const _0x5ce60f=this['_document']['getRoot'](_0x30351c),_0x207714=this['editor']['data']['parse'](_0x2f687a[_0x30351c],_0x5ce60f),_0x248257=new _0x583136(_0x3be3cc['createPositionAt'](_0x5ce60f,0x0),_0x207714,_0x49dfff++);_0x3b914b['push'](_0x248257);for(const [_0x1a7591,_0xeaf457]of _0x207714['markers']){const _0x567d54=new _0x47ba36(_0x1a7591,null,_0x3be3cc['createRange'](_0x3be3cc['createPositionFromPath'](_0x5ce60f,_0xeaf457['start']['path']['slice']()),_0x3be3cc['createPositionFromPath'](_0x5ce60f,_0xeaf457['end']['path']['slice']())),_0x3be3cc['markers'],!0x0,_0x49dfff++);_0x3b914b['push'](_0x567d54);}}if(_0x4867f4)for(const [_0x4233ac,_0x3a7fa7]of Object['entries'](_0x4867f4)){const _0x4faa75=_0x3be3cc['document']['getRoot'](_0x4233ac);if(!_0x4faa75)throw new _0x3f1dcf('multi-root-editor-root-attributes-no-root',null);for(const [_0x320451,_0x4495d0]of Object['entries'](_0x3a7fa7))if(null!==_0x4495d0){const _0x45361c=new _0x1f58d5(_0x4faa75,_0x320451,null,_0x4495d0,_0x49dfff++);_0x3b914b['push'](_0x45361c);}}return _0x3b914b;}async['_loadRoot'](_0x2de611,_0x4c5a01,_0xf160c4){this['_getOperationsFromInitData']({[_0x2de611]:_0x4c5a01},{[_0x2de611]:_0xf160c4})['forEach']((_0x5e3739,_0x177e81)=>{_0x5e3739['baseVersion']=this['_document']['version']+_0x177e81,_0x5e3739['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x5e3739);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x46630b,_0xbbb102){let _0x498d83;this['_offset']=_0x46630b['offset'];const _0x4f9d68=_0x46630b['wereChangesApplied']&&!_0x46630b['initData'],_0x2d7816=_0x4f9d68?0x0:_0x46630b['data']['baseVersion'];if(_0xbbb102['forEach'](_0x4cf7bd=>{_0x4cf7bd['_isInit']=!0x0,_0x4cf7bd['createdAt']=_0x46630b['sessionCreatedAt'],_0x4cf7bd['_authorId']=null;}),_0x4f9d68)_0x498d83=_0xbbb102,this['_applyOperationsSet'](_0x498d83,_0x4f9d68);else{if(_0x46630b['initData']){const _0x2bef6b=this['_getOperationsFromInitData'](_0x46630b['initData']);this['_document']['history']['version']=-_0x2bef6b['length'],_0x2bef6b['forEach'](_0x19b2ad=>{_0x19b2ad['baseVersion']-=_0x2bef6b['length'],_0x19b2ad['createdAt']=_0x46630b['sessionCreatedAt'],_0x19b2ad['_isInit']=!0x0,_0x19b2ad['_authorId']=null;}),this['_applyOperationsSet'](_0x2bef6b,!0x0),this['serverHistory']['version']=-_0x2bef6b['length']+this['_offset'],this['_updateServerHistory'](_0x2bef6b);}this['_document']['history']['version']=_0x2d7816,_0x498d83=this['_decompressOperations'](_0x46630b['data'],_0x46630b['metadata']),await this['_fetchMissingUsers'](_0x498d83),this['_applyOperationsSet'](_0x498d83,_0x4f9d68);}_0x46630b['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x498d83,_0x46630b['lastOperationId']),this['_lastSyncedOperationId']=_0x46630b['lastOperationId']),this['serverHistory']['version']=_0x2d7816+this['_offset'],this['_updateServerHistory'](_0x498d83),_0xbbb102['filter'](_0x542cf4=>{const _0x15ee7e=this['_getAffectedRoot'](_0x542cf4);return _0x15ee7e&&!this['_knownRootNames']['has'](_0x15ee7e);})['forEach']((_0x1c797b,_0x176c5d)=>{_0x1c797b['baseVersion']=this['_document']['version']+_0x176c5d,this['_saveOperationInBuffer'](_0x1c797b);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x47571a,_0x473ac5){const _0x32ca48=_0x473ac5&&_0x473ac5['message'];if(_0x32ca48&&_0x32ca48['startsWith']('realtimecollaborationclient'))throw _0x473ac5;const _0x42cc84=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x42cc84['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3f1dcf(_0x47571a,this['editor'],_0x32ca48?{'originalError':_0x32ca48}:void 0x0);}['_saveOperationInBuffer'](_0x247e61){this['_knownOperations']['has'](_0x247e61)||(this['_knownOperations']['add'](_0x247e61),this['_bufferedOperations']['push'](_0x247e61),this['_pendingAction']||'marker'==_0x247e61['type']&&!_0x247e61['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5981e2=!0x1){!_0x5981e2&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x6a168a=>{_0x6a168a&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x48c911=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x36e595){return _0x36e595['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x36e595['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x36e595['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x48c911)||this['_crash'](_0x48c911['message'],_0x48c911);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5d1f01=>{this['on']('change:_isPendingUpdate',()=>{_0x5d1f01();});});}async['_sendBufferedOperations'](){const _0x3e7c69=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x3e7c69['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x27acbf=[...this['_bufferedOperations']];for(const _0xdd5b28 of _0x27acbf)_0xdd5b28['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xdd5b28);const _0x4c6331=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x27acbf),_0x1fc59a=Z++,_0xa962bd=this['_compressOperations'](_0x27acbf),_0x2fd447=await this['_service']['sendOperations'](_0xa962bd,_0xa962bd['baseVersion'],_0x4c6331);try{return await this['_handleServerResponse'](_0x27acbf,_0x2fd447,_0x1fc59a);}catch(_0x48be73){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x48be73);}}async['_handleServerResponse'](_0x133ba2,_0x1580a8,_0x1f6ac4){if('error'in _0x1580a8)throw _0x1580a8['error'];let _0x3d60be=!0x1;if(_0x1580a8['wereChangesApplied']){_0x1580a8['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1580a8['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2b6e39=>!_0x133ba2['includes'](_0x2b6e39));for(const _0x3197a1 of _0x133ba2)_0x3197a1['createdAt']='lastOperationAcceptedAt'in _0x1580a8&&_0x1580a8['lastOperationAcceptedAt']||void 0x0;st(_0x133ba2,_0x1580a8['version']-_0x133ba2['length']),this['_updateServerHistory'](_0x133ba2);const _0x35f9dd=_0x133ba2['filter'](_0x4b3c64=>{if(!_0x4b3c64['_isInit'])return!0x1;const _0x10edd5=this['_getAffectedRoot'](_0x4b3c64);return _0x10edd5&&!this['_knownRootNames']['has'](_0x10edd5);});st(_0x35f9dd,this['_document']['version']),this['_applyOperationsSet'](_0x35f9dd),_0x3d60be=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x117c34=this['_decompressOperations'](_0x1580a8['data'],_0x1580a8['metadata'])['filter'](_0x1b8a3b=>_0x1b8a3b['baseVersion']>=this['_lastServerVersion']);_0x117c34['forEach'](_0x238673=>this['_addKnownRoot'](_0x238673)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x372412=>!_0x372412['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x372412))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x117c34),_0x3d60be=this['_handleExternalOperations'](_0x117c34,_0x1580a8['version'],_0x1580a8['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3d60be?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3adf5d,_0x1c2bdf,_0x879f62){try{const _0xd9b75a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4b6e48,operationsB:_0x11aeb1,originalOperations:_0x2c8a48}=_0x20990c(_0x3adf5d,this['_bufferedOperations'],_0xd9b75a);st(_0x4b6e48,this['_document']['version']),st(_0x11aeb1,_0x1c2bdf);for(const _0xae1e1a of _0x4b6e48){const _0x58de26=_0x2c8a48['get'](_0xae1e1a);_0x58de26?(_0xae1e1a['_authorId']=_0x58de26['_authorId'],'noop'!==_0xae1e1a['type']&&(_0xae1e1a['_aiSource']=_0x58de26['_aiSource'])):_0xae1e1a['_authorId']=null;}for(const _0x511ba6 of _0x11aeb1)'noop'!==_0x511ba6['type']&&(_0x511ba6['_aiSource']=_0x2c8a48['get'](_0x511ba6)?.['_aiSource']);_0x879f62&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3adf5d,_0x879f62),this['_lastSyncedOperationId']=_0x879f62),this['_bufferedOperations']=[..._0x11aeb1],this['_applyOperationsSet'](_0x4b6e48),this['_updateServerHistory'](_0x3adf5d);}catch(_0x5339da){return console['error'](_0x5339da),!0x1;}return!0x0;}['_applyOperationsSet'](_0xb5260b,_0x4af0e6=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x36d88f=>{for(const _0x3dbd22 of _0xb5260b)this['_knownOperations']['add'](_0x3dbd22),this['_addKnownRoot'](_0x3dbd22),_0x36d88f['batch']['addOperation'](_0x3dbd22),this['editor']['model']['applyOperation'](_0x3dbd22);});}['_addKnownRoot'](_0x6559ab){const _0x2f9cfc=this['_getAffectedRoot'](_0x6559ab);_0x2f9cfc&&this['_knownRootNames']['add'](_0x2f9cfc);}['_getAffectedRoot'](_0x295e2d){let _0x42fb2,_0x19bd63;switch(_0x295e2d['type']){case'insert':_0x42fb2=_0x295e2d['position']['root'];break;case'marker':if(_0x19bd63=_0x295e2d['newRange'],!_0x19bd63)return null;_0x42fb2=_0x19bd63['root'];break;case'addRootAttribute':_0x42fb2=_0x295e2d['root'];break;case'addRoot':_0x42fb2=_0x295e2d['affectedSelectable'];break;case'move':_0x42fb2=_0x295e2d['targetPosition']['root'];break;default:return null;}return _0x42fb2['rootName'];}['_updateServerHistory'](_0x13a4e3){_0x13a4e3['forEach'](_0x1e8f18=>{const _0x53eed0=_0x1e8f18['clone']();_0x53eed0['_authorId']=_0x1e8f18['_authorId'],_0x53eed0['_isInit']=!!_0x1e8f18['_isInit'],_0x53eed0['_aiSource']=_0x1e8f18['_aiSource'],_0x53eed0['createdAt']=_0x1e8f18['createdAt'],_0x53eed0['baseVersion']+=this['_offset'],_0x1e8f18['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x53eed0),this['serverHistory']['addOperation'](_0x53eed0);});}['_handleReconnectionError'](_0x7e57f9){const _0x2d697a=this['editor']['plugins']['get']('Notification'),_0x377aae=this['editor']['locale'];_0x7e57f9||(_0x7e57f9=X(_0x377aae,'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.')),_0x2d697a['showWarning'](_0x7e57f9,{'title':X(_0x377aae,'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'](_0x459316)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x459316)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x591f61){const _0xce2364=_0x591f61['map'](_0xc32b47=>_0xc32b47['toJSON']());return this['_compressor']['compress'](_0xce2364);}['_decompressOperations'](_0x5390b5,_0x59df75){return this['_compressor']['decompress'](_0x5390b5)['map']((_0x2524e0,_0x97e5cd)=>{const _0x1fe0f4='init'==_0x59df75[_0x97e5cd]['type'];if('InsertOperation'==_0x2524e0['__className']){const _0x1a2cb5=_0x2524e0['position']['root'];!this['_document']['getRoot'](_0x1a2cb5)&&(this['_document']['createRoot']('$unknown',_0x1a2cb5)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2524e0['__className']){const _0x5a821d=this['_document']['getRoot'](_0x2524e0['rootName']);_0x5a821d&&'$unknown'==_0x5a821d['name']&&_0x2524e0['elementName']!=_0x5a821d['name']&&(_0x5a821d['name']=_0x2524e0['elementName']);}}const _0x84f06d=_0x56b57a['fromJSON'](_0x2524e0,this['_document']);return _0x84f06d['wasUndone']=_0x2524e0['wasUndone'],_0x84f06d['_isInit']=_0x1fe0f4,_0x84f06d['_authorId']=_0x1fe0f4?null:_0x59df75[_0x97e5cd]['userId'],_0x84f06d['_isDisconnection']='cs:removeUser'===_0x59df75[_0x97e5cd]['type'],_0x84f06d['_aiSource']=_0x2524e0['_aiSource']||void 0x0,_0x84f06d['createdAt']=_0x59df75[_0x97e5cd]['createdAt'],_0x84f06d;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5f5960=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5f5960&&_0x5f5960['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x3690ab,_0x2d77f4){for(const _0x283ad2 of _0x3690ab)_0x283ad2['baseVersion']=_0x2d77f4++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x3267fa){this['_ignoredOperations']=_0x3267fa,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x599390){let _0x37da33=_0x599390['length'];for(;_0x37da33--;){const _0x1bcb32=_0x599390[_0x37da33];if(!this['_ignoredOperations']['has'](_0x1bcb32)){if(!this['_operationToId']['has'](_0x1bcb32)){const _0x2f7371=_0x5920c8()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1bcb32,_0x2f7371);}return this['_operationToId']['get'](_0x1bcb32);}}}['setIdForTheLastOperation'](_0x4e73e9,_0x175188){if(!_0x175188)return;let _0x111954=_0x4e73e9['length'];for(;_0x111954--;){const _0x2c8d5=_0x4e73e9[_0x111954];this['_ignoredOperations']['has'](_0x2c8d5)||this['_operationToId']['set'](_0x2c8d5,_0x175188);}}},nt=class extends _0xba3866{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x748e16{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x29a0a9)());['_services'];static get['requires'](){return[z,_0x509c50,Y,_0x14b59c];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x325c96){super(_0x325c96),this['_services']=new Map();}async['init'](){const _0x209358=this['context'],_0xadcd70=_0x209358['plugins']['get'](_0x509c50);if(_0x209358['plugins']['get'](z)['addToReconnectionStack'](this),_0xadcd70['adapter']={'addCommentThread':async({channelId:_0x29f47e,threadId:_0x5cc06b,comments:_0x32fb9a,resolvedAt:_0x53bcf4,resolvedBy:_0x434c0f,context:_0x3964d1,attributes:_0x3fe98a})=>{const _0x3c8ba8=await this['_getService'](_0x29f47e)['addCommentThread']({'commentThreadId':_0x5cc06b,'comments':_0x32fb9a['map'](_0x489f80=>function(_0x2bc15c,_0x6e6540,_0x1666ee){return{'commentThreadId':_0x1666ee,'commentId':_0x2bc15c['commentId'],'userId':_0x2bc15c['authorId'],'content':_0x2bc15c['content'],'documentId':_0x6e6540,'createdAt':_0x2bc15c['createdAt'],'attributes':_0x2bc15c['attributes']||{}};}(_0x489f80,_0x29f47e,_0x5cc06b)),'resolvedAt':_0x53bcf4,'resolvedBy':_0x434c0f,'context':_0x3964d1,'attributes':_0x3fe98a})['catch'](ct);return{'threadId':_0x3c8ba8['commentThreadId'],'comments':_0x3c8ba8['comments']};},'getCommentThread':async({channelId:_0xdbffdc,threadId:_0x27104a})=>{const _0x37d741=await this['_getService'](_0xdbffdc)['getCommentThread'](_0x27104a)['catch'](rt)['catch'](ct);return _0x37d741?_0x37d741['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x37d741]),{'threadId':_0x37d741['commentThreadId'],'comments':_0x37d741['comments']['map'](at),'context':_0x37d741['context'],'resolvedAt':_0x37d741['resolvedAt'],'resolvedBy':_0x37d741['resolvedBy'],'attributes':_0x37d741['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x399fe9,threadId:_0x4b9a38,context:_0x5a7d3b,unlinkedAt:_0x28ad74,attributes:_0x552f33})=>this['_getService'](_0x399fe9)['updateCommentThread']({'commentThreadId':_0x4b9a38,'context':_0x5a7d3b,'attributes':_0x552f33,'unlinkedAt':_0x28ad74})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x780ccf,threadId:_0x3289c4})=>{const _0xa8e9af=await this['_getService'](_0x780ccf)['resolveCommentThread'](_0x3289c4)['catch'](rt)['catch'](ct);return{'threadId':_0xa8e9af['commentThreadId'],'resolvedAt':_0xa8e9af['resolvedAt'],'resolvedBy':_0xa8e9af['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2a2030,threadId:_0x1709dc})=>this['_getService'](_0x2a2030)['reopenCommentThread'](_0x1709dc)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5b275b,threadId:_0x4fdef8})=>this['_getService'](_0x5b275b)['removeCommentThread'](_0x4fdef8)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x58b11f,threadId:_0x38c36c,commentId:_0x5c1e83,content:_0xb8decb,attributes:_0x3e2e7c})=>this['_getService'](_0x58b11f)['addComment'](_0x38c36c,_0x5c1e83,_0xb8decb,_0x3e2e7c)['catch'](ct),'updateComment':({channelId:_0xd7e592,threadId:_0x2488d2,commentId:_0x3f0b4a,content:_0xd8a389,attributes:_0x4880ad})=>this['_getService'](_0xd7e592)['updateComment'](_0x2488d2,_0x3f0b4a,_0xd8a389,_0x4880ad)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x482820,threadId:_0x3727d4,commentId:_0xf56223})=>this['_getService'](_0x482820)['removeComment'](_0x3727d4,_0xf56223)['catch'](rt)['catch'](ct)},_0x209358 instanceof _0x403fa9){const _0x1a86ad=_0x209358['config']['get']('collaboration.channelId'),_0x59bf18=_0x209358['plugins']['get'](Y);await this['_setUpService'](_0x1a86ad);const _0x4640d9=await this['_services']['get'](_0x1a86ad)['getConnectedSessions']();this['listenTo'](_0x59bf18,'sessionAdd:'+_0x1a86ad,(_0x77d140,{session:_0x1bcbfa})=>{_0x1bcbfa['id']===_0x59bf18['mySessionId']&&(_0x77d140['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1bcbfa['permissions'],_0x1a86ad));}),_0x59bf18['register'](_0x1a86ad,_0x4640d9);}}async['_setUpService'](_0x126d9b){if(this['_services']['has'](_0x126d9b))throw new _0x3f1dcf('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x126d9b});const _0x8073aa=this['context']['plugins']['get'](_0x509c50),_0x670555=new CloudServicesCommentsAdapter['CommentsService'](_0x126d9b);this['_services']['set'](_0x126d9b,_0x670555),this['listenTo'](_0x670555,'commentThreadAdded',(_0x9a5c71,_0x220b76)=>{const {commentThreadId:_0x4cdcc0,documentId:_0xffaf88,context:_0x5c9f05,attributes:_0x1208c7,resolvedAt:_0x14b1d1,resolvedBy:_0x159208,comments:_0x8b4fc5}=_0x220b76;_0x8073aa['getCommentThread'](_0x4cdcc0)||_0x8073aa['addCommentThread']({'threadId':_0x4cdcc0,'channelId':_0xffaf88,'comments':_0x8b4fc5?_0x8b4fc5['map'](at):[],'context':_0x5c9f05,'attributes':_0x1208c7,'resolvedAt':_0x14b1d1,'resolvedBy':_0x159208,'isFromAdapter':!0x0});}),this['listenTo'](_0x670555,'commentThreadUpdated',(_0x2b9271,{commentThreadId:_0x4ebc8a,documentId:_0x16f0bf,context:_0x240e0b,unlinkedAt:_0x17512e,attributes:_0x450be6})=>{_0x8073aa['getCommentThread'](_0x4ebc8a)&&_0x8073aa['updateCommentThread']({'threadId':_0x4ebc8a,'channelId':_0x16f0bf,'context':_0x240e0b,'unlinkedAt':_0x17512e,'attributes':_0x450be6,'isFromAdapter':!0x0});}),this['listenTo'](_0x670555,'commentThreadResolved',(_0x2926db,{commentThreadId:_0x34735b,resolvedBy:_0x42edf4,resolvedAt:_0x32903e})=>{const _0x4d3556=_0x8073aa['getCommentThread'](_0x34735b);_0x4d3556&&_0x4d3556['resolve']({'resolvedBy':_0x42edf4,'resolvedAt':_0x32903e,'isFromAdapter':!0x0});}),this['listenTo'](_0x670555,'commentThreadReopened',(_0x512af9,{commentThreadId:_0xbf68b0})=>{const _0x56373f=_0x8073aa['getCommentThread'](_0xbf68b0);_0x56373f&&_0x56373f['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x670555,'commentThreadRemoved',(_0x20cf6d,{commentThreadId:_0x16bf90})=>{const _0x9ea317=_0x8073aa['getCommentThread'](_0x16bf90);_0x9ea317&&_0x9ea317['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x670555,'commentAdded',(_0x2e254a,_0x25d3c4)=>{const _0x4a0a74=_0x25d3c4['commentThreadId'],_0x373afc=_0x8073aa['getCommentThread'](_0x4a0a74);_0x373afc&&_0x373afc['addComment']({...at(_0x25d3c4),'isFromAdapter':!0x0});}),this['listenTo'](_0x670555,'commentUpdated',(_0x4e01b9,{commentThreadId:_0x22e777,commentId:_0x4ed7c3,content:_0x42018a,attributes:_0x2b73a4})=>{const _0x457d9f=_0x8073aa['getCommentThread'](_0x22e777);if(_0x457d9f){const _0x51eee6=_0x457d9f['getComment'](_0x4ed7c3);_0x51eee6&&_0x51eee6['update']({'content':_0x42018a,'attributes':_0x2b73a4,'isFromAdapter':!0x0});}}),this['listenTo'](_0x670555,'commentRemoved',(_0x3c9b80,{commentThreadId:_0x5aafe5,commentId:_0x259bb6})=>{const _0x4d97f3=_0x8073aa['getCommentThread'](_0x5aafe5);if(_0x4d97f3){const _0x5e76d1=_0x4d97f3['getComment'](_0x259bb6);_0x5e76d1&&_0x5e76d1['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x670555,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x126d9b),this['stopListening'](_0x670555));}),await this['_connectService'](_0x126d9b);}['destroy'](){if(this['context']instanceof _0x403fa9){const _0x40ea8a=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x40ea8a)&&this['_terminateService'](_0x40ea8a);}}['_terminateService'](_0x55b4af){if(!this['_services']['has'](_0x55b4af))throw new _0x3f1dcf('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x55b4af});this['_getService'](_0x55b4af)['disconnect'](),this['_services']['delete'](_0x55b4af);}async['reconnect'](){for(const _0xb0c144 of this['_services']['keys']())await this['_connectService'](_0xb0c144);if(this['context']instanceof _0x403fa9){const _0x303bcf=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x303bcf)){const _0x2b4d00=this['context']['plugins']['get'](Y);_0x2b4d00['unregister'](_0x303bcf);const _0x14ad8f=await this['_services']['get'](_0x303bcf)['getConnectedSessions']();_0x2b4d00['register'](_0x303bcf,_0x14ad8f);}}}async['_connectService'](_0x919bc3){const {connection:_0x39ca14}=this['context']['plugins']['get'](z),_0x19c903=this['context']['plugins']['get'](_0x509c50),_0x3ef6a0=await this['_services']['get'](_0x919bc3)['connect'](_0x39ca14);await this['_fetchMissingUsersForThreads'](_0x3ef6a0);const _0x33c959=new Set(Array['from'](_0x19c903['getCommentThreads']({'channelId':_0x919bc3}),_0x52e847=>_0x52e847['id']));for(const _0x49d5d7 of _0x3ef6a0)_0x49d5d7['deletedAt']||_0x33c959['delete'](_0x49d5d7['commentThreadId']);for(const _0x1504bb of _0x33c959)_0x19c903['getCommentThread'](_0x1504bb)['remove']({'isFromAdapter':!0x0});for(const _0x217f19 of _0x3ef6a0){let _0x3c8260=_0x19c903['getCommentThread'](_0x217f19['commentThreadId']);const {commentThreadId:_0x531e7f,context:_0xdd1c3c,attributes:_0x313285,resolvedBy:_0x27de7e,resolvedAt:_0x5261f0,unlinkedAt:_0xaada5b,deletedAt:_0x2b9b8b}=_0x217f19;if(_0x2b9b8b)continue;_0x3c8260||(_0x3c8260=_0x19c903['addCommentThread']({'channelId':_0x919bc3,'threadId':_0x531e7f,'context':_0xdd1c3c,'attributes':_0x313285||{},'resolvedBy':_0x27de7e,'resolvedAt':_0x5261f0,'unlinkedAt':_0xaada5b,'isFromAdapter':!0x0}));const _0x1dd299=new Set(Array['from'](_0x3c8260['comments'],_0x185ec4=>_0x185ec4['id']));for(const _0x2b3eac of _0x217f19['comments'])_0x1dd299['delete'](_0x2b3eac['commentId']);for(const _0x1a8563 of _0x1dd299)_0x3c8260['getComment'](_0x1a8563)['remove']({'isFromAdapter':!0x0});for(const _0x49f908 of _0x217f19['comments']){const _0x5329c0=_0x3c8260['getComment'](_0x49f908['commentId']);_0x5329c0?_0x5329c0['content']!==_0x49f908['content']&&_0x5329c0['update']({'content':_0x49f908['content'],'isFromAdapter':!0x0}):_0x3c8260['addComment'](Object['assign'](at(_0x49f908),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4617f8){if(!this['_services']['has'](_0x4617f8))throw new _0x3f1dcf('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4617f8});return this['_services']['get'](_0x4617f8);}async['_fetchMissingUsersForThreads'](_0x276900){const _0x5296be=this['context']['plugins']['get'](_0x14b59c),{connection:_0x4f5b98}=this['context']['plugins']['get'](z),_0x4d12e0=new Set();for(const {resolvedBy:_0x3b7557,comments:_0x399c51}of _0x276900){_0x3b7557&&!_0x5296be['getUser'](_0x3b7557)&&_0x4d12e0['add'](_0x3b7557);for(const {userId:_0x307635}of _0x399c51)_0x5296be['getUser'](_0x307635)||_0x4d12e0['add'](_0x307635);}if(0x0===_0x4d12e0['size'])return;const _0x15e4cc=await _0x4a06bf['getMany'](_0x4f5b98,Array['from'](_0x4d12e0));for(const _0x15948c of _0x15e4cc)_0x5296be['getUser'](_0x15948c['id'])||_0x5296be['addUser'](_0x15948c);}};async function rt(_0x411f50){if('404'!==_0x411f50['code'])throw _0x411f50;}function ct(_0x580874){if((_0x2b76c2=_0x580874)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2b76c2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2b76c2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2b76c2;throw _0x580874;}function at(_0x141807){return{'threadId':_0x141807['commentThreadId'],'commentId':_0x141807['commentId'],'content':_0x141807['content'],'createdAt':_0x141807['createdAt'],'authorId':_0x141807['userId'],'attributes':_0x141807['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0xba3866{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x52f9bc)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x2053c1,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4bc7f4){super(_0x4bc7f4);const _0x952971=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x952971);}['init'](){const _0x59e87=this['editor']['plugins']['get'](z),_0x270547=this['editor']['plugins']['get'](_0x2053c1);return _0x270547['adapter']={'getSuggestion':async _0x1265a1=>{await this['_waitForServiceReady']();const _0x58f45b=await this['_trackChangesService']['get'](_0x1265a1)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x58f45b]),_0x58f45b;},'addSuggestion':async({id:_0x2c78fe,type:_0x4078e1,data:_0x1a4f1f,originalSuggestionId:_0x14c493,attributes:_0x474004})=>{await this['_waitForServiceReady']();const _0x50bac6={'id':_0x2c78fe,'type':_0x4078e1,'data':_0x1a4f1f,'originalSuggestionId':_0x14c493,'attributes':_0x474004},_0x307ce1=await this['_trackChangesService']['add'](_0x2c78fe,_0x4078e1,_0x1a4f1f,_0x14c493,_0x474004)['catch'](_0x2f5214=>{if(dt(_0x2f5214))return new Promise(_0x3f1dd7=>{this['_bufferedRequests']['set'](_0x2c78fe,{'resolve':_0x3f1dd7,'suggestionData':_0x50bac6});});throw _0x2f5214;});return this['_bufferedRequests']['delete'](_0x2c78fe),_0x307ce1;},'updateSuggestion':async(_0x42c526,_0x2922fa)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2922fa['state'])return this['_trackChangesService']['update'](_0x42c526,_0x2922fa)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x17ab5a,_0x41022b)=>{_0x270547['hasSuggestion'](_0x41022b['id'])&&(_0x270547['getSuggestion'](_0x41022b['id'])['attributes']=_0x41022b['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x59e87['connection']?.['state']&&(_0x59e87['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x59e87['connection'])['then'](_0x270351=>(_0x59e87['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x270351)['then'](()=>{for(const _0x1916da of _0x270351){_0x270547['addSuggestionData'](_0x1916da)['_saved']=!0x0;}})));}async['reconnect'](){const _0x58e2ec=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x48667c}=this['editor']['plugins']['get'](z),_0x5f4e3f=await this['_trackChangesService']['connect'](_0x48667c);await this['_fetchMissingUsersForThreads'](_0x5f4e3f);for(const {suggestionData:_0x390f23,resolve:_0x40611b}of this['_bufferedRequests']['values']()){let _0x1e199e=_0x5f4e3f['find'](_0x1cf7d3=>_0x1cf7d3['id']===_0x390f23['id']);_0x1e199e||(_0x1e199e=await this['_trackChangesService']['add'](_0x390f23['id'],_0x390f23['type'],_0x390f23['data'],_0x390f23['originalSuggestionId'])),_0x40611b(_0x1e199e);}for(const _0x5a1033 of _0x5f4e3f)_0x58e2ec['hasSuggestion'](_0x5a1033['id'])||_0x58e2ec['addSuggestionData'](_0x5a1033);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x30b853=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1e5475=>{_0x1e5475['off'](),_0x30b853();});});}async['_fetchMissingUsersForThreads'](_0x3846ae){const _0x25e627=this['editor']['plugins']['get'](_0x14b59c),{connection:_0x47faf9}=this['editor']['plugins']['get'](z),_0x1ce2e6=new Set();for(const {authorId:_0x56ed2d}of _0x3846ae)_0x25e627['getUser'](_0x56ed2d)||_0x1ce2e6['add'](_0x56ed2d);if(0x0===_0x1ce2e6['size'])return;const _0x88e019=await _0x4a06bf['getMany'](_0x47faf9,Array['from'](_0x1ce2e6));for(const _0x2ac593 of _0x88e019)_0x25e627['getUser'](_0x2ac593['id'])||_0x25e627['addUser'](_0x2ac593);}};function lt(_0x163de0){if(dt(_0x163de0))return new Promise(()=>{});throw _0x163de0;}function dt(_0x23797e){return _0x23797e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x23797e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0xba3866{static get['requires'](){return[_0x2de072,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xb39199=this['editor']['plugins']['get'](z),_0x5af1a5=this['editor']['plugins']['get'](_0x34f96c),_0x3d0df2=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xb39199,'change:state',(_0x5d0968,_0x14b5c1,_0x2631b0)=>{_0x5af1a5['isThreadsLoadingPaused']='connected'!==_0x2631b0;});}),this['listenTo'](_0xb39199,'change:state',(_0x375938,_0x38c37f,_0x3f193b)=>{this['editor']['plugins']['get'](_0x509c50)['switchReadOnly']('connected'!==_0x3f193b);}),_0x3d0df2['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0xa428c4=this['editor']['plugins']['get'](ot),_0x3aa8fb=this['editor']['config']['get']('collaboration.channelId');_0xa428c4['_services']['has'](_0x3aa8fb)&&_0xa428c4['_terminateService'](_0x3aa8fb),super['destroy']();}},ft=class extends _0xba3866{static get['requires'](){return[ut,ht,_0x32388c];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0xba3866{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x145221)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x5a9f69,Y,_0x14b59c];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x196545){super(_0x196545);const _0x102b89=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x102b89);}async['init'](){const _0x988b1d=this['editor']['plugins']['get'](tt),_0x10f343=_0x988b1d['serverHistory'],_0x4542ed=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x10f343,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x988b1d['sessionId']});const _0x35943b=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x13d0cc,_0x50061f=await _0x451a45['isBundleUploaded'](_0x4542ed['connection'],_0x35943b);this['editor']['plugins']['get'](_0x5a9f69)['adapter']={'getRevision':async({revisionId:_0xcd959d})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xcd959d)),'updateRevisions':async _0x1f7f67=>{await this['_waitForServiceReady']();const _0x46eff9=this['_revisionTracker']['currentRevision'];if(_0x50061f&&0x1===_0x1f7f67['length']&&_0x1f7f67[0x0]['id']===_0x46eff9['id'])return _0x1f7f67;for(const _0x1a46ae of _0x1f7f67)_0x1a46ae['id']===_0x46eff9['id']&&(_0x1a46ae['isEmptyCurrent']=_0x1a46ae['fromVersion']===_0x1a46ae['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1f7f67,this['_lastRequestId'])['then'](_0x24b6e4=>(this['_lastRequestId']=_0x24b6e4,_0x1f7f67))['catch'](_0xfe4758=>{if(pt(_0xfe4758)||'400'===_0xfe4758['code']&&void 0x0!==_0xfe4758['data']['wrongRequestId']){for(const _0x20ec98 of _0x1f7f67)this['_revisionTracker']['repository']['getRevision'](_0x20ec98['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x20ec98['id'],_0x20ec98,!0x1);if(pt(_0xfe4758)&&'destroyed'!==this['editor']['state'])throw _0xfe4758;return _0x1f7f67;}throw _0xfe4758;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x291b4c,{revisionsData:_0x3b42c6,requestId:_0x59b439})=>{Math['max'](..._0x3b42c6['map'](_0x211bfa=>_0x211bfa['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b42c6,_0x59b439);}):this['_handleRevisionsUpdate'](_0x3b42c6,_0x59b439);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x4542ed['connection']?.['state']&&(_0x4542ed['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x217fc7,requestId:_0x2d58bf}=await this['_revisionHistoryService']['connect'](_0x4542ed['connection']);_0x4542ed['addToReconnectionStack'](this),this['_lastRequestId']=_0x2d58bf,await this['_fetchMissingUsers'](_0x217fc7);for(const _0x2cb31c of _0x217fc7)this['_revisionTracker']['addRevisionData'](_0x2cb31c);this['listenTo'](_0x988b1d,'change:_isConnected',(_0x5c98e,_0x412975,_0x1b6331)=>{_0x1b6331&&(this['_oldOffset']=_0x988b1d['_offset'],_0x5c98e['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x343bdf=this['editor']['plugins']['get'](z),_0x9ea0b5=this['editor']['plugins']['get'](tt),_0x4c988a=async()=>{const _0x39c09b=this['_revisionTracker']['currentRevision'],_0x4615fd=_0x39c09b['id'],_0x36e2e3=_0x4615fd!==_0x9ea0b5['sessionId'];if(_0x36e2e3){const _0x186ba2=_0x9ea0b5['_offset']-this['_oldOffset'],_0xa4e785=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x39c09b['toVersion']+_0x186ba2!==_0xa4e785){const _0x57ff45=_0x39c09b['fromVersion']+_0x186ba2,_0x35f919=this['editor']['plugins']['get'](_0x14b59c),_0x246c1b=this['_revisionTracker']['buildRevisionData']({'revision':_0x39c09b,'from':_0x57ff45,'to':_0xa4e785});_0x246c1b['id']=_0x39c09b['id'];const _0x214190=_0x246c1b['authorsIds']['map'](_0x56ae05=>_0x35f919['getUser'](_0x56ae05));_0x39c09b['_update']({..._0x246c1b,'authors':_0x214190},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x39c09b['id'],_0x246c1b,!0x0);}this['_revisionTracker']['_startingVersion']=_0xa4e785,_0x39c09b['toVersion']!==_0x39c09b['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x4615fd)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x4615fd),this['_revisionTracker']['_createCurrentRevision'](_0xa4e785);}const {revisions:_0x1d2a07,requestId:_0x333f81}=await this['_revisionHistoryService']['reconnect'](_0x343bdf['connection'],this['_lastRequestId']);_0x36e2e3&&_0x1d2a07['length']>0x0?_0x9ea0b5['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x1d2a07),this['_handleRevisionsUpdate'](_0x1d2a07,_0x333f81),this['_revisionTracker']['sendBufferedUpdates']());};return _0x9ea0b5['_isConnected']?_0x4c988a():new Promise((_0x599c40,_0x2fdb67)=>{_0x9ea0b5['once']('change:_isConnected',()=>{_0x4c988a()['then'](_0x599c40)['catch'](_0x2fdb67);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5b0b93=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3dd27c=>{_0x3dd27c['off'](),_0x5b0b93();});});}['_getLatestVersionFromServerOperations'](){const _0x33d68b=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x4a4067 of _0x33d68b)if('marker'!==_0x4a4067['type']||_0x4a4067['affectsData'])return _0x4a4067['baseVersion']+0x1;}['_getLatestVersion'](){const _0x512f12=this['editor']['plugins']['get'](tt);return new Promise(_0x3f5395=>{_0x512f12['_isPendingUpdate']?_0x512f12['once']('change:_isPendingUpdate',()=>{_0x3f5395(this['_getLatestVersionFromServerOperations']());}):_0x3f5395(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x343d1b,_0x3fab77){const _0x5a1d34=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3fab77;for(const _0x2c1045 of _0x343d1b){const _0x70a4e2=_0x5a1d34['getRevision'](_0x2c1045['id']);if(_0x70a4e2){if((_0x2c1045['fromVersion']||_0x2c1045['toVersion'])&&(_0x2c1045['diffData']=null),_0x70a4e2===this['_revisionTracker']['currentRevision']){const _0x3b9a21=Math['max'](_0x70a4e2['toVersion'],_0x2c1045['toVersion']),_0x146d1a=Math['max'](_0x70a4e2['fromVersion'],_0x2c1045['fromVersion']);let _0x46e85a;_0x70a4e2['toVersion']===_0x2c1045['toVersion']&&_0x70a4e2['fromVersion']===_0x2c1045['fromVersion']?(_0x46e85a=!0x0,this['_preventResendingRevisionData'](_0x2c1045)):_0x2c1045['toVersion']===_0x3b9a21&&_0x2c1045['fromVersion']===_0x146d1a?_0x46e85a=!0x1:(_0x70a4e2['toVersion']===_0x3b9a21&&_0x70a4e2['fromVersion']===_0x146d1a||this['_fixRevision']({'revision':_0x70a4e2,'from':_0x146d1a,'to':_0x3b9a21}),_0x46e85a=!0x0),_0x46e85a&&(delete _0x2c1045['fromVersion'],delete _0x2c1045['toVersion'],delete _0x2c1045['diffData'],delete _0x2c1045['createdAt'],delete _0x2c1045['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2c1045),this['_preventResendingRevisionData'](_0x2c1045);}else this['_revisionTracker']['addRevisionData'](_0x2c1045);}const _0x1ea12c=_0x5a1d34['getRevisions']();_0x1ea12c['reverse']();for(let _0x3426f7=0x0;_0x3426f7<_0x1ea12c['length']-0x1;_0x3426f7++){const _0x286c52=_0x1ea12c[_0x3426f7],_0x5ec5ce=_0x1ea12c[_0x3426f7+0x1];if(_0x286c52['fromVersion']<_0x5ec5ce['toVersion']){const _0x5a1b47=_0x5ec5ce['toVersion'],_0x52d406=Math['max'](_0x5a1b47,_0x286c52['toVersion']);this['_fixRevision']({'revision':_0x286c52,'from':_0x5a1b47,'to':_0x52d406});}}}['_fixRevision']({revision:_0x5e66cc,from:_0x347669,to:_0x302298}={}){const _0x4789db=this['editor']['plugins']['get'](_0x14b59c),_0x30131b=this['_revisionTracker']['buildRevisionData']({'revision':_0x5e66cc,'from':_0x347669,'to':_0x302298});_0x30131b['authors']=_0x30131b['authorsIds']['map'](_0x5b9422=>_0x4789db['getUser'](_0x5b9422)),_0x5e66cc['_update'](_0x30131b);}['_preventResendingRevisionData'](_0x234e29){const _0x2e3098={};_0x2e3098['id']=_0x234e29['id'];for(const _0x104abe of Object['keys'](_0x234e29))'id'!==_0x104abe&&(_0x2e3098[_0x104abe]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x2e3098['id'],_0x2e3098,!0x0);}async['_fetchMissingUsers'](_0x515b84){const _0x2d2ce7=this['editor']['plugins']['get'](_0x14b59c),{connection:_0x411f61}=this['editor']['plugins']['get'](z),_0x1d37c9=new Set();for(const _0x131289 of _0x515b84){for(const _0x435b9f of _0x131289['authorsIds'])_0x16a9c7(_0x435b9f);_0x131289['creatorId']&&_0x16a9c7(_0x131289['creatorId']);}if(0x0===_0x1d37c9['size'])return;const _0x5ed725=await _0x4a06bf['getMany'](_0x411f61,Array['from'](_0x1d37c9));for(const _0x471f55 of _0x5ed725)_0x2d2ce7['getUser'](_0x471f55['id'])||_0x2d2ce7['addUser'](_0x471f55);function _0x16a9c7(_0x2206ea){_0x2d2ce7['getUser'](_0x2206ea)||_0x1d37c9['add'](_0x2206ea);}}};function pt(_0x1785da){return _0x1785da['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1785da['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1785da['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0xba3866{static get['requires'](){return[_0x5a9f69,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x48e552{['_collapseAt'];constructor(_0x3410b9,_0x5d35cf=0x6){super(_0x3410b9);const _0x3a90a5=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5d35cf,this['bind']('isHidden')['to'](this,'usersCount',_0x10b17a=>_0x10b17a<_0x5d35cf),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x3a90a5['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':_0x3a90a5['to']('usersCount',_0x689953=>'+'+(_0x689953-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x48e552{['items'];['keystrokes'];constructor(_0x12fd0d){super(_0x12fd0d);const _0x349288=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5a77f1(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x349288['if']('hasPopup'),'aria-expanded':_0x349288['to']('isExpanded',_0x57e5a1=>this['hasPopup']&&String(_0x57e5a1)),'aria-label':_0x349288['to']('hasPopup',_0x2ab32a=>X(_0x12fd0d,_0x2ab32a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x349288['to']('hasPopup',_0x12e514=>!!_0x12e514&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x349288['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x349288['to'](_0x20331d=>{const _0x339a37=_0x20331d,_0x3dd63d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x57f34b=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3dd63d?.['contains'](_0x339a37['relatedTarget'])||_0x57f34b?.['contains'](_0x339a37['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4d1c6c,_0x10eec6,_0x29355b)=>{this['element']&&(_0x29355b?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 _0x48e552{['counterView'];['inlineListView'];constructor(_0x5943de,_0x48ddfc=0x6){super(_0x5943de);const _0x522a1a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x48ddfc),this['inlineListView']=new vt(_0x5943de),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1dcd54 of this['inlineListView']['items'])_0x1dcd54['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',_0x522a1a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x48e552{['listWrapperView'];constructor(_0x2804e9,_0xfad4b0){super(_0x2804e9);const _0x4b4029=this['bindTemplate'];this['listWrapperView']=new bt(_0x2804e9,_0xfad4b0),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x2804e9,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4b4029['to'](_0x46d8cb=>{const _0x3c7a09=_0x46d8cb,_0x2eb313=document['querySelector']('.ck-presence-list__list'),_0x3f4605=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2eb313?.['contains'](_0x3c7a09['relatedTarget'])||_0x3f4605?.['contains'](_0x3c7a09['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x5dc78c{constructor(_0x3c7315,_0x165b69){super(_0x3c7315);const _0x1d6657=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x165b69?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1d6657['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1d6657['to']('role'),'aria-label':_0x1d6657['to']('ariaLabel'),'aria-labelledby':_0x1d6657['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3c55b7['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xf5b646=this['element'];_0xf5b646&&(this['_isScrollable']=Math['max'](_0xf5b646['scrollHeight'],_0xf5b646['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x1b5251{['userView'];constructor(_0x41917e,_0x5e3fd8,_0x323907){super(_0x41917e);const _0x2b14b9=this['bindTemplate'];this['userView']=new _0x10a99c(_0x41917e,_0x5e3fd8);const _0x401c12={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5e3fd8['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5e3fd8['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5e3fd8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5e3fd8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5e3fd8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x323907&&(_0x401c12['tag']='button',_0x401c12['on']={'click':_0x2b14b9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x401c12);}['focus'](){this['element']['focus']();}},It=class extends _0x48e552{['userView'];['markerView'];constructor(_0x8add37,_0x592c65,_0x9d8126){super(_0x8add37);const _0x557311=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x10a99c(_0x8add37,_0x592c65),this['markerView']=new St(_0x8add37,_0x592c65);const _0x514788=new _0x1a8e59(_0x8add37);_0x514788['template']['tag']='span',_0x514788['text']=_0x592c65['name'];const _0x3b498a={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x557311['to']('isFocusable',_0x4a6ee9=>!!_0x4a6ee9&&0x0),'aria-labelledby':_0x514788['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x557311['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x557311['to']('hasTooltip',_0x5d8e98=>!_0x5d8e98),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x514788]};_0x9d8126&&(_0x3b498a['tag']='button',_0x3b498a['on']={'click':_0x557311['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3b498a);}},St=class extends _0x48e552{constructor(_0x2e005d,_0x203f22){super(_0x2e005d),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x203f22['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x203f22['color']['getColorVariable'](),'--ck-user-color-alpha':_0x203f22['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x748e16{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1db676){super(_0x1db676),this['context']['config']['define']('presenceList',Tt);const _0x4c829c=_0x1db676['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4c829c)throw new _0x3f1dcf('presencelist-collapseat-invalid-format',this);if(_0x4c829c<0x1)throw new _0x3f1dcf('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x271755(),this['balloonPanelView']=new _0x14124b(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1a14e4 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1a14e4);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4a380d,_0x5b8c21)=>{this['_handleUserAdd'](_0x5b8c21);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x29c3f9,_0xfcd914)=>{this['_handleUserRemove'](_0xfcd914);});}['_createView'](){const _0x1f3b4d=this['context'],_0x5b9e34=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x180e1d=this['balloonPanelView'];if(!_0x19e585(_0x1f3b4d['config']['get']('presenceList.container')))throw new _0x3f1dcf('presencelist-missing-container',this);return _0x5b9e34['counterView']['bind']('usersCount')['to'](this),_0x5b9e34['bind']('isCollapsed')['to'](this,'usersCount',_0x15dd36=>{const {collapseAt:_0x484f56}=_0x1f3b4d['config']['get']('presenceList'),_0x204725=_0x15dd36>=_0x484f56;if(_0x204725&&!_0x5b9e34['inlineListView']['items']['find'](_0xfa0868=>_0xfa0868 instanceof wt)){const _0x35d131=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x35d131&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5b9e34['inlineListView']['items']['add'](_0x5b9e34['counterView']);}return _0x204725||this['hideDropdown'](),_0x204725;}),_0x5b9e34['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x550eac=>{const _0x2cb979=_0x1f3b4d['config']['get']('presenceList'),_0x28d68a=new It(_0x1f3b4d['locale'],_0x550eac,!!_0x2cb979['onClick']);return _0x28d68a['bind']('hasTooltip')['to'](_0x5b9e34,'isCollapsed',_0x4bd06a=>!_0x4bd06a),_0x28d68a['bind']('isFocusable')['to'](_0x5b9e34,'isCollapsed',_0x5bd38b=>!_0x5bd38b),_0x2cb979['onClick']&&this['listenTo'](_0x28d68a,'execute',()=>{this['view']['isCollapsed']||_0x2cb979['onClick'](_0x550eac,_0x28d68a['element']);}),_0x28d68a;}),this['listenTo'](_0x5b9e34['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5b9e34['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5b9e34['inlineListView']['keystrokes']['set']('Enter',(_0x84918c,_0x4950bd)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4950bd());}),_0x5b9e34['render'](),_0x180e1d['render'](),_0x2c9d92({'emitter':_0x5b9e34,'activator':()=>_0x180e1d['isVisible'],'contextElements':[_0x180e1d['element'],_0x5b9e34['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1f3b4d['config']['get']('presenceList.container')['appendChild'](_0x5b9e34['element']),this['_bodyCollection']=new _0x47ad2b(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5b9e34;}['_handleUserAdd'](_0x1e2534){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1e2534['isMe'])return;const _0x2d4234=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2d4234-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x386402=_0x1e2534['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1e2534,_0x386402);}['_handleUserRemove'](_0x596775){this['usersCount']--;const {collapseAt:_0x384f6c}=this['context']['config']['get']('presenceList'),_0x3c4ad2=this['usersCount']>=_0x384f6c;if(this['currentDisplayedUsers']['get'](_0x596775['id']))this['currentDisplayedUsers']['remove'](_0x596775['id']);else{if(_0x3c4ad2&&this['currentDisplayedUsers']['length']+0x1===_0x384f6c-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3c4ad2?0x1:0x0)<this['usersCount']){for(const _0x1bd1a2 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1bd1a2['id'])&&(this['currentDisplayedUsers']['add'](_0x1bd1a2,Math['min'](this['currentDisplayedUsers']['length']-(_0x3c4ad2?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3c4ad2?0x1:0x0)===_0x384f6c-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x26bd4d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x26bd4d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x290c89}=this['presenceDropdownView'];_0x290c89['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x13b94d=>{if(!_0x26bd4d['displayMe']&&_0x13b94d['isMe'])return null;const _0x48ee4b=new kt(this['context']['locale'],_0x13b94d,!!_0x26bd4d['onClick']);return _0x26bd4d['onClick']&&this['listenTo'](_0x48ee4b,'execute',()=>{_0x26bd4d['onClick'](_0x13b94d,_0x48ee4b['element']);}),_0x48ee4b;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x290c89['focus'](),_0x290c89['checkIfScrollable']();const _0x1ec367=(_0x3c09ef,_0x39f51a)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x39f51a();};_0x290c89['keystrokes']['set']('Esc',_0x1ec367),_0x290c89['keystrokes']['set']('Shift+Tab',_0x1ec367),_0x290c89['keystrokes']['set']('Tab',(_0x5a2ca7,_0x5bcb37)=>{!function(_0x375f37){const _0x3346d4=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2e63ad=>_0x2e63ad+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2e0010=[...document['body']['querySelectorAll'](_0x3346d4)]['filter'](_0x4d113e=>_0x4d113e===document['activeElement']||_0x4d113e['offsetWidth']+_0x4d113e['offsetHeight']>0x0)['sort']((_0x2ea8ed,_0x4591d8)=>(_0x2ea8ed['tabIndex']||0x0)-(_0x4591d8['tabIndex']||0x0)),_0x1c11e0=_0x2e0010[(_0x2e0010['indexOf'](_0x375f37)+0x1)%_0x2e0010['length']];_0x1c11e0&&_0x1c11e0['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5bcb37();}),_0x290c89['focusTracker']['add'](this['view']['element']),_0x290c89['focusTracker']['on']('change:isFocused',(_0x311396,_0x199116,_0x36419c)=>{_0x36419c||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 _0x748e16{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};
|