@ckeditor/ckeditor5-real-time-collaboration 48.5.1 → 48.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -6
- package/dist/translations/af.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
|
-
((()=>_0x3ba5ab)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x85f36a,_0x170bc1];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b175d){super(_0x5b175d),this['set']('state',_0xaeb607['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x4aa40b())();}init(){const _0x420b16=this['context'],_0x2cf12e=_0x420b16['plugins']['get'](_0x85f36a),_0x56767c=_0x420b16['plugins']['get'](_0x170bc1);if(!_0x2cf12e['token'])throw new _0x3f94b6('websocketgateway-missing-token',this);if(!_0x2cf12e['webSocketUrl'])throw new _0x3f94b6('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'](_0x2cf12e['token'],_0x2cf12e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xaf22a5=>{if(this['connection']=_0xaf22a5,this['bind']('state')['to'](_0xaf22a5,'state',this,'_isBrowserOffline',(_0x40c28e,_0x44ec29)=>('connected'!==_0x40c28e&&(this['_shouldPluginsReconnect']=!0x0),_0x44ec29||_0x40c28e!==_0xaeb607['CONNECTED']?_0xaeb607['DISCONNECTED']:this['state']==_0xaeb607['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xaeb607['CONNECTING']):_0xaeb607['CONNECTED'])),this['connection']['on']('error',(_0x14937c,_0x37e14f)=>{if('limitExceeded'!==_0x37e14f['code'])throw console['error'](_0x37e14f),new _0x3f94b6('cloudservices-init',null,{'originalError':_0x37e14f});_0x56767c['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'});}),!_0xaf22a5['me'])return new Promise(_0x126c4c=>_0xaf22a5['on']('change:me',_0x126c4c));})['catch'](_0x477d3f=>{throw console['error'](_0x477d3f),new _0x3f94b6('cloudservices-init',null,{'originalError':_0x477d3f});});}addToReconnectionStack(_0x2ad329){if('function'!=typeof _0x2ad329['reconnect'])throw new _0x3f94b6('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x2ad329))throw new _0x3f94b6('websocketgateway-plugin-already-registered',this,{'name':_0x2ad329['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x2ad329);}removeFromReconnectionStack(_0x3991db){this['_reconnectionStack']['delete'](_0x3991db);}isInReconnectionStack(_0x517bf6){return this['_reconnectionStack']['has'](_0x517bf6);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3a099a=>_0x3a099a['reconnect']())))['then'](()=>this['state']=_0xaeb607['CONNECTED'])['catch'](_0x256c27=>{throw console['error'](_0x256c27),new _0x3f94b6('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0xaeb607['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x1d7b68{['channelSessions'];channelConnectedUsers;allConnectedUsers;_registeredSessions;_uniqueUsersCount;['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[z,_0x41a606];}constructor(_0x2b1527){super(_0x2b1527),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5ee725(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x41a606);}init(){const _0x1646b3=this['context']['plugins']['get'](z);this['listenTo'](_0x1646b3,'change:state',(_0x538112,_0xd8cd11,_0x3e3ba0)=>{if('connected'!==_0x3e3ba0)this['channelSessions']['forEach'](_0x581b81=>_0x581b81['clear']()),this['channelConnectedUsers']['forEach'](_0x380176=>_0x380176['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4d5aa5,_0x46ad79]of this['_registeredSessions'])for(const _0x1c3e43 of _0x46ad79)this['_handleSessionAdd'](_0x4d5aa5,_0x1c3e43);}}),this['_createUser'](_0x1646b3['connection']['me'],!0x0);}register(_0x411858,_0x1a1cc2){if(this['_registeredSessions']['has'](_0x411858))throw new _0x3f94b6('sessions-register-already-registered',null,{'channelId':_0x411858});this['_registeredSessions']['set'](_0x411858,_0x1a1cc2),this['channelSessions']['set'](_0x411858,new _0x5ee725()),this['channelConnectedUsers']['set'](_0x411858,new _0x5ee725()),this['listenTo'](_0x1a1cc2,'add',(_0x471e4c,_0x2b6e1a)=>this['_handleSessionAdd'](_0x411858,_0x2b6e1a)),this['listenTo'](_0x1a1cc2,'remove',(_0x546825,_0x5a282c)=>this['_handleSessionRemove'](_0x411858,_0x5a282c));for(const _0xe820d8 of _0x1a1cc2)this['_handleSessionAdd'](_0x411858,_0xe820d8);}unregister(_0x817f00){if(!this['_registeredSessions']['has'](_0x817f00))throw new _0x3f94b6('sessions-unregister-not-exist',null,{'channelId':_0x817f00});const _0x2bc27a=this['_registeredSessions']['get'](_0x817f00);this['stopListening'](_0x2bc27a);for(const _0x30c20b of _0x2bc27a)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x817f00,_0x30c20b);this['_registeredSessions']['delete'](_0x817f00),this['channelSessions']['delete'](_0x817f00),this['channelConnectedUsers']['delete'](_0x817f00);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x29e7f7){for(const _0x36b08c of this['channelSessions']['values']())for(const _0x496fd4 of _0x36b08c)if(_0x496fd4['id']===_0x29e7f7)return _0x496fd4['user'];}getUserSessions(_0x480b98,_0x3b8811){const _0x209215=_0x3b8811?[this['channelSessions']['get'](_0x3b8811)]:this['channelSessions']['values'](),_0x30ebd9=new Set();for(const _0x5bfc72 of _0x209215)for(const _0x19f60b of _0x5bfc72)_0x19f60b['user']['id']===_0x480b98['id']&&_0x30ebd9['add'](_0x19f60b['id']);return _0x30ebd9;}getUserRole(_0x2b63d0){for(const _0x449480 of this['channelSessions']['values']())for(const _0x22ee9a of _0x449480)if(_0x22ee9a['user']===_0x2b63d0)return _0x22ee9a['role'];}['_handleSessionAdd'](_0x3468d0,_0x43a549){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0xdae64a=_0x43a549['user'],_0x2129a5=this['_users']['getUser'](_0xdae64a['id'])||this['_createUser'](_0xdae64a),_0x29ded2=Object['assign']({},_0x43a549,{'user':_0x2129a5});if(this['channelSessions']['get'](_0x3468d0)['add'](_0x29ded2),!_0xdae64a['hiddenInPresenceList']){const _0x9afb51=this['channelConnectedUsers']['get'](_0x3468d0);_0x9afb51['has'](_0x2129a5['id'])||_0x9afb51['add'](_0x2129a5),this['allConnectedUsers']['has'](_0x2129a5['id'])||_0xdae64a['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x2129a5,_0x2129a5['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3468d0,{'channelId':_0x3468d0,'session':_0x29ded2});}['_handleSessionRemove'](_0x193e68,_0x38724b){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1b7ab5=this['channelConnectedUsers']['get'](_0x193e68),_0x2d2efc=_0x38724b['user'];_0x2d2efc['id']&&(this['channelSessions']['get'](_0x193e68)['remove'](_0x38724b['id']),_0x1b7ab5['has'](_0x2d2efc['id'])&&!this['getUserSessions'](_0x2d2efc,_0x193e68)['size']&&_0x1b7ab5['remove'](_0x2d2efc['id']),this['allConnectedUsers']['get'](_0x2d2efc['id'])&&!this['getUserSessions'](_0x2d2efc)['size']&&this['allConnectedUsers']['remove'](_0x2d2efc['id']));}_createUser(_0x442de8,_0x11ab30){const _0x2ac101=this['_users']['addUser'](_0x442de8);return _0x11ab30&&this['_users']['defineMe'](_0x442de8['id']),_0x2ac101['orderNumber']=this['_uniqueUsersCount']++,_0x2ac101;}},K=class extends _0x141bb2{_domEmitter=new(_0x4aa40b())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x5b31cb=this['editor'],_0x5d1323=_0x5b31cb['plugins']['get'](Y);_0x5b31cb['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4c72ba,{writer:_0x433d9c})=>function(_0x24ce36,_0x1d49b6,_0x50984b,_0x7fe360){const _0x1fcd3a=_0x24ce36['markerName']['split'](':')[0x2],_0x59ef0f=_0x50984b['getUserBySessionId'](_0x1fcd3a);if(!_0x59ef0f||_0x1fcd3a===_0x50984b['mySessionId'])return;if(!_0x7fe360['model']['schema']['checkChild'](_0x24ce36['markerRange']['start'],'$text'))return;const _0x14d48d={'class':'ck-user__marker\x20'+_0x59ef0f['color']['getMarkerClass'](),'style':Q(_0x59ef0f),'data-name':_0x59ef0f['name'],'data-session-id':_0x1fcd3a},_0x2444ce=_0x7fe360['model']['markers']['get'](_0x24ce36['markerName'])['getStart'](),_0x1e6df8=_0x2444ce['nodeAfter'],_0x12358a=_0x7fe360['model']['schema'];if(_0x1e6df8&&_0x12358a['isObject'](_0x1e6df8)&&_0x12358a['isInline'](_0x1e6df8)&&!_0x7fe360['model']['markers']['get']('user:range:'+_0x1fcd3a)['getRange']()['isCollapsed'])return;const _0x597b69=_0x2444ce['parent'];return _0x7fe360['model']['schema']['isLimit'](_0x597b69)&&!_0x7fe360['model']['hasContent'](_0x597b69)&&(_0x14d48d['contenteditable']=!0x1),function(_0x579cc0,_0x39ad04,_0x2143bb){const _0x129a88=_0x579cc0['createUIElement']('span',_0x39ad04);return _0x579cc0['setCustomProperty']('userPositionMarker',!0x0,_0x129a88),_0x129a88['render']=function(_0x46a67d){const _0xa8ae10=this['toDomElement'](_0x46a67d),_0x466a32=document['createElement']('span');return _0x466a32['classList']['add']('ck-user__marker-tooltip'),_0x466a32['setAttribute']('contenteditable','false'),_0x466a32['setAttribute']('spellcheck','false'),_0x466a32['textContent']=_0x2143bb['name'],_0xa8ae10['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x466a32['outerHTML']+'',_0xa8ae10['addEventListener']('mouseenter',()=>{_0xa8ae10['classList']['add']('ck-user__marker_hovered');}),_0xa8ae10['addEventListener']('mouseleave',()=>{_0xa8ae10['classList']['remove']('ck-user__marker_hovered');}),_0xa8ae10;},_0x129a88['isSimilar']=function(_0x2ed2b3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2ed2b3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2ed2b3['getAttribute']('data-session-id'));},_0x129a88;}(_0x1d49b6,_0x14d48d,_0x59ef0f);}(_0x4c72ba,_0x433d9c,_0x5d1323,_0x5b31cb)}),_0x5b31cb['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4bdab8=>function(_0x4c66f0,_0x58ba03){const _0x3a01c6=_0x4c66f0['markerName']['split'](':')[0x2];if(_0x3a01c6===_0x58ba03['mySessionId'])return null;const _0x1d5489=_0x58ba03['getUserBySessionId'](_0x3a01c6);return _0x1d5489?{'id':_0x3a01c6,'classes':['ck-user__selection',_0x1d5489['color']['getSelectionClass']()],'attributes':{'style':Q(_0x1d5489),'data-session-id':_0x3a01c6},'priority':0x7d0+_0x1d5489['orderNumber']}:{'id':_0x3a01c6,'classes':[]};}(_0x4bdab8,_0x5d1323)}),function(_0x126719){const _0x38f79c=_0x126719['model'],_0x570b12=new Map(),_0x14bfc8=_0x126719['plugins']['get'](Y);_0x38f79c['markers']['on']('update:user:range',(_0x3799d2,_0x59698b,_0x567daf,_0x137d01)=>{if(!_0x137d01&&_0x570b12['get'](_0x59698b['name']))return _0x570b12['get'](_0x59698b['name'])['detach'](),void _0x570b12['delete'](_0x59698b['name']);const _0x350f45=_0x59698b['name']['split'](':')[0x2];if(_0x350f45===_0x14bfc8['mySessionId'])return;const _0x3bf073='user:position:'+_0x350f45;_0x38f79c['markers']['has'](_0x3bf073)&&_0x126719['editing']['reconvertMarker'](_0x3bf073),_0x59698b['on']('change:range',(_0x1e46f4,_0x2cde4c,_0x3aa97d)=>{if('$graveyard'!=_0x2cde4c['root']['rootName']&&'$graveyard'==_0x59698b['getRange']()['root']['rootName']&&!_0x570b12['has'](_0x59698b['name'])){const _0x42e55f=_0x38f79c['schema']['getNearestSelectionRange'](_0x3aa97d['deletionPosition']);if(_0x42e55f){const _0x58dc42=_0xd8180f['fromRange'](_0x42e55f);_0x570b12['set'](_0x59698b['name'],_0x58dc42),_0x58dc42['on']('change:range',(_0x2b4dba,_0x31798c,_0x2d319c)=>{if('$graveyard'==_0x58dc42['root']['rootName']){const _0x4acc1c=_0x38f79c['schema']['getNearestSelectionRange'](_0x2d319c['deletionPosition']);_0x4acc1c?(_0x58dc42['start']=_0x4acc1c['start'],_0x58dc42['end']=_0x4acc1c['end']):(_0x570b12['delete'](_0x59698b['name']),_0x58dc42['detach']());}});}}});}),_0x38f79c['document']['on']('change',()=>{_0x570b12['size']>0x0&&_0x38f79c['enqueueChange']({'isUndoable':!0x1},_0x42548c=>{for(const [_0x169c44,_0x1d72eb]of _0x570b12)'$graveyard'==_0x38f79c['markers']['get'](_0x169c44)['getRange']()['root']['rootName']&&(J(_0x169c44['split'](':')[0x2],_0x1d72eb['toRange'](),_0x38f79c,_0x42548c),_0x1d72eb['detach']());_0x570b12['clear']();});});}(_0x5b31cb),this['_domEmitter']['listenTo'](_0x406852['document'],'keydown',(_0x111877,{key:_0x4f8445})=>{'Escape'===_0x4f8445&&function(_0x154c6c){_0x154c6c['editing']['view']['change'](_0x1e1f4e=>{for(const _0x1233a3 of _0x154c6c['model']['markers']){if(!_0x1233a3['name']['startsWith']('user:position'))continue;const _0x558cb6=_0x154c6c['editing']['mapper']['markerNameToElements'](_0x1233a3['name']);if(_0x558cb6){for(const _0x2caf71 of _0x558cb6)_0x1e1f4e['removeClass']('ck-user__marker_hovered',_0x2caf71);}}});}(_0x5b31cb);},{'useCapture':!0x0});}afterInit(){const _0x4cc28d=this['editor'],_0x260377=_0x4cc28d['commands']['get']('undo');_0x260377&&_0x4cc28d['model']['on']('applyOperation',(_0x5112f9,_0x3d9330)=>{const _0x22d4b4=_0x3d9330[0x0];if(!_0x22d4b4['isDocumentOperation'])return;if('marker'!=_0x22d4b4['type']||!_0x22d4b4['name']['startsWith']('user:'))return;const _0x3f64fe=_0x22d4b4['batch'];_0x260377['_createdBatches']['has'](_0x3f64fe)&&(_0x22d4b4['newRange']=_0x22d4b4['oldRange']?_0x4cc28d['model']['createRange'](_0x22d4b4['oldRange']['start'],_0x22d4b4['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x1a0288=this['editor'],_0x23ac39=_0x1a0288['model']['document'],_0x3d8c2f=_0x1a0288['plugins']['get'](Y);_0x1a0288['model']['enqueueChange']({'isUndoable':!0x1},_0xc60576=>{const _0xc4c4a='user:range:'+_0x3d8c2f['mySessionId'],_0x1ea1b2='user:position:'+_0x3d8c2f['mySessionId'],_0x14de7e=_0x1a0288['model']['markers']['has'](_0xc4c4a);_0x1a0288['editing']['view']['hasDomSelection']?J(_0x3d8c2f['mySessionId'],_0x23ac39['selection']['getFirstRange'](),_0x1a0288['model'],_0xc60576):_0x14de7e&&(_0xc60576['removeMarker'](_0xc4c4a),_0xc60576['removeMarker'](_0x1ea1b2));});}};function J(_0x14a499,_0x3c0b85,_0x4304f3,_0x5cf20d){const _0x10da26='user:range:'+_0x14a499,_0x1a9f59='user:position:'+_0x14a499,_0x1aacdb=_0x3c0b85['getContainedElement']();let _0x5baaa0=_0x3c0b85['start'];if(_0x1aacdb&&_0x1aacdb['is']('element','tableCell')){const _0x453fec=function(_0x18e27b,_0x4dc674){for(const _0x4af6d5 of _0x18e27b['getPositions']())if(_0x4dc674['schema']['checkChild'](_0x4af6d5,'$text'))return _0x4af6d5;}(_0x3c0b85,_0x4304f3);_0x453fec&&(_0x5baaa0=_0x453fec,_0x3c0b85=_0x5cf20d['createRange'](_0x5baaa0));}const _0x1143f9=_0x5cf20d['createRange'](_0x5baaa0);_0x4304f3['markers']['has'](_0x10da26)?(_0x5cf20d['updateMarker'](_0x10da26,{'range':_0x3c0b85}),_0x5cf20d['updateMarker'](_0x1a9f59,{'range':_0x1143f9})):(_0x5cf20d['addMarker'](_0x10da26,{'range':_0x3c0b85,'usingOperation':!0x0}),_0x5cf20d['addMarker'](_0x1a9f59,{'range':_0x1143f9,'usingOperation':!0x0}));}function Q(_0x3aa903){return'--ck-user-color:'+_0x3aa903['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x3aa903['color']['getColorAlphaVariable']()+';';}function X(_0x19cb86,_0x501edf,_0x9679c9){const _0x1168f2=_0x19cb86['t'],t=_0x19cb86['t'];switch(_0x501edf){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 _0x1168f2({'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'},_0x9679c9);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x141bb2{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x7541ac)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[z,Y,K,_0x812481,_0x41a606,_0x170bc1];}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 _0x2bbf03=this['serverHistory']['getOperations']();for(let _0x495aa4=_0x2bbf03['length']-0x1;_0x495aa4>=0x0;_0x495aa4--){const _0x37a458=_0x2bbf03[_0x495aa4];if(!this['_disconnectionOperations']['has'](_0x37a458))return _0x37a458['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x10e217){if(super(_0x10e217),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2c01e4(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3f94b6('collaboration-missing-channelid',this);const _0x3c556f=_0x10e217['config']['get']('cloudServices.bundleVersion')||_0x1fa917;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3c556f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x18258f(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}init(){const _0x444038=this['editor'],_0x5e8678=_0x444038['plugins']['get'](_0x41a606),_0x64a756=_0x444038['plugins']['get'](z);this['listenTo'](_0x5e8678,'getOperationAuthor',(_0x34f8ea,_0x2199ce)=>{const _0xe155fb=_0x2199ce[0x0];_0xe155fb['_authorId']&&(_0x34f8ea['return']=_0x5e8678['getUser'](_0xe155fb['_authorId']),_0x34f8ea['stop']()),null===_0xe155fb['_authorId']&&(_0x34f8ea['return']=null,_0x34f8ea['stop']());},{'priority':'high'}),this['listenTo'](_0x444038['model']['document']['selection'],'change:range',(_0x2fb9bb,_0x1ab3b7)=>{_0x1ab3b7['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x444038['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x444038['model']['on']('applyOperation',(_0x57fad3,_0x386144)=>{const _0x2f78a5=_0x386144[0x0];_0x2f78a5['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2f78a5),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x64a756,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x3bbc64,_0x4822ac,_0x28f4c7)=>'connected'===_0x3bbc64&&!_0x4822ac&&!_0x28f4c7),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x444038['disableReadOnlyMode']('rtc-offline'):_0x444038['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x444038['disableReadOnlyMode']('rtc-offline'):_0x444038['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x1c276d=this['editor']['plugins']['get'](Y),_0x45ce19=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1c276d['unregister'](this['_channelId']);const _0xf11c93=await this['_service']['reconnect'](_0x45ce19['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0xf11c93)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x43aea8=await this['_service']['getConnectedSessions']();_0x1c276d['register'](this['_channelId'],_0x43aea8),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x351769){if(function(_0x45e654){return'404'===_0x45e654['code'];}(_0x351769)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5f1270){return'409'===_0x5f1270['code'];}(_0x351769)){const _0x4f2485=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x4f2485);}else{if(!(_0x351769 instanceof et))throw _0x351769;this['_handleReconnectionError']();}}}}destroy(){const _0x439b5a=this['editor']['plugins']['get'](z),_0xafa313=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0xafa313['channelSessions']['has'](this['_channelId'])&&_0xafa313['unregister'](this['_channelId']),_0x439b5a['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0xb971e0){if(this['sessionId']!==_0xb971e0['sessionId']&&this['_lastSyncedOperationId']!==_0xb971e0['lastOperationId'])throw new et();return this['sessionId']=_0xb971e0['sessionId'],this['_handleServerResponse']([],{..._0xb971e0,'wereChangesApplied':!0x1,'data':_0xb971e0['data']},'reconnect');}async _connectService(_0x1a747e,_0x4f4099=!0x1){const {connection:_0x47cab1}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x47cab1,this['_channelId'])['then'](_0x5c5dfe=>this['_initSessionsHandling'](_0x5c5dfe))['catch'](_0x2a26a1=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x2a26a1);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1b7c6d,_0x50caa9)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x50caa9);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x58d864=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1a747e);this['_isPendingUpdate']=!0x0;const _0xb72c57=await this['_service']['connect'](_0x47cab1,this['_compressOperations'](_0x1a747e),_0x58d864);if(this['sessionId']=_0xb72c57['sessionId'],_0x4f4099){if(!_0xb72c57['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xb72c57['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1a747e,_0xb72c57,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xb72c57,_0x1a747e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x708672=this['editor']['plugins']['get'](Y),_0x766897=this['editor']['plugins']['get'](K),_0x22955e=_0x708672['channelSessions']['get'](this['_channelId']);_0x22955e&&_0x22955e['length']>0x1?_0x766897['createUserMarkerOperations']():this['listenTo'](_0x708672,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x708672['channelSessions']['get'](this['_channelId'])['length']&&_0x766897['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x47759f,_0x396614,_0x4e8a33,_0xf38bcc){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x396614){const _0x4cfde0=this['_decompressOperations'](_0x4e8a33,_0xf38bcc);await this['_fetchMissingUsers'](_0x4cfde0),this['_handleExternalOperations'](_0x4cfde0,_0x396614,_0x4e8a33['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0xe25ac9}=this['editor'];let _0x16eaf2;try{_0x16eaf2=await this['_service']['getDocumentDetails']();}catch{const _0x529256=X(_0xe25ac9,'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'](_0x529256);}const _0x5366f6=_0x16eaf2['currentDocumentSession']||_0x16eaf2['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x5366f6['lastOperationId']){const _0x1cb7b5=X(_0xe25ac9,'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'](_0x1cb7b5);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x4d67c8=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x4d67c8['connection']||'connected'!==_0x4d67c8['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0xe8f940=this['editor']['plugins']['get'](Y);_0xe8f940['channelSessions']['has'](this['_channelId'])&&_0xe8f940['unregister'](this['_channelId']),_0x4d67c8['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x5b9b4f){const _0x3b5476=this['editor']['plugins']['get'](Y);this['listenTo'](_0x3b5476,'sessionAdd:'+this['_channelId'],(_0x1f7f26,{session:_0xfaf4c6})=>{if(_0xfaf4c6['id']===_0x3b5476['mySessionId']){_0x1f7f26['off']();const _0x211ba6=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3e9845=_0xfaf4c6['permissions'];_0x211ba6&&_0x211ba6['isEnabled']&&(_0x3e9845=_0x3e9845['filter'](_0x4a9216=>'document:write'!==_0x4a9216)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3e9845,this['_channelId']);}}),_0x3b5476['register'](this['_channelId'],_0x5b9b4f);}_initThrowingOnDataSet(){const _0x55c824=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5aef98)=>{if(!_0x5aef98[_0x5aef98['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3f94b6('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x55c824['apply'](this['editor']['data'],_0x5aef98);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x235e56,[_0x1365f5])=>{if(this['_document']['version'])throw new _0x3f94b6('realtimecollaborationclient-init-document-already-initialized',this);_0x235e56['stop'](),this['_setPendingAction']();const _0x41a72b=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x4f84a9])=>!_0x4f84a9['lazyLoad'])['map'](([_0x4f33a6,_0x37b536])=>[_0x4f33a6,_0x37b536['modelAttributes']||{}])),_0x3f8a34=this['_getOperationsFromInitData'](_0x1365f5,_0x41a72b);0x0==_0x3f8a34['length']&&_0x3f8a34['push'](new _0x5dc8c0(0x0)),_0x235e56['return']=this['_connectService'](_0x3f8a34)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x52b1ef=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x52b1ef))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4b4453,[_0x543337,_0x404abf])=>{_0x4b4453['stop']();const _0x17685f=this['editor']['model']['document']['getRoot'](_0x543337);if(!this['_knownRootNames']['has'](_0x543337)){const _0x44b551=_0x404abf&&_0x404abf['data']?_0x404abf['data']:'',_0x4a9878=_0x404abf&&_0x404abf['attributes']?_0x404abf['attributes']:{};await this['_loadRoot'](_0x543337,_0x44b551,_0x4a9878);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x17685f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x17685f);});},{'priority':'high'});}async _fetchMissingUsers(_0x2e0f48){const _0xe2cb26=this['editor']['plugins']['get'](_0x41a606),{connection:_0x13fe5d}=this['editor']['plugins']['get'](z),_0x24601b=new Set();for(const _0x25060f of _0x2e0f48){const _0x46057d=_0x25060f['_authorId'];_0x46057d&&!_0xe2cb26['getUser'](_0x46057d)&&_0x24601b['add'](_0x46057d);}if(0x0===_0x24601b['size'])return;const _0x5d2632=await _0x44e3f4['getMany'](_0x13fe5d,Array['from'](_0x24601b));for(const _0x4a3d0d of _0x5d2632)_0xe2cb26['getUser'](_0x4a3d0d['id'])||_0xe2cb26['addUser'](_0x4a3d0d);}_getOperationsFromInitData(_0x4596d6,_0x455462={}){const _0x3e0c2f=this['editor']['model'],_0x596473=[];let _0x118af2=0x0;const _0x6e962='string'==typeof _0x4596d6?{'main':_0x4596d6}:_0x4596d6;for(const _0x4800c4 of Object['keys'](_0x6e962)){if(!this['_document']['roots']['has'](_0x4800c4))throw new _0x3f94b6('realtimecollaborationclient-init-non-existent-root',this);const _0x57a8df=this['_document']['getRoot'](_0x4800c4),_0xeee8b6=this['editor']['data']['parse'](_0x6e962[_0x4800c4],_0x57a8df),_0x174e6a=new _0x5de342(_0x3e0c2f['createPositionAt'](_0x57a8df,0x0),_0xeee8b6,_0x118af2++);_0x596473['push'](_0x174e6a);for(const [_0x4871f3,_0x3af02a]of _0xeee8b6['markers']){const _0x1ef130=_0x3e0c2f['createRange'](_0x3e0c2f['createPositionFromPath'](_0x57a8df,_0x3af02a['start']['path']['slice']()),_0x3e0c2f['createPositionFromPath'](_0x57a8df,_0x3af02a['end']['path']['slice']())),_0x5a4b3b=new _0x5e9c27(_0x4871f3,null,_0x1ef130,_0x3e0c2f['markers'],!0x0,_0x118af2++);_0x596473['push'](_0x5a4b3b);}}if(_0x455462)for(const [_0x480572,_0xde1e53]of Object['entries'](_0x455462)){const _0x1a84c5=_0x3e0c2f['document']['getRoot'](_0x480572);if(!_0x1a84c5)throw new _0x3f94b6('multi-root-editor-root-attributes-no-root',null);for(const [_0x3e6ecf,_0x2ba38f]of Object['entries'](_0xde1e53))if(null!==_0x2ba38f){const _0x4484c0=new _0x1f81d5(_0x1a84c5,_0x3e6ecf,null,_0x2ba38f,_0x118af2++);_0x596473['push'](_0x4484c0);}}return _0x596473;}async _loadRoot(_0x57bbb0,_0x5dcee8,_0x5c5157){this['_getOperationsFromInitData']({[_0x57bbb0]:_0x5dcee8},{[_0x57bbb0]:_0x5c5157})['forEach']((_0x2d3e80,_0x1f629e)=>{_0x2d3e80['baseVersion']=this['_document']['version']+_0x1f629e,_0x2d3e80['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2d3e80);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x3a3326,_0x53fd1e){let _0x5394c6;this['_offset']=_0x3a3326['offset'];const _0x2cc68b=_0x3a3326['wereChangesApplied']&&!_0x3a3326['initData'],_0x4a5839=_0x2cc68b?0x0:_0x3a3326['data']['baseVersion'];if(_0x53fd1e['forEach'](_0x54ac04=>{_0x54ac04['_isInit']=!0x0,_0x54ac04['createdAt']=_0x3a3326['sessionCreatedAt'],_0x54ac04['_authorId']=null;}),_0x2cc68b)_0x5394c6=_0x53fd1e,this['_applyOperationsSet'](_0x5394c6,_0x2cc68b);else{if(_0x3a3326['initData']){const _0x5d49e3=this['_getOperationsFromInitData'](_0x3a3326['initData']);this['_document']['history']['version']=-_0x5d49e3['length'],_0x5d49e3['forEach'](_0x5edac3=>{_0x5edac3['baseVersion']-=_0x5d49e3['length'],_0x5edac3['createdAt']=_0x3a3326['sessionCreatedAt'],_0x5edac3['_isInit']=!0x0,_0x5edac3['_authorId']=null;}),this['_applyOperationsSet'](_0x5d49e3,!0x0),this['serverHistory']['version']=-_0x5d49e3['length']+this['_offset'],this['_updateServerHistory'](_0x5d49e3);}this['_document']['history']['version']=_0x4a5839,_0x5394c6=this['_decompressOperations'](_0x3a3326['data'],_0x3a3326['metadata']),await this['_fetchMissingUsers'](_0x5394c6),this['_applyOperationsSet'](_0x5394c6,_0x2cc68b);}_0x3a3326['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5394c6,_0x3a3326['lastOperationId']),this['_lastSyncedOperationId']=_0x3a3326['lastOperationId']),this['serverHistory']['version']=_0x4a5839+this['_offset'],this['_updateServerHistory'](_0x5394c6),_0x53fd1e['filter'](_0x442fd8=>{const _0x1cbbd7=this['_getAffectedRoot'](_0x442fd8);return _0x1cbbd7&&!this['_knownRootNames']['has'](_0x1cbbd7);})['forEach']((_0x4d81a0,_0x470d24)=>{_0x4d81a0['baseVersion']=this['_document']['version']+_0x470d24,this['_saveOperationInBuffer'](_0x4d81a0);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x4eb41a,_0x404c3e){const _0x5a6069=_0x404c3e&&_0x404c3e['message'];if(_0x5a6069&&_0x5a6069['startsWith']('realtimecollaborationclient'))throw _0x404c3e;const _0x19a972=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x19a972['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3f94b6(_0x4eb41a,this['editor'],_0x5a6069?{'originalError':_0x5a6069}:void 0x0);}_saveOperationInBuffer(_0x31c740){this['_knownOperations']['has'](_0x31c740)||(this['_knownOperations']['add'](_0x31c740),this['_bufferedOperations']['push'](_0x31c740),this['_pendingAction']||'marker'==_0x31c740['type']&&!_0x31c740['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x51d574=!0x1){!_0x51d574&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1e24e7=>{_0x1e24e7&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x150dc4=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4feb07){return _0x4feb07['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4feb07['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4feb07['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x150dc4)||this['_crash'](_0x150dc4['message'],_0x150dc4);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x1dc321=>{this['on']('change:_isPendingUpdate',()=>{_0x1dc321();});});}async _sendBufferedOperations(){const _0x346290=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x346290['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4459ab=[...this['_bufferedOperations']];for(const _0x2b6673 of _0x4459ab)_0x2b6673['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2b6673);const _0x43e461=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4459ab),_0x4520b7=Z++,_0x3cfb1f=this['_compressOperations'](_0x4459ab),_0x1f8a12=await this['_service']['sendOperations'](_0x3cfb1f,_0x3cfb1f['baseVersion'],_0x43e461);try{return await this['_handleServerResponse'](_0x4459ab,_0x1f8a12,_0x4520b7);}catch(_0xf813b2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xf813b2);}}async['_handleServerResponse'](_0x39a31b,_0x574dd1,_0x2db6de){if('error'in _0x574dd1)throw _0x574dd1['error'];let _0x4af9c4;if(_0x574dd1['wereChangesApplied']){_0x574dd1['lastOperationId']&&(this['_lastSyncedOperationId']=_0x574dd1['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x45f0a6=>!_0x39a31b['includes'](_0x45f0a6));for(const _0x4a4fe4 of _0x39a31b)_0x4a4fe4['createdAt']='lastOperationAcceptedAt'in _0x574dd1&&_0x574dd1['lastOperationAcceptedAt']||void 0x0;st(_0x39a31b,_0x574dd1['version']-_0x39a31b['length']),this['_updateServerHistory'](_0x39a31b);const _0x2cbc23=_0x39a31b['filter'](_0x20a19b=>{if(!_0x20a19b['_isInit'])return!0x1;const _0x550010=this['_getAffectedRoot'](_0x20a19b);return _0x550010&&!this['_knownRootNames']['has'](_0x550010);});st(_0x2cbc23,this['_document']['version']),this['_applyOperationsSet'](_0x2cbc23),_0x4af9c4=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2fbe29=this['_decompressOperations'](_0x574dd1['data'],_0x574dd1['metadata'])['filter'](_0xeb2ada=>_0xeb2ada['baseVersion']>=this['_lastServerVersion']);_0x2fbe29['forEach'](_0x30f20d=>this['_addKnownRoot'](_0x30f20d)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x33d86e=>!_0x33d86e['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x33d86e))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2fbe29),_0x4af9c4=this['_handleExternalOperations'](_0x2fbe29,_0x574dd1['version'],_0x574dd1['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x4af9c4?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0xa76d50,_0x17ff71,_0x1aae9d){try{const _0x168e0a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x36e92b,operationsB:_0x58eb07,originalOperations:_0x534e14}=_0x40586c(_0xa76d50,this['_bufferedOperations'],_0x168e0a);st(_0x36e92b,this['_document']['version']),st(_0x58eb07,_0x17ff71);for(const _0x2d9307 of _0x36e92b){const _0x395ea5=_0x534e14['get'](_0x2d9307);_0x395ea5?(_0x2d9307['_authorId']=_0x395ea5['_authorId'],'noop'!==_0x2d9307['type']&&(_0x2d9307['_aiSource']=_0x395ea5['_aiSource'])):_0x2d9307['_authorId']=null;}for(const _0x2ad0e5 of _0x58eb07)'noop'!==_0x2ad0e5['type']&&(_0x2ad0e5['_aiSource']=_0x534e14['get'](_0x2ad0e5)?.['_aiSource']);_0x1aae9d&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xa76d50,_0x1aae9d),this['_lastSyncedOperationId']=_0x1aae9d),this['_bufferedOperations']=[..._0x58eb07],this['_applyOperationsSet'](_0x36e92b),this['_updateServerHistory'](_0xa76d50);}catch(_0x432470){return console['error'](_0x432470),!0x1;}return!0x0;}_applyOperationsSet(_0x2dbdfc,_0x33c6c9=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x17240d=>{for(const _0x388eb9 of _0x2dbdfc)this['_knownOperations']['add'](_0x388eb9),this['_addKnownRoot'](_0x388eb9),_0x17240d['batch']['addOperation'](_0x388eb9),this['editor']['model']['applyOperation'](_0x388eb9);});}_addKnownRoot(_0x36c92a){const _0x45d36d=this['_getAffectedRoot'](_0x36c92a);_0x45d36d&&this['_knownRootNames']['add'](_0x45d36d);}_getAffectedRoot(_0x1eaf74){let _0xbfb7ff,_0x6081f6;switch(_0x1eaf74['type']){case'insert':_0xbfb7ff=_0x1eaf74['position']['root'];break;case'marker':if(_0x6081f6=_0x1eaf74['newRange'],!_0x6081f6)return null;_0xbfb7ff=_0x6081f6['root'];break;case'addRootAttribute':_0xbfb7ff=_0x1eaf74['root'];break;case'addRoot':_0xbfb7ff=_0x1eaf74['affectedSelectable'];break;case'move':_0xbfb7ff=_0x1eaf74['targetPosition']['root'];break;default:return null;}return _0xbfb7ff['rootName'];}_updateServerHistory(_0x5d27b9){_0x5d27b9['forEach'](_0x4ed876=>{const _0x5aa8e8=_0x4ed876['clone']();_0x5aa8e8['_authorId']=_0x4ed876['_authorId'],_0x5aa8e8['_isInit']=!!_0x4ed876['_isInit'],_0x5aa8e8['_aiSource']=_0x4ed876['_aiSource'],_0x5aa8e8['createdAt']=_0x4ed876['createdAt'],_0x5aa8e8['baseVersion']+=this['_offset'],_0x4ed876['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5aa8e8),this['serverHistory']['addOperation'](_0x5aa8e8);});}_handleReconnectionError(_0x8c1453){const _0x586b97=this['editor']['plugins']['get']('Notification'),_0x11608d=this['editor']['locale'];_0x8c1453||(_0x8c1453=X(_0x11608d,'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.')),_0x586b97['showWarning'](_0x8c1453,{'title':X(_0x11608d,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x812481)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x812481)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x295e94){const _0x2a6ef7=_0x295e94['map'](_0x260691=>_0x260691['toJSON']());return this['_compressor']['compress'](_0x2a6ef7);}_decompressOperations(_0x217c4e,_0x4b93e0){return this['_compressor']['decompress'](_0x217c4e)['map']((_0x15eba9,_0x4a07d2)=>{const _0x498739='init'==_0x4b93e0[_0x4a07d2]['type'];if('InsertOperation'==_0x15eba9['__className']){const _0x432704=_0x15eba9['position']['root'];!this['_document']['getRoot'](_0x432704)&&(this['_document']['createRoot']('$unknown',_0x432704)['_isAttached']=!0x1);}else{if('RootOperation'==_0x15eba9['__className']){const _0x4ac4c3=this['_document']['getRoot'](_0x15eba9['rootName']);_0x4ac4c3&&'$unknown'==_0x4ac4c3['name']&&_0x15eba9['elementName']!=_0x4ac4c3['name']&&(_0x4ac4c3['name']=_0x15eba9['elementName']);}}const _0x59befd=_0x52750c['fromJSON'](_0x15eba9,this['_document']);return _0x59befd['wasUndone']=_0x15eba9['wasUndone'],_0x59befd['_isInit']=_0x498739,_0x59befd['_authorId']=_0x498739?null:_0x4b93e0[_0x4a07d2]['userId'],_0x59befd['_isDisconnection']='cs:removeUser'===_0x4b93e0[_0x4a07d2]['type'],_0x59befd['_aiSource']=_0x15eba9['_aiSource']||void 0x0,_0x59befd['createdAt']=_0x4b93e0[_0x4a07d2]['createdAt'],_0x59befd;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x3f3b51=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3f3b51&&_0x3f3b51['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x542b79,_0x209ab4){for(const _0x42a463 of _0x542b79)_0x42a463['baseVersion']=_0x209ab4++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x166250){this['_ignoredOperations']=_0x166250,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x324958){let _0xb3f0e=_0x324958['length'];for(;_0xb3f0e--;){const _0x19b578=_0x324958[_0xb3f0e];if(!this['_ignoredOperations']['has'](_0x19b578)){if(!this['_operationToId']['has'](_0x19b578)){const _0x1e9615=_0x331763()['slice'](0x1,0x12);this['_operationToId']['set'](_0x19b578,_0x1e9615);}return this['_operationToId']['get'](_0x19b578);}}}setIdForTheLastOperation(_0x277630,_0x2a805d){if(!_0x2a805d)return;let _0x4f3a0c=_0x277630['length'];for(;_0x4f3a0c--;){const _0x3d7be4=_0x277630[_0x4f3a0c];this['_ignoredOperations']['has'](_0x3d7be4)||this['_operationToId']['set'](_0x3d7be4,_0x2a805d);}}},nt=class extends _0x141bb2{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x1d7b68{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x225edb)());['_services'];static get requires(){return[z,_0x8a119d,Y,_0x41a606];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5213ce){super(_0x5213ce),this['_services']=new Map();}async init(){const _0x41527c=this['context'],_0x10b7cc=_0x41527c['plugins']['get'](_0x8a119d);if(_0x41527c['plugins']['get'](z)['addToReconnectionStack'](this),_0x10b7cc['adapter']={'addCommentThread':async({channelId:_0x55c990,threadId:_0x553fc4,comments:_0x67ec94,resolvedAt:_0x1ee4ae,resolvedBy:_0x451c36,context:_0x22a8fe,attributes:_0x29d0de})=>{const _0x4a504d=await this['_getService'](_0x55c990)['addCommentThread']({'commentThreadId':_0x553fc4,'comments':_0x67ec94['map'](_0x38976b=>function(_0x303864,_0x4e8aaa,_0x44cd18){return{'commentThreadId':_0x44cd18,'commentId':_0x303864['commentId'],'userId':_0x303864['authorId'],'content':_0x303864['content'],'documentId':_0x4e8aaa,'createdAt':_0x303864['createdAt'],'attributes':_0x303864['attributes']||{}};}(_0x38976b,_0x55c990,_0x553fc4)),'resolvedAt':_0x1ee4ae,'resolvedBy':_0x451c36,'context':_0x22a8fe,'attributes':_0x29d0de})['catch'](ct);return{'threadId':_0x4a504d['commentThreadId'],'comments':_0x4a504d['comments']};},'getCommentThread':async({channelId:_0x3d6d8a,threadId:_0x5b6388})=>{const _0x3b2c1d=await this['_getService'](_0x3d6d8a)['getCommentThread'](_0x5b6388)['catch'](rt)['catch'](ct);return _0x3b2c1d?_0x3b2c1d['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3b2c1d]),{'threadId':_0x3b2c1d['commentThreadId'],'comments':_0x3b2c1d['comments']['map'](at),'context':_0x3b2c1d['context'],'resolvedAt':_0x3b2c1d['resolvedAt'],'resolvedBy':_0x3b2c1d['resolvedBy'],'attributes':_0x3b2c1d['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5def8a,threadId:_0x420cda,context:_0x156980,unlinkedAt:_0x377aed,attributes:_0x49eecb})=>this['_getService'](_0x5def8a)['updateCommentThread']({'commentThreadId':_0x420cda,'context':_0x156980,'attributes':_0x49eecb,'unlinkedAt':_0x377aed})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x123d63,threadId:_0x4f75aa})=>{const _0x234a29=await this['_getService'](_0x123d63)['resolveCommentThread'](_0x4f75aa)['catch'](rt)['catch'](ct);return{'threadId':_0x234a29['commentThreadId'],'resolvedAt':_0x234a29['resolvedAt'],'resolvedBy':_0x234a29['resolvedBy']};},'reopenCommentThread':async({channelId:_0x44409c,threadId:_0x1548e2})=>this['_getService'](_0x44409c)['reopenCommentThread'](_0x1548e2)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5e87c2,threadId:_0x363fd6})=>this['_getService'](_0x5e87c2)['removeCommentThread'](_0x363fd6)['catch'](rt)['catch'](ct),'addComment':({channelId:_0xe77915,threadId:_0x2a1077,commentId:_0x51d9bf,content:_0x18db07,attributes:_0x193396})=>this['_getService'](_0xe77915)['addComment'](_0x2a1077,_0x51d9bf,_0x18db07,_0x193396)['catch'](ct),'updateComment':({channelId:_0x23bbec,threadId:_0x11cd0d,commentId:_0x3a4619,content:_0x5f10bc,attributes:_0x6dd6a9})=>this['_getService'](_0x23bbec)['updateComment'](_0x11cd0d,_0x3a4619,_0x5f10bc,_0x6dd6a9)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x4d4043,threadId:_0x58dcee,commentId:_0x287251})=>this['_getService'](_0x4d4043)['removeComment'](_0x58dcee,_0x287251)['catch'](rt)['catch'](ct)},_0x41527c instanceof _0x5c518d){const _0x33b6ab=_0x41527c['config']['get']('collaboration.channelId'),_0x53f90d=_0x41527c['plugins']['get'](Y);await this['_setUpService'](_0x33b6ab);const _0xf85c49=await this['_services']['get'](_0x33b6ab)['getConnectedSessions']();this['listenTo'](_0x53f90d,'sessionAdd:'+_0x33b6ab,(_0x3ed41e,{session:_0x209744})=>{_0x209744['id']===_0x53f90d['mySessionId']&&(_0x3ed41e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x209744['permissions'],_0x33b6ab));}),_0x53f90d['register'](_0x33b6ab,_0xf85c49);}}async _setUpService(_0x21951e){if(this['_services']['has'](_0x21951e))throw new _0x3f94b6('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x21951e});const _0x5929fa=this['context']['plugins']['get'](_0x8a119d),_0x24f498=new CloudServicesCommentsAdapter['CommentsService'](_0x21951e);this['_services']['set'](_0x21951e,_0x24f498),this['listenTo'](_0x24f498,'commentThreadAdded',(_0x563bef,_0x2cd3f0)=>{const {commentThreadId:_0x324d8f,documentId:_0x56efa4,context:_0x53829a,attributes:_0x1ad30a,resolvedAt:_0x3cd5da,resolvedBy:_0x117497,comments:_0x52ab92}=_0x2cd3f0;_0x5929fa['getCommentThread'](_0x324d8f)||_0x5929fa['addCommentThread']({'threadId':_0x324d8f,'channelId':_0x56efa4,'comments':_0x52ab92?_0x52ab92['map'](at):[],'context':_0x53829a,'attributes':_0x1ad30a,'resolvedAt':_0x3cd5da,'resolvedBy':_0x117497,'isFromAdapter':!0x0});}),this['listenTo'](_0x24f498,'commentThreadUpdated',(_0x47b95b,{commentThreadId:_0x1224b8,documentId:_0x274a07,context:_0x2d4f8b,unlinkedAt:_0x4227fe,attributes:_0x5c4716})=>{_0x5929fa['getCommentThread'](_0x1224b8)&&_0x5929fa['updateCommentThread']({'threadId':_0x1224b8,'channelId':_0x274a07,'context':_0x2d4f8b,'unlinkedAt':_0x4227fe,'attributes':_0x5c4716,'isFromAdapter':!0x0});}),this['listenTo'](_0x24f498,'commentThreadResolved',(_0xe0031b,{commentThreadId:_0x5176ff,resolvedBy:_0x51d88d,resolvedAt:_0x41aea6})=>{const _0x566061=_0x5929fa['getCommentThread'](_0x5176ff);_0x566061&&_0x566061['resolve']({'resolvedBy':_0x51d88d,'resolvedAt':_0x41aea6,'isFromAdapter':!0x0});}),this['listenTo'](_0x24f498,'commentThreadReopened',(_0x2ebe1d,{commentThreadId:_0x4c4a21})=>{const _0x194476=_0x5929fa['getCommentThread'](_0x4c4a21);_0x194476&&_0x194476['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x24f498,'commentThreadRemoved',(_0x147034,{commentThreadId:_0xfb1b51})=>{const _0x511a5b=_0x5929fa['getCommentThread'](_0xfb1b51);_0x511a5b&&_0x511a5b['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x24f498,'commentAdded',(_0x19daa9,_0x48b2ce)=>{const _0x3ce602=_0x48b2ce['commentThreadId'],_0x5dcd0e=_0x5929fa['getCommentThread'](_0x3ce602);_0x5dcd0e&&_0x5dcd0e['addComment']({...at(_0x48b2ce),'isFromAdapter':!0x0});}),this['listenTo'](_0x24f498,'commentUpdated',(_0x488f5e,{commentThreadId:_0x6a3638,commentId:_0x27cf42,content:_0x254215,attributes:_0xdf8929})=>{const _0x5b8eaf=_0x5929fa['getCommentThread'](_0x6a3638);if(_0x5b8eaf){const _0x4e598c=_0x5b8eaf['getComment'](_0x27cf42);_0x4e598c&&_0x4e598c['update']({'content':_0x254215,'attributes':_0xdf8929,'isFromAdapter':!0x0});}}),this['listenTo'](_0x24f498,'commentRemoved',(_0x54a4c3,{commentThreadId:_0x1d6303,commentId:_0x4c966d})=>{const _0x5d9ef7=_0x5929fa['getCommentThread'](_0x1d6303);if(_0x5d9ef7){const _0x24ae63=_0x5d9ef7['getComment'](_0x4c966d);_0x24ae63&&_0x24ae63['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x24f498,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x21951e),this['stopListening'](_0x24f498));}),await this['_connectService'](_0x21951e);}destroy(){if(this['context']instanceof _0x5c518d){const _0x3d8d15=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x3d8d15)&&this['_terminateService'](_0x3d8d15);}}_terminateService(_0x568506){if(!this['_services']['has'](_0x568506))throw new _0x3f94b6('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x568506});this['_getService'](_0x568506)['disconnect'](),this['_services']['delete'](_0x568506);}async reconnect(){for(const _0x209a8f of this['_services']['keys']())await this['_connectService'](_0x209a8f);if(this['context']instanceof _0x5c518d){const _0x4d8674=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x4d8674)){const _0x4665dc=this['context']['plugins']['get'](Y);_0x4665dc['unregister'](_0x4d8674);const _0x44aac6=await this['_services']['get'](_0x4d8674)['getConnectedSessions']();_0x4665dc['register'](_0x4d8674,_0x44aac6);}}}async _connectService(_0x59fb97){const {connection:_0x53fe6c}=this['context']['plugins']['get'](z),_0x29d73b=this['context']['plugins']['get'](_0x8a119d),_0x45abb8=await this['_services']['get'](_0x59fb97)['connect'](_0x53fe6c);await this['_fetchMissingUsersForThreads'](_0x45abb8);const _0x4c6c32=new Set(Array['from'](_0x29d73b['getCommentThreads']({'channelId':_0x59fb97}),_0x1a28db=>_0x1a28db['id']));for(const _0x1c87ce of _0x45abb8)_0x1c87ce['deletedAt']||_0x4c6c32['delete'](_0x1c87ce['commentThreadId']);for(const _0x4ac035 of _0x4c6c32)_0x29d73b['getCommentThread'](_0x4ac035)['remove']({'isFromAdapter':!0x0});for(const _0x14b8aa of _0x45abb8){let _0x1c7f7d=_0x29d73b['getCommentThread'](_0x14b8aa['commentThreadId']);const {commentThreadId:_0x399cbe,context:_0x66de7,attributes:_0x547bde,resolvedBy:_0x7a696c,resolvedAt:_0x30e487,unlinkedAt:_0x2edff6,deletedAt:_0x74906}=_0x14b8aa;if(_0x74906)continue;_0x1c7f7d||(_0x1c7f7d=_0x29d73b['addCommentThread']({'channelId':_0x59fb97,'threadId':_0x399cbe,'context':_0x66de7,'attributes':_0x547bde||{},'resolvedBy':_0x7a696c,'resolvedAt':_0x30e487,'unlinkedAt':_0x2edff6,'isFromAdapter':!0x0}));const _0x3bfcc3=new Set(Array['from'](_0x1c7f7d['comments'],_0x3e0918=>_0x3e0918['id']));for(const _0x492fbb of _0x14b8aa['comments'])_0x3bfcc3['delete'](_0x492fbb['commentId']);for(const _0x301397 of _0x3bfcc3)_0x1c7f7d['getComment'](_0x301397)['remove']({'isFromAdapter':!0x0});for(const _0x3b45e7 of _0x14b8aa['comments']){const _0x545864=_0x1c7f7d['getComment'](_0x3b45e7['commentId']);_0x545864?_0x545864['content']!==_0x3b45e7['content']&&_0x545864['update']({'content':_0x3b45e7['content'],'isFromAdapter':!0x0}):_0x1c7f7d['addComment'](Object['assign'](at(_0x3b45e7),{'isFromAdapter':!0x0}));}}}_getService(_0x4ebcdd){if(!this['_services']['has'](_0x4ebcdd))throw new _0x3f94b6('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4ebcdd});return this['_services']['get'](_0x4ebcdd);}async _fetchMissingUsersForThreads(_0x8b6c9a){const _0x40626d=this['context']['plugins']['get'](_0x41a606),{connection:_0x3ac17b}=this['context']['plugins']['get'](z),_0xfd4bf8=new Set();for(const {resolvedBy:_0x4b744d,comments:_0x19f247}of _0x8b6c9a){_0x4b744d&&!_0x40626d['getUser'](_0x4b744d)&&_0xfd4bf8['add'](_0x4b744d);for(const {userId:_0x39df2b}of _0x19f247)_0x40626d['getUser'](_0x39df2b)||_0xfd4bf8['add'](_0x39df2b);}if(0x0===_0xfd4bf8['size'])return;const _0x5870ea=await _0x44e3f4['getMany'](_0x3ac17b,Array['from'](_0xfd4bf8));for(const _0x36463f of _0x5870ea)_0x40626d['getUser'](_0x36463f['id'])||_0x40626d['addUser'](_0x36463f);}};async function rt(_0x2fe79c){if('404'!==_0x2fe79c['code'])throw _0x2fe79c;}function ct(_0x42f08d){if((_0x37ba8e=_0x42f08d)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x37ba8e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x37ba8e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x37ba8e;throw _0x42f08d;}function at(_0x163c46){return{'threadId':_0x163c46['commentThreadId'],'commentId':_0x163c46['commentId'],'content':_0x163c46['content'],'createdAt':_0x163c46['createdAt'],'authorId':_0x163c46['userId'],'attributes':_0x163c46['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x141bb2{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x1bf697)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x186c36,Y,_0x41a606];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ee1fd){super(_0x3ee1fd);const _0x5aab8e=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x5aab8e);}async init(){const _0x51ba36=this['editor']['plugins']['get'](tt),_0x3cb256=_0x51ba36['serverHistory'],_0x28e72b=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x3cb256,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x51ba36['sessionId']});const _0x3e7b1f=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x1fa917,_0x5728fc=await _0x3ae9fb['isBundleUploaded'](_0x28e72b['connection'],_0x3e7b1f);this['editor']['plugins']['get'](_0x186c36)['adapter']={'getRevision':async({revisionId:_0x17cd58})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x17cd58)),'updateRevisions':async _0x237abd=>{await this['_waitForServiceReady']();const _0x3f7137=this['_revisionTracker']['currentRevision'];if(_0x5728fc&&0x1===_0x237abd['length']&&_0x237abd[0x0]['id']===_0x3f7137['id'])return _0x237abd;for(const _0x503e54 of _0x237abd)_0x503e54['id']===_0x3f7137['id']&&(_0x503e54['isEmptyCurrent']=_0x503e54['fromVersion']===_0x503e54['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x237abd,this['_lastRequestId'])['then'](_0x41df41=>(this['_lastRequestId']=_0x41df41,_0x237abd))['catch'](_0x9615e3=>{if(pt(_0x9615e3)||'400'===_0x9615e3['code']&&void 0x0!==_0x9615e3['data']['wrongRequestId']){for(const _0x5eb601 of _0x237abd)this['_revisionTracker']['repository']['getRevision'](_0x5eb601['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x5eb601['id'],_0x5eb601,!0x1);if(pt(_0x9615e3)&&'destroyed'!==this['editor']['state'])throw _0x9615e3;return _0x237abd;}throw _0x9615e3;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x491f31,{revisionsData:_0x4b5eee,requestId:_0x3ce53d})=>{Math['max'](..._0x4b5eee['map'](_0x355ddd=>_0x355ddd['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4b5eee,_0x3ce53d);}):this['_handleRevisionsUpdate'](_0x4b5eee,_0x3ce53d);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x28e72b['connection']?.['state']&&(_0x28e72b['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x7a9cb4,requestId:_0x3e9bf2}=await this['_revisionHistoryService']['connect'](_0x28e72b['connection']);_0x28e72b['addToReconnectionStack'](this),this['_lastRequestId']=_0x3e9bf2,await this['_fetchMissingUsers'](_0x7a9cb4);for(const _0x41b569 of _0x7a9cb4)this['_revisionTracker']['addRevisionData'](_0x41b569);this['listenTo'](_0x51ba36,'change:_isConnected',(_0x29b6f8,_0x3b60bf,_0xed9039)=>{_0xed9039&&(this['_oldOffset']=_0x51ba36['_offset'],_0x29b6f8['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0xa6dca=this['editor']['plugins']['get'](z),_0x3ecf7f=this['editor']['plugins']['get'](tt),_0x2ad7e6=async()=>{const _0x59038a=this['_revisionTracker']['currentRevision'],_0x1b62cb=_0x59038a['id'],_0x25e8c1=_0x1b62cb!==_0x3ecf7f['sessionId'];if(_0x25e8c1){const _0x4f64e3=_0x3ecf7f['_offset']-this['_oldOffset'],_0x3d78da=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x59038a['toVersion']+_0x4f64e3!==_0x3d78da){const _0x8a5733=_0x59038a['fromVersion']+_0x4f64e3,_0x17ea85=this['editor']['plugins']['get'](_0x41a606),_0x3034e4=this['_revisionTracker']['buildRevisionData']({'revision':_0x59038a,'from':_0x8a5733,'to':_0x3d78da});_0x3034e4['id']=_0x59038a['id'];const _0x17ff2b=_0x3034e4['authorsIds']['map'](_0x2b7ca4=>_0x17ea85['getUser'](_0x2b7ca4));_0x59038a['_update']({..._0x3034e4,'authors':_0x17ff2b},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x59038a['id'],_0x3034e4,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3d78da,_0x59038a['toVersion']!==_0x59038a['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x1b62cb)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x1b62cb),this['_revisionTracker']['_createCurrentRevision'](_0x3d78da);}const {revisions:_0x2812be,requestId:_0xc3336d}=await this['_revisionHistoryService']['reconnect'](_0xa6dca['connection'],this['_lastRequestId']);_0x25e8c1&&_0x2812be['length']>0x0?_0x3ecf7f['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2812be),this['_handleRevisionsUpdate'](_0x2812be,_0xc3336d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3ecf7f['_isConnected']?_0x2ad7e6():new Promise((_0x1d39a8,_0xe7ed61)=>{_0x3ecf7f['once']('change:_isConnected',()=>{_0x2ad7e6()['then'](_0x1d39a8)['catch'](_0xe7ed61);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2956e6=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x9f58d6=>{_0x9f58d6['off'](),_0x2956e6();});});}_getLatestVersionFromServerOperations(){const _0x515598=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x4daa5c of _0x515598)if('marker'!==_0x4daa5c['type']||_0x4daa5c['affectsData'])return _0x4daa5c['baseVersion']+0x1;}_getLatestVersion(){const _0x504717=this['editor']['plugins']['get'](tt);return new Promise(_0x553c79=>{_0x504717['_isPendingUpdate']?_0x504717['once']('change:_isPendingUpdate',()=>{_0x553c79(this['_getLatestVersionFromServerOperations']());}):_0x553c79(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x44bdd0,_0x3510ee){const _0x3f9bdf=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3510ee;for(const _0x2a5370 of _0x44bdd0){const _0x49eefe=_0x3f9bdf['getRevision'](_0x2a5370['id']);if(_0x49eefe){if((_0x2a5370['fromVersion']||_0x2a5370['toVersion'])&&(_0x2a5370['diffData']=null),_0x49eefe===this['_revisionTracker']['currentRevision']){const _0x2cacfa=Math['max'](_0x49eefe['toVersion'],_0x2a5370['toVersion']),_0x48e540=Math['max'](_0x49eefe['fromVersion'],_0x2a5370['fromVersion']);let _0xeb5cb3;_0x49eefe['toVersion']===_0x2a5370['toVersion']&&_0x49eefe['fromVersion']===_0x2a5370['fromVersion']?(_0xeb5cb3=!0x0,this['_preventResendingRevisionData'](_0x2a5370)):_0x2a5370['toVersion']===_0x2cacfa&&_0x2a5370['fromVersion']===_0x48e540?_0xeb5cb3=!0x1:(_0x49eefe['toVersion']===_0x2cacfa&&_0x49eefe['fromVersion']===_0x48e540||this['_fixRevision']({'revision':_0x49eefe,'from':_0x48e540,'to':_0x2cacfa}),_0xeb5cb3=!0x0),_0xeb5cb3&&(delete _0x2a5370['fromVersion'],delete _0x2a5370['toVersion'],delete _0x2a5370['diffData'],delete _0x2a5370['createdAt'],delete _0x2a5370['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2a5370),this['_preventResendingRevisionData'](_0x2a5370);}else this['_revisionTracker']['addRevisionData'](_0x2a5370);}const _0x2ea4b8=_0x3f9bdf['getRevisions']();_0x2ea4b8['reverse']();for(let _0x421ec2=0x0;_0x421ec2<_0x2ea4b8['length']-0x1;_0x421ec2++){const _0x5bbe4=_0x2ea4b8[_0x421ec2],_0x5a9329=_0x2ea4b8[_0x421ec2+0x1];if(_0x5bbe4['fromVersion']<_0x5a9329['toVersion']){const _0x181ef7=_0x5a9329['toVersion'],_0xfb69cc=Math['max'](_0x181ef7,_0x5bbe4['toVersion']);this['_fixRevision']({'revision':_0x5bbe4,'from':_0x181ef7,'to':_0xfb69cc});}}}['_fixRevision']({revision:_0x9ecaf6,from:_0x4fa442,to:_0x1ad0d3}={}){const _0x52c6e5=this['editor']['plugins']['get'](_0x41a606),_0x3117b0=this['_revisionTracker']['buildRevisionData']({'revision':_0x9ecaf6,'from':_0x4fa442,'to':_0x1ad0d3});_0x3117b0['authors']=_0x3117b0['authorsIds']['map'](_0x334f0c=>_0x52c6e5['getUser'](_0x334f0c)),_0x9ecaf6['_update'](_0x3117b0);}_preventResendingRevisionData(_0x1db7fd){const _0x4ad851={};_0x4ad851['id']=_0x1db7fd['id'];for(const _0x2b3bd9 of Object['keys'](_0x1db7fd))'id'!==_0x2b3bd9&&(_0x4ad851[_0x2b3bd9]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4ad851['id'],_0x4ad851,!0x0);}async _fetchMissingUsers(_0x86e96a){const _0x2acb27=this['editor']['plugins']['get'](_0x41a606),{connection:_0x318c30}=this['editor']['plugins']['get'](z),_0x73554d=new Set();for(const _0x13da72 of _0x86e96a){for(const _0x386ab4 of _0x13da72['authorsIds'])_0x110629(_0x386ab4);_0x13da72['creatorId']&&_0x110629(_0x13da72['creatorId']);}if(0x0===_0x73554d['size'])return;const _0x5078c3=await _0x44e3f4['getMany'](_0x318c30,Array['from'](_0x73554d));for(const _0x43813a of _0x5078c3)_0x2acb27['getUser'](_0x43813a['id'])||_0x2acb27['addUser'](_0x43813a);function _0x110629(_0x55cd88){_0x2acb27['getUser'](_0x55cd88)||_0x73554d['add'](_0x55cd88);}}};function pt(_0x29aa8a){return _0x29aa8a['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x29aa8a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x29aa8a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x141bb2{static get requires(){return[_0x186c36,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x1242ab{_collapseAt;constructor(_0x5c11b5,_0x1e67b7=0x6){super(_0x5c11b5);const _0x49ae8a=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x1e67b7,this['bind']('isHidden')['to'](this,'usersCount',_0x236df8=>_0x236df8<_0x1e67b7),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x49ae8a['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':_0x49ae8a['to']('usersCount',_0x986860=>'+'+(_0x986860-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x1242ab{items;keystrokes;constructor(_0x34b53f){super(_0x34b53f);const _0x117177=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4b3894(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x117177['if']('hasPopup'),'aria-expanded':_0x117177['to']('isExpanded',_0x16d967=>this['hasPopup']&&String(_0x16d967)),'aria-label':_0x117177['to']('hasPopup',_0x56f303=>X(_0x34b53f,_0x56f303?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x117177['to']('hasPopup',_0x5c2713=>!!_0x5c2713&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x117177['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x117177['to'](_0x7bdbd3=>{const _0x594bf8=_0x7bdbd3,_0x448d9f=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3a908e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x448d9f?.['contains'](_0x594bf8['relatedTarget'])||_0x3a908e?.['contains'](_0x594bf8['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x6e2b23,_0xe8cfaa,_0x1e47d7)=>{this['element']&&(_0x1e47d7?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x1242ab{counterView;inlineListView;constructor(_0x1b01bc,_0x40f9f9=0x6){super(_0x1b01bc);const _0x24a253=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x40f9f9),this['inlineListView']=new vt(_0x1b01bc),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5297f9 of this['inlineListView']['items'])_0x5297f9['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',_0x24a253['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x1242ab{listWrapperView;constructor(_0x17a80c,_0x45acdb){super(_0x17a80c);const _0x20cbde=this['bindTemplate'];this['listWrapperView']=new bt(_0x17a80c,_0x45acdb),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x17a80c,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x20cbde['to'](_0x454315=>{const _0x51ccf7=_0x454315,_0x1ca37d=document['querySelector']('.ck-presence-list__list'),_0x2632d8=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1ca37d?.['contains'](_0x51ccf7['relatedTarget'])||_0x2632d8?.['contains'](_0x51ccf7['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x29ae41{constructor(_0x522e3d,_0x4c56d0){super(_0x522e3d);const _0x4e6082=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4c56d0?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4e6082['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4e6082['to']('role'),'aria-label':_0x4e6082['to']('ariaLabel'),'aria-labelledby':_0x4e6082['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x406852['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x23c3eb=this['element'];_0x23c3eb&&(this['_isScrollable']=Math['max'](_0x23c3eb['scrollHeight'],_0x23c3eb['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x494a95{['userView'];constructor(_0x5b9a5b,_0x1b4d5c,_0x36577b){super(_0x5b9a5b);const _0x19467e=this['bindTemplate'];this['userView']=new _0x268aa5(_0x5b9a5b,_0x1b4d5c);const _0x194d7f={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1b4d5c['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1b4d5c['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1b4d5c['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1b4d5c['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1b4d5c['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x36577b&&(_0x194d7f['tag']='button',_0x194d7f['on']={'click':_0x19467e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x194d7f);}['focus'](){this['element']['focus']();}},It=class extends _0x1242ab{['userView'];['markerView'];constructor(_0x17c8d9,_0x34e021,_0x477739){super(_0x17c8d9);const _0x5273f6=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x268aa5(_0x17c8d9,_0x34e021),this['markerView']=new St(_0x17c8d9,_0x34e021);const _0x256ee2=new _0x7bf2a7(_0x17c8d9);_0x256ee2['template']['tag']='span',_0x256ee2['text']=_0x34e021['name'];const _0x3a93c2={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5273f6['to']('isFocusable',_0x55f5d1=>!!_0x55f5d1&&0x0),'aria-labelledby':_0x256ee2['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5273f6['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5273f6['to']('hasTooltip',_0x62a27d=>!_0x62a27d),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x256ee2]};_0x477739&&(_0x3a93c2['tag']='button',_0x3a93c2['on']={'click':_0x5273f6['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3a93c2);}},St=class extends _0x1242ab{constructor(_0x56226f,_0xbda4d7){super(_0x56226f),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xbda4d7['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xbda4d7['color']['getColorVariable'](),'--ck-user-color-alpha':_0xbda4d7['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x1d7b68{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1488f5){super(_0x1488f5),this['context']['config']['define']('presenceList',Tt);const _0x7f8561=_0x1488f5['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x7f8561)throw new _0x3f94b6('presencelist-collapseat-invalid-format',this);if(_0x7f8561<0x1)throw new _0x3f94b6('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5ee725(),this['balloonPanelView']=new _0x416845(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x1acf46 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1acf46);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4536ad,_0xd0a467)=>{this['_handleUserAdd'](_0xd0a467);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4450ce,_0x24a069)=>{this['_handleUserRemove'](_0x24a069);});}_createView(){const _0x23ef5d=this['context'],_0x3dea04=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x5029cc=this['balloonPanelView'];if(!_0x3b247a(_0x23ef5d['config']['get']('presenceList.container')))throw new _0x3f94b6('presencelist-missing-container',this);return _0x3dea04['counterView']['bind']('usersCount')['to'](this),_0x3dea04['bind']('isCollapsed')['to'](this,'usersCount',_0x25afd6=>{const {collapseAt:_0xb1ffc5}=_0x23ef5d['config']['get']('presenceList'),_0x4c2898=_0x25afd6>=_0xb1ffc5;if(_0x4c2898&&!_0x3dea04['inlineListView']['items']['find'](_0x567b06=>_0x567b06 instanceof wt)){const _0x74c76e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x74c76e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3dea04['inlineListView']['items']['add'](_0x3dea04['counterView']);}return _0x4c2898||this['hideDropdown'](),_0x4c2898;}),_0x3dea04['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x58b814=>{const _0x2f7d8e=_0x23ef5d['config']['get']('presenceList'),_0x1b38d1=new It(_0x23ef5d['locale'],_0x58b814,!!_0x2f7d8e['onClick']);return _0x1b38d1['bind']('hasTooltip')['to'](_0x3dea04,'isCollapsed',_0x1606f=>!_0x1606f),_0x1b38d1['bind']('isFocusable')['to'](_0x3dea04,'isCollapsed',_0x44b19f=>!_0x44b19f),_0x2f7d8e['onClick']&&this['listenTo'](_0x1b38d1,'execute',()=>{this['view']['isCollapsed']||_0x2f7d8e['onClick'](_0x58b814,_0x1b38d1['element']);}),_0x1b38d1;}),this['listenTo'](_0x3dea04['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3dea04['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3dea04['inlineListView']['keystrokes']['set']('Enter',(_0x350da3,_0xef62dd)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0xef62dd());}),_0x3dea04['render'](),_0x5029cc['render'](),_0x23500a({'emitter':_0x3dea04,'activator':()=>_0x5029cc['isVisible'],'contextElements':[_0x5029cc['element'],_0x3dea04['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x23ef5d['config']['get']('presenceList.container')['appendChild'](_0x3dea04['element']),this['_bodyCollection']=new _0x18622a(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3dea04;}['_handleUserAdd'](_0x48873b){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x48873b['isMe'])return;const _0x34e8f4=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x34e8f4-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x30312d=_0x48873b['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x48873b,_0x30312d);}['_handleUserRemove'](_0x17541c){this['usersCount']--;const {collapseAt:_0x47276a}=this['context']['config']['get']('presenceList'),_0xce4203=this['usersCount']>=_0x47276a;if(this['currentDisplayedUsers']['get'](_0x17541c['id']))this['currentDisplayedUsers']['remove'](_0x17541c['id']);else{if(_0xce4203&&this['currentDisplayedUsers']['length']+0x1===_0x47276a-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xce4203?0x1:0x0)<this['usersCount']){for(const _0x57c1e5 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x57c1e5['id'])&&(this['currentDisplayedUsers']['add'](_0x57c1e5,Math['min'](this['currentDisplayedUsers']['length']-(_0xce4203?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xce4203?0x1:0x0)===_0x47276a-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x286f8a=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x286f8a['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x2967e4}=this['presenceDropdownView'];_0x2967e4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5c582b=>{if(!_0x286f8a['displayMe']&&_0x5c582b['isMe'])return null;const _0x404f63=new kt(this['context']['locale'],_0x5c582b,!!_0x286f8a['onClick']);return _0x286f8a['onClick']&&this['listenTo'](_0x404f63,'execute',()=>{_0x286f8a['onClick'](_0x5c582b,_0x404f63['element']);}),_0x404f63;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2967e4['focus'](),_0x2967e4['checkIfScrollable']();const _0x5c415c=(_0x3ff6b5,_0x345fad)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x345fad();};_0x2967e4['keystrokes']['set']('Esc',_0x5c415c),_0x2967e4['keystrokes']['set']('Shift+Tab',_0x5c415c),_0x2967e4['keystrokes']['set']('Tab',(_0x1e1826,_0x564bfc)=>{!function(_0x3a5fdb){const _0x2993cc=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x249ff7=>_0x249ff7+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2b5dce=[...document['body']['querySelectorAll'](_0x2993cc)]['filter'](_0x49dc8a=>_0x49dc8a===document['activeElement']||_0x49dc8a['offsetWidth']+_0x49dc8a['offsetHeight']>0x0)['sort']((_0x4e35c2,_0x450b82)=>(_0x4e35c2['tabIndex']||0x0)-(_0x450b82['tabIndex']||0x0)),_0x157b11=_0x2b5dce[(_0x2b5dce['indexOf'](_0x3a5fdb)+0x1)%_0x2b5dce['length']];_0x157b11&&_0x157b11['focus']();}(this['view']['element']),this['hideDropdown'](),_0x564bfc();}),_0x2967e4['focusTracker']['add'](this['view']['element']),_0x2967e4['focusTracker']['on']('change:isFocused',(_0x548920,_0x22ccf7,_0x5f3e35)=>{_0x5f3e35||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x1d7b68{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|
|
23
|
+
import{Context as _0x3ec41f,ContextPlugin as _0x41ec8a,PendingActions as _0x58253b,Plugin as _0x541bf0}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x1017f6,Collection as _0x436156,DomEmitterMixin as _0x19084b,KeystrokeHandler as _0x13efaf,global as _0x3a30e1,uid as _0x5596f7,version as _0x58523b}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x1e027a,BodyCollection as _0x46f4ce,LabelView as _0x3344ca,ListItemView as _0x5d2e36,ListView as _0x4bba40,Notification as _0x488669,View as _0x5a12bf,clickOutsideHandler as _0x4b3948}from'@ckeditor/ckeditor5-ui';import{History as _0x3343ec,InsertOperation as _0x4f593d,MarkerOperation as _0x2d1415,ModelLiveRange as _0x50e818,NoOperation as _0x37ab6a,OperationFactory as _0x2dcce1,RootAttributeOperation as _0x1d5691,transformOperationSets as _0x2a7313}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x267fe9}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0xa8576a,CommentsService as _0x128753,EditorService as _0xae3830,RevisionHistoryService as _0x3e2756,TrackChangesService as _0x5ebee1,User as _0x1c50bd,WEB_SOCKET_GATEWAY_STATES as _0x19faa9,WebSocketGateway as _0x237b33}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x40ac71,Users as _0x580d16}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x46e54b}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x49978a,TrackChangesEditing as _0x3846ec}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x2c57cf,CommentsEditing as _0x3f474b,CommentsRepository as _0x24c16f}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0xb062ae}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x3fb10f}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x41ec8a{static WebSocketGateway=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x237b33)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x267fe9,_0x488669];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x17a9c4){super(_0x17a9c4),this['set']('state',_0x19faa9['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x19084b())();}init(){const _0x472500=this['context'],_0x44be73=_0x472500['plugins']['get'](_0x267fe9),_0x37e190=_0x472500['plugins']['get'](_0x488669);if(!_0x44be73['token'])throw new _0x1017f6('websocketgateway-missing-token',this);if(!_0x44be73['webSocketUrl'])throw new _0x1017f6('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'](_0x44be73['token'],_0x44be73['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1ed67a=>{if(this['connection']=_0x1ed67a,this['bind']('state')['to'](_0x1ed67a,'state',this,'_isBrowserOffline',(_0x1c43c5,_0x1e6a19)=>('connected'!==_0x1c43c5&&(this['_shouldPluginsReconnect']=!0x0),_0x1e6a19||_0x1c43c5!==_0x19faa9['CONNECTED']?_0x19faa9['DISCONNECTED']:this['state']==_0x19faa9['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x19faa9['CONNECTING']):_0x19faa9['CONNECTED'])),this['connection']['on']('error',(_0x5a4aaa,_0x55efb1)=>{if('limitExceeded'!==_0x55efb1['code'])throw console['error'](_0x55efb1),new _0x1017f6('cloudservices-init',null,{'originalError':_0x55efb1});_0x37e190['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'});}),!_0x1ed67a['me'])return new Promise(_0x2d4f03=>_0x1ed67a['on']('change:me',_0x2d4f03));})['catch'](_0x80f1c1=>{throw console['error'](_0x80f1c1),new _0x1017f6('cloudservices-init',null,{'originalError':_0x80f1c1});});}addToReconnectionStack(_0x5d1716){if('function'!=typeof _0x5d1716['reconnect'])throw new _0x1017f6('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5d1716))throw new _0x1017f6('websocketgateway-plugin-already-registered',this,{'name':_0x5d1716['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5d1716);}removeFromReconnectionStack(_0x25b9d9){this['_reconnectionStack']['delete'](_0x25b9d9);}isInReconnectionStack(_0x51872f){return this['_reconnectionStack']['has'](_0x51872f);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x13161f=>_0x13161f['reconnect']())))['then'](()=>this['state']=_0x19faa9['CONNECTED'])['catch'](_0x496392=>{throw console['error'](_0x496392),new _0x1017f6('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x19faa9['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x41ec8a{['channelSessions'];channelConnectedUsers;allConnectedUsers;_registeredSessions;_uniqueUsersCount;['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[z,_0x580d16];}constructor(_0x59c64a){super(_0x59c64a),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x436156(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x580d16);}init(){const _0x2bc5c1=this['context']['plugins']['get'](z);this['listenTo'](_0x2bc5c1,'change:state',(_0xde6a62,_0x1b0234,_0x2891df)=>{if('connected'!==_0x2891df)this['channelSessions']['forEach'](_0x545a31=>_0x545a31['clear']()),this['channelConnectedUsers']['forEach'](_0x5b5ec0=>_0x5b5ec0['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4a2aeb,_0x3fd934]of this['_registeredSessions'])for(const _0x3fd594 of _0x3fd934)this['_handleSessionAdd'](_0x4a2aeb,_0x3fd594);}}),this['_createUser'](_0x2bc5c1['connection']['me'],!0x0);}register(_0x45f218,_0x5c882b){if(this['_registeredSessions']['has'](_0x45f218))throw new _0x1017f6('sessions-register-already-registered',null,{'channelId':_0x45f218});this['_registeredSessions']['set'](_0x45f218,_0x5c882b),this['channelSessions']['set'](_0x45f218,new _0x436156()),this['channelConnectedUsers']['set'](_0x45f218,new _0x436156()),this['listenTo'](_0x5c882b,'add',(_0x420b17,_0x2745c9)=>this['_handleSessionAdd'](_0x45f218,_0x2745c9)),this['listenTo'](_0x5c882b,'remove',(_0x2dcd17,_0x510e51)=>this['_handleSessionRemove'](_0x45f218,_0x510e51));for(const _0x5e341d of _0x5c882b)this['_handleSessionAdd'](_0x45f218,_0x5e341d);}unregister(_0x5b06d2){if(!this['_registeredSessions']['has'](_0x5b06d2))throw new _0x1017f6('sessions-unregister-not-exist',null,{'channelId':_0x5b06d2});const _0xc16e8c=this['_registeredSessions']['get'](_0x5b06d2);this['stopListening'](_0xc16e8c);for(const _0x293b39 of _0xc16e8c)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x5b06d2,_0x293b39);this['_registeredSessions']['delete'](_0x5b06d2),this['channelSessions']['delete'](_0x5b06d2),this['channelConnectedUsers']['delete'](_0x5b06d2);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x3b017a){for(const _0x17086a of this['channelSessions']['values']())for(const _0x30ffff of _0x17086a)if(_0x30ffff['id']===_0x3b017a)return _0x30ffff['user'];}getUserSessions(_0x8df151,_0x59196b){const _0x565f55=_0x59196b?[this['channelSessions']['get'](_0x59196b)]:this['channelSessions']['values'](),_0x96c0cd=new Set();for(const _0x4244d7 of _0x565f55)for(const _0x3bb510 of _0x4244d7)_0x3bb510['user']['id']===_0x8df151['id']&&_0x96c0cd['add'](_0x3bb510['id']);return _0x96c0cd;}getUserRole(_0x4b2d06){for(const _0x3f3937 of this['channelSessions']['values']())for(const _0x1bd6da of _0x3f3937)if(_0x1bd6da['user']===_0x4b2d06)return _0x1bd6da['role'];}['_handleSessionAdd'](_0x52a8b0,_0x18afb4){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x43f6a2=_0x18afb4['user'],_0x22f35d=this['_users']['getUser'](_0x43f6a2['id'])||this['_createUser'](_0x43f6a2),_0x53ae33=Object['assign']({},_0x18afb4,{'user':_0x22f35d});if(this['channelSessions']['get'](_0x52a8b0)['add'](_0x53ae33),!_0x43f6a2['hiddenInPresenceList']){const _0x170457=this['channelConnectedUsers']['get'](_0x52a8b0);_0x170457['has'](_0x22f35d['id'])||_0x170457['add'](_0x22f35d),this['allConnectedUsers']['has'](_0x22f35d['id'])||_0x43f6a2['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x22f35d,_0x22f35d['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x52a8b0,{'channelId':_0x52a8b0,'session':_0x53ae33});}['_handleSessionRemove'](_0x175e2f,_0x8965ec){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x5192c7=this['channelConnectedUsers']['get'](_0x175e2f),_0x3bf0dd=_0x8965ec['user'];_0x3bf0dd['id']&&(this['channelSessions']['get'](_0x175e2f)['remove'](_0x8965ec['id']),_0x5192c7['has'](_0x3bf0dd['id'])&&!this['getUserSessions'](_0x3bf0dd,_0x175e2f)['size']&&_0x5192c7['remove'](_0x3bf0dd['id']),this['allConnectedUsers']['get'](_0x3bf0dd['id'])&&!this['getUserSessions'](_0x3bf0dd)['size']&&this['allConnectedUsers']['remove'](_0x3bf0dd['id']));}_createUser(_0x269081,_0x58e459){const _0x5c616b=this['_users']['addUser'](_0x269081);return _0x58e459&&this['_users']['defineMe'](_0x269081['id']),_0x5c616b['orderNumber']=this['_uniqueUsersCount']++,_0x5c616b;}},K=class extends _0x541bf0{_domEmitter=new(_0x19084b())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x5c0b6a=this['editor'],_0x546314=_0x5c0b6a['plugins']['get'](Y);_0x5c0b6a['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1669fa,{writer:_0xa292e})=>function(_0x2a50a6,_0x35266e,_0x54e310,_0x1cf63a){const _0xd17972=_0x2a50a6['markerName']['split'](':')[0x2],_0x344dc5=_0x54e310['getUserBySessionId'](_0xd17972);if(!_0x344dc5||_0xd17972===_0x54e310['mySessionId'])return;if(!_0x1cf63a['model']['schema']['checkChild'](_0x2a50a6['markerRange']['start'],'$text'))return;const _0x1c7d54={'class':'ck-user__marker\x20'+_0x344dc5['color']['getMarkerClass'](),'style':Q(_0x344dc5),'data-name':_0x344dc5['name'],'data-session-id':_0xd17972},_0x47c8ba=_0x1cf63a['model']['markers']['get'](_0x2a50a6['markerName'])['getStart'](),_0x529178=_0x47c8ba['nodeAfter'],_0x4cb04b=_0x1cf63a['model']['schema'];if(_0x529178&&_0x4cb04b['isObject'](_0x529178)&&_0x4cb04b['isInline'](_0x529178)&&!_0x1cf63a['model']['markers']['get']('user:range:'+_0xd17972)['getRange']()['isCollapsed'])return;const _0x3240dd=_0x47c8ba['parent'];return _0x1cf63a['model']['schema']['isLimit'](_0x3240dd)&&!_0x1cf63a['model']['hasContent'](_0x3240dd)&&(_0x1c7d54['contenteditable']=!0x1),function(_0x2fa202,_0x7e424b,_0x1ba8d6){const _0x4eb7e2=_0x2fa202['createUIElement']('span',_0x7e424b);return _0x2fa202['setCustomProperty']('userPositionMarker',!0x0,_0x4eb7e2),_0x4eb7e2['render']=function(_0x272c00){const _0x274faa=this['toDomElement'](_0x272c00),_0x32a02a=document['createElement']('span');return _0x32a02a['classList']['add']('ck-user__marker-tooltip'),_0x32a02a['setAttribute']('contenteditable','false'),_0x32a02a['setAttribute']('spellcheck','false'),_0x32a02a['textContent']=_0x1ba8d6['name'],_0x274faa['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x32a02a['outerHTML']+'',_0x274faa['addEventListener']('mouseenter',()=>{_0x274faa['classList']['add']('ck-user__marker_hovered');}),_0x274faa['addEventListener']('mouseleave',()=>{_0x274faa['classList']['remove']('ck-user__marker_hovered');}),_0x274faa;},_0x4eb7e2['isSimilar']=function(_0x4ae267){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4ae267['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4ae267['getAttribute']('data-session-id'));},_0x4eb7e2;}(_0x35266e,_0x1c7d54,_0x344dc5);}(_0x1669fa,_0xa292e,_0x546314,_0x5c0b6a)}),_0x5c0b6a['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x153ef9=>function(_0x1fd42e,_0x1b9d7b){const _0x42a1f1=_0x1fd42e['markerName']['split'](':')[0x2];if(_0x42a1f1===_0x1b9d7b['mySessionId'])return null;const _0x1ba287=_0x1b9d7b['getUserBySessionId'](_0x42a1f1);return _0x1ba287?{'id':_0x42a1f1,'classes':['ck-user__selection',_0x1ba287['color']['getSelectionClass']()],'attributes':{'style':Q(_0x1ba287),'data-session-id':_0x42a1f1},'priority':0x7d0+_0x1ba287['orderNumber']}:{'id':_0x42a1f1,'classes':[]};}(_0x153ef9,_0x546314)}),function(_0x477aca){const _0x5ad789=_0x477aca['model'],_0x32a650=new Map(),_0xefa6f8=_0x477aca['plugins']['get'](Y);_0x5ad789['markers']['on']('update:user:range',(_0x596961,_0x5525c1,_0x4909c8,_0x461f66)=>{if(!_0x461f66&&_0x32a650['get'](_0x5525c1['name']))return _0x32a650['get'](_0x5525c1['name'])['detach'](),void _0x32a650['delete'](_0x5525c1['name']);const _0x55d881=_0x5525c1['name']['split'](':')[0x2];if(_0x55d881===_0xefa6f8['mySessionId'])return;const _0x1795b1='user:position:'+_0x55d881;_0x5ad789['markers']['has'](_0x1795b1)&&_0x477aca['editing']['reconvertMarker'](_0x1795b1),_0x5525c1['on']('change:range',(_0x9806b8,_0x5295c0,_0x5b1a3c)=>{if('$graveyard'!=_0x5295c0['root']['rootName']&&'$graveyard'==_0x5525c1['getRange']()['root']['rootName']&&!_0x32a650['has'](_0x5525c1['name'])){const _0xfd19b2=_0x5ad789['schema']['getNearestSelectionRange'](_0x5b1a3c['deletionPosition']);if(_0xfd19b2){const _0x1699be=_0x50e818['fromRange'](_0xfd19b2);_0x32a650['set'](_0x5525c1['name'],_0x1699be),_0x1699be['on']('change:range',(_0xcfa795,_0x2789d4,_0x4933ec)=>{if('$graveyard'==_0x1699be['root']['rootName']){const _0x157d57=_0x5ad789['schema']['getNearestSelectionRange'](_0x4933ec['deletionPosition']);_0x157d57?(_0x1699be['start']=_0x157d57['start'],_0x1699be['end']=_0x157d57['end']):(_0x32a650['delete'](_0x5525c1['name']),_0x1699be['detach']());}});}}});}),_0x5ad789['document']['on']('change',()=>{_0x32a650['size']>0x0&&_0x5ad789['enqueueChange']({'isUndoable':!0x1},_0x3ad8ec=>{for(const [_0x3a9d70,_0x489c08]of _0x32a650)'$graveyard'==_0x5ad789['markers']['get'](_0x3a9d70)['getRange']()['root']['rootName']&&(J(_0x3a9d70['split'](':')[0x2],_0x489c08['toRange'](),_0x5ad789,_0x3ad8ec),_0x489c08['detach']());_0x32a650['clear']();});});}(_0x5c0b6a),this['_domEmitter']['listenTo'](_0x3a30e1['document'],'keydown',(_0x2006ca,{key:_0xfe9de8})=>{'Escape'===_0xfe9de8&&function(_0x3c5f56){_0x3c5f56['editing']['view']['change'](_0x456565=>{for(const _0x1042f0 of _0x3c5f56['model']['markers']){if(!_0x1042f0['name']['startsWith']('user:position'))continue;const _0x27ebaf=_0x3c5f56['editing']['mapper']['markerNameToElements'](_0x1042f0['name']);if(_0x27ebaf){for(const _0x176a43 of _0x27ebaf)_0x456565['removeClass']('ck-user__marker_hovered',_0x176a43);}}});}(_0x5c0b6a);},{'useCapture':!0x0});}afterInit(){const _0x25503d=this['editor'],_0x10d7fd=_0x25503d['commands']['get']('undo');_0x10d7fd&&_0x25503d['model']['on']('applyOperation',(_0x4d77e1,_0x578448)=>{const _0x2f60be=_0x578448[0x0];if(!_0x2f60be['isDocumentOperation'])return;if('marker'!=_0x2f60be['type']||!_0x2f60be['name']['startsWith']('user:'))return;const _0x3cdf72=_0x2f60be['batch'];_0x10d7fd['_createdBatches']['has'](_0x3cdf72)&&(_0x2f60be['newRange']=_0x2f60be['oldRange']?_0x25503d['model']['createRange'](_0x2f60be['oldRange']['start'],_0x2f60be['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x5d9ab5=this['editor'],_0x5af988=_0x5d9ab5['model']['document'],_0x20e9cd=_0x5d9ab5['plugins']['get'](Y);_0x5d9ab5['model']['enqueueChange']({'isUndoable':!0x1},_0x38001b=>{const _0x25b4ec='user:range:'+_0x20e9cd['mySessionId'],_0x73b119='user:position:'+_0x20e9cd['mySessionId'],_0x4ae212=_0x5d9ab5['model']['markers']['has'](_0x25b4ec);_0x5d9ab5['editing']['view']['hasDomSelection']?J(_0x20e9cd['mySessionId'],_0x5af988['selection']['getFirstRange'](),_0x5d9ab5['model'],_0x38001b):_0x4ae212&&(_0x38001b['removeMarker'](_0x25b4ec),_0x38001b['removeMarker'](_0x73b119));});}};function J(_0x2c97f9,_0x138bd0,_0x5c507f,_0x2eced3){const _0x452043='user:range:'+_0x2c97f9,_0x41c6ef='user:position:'+_0x2c97f9,_0x2e8a7c=_0x138bd0['getContainedElement']();let _0x124709=_0x138bd0['start'];if(_0x2e8a7c&&_0x2e8a7c['is']('element','tableCell')){const _0x5f172c=function(_0x13216d,_0x4066a0){for(const _0x2d52a1 of _0x13216d['getPositions']())if(_0x4066a0['schema']['checkChild'](_0x2d52a1,'$text'))return _0x2d52a1;}(_0x138bd0,_0x5c507f);_0x5f172c&&(_0x124709=_0x5f172c,_0x138bd0=_0x2eced3['createRange'](_0x124709));}const _0x5ac9ab=_0x2eced3['createRange'](_0x124709);_0x5c507f['markers']['has'](_0x452043)?(_0x2eced3['updateMarker'](_0x452043,{'range':_0x138bd0}),_0x2eced3['updateMarker'](_0x41c6ef,{'range':_0x5ac9ab})):(_0x2eced3['addMarker'](_0x452043,{'range':_0x138bd0,'usingOperation':!0x0}),_0x2eced3['addMarker'](_0x41c6ef,{'range':_0x5ac9ab,'usingOperation':!0x0}));}function Q(_0x309c4c){return'--ck-user-color:'+_0x309c4c['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x309c4c['color']['getColorAlphaVariable']()+';';}function X(_0x37ed22,_0x195b25,_0x143142){const _0xb91258=_0x37ed22['t'],t=_0x37ed22['t'];switch(_0x195b25){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 _0xb91258({'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'},_0x143142);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x541bf0{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0xa8576a)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[z,Y,K,_0x58253b,_0x580d16,_0x488669];}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 _0x122bed=this['serverHistory']['getOperations']();for(let _0x102e85=_0x122bed['length']-0x1;_0x102e85>=0x0;_0x102e85--){const _0x5ab849=_0x122bed[_0x102e85];if(!this['_disconnectionOperations']['has'](_0x5ab849))return _0x5ab849['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x16df19){if(super(_0x16df19),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3343ec(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1017f6('collaboration-missing-channelid',this);const _0x5b856b=_0x16df19['config']['get']('cloudServices.bundleVersion')||_0x58523b;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x5b856b,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x46e54b(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}init(){const _0x25bb85=this['editor'],_0x450bbc=_0x25bb85['plugins']['get'](_0x580d16),_0x5e8d31=_0x25bb85['plugins']['get'](z);this['listenTo'](_0x450bbc,'getOperationAuthor',(_0x157c26,_0x3c4592)=>{const _0x57b631=_0x3c4592[0x0];_0x57b631['_authorId']&&(_0x157c26['return']=_0x450bbc['getUser'](_0x57b631['_authorId']),_0x157c26['stop']()),null===_0x57b631['_authorId']&&(_0x157c26['return']=null,_0x157c26['stop']());},{'priority':'high'}),this['listenTo'](_0x25bb85['model']['document']['selection'],'change:range',(_0x12de58,_0x37be32)=>{_0x37be32['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x25bb85['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x25bb85['model']['on']('applyOperation',(_0x5b7729,_0x3e22d2)=>{const _0x3f72f6=_0x3e22d2[0x0];_0x3f72f6['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3f72f6),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x5e8d31,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x504fca,_0x1d34ac,_0x5903f7)=>'connected'===_0x504fca&&!_0x1d34ac&&!_0x5903f7),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x25bb85['disableReadOnlyMode']('rtc-offline'):_0x25bb85['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x25bb85['disableReadOnlyMode']('rtc-offline'):_0x25bb85['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x3a55c9=this['editor']['plugins']['get'](Y),_0x2a183c=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x3a55c9['unregister'](this['_channelId']);const _0x27a7ed=await this['_service']['reconnect'](_0x2a183c['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x27a7ed)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x298111=await this['_service']['getConnectedSessions']();_0x3a55c9['register'](this['_channelId'],_0x298111),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0xb3710){if(function(_0x2af193){return'404'===_0x2af193['code'];}(_0xb3710)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xc8ddf5){return'409'===_0xc8ddf5['code'];}(_0xb3710)){const _0x575449=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x575449);}else{if(!(_0xb3710 instanceof et))throw _0xb3710;this['_handleReconnectionError']();}}}}destroy(){const _0x3d5803=this['editor']['plugins']['get'](z),_0x467d11=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x467d11['channelSessions']['has'](this['_channelId'])&&_0x467d11['unregister'](this['_channelId']),_0x3d5803['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x478be8){if(this['sessionId']!==_0x478be8['sessionId']&&this['_lastSyncedOperationId']!==_0x478be8['lastOperationId'])throw new et();return this['sessionId']=_0x478be8['sessionId'],this['_handleServerResponse']([],{..._0x478be8,'wereChangesApplied':!0x1,'data':_0x478be8['data']},'reconnect');}async _connectService(_0x31f397,_0x2dd6c8=!0x1){const {connection:_0xb437e6}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0xb437e6,this['_channelId'])['then'](_0x296bcf=>this['_initSessionsHandling'](_0x296bcf))['catch'](_0x28f4e8=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x28f4e8);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x11fc5,_0x612ae9)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x612ae9);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x141f04=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x31f397);this['_isPendingUpdate']=!0x0;const _0x1f0086=await this['_service']['connect'](_0xb437e6,this['_compressOperations'](_0x31f397),_0x141f04);if(this['sessionId']=_0x1f0086['sessionId'],_0x2dd6c8){if(!_0x1f0086['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1f0086['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x31f397,_0x1f0086,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1f0086,_0x31f397);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x3f1812=this['editor']['plugins']['get'](Y),_0x518b23=this['editor']['plugins']['get'](K),_0x21c4ee=_0x3f1812['channelSessions']['get'](this['_channelId']);_0x21c4ee&&_0x21c4ee['length']>0x1?_0x518b23['createUserMarkerOperations']():this['listenTo'](_0x3f1812,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3f1812['channelSessions']['get'](this['_channelId'])['length']&&_0x518b23['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x2442ca,_0x386022,_0x580bf6,_0x505561){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x386022){const _0x4c1dd2=this['_decompressOperations'](_0x580bf6,_0x505561);await this['_fetchMissingUsers'](_0x4c1dd2),this['_handleExternalOperations'](_0x4c1dd2,_0x386022,_0x580bf6['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x4a0995}=this['editor'];let _0x468db0;try{_0x468db0=await this['_service']['getDocumentDetails']();}catch{const _0x4a43e5=X(_0x4a0995,'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'](_0x4a43e5);}const _0x3b7358=_0x468db0['currentDocumentSession']||_0x468db0['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x3b7358['lastOperationId']){const _0x5e347b=X(_0x4a0995,'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'](_0x5e347b);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x1ee0f4=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x1ee0f4['connection']||'connected'!==_0x1ee0f4['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x5eaa75=this['editor']['plugins']['get'](Y);_0x5eaa75['channelSessions']['has'](this['_channelId'])&&_0x5eaa75['unregister'](this['_channelId']),_0x1ee0f4['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x1cca6c){const _0x52f510=this['editor']['plugins']['get'](Y);this['listenTo'](_0x52f510,'sessionAdd:'+this['_channelId'],(_0x30a890,{session:_0x35af85})=>{if(_0x35af85['id']===_0x52f510['mySessionId']){_0x30a890['off']();const _0x11f41c=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4e7729=_0x35af85['permissions'];_0x11f41c&&_0x11f41c['isEnabled']&&(_0x4e7729=_0x4e7729['filter'](_0x48dd20=>'document:write'!==_0x48dd20)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4e7729,this['_channelId']);}}),_0x52f510['register'](this['_channelId'],_0x1cca6c);}_initThrowingOnDataSet(){const _0x21974e=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3bc1bc)=>{if(!_0x3bc1bc[_0x3bc1bc['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1017f6('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x21974e['apply'](this['editor']['data'],_0x3bc1bc);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x2dc4df,[_0x3b8d90])=>{if(this['_document']['version'])throw new _0x1017f6('realtimecollaborationclient-init-document-already-initialized',this);_0x2dc4df['stop'](),this['_setPendingAction']();const _0x43fc48=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1ab8ce])=>!_0x1ab8ce['lazyLoad'])['map'](([_0x222768,_0x1057c9])=>[_0x222768,_0x1057c9['modelAttributes']||{}])),_0x43c436=this['_getOperationsFromInitData'](_0x3b8d90,_0x43fc48);0x0==_0x43c436['length']&&_0x43c436['push'](new _0x37ab6a(0x0)),_0x2dc4df['return']=this['_connectService'](_0x43c436)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5df7d1=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5df7d1))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x6f9dcc,[_0x19d6bd,_0xe56eb4])=>{_0x6f9dcc['stop']();const _0x2cac96=this['editor']['model']['document']['getRoot'](_0x19d6bd);if(!this['_knownRootNames']['has'](_0x19d6bd)){const _0x36f2e4=_0xe56eb4&&_0xe56eb4['data']?_0xe56eb4['data']:'',_0x1835d9=_0xe56eb4&&_0xe56eb4['attributes']?_0xe56eb4['attributes']:{};await this['_loadRoot'](_0x19d6bd,_0x36f2e4,_0x1835d9);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2cac96['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2cac96);});},{'priority':'high'});}async _fetchMissingUsers(_0x26aa42){const _0xcd975c=this['editor']['plugins']['get'](_0x580d16),{connection:_0x294100}=this['editor']['plugins']['get'](z),_0x625073=new Set();for(const _0x1f1302 of _0x26aa42){const _0x4c5e20=_0x1f1302['_authorId'];_0x4c5e20&&!_0xcd975c['getUser'](_0x4c5e20)&&_0x625073['add'](_0x4c5e20);}if(0x0===_0x625073['size'])return;const _0x2e5a9a=await _0x1c50bd['getMany'](_0x294100,Array['from'](_0x625073));for(const _0x2fc014 of _0x2e5a9a)_0xcd975c['getUser'](_0x2fc014['id'])||_0xcd975c['addUser'](_0x2fc014);}_getOperationsFromInitData(_0x40ac79,_0x5c174f={}){const _0x3466bb=this['editor']['model'],_0xe4f9a8=[];let _0x12a84f=0x0;const _0x282752='string'==typeof _0x40ac79?{'main':_0x40ac79}:_0x40ac79;for(const _0x18db4e of Object['keys'](_0x282752)){if(!this['_document']['roots']['has'](_0x18db4e))throw new _0x1017f6('realtimecollaborationclient-init-non-existent-root',this);const _0x21423a=this['_document']['getRoot'](_0x18db4e),_0x2d81a3=this['editor']['data']['parse'](_0x282752[_0x18db4e],_0x21423a),_0x331982=new _0x4f593d(_0x3466bb['createPositionAt'](_0x21423a,0x0),_0x2d81a3,_0x12a84f++);_0xe4f9a8['push'](_0x331982);for(const [_0x29c83e,_0x217341]of _0x2d81a3['markers']){const _0x4e3e4e=_0x3466bb['createRange'](_0x3466bb['createPositionFromPath'](_0x21423a,_0x217341['start']['path']['slice']()),_0x3466bb['createPositionFromPath'](_0x21423a,_0x217341['end']['path']['slice']())),_0x488fea=new _0x2d1415(_0x29c83e,null,_0x4e3e4e,_0x3466bb['markers'],!0x0,_0x12a84f++);_0xe4f9a8['push'](_0x488fea);}}if(_0x5c174f)for(const [_0x1f6a95,_0xb1f8f8]of Object['entries'](_0x5c174f)){const _0x18290a=_0x3466bb['document']['getRoot'](_0x1f6a95);if(!_0x18290a)throw new _0x1017f6('multi-root-editor-root-attributes-no-root',null);for(const [_0x1e14bc,_0x159f84]of Object['entries'](_0xb1f8f8))if(null!==_0x159f84){const _0x3c5417=new _0x1d5691(_0x18290a,_0x1e14bc,null,_0x159f84,_0x12a84f++);_0xe4f9a8['push'](_0x3c5417);}}return _0xe4f9a8;}async _loadRoot(_0x3d53f5,_0x106b2f,_0x1eb8a9){this['_getOperationsFromInitData']({[_0x3d53f5]:_0x106b2f},{[_0x3d53f5]:_0x1eb8a9})['forEach']((_0x5ba727,_0x143a61)=>{_0x5ba727['baseVersion']=this['_document']['version']+_0x143a61,_0x5ba727['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x5ba727);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x4f625a,_0x23e3d1){let _0x566306;this['_offset']=_0x4f625a['offset'];const _0x420d30=_0x4f625a['wereChangesApplied']&&!_0x4f625a['initData'],_0x41a6f0=_0x420d30?0x0:_0x4f625a['data']['baseVersion'];if(_0x23e3d1['forEach'](_0x403798=>{_0x403798['_isInit']=!0x0,_0x403798['createdAt']=_0x4f625a['sessionCreatedAt'],_0x403798['_authorId']=null;}),_0x420d30)_0x566306=_0x23e3d1,this['_applyOperationsSet'](_0x566306,_0x420d30);else{if(_0x4f625a['initData']){const _0x30ba60=this['_getOperationsFromInitData'](_0x4f625a['initData']);this['_document']['history']['version']=-_0x30ba60['length'],_0x30ba60['forEach'](_0x31bb9c=>{_0x31bb9c['baseVersion']-=_0x30ba60['length'],_0x31bb9c['createdAt']=_0x4f625a['sessionCreatedAt'],_0x31bb9c['_isInit']=!0x0,_0x31bb9c['_authorId']=null;}),this['_applyOperationsSet'](_0x30ba60,!0x0),this['serverHistory']['version']=-_0x30ba60['length']+this['_offset'],this['_updateServerHistory'](_0x30ba60);}this['_document']['history']['version']=_0x41a6f0,_0x566306=this['_decompressOperations'](_0x4f625a['data'],_0x4f625a['metadata']),await this['_fetchMissingUsers'](_0x566306),this['_applyOperationsSet'](_0x566306,_0x420d30);}_0x4f625a['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x566306,_0x4f625a['lastOperationId']),this['_lastSyncedOperationId']=_0x4f625a['lastOperationId']),this['serverHistory']['version']=_0x41a6f0+this['_offset'],this['_updateServerHistory'](_0x566306),_0x23e3d1['filter'](_0x47da06=>{const _0x2ee780=this['_getAffectedRoot'](_0x47da06);return _0x2ee780&&!this['_knownRootNames']['has'](_0x2ee780);})['forEach']((_0x5663a1,_0x5d58ee)=>{_0x5663a1['baseVersion']=this['_document']['version']+_0x5d58ee,this['_saveOperationInBuffer'](_0x5663a1);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x59ead7,_0x1a6aec){const _0x159eb1=_0x1a6aec&&_0x1a6aec['message'];if(_0x159eb1&&_0x159eb1['startsWith']('realtimecollaborationclient'))throw _0x1a6aec;const _0x57e632=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x57e632['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1017f6(_0x59ead7,this['editor'],_0x159eb1?{'originalError':_0x159eb1}:void 0x0);}_saveOperationInBuffer(_0x5d0d43){this['_knownOperations']['has'](_0x5d0d43)||(this['_knownOperations']['add'](_0x5d0d43),this['_bufferedOperations']['push'](_0x5d0d43),this['_pendingAction']||'marker'==_0x5d0d43['type']&&!_0x5d0d43['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x1e3d06=!0x1){!_0x1e3d06&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x262f7f=>{_0x262f7f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x11ea6b=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x45a189){return _0x45a189['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x45a189['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x45a189['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x11ea6b)||this['_crash'](_0x11ea6b['message'],_0x11ea6b);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x441b3d=>{this['on']('change:_isPendingUpdate',()=>{_0x441b3d();});});}async _sendBufferedOperations(){const _0x238dc4=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x238dc4['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4cec36=[...this['_bufferedOperations']];for(const _0x287bb3 of _0x4cec36)_0x287bb3['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x287bb3);const _0x13a5fd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4cec36),_0x5289d2=Z++,_0x39fd3b=this['_compressOperations'](_0x4cec36),_0x4dadff=await this['_service']['sendOperations'](_0x39fd3b,_0x39fd3b['baseVersion'],_0x13a5fd);try{return await this['_handleServerResponse'](_0x4cec36,_0x4dadff,_0x5289d2);}catch(_0x2ed73f){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2ed73f);}}async['_handleServerResponse'](_0xe07329,_0x2aa9b3,_0x34e744){if('error'in _0x2aa9b3)throw _0x2aa9b3['error'];let _0x1e407f;if(_0x2aa9b3['wereChangesApplied']){_0x2aa9b3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2aa9b3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xb14f81=>!_0xe07329['includes'](_0xb14f81));for(const _0x272d12 of _0xe07329)_0x272d12['createdAt']='lastOperationAcceptedAt'in _0x2aa9b3&&_0x2aa9b3['lastOperationAcceptedAt']||void 0x0;st(_0xe07329,_0x2aa9b3['version']-_0xe07329['length']),this['_updateServerHistory'](_0xe07329);const _0x4076d5=_0xe07329['filter'](_0x460734=>{if(!_0x460734['_isInit'])return!0x1;const _0xcbebb0=this['_getAffectedRoot'](_0x460734);return _0xcbebb0&&!this['_knownRootNames']['has'](_0xcbebb0);});st(_0x4076d5,this['_document']['version']),this['_applyOperationsSet'](_0x4076d5),_0x1e407f=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5fd6fd=this['_decompressOperations'](_0x2aa9b3['data'],_0x2aa9b3['metadata'])['filter'](_0x133835=>_0x133835['baseVersion']>=this['_lastServerVersion']);_0x5fd6fd['forEach'](_0x5891bf=>this['_addKnownRoot'](_0x5891bf)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x30717a=>!_0x30717a['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x30717a))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5fd6fd),_0x1e407f=this['_handleExternalOperations'](_0x5fd6fd,_0x2aa9b3['version'],_0x2aa9b3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1e407f?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x3f2c0a,_0x19e5ad,_0x5c69e7){try{const _0x30fdb4={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x50aa2c,operationsB:_0x3dada3,originalOperations:_0x30bb96}=_0x2a7313(_0x3f2c0a,this['_bufferedOperations'],_0x30fdb4);st(_0x50aa2c,this['_document']['version']),st(_0x3dada3,_0x19e5ad);for(const _0x53aaab of _0x50aa2c){const _0x58f2fb=_0x30bb96['get'](_0x53aaab);_0x58f2fb?(_0x53aaab['_authorId']=_0x58f2fb['_authorId'],'noop'!==_0x53aaab['type']&&(_0x53aaab['_aiSource']=_0x58f2fb['_aiSource'])):_0x53aaab['_authorId']=null;}for(const _0x230eb5 of _0x3dada3)'noop'!==_0x230eb5['type']&&(_0x230eb5['_aiSource']=_0x30bb96['get'](_0x230eb5)?.['_aiSource']);_0x5c69e7&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3f2c0a,_0x5c69e7),this['_lastSyncedOperationId']=_0x5c69e7),this['_bufferedOperations']=[..._0x3dada3],this['_applyOperationsSet'](_0x50aa2c),this['_updateServerHistory'](_0x3f2c0a);}catch(_0x2cad8a){return console['error'](_0x2cad8a),!0x1;}return!0x0;}_applyOperationsSet(_0x1633db,_0x5cd89d=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x25e05a=>{for(const _0x336eba of _0x1633db)this['_knownOperations']['add'](_0x336eba),this['_addKnownRoot'](_0x336eba),_0x25e05a['batch']['addOperation'](_0x336eba),this['editor']['model']['applyOperation'](_0x336eba);});}_addKnownRoot(_0x49be6b){const _0x517043=this['_getAffectedRoot'](_0x49be6b);_0x517043&&this['_knownRootNames']['add'](_0x517043);}_getAffectedRoot(_0x5236f3){let _0x3cd37b,_0x140911;switch(_0x5236f3['type']){case'insert':_0x3cd37b=_0x5236f3['position']['root'];break;case'marker':if(_0x140911=_0x5236f3['newRange'],!_0x140911)return null;_0x3cd37b=_0x140911['root'];break;case'addRootAttribute':_0x3cd37b=_0x5236f3['root'];break;case'addRoot':_0x3cd37b=_0x5236f3['affectedSelectable'];break;case'move':_0x3cd37b=_0x5236f3['targetPosition']['root'];break;default:return null;}return _0x3cd37b['rootName'];}_updateServerHistory(_0x5ea8b6){_0x5ea8b6['forEach'](_0x32370e=>{const _0x51cf76=_0x32370e['clone']();_0x51cf76['_authorId']=_0x32370e['_authorId'],_0x51cf76['_isInit']=!!_0x32370e['_isInit'],_0x51cf76['_aiSource']=_0x32370e['_aiSource'],_0x51cf76['createdAt']=_0x32370e['createdAt'],_0x51cf76['baseVersion']+=this['_offset'],_0x32370e['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x51cf76),this['serverHistory']['addOperation'](_0x51cf76);});}_handleReconnectionError(_0x38177f){const _0x45003e=this['editor']['plugins']['get']('Notification'),_0x209db8=this['editor']['locale'];_0x38177f||(_0x38177f=X(_0x209db8,'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.')),_0x45003e['showWarning'](_0x38177f,{'title':X(_0x209db8,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x58253b)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x58253b)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0xf9ea2f){const _0x426e23=_0xf9ea2f['map'](_0xe40256=>_0xe40256['toJSON']());return this['_compressor']['compress'](_0x426e23);}_decompressOperations(_0x1163a9,_0x50cac7){return this['_compressor']['decompress'](_0x1163a9)['map']((_0x84ef71,_0x34b2fb)=>{const _0x57c885='init'==_0x50cac7[_0x34b2fb]['type'];if('InsertOperation'==_0x84ef71['__className']){const _0x5e9451=_0x84ef71['position']['root'];!this['_document']['getRoot'](_0x5e9451)&&(this['_document']['createRoot']('$unknown',_0x5e9451)['_isAttached']=!0x1);}else{if('RootOperation'==_0x84ef71['__className']){const _0xcc7b80=this['_document']['getRoot'](_0x84ef71['rootName']);_0xcc7b80&&'$unknown'==_0xcc7b80['name']&&_0x84ef71['elementName']!=_0xcc7b80['name']&&(_0xcc7b80['name']=_0x84ef71['elementName']);}}const _0x48e821=_0x2dcce1['fromJSON'](_0x84ef71,this['_document']);return _0x48e821['wasUndone']=_0x84ef71['wasUndone'],_0x48e821['_isInit']=_0x57c885,_0x48e821['_authorId']=_0x57c885?null:_0x50cac7[_0x34b2fb]['userId'],_0x48e821['_isDisconnection']='cs:removeUser'===_0x50cac7[_0x34b2fb]['type'],_0x48e821['_aiSource']=_0x84ef71['_aiSource']||void 0x0,_0x48e821['createdAt']=_0x50cac7[_0x34b2fb]['createdAt'],_0x48e821;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x33440d=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x33440d&&_0x33440d['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x1f64a8,_0x451007){for(const _0x470ab9 of _0x1f64a8)_0x470ab9['baseVersion']=_0x451007++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x33868b){this['_ignoredOperations']=_0x33868b,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x3b9b54){let _0x223f46=_0x3b9b54['length'];for(;_0x223f46--;){const _0x1fcfff=_0x3b9b54[_0x223f46];if(!this['_ignoredOperations']['has'](_0x1fcfff)){if(!this['_operationToId']['has'](_0x1fcfff)){const _0x2ea4e9=_0x5596f7()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1fcfff,_0x2ea4e9);}return this['_operationToId']['get'](_0x1fcfff);}}}setIdForTheLastOperation(_0x5eae5d,_0x37aa73){if(!_0x37aa73)return;let _0x10c3af=_0x5eae5d['length'];for(;_0x10c3af--;){const _0x1d8e9d=_0x5eae5d[_0x10c3af];this['_ignoredOperations']['has'](_0x1d8e9d)||this['_operationToId']['set'](_0x1d8e9d,_0x37aa73);}}},nt=class extends _0x541bf0{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x41ec8a{static CommentsService=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x128753)());['_services'];static get requires(){return[z,_0x24c16f,Y,_0x580d16];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5d63e8){super(_0x5d63e8),this['_services']=new Map();}async init(){const _0x4b8a02=this['context'],_0x565f45=_0x4b8a02['plugins']['get'](_0x24c16f);if(_0x4b8a02['plugins']['get'](z)['addToReconnectionStack'](this),_0x565f45['adapter']={'addCommentThread':async({channelId:_0x167980,threadId:_0x21ad25,comments:_0x1dd7d2,resolvedAt:_0x2273d2,resolvedBy:_0x143cf0,context:_0x5ad081,attributes:_0x1c8802})=>{const _0xf24505=await this['_getService'](_0x167980)['addCommentThread']({'commentThreadId':_0x21ad25,'comments':_0x1dd7d2['map'](_0x29b64f=>function(_0x4a3827,_0x528e46,_0x4c14d0){return{'commentThreadId':_0x4c14d0,'commentId':_0x4a3827['commentId'],'userId':_0x4a3827['authorId'],'content':_0x4a3827['content'],'documentId':_0x528e46,'createdAt':_0x4a3827['createdAt'],'attributes':_0x4a3827['attributes']||{}};}(_0x29b64f,_0x167980,_0x21ad25)),'resolvedAt':_0x2273d2,'resolvedBy':_0x143cf0,'context':_0x5ad081,'attributes':_0x1c8802})['catch'](ct);return{'threadId':_0xf24505['commentThreadId'],'comments':_0xf24505['comments']};},'getCommentThread':async({channelId:_0x183d2c,threadId:_0x30b9f9})=>{const _0xaaac6b=await this['_getService'](_0x183d2c)['getCommentThread'](_0x30b9f9)['catch'](rt)['catch'](ct);return _0xaaac6b?_0xaaac6b['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xaaac6b]),{'threadId':_0xaaac6b['commentThreadId'],'comments':_0xaaac6b['comments']['map'](at),'context':_0xaaac6b['context'],'resolvedAt':_0xaaac6b['resolvedAt'],'resolvedBy':_0xaaac6b['resolvedBy'],'attributes':_0xaaac6b['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x1691c4,threadId:_0x59b515,context:_0x3cb7d1,unlinkedAt:_0x59a45b,attributes:_0x452567})=>this['_getService'](_0x1691c4)['updateCommentThread']({'commentThreadId':_0x59b515,'context':_0x3cb7d1,'attributes':_0x452567,'unlinkedAt':_0x59a45b})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0xa90c78,threadId:_0x70303})=>{const _0x43c490=await this['_getService'](_0xa90c78)['resolveCommentThread'](_0x70303)['catch'](rt)['catch'](ct);return{'threadId':_0x43c490['commentThreadId'],'resolvedAt':_0x43c490['resolvedAt'],'resolvedBy':_0x43c490['resolvedBy']};},'reopenCommentThread':async({channelId:_0x48c3e5,threadId:_0x1cbad9})=>this['_getService'](_0x48c3e5)['reopenCommentThread'](_0x1cbad9)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x19dd56,threadId:_0x360050})=>this['_getService'](_0x19dd56)['removeCommentThread'](_0x360050)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x38b2ee,threadId:_0x5a82c5,commentId:_0x1148a5,content:_0x295091,attributes:_0x62e717})=>this['_getService'](_0x38b2ee)['addComment'](_0x5a82c5,_0x1148a5,_0x295091,_0x62e717)['catch'](ct),'updateComment':({channelId:_0x336235,threadId:_0x286a26,commentId:_0x54cc1b,content:_0x3aa51a,attributes:_0xa3cde5})=>this['_getService'](_0x336235)['updateComment'](_0x286a26,_0x54cc1b,_0x3aa51a,_0xa3cde5)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x250c70,threadId:_0xcad3e4,commentId:_0x431ac9})=>this['_getService'](_0x250c70)['removeComment'](_0xcad3e4,_0x431ac9)['catch'](rt)['catch'](ct)},_0x4b8a02 instanceof _0x3ec41f){const _0x2b9d42=_0x4b8a02['config']['get']('collaboration.channelId'),_0x20b2fb=_0x4b8a02['plugins']['get'](Y);await this['_setUpService'](_0x2b9d42);const _0x309843=await this['_services']['get'](_0x2b9d42)['getConnectedSessions']();this['listenTo'](_0x20b2fb,'sessionAdd:'+_0x2b9d42,(_0x15f39a,{session:_0x539588})=>{_0x539588['id']===_0x20b2fb['mySessionId']&&(_0x15f39a['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x539588['permissions'],_0x2b9d42));}),_0x20b2fb['register'](_0x2b9d42,_0x309843);}}async _setUpService(_0x450e72){if(this['_services']['has'](_0x450e72))throw new _0x1017f6('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x450e72});const _0x13d4a3=this['context']['plugins']['get'](_0x24c16f),_0x23a55d=new CloudServicesCommentsAdapter['CommentsService'](_0x450e72);this['_services']['set'](_0x450e72,_0x23a55d),this['listenTo'](_0x23a55d,'commentThreadAdded',(_0x4f26a4,_0x44a4e2)=>{const {commentThreadId:_0x2e051d,documentId:_0x235cb5,context:_0x7e89cc,attributes:_0x562673,resolvedAt:_0x2a9229,resolvedBy:_0x1baf7f,comments:_0x385bbd}=_0x44a4e2;_0x13d4a3['getCommentThread'](_0x2e051d)||_0x13d4a3['addCommentThread']({'threadId':_0x2e051d,'channelId':_0x235cb5,'comments':_0x385bbd?_0x385bbd['map'](at):[],'context':_0x7e89cc,'attributes':_0x562673,'resolvedAt':_0x2a9229,'resolvedBy':_0x1baf7f,'isFromAdapter':!0x0});}),this['listenTo'](_0x23a55d,'commentThreadUpdated',(_0x15a4d0,{commentThreadId:_0x4a6b66,documentId:_0x12b461,context:_0x58b91d,unlinkedAt:_0x1fa629,attributes:_0x3b45de})=>{_0x13d4a3['getCommentThread'](_0x4a6b66)&&_0x13d4a3['updateCommentThread']({'threadId':_0x4a6b66,'channelId':_0x12b461,'context':_0x58b91d,'unlinkedAt':_0x1fa629,'attributes':_0x3b45de,'isFromAdapter':!0x0});}),this['listenTo'](_0x23a55d,'commentThreadResolved',(_0x3c6584,{commentThreadId:_0x63a356,resolvedBy:_0x5e617b,resolvedAt:_0x187f61})=>{const _0x4cad15=_0x13d4a3['getCommentThread'](_0x63a356);_0x4cad15&&_0x4cad15['resolve']({'resolvedBy':_0x5e617b,'resolvedAt':_0x187f61,'isFromAdapter':!0x0});}),this['listenTo'](_0x23a55d,'commentThreadReopened',(_0x52d809,{commentThreadId:_0x1d9c50})=>{const _0x188cf0=_0x13d4a3['getCommentThread'](_0x1d9c50);_0x188cf0&&_0x188cf0['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x23a55d,'commentThreadRemoved',(_0x4b39a3,{commentThreadId:_0x432aa3})=>{const _0xe1b8c7=_0x13d4a3['getCommentThread'](_0x432aa3);_0xe1b8c7&&_0xe1b8c7['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x23a55d,'commentAdded',(_0x4852a9,_0x1f1150)=>{const _0x52aaf9=_0x1f1150['commentThreadId'],_0x1de9c4=_0x13d4a3['getCommentThread'](_0x52aaf9);_0x1de9c4&&_0x1de9c4['addComment']({...at(_0x1f1150),'isFromAdapter':!0x0});}),this['listenTo'](_0x23a55d,'commentUpdated',(_0x2155a8,{commentThreadId:_0xabc72,commentId:_0x46ff61,content:_0x2b0c46,attributes:_0x36196e})=>{const _0x2b84b2=_0x13d4a3['getCommentThread'](_0xabc72);if(_0x2b84b2){const _0x483733=_0x2b84b2['getComment'](_0x46ff61);_0x483733&&_0x483733['update']({'content':_0x2b0c46,'attributes':_0x36196e,'isFromAdapter':!0x0});}}),this['listenTo'](_0x23a55d,'commentRemoved',(_0x342851,{commentThreadId:_0x50b0a7,commentId:_0x27651f})=>{const _0x5ed7e2=_0x13d4a3['getCommentThread'](_0x50b0a7);if(_0x5ed7e2){const _0x4ec0ec=_0x5ed7e2['getComment'](_0x27651f);_0x4ec0ec&&_0x4ec0ec['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x23a55d,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x450e72),this['stopListening'](_0x23a55d));}),await this['_connectService'](_0x450e72);}destroy(){if(this['context']instanceof _0x3ec41f){const _0x18df38=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x18df38)&&this['_terminateService'](_0x18df38);}}_terminateService(_0x29c207){if(!this['_services']['has'](_0x29c207))throw new _0x1017f6('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x29c207});this['_getService'](_0x29c207)['disconnect'](),this['_services']['delete'](_0x29c207);}async reconnect(){for(const _0x585b02 of this['_services']['keys']())await this['_connectService'](_0x585b02);if(this['context']instanceof _0x3ec41f){const _0x91940c=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x91940c)){const _0x117cd8=this['context']['plugins']['get'](Y);_0x117cd8['unregister'](_0x91940c);const _0x52f8bc=await this['_services']['get'](_0x91940c)['getConnectedSessions']();_0x117cd8['register'](_0x91940c,_0x52f8bc);}}}async _connectService(_0x5396fa){const {connection:_0x37db24}=this['context']['plugins']['get'](z),_0x4eee64=this['context']['plugins']['get'](_0x24c16f),_0x447885=await this['_services']['get'](_0x5396fa)['connect'](_0x37db24);await this['_fetchMissingUsersForThreads'](_0x447885);const _0x477dfc=new Set(Array['from'](_0x4eee64['getCommentThreads']({'channelId':_0x5396fa}),_0x36e275=>_0x36e275['id']));for(const _0x4a07a2 of _0x447885)_0x4a07a2['deletedAt']||_0x477dfc['delete'](_0x4a07a2['commentThreadId']);for(const _0x4ffe99 of _0x477dfc)_0x4eee64['getCommentThread'](_0x4ffe99)['remove']({'isFromAdapter':!0x0});for(const _0x4dc360 of _0x447885){let _0x4f9c62=_0x4eee64['getCommentThread'](_0x4dc360['commentThreadId']);const {commentThreadId:_0x1cb6ff,context:_0x30c5f0,attributes:_0x2abe30,resolvedBy:_0x59226a,resolvedAt:_0x45ac2b,unlinkedAt:_0x36eaf0,deletedAt:_0x1b5d7f}=_0x4dc360;if(_0x1b5d7f)continue;_0x4f9c62||(_0x4f9c62=_0x4eee64['addCommentThread']({'channelId':_0x5396fa,'threadId':_0x1cb6ff,'context':_0x30c5f0,'attributes':_0x2abe30||{},'resolvedBy':_0x59226a,'resolvedAt':_0x45ac2b,'unlinkedAt':_0x36eaf0,'isFromAdapter':!0x0}));const _0x281105=new Set(Array['from'](_0x4f9c62['comments'],_0xb22836=>_0xb22836['id']));for(const _0x560a90 of _0x4dc360['comments'])_0x281105['delete'](_0x560a90['commentId']);for(const _0xd93d6d of _0x281105)_0x4f9c62['getComment'](_0xd93d6d)['remove']({'isFromAdapter':!0x0});for(const _0x478698 of _0x4dc360['comments']){const _0x1f8831=_0x4f9c62['getComment'](_0x478698['commentId']);_0x1f8831?_0x1f8831['content']!==_0x478698['content']&&_0x1f8831['update']({'content':_0x478698['content'],'isFromAdapter':!0x0}):_0x4f9c62['addComment'](Object['assign'](at(_0x478698),{'isFromAdapter':!0x0}));}}}_getService(_0x20748c){if(!this['_services']['has'](_0x20748c))throw new _0x1017f6('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x20748c});return this['_services']['get'](_0x20748c);}async _fetchMissingUsersForThreads(_0x46c980){const _0x44f2fc=this['context']['plugins']['get'](_0x580d16),{connection:_0x214c7d}=this['context']['plugins']['get'](z),_0x122597=new Set();for(const {resolvedBy:_0x2ed5bd,comments:_0x206578}of _0x46c980){_0x2ed5bd&&!_0x44f2fc['getUser'](_0x2ed5bd)&&_0x122597['add'](_0x2ed5bd);for(const {userId:_0x48f52e}of _0x206578)_0x44f2fc['getUser'](_0x48f52e)||_0x122597['add'](_0x48f52e);}if(0x0===_0x122597['size'])return;const _0x579c09=await _0x1c50bd['getMany'](_0x214c7d,Array['from'](_0x122597));for(const _0x5a042a of _0x579c09)_0x44f2fc['getUser'](_0x5a042a['id'])||_0x44f2fc['addUser'](_0x5a042a);}};async function rt(_0x555c19){if('404'!==_0x555c19['code'])throw _0x555c19;}function ct(_0x12f23d){if((_0xe29b3f=_0x12f23d)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xe29b3f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xe29b3f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xe29b3f;throw _0x12f23d;}function at(_0x93538b){return{'threadId':_0x93538b['commentThreadId'],'commentId':_0x93538b['commentId'],'content':_0x93538b['content'],'createdAt':_0x93538b['createdAt'],'authorId':_0x93538b['userId'],'attributes':_0x93538b['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x541bf0{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x5ebee1)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x3846ec,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x58df8b){super(_0x58df8b);const _0x2fba51=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x2fba51);}init(){const _0xc71a09=this['editor']['plugins']['get'](z),_0x2a4c25=this['editor']['plugins']['get'](_0x3846ec);return _0x2a4c25['adapter']={'getSuggestion':async _0x4d0527=>{await this['_waitForServiceReady']();const _0x56716a=await this['_trackChangesService']['get'](_0x4d0527)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x56716a]),_0x56716a;},'addSuggestion':async({id:_0x30c3f8,type:_0x45a9cc,data:_0x49f39c,originalSuggestionId:_0x25e430,attributes:_0x4191ad})=>{await this['_waitForServiceReady']();const _0x296d92={'id':_0x30c3f8,'type':_0x45a9cc,'data':_0x49f39c,'originalSuggestionId':_0x25e430,'attributes':_0x4191ad},_0xafaf0d=await this['_trackChangesService']['add'](_0x30c3f8,_0x45a9cc,_0x49f39c,_0x25e430,_0x4191ad)['catch'](_0xbba9a1=>{if(dt(_0xbba9a1))return new Promise(_0x4f87b4=>{this['_bufferedRequests']['set'](_0x30c3f8,{'resolve':_0x4f87b4,'suggestionData':_0x296d92});});throw _0xbba9a1;});return this['_bufferedRequests']['delete'](_0x30c3f8),_0xafaf0d;},'updateSuggestion':async(_0x1d5376,_0x15c785)=>{if(await this['_waitForServiceReady'](),'open'!==_0x15c785['state'])return this['_trackChangesService']['update'](_0x1d5376,_0x15c785)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1a07eb,_0x41ff49)=>{_0x2a4c25['hasSuggestion'](_0x41ff49['id'])&&(_0x2a4c25['getSuggestion'](_0x41ff49['id'])['attributes']=_0x41ff49['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0xc71a09['connection']?.['state']&&(_0xc71a09['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0xc71a09['connection'])['then'](_0x3a2c7b=>(_0xc71a09['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3a2c7b)['then'](()=>{for(const _0x221942 of _0x3a2c7b){_0x2a4c25['addSuggestionData'](_0x221942)['_saved']=!0x0;}})));}async reconnect(){const _0x169cef=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1cd311}=this['editor']['plugins']['get'](z),_0xea8f68=await this['_trackChangesService']['connect'](_0x1cd311);await this['_fetchMissingUsersForThreads'](_0xea8f68);for(const {suggestionData:_0x65c122,resolve:_0x5da5df}of this['_bufferedRequests']['values']()){let _0x14a12d=_0xea8f68['find'](_0x107cc9=>_0x107cc9['id']===_0x65c122['id']);_0x14a12d||(_0x14a12d=await this['_trackChangesService']['add'](_0x65c122['id'],_0x65c122['type'],_0x65c122['data'],_0x65c122['originalSuggestionId'])),_0x5da5df(_0x14a12d);}for(const _0x56c327 of _0xea8f68)_0x169cef['hasSuggestion'](_0x56c327['id'])||_0x169cef['addSuggestionData'](_0x56c327);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x14b48d=>{this['listenTo'](this['_trackChangesService'],'connected',_0x188e23=>{_0x188e23['off'](),_0x14b48d();});});}async _fetchMissingUsersForThreads(_0x4dd66c){const _0x4c4629=this['editor']['plugins']['get'](_0x580d16),{connection:_0x144ac2}=this['editor']['plugins']['get'](z),_0x56eed9=new Set();for(const {authorId:_0x54d457}of _0x4dd66c)_0x4c4629['getUser'](_0x54d457)||_0x56eed9['add'](_0x54d457);if(0x0===_0x56eed9['size'])return;const _0x49fc93=await _0x1c50bd['getMany'](_0x144ac2,Array['from'](_0x56eed9));for(const _0x1a89ed of _0x49fc93)_0x4c4629['getUser'](_0x1a89ed['id'])||_0x4c4629['addUser'](_0x1a89ed);}};function lt(_0x554c1d){if(dt(_0x554c1d))return new Promise(()=>{});throw _0x554c1d;}function dt(_0xb9b7eb){return _0xb9b7eb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xb9b7eb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x541bf0{static get requires(){return[_0x2c57cf,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x3f29ba=this['editor']['plugins']['get'](z),_0x20e82d=this['editor']['plugins']['get'](_0x3f474b),_0x10742c=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3f29ba,'change:state',(_0x235c63,_0x14cacd,_0x23a7ef)=>{_0x20e82d['isThreadsLoadingPaused']='connected'!==_0x23a7ef;});}),this['listenTo'](_0x3f29ba,'change:state',(_0x16d7e2,_0x3efec9,_0x45893c)=>{this['editor']['plugins']['get'](_0x24c16f)['switchReadOnly']('connected'!==_0x45893c);}),_0x10742c['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x5b92c5=this['editor']['plugins']['get'](ot),_0x5568ff=this['editor']['config']['get']('collaboration.channelId');_0x5b92c5['_services']['has'](_0x5568ff)&&_0x5b92c5['_terminateService'](_0x5568ff),super['destroy']();}},ft=class extends _0x541bf0{static get requires(){return[ut,ht,_0x49978a];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x541bf0{static RevisionHistoryService=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x3e2756)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0xb062ae,Y,_0x580d16];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x315259){super(_0x315259);const _0xe00d10=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0xe00d10);}async init(){const _0x4e5b00=this['editor']['plugins']['get'](tt),_0x590512=_0x4e5b00['serverHistory'],_0x1471bd=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x590512,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4e5b00['sessionId']});const _0x423538=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x58523b,_0x2185bc=await _0xae3830['isBundleUploaded'](_0x1471bd['connection'],_0x423538);this['editor']['plugins']['get'](_0xb062ae)['adapter']={'getRevision':async({revisionId:_0x4b646c})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4b646c)),'updateRevisions':async _0x1ba243=>{await this['_waitForServiceReady']();const _0x3fe5d7=this['_revisionTracker']['currentRevision'];if(_0x2185bc&&0x1===_0x1ba243['length']&&_0x1ba243[0x0]['id']===_0x3fe5d7['id'])return _0x1ba243;for(const _0x4612d7 of _0x1ba243)_0x4612d7['id']===_0x3fe5d7['id']&&(_0x4612d7['isEmptyCurrent']=_0x4612d7['fromVersion']===_0x4612d7['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x1ba243,this['_lastRequestId'])['then'](_0x30396e=>(this['_lastRequestId']=_0x30396e,_0x1ba243))['catch'](_0x5c8598=>{if(pt(_0x5c8598)||'400'===_0x5c8598['code']&&void 0x0!==_0x5c8598['data']['wrongRequestId']){for(const _0x1e3f76 of _0x1ba243)this['_revisionTracker']['repository']['getRevision'](_0x1e3f76['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x1e3f76['id'],_0x1e3f76,!0x1);if(pt(_0x5c8598)&&'destroyed'!==this['editor']['state'])throw _0x5c8598;return _0x1ba243;}throw _0x5c8598;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xebca9d,{revisionsData:_0x4c8457,requestId:_0xe06318})=>{Math['max'](..._0x4c8457['map'](_0x2136f0=>_0x2136f0['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4c8457,_0xe06318);}):this['_handleRevisionsUpdate'](_0x4c8457,_0xe06318);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x1471bd['connection']?.['state']&&(_0x1471bd['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x1fc83b,requestId:_0x18ff80}=await this['_revisionHistoryService']['connect'](_0x1471bd['connection']);_0x1471bd['addToReconnectionStack'](this),this['_lastRequestId']=_0x18ff80,await this['_fetchMissingUsers'](_0x1fc83b);for(const _0x463d88 of _0x1fc83b)this['_revisionTracker']['addRevisionData'](_0x463d88);this['listenTo'](_0x4e5b00,'change:_isConnected',(_0x4a1acf,_0x1bc779,_0x50b664)=>{_0x50b664&&(this['_oldOffset']=_0x4e5b00['_offset'],_0x4a1acf['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x54e6a7=this['editor']['plugins']['get'](z),_0x3cea47=this['editor']['plugins']['get'](tt),_0x38022c=async()=>{const _0x11d6c6=this['_revisionTracker']['currentRevision'],_0x424b73=_0x11d6c6['id'],_0x4d84f2=_0x424b73!==_0x3cea47['sessionId'];if(_0x4d84f2){const _0x2b8781=_0x3cea47['_offset']-this['_oldOffset'],_0x430823=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x11d6c6['toVersion']+_0x2b8781!==_0x430823){const _0x471feb=_0x11d6c6['fromVersion']+_0x2b8781,_0x1bd297=this['editor']['plugins']['get'](_0x580d16),_0xe2cf04=this['_revisionTracker']['buildRevisionData']({'revision':_0x11d6c6,'from':_0x471feb,'to':_0x430823});_0xe2cf04['id']=_0x11d6c6['id'];const _0x5a6ca7=_0xe2cf04['authorsIds']['map'](_0x24ce82=>_0x1bd297['getUser'](_0x24ce82));_0x11d6c6['_update']({..._0xe2cf04,'authors':_0x5a6ca7},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x11d6c6['id'],_0xe2cf04,!0x0);}this['_revisionTracker']['_startingVersion']=_0x430823,_0x11d6c6['toVersion']!==_0x11d6c6['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x424b73)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x424b73),this['_revisionTracker']['_createCurrentRevision'](_0x430823);}const {revisions:_0x39cb28,requestId:_0x3e574b}=await this['_revisionHistoryService']['reconnect'](_0x54e6a7['connection'],this['_lastRequestId']);_0x4d84f2&&_0x39cb28['length']>0x0?_0x3cea47['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x39cb28),this['_handleRevisionsUpdate'](_0x39cb28,_0x3e574b),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3cea47['_isConnected']?_0x38022c():new Promise((_0x419987,_0x7c98cd)=>{_0x3cea47['once']('change:_isConnected',()=>{_0x38022c()['then'](_0x419987)['catch'](_0x7c98cd);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0xed434d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x455c43=>{_0x455c43['off'](),_0xed434d();});});}_getLatestVersionFromServerOperations(){const _0x20842b=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x45e19c of _0x20842b)if('marker'!==_0x45e19c['type']||_0x45e19c['affectsData'])return _0x45e19c['baseVersion']+0x1;}_getLatestVersion(){const _0xf863f5=this['editor']['plugins']['get'](tt);return new Promise(_0x7a1cf2=>{_0xf863f5['_isPendingUpdate']?_0xf863f5['once']('change:_isPendingUpdate',()=>{_0x7a1cf2(this['_getLatestVersionFromServerOperations']());}):_0x7a1cf2(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x210d1e,_0x3c2cd3){const _0x1900a1=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3c2cd3;for(const _0x3a5756 of _0x210d1e){const _0x296255=_0x1900a1['getRevision'](_0x3a5756['id']);if(_0x296255){if((_0x3a5756['fromVersion']||_0x3a5756['toVersion'])&&(_0x3a5756['diffData']=null),_0x296255===this['_revisionTracker']['currentRevision']){const _0x52ddf5=Math['max'](_0x296255['toVersion'],_0x3a5756['toVersion']),_0x3690ec=Math['max'](_0x296255['fromVersion'],_0x3a5756['fromVersion']);let _0xfdce2b;_0x296255['toVersion']===_0x3a5756['toVersion']&&_0x296255['fromVersion']===_0x3a5756['fromVersion']?(_0xfdce2b=!0x0,this['_preventResendingRevisionData'](_0x3a5756)):_0x3a5756['toVersion']===_0x52ddf5&&_0x3a5756['fromVersion']===_0x3690ec?_0xfdce2b=!0x1:(_0x296255['toVersion']===_0x52ddf5&&_0x296255['fromVersion']===_0x3690ec||this['_fixRevision']({'revision':_0x296255,'from':_0x3690ec,'to':_0x52ddf5}),_0xfdce2b=!0x0),_0xfdce2b&&(delete _0x3a5756['fromVersion'],delete _0x3a5756['toVersion'],delete _0x3a5756['diffData'],delete _0x3a5756['createdAt'],delete _0x3a5756['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3a5756),this['_preventResendingRevisionData'](_0x3a5756);}else this['_revisionTracker']['addRevisionData'](_0x3a5756);}const _0x3eaa1c=_0x1900a1['getRevisions']();_0x3eaa1c['reverse']();for(let _0x3c8131=0x0;_0x3c8131<_0x3eaa1c['length']-0x1;_0x3c8131++){const _0x4a2493=_0x3eaa1c[_0x3c8131],_0x33efe4=_0x3eaa1c[_0x3c8131+0x1];if(_0x4a2493['fromVersion']<_0x33efe4['toVersion']){const _0x305169=_0x33efe4['toVersion'],_0x1a1edc=Math['max'](_0x305169,_0x4a2493['toVersion']);this['_fixRevision']({'revision':_0x4a2493,'from':_0x305169,'to':_0x1a1edc});}}}['_fixRevision']({revision:_0x4be45b,from:_0x448998,to:_0xe22c3d}={}){const _0x440c61=this['editor']['plugins']['get'](_0x580d16),_0x3378f6=this['_revisionTracker']['buildRevisionData']({'revision':_0x4be45b,'from':_0x448998,'to':_0xe22c3d});_0x3378f6['authors']=_0x3378f6['authorsIds']['map'](_0x3f3099=>_0x440c61['getUser'](_0x3f3099)),_0x4be45b['_update'](_0x3378f6);}_preventResendingRevisionData(_0xac1d62){const _0x545497={};_0x545497['id']=_0xac1d62['id'];for(const _0x587e30 of Object['keys'](_0xac1d62))'id'!==_0x587e30&&(_0x545497[_0x587e30]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x545497['id'],_0x545497,!0x0);}async _fetchMissingUsers(_0x1d6d81){const _0xe58d93=this['editor']['plugins']['get'](_0x580d16),{connection:_0xcf0bf1}=this['editor']['plugins']['get'](z),_0x54f02d=new Set();for(const _0xd7c2e6 of _0x1d6d81){for(const _0x38cc30 of _0xd7c2e6['authorsIds'])_0x3a498b(_0x38cc30);_0xd7c2e6['creatorId']&&_0x3a498b(_0xd7c2e6['creatorId']);}if(0x0===_0x54f02d['size'])return;const _0x23fc99=await _0x1c50bd['getMany'](_0xcf0bf1,Array['from'](_0x54f02d));for(const _0x493ce4 of _0x23fc99)_0xe58d93['getUser'](_0x493ce4['id'])||_0xe58d93['addUser'](_0x493ce4);function _0x3a498b(_0x41cbf0){_0xe58d93['getUser'](_0x41cbf0)||_0x54f02d['add'](_0x41cbf0);}}};function pt(_0x23c309){return _0x23c309['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x23c309['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x23c309['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x541bf0{static get requires(){return[_0xb062ae,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x5a12bf{_collapseAt;constructor(_0x3f505d,_0x274e7d=0x6){super(_0x3f505d);const _0x55eecd=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x274e7d,this['bind']('isHidden')['to'](this,'usersCount',_0x28aba8=>_0x28aba8<_0x274e7d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x55eecd['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':_0x55eecd['to']('usersCount',_0x470eef=>'+'+(_0x470eef-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x5a12bf{items;keystrokes;constructor(_0x1892a1){super(_0x1892a1);const _0x34b9ed=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x13efaf(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x34b9ed['if']('hasPopup'),'aria-expanded':_0x34b9ed['to']('isExpanded',_0x51df1f=>this['hasPopup']&&String(_0x51df1f)),'aria-label':_0x34b9ed['to']('hasPopup',_0x4a80c2=>X(_0x1892a1,_0x4a80c2?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x34b9ed['to']('hasPopup',_0x306afb=>!!_0x306afb&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x34b9ed['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x34b9ed['to'](_0x1f34a9=>{const _0x3dedbb=_0x1f34a9,_0x9bbf59=document['querySelector']('.ck-presence-list__dropdown-list'),_0x11fd04=document['querySelector']('.ck-balloon-panel_with-arrow');_0x9bbf59?.['contains'](_0x3dedbb['relatedTarget'])||_0x11fd04?.['contains'](_0x3dedbb['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3ffd4c,_0x24aaf2,_0x22d63d)=>{this['element']&&(_0x22d63d?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x5a12bf{counterView;inlineListView;constructor(_0xcf5af4,_0x237624=0x6){super(_0xcf5af4);const _0x2bd08b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x237624),this['inlineListView']=new vt(_0xcf5af4),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x134ead of this['inlineListView']['items'])_0x134ead['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',_0x2bd08b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x5a12bf{listWrapperView;constructor(_0x4e1e3b,_0x29a38f){super(_0x4e1e3b);const _0x55abb9=this['bindTemplate'];this['listWrapperView']=new bt(_0x4e1e3b,_0x29a38f),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x4e1e3b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x55abb9['to'](_0x10ca47=>{const _0x3e8b7d=_0x10ca47,_0x7d8e12=document['querySelector']('.ck-presence-list__list'),_0x473b7e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x7d8e12?.['contains'](_0x3e8b7d['relatedTarget'])||_0x473b7e?.['contains'](_0x3e8b7d['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x4bba40{constructor(_0xc3f955,_0x23b1bc){super(_0xc3f955);const _0x25d70c=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x23b1bc?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x25d70c['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x25d70c['to']('role'),'aria-label':_0x25d70c['to']('ariaLabel'),'aria-labelledby':_0x25d70c['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3a30e1['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x420bd7=this['element'];_0x420bd7&&(this['_isScrollable']=Math['max'](_0x420bd7['scrollHeight'],_0x420bd7['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x5d2e36{['userView'];constructor(_0x218c97,_0x253a14,_0x1d908a){super(_0x218c97);const _0x302e66=this['bindTemplate'];this['userView']=new _0x40ac71(_0x218c97,_0x253a14);const _0x2187e6={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x253a14['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x253a14['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x253a14['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x253a14['color']['getColorVariable'](),'--ck-user-color-alpha':_0x253a14['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x1d908a&&(_0x2187e6['tag']='button',_0x2187e6['on']={'click':_0x302e66['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2187e6);}['focus'](){this['element']['focus']();}},It=class extends _0x5a12bf{['userView'];['markerView'];constructor(_0xa5af34,_0x3ce382,_0x370651){super(_0xa5af34);const _0xc1fe9a=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x40ac71(_0xa5af34,_0x3ce382),this['markerView']=new St(_0xa5af34,_0x3ce382);const _0x3c213b=new _0x3344ca(_0xa5af34);_0x3c213b['template']['tag']='span',_0x3c213b['text']=_0x3ce382['name'];const _0x312176={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0xc1fe9a['to']('isFocusable',_0x13ac14=>!!_0x13ac14&&0x0),'aria-labelledby':_0x3c213b['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0xc1fe9a['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0xc1fe9a['to']('hasTooltip',_0x125d0a=>!_0x125d0a),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3c213b]};_0x370651&&(_0x312176['tag']='button',_0x312176['on']={'click':_0xc1fe9a['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x312176);}},St=class extends _0x5a12bf{constructor(_0x32353d,_0x10fad9){super(_0x32353d),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x10fad9['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x10fad9['color']['getColorVariable'](),'--ck-user-color-alpha':_0x10fad9['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x41ec8a{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1f54aa){super(_0x1f54aa),this['context']['config']['define']('presenceList',Tt);const _0x30af75=_0x1f54aa['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x30af75)throw new _0x1017f6('presencelist-collapseat-invalid-format',this);if(_0x30af75<0x1)throw new _0x1017f6('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x436156(),this['balloonPanelView']=new _0x1e027a(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x2ad890 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2ad890);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3e77b5,_0x3f85bb)=>{this['_handleUserAdd'](_0x3f85bb);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x44fa6f,_0x5697c3)=>{this['_handleUserRemove'](_0x5697c3);});}_createView(){const _0x587d10=this['context'],_0x5d5aa3=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x28f7ee=this['balloonPanelView'];if(!_0x3fb10f(_0x587d10['config']['get']('presenceList.container')))throw new _0x1017f6('presencelist-missing-container',this);return _0x5d5aa3['counterView']['bind']('usersCount')['to'](this),_0x5d5aa3['bind']('isCollapsed')['to'](this,'usersCount',_0x48b8e6=>{const {collapseAt:_0x3f6731}=_0x587d10['config']['get']('presenceList'),_0x4560f6=_0x48b8e6>=_0x3f6731;if(_0x4560f6&&!_0x5d5aa3['inlineListView']['items']['find'](_0x110c4f=>_0x110c4f instanceof wt)){const _0x1e2eed=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1e2eed&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5d5aa3['inlineListView']['items']['add'](_0x5d5aa3['counterView']);}return _0x4560f6||this['hideDropdown'](),_0x4560f6;}),_0x5d5aa3['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x3f7b62=>{const _0x4d2d19=_0x587d10['config']['get']('presenceList'),_0x1034c1=new It(_0x587d10['locale'],_0x3f7b62,!!_0x4d2d19['onClick']);return _0x1034c1['bind']('hasTooltip')['to'](_0x5d5aa3,'isCollapsed',_0x278f07=>!_0x278f07),_0x1034c1['bind']('isFocusable')['to'](_0x5d5aa3,'isCollapsed',_0x1f36cb=>!_0x1f36cb),_0x4d2d19['onClick']&&this['listenTo'](_0x1034c1,'execute',()=>{this['view']['isCollapsed']||_0x4d2d19['onClick'](_0x3f7b62,_0x1034c1['element']);}),_0x1034c1;}),this['listenTo'](_0x5d5aa3['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5d5aa3['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5d5aa3['inlineListView']['keystrokes']['set']('Enter',(_0x51d0c8,_0x1b86c7)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1b86c7());}),_0x5d5aa3['render'](),_0x28f7ee['render'](),_0x4b3948({'emitter':_0x5d5aa3,'activator':()=>_0x28f7ee['isVisible'],'contextElements':[_0x28f7ee['element'],_0x5d5aa3['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x587d10['config']['get']('presenceList.container')['appendChild'](_0x5d5aa3['element']),this['_bodyCollection']=new _0x46f4ce(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5d5aa3;}['_handleUserAdd'](_0x315d03){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x315d03['isMe'])return;const _0x17cf09=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x17cf09-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4184e4=_0x315d03['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x315d03,_0x4184e4);}['_handleUserRemove'](_0x4703fa){this['usersCount']--;const {collapseAt:_0x1a83cc}=this['context']['config']['get']('presenceList'),_0xe6e0cb=this['usersCount']>=_0x1a83cc;if(this['currentDisplayedUsers']['get'](_0x4703fa['id']))this['currentDisplayedUsers']['remove'](_0x4703fa['id']);else{if(_0xe6e0cb&&this['currentDisplayedUsers']['length']+0x1===_0x1a83cc-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xe6e0cb?0x1:0x0)<this['usersCount']){for(const _0x349558 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x349558['id'])&&(this['currentDisplayedUsers']['add'](_0x349558,Math['min'](this['currentDisplayedUsers']['length']-(_0xe6e0cb?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xe6e0cb?0x1:0x0)===_0x1a83cc-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x34d284=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x34d284['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0xbff6}=this['presenceDropdownView'];_0xbff6['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xcba5f1=>{if(!_0x34d284['displayMe']&&_0xcba5f1['isMe'])return null;const _0x150241=new kt(this['context']['locale'],_0xcba5f1,!!_0x34d284['onClick']);return _0x34d284['onClick']&&this['listenTo'](_0x150241,'execute',()=>{_0x34d284['onClick'](_0xcba5f1,_0x150241['element']);}),_0x150241;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0xbff6['focus'](),_0xbff6['checkIfScrollable']();const _0x8016f0=(_0x58c782,_0xc85fe2)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xc85fe2();};_0xbff6['keystrokes']['set']('Esc',_0x8016f0),_0xbff6['keystrokes']['set']('Shift+Tab',_0x8016f0),_0xbff6['keystrokes']['set']('Tab',(_0x338d81,_0x20b0e5)=>{!function(_0xc52181){const _0x4e3998=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x265b46=>_0x265b46+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2cdffd=[...document['body']['querySelectorAll'](_0x4e3998)]['filter'](_0x1aede5=>_0x1aede5===document['activeElement']||_0x1aede5['offsetWidth']+_0x1aede5['offsetHeight']>0x0)['sort']((_0x4a4789,_0x1716d0)=>(_0x4a4789['tabIndex']||0x0)-(_0x1716d0['tabIndex']||0x0)),_0x5cd439=_0x2cdffd[(_0x2cdffd['indexOf'](_0xc52181)+0x1)%_0x2cdffd['length']];_0x5cd439&&_0x5cd439['focus']();}(this['view']['element']),this['hideDropdown'](),_0x20b0e5();}),_0xbff6['focusTracker']['add'](this['view']['element']),_0xbff6['focusTracker']['on']('change:isFocused',(_0x1691a2,_0x32f840,_0x566780)=>{_0x566780||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}destroy(){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x41ec8a{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|