@ckeditor/ckeditor5-real-time-collaboration 49.0.0 → 49.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -6
- package/dist/translations/af.umd.js +1 -1
- package/dist/translations/ar.umd.js +1 -1
- package/dist/translations/ast.umd.js +1 -1
- package/dist/translations/az.umd.js +1 -1
- package/dist/translations/be.umd.js +1 -1
- package/dist/translations/bg.umd.js +1 -1
- package/dist/translations/bn.umd.js +1 -1
- package/dist/translations/bs.umd.js +1 -1
- package/dist/translations/ca.umd.js +1 -1
- package/dist/translations/cs.umd.js +1 -1
- package/dist/translations/da.umd.js +1 -1
- package/dist/translations/de-ch.umd.js +1 -1
- package/dist/translations/de.umd.js +1 -1
- package/dist/translations/el.umd.js +1 -1
- package/dist/translations/en-au.umd.js +1 -1
- package/dist/translations/en-gb.umd.js +1 -1
- package/dist/translations/en.umd.js +1 -1
- package/dist/translations/eo.umd.js +1 -1
- package/dist/translations/es-co.umd.js +1 -1
- package/dist/translations/es.umd.js +1 -1
- package/dist/translations/et.umd.js +1 -1
- package/dist/translations/eu.umd.js +1 -1
- package/dist/translations/fa.umd.js +1 -1
- package/dist/translations/fi.umd.js +1 -1
- package/dist/translations/fr.umd.js +1 -1
- package/dist/translations/gl.umd.js +1 -1
- package/dist/translations/gu.umd.js +1 -1
- package/dist/translations/he.umd.js +1 -1
- package/dist/translations/hi.umd.js +1 -1
- package/dist/translations/hr.umd.js +1 -1
- package/dist/translations/hu.umd.js +1 -1
- package/dist/translations/hy.umd.js +1 -1
- package/dist/translations/id.umd.js +1 -1
- package/dist/translations/it.umd.js +1 -1
- package/dist/translations/ja.umd.js +1 -1
- package/dist/translations/jv.umd.js +1 -1
- package/dist/translations/kk.umd.js +1 -1
- package/dist/translations/km.umd.js +1 -1
- package/dist/translations/kn.umd.js +1 -1
- package/dist/translations/ko.umd.js +1 -1
- package/dist/translations/ku.umd.js +1 -1
- package/dist/translations/lt.umd.js +1 -1
- package/dist/translations/lv.umd.js +1 -1
- package/dist/translations/ms.umd.js +1 -1
- package/dist/translations/nb.umd.js +1 -1
- package/dist/translations/ne.umd.js +1 -1
- package/dist/translations/nl.umd.js +1 -1
- package/dist/translations/no.umd.js +1 -1
- package/dist/translations/oc.umd.js +1 -1
- package/dist/translations/pl.umd.js +1 -1
- package/dist/translations/pt-br.umd.js +1 -1
- package/dist/translations/pt.umd.js +1 -1
- package/dist/translations/ro.umd.js +1 -1
- package/dist/translations/ru.umd.js +1 -1
- package/dist/translations/si.umd.js +1 -1
- package/dist/translations/sk.umd.js +1 -1
- package/dist/translations/sl.umd.js +1 -1
- package/dist/translations/sq.umd.js +1 -1
- package/dist/translations/sr-latn.umd.js +1 -1
- package/dist/translations/sr.umd.js +1 -1
- package/dist/translations/sv.umd.js +1 -1
- package/dist/translations/th.umd.js +1 -1
- package/dist/translations/ti.umd.js +1 -1
- package/dist/translations/tk.umd.js +1 -1
- package/dist/translations/tr.umd.js +1 -1
- package/dist/translations/tt.umd.js +1 -1
- package/dist/translations/ug.umd.js +1 -1
- package/dist/translations/uk.umd.js +1 -1
- package/dist/translations/ur.umd.js +1 -1
- package/dist/translations/uz.umd.js +1 -1
- package/dist/translations/vi.umd.js +1 -1
- package/dist/translations/zh-cn.umd.js +1 -1
- package/dist/translations/zh.umd.js +1 -1
- package/package.json +12 -12
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{Context as
|
|
24
|
-
((()=>_0x51ae80)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x5ec7db,_0x2e8fab];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x13c71d){super(_0x13c71d),this['set']('state',_0x3f3bfc['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x16ac06())();}init(){const _0x553a39=this['context'],_0x14e7e5=_0x553a39['plugins']['get'](_0x5ec7db),_0x4ad2ff=_0x553a39['plugins']['get'](_0x2e8fab);if(!_0x14e7e5['token'])throw new _0x1f4bac('websocketgateway-missing-token',this);if(!_0x14e7e5['webSocketUrl'])throw new _0x1f4bac('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'](_0x14e7e5['token'],_0x14e7e5['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2bde95=>{if(this['connection']=_0x2bde95,this['bind']('state')['to'](_0x2bde95,'state',this,'_isBrowserOffline',(_0x464163,_0x24f414)=>('connected'!==_0x464163&&(this['_shouldPluginsReconnect']=!0x0),_0x24f414||_0x464163!==_0x3f3bfc['CONNECTED']?_0x3f3bfc['DISCONNECTED']:this['state']==_0x3f3bfc['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3f3bfc['CONNECTING']):_0x3f3bfc['CONNECTED'])),this['connection']['on']('error',(_0x9cd024,_0x12ff5d)=>{if('limitExceeded'!==_0x12ff5d['code'])throw console['error'](_0x12ff5d),new _0x1f4bac('cloudservices-init',null,{'originalError':_0x12ff5d});_0x4ad2ff['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'});}),!_0x2bde95['me'])return new Promise(_0x1b6186=>_0x2bde95['on']('change:me',_0x1b6186));})['catch'](_0xd6d5b0=>{throw console['error'](_0xd6d5b0),new _0x1f4bac('cloudservices-init',null,{'originalError':_0xd6d5b0});});}addToReconnectionStack(_0x3fe995){if('function'!=typeof _0x3fe995['reconnect'])throw new _0x1f4bac('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x3fe995))throw new _0x1f4bac('websocketgateway-plugin-already-registered',this,{'name':_0x3fe995['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x3fe995);}removeFromReconnectionStack(_0x38e846){this['_reconnectionStack']['delete'](_0x38e846);}isInReconnectionStack(_0x2e5eb2){return this['_reconnectionStack']['has'](_0x2e5eb2);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x46304d=>_0x46304d['reconnect']())))['then'](()=>this['state']=_0x3f3bfc['CONNECTED'])['catch'](_0x380cee=>{throw console['error'](_0x380cee),new _0x1f4bac('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3f3bfc['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Q=class extends _0x573424{['channelSessions'];channelConnectedUsers;allConnectedUsers;_registeredSessions;_uniqueUsersCount;['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[J,_0x5a638a];}constructor(_0x1af4de){super(_0x1af4de),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xe27579(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5a638a);}init(){const _0x3665a1=this['context']['plugins']['get'](J);this['listenTo'](_0x3665a1,'change:state',(_0x2d5858,_0x9ed038,_0x4bc775)=>{if('connected'!==_0x4bc775)this['channelSessions']['forEach'](_0x3e188c=>_0x3e188c['clear']()),this['channelConnectedUsers']['forEach'](_0x5ce4e7=>_0x5ce4e7['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x43f377,_0x165144]of this['_registeredSessions'])for(const _0x415eb6 of _0x165144)this['_handleSessionAdd'](_0x43f377,_0x415eb6);}}),this['_createUser'](_0x3665a1['connection']['me'],!0x0);}register(_0x8fa838,_0x204871){if(this['_registeredSessions']['has'](_0x8fa838))throw new _0x1f4bac('sessions-register-already-registered',null,{'channelId':_0x8fa838});this['_registeredSessions']['set'](_0x8fa838,_0x204871),this['channelSessions']['set'](_0x8fa838,new _0xe27579()),this['channelConnectedUsers']['set'](_0x8fa838,new _0xe27579()),this['listenTo'](_0x204871,'add',(_0x3dac15,_0xe92170)=>this['_handleSessionAdd'](_0x8fa838,_0xe92170)),this['listenTo'](_0x204871,'remove',(_0x466bfd,_0x22b77e)=>this['_handleSessionRemove'](_0x8fa838,_0x22b77e));for(const _0x406e7c of _0x204871)this['_handleSessionAdd'](_0x8fa838,_0x406e7c);}unregister(_0x32ff80){if(!this['_registeredSessions']['has'](_0x32ff80))throw new _0x1f4bac('sessions-unregister-not-exist',null,{'channelId':_0x32ff80});const _0x4ece0c=this['_registeredSessions']['get'](_0x32ff80);this['stopListening'](_0x4ece0c);for(const _0x222488 of _0x4ece0c)'connected'===this['context']['plugins']['get'](J)['state']&&this['_handleSessionRemove'](_0x32ff80,_0x222488);this['_registeredSessions']['delete'](_0x32ff80),this['channelSessions']['delete'](_0x32ff80),this['channelConnectedUsers']['delete'](_0x32ff80);}get['mySessionId'](){return this['context']['plugins']['get'](J)['connection']['sessionId'];}getUserBySessionId(_0x40e215){for(const _0x5910e6 of this['channelSessions']['values']())for(const _0x2969b4 of _0x5910e6)if(_0x2969b4['id']===_0x40e215)return _0x2969b4['user'];}getUserSessions(_0xe5cb8e,_0x31929a){const _0x31d39e=_0x31929a?[this['channelSessions']['get'](_0x31929a)]:this['channelSessions']['values'](),_0x554bdb=new Set();for(const _0x169376 of _0x31d39e)for(const _0x5ee14b of _0x169376)_0x5ee14b['user']['id']===_0xe5cb8e['id']&&_0x554bdb['add'](_0x5ee14b['id']);return _0x554bdb;}getUserRole(_0x8e9d9){for(const _0x1a1b4d of this['channelSessions']['values']())for(const _0x38a8b8 of _0x1a1b4d)if(_0x38a8b8['user']===_0x8e9d9)return _0x38a8b8['role'];}['_handleSessionAdd'](_0x3568a2,_0x1fe055){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x275cc3=_0x1fe055['user'],_0x144ff9=this['_users']['getUser'](_0x275cc3['id'])||this['_createUser'](_0x275cc3),_0x343bad=Object['assign']({},_0x1fe055,{'user':_0x144ff9});if(this['channelSessions']['get'](_0x3568a2)['add'](_0x343bad),!_0x275cc3['hiddenInPresenceList']){const _0x38521d=this['channelConnectedUsers']['get'](_0x3568a2);_0x38521d['has'](_0x144ff9['id'])||_0x38521d['add'](_0x144ff9),this['allConnectedUsers']['has'](_0x144ff9['id'])||_0x275cc3['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x144ff9,_0x144ff9['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3568a2,{'channelId':_0x3568a2,'session':_0x343bad});}['_handleSessionRemove'](_0x22694e,_0x2bd076){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x66eceb=this['channelConnectedUsers']['get'](_0x22694e),_0x25bd54=_0x2bd076['user'];_0x25bd54['id']&&(this['channelSessions']['get'](_0x22694e)['remove'](_0x2bd076['id']),_0x66eceb['has'](_0x25bd54['id'])&&!this['getUserSessions'](_0x25bd54,_0x22694e)['size']&&_0x66eceb['remove'](_0x25bd54['id']),this['allConnectedUsers']['get'](_0x25bd54['id'])&&!this['getUserSessions'](_0x25bd54)['size']&&this['allConnectedUsers']['remove'](_0x25bd54['id']));}_createUser(_0x11b527,_0x1479bd){const _0x1f3ca4=this['_users']['addUser'](_0x11b527);return _0x1479bd&&this['_users']['defineMe'](_0x11b527['id']),_0x1f3ca4['orderNumber']=this['_uniqueUsersCount']++,_0x1f3ca4;}},X=class extends _0x3b0285{_domEmitter=new(_0x16ac06())();static get requires(){return[Q];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x320dec=this['editor'],_0x31e10b=_0x320dec['plugins']['get'](Q);_0x320dec['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x37c871,{writer:_0x4e2857})=>function(_0x4c16b6,_0x25d7c9,_0x2a2f2f,_0x4e2c66){const _0x53b803=_0x4c16b6['markerName']['split'](':')[0x2],_0x465fd5=_0x2a2f2f['getUserBySessionId'](_0x53b803);if(!_0x465fd5||_0x53b803===_0x2a2f2f['mySessionId'])return;if(!_0x4e2c66['model']['schema']['checkChild'](_0x4c16b6['markerRange']['start'],'$text'))return;const _0x3ded2e={'class':'ck-user__marker\x20'+_0x465fd5['color']['getMarkerClass'](),'style':tt(_0x465fd5),'data-name':_0x465fd5['name'],'data-session-id':_0x53b803},_0x32c511=_0x4e2c66['model']['markers']['get'](_0x4c16b6['markerName'])['getStart'](),_0x5447bf=_0x32c511['nodeAfter'],_0x30a1fc=_0x4e2c66['model']['schema'];if(_0x5447bf&&_0x30a1fc['isObject'](_0x5447bf)&&_0x30a1fc['isInline'](_0x5447bf)&&!_0x4e2c66['model']['markers']['get']('user:range:'+_0x53b803)['getRange']()['isCollapsed'])return;const _0x36a8be=_0x32c511['parent'];return _0x4e2c66['model']['schema']['isLimit'](_0x36a8be)&&!_0x4e2c66['model']['hasContent'](_0x36a8be)&&(_0x3ded2e['contenteditable']=!0x1),function(_0x435404,_0x52f8b2,_0x4d459e){const _0x3066c8=_0x435404['createUIElement']('span',_0x52f8b2);return _0x435404['setCustomProperty']('userPositionMarker',!0x0,_0x3066c8),_0x3066c8['render']=function(_0x151441){const _0x4511ce=this['toDomElement'](_0x151441),_0x1ce532=document['createElement']('span');return _0x1ce532['classList']['add']('ck-user__marker-tooltip'),_0x1ce532['setAttribute']('contenteditable','false'),_0x1ce532['setAttribute']('spellcheck','false'),_0x1ce532['textContent']=_0x4d459e['name'],_0x4511ce['innerHTML']=_0x35ebe6('<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1ce532['outerHTML']+''),_0x4511ce['addEventListener']('mouseenter',()=>{_0x4511ce['classList']['add']('ck-user__marker_hovered');}),_0x4511ce['addEventListener']('mouseleave',()=>{_0x4511ce['classList']['remove']('ck-user__marker_hovered');}),_0x4511ce;},_0x3066c8['isSimilar']=function(_0x2d6921){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2d6921['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2d6921['getAttribute']('data-session-id'));},_0x3066c8;}(_0x25d7c9,_0x3ded2e,_0x465fd5);}(_0x37c871,_0x4e2857,_0x31e10b,_0x320dec)}),_0x320dec['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x480563=>function(_0x10b3fb,_0x238c7c){const _0x146459=_0x10b3fb['markerName']['split'](':')[0x2];if(_0x146459===_0x238c7c['mySessionId'])return null;const _0x4cb184=_0x238c7c['getUserBySessionId'](_0x146459);return _0x4cb184?{'id':_0x146459,'classes':['ck-user__selection',_0x4cb184['color']['getSelectionClass']()],'attributes':{'style':tt(_0x4cb184),'data-session-id':_0x146459},'priority':0x7d0+_0x4cb184['orderNumber']}:{'id':_0x146459,'classes':[]};}(_0x480563,_0x31e10b)}),function(_0x491c91){const _0x2e736b=_0x491c91['model'],_0x2a1225=new Map(),_0x57c29c=_0x491c91['plugins']['get'](Q);_0x2e736b['markers']['on']('update:user:range',(_0x1d3634,_0x5e3340,_0x230979,_0x196243)=>{if(!_0x196243&&_0x2a1225['get'](_0x5e3340['name']))return _0x2a1225['get'](_0x5e3340['name'])['detach'](),void _0x2a1225['delete'](_0x5e3340['name']);const _0x57e478=_0x5e3340['name']['split'](':')[0x2];if(_0x57e478===_0x57c29c['mySessionId'])return;const _0x2b1938='user:position:'+_0x57e478;_0x2e736b['markers']['has'](_0x2b1938)&&_0x491c91['editing']['reconvertMarker'](_0x2b1938),_0x5e3340['on']('change:range',(_0x658b52,_0x15f9bf,_0xa81246)=>{if('$graveyard'!=_0x15f9bf['root']['rootName']&&'$graveyard'==_0x5e3340['getRange']()['root']['rootName']&&!_0x2a1225['has'](_0x5e3340['name'])){const _0x4e5525=_0x2e736b['schema']['getNearestSelectionRange'](_0xa81246['deletionPosition']);if(_0x4e5525){const _0x1a30ff=_0x7a0909['fromRange'](_0x4e5525);_0x2a1225['set'](_0x5e3340['name'],_0x1a30ff),_0x1a30ff['on']('change:range',(_0x304720,_0x1ba529,_0x2f84c2)=>{if('$graveyard'==_0x1a30ff['root']['rootName']){const _0x268ffb=_0x2e736b['schema']['getNearestSelectionRange'](_0x2f84c2['deletionPosition']);_0x268ffb?(_0x1a30ff['start']=_0x268ffb['start'],_0x1a30ff['end']=_0x268ffb['end']):(_0x2a1225['delete'](_0x5e3340['name']),_0x1a30ff['detach']());}});}}});}),_0x2e736b['document']['on']('change',()=>{_0x2a1225['size']>0x0&&_0x2e736b['enqueueChange']({'isUndoable':!0x1},_0x4f35a1=>{for(const [_0x497b4d,_0x2d0bc0]of _0x2a1225)'$graveyard'==_0x2e736b['markers']['get'](_0x497b4d)['getRange']()['root']['rootName']&&(Z(_0x497b4d['split'](':')[0x2],_0x2d0bc0['toRange'](),_0x2e736b,_0x4f35a1),_0x2d0bc0['detach']());_0x2a1225['clear']();});});}(_0x320dec),this['_domEmitter']['listenTo'](_0x2de15f['document'],'keydown',(_0x474880,{key:_0x171210})=>{'Escape'===_0x171210&&function(_0x1b1b5d){_0x1b1b5d['editing']['view']['change'](_0x39899e=>{for(const _0x2fd38f of _0x1b1b5d['model']['markers']){if(!_0x2fd38f['name']['startsWith']('user:position'))continue;const _0x49758b=_0x1b1b5d['editing']['mapper']['markerNameToElements'](_0x2fd38f['name']);if(_0x49758b){for(const _0x1656d7 of _0x49758b)_0x39899e['removeClass']('ck-user__marker_hovered',_0x1656d7);}}});}(_0x320dec);},{'useCapture':!0x0});}afterInit(){const _0x1f80ad=this['editor'],_0x4e312e=_0x1f80ad['commands']['get']('undo');_0x4e312e&&_0x1f80ad['model']['on']('applyOperation',(_0x23d790,_0x13172c)=>{const _0x193c2d=_0x13172c[0x0];if(!_0x193c2d['isDocumentOperation'])return;if('marker'!=_0x193c2d['type']||!_0x193c2d['name']['startsWith']('user:'))return;const _0x8c6642=_0x193c2d['batch'];_0x4e312e['_createdBatches']['has'](_0x8c6642)&&(_0x193c2d['newRange']=_0x193c2d['oldRange']?_0x1f80ad['model']['createRange'](_0x193c2d['oldRange']['start'],_0x193c2d['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x3a0ff5=this['editor'],_0x3736b2=_0x3a0ff5['model']['document'],_0x152706=_0x3a0ff5['plugins']['get'](Q);_0x3a0ff5['model']['enqueueChange']({'isUndoable':!0x1},_0xb42a7e=>{const _0x3e8d18='user:range:'+_0x152706['mySessionId'],_0x5754cc='user:position:'+_0x152706['mySessionId'],_0x360a76=_0x3a0ff5['model']['markers']['has'](_0x3e8d18);_0x3a0ff5['editing']['view']['hasDomSelection']?Z(_0x152706['mySessionId'],_0x3736b2['selection']['getFirstRange'](),_0x3a0ff5['model'],_0xb42a7e):_0x360a76&&(_0xb42a7e['removeMarker'](_0x3e8d18),_0xb42a7e['removeMarker'](_0x5754cc));});}};function Z(_0x158f03,_0x5906f3,_0x1bc85c,_0x118a13){const _0x5280b2='user:range:'+_0x158f03,_0x2e90c0='user:position:'+_0x158f03,_0x383e37=_0x5906f3['getContainedElement']();let _0x5b4cbf=_0x5906f3['start'];if(_0x383e37&&_0x383e37['is']('element','tableCell')){const _0x558944=function(_0x5ddd7e,_0x12e74c){for(const _0xd7f29f of _0x5ddd7e['getPositions']())if(_0x12e74c['schema']['checkChild'](_0xd7f29f,'$text'))return _0xd7f29f;}(_0x5906f3,_0x1bc85c);_0x558944&&(_0x5b4cbf=_0x558944,_0x5906f3=_0x118a13['createRange'](_0x5b4cbf));}const _0x4c288f=_0x118a13['createRange'](_0x5b4cbf);_0x1bc85c['markers']['has'](_0x5280b2)?(_0x118a13['updateMarker'](_0x5280b2,{'range':_0x5906f3}),_0x118a13['updateMarker'](_0x2e90c0,{'range':_0x4c288f})):(_0x118a13['addMarker'](_0x5280b2,{'range':_0x5906f3,'usingOperation':!0x0}),_0x118a13['addMarker'](_0x2e90c0,{'range':_0x4c288f,'usingOperation':!0x0}));}function tt(_0x43cd73){return'--ck-user-color:'+_0x43cd73['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x43cd73['color']['getColorAlphaVariable']()+';';}function et(_0x490b70,_0x463fd4,_0x328f4f){const _0x52bdec=_0x490b70['t'],t=_0x490b70['t'];switch(_0x463fd4){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 _0x52bdec({'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'},_0x328f4f);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x3b0285{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x1539b1)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[J,Q,X,_0x3427cf,_0x5a638a,_0x2e8fab];}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 _0x41174c=this['serverHistory']['getOperations']();for(let _0x71ea30=_0x41174c['length']-0x1;_0x71ea30>=0x0;_0x71ea30--){const _0x5397aa=_0x41174c[_0x71ea30];if(!this['_disconnectionOperations']['has'](_0x5397aa))return _0x5397aa['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x50909a){if(super(_0x50909a),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x1be3af(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1f4bac('collaboration-missing-channelid',this);const _0x2c7957=_0x50909a['config']['get']('cloudServices.bundleVersion')||_0x3ee978;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x2c7957,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x25fc3d(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new rt(this['_disconnectionOperations']);}init(){const _0x130666=this['editor'],_0x160db5=_0x130666['plugins']['get'](_0x5a638a),_0x5b971c=_0x130666['plugins']['get'](J);this['listenTo'](_0x160db5,'getOperationAuthor',(_0x409f93,_0x578aa0)=>{const _0x666b0b=_0x578aa0[0x0];_0x666b0b['_authorId']&&(_0x409f93['return']=_0x160db5['getUser'](_0x666b0b['_authorId']),_0x409f93['stop']()),null===_0x666b0b['_authorId']&&(_0x409f93['return']=null,_0x409f93['stop']());},{'priority':'high'}),this['listenTo'](_0x130666['model']['document']['selection'],'change:range',(_0x386cb7,_0x370d75)=>{_0x370d75['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x130666['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x130666['model']['on']('applyOperation',(_0x12491b,_0x264f2a)=>{const _0xf9ddb2=_0x264f2a[0x0];_0xf9ddb2['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xf9ddb2),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x5b971c,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x677c88,_0x18e8e3,_0x53755e)=>'connected'===_0x677c88&&!_0x18e8e3&&!_0x53755e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x130666['disableReadOnlyMode']('rtc-offline'):_0x130666['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x130666['disableReadOnlyMode']('rtc-offline'):_0x130666['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x5579e3=this['editor']['plugins']['get'](Q),_0xcc20c9=this['editor']['plugins']['get'](J);try{this['_isPendingUpdate']=!0x0,_0x5579e3['unregister'](this['_channelId']);const _0x309d25=await this['_service']['reconnect'](_0xcc20c9['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x309d25)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x39ed31=await this['_service']['getConnectedSessions']();_0x5579e3['register'](this['_channelId'],_0x39ed31),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x505fb0){if(function(_0x58b789){return'404'===_0x58b789['code'];}(_0x505fb0)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4f5d7a){return'409'===_0x4f5d7a['code'];}(_0x505fb0)){const _0x52bc54=et(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x52bc54);}else{if(!(_0x505fb0 instanceof nt))throw _0x505fb0;this['_handleReconnectionError']();}}}}destroy(){const _0x3b2313=this['editor']['plugins']['get'](J),_0x132a39=this['editor']['plugins']['get'](Q);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x132a39['channelSessions']['has'](this['_channelId'])&&_0x132a39['unregister'](this['_channelId']),_0x3b2313['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x43cb46){if(this['sessionId']!==_0x43cb46['sessionId']&&this['_lastSyncedOperationId']!==_0x43cb46['lastOperationId'])throw new nt();return this['sessionId']=_0x43cb46['sessionId'],this['_handleServerResponse']([],{..._0x43cb46,'wereChangesApplied':!0x1,'data':_0x43cb46['data']},'reconnect');}async _connectService(_0x538e50,_0x1565ea=!0x1){const {connection:_0x4c5595}=this['editor']['plugins']['get'](J);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x4c5595,this['_channelId'])['then'](_0x129032=>this['_initSessionsHandling'](_0x129032))['catch'](_0x1c58ba=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1c58ba);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5d6465,_0x537fcb)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x537fcb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x266514=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x538e50);this['_isPendingUpdate']=!0x0;const _0x2ee0fb=await this['_service']['connect'](_0x4c5595,this['_compressOperations'](_0x538e50),_0x266514);if(this['sessionId']=_0x2ee0fb['sessionId'],_0x1565ea){if(!_0x2ee0fb['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2ee0fb['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x538e50,_0x2ee0fb,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2ee0fb,_0x538e50);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x4a575a=this['editor']['plugins']['get'](Q),_0x5cf382=this['editor']['plugins']['get'](X),_0x3e41d6=_0x4a575a['channelSessions']['get'](this['_channelId']);_0x3e41d6&&_0x3e41d6['length']>0x1?_0x5cf382['createUserMarkerOperations']():this['listenTo'](_0x4a575a,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4a575a['channelSessions']['get'](this['_channelId'])['length']&&_0x5cf382['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x330efa,_0x354474,_0x19060c,_0x3e8387){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x354474){const _0x561e64=this['_decompressOperations'](_0x19060c,_0x3e8387);await this['_fetchMissingUsers'](_0x561e64),this['_handleExternalOperations'](_0x561e64,_0x354474,_0x19060c['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x1cd7b0}=this['editor'];let _0x45c1c6;try{_0x45c1c6=await this['_service']['getDocumentDetails']();}catch{const _0x3580ba=et(_0x1cd7b0,'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'](_0x3580ba);}const _0x243032=_0x45c1c6['currentDocumentSession']||_0x45c1c6['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x243032['lastOperationId']){const _0x10b516=et(_0x1cd7b0,'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'](_0x10b516);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x267b98=this['editor']['plugins']['get'](J);if(this['_isConnected']=!0x1,!_0x267b98['connection']||'connected'!==_0x267b98['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x506150=this['editor']['plugins']['get'](Q);_0x506150['channelSessions']['has'](this['_channelId'])&&_0x506150['unregister'](this['_channelId']),_0x267b98['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x4e696d){const _0x40f982=this['editor']['plugins']['get'](Q);this['listenTo'](_0x40f982,'sessionAdd:'+this['_channelId'],(_0x10f7ff,{session:_0xdc8b2b})=>{if(_0xdc8b2b['id']===_0x40f982['mySessionId']){_0x10f7ff['off']();const _0x5b0765=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x274597=_0xdc8b2b['permissions'];_0x5b0765&&_0x5b0765['isEnabled']&&(_0x274597=_0x274597['filter'](_0x4f0b80=>'document:write'!==_0x4f0b80)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x274597,this['_channelId']);}}),_0x40f982['register'](this['_channelId'],_0x4e696d);}_initThrowingOnDataSet(){const _0x1a7e8d=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x29c12f)=>{if(!_0x29c12f[_0x29c12f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1f4bac('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1a7e8d['apply'](this['editor']['data'],_0x29c12f);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x3202d4,[_0x3a4ef3])=>{if(this['_document']['version'])throw new _0x1f4bac('realtimecollaborationclient-init-document-already-initialized',this);_0x3202d4['stop'](),this['_setPendingAction']();const _0x98d8a=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x196fdb])=>!_0x196fdb['lazyLoad'])['map'](([_0x502930,_0x465be8])=>[_0x502930,_0x465be8['modelAttributes']||{}])),_0x53a8c2=this['_getOperationsFromInitData'](_0x3a4ef3,_0x98d8a);0x0==_0x53a8c2['length']&&_0x53a8c2['push'](new _0x12872d(0x0)),_0x3202d4['return']=this['_connectService'](_0x53a8c2)['then'](()=>{this['editor']['plugins']['get'](J)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x38410e=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x38410e))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2cc499,[_0x53adfa,_0x302d01])=>{_0x2cc499['stop']();const _0x3421e6=this['editor']['model']['document']['getRoot'](_0x53adfa);if(!this['_knownRootNames']['has'](_0x53adfa)){const _0x2d5bd0=_0x302d01&&_0x302d01['data']?_0x302d01['data']:'',_0x1903fa=_0x302d01&&_0x302d01['attributes']?_0x302d01['attributes']:{};await this['_loadRoot'](_0x53adfa,_0x2d5bd0,_0x1903fa);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3421e6['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3421e6);});},{'priority':'high'});}async _fetchMissingUsers(_0x2ae506){const _0x53f5f1=this['editor']['plugins']['get'](_0x5a638a),{connection:_0x269291}=this['editor']['plugins']['get'](J),_0x5d076f=new Set();for(const _0x29067d of _0x2ae506){const _0x3152f5=_0x29067d['_authorId'];_0x3152f5&&!_0x53f5f1['getUser'](_0x3152f5)&&_0x5d076f['add'](_0x3152f5);}if(0x0===_0x5d076f['size'])return;const _0x5ce682=await _0x3317f4['getMany'](_0x269291,Array['from'](_0x5d076f));for(const _0xcee6e of _0x5ce682)_0x53f5f1['getUser'](_0xcee6e['id'])||_0x53f5f1['addUser'](_0xcee6e);}_getOperationsFromInitData(_0x4a9e81,_0x1e4367={}){const _0x3f7d3a=this['editor']['model'],_0x382f17=[];let _0x2a6e58=0x0;const _0x2d56d2='string'==typeof _0x4a9e81?{'main':_0x4a9e81}:_0x4a9e81;for(const _0x3b945e of Object['keys'](_0x2d56d2)){if(!this['_document']['roots']['has'](_0x3b945e))throw new _0x1f4bac('realtimecollaborationclient-init-non-existent-root',this);const _0x2925be=this['_document']['getRoot'](_0x3b945e),_0x148e73=this['editor']['data']['parse'](_0x2d56d2[_0x3b945e],_0x2925be),_0x38a703=new _0x4c8305(_0x3f7d3a['createPositionAt'](_0x2925be,0x0),_0x148e73,_0x2a6e58++);_0x382f17['push'](_0x38a703);for(const [_0x5af181,_0x5edde3]of _0x148e73['markers']){const _0x244036=_0x3f7d3a['createRange'](_0x3f7d3a['createPositionFromPath'](_0x2925be,_0x5edde3['start']['path']['slice']()),_0x3f7d3a['createPositionFromPath'](_0x2925be,_0x5edde3['end']['path']['slice']())),_0x5e8038=new _0x43552f(_0x5af181,null,_0x244036,_0x3f7d3a['markers'],!0x0,_0x2a6e58++);_0x382f17['push'](_0x5e8038);}}if(_0x1e4367)for(const [_0x3edb6f,_0x269781]of Object['entries'](_0x1e4367)){const _0xed7867=_0x3f7d3a['document']['getRoot'](_0x3edb6f);if(!_0xed7867)throw new _0x1f4bac('multi-root-editor-root-attributes-no-root',null);for(const [_0x42f440,_0x21e9e9]of Object['entries'](_0x269781))if(null!==_0x21e9e9){const _0x34d714=new _0x439da5(_0xed7867,_0x42f440,null,_0x21e9e9,_0x2a6e58++);_0x382f17['push'](_0x34d714);}}return _0x382f17;}async _loadRoot(_0x4e73ac,_0x23300c,_0x5b3115){this['_getOperationsFromInitData']({[_0x4e73ac]:_0x23300c},{[_0x4e73ac]:_0x5b3115})['forEach']((_0x2b6349,_0x5c0f51)=>{_0x2b6349['baseVersion']=this['_document']['version']+_0x5c0f51,_0x2b6349['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2b6349);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x443959,_0x2a1b35){let _0x31b8a4;this['_offset']=_0x443959['offset'];const _0xd135ee=_0x443959['wereChangesApplied']&&!_0x443959['initData'],_0x2d32b7=_0xd135ee?0x0:_0x443959['data']['baseVersion'];if(_0x2a1b35['forEach'](_0x2d48d5=>{_0x2d48d5['_isInit']=!0x0,_0x2d48d5['createdAt']=_0x443959['sessionCreatedAt'],_0x2d48d5['_authorId']=null;}),_0xd135ee)_0x31b8a4=_0x2a1b35,this['_applyOperationsSet'](_0x31b8a4,_0xd135ee);else{if(_0x443959['initData']){const _0x33a719=this['_getOperationsFromInitData'](_0x443959['initData']);this['_document']['history']['version']=-_0x33a719['length'],_0x33a719['forEach'](_0x1d72ba=>{_0x1d72ba['baseVersion']-=_0x33a719['length'],_0x1d72ba['createdAt']=_0x443959['sessionCreatedAt'],_0x1d72ba['_isInit']=!0x0,_0x1d72ba['_authorId']=null;}),this['_applyOperationsSet'](_0x33a719,!0x0),this['serverHistory']['version']=-_0x33a719['length']+this['_offset'],this['_updateServerHistory'](_0x33a719);}this['_document']['history']['version']=_0x2d32b7,_0x31b8a4=this['_decompressOperations'](_0x443959['data'],_0x443959['metadata']),await this['_fetchMissingUsers'](_0x31b8a4),this['_applyOperationsSet'](_0x31b8a4,_0xd135ee);}_0x443959['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x31b8a4,_0x443959['lastOperationId']),this['_lastSyncedOperationId']=_0x443959['lastOperationId']),this['serverHistory']['version']=_0x2d32b7+this['_offset'],this['_updateServerHistory'](_0x31b8a4),_0x2a1b35['filter'](_0x228d7a=>{const _0x2f4ab9=this['_getAffectedRoot'](_0x228d7a);return _0x2f4ab9&&!this['_knownRootNames']['has'](_0x2f4ab9);})['forEach']((_0x48277b,_0x36fcc2)=>{_0x48277b['baseVersion']=this['_document']['version']+_0x36fcc2,this['_saveOperationInBuffer'](_0x48277b);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x42290b,_0x57af25){const _0x516e08=_0x57af25&&_0x57af25['message'];if(_0x516e08&&_0x516e08['startsWith']('realtimecollaborationclient'))throw _0x57af25;const _0x1247c8=this['editor']['plugins']['get'](J);throw this['_isPendingUpdate']=!0x0,_0x1247c8['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1f4bac(_0x42290b,this['editor'],_0x516e08?{'originalError':_0x516e08}:void 0x0);}_saveOperationInBuffer(_0x2b20f8){this['_knownOperations']['has'](_0x2b20f8)||(this['_knownOperations']['add'](_0x2b20f8),this['_bufferedOperations']['push'](_0x2b20f8),this['_pendingAction']||'marker'==_0x2b20f8['type']&&!_0x2b20f8['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x46171b=!0x1){!_0x46171b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x341d3e=>{_0x341d3e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x27f9fe=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x59f52b){return _0x59f52b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x59f52b['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x59f52b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x27f9fe)||this['_crash'](_0x27f9fe['message'],_0x27f9fe);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x36e222=>{this['on']('change:_isPendingUpdate',()=>{_0x36e222();});});}async _sendBufferedOperations(){const _0x34c4e1=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x34c4e1['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x39ecb0=[...this['_bufferedOperations']];for(const _0x544493 of _0x39ecb0)_0x544493['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x544493);const _0x5675bf=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x39ecb0),_0x23a5ea=st++,_0x3d4537=this['_compressOperations'](_0x39ecb0),_0x4fbb82=await this['_service']['sendOperations'](_0x3d4537,_0x3d4537['baseVersion'],_0x5675bf);try{return await this['_handleServerResponse'](_0x39ecb0,_0x4fbb82,_0x23a5ea);}catch(_0x4a04a7){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4a04a7);}}async['_handleServerResponse'](_0x222af0,_0x32dad2,_0x547ecc){if('error'in _0x32dad2)throw _0x32dad2['error'];let _0x31194f;if(_0x32dad2['wereChangesApplied']){_0x32dad2['lastOperationId']&&(this['_lastSyncedOperationId']=_0x32dad2['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x42bc71=>!_0x222af0['includes'](_0x42bc71));for(const _0x1719c5 of _0x222af0)_0x1719c5['createdAt']='lastOperationAcceptedAt'in _0x32dad2&&_0x32dad2['lastOperationAcceptedAt']||void 0x0;ot(_0x222af0,_0x32dad2['version']-_0x222af0['length']),this['_updateServerHistory'](_0x222af0);const _0x527efd=_0x222af0['filter'](_0x2f88d9=>{if(!_0x2f88d9['_isInit'])return!0x1;const _0x475f28=this['_getAffectedRoot'](_0x2f88d9);return _0x475f28&&!this['_knownRootNames']['has'](_0x475f28);});ot(_0x527efd,this['_document']['version']),this['_applyOperationsSet'](_0x527efd),_0x31194f=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xb150ba=this['_decompressOperations'](_0x32dad2['data'],_0x32dad2['metadata'])['filter'](_0x394a53=>_0x394a53['baseVersion']>=this['_lastServerVersion']);_0xb150ba['forEach'](_0x58f16a=>this['_addKnownRoot'](_0x58f16a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x552f43=>!_0x552f43['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x552f43))),this['_bufferedOperations']['length']&&ot(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xb150ba),_0x31194f=this['_handleExternalOperations'](_0xb150ba,_0x32dad2['version'],_0x32dad2['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x31194f?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x14f314,_0x1901f3,_0x588c5b){try{const _0x25b6e7={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x766b6f,operationsB:_0xc1fdf8,originalOperations:_0x3bef0b}=_0x218fdf(_0x14f314,this['_bufferedOperations'],_0x25b6e7);ot(_0x766b6f,this['_document']['version']),ot(_0xc1fdf8,_0x1901f3);for(const _0x413a01 of _0x766b6f){const _0xae0ea1=_0x3bef0b['get'](_0x413a01);_0xae0ea1?(_0x413a01['_authorId']=_0xae0ea1['_authorId'],'noop'!==_0x413a01['type']&&(_0x413a01['_aiSource']=_0xae0ea1['_aiSource'])):_0x413a01['_authorId']=null;}for(const _0x4bed76 of _0xc1fdf8)'noop'!==_0x4bed76['type']&&(_0x4bed76['_aiSource']=_0x3bef0b['get'](_0x4bed76)?.['_aiSource']);_0x588c5b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x14f314,_0x588c5b),this['_lastSyncedOperationId']=_0x588c5b),this['_bufferedOperations']=[..._0xc1fdf8],this['_applyOperationsSet'](_0x766b6f),this['_updateServerHistory'](_0x14f314);}catch(_0x1c3fa9){return console['error'](_0x1c3fa9),!0x1;}return!0x0;}_applyOperationsSet(_0xd3b659,_0x10a270=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3fce5c=>{for(const _0x37474d of _0xd3b659)this['_knownOperations']['add'](_0x37474d),this['_addKnownRoot'](_0x37474d),_0x3fce5c['batch']['addOperation'](_0x37474d),this['editor']['model']['applyOperation'](_0x37474d);});}_addKnownRoot(_0x358088){const _0x100660=this['_getAffectedRoot'](_0x358088);_0x100660&&this['_knownRootNames']['add'](_0x100660);}_getAffectedRoot(_0x13e5bf){let _0x41a088,_0x4b3a92;switch(_0x13e5bf['type']){case'insert':_0x41a088=_0x13e5bf['position']['root'];break;case'marker':if(_0x4b3a92=_0x13e5bf['newRange'],!_0x4b3a92)return null;_0x41a088=_0x4b3a92['root'];break;case'addRootAttribute':_0x41a088=_0x13e5bf['root'];break;case'addRoot':_0x41a088=_0x13e5bf['affectedSelectable'];break;case'move':_0x41a088=_0x13e5bf['targetPosition']['root'];break;default:return null;}return _0x41a088['rootName'];}_updateServerHistory(_0xd34142){_0xd34142['forEach'](_0x559c7c=>{const _0x3fd205=_0x559c7c['clone']();_0x3fd205['_authorId']=_0x559c7c['_authorId'],_0x3fd205['_isInit']=!!_0x559c7c['_isInit'],_0x3fd205['_aiSource']=_0x559c7c['_aiSource'],_0x3fd205['createdAt']=_0x559c7c['createdAt'],_0x3fd205['baseVersion']+=this['_offset'],_0x559c7c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3fd205),this['serverHistory']['addOperation'](_0x3fd205);});}_handleReconnectionError(_0x563154){const _0x1bb867=this['editor']['plugins']['get']('Notification'),_0x3e7a66=this['editor']['locale'];_0x563154||(_0x563154=et(_0x3e7a66,'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.')),_0x1bb867['showWarning'](_0x563154,{'title':et(_0x3e7a66,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](J)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x3427cf)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3427cf)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x55fdc6){const _0x3bb199=_0x55fdc6['map'](_0x6b0f6a=>_0x6b0f6a['toJSON']());return this['_compressor']['compress'](_0x3bb199);}_decompressOperations(_0x51d545,_0x3b84ab){return this['_compressor']['decompress'](_0x51d545)['map']((_0x3553e4,_0x49ea1c)=>{const _0x4cb264='init'==_0x3b84ab[_0x49ea1c]['type'];if('InsertOperation'==_0x3553e4['__className']){const _0x3371af=_0x3553e4['position']['root'];!this['_document']['getRoot'](_0x3371af)&&(this['_document']['createRoot']('$unknown',_0x3371af)['_isAttached']=!0x1);}else{if('RootOperation'==_0x3553e4['__className']){const _0x914502=this['_document']['getRoot'](_0x3553e4['rootName']);_0x914502&&'$unknown'==_0x914502['name']&&_0x3553e4['elementName']!=_0x914502['name']&&(_0x914502['name']=_0x3553e4['elementName']);}}const _0x250151=_0x1ea669['fromJSON'](_0x3553e4,this['_document']);return _0x250151['wasUndone']=_0x3553e4['wasUndone'],_0x250151['_isInit']=_0x4cb264,_0x250151['_authorId']=_0x4cb264?null:_0x3b84ab[_0x49ea1c]['userId'],_0x250151['_isDisconnection']='cs:removeUser'===_0x3b84ab[_0x49ea1c]['type'],_0x250151['_aiSource']=_0x3553e4['_aiSource']||void 0x0,_0x250151['createdAt']=_0x3b84ab[_0x49ea1c]['createdAt'],_0x250151;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x4e90ad=this['editor']['plugins']['get'](Q)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4e90ad&&_0x4e90ad['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function ot(_0x4c7b96,_0x861301){for(const _0xc60e71 of _0x4c7b96)_0xc60e71['baseVersion']=_0x861301++;}var rt=class{_ignoredOperations;_operationToId;constructor(_0x3f4fe8){this['_ignoredOperations']=_0x3f4fe8,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x5d3114){let _0x256cbd=_0x5d3114['length'];for(;_0x256cbd--;){const _0x5c2177=_0x5d3114[_0x256cbd];if(!this['_ignoredOperations']['has'](_0x5c2177)){if(!this['_operationToId']['has'](_0x5c2177)){const _0x5813d8=_0x5a3f6c()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5c2177,_0x5813d8);}return this['_operationToId']['get'](_0x5c2177);}}}setIdForTheLastOperation(_0x37a0d3,_0x5286d7){if(!_0x5286d7)return;let _0x418cd4=_0x37a0d3['length'];for(;_0x418cd4--;){const _0x2603dc=_0x37a0d3[_0x418cd4];this['_ignoredOperations']['has'](_0x2603dc)||this['_operationToId']['set'](_0x2603dc,_0x5286d7);}}},ct=class extends _0x3b0285{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class CloudServicesCommentsAdapter extends _0x573424{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x5bb917)());['_services'];static get requires(){return[J,_0x195514,Q,_0x5a638a];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x35d6b7){super(_0x35d6b7),this['_services']=new Map();}async init(){const _0x3609e9=this['context'],_0x11decc=_0x3609e9['plugins']['get'](_0x195514);if(_0x3609e9['plugins']['get'](J)['addToReconnectionStack'](this),_0x11decc['adapter']={'addCommentThread':async({channelId:_0x50db73,threadId:_0x6d450d,comments:_0x785706,resolvedAt:_0x41da4d,resolvedBy:_0x5e919d,context:_0x5b71fb,attributes:_0x30f36d})=>{const _0x57406c=await this['_getService'](_0x50db73)['addCommentThread']({'commentThreadId':_0x6d450d,'comments':_0x785706['map'](_0x55f6fa=>function(_0x7360a9,_0x3ecd72,_0x501b4f){return{'commentThreadId':_0x501b4f,'commentId':_0x7360a9['commentId'],'userId':_0x7360a9['authorId'],'content':_0x7360a9['content'],'documentId':_0x3ecd72,'createdAt':_0x7360a9['createdAt'],'attributes':_0x7360a9['attributes']||{}};}(_0x55f6fa,_0x50db73,_0x6d450d)),'resolvedAt':_0x41da4d,'resolvedBy':_0x5e919d,'context':_0x5b71fb,'attributes':_0x30f36d})['catch'](lt);return{'threadId':_0x57406c['commentThreadId'],'comments':_0x57406c['comments']};},'getCommentThread':async({channelId:_0x9499d9,threadId:_0x5d233a})=>{const _0xdd3953=await this['_getService'](_0x9499d9)['getCommentThread'](_0x5d233a)['catch'](ht)['catch'](lt);return _0xdd3953?_0xdd3953['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xdd3953]),{'threadId':_0xdd3953['commentThreadId'],'comments':_0xdd3953['comments']['map'](dt),'context':_0xdd3953['context'],'resolvedAt':_0xdd3953['resolvedAt'],'resolvedBy':_0xdd3953['resolvedBy'],'attributes':_0xdd3953['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0xb3e2c0,threadId:_0xd5dfe7,context:_0x245aa8,unlinkedAt:_0x5297fe,attributes:_0x1b040d})=>this['_getService'](_0xb3e2c0)['updateCommentThread']({'commentThreadId':_0xd5dfe7,'context':_0x245aa8,'attributes':_0x1b040d,'unlinkedAt':_0x5297fe})['catch'](ht)['catch'](lt),'resolveCommentThread':async({channelId:_0x3560e4,threadId:_0x4d421f})=>{const _0x811a8=await this['_getService'](_0x3560e4)['resolveCommentThread'](_0x4d421f)['catch'](ht)['catch'](lt);return{'threadId':_0x811a8['commentThreadId'],'resolvedAt':_0x811a8['resolvedAt'],'resolvedBy':_0x811a8['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5172af,threadId:_0x476478})=>this['_getService'](_0x5172af)['reopenCommentThread'](_0x476478)['catch'](ht)['catch'](lt),'removeCommentThread':({channelId:_0x3f668f,threadId:_0x2e9632})=>this['_getService'](_0x3f668f)['removeCommentThread'](_0x2e9632)['catch'](ht)['catch'](lt),'addComment':({channelId:_0x52a671,threadId:_0x12e918,commentId:_0x245754,content:_0x206da4,attributes:_0xb8d638})=>this['_getService'](_0x52a671)['addComment'](_0x12e918,_0x245754,_0x206da4,_0xb8d638)['catch'](lt),'updateComment':({channelId:_0x596f0b,threadId:_0x29e2d2,commentId:_0x507745,content:_0x40f2bb,attributes:_0x315e33})=>this['_getService'](_0x596f0b)['updateComment'](_0x29e2d2,_0x507745,_0x40f2bb,_0x315e33)['catch'](ht)['catch'](lt),'removeComment':({channelId:_0x54708f,threadId:_0x1daed2,commentId:_0x352530})=>this['_getService'](_0x54708f)['removeComment'](_0x1daed2,_0x352530)['catch'](ht)['catch'](lt)},_0x3609e9 instanceof _0x528c5a){const _0x315974=_0x3609e9['config']['get']('collaboration.channelId'),_0x3bfee5=_0x3609e9['plugins']['get'](Q);await this['_setUpService'](_0x315974);const _0x3d23f9=await this['_services']['get'](_0x315974)['getConnectedSessions']();this['listenTo'](_0x3bfee5,'sessionAdd:'+_0x315974,(_0x8d1a49,{session:_0xacae69})=>{_0xacae69['id']===_0x3bfee5['mySessionId']&&(_0x8d1a49['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xacae69['permissions'],_0x315974));}),_0x3bfee5['register'](_0x315974,_0x3d23f9);}}async _setUpService(_0x19ba93){if(this['_services']['has'](_0x19ba93))throw new _0x1f4bac('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x19ba93});const _0x59a99b=this['context']['plugins']['get'](_0x195514),_0x2bd156=new CloudServicesCommentsAdapter['CommentsService'](_0x19ba93);this['_services']['set'](_0x19ba93,_0x2bd156),this['listenTo'](_0x2bd156,'commentThreadAdded',(_0x4437d0,_0x15a348)=>{const {commentThreadId:_0x1a58ec,documentId:_0x8bb782,context:_0x52c605,attributes:_0x588964,resolvedAt:_0x513c52,resolvedBy:_0x2fe2fb,comments:_0x3e68b4}=_0x15a348;_0x59a99b['getCommentThread'](_0x1a58ec)||_0x59a99b['addCommentThread']({'threadId':_0x1a58ec,'channelId':_0x8bb782,'comments':_0x3e68b4?_0x3e68b4['map'](dt):[],'context':_0x52c605,'attributes':_0x588964,'resolvedAt':_0x513c52,'resolvedBy':_0x2fe2fb,'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentThreadUpdated',(_0x59176e,{commentThreadId:_0x5a5639,documentId:_0x25b6bf,context:_0x1b42df,unlinkedAt:_0x1b986c,attributes:_0x4a5d13})=>{_0x59a99b['getCommentThread'](_0x5a5639)&&_0x59a99b['updateCommentThread']({'threadId':_0x5a5639,'channelId':_0x25b6bf,'context':_0x1b42df,'unlinkedAt':_0x1b986c,'attributes':_0x4a5d13,'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentThreadResolved',(_0x2dcad4,{commentThreadId:_0x13a607,resolvedBy:_0x7f5931,resolvedAt:_0x1444de})=>{const _0x1ff5d3=_0x59a99b['getCommentThread'](_0x13a607);_0x1ff5d3&&_0x1ff5d3['resolve']({'resolvedBy':_0x7f5931,'resolvedAt':_0x1444de,'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentThreadReopened',(_0x45d6bb,{commentThreadId:_0x32c9c2})=>{const _0x3e45ad=_0x59a99b['getCommentThread'](_0x32c9c2);_0x3e45ad&&_0x3e45ad['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentThreadRemoved',(_0x2034df,{commentThreadId:_0xc721e0})=>{const _0x49e9cc=_0x59a99b['getCommentThread'](_0xc721e0);_0x49e9cc&&_0x49e9cc['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentAdded',(_0x2eff94,_0x4b5adb)=>{const _0x4fbcd0=_0x4b5adb['commentThreadId'],_0x326b9a=_0x59a99b['getCommentThread'](_0x4fbcd0);_0x326b9a&&_0x326b9a['addComment']({...dt(_0x4b5adb),'isFromAdapter':!0x0});}),this['listenTo'](_0x2bd156,'commentUpdated',(_0x25483b,{commentThreadId:_0x1ea718,commentId:_0xd0c7f0,content:_0x18bb0a,attributes:_0x496688})=>{const _0x257731=_0x59a99b['getCommentThread'](_0x1ea718);if(_0x257731){const _0x1ef0b2=_0x257731['getComment'](_0xd0c7f0);_0x1ef0b2&&_0x1ef0b2['update']({'content':_0x18bb0a,'attributes':_0x496688,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2bd156,'commentRemoved',(_0x21f01b,{commentThreadId:_0x55f3b6,commentId:_0x865794})=>{const _0x355f71=_0x59a99b['getCommentThread'](_0x55f3b6);if(_0x355f71){const _0x195f5d=_0x355f71['getComment'](_0x865794);_0x195f5d&&_0x195f5d['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x2bd156,'disconnected',()=>{'connected'===this['context']['plugins']['get'](J)['connection']?.['state']&&(this['_services']['delete'](_0x19ba93),this['stopListening'](_0x2bd156));}),await this['_connectService'](_0x19ba93);}destroy(){if(this['context']instanceof _0x528c5a){const _0x4c42b5=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x4c42b5)&&this['_terminateService'](_0x4c42b5);}}_terminateService(_0x294f1d){if(!this['_services']['has'](_0x294f1d))throw new _0x1f4bac('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x294f1d});this['_getService'](_0x294f1d)['disconnect'](),this['_services']['delete'](_0x294f1d);}async reconnect(){for(const _0x35f46d of this['_services']['keys']())await this['_connectService'](_0x35f46d);if(this['context']instanceof _0x528c5a){const _0xab5d3b=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0xab5d3b)){const _0x25e22e=this['context']['plugins']['get'](Q);_0x25e22e['unregister'](_0xab5d3b);const _0x37b8d5=await this['_services']['get'](_0xab5d3b)['getConnectedSessions']();_0x25e22e['register'](_0xab5d3b,_0x37b8d5);}}}async _connectService(_0x54e00c){const {connection:_0x122a57}=this['context']['plugins']['get'](J),_0x47dd81=this['context']['plugins']['get'](_0x195514),_0x4f650b=await this['_services']['get'](_0x54e00c)['connect'](_0x122a57);await this['_fetchMissingUsersForThreads'](_0x4f650b);const _0x3eb547=new Set(Array['from'](_0x47dd81['getCommentThreads']({'channelId':_0x54e00c}),_0x2defe4=>_0x2defe4['id']));for(const _0x2fe8f9 of _0x4f650b)_0x2fe8f9['deletedAt']||_0x3eb547['delete'](_0x2fe8f9['commentThreadId']);for(const _0x26a921 of _0x3eb547)_0x47dd81['getCommentThread'](_0x26a921)['remove']({'isFromAdapter':!0x0});for(const _0x1fbea2 of _0x4f650b){let _0x589c77=_0x47dd81['getCommentThread'](_0x1fbea2['commentThreadId']);const {commentThreadId:_0xfc32c2,context:_0x4651ae,attributes:_0x41bb67,resolvedBy:_0x32ebfb,resolvedAt:_0x318c30,unlinkedAt:_0x1ee039,deletedAt:_0x1c6230}=_0x1fbea2;if(_0x1c6230)continue;_0x589c77||(_0x589c77=_0x47dd81['addCommentThread']({'channelId':_0x54e00c,'threadId':_0xfc32c2,'context':_0x4651ae,'attributes':_0x41bb67||{},'resolvedBy':_0x32ebfb,'resolvedAt':_0x318c30,'unlinkedAt':_0x1ee039,'isFromAdapter':!0x0}));const _0x53b291=new Set(Array['from'](_0x589c77['comments'],_0xa548bc=>_0xa548bc['id']));for(const _0x2875c6 of _0x1fbea2['comments'])_0x53b291['delete'](_0x2875c6['commentId']);for(const _0x3d86a3 of _0x53b291)_0x589c77['getComment'](_0x3d86a3)['remove']({'isFromAdapter':!0x0});for(const _0x37c009 of _0x1fbea2['comments']){const _0x2dc4a1=_0x589c77['getComment'](_0x37c009['commentId']);_0x2dc4a1?_0x2dc4a1['content']!==_0x37c009['content']&&_0x2dc4a1['update']({'content':_0x37c009['content'],'isFromAdapter':!0x0}):_0x589c77['addComment'](Object['assign'](dt(_0x37c009),{'isFromAdapter':!0x0}));}}}_getService(_0x51d129){if(!this['_services']['has'](_0x51d129))throw new _0x1f4bac('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x51d129});return this['_services']['get'](_0x51d129);}async _fetchMissingUsersForThreads(_0xf367cb){const _0x3b333f=this['context']['plugins']['get'](_0x5a638a),{connection:_0x2136c0}=this['context']['plugins']['get'](J),_0x2eea29=new Set();for(const {resolvedBy:_0x1640e6,comments:_0x48c935}of _0xf367cb){_0x1640e6&&!_0x3b333f['getUser'](_0x1640e6)&&_0x2eea29['add'](_0x1640e6);for(const {userId:_0x5b97e9}of _0x48c935)_0x3b333f['getUser'](_0x5b97e9)||_0x2eea29['add'](_0x5b97e9);}if(0x0===_0x2eea29['size'])return;const _0x25f794=await _0x3317f4['getMany'](_0x2136c0,Array['from'](_0x2eea29));for(const _0x543efb of _0x25f794)_0x3b333f['getUser'](_0x543efb['id'])||_0x3b333f['addUser'](_0x543efb);}};async function ht(_0x57981a){if('404'!==_0x57981a['code'])throw _0x57981a;}function lt(_0x23dfe9){if((_0xee275f=_0x23dfe9)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xee275f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xee275f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xee275f;throw _0x23dfe9;}function dt(_0x26137a){return{'threadId':_0x26137a['commentThreadId'],'commentId':_0x26137a['commentId'],'content':_0x26137a['content'],'createdAt':_0x26137a['createdAt'],'authorId':_0x26137a['userId'],'attributes':_0x26137a['attributes']||{}};}var ut=class CloudServicesTrackChangesAdapter extends _0x3b0285{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x4d5139)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[J,it,_0x210853,Q,_0x5a638a];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xcd5adc){super(_0xcd5adc);const _0x4716cf=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x4716cf);}async init(){const _0x1f98af=this['editor']['plugins']['get'](it),_0x26fa85=_0x1f98af['serverHistory'],_0x138109=this['editor']['plugins']['get'](J);this['_revisionTracker']['setSource']({'history':_0x26fa85,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1f98af['sessionId']});const _0xa8426e=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x3ee978,_0xa59eb5=await _0x48db14['isBundleUploaded'](_0x138109['connection'],_0xa8426e);this['editor']['plugins']['get'](_0x210853)['adapter']={'getRevision':async({revisionId:_0x372a02})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x372a02)),'updateRevisions':async _0x4a9d0e=>{await this['_waitForServiceReady']();const _0x420c65=this['_revisionTracker']['currentRevision'];if(_0xa59eb5&&0x1===_0x4a9d0e['length']&&_0x4a9d0e[0x0]['id']===_0x420c65['id'])return _0x4a9d0e;for(const _0x2560ac of _0x4a9d0e)_0x2560ac['id']===_0x420c65['id']&&(_0x2560ac['isEmptyCurrent']=_0x2560ac['fromVersion']===_0x2560ac['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4a9d0e,this['_lastRequestId'])['then'](_0xe6d5e1=>(this['_lastRequestId']=_0xe6d5e1,_0x4a9d0e))['catch'](_0x5ad475=>{if(vt(_0x5ad475)||'400'===_0x5ad475['code']&&void 0x0!==_0x5ad475['data']['wrongRequestId']){for(const _0x4dd4a9 of _0x4a9d0e)this['_revisionTracker']['repository']['getRevision'](_0x4dd4a9['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x4dd4a9['id'],_0x4dd4a9,!0x1);if(vt(_0x5ad475)&&'destroyed'!==this['editor']['state'])throw _0x5ad475;return _0x4a9d0e;}throw _0x5ad475;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3d410c,{revisionsData:_0x2dbe04,requestId:_0x2c957a})=>{Math['max'](..._0x2dbe04['map'](_0x3d64a5=>_0x3d64a5['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2dbe04,_0x2c957a);}):this['_handleRevisionsUpdate'](_0x2dbe04,_0x2c957a);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x138109['connection']?.['state']&&(_0x138109['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x2f14c1,requestId:_0x358519}=await this['_revisionHistoryService']['connect'](_0x138109['connection']);_0x138109['addToReconnectionStack'](this),this['_lastRequestId']=_0x358519,await this['_fetchMissingUsers'](_0x2f14c1);for(const _0x449ca6 of _0x2f14c1)this['_revisionTracker']['addRevisionData'](_0x449ca6);this['listenTo'](_0x1f98af,'change:_isConnected',(_0x4721cd,_0x38ae69,_0x46913c)=>{_0x46913c&&(this['_oldOffset']=_0x1f98af['_offset'],_0x4721cd['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x3ba3f8=this['editor']['plugins']['get'](J),_0x3db575=this['editor']['plugins']['get'](it),_0x228b18=async()=>{const _0x1f2e6d=this['_revisionTracker']['currentRevision'],_0x6cf235=_0x1f2e6d['id'],_0x5a41cd=_0x6cf235!==_0x3db575['sessionId'];if(_0x5a41cd){const _0x40cea5=_0x3db575['_offset']-this['_oldOffset'],_0x16c3cf=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x1f2e6d['toVersion']+_0x40cea5!==_0x16c3cf){const _0x5a5abf=_0x1f2e6d['fromVersion']+_0x40cea5,_0x48e1d0=this['editor']['plugins']['get'](_0x5a638a),_0x29ba83=this['_revisionTracker']['buildRevisionData']({'revision':_0x1f2e6d,'from':_0x5a5abf,'to':_0x16c3cf});_0x29ba83['id']=_0x1f2e6d['id'];const _0x55c804=_0x29ba83['authorsIds']['map'](_0x510a61=>_0x48e1d0['getUser'](_0x510a61));_0x1f2e6d['_update']({..._0x29ba83,'authors':_0x55c804},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1f2e6d['id'],_0x29ba83,!0x0);}this['_revisionTracker']['_startingVersion']=_0x16c3cf,_0x1f2e6d['toVersion']!==_0x1f2e6d['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x6cf235)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x6cf235),this['_revisionTracker']['_createCurrentRevision'](_0x16c3cf);}const {revisions:_0x35a250,requestId:_0x38e7e1}=await this['_revisionHistoryService']['reconnect'](_0x3ba3f8['connection'],this['_lastRequestId']);_0x5a41cd&&_0x35a250['length']>0x0?_0x3db575['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x35a250),this['_handleRevisionsUpdate'](_0x35a250,_0x38e7e1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3db575['_isConnected']?_0x228b18():new Promise((_0x288f8d,_0x579326)=>{_0x3db575['once']('change:_isConnected',()=>{_0x228b18()['then'](_0x288f8d)['catch'](_0x579326);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5d2ae6=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1cef19=>{_0x1cef19['off'](),_0x5d2ae6();});});}_getLatestVersionFromServerOperations(){const _0x3869af=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x2500ba of _0x3869af)if('marker'!==_0x2500ba['type']||_0x2500ba['affectsData'])return _0x2500ba['baseVersion']+0x1;}_getLatestVersion(){const _0x3091ea=this['editor']['plugins']['get'](it);return new Promise(_0x340595=>{_0x3091ea['_isPendingUpdate']?_0x3091ea['once']('change:_isPendingUpdate',()=>{_0x340595(this['_getLatestVersionFromServerOperations']());}):_0x340595(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x3b55b6,_0x3c948a){const _0x441596=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3c948a;for(const _0x4cb76d of _0x3b55b6){const _0x2f5c6a=_0x441596['getRevision'](_0x4cb76d['id']);if(_0x2f5c6a){if((_0x4cb76d['fromVersion']||_0x4cb76d['toVersion'])&&(_0x4cb76d['diffData']=null),_0x2f5c6a===this['_revisionTracker']['currentRevision']){const _0x10e3e6=Math['max'](_0x2f5c6a['toVersion'],_0x4cb76d['toVersion']),_0x1b75da=Math['max'](_0x2f5c6a['fromVersion'],_0x4cb76d['fromVersion']);let _0x29b01d;_0x2f5c6a['toVersion']===_0x4cb76d['toVersion']&&_0x2f5c6a['fromVersion']===_0x4cb76d['fromVersion']?(_0x29b01d=!0x0,this['_preventResendingRevisionData'](_0x4cb76d)):_0x4cb76d['toVersion']===_0x10e3e6&&_0x4cb76d['fromVersion']===_0x1b75da?_0x29b01d=!0x1:(_0x2f5c6a['toVersion']===_0x10e3e6&&_0x2f5c6a['fromVersion']===_0x1b75da||this['_fixRevision']({'revision':_0x2f5c6a,'from':_0x1b75da,'to':_0x10e3e6}),_0x29b01d=!0x0),_0x29b01d&&(delete _0x4cb76d['fromVersion'],delete _0x4cb76d['toVersion'],delete _0x4cb76d['diffData'],delete _0x4cb76d['createdAt'],delete _0x4cb76d['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4cb76d),this['_preventResendingRevisionData'](_0x4cb76d);}else this['_revisionTracker']['addRevisionData'](_0x4cb76d);}const _0x44aa04=_0x441596['getRevisions']();_0x44aa04['reverse']();for(let _0x492c64=0x0;_0x492c64<_0x44aa04['length']-0x1;_0x492c64++){const _0x166223=_0x44aa04[_0x492c64],_0xef5f94=_0x44aa04[_0x492c64+0x1];if(_0x166223['fromVersion']<_0xef5f94['toVersion']){const _0x3b436a=_0xef5f94['toVersion'],_0x5bdb8d=Math['max'](_0x3b436a,_0x166223['toVersion']);this['_fixRevision']({'revision':_0x166223,'from':_0x3b436a,'to':_0x5bdb8d});}}}['_fixRevision']({revision:_0x2e5ed4,from:_0x38e141,to:_0x39f57a}={}){const _0x449913=this['editor']['plugins']['get'](_0x5a638a),_0x14208a=this['_revisionTracker']['buildRevisionData']({'revision':_0x2e5ed4,'from':_0x38e141,'to':_0x39f57a});_0x14208a['authors']=_0x14208a['authorsIds']['map'](_0x1001de=>_0x449913['getUser'](_0x1001de)),_0x2e5ed4['_update'](_0x14208a);}_preventResendingRevisionData(_0x889531){const _0x2d2fb2={};_0x2d2fb2['id']=_0x889531['id'];for(const _0x43e93e of Object['keys'](_0x889531))'id'!==_0x43e93e&&(_0x2d2fb2[_0x43e93e]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x2d2fb2['id'],_0x2d2fb2,!0x0);}async _fetchMissingUsers(_0x76a965){const _0x54a347=this['editor']['plugins']['get'](_0x5a638a),{connection:_0x23ad7b}=this['editor']['plugins']['get'](J),_0x1e0a0e=new Set();for(const _0x556ef8 of _0x76a965){for(const _0x3c0207 of _0x556ef8['authorsIds'])_0x29d579(_0x3c0207);_0x556ef8['creatorId']&&_0x29d579(_0x556ef8['creatorId']);}if(0x0===_0x1e0a0e['size'])return;const _0x43b7c2=await _0x3317f4['getMany'](_0x23ad7b,Array['from'](_0x1e0a0e));for(const _0x3d8a2d of _0x43b7c2)_0x54a347['getUser'](_0x3d8a2d['id'])||_0x54a347['addUser'](_0x3d8a2d);function _0x29d579(_0x1d4031){_0x54a347['getUser'](_0x1d4031)||_0x1e0a0e['add'](_0x1d4031);}}};function vt(_0x5adbb7){return _0x5adbb7['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x5adbb7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5adbb7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var _t=class extends _0x3b0285{static get requires(){return[_0x210853,wt,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},yt=class extends _0x2aa6e7{_collapseAt;constructor(_0x4a535c,_0x189f6d=0x6){super(_0x4a535c);const _0x311025=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x189f6d,this['bind']('isHidden')['to'](this,'usersCount',_0x595c58=>_0x595c58<_0x189f6d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x311025['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':_0x311025['to']('usersCount',_0x424010=>'+'+(_0x424010-this['_collapseAt']+0x2)['toString']())}]}]}]});}},bt=class extends _0x2aa6e7{items;keystrokes;constructor(_0x2576fa){super(_0x2576fa);const _0x199c72=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0xf89fc5(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x199c72['if']('hasPopup'),'aria-expanded':_0x199c72['to']('isExpanded',_0x4ff0ca=>this['hasPopup']&&String(_0x4ff0ca)),'aria-label':_0x199c72['to']('hasPopup',_0x38fc65=>et(_0x2576fa,_0x38fc65?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x199c72['to']('hasPopup',_0x4148da=>!!_0x4148da&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0x179393,_0x3d991e,_0x2d15f2)=>{this['element']&&(_0x2d15f2?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},kt=class extends _0x2aa6e7{counterView;inlineListView;constructor(_0x5264b7,_0x2181f8=0x6){super(_0x5264b7);const _0x558103=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new yt(this['locale'],_0x2181f8),this['inlineListView']=new bt(_0x5264b7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x42a027 of this['inlineListView']['items'])_0x42a027['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',_0x558103['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},It=class extends _0x2aa6e7{listWrapperView;constructor(_0x205e19,_0x1f1ec8){super(_0x205e19),this['listWrapperView']=new St(_0x205e19,_0x1f1ec8),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x205e19,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},St=class extends _0x4e0adb{constructor(_0x5f85b2,_0x4c64ca){super(_0x5f85b2);const _0x2e221b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4c64ca?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2e221b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2e221b['to']('role'),'aria-label':_0x2e221b['to']('ariaLabel'),'aria-labelledby':_0x2e221b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2de15f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x691e28=this['element'];_0x691e28&&(this['_isScrollable']=Math['max'](_0x691e28['scrollHeight'],_0x691e28['clientHeight'])>0.8*window['innerHeight']);}},Tt=class extends _0xf2227d{['userView'];constructor(_0x463645,_0x165910,_0x43aaf2){super(_0x463645);const _0x228638=this['bindTemplate'];this['userView']=new _0x3ee386(_0x463645,_0x165910);const _0x5a8a51={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x165910['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x165910['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x165910['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x165910['color']['getColorVariable'](),'--ck-user-color-alpha':_0x165910['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x43aaf2&&(_0x5a8a51['tag']='button',_0x5a8a51['on']={'click':_0x228638['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5a8a51);}['focus'](){this['element']['focus']();}},Ct=class extends _0x2aa6e7{['userView'];['markerView'];constructor(_0x479554,_0x1dc658,_0x547b09){super(_0x479554);const _0x4b9522=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x3ee386(_0x479554,_0x1dc658),this['markerView']=new At(_0x479554,_0x1dc658);const _0x10754a=new _0x3c3eed(_0x479554);_0x10754a['template']['tag']='span',_0x10754a['text']=_0x1dc658['name'];const _0x4d707e={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4b9522['to']('isFocusable',_0x2a3195=>_0x2a3195?0x0:-0x1),'aria-labelledby':_0x10754a['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4b9522['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4b9522['to']('hasTooltip',_0x15bbb1=>!_0x15bbb1),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x10754a]};_0x547b09&&(_0x4d707e['tag']='button',_0x4d707e['on']={'click':_0x4b9522['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4d707e);}},At=class extends _0x2aa6e7{constructor(_0x3edb07,_0x1bc0e1){super(_0x3edb07),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1bc0e1['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1bc0e1['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1bc0e1['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Pt={'collapseAt':0x6,'displayMe':!0x0};var Ot=class extends _0x573424{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xe335ba){super(_0xe335ba),this['context']['config']['define']('presenceList',Pt);const _0x1fb691=_0xe335ba['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1fb691)throw new _0x1f4bac('presencelist-collapseat-invalid-format',this);if(_0x1fb691<0x1)throw new _0x1f4bac('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Q)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xe27579(),this['balloonPanelView']=new _0x364ce9(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Q];}init(){for(const _0x4f3dfe of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4f3dfe);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3e16b6,_0x50cf25)=>{this['_handleUserAdd'](_0x50cf25);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x3fd616,_0x7a1873)=>{this['_handleUserRemove'](_0x7a1873);});}_createView(){const _0x56d5e7=this['context'],_0x139edd=new kt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x150f21=this['balloonPanelView'];if(!_0x5b48c6(_0x56d5e7['config']['get']('presenceList.container')))throw new _0x1f4bac('presencelist-missing-container',this);_0x139edd['counterView']['bind']('usersCount')['to'](this),_0x139edd['bind']('isCollapsed')['to'](this,'usersCount',_0x1a7d26=>{const {collapseAt:_0x3d55c4}=_0x56d5e7['config']['get']('presenceList'),_0x783302=_0x1a7d26>=_0x3d55c4;if(_0x783302&&!_0x139edd['inlineListView']['items']['find'](_0x19a6de=>_0x19a6de instanceof yt)){const _0x509072=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x509072&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x139edd['inlineListView']['items']['add'](_0x139edd['counterView']);}return _0x783302||this['hideDropdown'](),_0x783302;}),_0x139edd['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5287fd=>{const _0x339d4f=_0x56d5e7['config']['get']('presenceList'),_0x543b6d=new Ct(_0x56d5e7['locale'],_0x5287fd,!!_0x339d4f['onClick']);return _0x543b6d['bind']('hasTooltip')['to'](_0x139edd,'isCollapsed',_0x3b3cd=>!_0x3b3cd),_0x543b6d['bind']('isFocusable')['to'](_0x139edd,'isCollapsed',_0xe8e90f=>!_0xe8e90f),_0x339d4f['onClick']&&this['listenTo'](_0x543b6d,'execute',()=>{this['view']['isCollapsed']||_0x339d4f['onClick'](_0x5287fd,_0x543b6d['element']);}),_0x543b6d;}),_0x139edd['inlineListView']['keystrokes']['set']('Enter',(_0x24c48a,_0x12b15e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x12b15e());}),_0x139edd['render'](),_0x150f21['render'](),_0x139edd['listenTo'](_0x139edd['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x10f212=(_0xe9ceea,_0x55957b)=>{this['_hideDropdownUnlessPointerInside'](_0x55957b);};return _0x139edd['listenTo'](_0x139edd['inlineListView']['element'],'mouseleave',_0x10f212),_0x139edd['listenTo'](_0x150f21['element'],'mouseleave',_0x10f212),_0x18eeb2({'emitter':_0x139edd,'activator':()=>_0x150f21['isVisible'],'contextElements':[_0x150f21['element'],_0x139edd['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x56d5e7['config']['get']('presenceList.container')['appendChild'](_0x139edd['element']),this['_overlayHost']=new _0x4ce28e(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x139edd;}_resolveOverlayTarget(){const _0x5527c5=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x5527c5)return _0x5527c5;const _0x437d8c=this['context']['config']['get']('presenceList.container');return _0x437d8c?_0x1a0178(_0x437d8c):null;}['_handleUserAdd'](_0x16d6fc){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x16d6fc['isMe'])return;const _0x3a325e=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3a325e-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3e6c46=_0x16d6fc['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x16d6fc,_0x3e6c46);}['_handleUserRemove'](_0x4dc7e1){this['usersCount']--;const {collapseAt:_0xdbd4fd}=this['context']['config']['get']('presenceList'),_0x4fab42=this['usersCount']>=_0xdbd4fd;if(this['currentDisplayedUsers']['get'](_0x4dc7e1['id']))this['currentDisplayedUsers']['remove'](_0x4dc7e1['id']);else{if(_0x4fab42&&this['currentDisplayedUsers']['length']+0x1===_0xdbd4fd-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4fab42?0x1:0x0)<this['usersCount']){for(const _0xa4b93f of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xa4b93f['id'])&&(this['currentDisplayedUsers']['add'](_0xa4b93f,Math['min'](this['currentDisplayedUsers']['length']-(_0x4fab42?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4fab42?0x1:0x0)===_0xdbd4fd-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x44314f=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new It(this['context']['locale'],!!_0x44314f['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x3eb8b2}=this['presenceDropdownView'];_0x3eb8b2['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2b4c46=>{if(!_0x44314f['displayMe']&&_0x2b4c46['isMe'])return null;const _0x53314e=new Tt(this['context']['locale'],_0x2b4c46,!!_0x44314f['onClick']);return _0x44314f['onClick']&&this['listenTo'](_0x53314e,'execute',()=>{_0x44314f['onClick'](_0x2b4c46,_0x53314e['element']);}),_0x53314e;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']);const _0x21caae=_0x364ce9['generatePositions']({'heightOffset':0x3,'config':{'withArrow':!0x1}});this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element'],'positions':[_0x21caae['southArrowNorth'],_0x21caae['southArrowNorthMiddleWest'],_0x21caae['southArrowNorthMiddleEast'],_0x21caae['southArrowNorthWest'],_0x21caae['southArrowNorthEast'],_0x21caae['northArrowSouth'],_0x21caae['northArrowSouthMiddleWest'],_0x21caae['northArrowSouthMiddleEast'],_0x21caae['northArrowSouthWest'],_0x21caae['northArrowSouthEast'],_0x21caae['viewportStickyNorth']]}),_0x3eb8b2['focus'](),_0x3eb8b2['checkIfScrollable']();const _0x535006=(_0x4813b9,_0x2eea0c)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2eea0c();};_0x3eb8b2['keystrokes']['set']('Esc',_0x535006),_0x3eb8b2['keystrokes']['set']('Shift+Tab',_0x535006),_0x3eb8b2['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x3eb8b2['focusTracker']['add'](this['view']['element']),_0x3eb8b2['focusTracker']['on']('change:isFocused',(_0x518a08,_0x4d85f2,_0x3d0783)=>{_0x3d0783||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}_hideDropdownUnlessPointerInside(_0x179b49){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x512835=>_0x22725e(_0x512835,_0x179b49))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},xt=class extends _0x573424{static get requires(){return[Q,Ot];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{at as CloudServicesCommentsAdapter,wt as CloudServicesRevisionHistoryAdapter,ut as CloudServicesTrackChangesAdapter,xt as PresenceList,Ot as PresenceListUI,it as RealTimeCollaborationClient,pt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,_t as RealTimeCollaborativeRevisionHistory,gt as RealTimeCollaborativeTrackChanges,Q as Sessions,J as WebSocketGateway};
|
|
23
|
+
import{Context as _0x363235,ContextPlugin as _0x5dbaf5,PendingActions as _0x1040cb,Plugin as _0x52e8ef}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x18939e,Collection as _0x11a6e2,DomEmitterMixin as _0x32e2a3,KeystrokeHandler as _0x35d8f6,getOverlayMountRoot as _0x9144b7,global as _0x18b49a,trustedHtml as _0x179a4b,uid as _0x4b2f0e,version as _0x3b79db}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x57bb6a,LabelView as _0x17b8ff,ListItemView as _0x1a8f6c,ListView as _0xdc9acc,Notification as _0x4c22da,OverlayHost as _0x6295c0,View as _0x120ca6,clickOutsideHandler as _0x1398a0}from'@ckeditor/ckeditor5-ui';import{History as _0x42d906,InsertOperation as _0x1daecc,MarkerOperation as _0x43a658,ModelLiveRange as _0x3ecb29,NoOperation as _0x14b2ce,OperationFactory as _0x37dd8e,RootAttributeOperation as _0x4bcd32,transformOperationSets as _0x5e7bcc}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x5a346f}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x42f616,CommentsService as _0x5c0c92,EditorService as _0x430b33,RevisionHistoryService as _0x13e383,TrackChangesService as _0x127256,User as _0x9bed89,WEB_SOCKET_GATEWAY_STATES as _0x19177b,WebSocketGateway as _0x89423a}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0xec502c,Users as _0x867fa1,isPointerStillOver as _0x7e1130}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x1753d2}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x58dfb9,TrackChangesEditing as _0x66e8c5}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x381f45,CommentsEditing as _0x1923ce,CommentsRepository as _0x1bbc91}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x31414e}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x2df90e}from'es-toolkit/compat';var J=class WebSocketGateway extends _0x5dbaf5{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x89423a)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x5a346f,_0x4c22da];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5fe301){super(_0x5fe301),this['set']('state',_0x19177b['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x32e2a3())();}init(){const _0x5b818b=this['context'],_0x510958=_0x5b818b['plugins']['get'](_0x5a346f),_0x2706cb=_0x5b818b['plugins']['get'](_0x4c22da);if(!_0x510958['token'])throw new _0x18939e('websocketgateway-missing-token',this);if(!_0x510958['webSocketUrl'])throw new _0x18939e('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'](_0x510958['token'],_0x510958['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5b4212=>{if(this['connection']=_0x5b4212,this['bind']('state')['to'](_0x5b4212,'state',this,'_isBrowserOffline',(_0x222a07,_0x4a918c)=>('connected'!==_0x222a07&&(this['_shouldPluginsReconnect']=!0x0),_0x4a918c||_0x222a07!==_0x19177b['CONNECTED']?_0x19177b['DISCONNECTED']:this['state']==_0x19177b['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x19177b['CONNECTING']):_0x19177b['CONNECTED'])),this['connection']['on']('error',(_0x382860,_0x4491e3)=>{if('limitExceeded'!==_0x4491e3['code'])throw console['error'](_0x4491e3),new _0x18939e('cloudservices-init',null,{'originalError':_0x4491e3});_0x2706cb['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'});}),!_0x5b4212['me'])return new Promise(_0x351b21=>_0x5b4212['on']('change:me',_0x351b21));})['catch'](_0x1aaba1=>{throw console['error'](_0x1aaba1),new _0x18939e('cloudservices-init',null,{'originalError':_0x1aaba1});});}addToReconnectionStack(_0x11d81e){if('function'!=typeof _0x11d81e['reconnect'])throw new _0x18939e('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x11d81e))throw new _0x18939e('websocketgateway-plugin-already-registered',this,{'name':_0x11d81e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x11d81e);}removeFromReconnectionStack(_0x107f88){this['_reconnectionStack']['delete'](_0x107f88);}isInReconnectionStack(_0x433d96){return this['_reconnectionStack']['has'](_0x433d96);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x21cac0=>_0x21cac0['reconnect']())))['then'](()=>this['state']=_0x19177b['CONNECTED'])['catch'](_0x2bf2a5=>{throw console['error'](_0x2bf2a5),new _0x18939e('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x19177b['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Q=class extends _0x5dbaf5{['channelSessions'];channelConnectedUsers;allConnectedUsers;_registeredSessions;_uniqueUsersCount;['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[J,_0x867fa1];}constructor(_0x2e429f){super(_0x2e429f),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x11a6e2(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x867fa1);}init(){const _0x2989f6=this['context']['plugins']['get'](J);this['listenTo'](_0x2989f6,'change:state',(_0x2ce78c,_0x20a2d6,_0x59d2cd)=>{if('connected'!==_0x59d2cd)this['channelSessions']['forEach'](_0x36e199=>_0x36e199['clear']()),this['channelConnectedUsers']['forEach'](_0x403b97=>_0x403b97['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x15d384,_0x4a1227]of this['_registeredSessions'])for(const _0x201826 of _0x4a1227)this['_handleSessionAdd'](_0x15d384,_0x201826);}}),this['_createUser'](_0x2989f6['connection']['me'],!0x0);}register(_0x21f9ba,_0x37aece){if(this['_registeredSessions']['has'](_0x21f9ba))throw new _0x18939e('sessions-register-already-registered',null,{'channelId':_0x21f9ba});this['_registeredSessions']['set'](_0x21f9ba,_0x37aece),this['channelSessions']['set'](_0x21f9ba,new _0x11a6e2()),this['channelConnectedUsers']['set'](_0x21f9ba,new _0x11a6e2()),this['listenTo'](_0x37aece,'add',(_0x5d29e8,_0x56bd40)=>this['_handleSessionAdd'](_0x21f9ba,_0x56bd40)),this['listenTo'](_0x37aece,'remove',(_0x218497,_0x320e0d)=>this['_handleSessionRemove'](_0x21f9ba,_0x320e0d));for(const _0x85b02c of _0x37aece)this['_handleSessionAdd'](_0x21f9ba,_0x85b02c);}unregister(_0x1f4552){if(!this['_registeredSessions']['has'](_0x1f4552))throw new _0x18939e('sessions-unregister-not-exist',null,{'channelId':_0x1f4552});const _0x5793ee=this['_registeredSessions']['get'](_0x1f4552);this['stopListening'](_0x5793ee);for(const _0x2d9993 of _0x5793ee)'connected'===this['context']['plugins']['get'](J)['state']&&this['_handleSessionRemove'](_0x1f4552,_0x2d9993);this['_registeredSessions']['delete'](_0x1f4552),this['channelSessions']['delete'](_0x1f4552),this['channelConnectedUsers']['delete'](_0x1f4552);}get['mySessionId'](){return this['context']['plugins']['get'](J)['connection']['sessionId'];}getUserBySessionId(_0x268423){for(const _0x360099 of this['channelSessions']['values']())for(const _0x2d3ced of _0x360099)if(_0x2d3ced['id']===_0x268423)return _0x2d3ced['user'];}getUserSessions(_0x26d248,_0x3f767){const _0xa97f44=_0x3f767?[this['channelSessions']['get'](_0x3f767)]:this['channelSessions']['values'](),_0x46c0b9=new Set();for(const _0x30ea02 of _0xa97f44)for(const _0x6421d0 of _0x30ea02)_0x6421d0['user']['id']===_0x26d248['id']&&_0x46c0b9['add'](_0x6421d0['id']);return _0x46c0b9;}getUserRole(_0x24b8a9){for(const _0x51a10c of this['channelSessions']['values']())for(const _0x3e82fa of _0x51a10c)if(_0x3e82fa['user']===_0x24b8a9)return _0x3e82fa['role'];}['_handleSessionAdd'](_0x3503c9,_0x4943cd){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x28f577=_0x4943cd['user'],_0xb7f580=this['_users']['getUser'](_0x28f577['id'])||this['_createUser'](_0x28f577),_0x3b7bf5=Object['assign']({},_0x4943cd,{'user':_0xb7f580});if(this['channelSessions']['get'](_0x3503c9)['add'](_0x3b7bf5),!_0x28f577['hiddenInPresenceList']){const _0x37a29a=this['channelConnectedUsers']['get'](_0x3503c9);_0x37a29a['has'](_0xb7f580['id'])||_0x37a29a['add'](_0xb7f580),this['allConnectedUsers']['has'](_0xb7f580['id'])||_0x28f577['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0xb7f580,_0xb7f580['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3503c9,{'channelId':_0x3503c9,'session':_0x3b7bf5});}['_handleSessionRemove'](_0x41cc0f,_0x54bc8d){if('connected'!==this['context']['plugins']['get'](J)['state'])return;const _0x38a431=this['channelConnectedUsers']['get'](_0x41cc0f),_0xe5b8d4=_0x54bc8d['user'];_0xe5b8d4['id']&&(this['channelSessions']['get'](_0x41cc0f)['remove'](_0x54bc8d['id']),_0x38a431['has'](_0xe5b8d4['id'])&&!this['getUserSessions'](_0xe5b8d4,_0x41cc0f)['size']&&_0x38a431['remove'](_0xe5b8d4['id']),this['allConnectedUsers']['get'](_0xe5b8d4['id'])&&!this['getUserSessions'](_0xe5b8d4)['size']&&this['allConnectedUsers']['remove'](_0xe5b8d4['id']));}_createUser(_0x4319cd,_0x22239b){const _0x382cc9=this['_users']['addUser'](_0x4319cd);return _0x22239b&&this['_users']['defineMe'](_0x4319cd['id']),_0x382cc9['orderNumber']=this['_uniqueUsersCount']++,_0x382cc9;}},X=class extends _0x52e8ef{_domEmitter=new(_0x32e2a3())();static get requires(){return[Q];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x5f545d=this['editor'],_0x8aa676=_0x5f545d['plugins']['get'](Q);_0x5f545d['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x13a2f7,{writer:_0x3c2e4d})=>function(_0x49fcc7,_0x2ed16e,_0x3ee0ec,_0x1eb6cc){const _0x171fb5=_0x49fcc7['markerName']['split'](':')[0x2],_0x2a16c0=_0x3ee0ec['getUserBySessionId'](_0x171fb5);if(!_0x2a16c0||_0x171fb5===_0x3ee0ec['mySessionId'])return;if(!_0x1eb6cc['model']['schema']['checkChild'](_0x49fcc7['markerRange']['start'],'$text'))return;const _0x51f9f6={'class':'ck-user__marker\x20'+_0x2a16c0['color']['getMarkerClass'](),'style':tt(_0x2a16c0),'data-name':_0x2a16c0['name'],'data-session-id':_0x171fb5},_0x7057a1=_0x1eb6cc['model']['markers']['get'](_0x49fcc7['markerName'])['getStart'](),_0x368e75=_0x7057a1['nodeAfter'],_0x4229d4=_0x1eb6cc['model']['schema'];if(_0x368e75&&_0x4229d4['isObject'](_0x368e75)&&_0x4229d4['isInline'](_0x368e75)&&!_0x1eb6cc['model']['markers']['get']('user:range:'+_0x171fb5)['getRange']()['isCollapsed'])return;const _0xa6d5e=_0x7057a1['parent'];return _0x1eb6cc['model']['schema']['isLimit'](_0xa6d5e)&&!_0x1eb6cc['model']['hasContent'](_0xa6d5e)&&(_0x51f9f6['contenteditable']=!0x1),function(_0x2d6d60,_0x20004e,_0x554cc6){const _0x3120de=_0x2d6d60['createUIElement']('span',_0x20004e);return _0x2d6d60['setCustomProperty']('userPositionMarker',!0x0,_0x3120de),_0x3120de['render']=function(_0x2dedff){const _0x48e024=this['toDomElement'](_0x2dedff),_0x1156b6=document['createElement']('span');return _0x1156b6['classList']['add']('ck-user__marker-tooltip'),_0x1156b6['setAttribute']('contenteditable','false'),_0x1156b6['setAttribute']('spellcheck','false'),_0x1156b6['textContent']=_0x554cc6['name'],_0x48e024['innerHTML']=_0x179a4b('<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1156b6['outerHTML']+''),_0x48e024['addEventListener']('mouseenter',()=>{_0x48e024['classList']['add']('ck-user__marker_hovered');}),_0x48e024['addEventListener']('mouseleave',()=>{_0x48e024['classList']['remove']('ck-user__marker_hovered');}),_0x48e024;},_0x3120de['isSimilar']=function(_0x3dfb1d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3dfb1d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3dfb1d['getAttribute']('data-session-id'));},_0x3120de;}(_0x2ed16e,_0x51f9f6,_0x2a16c0);}(_0x13a2f7,_0x3c2e4d,_0x8aa676,_0x5f545d)}),_0x5f545d['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x409029=>function(_0x5f0d21,_0x2ecca6){const _0xc38f4b=_0x5f0d21['markerName']['split'](':')[0x2];if(_0xc38f4b===_0x2ecca6['mySessionId'])return null;const _0x1b808d=_0x2ecca6['getUserBySessionId'](_0xc38f4b);return _0x1b808d?{'id':_0xc38f4b,'classes':['ck-user__selection',_0x1b808d['color']['getSelectionClass']()],'attributes':{'style':tt(_0x1b808d),'data-session-id':_0xc38f4b},'priority':0x7d0+_0x1b808d['orderNumber']}:{'id':_0xc38f4b,'classes':[]};}(_0x409029,_0x8aa676)}),function(_0x1bfc22){const _0x2deaaf=_0x1bfc22['model'],_0xa43945=new Map(),_0x5e80c6=_0x1bfc22['plugins']['get'](Q);_0x2deaaf['markers']['on']('update:user:range',(_0x7ac01a,_0x19df25,_0x3a357a,_0x3f8578)=>{if(!_0x3f8578&&_0xa43945['get'](_0x19df25['name']))return _0xa43945['get'](_0x19df25['name'])['detach'](),void _0xa43945['delete'](_0x19df25['name']);const _0x22a8bb=_0x19df25['name']['split'](':')[0x2];if(_0x22a8bb===_0x5e80c6['mySessionId'])return;const _0x1c2068='user:position:'+_0x22a8bb;_0x2deaaf['markers']['has'](_0x1c2068)&&_0x1bfc22['editing']['reconvertMarker'](_0x1c2068),_0x19df25['on']('change:range',(_0x2cbe2b,_0x3e3baf,_0x5783f6)=>{if('$graveyard'!=_0x3e3baf['root']['rootName']&&'$graveyard'==_0x19df25['getRange']()['root']['rootName']&&!_0xa43945['has'](_0x19df25['name'])){const _0x236712=_0x2deaaf['schema']['getNearestSelectionRange'](_0x5783f6['deletionPosition']);if(_0x236712){const _0x4d9a0c=_0x3ecb29['fromRange'](_0x236712);_0xa43945['set'](_0x19df25['name'],_0x4d9a0c),_0x4d9a0c['on']('change:range',(_0x451086,_0x4d0b6b,_0xccb261)=>{if('$graveyard'==_0x4d9a0c['root']['rootName']){const _0xcfefa3=_0x2deaaf['schema']['getNearestSelectionRange'](_0xccb261['deletionPosition']);_0xcfefa3?(_0x4d9a0c['start']=_0xcfefa3['start'],_0x4d9a0c['end']=_0xcfefa3['end']):(_0xa43945['delete'](_0x19df25['name']),_0x4d9a0c['detach']());}});}}});}),_0x2deaaf['document']['on']('change',()=>{_0xa43945['size']>0x0&&_0x2deaaf['enqueueChange']({'isUndoable':!0x1},_0x497613=>{for(const [_0x10d309,_0x4b5908]of _0xa43945)'$graveyard'==_0x2deaaf['markers']['get'](_0x10d309)['getRange']()['root']['rootName']&&(Z(_0x10d309['split'](':')[0x2],_0x4b5908['toRange'](),_0x2deaaf,_0x497613),_0x4b5908['detach']());_0xa43945['clear']();});});}(_0x5f545d),this['_domEmitter']['listenTo'](_0x18b49a['document'],'keydown',(_0x570b04,{key:_0xa8cfeb})=>{'Escape'===_0xa8cfeb&&function(_0x4af67b){_0x4af67b['editing']['view']['change'](_0x280293=>{for(const _0x18ccfb of _0x4af67b['model']['markers']){if(!_0x18ccfb['name']['startsWith']('user:position'))continue;const _0x52b648=_0x4af67b['editing']['mapper']['markerNameToElements'](_0x18ccfb['name']);if(_0x52b648){for(const _0x3a3248 of _0x52b648)_0x280293['removeClass']('ck-user__marker_hovered',_0x3a3248);}}});}(_0x5f545d);},{'useCapture':!0x0});}afterInit(){const _0x25ac24=this['editor'],_0x6017ab=_0x25ac24['commands']['get']('undo');_0x6017ab&&_0x25ac24['model']['on']('applyOperation',(_0x1fc87d,_0x1b6339)=>{const _0x1e1acb=_0x1b6339[0x0];if(!_0x1e1acb['isDocumentOperation'])return;if('marker'!=_0x1e1acb['type']||!_0x1e1acb['name']['startsWith']('user:'))return;const _0x1694b6=_0x1e1acb['batch'];_0x6017ab['_createdBatches']['has'](_0x1694b6)&&(_0x1e1acb['newRange']=_0x1e1acb['oldRange']?_0x25ac24['model']['createRange'](_0x1e1acb['oldRange']['start'],_0x1e1acb['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x2cbcfe=this['editor'],_0x5dbee1=_0x2cbcfe['model']['document'],_0x55c70d=_0x2cbcfe['plugins']['get'](Q);_0x2cbcfe['model']['enqueueChange']({'isUndoable':!0x1},_0x481740=>{const _0x3868c7='user:range:'+_0x55c70d['mySessionId'],_0x579bea='user:position:'+_0x55c70d['mySessionId'],_0x5f5446=_0x2cbcfe['model']['markers']['has'](_0x3868c7);_0x2cbcfe['editing']['view']['hasDomSelection']?Z(_0x55c70d['mySessionId'],_0x5dbee1['selection']['getFirstRange'](),_0x2cbcfe['model'],_0x481740):_0x5f5446&&(_0x481740['removeMarker'](_0x3868c7),_0x481740['removeMarker'](_0x579bea));});}};function Z(_0x5120bc,_0xa1f1b2,_0x1a6442,_0x2ef8a1){const _0x3947f4='user:range:'+_0x5120bc,_0x111dfe='user:position:'+_0x5120bc,_0x249677=_0xa1f1b2['getContainedElement']();let _0x450b83=_0xa1f1b2['start'];if(_0x249677&&_0x249677['is']('element','tableCell')){const _0x2f9c3b=function(_0x111a89,_0x3b16a4){for(const _0x44846a of _0x111a89['getPositions']())if(_0x3b16a4['schema']['checkChild'](_0x44846a,'$text'))return _0x44846a;}(_0xa1f1b2,_0x1a6442);_0x2f9c3b&&(_0x450b83=_0x2f9c3b,_0xa1f1b2=_0x2ef8a1['createRange'](_0x450b83));}const _0x5e3a45=_0x2ef8a1['createRange'](_0x450b83);_0x1a6442['markers']['has'](_0x3947f4)?(_0x2ef8a1['updateMarker'](_0x3947f4,{'range':_0xa1f1b2}),_0x2ef8a1['updateMarker'](_0x111dfe,{'range':_0x5e3a45})):(_0x2ef8a1['addMarker'](_0x3947f4,{'range':_0xa1f1b2,'usingOperation':!0x0}),_0x2ef8a1['addMarker'](_0x111dfe,{'range':_0x5e3a45,'usingOperation':!0x0}));}function tt(_0x49ba5f){return'--ck-user-color:'+_0x49ba5f['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x49ba5f['color']['getColorAlphaVariable']()+';';}function et(_0x3db717,_0x3c3428,_0x8ae8d4){const _0x2b360e=_0x3db717['t'],t=_0x3db717['t'];switch(_0x3c3428){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 _0x2b360e({'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'},_0x8ae8d4);default:return'';}}let st=0x1;var it=class RealTimeCollaborationClient extends _0x52e8ef{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x42f616)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[J,Q,X,_0x1040cb,_0x867fa1,_0x4c22da];}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 _0x7f332d=this['serverHistory']['getOperations']();for(let _0x1879af=_0x7f332d['length']-0x1;_0x1879af>=0x0;_0x1879af--){const _0x3cbc74=_0x7f332d[_0x1879af];if(!this['_disconnectionOperations']['has'](_0x3cbc74))return _0x3cbc74['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x380bc0){if(super(_0x380bc0),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x42d906(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x18939e('collaboration-missing-channelid',this);const _0xf0c3fa=_0x380bc0['config']['get']('cloudServices.bundleVersion')||_0x3b79db;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0xf0c3fa,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1753d2(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new rt(this['_disconnectionOperations']);}init(){const _0x4ae769=this['editor'],_0x2819e9=_0x4ae769['plugins']['get'](_0x867fa1),_0x5769d7=_0x4ae769['plugins']['get'](J);this['listenTo'](_0x2819e9,'getOperationAuthor',(_0x3256e1,_0x2f174c)=>{const _0x51395e=_0x2f174c[0x0];_0x51395e['_authorId']&&(_0x3256e1['return']=_0x2819e9['getUser'](_0x51395e['_authorId']),_0x3256e1['stop']()),null===_0x51395e['_authorId']&&(_0x3256e1['return']=null,_0x3256e1['stop']());},{'priority':'high'}),this['listenTo'](_0x4ae769['model']['document']['selection'],'change:range',(_0x3c4c13,_0x30546d)=>{_0x30546d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4ae769['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4ae769['model']['on']('applyOperation',(_0x3c39fd,_0x2d07f2)=>{const _0x6f42f9=_0x2d07f2[0x0];_0x6f42f9['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x6f42f9),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x5769d7,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x58b88e,_0x2922f0,_0x11788f)=>'connected'===_0x58b88e&&!_0x2922f0&&!_0x11788f),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4ae769['disableReadOnlyMode']('rtc-offline'):_0x4ae769['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4ae769['disableReadOnlyMode']('rtc-offline'):_0x4ae769['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x3dbfde=this['editor']['plugins']['get'](Q),_0x43db60=this['editor']['plugins']['get'](J);try{this['_isPendingUpdate']=!0x0,_0x3dbfde['unregister'](this['_channelId']);const _0x5606ca=await this['_service']['reconnect'](_0x43db60['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5606ca)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x27daaa=await this['_service']['getConnectedSessions']();_0x3dbfde['register'](this['_channelId'],_0x27daaa),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2c57de){if(function(_0x3bc97e){return'404'===_0x3bc97e['code'];}(_0x2c57de)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2a7441){return'409'===_0x2a7441['code'];}(_0x2c57de)){const _0x2389e4=et(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x2389e4);}else{if(!(_0x2c57de instanceof nt))throw _0x2c57de;this['_handleReconnectionError']();}}}}destroy(){const _0x286162=this['editor']['plugins']['get'](J),_0x470ae6=this['editor']['plugins']['get'](Q);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x470ae6['channelSessions']['has'](this['_channelId'])&&_0x470ae6['unregister'](this['_channelId']),_0x286162['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x22b4d7){if(this['sessionId']!==_0x22b4d7['sessionId']&&this['_lastSyncedOperationId']!==_0x22b4d7['lastOperationId'])throw new nt();return this['sessionId']=_0x22b4d7['sessionId'],this['_handleServerResponse']([],{..._0x22b4d7,'wereChangesApplied':!0x1,'data':_0x22b4d7['data']},'reconnect');}async _connectService(_0x1d2dd8,_0x5800f3=!0x1){const {connection:_0xc5dc0b}=this['editor']['plugins']['get'](J);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0xc5dc0b,this['_channelId'])['then'](_0xace42f=>this['_initSessionsHandling'](_0xace42f))['catch'](_0x257d6d=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x257d6d);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x16e214,_0x41a41f)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x41a41f);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x117542=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1d2dd8);this['_isPendingUpdate']=!0x0;const _0x259978=await this['_service']['connect'](_0xc5dc0b,this['_compressOperations'](_0x1d2dd8),_0x117542);if(this['sessionId']=_0x259978['sessionId'],_0x5800f3){if(!_0x259978['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x259978['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1d2dd8,_0x259978,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x259978,_0x1d2dd8);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x4fc947=this['editor']['plugins']['get'](Q),_0x426fc8=this['editor']['plugins']['get'](X),_0x16e630=_0x4fc947['channelSessions']['get'](this['_channelId']);_0x16e630&&_0x16e630['length']>0x1?_0x426fc8['createUserMarkerOperations']():this['listenTo'](_0x4fc947,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4fc947['channelSessions']['get'](this['_channelId'])['length']&&_0x426fc8['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x2143c5,_0x2f0f37,_0xdeb6fe,_0x18dbd8){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2f0f37){const _0x177a94=this['_decompressOperations'](_0xdeb6fe,_0x18dbd8);await this['_fetchMissingUsers'](_0x177a94),this['_handleExternalOperations'](_0x177a94,_0x2f0f37,_0xdeb6fe['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x14e0a2}=this['editor'];let _0x28ab40;try{_0x28ab40=await this['_service']['getDocumentDetails']();}catch{const _0x29d660=et(_0x14e0a2,'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'](_0x29d660);}const _0x149449=_0x28ab40['currentDocumentSession']||_0x28ab40['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x149449['lastOperationId']){const _0x1c492f=et(_0x14e0a2,'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'](_0x1c492f);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x3e628b=this['editor']['plugins']['get'](J);if(this['_isConnected']=!0x1,!_0x3e628b['connection']||'connected'!==_0x3e628b['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x43fe09=this['editor']['plugins']['get'](Q);_0x43fe09['channelSessions']['has'](this['_channelId'])&&_0x43fe09['unregister'](this['_channelId']),_0x3e628b['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x49b1a6){const _0x372e91=this['editor']['plugins']['get'](Q);this['listenTo'](_0x372e91,'sessionAdd:'+this['_channelId'],(_0x3b62dc,{session:_0x17cebe})=>{if(_0x17cebe['id']===_0x372e91['mySessionId']){_0x3b62dc['off']();const _0x3dfd1f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4df350=_0x17cebe['permissions'];_0x3dfd1f&&_0x3dfd1f['isEnabled']&&(_0x4df350=_0x4df350['filter'](_0x67d5fb=>'document:write'!==_0x67d5fb)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4df350,this['_channelId']);}}),_0x372e91['register'](this['_channelId'],_0x49b1a6);}_initThrowingOnDataSet(){const _0x262a78=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x4a892)=>{if(!_0x4a892[_0x4a892['length']-0x1]['suppressErrorInCollaboration'])throw new _0x18939e('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x262a78['apply'](this['editor']['data'],_0x4a892);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x2d7fa8,[_0x2fb6e4])=>{if(this['_document']['version'])throw new _0x18939e('realtimecollaborationclient-init-document-already-initialized',this);_0x2d7fa8['stop'](),this['_setPendingAction']();const _0x343714=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x5e209d])=>!_0x5e209d['lazyLoad'])['map'](([_0x30def2,_0x5200b5])=>[_0x30def2,_0x5200b5['modelAttributes']||{}])),_0x5c08b4=this['_getOperationsFromInitData'](_0x2fb6e4,_0x343714);0x0==_0x5c08b4['length']&&_0x5c08b4['push'](new _0x14b2ce(0x0)),_0x2d7fa8['return']=this['_connectService'](_0x5c08b4)['then'](()=>{this['editor']['plugins']['get'](J)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x4bfcea=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x4bfcea))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3fac09,[_0x46268c,_0x4ba14e])=>{_0x3fac09['stop']();const _0x4303ef=this['editor']['model']['document']['getRoot'](_0x46268c);if(!this['_knownRootNames']['has'](_0x46268c)){const _0x359fe7=_0x4ba14e&&_0x4ba14e['data']?_0x4ba14e['data']:'',_0x2a032a=_0x4ba14e&&_0x4ba14e['attributes']?_0x4ba14e['attributes']:{};await this['_loadRoot'](_0x46268c,_0x359fe7,_0x2a032a);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x4303ef['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x4303ef);});},{'priority':'high'});}async _fetchMissingUsers(_0x1d3882){const _0x3d57dc=this['editor']['plugins']['get'](_0x867fa1),{connection:_0x207c17}=this['editor']['plugins']['get'](J),_0xd1e5f3=new Set();for(const _0x5015f2 of _0x1d3882){const _0x207bff=_0x5015f2['_authorId'];_0x207bff&&!_0x3d57dc['getUser'](_0x207bff)&&_0xd1e5f3['add'](_0x207bff);}if(0x0===_0xd1e5f3['size'])return;const _0x46f8b2=await _0x9bed89['getMany'](_0x207c17,Array['from'](_0xd1e5f3));for(const _0x401e88 of _0x46f8b2)_0x3d57dc['getUser'](_0x401e88['id'])||_0x3d57dc['addUser'](_0x401e88);}_getOperationsFromInitData(_0x5d0015,_0x2a25af={}){const _0x5f41fb=this['editor']['model'],_0x4a1c2f=[];let _0x11dc23=0x0;const _0x2a951a='string'==typeof _0x5d0015?{'main':_0x5d0015}:_0x5d0015;for(const _0x1b73c7 of Object['keys'](_0x2a951a)){if(!this['_document']['roots']['has'](_0x1b73c7))throw new _0x18939e('realtimecollaborationclient-init-non-existent-root',this);const _0x3c8121=this['_document']['getRoot'](_0x1b73c7),_0xd20530=this['editor']['data']['parse'](_0x2a951a[_0x1b73c7],_0x3c8121),_0x5bfd7f=new _0x1daecc(_0x5f41fb['createPositionAt'](_0x3c8121,0x0),_0xd20530,_0x11dc23++);_0x4a1c2f['push'](_0x5bfd7f);for(const [_0x2d20c4,_0x107e1e]of _0xd20530['markers']){const _0x5c5525=_0x5f41fb['createRange'](_0x5f41fb['createPositionFromPath'](_0x3c8121,_0x107e1e['start']['path']['slice']()),_0x5f41fb['createPositionFromPath'](_0x3c8121,_0x107e1e['end']['path']['slice']())),_0x5f1606=new _0x43a658(_0x2d20c4,null,_0x5c5525,_0x5f41fb['markers'],!0x0,_0x11dc23++);_0x4a1c2f['push'](_0x5f1606);}}if(_0x2a25af)for(const [_0x29ec14,_0x56e112]of Object['entries'](_0x2a25af)){const _0x1b384e=_0x5f41fb['document']['getRoot'](_0x29ec14);if(!_0x1b384e)throw new _0x18939e('multi-root-editor-root-attributes-no-root',null);for(const [_0x1c695d,_0xc1febd]of Object['entries'](_0x56e112))if(null!==_0xc1febd){const _0x55afe2=new _0x4bcd32(_0x1b384e,_0x1c695d,null,_0xc1febd,_0x11dc23++);_0x4a1c2f['push'](_0x55afe2);}}return _0x4a1c2f;}async _loadRoot(_0x41fd75,_0x151f60,_0x3f128b){this['_getOperationsFromInitData']({[_0x41fd75]:_0x151f60},{[_0x41fd75]:_0x3f128b})['forEach']((_0x395f62,_0x37d94c)=>{_0x395f62['baseVersion']=this['_document']['version']+_0x37d94c,_0x395f62['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x395f62);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x284be8,_0x8071eb){let _0x4e1479;this['_offset']=_0x284be8['offset'];const _0x46ca69=_0x284be8['wereChangesApplied']&&!_0x284be8['initData'],_0x68cdf5=_0x46ca69?0x0:_0x284be8['data']['baseVersion'];if(_0x8071eb['forEach'](_0x1cce84=>{_0x1cce84['_isInit']=!0x0,_0x1cce84['createdAt']=_0x284be8['sessionCreatedAt'],_0x1cce84['_authorId']=null;}),_0x46ca69)_0x4e1479=_0x8071eb,this['_applyOperationsSet'](_0x4e1479,_0x46ca69);else{if(_0x284be8['initData']){const _0x59dbc8=this['_getOperationsFromInitData'](_0x284be8['initData']);this['_document']['history']['version']=-_0x59dbc8['length'],_0x59dbc8['forEach'](_0x6b9a30=>{_0x6b9a30['baseVersion']-=_0x59dbc8['length'],_0x6b9a30['createdAt']=_0x284be8['sessionCreatedAt'],_0x6b9a30['_isInit']=!0x0,_0x6b9a30['_authorId']=null;}),this['_applyOperationsSet'](_0x59dbc8,!0x0),this['serverHistory']['version']=-_0x59dbc8['length']+this['_offset'],this['_updateServerHistory'](_0x59dbc8);}this['_document']['history']['version']=_0x68cdf5,_0x4e1479=this['_decompressOperations'](_0x284be8['data'],_0x284be8['metadata']),await this['_fetchMissingUsers'](_0x4e1479),this['_applyOperationsSet'](_0x4e1479,_0x46ca69);}_0x284be8['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4e1479,_0x284be8['lastOperationId']),this['_lastSyncedOperationId']=_0x284be8['lastOperationId']),this['serverHistory']['version']=_0x68cdf5+this['_offset'],this['_updateServerHistory'](_0x4e1479),_0x8071eb['filter'](_0xfaab52=>{const _0x17a68b=this['_getAffectedRoot'](_0xfaab52);return _0x17a68b&&!this['_knownRootNames']['has'](_0x17a68b);})['forEach']((_0x4bd0c6,_0x2c4b80)=>{_0x4bd0c6['baseVersion']=this['_document']['version']+_0x2c4b80,this['_saveOperationInBuffer'](_0x4bd0c6);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x4f132f,_0x248e0a){const _0x288448=_0x248e0a&&_0x248e0a['message'];if(_0x288448&&_0x288448['startsWith']('realtimecollaborationclient'))throw _0x248e0a;const _0x188d8a=this['editor']['plugins']['get'](J);throw this['_isPendingUpdate']=!0x0,_0x188d8a['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x18939e(_0x4f132f,this['editor'],_0x288448?{'originalError':_0x288448}:void 0x0);}_saveOperationInBuffer(_0x5e39d0){this['_knownOperations']['has'](_0x5e39d0)||(this['_knownOperations']['add'](_0x5e39d0),this['_bufferedOperations']['push'](_0x5e39d0),this['_pendingAction']||'marker'==_0x5e39d0['type']&&!_0x5e39d0['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x30a78b=!0x1){!_0x30a78b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3a4f2b=>{_0x3a4f2b&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x44cd20=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3b9e5d){return _0x3b9e5d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3b9e5d['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3b9e5d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x44cd20)||this['_crash'](_0x44cd20['message'],_0x44cd20);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x380104=>{this['on']('change:_isPendingUpdate',()=>{_0x380104();});});}async _sendBufferedOperations(){const _0x59ad7b=this['editor']['plugins']['get'](X);if(this['_shouldSendSelectionUpdate']()&&(_0x59ad7b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xe99c03=[...this['_bufferedOperations']];for(const _0x213650 of _0xe99c03)_0x213650['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x213650);const _0x151be7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xe99c03),_0x3821ce=st++,_0x38e494=this['_compressOperations'](_0xe99c03),_0x3f367e=await this['_service']['sendOperations'](_0x38e494,_0x38e494['baseVersion'],_0x151be7);try{return await this['_handleServerResponse'](_0xe99c03,_0x3f367e,_0x3821ce);}catch(_0x3e79c6){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x3e79c6);}}async['_handleServerResponse'](_0xe44d68,_0x2ab576,_0x2afe1e){if('error'in _0x2ab576)throw _0x2ab576['error'];let _0x32cda6;if(_0x2ab576['wereChangesApplied']){_0x2ab576['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2ab576['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x51698e=>!_0xe44d68['includes'](_0x51698e));for(const _0x4208a7 of _0xe44d68)_0x4208a7['createdAt']='lastOperationAcceptedAt'in _0x2ab576&&_0x2ab576['lastOperationAcceptedAt']||void 0x0;ot(_0xe44d68,_0x2ab576['version']-_0xe44d68['length']),this['_updateServerHistory'](_0xe44d68);const _0xf95f1f=_0xe44d68['filter'](_0x4b388f=>{if(!_0x4b388f['_isInit'])return!0x1;const _0x56ffa5=this['_getAffectedRoot'](_0x4b388f);return _0x56ffa5&&!this['_knownRootNames']['has'](_0x56ffa5);});ot(_0xf95f1f,this['_document']['version']),this['_applyOperationsSet'](_0xf95f1f),_0x32cda6=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1f5b94=this['_decompressOperations'](_0x2ab576['data'],_0x2ab576['metadata'])['filter'](_0x33a11a=>_0x33a11a['baseVersion']>=this['_lastServerVersion']);_0x1f5b94['forEach'](_0x35db8f=>this['_addKnownRoot'](_0x35db8f)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x423cf0=>!_0x423cf0['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x423cf0))),this['_bufferedOperations']['length']&&ot(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1f5b94),_0x32cda6=this['_handleExternalOperations'](_0x1f5b94,_0x2ab576['version'],_0x2ab576['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x32cda6?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x45d29b,_0x54839b,_0x21d761){try{const _0x57b848={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2613fa,operationsB:_0x54971e,originalOperations:_0x385754}=_0x5e7bcc(_0x45d29b,this['_bufferedOperations'],_0x57b848);ot(_0x2613fa,this['_document']['version']),ot(_0x54971e,_0x54839b);for(const _0x3b7d47 of _0x2613fa){const _0x321055=_0x385754['get'](_0x3b7d47);_0x321055?(_0x3b7d47['_authorId']=_0x321055['_authorId'],'noop'!==_0x3b7d47['type']&&(_0x3b7d47['_aiSource']=_0x321055['_aiSource'])):_0x3b7d47['_authorId']=null;}for(const _0xea7158 of _0x54971e)'noop'!==_0xea7158['type']&&(_0xea7158['_aiSource']=_0x385754['get'](_0xea7158)?.['_aiSource']);_0x21d761&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x45d29b,_0x21d761),this['_lastSyncedOperationId']=_0x21d761),this['_bufferedOperations']=[..._0x54971e],this['_applyOperationsSet'](_0x2613fa),this['_updateServerHistory'](_0x45d29b);}catch(_0x1085b4){return console['error'](_0x1085b4),!0x1;}return!0x0;}_applyOperationsSet(_0x14f957,_0x48578f=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x9c976d=>{for(const _0xf52a12 of _0x14f957)this['_knownOperations']['add'](_0xf52a12),this['_addKnownRoot'](_0xf52a12),_0x9c976d['batch']['addOperation'](_0xf52a12),this['editor']['model']['applyOperation'](_0xf52a12);});}_addKnownRoot(_0x43a36f){const _0x25b095=this['_getAffectedRoot'](_0x43a36f);_0x25b095&&this['_knownRootNames']['add'](_0x25b095);}_getAffectedRoot(_0xa0c87b){let _0x1cd2f3,_0x56c0fc;switch(_0xa0c87b['type']){case'insert':_0x1cd2f3=_0xa0c87b['position']['root'];break;case'marker':if(_0x56c0fc=_0xa0c87b['newRange'],!_0x56c0fc)return null;_0x1cd2f3=_0x56c0fc['root'];break;case'addRootAttribute':_0x1cd2f3=_0xa0c87b['root'];break;case'addRoot':_0x1cd2f3=_0xa0c87b['affectedSelectable'];break;case'move':_0x1cd2f3=_0xa0c87b['targetPosition']['root'];break;default:return null;}return _0x1cd2f3['rootName'];}_updateServerHistory(_0x50e9a1){_0x50e9a1['forEach'](_0x4f134a=>{const _0x5898e5=_0x4f134a['clone']();_0x5898e5['_authorId']=_0x4f134a['_authorId'],_0x5898e5['_isInit']=!!_0x4f134a['_isInit'],_0x5898e5['_aiSource']=_0x4f134a['_aiSource'],_0x5898e5['createdAt']=_0x4f134a['createdAt'],_0x5898e5['baseVersion']+=this['_offset'],_0x4f134a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5898e5),this['serverHistory']['addOperation'](_0x5898e5);});}_handleReconnectionError(_0x47ac4e){const _0xc9204c=this['editor']['plugins']['get']('Notification'),_0x5c5750=this['editor']['locale'];_0x47ac4e||(_0x47ac4e=et(_0x5c5750,'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.')),_0xc9204c['showWarning'](_0x47ac4e,{'title':et(_0x5c5750,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](J)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x1040cb)['add'](et(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1040cb)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x3e01e4){const _0x122b29=_0x3e01e4['map'](_0x3316a6=>_0x3316a6['toJSON']());return this['_compressor']['compress'](_0x122b29);}_decompressOperations(_0x2c67c9,_0x4b78a4){return this['_compressor']['decompress'](_0x2c67c9)['map']((_0x4752dc,_0x3296f1)=>{const _0x2ccd72='init'==_0x4b78a4[_0x3296f1]['type'];if('InsertOperation'==_0x4752dc['__className']){const _0x497390=_0x4752dc['position']['root'];!this['_document']['getRoot'](_0x497390)&&(this['_document']['createRoot']('$unknown',_0x497390)['_isAttached']=!0x1);}else{if('RootOperation'==_0x4752dc['__className']){const _0x51ce21=this['_document']['getRoot'](_0x4752dc['rootName']);_0x51ce21&&'$unknown'==_0x51ce21['name']&&_0x4752dc['elementName']!=_0x51ce21['name']&&(_0x51ce21['name']=_0x4752dc['elementName']);}}const _0x5a9c07=_0x37dd8e['fromJSON'](_0x4752dc,this['_document']);return _0x5a9c07['wasUndone']=_0x4752dc['wasUndone'],_0x5a9c07['_isInit']=_0x2ccd72,_0x5a9c07['_authorId']=_0x2ccd72?null:_0x4b78a4[_0x3296f1]['userId'],_0x5a9c07['_isDisconnection']='cs:removeUser'===_0x4b78a4[_0x3296f1]['type'],_0x5a9c07['_aiSource']=_0x4752dc['_aiSource']||void 0x0,_0x5a9c07['createdAt']=_0x4b78a4[_0x3296f1]['createdAt'],_0x5a9c07;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x5e3359=this['editor']['plugins']['get'](Q)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5e3359&&_0x5e3359['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},nt=class extends Error{};function ot(_0x5cf4d2,_0x1c813e){for(const _0x3ac200 of _0x5cf4d2)_0x3ac200['baseVersion']=_0x1c813e++;}var rt=class{_ignoredOperations;_operationToId;constructor(_0xed8675){this['_ignoredOperations']=_0xed8675,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x96a1e9){let _0xe7fbaf=_0x96a1e9['length'];for(;_0xe7fbaf--;){const _0x5dc7d0=_0x96a1e9[_0xe7fbaf];if(!this['_ignoredOperations']['has'](_0x5dc7d0)){if(!this['_operationToId']['has'](_0x5dc7d0)){const _0x32119b=_0x4b2f0e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x5dc7d0,_0x32119b);}return this['_operationToId']['get'](_0x5dc7d0);}}}setIdForTheLastOperation(_0x2b31a1,_0x2b9728){if(!_0x2b9728)return;let _0x3f7bb3=_0x2b31a1['length'];for(;_0x3f7bb3--;){const _0x2f9348=_0x2b31a1[_0x3f7bb3];this['_ignoredOperations']['has'](_0x2f9348)||this['_operationToId']['set'](_0x2f9348,_0x2b9728);}}},ct=class extends _0x52e8ef{static get requires(){return[it];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},at=class CloudServicesCommentsAdapter extends _0x5dbaf5{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x5c0c92)());['_services'];static get requires(){return[J,_0x1bbc91,Q,_0x867fa1];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x52bceb){super(_0x52bceb),this['_services']=new Map();}async init(){const _0x14c9e4=this['context'],_0x2ad3ec=_0x14c9e4['plugins']['get'](_0x1bbc91);if(_0x14c9e4['plugins']['get'](J)['addToReconnectionStack'](this),_0x2ad3ec['adapter']={'addCommentThread':async({channelId:_0x394ca2,threadId:_0x39ac77,comments:_0x372b5d,resolvedAt:_0x454d24,resolvedBy:_0x298856,context:_0x32d92f,attributes:_0x29301e})=>{const _0x2840dd=await this['_getService'](_0x394ca2)['addCommentThread']({'commentThreadId':_0x39ac77,'comments':_0x372b5d['map'](_0x25f214=>function(_0x392528,_0x3d0c85,_0xb89023){return{'commentThreadId':_0xb89023,'commentId':_0x392528['commentId'],'userId':_0x392528['authorId'],'content':_0x392528['content'],'documentId':_0x3d0c85,'createdAt':_0x392528['createdAt'],'attributes':_0x392528['attributes']||{}};}(_0x25f214,_0x394ca2,_0x39ac77)),'resolvedAt':_0x454d24,'resolvedBy':_0x298856,'context':_0x32d92f,'attributes':_0x29301e})['catch'](lt);return{'threadId':_0x2840dd['commentThreadId'],'comments':_0x2840dd['comments']};},'getCommentThread':async({channelId:_0x534c09,threadId:_0x37a05d})=>{const _0x523ec0=await this['_getService'](_0x534c09)['getCommentThread'](_0x37a05d)['catch'](ht)['catch'](lt);return _0x523ec0?_0x523ec0['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x523ec0]),{'threadId':_0x523ec0['commentThreadId'],'comments':_0x523ec0['comments']['map'](dt),'context':_0x523ec0['context'],'resolvedAt':_0x523ec0['resolvedAt'],'resolvedBy':_0x523ec0['resolvedBy'],'attributes':_0x523ec0['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5ba0f7,threadId:_0x4f8d56,context:_0x15b639,unlinkedAt:_0x2b24e5,attributes:_0x26f8ac})=>this['_getService'](_0x5ba0f7)['updateCommentThread']({'commentThreadId':_0x4f8d56,'context':_0x15b639,'attributes':_0x26f8ac,'unlinkedAt':_0x2b24e5})['catch'](ht)['catch'](lt),'resolveCommentThread':async({channelId:_0x23d0f9,threadId:_0x2b69b3})=>{const _0x401930=await this['_getService'](_0x23d0f9)['resolveCommentThread'](_0x2b69b3)['catch'](ht)['catch'](lt);return{'threadId':_0x401930['commentThreadId'],'resolvedAt':_0x401930['resolvedAt'],'resolvedBy':_0x401930['resolvedBy']};},'reopenCommentThread':async({channelId:_0x462bbc,threadId:_0x539bef})=>this['_getService'](_0x462bbc)['reopenCommentThread'](_0x539bef)['catch'](ht)['catch'](lt),'removeCommentThread':({channelId:_0x3c03b6,threadId:_0x447fad})=>this['_getService'](_0x3c03b6)['removeCommentThread'](_0x447fad)['catch'](ht)['catch'](lt),'addComment':({channelId:_0x5607b0,threadId:_0x488282,commentId:_0xa9028b,content:_0x49dffa,attributes:_0x4e26a0})=>this['_getService'](_0x5607b0)['addComment'](_0x488282,_0xa9028b,_0x49dffa,_0x4e26a0)['catch'](lt),'updateComment':({channelId:_0xea42f3,threadId:_0xe21269,commentId:_0x5c2982,content:_0x119ca8,attributes:_0x4d2a8d})=>this['_getService'](_0xea42f3)['updateComment'](_0xe21269,_0x5c2982,_0x119ca8,_0x4d2a8d)['catch'](ht)['catch'](lt),'removeComment':({channelId:_0x22bb2a,threadId:_0x1a1862,commentId:_0x201010})=>this['_getService'](_0x22bb2a)['removeComment'](_0x1a1862,_0x201010)['catch'](ht)['catch'](lt)},_0x14c9e4 instanceof _0x363235){const _0x265d09=_0x14c9e4['config']['get']('collaboration.channelId'),_0x24bc08=_0x14c9e4['plugins']['get'](Q);await this['_setUpService'](_0x265d09);const _0x26a70c=await this['_services']['get'](_0x265d09)['getConnectedSessions']();this['listenTo'](_0x24bc08,'sessionAdd:'+_0x265d09,(_0x5a80c2,{session:_0x5084b9})=>{_0x5084b9['id']===_0x24bc08['mySessionId']&&(_0x5a80c2['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5084b9['permissions'],_0x265d09));}),_0x24bc08['register'](_0x265d09,_0x26a70c);}}async _setUpService(_0x42e862){if(this['_services']['has'](_0x42e862))throw new _0x18939e('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x42e862});const _0x35e175=this['context']['plugins']['get'](_0x1bbc91),_0x1e6d54=new CloudServicesCommentsAdapter['CommentsService'](_0x42e862);this['_services']['set'](_0x42e862,_0x1e6d54),this['listenTo'](_0x1e6d54,'commentThreadAdded',(_0x587aa5,_0x77cdd)=>{const {commentThreadId:_0x5d8f12,documentId:_0x28849b,context:_0x117e62,attributes:_0x160853,resolvedAt:_0x5e8e07,resolvedBy:_0xb854c2,comments:_0xb66b25}=_0x77cdd;_0x35e175['getCommentThread'](_0x5d8f12)||_0x35e175['addCommentThread']({'threadId':_0x5d8f12,'channelId':_0x28849b,'comments':_0xb66b25?_0xb66b25['map'](dt):[],'context':_0x117e62,'attributes':_0x160853,'resolvedAt':_0x5e8e07,'resolvedBy':_0xb854c2,'isFromAdapter':!0x0});}),this['listenTo'](_0x1e6d54,'commentThreadUpdated',(_0x4375f8,{commentThreadId:_0x3b0714,documentId:_0x264deb,context:_0x7f313d,unlinkedAt:_0x31f3de,attributes:_0x59b603})=>{_0x35e175['getCommentThread'](_0x3b0714)&&_0x35e175['updateCommentThread']({'threadId':_0x3b0714,'channelId':_0x264deb,'context':_0x7f313d,'unlinkedAt':_0x31f3de,'attributes':_0x59b603,'isFromAdapter':!0x0});}),this['listenTo'](_0x1e6d54,'commentThreadResolved',(_0x10ff54,{commentThreadId:_0x3df24a,resolvedBy:_0x5d2c39,resolvedAt:_0x47f9eb})=>{const _0x848fb8=_0x35e175['getCommentThread'](_0x3df24a);_0x848fb8&&_0x848fb8['resolve']({'resolvedBy':_0x5d2c39,'resolvedAt':_0x47f9eb,'isFromAdapter':!0x0});}),this['listenTo'](_0x1e6d54,'commentThreadReopened',(_0x4e907c,{commentThreadId:_0x3402a2})=>{const _0x3ee503=_0x35e175['getCommentThread'](_0x3402a2);_0x3ee503&&_0x3ee503['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1e6d54,'commentThreadRemoved',(_0xb36b55,{commentThreadId:_0x2172fc})=>{const _0x39d7fc=_0x35e175['getCommentThread'](_0x2172fc);_0x39d7fc&&_0x39d7fc['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1e6d54,'commentAdded',(_0x290671,_0x4a868a)=>{const _0x51118c=_0x4a868a['commentThreadId'],_0x53f92d=_0x35e175['getCommentThread'](_0x51118c);_0x53f92d&&_0x53f92d['addComment']({...dt(_0x4a868a),'isFromAdapter':!0x0});}),this['listenTo'](_0x1e6d54,'commentUpdated',(_0x11f3e2,{commentThreadId:_0x161da0,commentId:_0x1b5f4f,content:_0x26f75c,attributes:_0x520cf6})=>{const _0x132c01=_0x35e175['getCommentThread'](_0x161da0);if(_0x132c01){const _0x1facb9=_0x132c01['getComment'](_0x1b5f4f);_0x1facb9&&_0x1facb9['update']({'content':_0x26f75c,'attributes':_0x520cf6,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1e6d54,'commentRemoved',(_0x2945bf,{commentThreadId:_0x2ba825,commentId:_0x12c538})=>{const _0x2a328b=_0x35e175['getCommentThread'](_0x2ba825);if(_0x2a328b){const _0x4e2a12=_0x2a328b['getComment'](_0x12c538);_0x4e2a12&&_0x4e2a12['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x1e6d54,'disconnected',()=>{'connected'===this['context']['plugins']['get'](J)['connection']?.['state']&&(this['_services']['delete'](_0x42e862),this['stopListening'](_0x1e6d54));}),await this['_connectService'](_0x42e862);}destroy(){if(this['context']instanceof _0x363235){const _0x475d26=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x475d26)&&this['_terminateService'](_0x475d26);}}_terminateService(_0x39a0b3){if(!this['_services']['has'](_0x39a0b3))throw new _0x18939e('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x39a0b3});this['_getService'](_0x39a0b3)['disconnect'](),this['_services']['delete'](_0x39a0b3);}async reconnect(){for(const _0x8293e7 of this['_services']['keys']())await this['_connectService'](_0x8293e7);if(this['context']instanceof _0x363235){const _0x1233dd=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x1233dd)){const _0x438a33=this['context']['plugins']['get'](Q);_0x438a33['unregister'](_0x1233dd);const _0x341f66=await this['_services']['get'](_0x1233dd)['getConnectedSessions']();_0x438a33['register'](_0x1233dd,_0x341f66);}}}async _connectService(_0x20b4ca){const {connection:_0x1bfb2d}=this['context']['plugins']['get'](J),_0x43a64d=this['context']['plugins']['get'](_0x1bbc91),_0x4a3db1=await this['_services']['get'](_0x20b4ca)['connect'](_0x1bfb2d);await this['_fetchMissingUsersForThreads'](_0x4a3db1);const _0x21f537=new Set(Array['from'](_0x43a64d['getCommentThreads']({'channelId':_0x20b4ca}),_0x34354f=>_0x34354f['id']));for(const _0x4af48e of _0x4a3db1)_0x4af48e['deletedAt']||_0x21f537['delete'](_0x4af48e['commentThreadId']);for(const _0x5683e8 of _0x21f537)_0x43a64d['getCommentThread'](_0x5683e8)['remove']({'isFromAdapter':!0x0});for(const _0x3213c2 of _0x4a3db1){let _0x2128ac=_0x43a64d['getCommentThread'](_0x3213c2['commentThreadId']);const {commentThreadId:_0xfd7bde,context:_0x249f4d,attributes:_0x2201d7,resolvedBy:_0x4b03e9,resolvedAt:_0x2d3272,unlinkedAt:_0x5d38e9,deletedAt:_0x5dab3a}=_0x3213c2;if(_0x5dab3a)continue;_0x2128ac||(_0x2128ac=_0x43a64d['addCommentThread']({'channelId':_0x20b4ca,'threadId':_0xfd7bde,'context':_0x249f4d,'attributes':_0x2201d7||{},'resolvedBy':_0x4b03e9,'resolvedAt':_0x2d3272,'unlinkedAt':_0x5d38e9,'isFromAdapter':!0x0}));const _0x3dab6e=new Set(Array['from'](_0x2128ac['comments'],_0x3fa800=>_0x3fa800['id']));for(const _0x59f007 of _0x3213c2['comments'])_0x3dab6e['delete'](_0x59f007['commentId']);for(const _0x2bcad3 of _0x3dab6e)_0x2128ac['getComment'](_0x2bcad3)['remove']({'isFromAdapter':!0x0});for(const _0x2aa714 of _0x3213c2['comments']){const _0x4a45d3=_0x2128ac['getComment'](_0x2aa714['commentId']);_0x4a45d3?_0x4a45d3['content']!==_0x2aa714['content']&&_0x4a45d3['update']({'content':_0x2aa714['content'],'isFromAdapter':!0x0}):_0x2128ac['addComment'](Object['assign'](dt(_0x2aa714),{'isFromAdapter':!0x0}));}}}_getService(_0x5d8b9f){if(!this['_services']['has'](_0x5d8b9f))throw new _0x18939e('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5d8b9f});return this['_services']['get'](_0x5d8b9f);}async _fetchMissingUsersForThreads(_0x158fda){const _0x5150b0=this['context']['plugins']['get'](_0x867fa1),{connection:_0x438f8a}=this['context']['plugins']['get'](J),_0x1fc98e=new Set();for(const {resolvedBy:_0x3341f9,comments:_0xd2143b}of _0x158fda){_0x3341f9&&!_0x5150b0['getUser'](_0x3341f9)&&_0x1fc98e['add'](_0x3341f9);for(const {userId:_0x411e79}of _0xd2143b)_0x5150b0['getUser'](_0x411e79)||_0x1fc98e['add'](_0x411e79);}if(0x0===_0x1fc98e['size'])return;const _0x50982d=await _0x9bed89['getMany'](_0x438f8a,Array['from'](_0x1fc98e));for(const _0x3117d2 of _0x50982d)_0x5150b0['getUser'](_0x3117d2['id'])||_0x5150b0['addUser'](_0x3117d2);}};async function ht(_0x37486e){if('404'!==_0x37486e['code'])throw _0x37486e;}function lt(_0x59fe5f){if((_0x33c2a8=_0x59fe5f)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x33c2a8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x33c2a8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x33c2a8;throw _0x59fe5f;}function dt(_0x3acf4f){return{'threadId':_0x3acf4f['commentThreadId'],'commentId':_0x3acf4f['commentId'],'content':_0x3acf4f['content'],'createdAt':_0x3acf4f['createdAt'],'authorId':_0x3acf4f['userId'],'attributes':_0x3acf4f['attributes']||{}};}var ut=class CloudServicesTrackChangesAdapter extends _0x52e8ef{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x127256)());_bufferedRequests;_trackChangesService;static get requires(){return[at,_0x66e8c5,J];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xf9db65){super(_0xf9db65);const _0x236665=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x236665);}init(){const _0x5aa004=this['editor']['plugins']['get'](J),_0x66c637=this['editor']['plugins']['get'](_0x66e8c5);return _0x66c637['adapter']={'getSuggestion':async _0x1aa949=>{await this['_waitForServiceReady']();const _0x4fb7fe=await this['_trackChangesService']['get'](_0x1aa949)['catch'](ft);return await this['_fetchMissingUsersForThreads']([_0x4fb7fe]),_0x4fb7fe;},'addSuggestion':async({id:_0x14620f,type:_0x36bc94,data:_0x29b140,originalSuggestionId:_0x9f54a9,attributes:_0x12b48e})=>{await this['_waitForServiceReady']();const _0x48c8ba={'id':_0x14620f,'type':_0x36bc94,'data':_0x29b140,'originalSuggestionId':_0x9f54a9,'attributes':_0x12b48e},_0x50eefc=await this['_trackChangesService']['add'](_0x14620f,_0x36bc94,_0x29b140,_0x9f54a9,_0x12b48e)['catch'](_0x1e45ff=>{if(mt(_0x1e45ff))return new Promise(_0x2dd89e=>{this['_bufferedRequests']['set'](_0x14620f,{'resolve':_0x2dd89e,'suggestionData':_0x48c8ba});});throw _0x1e45ff;});return this['_bufferedRequests']['delete'](_0x14620f),_0x50eefc;},'updateSuggestion':async(_0x9da2e,_0x397fa5)=>{if(await this['_waitForServiceReady'](),'open'!==_0x397fa5['state'])return this['_trackChangesService']['update'](_0x9da2e,_0x397fa5)['catch'](ft);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xfb889e,_0x1e217f)=>{_0x66c637['hasSuggestion'](_0x1e217f['id'])&&(_0x66c637['getSuggestion'](_0x1e217f['id'])['attributes']=_0x1e217f['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x5aa004['connection']?.['state']&&(_0x5aa004['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x5aa004['connection'])['then'](_0xce8856=>(_0x5aa004['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0xce8856)['then'](()=>{for(const _0x323590 of _0xce8856){_0x66c637['addSuggestionData'](_0x323590)['_saved']=!0x0;}})));}async reconnect(){const _0x1a810c=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x24c65d}=this['editor']['plugins']['get'](J),_0xb0a7b7=await this['_trackChangesService']['connect'](_0x24c65d);await this['_fetchMissingUsersForThreads'](_0xb0a7b7);for(const {suggestionData:_0x1e35b4,resolve:_0x353f46}of this['_bufferedRequests']['values']()){let _0xf2e2d8=_0xb0a7b7['find'](_0x3e4d5e=>_0x3e4d5e['id']===_0x1e35b4['id']);_0xf2e2d8||(_0xf2e2d8=await this['_trackChangesService']['add'](_0x1e35b4['id'],_0x1e35b4['type'],_0x1e35b4['data'],_0x1e35b4['originalSuggestionId'])),_0x353f46(_0xf2e2d8);}for(const _0x43fddf of _0xb0a7b7)_0x1a810c['hasSuggestion'](_0x43fddf['id'])||_0x1a810c['addSuggestionData'](_0x43fddf);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x138c96=>{this['listenTo'](this['_trackChangesService'],'connected',_0x14e757=>{_0x14e757['off'](),_0x138c96();});});}async _fetchMissingUsersForThreads(_0xfae57){const _0x44bcdc=this['editor']['plugins']['get'](_0x867fa1),{connection:_0x63db62}=this['editor']['plugins']['get'](J),_0xcbbe48=new Set();for(const {authorId:_0x19c20e}of _0xfae57)_0x44bcdc['getUser'](_0x19c20e)||_0xcbbe48['add'](_0x19c20e);if(0x0===_0xcbbe48['size'])return;const _0x3f4b64=await _0x9bed89['getMany'](_0x63db62,Array['from'](_0xcbbe48));for(const _0x47e636 of _0x3f4b64)_0x44bcdc['getUser'](_0x47e636['id'])||_0x44bcdc['addUser'](_0x47e636);}};function ft(_0x2474e8){if(mt(_0x2474e8))return new Promise(()=>{});throw _0x2474e8;}function mt(_0x292d61){return _0x292d61['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x292d61['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var pt=class extends _0x52e8ef{static get requires(){return[_0x381f45,at,ct,J];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x131483=this['editor']['plugins']['get'](J),_0x2bcf07=this['editor']['plugins']['get'](_0x1923ce),_0x4f78b8=this['editor']['plugins']['get'](at);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x131483,'change:state',(_0x5d7c8e,_0x25cdbb,_0x13d8eb)=>{_0x2bcf07['isThreadsLoadingPaused']='connected'!==_0x13d8eb;});}),this['listenTo'](_0x131483,'change:state',(_0x294c1f,_0x3b7b8f,_0x3d8ee7)=>{this['editor']['plugins']['get'](_0x1bbc91)['switchReadOnly']('connected'!==_0x3d8ee7);}),_0x4f78b8['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x4f8b61=this['editor']['plugins']['get'](at),_0x4b9d46=this['editor']['config']['get']('collaboration.channelId');_0x4f8b61['_services']['has'](_0x4b9d46)&&_0x4f8b61['_terminateService'](_0x4b9d46),super['destroy']();}},gt=class extends _0x52e8ef{static get requires(){return[pt,ut,_0x58dfb9];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class CloudServicesRevisionHistoryAdapter extends _0x52e8ef{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x13e383)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[J,it,_0x31414e,Q,_0x867fa1];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4eb18c){super(_0x4eb18c);const _0x307584=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x307584);}async init(){const _0x106539=this['editor']['plugins']['get'](it),_0x2ae7a8=_0x106539['serverHistory'],_0x5b66f7=this['editor']['plugins']['get'](J);this['_revisionTracker']['setSource']({'history':_0x2ae7a8,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x106539['sessionId']});const _0x4df35a=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x3b79db,_0x3176c8=await _0x430b33['isBundleUploaded'](_0x5b66f7['connection'],_0x4df35a);this['editor']['plugins']['get'](_0x31414e)['adapter']={'getRevision':async({revisionId:_0x5d9da6})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5d9da6)),'updateRevisions':async _0x16585a=>{await this['_waitForServiceReady']();const _0x279901=this['_revisionTracker']['currentRevision'];if(_0x3176c8&&0x1===_0x16585a['length']&&_0x16585a[0x0]['id']===_0x279901['id'])return _0x16585a;for(const _0xcae9ea of _0x16585a)_0xcae9ea['id']===_0x279901['id']&&(_0xcae9ea['isEmptyCurrent']=_0xcae9ea['fromVersion']===_0xcae9ea['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x16585a,this['_lastRequestId'])['then'](_0x183b2e=>(this['_lastRequestId']=_0x183b2e,_0x16585a))['catch'](_0x54ca77=>{if(vt(_0x54ca77)||'400'===_0x54ca77['code']&&void 0x0!==_0x54ca77['data']['wrongRequestId']){for(const _0x3b28f7 of _0x16585a)this['_revisionTracker']['repository']['getRevision'](_0x3b28f7['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x3b28f7['id'],_0x3b28f7,!0x1);if(vt(_0x54ca77)&&'destroyed'!==this['editor']['state'])throw _0x54ca77;return _0x16585a;}throw _0x54ca77;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4b0388,{revisionsData:_0x432019,requestId:_0x1adcc0})=>{Math['max'](..._0x432019['map'](_0x4e489a=>_0x4e489a['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x432019,_0x1adcc0);}):this['_handleRevisionsUpdate'](_0x432019,_0x1adcc0);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x5b66f7['connection']?.['state']&&(_0x5b66f7['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x264bdc,requestId:_0x5149f6}=await this['_revisionHistoryService']['connect'](_0x5b66f7['connection']);_0x5b66f7['addToReconnectionStack'](this),this['_lastRequestId']=_0x5149f6,await this['_fetchMissingUsers'](_0x264bdc);for(const _0x3fc1eb of _0x264bdc)this['_revisionTracker']['addRevisionData'](_0x3fc1eb);this['listenTo'](_0x106539,'change:_isConnected',(_0x2d2f02,_0x2c8c5a,_0x58c0b5)=>{_0x58c0b5&&(this['_oldOffset']=_0x106539['_offset'],_0x2d2f02['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0xd67fa7=this['editor']['plugins']['get'](J),_0x2695e1=this['editor']['plugins']['get'](it),_0x314d6e=async()=>{const _0x3351f7=this['_revisionTracker']['currentRevision'],_0x1d4da6=_0x3351f7['id'],_0x2225b4=_0x1d4da6!==_0x2695e1['sessionId'];if(_0x2225b4){const _0x23d8f0=_0x2695e1['_offset']-this['_oldOffset'],_0x22ff53=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x3351f7['toVersion']+_0x23d8f0!==_0x22ff53){const _0x3ab16c=_0x3351f7['fromVersion']+_0x23d8f0,_0x594475=this['editor']['plugins']['get'](_0x867fa1),_0x5a4c82=this['_revisionTracker']['buildRevisionData']({'revision':_0x3351f7,'from':_0x3ab16c,'to':_0x22ff53});_0x5a4c82['id']=_0x3351f7['id'];const _0x44cec7=_0x5a4c82['authorsIds']['map'](_0x18c61a=>_0x594475['getUser'](_0x18c61a));_0x3351f7['_update']({..._0x5a4c82,'authors':_0x44cec7},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3351f7['id'],_0x5a4c82,!0x0);}this['_revisionTracker']['_startingVersion']=_0x22ff53,_0x3351f7['toVersion']!==_0x3351f7['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x1d4da6)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x1d4da6),this['_revisionTracker']['_createCurrentRevision'](_0x22ff53);}const {revisions:_0x3464a6,requestId:_0x3f94a9}=await this['_revisionHistoryService']['reconnect'](_0xd67fa7['connection'],this['_lastRequestId']);_0x2225b4&&_0x3464a6['length']>0x0?_0x2695e1['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3464a6),this['_handleRevisionsUpdate'](_0x3464a6,_0x3f94a9),this['_revisionTracker']['sendBufferedUpdates']());};return _0x2695e1['_isConnected']?_0x314d6e():new Promise((_0xc76ac1,_0x2f0d53)=>{_0x2695e1['once']('change:_isConnected',()=>{_0x314d6e()['then'](_0xc76ac1)['catch'](_0x2f0d53);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x12ef27=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x360279=>{_0x360279['off'](),_0x12ef27();});});}_getLatestVersionFromServerOperations(){const _0x1ae91b=this['editor']['plugins']['get'](it)['serverHistory']['getOperations']()['reverse']();for(const _0x1ed653 of _0x1ae91b)if('marker'!==_0x1ed653['type']||_0x1ed653['affectsData'])return _0x1ed653['baseVersion']+0x1;}_getLatestVersion(){const _0x3fe7fe=this['editor']['plugins']['get'](it);return new Promise(_0x284d88=>{_0x3fe7fe['_isPendingUpdate']?_0x3fe7fe['once']('change:_isPendingUpdate',()=>{_0x284d88(this['_getLatestVersionFromServerOperations']());}):_0x284d88(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x46f0c5,_0x3cd700){const _0x5c039d=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3cd700;for(const _0x359415 of _0x46f0c5){const _0x544518=_0x5c039d['getRevision'](_0x359415['id']);if(_0x544518){if((_0x359415['fromVersion']||_0x359415['toVersion'])&&(_0x359415['diffData']=null),_0x544518===this['_revisionTracker']['currentRevision']){const _0x24487a=Math['max'](_0x544518['toVersion'],_0x359415['toVersion']),_0x53f8d8=Math['max'](_0x544518['fromVersion'],_0x359415['fromVersion']);let _0x16004f;_0x544518['toVersion']===_0x359415['toVersion']&&_0x544518['fromVersion']===_0x359415['fromVersion']?(_0x16004f=!0x0,this['_preventResendingRevisionData'](_0x359415)):_0x359415['toVersion']===_0x24487a&&_0x359415['fromVersion']===_0x53f8d8?_0x16004f=!0x1:(_0x544518['toVersion']===_0x24487a&&_0x544518['fromVersion']===_0x53f8d8||this['_fixRevision']({'revision':_0x544518,'from':_0x53f8d8,'to':_0x24487a}),_0x16004f=!0x0),_0x16004f&&(delete _0x359415['fromVersion'],delete _0x359415['toVersion'],delete _0x359415['diffData'],delete _0x359415['createdAt'],delete _0x359415['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x359415),this['_preventResendingRevisionData'](_0x359415);}else this['_revisionTracker']['addRevisionData'](_0x359415);}const _0x5d99d8=_0x5c039d['getRevisions']();_0x5d99d8['reverse']();for(let _0x4c4e28=0x0;_0x4c4e28<_0x5d99d8['length']-0x1;_0x4c4e28++){const _0x3032bb=_0x5d99d8[_0x4c4e28],_0x11de62=_0x5d99d8[_0x4c4e28+0x1];if(_0x3032bb['fromVersion']<_0x11de62['toVersion']){const _0x230447=_0x11de62['toVersion'],_0x5de4d5=Math['max'](_0x230447,_0x3032bb['toVersion']);this['_fixRevision']({'revision':_0x3032bb,'from':_0x230447,'to':_0x5de4d5});}}}['_fixRevision']({revision:_0x1b81e9,from:_0x33ac38,to:_0x43359b}={}){const _0x316ce3=this['editor']['plugins']['get'](_0x867fa1),_0x212188=this['_revisionTracker']['buildRevisionData']({'revision':_0x1b81e9,'from':_0x33ac38,'to':_0x43359b});_0x212188['authors']=_0x212188['authorsIds']['map'](_0x36c3fc=>_0x316ce3['getUser'](_0x36c3fc)),_0x1b81e9['_update'](_0x212188);}_preventResendingRevisionData(_0x3e73b9){const _0x8f62ef={};_0x8f62ef['id']=_0x3e73b9['id'];for(const _0x28ba56 of Object['keys'](_0x3e73b9))'id'!==_0x28ba56&&(_0x8f62ef[_0x28ba56]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x8f62ef['id'],_0x8f62ef,!0x0);}async _fetchMissingUsers(_0x57b0f1){const _0x12d9c8=this['editor']['plugins']['get'](_0x867fa1),{connection:_0x2a57ae}=this['editor']['plugins']['get'](J),_0x2be504=new Set();for(const _0x2f622a of _0x57b0f1){for(const _0x276a5d of _0x2f622a['authorsIds'])_0x43bfa2(_0x276a5d);_0x2f622a['creatorId']&&_0x43bfa2(_0x2f622a['creatorId']);}if(0x0===_0x2be504['size'])return;const _0x2bc70d=await _0x9bed89['getMany'](_0x2a57ae,Array['from'](_0x2be504));for(const _0x7f6fbb of _0x2bc70d)_0x12d9c8['getUser'](_0x7f6fbb['id'])||_0x12d9c8['addUser'](_0x7f6fbb);function _0x43bfa2(_0x2f877d){_0x12d9c8['getUser'](_0x2f877d)||_0x2be504['add'](_0x2f877d);}}};function vt(_0xc69517){return _0xc69517['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xc69517['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xc69517['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var _t=class extends _0x52e8ef{static get requires(){return[_0x31414e,wt,ct];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},yt=class extends _0x120ca6{_collapseAt;constructor(_0x24d0ae,_0x260577=0x6){super(_0x24d0ae);const _0x4438e2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x260577,this['bind']('isHidden')['to'](this,'usersCount',_0x11e5ed=>_0x11e5ed<_0x260577),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4438e2['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':_0x4438e2['to']('usersCount',_0x23ab03=>'+'+(_0x23ab03-this['_collapseAt']+0x2)['toString']())}]}]}]});}},bt=class extends _0x120ca6{items;keystrokes;constructor(_0x5eddea){super(_0x5eddea);const _0x45d77e=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x35d8f6(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x45d77e['if']('hasPopup'),'aria-expanded':_0x45d77e['to']('isExpanded',_0x4b98ef=>this['hasPopup']&&String(_0x4b98ef)),'aria-label':_0x45d77e['to']('hasPopup',_0x48976a=>et(_0x5eddea,_0x48976a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x45d77e['to']('hasPopup',_0x3c84e1=>!!_0x3c84e1&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items']}),this['on']('change:hasPopup',(_0xe0b047,_0x25eead,_0x1ed067)=>{this['element']&&(_0x1ed067?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},kt=class extends _0x120ca6{counterView;inlineListView;constructor(_0x21714e,_0x5c3398=0x6){super(_0x21714e);const _0x2c9eb6=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new yt(this['locale'],_0x5c3398),this['inlineListView']=new bt(_0x21714e),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x293dc5 of this['inlineListView']['items'])_0x293dc5['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',_0x2c9eb6['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},It=class extends _0x120ca6{listWrapperView;constructor(_0x50615e,_0x54f22a){super(_0x50615e),this['listWrapperView']=new St(_0x50615e,_0x54f22a),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':et(_0x50615e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}},St=class extends _0xdc9acc{constructor(_0x5b14b4,_0x4a1171){super(_0x5b14b4);const _0x2de001=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4a1171?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2de001['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2de001['to']('role'),'aria-label':_0x2de001['to']('ariaLabel'),'aria-labelledby':_0x2de001['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x18b49a['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x526e41=this['element'];_0x526e41&&(this['_isScrollable']=Math['max'](_0x526e41['scrollHeight'],_0x526e41['clientHeight'])>0.8*window['innerHeight']);}},Tt=class extends _0x1a8f6c{['userView'];constructor(_0x242a43,_0x15809a,_0x54a947){super(_0x242a43);const _0x449135=this['bindTemplate'];this['userView']=new _0xec502c(_0x242a43,_0x15809a);const _0x40ea67={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x15809a['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x15809a['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x15809a['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x15809a['color']['getColorVariable'](),'--ck-user-color-alpha':_0x15809a['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x54a947&&(_0x40ea67['tag']='button',_0x40ea67['on']={'click':_0x449135['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x40ea67);}['focus'](){this['element']['focus']();}},Ct=class extends _0x120ca6{['userView'];['markerView'];constructor(_0x240f74,_0x27ed43,_0x531c4c){super(_0x240f74);const _0x4a975f=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0xec502c(_0x240f74,_0x27ed43),this['markerView']=new At(_0x240f74,_0x27ed43);const _0x42afd6=new _0x17b8ff(_0x240f74);_0x42afd6['template']['tag']='span',_0x42afd6['text']=_0x27ed43['name'];const _0x4297e2={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4a975f['to']('isFocusable',_0x400ff7=>_0x400ff7?0x0:-0x1),'aria-labelledby':_0x42afd6['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4a975f['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4a975f['to']('hasTooltip',_0x27030e=>!_0x27030e),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x42afd6]};_0x531c4c&&(_0x4297e2['tag']='button',_0x4297e2['on']={'click':_0x4a975f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4297e2);}},At=class extends _0x120ca6{constructor(_0x58699f,_0x3cc333){super(_0x58699f),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3cc333['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x3cc333['color']['getColorVariable'](),'--ck-user-color-alpha':_0x3cc333['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Pt={'collapseAt':0x6,'displayMe':!0x0};var Ot=class extends _0x5dbaf5{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_overlayHost=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x22d26f){super(_0x22d26f),this['context']['config']['define']('presenceList',Pt);const _0x5d80f2=_0x22d26f['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5d80f2)throw new _0x18939e('presencelist-collapseat-invalid-format',this);if(_0x5d80f2<0x1)throw new _0x18939e('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Q)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x11a6e2(),this['balloonPanelView']=new _0x57bb6a(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Q];}init(){for(const _0x9fdd44 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x9fdd44);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1be8d9,_0x3080df)=>{this['_handleUserAdd'](_0x3080df);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x48ae34,_0x16c2d0)=>{this['_handleUserRemove'](_0x16c2d0);});}_createView(){const _0xb9f10a=this['context'],_0x437f67=new kt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x43ed4c=this['balloonPanelView'];if(!_0x2df90e(_0xb9f10a['config']['get']('presenceList.container')))throw new _0x18939e('presencelist-missing-container',this);_0x437f67['counterView']['bind']('usersCount')['to'](this),_0x437f67['bind']('isCollapsed')['to'](this,'usersCount',_0x7b7343=>{const {collapseAt:_0x1b43eb}=_0xb9f10a['config']['get']('presenceList'),_0x30c9cf=_0x7b7343>=_0x1b43eb;if(_0x30c9cf&&!_0x437f67['inlineListView']['items']['find'](_0x1072b7=>_0x1072b7 instanceof yt)){const _0x32a583=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x32a583&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x437f67['inlineListView']['items']['add'](_0x437f67['counterView']);}return _0x30c9cf||this['hideDropdown'](),_0x30c9cf;}),_0x437f67['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x82824d=>{const _0x1492c3=_0xb9f10a['config']['get']('presenceList'),_0x4040bb=new Ct(_0xb9f10a['locale'],_0x82824d,!!_0x1492c3['onClick']);return _0x4040bb['bind']('hasTooltip')['to'](_0x437f67,'isCollapsed',_0xb7938f=>!_0xb7938f),_0x4040bb['bind']('isFocusable')['to'](_0x437f67,'isCollapsed',_0x40f01f=>!_0x40f01f),_0x1492c3['onClick']&&this['listenTo'](_0x4040bb,'execute',()=>{this['view']['isCollapsed']||_0x1492c3['onClick'](_0x82824d,_0x4040bb['element']);}),_0x4040bb;}),_0x437f67['inlineListView']['keystrokes']['set']('Enter',(_0x325666,_0x524cfa)=>{this['view']['isCollapsed']&&(this['showDropdown'](),this['presenceDropdownView']?.['listWrapperView']['focus'](),_0x524cfa());}),_0x437f67['render'](),_0x43ed4c['render'](),_0x437f67['listenTo'](_0x437f67['inlineListView']['element'],'mouseenter',()=>{this['view']['isCollapsed']&&this['showDropdown']();});const _0x45875f=(_0x1a6f84,_0x13f492)=>{this['_hideDropdownUnlessPointerInside'](_0x13f492);};return _0x437f67['listenTo'](_0x437f67['inlineListView']['element'],'mouseleave',_0x45875f),_0x437f67['listenTo'](_0x43ed4c['element'],'mouseleave',_0x45875f),_0x1398a0({'emitter':_0x437f67,'activator':()=>_0x43ed4c['isVisible'],'contextElements':[_0x43ed4c['element'],_0x437f67['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xb9f10a['config']['get']('presenceList.container')['appendChild'](_0x437f67['element']),this['_overlayHost']=new _0x6295c0(this['context']['locale'],{'resolveMountTarget':()=>this['_resolveOverlayTarget'](),'resolveInlineContainer':()=>this['context']['config']['get']('presenceList.container')}),this['_overlayHost']['sync'](),this['_overlayHost']['bodyCollection']['add'](this['balloonPanelView']),_0x437f67;}_resolveOverlayTarget(){const _0x35519b=this['context']['config']['get']('presenceList.overlayContainer')||this['context']['config']['get']('ui.overlayContainer');if(_0x35519b)return _0x35519b;const _0x113a29=this['context']['config']['get']('presenceList.container');return _0x113a29?_0x9144b7(_0x113a29):null;}['_handleUserAdd'](_0x25a1ac){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x25a1ac['isMe'])return;const _0x34346b=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x34346b-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x314c80=_0x25a1ac['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x25a1ac,_0x314c80);}['_handleUserRemove'](_0x456454){this['usersCount']--;const {collapseAt:_0x20176e}=this['context']['config']['get']('presenceList'),_0x433c1a=this['usersCount']>=_0x20176e;if(this['currentDisplayedUsers']['get'](_0x456454['id']))this['currentDisplayedUsers']['remove'](_0x456454['id']);else{if(_0x433c1a&&this['currentDisplayedUsers']['length']+0x1===_0x20176e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x433c1a?0x1:0x0)<this['usersCount']){for(const _0x5a2c4b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5a2c4b['id'])&&(this['currentDisplayedUsers']['add'](_0x5a2c4b,Math['min'](this['currentDisplayedUsers']['length']-(_0x433c1a?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x433c1a?0x1:0x0)===_0x20176e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x170192=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new It(this['context']['locale'],!!_0x170192['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x113a5b}=this['presenceDropdownView'];_0x113a5b['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5655fe=>{if(!_0x170192['displayMe']&&_0x5655fe['isMe'])return null;const _0x39d42d=new Tt(this['context']['locale'],_0x5655fe,!!_0x170192['onClick']);return _0x170192['onClick']&&this['listenTo'](_0x39d42d,'execute',()=>{_0x170192['onClick'](_0x5655fe,_0x39d42d['element']);}),_0x39d42d;}),this['_overlayHost']?.['sync'](),this['balloonPanelView']['content']['add'](this['presenceDropdownView']);const _0x1af6c9=_0x57bb6a['generatePositions']({'heightOffset':0x3,'config':{'withArrow':!0x1}});this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element'],'positions':[_0x1af6c9['southArrowNorth'],_0x1af6c9['southArrowNorthMiddleWest'],_0x1af6c9['southArrowNorthMiddleEast'],_0x1af6c9['southArrowNorthWest'],_0x1af6c9['southArrowNorthEast'],_0x1af6c9['northArrowSouth'],_0x1af6c9['northArrowSouthMiddleWest'],_0x1af6c9['northArrowSouthMiddleEast'],_0x1af6c9['northArrowSouthWest'],_0x1af6c9['northArrowSouthEast'],_0x1af6c9['viewportStickyNorth']]}),_0x113a5b['focus'](),_0x113a5b['checkIfScrollable']();const _0x4a7c84=(_0x3e9c11,_0x48a233)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x48a233();};_0x113a5b['keystrokes']['set']('Esc',_0x4a7c84),_0x113a5b['keystrokes']['set']('Shift+Tab',_0x4a7c84),_0x113a5b['keystrokes']['set']('Tab',()=>{this['view']['inlineListView']['focus'](),this['hideDropdown']();}),_0x113a5b['focusTracker']['add'](this['view']['element']),_0x113a5b['focusTracker']['on']('change:isFocused',(_0x558a27,_0x5b3153,_0x35083b)=>{_0x35083b||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}_hideDropdownUnlessPointerInside(_0x1180a3){this['presenceDropdownView']&&([this['view']['inlineListView']['element'],this['balloonPanelView']['element']]['some'](_0x2e743b=>_0x7e1130(_0x2e743b,_0x1180a3))||this['hideDropdown']());}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_overlayHost']&&(this['_overlayHost']['destroy'](),this['_overlayHost']=null);}},xt=class extends _0x5dbaf5{static get requires(){return[Q,Ot];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{at as CloudServicesCommentsAdapter,wt as CloudServicesRevisionHistoryAdapter,ut as CloudServicesTrackChangesAdapter,xt as PresenceList,Ot as PresenceListUI,it as RealTimeCollaborationClient,pt as RealTimeCollaborativeComments,ct as RealTimeCollaborativeEditing,_t as RealTimeCollaborativeRevisionHistory,gt as RealTimeCollaborativeTrackChanges,Q as Sessions,J as WebSocketGateway};
|