@ckeditor/ckeditor5-real-time-collaboration 43.3.0-alpha.6 → 43.3.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/real-time-collaboration.js +1 -1
- package/dist/index.js +6 -6
- package/package.json +9 -9
- package/src/presencelist/presencelistui.js +1 -1
- package/src/presencelist/view/presencecounterview.js +1 -1
- package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
- package/src/presencelist/view/presencedropdownlistview.js +1 -1
- package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
- package/src/presencelist/view/presenceinlinelistview.js +1 -1
- package/src/presencelist/view/presencelistview.js +1 -1
- package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +1 -1
- package/src/realtimecollaborativeediting/realtimecollaborationclient.js +1 -1
- package/src/realtimecollaborativeediting/sessions.js +1 -1
- package/src/realtimecollaborativeediting/usermarkers.js +1 -1
- package/src/realtimecollaborativeediting/websocketgateway.js +1 -1
- package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +1 -1
- package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +1 -1
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{ContextPlugin as
|
|
24
|
-
((()=>at)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x132feb];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x23dc63){super(_0x23dc63),this['set']('state',_0x1ba25d['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x11c8ea);}['init'](){const _0x50c19a=this['context'],_0x5160c1=_0x50c19a['plugins']['get']('CloudServices'),_0x38fb72=_0x50c19a['plugins']['get'](_0x132feb);if(!_0x5160c1['token'])throw new _0x2067cc('websocketgateway-missing-token',this);if(!_0x5160c1['webSocketUrl'])throw new _0x2067cc('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),c['WebSocketGateway']['connect'](_0x5160c1['token'],_0x5160c1['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x211daf=>{if(this['connection']=_0x211daf,this['bind']('state')['to'](_0x211daf,'state',this,'_isBrowserOffline',(_0x191090,_0x417dae)=>('connected'!==_0x191090&&(this['_shouldPluginsReconnect']=!0x0),_0x417dae||_0x191090!==_0x1ba25d['CONNECTED']?_0x1ba25d['DISCONNECTED']:this['state']==_0x1ba25d['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x1ba25d['CONNECTING']):_0x1ba25d['CONNECTED'])),this['connection']['on']('error',(_0x406432,_0x3d391b)=>{if('limitExceeded'!==_0x3d391b['code'])throw console['error'](_0x3d391b),new _0x2067cc('cloudservices-init',null,{'originalError':_0x3d391b});_0x38fb72['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'});}),!_0x211daf['me'])return new Promise(_0x152c2a=>_0x211daf['on']('change:me',_0x152c2a));})['catch'](_0x193211=>{throw console['error'](_0x193211),new _0x2067cc('cloudservices-init',null,{'originalError':_0x193211});});}['addToReconnectionStack'](_0x4794b4){if('function'!=typeof _0x4794b4['reconnect'])throw new _0x2067cc('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4794b4))throw new _0x2067cc('websocketgateway-plugin-already-registered',this,{'name':_0x4794b4['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4794b4);}['removeFromReconnectionStack'](_0x5cb242){this['_reconnectionStack']['delete'](_0x5cb242);}['isInReconnectionStack'](_0x587ed1){return this['_reconnectionStack']['has'](_0x587ed1);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x442317=>_0x442317['reconnect']())))['then'](()=>this['state']=_0x1ba25d['CONNECTED'])['catch'](_0xa73e1a=>{throw console['error'](_0xa73e1a),new _0x2067cc('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x1ba25d['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x1f6ad9{['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[c,_0x13305b];}constructor(_0x2a2e4a){super(_0x2a2e4a),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3caab5(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x13305b);}['init'](){const _0x17902e=this['context']['plugins']['get'](c);this['listenTo'](_0x17902e,'change:state',(_0x4ba0f4,_0x38b758,_0x566198)=>{if('connected'!==_0x566198)this['channelSessions']['forEach'](_0x4721f2=>_0x4721f2['clear']()),this['channelConnectedUsers']['forEach'](_0x30ef1d=>_0x30ef1d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2276cd,_0x2cff59]of this['_registeredSessions'])for(const _0x5d9219 of _0x2cff59)this['_handleSessionAdd'](_0x2276cd,_0x5d9219);}}),this['_createUser'](_0x17902e['connection']['me'],!0x0);}['register'](_0x3976ee,_0x123c6c){if(this['_registeredSessions']['has'](_0x3976ee))throw new _0x2067cc('sessions-register-already-registered',null,{'channelId':_0x3976ee});this['_registeredSessions']['set'](_0x3976ee,_0x123c6c),this['channelSessions']['set'](_0x3976ee,new _0x3caab5()),this['channelConnectedUsers']['set'](_0x3976ee,new _0x3caab5()),this['listenTo'](_0x123c6c,'add',(_0x5cc3e5,_0x59934d)=>this['_handleSessionAdd'](_0x3976ee,_0x59934d)),this['listenTo'](_0x123c6c,'remove',(_0x1149b5,_0x6cfedc)=>this['_handleSessionRemove'](_0x3976ee,_0x6cfedc));for(const _0x54baea of _0x123c6c)this['_handleSessionAdd'](_0x3976ee,_0x54baea);}['unregister'](_0x2bf07f){if(!this['_registeredSessions']['has'](_0x2bf07f))throw new _0x2067cc('sessions-unregister-not-exist',null,{'channelId':_0x2bf07f});const _0x3b7fe3=this['_registeredSessions']['get'](_0x2bf07f);this['stopListening'](_0x3b7fe3);for(const _0x274045 of _0x3b7fe3)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x2bf07f,_0x274045);this['_registeredSessions']['delete'](_0x2bf07f),this['channelSessions']['delete'](_0x2bf07f),this['channelConnectedUsers']['delete'](_0x2bf07f);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x2008fb){for(const _0xe90c83 of this['channelSessions']['values']())for(const _0x19677c of _0xe90c83)if(_0x19677c['id']===_0x2008fb)return _0x19677c['user'];}['getUserSessions'](_0x3c2ea3,_0x1fd6da){const _0x5dd9b5=_0x1fd6da?[this['channelSessions']['get'](_0x1fd6da)]:this['channelSessions']['values'](),_0x441b39=new Set();for(const _0x41f7b7 of _0x5dd9b5)for(const _0x50fe41 of _0x41f7b7)_0x50fe41['user']['id']===_0x3c2ea3['id']&&_0x441b39['add'](_0x50fe41['id']);return _0x441b39;}['getUserRole'](_0x8b90bb){for(const _0x142a6f of this['channelSessions']['values']())for(const _0x2af5db of _0x142a6f)if(_0x2af5db['user']===_0x8b90bb)return _0x2af5db['role'];}['_handleSessionAdd'](_0x3d37b7,_0x26b2d){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0xc311bb=_0x26b2d['user'],_0x4ebc06=this['_users']['getUser'](_0xc311bb['id'])||this['_createUser'](_0xc311bb),_0x5ef7d1=Object['assign']({},_0x26b2d,{'user':_0x4ebc06});this['channelSessions']['get'](_0x3d37b7)['add'](_0x5ef7d1);const _0x263dda=this['channelConnectedUsers']['get'](_0x3d37b7);_0x263dda['has'](_0x4ebc06['id'])||_0x263dda['add'](_0x4ebc06),this['allConnectedUsers']['has'](_0x4ebc06['id'])||this['allConnectedUsers']['add'](_0x4ebc06,_0x4ebc06['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x3d37b7,{'channelId':_0x3d37b7,'session':_0x5ef7d1});}['_handleSessionRemove'](_0x179b67,_0x9fc072){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x493dad=this['channelConnectedUsers']['get'](_0x179b67),_0x161d60=_0x9fc072['user'];_0x161d60['id']&&(this['channelSessions']['get'](_0x179b67)['remove'](_0x9fc072['id']),_0x493dad['has'](_0x161d60['id'])&&!this['getUserSessions'](_0x161d60,_0x179b67)['size']&&_0x493dad['remove'](_0x161d60['id']),this['allConnectedUsers']['get'](_0x161d60['id'])&&!this['getUserSessions'](_0x161d60)['size']&&this['allConnectedUsers']['remove'](_0x161d60['id']));}['_createUser'](_0x44b214,_0x52b577){const _0x5e4908=this['_users']['addUser'](_0x44b214);return _0x52b577&&this['_users']['defineMe'](_0x44b214['id']),_0x5e4908['orderNumber']=this['_uniqueUsersCount']++,_0x5e4908;}}class G extends _0x3c7597{['_domEmitter']=new(_0x11c8ea())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x224db0=this['editor'],_0x2187fb=_0x224db0['plugins']['get'](i);_0x224db0['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x46bf3a,{writer:_0x22a404})=>function(_0x2522b5,_0x51442d,_0x1f2da1,_0x318457){const _0x4f2119=_0x2522b5['markerName']['split'](':')[0x2],_0x130689=_0x1f2da1['getUserBySessionId'](_0x4f2119);if(!_0x130689||_0x4f2119===_0x1f2da1['mySessionId'])return;if(!_0x318457['model']['schema']['checkChild'](_0x2522b5['markerRange']['start'],'$text'))return;const _0x4aeefb={'class':'ck-user__marker\x20'+_0x130689['color']['getMarkerClass'](),'data-name':_0x130689['name'],'data-session-id':_0x4f2119},_0xd2c8f3=_0x318457['model']['markers']['get'](_0x2522b5['markerName']),_0x987ec2=_0xd2c8f3['getStart'](),_0x216396=_0x987ec2['nodeAfter'],_0x1db0ff=_0x318457['model']['schema'];if(_0x216396&&_0x1db0ff['isObject'](_0x216396)&&_0x1db0ff['isInline'](_0x216396)&&!_0x318457['model']['markers']['get']('user:range:'+_0x4f2119)['getRange']()['isCollapsed'])return;const _0x154986=_0x987ec2['parent'];return _0x318457['model']['schema']['isLimit'](_0x154986)&&!_0x318457['model']['hasContent'](_0x154986)&&(_0x4aeefb['contenteditable']=!0x1),function(_0xd9c21e,_0x391ed3,_0x5116a0){const _0x41c261=_0xd9c21e['createUIElement']('span',_0x391ed3);return _0xd9c21e['setCustomProperty']('userPositionMarker',!0x0,_0x41c261),_0x41c261['render']=function(_0x2867e8){const _0x2df24a=this['toDomElement'](_0x2867e8);return _0x2df24a['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x5116a0['name']+'</span>',_0x2df24a['addEventListener']('mouseenter',()=>{_0x2df24a['classList']['add']('ck-user__marker_hovered');}),_0x2df24a['addEventListener']('mouseleave',()=>{_0x2df24a['classList']['remove']('ck-user__marker_hovered');}),_0x2df24a;},_0x41c261['isSimilar']=function(_0x31926d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x31926d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x31926d['getAttribute']('data-session-id'));},_0x41c261;}(_0x51442d,_0x4aeefb,_0x130689);}(_0x46bf3a,_0x22a404,_0x2187fb,_0x224db0)}),_0x224db0['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x595beb=>function(_0x49209c,_0x602606){const _0x34b864=_0x49209c['markerName']['split'](':')[0x2];if(_0x34b864===_0x602606['mySessionId'])return null;const _0xd7ba75=_0x602606['getUserBySessionId'](_0x34b864);if(!_0xd7ba75)return{'id':_0x34b864,'classes':[]};return{'id':_0x34b864,'classes':['ck-user__selection',_0xd7ba75['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x34b864},'priority':0x7d0+_0xd7ba75['orderNumber']};}(_0x595beb,_0x2187fb)}),function(_0x2b40c2){const _0x13ee02=_0x2b40c2['model'],_0x4e459e=new Map(),_0x556b97=_0x2b40c2['plugins']['get'](i);_0x13ee02['markers']['on']('update:user:range',(_0x55bbcd,_0x2945f9,_0x4ff8f5,_0x172a24)=>{if(!_0x172a24&&_0x4e459e['get'](_0x2945f9['name']))return _0x4e459e['get'](_0x2945f9['name'])['detach'](),void _0x4e459e['delete'](_0x2945f9['name']);const _0x5437e4=_0x2945f9['name']['split'](':')[0x2];if(_0x5437e4===_0x556b97['mySessionId'])return;const _0x30465f='user:position:'+_0x5437e4;_0x13ee02['markers']['has'](_0x30465f)&&_0x2b40c2['editing']['reconvertMarker'](_0x30465f),_0x2945f9['on']('change:range',(_0x570656,_0x331128,_0x383d5b)=>{if('$graveyard'!=_0x331128['root']['rootName']&&'$graveyard'==_0x2945f9['getRange']()['root']['rootName']&&!_0x4e459e['has'](_0x2945f9['name'])){const _0x4de790=_0x13ee02['schema']['getNearestSelectionRange'](_0x383d5b['deletionPosition']);if(_0x4de790){const _0x3b56ee=rt['fromRange'](_0x4de790);_0x4e459e['set'](_0x2945f9['name'],_0x3b56ee),_0x3b56ee['on']('change:range',(_0x515641,_0x3d319f,_0x47169a)=>{if('$graveyard'==_0x3b56ee['root']['rootName']){const _0x31b3ca=_0x13ee02['schema']['getNearestSelectionRange'](_0x47169a['deletionPosition']);_0x31b3ca?(_0x3b56ee['start']=_0x31b3ca['start'],_0x3b56ee['end']=_0x31b3ca['end']):(_0x4e459e['delete'](_0x2945f9['name']),_0x3b56ee['detach']());}});}}});}),_0x13ee02['document']['on']('change',()=>{_0x4e459e['size']>0x0&&_0x13ee02['enqueueChange']({'isUndoable':!0x1},_0x1ee1f7=>{for(const [_0x37b3fa,_0xf65ffc]of _0x4e459e)'$graveyard'==_0x13ee02['markers']['get'](_0x37b3fa)['getRange']()['root']['rootName']&&(te(_0x37b3fa['split'](':')[0x2],_0xf65ffc['toRange'](),_0x13ee02,_0x1ee1f7),_0xf65ffc['detach']());_0x4e459e['clear']();});});}(_0x224db0),this['_domEmitter']['listenTo'](_0x2c0094['document'],'keydown',(_0x539762,{key:_0x4c6358})=>{'Escape'===_0x4c6358&&function(_0x8f0c35){_0x8f0c35['editing']['view']['change'](_0x3ddf4c=>{for(const _0x198233 of _0x8f0c35['model']['markers']){if(!_0x198233['name']['startsWith']('user:position'))continue;const _0x501ec0=_0x8f0c35['editing']['mapper']['markerNameToElements'](_0x198233['name']);if(_0x501ec0){for(const _0x16c8c5 of _0x501ec0)_0x3ddf4c['removeClass']('ck-user__marker_hovered',_0x16c8c5);}}});}(_0x224db0);},{'useCapture':!0x0});}['afterInit'](){const _0x46cd86=this['editor'],_0x5bd30c=_0x46cd86['commands']['get']('undo');_0x5bd30c&&_0x46cd86['model']['on']('applyOperation',(_0x31425b,_0x3736c0)=>{const _0x1b7a99=_0x3736c0[0x0];if('marker'!=_0x1b7a99['type']||!_0x1b7a99['name']['startsWith']('user:'))return;const _0x556bae=_0x1b7a99['batch'];_0x5bd30c['_createdBatches']['has'](_0x556bae)&&(_0x1b7a99['newRange']=_0x1b7a99['oldRange']?_0x46cd86['model']['createRange'](_0x1b7a99['oldRange']['start'],_0x1b7a99['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2eedde=this['editor'],_0x84d411=_0x2eedde['model']['document'],_0x4db9b3=_0x2eedde['plugins']['get'](i);_0x2eedde['model']['enqueueChange']({'isUndoable':!0x1},_0x3ca99d=>{const _0x105d41='user:range:'+_0x4db9b3['mySessionId'],_0x497aad='user:position:'+_0x4db9b3['mySessionId'],_0x1c5d7f=_0x2eedde['model']['markers']['has'](_0x105d41);_0x2eedde['editing']['view']['hasDomSelection']?te(_0x4db9b3['mySessionId'],_0x84d411['selection']['getFirstRange'](),_0x2eedde['model'],_0x3ca99d):_0x1c5d7f&&(_0x3ca99d['removeMarker'](_0x105d41),_0x3ca99d['removeMarker'](_0x497aad));});}}function te(_0x652453,_0x1f016d,_0x4cd057,_0x1d752d){const _0x154af1='user:range:'+_0x652453,_0x407c7e='user:position:'+_0x652453,_0x1dc0f9=_0x1f016d['getContainedElement']();let _0x11dc1c=_0x1f016d['start'];_0x1dc0f9&&_0x1dc0f9['is']('element','tableCell')&&(_0x11dc1c=function(_0x3049c5,_0x532f2b){for(const _0x5d9db0 of _0x3049c5['getPositions']())if(_0x532f2b['schema']['checkChild'](_0x5d9db0,'$text'))return _0x5d9db0;}(_0x1f016d,_0x4cd057),_0x1f016d=_0x1d752d['createRange'](_0x11dc1c));const _0x18e452=_0x1d752d['createRange'](_0x11dc1c);_0x4cd057['markers']['has'](_0x154af1)?(_0x1d752d['updateMarker'](_0x154af1,{'range':_0x1f016d}),_0x1d752d['updateMarker'](_0x407c7e,{'range':_0x18e452})):(_0x1d752d['addMarker'](_0x154af1,{'range':_0x1f016d,'usingOperation':!0x0}),_0x1d752d['addMarker'](_0x407c7e,{'range':_0x18e452,'usingOperation':!0x0}));}function $(_0x2fc671,_0x542da3,_0x28adae){const _0x45c996=_0x2fc671['t'],t=_0x2fc671['t'];switch(_0x542da3){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 _0x45c996({'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'},_0x28adae);default:return'';}}let Q=0x1;class l extends _0x3c7597{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0x311e8f)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,G,_0x116dc2,_0x13305b,_0x132feb];}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 _0x54e3a8=this['serverHistory']['getOperations']();for(let _0x18045b=_0x54e3a8['length']-0x1;_0x18045b>=0x0;_0x18045b--){const _0x998a80=_0x54e3a8[_0x18045b];if(!this['_disconnectionOperations']['has'](_0x998a80))return _0x998a80['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x2bcead){if(super(_0x2bcead),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0xade2db(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2067cc('collaboration-missing-channelid',this);const _0x827b15=_0x2bcead['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x827b15,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x36c71e(),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 Z(this['_disconnectionOperations']);}['init'](){const _0x5a69ba=this['editor'],_0x16bede=_0x5a69ba['plugins']['get'](_0x13305b),_0x1ef68c=_0x5a69ba['plugins']['get'](c);this['listenTo'](_0x16bede,'getOperationAuthor',(_0x465650,_0x5146fc)=>{const _0x3752cf=_0x5146fc[0x0];_0x3752cf['_authorId']&&(_0x465650['return']=_0x16bede['getUser'](_0x3752cf['_authorId']),_0x465650['stop']()),null===_0x3752cf['_authorId']&&(_0x465650['return']=null,_0x465650['stop']());},{'priority':'high'}),this['listenTo'](_0x5a69ba['model']['document']['selection'],'change:range',(_0x337e23,_0x1199e6)=>{_0x1199e6['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5a69ba['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5a69ba['model']['on']('applyOperation',(_0x1f8ede,_0x4534db)=>{const _0x10353e=_0x4534db[0x0];_0x10353e['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x10353e),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x1ef68c,'state',this,'_hasSynchronizationProblem',(_0x5c162a,_0x2e927e)=>'connected'===_0x5c162a&&!_0x2e927e),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5a69ba['disableReadOnlyMode']('rtc-offline'):_0x5a69ba['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5a69ba['disableReadOnlyMode']('rtc-offline'):_0x5a69ba['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x249f89=this['editor']['plugins']['get'](i),_0x219b02=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x249f89['unregister'](this['_channelId']);const _0xdb1f89=await this['_service']['reconnect'](_0x219b02['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0xdb1f89)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x129355=await this['_service']['getConnectedSessions']();_0x249f89['register'](this['_channelId'],_0x129355),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4da491){if(function(_0x396666){return'404'===_0x396666['code'];}(_0x4da491)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5eefa0){return'409'===_0x5eefa0['code'];}(_0x4da491)){const _0x4c69e6=$(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'](_0x4c69e6);}else{if(!(_0x4da491 instanceof X))throw _0x4da491;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1e0037=this['editor']['plugins']['get'](c),_0x5d148c=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5d148c['channelSessions']['has'](this['_channelId'])&&_0x5d148c['unregister'](this['_channelId']),_0x1e0037['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2ba92e){if(this['sessionId']!==_0x2ba92e['sessionId']&&this['_lastSyncedOperationId']!==_0x2ba92e['lastOperationId'])throw new X();return this['sessionId']=_0x2ba92e['sessionId'],this['_handleServerResponse']([],{..._0x2ba92e,'wereChangesApplied':!0x1,'data':_0x2ba92e['data']},'reconnect');}async['_connectService'](_0x5efe22,_0x4f59a4=!0x1){const {connection:_0x1014c5}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x1014c5,this['_channelId'])['then'](_0x10aa9b=>this['_initSessionsHandling'](_0x10aa9b))['catch'](_0xccf610=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xccf610);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1a4a76,_0x3f1205)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x3f1205);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x42fa65=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5efe22);this['_isPendingUpdate']=!0x0;const _0x5424d1=await this['_service']['connect'](_0x1014c5,this['_compressOperations'](_0x5efe22),_0x42fa65);if(this['sessionId']=_0x5424d1['sessionId'],_0x4f59a4){if(!_0x5424d1['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5424d1['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5efe22,_0x5424d1,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5424d1,_0x5efe22);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x45367d=this['editor']['plugins']['get'](i),_0x1a6754=this['editor']['plugins']['get'](G),_0x4a2ff2=_0x45367d['channelSessions']['get'](this['_channelId']);_0x4a2ff2&&_0x4a2ff2['length']>0x1?_0x1a6754['createUserMarkerOperations']():this['listenTo'](_0x45367d,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x45367d['channelSessions']['get'](this['_channelId'])['length']&&_0x1a6754['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2416c9,_0x521b7f,_0x30b0f6,_0x219c92){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x521b7f){const _0x83563f=this['_decompressOperations'](_0x30b0f6,_0x219c92);await this['_fetchMissingUsers'](_0x83563f),this['_handleExternalOperations'](_0x83563f,_0x521b7f,_0x30b0f6['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x1a486a}=this['editor'];let _0x488e5c;try{_0x488e5c=await this['_service']['getDocumentDetails']();}catch(_0x30dca3){const _0x5cf289=$(_0x1a486a,'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'](_0x5cf289);}const _0x7715f=_0x488e5c['currentDocumentSession']||_0x488e5c['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x7715f['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x2363fc=$(_0x1a486a,'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.');this['_handleReconnectionError'](_0x2363fc);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x12cacf){const _0x4a00a6=this['editor']['plugins']['get'](i);this['listenTo'](_0x4a00a6,'sessionAdd:'+this['_channelId'],(_0x555229,{session:_0x5c61ba})=>{if(_0x5c61ba['id']===_0x4a00a6['mySessionId']){_0x555229['off']();const _0x3b6b18=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xeaf523=_0x5c61ba['permissions'];_0x3b6b18&&_0x3b6b18['isEnabled']&&(_0xeaf523=_0xeaf523['filter'](_0x391268=>'document:write'!==_0x391268)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xeaf523,this['_channelId']);}}),_0x4a00a6['register'](this['_channelId'],_0x12cacf);}['_initThrowingOnDataSet'](){const _0xc953c1=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3a45ca)=>{if(!_0x3a45ca[_0x3a45ca['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2067cc('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xc953c1['apply'](this['editor']['data'],_0x3a45ca);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x3c41f1,[_0x1bf66d])=>{if(this['_document']['version'])throw new _0x2067cc('realtimecollaborationclient-init-document-already-initialized',this);_0x3c41f1['stop'](),this['_setPendingAction']();const _0x5623b2=this['editor']['config']['get']('rootsAttributes'),_0x33ed58=this['_getOperationsFromInitData'](_0x1bf66d,_0x5623b2);0x0==_0x33ed58['length']&&_0x33ed58['push'](new _0x4e4135(0x0)),_0x3c41f1['return']=this['_connectService'](_0x33ed58)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x12535f=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x12535f))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x443a50,[_0xd5aa88,_0x1c14bc])=>{_0x443a50['stop']();const _0x82bc41=this['editor']['model']['document']['getRoot'](_0xd5aa88);if(!this['_knownRootNames']['has'](_0xd5aa88)){const _0x50cb97=_0x1c14bc&&_0x1c14bc['data']?_0x1c14bc['data']:'',_0x123dce=_0x1c14bc&&_0x1c14bc['attributes']?_0x1c14bc['attributes']:{};await this['_loadRoot'](_0xd5aa88,_0x50cb97,_0x123dce);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x82bc41['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x82bc41);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x174d41){const _0x4a97c4=this['editor']['plugins']['get'](_0x13305b),{connection:_0x134421}=this['editor']['plugins']['get'](c),_0x2cf62c=new Set();for(const _0x44460e of _0x174d41){const _0x4f5eed=_0x44460e['_authorId'];_0x4f5eed&&!_0x4a97c4['getUser'](_0x4f5eed)&&_0x2cf62c['add'](_0x4f5eed);}if(0x0===_0x2cf62c['size'])return;const _0x1c20c2=await ht['getMany'](_0x134421,Array['from'](_0x2cf62c));for(const _0x3a34a6 of _0x1c20c2)_0x4a97c4['getUser'](_0x3a34a6['id'])||_0x4a97c4['addUser'](_0x3a34a6);}['_getOperationsFromInitData'](_0x124ccb,_0x3ba638={}){const _0x3802eb=this['editor']['model'],_0x58b39b=[];let _0x3223ab=0x0;const _0x1927a5='string'==typeof _0x124ccb?{'main':_0x124ccb}:_0x124ccb;for(const _0x534569 of Object['keys'](_0x1927a5)){if(!this['_document']['roots']['has'](_0x534569))throw new _0x2067cc('realtimecollaborationclient-init-non-existent-root',this);const _0x17467f=this['editor']['data']['parse'](_0x1927a5[_0x534569]),_0x5ad7f0=this['_document']['getRoot'](_0x534569),_0xd9e97b=new _0x5e0cf2(_0x3802eb['createPositionAt'](_0x5ad7f0,0x0),_0x17467f,_0x3223ab++);_0x58b39b['push'](_0xd9e97b);for(const [_0x52ad46,_0x42b6ff]of _0x17467f['markers']){const _0x1ea1e7=_0x3802eb['createRange'](_0x3802eb['createPositionFromPath'](_0x5ad7f0,_0x42b6ff['start']['path']['slice']()),_0x3802eb['createPositionFromPath'](_0x5ad7f0,_0x42b6ff['end']['path']['slice']())),_0x2ab936=new _0x54f3a2(_0x52ad46,null,_0x1ea1e7,_0x3802eb['markers'],!0x0,_0x3223ab++);_0x58b39b['push'](_0x2ab936);}}if(_0x3ba638)for(const [_0x972fe6,_0x31c42b]of Object['entries'](_0x3ba638)){const _0xa8a42c=_0x3802eb['document']['getRoot'](_0x972fe6);if(!_0xa8a42c)throw new _0x2067cc('multi-root-editor-root-attributes-no-root',null);for(const [_0x16ca87,_0x1bb7d8]of Object['entries'](_0x31c42b))if(null!==_0x1bb7d8){const _0x17b847=new _0x34ffa8(_0xa8a42c,_0x16ca87,null,_0x1bb7d8,_0x3223ab++);_0x58b39b['push'](_0x17b847);}}return _0x58b39b;}async['_loadRoot'](_0x18ead5,_0x3c9dc6,_0x19fae9){this['_getOperationsFromInitData']({[_0x18ead5]:_0x3c9dc6},{[_0x18ead5]:_0x19fae9})['forEach']((_0x2d3138,_0x408d7f)=>{_0x2d3138['baseVersion']=this['_document']['version']+_0x408d7f,_0x2d3138['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2d3138);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3ecd03,_0x762794){let _0x144d80;this['_offset']=_0x3ecd03['offset'];const _0x20a0ec=_0x3ecd03['wereChangesApplied']&&!_0x3ecd03['initData'],_0x53cfa8=_0x20a0ec?0x0:_0x3ecd03['data']['baseVersion'];if(_0x762794['forEach'](_0x28a64e=>{_0x28a64e['_isInit']=!0x0,_0x28a64e['createdAt']=_0x3ecd03['sessionCreatedAt'],_0x28a64e['_authorId']=null;}),_0x20a0ec)_0x144d80=_0x762794,this['_applyOperationsSet'](_0x144d80,_0x20a0ec);else{if(_0x3ecd03['initData']){const _0x495fe7=this['_getOperationsFromInitData'](_0x3ecd03['initData']);this['_document']['history']['version']=-_0x495fe7['length'],_0x495fe7['forEach'](_0x4554d6=>{_0x4554d6['baseVersion']-=_0x495fe7['length'],_0x4554d6['createdAt']=_0x3ecd03['sessionCreatedAt'],_0x4554d6['_isInit']=!0x0,_0x4554d6['_authorId']=null;}),this['_applyOperationsSet'](_0x495fe7,!0x0),this['serverHistory']['version']=-_0x495fe7['length']+this['_offset'],this['_updateServerHistory'](_0x495fe7);}this['_document']['history']['version']=_0x53cfa8,_0x144d80=this['_decompressOperations'](_0x3ecd03['data'],_0x3ecd03['metadata']),await this['_fetchMissingUsers'](_0x144d80),this['_applyOperationsSet'](_0x144d80,_0x20a0ec);}_0x3ecd03['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x144d80,_0x3ecd03['lastOperationId']),this['_lastSyncedOperationId']=_0x3ecd03['lastOperationId']),this['serverHistory']['version']=_0x53cfa8+this['_offset'],this['_updateServerHistory'](_0x144d80),_0x762794['filter'](_0x519d42=>{const _0x50207c=this['_getAffectedRoot'](_0x519d42);return _0x50207c&&!this['_knownRootNames']['has'](_0x50207c);})['forEach']((_0x1db812,_0x4f0d9c)=>{_0x1db812['baseVersion']=this['_document']['version']+_0x4f0d9c,this['_saveOperationInBuffer'](_0x1db812);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x7ae909,_0x9642c2){throw this['_isPendingUpdate']=!0x0,_0x9642c2&&console['error'](_0x9642c2),new _0x2067cc(_0x7ae909,this['editor']);}['_saveOperationInBuffer'](_0x1550eb){this['_knownOperations']['has'](_0x1550eb)||(this['_knownOperations']['add'](_0x1550eb),this['_bufferedOperations']['push'](_0x1550eb),this['_pendingAction']||'marker'==_0x1550eb['type']&&!_0x1550eb['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1e61dd=!0x1){!_0x1e61dd&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x198392=>{_0x198392&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x27bbf7=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x97a315){return _0x97a315['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x97a315['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x97a315['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x27bbf7))throw _0x27bbf7;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x399c1d=>{this['on']('change:_isPendingUpdate',()=>{_0x399c1d();});});}async['_sendBufferedOperations'](){const _0xae97ec=this['editor']['plugins']['get'](G);if(this['_shouldSendSelectionUpdate']()&&(_0xae97ec['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3ccec7=[...this['_bufferedOperations']];for(const _0x4eecbf of _0x3ccec7)_0x4eecbf['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4eecbf);const _0x13a315=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3ccec7),_0x3de3d6=Q++,_0x591ce5=this['_compressOperations'](_0x3ccec7),_0x3bb8b9=await this['_service']['sendOperations'](_0x591ce5,_0x591ce5['baseVersion'],_0x13a315);try{return await this['_handleServerResponse'](_0x3ccec7,_0x3bb8b9,_0x3de3d6);}catch(_0x516d2e){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x516d2e);}}async['_handleServerResponse'](_0x35ab7b,_0x3fc756,_0x635214){if('error'in _0x3fc756)throw _0x3fc756['error'];let _0x5a7966=!0x1;if(_0x3fc756['wereChangesApplied']){_0x3fc756['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3fc756['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5eb90b=>!_0x35ab7b['includes'](_0x5eb90b));for(const _0x582134 of _0x35ab7b)_0x582134['createdAt']='lastOperationAcceptedAt'in _0x3fc756&&_0x3fc756['lastOperationAcceptedAt']||void 0x0;Y(_0x35ab7b,_0x3fc756['version']-_0x35ab7b['length']),this['_updateServerHistory'](_0x35ab7b);const _0x321ed0=_0x35ab7b['filter'](_0x102773=>{if(!_0x102773['_isInit'])return!0x1;const _0x21db31=this['_getAffectedRoot'](_0x102773);return _0x21db31&&!this['_knownRootNames']['has'](_0x21db31);});Y(_0x321ed0,this['_document']['version']),this['_applyOperationsSet'](_0x321ed0),_0x5a7966=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x1cceee=this['_decompressOperations'](_0x3fc756['data'],_0x3fc756['metadata'])['filter'](_0x427edb=>_0x427edb['baseVersion']>=this['_lastServerVersion']);_0x1cceee['forEach'](_0x367a10=>this['_addKnownRoot'](_0x367a10)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x45d551=>!_0x45d551['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x45d551))),this['_bufferedOperations']['length']&&Y(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x1cceee),_0x5a7966=this['_handleExternalOperations'](_0x1cceee,_0x3fc756['version'],_0x3fc756['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5a7966?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x5bf8a7,_0x4fd6c7,_0x3963ec){try{const _0x1fc911={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3c2afd,operationsB:_0x1f5d2,originalOperations:_0x23ed4f}=_0x50e32b(_0x5bf8a7,this['_bufferedOperations'],_0x1fc911);Y(_0x3c2afd,this['_document']['version']),Y(_0x1f5d2,_0x4fd6c7);for(const _0xec92e3 of _0x3c2afd){const _0x32fd34=_0x23ed4f['get'](_0xec92e3);_0xec92e3['_authorId']=_0x32fd34?_0x32fd34['_authorId']:null;}_0x3963ec&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5bf8a7,_0x3963ec),this['_lastSyncedOperationId']=_0x3963ec),this['_bufferedOperations']=[..._0x1f5d2],this['_applyOperationsSet'](_0x3c2afd),this['_updateServerHistory'](_0x5bf8a7);}catch(_0x295a44){return console['error'](_0x295a44),!0x1;}return!0x0;}['_applyOperationsSet'](_0x1d3fa4,_0x9a027a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x13fac3=>{for(const _0x366995 of _0x1d3fa4)this['_knownOperations']['add'](_0x366995),this['_addKnownRoot'](_0x366995),_0x13fac3['batch']['addOperation'](_0x366995),this['editor']['model']['applyOperation'](_0x366995);});}['_addKnownRoot'](_0x509ec6){const _0xf99895=this['_getAffectedRoot'](_0x509ec6);_0xf99895&&this['_knownRootNames']['add'](_0xf99895);}['_getAffectedRoot'](_0x28c029){let _0x12604b,_0x4f0233;switch(_0x28c029['type']){case'insert':_0x12604b=_0x28c029['position']['root'];break;case'marker':if(_0x4f0233=_0x28c029['newRange'],!_0x4f0233)return null;_0x12604b=_0x4f0233['root'];break;case'addRootAttribute':_0x12604b=_0x28c029['root'];break;case'addRoot':_0x12604b=_0x28c029['affectedSelectable'];break;case'move':_0x12604b=_0x28c029['targetPosition']['root'];break;default:return null;}return _0x12604b['rootName'];}['_updateServerHistory'](_0x2271be){_0x2271be['forEach'](_0x36336b=>{const _0x1a145a=_0x36336b['clone']();_0x1a145a['_authorId']=_0x36336b['_authorId'],_0x1a145a['_isInit']=!!_0x36336b['_isInit'],_0x1a145a['createdAt']=_0x36336b['createdAt'],_0x1a145a['baseVersion']+=this['_offset'],_0x36336b['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1a145a),this['serverHistory']['addOperation'](_0x1a145a);});}['_handleReconnectionError'](_0x5a8fea){const _0x21f50a=this['editor']['plugins']['get']('Notification'),_0x17b16b=this['editor']['locale'];_0x5a8fea||(_0x5a8fea=$(_0x17b16b,'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.')),_0x21f50a['showWarning'](_0x5a8fea,{'title':$(_0x17b16b,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x116dc2)['add']($(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x116dc2)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x519fc2){const _0x486296=_0x519fc2['map'](_0x314a55=>_0x314a55['toJSON']());return this['_compressor']['compress'](_0x486296);}['_decompressOperations'](_0xca9bc3,_0x31b099){return this['_compressor']['decompress'](_0xca9bc3)['map']((_0x1f7a71,_0x4bd772)=>{const _0x43f95f='init'==_0x31b099[_0x4bd772]['type'];if('InsertOperation'==_0x1f7a71['__className']){const _0x57ea24=_0x1f7a71['position']['root'];!this['_document']['getRoot'](_0x57ea24)&&(this['_document']['createRoot']('$root',_0x57ea24)['_isAttached']=!0x1);}const _0xe384b=_0x75592d['fromJSON'](_0x1f7a71,this['_document']);return _0xe384b['wasUndone']=_0x1f7a71['wasUndone'],_0xe384b['_isInit']=_0x43f95f,_0xe384b['_authorId']=_0x43f95f?null:_0x31b099[_0x4bd772]['userId'],_0xe384b['_isDisconnection']='cs:removeUser'===_0x31b099[_0x4bd772]['type'],_0xe384b['createdAt']=_0x31b099[_0x4bd772]['createdAt'],_0xe384b;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4548b9=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4548b9&&_0x4548b9['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class X extends Error{}function Y(_0x59b76e,_0x4f0994){for(const _0x1c5abb of _0x59b76e)_0x1c5abb['baseVersion']=_0x4f0994++;}class Z{['_ignoredOperations'];['_operationToId'];constructor(_0x493b86){this['_ignoredOperations']=_0x493b86,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3061f4){let _0x93f980=_0x3061f4['length'];for(;_0x93f980--;){const _0x17d216=_0x3061f4[_0x93f980];if(!this['_ignoredOperations']['has'](_0x17d216)){if(!this['_operationToId']['has'](_0x17d216)){const _0x455eb8=_0x23cfbe()['slice'](0x1,0x12);this['_operationToId']['set'](_0x17d216,_0x455eb8);}return this['_operationToId']['get'](_0x17d216);}}}['setIdForTheLastOperation'](_0x7245b6,_0x49c92e){if(!_0x49c92e)return;let _0x1930f9=_0x7245b6['length'];for(;_0x1930f9--;){const _0x264e8a=_0x7245b6[_0x1930f9];this['_ignoredOperations']['has'](_0x264e8a)||this['_operationToId']['set'](_0x264e8a,_0x49c92e);}}}class n extends _0x3c7597{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x1f6ad9{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x40bb4f)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x13305b];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x527bc1){super(_0x527bc1),this['_services']=new Map();}async['init'](){const _0x57f711=this['context'],_0x1d8efd=_0x57f711['plugins']['get']('CommentsRepository');if(_0x57f711['plugins']['get'](c)['addToReconnectionStack'](this),_0x1d8efd['adapter']={'addCommentThread':async({channelId:_0x3d77c1,threadId:_0x5eb021,comments:_0x3b0ab5,resolvedAt:_0x1e7bc2,resolvedBy:_0x2f6bd5,context:_0x5f335e,attributes:_0x829837})=>{const _0x5af6fb=await this['_getService'](_0x3d77c1)['addCommentThread']({'commentThreadId':_0x5eb021,'comments':_0x3b0ab5['map'](_0x267ba0=>function(_0x3a4d5e,_0x2e1da0,_0x582a9d){return{'commentThreadId':_0x582a9d,'commentId':_0x3a4d5e['commentId'],'userId':_0x3a4d5e['authorId'],'content':_0x3a4d5e['content'],'documentId':_0x2e1da0,'createdAt':_0x3a4d5e['createdAt'],'attributes':_0x3a4d5e['attributes']||{}};}(_0x267ba0,_0x3d77c1,_0x5eb021)),'resolvedAt':_0x1e7bc2,'resolvedBy':_0x2f6bd5,'context':_0x5f335e,'attributes':_0x829837})['catch'](lt);return{'threadId':_0x5af6fb['commentThreadId'],'comments':_0x5af6fb['comments']};},'getCommentThread':async({channelId:_0x4e4f36,threadId:_0x26f40a})=>{const _0x4516a6=await this['_getService'](_0x4e4f36)['getCommentThread'](_0x26f40a)['catch'](lt);return _0x4516a6['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4516a6]),{'threadId':_0x4516a6['commentThreadId'],'comments':_0x4516a6['comments']['map'](b),'context':_0x4516a6['context'],'resolvedAt':_0x4516a6['resolvedAt'],'resolvedBy':_0x4516a6['resolvedBy'],'attributes':_0x4516a6['attributes']||{}});},'updateCommentThread':async({channelId:_0x17b2c9,threadId:_0x8b8da,context:_0x1b8a56,unlinkedAt:_0x24cc2e,attributes:_0x15a717})=>this['_getService'](_0x17b2c9)['updateCommentThread']({'commentThreadId':_0x8b8da,'context':_0x1b8a56,'attributes':_0x15a717,'unlinkedAt':_0x24cc2e})['catch'](y)['catch'](lt),'resolveCommentThread':async({channelId:_0x4a7377,threadId:_0x8fbabf})=>{const _0x3ad467=await this['_getService'](_0x4a7377)['resolveCommentThread'](_0x8fbabf)['catch'](y)['catch'](lt);return{'threadId':_0x3ad467['commentThreadId'],'resolvedAt':_0x3ad467['resolvedAt'],'resolvedBy':_0x3ad467['resolvedBy']};},'reopenCommentThread':async({channelId:_0x823579,threadId:_0x2304bd})=>this['_getService'](_0x823579)['reopenCommentThread'](_0x2304bd)['catch'](y)['catch'](lt),'removeCommentThread':({channelId:_0x335020,threadId:_0x202de4})=>this['_getService'](_0x335020)['removeCommentThread'](_0x202de4)['catch'](y)['catch'](lt),'addComment':({channelId:_0x590935,threadId:_0x42a513,commentId:_0x187a65,content:_0x1354ee,attributes:_0x39fa2f})=>this['_getService'](_0x590935)['addComment'](_0x42a513,_0x187a65,_0x1354ee,_0x39fa2f)['catch'](lt),'updateComment':({channelId:_0x491c60,threadId:_0x3f30ef,commentId:_0x55f6aa,content:_0x3b8ca1,attributes:_0x3f5975})=>this['_getService'](_0x491c60)['updateComment'](_0x3f30ef,_0x55f6aa,_0x3b8ca1,_0x3f5975)['catch'](y)['catch'](lt),'removeComment':({channelId:_0x11459c,threadId:_0x1a651f,commentId:_0x51ea2d})=>this['_getService'](_0x11459c)['removeComment'](_0x1a651f,_0x51ea2d)['catch'](y)['catch'](lt)},_0x57f711 instanceof _0x3bacf4){const _0x6ef459=_0x57f711['config']['get']('collaboration.channelId'),_0x45ea05=_0x57f711['plugins']['get'](i);await this['_setUpService'](_0x6ef459);const _0x37b85e=await this['_services']['get'](_0x6ef459)['getConnectedSessions']();this['listenTo'](_0x45ea05,'sessionAdd:'+_0x6ef459,(_0x453c8a,{session:_0x5506d5})=>{_0x5506d5['id']===_0x45ea05['mySessionId']&&(_0x453c8a['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5506d5['permissions'],_0x6ef459));}),_0x45ea05['register'](_0x6ef459,_0x37b85e);}}async['_setUpService'](_0x5a0c33){if(this['_services']['has'](_0x5a0c33))throw new _0x2067cc('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x5a0c33});const _0x5911b7=this['context']['plugins']['get']('CommentsRepository'),_0x30a892=new a['CommentsService'](_0x5a0c33);this['_services']['set'](_0x5a0c33,_0x30a892),this['listenTo'](_0x30a892,'commentThreadAdded',(_0x10ffc4,_0x1c33dc)=>{const {commentThreadId:_0x5c6a2f,documentId:_0x1b01f9,context:_0x1e436d,attributes:_0x75436c,resolvedAt:_0x202ce2,resolvedBy:_0x366bb3,comments:_0xb27150}=_0x1c33dc;_0x5911b7['getCommentThread'](_0x5c6a2f)||_0x5911b7['addCommentThread']({'threadId':_0x5c6a2f,'channelId':_0x1b01f9,'comments':_0xb27150?_0xb27150['map'](b):[],'context':_0x1e436d,'attributes':_0x75436c,'resolvedAt':_0x202ce2,'resolvedBy':_0x366bb3,'isFromAdapter':!0x0});}),this['listenTo'](_0x30a892,'commentThreadUpdated',(_0x4fd3bc,{commentThreadId:_0x5ba152,documentId:_0x5a6465,context:_0x1542fb,unlinkedAt:_0x3740b9,attributes:_0x49d8d8})=>{_0x5911b7['getCommentThread'](_0x5ba152)&&_0x5911b7['updateCommentThread']({'threadId':_0x5ba152,'channelId':_0x5a6465,'context':_0x1542fb,'unlinkedAt':_0x3740b9,'attributes':_0x49d8d8,'isFromAdapter':!0x0});}),this['listenTo'](_0x30a892,'commentThreadResolved',(_0x4bfc4c,{commentThreadId:_0x2cfe86,resolvedBy:_0x23b83c,resolvedAt:_0x2011d2})=>{const _0x276215=_0x5911b7['getCommentThread'](_0x2cfe86);_0x276215&&_0x276215['resolve']({'resolvedBy':_0x23b83c,'resolvedAt':_0x2011d2,'isFromAdapter':!0x0});}),this['listenTo'](_0x30a892,'commentThreadReopened',(_0x499eed,{commentThreadId:_0x4f33c9})=>{const _0xa50593=_0x5911b7['getCommentThread'](_0x4f33c9);_0xa50593&&_0xa50593['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30a892,'commentThreadRemoved',(_0x2e0d70,{commentThreadId:_0x7d118b})=>{const _0x21a972=_0x5911b7['getCommentThread'](_0x7d118b);_0x21a972&&_0x21a972['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30a892,'commentAdded',(_0x2842b6,_0x30ad82)=>{const _0x13d67e=_0x30ad82['commentThreadId'],_0x4c5865=_0x5911b7['getCommentThread'](_0x13d67e);_0x4c5865&&_0x4c5865['addComment']({...b(_0x30ad82),'isFromAdapter':!0x0});}),this['listenTo'](_0x30a892,'commentUpdated',(_0x246043,{commentThreadId:_0x4209ea,commentId:_0x263643,content:_0x450d13,attributes:_0x421af1})=>{const _0x418580=_0x5911b7['getCommentThread'](_0x4209ea);if(_0x418580){const _0x452f34=_0x418580['getComment'](_0x263643);_0x452f34&&_0x452f34['update']({'content':_0x450d13,'attributes':_0x421af1,'isFromAdapter':!0x0});}}),this['listenTo'](_0x30a892,'commentRemoved',(_0x49f649,{commentThreadId:_0x120141,commentId:_0xe4ee3d})=>{const _0x55d97=_0x5911b7['getCommentThread'](_0x120141);if(_0x55d97){const _0x1ee83a=_0x55d97['getComment'](_0xe4ee3d);_0x1ee83a&&_0x1ee83a['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x5a0c33);}['destroy'](){if(this['context']instanceof _0x3bacf4){const _0x104c77=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x104c77);}}['_terminateService'](_0x45951e){if(!this['_services']['has'](_0x45951e))throw new _0x2067cc('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x45951e});this['_getService'](_0x45951e)['disconnect'](),this['_services']['delete'](_0x45951e);}async['reconnect'](){for(const _0xc850db of this['_services']['keys']())await this['_connectService'](_0xc850db);if(this['context']instanceof _0x3bacf4){const _0x18f5d9=this['context']['config']['get']('collaboration.channelId'),_0x19f06f=this['context']['plugins']['get'](i);_0x19f06f['unregister'](_0x18f5d9);const _0x3e14ca=await this['_services']['get'](_0x18f5d9)['getConnectedSessions']();_0x19f06f['register'](_0x18f5d9,_0x3e14ca);}}async['_connectService'](_0xb8768){const {connection:_0x263a9a}=this['context']['plugins']['get'](c),_0x351705=this['context']['plugins']['get']('CommentsRepository'),_0x559c1d=this['_services']['get'](_0xb8768),_0x54a9c8=await _0x559c1d['connect'](_0x263a9a);await this['_fetchMissingUsersForThreads'](_0x54a9c8);const _0x50f720=new Set(Array['from'](_0x351705['getCommentThreads']({'channelId':_0xb8768}),_0x204b38=>_0x204b38['id']));for(const _0x1aba19 of _0x54a9c8)_0x1aba19['deletedAt']||_0x50f720['delete'](_0x1aba19['commentThreadId']);for(const _0x4d8d0b of _0x50f720)_0x351705['getCommentThread'](_0x4d8d0b)['remove']({'isFromAdapter':!0x0});for(const _0x48e6e7 of _0x54a9c8){let _0x238e1c=_0x351705['getCommentThread'](_0x48e6e7['commentThreadId']);const {commentThreadId:_0x296096,context:_0x5b4fc9,attributes:_0x15fc8e,resolvedBy:_0x3c26ab,resolvedAt:_0x528f03,unlinkedAt:_0x5132a4,deletedAt:_0x301c45}=_0x48e6e7;if(_0x301c45)continue;_0x238e1c||(_0x238e1c=_0x351705['addCommentThread']({'channelId':_0xb8768,'threadId':_0x296096,'context':_0x5b4fc9,'attributes':_0x15fc8e||{},'resolvedBy':_0x3c26ab,'resolvedAt':_0x528f03,'unlinkedAt':_0x5132a4,'isFromAdapter':!0x0}));const _0x376958=new Set(Array['from'](_0x238e1c['comments'],_0x135f59=>_0x135f59['id']));for(const _0x2b19df of _0x48e6e7['comments'])_0x376958['delete'](_0x2b19df['commentId']);for(const _0x11a4fa of _0x376958)_0x238e1c['getComment'](_0x11a4fa)['remove']({'isFromAdapter':!0x0});for(const _0x199f4c of _0x48e6e7['comments']){const _0x1096fc=_0x238e1c['getComment'](_0x199f4c['commentId']);_0x1096fc?_0x1096fc['content']!==_0x199f4c['content']&&_0x1096fc['update']({'content':_0x199f4c['content'],'isFromAdapter':!0x0}):_0x238e1c['addComment'](Object['assign'](b(_0x199f4c),{'isFromAdapter':!0x0}));}}}['_getService'](_0x5cf503){if(!this['_services']['has'](_0x5cf503))throw new _0x2067cc('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5cf503});return this['_services']['get'](_0x5cf503);}async['_fetchMissingUsersForThreads'](_0x581735){const _0x3a1c45=this['context']['plugins']['get'](_0x13305b),{connection:_0x1dad8f}=this['context']['plugins']['get'](c),_0x416eff=new Set();for(const {resolvedBy:_0x2d59ef,comments:_0x51b251}of _0x581735){_0x2d59ef&&!_0x3a1c45['getUser'](_0x2d59ef)&&_0x416eff['add'](_0x2d59ef);for(const {userId:_0xbf2c87}of _0x51b251)_0x3a1c45['getUser'](_0xbf2c87)||_0x416eff['add'](_0xbf2c87);}if(0x0===_0x416eff['size'])return;const _0x354c3f=await ht['getMany'](_0x1dad8f,Array['from'](_0x416eff));for(const _0x370346 of _0x354c3f)_0x3a1c45['getUser'](_0x370346['id'])||_0x3a1c45['addUser'](_0x370346);}}async function y(_0x58b658){if('404'!==_0x58b658['code'])throw _0x58b658;}function lt(_0x2250c0){if((_0x12b9e9=_0x2250c0)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x12b9e9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x12b9e9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x12b9e9;throw _0x2250c0;}function b(_0xba42ff){return{'threadId':_0xba42ff['commentThreadId'],'commentId':_0xba42ff['commentId'],'content':_0xba42ff['content'],'createdAt':_0xba42ff['createdAt'],'authorId':_0xba42ff['userId'],'attributes':_0xba42ff['attributes']||{}};}class f extends _0x3c7597{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x13305b];}constructor(_0xd6e23f){super(_0xd6e23f);const _0x3fd0f1=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x3fd0f1);}async['init'](){const _0x57a341=this['editor']['plugins']['get'](l),_0x55915a=_0x57a341['serverHistory'],_0x368c3a=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x55915a,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x57a341['sessionId']});const _0x232375=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x11896e=await tt['isBundleUploaded'](_0x368c3a['connection'],_0x232375);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0xffe06e})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xffe06e)),'updateRevisions':async _0x4d5572=>{await this['_waitForServiceReady']();const _0x1da042=this['_revisionTracker']['currentRevision'];if(_0x11896e&&0x1===_0x4d5572['length']&&_0x4d5572[0x0]['id']===_0x1da042['id'])return _0x4d5572;for(const _0x378858 of _0x4d5572)_0x378858['id']===_0x1da042['id']&&(_0x378858['isEmptyCurrent']=_0x378858['fromVersion']===_0x378858['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4d5572,this['_lastRequestId'])['then'](_0x25a8b7=>(this['_lastRequestId']=_0x25a8b7,_0x4d5572))['catch'](_0x24ea31=>{if(P(_0x24ea31)||'400'===_0x24ea31['code']&&void 0x0!==_0x24ea31['data']['wrongRequestId']){for(const _0x19dfd7 of _0x4d5572){!this['_revisionTracker']['repository']['getRevision'](_0x19dfd7['id'])||this['_revisionTracker']['_bufferUpdate'](_0x19dfd7['id'],_0x19dfd7,!0x1);}if(P(_0x24ea31))throw _0x24ea31;return _0x4d5572;}throw _0x24ea31;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4fa14c,{revisionsData:_0x4bd5cf,requestId:_0x40a1b7})=>{Math['max'](..._0x4bd5cf['map'](_0x19c1f1=>_0x19c1f1['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4bd5cf,_0x40a1b7);}):this['_handleRevisionsUpdate'](_0x4bd5cf,_0x40a1b7);});const {revisions:_0x533fcc,requestId:_0x3d3893}=await this['_revisionHistoryService']['connect'](_0x368c3a['connection']);_0x368c3a['addToReconnectionStack'](this),this['_lastRequestId']=_0x3d3893,await this['_fetchMissingUsers'](_0x533fcc);for(const _0x3836fc of _0x533fcc)this['_revisionTracker']['addRevisionData'](_0x3836fc);this['listenTo'](_0x57a341,'change:_isConnected',(_0x5659b5,_0x52a5b9,_0x4d7b6f)=>{_0x4d7b6f&&(this['_oldOffset']=_0x57a341['_offset'],_0x5659b5['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x368c3a,'state',_0x3e6502=>_0x3e6502===_0x1ba25d['CONNECTED']);}async['reconnect'](){const _0x2fe8e0=this['editor']['plugins']['get'](c),_0x45a5a8=this['editor']['plugins']['get'](l),_0x2c7cb8=async()=>{const _0x1bd82a=this['_revisionTracker']['currentRevision'],_0x1fe5c2=_0x1bd82a['id'],_0xf833f0=_0x1fe5c2!==_0x45a5a8['sessionId'];if(_0xf833f0){const _0x1e80b7=_0x45a5a8['_offset']-this['_oldOffset'],_0x43696b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1bd82a['toVersion']+_0x1e80b7!==_0x43696b){const _0x3e30c6=_0x1bd82a['fromVersion']+_0x1e80b7,_0x45385a=this['editor']['plugins']['get'](_0x13305b),_0x50eb10=this['_revisionTracker']['buildRevisionData']({'revision':_0x1bd82a,'from':_0x3e30c6,'to':_0x43696b});_0x50eb10['id']=_0x1bd82a['id'];const _0x232e59=_0x50eb10['authorsIds']['map'](_0x44dc99=>_0x45385a['getUser'](_0x44dc99));_0x1bd82a['_update']({..._0x50eb10,'authors':_0x232e59},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1bd82a['id'],_0x50eb10,!0x0);}this['_revisionTracker']['_startingVersion']=_0x43696b,(_0x1bd82a['toVersion']===_0x1bd82a['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1fe5c2)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1fe5c2),this['_revisionTracker']['_createCurrentRevision'](_0x43696b));}const {revisions:_0x4060ca,requestId:_0x569ec1}=await this['_revisionHistoryService']['reconnect'](_0x2fe8e0['connection'],this['_lastRequestId']);_0xf833f0&&_0x4060ca['length']>0x0?_0x45a5a8['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4060ca),this['_handleRevisionsUpdate'](_0x4060ca,_0x569ec1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x45a5a8['_isConnected']?_0x2c7cb8():new Promise((_0xb3350b,_0xc4df08)=>{_0x45a5a8['once']('change:_isConnected',()=>{_0x2c7cb8()['then'](_0xb3350b)['catch'](_0xc4df08);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x291d1c=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x56cdb6=>{_0x56cdb6['off'](),_0x291d1c();});});}['_getLatestVersionFromServerOperations'](){const _0x544c8e=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3a5d7d of _0x544c8e)if('marker'!==_0x3a5d7d['type']||_0x3a5d7d['affectsData'])return _0x3a5d7d['baseVersion']+0x1;}['_getLatestVersion'](){const _0x2fab74=this['editor']['plugins']['get'](l);return new Promise(_0x10a48b=>{_0x2fab74['_isPendingUpdate']?_0x2fab74['once']('change:_isPendingUpdate',()=>{_0x10a48b(this['_getLatestVersionFromServerOperations']());}):_0x10a48b(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5d20be,_0x2994ed){const _0x269981=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2994ed;for(const _0x4efaba of _0x5d20be){const _0xe71cf=_0x269981['getRevision'](_0x4efaba['id']);if(_0xe71cf){if((_0x4efaba['fromVersion']||_0x4efaba['toVersion'])&&(_0x4efaba['diffData']=null),_0xe71cf===this['_revisionTracker']['currentRevision']){const _0x2f5c3f=Math['max'](_0xe71cf['toVersion'],_0x4efaba['toVersion']),_0x990493=Math['max'](_0xe71cf['fromVersion'],_0x4efaba['fromVersion']);let _0x362e5c;_0xe71cf['toVersion']===_0x4efaba['toVersion']&&_0xe71cf['fromVersion']===_0x4efaba['fromVersion']?(_0x362e5c=!0x0,this['_preventResendingRevisionData'](_0x4efaba)):_0x4efaba['toVersion']===_0x2f5c3f&&_0x4efaba['fromVersion']===_0x990493?_0x362e5c=!0x1:(_0xe71cf['toVersion']===_0x2f5c3f&&_0xe71cf['fromVersion']===_0x990493||this['_fixRevision']({'revision':_0xe71cf,'from':_0x990493,'to':_0x2f5c3f}),_0x362e5c=!0x0),_0x362e5c&&(delete _0x4efaba['fromVersion'],delete _0x4efaba['toVersion'],delete _0x4efaba['diffData'],delete _0x4efaba['createdAt'],delete _0x4efaba['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4efaba),this['_preventResendingRevisionData'](_0x4efaba);}else this['_revisionTracker']['addRevisionData'](_0x4efaba);}const _0x5af2c0=_0x269981['getRevisions']();_0x5af2c0['reverse']();for(let _0x3a3299=0x0;_0x3a3299<_0x5af2c0['length']-0x1;_0x3a3299++){const _0x4ed8d0=_0x5af2c0[_0x3a3299],_0x49e98d=_0x5af2c0[_0x3a3299+0x1];if(_0x4ed8d0['fromVersion']<_0x49e98d['toVersion']){const _0x55594b=_0x49e98d['toVersion'],_0x29ba6e=Math['max'](_0x55594b,_0x4ed8d0['toVersion']);this['_fixRevision']({'revision':_0x4ed8d0,'from':_0x55594b,'to':_0x29ba6e});}}}['_fixRevision']({revision:_0x2be10b,from:_0x4b19fe,to:_0x1d93fa}={}){const _0x58759e=this['editor']['plugins']['get'](_0x13305b),_0x20222=this['_revisionTracker']['buildRevisionData']({'revision':_0x2be10b,'from':_0x4b19fe,'to':_0x1d93fa});_0x20222['authors']=_0x20222['authorsIds']['map'](_0x33fa72=>_0x58759e['getUser'](_0x33fa72)),_0x2be10b['_update'](_0x20222);}['_preventResendingRevisionData'](_0x37b777){const _0x46602b={};_0x46602b['id']=_0x37b777['id'];for(const _0x132e4d of Object['keys'](_0x37b777))'id'!==_0x132e4d&&(_0x46602b[_0x132e4d]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x46602b['id'],_0x46602b,!0x0);}async['_fetchMissingUsers'](_0x3887a8){const _0x573517=this['editor']['plugins']['get'](_0x13305b),{connection:_0x353923}=this['editor']['plugins']['get'](c),_0x168602=new Set();for(const _0x536258 of _0x3887a8){for(const _0x24a5b6 of _0x536258['authorsIds'])_0x4181ab(_0x24a5b6);_0x536258['creatorId']&&_0x4181ab(_0x536258['creatorId']);}if(0x0===_0x168602['size'])return;const _0x2294c9=await ht['getMany'](_0x353923,Array['from'](_0x168602));for(const _0x286679 of _0x2294c9)_0x573517['getUser'](_0x286679['id'])||_0x573517['addUser'](_0x286679);function _0x4181ab(_0x14a5ef){_0x573517['getUser'](_0x14a5ef)||_0x168602['add'](_0x14a5ef);}}}function P(_0x4238f0){return _0x4238f0['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4238f0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4238f0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x3c7597{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x4c3ca9{constructor(_0x51104c){super(_0x51104c);const _0x51a903=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x51a903['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x51a903['to']('usersCount',_0x1879ce=>$(_0x51104c,'CONNECTED_USERS',_0x1879ce))}]});}}class es extends _0x4c3ca9{['items'];['keystrokes'];constructor(_0x37a1f5){super(_0x37a1f5);const _0x54db14=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x30daff(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x54db14['if']('hasPopup'),'aria-expanded':_0x54db14['to']('isExpanded',_0xc34f73=>this['hasPopup']&&String(_0xc34f73)),'aria-label':_0x54db14['to']('hasPopup',_0x2bd5c1=>$(_0x37a1f5,_0x2bd5c1?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x54db14['to']('hasPopup',_0x417760=>!!_0x417760&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x54db14['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x2f357e,_0x35be91,_0x515c09)=>{this['element']&&(_0x515c09?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']);}}class _ extends _0x4c3ca9{['counterView'];['inlineListView'];constructor(_0xe01933){super(_0xe01933);const _0x4b209a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0xe01933),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x11068e of this['inlineListView']['items'])_0x11068e['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',_0x4b209a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class M extends _0x4c3ca9{['listWrapperView'];constructor(_0x17943a,_0x2fe5b5){super(_0x17943a),this['listWrapperView']=new ut(_0x17943a,_0x2fe5b5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':$(_0x17943a,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class ut extends _0xbf831b{constructor(_0x207846,_0x46eeb0){super(_0x207846);const _0x38c3ce=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x46eeb0?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x38c3ce['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x38c3ce['to']('role'),'aria-label':_0x38c3ce['to']('ariaLabel'),'aria-labelledby':_0x38c3ce['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2c0094['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4a413e=this['element'];_0x4a413e&&(this['_isScrollable']=Math['max'](_0x4a413e['scrollHeight'],_0x4a413e['clientHeight'])>0.8*window['innerHeight']);}}class E extends st{['userView'];constructor(_0x3d5bc0,_0x5cd428,_0x2e5e19){super(_0x3d5bc0);const _0x2b43c7=this['bindTemplate'];this['userView']=new et(_0x3d5bc0,_0x5cd428);const _0x525637={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5cd428['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5cd428['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5cd428['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2e5e19&&(_0x525637['tag']='button',_0x525637['on']={'click':_0x2b43c7['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x525637);}['focus'](){this['element']['focus']();}}class T extends _0x4c3ca9{['userView'];['markerView'];constructor(_0xf59995,_0x3b5ae2,_0x22591e){super(_0xf59995);const _0x1c3e34=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new et(_0xf59995,_0x3b5ae2),this['markerView']=new ct(_0xf59995,_0x3b5ae2);const _0x18f788=new ot(_0xf59995);_0x18f788['template']['tag']='span',_0x18f788['text']=_0x3b5ae2['name'];const _0x474df5={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1c3e34['to']('isFocusable',_0x51872b=>!!_0x51872b&&0x0),'aria-labelledby':_0x18f788['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1c3e34['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1c3e34['to']('hasTooltip',_0xb65107=>!_0xb65107),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x18f788]};_0x22591e&&(_0x474df5['tag']='button',_0x474df5['on']={'click':_0x1c3e34['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x474df5);}}class ct extends _0x4c3ca9{constructor(_0xfb3654,_0x315ab5){super(_0xfb3654),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x315ab5['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const D={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1f6ad9{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0x191e2b){super(_0x191e2b),this['context']['config']['define']('presenceList',D);const _0x7322c5=_0x191e2b['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x7322c5)throw new _0x2067cc('presencelist-collapseat-invalid-format',this);if(_0x7322c5<0x1)throw new _0x2067cc('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3caab5(),this['balloonPanelView']=new _0x4ca446(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0xaac55e of this['_allConnectedUsers'])this['_handleUserAdd'](_0xaac55e);this['listenTo'](this['_allConnectedUsers'],'add',(_0xdfde68,_0x3b0837)=>{this['_handleUserAdd'](_0x3b0837);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5e2b05,_0x20f505)=>{this['_handleUserRemove'](_0x20f505);});}['_createView'](){const _0x28d428=this['context'],_0x5af5b5=new _(this['context']['locale']),_0x13f6fe=this['balloonPanelView'];if(!_0x52addc(_0x28d428['config']['get']('presenceList.container')))throw new _0x2067cc('presencelist-missing-container',this);return _0x5af5b5['counterView']['bind']('usersCount')['to'](this),_0x5af5b5['bind']('isCollapsed')['to'](this,'usersCount',_0x494714=>{const {collapseAt:_0x31f4ee,displayMe:_0x3a79e8}=_0x28d428['config']['get']('presenceList'),_0x1016ab=_0x494714>=_0x31f4ee;return _0x5af5b5['counterView']['isHidden']=!(0x1==_0x494714&&_0x3a79e8||_0x1016ab),_0x1016ab||this['hideDropdown'](),_0x1016ab;}),_0x5af5b5['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x42dd26=>{const _0x44c2dd=_0x28d428['config']['get']('presenceList'),_0x3ea088=new T(_0x28d428['locale'],_0x42dd26,!!_0x44c2dd['onClick']);return _0x3ea088['bind']('hasTooltip')['to'](_0x5af5b5,'isCollapsed',_0x5d6ada=>!_0x5d6ada),_0x3ea088['bind']('isFocusable')['to'](_0x5af5b5,'isCollapsed',_0x30074b=>!_0x30074b),_0x44c2dd['onClick']&&this['listenTo'](_0x3ea088,'execute',()=>{this['view']['isCollapsed']||_0x44c2dd['onClick'](_0x42dd26,_0x3ea088['element']);}),_0x3ea088;}),this['listenTo'](_0x5af5b5['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x5af5b5['inlineListView']['keystrokes']['set']('Enter',(_0x5cecec,_0x30e78d)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x30e78d());}),_0x5af5b5['render'](),_0x13f6fe['render'](),_0x512ea3({'emitter':_0x5af5b5,'activator':()=>_0x13f6fe['isVisible'],'contextElements':[_0x13f6fe['element'],_0x5af5b5['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x28d428['config']['get']('presenceList.container')['appendChild'](_0x5af5b5['element']),this['_bodyCollection']=new _0x320c61(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5af5b5;}['_handleUserAdd'](_0x2fa5c8){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2fa5c8['isMe'])return;const _0x12eb52=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x12eb52&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x5743b1=_0x2fa5c8['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2fa5c8,_0x5743b1);}['_handleUserRemove'](_0x2c3809){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x2c3809['id'])&&(this['currentDisplayedUsers']['remove'](_0x2c3809['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0xa78f5b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xa78f5b['id']))return void this['currentDisplayedUsers']['add'](_0xa78f5b,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x46ad88=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new M(this['context']['locale'],!!_0x46ad88['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x494bbe}=this['presenceDropdownView'];_0x494bbe['items']['bindTo'](this['_allConnectedUsers'])['using'](_0xe1af9c=>{if(!_0x46ad88['displayMe']&&_0xe1af9c['isMe'])return null;const _0x1f6da7=new E(this['context']['locale'],_0xe1af9c,!!_0x46ad88['onClick']);return _0x46ad88['onClick']&&this['listenTo'](_0x1f6da7,'execute',()=>{_0x46ad88['onClick'](_0xe1af9c,_0x1f6da7['element']);}),_0x1f6da7;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x494bbe['focus'](),_0x494bbe['checkIfScrollable']();const _0xca38fe=(_0x2be65e,_0x275938)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x275938();};_0x494bbe['keystrokes']['set']('Esc',_0xca38fe),_0x494bbe['keystrokes']['set']('Shift+Tab',_0xca38fe),_0x494bbe['keystrokes']['set']('Tab',(_0xb47248,_0x3d752b)=>{!function(_0x2b0b40){const _0x3c53d0=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2e3a82=>_0x2e3a82+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x52b047=[...document['body']['querySelectorAll'](_0x3c53d0)]['filter'](_0x5940da=>_0x5940da===document['activeElement']||_0x5940da['offsetWidth']+_0x5940da['offsetHeight']>0x0)['sort']((_0x3b42b1,_0x4dcdd3)=>(_0x3b42b1['tabIndex']||0x0)-(_0x4dcdd3['tabIndex']||0x0)),_0x1be04f=_0x52b047['indexOf'](_0x2b0b40),_0x3d71db=_0x52b047[(_0x1be04f+0x1)%_0x52b047['length']];_0x3d71db&&_0x3d71db['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3d752b();}),_0x494bbe['focusTracker']['add'](this['view']['element']),_0x494bbe['focusTracker']['on']('change:isFocused',(_0x49dea9,_0x2ed28d,_0x2cc55e)=>{_0x2cc55e||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);}}class s extends _0x1f6ad9{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
|
|
23
|
+
import{ContextPlugin as _0x33a461,Plugin as _0xc45049,PendingActions as _0x54a0be,Context as _0x35bf49}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0xfc40d0,CKEditorError as _0x18dc38,Collection as _0x330773,global as _0x3ee391,version as nt,uid as _0xb2b188,KeystrokeHandler as _0x26df46}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xedf1a5,View as _0x3d8c1a,ListView as _0xd3dc2c,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x4f7ecf,clickOutsideHandler as _0x39189a,BodyCollection as _0x361caf}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x57fa0d,NoOperation as _0x30677b,InsertOperation as _0x48cd8e,MarkerOperation as _0x1944c9,RootAttributeOperation as _0x5e1d8f,transformSets as _0x21a970,OperationFactory as _0x20d8ce}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x36fb79,CollaborativeEditingService as _0x23bfeb,User as dt,CommentsService as _0x1abf4b,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x4e2011,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5986db}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x19da4d}from'lodash-es';class c extends _0x33a461{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xedf1a5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3e453a){super(_0x3e453a),this['set']('state',_0x36fb79['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0xfc40d0);}['init'](){const _0x29b8c2=this['context'],_0x27726e=_0x29b8c2['plugins']['get']('CloudServices'),_0x110955=_0x29b8c2['plugins']['get'](_0xedf1a5);if(!_0x27726e['token'])throw new _0x18dc38('websocketgateway-missing-token',this);if(!_0x27726e['webSocketUrl'])throw new _0x18dc38('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),c['WebSocketGateway']['connect'](_0x27726e['token'],_0x27726e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xda812d=>{if(this['connection']=_0xda812d,this['bind']('state')['to'](_0xda812d,'state',this,'_isBrowserOffline',(_0x51e944,_0x5ec3b9)=>('connected'!==_0x51e944&&(this['_shouldPluginsReconnect']=!0x0),_0x5ec3b9||_0x51e944!==_0x36fb79['CONNECTED']?_0x36fb79['DISCONNECTED']:this['state']==_0x36fb79['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x36fb79['CONNECTING']):_0x36fb79['CONNECTED'])),this['connection']['on']('error',(_0x268710,_0x264238)=>{if('limitExceeded'!==_0x264238['code'])throw console['error'](_0x264238),new _0x18dc38('cloudservices-init',null,{'originalError':_0x264238});_0x110955['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'});}),!_0xda812d['me'])return new Promise(_0x1ec67e=>_0xda812d['on']('change:me',_0x1ec67e));})['catch'](_0x10447b=>{throw console['error'](_0x10447b),new _0x18dc38('cloudservices-init',null,{'originalError':_0x10447b});});}['addToReconnectionStack'](_0x33e40e){if('function'!=typeof _0x33e40e['reconnect'])throw new _0x18dc38('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x33e40e))throw new _0x18dc38('websocketgateway-plugin-already-registered',this,{'name':_0x33e40e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x33e40e);}['removeFromReconnectionStack'](_0x4edd63){this['_reconnectionStack']['delete'](_0x4edd63);}['isInReconnectionStack'](_0x592879){return this['_reconnectionStack']['has'](_0x592879);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5b93be=>_0x5b93be['reconnect']())))['then'](()=>this['state']=_0x36fb79['CONNECTED'])['catch'](_0x4eec8f=>{throw console['error'](_0x4eec8f),new _0x18dc38('cloudservices-reconnection-error',this['context']);});}['destroy'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x36fb79['DISCONNECTED'],this['_domEmitter']['stopListening'](),super['destroy']();}}class i extends _0x33a461{['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[c,_0x4e2011];}constructor(_0x133044){super(_0x133044),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x330773(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4e2011);}['init'](){const _0x3ecbd4=this['context']['plugins']['get'](c);this['listenTo'](_0x3ecbd4,'change:state',(_0x2dd79d,_0x79b58b,_0x4b31ed)=>{if('connected'!==_0x4b31ed)this['channelSessions']['forEach'](_0x168571=>_0x168571['clear']()),this['channelConnectedUsers']['forEach'](_0x541759=>_0x541759['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2008d1,_0x240073]of this['_registeredSessions'])for(const _0x2a2cdb of _0x240073)this['_handleSessionAdd'](_0x2008d1,_0x2a2cdb);}}),this['_createUser'](_0x3ecbd4['connection']['me'],!0x0);}['register'](_0x2c968b,_0x82bc1){if(this['_registeredSessions']['has'](_0x2c968b))throw new _0x18dc38('sessions-register-already-registered',null,{'channelId':_0x2c968b});this['_registeredSessions']['set'](_0x2c968b,_0x82bc1),this['channelSessions']['set'](_0x2c968b,new _0x330773()),this['channelConnectedUsers']['set'](_0x2c968b,new _0x330773()),this['listenTo'](_0x82bc1,'add',(_0x4c6244,_0x37d24d)=>this['_handleSessionAdd'](_0x2c968b,_0x37d24d)),this['listenTo'](_0x82bc1,'remove',(_0x39c1af,_0x3a7ef1)=>this['_handleSessionRemove'](_0x2c968b,_0x3a7ef1));for(const _0x59e344 of _0x82bc1)this['_handleSessionAdd'](_0x2c968b,_0x59e344);}['unregister'](_0x1a3cf6){if(!this['_registeredSessions']['has'](_0x1a3cf6))throw new _0x18dc38('sessions-unregister-not-exist',null,{'channelId':_0x1a3cf6});const _0x32f280=this['_registeredSessions']['get'](_0x1a3cf6);this['stopListening'](_0x32f280);for(const _0x1e3375 of _0x32f280)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x1a3cf6,_0x1e3375);this['_registeredSessions']['delete'](_0x1a3cf6),this['channelSessions']['delete'](_0x1a3cf6),this['channelConnectedUsers']['delete'](_0x1a3cf6);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x27a175){for(const _0x33229c of this['channelSessions']['values']())for(const _0x1a2677 of _0x33229c)if(_0x1a2677['id']===_0x27a175)return _0x1a2677['user'];}['getUserSessions'](_0x1fb158,_0x3f5ba2){const _0x46390f=_0x3f5ba2?[this['channelSessions']['get'](_0x3f5ba2)]:this['channelSessions']['values'](),_0x546a66=new Set();for(const _0x30416f of _0x46390f)for(const _0x53b33b of _0x30416f)_0x53b33b['user']['id']===_0x1fb158['id']&&_0x546a66['add'](_0x53b33b['id']);return _0x546a66;}['getUserRole'](_0x50a0c8){for(const _0x1fd289 of this['channelSessions']['values']())for(const _0x366adf of _0x1fd289)if(_0x366adf['user']===_0x50a0c8)return _0x366adf['role'];}['_handleSessionAdd'](_0x5025f2,_0x41bd90){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x5f4dc4=_0x41bd90['user'],_0x25fb28=this['_users']['getUser'](_0x5f4dc4['id'])||this['_createUser'](_0x5f4dc4),_0x1ed0bd=Object['assign']({},_0x41bd90,{'user':_0x25fb28});this['channelSessions']['get'](_0x5025f2)['add'](_0x1ed0bd);const _0x25401e=this['channelConnectedUsers']['get'](_0x5025f2);_0x25401e['has'](_0x25fb28['id'])||_0x25401e['add'](_0x25fb28),this['allConnectedUsers']['has'](_0x25fb28['id'])||this['allConnectedUsers']['add'](_0x25fb28,_0x25fb28['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x5025f2,{'channelId':_0x5025f2,'session':_0x1ed0bd});}['_handleSessionRemove'](_0x2cfce8,_0x42eae4){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x16da30=this['channelConnectedUsers']['get'](_0x2cfce8),_0x392c0e=_0x42eae4['user'];_0x392c0e['id']&&(this['channelSessions']['get'](_0x2cfce8)['remove'](_0x42eae4['id']),_0x16da30['has'](_0x392c0e['id'])&&!this['getUserSessions'](_0x392c0e,_0x2cfce8)['size']&&_0x16da30['remove'](_0x392c0e['id']),this['allConnectedUsers']['get'](_0x392c0e['id'])&&!this['getUserSessions'](_0x392c0e)['size']&&this['allConnectedUsers']['remove'](_0x392c0e['id']));}['_createUser'](_0x13c863,_0x17ff08){const _0xee5510=this['_users']['addUser'](_0x13c863);return _0x17ff08&&this['_users']['defineMe'](_0x13c863['id']),_0xee5510['orderNumber']=this['_uniqueUsersCount']++,_0xee5510;}}class H extends _0xc45049{['_domEmitter']=new(_0xfc40d0())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5f4421=this['editor'],_0x5059c1=_0x5f4421['plugins']['get'](i);_0x5f4421['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x84b627,{writer:_0x1f270d})=>function(_0x19ab77,_0x4e37d4,_0x21dfee,_0x4f0d57){const _0x246ec2=_0x19ab77['markerName']['split'](':')[0x2],_0x4daeb1=_0x21dfee['getUserBySessionId'](_0x246ec2);if(!_0x4daeb1||_0x246ec2===_0x21dfee['mySessionId'])return;if(!_0x4f0d57['model']['schema']['checkChild'](_0x19ab77['markerRange']['start'],'$text'))return;const _0x400dd9={'class':'ck-user__marker\x20'+_0x4daeb1['color']['getMarkerClass'](),'data-name':_0x4daeb1['name'],'data-session-id':_0x246ec2},_0x5d563b=_0x4f0d57['model']['markers']['get'](_0x19ab77['markerName']),_0x1aac7f=_0x5d563b['getStart'](),_0x17db4c=_0x1aac7f['nodeAfter'],_0x461618=_0x4f0d57['model']['schema'];if(_0x17db4c&&_0x461618['isObject'](_0x17db4c)&&_0x461618['isInline'](_0x17db4c)&&!_0x4f0d57['model']['markers']['get']('user:range:'+_0x246ec2)['getRange']()['isCollapsed'])return;const _0x57d537=_0x1aac7f['parent'];return _0x4f0d57['model']['schema']['isLimit'](_0x57d537)&&!_0x4f0d57['model']['hasContent'](_0x57d537)&&(_0x400dd9['contenteditable']=!0x1),function(_0x36518f,_0x25d57f,_0x2b5408){const _0x1f65ec=_0x36518f['createUIElement']('span',_0x25d57f);return _0x36518f['setCustomProperty']('userPositionMarker',!0x0,_0x1f65ec),_0x1f65ec['render']=function(_0x56a3f9){const _0x273cc9=this['toDomElement'](_0x56a3f9);return _0x273cc9['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span><span\x20class=\x22ck-user__marker-tooltip\x22\x20contenteditable=\x22false\x22\x20spellcheck=\x22false\x22>'+_0x2b5408['name']+'</span>',_0x273cc9['addEventListener']('mouseenter',()=>{_0x273cc9['classList']['add']('ck-user__marker_hovered');}),_0x273cc9['addEventListener']('mouseleave',()=>{_0x273cc9['classList']['remove']('ck-user__marker_hovered');}),_0x273cc9;},_0x1f65ec['isSimilar']=function(_0x187862){return!(!this['getCustomProperty']('userPositionMarker')||!_0x187862['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x187862['getAttribute']('data-session-id'));},_0x1f65ec;}(_0x4e37d4,_0x400dd9,_0x4daeb1);}(_0x84b627,_0x1f270d,_0x5059c1,_0x5f4421)}),_0x5f4421['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2b5ab0=>function(_0x23d7fd,_0x4fdc24){const _0x494f3e=_0x23d7fd['markerName']['split'](':')[0x2];if(_0x494f3e===_0x4fdc24['mySessionId'])return null;const _0x507699=_0x4fdc24['getUserBySessionId'](_0x494f3e);if(!_0x507699)return{'id':_0x494f3e,'classes':[]};return{'id':_0x494f3e,'classes':['ck-user__selection',_0x507699['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x494f3e},'priority':0x7d0+_0x507699['orderNumber']};}(_0x2b5ab0,_0x5059c1)}),function(_0x13317f){const _0x56959f=_0x13317f['model'],_0x4f4889=new Map(),_0x44cc98=_0x13317f['plugins']['get'](i);_0x56959f['markers']['on']('update:user:range',(_0x3ca40a,_0x36f268,_0x3c7b1f,_0x2c717d)=>{if(!_0x2c717d&&_0x4f4889['get'](_0x36f268['name']))return _0x4f4889['get'](_0x36f268['name'])['detach'](),void _0x4f4889['delete'](_0x36f268['name']);const _0x2f4f9e=_0x36f268['name']['split'](':')[0x2];if(_0x2f4f9e===_0x44cc98['mySessionId'])return;const _0x1892b9='user:position:'+_0x2f4f9e;_0x56959f['markers']['has'](_0x1892b9)&&_0x13317f['editing']['reconvertMarker'](_0x1892b9),_0x36f268['on']('change:range',(_0x421f50,_0x3980d4,_0x492eec)=>{if('$graveyard'!=_0x3980d4['root']['rootName']&&'$graveyard'==_0x36f268['getRange']()['root']['rootName']&&!_0x4f4889['has'](_0x36f268['name'])){const _0x1c8423=_0x56959f['schema']['getNearestSelectionRange'](_0x492eec['deletionPosition']);if(_0x1c8423){const _0x28d61e=ht['fromRange'](_0x1c8423);_0x4f4889['set'](_0x36f268['name'],_0x28d61e),_0x28d61e['on']('change:range',(_0xbbae6c,_0x23d4b2,_0x373da7)=>{if('$graveyard'==_0x28d61e['root']['rootName']){const _0x2500b0=_0x56959f['schema']['getNearestSelectionRange'](_0x373da7['deletionPosition']);_0x2500b0?(_0x28d61e['start']=_0x2500b0['start'],_0x28d61e['end']=_0x2500b0['end']):(_0x4f4889['delete'](_0x36f268['name']),_0x28d61e['detach']());}});}}});}),_0x56959f['document']['on']('change',()=>{_0x4f4889['size']>0x0&&_0x56959f['enqueueChange']({'isUndoable':!0x1},_0x223495=>{for(const [_0x3e0a3c,_0x30099b]of _0x4f4889)'$graveyard'==_0x56959f['markers']['get'](_0x3e0a3c)['getRange']()['root']['rootName']&&(re(_0x3e0a3c['split'](':')[0x2],_0x30099b['toRange'](),_0x56959f,_0x223495),_0x30099b['detach']());_0x4f4889['clear']();});});}(_0x5f4421),this['_domEmitter']['listenTo'](_0x3ee391['document'],'keydown',(_0x574a2f,{key:_0x30f4c7})=>{'Escape'===_0x30f4c7&&function(_0x4b836d){_0x4b836d['editing']['view']['change'](_0x34eeef=>{for(const _0x4ab896 of _0x4b836d['model']['markers']){if(!_0x4ab896['name']['startsWith']('user:position'))continue;const _0x29a135=_0x4b836d['editing']['mapper']['markerNameToElements'](_0x4ab896['name']);if(_0x29a135){for(const _0x316ee8 of _0x29a135)_0x34eeef['removeClass']('ck-user__marker_hovered',_0x316ee8);}}});}(_0x5f4421);},{'useCapture':!0x0});}['afterInit'](){const _0x7bf6d7=this['editor'],_0x4c59c7=_0x7bf6d7['commands']['get']('undo');_0x4c59c7&&_0x7bf6d7['model']['on']('applyOperation',(_0x12a84c,_0x3a94f2)=>{const _0x3e03f3=_0x3a94f2[0x0];if('marker'!=_0x3e03f3['type']||!_0x3e03f3['name']['startsWith']('user:'))return;const _0x29c2ba=_0x3e03f3['batch'];_0x4c59c7['_createdBatches']['has'](_0x29c2ba)&&(_0x3e03f3['newRange']=_0x3e03f3['oldRange']?_0x7bf6d7['model']['createRange'](_0x3e03f3['oldRange']['start'],_0x3e03f3['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x48cdbd=this['editor'],_0x5d010c=_0x48cdbd['model']['document'],_0x9ced84=_0x48cdbd['plugins']['get'](i);_0x48cdbd['model']['enqueueChange']({'isUndoable':!0x1},_0x1556c2=>{const _0x1f333a='user:range:'+_0x9ced84['mySessionId'],_0x2eacbd='user:position:'+_0x9ced84['mySessionId'],_0x4f41b7=_0x48cdbd['model']['markers']['has'](_0x1f333a);_0x48cdbd['editing']['view']['hasDomSelection']?re(_0x9ced84['mySessionId'],_0x5d010c['selection']['getFirstRange'](),_0x48cdbd['model'],_0x1556c2):_0x4f41b7&&(_0x1556c2['removeMarker'](_0x1f333a),_0x1556c2['removeMarker'](_0x2eacbd));});}}function re(_0x54283a,_0xd412f5,_0x570300,_0x48aa6b){const _0x3f5d8c='user:range:'+_0x54283a,_0x175085='user:position:'+_0x54283a,_0x553285=_0xd412f5['getContainedElement']();let _0x2c6960=_0xd412f5['start'];_0x553285&&_0x553285['is']('element','tableCell')&&(_0x2c6960=function(_0xf248cd,_0x3a9f3b){for(const _0x176860 of _0xf248cd['getPositions']())if(_0x3a9f3b['schema']['checkChild'](_0x176860,'$text'))return _0x176860;}(_0xd412f5,_0x570300),_0xd412f5=_0x48aa6b['createRange'](_0x2c6960));const _0x1b968f=_0x48aa6b['createRange'](_0x2c6960);_0x570300['markers']['has'](_0x3f5d8c)?(_0x48aa6b['updateMarker'](_0x3f5d8c,{'range':_0xd412f5}),_0x48aa6b['updateMarker'](_0x175085,{'range':_0x1b968f})):(_0x48aa6b['addMarker'](_0x3f5d8c,{'range':_0xd412f5,'usingOperation':!0x0}),_0x48aa6b['addMarker'](_0x175085,{'range':_0x1b968f,'usingOperation':!0x0}));}function q(_0x3ad5db,_0x12b05f,_0x5a8e73){const _0x11b5c2=_0x3ad5db['t'],t=_0x3ad5db['t'];switch(_0x12b05f){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 _0x11b5c2({'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'},_0x5a8e73);default:return'';}}let K=0x1;class l extends _0xc45049{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x23bfeb)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,H,_0x54a0be,_0x4e2011,_0xedf1a5];}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 _0x4d5bed=this['serverHistory']['getOperations']();for(let _0x218ed4=_0x4d5bed['length']-0x1;_0x218ed4>=0x0;_0x218ed4--){const _0x53825b=_0x4d5bed[_0x218ed4];if(!this['_disconnectionOperations']['has'](_0x53825b))return _0x53825b['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3ed08d){if(super(_0x3ed08d),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x57fa0d(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x18dc38('collaboration-missing-channelid',this);const _0x267445=_0x3ed08d['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x267445,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5986db(),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 X(this['_disconnectionOperations']);}['init'](){const _0x1b0285=this['editor'],_0x3acaa8=_0x1b0285['plugins']['get'](_0x4e2011),_0x2758c1=_0x1b0285['plugins']['get'](c);this['listenTo'](_0x3acaa8,'getOperationAuthor',(_0xdcd464,_0x48509b)=>{const _0x225419=_0x48509b[0x0];_0x225419['_authorId']&&(_0xdcd464['return']=_0x3acaa8['getUser'](_0x225419['_authorId']),_0xdcd464['stop']()),null===_0x225419['_authorId']&&(_0xdcd464['return']=null,_0xdcd464['stop']());},{'priority':'high'}),this['listenTo'](_0x1b0285['model']['document']['selection'],'change:range',(_0x15c5b6,_0x5b1cce)=>{_0x5b1cce['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1b0285['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1b0285['model']['on']('applyOperation',(_0x7fd6da,_0x499925)=>{const _0x359a60=_0x499925[0x0];_0x359a60['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x359a60),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2758c1,'state',this,'_hasSynchronizationProblem',(_0xfdf427,_0x35d566)=>'connected'===_0xfdf427&&!_0x35d566),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1b0285['disableReadOnlyMode']('rtc-offline'):_0x1b0285['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1b0285['disableReadOnlyMode']('rtc-offline'):_0x1b0285['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2527e7=this['editor']['plugins']['get'](i),_0x5abc66=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x2527e7['unregister'](this['_channelId']);const _0x5b8ffd=await this['_service']['reconnect'](_0x5abc66['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5b8ffd)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2e5b7a=await this['_service']['getConnectedSessions']();_0x2527e7['register'](this['_channelId'],_0x2e5b7a),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x154477){if(function(_0xf22baf){return'404'===_0xf22baf['code'];}(_0x154477)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x571716){return'409'===_0x571716['code'];}(_0x154477)){const _0x55d989=q(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'](_0x55d989);}else{if(!(_0x154477 instanceof J))throw _0x154477;this['_handleReconnectionError']();}}}}['destroy'](){const _0x478407=this['editor']['plugins']['get'](c),_0x605223=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x605223['channelSessions']['has'](this['_channelId'])&&_0x605223['unregister'](this['_channelId']),_0x478407['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2ee9f6){if(this['sessionId']!==_0x2ee9f6['sessionId']&&this['_lastSyncedOperationId']!==_0x2ee9f6['lastOperationId'])throw new J();return this['sessionId']=_0x2ee9f6['sessionId'],this['_handleServerResponse']([],{..._0x2ee9f6,'wereChangesApplied':!0x1,'data':_0x2ee9f6['data']},'reconnect');}async['_connectService'](_0x2b449c,_0x29ea1f=!0x1){const {connection:_0xdcd12b}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0xdcd12b,this['_channelId'])['then'](_0x394187=>this['_initSessionsHandling'](_0x394187))['catch'](_0x14800d=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x14800d);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0xfe0bfb,_0x3f176f)=>{this['_crash']('realtimecollaborationclient-initservice-internal-error',_0x3f176f);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x5a071e=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2b449c);this['_isPendingUpdate']=!0x0;const _0x2dca34=await this['_service']['connect'](_0xdcd12b,this['_compressOperations'](_0x2b449c),_0x5a071e);if(this['sessionId']=_0x2dca34['sessionId'],_0x29ea1f){if(!_0x2dca34['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2dca34['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2b449c,_0x2dca34,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2dca34,_0x2b449c);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x33f127=this['editor']['plugins']['get'](i),_0x16b4f8=this['editor']['plugins']['get'](H),_0x7af235=_0x33f127['channelSessions']['get'](this['_channelId']);_0x7af235&&_0x7af235['length']>0x1?_0x16b4f8['createUserMarkerOperations']():this['listenTo'](_0x33f127,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x33f127['channelSessions']['get'](this['_channelId'])['length']&&_0x16b4f8['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1ae850,_0x5a5864,_0x5d2cf2,_0x1f3ab5){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x5a5864){const _0x4523ba=this['_decompressOperations'](_0x5d2cf2,_0x1f3ab5);await this['_fetchMissingUsers'](_0x4523ba),this['_handleExternalOperations'](_0x4523ba,_0x5a5864,_0x5d2cf2['lastOperationId'])||this['_crash']('realtimecollaborationclient-initservice-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x140da0}=this['editor'];let _0x5d5692;try{_0x5d5692=await this['_service']['getDocumentDetails']();}catch(_0x41f3a7){const _0x2c654b=q(_0x140da0,'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'](_0x2c654b);}const _0x4dbbb2=_0x5d5692['currentDocumentSession']||_0x5d5692['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x4dbbb2['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x22c08f=q(_0x140da0,'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.');this['_handleReconnectionError'](_0x22c08f);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x53a2aa){const _0x58acc2=this['editor']['plugins']['get'](i);this['listenTo'](_0x58acc2,'sessionAdd:'+this['_channelId'],(_0x3ab013,{session:_0x5c4ebe})=>{if(_0x5c4ebe['id']===_0x58acc2['mySessionId']){_0x3ab013['off']();const _0x534558=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xee0c55=_0x5c4ebe['permissions'];_0x534558&&_0x534558['isEnabled']&&(_0xee0c55=_0xee0c55['filter'](_0x305f71=>'document:write'!==_0x305f71)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xee0c55,this['_channelId']);}}),_0x58acc2['register'](this['_channelId'],_0x53a2aa);}['_initThrowingOnDataSet'](){const _0x385182=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x169d4d)=>{if(!_0x169d4d[_0x169d4d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x18dc38('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x385182['apply'](this['editor']['data'],_0x169d4d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x85df0a,[_0x8faeed])=>{if(this['_document']['version'])throw new _0x18dc38('realtimecollaborationclient-init-document-already-initialized',this);_0x85df0a['stop'](),this['_setPendingAction']();const _0x272a10=this['editor']['config']['get']('rootsAttributes'),_0x584216=this['_getOperationsFromInitData'](_0x8faeed,_0x272a10);0x0==_0x584216['length']&&_0x584216['push'](new _0x30677b(0x0)),_0x85df0a['return']=this['_connectService'](_0x584216)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1ee37=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1ee37))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x590a63,[_0x49de83,_0x354416])=>{_0x590a63['stop']();const _0x5d030e=this['editor']['model']['document']['getRoot'](_0x49de83);if(!this['_knownRootNames']['has'](_0x49de83)){const _0x49b023=_0x354416&&_0x354416['data']?_0x354416['data']:'',_0x281b01=_0x354416&&_0x354416['attributes']?_0x354416['attributes']:{};await this['_loadRoot'](_0x49de83,_0x49b023,_0x281b01);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5d030e['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5d030e);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xcb935c){const _0x1d2b0f=this['editor']['plugins']['get'](_0x4e2011),{connection:_0x3ff18e}=this['editor']['plugins']['get'](c),_0x194276=new Set();for(const _0x2fa796 of _0xcb935c){const _0x984863=_0x2fa796['_authorId'];_0x984863&&!_0x1d2b0f['getUser'](_0x984863)&&_0x194276['add'](_0x984863);}if(0x0===_0x194276['size'])return;const _0x25cfc8=await dt['getMany'](_0x3ff18e,Array['from'](_0x194276));for(const _0x4b60f7 of _0x25cfc8)_0x1d2b0f['getUser'](_0x4b60f7['id'])||_0x1d2b0f['addUser'](_0x4b60f7);}['_getOperationsFromInitData'](_0x528c28,_0x5ded76={}){const _0x56cb41=this['editor']['model'],_0x3eccf5=[];let _0x1f4e0b=0x0;const _0x3891cf='string'==typeof _0x528c28?{'main':_0x528c28}:_0x528c28;for(const _0x352d53 of Object['keys'](_0x3891cf)){if(!this['_document']['roots']['has'](_0x352d53))throw new _0x18dc38('realtimecollaborationclient-init-non-existent-root',this);const _0x2d0ea8=this['editor']['data']['parse'](_0x3891cf[_0x352d53]),_0x4c0f0d=this['_document']['getRoot'](_0x352d53),_0x45b829=new _0x48cd8e(_0x56cb41['createPositionAt'](_0x4c0f0d,0x0),_0x2d0ea8,_0x1f4e0b++);_0x3eccf5['push'](_0x45b829);for(const [_0x293ab9,_0x19c60c]of _0x2d0ea8['markers']){const _0x585351=_0x56cb41['createRange'](_0x56cb41['createPositionFromPath'](_0x4c0f0d,_0x19c60c['start']['path']['slice']()),_0x56cb41['createPositionFromPath'](_0x4c0f0d,_0x19c60c['end']['path']['slice']())),_0x744f90=new _0x1944c9(_0x293ab9,null,_0x585351,_0x56cb41['markers'],!0x0,_0x1f4e0b++);_0x3eccf5['push'](_0x744f90);}}if(_0x5ded76)for(const [_0x3d2193,_0x13ef01]of Object['entries'](_0x5ded76)){const _0x38af56=_0x56cb41['document']['getRoot'](_0x3d2193);if(!_0x38af56)throw new _0x18dc38('multi-root-editor-root-attributes-no-root',null);for(const [_0x5c8871,_0x4a55da]of Object['entries'](_0x13ef01))if(null!==_0x4a55da){const _0x439057=new _0x5e1d8f(_0x38af56,_0x5c8871,null,_0x4a55da,_0x1f4e0b++);_0x3eccf5['push'](_0x439057);}}return _0x3eccf5;}async['_loadRoot'](_0x22edf0,_0x312798,_0x9b20b3){this['_getOperationsFromInitData']({[_0x22edf0]:_0x312798},{[_0x22edf0]:_0x9b20b3})['forEach']((_0x361082,_0x55e720)=>{_0x361082['baseVersion']=this['_document']['version']+_0x55e720,_0x361082['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x361082);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4c68d0,_0x54234b){let _0x1141d7;this['_offset']=_0x4c68d0['offset'];const _0x1b10f5=_0x4c68d0['wereChangesApplied']&&!_0x4c68d0['initData'],_0x4edba5=_0x1b10f5?0x0:_0x4c68d0['data']['baseVersion'];if(_0x54234b['forEach'](_0x466ee1=>{_0x466ee1['_isInit']=!0x0,_0x466ee1['createdAt']=_0x4c68d0['sessionCreatedAt'],_0x466ee1['_authorId']=null;}),_0x1b10f5)_0x1141d7=_0x54234b,this['_applyOperationsSet'](_0x1141d7,_0x1b10f5);else{if(_0x4c68d0['initData']){const _0x11f4c8=this['_getOperationsFromInitData'](_0x4c68d0['initData']);this['_document']['history']['version']=-_0x11f4c8['length'],_0x11f4c8['forEach'](_0x393f04=>{_0x393f04['baseVersion']-=_0x11f4c8['length'],_0x393f04['createdAt']=_0x4c68d0['sessionCreatedAt'],_0x393f04['_isInit']=!0x0,_0x393f04['_authorId']=null;}),this['_applyOperationsSet'](_0x11f4c8,!0x0),this['serverHistory']['version']=-_0x11f4c8['length']+this['_offset'],this['_updateServerHistory'](_0x11f4c8);}this['_document']['history']['version']=_0x4edba5,_0x1141d7=this['_decompressOperations'](_0x4c68d0['data'],_0x4c68d0['metadata']),await this['_fetchMissingUsers'](_0x1141d7),this['_applyOperationsSet'](_0x1141d7,_0x1b10f5);}_0x4c68d0['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1141d7,_0x4c68d0['lastOperationId']),this['_lastSyncedOperationId']=_0x4c68d0['lastOperationId']),this['serverHistory']['version']=_0x4edba5+this['_offset'],this['_updateServerHistory'](_0x1141d7),_0x54234b['filter'](_0x2bb17d=>{const _0x1ab67f=this['_getAffectedRoot'](_0x2bb17d);return _0x1ab67f&&!this['_knownRootNames']['has'](_0x1ab67f);})['forEach']((_0x1b7e6e,_0x263a63)=>{_0x1b7e6e['baseVersion']=this['_document']['version']+_0x263a63,this['_saveOperationInBuffer'](_0x1b7e6e);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2c95be,_0x31a5ea){throw this['_isPendingUpdate']=!0x0,_0x31a5ea&&console['error'](_0x31a5ea),new _0x18dc38(_0x2c95be,this['editor']);}['_saveOperationInBuffer'](_0x1f7868){this['_knownOperations']['has'](_0x1f7868)||(this['_knownOperations']['add'](_0x1f7868),this['_bufferedOperations']['push'](_0x1f7868),this['_pendingAction']||'marker'==_0x1f7868['type']&&!_0x1f7868['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xa5a062=!0x1){!_0xa5a062&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3d892e=>{_0x3d892e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xa675bc=>{if(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,!function(_0x195e98){return _0x195e98['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x195e98['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x195e98['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xa675bc))throw _0xa675bc;});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x49ad3d=>{this['on']('change:_isPendingUpdate',()=>{_0x49ad3d();});});}async['_sendBufferedOperations'](){const _0x20e41f=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x20e41f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x53ac06=[...this['_bufferedOperations']];for(const _0x181fcf of _0x53ac06)_0x181fcf['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x181fcf);const _0x40c073=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x53ac06),_0x190a0a=K++,_0x1f8497=this['_compressOperations'](_0x53ac06),_0x457879=await this['_service']['sendOperations'](_0x1f8497,_0x1f8497['baseVersion'],_0x40c073);try{return await this['_handleServerResponse'](_0x53ac06,_0x457879,_0x190a0a);}catch(_0x755f65){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x755f65);}}async['_handleServerResponse'](_0x4f5005,_0x2793ab,_0x5455e7){if('error'in _0x2793ab)throw _0x2793ab['error'];let _0x40d95f=!0x1;if(_0x2793ab['wereChangesApplied']){_0x2793ab['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2793ab['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x305623=>!_0x4f5005['includes'](_0x305623));for(const _0xb9402a of _0x4f5005)_0xb9402a['createdAt']='lastOperationAcceptedAt'in _0x2793ab&&_0x2793ab['lastOperationAcceptedAt']||void 0x0;Q(_0x4f5005,_0x2793ab['version']-_0x4f5005['length']),this['_updateServerHistory'](_0x4f5005);const _0xbd5213=_0x4f5005['filter'](_0x5b1c93=>{if(!_0x5b1c93['_isInit'])return!0x1;const _0x4db620=this['_getAffectedRoot'](_0x5b1c93);return _0x4db620&&!this['_knownRootNames']['has'](_0x4db620);});Q(_0xbd5213,this['_document']['version']),this['_applyOperationsSet'](_0xbd5213),_0x40d95f=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4045eb=this['_decompressOperations'](_0x2793ab['data'],_0x2793ab['metadata'])['filter'](_0x398c78=>_0x398c78['baseVersion']>=this['_lastServerVersion']);_0x4045eb['forEach'](_0x5bac63=>this['_addKnownRoot'](_0x5bac63)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x533b49=>!_0x533b49['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x533b49))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4045eb),_0x40d95f=this['_handleExternalOperations'](_0x4045eb,_0x2793ab['version'],_0x2793ab['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x40d95f?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xf8b4d0,_0x4165e5,_0x14745f){try{const _0x7d67d3={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5b1ee0,operationsB:_0x467950,originalOperations:_0x30b42d}=_0x21a970(_0xf8b4d0,this['_bufferedOperations'],_0x7d67d3);Q(_0x5b1ee0,this['_document']['version']),Q(_0x467950,_0x4165e5);for(const _0x10d8e1 of _0x5b1ee0){const _0x583587=_0x30b42d['get'](_0x10d8e1);_0x10d8e1['_authorId']=_0x583587?_0x583587['_authorId']:null;}_0x14745f&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xf8b4d0,_0x14745f),this['_lastSyncedOperationId']=_0x14745f),this['_bufferedOperations']=[..._0x467950],this['_applyOperationsSet'](_0x5b1ee0),this['_updateServerHistory'](_0xf8b4d0);}catch(_0x1797d1){return console['error'](_0x1797d1),!0x1;}return!0x0;}['_applyOperationsSet'](_0x4987eb,_0xc46b58=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5c3918=>{for(const _0x22cb5c of _0x4987eb)this['_knownOperations']['add'](_0x22cb5c),this['_addKnownRoot'](_0x22cb5c),_0x5c3918['batch']['addOperation'](_0x22cb5c),this['editor']['model']['applyOperation'](_0x22cb5c);});}['_addKnownRoot'](_0x12e8d4){const _0x5dc05b=this['_getAffectedRoot'](_0x12e8d4);_0x5dc05b&&this['_knownRootNames']['add'](_0x5dc05b);}['_getAffectedRoot'](_0xec7dfa){let _0x32bf9a,_0x509081;switch(_0xec7dfa['type']){case'insert':_0x32bf9a=_0xec7dfa['position']['root'];break;case'marker':if(_0x509081=_0xec7dfa['newRange'],!_0x509081)return null;_0x32bf9a=_0x509081['root'];break;case'addRootAttribute':_0x32bf9a=_0xec7dfa['root'];break;case'addRoot':_0x32bf9a=_0xec7dfa['affectedSelectable'];break;case'move':_0x32bf9a=_0xec7dfa['targetPosition']['root'];break;default:return null;}return _0x32bf9a['rootName'];}['_updateServerHistory'](_0x977311){_0x977311['forEach'](_0x32a812=>{const _0xc76034=_0x32a812['clone']();_0xc76034['_authorId']=_0x32a812['_authorId'],_0xc76034['_isInit']=!!_0x32a812['_isInit'],_0xc76034['createdAt']=_0x32a812['createdAt'],_0xc76034['baseVersion']+=this['_offset'],_0x32a812['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xc76034),this['serverHistory']['addOperation'](_0xc76034);});}['_handleReconnectionError'](_0x3ead13){const _0x42ae9d=this['editor']['plugins']['get']('Notification'),_0x1b8e41=this['editor']['locale'];_0x3ead13||(_0x3ead13=q(_0x1b8e41,'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.')),_0x42ae9d['showWarning'](_0x3ead13,{'title':q(_0x1b8e41,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['destroy']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x54a0be)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x54a0be)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x24f6ff){const _0x8295d8=_0x24f6ff['map'](_0x5cc63e=>_0x5cc63e['toJSON']());return this['_compressor']['compress'](_0x8295d8);}['_decompressOperations'](_0x3ac9fc,_0x218a11){return this['_compressor']['decompress'](_0x3ac9fc)['map']((_0x4d5c68,_0x517bef)=>{const _0x9e43ca='init'==_0x218a11[_0x517bef]['type'];if('InsertOperation'==_0x4d5c68['__className']){const _0x29985e=_0x4d5c68['position']['root'];!this['_document']['getRoot'](_0x29985e)&&(this['_document']['createRoot']('$root',_0x29985e)['_isAttached']=!0x1);}const _0x181071=_0x20d8ce['fromJSON'](_0x4d5c68,this['_document']);return _0x181071['wasUndone']=_0x4d5c68['wasUndone'],_0x181071['_isInit']=_0x9e43ca,_0x181071['_authorId']=_0x9e43ca?null:_0x218a11[_0x517bef]['userId'],_0x181071['_isDisconnection']='cs:removeUser'===_0x218a11[_0x517bef]['type'],_0x181071['createdAt']=_0x218a11[_0x517bef]['createdAt'],_0x181071;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x199db6=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x199db6&&_0x199db6['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x1ca687,_0x2d7d86){for(const _0x58c24b of _0x1ca687)_0x58c24b['baseVersion']=_0x2d7d86++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x5e1575){this['_ignoredOperations']=_0x5e1575,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x54348f){let _0x91b5d9=_0x54348f['length'];for(;_0x91b5d9--;){const _0x139aae=_0x54348f[_0x91b5d9];if(!this['_ignoredOperations']['has'](_0x139aae)){if(!this['_operationToId']['has'](_0x139aae)){const _0x4a5e69=_0xb2b188()['slice'](0x1,0x12);this['_operationToId']['set'](_0x139aae,_0x4a5e69);}return this['_operationToId']['get'](_0x139aae);}}}['setIdForTheLastOperation'](_0x2906d3,_0x40c188){if(!_0x40c188)return;let _0x5966c2=_0x2906d3['length'];for(;_0x5966c2--;){const _0xa243c3=_0x2906d3[_0x5966c2];this['_ignoredOperations']['has'](_0xa243c3)||this['_operationToId']['set'](_0xa243c3,_0x40c188);}}}class n extends _0xc45049{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x33a461{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x1abf4b)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x4e2011];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x181adb){super(_0x181adb),this['_services']=new Map();}async['init'](){const _0x5abc3f=this['context'],_0x256ace=_0x5abc3f['plugins']['get']('CommentsRepository');if(_0x5abc3f['plugins']['get'](c)['addToReconnectionStack'](this),_0x256ace['adapter']={'addCommentThread':async({channelId:_0x4839eb,threadId:_0x4ea0ae,comments:_0x43c9ce,resolvedAt:_0xc7510a,resolvedBy:_0x3482c7,context:_0x52f025,attributes:_0x58bc4d})=>{const _0x1a4843=await this['_getService'](_0x4839eb)['addCommentThread']({'commentThreadId':_0x4ea0ae,'comments':_0x43c9ce['map'](_0x1804ef=>function(_0x2f60fa,_0xff2986,_0x31778f){return{'commentThreadId':_0x31778f,'commentId':_0x2f60fa['commentId'],'userId':_0x2f60fa['authorId'],'content':_0x2f60fa['content'],'documentId':_0xff2986,'createdAt':_0x2f60fa['createdAt'],'attributes':_0x2f60fa['attributes']||{}};}(_0x1804ef,_0x4839eb,_0x4ea0ae)),'resolvedAt':_0xc7510a,'resolvedBy':_0x3482c7,'context':_0x52f025,'attributes':_0x58bc4d})['catch'](ut);return{'threadId':_0x1a4843['commentThreadId'],'comments':_0x1a4843['comments']};},'getCommentThread':async({channelId:_0x10bb44,threadId:_0x5ae95f})=>{const _0x484a31=await this['_getService'](_0x10bb44)['getCommentThread'](_0x5ae95f)['catch'](ut);return _0x484a31['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x484a31]),{'threadId':_0x484a31['commentThreadId'],'comments':_0x484a31['comments']['map'](S),'context':_0x484a31['context'],'resolvedAt':_0x484a31['resolvedAt'],'resolvedBy':_0x484a31['resolvedBy'],'attributes':_0x484a31['attributes']||{}});},'updateCommentThread':async({channelId:_0xae948c,threadId:_0x3c78c6,context:_0x424b39,unlinkedAt:_0x479537,attributes:_0x4ec705})=>this['_getService'](_0xae948c)['updateCommentThread']({'commentThreadId':_0x3c78c6,'context':_0x424b39,'attributes':_0x4ec705,'unlinkedAt':_0x479537})['catch'](B)['catch'](ut),'resolveCommentThread':async({channelId:_0xc43c78,threadId:_0x74d9f})=>{const _0x2e464d=await this['_getService'](_0xc43c78)['resolveCommentThread'](_0x74d9f)['catch'](B)['catch'](ut);return{'threadId':_0x2e464d['commentThreadId'],'resolvedAt':_0x2e464d['resolvedAt'],'resolvedBy':_0x2e464d['resolvedBy']};},'reopenCommentThread':async({channelId:_0x28b825,threadId:_0x4e7997})=>this['_getService'](_0x28b825)['reopenCommentThread'](_0x4e7997)['catch'](B)['catch'](ut),'removeCommentThread':({channelId:_0x5e3708,threadId:_0x16f794})=>this['_getService'](_0x5e3708)['removeCommentThread'](_0x16f794)['catch'](B)['catch'](ut),'addComment':({channelId:_0x3372c6,threadId:_0x1b2b0c,commentId:_0x4e2ff8,content:_0x4861a6,attributes:_0x317245})=>this['_getService'](_0x3372c6)['addComment'](_0x1b2b0c,_0x4e2ff8,_0x4861a6,_0x317245)['catch'](ut),'updateComment':({channelId:_0x1a42b4,threadId:_0x42ff2d,commentId:_0x3772b9,content:_0x5ce863,attributes:_0x50888b})=>this['_getService'](_0x1a42b4)['updateComment'](_0x42ff2d,_0x3772b9,_0x5ce863,_0x50888b)['catch'](B)['catch'](ut),'removeComment':({channelId:_0x5222cb,threadId:_0x5d0bb1,commentId:_0x52c08d})=>this['_getService'](_0x5222cb)['removeComment'](_0x5d0bb1,_0x52c08d)['catch'](B)['catch'](ut)},_0x5abc3f instanceof _0x35bf49){const _0x1e3524=_0x5abc3f['config']['get']('collaboration.channelId'),_0x355661=_0x5abc3f['plugins']['get'](i);await this['_setUpService'](_0x1e3524);const _0x568f35=await this['_services']['get'](_0x1e3524)['getConnectedSessions']();this['listenTo'](_0x355661,'sessionAdd:'+_0x1e3524,(_0x1323c2,{session:_0x262664})=>{_0x262664['id']===_0x355661['mySessionId']&&(_0x1323c2['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x262664['permissions'],_0x1e3524));}),_0x355661['register'](_0x1e3524,_0x568f35);}}async['_setUpService'](_0x18603c){if(this['_services']['has'](_0x18603c))throw new _0x18dc38('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x18603c});const _0x4f2d28=this['context']['plugins']['get']('CommentsRepository'),_0x1f1e09=new a['CommentsService'](_0x18603c);this['_services']['set'](_0x18603c,_0x1f1e09),this['listenTo'](_0x1f1e09,'commentThreadAdded',(_0xcfa20c,_0x1ed792)=>{const {commentThreadId:_0x251b61,documentId:_0x73b69b,context:_0x3b8d66,attributes:_0x12eab1,resolvedAt:_0x5dce68,resolvedBy:_0x508cf6,comments:_0x3d6cde}=_0x1ed792;_0x4f2d28['getCommentThread'](_0x251b61)||_0x4f2d28['addCommentThread']({'threadId':_0x251b61,'channelId':_0x73b69b,'comments':_0x3d6cde?_0x3d6cde['map'](S):[],'context':_0x3b8d66,'attributes':_0x12eab1,'resolvedAt':_0x5dce68,'resolvedBy':_0x508cf6,'isFromAdapter':!0x0});}),this['listenTo'](_0x1f1e09,'commentThreadUpdated',(_0x34e4c0,{commentThreadId:_0x3ea2ff,documentId:_0x2d2dbc,context:_0x3e5701,unlinkedAt:_0x5d0a97,attributes:_0x37a009})=>{_0x4f2d28['getCommentThread'](_0x3ea2ff)&&_0x4f2d28['updateCommentThread']({'threadId':_0x3ea2ff,'channelId':_0x2d2dbc,'context':_0x3e5701,'unlinkedAt':_0x5d0a97,'attributes':_0x37a009,'isFromAdapter':!0x0});}),this['listenTo'](_0x1f1e09,'commentThreadResolved',(_0x175c56,{commentThreadId:_0x1cc4f2,resolvedBy:_0x515312,resolvedAt:_0x47ac2b})=>{const _0x52378f=_0x4f2d28['getCommentThread'](_0x1cc4f2);_0x52378f&&_0x52378f['resolve']({'resolvedBy':_0x515312,'resolvedAt':_0x47ac2b,'isFromAdapter':!0x0});}),this['listenTo'](_0x1f1e09,'commentThreadReopened',(_0x1cab2b,{commentThreadId:_0x21323b})=>{const _0x5a6d59=_0x4f2d28['getCommentThread'](_0x21323b);_0x5a6d59&&_0x5a6d59['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1f1e09,'commentThreadRemoved',(_0x465c5d,{commentThreadId:_0x3e28a7})=>{const _0x4bfe61=_0x4f2d28['getCommentThread'](_0x3e28a7);_0x4bfe61&&_0x4bfe61['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1f1e09,'commentAdded',(_0x18b88a,_0x23abf4)=>{const _0x291d4d=_0x23abf4['commentThreadId'],_0x3bd3b5=_0x4f2d28['getCommentThread'](_0x291d4d);_0x3bd3b5&&_0x3bd3b5['addComment']({...S(_0x23abf4),'isFromAdapter':!0x0});}),this['listenTo'](_0x1f1e09,'commentUpdated',(_0x3ce047,{commentThreadId:_0xb5d5f3,commentId:_0x1461f0,content:_0x149a88,attributes:_0x345688})=>{const _0x162256=_0x4f2d28['getCommentThread'](_0xb5d5f3);if(_0x162256){const _0x123ba8=_0x162256['getComment'](_0x1461f0);_0x123ba8&&_0x123ba8['update']({'content':_0x149a88,'attributes':_0x345688,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1f1e09,'commentRemoved',(_0x2e9a04,{commentThreadId:_0x54afa8,commentId:_0x4e8abf})=>{const _0x42e019=_0x4f2d28['getCommentThread'](_0x54afa8);if(_0x42e019){const _0x360dbe=_0x42e019['getComment'](_0x4e8abf);_0x360dbe&&_0x360dbe['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x18603c);}['destroy'](){if(this['context']instanceof _0x35bf49){const _0x484504=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x484504);}}['_terminateService'](_0x507bf3){if(!this['_services']['has'](_0x507bf3))throw new _0x18dc38('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x507bf3});this['_getService'](_0x507bf3)['disconnect'](),this['_services']['delete'](_0x507bf3);}async['reconnect'](){for(const _0x46d20e of this['_services']['keys']())await this['_connectService'](_0x46d20e);if(this['context']instanceof _0x35bf49){const _0x422d1b=this['context']['config']['get']('collaboration.channelId'),_0x86be32=this['context']['plugins']['get'](i);_0x86be32['unregister'](_0x422d1b);const _0x257c6f=await this['_services']['get'](_0x422d1b)['getConnectedSessions']();_0x86be32['register'](_0x422d1b,_0x257c6f);}}async['_connectService'](_0x25a849){const {connection:_0x55a1c4}=this['context']['plugins']['get'](c),_0x5a3b3d=this['context']['plugins']['get']('CommentsRepository'),_0x1d3c62=this['_services']['get'](_0x25a849),_0xe6fbba=await _0x1d3c62['connect'](_0x55a1c4);await this['_fetchMissingUsersForThreads'](_0xe6fbba);const _0x90d79d=new Set(Array['from'](_0x5a3b3d['getCommentThreads']({'channelId':_0x25a849}),_0x241153=>_0x241153['id']));for(const _0x4361bb of _0xe6fbba)_0x4361bb['deletedAt']||_0x90d79d['delete'](_0x4361bb['commentThreadId']);for(const _0xb03200 of _0x90d79d)_0x5a3b3d['getCommentThread'](_0xb03200)['remove']({'isFromAdapter':!0x0});for(const _0xb844cc of _0xe6fbba){let _0x18283e=_0x5a3b3d['getCommentThread'](_0xb844cc['commentThreadId']);const {commentThreadId:_0x3bb0fd,context:_0x1b004d,attributes:_0x43f964,resolvedBy:_0x1eb91d,resolvedAt:_0x5dae2b,unlinkedAt:_0x3197d0,deletedAt:_0x5e1a03}=_0xb844cc;if(_0x5e1a03)continue;_0x18283e||(_0x18283e=_0x5a3b3d['addCommentThread']({'channelId':_0x25a849,'threadId':_0x3bb0fd,'context':_0x1b004d,'attributes':_0x43f964||{},'resolvedBy':_0x1eb91d,'resolvedAt':_0x5dae2b,'unlinkedAt':_0x3197d0,'isFromAdapter':!0x0}));const _0xc34807=new Set(Array['from'](_0x18283e['comments'],_0x4ec709=>_0x4ec709['id']));for(const _0x36cf21 of _0xb844cc['comments'])_0xc34807['delete'](_0x36cf21['commentId']);for(const _0xf838b6 of _0xc34807)_0x18283e['getComment'](_0xf838b6)['remove']({'isFromAdapter':!0x0});for(const _0x495a57 of _0xb844cc['comments']){const _0x1206ed=_0x18283e['getComment'](_0x495a57['commentId']);_0x1206ed?_0x1206ed['content']!==_0x495a57['content']&&_0x1206ed['update']({'content':_0x495a57['content'],'isFromAdapter':!0x0}):_0x18283e['addComment'](Object['assign'](S(_0x495a57),{'isFromAdapter':!0x0}));}}}['_getService'](_0x50374d){if(!this['_services']['has'](_0x50374d))throw new _0x18dc38('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x50374d});return this['_services']['get'](_0x50374d);}async['_fetchMissingUsersForThreads'](_0x2f6515){const _0x565910=this['context']['plugins']['get'](_0x4e2011),{connection:_0x3735ad}=this['context']['plugins']['get'](c),_0x452a3d=new Set();for(const {resolvedBy:_0x476643,comments:_0x73150d}of _0x2f6515){_0x476643&&!_0x565910['getUser'](_0x476643)&&_0x452a3d['add'](_0x476643);for(const {userId:_0x49caca}of _0x73150d)_0x565910['getUser'](_0x49caca)||_0x452a3d['add'](_0x49caca);}if(0x0===_0x452a3d['size'])return;const _0x50efd7=await dt['getMany'](_0x3735ad,Array['from'](_0x452a3d));for(const _0xa46f86 of _0x50efd7)_0x565910['getUser'](_0xa46f86['id'])||_0x565910['addUser'](_0xa46f86);}}async function B(_0x46dcb8){if('404'!==_0x46dcb8['code'])throw _0x46dcb8;}function ut(_0x1036a3){if((_0x2d6c9c=_0x1036a3)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2d6c9c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2d6c9c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2d6c9c;throw _0x1036a3;}function S(_0xcd898e){return{'threadId':_0xcd898e['commentThreadId'],'commentId':_0xcd898e['commentId'],'content':_0xcd898e['content'],'createdAt':_0xcd898e['createdAt'],'authorId':_0xcd898e['userId'],'attributes':_0xcd898e['attributes']||{}};}class f extends _0xc45049{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}constructor(_0x1693ad){super(_0x1693ad);const _0x3df98e=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x3df98e);}['init'](){const _0x4da196=this['editor']['plugins']['get'](c),_0x1fc2e8=this['editor']['plugins']['get']('TrackChangesEditing');return _0x1fc2e8['adapter']={'getSuggestion':async _0x65e92f=>{await this['_waitForServiceReady']();const _0x439e92=await this['_trackChangesService']['get'](_0x65e92f)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x439e92]),_0x439e92;},'addSuggestion':async({id:_0x385858,type:_0x144a8c,data:_0x26cf67,originalSuggestionId:_0x4255f4,attributes:_0x3334bd})=>{await this['_waitForServiceReady']();const _0x3d2134={'id':_0x385858,'type':_0x144a8c,'data':_0x26cf67,'originalSuggestionId':_0x4255f4,'attributes':_0x3334bd},_0x15770d=await this['_trackChangesService']['add'](_0x385858,_0x144a8c,_0x26cf67,_0x4255f4,_0x3334bd)['catch'](_0x40b29e=>{if(ft(_0x40b29e))return new Promise(_0x209c02=>{this['_bufferedRequests']['set'](_0x385858,{'resolve':_0x209c02,'suggestionData':_0x3d2134});});throw _0x40b29e;});return this['_bufferedRequests']['delete'](_0x385858),_0x15770d;},'updateSuggestion':async(_0x3f6ba0,_0x4869cf)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4869cf['state'])return this['_trackChangesService']['update'](_0x3f6ba0,_0x4869cf)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5ade9a,_0x4f6ef4)=>{_0x1fc2e8['hasSuggestion'](_0x4f6ef4['id'])&&(_0x1fc2e8['getSuggestion'](_0x4f6ef4['id'])['attributes']=_0x4f6ef4['attributes']);}),this['_trackChangesService']['connect'](_0x4da196['connection'])['then'](_0x1b45f4=>(_0x4da196['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1b45f4)['then'](()=>{for(const _0x67cfe5 of _0x1b45f4){_0x1fc2e8['addSuggestionData'](_0x67cfe5)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1badb0=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x4a9852}=this['editor']['plugins']['get'](c),_0x20be69=await this['_trackChangesService']['connect'](_0x4a9852);await this['_fetchMissingUsersForThreads'](_0x20be69);for(const {suggestionData:_0x18e597,resolve:_0x33e61c}of this['_bufferedRequests']['values']()){let _0x2668be=_0x20be69['find'](_0x4fc79a=>_0x4fc79a['id']===_0x18e597['id']);_0x2668be||(_0x2668be=await this['_trackChangesService']['add'](_0x18e597['id'],_0x18e597['type'],_0x18e597['data'],_0x18e597['originalSuggestionId'])),_0x33e61c(_0x2668be);}for(const _0x2d4476 of _0x20be69)_0x1badb0['hasSuggestion'](_0x2d4476['id'])||_0x1badb0['addSuggestionData'](_0x2d4476);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4fa6ff=>{this['listenTo'](this['_trackChangesService'],'connected',_0x465707=>{_0x465707['off'](),_0x4fa6ff();});});}async['_fetchMissingUsersForThreads'](_0x3c9f6d){const _0x49dce5=this['editor']['plugins']['get'](_0x4e2011),{connection:_0x51f598}=this['editor']['plugins']['get'](c),_0x1c60af=new Set();for(const {authorId:_0x181f93}of _0x3c9f6d)_0x49dce5['getUser'](_0x181f93)||_0x1c60af['add'](_0x181f93);if(0x0===_0x1c60af['size'])return;const _0x57a534=await dt['getMany'](_0x51f598,Array['from'](_0x1c60af));for(const _0x1cd359 of _0x57a534)_0x49dce5['getUser'](_0x1cd359['id'])||_0x49dce5['addUser'](_0x1cd359);}}function R(_0x2973bf){if(ft(_0x2973bf))return new Promise(()=>{});throw _0x2973bf;}function ft(_0x572811){return _0x572811['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x572811['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0xc45049{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4ab455=this['editor']['plugins']['get'](c),_0x24ea85=this['editor']['plugins']['get']('CommentsEditing'),_0xf41d9b=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x4ab455,'change:state',(_0x36dca6,_0x18256a,_0xf73f15)=>{_0x24ea85['isThreadsLoadingPaused']='connected'!==_0xf73f15;});}),this['listenTo'](_0x4ab455,'change:state',(_0x23576f,_0x374224,_0x191351)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x191351);}),_0xf41d9b['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0xc45049{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0xc45049{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionTracker',i,_0x4e2011];}constructor(_0x57f971){super(_0x57f971);const _0x38744d=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x38744d);}async['init'](){const _0x4607d6=this['editor']['plugins']['get'](l),_0x17727c=_0x4607d6['serverHistory'],_0x12dd2c=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x17727c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4607d6['sessionId']});const _0x3b9211=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x22e01d=await tt['isBundleUploaded'](_0x12dd2c['connection'],_0x3b9211);this['_revisionTracker']['adapter']={'getRevision':async({revisionId:_0x2ce5b9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2ce5b9)),'updateRevisions':async _0x33a36a=>{await this['_waitForServiceReady']();const _0x1fe72b=this['_revisionTracker']['currentRevision'];if(_0x22e01d&&0x1===_0x33a36a['length']&&_0x33a36a[0x0]['id']===_0x1fe72b['id'])return _0x33a36a;for(const _0x8584c4 of _0x33a36a)_0x8584c4['id']===_0x1fe72b['id']&&(_0x8584c4['isEmptyCurrent']=_0x8584c4['fromVersion']===_0x8584c4['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x33a36a,this['_lastRequestId'])['then'](_0x5cc2b1=>(this['_lastRequestId']=_0x5cc2b1,_0x33a36a))['catch'](_0x525db3=>{if(st(_0x525db3)||'400'===_0x525db3['code']&&void 0x0!==_0x525db3['data']['wrongRequestId']){for(const _0x5cb028 of _0x33a36a){!this['_revisionTracker']['repository']['getRevision'](_0x5cb028['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5cb028['id'],_0x5cb028,!0x1);}if(st(_0x525db3))throw _0x525db3;return _0x33a36a;}throw _0x525db3;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2a970d,{revisionsData:_0xcc9801,requestId:_0x562f71})=>{Math['max'](..._0xcc9801['map'](_0x3e7e86=>_0x3e7e86['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xcc9801,_0x562f71);}):this['_handleRevisionsUpdate'](_0xcc9801,_0x562f71);});const {revisions:_0x255bac,requestId:_0x39e790}=await this['_revisionHistoryService']['connect'](_0x12dd2c['connection']);_0x12dd2c['addToReconnectionStack'](this),this['_lastRequestId']=_0x39e790,await this['_fetchMissingUsers'](_0x255bac);for(const _0x4dd985 of _0x255bac)this['_revisionTracker']['addRevisionData'](_0x4dd985);this['listenTo'](_0x4607d6,'change:_isConnected',(_0x361159,_0x5f2c02,_0x73eb2f)=>{_0x73eb2f&&(this['_oldOffset']=_0x4607d6['_offset'],_0x361159['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x12dd2c,'state',_0x84d216=>_0x84d216===_0x36fb79['CONNECTED']);}async['reconnect'](){const _0x599034=this['editor']['plugins']['get'](c),_0x558215=this['editor']['plugins']['get'](l),_0x5445b0=async()=>{const _0xc72af4=this['_revisionTracker']['currentRevision'],_0x1a6620=_0xc72af4['id'],_0x2ac24f=_0x1a6620!==_0x558215['sessionId'];if(_0x2ac24f){const _0x23e810=_0x558215['_offset']-this['_oldOffset'],_0x552927=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xc72af4['toVersion']+_0x23e810!==_0x552927){const _0x3632ac=_0xc72af4['fromVersion']+_0x23e810,_0x33c2fa=this['editor']['plugins']['get'](_0x4e2011),_0x2a4675=this['_revisionTracker']['buildRevisionData']({'revision':_0xc72af4,'from':_0x3632ac,'to':_0x552927});_0x2a4675['id']=_0xc72af4['id'];const _0x54ef26=_0x2a4675['authorsIds']['map'](_0xdd07f2=>_0x33c2fa['getUser'](_0xdd07f2));_0xc72af4['_update']({..._0x2a4675,'authors':_0x54ef26},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xc72af4['id'],_0x2a4675,!0x0);}this['_revisionTracker']['_startingVersion']=_0x552927,(_0xc72af4['toVersion']===_0xc72af4['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1a6620)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1a6620),this['_revisionTracker']['_createCurrentRevision'](_0x552927));}const {revisions:_0x108bfa,requestId:_0x5cb4bc}=await this['_revisionHistoryService']['reconnect'](_0x599034['connection'],this['_lastRequestId']);_0x2ac24f&&_0x108bfa['length']>0x0?_0x558215['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x108bfa),this['_handleRevisionsUpdate'](_0x108bfa,_0x5cb4bc),this['_revisionTracker']['sendBufferedUpdates']());};return _0x558215['_isConnected']?_0x5445b0():new Promise((_0x2cba9b,_0x3b48a8)=>{_0x558215['once']('change:_isConnected',()=>{_0x5445b0()['then'](_0x2cba9b)['catch'](_0x3b48a8);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3fbf4d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1c01d6=>{_0x1c01d6['off'](),_0x3fbf4d();});});}['_getLatestVersionFromServerOperations'](){const _0x1c89fd=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x347da8 of _0x1c89fd)if('marker'!==_0x347da8['type']||_0x347da8['affectsData'])return _0x347da8['baseVersion']+0x1;}['_getLatestVersion'](){const _0x6caf30=this['editor']['plugins']['get'](l);return new Promise(_0x41d835=>{_0x6caf30['_isPendingUpdate']?_0x6caf30['once']('change:_isPendingUpdate',()=>{_0x41d835(this['_getLatestVersionFromServerOperations']());}):_0x41d835(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x4ae216,_0x58eebc){const _0x1c2ab4=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x58eebc;for(const _0x108c0a of _0x4ae216){const _0xaa015a=_0x1c2ab4['getRevision'](_0x108c0a['id']);if(_0xaa015a){if((_0x108c0a['fromVersion']||_0x108c0a['toVersion'])&&(_0x108c0a['diffData']=null),_0xaa015a===this['_revisionTracker']['currentRevision']){const _0x55e48e=Math['max'](_0xaa015a['toVersion'],_0x108c0a['toVersion']),_0x1b1dff=Math['max'](_0xaa015a['fromVersion'],_0x108c0a['fromVersion']);let _0x57c519;_0xaa015a['toVersion']===_0x108c0a['toVersion']&&_0xaa015a['fromVersion']===_0x108c0a['fromVersion']?(_0x57c519=!0x0,this['_preventResendingRevisionData'](_0x108c0a)):_0x108c0a['toVersion']===_0x55e48e&&_0x108c0a['fromVersion']===_0x1b1dff?_0x57c519=!0x1:(_0xaa015a['toVersion']===_0x55e48e&&_0xaa015a['fromVersion']===_0x1b1dff||this['_fixRevision']({'revision':_0xaa015a,'from':_0x1b1dff,'to':_0x55e48e}),_0x57c519=!0x0),_0x57c519&&(delete _0x108c0a['fromVersion'],delete _0x108c0a['toVersion'],delete _0x108c0a['diffData'],delete _0x108c0a['createdAt'],delete _0x108c0a['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x108c0a),this['_preventResendingRevisionData'](_0x108c0a);}else this['_revisionTracker']['addRevisionData'](_0x108c0a);}const _0x556d8e=_0x1c2ab4['getRevisions']();_0x556d8e['reverse']();for(let _0x234b97=0x0;_0x234b97<_0x556d8e['length']-0x1;_0x234b97++){const _0x1b713b=_0x556d8e[_0x234b97],_0x8a4cdf=_0x556d8e[_0x234b97+0x1];if(_0x1b713b['fromVersion']<_0x8a4cdf['toVersion']){const _0x3c450e=_0x8a4cdf['toVersion'],_0x1b50b5=Math['max'](_0x3c450e,_0x1b713b['toVersion']);this['_fixRevision']({'revision':_0x1b713b,'from':_0x3c450e,'to':_0x1b50b5});}}}['_fixRevision']({revision:_0x457a77,from:_0x40714d,to:_0x55baa7}={}){const _0x54525f=this['editor']['plugins']['get'](_0x4e2011),_0x1ff5b9=this['_revisionTracker']['buildRevisionData']({'revision':_0x457a77,'from':_0x40714d,'to':_0x55baa7});_0x1ff5b9['authors']=_0x1ff5b9['authorsIds']['map'](_0x4a6623=>_0x54525f['getUser'](_0x4a6623)),_0x457a77['_update'](_0x1ff5b9);}['_preventResendingRevisionData'](_0x417152){const _0x92b03e={};_0x92b03e['id']=_0x417152['id'];for(const _0x320932 of Object['keys'](_0x417152))'id'!==_0x320932&&(_0x92b03e[_0x320932]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x92b03e['id'],_0x92b03e,!0x0);}async['_fetchMissingUsers'](_0x7d7f0){const _0x57dbf8=this['editor']['plugins']['get'](_0x4e2011),{connection:_0x2958dd}=this['editor']['plugins']['get'](c),_0x131e01=new Set();for(const _0x11cc15 of _0x7d7f0){for(const _0x35ac84 of _0x11cc15['authorsIds'])_0x5a2a28(_0x35ac84);_0x11cc15['creatorId']&&_0x5a2a28(_0x11cc15['creatorId']);}if(0x0===_0x131e01['size'])return;const _0x5cde19=await dt['getMany'](_0x2958dd,Array['from'](_0x131e01));for(const _0x24b70f of _0x5cde19)_0x57dbf8['getUser'](_0x24b70f['id'])||_0x57dbf8['addUser'](_0x24b70f);function _0x5a2a28(_0x49749c){_0x57dbf8['getUser'](_0x49749c)||_0x131e01['add'](_0x49749c);}}}function st(_0x1bd15f){return _0x1bd15f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1bd15f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1bd15f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0xc45049{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ts extends _0x3d8c1a{constructor(_0x5e30c5){super(_0x5e30c5);const _0x3e3269=this['bindTemplate'];this['set']('usersCount',0x0),this['set']('isHidden',!0x0),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__counter',_0x3e3269['if']('isHidden','ck-presence-list__counter--hidden')]},'children':[{'text':_0x3e3269['to']('usersCount',_0x43115d=>q(_0x5e30c5,'CONNECTED_USERS',_0x43115d))}]});}}class es extends _0x3d8c1a{['items'];['keystrokes'];constructor(_0x4b06cc){super(_0x4b06cc);const _0x2c4cf6=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x26df46(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2c4cf6['if']('hasPopup'),'aria-expanded':_0x2c4cf6['to']('isExpanded',_0x553252=>this['hasPopup']&&String(_0x553252)),'aria-label':_0x2c4cf6['to']('hasPopup',_0x6b38a5=>q(_0x4b06cc,_0x6b38a5?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2c4cf6['to']('hasPopup',_0x52ea7a=>!!_0x52ea7a&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'click':_0x2c4cf6['to'](()=>this['fire']('execute'))}}),this['on']('change:hasPopup',(_0x5c16db,_0x55d020,_0x36e3d7)=>{this['element']&&(_0x36e3d7?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']);}}class L extends _0x3d8c1a{['counterView'];['inlineListView'];constructor(_0x5d28eb){super(_0x5d28eb);const _0x4940b6=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new ts(this['locale']),this['inlineListView']=new es(_0x5d28eb),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x58e3e0 of this['inlineListView']['items'])_0x58e3e0['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',_0x4940b6['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['counterView'],this['inlineListView']]});}}class j extends _0x3d8c1a{['listWrapperView'];constructor(_0x4a72b3,_0x1d4fa5){super(_0x4a72b3),this['listWrapperView']=new mt(_0x4a72b3,_0x1d4fa5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x4a72b3,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']]});}}class mt extends _0xd3dc2c{constructor(_0x2010eb,_0x163492){super(_0x2010eb);const _0x10de41=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x163492?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x10de41['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x10de41['to']('role'),'aria-label':_0x10de41['to']('ariaLabel'),'aria-labelledby':_0x10de41['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3ee391['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x175daa=this['element'];_0x175daa&&(this['_isScrollable']=Math['max'](_0x175daa['scrollHeight'],_0x175daa['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0xcbd4ec,_0x5fbbba,_0x1bb3d4){super(_0xcbd4ec);const _0x75c18b=this['bindTemplate'];this['userView']=new ct(_0xcbd4ec,_0x5fbbba);const _0x3d70c0={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5fbbba['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5fbbba['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5fbbba['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x1bb3d4&&(_0x3d70c0['tag']='button',_0x3d70c0['on']={'click':_0x75c18b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d70c0);}['focus'](){this['element']['focus']();}}class y extends _0x3d8c1a{['userView'];['markerView'];constructor(_0x4ea6f0,_0x43351e,_0x273ebb){super(_0x4ea6f0);const _0x16e903=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x4ea6f0,_0x43351e),this['markerView']=new at(_0x4ea6f0,_0x43351e);const _0x155617=new ot(_0x4ea6f0);_0x155617['template']['tag']='span',_0x155617['text']=_0x43351e['name'];const _0x470005={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x16e903['to']('isFocusable',_0x43e6a9=>!!_0x43e6a9&&0x0),'aria-labelledby':_0x155617['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x16e903['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x16e903['to']('hasTooltip',_0x1394a2=>!_0x1394a2),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x155617]};_0x273ebb&&(_0x470005['tag']='button',_0x470005['on']={'click':_0x16e903['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x470005);}}class at extends _0x3d8c1a{constructor(_0x38f6e6,_0x1e6440){super(_0x38f6e6),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1e6440['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const A={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x33a461{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;constructor(_0xbfdd8b){super(_0xbfdd8b),this['context']['config']['define']('presenceList',A);const _0x73a872=_0xbfdd8b['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x73a872)throw new _0x18dc38('presencelist-collapseat-invalid-format',this);if(_0x73a872<0x1)throw new _0x18dc38('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x330773(),this['balloonPanelView']=new _0x4f7ecf(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x1a852b of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1a852b);this['listenTo'](this['_allConnectedUsers'],'add',(_0x37680d,_0x2021b3)=>{this['_handleUserAdd'](_0x2021b3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5ec23f,_0x3548b9)=>{this['_handleUserRemove'](_0x3548b9);});}['_createView'](){const _0x16b072=this['context'],_0x1b4781=new L(this['context']['locale']),_0x6cdd1b=this['balloonPanelView'];if(!_0x19da4d(_0x16b072['config']['get']('presenceList.container')))throw new _0x18dc38('presencelist-missing-container',this);return _0x1b4781['counterView']['bind']('usersCount')['to'](this),_0x1b4781['bind']('isCollapsed')['to'](this,'usersCount',_0x1ebdf4=>{const {collapseAt:_0x99f421,displayMe:_0x4a46ca}=_0x16b072['config']['get']('presenceList'),_0x30af4c=_0x1ebdf4>=_0x99f421;return _0x1b4781['counterView']['isHidden']=!(0x1==_0x1ebdf4&&_0x4a46ca||_0x30af4c),_0x30af4c||this['hideDropdown'](),_0x30af4c;}),_0x1b4781['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4be3a5=>{const _0x506b6b=_0x16b072['config']['get']('presenceList'),_0x386af7=new y(_0x16b072['locale'],_0x4be3a5,!!_0x506b6b['onClick']);return _0x386af7['bind']('hasTooltip')['to'](_0x1b4781,'isCollapsed',_0x317995=>!_0x317995),_0x386af7['bind']('isFocusable')['to'](_0x1b4781,'isCollapsed',_0xd6b696=>!_0xd6b696),_0x506b6b['onClick']&&this['listenTo'](_0x386af7,'execute',()=>{this['view']['isCollapsed']||_0x506b6b['onClick'](_0x4be3a5,_0x386af7['element']);}),_0x386af7;}),this['listenTo'](_0x1b4781['inlineListView'],'execute',()=>{this['presenceDropdownView']?this['hideDropdown']():this['view']['isCollapsed']&&this['showDropdown']();}),_0x1b4781['inlineListView']['keystrokes']['set']('Enter',(_0x326e11,_0x487f6c)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x487f6c());}),_0x1b4781['render'](),_0x6cdd1b['render'](),_0x39189a({'emitter':_0x1b4781,'activator':()=>_0x6cdd1b['isVisible'],'contextElements':[_0x6cdd1b['element'],_0x1b4781['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x16b072['config']['get']('presenceList.container')['appendChild'](_0x1b4781['element']),this['_bodyCollection']=new _0x361caf(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x1b4781;}['_handleUserAdd'](_0x504a90){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x504a90['isMe'])return;const _0x156f05=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['usersCount']++,this['currentDisplayedUsers']['length']==_0x156f05&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](0x1);const _0x189ee7=_0x504a90['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x504a90,_0x189ee7);}['_handleUserRemove'](_0x3cbe67){if(this['usersCount']--,this['currentDisplayedUsers']['get'](_0x3cbe67['id'])&&(this['currentDisplayedUsers']['remove'](_0x3cbe67['id']),this['currentDisplayedUsers']['length']<this['usersCount'])){for(const _0x30c522 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x30c522['id']))return void this['currentDisplayedUsers']['add'](_0x30c522,Math['min'](this['currentDisplayedUsers']['length'],0x1));}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1212fb=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new j(this['context']['locale'],!!_0x1212fb['onClick']),this['view']['inlineListView']['isExpanded']=!0x0;const {listWrapperView:_0x19db89}=this['presenceDropdownView'];_0x19db89['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x543759=>{if(!_0x1212fb['displayMe']&&_0x543759['isMe'])return null;const _0x103d69=new k(this['context']['locale'],_0x543759,!!_0x1212fb['onClick']);return _0x1212fb['onClick']&&this['listenTo'](_0x103d69,'execute',()=>{_0x1212fb['onClick'](_0x543759,_0x103d69['element']);}),_0x103d69;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x19db89['focus'](),_0x19db89['checkIfScrollable']();const _0xf4f362=(_0x543593,_0x153275)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x153275();};_0x19db89['keystrokes']['set']('Esc',_0xf4f362),_0x19db89['keystrokes']['set']('Shift+Tab',_0xf4f362),_0x19db89['keystrokes']['set']('Tab',(_0x41ebd1,_0x3cc5e0)=>{!function(_0x3e7c6a){const _0xfe4a89=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x313329=>_0x313329+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x58cd76=[...document['body']['querySelectorAll'](_0xfe4a89)]['filter'](_0x1966a9=>_0x1966a9===document['activeElement']||_0x1966a9['offsetWidth']+_0x1966a9['offsetHeight']>0x0)['sort']((_0x370eff,_0x2d84ea)=>(_0x370eff['tabIndex']||0x0)-(_0x2d84ea['tabIndex']||0x0)),_0x2774fe=_0x58cd76['indexOf'](_0x3e7c6a),_0x8d401=_0x58cd76[(_0x2774fe+0x1)%_0x58cd76['length']];_0x8d401&&_0x8d401['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3cc5e0();}),_0x19db89['focusTracker']['add'](this['view']['element']),_0x19db89['focusTracker']['on']('change:isFocused',(_0x111174,_0x5aa665,_0xc7f646)=>{_0xc7f646||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);}}class s extends _0x33a461{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-real-time-collaboration",
|
|
3
|
-
"version": "43.3.0-alpha.
|
|
3
|
+
"version": "43.3.0-alpha.7",
|
|
4
4
|
"description": "A set of CKEditor 5 features enabling real-time collaboration within the editor using CKEditor Cloud Services.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "CKSource (http://cksource.com/)",
|
|
@@ -42,14 +42,14 @@
|
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@ckeditor/ckeditor-cloud-services-collaboration": "52.6.11",
|
|
45
|
-
"@ckeditor/ckeditor5-core": "43.3.0-alpha.
|
|
46
|
-
"@ckeditor/ckeditor5-engine": "43.3.0-alpha.
|
|
47
|
-
"@ckeditor/ckeditor5-operations-compressor": "43.3.0-alpha.
|
|
48
|
-
"@ckeditor/ckeditor5-theme-lark": "43.3.0-alpha.
|
|
49
|
-
"@ckeditor/ckeditor5-ui": "43.3.0-alpha.
|
|
50
|
-
"@ckeditor/ckeditor5-utils": "43.3.0-alpha.
|
|
51
|
-
"ckeditor5": "43.3.0-alpha.
|
|
52
|
-
"ckeditor5-collaboration": "43.3.0-alpha.
|
|
45
|
+
"@ckeditor/ckeditor5-core": "43.3.0-alpha.7",
|
|
46
|
+
"@ckeditor/ckeditor5-engine": "43.3.0-alpha.7",
|
|
47
|
+
"@ckeditor/ckeditor5-operations-compressor": "43.3.0-alpha.7",
|
|
48
|
+
"@ckeditor/ckeditor5-theme-lark": "43.3.0-alpha.7",
|
|
49
|
+
"@ckeditor/ckeditor5-ui": "43.3.0-alpha.7",
|
|
50
|
+
"@ckeditor/ckeditor5-utils": "43.3.0-alpha.7",
|
|
51
|
+
"ckeditor5": "43.3.0-alpha.7",
|
|
52
|
+
"ckeditor5-collaboration": "43.3.0-alpha.7",
|
|
53
53
|
"lodash-es": "4.17.21"
|
|
54
54
|
},
|
|
55
55
|
"types": "src/index.d.ts",
|