@ckeditor/ckeditor5-real-time-collaboration 48.2.0-alpha.7 → 48.3.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/augmentation.d.ts +67 -67
- package/dist/common-translations.d.ts +6 -6
- package/dist/config.d.ts +43 -43
- package/dist/index.d.ts +19 -19
- package/dist/index.js +6 -6
- package/dist/presencelist/presencelistui.d.ts +54 -54
- package/dist/presencelist/view/presencecounterview.d.ts +10 -10
- package/dist/presencelist/view/presencedropdownlistitemview.d.ts +14 -14
- package/dist/presencelist/view/presencedropdownlistview.d.ts +0 -4
- package/dist/presencelist/view/presenceinlinelistitemview.d.ts +15 -15
- package/dist/presencelist/view/presenceinlinelistview.d.ts +34 -34
- package/dist/presencelist/view/presencelistview.d.ts +5 -4
- package/dist/presencelist.d.ts +32 -32
- package/dist/realtimecollaborativecomments/cloudservicescommentsadapter.d.ts +56 -56
- package/dist/realtimecollaborativecomments.d.ts +40 -40
- package/dist/realtimecollaborativeediting/realtimecollaborationclient.d.ts +129 -140
- package/dist/realtimecollaborativeediting/sessions.d.ts +115 -117
- package/dist/realtimecollaborativeediting/usermarkers.d.ts +46 -46
- package/dist/realtimecollaborativeediting/websocketgateway.d.ts +59 -59
- package/dist/realtimecollaborativeediting.d.ts +29 -29
- package/dist/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.d.ts +53 -53
- package/dist/realtimecollaborativerevisionhistory.d.ts +33 -33
- package/dist/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.d.ts +47 -47
- package/dist/realtimecollaborativetrackchanges.d.ts +31 -31
- package/dist/translations/af.js +1 -1
- package/dist/translations/af.umd.js +1 -1
- package/dist/translations/ar.js +1 -1
- package/dist/translations/ar.umd.js +1 -1
- package/dist/translations/ast.js +1 -1
- package/dist/translations/ast.umd.js +1 -1
- package/dist/translations/az.js +1 -1
- package/dist/translations/az.umd.js +1 -1
- package/dist/translations/be.js +1 -1
- package/dist/translations/be.umd.js +1 -1
- package/dist/translations/bg.js +1 -1
- package/dist/translations/bg.umd.js +1 -1
- package/dist/translations/bn.js +1 -1
- package/dist/translations/bn.umd.js +1 -1
- package/dist/translations/bs.js +1 -1
- package/dist/translations/bs.umd.js +1 -1
- package/dist/translations/ca.js +1 -1
- package/dist/translations/ca.umd.js +1 -1
- package/dist/translations/cs.js +1 -1
- package/dist/translations/cs.umd.js +1 -1
- package/dist/translations/da.js +1 -1
- package/dist/translations/da.umd.js +1 -1
- package/dist/translations/de-ch.js +1 -1
- package/dist/translations/de-ch.umd.js +1 -1
- package/dist/translations/de.js +1 -1
- package/dist/translations/de.umd.js +1 -1
- package/dist/translations/el.js +1 -1
- package/dist/translations/el.umd.js +1 -1
- package/dist/translations/en-au.js +1 -1
- package/dist/translations/en-au.umd.js +1 -1
- package/dist/translations/en-gb.js +1 -1
- package/dist/translations/en-gb.umd.js +1 -1
- package/dist/translations/en.js +1 -1
- package/dist/translations/en.umd.js +1 -1
- package/dist/translations/eo.js +1 -1
- package/dist/translations/eo.umd.js +1 -1
- package/dist/translations/es-co.js +1 -1
- package/dist/translations/es-co.umd.js +1 -1
- package/dist/translations/es.js +1 -1
- package/dist/translations/es.umd.js +1 -1
- package/dist/translations/et.js +1 -1
- package/dist/translations/et.umd.js +1 -1
- package/dist/translations/eu.js +1 -1
- package/dist/translations/eu.umd.js +1 -1
- package/dist/translations/fa.js +1 -1
- package/dist/translations/fa.umd.js +1 -1
- package/dist/translations/fi.js +1 -1
- package/dist/translations/fi.umd.js +1 -1
- package/dist/translations/fr.js +1 -1
- package/dist/translations/fr.umd.js +1 -1
- package/dist/translations/gl.js +1 -1
- package/dist/translations/gl.umd.js +1 -1
- package/dist/translations/gu.js +1 -1
- package/dist/translations/gu.umd.js +1 -1
- package/dist/translations/he.js +1 -1
- package/dist/translations/he.umd.js +1 -1
- package/dist/translations/hi.js +1 -1
- package/dist/translations/hi.umd.js +1 -1
- package/dist/translations/hr.js +1 -1
- package/dist/translations/hr.umd.js +1 -1
- package/dist/translations/hu.js +1 -1
- package/dist/translations/hu.umd.js +1 -1
- package/dist/translations/hy.js +1 -1
- package/dist/translations/hy.umd.js +1 -1
- package/dist/translations/id.js +1 -1
- package/dist/translations/id.umd.js +1 -1
- package/dist/translations/it.js +1 -1
- package/dist/translations/it.umd.js +1 -1
- package/dist/translations/ja.js +1 -1
- package/dist/translations/ja.umd.js +1 -1
- package/dist/translations/jv.js +1 -1
- package/dist/translations/jv.umd.js +1 -1
- package/dist/translations/kk.js +1 -1
- package/dist/translations/kk.umd.js +1 -1
- package/dist/translations/km.js +1 -1
- package/dist/translations/km.umd.js +1 -1
- package/dist/translations/kn.js +1 -1
- package/dist/translations/kn.umd.js +1 -1
- package/dist/translations/ko.js +1 -1
- package/dist/translations/ko.umd.js +1 -1
- package/dist/translations/ku.js +1 -1
- package/dist/translations/ku.umd.js +1 -1
- package/dist/translations/lt.js +1 -1
- package/dist/translations/lt.umd.js +1 -1
- package/dist/translations/lv.js +1 -1
- package/dist/translations/lv.umd.js +1 -1
- package/dist/translations/ms.js +1 -1
- package/dist/translations/ms.umd.js +1 -1
- package/dist/translations/nb.js +1 -1
- package/dist/translations/nb.umd.js +1 -1
- package/dist/translations/ne.js +1 -1
- package/dist/translations/ne.umd.js +1 -1
- package/dist/translations/nl.js +1 -1
- package/dist/translations/nl.umd.js +1 -1
- package/dist/translations/no.js +1 -1
- package/dist/translations/no.umd.js +1 -1
- package/dist/translations/oc.js +1 -1
- package/dist/translations/oc.umd.js +1 -1
- package/dist/translations/pl.js +1 -1
- package/dist/translations/pl.umd.js +1 -1
- package/dist/translations/pt-br.js +1 -1
- package/dist/translations/pt-br.umd.js +1 -1
- package/dist/translations/pt.js +1 -1
- package/dist/translations/pt.umd.js +1 -1
- package/dist/translations/ro.js +1 -1
- package/dist/translations/ro.umd.js +1 -1
- package/dist/translations/ru.js +1 -1
- package/dist/translations/ru.umd.js +1 -1
- package/dist/translations/si.js +1 -1
- package/dist/translations/si.umd.js +1 -1
- package/dist/translations/sk.js +1 -1
- package/dist/translations/sk.umd.js +1 -1
- package/dist/translations/sl.js +1 -1
- package/dist/translations/sl.umd.js +1 -1
- package/dist/translations/sq.js +1 -1
- package/dist/translations/sq.umd.js +1 -1
- package/dist/translations/sr-latn.js +1 -1
- package/dist/translations/sr-latn.umd.js +1 -1
- package/dist/translations/sr.js +1 -1
- package/dist/translations/sr.umd.js +1 -1
- package/dist/translations/sv.js +1 -1
- package/dist/translations/sv.umd.js +1 -1
- package/dist/translations/th.js +1 -1
- package/dist/translations/th.umd.js +1 -1
- package/dist/translations/ti.js +1 -1
- package/dist/translations/ti.umd.js +1 -1
- package/dist/translations/tk.js +1 -1
- package/dist/translations/tk.umd.js +1 -1
- package/dist/translations/tr.js +1 -1
- package/dist/translations/tr.umd.js +1 -1
- package/dist/translations/tt.js +1 -1
- package/dist/translations/tt.umd.js +1 -1
- package/dist/translations/ug.js +1 -1
- package/dist/translations/ug.umd.js +1 -1
- package/dist/translations/uk.js +1 -1
- package/dist/translations/uk.umd.js +1 -1
- package/dist/translations/ur.js +1 -1
- package/dist/translations/ur.umd.js +1 -1
- package/dist/translations/uz.js +1 -1
- package/dist/translations/uz.umd.js +1 -1
- package/dist/translations/vi.js +1 -1
- package/dist/translations/vi.umd.js +1 -1
- package/dist/translations/zh-cn.js +1 -1
- package/dist/translations/zh-cn.umd.js +1 -1
- package/dist/translations/zh.js +1 -1
- package/dist/translations/zh.umd.js +1 -1
- package/package.json +13 -13
package/dist/index.js
CHANGED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
import{
|
|
24
|
-
((()=>_0x3b949e)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x4caa52,_0x552a0d];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x513899){super(_0x513899),this['set']('state',_0xb53f3f['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x80e1e9())();}['init'](){const _0x187e61=this['context'],_0x203ca3=_0x187e61['plugins']['get'](_0x4caa52),_0x19da8d=_0x187e61['plugins']['get'](_0x552a0d);if(!_0x203ca3['token'])throw new _0x44690c('websocketgateway-missing-token',this);if(!_0x203ca3['webSocketUrl'])throw new _0x44690c('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x203ca3['token'],_0x203ca3['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5e4304=>{if(this['connection']=_0x5e4304,this['bind']('state')['to'](_0x5e4304,'state',this,'_isBrowserOffline',(_0x38001b,_0x240d5c)=>('connected'!==_0x38001b&&(this['_shouldPluginsReconnect']=!0x0),_0x240d5c||_0x38001b!==_0xb53f3f['CONNECTED']?_0xb53f3f['DISCONNECTED']:this['state']==_0xb53f3f['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xb53f3f['CONNECTING']):_0xb53f3f['CONNECTED'])),this['connection']['on']('error',(_0xa36fd,_0x127978)=>{if('limitExceeded'!==_0x127978['code'])throw console['error'](_0x127978),new _0x44690c('cloudservices-init',null,{'originalError':_0x127978});_0x19da8d['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'});}),!_0x5e4304['me'])return new Promise(_0x1100db=>_0x5e4304['on']('change:me',_0x1100db));})['catch'](_0x26c310=>{throw console['error'](_0x26c310),new _0x44690c('cloudservices-init',null,{'originalError':_0x26c310});});}['addToReconnectionStack'](_0x1d97f7){if('function'!=typeof _0x1d97f7['reconnect'])throw new _0x44690c('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1d97f7))throw new _0x44690c('websocketgateway-plugin-already-registered',this,{'name':_0x1d97f7['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1d97f7);}['removeFromReconnectionStack'](_0x4701f2){this['_reconnectionStack']['delete'](_0x4701f2);}['isInReconnectionStack'](_0x102ab8){return this['_reconnectionStack']['has'](_0x102ab8);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3bf125=>_0x3bf125['reconnect']())))['then'](()=>this['state']=_0xb53f3f['CONNECTED'])['catch'](_0x19260e=>{throw console['error'](_0x19260e),new _0x44690c('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xb53f3f['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Sessions extends _0x191ab4{['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[WebSocketGateway,_0xbd9206];}constructor(_0x2df428){super(_0x2df428),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xd26e88(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0xbd9206);}['init'](){const _0xb96130=this['context']['plugins']['get'](WebSocketGateway);this['listenTo'](_0xb96130,'change:state',(_0x54b028,_0x32894e,_0x4e3c7e)=>{if('connected'!==_0x4e3c7e)this['channelSessions']['forEach'](_0x166367=>_0x166367['clear']()),this['channelConnectedUsers']['forEach'](_0x522339=>_0x522339['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x23c085,_0x2f1d23]of this['_registeredSessions'])for(const _0x3ea320 of _0x2f1d23)this['_handleSessionAdd'](_0x23c085,_0x3ea320);}}),this['_createUser'](_0xb96130['connection']['me'],!0x0);}['register'](_0x2048e1,_0x415608){if(this['_registeredSessions']['has'](_0x2048e1))throw new _0x44690c('sessions-register-already-registered',null,{'channelId':_0x2048e1});this['_registeredSessions']['set'](_0x2048e1,_0x415608),this['channelSessions']['set'](_0x2048e1,new _0xd26e88()),this['channelConnectedUsers']['set'](_0x2048e1,new _0xd26e88()),this['listenTo'](_0x415608,'add',(_0x1b7bf5,_0x3e079e)=>this['_handleSessionAdd'](_0x2048e1,_0x3e079e)),this['listenTo'](_0x415608,'remove',(_0x53f7d6,_0x2079b3)=>this['_handleSessionRemove'](_0x2048e1,_0x2079b3));for(const _0x312b38 of _0x415608)this['_handleSessionAdd'](_0x2048e1,_0x312b38);}['unregister'](_0x3a23cf){if(!this['_registeredSessions']['has'](_0x3a23cf))throw new _0x44690c('sessions-unregister-not-exist',null,{'channelId':_0x3a23cf});const _0x2adf34=this['_registeredSessions']['get'](_0x3a23cf);this['stopListening'](_0x2adf34);for(const _0x4df2f1 of _0x2adf34)'connected'===this['context']['plugins']['get'](WebSocketGateway)['state']&&this['_handleSessionRemove'](_0x3a23cf,_0x4df2f1);this['_registeredSessions']['delete'](_0x3a23cf),this['channelSessions']['delete'](_0x3a23cf),this['channelConnectedUsers']['delete'](_0x3a23cf);}get['mySessionId'](){return this['context']['plugins']['get'](WebSocketGateway)['connection']['sessionId'];}['getUserBySessionId'](_0x354c45){for(const _0x14a592 of this['channelSessions']['values']())for(const _0x52b844 of _0x14a592)if(_0x52b844['id']===_0x354c45)return _0x52b844['user'];}['getUserSessions'](_0x241ea6,_0x4298a6){const _0x5edb91=_0x4298a6?[this['channelSessions']['get'](_0x4298a6)]:this['channelSessions']['values'](),_0x22cb7c=new Set();for(const _0x16b3a3 of _0x5edb91)for(const _0x466cd8 of _0x16b3a3)_0x466cd8['user']['id']===_0x241ea6['id']&&_0x22cb7c['add'](_0x466cd8['id']);return _0x22cb7c;}['getUserRole'](_0x1715c3){for(const _0x55c30b of this['channelSessions']['values']())for(const _0x4da46f of _0x55c30b)if(_0x4da46f['user']===_0x1715c3)return _0x4da46f['role'];}['_handleSessionAdd'](_0x1fdce3,_0x269bf5){if('connected'!==this['context']['plugins']['get'](WebSocketGateway)['state'])return;const _0x2ae26e=_0x269bf5['user'],_0x478c01=this['_users']['getUser'](_0x2ae26e['id'])||this['_createUser'](_0x2ae26e),_0x19b6f3=Object['assign']({},_0x269bf5,{'user':_0x478c01});if(this['channelSessions']['get'](_0x1fdce3)['add'](_0x19b6f3),!_0x2ae26e['hiddenInPresenceList']){const _0x344ba1=this['channelConnectedUsers']['get'](_0x1fdce3);_0x344ba1['has'](_0x478c01['id'])||_0x344ba1['add'](_0x478c01),this['allConnectedUsers']['has'](_0x478c01['id'])||_0x2ae26e['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x478c01,_0x478c01['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1fdce3,{'channelId':_0x1fdce3,'session':_0x19b6f3});}['_handleSessionRemove'](_0x591a9c,_0x5b06c2){if('connected'!==this['context']['plugins']['get'](WebSocketGateway)['state'])return;const _0x1dd670=this['channelConnectedUsers']['get'](_0x591a9c),_0x4bd192=_0x5b06c2['user'];_0x4bd192['id']&&(this['channelSessions']['get'](_0x591a9c)['remove'](_0x5b06c2['id']),_0x1dd670['has'](_0x4bd192['id'])&&!this['getUserSessions'](_0x4bd192,_0x591a9c)['size']&&_0x1dd670['remove'](_0x4bd192['id']),this['allConnectedUsers']['get'](_0x4bd192['id'])&&!this['getUserSessions'](_0x4bd192)['size']&&this['allConnectedUsers']['remove'](_0x4bd192['id']));}['_createUser'](_0x492396,_0x5f42d4){const _0x5f129a=this['_users']['addUser'](_0x492396);return _0x5f42d4&&this['_users']['defineMe'](_0x492396['id']),_0x5f129a['orderNumber']=this['_uniqueUsersCount']++,_0x5f129a;}}class UserMarkers extends _0x523d5c{['_domEmitter']=new(_0x80e1e9())();static get['requires'](){return[Sessions];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5098bd=this['editor'],_0x4f47bb=_0x5098bd['plugins']['get'](Sessions);_0x5098bd['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5df524,{writer:_0x1eb55c})=>function(_0x5b1462,_0x25a01b,_0x5e0ad6,_0x5be1b6){const _0xb9e396=_0x5b1462['markerName']['split'](':')[0x2],_0x396894=_0x5e0ad6['getUserBySessionId'](_0xb9e396);if(!_0x396894||_0xb9e396===_0x5e0ad6['mySessionId'])return;if(!_0x5be1b6['model']['schema']['checkChild'](_0x5b1462['markerRange']['start'],'$text'))return;const _0x289e6a={'class':'ck-user__marker\x20'+_0x396894['color']['getMarkerClass'](),'style':Y(_0x396894),'data-name':_0x396894['name'],'data-session-id':_0xb9e396},_0x432f57=_0x5be1b6['model']['markers']['get'](_0x5b1462['markerName']),_0x30d25f=_0x432f57['getStart'](),_0x4777f3=_0x30d25f['nodeAfter'],_0x3c28d1=_0x5be1b6['model']['schema'];if(_0x4777f3&&_0x3c28d1['isObject'](_0x4777f3)&&_0x3c28d1['isInline'](_0x4777f3)&&!_0x5be1b6['model']['markers']['get']('user:range:'+_0xb9e396)['getRange']()['isCollapsed'])return;const _0xdfdc99=_0x30d25f['parent'];return _0x5be1b6['model']['schema']['isLimit'](_0xdfdc99)&&!_0x5be1b6['model']['hasContent'](_0xdfdc99)&&(_0x289e6a['contenteditable']=!0x1),function(_0x10d397,_0xad0c51,_0xb3703f){const _0x41dc2c=_0x10d397['createUIElement']('span',_0xad0c51);return _0x10d397['setCustomProperty']('userPositionMarker',!0x0,_0x41dc2c),_0x41dc2c['render']=function(_0x38b259){const _0x4663b7=this['toDomElement'](_0x38b259),_0x1a49a8=document['createElement']('span');return _0x1a49a8['classList']['add']('ck-user__marker-tooltip'),_0x1a49a8['setAttribute']('contenteditable','false'),_0x1a49a8['setAttribute']('spellcheck','false'),_0x1a49a8['textContent']=_0xb3703f['name'],_0x4663b7['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1a49a8['outerHTML']+'',_0x4663b7['addEventListener']('mouseenter',()=>{_0x4663b7['classList']['add']('ck-user__marker_hovered');}),_0x4663b7['addEventListener']('mouseleave',()=>{_0x4663b7['classList']['remove']('ck-user__marker_hovered');}),_0x4663b7;},_0x41dc2c['isSimilar']=function(_0x52af88){return!(!this['getCustomProperty']('userPositionMarker')||!_0x52af88['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x52af88['getAttribute']('data-session-id'));},_0x41dc2c;}(_0x25a01b,_0x289e6a,_0x396894);}(_0x5df524,_0x1eb55c,_0x4f47bb,_0x5098bd)}),_0x5098bd['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x1e4d22=>function(_0xaf186f,_0x3109c2){const _0x499d64=_0xaf186f['markerName']['split'](':')[0x2];if(_0x499d64===_0x3109c2['mySessionId'])return null;const _0x1b8a9f=_0x3109c2['getUserBySessionId'](_0x499d64);if(!_0x1b8a9f)return{'id':_0x499d64,'classes':[]};return{'id':_0x499d64,'classes':['ck-user__selection',_0x1b8a9f['color']['getSelectionClass']()],'attributes':{'style':Y(_0x1b8a9f),'data-session-id':_0x499d64},'priority':0x7d0+_0x1b8a9f['orderNumber']};}(_0x1e4d22,_0x4f47bb)}),function(_0x463034){const _0x4feccb=_0x463034['model'],_0x2b1513=new Map(),_0x824683=_0x463034['plugins']['get'](Sessions);_0x4feccb['markers']['on']('update:user:range',(_0x3916ee,_0x2aa9f6,_0x528e95,_0x4d60b6)=>{if(!_0x4d60b6&&_0x2b1513['get'](_0x2aa9f6['name']))return _0x2b1513['get'](_0x2aa9f6['name'])['detach'](),void _0x2b1513['delete'](_0x2aa9f6['name']);const _0x2abb73=_0x2aa9f6['name']['split'](':')[0x2];if(_0x2abb73===_0x824683['mySessionId'])return;const _0x4980e1='user:position:'+_0x2abb73;_0x4feccb['markers']['has'](_0x4980e1)&&_0x463034['editing']['reconvertMarker'](_0x4980e1),_0x2aa9f6['on']('change:range',(_0x22c262,_0x27b806,_0x2bf0e1)=>{if('$graveyard'!=_0x27b806['root']['rootName']&&'$graveyard'==_0x2aa9f6['getRange']()['root']['rootName']&&!_0x2b1513['has'](_0x2aa9f6['name'])){const _0x4648d1=_0x4feccb['schema']['getNearestSelectionRange'](_0x2bf0e1['deletionPosition']);if(_0x4648d1){const _0x42fda=_0xee587a['fromRange'](_0x4648d1);_0x2b1513['set'](_0x2aa9f6['name'],_0x42fda),_0x42fda['on']('change:range',(_0x53567f,_0x54e0bb,_0x251f29)=>{if('$graveyard'==_0x42fda['root']['rootName']){const _0x51da16=_0x4feccb['schema']['getNearestSelectionRange'](_0x251f29['deletionPosition']);_0x51da16?(_0x42fda['start']=_0x51da16['start'],_0x42fda['end']=_0x51da16['end']):(_0x2b1513['delete'](_0x2aa9f6['name']),_0x42fda['detach']());}});}}});}),_0x4feccb['document']['on']('change',()=>{_0x2b1513['size']>0x0&&_0x4feccb['enqueueChange']({'isUndoable':!0x1},_0x122a23=>{for(const [_0xef7e10,_0x12fc45]of _0x2b1513)'$graveyard'==_0x4feccb['markers']['get'](_0xef7e10)['getRange']()['root']['rootName']&&(z(_0xef7e10['split'](':')[0x2],_0x12fc45['toRange'](),_0x4feccb,_0x122a23),_0x12fc45['detach']());_0x2b1513['clear']();});});}(_0x5098bd),this['_domEmitter']['listenTo'](_0x14a421['document'],'keydown',(_0x1e002e,{key:_0x567262})=>{'Escape'===_0x567262&&function(_0x5c5e04){_0x5c5e04['editing']['view']['change'](_0x2fa77a=>{for(const _0x1ea49c of _0x5c5e04['model']['markers']){if(!_0x1ea49c['name']['startsWith']('user:position'))continue;const _0x1a4464=_0x5c5e04['editing']['mapper']['markerNameToElements'](_0x1ea49c['name']);if(_0x1a4464){for(const _0x5965c2 of _0x1a4464)_0x2fa77a['removeClass']('ck-user__marker_hovered',_0x5965c2);}}});}(_0x5098bd);},{'useCapture':!0x0});}['afterInit'](){const _0xd61f81=this['editor'],_0x42dc76=_0xd61f81['commands']['get']('undo');_0x42dc76&&_0xd61f81['model']['on']('applyOperation',(_0x36a31c,_0x5b9e30)=>{const _0x5a9bae=_0x5b9e30[0x0];if(!_0x5a9bae['isDocumentOperation'])return;if('marker'!=_0x5a9bae['type']||!_0x5a9bae['name']['startsWith']('user:'))return;const _0x5adabb=_0x5a9bae['batch'];_0x42dc76['_createdBatches']['has'](_0x5adabb)&&(_0x5a9bae['newRange']=_0x5a9bae['oldRange']?_0xd61f81['model']['createRange'](_0x5a9bae['oldRange']['start'],_0x5a9bae['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x246040=this['editor'],_0x1d4bea=_0x246040['model']['document'],_0x56ba5=_0x246040['plugins']['get'](Sessions);_0x246040['model']['enqueueChange']({'isUndoable':!0x1},_0x4027c3=>{const _0x145715='user:range:'+_0x56ba5['mySessionId'],_0x386cc9='user:position:'+_0x56ba5['mySessionId'],_0x26ca12=_0x246040['model']['markers']['has'](_0x145715);_0x246040['editing']['view']['hasDomSelection']?z(_0x56ba5['mySessionId'],_0x1d4bea['selection']['getFirstRange'](),_0x246040['model'],_0x4027c3):_0x26ca12&&(_0x4027c3['removeMarker'](_0x145715),_0x4027c3['removeMarker'](_0x386cc9));});}}function z(_0x41bcec,_0x4fe375,_0x4c7ff2,_0x260a01){const _0x6a1773='user:range:'+_0x41bcec,_0x3d823d='user:position:'+_0x41bcec,_0x28e68a=_0x4fe375['getContainedElement']();let _0x27d65b=_0x4fe375['start'];if(_0x28e68a&&_0x28e68a['is']('element','tableCell')){const _0x3b1072=function(_0x41331b,_0xf6037){for(const _0x49f567 of _0x41331b['getPositions']())if(_0xf6037['schema']['checkChild'](_0x49f567,'$text'))return _0x49f567;}(_0x4fe375,_0x4c7ff2);_0x3b1072&&(_0x27d65b=_0x3b1072,_0x4fe375=_0x260a01['createRange'](_0x27d65b));}const _0x46a364=_0x260a01['createRange'](_0x27d65b);_0x4c7ff2['markers']['has'](_0x6a1773)?(_0x260a01['updateMarker'](_0x6a1773,{'range':_0x4fe375}),_0x260a01['updateMarker'](_0x3d823d,{'range':_0x46a364})):(_0x260a01['addMarker'](_0x6a1773,{'range':_0x4fe375,'usingOperation':!0x0}),_0x260a01['addMarker'](_0x3d823d,{'range':_0x46a364,'usingOperation':!0x0}));}function Y(_0x102306){return'--ck-user-color:'+_0x102306['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x102306['color']['getColorAlphaVariable']()+';';}function K(_0x57c499,_0x4e62d4,_0xbaaedc){const _0x52f620=_0x57c499['t'],t=_0x57c499['t'];switch(_0x4e62d4){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 _0x52f620({'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'},_0xbaaedc);default:return'';}}let J=0x1;class RealTimeCollaborationClient extends _0x523d5c{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
-
((()=>_0xe673cf)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[WebSocketGateway,Sessions,UserMarkers,_0x8e714,_0xbd9206,_0x552a0d];}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 _0x4f4125=this['serverHistory']['getOperations']();for(let _0x30330e=_0x4f4125['length']-0x1;_0x30330e>=0x0;_0x30330e--){const _0x3b2780=_0x4f4125[_0x30330e];if(!this['_disconnectionOperations']['has'](_0x3b2780))return _0x3b2780['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xfe4128){if(super(_0xfe4128),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5bc90f(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x44690c('collaboration-missing-channelid',this);const _0x184176=_0xfe4128['config']['get']('cloudServices.bundleVersion')||_0x146c5e;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x184176,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x7f9a95(),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 OperationIdentifier(this['_disconnectionOperations']);}['init'](){const _0x8986c7=this['editor'],_0x1e6dc2=_0x8986c7['plugins']['get'](_0xbd9206),_0x2323ee=_0x8986c7['plugins']['get'](WebSocketGateway);this['listenTo'](_0x1e6dc2,'getOperationAuthor',(_0x5bdf10,_0x4b8b7b)=>{const _0x5a0fe9=_0x4b8b7b[0x0];_0x5a0fe9['_authorId']&&(_0x5bdf10['return']=_0x1e6dc2['getUser'](_0x5a0fe9['_authorId']),_0x5bdf10['stop']()),null===_0x5a0fe9['_authorId']&&(_0x5bdf10['return']=null,_0x5bdf10['stop']());},{'priority':'high'}),this['listenTo'](_0x8986c7['model']['document']['selection'],'change:range',(_0x299731,_0x4eff9b)=>{_0x4eff9b['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x8986c7['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x8986c7['model']['on']('applyOperation',(_0x454379,_0x1cc0dc)=>{const _0x4d1743=_0x1cc0dc[0x0];_0x4d1743['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4d1743),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2323ee,'state',this,'_hasSynchronizationProblem',(_0x297ad3,_0x1e5dfc)=>'connected'===_0x297ad3&&!_0x1e5dfc),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x8986c7['disableReadOnlyMode']('rtc-offline'):_0x8986c7['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x8986c7['disableReadOnlyMode']('rtc-offline'):_0x8986c7['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x543821=this['editor']['plugins']['get'](Sessions),_0x277521=this['editor']['plugins']['get'](WebSocketGateway);try{this['_isPendingUpdate']=!0x0,_0x543821['unregister'](this['_channelId']);const _0x50b4e9=await this['_service']['reconnect'](_0x277521['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x50b4e9)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3372bd=await this['_service']['getConnectedSessions']();_0x543821['register'](this['_channelId'],_0x3372bd),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x37f918){if(function(_0x5ce158){return'404'===_0x5ce158['code'];}(_0x37f918)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x33eae8){return'409'===_0x33eae8['code'];}(_0x37f918)){const _0x590af5=K(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'](_0x590af5);}else{if(!(_0x37f918 instanceof ReconnectionError))throw _0x37f918;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4fcf57=this['editor']['plugins']['get'](WebSocketGateway),_0x524bd1=this['editor']['plugins']['get'](Sessions);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x524bd1['channelSessions']['has'](this['_channelId'])&&_0x524bd1['unregister'](this['_channelId']),_0x4fcf57['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5ace4e){if(this['sessionId']!==_0x5ace4e['sessionId']&&this['_lastSyncedOperationId']!==_0x5ace4e['lastOperationId'])throw new ReconnectionError();return this['sessionId']=_0x5ace4e['sessionId'],this['_handleServerResponse']([],{..._0x5ace4e,'wereChangesApplied':!0x1,'data':_0x5ace4e['data']},'reconnect');}async['_connectService'](_0x1219e7,_0x274b05=!0x1){const {connection:_0xbd3287}=this['editor']['plugins']['get'](WebSocketGateway);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0xbd3287,this['_channelId'])['then'](_0x451ac6=>this['_initSessionsHandling'](_0x451ac6))['catch'](_0x4e28b3=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4e28b3);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x205534,_0x1ccbfc)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1ccbfc);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x52664a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1219e7);this['_isPendingUpdate']=!0x0;const _0x1423d1=await this['_service']['connect'](_0xbd3287,this['_compressOperations'](_0x1219e7),_0x52664a);if(this['sessionId']=_0x1423d1['sessionId'],_0x274b05){if(!_0x1423d1['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1423d1['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1219e7,_0x1423d1,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1423d1,_0x1219e7);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x571bc9=this['editor']['plugins']['get'](Sessions),_0x45b989=this['editor']['plugins']['get'](UserMarkers),_0x3a0145=_0x571bc9['channelSessions']['get'](this['_channelId']);_0x3a0145&&_0x3a0145['length']>0x1?_0x45b989['createUserMarkerOperations']():this['listenTo'](_0x571bc9,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x571bc9['channelSessions']['get'](this['_channelId'])['length']&&_0x45b989['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x31145f,_0xe2a458,_0x39df33,_0x311276){if(!this['_isPendingUpdate']&&this['_document']['version']==_0xe2a458){const _0x2b1759=this['_decompressOperations'](_0x39df33,_0x311276);await this['_fetchMissingUsers'](_0x2b1759),this['_handleExternalOperations'](_0x2b1759,_0xe2a458,_0x39df33['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3de7d5}=this['editor'];let _0x3ebfa5;try{_0x3ebfa5=await this['_service']['getDocumentDetails']();}catch{const _0x4f8e6c=K(_0x3de7d5,'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'](_0x4f8e6c);}const _0x471562=_0x3ebfa5['currentDocumentSession']||_0x3ebfa5['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x471562['lastOperationId']){const _0x359fb3=K(_0x3de7d5,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x359fb3);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x503027){const _0x38de83=this['editor']['plugins']['get'](Sessions);this['listenTo'](_0x38de83,'sessionAdd:'+this['_channelId'],(_0x1adf35,{session:_0x453c2c})=>{if(_0x453c2c['id']===_0x38de83['mySessionId']){_0x1adf35['off']();const _0x46e195=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4e9b3b=_0x453c2c['permissions'];_0x46e195&&_0x46e195['isEnabled']&&(_0x4e9b3b=_0x4e9b3b['filter'](_0x38652d=>'document:write'!==_0x38652d)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4e9b3b,this['_channelId']);}}),_0x38de83['register'](this['_channelId'],_0x503027);}['_initThrowingOnDataSet'](){const _0x3ff501=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x399ace)=>{if(!_0x399ace[_0x399ace['length']-0x1]['suppressErrorInCollaboration'])throw new _0x44690c('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3ff501['apply'](this['editor']['data'],_0x399ace);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1261f2,[_0x568d14])=>{if(this['_document']['version'])throw new _0x44690c('realtimecollaborationclient-init-document-already-initialized',this);_0x1261f2['stop'](),this['_setPendingAction']();const _0x18098f=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x43c3e4])=>!_0x43c3e4['lazyLoad'])['map'](([_0x3d2e36,_0x5b1df0])=>[_0x3d2e36,_0x5b1df0['modelAttributes']||{}])),_0x55e6bd=this['_getOperationsFromInitData'](_0x568d14,_0x18098f);0x0==_0x55e6bd['length']&&_0x55e6bd['push'](new _0x2303ac(0x0)),_0x1261f2['return']=this['_connectService'](_0x55e6bd)['then'](()=>{this['editor']['plugins']['get'](WebSocketGateway)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x25bd9d=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x25bd9d))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1eb99e,[_0x470ff8,_0x3a2445])=>{_0x1eb99e['stop']();const _0x21eb63=this['editor']['model']['document']['getRoot'](_0x470ff8);if(!this['_knownRootNames']['has'](_0x470ff8)){const _0x24aa79=_0x3a2445&&_0x3a2445['data']?_0x3a2445['data']:'',_0x468758=_0x3a2445&&_0x3a2445['attributes']?_0x3a2445['attributes']:{};await this['_loadRoot'](_0x470ff8,_0x24aa79,_0x468758);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x21eb63['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x21eb63);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x38ebb6){const _0x47880b=this['editor']['plugins']['get'](_0xbd9206),{connection:_0x4f7680}=this['editor']['plugins']['get'](WebSocketGateway),_0x12b8ca=new Set();for(const _0x5168d6 of _0x38ebb6){const _0x1a4e73=_0x5168d6['_authorId'];_0x1a4e73&&!_0x47880b['getUser'](_0x1a4e73)&&_0x12b8ca['add'](_0x1a4e73);}if(0x0===_0x12b8ca['size'])return;const _0xfaa9d0=await _0x270274['getMany'](_0x4f7680,Array['from'](_0x12b8ca));for(const _0x4675e8 of _0xfaa9d0)_0x47880b['getUser'](_0x4675e8['id'])||_0x47880b['addUser'](_0x4675e8);}['_getOperationsFromInitData'](_0x1a4b18,_0x7ab4e0={}){const _0x338a71=this['editor']['model'],_0x7a3d09=[];let _0x129fb5=0x0;const _0x48910e='string'==typeof _0x1a4b18?{'main':_0x1a4b18}:_0x1a4b18;for(const _0x318e37 of Object['keys'](_0x48910e)){if(!this['_document']['roots']['has'](_0x318e37))throw new _0x44690c('realtimecollaborationclient-init-non-existent-root',this);const _0x31ef8c=this['_document']['getRoot'](_0x318e37),_0x72bea8=this['editor']['data']['parse'](_0x48910e[_0x318e37],_0x31ef8c),_0x213db1=new _0x484853(_0x338a71['createPositionAt'](_0x31ef8c,0x0),_0x72bea8,_0x129fb5++);_0x7a3d09['push'](_0x213db1);for(const [_0x5ef695,_0x220989]of _0x72bea8['markers']){const _0x74f07=_0x338a71['createRange'](_0x338a71['createPositionFromPath'](_0x31ef8c,_0x220989['start']['path']['slice']()),_0x338a71['createPositionFromPath'](_0x31ef8c,_0x220989['end']['path']['slice']())),_0x412b40=new _0x1fb70f(_0x5ef695,null,_0x74f07,_0x338a71['markers'],!0x0,_0x129fb5++);_0x7a3d09['push'](_0x412b40);}}if(_0x7ab4e0)for(const [_0x5cfb40,_0x5024da]of Object['entries'](_0x7ab4e0)){const _0x196a73=_0x338a71['document']['getRoot'](_0x5cfb40);if(!_0x196a73)throw new _0x44690c('multi-root-editor-root-attributes-no-root',null);for(const [_0x5601d8,_0xb3ef30]of Object['entries'](_0x5024da))if(null!==_0xb3ef30){const _0x57e8aa=new _0x3050ce(_0x196a73,_0x5601d8,null,_0xb3ef30,_0x129fb5++);_0x7a3d09['push'](_0x57e8aa);}}return _0x7a3d09;}async['_loadRoot'](_0x3b512c,_0x4f7c38,_0x42e04b){this['_getOperationsFromInitData']({[_0x3b512c]:_0x4f7c38},{[_0x3b512c]:_0x42e04b})['forEach']((_0x751384,_0x58313a)=>{_0x751384['baseVersion']=this['_document']['version']+_0x58313a,_0x751384['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x751384);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x378645,_0x47730a){let _0x311976;this['_offset']=_0x378645['offset'];const _0x1a4bbd=_0x378645['wereChangesApplied']&&!_0x378645['initData'],_0x543ec0=_0x1a4bbd?0x0:_0x378645['data']['baseVersion'];if(_0x47730a['forEach'](_0xc81d3c=>{_0xc81d3c['_isInit']=!0x0,_0xc81d3c['createdAt']=_0x378645['sessionCreatedAt'],_0xc81d3c['_authorId']=null;}),_0x1a4bbd)_0x311976=_0x47730a,this['_applyOperationsSet'](_0x311976,_0x1a4bbd);else{if(_0x378645['initData']){const _0x4ea333=this['_getOperationsFromInitData'](_0x378645['initData']);this['_document']['history']['version']=-_0x4ea333['length'],_0x4ea333['forEach'](_0x4dd2bf=>{_0x4dd2bf['baseVersion']-=_0x4ea333['length'],_0x4dd2bf['createdAt']=_0x378645['sessionCreatedAt'],_0x4dd2bf['_isInit']=!0x0,_0x4dd2bf['_authorId']=null;}),this['_applyOperationsSet'](_0x4ea333,!0x0),this['serverHistory']['version']=-_0x4ea333['length']+this['_offset'],this['_updateServerHistory'](_0x4ea333);}this['_document']['history']['version']=_0x543ec0,_0x311976=this['_decompressOperations'](_0x378645['data'],_0x378645['metadata']),await this['_fetchMissingUsers'](_0x311976),this['_applyOperationsSet'](_0x311976,_0x1a4bbd);}_0x378645['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x311976,_0x378645['lastOperationId']),this['_lastSyncedOperationId']=_0x378645['lastOperationId']),this['serverHistory']['version']=_0x543ec0+this['_offset'],this['_updateServerHistory'](_0x311976),_0x47730a['filter'](_0x20382c=>{const _0x24bcb3=this['_getAffectedRoot'](_0x20382c);return _0x24bcb3&&!this['_knownRootNames']['has'](_0x24bcb3);})['forEach']((_0x2bcf4e,_0xe75f8e)=>{_0x2bcf4e['baseVersion']=this['_document']['version']+_0xe75f8e,this['_saveOperationInBuffer'](_0x2bcf4e);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x145ff9,_0x2474e8){const _0x4f2658=_0x2474e8&&_0x2474e8['message'];if(_0x4f2658&&_0x4f2658['startsWith']('realtimecollaborationclient'))throw _0x2474e8;const _0x27d2d3=this['editor']['plugins']['get'](WebSocketGateway);throw this['_isPendingUpdate']=!0x0,_0x27d2d3['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x44690c(_0x145ff9,this['editor'],_0x4f2658?{'originalError':_0x4f2658}:void 0x0);}['_saveOperationInBuffer'](_0x9a76cd){this['_knownOperations']['has'](_0x9a76cd)||(this['_knownOperations']['add'](_0x9a76cd),this['_bufferedOperations']['push'](_0x9a76cd),this['_pendingAction']||'marker'==_0x9a76cd['type']&&!_0x9a76cd['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x4a47b5=!0x1){!_0x4a47b5&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x144d31=>{_0x144d31&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3698b8=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x446249){return _0x446249['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x446249['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x446249['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3698b8)||this['_crash'](_0x3698b8['message'],_0x3698b8);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0xb69190=>{this['on']('change:_isPendingUpdate',()=>{_0xb69190();});});}async['_sendBufferedOperations'](){const _0x10c8ea=this['editor']['plugins']['get'](UserMarkers);if(this['_shouldSendSelectionUpdate']()&&(_0x10c8ea['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2efa2f=[...this['_bufferedOperations']];for(const _0x18cd96 of _0x2efa2f)_0x18cd96['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x18cd96);const _0xeb6a3b=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2efa2f),_0x7a205b=J++,_0x293f41=this['_compressOperations'](_0x2efa2f),_0xcdf4ea=await this['_service']['sendOperations'](_0x293f41,_0x293f41['baseVersion'],_0xeb6a3b);try{return await this['_handleServerResponse'](_0x2efa2f,_0xcdf4ea,_0x7a205b);}catch(_0x1343f3){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1343f3);}}async['_handleServerResponse'](_0x536120,_0x237c8a,_0x598780){if('error'in _0x237c8a)throw _0x237c8a['error'];let _0x471a9f=!0x1;if(_0x237c8a['wereChangesApplied']){_0x237c8a['lastOperationId']&&(this['_lastSyncedOperationId']=_0x237c8a['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x16c407=>!_0x536120['includes'](_0x16c407));for(const _0x40ef21 of _0x536120)_0x40ef21['createdAt']='lastOperationAcceptedAt'in _0x237c8a&&_0x237c8a['lastOperationAcceptedAt']||void 0x0;Q(_0x536120,_0x237c8a['version']-_0x536120['length']),this['_updateServerHistory'](_0x536120);const _0x2ef52f=_0x536120['filter'](_0x29b6f2=>{if(!_0x29b6f2['_isInit'])return!0x1;const _0x2f6a3a=this['_getAffectedRoot'](_0x29b6f2);return _0x2f6a3a&&!this['_knownRootNames']['has'](_0x2f6a3a);});Q(_0x2ef52f,this['_document']['version']),this['_applyOperationsSet'](_0x2ef52f),_0x471a9f=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x21175d=this['_decompressOperations'](_0x237c8a['data'],_0x237c8a['metadata'])['filter'](_0x64b6b9=>_0x64b6b9['baseVersion']>=this['_lastServerVersion']);_0x21175d['forEach'](_0x11130d=>this['_addKnownRoot'](_0x11130d)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3824a1=>!_0x3824a1['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3824a1))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x21175d),_0x471a9f=this['_handleExternalOperations'](_0x21175d,_0x237c8a['version'],_0x237c8a['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x471a9f?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x564cee,_0x3afffb,_0x2179f6){try{const _0x5dfa53={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4846b1,operationsB:_0x46085,originalOperations:_0x37af4d}=_0x2638b1(_0x564cee,this['_bufferedOperations'],_0x5dfa53);Q(_0x4846b1,this['_document']['version']),Q(_0x46085,_0x3afffb);for(const _0x31f098 of _0x4846b1){const _0x1bd806=_0x37af4d['get'](_0x31f098);_0x31f098['_authorId']=_0x1bd806?_0x1bd806['_authorId']:null;}_0x2179f6&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x564cee,_0x2179f6),this['_lastSyncedOperationId']=_0x2179f6),this['_bufferedOperations']=[..._0x46085],this['_applyOperationsSet'](_0x4846b1),this['_updateServerHistory'](_0x564cee);}catch(_0x124107){return console['error'](_0x124107),!0x1;}return!0x0;}['_applyOperationsSet'](_0xbf3ebe,_0x2370e0=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x493065=>{for(const _0x32cdcc of _0xbf3ebe)this['_knownOperations']['add'](_0x32cdcc),this['_addKnownRoot'](_0x32cdcc),_0x493065['batch']['addOperation'](_0x32cdcc),this['editor']['model']['applyOperation'](_0x32cdcc);});}['_addKnownRoot'](_0x5d9aad){const _0x2cc8ba=this['_getAffectedRoot'](_0x5d9aad);_0x2cc8ba&&this['_knownRootNames']['add'](_0x2cc8ba);}['_getAffectedRoot'](_0x180e5c){let _0x169a6d,_0x54d172;switch(_0x180e5c['type']){case'insert':_0x169a6d=_0x180e5c['position']['root'];break;case'marker':if(_0x54d172=_0x180e5c['newRange'],!_0x54d172)return null;_0x169a6d=_0x54d172['root'];break;case'addRootAttribute':_0x169a6d=_0x180e5c['root'];break;case'addRoot':_0x169a6d=_0x180e5c['affectedSelectable'];break;case'move':_0x169a6d=_0x180e5c['targetPosition']['root'];break;default:return null;}return _0x169a6d['rootName'];}['_updateServerHistory'](_0x3ba679){_0x3ba679['forEach'](_0x44edad=>{const _0x25b735=_0x44edad['clone']();_0x25b735['_authorId']=_0x44edad['_authorId'],_0x25b735['_isInit']=!!_0x44edad['_isInit'],_0x25b735['createdAt']=_0x44edad['createdAt'],_0x25b735['baseVersion']+=this['_offset'],_0x44edad['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x25b735),this['serverHistory']['addOperation'](_0x25b735);});}['_handleReconnectionError'](_0xb4ec75){const _0x5d3f3c=this['editor']['plugins']['get']('Notification'),_0x3962d7=this['editor']['locale'];_0xb4ec75||(_0xb4ec75=K(_0x3962d7,'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.')),_0x5d3f3c['showWarning'](_0xb4ec75,{'title':K(_0x3962d7,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](WebSocketGateway)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x8e714)['add'](K(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x8e714)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x7ac0b4){const _0x38ac9c=_0x7ac0b4['map'](_0x46a298=>_0x46a298['toJSON']());return this['_compressor']['compress'](_0x38ac9c);}['_decompressOperations'](_0x484560,_0x42b59c){return this['_compressor']['decompress'](_0x484560)['map']((_0x5d67e7,_0x3299fe)=>{const _0x43ed07='init'==_0x42b59c[_0x3299fe]['type'];if('InsertOperation'==_0x5d67e7['__className']){const _0x2b0bb1=_0x5d67e7['position']['root'];!this['_document']['getRoot'](_0x2b0bb1)&&(this['_document']['createRoot']('$unknown',_0x2b0bb1)['_isAttached']=!0x1);}else{if('RootOperation'==_0x5d67e7['__className']){const _0x12a4d2=this['_document']['getRoot'](_0x5d67e7['rootName']);_0x12a4d2&&'$unknown'==_0x12a4d2['name']&&_0x5d67e7['elementName']!=_0x12a4d2['name']&&(_0x12a4d2['name']=_0x5d67e7['elementName']);}}const _0x3bb9d4=_0x18bdd0['fromJSON'](_0x5d67e7,this['_document']);return _0x3bb9d4['wasUndone']=_0x5d67e7['wasUndone'],_0x3bb9d4['_isInit']=_0x43ed07,_0x3bb9d4['_authorId']=_0x43ed07?null:_0x42b59c[_0x3299fe]['userId'],_0x3bb9d4['_isDisconnection']='cs:removeUser'===_0x42b59c[_0x3299fe]['type'],_0x3bb9d4['createdAt']=_0x42b59c[_0x3299fe]['createdAt'],_0x3bb9d4;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x316473=this['editor']['plugins']['get'](Sessions)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x316473&&_0x316473['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class ReconnectionError extends Error{}function Q(_0x3cf784,_0x29c237){for(const _0x2ec6cb of _0x3cf784)_0x2ec6cb['baseVersion']=_0x29c237++;}class OperationIdentifier{['_ignoredOperations'];['_operationToId'];constructor(_0x1c8e90){this['_ignoredOperations']=_0x1c8e90,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x53c450){let _0x16ecb9=_0x53c450['length'];for(;_0x16ecb9--;){const _0x143c6c=_0x53c450[_0x16ecb9];if(!this['_ignoredOperations']['has'](_0x143c6c)){if(!this['_operationToId']['has'](_0x143c6c)){const _0x249236=_0x2e2a43()['slice'](0x1,0x12);this['_operationToId']['set'](_0x143c6c,_0x249236);}return this['_operationToId']['get'](_0x143c6c);}}}['setIdForTheLastOperation'](_0x1cfed1,_0x5c3dba){if(!_0x5c3dba)return;let _0x4d14ef=_0x1cfed1['length'];for(;_0x4d14ef--;){const _0xfa4134=_0x1cfed1[_0x4d14ef];this['_ignoredOperations']['has'](_0xfa4134)||this['_operationToId']['set'](_0xfa4134,_0x5c3dba);}}}class RealTimeCollaborativeEditing extends _0x523d5c{static get['requires'](){return[RealTimeCollaborationClient];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class CloudServicesCommentsAdapter extends _0x191ab4{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
-
((()=>_0x177deb)());['_services'];static get['requires'](){return[WebSocketGateway,_0x55664d,Sessions,_0xbd9206];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x185ebc){super(_0x185ebc),this['_services']=new Map();}async['init'](){const _0x5b2546=this['context'],_0x30cf8a=_0x5b2546['plugins']['get'](_0x55664d);if(_0x5b2546['plugins']['get'](WebSocketGateway)['addToReconnectionStack'](this),_0x30cf8a['adapter']={'addCommentThread':async({channelId:_0x1ba310,threadId:_0x250930,comments:_0x3657ed,resolvedAt:_0x592664,resolvedBy:_0x2be353,context:_0x2ddca5,attributes:_0x576789})=>{const _0x1c0c26=await this['_getService'](_0x1ba310)['addCommentThread']({'commentThreadId':_0x250930,'comments':_0x3657ed['map'](_0x617155=>function(_0x289111,_0x6fdaa3,_0xcb7616){return{'commentThreadId':_0xcb7616,'commentId':_0x289111['commentId'],'userId':_0x289111['authorId'],'content':_0x289111['content'],'documentId':_0x6fdaa3,'createdAt':_0x289111['createdAt'],'attributes':_0x289111['attributes']||{}};}(_0x617155,_0x1ba310,_0x250930)),'resolvedAt':_0x592664,'resolvedBy':_0x2be353,'context':_0x2ddca5,'attributes':_0x576789})['catch'](Z);return{'threadId':_0x1c0c26['commentThreadId'],'comments':_0x1c0c26['comments']};},'getCommentThread':async({channelId:_0x5b8d88,threadId:_0x1ed2a3})=>{const _0x41a447=await this['_getService'](_0x5b8d88)['getCommentThread'](_0x1ed2a3)['catch'](X)['catch'](Z);return _0x41a447?_0x41a447['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x41a447]),{'threadId':_0x41a447['commentThreadId'],'comments':_0x41a447['comments']['map'](tt),'context':_0x41a447['context'],'resolvedAt':_0x41a447['resolvedAt'],'resolvedBy':_0x41a447['resolvedBy'],'attributes':_0x41a447['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x7ebf6d,threadId:_0x5b9dc6,context:_0x31ec65,unlinkedAt:_0x48c7db,attributes:_0x1b4e68})=>this['_getService'](_0x7ebf6d)['updateCommentThread']({'commentThreadId':_0x5b9dc6,'context':_0x31ec65,'attributes':_0x1b4e68,'unlinkedAt':_0x48c7db})['catch'](X)['catch'](Z),'resolveCommentThread':async({channelId:_0x3cf8c3,threadId:_0x52a794})=>{const _0x50564c=await this['_getService'](_0x3cf8c3)['resolveCommentThread'](_0x52a794)['catch'](X)['catch'](Z);return{'threadId':_0x50564c['commentThreadId'],'resolvedAt':_0x50564c['resolvedAt'],'resolvedBy':_0x50564c['resolvedBy']};},'reopenCommentThread':async({channelId:_0x7e4e35,threadId:_0x1c2218})=>this['_getService'](_0x7e4e35)['reopenCommentThread'](_0x1c2218)['catch'](X)['catch'](Z),'removeCommentThread':({channelId:_0x2e2f97,threadId:_0x5a0cac})=>this['_getService'](_0x2e2f97)['removeCommentThread'](_0x5a0cac)['catch'](X)['catch'](Z),'addComment':({channelId:_0x17e203,threadId:_0x1610a8,commentId:_0x198cee,content:_0x58585c,attributes:_0x3f99f2})=>this['_getService'](_0x17e203)['addComment'](_0x1610a8,_0x198cee,_0x58585c,_0x3f99f2)['catch'](Z),'updateComment':({channelId:_0x4ff8ff,threadId:_0xe6a85,commentId:_0x386913,content:_0x2dffde,attributes:_0x6b0638})=>this['_getService'](_0x4ff8ff)['updateComment'](_0xe6a85,_0x386913,_0x2dffde,_0x6b0638)['catch'](X)['catch'](Z),'removeComment':({channelId:_0x4416f9,threadId:_0x177588,commentId:_0x597f53})=>this['_getService'](_0x4416f9)['removeComment'](_0x177588,_0x597f53)['catch'](X)['catch'](Z)},_0x5b2546 instanceof _0x82da95){const _0xc7d2e4=_0x5b2546['config']['get']('collaboration.channelId'),_0x8c1c56=_0x5b2546['plugins']['get'](Sessions);await this['_setUpService'](_0xc7d2e4);const _0x22d7f3=await this['_services']['get'](_0xc7d2e4)['getConnectedSessions']();this['listenTo'](_0x8c1c56,'sessionAdd:'+_0xc7d2e4,(_0x8ee34c,{session:_0x11ff1a})=>{_0x11ff1a['id']===_0x8c1c56['mySessionId']&&(_0x8ee34c['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x11ff1a['permissions'],_0xc7d2e4));}),_0x8c1c56['register'](_0xc7d2e4,_0x22d7f3);}}async['_setUpService'](_0x1ec095){if(this['_services']['has'](_0x1ec095))throw new _0x44690c('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x1ec095});const _0x129482=this['context']['plugins']['get'](_0x55664d),_0x497cda=new CloudServicesCommentsAdapter['CommentsService'](_0x1ec095);this['_services']['set'](_0x1ec095,_0x497cda),this['listenTo'](_0x497cda,'commentThreadAdded',(_0x4673f1,_0x312c02)=>{const {commentThreadId:_0x4c0800,documentId:_0x29182b,context:_0x7a181f,attributes:_0x488a3c,resolvedAt:_0x646b94,resolvedBy:_0xa2f5c2,comments:_0x4fe032}=_0x312c02;_0x129482['getCommentThread'](_0x4c0800)||_0x129482['addCommentThread']({'threadId':_0x4c0800,'channelId':_0x29182b,'comments':_0x4fe032?_0x4fe032['map'](tt):[],'context':_0x7a181f,'attributes':_0x488a3c,'resolvedAt':_0x646b94,'resolvedBy':_0xa2f5c2,'isFromAdapter':!0x0});}),this['listenTo'](_0x497cda,'commentThreadUpdated',(_0x68c40e,{commentThreadId:_0x3f4f33,documentId:_0x2bf988,context:_0xbfa976,unlinkedAt:_0x2538cd,attributes:_0x5f3630})=>{_0x129482['getCommentThread'](_0x3f4f33)&&_0x129482['updateCommentThread']({'threadId':_0x3f4f33,'channelId':_0x2bf988,'context':_0xbfa976,'unlinkedAt':_0x2538cd,'attributes':_0x5f3630,'isFromAdapter':!0x0});}),this['listenTo'](_0x497cda,'commentThreadResolved',(_0x2e1bb7,{commentThreadId:_0x53dff5,resolvedBy:_0x631a0e,resolvedAt:_0x1b07da})=>{const _0x5c6c80=_0x129482['getCommentThread'](_0x53dff5);_0x5c6c80&&_0x5c6c80['resolve']({'resolvedBy':_0x631a0e,'resolvedAt':_0x1b07da,'isFromAdapter':!0x0});}),this['listenTo'](_0x497cda,'commentThreadReopened',(_0x12a10b,{commentThreadId:_0x15dd3e})=>{const _0x3b90c8=_0x129482['getCommentThread'](_0x15dd3e);_0x3b90c8&&_0x3b90c8['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x497cda,'commentThreadRemoved',(_0xc6ec16,{commentThreadId:_0x3ddb42})=>{const _0x35bfe9=_0x129482['getCommentThread'](_0x3ddb42);_0x35bfe9&&_0x35bfe9['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x497cda,'commentAdded',(_0x4a0b9a,_0x52dca8)=>{const _0x3382a9=_0x52dca8['commentThreadId'],_0x42dfb3=_0x129482['getCommentThread'](_0x3382a9);_0x42dfb3&&_0x42dfb3['addComment']({...tt(_0x52dca8),'isFromAdapter':!0x0});}),this['listenTo'](_0x497cda,'commentUpdated',(_0x79a338,{commentThreadId:_0x1468aa,commentId:_0x1ae649,content:_0x53532d,attributes:_0x4a00cc})=>{const _0x4ec929=_0x129482['getCommentThread'](_0x1468aa);if(_0x4ec929){const _0x122dfc=_0x4ec929['getComment'](_0x1ae649);_0x122dfc&&_0x122dfc['update']({'content':_0x53532d,'attributes':_0x4a00cc,'isFromAdapter':!0x0});}}),this['listenTo'](_0x497cda,'commentRemoved',(_0x3d349a,{commentThreadId:_0xf7829c,commentId:_0x5b348f})=>{const _0x5f5c75=_0x129482['getCommentThread'](_0xf7829c);if(_0x5f5c75){const _0x3f363f=_0x5f5c75['getComment'](_0x5b348f);_0x3f363f&&_0x3f363f['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x1ec095);}['destroy'](){if(this['context']instanceof _0x82da95){const _0x4bf845=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4bf845);}}['_terminateService'](_0x31a7b7){if(!this['_services']['has'](_0x31a7b7))throw new _0x44690c('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x31a7b7});this['_getService'](_0x31a7b7)['disconnect'](),this['_services']['delete'](_0x31a7b7);}async['reconnect'](){for(const _0x2caa4a of this['_services']['keys']())await this['_connectService'](_0x2caa4a);if(this['context']instanceof _0x82da95){const _0x36dd3b=this['context']['config']['get']('collaboration.channelId'),_0x4230b4=this['context']['plugins']['get'](Sessions);_0x4230b4['unregister'](_0x36dd3b);const _0x7eb1e5=await this['_services']['get'](_0x36dd3b)['getConnectedSessions']();_0x4230b4['register'](_0x36dd3b,_0x7eb1e5);}}async['_connectService'](_0x5ca8a6){const {connection:_0x9839f9}=this['context']['plugins']['get'](WebSocketGateway),_0x2684de=this['context']['plugins']['get'](_0x55664d),_0x17ccb8=this['_services']['get'](_0x5ca8a6),_0x3c044d=await _0x17ccb8['connect'](_0x9839f9);await this['_fetchMissingUsersForThreads'](_0x3c044d);const _0x5b1ae2=new Set(Array['from'](_0x2684de['getCommentThreads']({'channelId':_0x5ca8a6}),_0x3b9063=>_0x3b9063['id']));for(const _0x110f71 of _0x3c044d)_0x110f71['deletedAt']||_0x5b1ae2['delete'](_0x110f71['commentThreadId']);for(const _0x13c382 of _0x5b1ae2)_0x2684de['getCommentThread'](_0x13c382)['remove']({'isFromAdapter':!0x0});for(const _0x5ec00f of _0x3c044d){let _0x426e14=_0x2684de['getCommentThread'](_0x5ec00f['commentThreadId']);const {commentThreadId:_0x482c51,context:_0x1440f7,attributes:_0x1e903a,resolvedBy:_0x1e584b,resolvedAt:_0x562344,unlinkedAt:_0x511a9a,deletedAt:_0x1f682b}=_0x5ec00f;if(_0x1f682b)continue;_0x426e14||(_0x426e14=_0x2684de['addCommentThread']({'channelId':_0x5ca8a6,'threadId':_0x482c51,'context':_0x1440f7,'attributes':_0x1e903a||{},'resolvedBy':_0x1e584b,'resolvedAt':_0x562344,'unlinkedAt':_0x511a9a,'isFromAdapter':!0x0}));const _0x2ba026=new Set(Array['from'](_0x426e14['comments'],_0x388faf=>_0x388faf['id']));for(const _0x865216 of _0x5ec00f['comments'])_0x2ba026['delete'](_0x865216['commentId']);for(const _0x4af905 of _0x2ba026)_0x426e14['getComment'](_0x4af905)['remove']({'isFromAdapter':!0x0});for(const _0x34fe46 of _0x5ec00f['comments']){const _0x340796=_0x426e14['getComment'](_0x34fe46['commentId']);_0x340796?_0x340796['content']!==_0x34fe46['content']&&_0x340796['update']({'content':_0x34fe46['content'],'isFromAdapter':!0x0}):_0x426e14['addComment'](Object['assign'](tt(_0x34fe46),{'isFromAdapter':!0x0}));}}}['_getService'](_0xd79d34){if(!this['_services']['has'](_0xd79d34))throw new _0x44690c('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xd79d34});return this['_services']['get'](_0xd79d34);}async['_fetchMissingUsersForThreads'](_0x4eda1f){const _0x383406=this['context']['plugins']['get'](_0xbd9206),{connection:_0x196bb1}=this['context']['plugins']['get'](WebSocketGateway),_0x5d587c=new Set();for(const {resolvedBy:_0xfe76bd,comments:_0x2c5eb6}of _0x4eda1f){_0xfe76bd&&!_0x383406['getUser'](_0xfe76bd)&&_0x5d587c['add'](_0xfe76bd);for(const {userId:_0x13a44c}of _0x2c5eb6)_0x383406['getUser'](_0x13a44c)||_0x5d587c['add'](_0x13a44c);}if(0x0===_0x5d587c['size'])return;const _0xef9e30=await _0x270274['getMany'](_0x196bb1,Array['from'](_0x5d587c));for(const _0x2d2ee5 of _0xef9e30)_0x383406['getUser'](_0x2d2ee5['id'])||_0x383406['addUser'](_0x2d2ee5);}}async function X(_0x5f19f7){if('404'!==_0x5f19f7['code'])throw _0x5f19f7;}function Z(_0x71e5){if((_0x7f1587=_0x71e5)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x7f1587['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x7f1587['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x7f1587;throw _0x71e5;}function tt(_0x47c469){return{'threadId':_0x47c469['commentThreadId'],'commentId':_0x47c469['commentId'],'content':_0x47c469['content'],'createdAt':_0x47c469['createdAt'],'authorId':_0x47c469['userId'],'attributes':_0x47c469['attributes']||{}};}class CloudServicesTrackChangesAdapter extends _0x523d5c{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
-
((()=>
|
|
28
|
-
((()=>_0x3b4c9e)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[WebSocketGateway,RealTimeCollaborationClient,_0x510d56,Sessions,_0xbd9206];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x51a4ca){super(_0x51a4ca);const _0x4ab4f6=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x4ab4f6);}async['init'](){const _0x8b2b91=this['editor']['plugins']['get'](RealTimeCollaborationClient),_0x3a1555=_0x8b2b91['serverHistory'],_0x1ef059=this['editor']['plugins']['get'](WebSocketGateway);this['_revisionTracker']['setSource']({'history':_0x3a1555,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x8b2b91['sessionId']});const _0x93e260=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x146c5e,_0x1f1ca6=await _0x5b3750['isBundleUploaded'](_0x1ef059['connection'],_0x93e260);this['editor']['plugins']['get'](_0x510d56)['adapter']={'getRevision':async({revisionId:_0x599ad2})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x599ad2)),'updateRevisions':async _0x53c689=>{await this['_waitForServiceReady']();const _0x2af103=this['_revisionTracker']['currentRevision'];if(_0x1f1ca6&&0x1===_0x53c689['length']&&_0x53c689[0x0]['id']===_0x2af103['id'])return _0x53c689;for(const _0x16b5e8 of _0x53c689)_0x16b5e8['id']===_0x2af103['id']&&(_0x16b5e8['isEmptyCurrent']=_0x16b5e8['fromVersion']===_0x16b5e8['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x53c689,this['_lastRequestId'])['then'](_0x443986=>(this['_lastRequestId']=_0x443986,_0x53c689))['catch'](_0x4ccd92=>{if(it(_0x4ccd92)||'400'===_0x4ccd92['code']&&void 0x0!==_0x4ccd92['data']['wrongRequestId']){for(const _0x4ed028 of _0x53c689){!this['_revisionTracker']['repository']['getRevision'](_0x4ed028['id'])||this['_revisionTracker']['_bufferUpdate'](_0x4ed028['id'],_0x4ed028,!0x1);}if(it(_0x4ccd92)&&'destroyed'!==this['editor']['state'])throw _0x4ccd92;return _0x53c689;}throw _0x4ccd92;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x742007,{revisionsData:_0x2ab476,requestId:_0x5adb88})=>{Math['max'](..._0x2ab476['map'](_0x247a2c=>_0x247a2c['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2ab476,_0x5adb88);}):this['_handleRevisionsUpdate'](_0x2ab476,_0x5adb88);});const {revisions:_0x1c5213,requestId:_0x8acce3}=await this['_revisionHistoryService']['connect'](_0x1ef059['connection']);_0x1ef059['addToReconnectionStack'](this),this['_lastRequestId']=_0x8acce3,await this['_fetchMissingUsers'](_0x1c5213);for(const _0x25ee99 of _0x1c5213)this['_revisionTracker']['addRevisionData'](_0x25ee99);this['listenTo'](_0x8b2b91,'change:_isConnected',(_0x3e5ba6,_0x2f005e,_0x37d912)=>{_0x37d912&&(this['_oldOffset']=_0x8b2b91['_offset'],_0x3e5ba6['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x1ef059,'state',_0x1b9d42=>_0x1b9d42===_0xb53f3f['CONNECTED']);}async['reconnect'](){const _0x100a0f=this['editor']['plugins']['get'](WebSocketGateway),_0x13b048=this['editor']['plugins']['get'](RealTimeCollaborationClient),_0x2a5a6a=async()=>{const _0x1dd0e7=this['_revisionTracker']['currentRevision'],_0x39d004=_0x1dd0e7['id'],_0x5bfa3d=_0x39d004!==_0x13b048['sessionId'];if(_0x5bfa3d){const _0x35b24d=_0x13b048['_offset']-this['_oldOffset'],_0x251b57=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1dd0e7['toVersion']+_0x35b24d!==_0x251b57){const _0x4dc783=_0x1dd0e7['fromVersion']+_0x35b24d,_0x2aed49=this['editor']['plugins']['get'](_0xbd9206),_0x44f001=this['_revisionTracker']['buildRevisionData']({'revision':_0x1dd0e7,'from':_0x4dc783,'to':_0x251b57});_0x44f001['id']=_0x1dd0e7['id'];const _0x4927f0=_0x44f001['authorsIds']['map'](_0x35bd68=>_0x2aed49['getUser'](_0x35bd68));_0x1dd0e7['_update']({..._0x44f001,'authors':_0x4927f0},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1dd0e7['id'],_0x44f001,!0x0);}this['_revisionTracker']['_startingVersion']=_0x251b57,(_0x1dd0e7['toVersion']===_0x1dd0e7['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x39d004)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x39d004),this['_revisionTracker']['_createCurrentRevision'](_0x251b57));}const {revisions:_0x428d26,requestId:_0x3209eb}=await this['_revisionHistoryService']['reconnect'](_0x100a0f['connection'],this['_lastRequestId']);_0x5bfa3d&&_0x428d26['length']>0x0?_0x13b048['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x428d26),this['_handleRevisionsUpdate'](_0x428d26,_0x3209eb),this['_revisionTracker']['sendBufferedUpdates']());};return _0x13b048['_isConnected']?_0x2a5a6a():new Promise((_0x3570ac,_0x304f3f)=>{_0x13b048['once']('change:_isConnected',()=>{_0x2a5a6a()['then'](_0x3570ac)['catch'](_0x304f3f);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x1c90f7=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4a8b4f=>{_0x4a8b4f['off'](),_0x1c90f7();});});}['_getLatestVersionFromServerOperations'](){const _0x11e519=this['editor']['plugins']['get'](RealTimeCollaborationClient)['serverHistory']['getOperations']()['reverse']();for(const _0x5c67fd of _0x11e519)if('marker'!==_0x5c67fd['type']||_0x5c67fd['affectsData'])return _0x5c67fd['baseVersion']+0x1;}['_getLatestVersion'](){const _0xcedb55=this['editor']['plugins']['get'](RealTimeCollaborationClient);return new Promise(_0x1d82f7=>{_0xcedb55['_isPendingUpdate']?_0xcedb55['once']('change:_isPendingUpdate',()=>{_0x1d82f7(this['_getLatestVersionFromServerOperations']());}):_0x1d82f7(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x9d3d42,_0x5b00f7){const _0x3ec4d4=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x5b00f7;for(const _0x38758c of _0x9d3d42){const _0x5cde11=_0x3ec4d4['getRevision'](_0x38758c['id']);if(_0x5cde11){if((_0x38758c['fromVersion']||_0x38758c['toVersion'])&&(_0x38758c['diffData']=null),_0x5cde11===this['_revisionTracker']['currentRevision']){const _0x35cfe7=Math['max'](_0x5cde11['toVersion'],_0x38758c['toVersion']),_0x9ee17b=Math['max'](_0x5cde11['fromVersion'],_0x38758c['fromVersion']);let _0x45fb80;_0x5cde11['toVersion']===_0x38758c['toVersion']&&_0x5cde11['fromVersion']===_0x38758c['fromVersion']?(_0x45fb80=!0x0,this['_preventResendingRevisionData'](_0x38758c)):_0x38758c['toVersion']===_0x35cfe7&&_0x38758c['fromVersion']===_0x9ee17b?_0x45fb80=!0x1:(_0x5cde11['toVersion']===_0x35cfe7&&_0x5cde11['fromVersion']===_0x9ee17b||this['_fixRevision']({'revision':_0x5cde11,'from':_0x9ee17b,'to':_0x35cfe7}),_0x45fb80=!0x0),_0x45fb80&&(delete _0x38758c['fromVersion'],delete _0x38758c['toVersion'],delete _0x38758c['diffData'],delete _0x38758c['createdAt'],delete _0x38758c['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x38758c),this['_preventResendingRevisionData'](_0x38758c);}else this['_revisionTracker']['addRevisionData'](_0x38758c);}const _0x1b4e15=_0x3ec4d4['getRevisions']();_0x1b4e15['reverse']();for(let _0x57941f=0x0;_0x57941f<_0x1b4e15['length']-0x1;_0x57941f++){const _0x273a31=_0x1b4e15[_0x57941f],_0x371b11=_0x1b4e15[_0x57941f+0x1];if(_0x273a31['fromVersion']<_0x371b11['toVersion']){const _0x3525d4=_0x371b11['toVersion'],_0x4eb205=Math['max'](_0x3525d4,_0x273a31['toVersion']);this['_fixRevision']({'revision':_0x273a31,'from':_0x3525d4,'to':_0x4eb205});}}}['_fixRevision']({revision:_0xfc44bc,from:_0x4536d1,to:_0x3bf614}={}){const _0x3f6cac=this['editor']['plugins']['get'](_0xbd9206),_0x514180=this['_revisionTracker']['buildRevisionData']({'revision':_0xfc44bc,'from':_0x4536d1,'to':_0x3bf614});_0x514180['authors']=_0x514180['authorsIds']['map'](_0x1c6cf1=>_0x3f6cac['getUser'](_0x1c6cf1)),_0xfc44bc['_update'](_0x514180);}['_preventResendingRevisionData'](_0x328a90){const _0x5bd0bc={};_0x5bd0bc['id']=_0x328a90['id'];for(const _0x27b777 of Object['keys'](_0x328a90))'id'!==_0x27b777&&(_0x5bd0bc[_0x27b777]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5bd0bc['id'],_0x5bd0bc,!0x0);}async['_fetchMissingUsers'](_0x518281){const _0x453470=this['editor']['plugins']['get'](_0xbd9206),{connection:_0x439f8f}=this['editor']['plugins']['get'](WebSocketGateway),_0x1593e9=new Set();for(const _0x2f8fd3 of _0x518281){for(const _0x3de52b of _0x2f8fd3['authorsIds'])_0xe0e850(_0x3de52b);_0x2f8fd3['creatorId']&&_0xe0e850(_0x2f8fd3['creatorId']);}if(0x0===_0x1593e9['size'])return;const _0x334685=await _0x270274['getMany'](_0x439f8f,Array['from'](_0x1593e9));for(const _0x3d4cfd of _0x334685)_0x453470['getUser'](_0x3d4cfd['id'])||_0x453470['addUser'](_0x3d4cfd);function _0xe0e850(_0x5a5486){_0x453470['getUser'](_0x5a5486)||_0x1593e9['add'](_0x5a5486);}}}function it(_0x34f286){return _0x34f286['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x34f286['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x34f286['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class RealTimeCollaborativeRevisionHistory extends _0x523d5c{static get['requires'](){return[_0x510d56,CloudServicesRevisionHistoryAdapter,RealTimeCollaborativeEditing];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class PresenceCounterView extends _0x59157b{['_collapseAt'];constructor(_0x1d2d42,_0x410939=0x6){super(_0x1d2d42);const _0x19dac8=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x410939,this['bind']('isHidden')['to'](this,'usersCount',_0x336703=>_0x336703<_0x410939),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x19dac8['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x19dac8['to']('usersCount',_0x221312=>'+'+(_0x221312-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class PresenceInlineListView extends _0x59157b{['items'];['keystrokes'];constructor(_0x33ba9a){super(_0x33ba9a);const _0x35a3fd=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4de09d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x35a3fd['if']('hasPopup'),'aria-expanded':_0x35a3fd['to']('isExpanded',_0xc8a4f5=>this['hasPopup']&&String(_0xc8a4f5)),'aria-label':_0x35a3fd['to']('hasPopup',_0x1af98c=>K(_0x33ba9a,_0x1af98c?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x35a3fd['to']('hasPopup',_0x45f12e=>!!_0x45f12e&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x35a3fd['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x35a3fd['to'](_0xe607de=>{const _0x39f53b=_0xe607de,_0x32833d=document['querySelector']('.ck-presence-list__dropdown-list'),_0x531ec5=document['querySelector']('.ck-balloon-panel_with-arrow');_0x32833d?.['contains'](_0x39f53b['relatedTarget'])||_0x531ec5?.['contains'](_0x39f53b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x81ee10,_0x3648ca,_0x2512ab)=>{this['element']&&(_0x2512ab?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 PresenceListView extends _0x59157b{['counterView'];['inlineListView'];constructor(_0xfc885d,_0x42c08e=0x6){super(_0xfc885d);const _0x280ab9=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new PresenceCounterView(this['locale'],_0x42c08e),this['inlineListView']=new PresenceInlineListView(_0xfc885d),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x28b482 of this['inlineListView']['items'])_0x28b482['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',_0x280ab9['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class PresenceDropdownListView extends _0x59157b{['listWrapperView'];constructor(_0x261e58,_0x44a21d){super(_0x261e58);const _0x5ca4c2=this['bindTemplate'];this['listWrapperView']=new PresenceDropdownListWrapperView(_0x261e58,_0x44a21d),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':K(_0x261e58,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5ca4c2['to'](_0x50baeb=>{const _0xf0ffa3=_0x50baeb,_0x551f1d=document['querySelector']('.ck-presence-list__list'),_0x3ddefc=document['querySelector']('.ck-balloon-panel_with-arrow');_0x551f1d?.['contains'](_0xf0ffa3['relatedTarget'])||_0x3ddefc?.['contains'](_0xf0ffa3['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class PresenceDropdownListWrapperView extends _0x3a285a{constructor(_0x33dfec,_0x50ecfb){super(_0x33dfec);const _0x276136=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x50ecfb?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x276136['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x276136['to']('role'),'aria-label':_0x276136['to']('ariaLabel'),'aria-labelledby':_0x276136['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x14a421['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x11ac01=this['element'];_0x11ac01&&(this['_isScrollable']=Math['max'](_0x11ac01['scrollHeight'],_0x11ac01['clientHeight'])>0.8*window['innerHeight']);}}class PresenceDropdownListItemView extends _0x245139{['userView'];constructor(_0x4a0428,_0xebcc3,_0x4e9c86){super(_0x4a0428);const _0x3a4724=this['bindTemplate'];this['userView']=new _0x1b8b54(_0x4a0428,_0xebcc3);const _0x1f70dc={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xebcc3['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xebcc3['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xebcc3['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xebcc3['color']['getColorVariable'](),'--ck-user-color-alpha':_0xebcc3['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4e9c86&&(_0x1f70dc['tag']='button',_0x1f70dc['on']={'click':_0x3a4724['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1f70dc);}['focus'](){this['element']['focus']();}}class PresenceInlineListItemView extends _0x59157b{['userView'];['markerView'];constructor(_0x7c1a90,_0x176e97,_0x3cc627){super(_0x7c1a90);const _0x3abf2a=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x1b8b54(_0x7c1a90,_0x176e97),this['markerView']=new MarkerView(_0x7c1a90,_0x176e97);const _0x3a36d6=new _0x1c19b1(_0x7c1a90);_0x3a36d6['template']['tag']='span',_0x3a36d6['text']=_0x176e97['name'];const _0x56d939={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x3abf2a['to']('isFocusable',_0x590853=>!!_0x590853&&0x0),'aria-labelledby':_0x3a36d6['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x3abf2a['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x3abf2a['to']('hasTooltip',_0x33d49d=>!_0x33d49d),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3a36d6]};_0x3cc627&&(_0x56d939['tag']='button',_0x56d939['on']={'click':_0x3abf2a['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x56d939);}}class MarkerView extends _0x59157b{constructor(_0x11d041,_0x18201b){super(_0x11d041),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x18201b['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x18201b['color']['getColorVariable'](),'--ck-user-color-alpha':_0x18201b['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const nt={'collapseAt':0x6,'displayMe':!0x0};class PresenceListUI extends _0x191ab4{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x49e441){super(_0x49e441),this['context']['config']['define']('presenceList',nt);const _0x4772a3=_0x49e441['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4772a3)throw new _0x44690c('presencelist-collapseat-invalid-format',this);if(_0x4772a3<0x1)throw new _0x44690c('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Sessions)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xd26e88(),this['balloonPanelView']=new _0x19c131(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Sessions];}['init'](){for(const _0x506cd9 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x506cd9);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5abd12,_0x1df10b)=>{this['_handleUserAdd'](_0x1df10b);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x519c26,_0x710a0a)=>{this['_handleUserRemove'](_0x710a0a);});}['_createView'](){const _0x51aa71=this['context'],_0x4988ee=new PresenceListView(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x1b1c58=this['balloonPanelView'];if(!_0x54c657(_0x51aa71['config']['get']('presenceList.container')))throw new _0x44690c('presencelist-missing-container',this);return _0x4988ee['counterView']['bind']('usersCount')['to'](this),_0x4988ee['bind']('isCollapsed')['to'](this,'usersCount',_0x225c7f=>{const {collapseAt:_0x503af1}=_0x51aa71['config']['get']('presenceList'),_0x1c29b0=_0x225c7f>=_0x503af1;if(_0x1c29b0&&!_0x4988ee['inlineListView']['items']['find'](_0xdbbeae=>_0xdbbeae instanceof PresenceCounterView)){const _0x227d83=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x227d83&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4988ee['inlineListView']['items']['add'](_0x4988ee['counterView']);}return _0x1c29b0||this['hideDropdown'](),_0x1c29b0;}),_0x4988ee['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x3846eb=>{const _0x192f7a=_0x51aa71['config']['get']('presenceList'),_0x44f8b7=new PresenceInlineListItemView(_0x51aa71['locale'],_0x3846eb,!!_0x192f7a['onClick']);return _0x44f8b7['bind']('hasTooltip')['to'](_0x4988ee,'isCollapsed',_0x278501=>!_0x278501),_0x44f8b7['bind']('isFocusable')['to'](_0x4988ee,'isCollapsed',_0x328d39=>!_0x328d39),_0x192f7a['onClick']&&this['listenTo'](_0x44f8b7,'execute',()=>{this['view']['isCollapsed']||_0x192f7a['onClick'](_0x3846eb,_0x44f8b7['element']);}),_0x44f8b7;}),this['listenTo'](_0x4988ee['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4988ee['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4988ee['inlineListView']['keystrokes']['set']('Enter',(_0x5d3066,_0x49636c)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x49636c());}),_0x4988ee['render'](),_0x1b1c58['render'](),_0x52aaad({'emitter':_0x4988ee,'activator':()=>_0x1b1c58['isVisible'],'contextElements':[_0x1b1c58['element'],_0x4988ee['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x51aa71['config']['get']('presenceList.container')['appendChild'](_0x4988ee['element']),this['_bodyCollection']=new _0x418f13(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4988ee;}['_handleUserAdd'](_0x10c75b){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x10c75b['isMe'])return;const _0x48fcc9=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x48fcc9-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1a5be1=_0x10c75b['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x10c75b,_0x1a5be1);}['_handleUserRemove'](_0x20e536){this['usersCount']--;const {collapseAt:_0x49b39b}=this['context']['config']['get']('presenceList'),_0x190cfa=this['usersCount']>=_0x49b39b;if(this['currentDisplayedUsers']['get'](_0x20e536['id']))this['currentDisplayedUsers']['remove'](_0x20e536['id']);else{if(_0x190cfa&&this['currentDisplayedUsers']['length']+0x1===_0x49b39b-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x190cfa?0x1:0x0)<this['usersCount']){for(const _0x24cddb of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x24cddb['id'])&&(this['currentDisplayedUsers']['add'](_0x24cddb,Math['min'](this['currentDisplayedUsers']['length']-(_0x190cfa?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x190cfa?0x1:0x0)===_0x49b39b-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x365e1f=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new PresenceDropdownListView(this['context']['locale'],!!_0x365e1f['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x3e2661}=this['presenceDropdownView'];_0x3e2661['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2a246a=>{if(!_0x365e1f['displayMe']&&_0x2a246a['isMe'])return null;const _0x40d507=new PresenceDropdownListItemView(this['context']['locale'],_0x2a246a,!!_0x365e1f['onClick']);return _0x365e1f['onClick']&&this['listenTo'](_0x40d507,'execute',()=>{_0x365e1f['onClick'](_0x2a246a,_0x40d507['element']);}),_0x40d507;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3e2661['focus'](),_0x3e2661['checkIfScrollable']();const _0x2cc556=(_0x5cb864,_0x4f031a)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4f031a();};_0x3e2661['keystrokes']['set']('Esc',_0x2cc556),_0x3e2661['keystrokes']['set']('Shift+Tab',_0x2cc556),_0x3e2661['keystrokes']['set']('Tab',(_0x963499,_0x24b7f8)=>{!function(_0x34a1d4){const _0x4f3024=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3c6c9d=>_0x3c6c9d+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x380dfb=[...document['body']['querySelectorAll'](_0x4f3024)]['filter'](_0x20e04e=>_0x20e04e===document['activeElement']||_0x20e04e['offsetWidth']+_0x20e04e['offsetHeight']>0x0)['sort']((_0x451683,_0x35ea7b)=>(_0x451683['tabIndex']||0x0)-(_0x35ea7b['tabIndex']||0x0)),_0xa3da46=_0x380dfb['indexOf'](_0x34a1d4),_0x2887ce=_0x380dfb[(_0xa3da46+0x1)%_0x380dfb['length']];_0x2887ce&&_0x2887ce['focus']();}(this['view']['element']),this['hideDropdown'](),_0x24b7f8();}),_0x3e2661['focusTracker']['add'](this['view']['element']),_0x3e2661['focusTracker']['on']('change:isFocused',(_0x109d8d,_0x1b97be,_0x4fa51e)=>{_0x4fa51e||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 PresenceList extends _0x191ab4{static get['requires'](){return[Sessions,PresenceListUI];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{CloudServicesCommentsAdapter,CloudServicesRevisionHistoryAdapter,CloudServicesTrackChangesAdapter,PresenceList,PresenceListUI,RealTimeCollaborationClient,RealTimeCollaborativeComments,RealTimeCollaborativeEditing,RealTimeCollaborativeRevisionHistory,RealTimeCollaborativeTrackChanges,Sessions,WebSocketGateway};
|
|
23
|
+
import{Context as _0x65df0c,ContextPlugin as _0x525f71,PendingActions as _0x442fb9,Plugin as _0x203610}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x50f763,Collection as _0x3eba5a,DomEmitterMixin as _0x475f3d,KeystrokeHandler as _0x17a0f8,global as _0x6efeaf,uid as _0x3ff10e,version as _0xad9c89}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x1af306,BodyCollection as _0x3e76fb,LabelView as _0x5a2556,ListItemView as _0x2b1c38,ListView as _0x1157a6,Notification as _0x1a5404,View as _0x4317fb,clickOutsideHandler as _0x56aa22}from'@ckeditor/ckeditor5-ui';import{History as _0x10d3fc,InsertOperation as _0x51617e,MarkerOperation as _0x57d1e8,ModelLiveRange as _0x3155f0,NoOperation as _0x44598d,OperationFactory as _0x3e843c,RootAttributeOperation as _0x1fde9d,transformOperationSets as _0x3b64ef}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x42d953}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x444d59,CommentsService as _0x3fa162,EditorService as _0x4bd199,RevisionHistoryService as _0x2cda8d,TrackChangesService as _0x105cc0,User as _0x5778e5,WEB_SOCKET_GATEWAY_STATES as _0xcc2284,WebSocketGateway as _0x25bf89}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x15c9e3,Users as _0x3a0f0f}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x53ed3a}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0xedfa48,TrackChangesEditing as _0x55cc9b}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x421a60,CommentsEditing as _0x372972,CommentsRepository as _0x4fd941}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x57a2b8}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x31be5e}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x525f71{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
|
|
24
|
+
((()=>_0x25bf89)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x42d953,_0x1a5404];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x29d437){super(_0x29d437),this['set']('state',_0xcc2284['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x475f3d())();}['init'](){const _0x572dbf=this['context'],_0x3535d7=_0x572dbf['plugins']['get'](_0x42d953),_0x6c3cf8=_0x572dbf['plugins']['get'](_0x1a5404);if(!_0x3535d7['token'])throw new _0x50f763('websocketgateway-missing-token',this);if(!_0x3535d7['webSocketUrl'])throw new _0x50f763('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x3535d7['token'],_0x3535d7['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x36fee8=>{if(this['connection']=_0x36fee8,this['bind']('state')['to'](_0x36fee8,'state',this,'_isBrowserOffline',(_0xd2d5af,_0x2d3c65)=>('connected'!==_0xd2d5af&&(this['_shouldPluginsReconnect']=!0x0),_0x2d3c65||_0xd2d5af!==_0xcc2284['CONNECTED']?_0xcc2284['DISCONNECTED']:this['state']==_0xcc2284['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xcc2284['CONNECTING']):_0xcc2284['CONNECTED'])),this['connection']['on']('error',(_0x7ab10b,_0x4e4b48)=>{if('limitExceeded'!==_0x4e4b48['code'])throw console['error'](_0x4e4b48),new _0x50f763('cloudservices-init',null,{'originalError':_0x4e4b48});_0x6c3cf8['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'});}),!_0x36fee8['me'])return new Promise(_0x41d385=>_0x36fee8['on']('change:me',_0x41d385));})['catch'](_0x26be12=>{throw console['error'](_0x26be12),new _0x50f763('cloudservices-init',null,{'originalError':_0x26be12});});}['addToReconnectionStack'](_0x52cfbd){if('function'!=typeof _0x52cfbd['reconnect'])throw new _0x50f763('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x52cfbd))throw new _0x50f763('websocketgateway-plugin-already-registered',this,{'name':_0x52cfbd['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x52cfbd);}['removeFromReconnectionStack'](_0x3067ab){this['_reconnectionStack']['delete'](_0x3067ab);}['isInReconnectionStack'](_0x45e727){return this['_reconnectionStack']['has'](_0x45e727);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x427a4d=>_0x427a4d['reconnect']())))['then'](()=>this['state']=_0xcc2284['CONNECTED'])['catch'](_0x3b23b9=>{throw console['error'](_0x3b23b9),new _0x50f763('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xcc2284['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x525f71{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[z,_0x3a0f0f];}constructor(_0x2ae023){super(_0x2ae023),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3eba5a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3a0f0f);}['init'](){const _0x46acd1=this['context']['plugins']['get'](z);this['listenTo'](_0x46acd1,'change:state',(_0x170d64,_0x2baa04,_0x5e439d)=>{if('connected'!==_0x5e439d)this['channelSessions']['forEach'](_0x5c05ec=>_0x5c05ec['clear']()),this['channelConnectedUsers']['forEach'](_0x7f2195=>_0x7f2195['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x11d272,_0x354cae]of this['_registeredSessions'])for(const _0x23bbd9 of _0x354cae)this['_handleSessionAdd'](_0x11d272,_0x23bbd9);}}),this['_createUser'](_0x46acd1['connection']['me'],!0x0);}['register'](_0x72fadd,_0x73608b){if(this['_registeredSessions']['has'](_0x72fadd))throw new _0x50f763('sessions-register-already-registered',null,{'channelId':_0x72fadd});this['_registeredSessions']['set'](_0x72fadd,_0x73608b),this['channelSessions']['set'](_0x72fadd,new _0x3eba5a()),this['channelConnectedUsers']['set'](_0x72fadd,new _0x3eba5a()),this['listenTo'](_0x73608b,'add',(_0x4e631f,_0x34ce84)=>this['_handleSessionAdd'](_0x72fadd,_0x34ce84)),this['listenTo'](_0x73608b,'remove',(_0x3363ea,_0x2abe9e)=>this['_handleSessionRemove'](_0x72fadd,_0x2abe9e));for(const _0x5ea693 of _0x73608b)this['_handleSessionAdd'](_0x72fadd,_0x5ea693);}['unregister'](_0x435dc6){if(!this['_registeredSessions']['has'](_0x435dc6))throw new _0x50f763('sessions-unregister-not-exist',null,{'channelId':_0x435dc6});const _0x252726=this['_registeredSessions']['get'](_0x435dc6);this['stopListening'](_0x252726);for(const _0xdb369d of _0x252726)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x435dc6,_0xdb369d);this['_registeredSessions']['delete'](_0x435dc6),this['channelSessions']['delete'](_0x435dc6),this['channelConnectedUsers']['delete'](_0x435dc6);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x9b1415){for(const _0x5b8294 of this['channelSessions']['values']())for(const _0x193ef2 of _0x5b8294)if(_0x193ef2['id']===_0x9b1415)return _0x193ef2['user'];}['getUserSessions'](_0x3ccae9,_0x161137){const _0x14bbf2=_0x161137?[this['channelSessions']['get'](_0x161137)]:this['channelSessions']['values'](),_0x1e4f84=new Set();for(const _0xb5ac3f of _0x14bbf2)for(const _0x470967 of _0xb5ac3f)_0x470967['user']['id']===_0x3ccae9['id']&&_0x1e4f84['add'](_0x470967['id']);return _0x1e4f84;}['getUserRole'](_0x4659d1){for(const _0x160812 of this['channelSessions']['values']())for(const _0x36e2bd of _0x160812)if(_0x36e2bd['user']===_0x4659d1)return _0x36e2bd['role'];}['_handleSessionAdd'](_0x2b2e5e,_0x55c9f4){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x85a7ca=_0x55c9f4['user'],_0x30f2f6=this['_users']['getUser'](_0x85a7ca['id'])||this['_createUser'](_0x85a7ca),_0x41c5b6=Object['assign']({},_0x55c9f4,{'user':_0x30f2f6});if(this['channelSessions']['get'](_0x2b2e5e)['add'](_0x41c5b6),!_0x85a7ca['hiddenInPresenceList']){const _0x3f8f77=this['channelConnectedUsers']['get'](_0x2b2e5e);_0x3f8f77['has'](_0x30f2f6['id'])||_0x3f8f77['add'](_0x30f2f6),this['allConnectedUsers']['has'](_0x30f2f6['id'])||_0x85a7ca['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x30f2f6,_0x30f2f6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2b2e5e,{'channelId':_0x2b2e5e,'session':_0x41c5b6});}['_handleSessionRemove'](_0x424d3e,_0x5dcb9d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x34894c=this['channelConnectedUsers']['get'](_0x424d3e),_0x250374=_0x5dcb9d['user'];_0x250374['id']&&(this['channelSessions']['get'](_0x424d3e)['remove'](_0x5dcb9d['id']),_0x34894c['has'](_0x250374['id'])&&!this['getUserSessions'](_0x250374,_0x424d3e)['size']&&_0x34894c['remove'](_0x250374['id']),this['allConnectedUsers']['get'](_0x250374['id'])&&!this['getUserSessions'](_0x250374)['size']&&this['allConnectedUsers']['remove'](_0x250374['id']));}['_createUser'](_0x549944,_0x9e5b17){const _0x3c9006=this['_users']['addUser'](_0x549944);return _0x9e5b17&&this['_users']['defineMe'](_0x549944['id']),_0x3c9006['orderNumber']=this['_uniqueUsersCount']++,_0x3c9006;}},K=class extends _0x203610{['_domEmitter']=new(_0x475f3d())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2fa545=this['editor'],_0x3af208=_0x2fa545['plugins']['get'](Y);_0x2fa545['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x496fc0,{writer:_0x9b244b})=>function(_0x417438,_0x2d44a7,_0xb51e8f,_0x61c52f){const _0x5e671d=_0x417438['markerName']['split'](':')[0x2],_0x29af90=_0xb51e8f['getUserBySessionId'](_0x5e671d);if(!_0x29af90||_0x5e671d===_0xb51e8f['mySessionId'])return;if(!_0x61c52f['model']['schema']['checkChild'](_0x417438['markerRange']['start'],'$text'))return;const _0x1c13e8={'class':'ck-user__marker\x20'+_0x29af90['color']['getMarkerClass'](),'style':Q(_0x29af90),'data-name':_0x29af90['name'],'data-session-id':_0x5e671d},_0x1036ff=_0x61c52f['model']['markers']['get'](_0x417438['markerName'])['getStart'](),_0x4ea7cb=_0x1036ff['nodeAfter'],_0x2ab7df=_0x61c52f['model']['schema'];if(_0x4ea7cb&&_0x2ab7df['isObject'](_0x4ea7cb)&&_0x2ab7df['isInline'](_0x4ea7cb)&&!_0x61c52f['model']['markers']['get']('user:range:'+_0x5e671d)['getRange']()['isCollapsed'])return;const _0x134616=_0x1036ff['parent'];return _0x61c52f['model']['schema']['isLimit'](_0x134616)&&!_0x61c52f['model']['hasContent'](_0x134616)&&(_0x1c13e8['contenteditable']=!0x1),function(_0x399ff2,_0x54f630,_0x1cd97d){const _0x4a40be=_0x399ff2['createUIElement']('span',_0x54f630);return _0x399ff2['setCustomProperty']('userPositionMarker',!0x0,_0x4a40be),_0x4a40be['render']=function(_0x2f5569){const _0x730c83=this['toDomElement'](_0x2f5569),_0x3599bf=document['createElement']('span');return _0x3599bf['classList']['add']('ck-user__marker-tooltip'),_0x3599bf['setAttribute']('contenteditable','false'),_0x3599bf['setAttribute']('spellcheck','false'),_0x3599bf['textContent']=_0x1cd97d['name'],_0x730c83['innerHTML']='<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3599bf['outerHTML']+'',_0x730c83['addEventListener']('mouseenter',()=>{_0x730c83['classList']['add']('ck-user__marker_hovered');}),_0x730c83['addEventListener']('mouseleave',()=>{_0x730c83['classList']['remove']('ck-user__marker_hovered');}),_0x730c83;},_0x4a40be['isSimilar']=function(_0x21a225){return!(!this['getCustomProperty']('userPositionMarker')||!_0x21a225['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x21a225['getAttribute']('data-session-id'));},_0x4a40be;}(_0x2d44a7,_0x1c13e8,_0x29af90);}(_0x496fc0,_0x9b244b,_0x3af208,_0x2fa545)}),_0x2fa545['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x324a92=>function(_0x4f0f32,_0x5b16ba){const _0x3e4f10=_0x4f0f32['markerName']['split'](':')[0x2];if(_0x3e4f10===_0x5b16ba['mySessionId'])return null;const _0x5cac73=_0x5b16ba['getUserBySessionId'](_0x3e4f10);return _0x5cac73?{'id':_0x3e4f10,'classes':['ck-user__selection',_0x5cac73['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5cac73),'data-session-id':_0x3e4f10},'priority':0x7d0+_0x5cac73['orderNumber']}:{'id':_0x3e4f10,'classes':[]};}(_0x324a92,_0x3af208)}),function(_0x3b3115){const _0x4898af=_0x3b3115['model'],_0x3d749d=new Map(),_0xf5482d=_0x3b3115['plugins']['get'](Y);_0x4898af['markers']['on']('update:user:range',(_0x8ada44,_0x3182f3,_0x4e53d1,_0x3bd949)=>{if(!_0x3bd949&&_0x3d749d['get'](_0x3182f3['name']))return _0x3d749d['get'](_0x3182f3['name'])['detach'](),void _0x3d749d['delete'](_0x3182f3['name']);const _0x5df7a1=_0x3182f3['name']['split'](':')[0x2];if(_0x5df7a1===_0xf5482d['mySessionId'])return;const _0x39d502='user:position:'+_0x5df7a1;_0x4898af['markers']['has'](_0x39d502)&&_0x3b3115['editing']['reconvertMarker'](_0x39d502),_0x3182f3['on']('change:range',(_0x53fecf,_0xee7499,_0xdfee88)=>{if('$graveyard'!=_0xee7499['root']['rootName']&&'$graveyard'==_0x3182f3['getRange']()['root']['rootName']&&!_0x3d749d['has'](_0x3182f3['name'])){const _0x91aed=_0x4898af['schema']['getNearestSelectionRange'](_0xdfee88['deletionPosition']);if(_0x91aed){const _0x3cf7eb=_0x3155f0['fromRange'](_0x91aed);_0x3d749d['set'](_0x3182f3['name'],_0x3cf7eb),_0x3cf7eb['on']('change:range',(_0x4387c9,_0x4e0f1f,_0x59f11d)=>{if('$graveyard'==_0x3cf7eb['root']['rootName']){const _0x460591=_0x4898af['schema']['getNearestSelectionRange'](_0x59f11d['deletionPosition']);_0x460591?(_0x3cf7eb['start']=_0x460591['start'],_0x3cf7eb['end']=_0x460591['end']):(_0x3d749d['delete'](_0x3182f3['name']),_0x3cf7eb['detach']());}});}}});}),_0x4898af['document']['on']('change',()=>{_0x3d749d['size']>0x0&&_0x4898af['enqueueChange']({'isUndoable':!0x1},_0x141da8=>{for(const [_0xb72b4e,_0x109ec7]of _0x3d749d)'$graveyard'==_0x4898af['markers']['get'](_0xb72b4e)['getRange']()['root']['rootName']&&(J(_0xb72b4e['split'](':')[0x2],_0x109ec7['toRange'](),_0x4898af,_0x141da8),_0x109ec7['detach']());_0x3d749d['clear']();});});}(_0x2fa545),this['_domEmitter']['listenTo'](_0x6efeaf['document'],'keydown',(_0x40bdf0,{key:_0x111b0a})=>{'Escape'===_0x111b0a&&function(_0x109730){_0x109730['editing']['view']['change'](_0x37fc5e=>{for(const _0x23ddce of _0x109730['model']['markers']){if(!_0x23ddce['name']['startsWith']('user:position'))continue;const _0x439739=_0x109730['editing']['mapper']['markerNameToElements'](_0x23ddce['name']);if(_0x439739){for(const _0x18a632 of _0x439739)_0x37fc5e['removeClass']('ck-user__marker_hovered',_0x18a632);}}});}(_0x2fa545);},{'useCapture':!0x0});}['afterInit'](){const _0x588220=this['editor'],_0x2e6206=_0x588220['commands']['get']('undo');_0x2e6206&&_0x588220['model']['on']('applyOperation',(_0x159f1b,_0x54f775)=>{const _0x4274a8=_0x54f775[0x0];if(!_0x4274a8['isDocumentOperation'])return;if('marker'!=_0x4274a8['type']||!_0x4274a8['name']['startsWith']('user:'))return;const _0x29ce7e=_0x4274a8['batch'];_0x2e6206['_createdBatches']['has'](_0x29ce7e)&&(_0x4274a8['newRange']=_0x4274a8['oldRange']?_0x588220['model']['createRange'](_0x4274a8['oldRange']['start'],_0x4274a8['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5ebbfa=this['editor'],_0x8c9b91=_0x5ebbfa['model']['document'],_0x157b0a=_0x5ebbfa['plugins']['get'](Y);_0x5ebbfa['model']['enqueueChange']({'isUndoable':!0x1},_0x5d0d2a=>{const _0x4a8e23='user:range:'+_0x157b0a['mySessionId'],_0x167c80='user:position:'+_0x157b0a['mySessionId'],_0x289e68=_0x5ebbfa['model']['markers']['has'](_0x4a8e23);_0x5ebbfa['editing']['view']['hasDomSelection']?J(_0x157b0a['mySessionId'],_0x8c9b91['selection']['getFirstRange'](),_0x5ebbfa['model'],_0x5d0d2a):_0x289e68&&(_0x5d0d2a['removeMarker'](_0x4a8e23),_0x5d0d2a['removeMarker'](_0x167c80));});}};function J(_0x3aaeeb,_0x44c6d1,_0x51c474,_0xc7039f){const _0x1c150f='user:range:'+_0x3aaeeb,_0x2b254d='user:position:'+_0x3aaeeb,_0x4d6fb0=_0x44c6d1['getContainedElement']();let _0x25e5b3=_0x44c6d1['start'];if(_0x4d6fb0&&_0x4d6fb0['is']('element','tableCell')){const _0x46718a=function(_0x5c5409,_0x48686b){for(const _0x5a0d76 of _0x5c5409['getPositions']())if(_0x48686b['schema']['checkChild'](_0x5a0d76,'$text'))return _0x5a0d76;}(_0x44c6d1,_0x51c474);_0x46718a&&(_0x25e5b3=_0x46718a,_0x44c6d1=_0xc7039f['createRange'](_0x25e5b3));}const _0x2cff88=_0xc7039f['createRange'](_0x25e5b3);_0x51c474['markers']['has'](_0x1c150f)?(_0xc7039f['updateMarker'](_0x1c150f,{'range':_0x44c6d1}),_0xc7039f['updateMarker'](_0x2b254d,{'range':_0x2cff88})):(_0xc7039f['addMarker'](_0x1c150f,{'range':_0x44c6d1,'usingOperation':!0x0}),_0xc7039f['addMarker'](_0x2b254d,{'range':_0x2cff88,'usingOperation':!0x0}));}function Q(_0x4e3e4a){return'--ck-user-color:'+_0x4e3e4a['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4e3e4a['color']['getColorAlphaVariable']()+';';}function X(_0x3d2667,_0x30c7f4,_0x508355){const _0x305add=_0x3d2667['t'],t=_0x3d2667['t'];switch(_0x30c7f4){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 _0x305add({'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'},_0x508355);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x203610{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
|
|
25
|
+
((()=>_0x444d59)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[z,Y,K,_0x442fb9,_0x3a0f0f,_0x1a5404];}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 _0x131111=this['serverHistory']['getOperations']();for(let _0x71d0f9=_0x131111['length']-0x1;_0x71d0f9>=0x0;_0x71d0f9--){const _0x50adc0=_0x131111[_0x71d0f9];if(!this['_disconnectionOperations']['has'](_0x50adc0))return _0x50adc0['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1616b7){if(super(_0x1616b7),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x10d3fc(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x50f763('collaboration-missing-channelid',this);const _0x3779d0=_0x1616b7['config']['get']('cloudServices.bundleVersion')||_0xad9c89;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3779d0,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x53ed3a(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new it(this['_disconnectionOperations']);}['init'](){const _0x5dd7f3=this['editor'],_0x19f679=_0x5dd7f3['plugins']['get'](_0x3a0f0f),_0x404c0e=_0x5dd7f3['plugins']['get'](z);this['listenTo'](_0x19f679,'getOperationAuthor',(_0x5df9a7,_0x4ec3a3)=>{const _0xbe5234=_0x4ec3a3[0x0];_0xbe5234['_authorId']&&(_0x5df9a7['return']=_0x19f679['getUser'](_0xbe5234['_authorId']),_0x5df9a7['stop']()),null===_0xbe5234['_authorId']&&(_0x5df9a7['return']=null,_0x5df9a7['stop']());},{'priority':'high'}),this['listenTo'](_0x5dd7f3['model']['document']['selection'],'change:range',(_0x2a13ea,_0x37be4a)=>{_0x37be4a['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5dd7f3['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5dd7f3['model']['on']('applyOperation',(_0x9a7d62,_0x570512)=>{const _0x13cc40=_0x570512[0x0];_0x13cc40['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x13cc40),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x404c0e,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x3f34df,_0x430ec9,_0x4e672d)=>'connected'===_0x3f34df&&!_0x430ec9&&!_0x4e672d),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5dd7f3['disableReadOnlyMode']('rtc-offline'):_0x5dd7f3['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5dd7f3['disableReadOnlyMode']('rtc-offline'):_0x5dd7f3['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2a09f0=this['editor']['plugins']['get'](Y),_0x237611=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x2a09f0['unregister'](this['_channelId']);const _0x36562a=await this['_service']['reconnect'](_0x237611['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x36562a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x18b0e2=await this['_service']['getConnectedSessions']();_0x2a09f0['register'](this['_channelId'],_0x18b0e2),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2ae4e0){if(function(_0x2674e6){return'404'===_0x2674e6['code'];}(_0x2ae4e0)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x471389){return'409'===_0x471389['code'];}(_0x2ae4e0)){const _0x3a0e6b=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x3a0e6b);}else{if(!(_0x2ae4e0 instanceof et))throw _0x2ae4e0;this['_handleReconnectionError']();}}}}['destroy'](){const _0x25ac72=this['editor']['plugins']['get'](z),_0x343113=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x343113['channelSessions']['has'](this['_channelId'])&&_0x343113['unregister'](this['_channelId']),_0x25ac72['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x43c303){if(this['sessionId']!==_0x43c303['sessionId']&&this['_lastSyncedOperationId']!==_0x43c303['lastOperationId'])throw new et();return this['sessionId']=_0x43c303['sessionId'],this['_handleServerResponse']([],{..._0x43c303,'wereChangesApplied':!0x1,'data':_0x43c303['data']},'reconnect');}async['_connectService'](_0x1925af,_0x34bf60=!0x1){const {connection:_0x367723}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x367723,this['_channelId'])['then'](_0x336d00=>this['_initSessionsHandling'](_0x336d00))['catch'](_0x33c21a=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x33c21a);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x56b951,_0x5c36fb)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5c36fb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x24b977=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1925af);this['_isPendingUpdate']=!0x0;const _0x13acc6=await this['_service']['connect'](_0x367723,this['_compressOperations'](_0x1925af),_0x24b977);if(this['sessionId']=_0x13acc6['sessionId'],_0x34bf60){if(!_0x13acc6['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x13acc6['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1925af,_0x13acc6,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x13acc6,_0x1925af);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x28fd2e=this['editor']['plugins']['get'](Y),_0x43775b=this['editor']['plugins']['get'](K),_0x4a5ce3=_0x28fd2e['channelSessions']['get'](this['_channelId']);_0x4a5ce3&&_0x4a5ce3['length']>0x1?_0x43775b['createUserMarkerOperations']():this['listenTo'](_0x28fd2e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x28fd2e['channelSessions']['get'](this['_channelId'])['length']&&_0x43775b['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4ee6ce,_0x16e593,_0x32d822,_0x751e88){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x16e593){const _0x46de19=this['_decompressOperations'](_0x32d822,_0x751e88);await this['_fetchMissingUsers'](_0x46de19),this['_handleExternalOperations'](_0x46de19,_0x16e593,_0x32d822['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3ea35e}=this['editor'];let _0x1238b4;try{_0x1238b4=await this['_service']['getDocumentDetails']();}catch{const _0x2a8af4=X(_0x3ea35e,'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'](_0x2a8af4);}const _0x30af8c=_0x1238b4['currentDocumentSession']||_0x1238b4['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x30af8c['lastOperationId']){const _0xc07aee=X(_0x3ea35e,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0xc07aee);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x2d51cf=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2d51cf['connection']||'connected'!==_0x2d51cf['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x322561=this['editor']['plugins']['get'](Y);_0x322561['channelSessions']['has'](this['_channelId'])&&_0x322561['unregister'](this['_channelId']),_0x2d51cf['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x359795){const _0x2bbff4=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2bbff4,'sessionAdd:'+this['_channelId'],(_0x36b7a1,{session:_0x444fd4})=>{if(_0x444fd4['id']===_0x2bbff4['mySessionId']){_0x36b7a1['off']();const _0x5d79f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xdbafa7=_0x444fd4['permissions'];_0x5d79f&&_0x5d79f['isEnabled']&&(_0xdbafa7=_0xdbafa7['filter'](_0x1c7c22=>'document:write'!==_0x1c7c22)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xdbafa7,this['_channelId']);}}),_0x2bbff4['register'](this['_channelId'],_0x359795);}['_initThrowingOnDataSet'](){const _0x67c542=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x571bfe)=>{if(!_0x571bfe[_0x571bfe['length']-0x1]['suppressErrorInCollaboration'])throw new _0x50f763('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x67c542['apply'](this['editor']['data'],_0x571bfe);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x20e442,[_0x2548d4])=>{if(this['_document']['version'])throw new _0x50f763('realtimecollaborationclient-init-document-already-initialized',this);_0x20e442['stop'](),this['_setPendingAction']();const _0x1cc162=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1418ee])=>!_0x1418ee['lazyLoad'])['map'](([_0x5eba09,_0x36be37])=>[_0x5eba09,_0x36be37['modelAttributes']||{}])),_0x57e1ae=this['_getOperationsFromInitData'](_0x2548d4,_0x1cc162);0x0==_0x57e1ae['length']&&_0x57e1ae['push'](new _0x44598d(0x0)),_0x20e442['return']=this['_connectService'](_0x57e1ae)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x14f7b3=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x14f7b3))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xdeea7e,[_0x1b6ba,_0x533a46])=>{_0xdeea7e['stop']();const _0x1f8e14=this['editor']['model']['document']['getRoot'](_0x1b6ba);if(!this['_knownRootNames']['has'](_0x1b6ba)){const _0x3cca01=_0x533a46&&_0x533a46['data']?_0x533a46['data']:'',_0x49db29=_0x533a46&&_0x533a46['attributes']?_0x533a46['attributes']:{};await this['_loadRoot'](_0x1b6ba,_0x3cca01,_0x49db29);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1f8e14['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1f8e14);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x55d4c2){const _0x263490=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x34ea8a}=this['editor']['plugins']['get'](z),_0x5cbacb=new Set();for(const _0x109336 of _0x55d4c2){const _0x28dbbf=_0x109336['_authorId'];_0x28dbbf&&!_0x263490['getUser'](_0x28dbbf)&&_0x5cbacb['add'](_0x28dbbf);}if(0x0===_0x5cbacb['size'])return;const _0x4ec9d8=await _0x5778e5['getMany'](_0x34ea8a,Array['from'](_0x5cbacb));for(const _0x513fff of _0x4ec9d8)_0x263490['getUser'](_0x513fff['id'])||_0x263490['addUser'](_0x513fff);}['_getOperationsFromInitData'](_0x11e5a1,_0x28037a={}){const _0x54f0e5=this['editor']['model'],_0xd82de8=[];let _0x550f6f=0x0;const _0x43af2a='string'==typeof _0x11e5a1?{'main':_0x11e5a1}:_0x11e5a1;for(const _0x18aee6 of Object['keys'](_0x43af2a)){if(!this['_document']['roots']['has'](_0x18aee6))throw new _0x50f763('realtimecollaborationclient-init-non-existent-root',this);const _0x8a6b74=this['_document']['getRoot'](_0x18aee6),_0x122eac=this['editor']['data']['parse'](_0x43af2a[_0x18aee6],_0x8a6b74),_0x68e4cc=new _0x51617e(_0x54f0e5['createPositionAt'](_0x8a6b74,0x0),_0x122eac,_0x550f6f++);_0xd82de8['push'](_0x68e4cc);for(const [_0x37ae84,_0x117fb8]of _0x122eac['markers']){const _0x48732f=new _0x57d1e8(_0x37ae84,null,_0x54f0e5['createRange'](_0x54f0e5['createPositionFromPath'](_0x8a6b74,_0x117fb8['start']['path']['slice']()),_0x54f0e5['createPositionFromPath'](_0x8a6b74,_0x117fb8['end']['path']['slice']())),_0x54f0e5['markers'],!0x0,_0x550f6f++);_0xd82de8['push'](_0x48732f);}}if(_0x28037a)for(const [_0x1e38a5,_0x2f948a]of Object['entries'](_0x28037a)){const _0x204aa5=_0x54f0e5['document']['getRoot'](_0x1e38a5);if(!_0x204aa5)throw new _0x50f763('multi-root-editor-root-attributes-no-root',null);for(const [_0x5a605e,_0xb0aef8]of Object['entries'](_0x2f948a))if(null!==_0xb0aef8){const _0x26f745=new _0x1fde9d(_0x204aa5,_0x5a605e,null,_0xb0aef8,_0x550f6f++);_0xd82de8['push'](_0x26f745);}}return _0xd82de8;}async['_loadRoot'](_0x1e90e2,_0x44fdc7,_0x5c0fa3){this['_getOperationsFromInitData']({[_0x1e90e2]:_0x44fdc7},{[_0x1e90e2]:_0x5c0fa3})['forEach']((_0x18b575,_0x3588b2)=>{_0x18b575['baseVersion']=this['_document']['version']+_0x3588b2,_0x18b575['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x18b575);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x164c8d,_0x34e242){let _0x27ad58;this['_offset']=_0x164c8d['offset'];const _0x284f11=_0x164c8d['wereChangesApplied']&&!_0x164c8d['initData'],_0x1e0256=_0x284f11?0x0:_0x164c8d['data']['baseVersion'];if(_0x34e242['forEach'](_0x20ad4e=>{_0x20ad4e['_isInit']=!0x0,_0x20ad4e['createdAt']=_0x164c8d['sessionCreatedAt'],_0x20ad4e['_authorId']=null;}),_0x284f11)_0x27ad58=_0x34e242,this['_applyOperationsSet'](_0x27ad58,_0x284f11);else{if(_0x164c8d['initData']){const _0x2c0e3f=this['_getOperationsFromInitData'](_0x164c8d['initData']);this['_document']['history']['version']=-_0x2c0e3f['length'],_0x2c0e3f['forEach'](_0x4d5970=>{_0x4d5970['baseVersion']-=_0x2c0e3f['length'],_0x4d5970['createdAt']=_0x164c8d['sessionCreatedAt'],_0x4d5970['_isInit']=!0x0,_0x4d5970['_authorId']=null;}),this['_applyOperationsSet'](_0x2c0e3f,!0x0),this['serverHistory']['version']=-_0x2c0e3f['length']+this['_offset'],this['_updateServerHistory'](_0x2c0e3f);}this['_document']['history']['version']=_0x1e0256,_0x27ad58=this['_decompressOperations'](_0x164c8d['data'],_0x164c8d['metadata']),await this['_fetchMissingUsers'](_0x27ad58),this['_applyOperationsSet'](_0x27ad58,_0x284f11);}_0x164c8d['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x27ad58,_0x164c8d['lastOperationId']),this['_lastSyncedOperationId']=_0x164c8d['lastOperationId']),this['serverHistory']['version']=_0x1e0256+this['_offset'],this['_updateServerHistory'](_0x27ad58),_0x34e242['filter'](_0x4476b4=>{const _0x5a1134=this['_getAffectedRoot'](_0x4476b4);return _0x5a1134&&!this['_knownRootNames']['has'](_0x5a1134);})['forEach']((_0x6f8c40,_0x2e4667)=>{_0x6f8c40['baseVersion']=this['_document']['version']+_0x2e4667,this['_saveOperationInBuffer'](_0x6f8c40);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1ae223,_0xd012e0){const _0x287591=_0xd012e0&&_0xd012e0['message'];if(_0x287591&&_0x287591['startsWith']('realtimecollaborationclient'))throw _0xd012e0;const _0x49efde=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x49efde['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x50f763(_0x1ae223,this['editor'],_0x287591?{'originalError':_0x287591}:void 0x0);}['_saveOperationInBuffer'](_0x1d642e){this['_knownOperations']['has'](_0x1d642e)||(this['_knownOperations']['add'](_0x1d642e),this['_bufferedOperations']['push'](_0x1d642e),this['_pendingAction']||'marker'==_0x1d642e['type']&&!_0x1d642e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x34361f=!0x1){!_0x34361f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1c110b=>{_0x1c110b&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x367dc7=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3419c1){return _0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x367dc7)||this['_crash'](_0x367dc7['message'],_0x367dc7);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2c6e98=>{this['on']('change:_isPendingUpdate',()=>{_0x2c6e98();});});}async['_sendBufferedOperations'](){const _0x4fe350=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x4fe350['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5939b9=[...this['_bufferedOperations']];for(const _0x204adb of _0x5939b9)_0x204adb['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x204adb);const _0x57519a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5939b9),_0x4d30d2=Z++,_0x387378=this['_compressOperations'](_0x5939b9),_0xda8345=await this['_service']['sendOperations'](_0x387378,_0x387378['baseVersion'],_0x57519a);try{return await this['_handleServerResponse'](_0x5939b9,_0xda8345,_0x4d30d2);}catch(_0x309816){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x309816);}}async['_handleServerResponse'](_0x3fc344,_0x5b1bd2,_0x188574){if('error'in _0x5b1bd2)throw _0x5b1bd2['error'];let _0x1320f1=!0x1;if(_0x5b1bd2['wereChangesApplied']){_0x5b1bd2['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5b1bd2['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x9e9147=>!_0x3fc344['includes'](_0x9e9147));for(const _0x40b50b of _0x3fc344)_0x40b50b['createdAt']='lastOperationAcceptedAt'in _0x5b1bd2&&_0x5b1bd2['lastOperationAcceptedAt']||void 0x0;st(_0x3fc344,_0x5b1bd2['version']-_0x3fc344['length']),this['_updateServerHistory'](_0x3fc344);const _0x39ae90=_0x3fc344['filter'](_0x1ca479=>{if(!_0x1ca479['_isInit'])return!0x1;const _0x204f7f=this['_getAffectedRoot'](_0x1ca479);return _0x204f7f&&!this['_knownRootNames']['has'](_0x204f7f);});st(_0x39ae90,this['_document']['version']),this['_applyOperationsSet'](_0x39ae90),_0x1320f1=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x53c088=this['_decompressOperations'](_0x5b1bd2['data'],_0x5b1bd2['metadata'])['filter'](_0x28fd8f=>_0x28fd8f['baseVersion']>=this['_lastServerVersion']);_0x53c088['forEach'](_0x585239=>this['_addKnownRoot'](_0x585239)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3c937b=>!_0x3c937b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3c937b))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x53c088),_0x1320f1=this['_handleExternalOperations'](_0x53c088,_0x5b1bd2['version'],_0x5b1bd2['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1320f1?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x181885,_0x2966da,_0x47ca5d){try{const _0x1fa018={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4dd446,operationsB:_0x35f646,originalOperations:_0x452e15}=_0x3b64ef(_0x181885,this['_bufferedOperations'],_0x1fa018);st(_0x4dd446,this['_document']['version']),st(_0x35f646,_0x2966da);for(const _0xdb79b5 of _0x4dd446){const _0x1ba5bc=_0x452e15['get'](_0xdb79b5);_0x1ba5bc?(_0xdb79b5['_authorId']=_0x1ba5bc['_authorId'],'noop'!==_0xdb79b5['type']&&(_0xdb79b5['_aiSource']=_0x1ba5bc['_aiSource'])):_0xdb79b5['_authorId']=null;}for(const _0x4c1bda of _0x35f646)'noop'!==_0x4c1bda['type']&&(_0x4c1bda['_aiSource']=_0x452e15['get'](_0x4c1bda)?.['_aiSource']);_0x47ca5d&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x181885,_0x47ca5d),this['_lastSyncedOperationId']=_0x47ca5d),this['_bufferedOperations']=[..._0x35f646],this['_applyOperationsSet'](_0x4dd446),this['_updateServerHistory'](_0x181885);}catch(_0x34a774){return console['error'](_0x34a774),!0x1;}return!0x0;}['_applyOperationsSet'](_0x475af8,_0x297f5c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x485354=>{for(const _0x5ca3c0 of _0x475af8)this['_knownOperations']['add'](_0x5ca3c0),this['_addKnownRoot'](_0x5ca3c0),_0x485354['batch']['addOperation'](_0x5ca3c0),this['editor']['model']['applyOperation'](_0x5ca3c0);});}['_addKnownRoot'](_0x587993){const _0x237407=this['_getAffectedRoot'](_0x587993);_0x237407&&this['_knownRootNames']['add'](_0x237407);}['_getAffectedRoot'](_0x20d55f){let _0x5525b4,_0x3e52a4;switch(_0x20d55f['type']){case'insert':_0x5525b4=_0x20d55f['position']['root'];break;case'marker':if(_0x3e52a4=_0x20d55f['newRange'],!_0x3e52a4)return null;_0x5525b4=_0x3e52a4['root'];break;case'addRootAttribute':_0x5525b4=_0x20d55f['root'];break;case'addRoot':_0x5525b4=_0x20d55f['affectedSelectable'];break;case'move':_0x5525b4=_0x20d55f['targetPosition']['root'];break;default:return null;}return _0x5525b4['rootName'];}['_updateServerHistory'](_0x1fa1d6){_0x1fa1d6['forEach'](_0x247223=>{const _0x1cc997=_0x247223['clone']();_0x1cc997['_authorId']=_0x247223['_authorId'],_0x1cc997['_isInit']=!!_0x247223['_isInit'],_0x1cc997['_aiSource']=_0x247223['_aiSource'],_0x1cc997['createdAt']=_0x247223['createdAt'],_0x1cc997['baseVersion']+=this['_offset'],_0x247223['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1cc997),this['serverHistory']['addOperation'](_0x1cc997);});}['_handleReconnectionError'](_0x3d40ae){const _0x573169=this['editor']['plugins']['get']('Notification'),_0x16ce66=this['editor']['locale'];_0x3d40ae||(_0x3d40ae=X(_0x16ce66,'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.')),_0x573169['showWarning'](_0x3d40ae,{'title':X(_0x16ce66,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x442fb9)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x442fb9)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4da0c9){const _0x5c75f2=_0x4da0c9['map'](_0x322b79=>_0x322b79['toJSON']());return this['_compressor']['compress'](_0x5c75f2);}['_decompressOperations'](_0x103792,_0x2f8ca3){return this['_compressor']['decompress'](_0x103792)['map']((_0x2d1c15,_0x36cc21)=>{const _0x37df9f='init'==_0x2f8ca3[_0x36cc21]['type'];if('InsertOperation'==_0x2d1c15['__className']){const _0x5efc52=_0x2d1c15['position']['root'];!this['_document']['getRoot'](_0x5efc52)&&(this['_document']['createRoot']('$unknown',_0x5efc52)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2d1c15['__className']){const _0x3d79e5=this['_document']['getRoot'](_0x2d1c15['rootName']);_0x3d79e5&&'$unknown'==_0x3d79e5['name']&&_0x2d1c15['elementName']!=_0x3d79e5['name']&&(_0x3d79e5['name']=_0x2d1c15['elementName']);}}const _0x3a4d16=_0x3e843c['fromJSON'](_0x2d1c15,this['_document']);return _0x3a4d16['wasUndone']=_0x2d1c15['wasUndone'],_0x3a4d16['_isInit']=_0x37df9f,_0x3a4d16['_authorId']=_0x37df9f?null:_0x2f8ca3[_0x36cc21]['userId'],_0x3a4d16['_isDisconnection']='cs:removeUser'===_0x2f8ca3[_0x36cc21]['type'],_0x3a4d16['_aiSource']=_0x2d1c15['_aiSource']||void 0x0,_0x3a4d16['createdAt']=_0x2f8ca3[_0x36cc21]['createdAt'],_0x3a4d16;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2a3c22=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2a3c22&&_0x2a3c22['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x2900e2,_0x5f40dc){for(const _0x123bab of _0x2900e2)_0x123bab['baseVersion']=_0x5f40dc++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x5e0a80){this['_ignoredOperations']=_0x5e0a80,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x30f33f){let _0x22b031=_0x30f33f['length'];for(;_0x22b031--;){const _0x4374ab=_0x30f33f[_0x22b031];if(!this['_ignoredOperations']['has'](_0x4374ab)){if(!this['_operationToId']['has'](_0x4374ab)){const _0x4a07fc=_0x3ff10e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4374ab,_0x4a07fc);}return this['_operationToId']['get'](_0x4374ab);}}}['setIdForTheLastOperation'](_0x2b2ee7,_0x4d22e6){if(!_0x4d22e6)return;let _0x30707e=_0x2b2ee7['length'];for(;_0x30707e--;){const _0x494dd5=_0x2b2ee7[_0x30707e];this['_ignoredOperations']['has'](_0x494dd5)||this['_operationToId']['set'](_0x494dd5,_0x4d22e6);}}},nt=class extends _0x203610{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x525f71{static ['CommentsService']=/* #__PURE__ -- @preserve */
|
|
26
|
+
((()=>_0x3fa162)());['_services'];static get['requires'](){return[z,_0x4fd941,Y,_0x3a0f0f];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x20bc88){super(_0x20bc88),this['_services']=new Map();}async['init'](){const _0x31154a=this['context'],_0xb7fabe=_0x31154a['plugins']['get'](_0x4fd941);if(_0x31154a['plugins']['get'](z)['addToReconnectionStack'](this),_0xb7fabe['adapter']={'addCommentThread':async({channelId:_0x25ffdf,threadId:_0x456a36,comments:_0x35f097,resolvedAt:_0x410cd3,resolvedBy:_0x29a55d,context:_0x52a322,attributes:_0x4ecc5d})=>{const _0x77c04a=await this['_getService'](_0x25ffdf)['addCommentThread']({'commentThreadId':_0x456a36,'comments':_0x35f097['map'](_0x581a4e=>function(_0xe20a8d,_0x3f92c1,_0x265a84){return{'commentThreadId':_0x265a84,'commentId':_0xe20a8d['commentId'],'userId':_0xe20a8d['authorId'],'content':_0xe20a8d['content'],'documentId':_0x3f92c1,'createdAt':_0xe20a8d['createdAt'],'attributes':_0xe20a8d['attributes']||{}};}(_0x581a4e,_0x25ffdf,_0x456a36)),'resolvedAt':_0x410cd3,'resolvedBy':_0x29a55d,'context':_0x52a322,'attributes':_0x4ecc5d})['catch'](ct);return{'threadId':_0x77c04a['commentThreadId'],'comments':_0x77c04a['comments']};},'getCommentThread':async({channelId:_0x5370df,threadId:_0x2dbcd})=>{const _0x177753=await this['_getService'](_0x5370df)['getCommentThread'](_0x2dbcd)['catch'](rt)['catch'](ct);return _0x177753?_0x177753['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x177753]),{'threadId':_0x177753['commentThreadId'],'comments':_0x177753['comments']['map'](at),'context':_0x177753['context'],'resolvedAt':_0x177753['resolvedAt'],'resolvedBy':_0x177753['resolvedBy'],'attributes':_0x177753['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5cb94e,threadId:_0xeedfb6,context:_0x323881,unlinkedAt:_0x108370,attributes:_0x5339ac})=>this['_getService'](_0x5cb94e)['updateCommentThread']({'commentThreadId':_0xeedfb6,'context':_0x323881,'attributes':_0x5339ac,'unlinkedAt':_0x108370})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x11858c,threadId:_0x2c2a45})=>{const _0x30c2c9=await this['_getService'](_0x11858c)['resolveCommentThread'](_0x2c2a45)['catch'](rt)['catch'](ct);return{'threadId':_0x30c2c9['commentThreadId'],'resolvedAt':_0x30c2c9['resolvedAt'],'resolvedBy':_0x30c2c9['resolvedBy']};},'reopenCommentThread':async({channelId:_0x472f0b,threadId:_0x24c981})=>this['_getService'](_0x472f0b)['reopenCommentThread'](_0x24c981)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x423d2c,threadId:_0x828860})=>this['_getService'](_0x423d2c)['removeCommentThread'](_0x828860)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x4e46ab,threadId:_0x78ead9,commentId:_0x554fda,content:_0x3fa5cb,attributes:_0x5daac5})=>this['_getService'](_0x4e46ab)['addComment'](_0x78ead9,_0x554fda,_0x3fa5cb,_0x5daac5)['catch'](ct),'updateComment':({channelId:_0x459bdb,threadId:_0x58a0f8,commentId:_0xfc311,content:_0x32cfc8,attributes:_0x4bdf86})=>this['_getService'](_0x459bdb)['updateComment'](_0x58a0f8,_0xfc311,_0x32cfc8,_0x4bdf86)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x33e23d,threadId:_0x475b21,commentId:_0x34f421})=>this['_getService'](_0x33e23d)['removeComment'](_0x475b21,_0x34f421)['catch'](rt)['catch'](ct)},_0x31154a instanceof _0x65df0c){const _0x4adc2a=_0x31154a['config']['get']('collaboration.channelId'),_0x1cefda=_0x31154a['plugins']['get'](Y);await this['_setUpService'](_0x4adc2a);const _0x192e21=await this['_services']['get'](_0x4adc2a)['getConnectedSessions']();this['listenTo'](_0x1cefda,'sessionAdd:'+_0x4adc2a,(_0x3945b5,{session:_0x5cbeb5})=>{_0x5cbeb5['id']===_0x1cefda['mySessionId']&&(_0x3945b5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5cbeb5['permissions'],_0x4adc2a));}),_0x1cefda['register'](_0x4adc2a,_0x192e21);}}async['_setUpService'](_0x3915e9){if(this['_services']['has'](_0x3915e9))throw new _0x50f763('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3915e9});const _0x4d5e72=this['context']['plugins']['get'](_0x4fd941),_0x111703=new CloudServicesCommentsAdapter['CommentsService'](_0x3915e9);this['_services']['set'](_0x3915e9,_0x111703),this['listenTo'](_0x111703,'commentThreadAdded',(_0x4b318d,_0x2e9504)=>{const {commentThreadId:_0xe5b731,documentId:_0x5d6163,context:_0x2f9065,attributes:_0xc43e44,resolvedAt:_0x38337c,resolvedBy:_0x73949e,comments:_0x151c68}=_0x2e9504;_0x4d5e72['getCommentThread'](_0xe5b731)||_0x4d5e72['addCommentThread']({'threadId':_0xe5b731,'channelId':_0x5d6163,'comments':_0x151c68?_0x151c68['map'](at):[],'context':_0x2f9065,'attributes':_0xc43e44,'resolvedAt':_0x38337c,'resolvedBy':_0x73949e,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadUpdated',(_0x5bca15,{commentThreadId:_0x32ee5c,documentId:_0x3e7c27,context:_0x22b037,unlinkedAt:_0x4e380a,attributes:_0x4a9c02})=>{_0x4d5e72['getCommentThread'](_0x32ee5c)&&_0x4d5e72['updateCommentThread']({'threadId':_0x32ee5c,'channelId':_0x3e7c27,'context':_0x22b037,'unlinkedAt':_0x4e380a,'attributes':_0x4a9c02,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadResolved',(_0x40ad15,{commentThreadId:_0xb1c25f,resolvedBy:_0x13d545,resolvedAt:_0x4927ba})=>{const _0x421dcd=_0x4d5e72['getCommentThread'](_0xb1c25f);_0x421dcd&&_0x421dcd['resolve']({'resolvedBy':_0x13d545,'resolvedAt':_0x4927ba,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadReopened',(_0x55ba08,{commentThreadId:_0x5de229})=>{const _0x31e049=_0x4d5e72['getCommentThread'](_0x5de229);_0x31e049&&_0x31e049['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadRemoved',(_0xb94f21,{commentThreadId:_0x3e54bc})=>{const _0x1b72f0=_0x4d5e72['getCommentThread'](_0x3e54bc);_0x1b72f0&&_0x1b72f0['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentAdded',(_0x251f8e,_0x2b1a2d)=>{const _0xeec4d=_0x2b1a2d['commentThreadId'],_0x36b955=_0x4d5e72['getCommentThread'](_0xeec4d);_0x36b955&&_0x36b955['addComment']({...at(_0x2b1a2d),'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentUpdated',(_0x1264f4,{commentThreadId:_0x1e1d13,commentId:_0x6eacff,content:_0x348056,attributes:_0x43cfc4})=>{const _0x34aecf=_0x4d5e72['getCommentThread'](_0x1e1d13);if(_0x34aecf){const _0x5024e2=_0x34aecf['getComment'](_0x6eacff);_0x5024e2&&_0x5024e2['update']({'content':_0x348056,'attributes':_0x43cfc4,'isFromAdapter':!0x0});}}),this['listenTo'](_0x111703,'commentRemoved',(_0x528709,{commentThreadId:_0x529736,commentId:_0x5279b9})=>{const _0x5e6709=_0x4d5e72['getCommentThread'](_0x529736);if(_0x5e6709){const _0x26e4ef=_0x5e6709['getComment'](_0x5279b9);_0x26e4ef&&_0x26e4ef['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x111703,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x3915e9),this['stopListening'](_0x111703));}),await this['_connectService'](_0x3915e9);}['destroy'](){if(this['context']instanceof _0x65df0c){const _0x100bbf=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x100bbf)&&this['_terminateService'](_0x100bbf);}}['_terminateService'](_0x563b79){if(!this['_services']['has'](_0x563b79))throw new _0x50f763('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x563b79});this['_getService'](_0x563b79)['disconnect'](),this['_services']['delete'](_0x563b79);}async['reconnect'](){for(const _0x2821a2 of this['_services']['keys']())await this['_connectService'](_0x2821a2);if(this['context']instanceof _0x65df0c){const _0x2eb25b=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x2eb25b)){const _0x597ecb=this['context']['plugins']['get'](Y);_0x597ecb['unregister'](_0x2eb25b);const _0x80fb84=await this['_services']['get'](_0x2eb25b)['getConnectedSessions']();_0x597ecb['register'](_0x2eb25b,_0x80fb84);}}}async['_connectService'](_0x374372){const {connection:_0x179916}=this['context']['plugins']['get'](z),_0x45bc49=this['context']['plugins']['get'](_0x4fd941),_0xf15548=await this['_services']['get'](_0x374372)['connect'](_0x179916);await this['_fetchMissingUsersForThreads'](_0xf15548);const _0x1879e3=new Set(Array['from'](_0x45bc49['getCommentThreads']({'channelId':_0x374372}),_0x25f347=>_0x25f347['id']));for(const _0x9b9b1f of _0xf15548)_0x9b9b1f['deletedAt']||_0x1879e3['delete'](_0x9b9b1f['commentThreadId']);for(const _0x458315 of _0x1879e3)_0x45bc49['getCommentThread'](_0x458315)['remove']({'isFromAdapter':!0x0});for(const _0x6bbd1f of _0xf15548){let _0x5efae3=_0x45bc49['getCommentThread'](_0x6bbd1f['commentThreadId']);const {commentThreadId:_0x22b184,context:_0x139b52,attributes:_0x336138,resolvedBy:_0x58886a,resolvedAt:_0x5f20c3,unlinkedAt:_0x38e026,deletedAt:_0x339917}=_0x6bbd1f;if(_0x339917)continue;_0x5efae3||(_0x5efae3=_0x45bc49['addCommentThread']({'channelId':_0x374372,'threadId':_0x22b184,'context':_0x139b52,'attributes':_0x336138||{},'resolvedBy':_0x58886a,'resolvedAt':_0x5f20c3,'unlinkedAt':_0x38e026,'isFromAdapter':!0x0}));const _0xbbfb9f=new Set(Array['from'](_0x5efae3['comments'],_0x22134c=>_0x22134c['id']));for(const _0x49cfcc of _0x6bbd1f['comments'])_0xbbfb9f['delete'](_0x49cfcc['commentId']);for(const _0x238dd2 of _0xbbfb9f)_0x5efae3['getComment'](_0x238dd2)['remove']({'isFromAdapter':!0x0});for(const _0x3b0143 of _0x6bbd1f['comments']){const _0x43ffd7=_0x5efae3['getComment'](_0x3b0143['commentId']);_0x43ffd7?_0x43ffd7['content']!==_0x3b0143['content']&&_0x43ffd7['update']({'content':_0x3b0143['content'],'isFromAdapter':!0x0}):_0x5efae3['addComment'](Object['assign'](at(_0x3b0143),{'isFromAdapter':!0x0}));}}}['_getService'](_0x373a71){if(!this['_services']['has'](_0x373a71))throw new _0x50f763('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x373a71});return this['_services']['get'](_0x373a71);}async['_fetchMissingUsersForThreads'](_0x1c1c18){const _0x2e19d0=this['context']['plugins']['get'](_0x3a0f0f),{connection:_0x3d5a58}=this['context']['plugins']['get'](z),_0x3c4836=new Set();for(const {resolvedBy:_0x54b666,comments:_0x1b5680}of _0x1c1c18){_0x54b666&&!_0x2e19d0['getUser'](_0x54b666)&&_0x3c4836['add'](_0x54b666);for(const {userId:_0x52c5a1}of _0x1b5680)_0x2e19d0['getUser'](_0x52c5a1)||_0x3c4836['add'](_0x52c5a1);}if(0x0===_0x3c4836['size'])return;const _0x3ba133=await _0x5778e5['getMany'](_0x3d5a58,Array['from'](_0x3c4836));for(const _0x6843ed of _0x3ba133)_0x2e19d0['getUser'](_0x6843ed['id'])||_0x2e19d0['addUser'](_0x6843ed);}};async function rt(_0x1708af){if('404'!==_0x1708af['code'])throw _0x1708af;}function ct(_0x36420c){if((_0x4809fe=_0x36420c)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4809fe['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4809fe['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4809fe;throw _0x36420c;}function at(_0x531497){return{'threadId':_0x531497['commentThreadId'],'commentId':_0x531497['commentId'],'content':_0x531497['content'],'createdAt':_0x531497['createdAt'],'authorId':_0x531497['userId'],'attributes':_0x531497['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x203610{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
|
|
27
|
+
((()=>_0x105cc0)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x55cc9b,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x192309){super(_0x192309);const _0x4fa999=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x4fa999);}['init'](){const _0x89ea31=this['editor']['plugins']['get'](z),_0x431dd2=this['editor']['plugins']['get'](_0x55cc9b);return _0x431dd2['adapter']={'getSuggestion':async _0x53e8df=>{await this['_waitForServiceReady']();const _0x4cbcf3=await this['_trackChangesService']['get'](_0x53e8df)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x4cbcf3]),_0x4cbcf3;},'addSuggestion':async({id:_0x1b5419,type:_0x1ad43f,data:_0x160083,originalSuggestionId:_0x1e3a7a,attributes:_0x410eda})=>{await this['_waitForServiceReady']();const _0x4f1c02={'id':_0x1b5419,'type':_0x1ad43f,'data':_0x160083,'originalSuggestionId':_0x1e3a7a,'attributes':_0x410eda},_0xb1cce5=await this['_trackChangesService']['add'](_0x1b5419,_0x1ad43f,_0x160083,_0x1e3a7a,_0x410eda)['catch'](_0x5586d1=>{if(dt(_0x5586d1))return new Promise(_0x4ddfef=>{this['_bufferedRequests']['set'](_0x1b5419,{'resolve':_0x4ddfef,'suggestionData':_0x4f1c02});});throw _0x5586d1;});return this['_bufferedRequests']['delete'](_0x1b5419),_0xb1cce5;},'updateSuggestion':async(_0x138f2e,_0x26ced6)=>{if(await this['_waitForServiceReady'](),'open'!==_0x26ced6['state'])return this['_trackChangesService']['update'](_0x138f2e,_0x26ced6)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x113692,_0x1b4be4)=>{_0x431dd2['hasSuggestion'](_0x1b4be4['id'])&&(_0x431dd2['getSuggestion'](_0x1b4be4['id'])['attributes']=_0x1b4be4['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x89ea31['connection']?.['state']&&(_0x89ea31['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x89ea31['connection'])['then'](_0x5127d2=>(_0x89ea31['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5127d2)['then'](()=>{for(const _0x269c22 of _0x5127d2){_0x431dd2['addSuggestionData'](_0x269c22)['_saved']=!0x0;}})));}async['reconnect'](){const _0x417f07=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5d4127}=this['editor']['plugins']['get'](z),_0x59fda1=await this['_trackChangesService']['connect'](_0x5d4127);await this['_fetchMissingUsersForThreads'](_0x59fda1);for(const {suggestionData:_0x279bcc,resolve:_0x3fc8f2}of this['_bufferedRequests']['values']()){let _0x2494b9=_0x59fda1['find'](_0x2aaf5d=>_0x2aaf5d['id']===_0x279bcc['id']);_0x2494b9||(_0x2494b9=await this['_trackChangesService']['add'](_0x279bcc['id'],_0x279bcc['type'],_0x279bcc['data'],_0x279bcc['originalSuggestionId'])),_0x3fc8f2(_0x2494b9);}for(const _0x5ca23c of _0x59fda1)_0x417f07['hasSuggestion'](_0x5ca23c['id'])||_0x417f07['addSuggestionData'](_0x5ca23c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x17575c=>{this['listenTo'](this['_trackChangesService'],'connected',_0x18f5c8=>{_0x18f5c8['off'](),_0x17575c();});});}async['_fetchMissingUsersForThreads'](_0x1010cc){const _0x5cc84a=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x395416}=this['editor']['plugins']['get'](z),_0x4a7535=new Set();for(const {authorId:_0x513dc6}of _0x1010cc)_0x5cc84a['getUser'](_0x513dc6)||_0x4a7535['add'](_0x513dc6);if(0x0===_0x4a7535['size'])return;const _0x25b260=await _0x5778e5['getMany'](_0x395416,Array['from'](_0x4a7535));for(const _0xbf04b4 of _0x25b260)_0x5cc84a['getUser'](_0xbf04b4['id'])||_0x5cc84a['addUser'](_0xbf04b4);}};function lt(_0x16fcfc){if(dt(_0x16fcfc))return new Promise(()=>{});throw _0x16fcfc;}function dt(_0x3d9785){return _0x3d9785['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3d9785['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x203610{static get['requires'](){return[_0x421a60,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2f304c=this['editor']['plugins']['get'](z),_0x23ccb1=this['editor']['plugins']['get'](_0x372972),_0x574b40=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2f304c,'change:state',(_0x15cd37,_0x495999,_0x5cbac3)=>{_0x23ccb1['isThreadsLoadingPaused']='connected'!==_0x5cbac3;});}),this['listenTo'](_0x2f304c,'change:state',(_0x4bfb2c,_0x11fd6b,_0xff6678)=>{this['editor']['plugins']['get'](_0x4fd941)['switchReadOnly']('connected'!==_0xff6678);}),_0x574b40['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x3f5d89=this['editor']['plugins']['get'](ot),_0x25601f=this['editor']['config']['get']('collaboration.channelId');_0x3f5d89['_services']['has'](_0x25601f)&&_0x3f5d89['_terminateService'](_0x25601f),super['destroy']();}},ft=class extends _0x203610{static get['requires'](){return[ut,ht,_0xedfa48];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x203610{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
|
|
28
|
+
((()=>_0x2cda8d)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x57a2b8,Y,_0x3a0f0f];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ca630){super(_0x2ca630);const _0x2a7750=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2a7750);}async['init'](){const _0x2d4b8f=this['editor']['plugins']['get'](tt),_0x77b539=_0x2d4b8f['serverHistory'],_0x3e6b39=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x77b539,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2d4b8f['sessionId']});const _0x1efe80=this['editor']['config']['get']('cloudServices.bundleVersion')||_0xad9c89,_0x535436=await _0x4bd199['isBundleUploaded'](_0x3e6b39['connection'],_0x1efe80);this['editor']['plugins']['get'](_0x57a2b8)['adapter']={'getRevision':async({revisionId:_0x1a9027})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1a9027)),'updateRevisions':async _0x6a802=>{await this['_waitForServiceReady']();const _0x500cc2=this['_revisionTracker']['currentRevision'];if(_0x535436&&0x1===_0x6a802['length']&&_0x6a802[0x0]['id']===_0x500cc2['id'])return _0x6a802;for(const _0x13e212 of _0x6a802)_0x13e212['id']===_0x500cc2['id']&&(_0x13e212['isEmptyCurrent']=_0x13e212['fromVersion']===_0x13e212['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x6a802,this['_lastRequestId'])['then'](_0xc651aa=>(this['_lastRequestId']=_0xc651aa,_0x6a802))['catch'](_0x24407d=>{if(pt(_0x24407d)||'400'===_0x24407d['code']&&void 0x0!==_0x24407d['data']['wrongRequestId']){for(const _0x14e960 of _0x6a802)this['_revisionTracker']['repository']['getRevision'](_0x14e960['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x14e960['id'],_0x14e960,!0x1);if(pt(_0x24407d)&&'destroyed'!==this['editor']['state'])throw _0x24407d;return _0x6a802;}throw _0x24407d;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x7b0fda,{revisionsData:_0x1dfc7e,requestId:_0x3f1968})=>{Math['max'](..._0x1dfc7e['map'](_0x250a9a=>_0x250a9a['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1dfc7e,_0x3f1968);}):this['_handleRevisionsUpdate'](_0x1dfc7e,_0x3f1968);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x3e6b39['connection']?.['state']&&(_0x3e6b39['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x47c755,requestId:_0x49b361}=await this['_revisionHistoryService']['connect'](_0x3e6b39['connection']);_0x3e6b39['addToReconnectionStack'](this),this['_lastRequestId']=_0x49b361,await this['_fetchMissingUsers'](_0x47c755);for(const _0x52ee2c of _0x47c755)this['_revisionTracker']['addRevisionData'](_0x52ee2c);this['listenTo'](_0x2d4b8f,'change:_isConnected',(_0x341aa0,_0x3dd2d1,_0x4b77d1)=>{_0x4b77d1&&(this['_oldOffset']=_0x2d4b8f['_offset'],_0x341aa0['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x4e1ad3=this['editor']['plugins']['get'](z),_0x250afa=this['editor']['plugins']['get'](tt),_0xc32d28=async()=>{const _0x3dce51=this['_revisionTracker']['currentRevision'],_0xa0c001=_0x3dce51['id'],_0x436dc7=_0xa0c001!==_0x250afa['sessionId'];if(_0x436dc7){const _0x52d571=_0x250afa['_offset']-this['_oldOffset'],_0x525825=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x3dce51['toVersion']+_0x52d571!==_0x525825){const _0x47915c=_0x3dce51['fromVersion']+_0x52d571,_0x2e7de2=this['editor']['plugins']['get'](_0x3a0f0f),_0x6286dd=this['_revisionTracker']['buildRevisionData']({'revision':_0x3dce51,'from':_0x47915c,'to':_0x525825});_0x6286dd['id']=_0x3dce51['id'];const _0x1cfc97=_0x6286dd['authorsIds']['map'](_0x2bd197=>_0x2e7de2['getUser'](_0x2bd197));_0x3dce51['_update']({..._0x6286dd,'authors':_0x1cfc97},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3dce51['id'],_0x6286dd,!0x0);}this['_revisionTracker']['_startingVersion']=_0x525825,_0x3dce51['toVersion']!==_0x3dce51['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0xa0c001)||this['_revisionTracker']['repository']['_revisions']['remove'](_0xa0c001),this['_revisionTracker']['_createCurrentRevision'](_0x525825);}const {revisions:_0x23b8fc,requestId:_0x44c7a4}=await this['_revisionHistoryService']['reconnect'](_0x4e1ad3['connection'],this['_lastRequestId']);_0x436dc7&&_0x23b8fc['length']>0x0?_0x250afa['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x23b8fc),this['_handleRevisionsUpdate'](_0x23b8fc,_0x44c7a4),this['_revisionTracker']['sendBufferedUpdates']());};return _0x250afa['_isConnected']?_0xc32d28():new Promise((_0x246a81,_0x1fa750)=>{_0x250afa['once']('change:_isConnected',()=>{_0xc32d28()['then'](_0x246a81)['catch'](_0x1fa750);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x376b62=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x8d9730=>{_0x8d9730['off'](),_0x376b62();});});}['_getLatestVersionFromServerOperations'](){const _0x58d5c9=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x17d994 of _0x58d5c9)if('marker'!==_0x17d994['type']||_0x17d994['affectsData'])return _0x17d994['baseVersion']+0x1;}['_getLatestVersion'](){const _0x52ef6b=this['editor']['plugins']['get'](tt);return new Promise(_0x578998=>{_0x52ef6b['_isPendingUpdate']?_0x52ef6b['once']('change:_isPendingUpdate',()=>{_0x578998(this['_getLatestVersionFromServerOperations']());}):_0x578998(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x461255,_0x3610b6){const _0x388593=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3610b6;for(const _0x4611c3 of _0x461255){const _0x1c0f9f=_0x388593['getRevision'](_0x4611c3['id']);if(_0x1c0f9f){if((_0x4611c3['fromVersion']||_0x4611c3['toVersion'])&&(_0x4611c3['diffData']=null),_0x1c0f9f===this['_revisionTracker']['currentRevision']){const _0x2f4def=Math['max'](_0x1c0f9f['toVersion'],_0x4611c3['toVersion']),_0x12a15f=Math['max'](_0x1c0f9f['fromVersion'],_0x4611c3['fromVersion']);let _0x595b9;_0x1c0f9f['toVersion']===_0x4611c3['toVersion']&&_0x1c0f9f['fromVersion']===_0x4611c3['fromVersion']?(_0x595b9=!0x0,this['_preventResendingRevisionData'](_0x4611c3)):_0x4611c3['toVersion']===_0x2f4def&&_0x4611c3['fromVersion']===_0x12a15f?_0x595b9=!0x1:(_0x1c0f9f['toVersion']===_0x2f4def&&_0x1c0f9f['fromVersion']===_0x12a15f||this['_fixRevision']({'revision':_0x1c0f9f,'from':_0x12a15f,'to':_0x2f4def}),_0x595b9=!0x0),_0x595b9&&(delete _0x4611c3['fromVersion'],delete _0x4611c3['toVersion'],delete _0x4611c3['diffData'],delete _0x4611c3['createdAt'],delete _0x4611c3['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4611c3),this['_preventResendingRevisionData'](_0x4611c3);}else this['_revisionTracker']['addRevisionData'](_0x4611c3);}const _0x5ee1c9=_0x388593['getRevisions']();_0x5ee1c9['reverse']();for(let _0x5eff3c=0x0;_0x5eff3c<_0x5ee1c9['length']-0x1;_0x5eff3c++){const _0x2b93ba=_0x5ee1c9[_0x5eff3c],_0x16299b=_0x5ee1c9[_0x5eff3c+0x1];if(_0x2b93ba['fromVersion']<_0x16299b['toVersion']){const _0x4520c2=_0x16299b['toVersion'],_0x44eb84=Math['max'](_0x4520c2,_0x2b93ba['toVersion']);this['_fixRevision']({'revision':_0x2b93ba,'from':_0x4520c2,'to':_0x44eb84});}}}['_fixRevision']({revision:_0x49f833,from:_0xe37590,to:_0x147670}={}){const _0x1d3083=this['editor']['plugins']['get'](_0x3a0f0f),_0x12e47c=this['_revisionTracker']['buildRevisionData']({'revision':_0x49f833,'from':_0xe37590,'to':_0x147670});_0x12e47c['authors']=_0x12e47c['authorsIds']['map'](_0x19b395=>_0x1d3083['getUser'](_0x19b395)),_0x49f833['_update'](_0x12e47c);}['_preventResendingRevisionData'](_0x39be98){const _0x304c74={};_0x304c74['id']=_0x39be98['id'];for(const _0x413c26 of Object['keys'](_0x39be98))'id'!==_0x413c26&&(_0x304c74[_0x413c26]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x304c74['id'],_0x304c74,!0x0);}async['_fetchMissingUsers'](_0x2650d2){const _0x4dd1ad=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x3dc1e0}=this['editor']['plugins']['get'](z),_0x3bfa41=new Set();for(const _0x263d12 of _0x2650d2){for(const _0x1797b4 of _0x263d12['authorsIds'])_0x249df1(_0x1797b4);_0x263d12['creatorId']&&_0x249df1(_0x263d12['creatorId']);}if(0x0===_0x3bfa41['size'])return;const _0x35b17c=await _0x5778e5['getMany'](_0x3dc1e0,Array['from'](_0x3bfa41));for(const _0x4c92a5 of _0x35b17c)_0x4dd1ad['getUser'](_0x4c92a5['id'])||_0x4dd1ad['addUser'](_0x4c92a5);function _0x249df1(_0x5a1e9b){_0x4dd1ad['getUser'](_0x5a1e9b)||_0x3bfa41['add'](_0x5a1e9b);}}};function pt(_0x52e9f5){return _0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x203610{static get['requires'](){return[_0x57a2b8,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x4317fb{['_collapseAt'];constructor(_0x1c9075,_0x5bc683=0x6){super(_0x1c9075);const _0x36641a=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5bc683,this['bind']('isHidden')['to'](this,'usersCount',_0x1cc367=>_0x1cc367<_0x5bc683),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x36641a['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x36641a['to']('usersCount',_0x19bd58=>'+'+(_0x19bd58-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x4317fb{['items'];['keystrokes'];constructor(_0x1baae8){super(_0x1baae8);const _0x2a08ed=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x17a0f8(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2a08ed['if']('hasPopup'),'aria-expanded':_0x2a08ed['to']('isExpanded',_0x2ea15c=>this['hasPopup']&&String(_0x2ea15c)),'aria-label':_0x2a08ed['to']('hasPopup',_0x41c124=>X(_0x1baae8,_0x41c124?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2a08ed['to']('hasPopup',_0x46cbc=>!!_0x46cbc&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2a08ed['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2a08ed['to'](_0x2618a3=>{const _0x2f9651=_0x2618a3,_0x338487=document['querySelector']('.ck-presence-list__dropdown-list'),_0x56a132=document['querySelector']('.ck-balloon-panel_with-arrow');_0x338487?.['contains'](_0x2f9651['relatedTarget'])||_0x56a132?.['contains'](_0x2f9651['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3c440f,_0x53fa31,_0x2931c0)=>{this['element']&&(_0x2931c0?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x4317fb{['counterView'];['inlineListView'];constructor(_0x1bb56f,_0x1c3427=0x6){super(_0x1bb56f);const _0x2e428d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1c3427),this['inlineListView']=new vt(_0x1bb56f),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5cf091 of this['inlineListView']['items'])_0x5cf091['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',_0x2e428d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x4317fb{['listWrapperView'];constructor(_0x343dce,_0x4bbbf5){super(_0x343dce);const _0x3e90bc=this['bindTemplate'];this['listWrapperView']=new bt(_0x343dce,_0x4bbbf5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x343dce,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3e90bc['to'](_0x25d1b5=>{const _0xeee1ff=_0x25d1b5,_0x52662f=document['querySelector']('.ck-presence-list__list'),_0x129009=document['querySelector']('.ck-balloon-panel_with-arrow');_0x52662f?.['contains'](_0xeee1ff['relatedTarget'])||_0x129009?.['contains'](_0xeee1ff['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x1157a6{constructor(_0x1c0c52,_0x2f7f8c){super(_0x1c0c52);const _0x45dc73=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2f7f8c?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x45dc73['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x45dc73['to']('role'),'aria-label':_0x45dc73['to']('ariaLabel'),'aria-labelledby':_0x45dc73['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x6efeaf['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x297135=this['element'];_0x297135&&(this['_isScrollable']=Math['max'](_0x297135['scrollHeight'],_0x297135['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x2b1c38{['userView'];constructor(_0x15c40f,_0x2cb5c6,_0x52b0ed){super(_0x15c40f);const _0x3c0ed5=this['bindTemplate'];this['userView']=new _0x15c9e3(_0x15c40f,_0x2cb5c6);const _0x5f1f2b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2cb5c6['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2cb5c6['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2cb5c6['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2cb5c6['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2cb5c6['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x52b0ed&&(_0x5f1f2b['tag']='button',_0x5f1f2b['on']={'click':_0x3c0ed5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5f1f2b);}['focus'](){this['element']['focus']();}},It=class extends _0x4317fb{['userView'];['markerView'];constructor(_0xc036af,_0x83ef7e,_0x471d61){super(_0xc036af);const _0x2960e9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x15c9e3(_0xc036af,_0x83ef7e),this['markerView']=new St(_0xc036af,_0x83ef7e);const _0x5ba787=new _0x5a2556(_0xc036af);_0x5ba787['template']['tag']='span',_0x5ba787['text']=_0x83ef7e['name'];const _0x3d4836={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2960e9['to']('isFocusable',_0x4ec3ab=>!!_0x4ec3ab&&0x0),'aria-labelledby':_0x5ba787['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2960e9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2960e9['to']('hasTooltip',_0x5ea876=>!_0x5ea876),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5ba787]};_0x471d61&&(_0x3d4836['tag']='button',_0x3d4836['on']={'click':_0x2960e9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d4836);}},St=class extends _0x4317fb{constructor(_0x493824,_0x16afb8){super(_0x493824),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x16afb8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x16afb8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x16afb8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x525f71{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2bbdaa){super(_0x2bbdaa),this['context']['config']['define']('presenceList',Tt);const _0x18ef0c=_0x2bbdaa['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x18ef0c)throw new _0x50f763('presencelist-collapseat-invalid-format',this);if(_0x18ef0c<0x1)throw new _0x50f763('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3eba5a(),this['balloonPanelView']=new _0x1af306(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x43bb59 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x43bb59);this['listenTo'](this['_allConnectedUsers'],'add',(_0x14e8c1,_0x24623f)=>{this['_handleUserAdd'](_0x24623f);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x471e33,_0x33ac18)=>{this['_handleUserRemove'](_0x33ac18);});}['_createView'](){const _0x55f580=this['context'],_0x3b6a9d=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x49a49b=this['balloonPanelView'];if(!_0x31be5e(_0x55f580['config']['get']('presenceList.container')))throw new _0x50f763('presencelist-missing-container',this);return _0x3b6a9d['counterView']['bind']('usersCount')['to'](this),_0x3b6a9d['bind']('isCollapsed')['to'](this,'usersCount',_0x195df2=>{const {collapseAt:_0x4f38ea}=_0x55f580['config']['get']('presenceList'),_0x444c2c=_0x195df2>=_0x4f38ea;if(_0x444c2c&&!_0x3b6a9d['inlineListView']['items']['find'](_0x2a93a2=>_0x2a93a2 instanceof wt)){const _0x16b7d8=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x16b7d8&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3b6a9d['inlineListView']['items']['add'](_0x3b6a9d['counterView']);}return _0x444c2c||this['hideDropdown'](),_0x444c2c;}),_0x3b6a9d['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x532c16=>{const _0x5ebb92=_0x55f580['config']['get']('presenceList'),_0x5b4103=new It(_0x55f580['locale'],_0x532c16,!!_0x5ebb92['onClick']);return _0x5b4103['bind']('hasTooltip')['to'](_0x3b6a9d,'isCollapsed',_0x57f9a3=>!_0x57f9a3),_0x5b4103['bind']('isFocusable')['to'](_0x3b6a9d,'isCollapsed',_0x221713=>!_0x221713),_0x5ebb92['onClick']&&this['listenTo'](_0x5b4103,'execute',()=>{this['view']['isCollapsed']||_0x5ebb92['onClick'](_0x532c16,_0x5b4103['element']);}),_0x5b4103;}),this['listenTo'](_0x3b6a9d['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3b6a9d['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3b6a9d['inlineListView']['keystrokes']['set']('Enter',(_0x47c85,_0x5b2fbb)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5b2fbb());}),_0x3b6a9d['render'](),_0x49a49b['render'](),_0x56aa22({'emitter':_0x3b6a9d,'activator':()=>_0x49a49b['isVisible'],'contextElements':[_0x49a49b['element'],_0x3b6a9d['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x55f580['config']['get']('presenceList.container')['appendChild'](_0x3b6a9d['element']),this['_bodyCollection']=new _0x3e76fb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3b6a9d;}['_handleUserAdd'](_0x587675){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x587675['isMe'])return;const _0x151cc3=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x151cc3-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x41c550=_0x587675['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x587675,_0x41c550);}['_handleUserRemove'](_0x5ea65f){this['usersCount']--;const {collapseAt:_0x520d0e}=this['context']['config']['get']('presenceList'),_0xb90513=this['usersCount']>=_0x520d0e;if(this['currentDisplayedUsers']['get'](_0x5ea65f['id']))this['currentDisplayedUsers']['remove'](_0x5ea65f['id']);else{if(_0xb90513&&this['currentDisplayedUsers']['length']+0x1===_0x520d0e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xb90513?0x1:0x0)<this['usersCount']){for(const _0x276b0c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x276b0c['id'])&&(this['currentDisplayedUsers']['add'](_0x276b0c,Math['min'](this['currentDisplayedUsers']['length']-(_0xb90513?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xb90513?0x1:0x0)===_0x520d0e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x487df0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x487df0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x414ea8}=this['presenceDropdownView'];_0x414ea8['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x14920a=>{if(!_0x487df0['displayMe']&&_0x14920a['isMe'])return null;const _0x4ec9a6=new kt(this['context']['locale'],_0x14920a,!!_0x487df0['onClick']);return _0x487df0['onClick']&&this['listenTo'](_0x4ec9a6,'execute',()=>{_0x487df0['onClick'](_0x14920a,_0x4ec9a6['element']);}),_0x4ec9a6;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x414ea8['focus'](),_0x414ea8['checkIfScrollable']();const _0x359153=(_0x56c5c9,_0x4627cb)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4627cb();};_0x414ea8['keystrokes']['set']('Esc',_0x359153),_0x414ea8['keystrokes']['set']('Shift+Tab',_0x359153),_0x414ea8['keystrokes']['set']('Tab',(_0x15afbf,_0x57d0c1)=>{!function(_0x4802a1){const _0x37d8f8=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x1b5452=>_0x1b5452+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x1ab3be=[...document['body']['querySelectorAll'](_0x37d8f8)]['filter'](_0x219472=>_0x219472===document['activeElement']||_0x219472['offsetWidth']+_0x219472['offsetHeight']>0x0)['sort']((_0x37744e,_0x2e37ba)=>(_0x37744e['tabIndex']||0x0)-(_0x2e37ba['tabIndex']||0x0)),_0x5b8d25=_0x1ab3be[(_0x1ab3be['indexOf'](_0x4802a1)+0x1)%_0x1ab3be['length']];_0x5b8d25&&_0x5b8d25['focus']();}(this['view']['element']),this['hideDropdown'](),_0x57d0c1();}),_0x414ea8['focusTracker']['add'](this['view']['element']),_0x414ea8['focusTracker']['on']('change:isFocused',(_0x104579,_0x240cf0,_0x2768d6)=>{_0x2768d6||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x525f71{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
|