UNPKG

@ckeditor/ckeditor5-real-time-collaboration

Version:

A set of CKEditor 5 features enabling real-time collaboration within the editor using CKEditor Cloud Services.

23 lines 13.9 kB
/* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * * * * * +---------------------------------------------------------------------------------+ * | | * | Hello stranger! | * | | * | | * | What you're currently looking at is the source code of a legally protected, | * | proprietary software. Any attempts to deobfuscate / disassemble this code | * | are forbidden and will result in legal consequences. | * | | * | | * +---------------------------------------------------------------------------------+ * * * * */ function _0x31f5(_0x567c05,_0x5cd93d){const _0x369c60=_0x369c();return _0x31f5=function(_0x31f5c7,_0xe21d7c){_0x31f5c7=_0x31f5c7-0x150;let _0x26cba5=_0x369c60[_0x31f5c7];return _0x26cba5;},_0x31f5(_0x567c05,_0x5cd93d);}const _0x1e4268=_0x31f5;(function(_0x5b0a03,_0x149df7){const _0x149b18=_0x31f5,_0x410808=_0x5b0a03();while(!![]){try{const _0x38bf22=parseInt(_0x149b18(0x1c0))/0x1+-parseInt(_0x149b18(0x1b0))/0x2+-parseInt(_0x149b18(0x16e))/0x3+-parseInt(_0x149b18(0x182))/0x4+-parseInt(_0x149b18(0x15b))/0x5+-parseInt(_0x149b18(0x15f))/0x6*(parseInt(_0x149b18(0x1bd))/0x7)+parseInt(_0x149b18(0x180))/0x8;if(_0x38bf22===_0x149df7)break;else _0x410808['push'](_0x410808['shift']());}catch(_0x581397){_0x410808['push'](_0x410808['shift']());}}}(_0x369c,0xcad8a));import{Plugin as _0x1c774e}from'ckeditor5/src/core.js';import{global as _0x31ba7b,DomEmitterMixin as _0x26bbc5}from'ckeditor5/src/utils.js';import{Sessions as _0x2b0523}from'./sessions.js';import{ModelLiveRange as _0x43a2ba}from'ckeditor5/src/engine.js';import'../../theme/usermarkers.css';function _0x369c(){const _0x505a21=['get','textContent','stopListening','name','color','getNearestSelectionRange','markers','Escape','setAttribute','split','end','clear','getAttribute','keydown','markerToHighlight','batch','getPositions','user:position','updateMarker','model','1062520WmRMLS','schema','markerRange','$text','markerToElement','size','data-session-id','_createdBatches','mouseleave','markerNameToElements','hasDomSelection','getSelectionClass','highest','1239FskvRk','toDomElement','fromRange','656894wkPOlV','root','toRange','isDocumentOperation','false','getUserBySessionId','selection','commands','user:range','removeClass','plugins','delete','requires','$graveyard','mySessionId','element','user:range:','applyOperation','createUIElement','remove','startsWith','createElement','UserMarkers','userPositionMarker','getRange','listenTo','editing','set','isOfficialPlugin','setCustomProperty','isPremiumPlugin','isObject','isInline','change:range','editingDowncast','conversion','3954565qlFEQV','has','getContainedElement','span','20106LNdXoW','checkChild','init','marker','removeMarker','rootName','_domEmitter','mouseenter','getFirstRange','isCollapsed','detach','document','ck-user__marker_hovered','hasContent','afterInit','405978WQsNcl','createRange','user:position:','for','nodeAfter','type','newRange','destroy','orderNumber','innerHTML','tableCell','ck-user__marker-tooltip','markerName','isLimit','parent','undo','ck-user__selection','reconvertMarker','18756136nUTXER','contenteditable','479708wlshga','⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>','add','addEventListener','view','addMarker','render','pluginName','classList','change','enqueueChange','deletionPosition','getCustomProperty','editor','getStart','createUserMarkerOperations','update:user:range','start','mapper','isSimilar','spellcheck','oldRange','user:','getMarkerClass','outerHTML','ck-user__marker\x20'];_0x369c=function(){return _0x505a21;};return _0x369c();}export class UserMarkers extends _0x1c774e{[_0x1e4268(0x165)]=new(_0x26bbc5())();static get[_0x1e4268(0x1cc)](){return[_0x2b0523];}static get[_0x1e4268(0x189)](){const _0x13b38e=_0x1e4268;return _0x13b38e(0x1d6);}static get[_0x1e4268(0x153)](){return!0x0;}static get[_0x1e4268(0x155)](){return!0x0;}[_0x1e4268(0x161)](){const _0x2426b5=_0x1e4268,_0x167343=this[_0x2426b5(0x18f)],_0x29188c=_0x167343[_0x2426b5(0x1ca)][_0x2426b5(0x19c)](_0x2b0523);_0x167343[_0x2426b5(0x15a)][_0x2426b5(0x171)](_0x2426b5(0x159))[_0x2426b5(0x1b4)]({'model':_0x2426b5(0x1ad),'view':(_0x2da7ea,{writer:_0x1edcb8})=>function(_0xa237c1,_0x40c52f,_0x246c83,_0x3bfb35){const _0x3b1027=_0x2426b5,_0x259a2e=_0xa237c1[_0x3b1027(0x17a)][_0x3b1027(0x1a5)](':')[0x2],_0x4bbf9d=_0x246c83[_0x3b1027(0x1c5)](_0x259a2e);if(!_0x4bbf9d||_0x259a2e===_0x246c83[_0x3b1027(0x1ce)])return;if(!_0x3bfb35[_0x3b1027(0x1af)][_0x3b1027(0x1b1)][_0x3b1027(0x160)](_0xa237c1[_0x3b1027(0x1b2)][_0x3b1027(0x193)],_0x3b1027(0x1b3)))return;const _0x574691={'class':_0x3b1027(0x19b)+_0x4bbf9d[_0x3b1027(0x1a0)][_0x3b1027(0x199)](),'data-name':_0x4bbf9d[_0x3b1027(0x19f)],'data-session-id':_0x259a2e},_0x319453=_0x3bfb35[_0x3b1027(0x1af)][_0x3b1027(0x1a2)][_0x3b1027(0x19c)](_0xa237c1[_0x3b1027(0x17a)]),_0xd1c847=_0x319453[_0x3b1027(0x190)](),_0x4d2f7c=_0xd1c847[_0x3b1027(0x172)],_0x5c6d52=_0x3bfb35[_0x3b1027(0x1af)][_0x3b1027(0x1b1)];if(_0x4d2f7c&&_0x5c6d52[_0x3b1027(0x156)](_0x4d2f7c)&&_0x5c6d52[_0x3b1027(0x157)](_0x4d2f7c)&&!_0x3bfb35[_0x3b1027(0x1af)][_0x3b1027(0x1a2)][_0x3b1027(0x19c)](_0x3b1027(0x1d0)+_0x259a2e)[_0x3b1027(0x1d8)]()[_0x3b1027(0x168)])return;const _0x2a92d8=_0xd1c847[_0x3b1027(0x17c)];return _0x3bfb35[_0x3b1027(0x1af)][_0x3b1027(0x1b1)][_0x3b1027(0x17b)](_0x2a92d8)&&!_0x3bfb35[_0x3b1027(0x1af)][_0x3b1027(0x16c)](_0x2a92d8)&&(_0x574691[_0x3b1027(0x181)]=!0x1),function(_0x36c2cd,_0x3b58d2,_0x35d840){const _0x37a9f4=_0x3b1027,_0x2b97d1=_0x36c2cd[_0x37a9f4(0x1d2)](_0x37a9f4(0x15e),_0x3b58d2);return _0x36c2cd[_0x37a9f4(0x154)](_0x37a9f4(0x1d7),!0x0,_0x2b97d1),_0x2b97d1[_0x37a9f4(0x188)]=function(_0x286fe5){const _0x1b4f0e=_0x37a9f4,_0x583734=this[_0x1b4f0e(0x1be)](_0x286fe5),_0x3d5074=document[_0x1b4f0e(0x1d5)](_0x1b4f0e(0x15e));return _0x3d5074[_0x1b4f0e(0x18a)][_0x1b4f0e(0x184)](_0x1b4f0e(0x179)),_0x3d5074[_0x1b4f0e(0x1a4)](_0x1b4f0e(0x181),_0x1b4f0e(0x1c4)),_0x3d5074[_0x1b4f0e(0x1a4)](_0x1b4f0e(0x196),_0x1b4f0e(0x1c4)),_0x3d5074[_0x1b4f0e(0x19d)]=_0x35d840[_0x1b4f0e(0x19f)],_0x583734[_0x1b4f0e(0x177)]=_0x1b4f0e(0x183)+_0x3d5074[_0x1b4f0e(0x19a)]+'⁠',_0x583734[_0x1b4f0e(0x185)](_0x1b4f0e(0x166),()=>{const _0x235537=_0x1b4f0e;_0x583734[_0x235537(0x18a)][_0x235537(0x184)](_0x235537(0x16b));}),_0x583734[_0x1b4f0e(0x185)](_0x1b4f0e(0x1b8),()=>{const _0x48c46c=_0x1b4f0e;_0x583734[_0x48c46c(0x18a)][_0x48c46c(0x1d3)](_0x48c46c(0x16b));}),_0x583734;},_0x2b97d1[_0x37a9f4(0x195)]=function(_0x4e96b1){const _0x181572=_0x37a9f4;return!(!this[_0x181572(0x18e)](_0x181572(0x1d7))||!_0x4e96b1[_0x181572(0x18e)](_0x181572(0x1d7))||this[_0x181572(0x1a8)](_0x181572(0x1b6))!=_0x4e96b1[_0x181572(0x1a8)](_0x181572(0x1b6)));},_0x2b97d1;}(_0x40c52f,_0x574691,_0x4bbf9d);}(_0x2da7ea,_0x1edcb8,_0x29188c,_0x167343)}),_0x167343[_0x2426b5(0x15a)][_0x2426b5(0x171)](_0x2426b5(0x159))[_0x2426b5(0x1aa)]({'model':_0x2426b5(0x1c8),'view':_0x51c6ac=>function(_0x490082,_0x2f9310){const _0x44409d=_0x2426b5,_0x3c5587=_0x490082[_0x44409d(0x17a)][_0x44409d(0x1a5)](':')[0x2];if(_0x3c5587===_0x2f9310[_0x44409d(0x1ce)])return null;const _0x58eb44=_0x2f9310[_0x44409d(0x1c5)](_0x3c5587);if(!_0x58eb44)return{'id':_0x3c5587,'classes':[]};return{'id':_0x3c5587,'classes':[_0x44409d(0x17e),_0x58eb44[_0x44409d(0x1a0)][_0x44409d(0x1bb)]()],'attributes':{'data-session-id':_0x3c5587},'priority':0x7d0+_0x58eb44[_0x44409d(0x176)]};}(_0x51c6ac,_0x29188c)}),function(_0x64388e){const _0x48904=_0x2426b5,_0x494d64=_0x64388e[_0x48904(0x1af)],_0xa3ed22=new Map(),_0x175fe8=_0x64388e[_0x48904(0x1ca)][_0x48904(0x19c)](_0x2b0523);_0x494d64[_0x48904(0x1a2)]['on'](_0x48904(0x192),(_0x540750,_0x4691dd,_0x9e681f,_0x16ffce)=>{const _0x139552=_0x48904;if(!_0x16ffce&&_0xa3ed22[_0x139552(0x19c)](_0x4691dd[_0x139552(0x19f)]))return _0xa3ed22[_0x139552(0x19c)](_0x4691dd[_0x139552(0x19f)])[_0x139552(0x169)](),void _0xa3ed22[_0x139552(0x1cb)](_0x4691dd[_0x139552(0x19f)]);const _0x671301=_0x4691dd[_0x139552(0x19f)][_0x139552(0x1a5)](':')[0x2];if(_0x671301===_0x175fe8[_0x139552(0x1ce)])return;const _0x12264d=_0x139552(0x170)+_0x671301;_0x494d64[_0x139552(0x1a2)][_0x139552(0x15c)](_0x12264d)&&_0x64388e[_0x139552(0x151)][_0x139552(0x17f)](_0x12264d),_0x4691dd['on'](_0x139552(0x158),(_0x54992c,_0x276c6d,_0x2d2d9d)=>{const _0x4cefde=_0x139552;if(_0x4cefde(0x1cd)!=_0x276c6d[_0x4cefde(0x1c1)][_0x4cefde(0x164)]&&_0x4cefde(0x1cd)==_0x4691dd[_0x4cefde(0x1d8)]()[_0x4cefde(0x1c1)][_0x4cefde(0x164)]&&!_0xa3ed22[_0x4cefde(0x15c)](_0x4691dd[_0x4cefde(0x19f)])){const _0x445a0f=_0x494d64[_0x4cefde(0x1b1)][_0x4cefde(0x1a1)](_0x2d2d9d[_0x4cefde(0x18d)]);if(_0x445a0f){const _0x130ea4=_0x43a2ba[_0x4cefde(0x1bf)](_0x445a0f);_0xa3ed22[_0x4cefde(0x152)](_0x4691dd[_0x4cefde(0x19f)],_0x130ea4),_0x130ea4['on'](_0x4cefde(0x158),(_0x15b2c3,_0x59cf38,_0x58ee82)=>{const _0x15e7dc=_0x4cefde;if(_0x15e7dc(0x1cd)==_0x130ea4[_0x15e7dc(0x1c1)][_0x15e7dc(0x164)]){const _0x5a4efb=_0x494d64[_0x15e7dc(0x1b1)][_0x15e7dc(0x1a1)](_0x58ee82[_0x15e7dc(0x18d)]);_0x5a4efb?(_0x130ea4[_0x15e7dc(0x193)]=_0x5a4efb[_0x15e7dc(0x193)],_0x130ea4[_0x15e7dc(0x1a6)]=_0x5a4efb[_0x15e7dc(0x1a6)]):(_0xa3ed22[_0x15e7dc(0x1cb)](_0x4691dd[_0x15e7dc(0x19f)]),_0x130ea4[_0x15e7dc(0x169)]());}});}}});}),_0x494d64[_0x48904(0x16a)]['on'](_0x48904(0x18b),()=>{const _0x525b85=_0x48904;_0xa3ed22[_0x525b85(0x1b5)]>0x0&&_0x494d64[_0x525b85(0x18c)]({'isUndoable':!0x1},_0x3128e3=>{const _0x439b89=_0x525b85;for(const [_0x4feb06,_0x138e39]of _0xa3ed22)_0x439b89(0x1cd)==_0x494d64[_0x439b89(0x1a2)][_0x439b89(0x19c)](_0x4feb06)[_0x439b89(0x1d8)]()[_0x439b89(0x1c1)][_0x439b89(0x164)]&&(re(_0x4feb06[_0x439b89(0x1a5)](':')[0x2],_0x138e39[_0x439b89(0x1c2)](),_0x494d64,_0x3128e3),_0x138e39[_0x439b89(0x169)]());_0xa3ed22[_0x439b89(0x1a7)]();});});}(_0x167343),this[_0x2426b5(0x165)][_0x2426b5(0x150)](_0x31ba7b[_0x2426b5(0x16a)],_0x2426b5(0x1a9),(_0x248b8c,{key:_0x3f7060})=>{const _0x4aa1da=_0x2426b5;_0x4aa1da(0x1a3)===_0x3f7060&&function(_0x47ccae){const _0x2056da=_0x4aa1da;_0x47ccae[_0x2056da(0x151)][_0x2056da(0x186)][_0x2056da(0x18b)](_0x343c8e=>{const _0x1c22c7=_0x2056da;for(const _0x573974 of _0x47ccae[_0x1c22c7(0x1af)][_0x1c22c7(0x1a2)]){if(!_0x573974[_0x1c22c7(0x19f)][_0x1c22c7(0x1d4)](_0x1c22c7(0x1ad)))continue;const _0x1c3c18=_0x47ccae[_0x1c22c7(0x151)][_0x1c22c7(0x194)][_0x1c22c7(0x1b9)](_0x573974[_0x1c22c7(0x19f)]);if(_0x1c3c18){for(const _0x3f447e of _0x1c3c18)_0x343c8e[_0x1c22c7(0x1c9)](_0x1c22c7(0x16b),_0x3f447e);}}});}(_0x167343);},{'useCapture':!0x0});}[_0x1e4268(0x16d)](){const _0x42b08e=_0x1e4268,_0x5c4973=this[_0x42b08e(0x18f)],_0xede4a=_0x5c4973[_0x42b08e(0x1c7)][_0x42b08e(0x19c)](_0x42b08e(0x17d));_0xede4a&&_0x5c4973[_0x42b08e(0x1af)]['on'](_0x42b08e(0x1d1),(_0x5b49b0,_0x346fa4)=>{const _0x21df14=_0x42b08e,_0x42fa6e=_0x346fa4[0x0];if(!_0x42fa6e[_0x21df14(0x1c3)])return;if(_0x21df14(0x162)!=_0x42fa6e[_0x21df14(0x173)]||!_0x42fa6e[_0x21df14(0x19f)][_0x21df14(0x1d4)](_0x21df14(0x198)))return;const _0x5f5591=_0x42fa6e[_0x21df14(0x1ab)];_0xede4a[_0x21df14(0x1b7)][_0x21df14(0x15c)](_0x5f5591)&&(_0x42fa6e[_0x21df14(0x174)]=_0x42fa6e[_0x21df14(0x197)]?_0x5c4973[_0x21df14(0x1af)][_0x21df14(0x16f)](_0x42fa6e[_0x21df14(0x197)][_0x21df14(0x193)],_0x42fa6e[_0x21df14(0x197)][_0x21df14(0x1a6)]):null);},{'priority':_0x42b08e(0x1bc)});}[_0x1e4268(0x175)](){const _0x4039b2=_0x1e4268;return this[_0x4039b2(0x165)][_0x4039b2(0x19e)](),super[_0x4039b2(0x175)]();}[_0x1e4268(0x191)](){const _0x1218f1=_0x1e4268,_0x293526=this[_0x1218f1(0x18f)],_0x2fb66d=_0x293526[_0x1218f1(0x1af)][_0x1218f1(0x16a)],_0xb87723=_0x293526[_0x1218f1(0x1ca)][_0x1218f1(0x19c)](_0x2b0523);_0x293526[_0x1218f1(0x1af)][_0x1218f1(0x18c)]({'isUndoable':!0x1},_0x58e99b=>{const _0x13b136=_0x1218f1,_0x423a66=_0x13b136(0x1d0)+_0xb87723[_0x13b136(0x1ce)],_0xa74016=_0x13b136(0x170)+_0xb87723[_0x13b136(0x1ce)],_0x58252b=_0x293526[_0x13b136(0x1af)][_0x13b136(0x1a2)][_0x13b136(0x15c)](_0x423a66);_0x293526[_0x13b136(0x151)][_0x13b136(0x186)][_0x13b136(0x1ba)]?re(_0xb87723[_0x13b136(0x1ce)],_0x2fb66d[_0x13b136(0x1c6)][_0x13b136(0x167)](),_0x293526[_0x13b136(0x1af)],_0x58e99b):_0x58252b&&(_0x58e99b[_0x13b136(0x163)](_0x423a66),_0x58e99b[_0x13b136(0x163)](_0xa74016));});}}function re(_0x3ea91a,_0xd298a5,_0x3430e9,_0x2bb982){const _0x190caf=_0x1e4268,_0x249f24=_0x190caf(0x1d0)+_0x3ea91a,_0x19ccef=_0x190caf(0x170)+_0x3ea91a,_0x3ba149=_0xd298a5[_0x190caf(0x15d)]();let _0xafe77b=_0xd298a5[_0x190caf(0x193)];if(_0x3ba149&&_0x3ba149['is'](_0x190caf(0x1cf),_0x190caf(0x178))){const _0x246327=function(_0x50118e,_0x2ecc6d){const _0x246d51=_0x190caf;for(const _0x53301f of _0x50118e[_0x246d51(0x1ac)]())if(_0x2ecc6d[_0x246d51(0x1b1)][_0x246d51(0x160)](_0x53301f,_0x246d51(0x1b3)))return _0x53301f;}(_0xd298a5,_0x3430e9);_0x246327&&(_0xafe77b=_0x246327,_0xd298a5=_0x2bb982[_0x190caf(0x16f)](_0xafe77b));}const _0x79b077=_0x2bb982[_0x190caf(0x16f)](_0xafe77b);_0x3430e9[_0x190caf(0x1a2)][_0x190caf(0x15c)](_0x249f24)?(_0x2bb982[_0x190caf(0x1ae)](_0x249f24,{'range':_0xd298a5}),_0x2bb982[_0x190caf(0x1ae)](_0x19ccef,{'range':_0x79b077})):(_0x2bb982[_0x190caf(0x187)](_0x249f24,{'range':_0xd298a5,'usingOperation':!0x0}),_0x2bb982[_0x190caf(0x187)](_0x19ccef,{'range':_0x79b077,'usingOperation':!0x0}));}