@ckeditor/ckeditor5-real-time-collaboration 48.4.0-alpha.0 → 48.4.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -6
- package/dist/translations/af.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
|
-
((()=>_0x39b97a)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0xfd22db,_0x4a8d3c];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x337d50){super(_0x337d50),this['set']('state',_0x590631['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x43bed2())();}init(){const _0x2a4f92=this['context'],_0x1e9c20=_0x2a4f92['plugins']['get'](_0xfd22db),_0x52f9a0=_0x2a4f92['plugins']['get'](_0x4a8d3c);if(!_0x1e9c20['token'])throw new _0x370faa('websocketgateway-missing-token',this);if(!_0x1e9c20['webSocketUrl'])throw new _0x370faa('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'](_0x1e9c20['token'],_0x1e9c20['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3bab0d=>{if(this['connection']=_0x3bab0d,this['bind']('state')['to'](_0x3bab0d,'state',this,'_isBrowserOffline',(_0x41be20,_0x4d3dfc)=>('connected'!==_0x41be20&&(this['_shouldPluginsReconnect']=!0x0),_0x4d3dfc||_0x41be20!==_0x590631['CONNECTED']?_0x590631['DISCONNECTED']:this['state']==_0x590631['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x590631['CONNECTING']):_0x590631['CONNECTED'])),this['connection']['on']('error',(_0x1c3a63,_0x568dc9)=>{if('limitExceeded'!==_0x568dc9['code'])throw console['error'](_0x568dc9),new _0x370faa('cloudservices-init',null,{'originalError':_0x568dc9});_0x52f9a0['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'});}),!_0x3bab0d['me'])return new Promise(_0x16d0de=>_0x3bab0d['on']('change:me',_0x16d0de));})['catch'](_0x419b6c=>{throw console['error'](_0x419b6c),new _0x370faa('cloudservices-init',null,{'originalError':_0x419b6c});});}addToReconnectionStack(_0x5b19d1){if('function'!=typeof _0x5b19d1['reconnect'])throw new _0x370faa('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5b19d1))throw new _0x370faa('websocketgateway-plugin-already-registered',this,{'name':_0x5b19d1['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5b19d1);}removeFromReconnectionStack(_0x466ec6){this['_reconnectionStack']['delete'](_0x466ec6);}isInReconnectionStack(_0x4a5f62){return this['_reconnectionStack']['has'](_0x4a5f62);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1c1e39=>_0x1c1e39['reconnect']())))['then'](()=>this['state']=_0x590631['CONNECTED'])['catch'](_0x40f436=>{throw console['error'](_0x40f436),new _0x370faa('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x590631['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x4b84ca{['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,_0x226ed0];}constructor(_0x4211ff){super(_0x4211ff),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1cc682(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x226ed0);}init(){const _0x2239c6=this['context']['plugins']['get'](z);this['listenTo'](_0x2239c6,'change:state',(_0x10824d,_0x5a608a,_0xc494db)=>{if('connected'!==_0xc494db)this['channelSessions']['forEach'](_0x45d008=>_0x45d008['clear']()),this['channelConnectedUsers']['forEach'](_0x2cf9ca=>_0x2cf9ca['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x12c012,_0x5bc67e]of this['_registeredSessions'])for(const _0x4db1f5 of _0x5bc67e)this['_handleSessionAdd'](_0x12c012,_0x4db1f5);}}),this['_createUser'](_0x2239c6['connection']['me'],!0x0);}register(_0x2d759a,_0x40d0be){if(this['_registeredSessions']['has'](_0x2d759a))throw new _0x370faa('sessions-register-already-registered',null,{'channelId':_0x2d759a});this['_registeredSessions']['set'](_0x2d759a,_0x40d0be),this['channelSessions']['set'](_0x2d759a,new _0x1cc682()),this['channelConnectedUsers']['set'](_0x2d759a,new _0x1cc682()),this['listenTo'](_0x40d0be,'add',(_0x30b6df,_0x5bd110)=>this['_handleSessionAdd'](_0x2d759a,_0x5bd110)),this['listenTo'](_0x40d0be,'remove',(_0x50c644,_0x2f84a1)=>this['_handleSessionRemove'](_0x2d759a,_0x2f84a1));for(const _0x4a6a41 of _0x40d0be)this['_handleSessionAdd'](_0x2d759a,_0x4a6a41);}unregister(_0x3aaf5e){if(!this['_registeredSessions']['has'](_0x3aaf5e))throw new _0x370faa('sessions-unregister-not-exist',null,{'channelId':_0x3aaf5e});const _0x3f3465=this['_registeredSessions']['get'](_0x3aaf5e);this['stopListening'](_0x3f3465);for(const _0x1ed076 of _0x3f3465)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x3aaf5e,_0x1ed076);this['_registeredSessions']['delete'](_0x3aaf5e),this['channelSessions']['delete'](_0x3aaf5e),this['channelConnectedUsers']['delete'](_0x3aaf5e);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x31811c){for(const _0x445dda of this['channelSessions']['values']())for(const _0x5bcf1a of _0x445dda)if(_0x5bcf1a['id']===_0x31811c)return _0x5bcf1a['user'];}getUserSessions(_0x239000,_0x3da7ef){const _0xcae07f=_0x3da7ef?[this['channelSessions']['get'](_0x3da7ef)]:this['channelSessions']['values'](),_0x2bcf71=new Set();for(const _0xaf448b of _0xcae07f)for(const _0x54de6d of _0xaf448b)_0x54de6d['user']['id']===_0x239000['id']&&_0x2bcf71['add'](_0x54de6d['id']);return _0x2bcf71;}getUserRole(_0x2d2fef){for(const _0x4090b8 of this['channelSessions']['values']())for(const _0x4470a1 of _0x4090b8)if(_0x4470a1['user']===_0x2d2fef)return _0x4470a1['role'];}['_handleSessionAdd'](_0x12951a,_0x3822a3){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1ad64a=_0x3822a3['user'],_0x463f02=this['_users']['getUser'](_0x1ad64a['id'])||this['_createUser'](_0x1ad64a),_0x171619=Object['assign']({},_0x3822a3,{'user':_0x463f02});if(this['channelSessions']['get'](_0x12951a)['add'](_0x171619),!_0x1ad64a['hiddenInPresenceList']){const _0x28b803=this['channelConnectedUsers']['get'](_0x12951a);_0x28b803['has'](_0x463f02['id'])||_0x28b803['add'](_0x463f02),this['allConnectedUsers']['has'](_0x463f02['id'])||_0x1ad64a['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x463f02,_0x463f02['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x12951a,{'channelId':_0x12951a,'session':_0x171619});}['_handleSessionRemove'](_0x8894a3,_0x2fcf3f){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1e7787=this['channelConnectedUsers']['get'](_0x8894a3),_0x44607c=_0x2fcf3f['user'];_0x44607c['id']&&(this['channelSessions']['get'](_0x8894a3)['remove'](_0x2fcf3f['id']),_0x1e7787['has'](_0x44607c['id'])&&!this['getUserSessions'](_0x44607c,_0x8894a3)['size']&&_0x1e7787['remove'](_0x44607c['id']),this['allConnectedUsers']['get'](_0x44607c['id'])&&!this['getUserSessions'](_0x44607c)['size']&&this['allConnectedUsers']['remove'](_0x44607c['id']));}_createUser(_0x4724d2,_0xdd06c4){const _0x435978=this['_users']['addUser'](_0x4724d2);return _0xdd06c4&&this['_users']['defineMe'](_0x4724d2['id']),_0x435978['orderNumber']=this['_uniqueUsersCount']++,_0x435978;}},K=class extends _0x4a73e6{_domEmitter=new(_0x43bed2())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x562f9a=this['editor'],_0xeb50b9=_0x562f9a['plugins']['get'](Y);_0x562f9a['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1c0a9a,{writer:_0x2d6cda})=>function(_0x338d88,_0x14d5c1,_0x4b9006,_0x16ddc6){const _0x27486c=_0x338d88['markerName']['split'](':')[0x2],_0x1f83c2=_0x4b9006['getUserBySessionId'](_0x27486c);if(!_0x1f83c2||_0x27486c===_0x4b9006['mySessionId'])return;if(!_0x16ddc6['model']['schema']['checkChild'](_0x338d88['markerRange']['start'],'$text'))return;const _0x3d0db4={'class':'ck-user__marker\x20'+_0x1f83c2['color']['getMarkerClass'](),'style':Q(_0x1f83c2),'data-name':_0x1f83c2['name'],'data-session-id':_0x27486c},_0x73b185=_0x16ddc6['model']['markers']['get'](_0x338d88['markerName'])['getStart'](),_0x246538=_0x73b185['nodeAfter'],_0xd036a1=_0x16ddc6['model']['schema'];if(_0x246538&&_0xd036a1['isObject'](_0x246538)&&_0xd036a1['isInline'](_0x246538)&&!_0x16ddc6['model']['markers']['get']('user:range:'+_0x27486c)['getRange']()['isCollapsed'])return;const _0x2e3022=_0x73b185['parent'];return _0x16ddc6['model']['schema']['isLimit'](_0x2e3022)&&!_0x16ddc6['model']['hasContent'](_0x2e3022)&&(_0x3d0db4['contenteditable']=!0x1),function(_0x534d4f,_0x3dc511,_0x3b0d3e){const _0x526397=_0x534d4f['createUIElement']('span',_0x3dc511);return _0x534d4f['setCustomProperty']('userPositionMarker',!0x0,_0x526397),_0x526397['render']=function(_0x754603){const _0xb5c059=this['toDomElement'](_0x754603),_0x5ebd42=document['createElement']('span');return _0x5ebd42['classList']['add']('ck-user__marker-tooltip'),_0x5ebd42['setAttribute']('contenteditable','false'),_0x5ebd42['setAttribute']('spellcheck','false'),_0x5ebd42['textContent']=_0x3b0d3e['name'],_0xb5c059['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5ebd42['outerHTML']+'',_0xb5c059['addEventListener']('mouseenter',()=>{_0xb5c059['classList']['add']('ck-user__marker_hovered');}),_0xb5c059['addEventListener']('mouseleave',()=>{_0xb5c059['classList']['remove']('ck-user__marker_hovered');}),_0xb5c059;},_0x526397['isSimilar']=function(_0xacb5a0){return!(!this['getCustomProperty']('userPositionMarker')||!_0xacb5a0['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xacb5a0['getAttribute']('data-session-id'));},_0x526397;}(_0x14d5c1,_0x3d0db4,_0x1f83c2);}(_0x1c0a9a,_0x2d6cda,_0xeb50b9,_0x562f9a)}),_0x562f9a['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2cb1b8=>function(_0xeb25b8,_0x1207fd){const _0x3e53db=_0xeb25b8['markerName']['split'](':')[0x2];if(_0x3e53db===_0x1207fd['mySessionId'])return null;const _0x6462e5=_0x1207fd['getUserBySessionId'](_0x3e53db);return _0x6462e5?{'id':_0x3e53db,'classes':['ck-user__selection',_0x6462e5['color']['getSelectionClass']()],'attributes':{'style':Q(_0x6462e5),'data-session-id':_0x3e53db},'priority':0x7d0+_0x6462e5['orderNumber']}:{'id':_0x3e53db,'classes':[]};}(_0x2cb1b8,_0xeb50b9)}),function(_0x16e863){const _0x49a732=_0x16e863['model'],_0x232239=new Map(),_0x505567=_0x16e863['plugins']['get'](Y);_0x49a732['markers']['on']('update:user:range',(_0x55cd3d,_0x5b9ea0,_0x135f71,_0x161d20)=>{if(!_0x161d20&&_0x232239['get'](_0x5b9ea0['name']))return _0x232239['get'](_0x5b9ea0['name'])['detach'](),void _0x232239['delete'](_0x5b9ea0['name']);const _0xbcdfef=_0x5b9ea0['name']['split'](':')[0x2];if(_0xbcdfef===_0x505567['mySessionId'])return;const _0x1d5d6e='user:position:'+_0xbcdfef;_0x49a732['markers']['has'](_0x1d5d6e)&&_0x16e863['editing']['reconvertMarker'](_0x1d5d6e),_0x5b9ea0['on']('change:range',(_0x11d92a,_0x345cf5,_0x598d16)=>{if('$graveyard'!=_0x345cf5['root']['rootName']&&'$graveyard'==_0x5b9ea0['getRange']()['root']['rootName']&&!_0x232239['has'](_0x5b9ea0['name'])){const _0x3d39e6=_0x49a732['schema']['getNearestSelectionRange'](_0x598d16['deletionPosition']);if(_0x3d39e6){const _0x48fdbc=_0x1338ff['fromRange'](_0x3d39e6);_0x232239['set'](_0x5b9ea0['name'],_0x48fdbc),_0x48fdbc['on']('change:range',(_0x4b580c,_0x1038ca,_0x327b72)=>{if('$graveyard'==_0x48fdbc['root']['rootName']){const _0x30a571=_0x49a732['schema']['getNearestSelectionRange'](_0x327b72['deletionPosition']);_0x30a571?(_0x48fdbc['start']=_0x30a571['start'],_0x48fdbc['end']=_0x30a571['end']):(_0x232239['delete'](_0x5b9ea0['name']),_0x48fdbc['detach']());}});}}});}),_0x49a732['document']['on']('change',()=>{_0x232239['size']>0x0&&_0x49a732['enqueueChange']({'isUndoable':!0x1},_0x134799=>{for(const [_0x3316e2,_0x103c3a]of _0x232239)'$graveyard'==_0x49a732['markers']['get'](_0x3316e2)['getRange']()['root']['rootName']&&(J(_0x3316e2['split'](':')[0x2],_0x103c3a['toRange'](),_0x49a732,_0x134799),_0x103c3a['detach']());_0x232239['clear']();});});}(_0x562f9a),this['_domEmitter']['listenTo'](_0x1f52c4['document'],'keydown',(_0x2d0709,{key:_0x15733a})=>{'Escape'===_0x15733a&&function(_0xec93e2){_0xec93e2['editing']['view']['change'](_0x1c93d1=>{for(const _0x59a622 of _0xec93e2['model']['markers']){if(!_0x59a622['name']['startsWith']('user:position'))continue;const _0x5955cd=_0xec93e2['editing']['mapper']['markerNameToElements'](_0x59a622['name']);if(_0x5955cd){for(const _0x4863c5 of _0x5955cd)_0x1c93d1['removeClass']('ck-user__marker_hovered',_0x4863c5);}}});}(_0x562f9a);},{'useCapture':!0x0});}afterInit(){const _0xc2aae9=this['editor'],_0x23bf6f=_0xc2aae9['commands']['get']('undo');_0x23bf6f&&_0xc2aae9['model']['on']('applyOperation',(_0x3bf599,_0x12b9fa)=>{const _0x2b78fe=_0x12b9fa[0x0];if(!_0x2b78fe['isDocumentOperation'])return;if('marker'!=_0x2b78fe['type']||!_0x2b78fe['name']['startsWith']('user:'))return;const _0xa7d408=_0x2b78fe['batch'];_0x23bf6f['_createdBatches']['has'](_0xa7d408)&&(_0x2b78fe['newRange']=_0x2b78fe['oldRange']?_0xc2aae9['model']['createRange'](_0x2b78fe['oldRange']['start'],_0x2b78fe['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x8e2537=this['editor'],_0x2eab49=_0x8e2537['model']['document'],_0x509c12=_0x8e2537['plugins']['get'](Y);_0x8e2537['model']['enqueueChange']({'isUndoable':!0x1},_0x18cf69=>{const _0xb842f2='user:range:'+_0x509c12['mySessionId'],_0x183823='user:position:'+_0x509c12['mySessionId'],_0x5d31ad=_0x8e2537['model']['markers']['has'](_0xb842f2);_0x8e2537['editing']['view']['hasDomSelection']?J(_0x509c12['mySessionId'],_0x2eab49['selection']['getFirstRange'](),_0x8e2537['model'],_0x18cf69):_0x5d31ad&&(_0x18cf69['removeMarker'](_0xb842f2),_0x18cf69['removeMarker'](_0x183823));});}};function J(_0xac97ea,_0x13e1ca,_0x58c3ba,_0x1fbed1){const _0x2af372='user:range:'+_0xac97ea,_0x33433b='user:position:'+_0xac97ea,_0x35796d=_0x13e1ca['getContainedElement']();let _0x23d6ea=_0x13e1ca['start'];if(_0x35796d&&_0x35796d['is']('element','tableCell')){const _0x19cd33=function(_0x9af3d5,_0x8b9f9d){for(const _0x58861b of _0x9af3d5['getPositions']())if(_0x8b9f9d['schema']['checkChild'](_0x58861b,'$text'))return _0x58861b;}(_0x13e1ca,_0x58c3ba);_0x19cd33&&(_0x23d6ea=_0x19cd33,_0x13e1ca=_0x1fbed1['createRange'](_0x23d6ea));}const _0x2373ea=_0x1fbed1['createRange'](_0x23d6ea);_0x58c3ba['markers']['has'](_0x2af372)?(_0x1fbed1['updateMarker'](_0x2af372,{'range':_0x13e1ca}),_0x1fbed1['updateMarker'](_0x33433b,{'range':_0x2373ea})):(_0x1fbed1['addMarker'](_0x2af372,{'range':_0x13e1ca,'usingOperation':!0x0}),_0x1fbed1['addMarker'](_0x33433b,{'range':_0x2373ea,'usingOperation':!0x0}));}function Q(_0x4bf139){return'--ck-user-color:'+_0x4bf139['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4bf139['color']['getColorAlphaVariable']()+';';}function X(_0x4c04ec,_0x577866,_0x486b6d){const _0x5e271e=_0x4c04ec['t'],t=_0x4c04ec['t'];switch(_0x577866){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 _0x5e271e({'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'},_0x486b6d);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x4a73e6{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x3ad7c2)());_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,_0x59ef5c,_0x226ed0,_0x4a8d3c];}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 _0x134538=this['serverHistory']['getOperations']();for(let _0x4d74eb=_0x134538['length']-0x1;_0x4d74eb>=0x0;_0x4d74eb--){const _0xcd105c=_0x134538[_0x4d74eb];if(!this['_disconnectionOperations']['has'](_0xcd105c))return _0xcd105c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x11b684){if(super(_0x11b684),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x47a40c(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x370faa('collaboration-missing-channelid',this);const _0x3da9fc=_0x11b684['config']['get']('cloudServices.bundleVersion')||_0x1469c5;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3da9fc,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x588a9a(),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 _0x27bab5=this['editor'],_0x36ce5e=_0x27bab5['plugins']['get'](_0x226ed0),_0x522072=_0x27bab5['plugins']['get'](z);this['listenTo'](_0x36ce5e,'getOperationAuthor',(_0x4734f2,_0x21263e)=>{const _0x40021c=_0x21263e[0x0];_0x40021c['_authorId']&&(_0x4734f2['return']=_0x36ce5e['getUser'](_0x40021c['_authorId']),_0x4734f2['stop']()),null===_0x40021c['_authorId']&&(_0x4734f2['return']=null,_0x4734f2['stop']());},{'priority':'high'}),this['listenTo'](_0x27bab5['model']['document']['selection'],'change:range',(_0x4bfef1,_0x41a74d)=>{_0x41a74d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x27bab5['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x27bab5['model']['on']('applyOperation',(_0x2c931f,_0xd4a3ac)=>{const _0x4bfd5d=_0xd4a3ac[0x0];_0x4bfd5d['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4bfd5d),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x522072,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x3eec19,_0x1beccb,_0x22c5a8)=>'connected'===_0x3eec19&&!_0x1beccb&&!_0x22c5a8),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x27bab5['disableReadOnlyMode']('rtc-offline'):_0x27bab5['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x27bab5['disableReadOnlyMode']('rtc-offline'):_0x27bab5['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x488d0f=this['editor']['plugins']['get'](Y),_0x547be3=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x488d0f['unregister'](this['_channelId']);const _0x44011e=await this['_service']['reconnect'](_0x547be3['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x44011e)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x117611=await this['_service']['getConnectedSessions']();_0x488d0f['register'](this['_channelId'],_0x117611),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x32f4fa){if(function(_0x253a63){return'404'===_0x253a63['code'];}(_0x32f4fa)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x327e0f){return'409'===_0x327e0f['code'];}(_0x32f4fa)){const _0x425e1f=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'](_0x425e1f);}else{if(!(_0x32f4fa instanceof et))throw _0x32f4fa;this['_handleReconnectionError']();}}}}destroy(){const _0x15a3e5=this['editor']['plugins']['get'](z),_0x225808=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x225808['channelSessions']['has'](this['_channelId'])&&_0x225808['unregister'](this['_channelId']),_0x15a3e5['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x515946){if(this['sessionId']!==_0x515946['sessionId']&&this['_lastSyncedOperationId']!==_0x515946['lastOperationId'])throw new et();return this['sessionId']=_0x515946['sessionId'],this['_handleServerResponse']([],{..._0x515946,'wereChangesApplied':!0x1,'data':_0x515946['data']},'reconnect');}async _connectService(_0xf9cf3e,_0x7746a5=!0x1){const {connection:_0x42eeed}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x42eeed,this['_channelId'])['then'](_0x419a4b=>this['_initSessionsHandling'](_0x419a4b))['catch'](_0x1fa717=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1fa717);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x10a335,_0x1c61a5)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1c61a5);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x208223=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xf9cf3e);this['_isPendingUpdate']=!0x0;const _0x52a383=await this['_service']['connect'](_0x42eeed,this['_compressOperations'](_0xf9cf3e),_0x208223);if(this['sessionId']=_0x52a383['sessionId'],_0x7746a5){if(!_0x52a383['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x52a383['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xf9cf3e,_0x52a383,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x52a383,_0xf9cf3e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x4ae183=this['editor']['plugins']['get'](Y),_0x19e50c=this['editor']['plugins']['get'](K),_0x24cae6=_0x4ae183['channelSessions']['get'](this['_channelId']);_0x24cae6&&_0x24cae6['length']>0x1?_0x19e50c['createUserMarkerOperations']():this['listenTo'](_0x4ae183,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4ae183['channelSessions']['get'](this['_channelId'])['length']&&_0x19e50c['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x2c7c22,_0x5e97d3,_0x26a4d9,_0x40d43f){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x5e97d3){const _0x50ae44=this['_decompressOperations'](_0x26a4d9,_0x40d43f);await this['_fetchMissingUsers'](_0x50ae44),this['_handleExternalOperations'](_0x50ae44,_0x5e97d3,_0x26a4d9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x49b0d1}=this['editor'];let _0x1ef147;try{_0x1ef147=await this['_service']['getDocumentDetails']();}catch{const _0x41780a=X(_0x49b0d1,'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'](_0x41780a);}const _0x1b18c0=_0x1ef147['currentDocumentSession']||_0x1ef147['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1b18c0['lastOperationId']){const _0x3f761a=X(_0x49b0d1,'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'](_0x3f761a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x7abe4e=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x7abe4e['connection']||'connected'!==_0x7abe4e['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x548dcf=this['editor']['plugins']['get'](Y);_0x548dcf['channelSessions']['has'](this['_channelId'])&&_0x548dcf['unregister'](this['_channelId']),_0x7abe4e['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x12fa84){const _0xc691a5=this['editor']['plugins']['get'](Y);this['listenTo'](_0xc691a5,'sessionAdd:'+this['_channelId'],(_0x1c627f,{session:_0x40a973})=>{if(_0x40a973['id']===_0xc691a5['mySessionId']){_0x1c627f['off']();const _0x5c3132=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x27acbd=_0x40a973['permissions'];_0x5c3132&&_0x5c3132['isEnabled']&&(_0x27acbd=_0x27acbd['filter'](_0x278900=>'document:write'!==_0x278900)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x27acbd,this['_channelId']);}}),_0xc691a5['register'](this['_channelId'],_0x12fa84);}_initThrowingOnDataSet(){const _0x7b3faf=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x31dec2)=>{if(!_0x31dec2[_0x31dec2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x370faa('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x7b3faf['apply'](this['editor']['data'],_0x31dec2);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x434088,[_0x3d9b26])=>{if(this['_document']['version'])throw new _0x370faa('realtimecollaborationclient-init-document-already-initialized',this);_0x434088['stop'](),this['_setPendingAction']();const _0x5dc8b6=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x562ca1])=>!_0x562ca1['lazyLoad'])['map'](([_0xa0fa9e,_0x16ff85])=>[_0xa0fa9e,_0x16ff85['modelAttributes']||{}])),_0x4a0475=this['_getOperationsFromInitData'](_0x3d9b26,_0x5dc8b6);0x0==_0x4a0475['length']&&_0x4a0475['push'](new _0x37d8fe(0x0)),_0x434088['return']=this['_connectService'](_0x4a0475)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3e6dbf=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3e6dbf))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x967ea9,[_0xd28b0d,_0xff1d3e])=>{_0x967ea9['stop']();const _0x1ee88a=this['editor']['model']['document']['getRoot'](_0xd28b0d);if(!this['_knownRootNames']['has'](_0xd28b0d)){const _0x50569c=_0xff1d3e&&_0xff1d3e['data']?_0xff1d3e['data']:'',_0x2eee39=_0xff1d3e&&_0xff1d3e['attributes']?_0xff1d3e['attributes']:{};await this['_loadRoot'](_0xd28b0d,_0x50569c,_0x2eee39);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1ee88a['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1ee88a);});},{'priority':'high'});}async _fetchMissingUsers(_0x218f50){const _0x1bef47=this['editor']['plugins']['get'](_0x226ed0),{connection:_0x31966b}=this['editor']['plugins']['get'](z),_0x488a94=new Set();for(const _0x4171bf of _0x218f50){const _0x1fc5fc=_0x4171bf['_authorId'];_0x1fc5fc&&!_0x1bef47['getUser'](_0x1fc5fc)&&_0x488a94['add'](_0x1fc5fc);}if(0x0===_0x488a94['size'])return;const _0x40169d=await _0x5ca612['getMany'](_0x31966b,Array['from'](_0x488a94));for(const _0x5ba843 of _0x40169d)_0x1bef47['getUser'](_0x5ba843['id'])||_0x1bef47['addUser'](_0x5ba843);}_getOperationsFromInitData(_0x437481,_0x47c042={}){const _0x2243a8=this['editor']['model'],_0x533bac=[];let _0x3e2b71=0x0;const _0x11014c='string'==typeof _0x437481?{'main':_0x437481}:_0x437481;for(const _0x5f068d of Object['keys'](_0x11014c)){if(!this['_document']['roots']['has'](_0x5f068d))throw new _0x370faa('realtimecollaborationclient-init-non-existent-root',this);const _0xdd48b5=this['_document']['getRoot'](_0x5f068d),_0x1e165d=this['editor']['data']['parse'](_0x11014c[_0x5f068d],_0xdd48b5),_0x59d372=new _0x23d695(_0x2243a8['createPositionAt'](_0xdd48b5,0x0),_0x1e165d,_0x3e2b71++);_0x533bac['push'](_0x59d372);for(const [_0x1578b0,_0x4d7673]of _0x1e165d['markers']){const _0x4f7310=new _0x5d55fd(_0x1578b0,null,_0x2243a8['createRange'](_0x2243a8['createPositionFromPath'](_0xdd48b5,_0x4d7673['start']['path']['slice']()),_0x2243a8['createPositionFromPath'](_0xdd48b5,_0x4d7673['end']['path']['slice']())),_0x2243a8['markers'],!0x0,_0x3e2b71++);_0x533bac['push'](_0x4f7310);}}if(_0x47c042)for(const [_0x544926,_0x89051f]of Object['entries'](_0x47c042)){const _0x850257=_0x2243a8['document']['getRoot'](_0x544926);if(!_0x850257)throw new _0x370faa('multi-root-editor-root-attributes-no-root',null);for(const [_0x4d1e7b,_0x4c5ecb]of Object['entries'](_0x89051f))if(null!==_0x4c5ecb){const _0x54acd4=new _0x1d2c96(_0x850257,_0x4d1e7b,null,_0x4c5ecb,_0x3e2b71++);_0x533bac['push'](_0x54acd4);}}return _0x533bac;}async _loadRoot(_0x2f9c33,_0x20a58e,_0x487a2a){this['_getOperationsFromInitData']({[_0x2f9c33]:_0x20a58e},{[_0x2f9c33]:_0x487a2a})['forEach']((_0x5e90d7,_0x394fe6)=>{_0x5e90d7['baseVersion']=this['_document']['version']+_0x394fe6,_0x5e90d7['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x5e90d7);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x1c9ed3,_0x528833){let _0x38b1dc;this['_offset']=_0x1c9ed3['offset'];const _0xec00e5=_0x1c9ed3['wereChangesApplied']&&!_0x1c9ed3['initData'],_0x25553a=_0xec00e5?0x0:_0x1c9ed3['data']['baseVersion'];if(_0x528833['forEach'](_0x2cafe0=>{_0x2cafe0['_isInit']=!0x0,_0x2cafe0['createdAt']=_0x1c9ed3['sessionCreatedAt'],_0x2cafe0['_authorId']=null;}),_0xec00e5)_0x38b1dc=_0x528833,this['_applyOperationsSet'](_0x38b1dc,_0xec00e5);else{if(_0x1c9ed3['initData']){const _0x17b40c=this['_getOperationsFromInitData'](_0x1c9ed3['initData']);this['_document']['history']['version']=-_0x17b40c['length'],_0x17b40c['forEach'](_0x55e026=>{_0x55e026['baseVersion']-=_0x17b40c['length'],_0x55e026['createdAt']=_0x1c9ed3['sessionCreatedAt'],_0x55e026['_isInit']=!0x0,_0x55e026['_authorId']=null;}),this['_applyOperationsSet'](_0x17b40c,!0x0),this['serverHistory']['version']=-_0x17b40c['length']+this['_offset'],this['_updateServerHistory'](_0x17b40c);}this['_document']['history']['version']=_0x25553a,_0x38b1dc=this['_decompressOperations'](_0x1c9ed3['data'],_0x1c9ed3['metadata']),await this['_fetchMissingUsers'](_0x38b1dc),this['_applyOperationsSet'](_0x38b1dc,_0xec00e5);}_0x1c9ed3['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x38b1dc,_0x1c9ed3['lastOperationId']),this['_lastSyncedOperationId']=_0x1c9ed3['lastOperationId']),this['serverHistory']['version']=_0x25553a+this['_offset'],this['_updateServerHistory'](_0x38b1dc),_0x528833['filter'](_0x3cd4d1=>{const _0x5eee82=this['_getAffectedRoot'](_0x3cd4d1);return _0x5eee82&&!this['_knownRootNames']['has'](_0x5eee82);})['forEach']((_0x2db49b,_0x38a031)=>{_0x2db49b['baseVersion']=this['_document']['version']+_0x38a031,this['_saveOperationInBuffer'](_0x2db49b);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x38bcaf,_0x4b19dc){const _0x4a8444=_0x4b19dc&&_0x4b19dc['message'];if(_0x4a8444&&_0x4a8444['startsWith']('realtimecollaborationclient'))throw _0x4b19dc;const _0x4e5ea8=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x4e5ea8['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x370faa(_0x38bcaf,this['editor'],_0x4a8444?{'originalError':_0x4a8444}:void 0x0);}_saveOperationInBuffer(_0x23749c){this['_knownOperations']['has'](_0x23749c)||(this['_knownOperations']['add'](_0x23749c),this['_bufferedOperations']['push'](_0x23749c),this['_pendingAction']||'marker'==_0x23749c['type']&&!_0x23749c['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x52163a=!0x1){!_0x52163a&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x111ad7=>{_0x111ad7&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3cc151=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x466df5){return _0x466df5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x466df5['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x466df5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3cc151)||this['_crash'](_0x3cc151['message'],_0x3cc151);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x1bfee8=>{this['on']('change:_isPendingUpdate',()=>{_0x1bfee8();});});}async _sendBufferedOperations(){const _0x318af5=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x318af5['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5a6b02=[...this['_bufferedOperations']];for(const _0x3f6584 of _0x5a6b02)_0x3f6584['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3f6584);const _0x36a2e3=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5a6b02),_0xc4ba00=Z++,_0x45805f=this['_compressOperations'](_0x5a6b02),_0x19e066=await this['_service']['sendOperations'](_0x45805f,_0x45805f['baseVersion'],_0x36a2e3);try{return await this['_handleServerResponse'](_0x5a6b02,_0x19e066,_0xc4ba00);}catch(_0xfba959){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xfba959);}}async['_handleServerResponse'](_0x4e1223,_0xbf042c,_0x3a3540){if('error'in _0xbf042c)throw _0xbf042c['error'];let _0x19d756;if(_0xbf042c['wereChangesApplied']){_0xbf042c['lastOperationId']&&(this['_lastSyncedOperationId']=_0xbf042c['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x25a324=>!_0x4e1223['includes'](_0x25a324));for(const _0x4a2bd4 of _0x4e1223)_0x4a2bd4['createdAt']='lastOperationAcceptedAt'in _0xbf042c&&_0xbf042c['lastOperationAcceptedAt']||void 0x0;st(_0x4e1223,_0xbf042c['version']-_0x4e1223['length']),this['_updateServerHistory'](_0x4e1223);const _0x4aff41=_0x4e1223['filter'](_0x181fe9=>{if(!_0x181fe9['_isInit'])return!0x1;const _0x52ef65=this['_getAffectedRoot'](_0x181fe9);return _0x52ef65&&!this['_knownRootNames']['has'](_0x52ef65);});st(_0x4aff41,this['_document']['version']),this['_applyOperationsSet'](_0x4aff41),_0x19d756=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xaf7ea7=this['_decompressOperations'](_0xbf042c['data'],_0xbf042c['metadata'])['filter'](_0x46c3fe=>_0x46c3fe['baseVersion']>=this['_lastServerVersion']);_0xaf7ea7['forEach'](_0x95083c=>this['_addKnownRoot'](_0x95083c)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x41933e=>!_0x41933e['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x41933e))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xaf7ea7),_0x19d756=this['_handleExternalOperations'](_0xaf7ea7,_0xbf042c['version'],_0xbf042c['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x19d756?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x43c7e8,_0x40d7c1,_0x3f9516){try{const _0x21bb91={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x435c8f,operationsB:_0x2527f2,originalOperations:_0x1b6e8a}=_0x3ac6dc(_0x43c7e8,this['_bufferedOperations'],_0x21bb91);st(_0x435c8f,this['_document']['version']),st(_0x2527f2,_0x40d7c1);for(const _0x46d4dc of _0x435c8f){const _0x39c1b8=_0x1b6e8a['get'](_0x46d4dc);_0x39c1b8?(_0x46d4dc['_authorId']=_0x39c1b8['_authorId'],'noop'!==_0x46d4dc['type']&&(_0x46d4dc['_aiSource']=_0x39c1b8['_aiSource'])):_0x46d4dc['_authorId']=null;}for(const _0x3163e7 of _0x2527f2)'noop'!==_0x3163e7['type']&&(_0x3163e7['_aiSource']=_0x1b6e8a['get'](_0x3163e7)?.['_aiSource']);_0x3f9516&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x43c7e8,_0x3f9516),this['_lastSyncedOperationId']=_0x3f9516),this['_bufferedOperations']=[..._0x2527f2],this['_applyOperationsSet'](_0x435c8f),this['_updateServerHistory'](_0x43c7e8);}catch(_0x113397){return console['error'](_0x113397),!0x1;}return!0x0;}_applyOperationsSet(_0x269f45,_0x4f9b51=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x566b68=>{for(const _0x4a9250 of _0x269f45)this['_knownOperations']['add'](_0x4a9250),this['_addKnownRoot'](_0x4a9250),_0x566b68['batch']['addOperation'](_0x4a9250),this['editor']['model']['applyOperation'](_0x4a9250);});}_addKnownRoot(_0x4ade3c){const _0x18c478=this['_getAffectedRoot'](_0x4ade3c);_0x18c478&&this['_knownRootNames']['add'](_0x18c478);}_getAffectedRoot(_0x584641){let _0x3e0bbb,_0x2740d8;switch(_0x584641['type']){case'insert':_0x3e0bbb=_0x584641['position']['root'];break;case'marker':if(_0x2740d8=_0x584641['newRange'],!_0x2740d8)return null;_0x3e0bbb=_0x2740d8['root'];break;case'addRootAttribute':_0x3e0bbb=_0x584641['root'];break;case'addRoot':_0x3e0bbb=_0x584641['affectedSelectable'];break;case'move':_0x3e0bbb=_0x584641['targetPosition']['root'];break;default:return null;}return _0x3e0bbb['rootName'];}_updateServerHistory(_0x5779c7){_0x5779c7['forEach'](_0x41f298=>{const _0x5e0695=_0x41f298['clone']();_0x5e0695['_authorId']=_0x41f298['_authorId'],_0x5e0695['_isInit']=!!_0x41f298['_isInit'],_0x5e0695['_aiSource']=_0x41f298['_aiSource'],_0x5e0695['createdAt']=_0x41f298['createdAt'],_0x5e0695['baseVersion']+=this['_offset'],_0x41f298['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5e0695),this['serverHistory']['addOperation'](_0x5e0695);});}_handleReconnectionError(_0x1a4d8a){const _0x2f9971=this['editor']['plugins']['get']('Notification'),_0x3a0dfa=this['editor']['locale'];_0x1a4d8a||(_0x1a4d8a=X(_0x3a0dfa,'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.')),_0x2f9971['showWarning'](_0x1a4d8a,{'title':X(_0x3a0dfa,'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'](_0x59ef5c)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x59ef5c)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x450dd){const _0x5c905e=_0x450dd['map'](_0x3289f7=>_0x3289f7['toJSON']());return this['_compressor']['compress'](_0x5c905e);}_decompressOperations(_0x37c276,_0x22f6d4){return this['_compressor']['decompress'](_0x37c276)['map']((_0x25b718,_0x388f19)=>{const _0x37aebb='init'==_0x22f6d4[_0x388f19]['type'];if('InsertOperation'==_0x25b718['__className']){const _0x2b5dbe=_0x25b718['position']['root'];!this['_document']['getRoot'](_0x2b5dbe)&&(this['_document']['createRoot']('$unknown',_0x2b5dbe)['_isAttached']=!0x1);}else{if('RootOperation'==_0x25b718['__className']){const _0x46102c=this['_document']['getRoot'](_0x25b718['rootName']);_0x46102c&&'$unknown'==_0x46102c['name']&&_0x25b718['elementName']!=_0x46102c['name']&&(_0x46102c['name']=_0x25b718['elementName']);}}const _0x29f6ac=_0x3fa583['fromJSON'](_0x25b718,this['_document']);return _0x29f6ac['wasUndone']=_0x25b718['wasUndone'],_0x29f6ac['_isInit']=_0x37aebb,_0x29f6ac['_authorId']=_0x37aebb?null:_0x22f6d4[_0x388f19]['userId'],_0x29f6ac['_isDisconnection']='cs:removeUser'===_0x22f6d4[_0x388f19]['type'],_0x29f6ac['_aiSource']=_0x25b718['_aiSource']||void 0x0,_0x29f6ac['createdAt']=_0x22f6d4[_0x388f19]['createdAt'],_0x29f6ac;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x777bdc=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x777bdc&&_0x777bdc['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x2e565c,_0x22d80a){for(const _0x54bf5a of _0x2e565c)_0x54bf5a['baseVersion']=_0x22d80a++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x3da9df){this['_ignoredOperations']=_0x3da9df,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x27e3ea){let _0x2fa7e3=_0x27e3ea['length'];for(;_0x2fa7e3--;){const _0x4891c5=_0x27e3ea[_0x2fa7e3];if(!this['_ignoredOperations']['has'](_0x4891c5)){if(!this['_operationToId']['has'](_0x4891c5)){const _0x26c241=_0x131976()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4891c5,_0x26c241);}return this['_operationToId']['get'](_0x4891c5);}}}setIdForTheLastOperation(_0x47c1dc,_0xf2e7c){if(!_0xf2e7c)return;let _0x22eb09=_0x47c1dc['length'];for(;_0x22eb09--;){const _0x20ec50=_0x47c1dc[_0x22eb09];this['_ignoredOperations']['has'](_0x20ec50)||this['_operationToId']['set'](_0x20ec50,_0xf2e7c);}}},nt=class extends _0x4a73e6{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x4b84ca{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x646c78)());['_services'];static get requires(){return[z,_0x50e12d,Y,_0x226ed0];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e0c94){super(_0x1e0c94),this['_services']=new Map();}async init(){const _0x4d857a=this['context'],_0x2cfbc1=_0x4d857a['plugins']['get'](_0x50e12d);if(_0x4d857a['plugins']['get'](z)['addToReconnectionStack'](this),_0x2cfbc1['adapter']={'addCommentThread':async({channelId:_0x3fd079,threadId:_0x1ab194,comments:_0x43fe66,resolvedAt:_0x232c22,resolvedBy:_0x2219d5,context:_0x5f1cad,attributes:_0x50549b})=>{const _0x383612=await this['_getService'](_0x3fd079)['addCommentThread']({'commentThreadId':_0x1ab194,'comments':_0x43fe66['map'](_0x448ff7=>function(_0x569332,_0x385a51,_0x3593e2){return{'commentThreadId':_0x3593e2,'commentId':_0x569332['commentId'],'userId':_0x569332['authorId'],'content':_0x569332['content'],'documentId':_0x385a51,'createdAt':_0x569332['createdAt'],'attributes':_0x569332['attributes']||{}};}(_0x448ff7,_0x3fd079,_0x1ab194)),'resolvedAt':_0x232c22,'resolvedBy':_0x2219d5,'context':_0x5f1cad,'attributes':_0x50549b})['catch'](ct);return{'threadId':_0x383612['commentThreadId'],'comments':_0x383612['comments']};},'getCommentThread':async({channelId:_0x4b5af0,threadId:_0x1c3e78})=>{const _0x471032=await this['_getService'](_0x4b5af0)['getCommentThread'](_0x1c3e78)['catch'](rt)['catch'](ct);return _0x471032?_0x471032['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x471032]),{'threadId':_0x471032['commentThreadId'],'comments':_0x471032['comments']['map'](at),'context':_0x471032['context'],'resolvedAt':_0x471032['resolvedAt'],'resolvedBy':_0x471032['resolvedBy'],'attributes':_0x471032['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x7b69a9,threadId:_0x21d418,context:_0x27abb7,unlinkedAt:_0x3467b2,attributes:_0x540b93})=>this['_getService'](_0x7b69a9)['updateCommentThread']({'commentThreadId':_0x21d418,'context':_0x27abb7,'attributes':_0x540b93,'unlinkedAt':_0x3467b2})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x48bcc1,threadId:_0x12cda6})=>{const _0x2b483e=await this['_getService'](_0x48bcc1)['resolveCommentThread'](_0x12cda6)['catch'](rt)['catch'](ct);return{'threadId':_0x2b483e['commentThreadId'],'resolvedAt':_0x2b483e['resolvedAt'],'resolvedBy':_0x2b483e['resolvedBy']};},'reopenCommentThread':async({channelId:_0x36b62d,threadId:_0xe03e22})=>this['_getService'](_0x36b62d)['reopenCommentThread'](_0xe03e22)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3baaa9,threadId:_0x22b3c5})=>this['_getService'](_0x3baaa9)['removeCommentThread'](_0x22b3c5)['catch'](rt)['catch'](ct),'addComment':({channelId:_0xe6e33b,threadId:_0x53546f,commentId:_0x58989d,content:_0x17b32d,attributes:_0x4068bd})=>this['_getService'](_0xe6e33b)['addComment'](_0x53546f,_0x58989d,_0x17b32d,_0x4068bd)['catch'](ct),'updateComment':({channelId:_0xdece2d,threadId:_0x5779e6,commentId:_0x2d4385,content:_0x547755,attributes:_0xafc48e})=>this['_getService'](_0xdece2d)['updateComment'](_0x5779e6,_0x2d4385,_0x547755,_0xafc48e)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x45ff2a,threadId:_0x51c901,commentId:_0x151b3c})=>this['_getService'](_0x45ff2a)['removeComment'](_0x51c901,_0x151b3c)['catch'](rt)['catch'](ct)},_0x4d857a instanceof _0x46d979){const _0x243a48=_0x4d857a['config']['get']('collaboration.channelId'),_0x13f2fc=_0x4d857a['plugins']['get'](Y);await this['_setUpService'](_0x243a48);const _0x360913=await this['_services']['get'](_0x243a48)['getConnectedSessions']();this['listenTo'](_0x13f2fc,'sessionAdd:'+_0x243a48,(_0x3a3637,{session:_0x2952fa})=>{_0x2952fa['id']===_0x13f2fc['mySessionId']&&(_0x3a3637['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2952fa['permissions'],_0x243a48));}),_0x13f2fc['register'](_0x243a48,_0x360913);}}async _setUpService(_0x130b75){if(this['_services']['has'](_0x130b75))throw new _0x370faa('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x130b75});const _0x3261c3=this['context']['plugins']['get'](_0x50e12d),_0x1afdf1=new CloudServicesCommentsAdapter['CommentsService'](_0x130b75);this['_services']['set'](_0x130b75,_0x1afdf1),this['listenTo'](_0x1afdf1,'commentThreadAdded',(_0x1230cd,_0x11252c)=>{const {commentThreadId:_0x3e68dc,documentId:_0x42674b,context:_0x16d78c,attributes:_0x37e252,resolvedAt:_0x3122e9,resolvedBy:_0x4fd2cc,comments:_0x2f7e19}=_0x11252c;_0x3261c3['getCommentThread'](_0x3e68dc)||_0x3261c3['addCommentThread']({'threadId':_0x3e68dc,'channelId':_0x42674b,'comments':_0x2f7e19?_0x2f7e19['map'](at):[],'context':_0x16d78c,'attributes':_0x37e252,'resolvedAt':_0x3122e9,'resolvedBy':_0x4fd2cc,'isFromAdapter':!0x0});}),this['listenTo'](_0x1afdf1,'commentThreadUpdated',(_0xf666bd,{commentThreadId:_0x2572d3,documentId:_0x223729,context:_0x57c06c,unlinkedAt:_0x3150bd,attributes:_0x1ccc5f})=>{_0x3261c3['getCommentThread'](_0x2572d3)&&_0x3261c3['updateCommentThread']({'threadId':_0x2572d3,'channelId':_0x223729,'context':_0x57c06c,'unlinkedAt':_0x3150bd,'attributes':_0x1ccc5f,'isFromAdapter':!0x0});}),this['listenTo'](_0x1afdf1,'commentThreadResolved',(_0x3c7979,{commentThreadId:_0x1bd677,resolvedBy:_0x4cc711,resolvedAt:_0x59ba40})=>{const _0x329920=_0x3261c3['getCommentThread'](_0x1bd677);_0x329920&&_0x329920['resolve']({'resolvedBy':_0x4cc711,'resolvedAt':_0x59ba40,'isFromAdapter':!0x0});}),this['listenTo'](_0x1afdf1,'commentThreadReopened',(_0x26d020,{commentThreadId:_0x3170c3})=>{const _0x745e8d=_0x3261c3['getCommentThread'](_0x3170c3);_0x745e8d&&_0x745e8d['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1afdf1,'commentThreadRemoved',(_0x40352c,{commentThreadId:_0x225adf})=>{const _0x3feb2e=_0x3261c3['getCommentThread'](_0x225adf);_0x3feb2e&&_0x3feb2e['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1afdf1,'commentAdded',(_0x122087,_0x3de23b)=>{const _0x275a88=_0x3de23b['commentThreadId'],_0x3e78a8=_0x3261c3['getCommentThread'](_0x275a88);_0x3e78a8&&_0x3e78a8['addComment']({...at(_0x3de23b),'isFromAdapter':!0x0});}),this['listenTo'](_0x1afdf1,'commentUpdated',(_0x27f77b,{commentThreadId:_0x8e79ed,commentId:_0x2e9003,content:_0x592497,attributes:_0x3ab9cc})=>{const _0x1f95f0=_0x3261c3['getCommentThread'](_0x8e79ed);if(_0x1f95f0){const _0x32957c=_0x1f95f0['getComment'](_0x2e9003);_0x32957c&&_0x32957c['update']({'content':_0x592497,'attributes':_0x3ab9cc,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1afdf1,'commentRemoved',(_0x2cf894,{commentThreadId:_0x5c2596,commentId:_0x16f558})=>{const _0x359f68=_0x3261c3['getCommentThread'](_0x5c2596);if(_0x359f68){const _0x5996c5=_0x359f68['getComment'](_0x16f558);_0x5996c5&&_0x5996c5['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x1afdf1,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x130b75),this['stopListening'](_0x1afdf1));}),await this['_connectService'](_0x130b75);}destroy(){if(this['context']instanceof _0x46d979){const _0x197ea5=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x197ea5)&&this['_terminateService'](_0x197ea5);}}_terminateService(_0x1cc3b2){if(!this['_services']['has'](_0x1cc3b2))throw new _0x370faa('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1cc3b2});this['_getService'](_0x1cc3b2)['disconnect'](),this['_services']['delete'](_0x1cc3b2);}async reconnect(){for(const _0x1a6a15 of this['_services']['keys']())await this['_connectService'](_0x1a6a15);if(this['context']instanceof _0x46d979){const _0x2ccb57=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x2ccb57)){const _0x2af9dc=this['context']['plugins']['get'](Y);_0x2af9dc['unregister'](_0x2ccb57);const _0x46881b=await this['_services']['get'](_0x2ccb57)['getConnectedSessions']();_0x2af9dc['register'](_0x2ccb57,_0x46881b);}}}async _connectService(_0x41e464){const {connection:_0x328e66}=this['context']['plugins']['get'](z),_0x2e1bf4=this['context']['plugins']['get'](_0x50e12d),_0x22c9fa=await this['_services']['get'](_0x41e464)['connect'](_0x328e66);await this['_fetchMissingUsersForThreads'](_0x22c9fa);const _0x4dfd9e=new Set(Array['from'](_0x2e1bf4['getCommentThreads']({'channelId':_0x41e464}),_0x24807a=>_0x24807a['id']));for(const _0x13020a of _0x22c9fa)_0x13020a['deletedAt']||_0x4dfd9e['delete'](_0x13020a['commentThreadId']);for(const _0x54b0f0 of _0x4dfd9e)_0x2e1bf4['getCommentThread'](_0x54b0f0)['remove']({'isFromAdapter':!0x0});for(const _0x4504b8 of _0x22c9fa){let _0x4c80e0=_0x2e1bf4['getCommentThread'](_0x4504b8['commentThreadId']);const {commentThreadId:_0x39483,context:_0x4d3e57,attributes:_0x4706b3,resolvedBy:_0x462131,resolvedAt:_0x14dafe,unlinkedAt:_0x2df850,deletedAt:_0x5625d7}=_0x4504b8;if(_0x5625d7)continue;_0x4c80e0||(_0x4c80e0=_0x2e1bf4['addCommentThread']({'channelId':_0x41e464,'threadId':_0x39483,'context':_0x4d3e57,'attributes':_0x4706b3||{},'resolvedBy':_0x462131,'resolvedAt':_0x14dafe,'unlinkedAt':_0x2df850,'isFromAdapter':!0x0}));const _0x212117=new Set(Array['from'](_0x4c80e0['comments'],_0x52348f=>_0x52348f['id']));for(const _0x3e7d5d of _0x4504b8['comments'])_0x212117['delete'](_0x3e7d5d['commentId']);for(const _0x28816d of _0x212117)_0x4c80e0['getComment'](_0x28816d)['remove']({'isFromAdapter':!0x0});for(const _0x4b71a1 of _0x4504b8['comments']){const _0x3e29c0=_0x4c80e0['getComment'](_0x4b71a1['commentId']);_0x3e29c0?_0x3e29c0['content']!==_0x4b71a1['content']&&_0x3e29c0['update']({'content':_0x4b71a1['content'],'isFromAdapter':!0x0}):_0x4c80e0['addComment'](Object['assign'](at(_0x4b71a1),{'isFromAdapter':!0x0}));}}}_getService(_0x57a232){if(!this['_services']['has'](_0x57a232))throw new _0x370faa('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x57a232});return this['_services']['get'](_0x57a232);}async _fetchMissingUsersForThreads(_0x50b13f){const _0x568b6e=this['context']['plugins']['get'](_0x226ed0),{connection:_0x3e99aa}=this['context']['plugins']['get'](z),_0x2c468c=new Set();for(const {resolvedBy:_0x166388,comments:_0x34705d}of _0x50b13f){_0x166388&&!_0x568b6e['getUser'](_0x166388)&&_0x2c468c['add'](_0x166388);for(const {userId:_0x53f1b4}of _0x34705d)_0x568b6e['getUser'](_0x53f1b4)||_0x2c468c['add'](_0x53f1b4);}if(0x0===_0x2c468c['size'])return;const _0x31ec77=await _0x5ca612['getMany'](_0x3e99aa,Array['from'](_0x2c468c));for(const _0x65ede8 of _0x31ec77)_0x568b6e['getUser'](_0x65ede8['id'])||_0x568b6e['addUser'](_0x65ede8);}};async function rt(_0x2ef579){if('404'!==_0x2ef579['code'])throw _0x2ef579;}function ct(_0x53e2f4){if((_0x2dd28e=_0x53e2f4)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2dd28e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2dd28e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2dd28e;throw _0x53e2f4;}function at(_0x18912b){return{'threadId':_0x18912b['commentThreadId'],'commentId':_0x18912b['commentId'],'content':_0x18912b['content'],'createdAt':_0x18912b['createdAt'],'authorId':_0x18912b['userId'],'attributes':_0x18912b['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x4a73e6{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x59cd19)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x5ed346,Y,_0x226ed0];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3320e1){super(_0x3320e1);const _0x2741a4=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2741a4);}async init(){const _0x45af01=this['editor']['plugins']['get'](tt),_0x3901a5=_0x45af01['serverHistory'],_0x28180e=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x3901a5,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x45af01['sessionId']});const _0x5f1c0b=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x1469c5,_0x500293=await _0x5b6d29['isBundleUploaded'](_0x28180e['connection'],_0x5f1c0b);this['editor']['plugins']['get'](_0x5ed346)['adapter']={'getRevision':async({revisionId:_0x4cf971})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4cf971)),'updateRevisions':async _0x41d7ca=>{await this['_waitForServiceReady']();const _0x5b392f=this['_revisionTracker']['currentRevision'];if(_0x500293&&0x1===_0x41d7ca['length']&&_0x41d7ca[0x0]['id']===_0x5b392f['id'])return _0x41d7ca;for(const _0x3b40ac of _0x41d7ca)_0x3b40ac['id']===_0x5b392f['id']&&(_0x3b40ac['isEmptyCurrent']=_0x3b40ac['fromVersion']===_0x3b40ac['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x41d7ca,this['_lastRequestId'])['then'](_0x57739e=>(this['_lastRequestId']=_0x57739e,_0x41d7ca))['catch'](_0x4b9c01=>{if(pt(_0x4b9c01)||'400'===_0x4b9c01['code']&&void 0x0!==_0x4b9c01['data']['wrongRequestId']){for(const _0xcdc8f of _0x41d7ca)this['_revisionTracker']['repository']['getRevision'](_0xcdc8f['id'])&&this['_revisionTracker']['_bufferUpdate'](_0xcdc8f['id'],_0xcdc8f,!0x1);if(pt(_0x4b9c01)&&'destroyed'!==this['editor']['state'])throw _0x4b9c01;return _0x41d7ca;}throw _0x4b9c01;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x8a49ab,{revisionsData:_0x537a14,requestId:_0x2bd530})=>{Math['max'](..._0x537a14['map'](_0x5d4a64=>_0x5d4a64['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x537a14,_0x2bd530);}):this['_handleRevisionsUpdate'](_0x537a14,_0x2bd530);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x28180e['connection']?.['state']&&(_0x28180e['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x4d2231,requestId:_0x4bc400}=await this['_revisionHistoryService']['connect'](_0x28180e['connection']);_0x28180e['addToReconnectionStack'](this),this['_lastRequestId']=_0x4bc400,await this['_fetchMissingUsers'](_0x4d2231);for(const _0x48c948 of _0x4d2231)this['_revisionTracker']['addRevisionData'](_0x48c948);this['listenTo'](_0x45af01,'change:_isConnected',(_0x511092,_0x51ea95,_0x10f981)=>{_0x10f981&&(this['_oldOffset']=_0x45af01['_offset'],_0x511092['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x4c9e6d=this['editor']['plugins']['get'](z),_0x559aef=this['editor']['plugins']['get'](tt),_0x443dff=async()=>{const _0x49d0d5=this['_revisionTracker']['currentRevision'],_0x14b96b=_0x49d0d5['id'],_0x45ece2=_0x14b96b!==_0x559aef['sessionId'];if(_0x45ece2){const _0x57845a=_0x559aef['_offset']-this['_oldOffset'],_0x49bda0=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x49d0d5['toVersion']+_0x57845a!==_0x49bda0){const _0x1a0f87=_0x49d0d5['fromVersion']+_0x57845a,_0x53ec77=this['editor']['plugins']['get'](_0x226ed0),_0x47b505=this['_revisionTracker']['buildRevisionData']({'revision':_0x49d0d5,'from':_0x1a0f87,'to':_0x49bda0});_0x47b505['id']=_0x49d0d5['id'];const _0x15f80e=_0x47b505['authorsIds']['map'](_0x1def8d=>_0x53ec77['getUser'](_0x1def8d));_0x49d0d5['_update']({..._0x47b505,'authors':_0x15f80e},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x49d0d5['id'],_0x47b505,!0x0);}this['_revisionTracker']['_startingVersion']=_0x49bda0,_0x49d0d5['toVersion']!==_0x49d0d5['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x14b96b)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x14b96b),this['_revisionTracker']['_createCurrentRevision'](_0x49bda0);}const {revisions:_0x505fe9,requestId:_0x137e11}=await this['_revisionHistoryService']['reconnect'](_0x4c9e6d['connection'],this['_lastRequestId']);_0x45ece2&&_0x505fe9['length']>0x0?_0x559aef['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x505fe9),this['_handleRevisionsUpdate'](_0x505fe9,_0x137e11),this['_revisionTracker']['sendBufferedUpdates']());};return _0x559aef['_isConnected']?_0x443dff():new Promise((_0x46cb61,_0x410055)=>{_0x559aef['once']('change:_isConnected',()=>{_0x443dff()['then'](_0x46cb61)['catch'](_0x410055);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x321462=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x13dc07=>{_0x13dc07['off'](),_0x321462();});});}_getLatestVersionFromServerOperations(){const _0x160ec7=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x22b464 of _0x160ec7)if('marker'!==_0x22b464['type']||_0x22b464['affectsData'])return _0x22b464['baseVersion']+0x1;}_getLatestVersion(){const _0x357ecf=this['editor']['plugins']['get'](tt);return new Promise(_0x41b1bf=>{_0x357ecf['_isPendingUpdate']?_0x357ecf['once']('change:_isPendingUpdate',()=>{_0x41b1bf(this['_getLatestVersionFromServerOperations']());}):_0x41b1bf(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x19709f,_0x144bf8){const _0x560a17=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x144bf8;for(const _0x3a060c of _0x19709f){const _0x58194d=_0x560a17['getRevision'](_0x3a060c['id']);if(_0x58194d){if((_0x3a060c['fromVersion']||_0x3a060c['toVersion'])&&(_0x3a060c['diffData']=null),_0x58194d===this['_revisionTracker']['currentRevision']){const _0x1e5cad=Math['max'](_0x58194d['toVersion'],_0x3a060c['toVersion']),_0x4071d5=Math['max'](_0x58194d['fromVersion'],_0x3a060c['fromVersion']);let _0x3c337c;_0x58194d['toVersion']===_0x3a060c['toVersion']&&_0x58194d['fromVersion']===_0x3a060c['fromVersion']?(_0x3c337c=!0x0,this['_preventResendingRevisionData'](_0x3a060c)):_0x3a060c['toVersion']===_0x1e5cad&&_0x3a060c['fromVersion']===_0x4071d5?_0x3c337c=!0x1:(_0x58194d['toVersion']===_0x1e5cad&&_0x58194d['fromVersion']===_0x4071d5||this['_fixRevision']({'revision':_0x58194d,'from':_0x4071d5,'to':_0x1e5cad}),_0x3c337c=!0x0),_0x3c337c&&(delete _0x3a060c['fromVersion'],delete _0x3a060c['toVersion'],delete _0x3a060c['diffData'],delete _0x3a060c['createdAt'],delete _0x3a060c['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3a060c),this['_preventResendingRevisionData'](_0x3a060c);}else this['_revisionTracker']['addRevisionData'](_0x3a060c);}const _0x2568c7=_0x560a17['getRevisions']();_0x2568c7['reverse']();for(let _0x1055fc=0x0;_0x1055fc<_0x2568c7['length']-0x1;_0x1055fc++){const _0x416924=_0x2568c7[_0x1055fc],_0x5c5649=_0x2568c7[_0x1055fc+0x1];if(_0x416924['fromVersion']<_0x5c5649['toVersion']){const _0x41213e=_0x5c5649['toVersion'],_0x39db2d=Math['max'](_0x41213e,_0x416924['toVersion']);this['_fixRevision']({'revision':_0x416924,'from':_0x41213e,'to':_0x39db2d});}}}['_fixRevision']({revision:_0x187732,from:_0x36fa8c,to:_0x2473d5}={}){const _0x2fa748=this['editor']['plugins']['get'](_0x226ed0),_0x5a72f8=this['_revisionTracker']['buildRevisionData']({'revision':_0x187732,'from':_0x36fa8c,'to':_0x2473d5});_0x5a72f8['authors']=_0x5a72f8['authorsIds']['map'](_0x2b980c=>_0x2fa748['getUser'](_0x2b980c)),_0x187732['_update'](_0x5a72f8);}_preventResendingRevisionData(_0x2033d8){const _0x562951={};_0x562951['id']=_0x2033d8['id'];for(const _0x35d12c of Object['keys'](_0x2033d8))'id'!==_0x35d12c&&(_0x562951[_0x35d12c]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x562951['id'],_0x562951,!0x0);}async _fetchMissingUsers(_0x3b0f28){const _0x25f286=this['editor']['plugins']['get'](_0x226ed0),{connection:_0x428822}=this['editor']['plugins']['get'](z),_0x5e2aa7=new Set();for(const _0x1db93f of _0x3b0f28){for(const _0x1f44f6 of _0x1db93f['authorsIds'])_0x3d9d44(_0x1f44f6);_0x1db93f['creatorId']&&_0x3d9d44(_0x1db93f['creatorId']);}if(0x0===_0x5e2aa7['size'])return;const _0x4496fe=await _0x5ca612['getMany'](_0x428822,Array['from'](_0x5e2aa7));for(const _0x87e85a of _0x4496fe)_0x25f286['getUser'](_0x87e85a['id'])||_0x25f286['addUser'](_0x87e85a);function _0x3d9d44(_0x2e2946){_0x25f286['getUser'](_0x2e2946)||_0x5e2aa7['add'](_0x2e2946);}}};function pt(_0x5985f7){return _0x5985f7['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5985f7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5985f7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x4a73e6{static get requires(){return[_0x5ed346,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x2cd5dd{_collapseAt;constructor(_0x29ec55,_0x854615=0x6){super(_0x29ec55);const _0x9837ee=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x854615,this['bind']('isHidden')['to'](this,'usersCount',_0x426b84=>_0x426b84<_0x854615),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x9837ee['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':_0x9837ee['to']('usersCount',_0x34489d=>'+'+(_0x34489d-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x2cd5dd{items;keystrokes;constructor(_0x18e7cd){super(_0x18e7cd);const _0x5bf539=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x273b95(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5bf539['if']('hasPopup'),'aria-expanded':_0x5bf539['to']('isExpanded',_0x5eeae2=>this['hasPopup']&&String(_0x5eeae2)),'aria-label':_0x5bf539['to']('hasPopup',_0x4fa848=>X(_0x18e7cd,_0x4fa848?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5bf539['to']('hasPopup',_0x2eb012=>!!_0x2eb012&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5bf539['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5bf539['to'](_0x5c74fa=>{const _0x364198=_0x5c74fa,_0x4aad0f=document['querySelector']('.ck-presence-list__dropdown-list'),_0x422c52=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4aad0f?.['contains'](_0x364198['relatedTarget'])||_0x422c52?.['contains'](_0x364198['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x385f10,_0x26dd65,_0x788a77)=>{this['element']&&(_0x788a77?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 _0x2cd5dd{counterView;inlineListView;constructor(_0x8f0f9d,_0x3198ff=0x6){super(_0x8f0f9d);const _0x52bd2b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x3198ff),this['inlineListView']=new vt(_0x8f0f9d),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3495df of this['inlineListView']['items'])_0x3495df['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',_0x52bd2b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x2cd5dd{listWrapperView;constructor(_0x4e9ea1,_0x174fde){super(_0x4e9ea1);const _0x469090=this['bindTemplate'];this['listWrapperView']=new bt(_0x4e9ea1,_0x174fde),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x4e9ea1,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x469090['to'](_0x17f5f2=>{const _0x68dbd6=_0x17f5f2,_0x1079d2=document['querySelector']('.ck-presence-list__list'),_0x3bd88c=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1079d2?.['contains'](_0x68dbd6['relatedTarget'])||_0x3bd88c?.['contains'](_0x68dbd6['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x2600a0{constructor(_0x25dad6,_0x4209ff){super(_0x25dad6);const _0x4f94bf=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4209ff?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4f94bf['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4f94bf['to']('role'),'aria-label':_0x4f94bf['to']('ariaLabel'),'aria-labelledby':_0x4f94bf['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x1f52c4['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x29fbf9=this['element'];_0x29fbf9&&(this['_isScrollable']=Math['max'](_0x29fbf9['scrollHeight'],_0x29fbf9['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x13c790{['userView'];constructor(_0x1a3370,_0x56c2ff,_0x1fc403){super(_0x1a3370);const _0x287ec4=this['bindTemplate'];this['userView']=new _0x3e61f8(_0x1a3370,_0x56c2ff);const _0xd8a35b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x56c2ff['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x56c2ff['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x56c2ff['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x56c2ff['color']['getColorVariable'](),'--ck-user-color-alpha':_0x56c2ff['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x1fc403&&(_0xd8a35b['tag']='button',_0xd8a35b['on']={'click':_0x287ec4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xd8a35b);}['focus'](){this['element']['focus']();}},It=class extends _0x2cd5dd{['userView'];['markerView'];constructor(_0x49c0d2,_0x11eb43,_0x34559e){super(_0x49c0d2);const _0x4c269a=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x3e61f8(_0x49c0d2,_0x11eb43),this['markerView']=new St(_0x49c0d2,_0x11eb43);const _0x1be053=new _0x62ed26(_0x49c0d2);_0x1be053['template']['tag']='span',_0x1be053['text']=_0x11eb43['name'];const _0x1cb64a={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4c269a['to']('isFocusable',_0xd238e9=>!!_0xd238e9&&0x0),'aria-labelledby':_0x1be053['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4c269a['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4c269a['to']('hasTooltip',_0xd7f031=>!_0xd7f031),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1be053]};_0x34559e&&(_0x1cb64a['tag']='button',_0x1cb64a['on']={'click':_0x4c269a['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1cb64a);}},St=class extends _0x2cd5dd{constructor(_0x25f802,_0x5700e0){super(_0x25f802),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5700e0['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5700e0['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5700e0['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x4b84ca{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x287df3){super(_0x287df3),this['context']['config']['define']('presenceList',Tt);const _0x2b105f=_0x287df3['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2b105f)throw new _0x370faa('presencelist-collapseat-invalid-format',this);if(_0x2b105f<0x1)throw new _0x370faa('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1cc682(),this['balloonPanelView']=new _0x1ce97b(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x1f27ab of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1f27ab);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1bc759,_0x1dcfb6)=>{this['_handleUserAdd'](_0x1dcfb6);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x194ae4,_0x5cc631)=>{this['_handleUserRemove'](_0x5cc631);});}_createView(){const _0x26d0f1=this['context'],_0x379209=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xdad45a=this['balloonPanelView'];if(!_0x44576b(_0x26d0f1['config']['get']('presenceList.container')))throw new _0x370faa('presencelist-missing-container',this);return _0x379209['counterView']['bind']('usersCount')['to'](this),_0x379209['bind']('isCollapsed')['to'](this,'usersCount',_0x16410d=>{const {collapseAt:_0x7676b6}=_0x26d0f1['config']['get']('presenceList'),_0x515a82=_0x16410d>=_0x7676b6;if(_0x515a82&&!_0x379209['inlineListView']['items']['find'](_0x3c8a96=>_0x3c8a96 instanceof wt)){const _0x5c73d2=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5c73d2&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x379209['inlineListView']['items']['add'](_0x379209['counterView']);}return _0x515a82||this['hideDropdown'](),_0x515a82;}),_0x379209['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x7fe347=>{const _0x4ee6fd=_0x26d0f1['config']['get']('presenceList'),_0x45ea34=new It(_0x26d0f1['locale'],_0x7fe347,!!_0x4ee6fd['onClick']);return _0x45ea34['bind']('hasTooltip')['to'](_0x379209,'isCollapsed',_0x119d7e=>!_0x119d7e),_0x45ea34['bind']('isFocusable')['to'](_0x379209,'isCollapsed',_0x487628=>!_0x487628),_0x4ee6fd['onClick']&&this['listenTo'](_0x45ea34,'execute',()=>{this['view']['isCollapsed']||_0x4ee6fd['onClick'](_0x7fe347,_0x45ea34['element']);}),_0x45ea34;}),this['listenTo'](_0x379209['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x379209['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x379209['inlineListView']['keystrokes']['set']('Enter',(_0x4e4cc8,_0x2dc2aa)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2dc2aa());}),_0x379209['render'](),_0xdad45a['render'](),_0x2d8d74({'emitter':_0x379209,'activator':()=>_0xdad45a['isVisible'],'contextElements':[_0xdad45a['element'],_0x379209['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x26d0f1['config']['get']('presenceList.container')['appendChild'](_0x379209['element']),this['_bodyCollection']=new _0x1affd0(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x379209;}['_handleUserAdd'](_0x35e7d9){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x35e7d9['isMe'])return;const _0x3a3515=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3a3515-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x363810=_0x35e7d9['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x35e7d9,_0x363810);}['_handleUserRemove'](_0x1f0065){this['usersCount']--;const {collapseAt:_0x206f2f}=this['context']['config']['get']('presenceList'),_0x3c8ab7=this['usersCount']>=_0x206f2f;if(this['currentDisplayedUsers']['get'](_0x1f0065['id']))this['currentDisplayedUsers']['remove'](_0x1f0065['id']);else{if(_0x3c8ab7&&this['currentDisplayedUsers']['length']+0x1===_0x206f2f-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3c8ab7?0x1:0x0)<this['usersCount']){for(const _0x20d9b7 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x20d9b7['id'])&&(this['currentDisplayedUsers']['add'](_0x20d9b7,Math['min'](this['currentDisplayedUsers']['length']-(_0x3c8ab7?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3c8ab7?0x1:0x0)===_0x206f2f-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x493e1c=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x493e1c['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0xbb5db4}=this['presenceDropdownView'];_0xbb5db4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3f2dac=>{if(!_0x493e1c['displayMe']&&_0x3f2dac['isMe'])return null;const _0x2ae2f5=new kt(this['context']['locale'],_0x3f2dac,!!_0x493e1c['onClick']);return _0x493e1c['onClick']&&this['listenTo'](_0x2ae2f5,'execute',()=>{_0x493e1c['onClick'](_0x3f2dac,_0x2ae2f5['element']);}),_0x2ae2f5;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0xbb5db4['focus'](),_0xbb5db4['checkIfScrollable']();const _0x57009a=(_0x5dd1c0,_0x10b103)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x10b103();};_0xbb5db4['keystrokes']['set']('Esc',_0x57009a),_0xbb5db4['keystrokes']['set']('Shift+Tab',_0x57009a),_0xbb5db4['keystrokes']['set']('Tab',(_0x2ba4f9,_0x30b37f)=>{!function(_0x3605f5){const _0x516a8b=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x9c465e=>_0x9c465e+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0xce5f82=[...document['body']['querySelectorAll'](_0x516a8b)]['filter'](_0xbcfa9e=>_0xbcfa9e===document['activeElement']||_0xbcfa9e['offsetWidth']+_0xbcfa9e['offsetHeight']>0x0)['sort']((_0x264f84,_0x4eaf99)=>(_0x264f84['tabIndex']||0x0)-(_0x4eaf99['tabIndex']||0x0)),_0x174537=_0xce5f82[(_0xce5f82['indexOf'](_0x3605f5)+0x1)%_0xce5f82['length']];_0x174537&&_0x174537['focus']();}(this['view']['element']),this['hideDropdown'](),_0x30b37f();}),_0xbb5db4['focusTracker']['add'](this['view']['element']),_0xbb5db4['focusTracker']['on']('change:isFocused',(_0x1ca204,_0x49c7f4,_0x46dd1f)=>{_0x46dd1f||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 _0x4b84ca{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 _0x855411,ContextPlugin as _0x11ffbd,PendingActions as _0x472682,Plugin as _0x2e5ad8}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x30c218,Collection as _0x5b4d4a,DomEmitterMixin as _0x173edc,KeystrokeHandler as _0x4d6505,global as _0x427e20,uid as _0x5a42e3,version as _0x85d46}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x2199bb,BodyCollection as _0x4262b2,LabelView as _0x22b7f8,ListItemView as _0x536567,ListView as _0x4d8a9f,Notification as _0x3261b0,View as _0x654501,clickOutsideHandler as _0x3b3d4f}from'@ckeditor/ckeditor5-ui';import{History as _0x5c4e54,InsertOperation as _0x4b34d3,MarkerOperation as _0x41e66f,ModelLiveRange as _0x3805a3,NoOperation as _0x459d94,OperationFactory as _0x30ba1f,RootAttributeOperation as _0x4a4045,transformOperationSets as _0x3000cc}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x15db02}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x125b8b,CommentsService as _0x2adcb2,EditorService as _0x2f65d1,RevisionHistoryService as _0x4ace97,TrackChangesService as _0x3f43ee,User as _0x2d27a3,WEB_SOCKET_GATEWAY_STATES as _0x36a3fe,WebSocketGateway as _0x5d6b32}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x441670,Users as _0x1633f9}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x13b0c0}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x4b8fa6,TrackChangesEditing as _0x5ce213}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x54b47c,CommentsEditing as _0x244bb0,CommentsRepository as _0x63208d}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0xcbaa40}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0xc8a0f4}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x11ffbd{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x5d6b32)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x15db02,_0x3261b0];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3e0e06){super(_0x3e0e06),this['set']('state',_0x36a3fe['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x173edc())();}init(){const _0x3ac49e=this['context'],_0x2bcf38=_0x3ac49e['plugins']['get'](_0x15db02),_0x29498f=_0x3ac49e['plugins']['get'](_0x3261b0);if(!_0x2bcf38['token'])throw new _0x30c218('websocketgateway-missing-token',this);if(!_0x2bcf38['webSocketUrl'])throw new _0x30c218('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'](_0x2bcf38['token'],_0x2bcf38['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x4113a1=>{if(this['connection']=_0x4113a1,this['bind']('state')['to'](_0x4113a1,'state',this,'_isBrowserOffline',(_0x8e57f4,_0x38b261)=>('connected'!==_0x8e57f4&&(this['_shouldPluginsReconnect']=!0x0),_0x38b261||_0x8e57f4!==_0x36a3fe['CONNECTED']?_0x36a3fe['DISCONNECTED']:this['state']==_0x36a3fe['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x36a3fe['CONNECTING']):_0x36a3fe['CONNECTED'])),this['connection']['on']('error',(_0x9cda99,_0x49d696)=>{if('limitExceeded'!==_0x49d696['code'])throw console['error'](_0x49d696),new _0x30c218('cloudservices-init',null,{'originalError':_0x49d696});_0x29498f['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'});}),!_0x4113a1['me'])return new Promise(_0x1e5f0a=>_0x4113a1['on']('change:me',_0x1e5f0a));})['catch'](_0x66d9d8=>{throw console['error'](_0x66d9d8),new _0x30c218('cloudservices-init',null,{'originalError':_0x66d9d8});});}addToReconnectionStack(_0x140ff0){if('function'!=typeof _0x140ff0['reconnect'])throw new _0x30c218('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x140ff0))throw new _0x30c218('websocketgateway-plugin-already-registered',this,{'name':_0x140ff0['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x140ff0);}removeFromReconnectionStack(_0x5290d9){this['_reconnectionStack']['delete'](_0x5290d9);}isInReconnectionStack(_0x39ca21){return this['_reconnectionStack']['has'](_0x39ca21);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3f78be=>_0x3f78be['reconnect']())))['then'](()=>this['state']=_0x36a3fe['CONNECTED'])['catch'](_0x5bf84f=>{throw console['error'](_0x5bf84f),new _0x30c218('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x36a3fe['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x11ffbd{['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,_0x1633f9];}constructor(_0x1fa7c6){super(_0x1fa7c6),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5b4d4a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1633f9);}init(){const _0x4a98ca=this['context']['plugins']['get'](z);this['listenTo'](_0x4a98ca,'change:state',(_0x1b7441,_0x12b0ce,_0x3a0a1f)=>{if('connected'!==_0x3a0a1f)this['channelSessions']['forEach'](_0x49f03e=>_0x49f03e['clear']()),this['channelConnectedUsers']['forEach'](_0x18bcba=>_0x18bcba['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2e88b0,_0x3161ee]of this['_registeredSessions'])for(const _0x45598e of _0x3161ee)this['_handleSessionAdd'](_0x2e88b0,_0x45598e);}}),this['_createUser'](_0x4a98ca['connection']['me'],!0x0);}register(_0x2036d4,_0x33d52d){if(this['_registeredSessions']['has'](_0x2036d4))throw new _0x30c218('sessions-register-already-registered',null,{'channelId':_0x2036d4});this['_registeredSessions']['set'](_0x2036d4,_0x33d52d),this['channelSessions']['set'](_0x2036d4,new _0x5b4d4a()),this['channelConnectedUsers']['set'](_0x2036d4,new _0x5b4d4a()),this['listenTo'](_0x33d52d,'add',(_0x18ea25,_0x4236b9)=>this['_handleSessionAdd'](_0x2036d4,_0x4236b9)),this['listenTo'](_0x33d52d,'remove',(_0x261145,_0x5bd87b)=>this['_handleSessionRemove'](_0x2036d4,_0x5bd87b));for(const _0x1c013f of _0x33d52d)this['_handleSessionAdd'](_0x2036d4,_0x1c013f);}unregister(_0x1eccd8){if(!this['_registeredSessions']['has'](_0x1eccd8))throw new _0x30c218('sessions-unregister-not-exist',null,{'channelId':_0x1eccd8});const _0x154ab3=this['_registeredSessions']['get'](_0x1eccd8);this['stopListening'](_0x154ab3);for(const _0x32a41d of _0x154ab3)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x1eccd8,_0x32a41d);this['_registeredSessions']['delete'](_0x1eccd8),this['channelSessions']['delete'](_0x1eccd8),this['channelConnectedUsers']['delete'](_0x1eccd8);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x359ef5){for(const _0x4f36d9 of this['channelSessions']['values']())for(const _0x5d3623 of _0x4f36d9)if(_0x5d3623['id']===_0x359ef5)return _0x5d3623['user'];}getUserSessions(_0x202c5f,_0x330b65){const _0x5b9149=_0x330b65?[this['channelSessions']['get'](_0x330b65)]:this['channelSessions']['values'](),_0xb60691=new Set();for(const _0x585ded of _0x5b9149)for(const _0x4520af of _0x585ded)_0x4520af['user']['id']===_0x202c5f['id']&&_0xb60691['add'](_0x4520af['id']);return _0xb60691;}getUserRole(_0x5a4fd3){for(const _0x38f575 of this['channelSessions']['values']())for(const _0x575b51 of _0x38f575)if(_0x575b51['user']===_0x5a4fd3)return _0x575b51['role'];}['_handleSessionAdd'](_0x3865fa,_0x5a8b02){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x17621b=_0x5a8b02['user'],_0x3f3f92=this['_users']['getUser'](_0x17621b['id'])||this['_createUser'](_0x17621b),_0x146426=Object['assign']({},_0x5a8b02,{'user':_0x3f3f92});if(this['channelSessions']['get'](_0x3865fa)['add'](_0x146426),!_0x17621b['hiddenInPresenceList']){const _0x492004=this['channelConnectedUsers']['get'](_0x3865fa);_0x492004['has'](_0x3f3f92['id'])||_0x492004['add'](_0x3f3f92),this['allConnectedUsers']['has'](_0x3f3f92['id'])||_0x17621b['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x3f3f92,_0x3f3f92['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3865fa,{'channelId':_0x3865fa,'session':_0x146426});}['_handleSessionRemove'](_0x57bccd,_0x585fa5){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x34b2f8=this['channelConnectedUsers']['get'](_0x57bccd),_0x257f3d=_0x585fa5['user'];_0x257f3d['id']&&(this['channelSessions']['get'](_0x57bccd)['remove'](_0x585fa5['id']),_0x34b2f8['has'](_0x257f3d['id'])&&!this['getUserSessions'](_0x257f3d,_0x57bccd)['size']&&_0x34b2f8['remove'](_0x257f3d['id']),this['allConnectedUsers']['get'](_0x257f3d['id'])&&!this['getUserSessions'](_0x257f3d)['size']&&this['allConnectedUsers']['remove'](_0x257f3d['id']));}_createUser(_0x39a45c,_0x3c7589){const _0x193903=this['_users']['addUser'](_0x39a45c);return _0x3c7589&&this['_users']['defineMe'](_0x39a45c['id']),_0x193903['orderNumber']=this['_uniqueUsersCount']++,_0x193903;}},K=class extends _0x2e5ad8{_domEmitter=new(_0x173edc())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x38e826=this['editor'],_0x3bc07f=_0x38e826['plugins']['get'](Y);_0x38e826['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x348bd2,{writer:_0x10b455})=>function(_0x2af3cf,_0x4ccb13,_0x2efcc3,_0x52b4f0){const _0x13003e=_0x2af3cf['markerName']['split'](':')[0x2],_0x13faf5=_0x2efcc3['getUserBySessionId'](_0x13003e);if(!_0x13faf5||_0x13003e===_0x2efcc3['mySessionId'])return;if(!_0x52b4f0['model']['schema']['checkChild'](_0x2af3cf['markerRange']['start'],'$text'))return;const _0x36adeb={'class':'ck-user__marker\x20'+_0x13faf5['color']['getMarkerClass'](),'style':Q(_0x13faf5),'data-name':_0x13faf5['name'],'data-session-id':_0x13003e},_0x5cf0fa=_0x52b4f0['model']['markers']['get'](_0x2af3cf['markerName'])['getStart'](),_0x5ea8ac=_0x5cf0fa['nodeAfter'],_0x5af623=_0x52b4f0['model']['schema'];if(_0x5ea8ac&&_0x5af623['isObject'](_0x5ea8ac)&&_0x5af623['isInline'](_0x5ea8ac)&&!_0x52b4f0['model']['markers']['get']('user:range:'+_0x13003e)['getRange']()['isCollapsed'])return;const _0x1d5773=_0x5cf0fa['parent'];return _0x52b4f0['model']['schema']['isLimit'](_0x1d5773)&&!_0x52b4f0['model']['hasContent'](_0x1d5773)&&(_0x36adeb['contenteditable']=!0x1),function(_0x38b092,_0x3c93f8,_0x22aae0){const _0x4e03a6=_0x38b092['createUIElement']('span',_0x3c93f8);return _0x38b092['setCustomProperty']('userPositionMarker',!0x0,_0x4e03a6),_0x4e03a6['render']=function(_0x5baad3){const _0x42f70b=this['toDomElement'](_0x5baad3),_0x39cf11=document['createElement']('span');return _0x39cf11['classList']['add']('ck-user__marker-tooltip'),_0x39cf11['setAttribute']('contenteditable','false'),_0x39cf11['setAttribute']('spellcheck','false'),_0x39cf11['textContent']=_0x22aae0['name'],_0x42f70b['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x39cf11['outerHTML']+'',_0x42f70b['addEventListener']('mouseenter',()=>{_0x42f70b['classList']['add']('ck-user__marker_hovered');}),_0x42f70b['addEventListener']('mouseleave',()=>{_0x42f70b['classList']['remove']('ck-user__marker_hovered');}),_0x42f70b;},_0x4e03a6['isSimilar']=function(_0x16bbc3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x16bbc3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x16bbc3['getAttribute']('data-session-id'));},_0x4e03a6;}(_0x4ccb13,_0x36adeb,_0x13faf5);}(_0x348bd2,_0x10b455,_0x3bc07f,_0x38e826)}),_0x38e826['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4e8cb2=>function(_0x3e0ae4,_0x4f4e8f){const _0x3b0d8c=_0x3e0ae4['markerName']['split'](':')[0x2];if(_0x3b0d8c===_0x4f4e8f['mySessionId'])return null;const _0x22513e=_0x4f4e8f['getUserBySessionId'](_0x3b0d8c);return _0x22513e?{'id':_0x3b0d8c,'classes':['ck-user__selection',_0x22513e['color']['getSelectionClass']()],'attributes':{'style':Q(_0x22513e),'data-session-id':_0x3b0d8c},'priority':0x7d0+_0x22513e['orderNumber']}:{'id':_0x3b0d8c,'classes':[]};}(_0x4e8cb2,_0x3bc07f)}),function(_0x23dcf4){const _0x5aeb61=_0x23dcf4['model'],_0x45803d=new Map(),_0x4e8fda=_0x23dcf4['plugins']['get'](Y);_0x5aeb61['markers']['on']('update:user:range',(_0x5f20f1,_0x25f475,_0x5a0fa1,_0x20df09)=>{if(!_0x20df09&&_0x45803d['get'](_0x25f475['name']))return _0x45803d['get'](_0x25f475['name'])['detach'](),void _0x45803d['delete'](_0x25f475['name']);const _0x2fbeb6=_0x25f475['name']['split'](':')[0x2];if(_0x2fbeb6===_0x4e8fda['mySessionId'])return;const _0x200d26='user:position:'+_0x2fbeb6;_0x5aeb61['markers']['has'](_0x200d26)&&_0x23dcf4['editing']['reconvertMarker'](_0x200d26),_0x25f475['on']('change:range',(_0x2338e6,_0x11ed47,_0x167506)=>{if('$graveyard'!=_0x11ed47['root']['rootName']&&'$graveyard'==_0x25f475['getRange']()['root']['rootName']&&!_0x45803d['has'](_0x25f475['name'])){const _0x393bf2=_0x5aeb61['schema']['getNearestSelectionRange'](_0x167506['deletionPosition']);if(_0x393bf2){const _0x1edbca=_0x3805a3['fromRange'](_0x393bf2);_0x45803d['set'](_0x25f475['name'],_0x1edbca),_0x1edbca['on']('change:range',(_0x4d5094,_0x295b6c,_0x495e79)=>{if('$graveyard'==_0x1edbca['root']['rootName']){const _0x475e00=_0x5aeb61['schema']['getNearestSelectionRange'](_0x495e79['deletionPosition']);_0x475e00?(_0x1edbca['start']=_0x475e00['start'],_0x1edbca['end']=_0x475e00['end']):(_0x45803d['delete'](_0x25f475['name']),_0x1edbca['detach']());}});}}});}),_0x5aeb61['document']['on']('change',()=>{_0x45803d['size']>0x0&&_0x5aeb61['enqueueChange']({'isUndoable':!0x1},_0x46c42c=>{for(const [_0x5ac5b6,_0xe8d638]of _0x45803d)'$graveyard'==_0x5aeb61['markers']['get'](_0x5ac5b6)['getRange']()['root']['rootName']&&(J(_0x5ac5b6['split'](':')[0x2],_0xe8d638['toRange'](),_0x5aeb61,_0x46c42c),_0xe8d638['detach']());_0x45803d['clear']();});});}(_0x38e826),this['_domEmitter']['listenTo'](_0x427e20['document'],'keydown',(_0x18ecc9,{key:_0x56a2ed})=>{'Escape'===_0x56a2ed&&function(_0x4664cd){_0x4664cd['editing']['view']['change'](_0x389cad=>{for(const _0x4dec96 of _0x4664cd['model']['markers']){if(!_0x4dec96['name']['startsWith']('user:position'))continue;const _0x1d5830=_0x4664cd['editing']['mapper']['markerNameToElements'](_0x4dec96['name']);if(_0x1d5830){for(const _0x276f11 of _0x1d5830)_0x389cad['removeClass']('ck-user__marker_hovered',_0x276f11);}}});}(_0x38e826);},{'useCapture':!0x0});}afterInit(){const _0x162a91=this['editor'],_0x5cc658=_0x162a91['commands']['get']('undo');_0x5cc658&&_0x162a91['model']['on']('applyOperation',(_0x31528f,_0x5c9e3f)=>{const _0x159f94=_0x5c9e3f[0x0];if(!_0x159f94['isDocumentOperation'])return;if('marker'!=_0x159f94['type']||!_0x159f94['name']['startsWith']('user:'))return;const _0x225618=_0x159f94['batch'];_0x5cc658['_createdBatches']['has'](_0x225618)&&(_0x159f94['newRange']=_0x159f94['oldRange']?_0x162a91['model']['createRange'](_0x159f94['oldRange']['start'],_0x159f94['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x460aa7=this['editor'],_0x7a76f7=_0x460aa7['model']['document'],_0x3c9b20=_0x460aa7['plugins']['get'](Y);_0x460aa7['model']['enqueueChange']({'isUndoable':!0x1},_0x89991d=>{const _0xe0bd4a='user:range:'+_0x3c9b20['mySessionId'],_0x89e3e4='user:position:'+_0x3c9b20['mySessionId'],_0x52788e=_0x460aa7['model']['markers']['has'](_0xe0bd4a);_0x460aa7['editing']['view']['hasDomSelection']?J(_0x3c9b20['mySessionId'],_0x7a76f7['selection']['getFirstRange'](),_0x460aa7['model'],_0x89991d):_0x52788e&&(_0x89991d['removeMarker'](_0xe0bd4a),_0x89991d['removeMarker'](_0x89e3e4));});}};function J(_0x42578f,_0xaa142,_0x39bd33,_0x23d9be){const _0x41ee94='user:range:'+_0x42578f,_0x52e91c='user:position:'+_0x42578f,_0x17f119=_0xaa142['getContainedElement']();let _0x47bb1a=_0xaa142['start'];if(_0x17f119&&_0x17f119['is']('element','tableCell')){const _0x2bf778=function(_0x3338df,_0x1c03ec){for(const _0x39f00f of _0x3338df['getPositions']())if(_0x1c03ec['schema']['checkChild'](_0x39f00f,'$text'))return _0x39f00f;}(_0xaa142,_0x39bd33);_0x2bf778&&(_0x47bb1a=_0x2bf778,_0xaa142=_0x23d9be['createRange'](_0x47bb1a));}const _0x3592f5=_0x23d9be['createRange'](_0x47bb1a);_0x39bd33['markers']['has'](_0x41ee94)?(_0x23d9be['updateMarker'](_0x41ee94,{'range':_0xaa142}),_0x23d9be['updateMarker'](_0x52e91c,{'range':_0x3592f5})):(_0x23d9be['addMarker'](_0x41ee94,{'range':_0xaa142,'usingOperation':!0x0}),_0x23d9be['addMarker'](_0x52e91c,{'range':_0x3592f5,'usingOperation':!0x0}));}function Q(_0x59de58){return'--ck-user-color:'+_0x59de58['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x59de58['color']['getColorAlphaVariable']()+';';}function X(_0x161226,_0x38d76d,_0xf9964b){const _0x20e508=_0x161226['t'],t=_0x161226['t'];switch(_0x38d76d){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 _0x20e508({'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'},_0xf9964b);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x2e5ad8{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x125b8b)());_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,_0x472682,_0x1633f9,_0x3261b0];}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 _0x17371e=this['serverHistory']['getOperations']();for(let _0x3c1128=_0x17371e['length']-0x1;_0x3c1128>=0x0;_0x3c1128--){const _0x562bf8=_0x17371e[_0x3c1128];if(!this['_disconnectionOperations']['has'](_0x562bf8))return _0x562bf8['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x6e1b60){if(super(_0x6e1b60),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5c4e54(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x30c218('collaboration-missing-channelid',this);const _0x1f0cf0=_0x6e1b60['config']['get']('cloudServices.bundleVersion')||_0x85d46;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x1f0cf0,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x13b0c0(),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 _0x388f93=this['editor'],_0x21e98a=_0x388f93['plugins']['get'](_0x1633f9),_0x37cafd=_0x388f93['plugins']['get'](z);this['listenTo'](_0x21e98a,'getOperationAuthor',(_0x201436,_0x3c1716)=>{const _0xfcddb9=_0x3c1716[0x0];_0xfcddb9['_authorId']&&(_0x201436['return']=_0x21e98a['getUser'](_0xfcddb9['_authorId']),_0x201436['stop']()),null===_0xfcddb9['_authorId']&&(_0x201436['return']=null,_0x201436['stop']());},{'priority':'high'}),this['listenTo'](_0x388f93['model']['document']['selection'],'change:range',(_0x48ef84,_0x59bf05)=>{_0x59bf05['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x388f93['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x388f93['model']['on']('applyOperation',(_0x178336,_0x4bc94a)=>{const _0x1bccc9=_0x4bc94a[0x0];_0x1bccc9['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1bccc9),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x37cafd,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x4d0b5e,_0x5f05fa,_0x23916c)=>'connected'===_0x4d0b5e&&!_0x5f05fa&&!_0x23916c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x388f93['disableReadOnlyMode']('rtc-offline'):_0x388f93['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x388f93['disableReadOnlyMode']('rtc-offline'):_0x388f93['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x4a6f51=this['editor']['plugins']['get'](Y),_0x56a2c8=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x4a6f51['unregister'](this['_channelId']);const _0x37bdf3=await this['_service']['reconnect'](_0x56a2c8['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x37bdf3)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x9320b9=await this['_service']['getConnectedSessions']();_0x4a6f51['register'](this['_channelId'],_0x9320b9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4e0569){if(function(_0x5785e3){return'404'===_0x5785e3['code'];}(_0x4e0569)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2342d1){return'409'===_0x2342d1['code'];}(_0x4e0569)){const _0x5f25ba=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'](_0x5f25ba);}else{if(!(_0x4e0569 instanceof et))throw _0x4e0569;this['_handleReconnectionError']();}}}}destroy(){const _0x679ab6=this['editor']['plugins']['get'](z),_0x52c996=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x52c996['channelSessions']['has'](this['_channelId'])&&_0x52c996['unregister'](this['_channelId']),_0x679ab6['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x1e76a6){if(this['sessionId']!==_0x1e76a6['sessionId']&&this['_lastSyncedOperationId']!==_0x1e76a6['lastOperationId'])throw new et();return this['sessionId']=_0x1e76a6['sessionId'],this['_handleServerResponse']([],{..._0x1e76a6,'wereChangesApplied':!0x1,'data':_0x1e76a6['data']},'reconnect');}async _connectService(_0x387bf3,_0x35a71a=!0x1){const {connection:_0x12aeb4}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x12aeb4,this['_channelId'])['then'](_0x2106fc=>this['_initSessionsHandling'](_0x2106fc))['catch'](_0x5e2759=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5e2759);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2dc5d8,_0x53b0c6)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x53b0c6);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x34d8ab=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x387bf3);this['_isPendingUpdate']=!0x0;const _0x5e76cf=await this['_service']['connect'](_0x12aeb4,this['_compressOperations'](_0x387bf3),_0x34d8ab);if(this['sessionId']=_0x5e76cf['sessionId'],_0x35a71a){if(!_0x5e76cf['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5e76cf['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x387bf3,_0x5e76cf,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5e76cf,_0x387bf3);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x1ab2af=this['editor']['plugins']['get'](Y),_0x911151=this['editor']['plugins']['get'](K),_0x4283ec=_0x1ab2af['channelSessions']['get'](this['_channelId']);_0x4283ec&&_0x4283ec['length']>0x1?_0x911151['createUserMarkerOperations']():this['listenTo'](_0x1ab2af,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1ab2af['channelSessions']['get'](this['_channelId'])['length']&&_0x911151['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x2d9167,_0x572141,_0x5630e4,_0x31efa8){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x572141){const _0x471d07=this['_decompressOperations'](_0x5630e4,_0x31efa8);await this['_fetchMissingUsers'](_0x471d07),this['_handleExternalOperations'](_0x471d07,_0x572141,_0x5630e4['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x329db0}=this['editor'];let _0x589d1c;try{_0x589d1c=await this['_service']['getDocumentDetails']();}catch{const _0x3f1969=X(_0x329db0,'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'](_0x3f1969);}const _0x346da1=_0x589d1c['currentDocumentSession']||_0x589d1c['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x346da1['lastOperationId']){const _0x1f1138=X(_0x329db0,'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'](_0x1f1138);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x4f4d97=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x4f4d97['connection']||'connected'!==_0x4f4d97['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x468130=this['editor']['plugins']['get'](Y);_0x468130['channelSessions']['has'](this['_channelId'])&&_0x468130['unregister'](this['_channelId']),_0x4f4d97['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x955fdb){const _0x1a742d=this['editor']['plugins']['get'](Y);this['listenTo'](_0x1a742d,'sessionAdd:'+this['_channelId'],(_0x380a03,{session:_0x36d8d0})=>{if(_0x36d8d0['id']===_0x1a742d['mySessionId']){_0x380a03['off']();const _0x546a60=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x41746e=_0x36d8d0['permissions'];_0x546a60&&_0x546a60['isEnabled']&&(_0x41746e=_0x41746e['filter'](_0x2d0e71=>'document:write'!==_0x2d0e71)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x41746e,this['_channelId']);}}),_0x1a742d['register'](this['_channelId'],_0x955fdb);}_initThrowingOnDataSet(){const _0x459779=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x35954c)=>{if(!_0x35954c[_0x35954c['length']-0x1]['suppressErrorInCollaboration'])throw new _0x30c218('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x459779['apply'](this['editor']['data'],_0x35954c);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x1cfc71,[_0x2a0306])=>{if(this['_document']['version'])throw new _0x30c218('realtimecollaborationclient-init-document-already-initialized',this);_0x1cfc71['stop'](),this['_setPendingAction']();const _0x35b11b=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x4df86f])=>!_0x4df86f['lazyLoad'])['map'](([_0x2577f5,_0x58d061])=>[_0x2577f5,_0x58d061['modelAttributes']||{}])),_0x4e4507=this['_getOperationsFromInitData'](_0x2a0306,_0x35b11b);0x0==_0x4e4507['length']&&_0x4e4507['push'](new _0x459d94(0x0)),_0x1cfc71['return']=this['_connectService'](_0x4e4507)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3b8829=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3b8829))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2fdf28,[_0x171cdf,_0x5bca01])=>{_0x2fdf28['stop']();const _0x3e1dd2=this['editor']['model']['document']['getRoot'](_0x171cdf);if(!this['_knownRootNames']['has'](_0x171cdf)){const _0x152c98=_0x5bca01&&_0x5bca01['data']?_0x5bca01['data']:'',_0x373659=_0x5bca01&&_0x5bca01['attributes']?_0x5bca01['attributes']:{};await this['_loadRoot'](_0x171cdf,_0x152c98,_0x373659);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3e1dd2['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3e1dd2);});},{'priority':'high'});}async _fetchMissingUsers(_0x4339fc){const _0x2ce31f=this['editor']['plugins']['get'](_0x1633f9),{connection:_0x1f257f}=this['editor']['plugins']['get'](z),_0x4205de=new Set();for(const _0x5869e6 of _0x4339fc){const _0x2caaeb=_0x5869e6['_authorId'];_0x2caaeb&&!_0x2ce31f['getUser'](_0x2caaeb)&&_0x4205de['add'](_0x2caaeb);}if(0x0===_0x4205de['size'])return;const _0x20581b=await _0x2d27a3['getMany'](_0x1f257f,Array['from'](_0x4205de));for(const _0x29baa4 of _0x20581b)_0x2ce31f['getUser'](_0x29baa4['id'])||_0x2ce31f['addUser'](_0x29baa4);}_getOperationsFromInitData(_0x46ca1f,_0xad5f86={}){const _0x3089aa=this['editor']['model'],_0x4a99f4=[];let _0xa052da=0x0;const _0x213d4e='string'==typeof _0x46ca1f?{'main':_0x46ca1f}:_0x46ca1f;for(const _0x6cc87a of Object['keys'](_0x213d4e)){if(!this['_document']['roots']['has'](_0x6cc87a))throw new _0x30c218('realtimecollaborationclient-init-non-existent-root',this);const _0x1bc4d1=this['_document']['getRoot'](_0x6cc87a),_0x353e4b=this['editor']['data']['parse'](_0x213d4e[_0x6cc87a],_0x1bc4d1),_0x162d94=new _0x4b34d3(_0x3089aa['createPositionAt'](_0x1bc4d1,0x0),_0x353e4b,_0xa052da++);_0x4a99f4['push'](_0x162d94);for(const [_0x378c3a,_0x47faf1]of _0x353e4b['markers']){const _0x421794=new _0x41e66f(_0x378c3a,null,_0x3089aa['createRange'](_0x3089aa['createPositionFromPath'](_0x1bc4d1,_0x47faf1['start']['path']['slice']()),_0x3089aa['createPositionFromPath'](_0x1bc4d1,_0x47faf1['end']['path']['slice']())),_0x3089aa['markers'],!0x0,_0xa052da++);_0x4a99f4['push'](_0x421794);}}if(_0xad5f86)for(const [_0x1a0597,_0x2a67bd]of Object['entries'](_0xad5f86)){const _0x1e5294=_0x3089aa['document']['getRoot'](_0x1a0597);if(!_0x1e5294)throw new _0x30c218('multi-root-editor-root-attributes-no-root',null);for(const [_0x3757e3,_0x1ef12b]of Object['entries'](_0x2a67bd))if(null!==_0x1ef12b){const _0x399168=new _0x4a4045(_0x1e5294,_0x3757e3,null,_0x1ef12b,_0xa052da++);_0x4a99f4['push'](_0x399168);}}return _0x4a99f4;}async _loadRoot(_0x51b4b6,_0x3357cc,_0x523c74){this['_getOperationsFromInitData']({[_0x51b4b6]:_0x3357cc},{[_0x51b4b6]:_0x523c74})['forEach']((_0x4f39b6,_0x48ef5e)=>{_0x4f39b6['baseVersion']=this['_document']['version']+_0x48ef5e,_0x4f39b6['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4f39b6);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x435ebe,_0x511e66){let _0x43305d;this['_offset']=_0x435ebe['offset'];const _0x266a5a=_0x435ebe['wereChangesApplied']&&!_0x435ebe['initData'],_0x149065=_0x266a5a?0x0:_0x435ebe['data']['baseVersion'];if(_0x511e66['forEach'](_0x362564=>{_0x362564['_isInit']=!0x0,_0x362564['createdAt']=_0x435ebe['sessionCreatedAt'],_0x362564['_authorId']=null;}),_0x266a5a)_0x43305d=_0x511e66,this['_applyOperationsSet'](_0x43305d,_0x266a5a);else{if(_0x435ebe['initData']){const _0x5d733d=this['_getOperationsFromInitData'](_0x435ebe['initData']);this['_document']['history']['version']=-_0x5d733d['length'],_0x5d733d['forEach'](_0x5281bc=>{_0x5281bc['baseVersion']-=_0x5d733d['length'],_0x5281bc['createdAt']=_0x435ebe['sessionCreatedAt'],_0x5281bc['_isInit']=!0x0,_0x5281bc['_authorId']=null;}),this['_applyOperationsSet'](_0x5d733d,!0x0),this['serverHistory']['version']=-_0x5d733d['length']+this['_offset'],this['_updateServerHistory'](_0x5d733d);}this['_document']['history']['version']=_0x149065,_0x43305d=this['_decompressOperations'](_0x435ebe['data'],_0x435ebe['metadata']),await this['_fetchMissingUsers'](_0x43305d),this['_applyOperationsSet'](_0x43305d,_0x266a5a);}_0x435ebe['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x43305d,_0x435ebe['lastOperationId']),this['_lastSyncedOperationId']=_0x435ebe['lastOperationId']),this['serverHistory']['version']=_0x149065+this['_offset'],this['_updateServerHistory'](_0x43305d),_0x511e66['filter'](_0xff8297=>{const _0x313a9b=this['_getAffectedRoot'](_0xff8297);return _0x313a9b&&!this['_knownRootNames']['has'](_0x313a9b);})['forEach']((_0x1e433d,_0x341e31)=>{_0x1e433d['baseVersion']=this['_document']['version']+_0x341e31,this['_saveOperationInBuffer'](_0x1e433d);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x598430,_0x1bc9b8){const _0x5a0b08=_0x1bc9b8&&_0x1bc9b8['message'];if(_0x5a0b08&&_0x5a0b08['startsWith']('realtimecollaborationclient'))throw _0x1bc9b8;const _0x1fac6f=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x1fac6f['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x30c218(_0x598430,this['editor'],_0x5a0b08?{'originalError':_0x5a0b08}:void 0x0);}_saveOperationInBuffer(_0x123958){this['_knownOperations']['has'](_0x123958)||(this['_knownOperations']['add'](_0x123958),this['_bufferedOperations']['push'](_0x123958),this['_pendingAction']||'marker'==_0x123958['type']&&!_0x123958['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0xe98e11=!0x1){!_0xe98e11&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1fa22f=>{_0x1fa22f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x47ceff=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xbcdf43){return _0xbcdf43['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xbcdf43['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xbcdf43['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x47ceff)||this['_crash'](_0x47ceff['message'],_0x47ceff);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x51b324=>{this['on']('change:_isPendingUpdate',()=>{_0x51b324();});});}async _sendBufferedOperations(){const _0x2d1493=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x2d1493['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x19874b=[...this['_bufferedOperations']];for(const _0x382e6a of _0x19874b)_0x382e6a['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x382e6a);const _0x38fc59=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x19874b),_0x34a0ea=Z++,_0x40241f=this['_compressOperations'](_0x19874b),_0x400d94=await this['_service']['sendOperations'](_0x40241f,_0x40241f['baseVersion'],_0x38fc59);try{return await this['_handleServerResponse'](_0x19874b,_0x400d94,_0x34a0ea);}catch(_0x33ae88){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x33ae88);}}async['_handleServerResponse'](_0x5875cf,_0x49b907,_0x350fe7){if('error'in _0x49b907)throw _0x49b907['error'];let _0x5e6d96;if(_0x49b907['wereChangesApplied']){_0x49b907['lastOperationId']&&(this['_lastSyncedOperationId']=_0x49b907['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x393948=>!_0x5875cf['includes'](_0x393948));for(const _0x330bc9 of _0x5875cf)_0x330bc9['createdAt']='lastOperationAcceptedAt'in _0x49b907&&_0x49b907['lastOperationAcceptedAt']||void 0x0;st(_0x5875cf,_0x49b907['version']-_0x5875cf['length']),this['_updateServerHistory'](_0x5875cf);const _0xd9305f=_0x5875cf['filter'](_0x2350de=>{if(!_0x2350de['_isInit'])return!0x1;const _0x5b4e39=this['_getAffectedRoot'](_0x2350de);return _0x5b4e39&&!this['_knownRootNames']['has'](_0x5b4e39);});st(_0xd9305f,this['_document']['version']),this['_applyOperationsSet'](_0xd9305f),_0x5e6d96=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x53c1fd=this['_decompressOperations'](_0x49b907['data'],_0x49b907['metadata'])['filter'](_0x45ec45=>_0x45ec45['baseVersion']>=this['_lastServerVersion']);_0x53c1fd['forEach'](_0x12d568=>this['_addKnownRoot'](_0x12d568)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5160a9=>!_0x5160a9['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5160a9))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x53c1fd),_0x5e6d96=this['_handleExternalOperations'](_0x53c1fd,_0x49b907['version'],_0x49b907['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5e6d96?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0xd2181d,_0x223b73,_0x2be061){try{const _0x558de7={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1dea5b,operationsB:_0x31a548,originalOperations:_0xe01164}=_0x3000cc(_0xd2181d,this['_bufferedOperations'],_0x558de7);st(_0x1dea5b,this['_document']['version']),st(_0x31a548,_0x223b73);for(const _0x115ec8 of _0x1dea5b){const _0xce8b4a=_0xe01164['get'](_0x115ec8);_0xce8b4a?(_0x115ec8['_authorId']=_0xce8b4a['_authorId'],'noop'!==_0x115ec8['type']&&(_0x115ec8['_aiSource']=_0xce8b4a['_aiSource'])):_0x115ec8['_authorId']=null;}for(const _0xa00980 of _0x31a548)'noop'!==_0xa00980['type']&&(_0xa00980['_aiSource']=_0xe01164['get'](_0xa00980)?.['_aiSource']);_0x2be061&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xd2181d,_0x2be061),this['_lastSyncedOperationId']=_0x2be061),this['_bufferedOperations']=[..._0x31a548],this['_applyOperationsSet'](_0x1dea5b),this['_updateServerHistory'](_0xd2181d);}catch(_0x4a0b94){return console['error'](_0x4a0b94),!0x1;}return!0x0;}_applyOperationsSet(_0x113f7f,_0x213b0a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0xd74172=>{for(const _0x3db41b of _0x113f7f)this['_knownOperations']['add'](_0x3db41b),this['_addKnownRoot'](_0x3db41b),_0xd74172['batch']['addOperation'](_0x3db41b),this['editor']['model']['applyOperation'](_0x3db41b);});}_addKnownRoot(_0x513c1c){const _0x173459=this['_getAffectedRoot'](_0x513c1c);_0x173459&&this['_knownRootNames']['add'](_0x173459);}_getAffectedRoot(_0xe0fa03){let _0x2dfce6,_0x2ff507;switch(_0xe0fa03['type']){case'insert':_0x2dfce6=_0xe0fa03['position']['root'];break;case'marker':if(_0x2ff507=_0xe0fa03['newRange'],!_0x2ff507)return null;_0x2dfce6=_0x2ff507['root'];break;case'addRootAttribute':_0x2dfce6=_0xe0fa03['root'];break;case'addRoot':_0x2dfce6=_0xe0fa03['affectedSelectable'];break;case'move':_0x2dfce6=_0xe0fa03['targetPosition']['root'];break;default:return null;}return _0x2dfce6['rootName'];}_updateServerHistory(_0x9f35b8){_0x9f35b8['forEach'](_0x2d75cc=>{const _0x591e36=_0x2d75cc['clone']();_0x591e36['_authorId']=_0x2d75cc['_authorId'],_0x591e36['_isInit']=!!_0x2d75cc['_isInit'],_0x591e36['_aiSource']=_0x2d75cc['_aiSource'],_0x591e36['createdAt']=_0x2d75cc['createdAt'],_0x591e36['baseVersion']+=this['_offset'],_0x2d75cc['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x591e36),this['serverHistory']['addOperation'](_0x591e36);});}_handleReconnectionError(_0x500b3b){const _0x3f9dc9=this['editor']['plugins']['get']('Notification'),_0x5811a7=this['editor']['locale'];_0x500b3b||(_0x500b3b=X(_0x5811a7,'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.')),_0x3f9dc9['showWarning'](_0x500b3b,{'title':X(_0x5811a7,'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'](_0x472682)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x472682)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x49be04){const _0x217c1a=_0x49be04['map'](_0x37f2b5=>_0x37f2b5['toJSON']());return this['_compressor']['compress'](_0x217c1a);}_decompressOperations(_0x533d14,_0x46a472){return this['_compressor']['decompress'](_0x533d14)['map']((_0x2df34b,_0x2340f2)=>{const _0x343d4d='init'==_0x46a472[_0x2340f2]['type'];if('InsertOperation'==_0x2df34b['__className']){const _0x4d3447=_0x2df34b['position']['root'];!this['_document']['getRoot'](_0x4d3447)&&(this['_document']['createRoot']('$unknown',_0x4d3447)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2df34b['__className']){const _0xe13017=this['_document']['getRoot'](_0x2df34b['rootName']);_0xe13017&&'$unknown'==_0xe13017['name']&&_0x2df34b['elementName']!=_0xe13017['name']&&(_0xe13017['name']=_0x2df34b['elementName']);}}const _0x536ae5=_0x30ba1f['fromJSON'](_0x2df34b,this['_document']);return _0x536ae5['wasUndone']=_0x2df34b['wasUndone'],_0x536ae5['_isInit']=_0x343d4d,_0x536ae5['_authorId']=_0x343d4d?null:_0x46a472[_0x2340f2]['userId'],_0x536ae5['_isDisconnection']='cs:removeUser'===_0x46a472[_0x2340f2]['type'],_0x536ae5['_aiSource']=_0x2df34b['_aiSource']||void 0x0,_0x536ae5['createdAt']=_0x46a472[_0x2340f2]['createdAt'],_0x536ae5;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0xde0c0e=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xde0c0e&&_0xde0c0e['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x342615,_0x261bbd){for(const _0x7ae2eb of _0x342615)_0x7ae2eb['baseVersion']=_0x261bbd++;}var it=class{_ignoredOperations;_operationToId;constructor(_0xcc016e){this['_ignoredOperations']=_0xcc016e,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x122988){let _0x4af815=_0x122988['length'];for(;_0x4af815--;){const _0x44528e=_0x122988[_0x4af815];if(!this['_ignoredOperations']['has'](_0x44528e)){if(!this['_operationToId']['has'](_0x44528e)){const _0x4e5166=_0x5a42e3()['slice'](0x1,0x12);this['_operationToId']['set'](_0x44528e,_0x4e5166);}return this['_operationToId']['get'](_0x44528e);}}}setIdForTheLastOperation(_0x4a3e75,_0x15b115){if(!_0x15b115)return;let _0x16bddd=_0x4a3e75['length'];for(;_0x16bddd--;){const _0x1c32c8=_0x4a3e75[_0x16bddd];this['_ignoredOperations']['has'](_0x1c32c8)||this['_operationToId']['set'](_0x1c32c8,_0x15b115);}}},nt=class extends _0x2e5ad8{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x11ffbd{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x2adcb2)());['_services'];static get requires(){return[z,_0x63208d,Y,_0x1633f9];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2df3ce){super(_0x2df3ce),this['_services']=new Map();}async init(){const _0x305cb6=this['context'],_0x346767=_0x305cb6['plugins']['get'](_0x63208d);if(_0x305cb6['plugins']['get'](z)['addToReconnectionStack'](this),_0x346767['adapter']={'addCommentThread':async({channelId:_0x3c6c02,threadId:_0x2e6d21,comments:_0x3c1330,resolvedAt:_0x14889f,resolvedBy:_0x96d884,context:_0x2e7eea,attributes:_0x1744c8})=>{const _0x14c136=await this['_getService'](_0x3c6c02)['addCommentThread']({'commentThreadId':_0x2e6d21,'comments':_0x3c1330['map'](_0x74b25b=>function(_0x1c96cb,_0x2d1044,_0x5aa853){return{'commentThreadId':_0x5aa853,'commentId':_0x1c96cb['commentId'],'userId':_0x1c96cb['authorId'],'content':_0x1c96cb['content'],'documentId':_0x2d1044,'createdAt':_0x1c96cb['createdAt'],'attributes':_0x1c96cb['attributes']||{}};}(_0x74b25b,_0x3c6c02,_0x2e6d21)),'resolvedAt':_0x14889f,'resolvedBy':_0x96d884,'context':_0x2e7eea,'attributes':_0x1744c8})['catch'](ct);return{'threadId':_0x14c136['commentThreadId'],'comments':_0x14c136['comments']};},'getCommentThread':async({channelId:_0x3eb3bf,threadId:_0x309117})=>{const _0x3e124c=await this['_getService'](_0x3eb3bf)['getCommentThread'](_0x309117)['catch'](rt)['catch'](ct);return _0x3e124c?_0x3e124c['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3e124c]),{'threadId':_0x3e124c['commentThreadId'],'comments':_0x3e124c['comments']['map'](at),'context':_0x3e124c['context'],'resolvedAt':_0x3e124c['resolvedAt'],'resolvedBy':_0x3e124c['resolvedBy'],'attributes':_0x3e124c['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0xf6082e,threadId:_0x499ab2,context:_0x13be8b,unlinkedAt:_0x11da90,attributes:_0x1b726a})=>this['_getService'](_0xf6082e)['updateCommentThread']({'commentThreadId':_0x499ab2,'context':_0x13be8b,'attributes':_0x1b726a,'unlinkedAt':_0x11da90})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x3d00dd,threadId:_0x4ce98b})=>{const _0x36132d=await this['_getService'](_0x3d00dd)['resolveCommentThread'](_0x4ce98b)['catch'](rt)['catch'](ct);return{'threadId':_0x36132d['commentThreadId'],'resolvedAt':_0x36132d['resolvedAt'],'resolvedBy':_0x36132d['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5b8e05,threadId:_0x32b3d0})=>this['_getService'](_0x5b8e05)['reopenCommentThread'](_0x32b3d0)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x413f05,threadId:_0x47fc0c})=>this['_getService'](_0x413f05)['removeCommentThread'](_0x47fc0c)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x39e61c,threadId:_0x22471c,commentId:_0x2596c1,content:_0x5a9819,attributes:_0xeb9428})=>this['_getService'](_0x39e61c)['addComment'](_0x22471c,_0x2596c1,_0x5a9819,_0xeb9428)['catch'](ct),'updateComment':({channelId:_0x2bd8c1,threadId:_0x519f62,commentId:_0x29bf9a,content:_0x27a923,attributes:_0x40055e})=>this['_getService'](_0x2bd8c1)['updateComment'](_0x519f62,_0x29bf9a,_0x27a923,_0x40055e)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x544a17,threadId:_0x3d83b0,commentId:_0x11ffda})=>this['_getService'](_0x544a17)['removeComment'](_0x3d83b0,_0x11ffda)['catch'](rt)['catch'](ct)},_0x305cb6 instanceof _0x855411){const _0xacadda=_0x305cb6['config']['get']('collaboration.channelId'),_0x5e199a=_0x305cb6['plugins']['get'](Y);await this['_setUpService'](_0xacadda);const _0x49a358=await this['_services']['get'](_0xacadda)['getConnectedSessions']();this['listenTo'](_0x5e199a,'sessionAdd:'+_0xacadda,(_0x2b6921,{session:_0x330c36})=>{_0x330c36['id']===_0x5e199a['mySessionId']&&(_0x2b6921['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x330c36['permissions'],_0xacadda));}),_0x5e199a['register'](_0xacadda,_0x49a358);}}async _setUpService(_0x52ad92){if(this['_services']['has'](_0x52ad92))throw new _0x30c218('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x52ad92});const _0x4a842e=this['context']['plugins']['get'](_0x63208d),_0x2adfaf=new CloudServicesCommentsAdapter['CommentsService'](_0x52ad92);this['_services']['set'](_0x52ad92,_0x2adfaf),this['listenTo'](_0x2adfaf,'commentThreadAdded',(_0x2be3e0,_0x1b6859)=>{const {commentThreadId:_0x471a27,documentId:_0x3196bf,context:_0x2ac0f6,attributes:_0x4e85d9,resolvedAt:_0x210683,resolvedBy:_0xd384b2,comments:_0x441f02}=_0x1b6859;_0x4a842e['getCommentThread'](_0x471a27)||_0x4a842e['addCommentThread']({'threadId':_0x471a27,'channelId':_0x3196bf,'comments':_0x441f02?_0x441f02['map'](at):[],'context':_0x2ac0f6,'attributes':_0x4e85d9,'resolvedAt':_0x210683,'resolvedBy':_0xd384b2,'isFromAdapter':!0x0});}),this['listenTo'](_0x2adfaf,'commentThreadUpdated',(_0x750c91,{commentThreadId:_0x4b637a,documentId:_0x332b9b,context:_0x42ac72,unlinkedAt:_0x24d638,attributes:_0x2e5ead})=>{_0x4a842e['getCommentThread'](_0x4b637a)&&_0x4a842e['updateCommentThread']({'threadId':_0x4b637a,'channelId':_0x332b9b,'context':_0x42ac72,'unlinkedAt':_0x24d638,'attributes':_0x2e5ead,'isFromAdapter':!0x0});}),this['listenTo'](_0x2adfaf,'commentThreadResolved',(_0x39b4e9,{commentThreadId:_0x35bf5a,resolvedBy:_0x512f11,resolvedAt:_0x256573})=>{const _0x14a1a1=_0x4a842e['getCommentThread'](_0x35bf5a);_0x14a1a1&&_0x14a1a1['resolve']({'resolvedBy':_0x512f11,'resolvedAt':_0x256573,'isFromAdapter':!0x0});}),this['listenTo'](_0x2adfaf,'commentThreadReopened',(_0x6f416f,{commentThreadId:_0x6defb7})=>{const _0x284492=_0x4a842e['getCommentThread'](_0x6defb7);_0x284492&&_0x284492['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2adfaf,'commentThreadRemoved',(_0x497a37,{commentThreadId:_0x38ae48})=>{const _0x3c6a3b=_0x4a842e['getCommentThread'](_0x38ae48);_0x3c6a3b&&_0x3c6a3b['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2adfaf,'commentAdded',(_0x444a02,_0x58783e)=>{const _0xbb2e46=_0x58783e['commentThreadId'],_0x2a8a00=_0x4a842e['getCommentThread'](_0xbb2e46);_0x2a8a00&&_0x2a8a00['addComment']({...at(_0x58783e),'isFromAdapter':!0x0});}),this['listenTo'](_0x2adfaf,'commentUpdated',(_0x14193d,{commentThreadId:_0x27c4b1,commentId:_0x3f4f47,content:_0x27b814,attributes:_0x2297df})=>{const _0x2969e3=_0x4a842e['getCommentThread'](_0x27c4b1);if(_0x2969e3){const _0x64c1ba=_0x2969e3['getComment'](_0x3f4f47);_0x64c1ba&&_0x64c1ba['update']({'content':_0x27b814,'attributes':_0x2297df,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2adfaf,'commentRemoved',(_0x34429e,{commentThreadId:_0x2e5dfb,commentId:_0x484de1})=>{const _0x20043f=_0x4a842e['getCommentThread'](_0x2e5dfb);if(_0x20043f){const _0x24043a=_0x20043f['getComment'](_0x484de1);_0x24043a&&_0x24043a['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x2adfaf,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x52ad92),this['stopListening'](_0x2adfaf));}),await this['_connectService'](_0x52ad92);}destroy(){if(this['context']instanceof _0x855411){const _0xae243c=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0xae243c)&&this['_terminateService'](_0xae243c);}}_terminateService(_0x2e4308){if(!this['_services']['has'](_0x2e4308))throw new _0x30c218('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2e4308});this['_getService'](_0x2e4308)['disconnect'](),this['_services']['delete'](_0x2e4308);}async reconnect(){for(const _0x5ea0fa of this['_services']['keys']())await this['_connectService'](_0x5ea0fa);if(this['context']instanceof _0x855411){const _0x222d42=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x222d42)){const _0x349df6=this['context']['plugins']['get'](Y);_0x349df6['unregister'](_0x222d42);const _0x3c1fdf=await this['_services']['get'](_0x222d42)['getConnectedSessions']();_0x349df6['register'](_0x222d42,_0x3c1fdf);}}}async _connectService(_0x21320b){const {connection:_0x30f961}=this['context']['plugins']['get'](z),_0x28437f=this['context']['plugins']['get'](_0x63208d),_0x3be224=await this['_services']['get'](_0x21320b)['connect'](_0x30f961);await this['_fetchMissingUsersForThreads'](_0x3be224);const _0x5e156e=new Set(Array['from'](_0x28437f['getCommentThreads']({'channelId':_0x21320b}),_0x70c72a=>_0x70c72a['id']));for(const _0x28d207 of _0x3be224)_0x28d207['deletedAt']||_0x5e156e['delete'](_0x28d207['commentThreadId']);for(const _0x2147c4 of _0x5e156e)_0x28437f['getCommentThread'](_0x2147c4)['remove']({'isFromAdapter':!0x0});for(const _0x312ac1 of _0x3be224){let _0x242acc=_0x28437f['getCommentThread'](_0x312ac1['commentThreadId']);const {commentThreadId:_0x38883c,context:_0x54feec,attributes:_0x55c09a,resolvedBy:_0x302ba5,resolvedAt:_0x25c141,unlinkedAt:_0x3924b2,deletedAt:_0x4c81e7}=_0x312ac1;if(_0x4c81e7)continue;_0x242acc||(_0x242acc=_0x28437f['addCommentThread']({'channelId':_0x21320b,'threadId':_0x38883c,'context':_0x54feec,'attributes':_0x55c09a||{},'resolvedBy':_0x302ba5,'resolvedAt':_0x25c141,'unlinkedAt':_0x3924b2,'isFromAdapter':!0x0}));const _0x1aefbc=new Set(Array['from'](_0x242acc['comments'],_0x4edec2=>_0x4edec2['id']));for(const _0xd4240d of _0x312ac1['comments'])_0x1aefbc['delete'](_0xd4240d['commentId']);for(const _0x5aa5be of _0x1aefbc)_0x242acc['getComment'](_0x5aa5be)['remove']({'isFromAdapter':!0x0});for(const _0x450e2b of _0x312ac1['comments']){const _0x277c60=_0x242acc['getComment'](_0x450e2b['commentId']);_0x277c60?_0x277c60['content']!==_0x450e2b['content']&&_0x277c60['update']({'content':_0x450e2b['content'],'isFromAdapter':!0x0}):_0x242acc['addComment'](Object['assign'](at(_0x450e2b),{'isFromAdapter':!0x0}));}}}_getService(_0x4e14e6){if(!this['_services']['has'](_0x4e14e6))throw new _0x30c218('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4e14e6});return this['_services']['get'](_0x4e14e6);}async _fetchMissingUsersForThreads(_0x1136cf){const _0x482ca5=this['context']['plugins']['get'](_0x1633f9),{connection:_0x3b162b}=this['context']['plugins']['get'](z),_0x83b89c=new Set();for(const {resolvedBy:_0x1b88f3,comments:_0x47ace5}of _0x1136cf){_0x1b88f3&&!_0x482ca5['getUser'](_0x1b88f3)&&_0x83b89c['add'](_0x1b88f3);for(const {userId:_0x266068}of _0x47ace5)_0x482ca5['getUser'](_0x266068)||_0x83b89c['add'](_0x266068);}if(0x0===_0x83b89c['size'])return;const _0x5c5332=await _0x2d27a3['getMany'](_0x3b162b,Array['from'](_0x83b89c));for(const _0x52ec16 of _0x5c5332)_0x482ca5['getUser'](_0x52ec16['id'])||_0x482ca5['addUser'](_0x52ec16);}};async function rt(_0x2aec03){if('404'!==_0x2aec03['code'])throw _0x2aec03;}function ct(_0x429065){if((_0x561264=_0x429065)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x561264['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x561264['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x561264;throw _0x429065;}function at(_0x196ef6){return{'threadId':_0x196ef6['commentThreadId'],'commentId':_0x196ef6['commentId'],'content':_0x196ef6['content'],'createdAt':_0x196ef6['createdAt'],'authorId':_0x196ef6['userId'],'attributes':_0x196ef6['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x2e5ad8{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x3f43ee)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x5ce213,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2da672){super(_0x2da672);const _0xe2aa9e=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0xe2aa9e);}init(){const _0x5504b2=this['editor']['plugins']['get'](z),_0x4e9791=this['editor']['plugins']['get'](_0x5ce213);return _0x4e9791['adapter']={'getSuggestion':async _0x279915=>{await this['_waitForServiceReady']();const _0x582e07=await this['_trackChangesService']['get'](_0x279915)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x582e07]),_0x582e07;},'addSuggestion':async({id:_0x155d4b,type:_0x4e04e6,data:_0x228a81,originalSuggestionId:_0x5c6a9d,attributes:_0x7a0cd9})=>{await this['_waitForServiceReady']();const _0x2877e2={'id':_0x155d4b,'type':_0x4e04e6,'data':_0x228a81,'originalSuggestionId':_0x5c6a9d,'attributes':_0x7a0cd9},_0x24ea10=await this['_trackChangesService']['add'](_0x155d4b,_0x4e04e6,_0x228a81,_0x5c6a9d,_0x7a0cd9)['catch'](_0x147507=>{if(dt(_0x147507))return new Promise(_0x2214d1=>{this['_bufferedRequests']['set'](_0x155d4b,{'resolve':_0x2214d1,'suggestionData':_0x2877e2});});throw _0x147507;});return this['_bufferedRequests']['delete'](_0x155d4b),_0x24ea10;},'updateSuggestion':async(_0xf6aba3,_0x102cda)=>{if(await this['_waitForServiceReady'](),'open'!==_0x102cda['state'])return this['_trackChangesService']['update'](_0xf6aba3,_0x102cda)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4948eb,_0x1dedb6)=>{_0x4e9791['hasSuggestion'](_0x1dedb6['id'])&&(_0x4e9791['getSuggestion'](_0x1dedb6['id'])['attributes']=_0x1dedb6['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x5504b2['connection']?.['state']&&(_0x5504b2['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x5504b2['connection'])['then'](_0x20905a=>(_0x5504b2['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x20905a)['then'](()=>{for(const _0x379176 of _0x20905a){_0x4e9791['addSuggestionData'](_0x379176)['_saved']=!0x0;}})));}async reconnect(){const _0x1e9707=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0xeac2f3}=this['editor']['plugins']['get'](z),_0x339843=await this['_trackChangesService']['connect'](_0xeac2f3);await this['_fetchMissingUsersForThreads'](_0x339843);for(const {suggestionData:_0x3159b1,resolve:_0x2df47e}of this['_bufferedRequests']['values']()){let _0x4e2029=_0x339843['find'](_0x335cbd=>_0x335cbd['id']===_0x3159b1['id']);_0x4e2029||(_0x4e2029=await this['_trackChangesService']['add'](_0x3159b1['id'],_0x3159b1['type'],_0x3159b1['data'],_0x3159b1['originalSuggestionId'])),_0x2df47e(_0x4e2029);}for(const _0x3cb70f of _0x339843)_0x1e9707['hasSuggestion'](_0x3cb70f['id'])||_0x1e9707['addSuggestionData'](_0x3cb70f);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x3d0978=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2f4de4=>{_0x2f4de4['off'](),_0x3d0978();});});}async _fetchMissingUsersForThreads(_0x14bb03){const _0x19f347=this['editor']['plugins']['get'](_0x1633f9),{connection:_0x15fbe1}=this['editor']['plugins']['get'](z),_0x1a6fdb=new Set();for(const {authorId:_0x43e542}of _0x14bb03)_0x19f347['getUser'](_0x43e542)||_0x1a6fdb['add'](_0x43e542);if(0x0===_0x1a6fdb['size'])return;const _0x423aae=await _0x2d27a3['getMany'](_0x15fbe1,Array['from'](_0x1a6fdb));for(const _0x349ee6 of _0x423aae)_0x19f347['getUser'](_0x349ee6['id'])||_0x19f347['addUser'](_0x349ee6);}};function lt(_0x5393ea){if(dt(_0x5393ea))return new Promise(()=>{});throw _0x5393ea;}function dt(_0x1fd2e7){return _0x1fd2e7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1fd2e7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x2e5ad8{static get requires(){return[_0x54b47c,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x38857b=this['editor']['plugins']['get'](z),_0x4a4d38=this['editor']['plugins']['get'](_0x244bb0),_0x4e7358=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x38857b,'change:state',(_0x358ef4,_0x30044b,_0xd0599c)=>{_0x4a4d38['isThreadsLoadingPaused']='connected'!==_0xd0599c;});}),this['listenTo'](_0x38857b,'change:state',(_0x37ba78,_0x34c0d9,_0x39fac3)=>{this['editor']['plugins']['get'](_0x63208d)['switchReadOnly']('connected'!==_0x39fac3);}),_0x4e7358['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x288fe4=this['editor']['plugins']['get'](ot),_0x2eb783=this['editor']['config']['get']('collaboration.channelId');_0x288fe4['_services']['has'](_0x2eb783)&&_0x288fe4['_terminateService'](_0x2eb783),super['destroy']();}},ft=class extends _0x2e5ad8{static get requires(){return[ut,ht,_0x4b8fa6];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x2e5ad8{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x4ace97)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0xcbaa40,Y,_0x1633f9];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x52643e){super(_0x52643e);const _0x3fcf9a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x3fcf9a);}async init(){const _0x59fd18=this['editor']['plugins']['get'](tt),_0x5b35da=_0x59fd18['serverHistory'],_0x538b37=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x5b35da,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x59fd18['sessionId']});const _0x5a5379=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x85d46,_0x3823e4=await _0x2f65d1['isBundleUploaded'](_0x538b37['connection'],_0x5a5379);this['editor']['plugins']['get'](_0xcbaa40)['adapter']={'getRevision':async({revisionId:_0xaf4441})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xaf4441)),'updateRevisions':async _0x1911f6=>{await this['_waitForServiceReady']();const _0x2144c1=this['_revisionTracker']['currentRevision'];if(_0x3823e4&&0x1===_0x1911f6['length']&&_0x1911f6[0x0]['id']===_0x2144c1['id'])return _0x1911f6;for(const _0xdcde6e of _0x1911f6)_0xdcde6e['id']===_0x2144c1['id']&&(_0xdcde6e['isEmptyCurrent']=_0xdcde6e['fromVersion']===_0xdcde6e['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1911f6,this['_lastRequestId'])['then'](_0x3e8e59=>(this['_lastRequestId']=_0x3e8e59,_0x1911f6))['catch'](_0x533910=>{if(pt(_0x533910)||'400'===_0x533910['code']&&void 0x0!==_0x533910['data']['wrongRequestId']){for(const _0x1becbe of _0x1911f6)this['_revisionTracker']['repository']['getRevision'](_0x1becbe['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x1becbe['id'],_0x1becbe,!0x1);if(pt(_0x533910)&&'destroyed'!==this['editor']['state'])throw _0x533910;return _0x1911f6;}throw _0x533910;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3d29c6,{revisionsData:_0x561253,requestId:_0x4fa3be})=>{Math['max'](..._0x561253['map'](_0x6d265d=>_0x6d265d['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x561253,_0x4fa3be);}):this['_handleRevisionsUpdate'](_0x561253,_0x4fa3be);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x538b37['connection']?.['state']&&(_0x538b37['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0xe2acd5,requestId:_0xb9f005}=await this['_revisionHistoryService']['connect'](_0x538b37['connection']);_0x538b37['addToReconnectionStack'](this),this['_lastRequestId']=_0xb9f005,await this['_fetchMissingUsers'](_0xe2acd5);for(const _0x1765ad of _0xe2acd5)this['_revisionTracker']['addRevisionData'](_0x1765ad);this['listenTo'](_0x59fd18,'change:_isConnected',(_0xdf68ec,_0x185908,_0x179e02)=>{_0x179e02&&(this['_oldOffset']=_0x59fd18['_offset'],_0xdf68ec['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x16ae71=this['editor']['plugins']['get'](z),_0x107d64=this['editor']['plugins']['get'](tt),_0x58fbc8=async()=>{const _0x43d531=this['_revisionTracker']['currentRevision'],_0x4c2140=_0x43d531['id'],_0x4fd535=_0x4c2140!==_0x107d64['sessionId'];if(_0x4fd535){const _0x5982bb=_0x107d64['_offset']-this['_oldOffset'],_0x5c04b2=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x43d531['toVersion']+_0x5982bb!==_0x5c04b2){const _0xb5fdb1=_0x43d531['fromVersion']+_0x5982bb,_0x5f5bee=this['editor']['plugins']['get'](_0x1633f9),_0x2e03ea=this['_revisionTracker']['buildRevisionData']({'revision':_0x43d531,'from':_0xb5fdb1,'to':_0x5c04b2});_0x2e03ea['id']=_0x43d531['id'];const _0x4d2b80=_0x2e03ea['authorsIds']['map'](_0x2227f9=>_0x5f5bee['getUser'](_0x2227f9));_0x43d531['_update']({..._0x2e03ea,'authors':_0x4d2b80},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x43d531['id'],_0x2e03ea,!0x0);}this['_revisionTracker']['_startingVersion']=_0x5c04b2,_0x43d531['toVersion']!==_0x43d531['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x4c2140)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x4c2140),this['_revisionTracker']['_createCurrentRevision'](_0x5c04b2);}const {revisions:_0x130aef,requestId:_0x53ec8c}=await this['_revisionHistoryService']['reconnect'](_0x16ae71['connection'],this['_lastRequestId']);_0x4fd535&&_0x130aef['length']>0x0?_0x107d64['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x130aef),this['_handleRevisionsUpdate'](_0x130aef,_0x53ec8c),this['_revisionTracker']['sendBufferedUpdates']());};return _0x107d64['_isConnected']?_0x58fbc8():new Promise((_0x466fb5,_0x3d3c14)=>{_0x107d64['once']('change:_isConnected',()=>{_0x58fbc8()['then'](_0x466fb5)['catch'](_0x3d3c14);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5edfb4=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0xfb4312=>{_0xfb4312['off'](),_0x5edfb4();});});}_getLatestVersionFromServerOperations(){const _0x381760=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0xf05dd5 of _0x381760)if('marker'!==_0xf05dd5['type']||_0xf05dd5['affectsData'])return _0xf05dd5['baseVersion']+0x1;}_getLatestVersion(){const _0x54290c=this['editor']['plugins']['get'](tt);return new Promise(_0x5aa72a=>{_0x54290c['_isPendingUpdate']?_0x54290c['once']('change:_isPendingUpdate',()=>{_0x5aa72a(this['_getLatestVersionFromServerOperations']());}):_0x5aa72a(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x3a3131,_0x2df5e7){const _0x52dae6=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2df5e7;for(const _0x3f2307 of _0x3a3131){const _0x43eab5=_0x52dae6['getRevision'](_0x3f2307['id']);if(_0x43eab5){if((_0x3f2307['fromVersion']||_0x3f2307['toVersion'])&&(_0x3f2307['diffData']=null),_0x43eab5===this['_revisionTracker']['currentRevision']){const _0x34189c=Math['max'](_0x43eab5['toVersion'],_0x3f2307['toVersion']),_0x22fa6f=Math['max'](_0x43eab5['fromVersion'],_0x3f2307['fromVersion']);let _0xede8fe;_0x43eab5['toVersion']===_0x3f2307['toVersion']&&_0x43eab5['fromVersion']===_0x3f2307['fromVersion']?(_0xede8fe=!0x0,this['_preventResendingRevisionData'](_0x3f2307)):_0x3f2307['toVersion']===_0x34189c&&_0x3f2307['fromVersion']===_0x22fa6f?_0xede8fe=!0x1:(_0x43eab5['toVersion']===_0x34189c&&_0x43eab5['fromVersion']===_0x22fa6f||this['_fixRevision']({'revision':_0x43eab5,'from':_0x22fa6f,'to':_0x34189c}),_0xede8fe=!0x0),_0xede8fe&&(delete _0x3f2307['fromVersion'],delete _0x3f2307['toVersion'],delete _0x3f2307['diffData'],delete _0x3f2307['createdAt'],delete _0x3f2307['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3f2307),this['_preventResendingRevisionData'](_0x3f2307);}else this['_revisionTracker']['addRevisionData'](_0x3f2307);}const _0x4d0767=_0x52dae6['getRevisions']();_0x4d0767['reverse']();for(let _0x1b9d99=0x0;_0x1b9d99<_0x4d0767['length']-0x1;_0x1b9d99++){const _0x207eda=_0x4d0767[_0x1b9d99],_0xa9bc8=_0x4d0767[_0x1b9d99+0x1];if(_0x207eda['fromVersion']<_0xa9bc8['toVersion']){const _0x3bf71f=_0xa9bc8['toVersion'],_0x130f96=Math['max'](_0x3bf71f,_0x207eda['toVersion']);this['_fixRevision']({'revision':_0x207eda,'from':_0x3bf71f,'to':_0x130f96});}}}['_fixRevision']({revision:_0x4239a8,from:_0x80bd24,to:_0x29a0a1}={}){const _0x43bb23=this['editor']['plugins']['get'](_0x1633f9),_0x2ac478=this['_revisionTracker']['buildRevisionData']({'revision':_0x4239a8,'from':_0x80bd24,'to':_0x29a0a1});_0x2ac478['authors']=_0x2ac478['authorsIds']['map'](_0x2afb32=>_0x43bb23['getUser'](_0x2afb32)),_0x4239a8['_update'](_0x2ac478);}_preventResendingRevisionData(_0x52ff0a){const _0x3bfa83={};_0x3bfa83['id']=_0x52ff0a['id'];for(const _0x1f5219 of Object['keys'](_0x52ff0a))'id'!==_0x1f5219&&(_0x3bfa83[_0x1f5219]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3bfa83['id'],_0x3bfa83,!0x0);}async _fetchMissingUsers(_0x5ca845){const _0x50069f=this['editor']['plugins']['get'](_0x1633f9),{connection:_0x307973}=this['editor']['plugins']['get'](z),_0x2665c5=new Set();for(const _0x51b47e of _0x5ca845){for(const _0x4d934f of _0x51b47e['authorsIds'])_0x5c8dd0(_0x4d934f);_0x51b47e['creatorId']&&_0x5c8dd0(_0x51b47e['creatorId']);}if(0x0===_0x2665c5['size'])return;const _0x337dcb=await _0x2d27a3['getMany'](_0x307973,Array['from'](_0x2665c5));for(const _0x57e212 of _0x337dcb)_0x50069f['getUser'](_0x57e212['id'])||_0x50069f['addUser'](_0x57e212);function _0x5c8dd0(_0x512341){_0x50069f['getUser'](_0x512341)||_0x2665c5['add'](_0x512341);}}};function pt(_0x46d79e){return _0x46d79e['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x46d79e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x46d79e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x2e5ad8{static get requires(){return[_0xcbaa40,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x654501{_collapseAt;constructor(_0x5e7e29,_0x536a21=0x6){super(_0x5e7e29);const _0x5ba877=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x536a21,this['bind']('isHidden')['to'](this,'usersCount',_0x5034d5=>_0x5034d5<_0x536a21),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5ba877['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':_0x5ba877['to']('usersCount',_0x405997=>'+'+(_0x405997-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x654501{items;keystrokes;constructor(_0x9f412f){super(_0x9f412f);const _0x2132f4=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4d6505(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2132f4['if']('hasPopup'),'aria-expanded':_0x2132f4['to']('isExpanded',_0x2c60d4=>this['hasPopup']&&String(_0x2c60d4)),'aria-label':_0x2132f4['to']('hasPopup',_0x378075=>X(_0x9f412f,_0x378075?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2132f4['to']('hasPopup',_0x47a9b0=>!!_0x47a9b0&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2132f4['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2132f4['to'](_0x3e06d5=>{const _0x3a58ef=_0x3e06d5,_0x167f3b=document['querySelector']('.ck-presence-list__dropdown-list'),_0x51ffb9=document['querySelector']('.ck-balloon-panel_with-arrow');_0x167f3b?.['contains'](_0x3a58ef['relatedTarget'])||_0x51ffb9?.['contains'](_0x3a58ef['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2bb560,_0x2b8607,_0x297c7f)=>{this['element']&&(_0x297c7f?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 _0x654501{counterView;inlineListView;constructor(_0x59f2f3,_0x50b11c=0x6){super(_0x59f2f3);const _0x1ca2c7=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x50b11c),this['inlineListView']=new vt(_0x59f2f3),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x55d27a of this['inlineListView']['items'])_0x55d27a['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',_0x1ca2c7['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x654501{listWrapperView;constructor(_0x2fed8c,_0x4e085c){super(_0x2fed8c);const _0x525c5c=this['bindTemplate'];this['listWrapperView']=new bt(_0x2fed8c,_0x4e085c),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x2fed8c,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x525c5c['to'](_0x22eccd=>{const _0x10150a=_0x22eccd,_0x2bb140=document['querySelector']('.ck-presence-list__list'),_0x5c56d3=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2bb140?.['contains'](_0x10150a['relatedTarget'])||_0x5c56d3?.['contains'](_0x10150a['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x4d8a9f{constructor(_0x19e888,_0x41079d){super(_0x19e888);const _0x20c3df=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x41079d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x20c3df['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x20c3df['to']('role'),'aria-label':_0x20c3df['to']('ariaLabel'),'aria-labelledby':_0x20c3df['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x427e20['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x250967=this['element'];_0x250967&&(this['_isScrollable']=Math['max'](_0x250967['scrollHeight'],_0x250967['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x536567{['userView'];constructor(_0x3b560d,_0x5a57d8,_0x346cef){super(_0x3b560d);const _0x5bc3b9=this['bindTemplate'];this['userView']=new _0x441670(_0x3b560d,_0x5a57d8);const _0x5f49b8={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5a57d8['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5a57d8['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5a57d8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5a57d8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5a57d8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x346cef&&(_0x5f49b8['tag']='button',_0x5f49b8['on']={'click':_0x5bc3b9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5f49b8);}['focus'](){this['element']['focus']();}},It=class extends _0x654501{['userView'];['markerView'];constructor(_0x11281b,_0xf03727,_0x873a58){super(_0x11281b);const _0x12780b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x441670(_0x11281b,_0xf03727),this['markerView']=new St(_0x11281b,_0xf03727);const _0xab926a=new _0x22b7f8(_0x11281b);_0xab926a['template']['tag']='span',_0xab926a['text']=_0xf03727['name'];const _0xd90cf9={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x12780b['to']('isFocusable',_0x614d4f=>!!_0x614d4f&&0x0),'aria-labelledby':_0xab926a['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x12780b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x12780b['to']('hasTooltip',_0x4cd1ea=>!_0x4cd1ea),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0xab926a]};_0x873a58&&(_0xd90cf9['tag']='button',_0xd90cf9['on']={'click':_0x12780b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xd90cf9);}},St=class extends _0x654501{constructor(_0x27a127,_0x58c0f7){super(_0x27a127),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x58c0f7['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x58c0f7['color']['getColorVariable'](),'--ck-user-color-alpha':_0x58c0f7['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x11ffbd{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x347d6b){super(_0x347d6b),this['context']['config']['define']('presenceList',Tt);const _0x5202cb=_0x347d6b['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5202cb)throw new _0x30c218('presencelist-collapseat-invalid-format',this);if(_0x5202cb<0x1)throw new _0x30c218('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5b4d4a(),this['balloonPanelView']=new _0x2199bb(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x31cf6e of this['_allConnectedUsers'])this['_handleUserAdd'](_0x31cf6e);this['listenTo'](this['_allConnectedUsers'],'add',(_0xca830b,_0x5f20c7)=>{this['_handleUserAdd'](_0x5f20c7);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xb3a4e3,_0x3bb63)=>{this['_handleUserRemove'](_0x3bb63);});}_createView(){const _0x41ee15=this['context'],_0x309ac4=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x32f0af=this['balloonPanelView'];if(!_0xc8a0f4(_0x41ee15['config']['get']('presenceList.container')))throw new _0x30c218('presencelist-missing-container',this);return _0x309ac4['counterView']['bind']('usersCount')['to'](this),_0x309ac4['bind']('isCollapsed')['to'](this,'usersCount',_0x56f002=>{const {collapseAt:_0x17748b}=_0x41ee15['config']['get']('presenceList'),_0x4dabbd=_0x56f002>=_0x17748b;if(_0x4dabbd&&!_0x309ac4['inlineListView']['items']['find'](_0x54336e=>_0x54336e instanceof wt)){const _0x6ed723=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x6ed723&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x309ac4['inlineListView']['items']['add'](_0x309ac4['counterView']);}return _0x4dabbd||this['hideDropdown'](),_0x4dabbd;}),_0x309ac4['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x31ddbe=>{const _0x1e74e4=_0x41ee15['config']['get']('presenceList'),_0x50511f=new It(_0x41ee15['locale'],_0x31ddbe,!!_0x1e74e4['onClick']);return _0x50511f['bind']('hasTooltip')['to'](_0x309ac4,'isCollapsed',_0x34f902=>!_0x34f902),_0x50511f['bind']('isFocusable')['to'](_0x309ac4,'isCollapsed',_0x2bc656=>!_0x2bc656),_0x1e74e4['onClick']&&this['listenTo'](_0x50511f,'execute',()=>{this['view']['isCollapsed']||_0x1e74e4['onClick'](_0x31ddbe,_0x50511f['element']);}),_0x50511f;}),this['listenTo'](_0x309ac4['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x309ac4['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x309ac4['inlineListView']['keystrokes']['set']('Enter',(_0x17d435,_0x580d1b)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x580d1b());}),_0x309ac4['render'](),_0x32f0af['render'](),_0x3b3d4f({'emitter':_0x309ac4,'activator':()=>_0x32f0af['isVisible'],'contextElements':[_0x32f0af['element'],_0x309ac4['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x41ee15['config']['get']('presenceList.container')['appendChild'](_0x309ac4['element']),this['_bodyCollection']=new _0x4262b2(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x309ac4;}['_handleUserAdd'](_0x519da1){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x519da1['isMe'])return;const _0x194a51=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x194a51-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2da304=_0x519da1['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x519da1,_0x2da304);}['_handleUserRemove'](_0x4a75e9){this['usersCount']--;const {collapseAt:_0x5bfaf6}=this['context']['config']['get']('presenceList'),_0x406f3d=this['usersCount']>=_0x5bfaf6;if(this['currentDisplayedUsers']['get'](_0x4a75e9['id']))this['currentDisplayedUsers']['remove'](_0x4a75e9['id']);else{if(_0x406f3d&&this['currentDisplayedUsers']['length']+0x1===_0x5bfaf6-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x406f3d?0x1:0x0)<this['usersCount']){for(const _0x5dc64d of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5dc64d['id'])&&(this['currentDisplayedUsers']['add'](_0x5dc64d,Math['min'](this['currentDisplayedUsers']['length']-(_0x406f3d?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x406f3d?0x1:0x0)===_0x5bfaf6-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x353b5a=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x353b5a['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x2b03bf}=this['presenceDropdownView'];_0x2b03bf['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x302ccd=>{if(!_0x353b5a['displayMe']&&_0x302ccd['isMe'])return null;const _0x184e4b=new kt(this['context']['locale'],_0x302ccd,!!_0x353b5a['onClick']);return _0x353b5a['onClick']&&this['listenTo'](_0x184e4b,'execute',()=>{_0x353b5a['onClick'](_0x302ccd,_0x184e4b['element']);}),_0x184e4b;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2b03bf['focus'](),_0x2b03bf['checkIfScrollable']();const _0x32fbce=(_0x35343a,_0x5237e4)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x5237e4();};_0x2b03bf['keystrokes']['set']('Esc',_0x32fbce),_0x2b03bf['keystrokes']['set']('Shift+Tab',_0x32fbce),_0x2b03bf['keystrokes']['set']('Tab',(_0x558511,_0x55e23c)=>{!function(_0x5bae6a){const _0x4780ad=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x231189=>_0x231189+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x52acdd=[...document['body']['querySelectorAll'](_0x4780ad)]['filter'](_0x2c4f10=>_0x2c4f10===document['activeElement']||_0x2c4f10['offsetWidth']+_0x2c4f10['offsetHeight']>0x0)['sort']((_0x50ae50,_0x3b9539)=>(_0x50ae50['tabIndex']||0x0)-(_0x3b9539['tabIndex']||0x0)),_0x394b39=_0x52acdd[(_0x52acdd['indexOf'](_0x5bae6a)+0x1)%_0x52acdd['length']];_0x394b39&&_0x394b39['focus']();}(this['view']['element']),this['hideDropdown'](),_0x55e23c();}),_0x2b03bf['focusTracker']['add'](this['view']['element']),_0x2b03bf['focusTracker']['on']('change:isFocused',(_0x874a1e,_0x46bb33,_0x522b35)=>{_0x522b35||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 _0x11ffbd{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};
|