%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 3.145.82.191
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/main.post.form/templates/.default/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/main.post.form/templates/.default//script.js.map
{"version":3,"sources":["src/internal/wrap-start.js","src/parsers/default.js","src/parsers/spoiler.js","src/parsers/postuser.js","src/parsers/files/controller.js","src/parsers/files/disk-controller.js","src/parsers/files/upload-file.js","src/parsers/files/upload-image.js","src/parsers/files/disk-file.js","src/parsers/index.js","src/view-utils/show-pin-button.js","src/view-utils/bind-autosave.js","src/view-utils/show-panel-editor.js","src/view-utils/show-url-preview.js","src/view-utils/customize-html-editor.js","src/view-utils/bind-html.js","src/view-utils/bind-toolbar.js","src/toolbar.js","src/taskslimit.js","src/editor.js","src/index.js","script-old.js","src/internal/wrap-end.js"],"names":["Default","editor","htmlEditor","name","iconClassName","disabledForTextarea","src","toolbarSort","handler","bind","text","bxTag","oNode","buttonParams","id","obj","Parse","parserId","parse","UnParse","unparse","Spoiler","Loc","getMessage","result","bbCode","synchro","IsFocusedOnTextarea","action","actions","formatBlock","exec","bxTagParams","tag","formatBbCode","content","pLEditor","test","replace","reg2","match","str","title","body","SetBxTag","i","node","childNodes","length","bbParser","GetNodeHtml","trim","hasAttribute","getAttribute","PostUser","EventEmitter","subscribe","compatData","event","window","onKeyDownHandler","formID","onKeyUpHandler","textareaView","GetCursorPosition","onTextareaKeyUpHandler","onTextareaKeyDownHandler","tagId","userId","userName","projectId","projectName","departmentId","departmentName","forEach","String","Type","isStringFilled","isUndefined","Controller","cid","container","getEventObject","data","emit","parentNode","BaseEvent","values","callback","actionPool","push","isReady","shift","apply","e","console","log","getFieldName","querySelector","inputFile","removeChild","DiskController","_catchHandler","diskUfUploader","func","BX","UploaderManager","getById","subscribeOnce","diskUfHandler","CID","agent","params","controlName","Array","from","querySelectorAll","ii","hasOwnProperty","files","document","tagName","type","size","sizeInt","width","height","storage","previewUrl","fileId","selectFile","UploadFile","Map","checkButtonsDebounced","Runtime","debounce","checkButtons","init","getEditor","reinit","getContainer","selectorNode","controller","controllers","get","element_id","doc_prefix","securityNode","getFormId","value","parseFile","file","set","has","delete","deleteFile","tr","innerHTML","buttonNode","image","lowsrc","insertFile","nameNode","addEventListener","style","cursor","imageNode","rel","HTMLTableRowElement","Tag","render","appendChild","htmlData","html","additional","join","buildText","buildHTML","fileIds","GetContent","GetViewMode","doc","GetIframeDoc","bxTags","indexOf","getElementById","SaveContent","content2","regexp","foundId","SetContent","Focus","matches","matchAll","map","mark","className","display","clear","reinitFrom","parseInt","UploadImage","DiskFile","index","blob","getId","onCustomEvent","initVideoReceptionForTheFirstController","initImageReceptionForTheFirstController","stopImmediatePropagation","onChange","getData","complete","setTimeout","diskFileParser","fileToUpload","onSuccess","unsubscribe","Promise","resolve","reject","onFailed","getKnownParser","showPinButton","editorParams","pinEditorPanel","pinId","but","wrap","superclass","constructor","arguments","Create","GetCont","extend","BXHtmlEditor","Button","prototype","OnClick","removeClass","pCont","addClass","userOptions","save","Controls","addCustomEvent","controlsMap","compact","hidden","sort","checkWidth","offsetWidth","bindAutoSave","formNode","ob","FORM","setAttribute","Init","form_data","isNotEmptyString","CheckAndReInit","BXAUTOSAVE","removeAttribute","Prepare","showPanelEditor","toolbar","IsShown","dom","toolbarCont","opacity","Show","classList","add","Hide","remove","showUrlPreview","urlPreviewId","urlPreview","BXUrlPreview","OnAfterUrlConvert","url","attachUrlPreview","OnBeforeCommandExec","isContentAction","oAction","isPlainObject","href","detachUrlPreview","uf","customizeHTMLEditor","contextMenu","items","TEXT","bbMode","ACTION","GetTargetItem","element","selection","RemoveNode","controls","FontSelector","SetWidth","bindHTML","submitButton","preventDefault","stopPropagation","cancelButton","bindToolbar","fileButton","toString","count","filesCount","Math","max","UI","Counter","color","Color","GRAY","animate","update","BXPostFormTags","InsertLink","InsertVideo","quoteNode","Quote","OnMouseDown","CheckCommand","intersectionObserver","observeIntersection","entity","IntersectionObserver","entries","entry","isIntersecting","unobserve","target","observedCallback","threshold","observe","justCounter","Toolbar","eventObject","adjustMorePosition","moreItem","showSubmenu","button","buttonId","isElementNode","item","found","itemBefore","toolbarItem","dataset","insertBefore","visibleItems","offsetTop","clientHeight","hiddenItems","visibleItemsLength","getVisibleItems","getItems","popup","PopupManager","create","cacheable","getPopupContainer","closeByEsc","autoHide","angle","bindElement","offsetLeft","events","onClose","popupContainer","createElement","getHiddenItems","getPopup","show","TasksLimit","tasksLimitPopup","getPopupById","getPopupId","Popup","getTasksLimitPopupContent","lightShadow","position","closeIcon","setBindElement","bindPosition","Dom","padding","children","hidePopup","InfoHelper","close","Editor","options","ctrlEnterHandler","parsers","lazyLoad","tasksLimitExceeded","formId","eventNode","bxHtmlEditable","formEntityType","repo","setEditorParams","bindEvents","Get","inited","jobs","counter","Object","assign","OnEditorInitedBefore","OnCreateIframeAfter","OnEditorInitedAfter","eventName","closure","removeCustomEvent","OnShowLHE","OnButtonClick","parser","addParser","someObjectToReceiveHTMLEditor","insertContent","beforeButton","getToolbar","insertAfter","isFunction","forms","submit","config","groupCollapsed","hasButton","AddButton","getButton","AddParser","getParser","groupEnd","imageBase64","UploaderUtils","dataURLToBlob","substr","referrerToEditor","then","replacement","catch","GLOBAL_TARGET","placeHolder","active","timeoutId","activate","clearTimeout","isFileTransfer","disActivate","catchFiles","onShowControllers","lhe","iteratorBuffer","iterator","keys","next","done","AllowBeforeUnloadHandler","DenyBeforeUnloadHandler","MouseEvent","bubbles","cancelable","view","iframeView","dispatchEvent","setEditor","editorIsLoaded","sandbox","addParserAfterDebounced","editorMode","InsertHtml","AutoResizeSceleton","dummy","WrapWith","showControllers","property","isString","oEditor","SetConfigHeight","ResizeSceleton","setFocus","FCFormId","duration","start","scrollHeight","finish","transition","easing","makeEaseOut","transitions","quad","step","state","cssText","isArray","adjust","overflow","res","args","actionQueue","status","setData","fieldName","getHandler","getHandlerByFormId","reinitData","editorID","userFieldName","userField","reinitDataBefore"],"mappings":"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,UAAL,CAAgBG,QAAhB,CAAhB;;CACA,QAAI1f,OAAO,KAAKA,OAAO,CAACmF,OAAR,IAAmBf,cAAI,CAACC,cAAL,CAAoBnE,IAApB,CAAnB,IAAgDmZ,MAAM,CAACtU,MAAP,CAAcgC,KAAd,EAAqBvE,MAArB,GAA8B,CAAnF,CAAX,EACA;CACCxC,MAAAA,OAAO,CAACuB,IAAR,CAAavB,OAAO,CAACmI,MAArB,EAA6B,CAACjI,IAAD,EAAO6G,KAAP,CAA7B;CACA;;CACD,WAAO,KAAP;CACA,GA9CsB;CAgDvB8Y,EAAAA,gBAAgB,EAAE,0BAASH,QAAT,EAClB;CACC,QAAM1f,OAAO,GAAGoY,MAAM,CAACU,IAAP,CAAYtQ,GAAZ,CAAgBkX,QAAhB,CAAhB;;CACA,QAAI1f,OAAO,IAAIA,OAAO,CAAC0E,cAAR,EAAf,EACA;CACC3B,MAAAA,6BAAY,CAAC6B,IAAb,CAAkB5E,OAAO,CAAC0E,cAAR,EAAlB,EAA4C,sBAA5C,EAAoE,CAAC1E,OAAD,CAApE;CACA;CACD,GAvDsB;;CAAA,CAAxB;;;;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC12CA","file":"script.js.map","sourcesContent":[null,"import Editor from '../editor';\nexport default class Default\n{\n\tid: string = 'SomeParser';\n\tbuttonParams: ?Object = {\n\t\tname: 'Some parser name',\n\t\ticonClassName: 'some-parser-class',\n\t\tdisabledForTextarea: false,\n\t\tsrc: '/icon.png',\n\t\ttoolbarSort: 205,\n\t};\n\teditor;\n\thtmlEditor;\n\n\tconstructor(editor: Editor, htmlEditor)\n\t{\n\t\tthis.editor = editor;\n\t\tthis.htmlEditor = htmlEditor;\n\t\tthis.handler = this.handler.bind(this);\n\t}\n\n\thandler()\n\t{\n\n\t}\n\n\tparse(text)\n\t{\n\t\treturn text;\n\t}\n\n\tunparse(bxTag, oNode)\n\t{\n\t\treturn '';\n\t}\n\n\thasButton()\n\t{\n\t\treturn (this.buttonParams !== null);\n\t}\n\n\tgetButton()\n\t{\n\t\tif (this.buttonParams === null)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\tname: this.buttonParams.name,\n\t\t\ticonClassName: this.buttonParams.iconClassName,\n\t\t\tdisabledForTextarea: this.buttonParams.disabledForTextarea,\n\t\t\tsrc: this.buttonParams.src,\n\t\t\ttoolbarSort: this.buttonParams.toolbarSort,\n\t\t\thandler: this.handler\n\t\t}\n\t}\n\n\tgetParser()\n\t{\n\t\treturn {\n\t\t\tname: this.id,\n\t\t\tobj: {\n\t\t\t\tParse: (parserId, text) => {\n\t\t\t\t\treturn this.parse(text);\n\t\t\t\t},\n\t\t\t\tUnParse: this.unparse.bind(this)\n\t\t\t}\n\t\t};\n\t}\n}","import {Loc} from 'main.core';\nimport Default from './default';\n\nexport default class Spoiler extends Default\n{\n\tid: string = 'spoiler';\n\tbuttonParams: ?Object = {\n\t\tname: Loc.getMessage('MPF_SPOILER'),\n\t\ticonClassName: 'spoiler',\n\t\tdisabledForTextarea: false,\n\t\tsrc: Loc.getMessage('MPF_TEMPLATE_FOLDER') + '/images/lhespoiler.svg',\n\t\ttoolbarSort: 205,\n\t}\n\n\thandler()\n\t{\n\t\tlet result;\n\t\t// Iframe\n\t\tif (!this.htmlEditor.bbCode || !this.htmlEditor.synchro.IsFocusedOnTextarea())\n\t\t{\n\t\t\tresult = this.htmlEditor.action.actions.formatBlock.exec('formatBlock', 'blockquote', 'bx-spoiler', false, {bxTagParams : {tag: \"spoiler\"}});\n\t\t}\n\t\telse // bbcode + textarea\n\t\t{\n\t\t\tresult = this.htmlEditor.action.actions.formatBbCode.exec('quote', {tag: 'SPOILER'});\n\t\t}\n\t\treturn result;\n\t}\n\n\tparse(content, pLEditor)\n\t{\n\t\tif (/\\[spoiler(([^\\]])*)\\]/gi.test(content))\n\t\t{\n\t\t\tcontent = content.\n\t\t\t\treplace(/[\\x01-\\x02]/gi, '').\n\t\t\t\treplace(/\\[spoiler([^\\]]*)\\]/gi, '\\x01$1\\x01').\n\t\t\t\treplace(/\\[\\/spoiler]/gi, '\\x02');\n\t\t\tconst reg2 = /(?:\\x01([^\\x01]*)\\x01)([^\\x01-\\x02]+)\\x02/gi;\n\n\t\t\twhile (content.match(reg2))\n\t\t\t{\n\t\t\t\tcontent = content.replace(reg2, function(str, title, body) {\n\t\t\t\t\ttitle = title.replace(/^(=\"|='|=)/gi, '').replace(/(\"|')?$/gi, '');\n\t\t\t\t\treturn `<blockquote class=\"bx-spoiler\" id=\"${this.htmlEditor.SetBxTag(false, {tag: \"spoiler\"})}\" title=\"${title}\">${body}</blockquote>`;\n\t\t\t\t}.bind(this));\n\t\t\t}\n\t\t}\n\t\tcontent = content.\n\t\t\treplace(/\\001([^\\001]*)\\001/gi, '[spoiler$1]').\n\t\t\treplace(/\\002/gi, '[/spoiler]');\n\t\treturn content;\n\t}\n\n\tunparse(bxTag, oNode)\n\t{\n\t\tlet name = '';\n\t\tfor (let i = 0; i < oNode.node.childNodes.length; i++)\n\t\t{\n\t\t\tname += this.htmlEditor.bbParser.GetNodeHtml(oNode.node.childNodes[i]);\n\t\t}\n\t\tname = name.trim();\n\t\tif (name !== '')\n\t\t{\n\t\t\treturn \"[SPOILER\" + (oNode.node.hasAttribute(\"title\") ? '=' + oNode.node.getAttribute(\"title\") : '')+ \"]\" + name +\"[/SPOILER]\";\n\t\t}\n\t\treturn \"\";\n\t}\n}","import {Type} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport Default from './default';\nimport Editor from \"../editor\";\n\nexport default class PostUser extends Default\n{\n\tid: string = 'postuser';\n\tbuttonParams = null;\n\n\tconstructor(editor: Editor, htmlEditor)\n\t{\n\t\tsuper(editor, htmlEditor);\n\n\t\tEventEmitter.subscribe(\n\t\t\thtmlEditor,\n\t\t\t'OnIframeKeydown',\n\t\t\tfunction({compatData: [event]})\n\t\t\t{\n\t\t\t\tif (window.onKeyDownHandler)\n\t\t\t\t{\n\t\t\t\t\twindow.onKeyDownHandler(event, htmlEditor, htmlEditor.formID);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tEventEmitter.subscribe(\n\t\t\thtmlEditor,\n\t\t\t'OnIframeKeyup',\n\t\t\tfunction({compatData: [event]})\n\t\t\t{\n\t\t\t\tif (window.onKeyUpHandler)\n\t\t\t\t{\n\t\t\t\t\twindow.onKeyUpHandler(event, htmlEditor, htmlEditor.formID);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tEventEmitter.subscribe(\n\t\t\thtmlEditor,\n\t\t\t'OnIframeClick',\n\t\t\tfunction()\n\t\t\t{\n\t\t\t\tif (window['BXfpdStopMent' + htmlEditor.formID])\n\t\t\t\t{\n\t\t\t\t\twindow['BXfpdStopMent' + htmlEditor.formID]();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tEventEmitter.subscribe(\n\t\t\thtmlEditor,\n\t\t\t'OnTextareaKeyup',\n\t\t\tfunction({compatData: [event]})\n\t\t\t{\n\t\t\t\tif (htmlEditor.textareaView\n\t\t\t\t\t&& htmlEditor.textareaView.GetCursorPosition\n\t\t\t\t\t&& window.onTextareaKeyUpHandler\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\twindow.onTextareaKeyUpHandler(event, htmlEditor, htmlEditor.formID);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tEventEmitter.subscribe(\n\t\t\thtmlEditor,\n\t\t\t'OnTextareaKeydown',\n\t\t\tfunction({compatData: [event]})\n\t\t\t{\n\t\t\t\tif (htmlEditor.textareaView\n\t\t\t\t\t&& htmlEditor.textareaView.GetCursorPosition\n\t\t\t\t\t&& window.onTextareaKeyDownHandler)\n\t\t\t\t{\n\t\t\t\t\twindow.onTextareaKeyDownHandler(event, htmlEditor, htmlEditor.formID);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\tparse(content, pLEditor)\n\t{\n\t\tcontent = content.replace(\n\t\t\t/\\[USER\\s*=\\s*(\\d+)\\](.*?)\\[\\/USER\\]/ig,\n\t\t\t(str, id, name) => {\n\t\t\t\tname = name.trim();\n\t\t\t\tif (name === '')\n\t\t\t\t{\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t\tconst tagId = this.htmlEditor.SetBxTag(false, {tag: this.id, userId: id, userName: name});\n\t\t\t\treturn `<span id=\"${tagId}\" class=\"bxhtmled-metion\">${name}</span>`;\n\t\t\t})\n\t\t\t.replace(\n\t\t\t\t/\\[PROJECT\\s*=\\s*(\\d+)\\](.*?)\\[\\/PROJECT\\]/ig,\n\t\t\t\t(str, id, name) => {\n\t\t\t\t\tname = name.trim();\n\t\t\t\t\tif (name === '')\n\t\t\t\t\t{\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t\tconst tagId = this.htmlEditor.SetBxTag(false, {tag: this.id, projectId: id, projectName: name});\n\t\t\t\t\treturn `<span id=\"${tagId}\" class=\"bxhtmled-metion\">${name}</span>`;\n\t\t\t\t})\n\t\t\t.replace(\n\t\t\t\t/\\[DEPARTMENT\\s*=\\s*(\\d+)\\](.*?)\\[\\/DEPARTMENT\\]/ig,\n\t\t\t\t(str, id, name) => {\n\t\t\t\t\tname = name.trim();\n\t\t\t\t\tif (name === '')\n\t\t\t\t\t{\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t\tconst tagId = this.htmlEditor.SetBxTag(false, {tag: this.id, departmentId: id, departmentName: name});\n\t\t\t\t\treturn `<span id=\"${tagId}\" class=\"bxhtmled-metion\">${name}</span>`;\n\t\t\t\t});\n\t\treturn content;\n\t}\n\n\tunparse(bxTag, oNode)\n\t{\n\t\tlet text = '';\n\t\toNode.node.childNodes.forEach((node) => {\n\t\t\ttext += this.htmlEditor.bbParser.GetNodeHtml(node);\n\t\t});\n\t\ttext = String(text).trim();\n\n\t\tlet result = '';\n\t\tif (Type.isStringFilled(text))\n\t\t{\n\t\t\tif (!Type.isUndefined(bxTag.userId))\n\t\t\t{\n\t\t\t\tresult = `[USER=${bxTag.userId}]${text}[/USER]`;\n\t\t\t}\n\t\t\telse if (!Type.isUndefined(bxTag.projectId))\n\t\t\t{\n\t\t\t\tresult = `[PROJECT=${bxTag.projectId}]${text}[/PROJECT]`;\n\t\t\t}\n\t\t\telse if (!Type.isUndefined(bxTag.departmentId))\n\t\t\t{\n\t\t\t\tresult = `[DEPARTMENT=${bxTag.departmentId}]${text}[/DEPARTMENT]`;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n}\n","import {EventEmitter, BaseEvent} from 'main.core.events';\nimport Editor from \"../../editor\";\n\nexport default class Controller\n{\n\tactionPool: Array = [];\n\tcid: String;\n\tcontainer: Element;\n\teditor: Editor;\n\n\tconstructor(cid, container, editor)\n\t{\n\t\tthis.cid = cid;\n\t\tthis.container = container;\n\t\tthis.editor = editor;\n\t\tEventEmitter.subscribe(editor.getEventObject(), 'onShowControllers', ({data}) => {\n\t\t\tEventEmitter.emit(container.parentNode, 'BFileDLoadFormController', new BaseEvent({compatData: [data]}));\n\t\t});\n\t\tEventEmitter.subscribe(editor.getEventObject(), 'onCollectControllers', (event) => {\n\t\t\tevent.data[cid] = {values: []};\n\t\t});\n\t}\n\n\tget isReady()\n\t{\n\t\treturn true;\n\t}\n\n\texec(callback = null): void\n\t{\n\t\tif (callback)\n\t\t{\n\t\t\tthis.actionPool.push(callback);\n\t\t}\n\t\tif (this.isReady)\n\t\t{\n\t\t\ttry{\n\t\t\t\tlet action;\n\t\t\t\twhile ((action = this.actionPool.shift()) && action)\n\t\t\t\t{\n\t\t\t\t\taction.apply(this);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch(e)\n\t\t\t{\n\t\t\t\tconsole.log('error in attachments controllers: ', e);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetId(): string\n\t{\n\t\treturn this.cid;\n\t}\n\n\tgetFieldName(): ?string\n\t{\n\t\treturn null;\n\t}\n\n\treinitFrom(data)\n\t{\n\t\tthis.exec(() => {\n\t\t\tif (!this.getFieldName())\n\t\t\t{\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.container.querySelector(`inptut[name=\"${this.getFieldName()}\"]`)\n\t\t\t\t.forEach(function(inputFile) {\n\t\t\t\t\t\tinputFile.parentNode.removeChild(inputFile);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t});\n\t}\n}","import {EventEmitter, BaseEvent} from 'main.core.events';\nimport Controller from \"./controller\";\n\nexport default class DiskController extends Controller\n{\n\tdiskUfUploader = null;\n\tdiskUfHandler = null;\n\n\tconstructor(cid, container, editor)\n\t{\n\t\tsuper(cid, container, editor);\n\n\t\tconst _catchHandler = (diskUfUploader) => {\n\t\t\tthis.diskUfUploader = diskUfUploader;\n\t\t\tthis.exec();\n\t\t\tconst func = (BaseEvent: BaseEvent) => {\n\t\t\t\tEventEmitter.emit(\n\t\t\t\t\teditor.getEventObject(),\n\t\t\t\t\t'onUploadsHasBeenChanged',\n\t\t\t\t\tBaseEvent\n\t\t\t\t);\n\t\t\t};\n\t\t\tEventEmitter.subscribe(this.diskUfUploader, 'onFileIsInited', func); // new diskUfUploader\n\t\t\tEventEmitter.subscribe(this.diskUfUploader, 'ChangeFileInput', func); // old diskUfUploader\n\t\t};\n\n\t\tif (BX.UploaderManager.getById(cid))\n\t\t{\n\t\t\t_catchHandler(BX.UploaderManager.getById(cid));\n\t\t}\n\t\tEventEmitter.subscribeOnce(container.parentNode, 'DiskDLoadFormControllerInit', ({compatData: [diskUfHandler]}) => {\n\t\t\tthis.diskUfHandler = diskUfHandler\n\t\t\tif (cid === diskUfHandler.CID && !this.diskUfUploader)\n\t\t\t{\n\t\t\t\t_catchHandler(diskUfHandler.agent);\n\t\t\t}\n\t\t});\n\n\t\tEventEmitter.subscribe(editor.getEventObject(), 'onShowControllers', ({data}) => {\n\t\t\tEventEmitter.emit(container.parentNode, 'DiskLoadFormController', new BaseEvent({compatData: [data]}));\n\t\t});\n\t}\n\n\tget isReady()\n\t{\n\t\treturn !!this.diskUfUploader;\n\t}\n\n\tgetFieldName(): ?string\n\t{\n\t\tif (this.diskUfHandler)\n\t\t{\n\t\t\treturn this.diskUfHandler.params.controlName;\n\t\t}\n\t\treturn null;\n\t}\n\n\treinitFrom(data)\n\t{\n\t\tthis.exec(() => {\n\t\t\tif (!this.getFieldName())\n\t\t\t{\n\t\t\t\treturn\n\t\t\t}\n\t\t\tArray.from(\n\t\t\t\tthis.container\n\t\t\t\t\t.querySelectorAll(`inptut[name=\"${this.getFieldName()}\"]`)\n\t\t\t)\n\t\t\t.forEach(function(inputFile) {\n\t\t\t\t\tinputFile.parentNode.removeChild(inputFile);\n\t\t\t\t}\n\t\t\t);\n\t\t\tlet values = null;\n\t\t\tfor (let ii in data)\n\t\t\t{\n\t\t\t\tif (data.hasOwnProperty(ii)\n\t\t\t\t\t&& data[ii] && data[ii]['USER_TYPE_ID'] === 'disk_file'\n\t\t\t\t\t&& data[ii]['FIELD_NAME'] === this.getFieldName())\n\t\t\t\t{\n\t\t\t\t\tvalues = data[ii]['VALUE'];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (values)\n\t\t\t{\n\t\t\t\tconst files = {};\n\n\t\t\t\tvalues.forEach((id) => {\n\t\t\t\t\tlet node = document.querySelector('#disk-attach-' + id);\n\t\t\t\t\tif (node.tagName !== \"A\")\n\t\t\t\t\t{\n\t\t\t\t\t\tnode = node.querySelector('img');\n\t\t\t\t\t}\n\t\t\t\t\tif (node)\n\t\t\t\t\t{\n\t\t\t\t\t\tfiles['E' + id] = {\n\t\t\t\t\t\t\ttype: 'file',\n\t\t\t\t\t\t\tid: id,\n\t\t\t\t\t\t\tname: node.getAttribute(\"data-bx-title\") || node.getAttribute(\"data-title\"),\n\t\t\t\t\t\t\tsize: node.getAttribute(\"data-bx-size\") || '',\n\t\t\t\t\t\t\tsizeInt: node.getAttribute(\"data-bx-size\") || '',\n\t\t\t\t\t\t\twidth: node.getAttribute(\"data-bx-width\"),\n\t\t\t\t\t\t\theight: node.getAttribute(\"data-bx-height\"),\n\t\t\t\t\t\t\tstorage: 'disk',\n\t\t\t\t\t\t\tpreviewUrl: (node.tagName === \"A\" ? '' : node.getAttribute(\"data-bx-src\") || node.getAttribute(\"data-src\")),\n\t\t\t\t\t\t\tfileId: node.getAttribute(\"bx-attach-file-id\")\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif (node.hasAttribute(\"bx-attach-xml-id\"))\n\t\t\t\t\t\t\tfiles['E' + id][\"xmlId\"] = node.getAttribute(\"bx-attach-xml-id\");\n\t\t\t\t\t\tif (node.hasAttribute(\"bx-attach-file-type\"))\n\t\t\t\t\t\t\tfiles['E' + id][\"fileType\"] = node.getAttribute(\"bx-attach-file-type\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.diskUfHandler.selectFile({}, {}, files);\n\t\t\t}\n\t\t});\n\t}\n}","import {Loc, Tag, Runtime} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport Default from '../default';\nimport Editor from '../../editor';\nimport Controller from './controller';\n/*\n* @deprecated\n* */\nexport default class UploadFile extends Default\n{\n\tid: string  = 'uploadfile';\n\tbuttonParams = null;\n\tregexp = /\\[FILE ID=((?:\\s|\\S)*?)?\\]/ig;\n\n\tvalues: Map = new Map;\n\tcontrollers: Map = new Map();\n\n\tconstructor(editor: Editor, htmlEditor)\n\t{\n\t\tsuper(editor, htmlEditor);\n\t\tthis.checkButtonsDebounced = Runtime.debounce(this.checkButtons, 500, this);\n\t\tthis.init();\n\t\tEventEmitter.subscribe(editor.getEditor(), 'OnContentChanged', this.checkButtons.bind(this));\n\t\tEventEmitter.subscribe(editor.getEventObject(), 'onReinitializeBefore', ({data: [text, data]}) => {\n\t\t\tthis.reinit(text, data);\n\t\t});\n\t}\n\n\tinit()\n\t{\n\t\tArray.from(\n\t\t\tthis.editor.getContainer()\n\t\t\t\t.querySelectorAll('.file-selectdialog')\n\t\t)\n\t\t.forEach((selectorNode) => {\n\t\t\tconst cid = selectorNode.id.replace('file-selectdialog-', '');\n\t\t\tlet controller = this.controllers.get(cid);\n\t\t\tif (!controller)\n\t\t\t{\n\t\t\t\tcontroller = new Controller(cid, selectorNode, this.editor);\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadSuccess',\n\t\t\t\t\t({data: [{element_id}, {id, doc_prefix, CID}]}) => {\n\t\t\t\t\t\tif (cid === id)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst securityNode = document.querySelector('#' + this.editor.getFormId()) ?\n\t\t\t\t\t\t\t\tdocument.querySelector('#' + this.editor.getFormId()).querySelector('#upload-cid') : null;\n\t\t\t\t\t\t\tif (securityNode)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsecurityNode.value = CID;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst [id, file] = this.parseFile(selectorNode.querySelector('#' + doc_prefix + element_id));\n\t\t\t\t\t\t\tthis.values.set(id, file);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadRemove',\n\t\t\t\t\t({compatData: [fileId, {id}]}) => {\n\t\t\t\t\t\tif (cid === id && this.values.has(fileId))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.values.delete(fileId);\n\t\t\t\t\t\t\tthis.deleteFile([fileId]);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t\tif (selectorNode.querySelector('table.files-list'))\n\t\t\t{\n\t\t\t\tArray.from(\n\t\t\t\t\tselectorNode\n\t\t\t\t\t\t.querySelector('table.files-list')\n\t\t\t\t\t\t.querySelectorAll('tr')\n\t\t\t\t)\n\t\t\t\t.forEach((tr) => {\n\t\t\t\t\tconst [id, file] = this.parseFile(tr);\n\t\t\t\t\tthis.values.set(id, file);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tparseFile(tr)\n\t{\n\t\tconst id = tr.id.replace('wd-doc', '');\n\t\tconst data = {\n\t\t\tid: id,\n\t\t\tname: tr.querySelector('[data-role=\"name\"]') ? tr.querySelector('[data-role=\"name\"]').innerHTML : tr.querySelector('span.f-wrap').innerHTML,\n\t\t\tnode: tr,\n\t\t\tbuttonNode: tr.querySelector('[data-role=\"button-insert\"]'),\n\t\t\timage: {\n\t\t\t\tsrc: null,\n\t\t\t\tlowsrc: null,\n\t\t\t\twidth: null,\n\t\t\t\theight: null\n\t\t\t}\n\t\t};\n\t\tconst insertFile = () => {\n\t\t\tthis.insertFile(id, tr);\n\t\t};\n\t\tconst nameNode = tr.querySelector('.f-wrap');\n\t\tif (nameNode)\n\t\t{\n\t\t\tnameNode.addEventListener('click', insertFile);\n\t\t\tnameNode.style.cursor = 'pointer';\n\t\t\tnameNode.title = Loc.getMessage('MPF_FILE');\n\t\t}\n\t\tconst imageNode = tr.querySelector('img');\n\t\tif (imageNode)\n\t\t{\n\t\t\timageNode.addEventListener('click', insertFile);\n\t\t\timageNode.title = Loc.getMessage('MPF_FILE');\n\t\t\timageNode.style.cursor = 'pointer';\n\t\t\tdata.image.lowsrc = imageNode.lowsrc || imageNode.src;\n\t\t\tdata.image.src = imageNode.rel || imageNode.src;\n\t\t\tdata.image.width = imageNode.getAttribute('data-bx-full-width');\n\t\t\tdata.image.height = imageNode.getAttribute('data-bx-full-height');\n\t\t}\n\n\t\tif (tr instanceof HTMLTableRowElement && tr.querySelector('.files-info'))\n\t\t{\n\t\t\tif (!data.buttonNode)\n\t\t\t{\n\t\t\t\tdata.buttonNode = Tag.render`\n<span type=\"button\" onclick=\"${insertFile}\" data-role=\"button-insert\" class=\"insert-btn\">\n\t<span data-role=\"insert-btn\" class=\"insert-btn-text\">${Loc.getMessage('MPF_FILE_INSERT_IN_TEXT')}</span>\n\t<span data-role=\"in-text-btn\" class=\"insert-btn-text\">${Loc.getMessage('MPF_FILE_IN_TEXT')}</span>\n</span>`;\n\n\t\t\t\ttr.querySelector('.files-info').appendChild(data.buttonNode);\n\t\t\t\tthis.checkButtonsDebounced();\n\t\t\t}\n\t\t}\n\n\t\treturn [id, data];\n\t}\n\n\tbuildHTML(id, data, htmlData = null): string\n\t{\n\t\tconst tagId = this.htmlEditor.SetBxTag(false, {tag: this.id, fileId: id});\n\t\tlet html = `<span data-bx-file-id=\"${id}\" id=\"${tagId}\" style=\"color: #2067B0; border-bottom: 1px dashed #2067B0; margin:0 2px;\">${data.name}</span>`;\n\n\t\tif (data.image.src)\n\t\t{\n\t\t\tlet additional = [];\n\t\t\tif (htmlData)\n\t\t\t{\n\t\t\t\tadditional.push(`style=\"width:${htmlData.width}px;height:${htmlData.height}px;\"`);\n\t\t\t}\n\t\t\telse if (data.image.width && data.image.height)\n\t\t\t{\n\t\t\t\tadditional.push(`style=\"width:${data.image.width}px;height:${data.image.height}px;\" `);\n\t\t\t\tadditional.push(`onload=\"this.style.width='auto';this.style.height='auto';\"`);\n\t\t\t}\n\n\t\t\thtml = `<img style=\"max-width: 90%;\"  data-bx-file-id=\"${id}\" id=\"${tagId}\" src=\"${data.image.src}\" lowsrc=\"${data.image.lowsrc}\" ${additional.join(' ')}/>`\n\t\t}\n\n\t\treturn html;\n\t}\n\n\tbuildText(id, params)\n\t{\n\t\treturn `[FILE ID=${id}${params||''}]`;\n\t}\n\n\tinsertFile(id: string, node)\n\t{\n\t\tconst data = this.values.get(String(id));\n\n\t\tif (data)\n\t\t{\n\t\t\tEventEmitter.emit(this.editor.getEventObject(), 'OnInsertContent', [this.buildText(id), this.buildHTML(id, data)]);\n\t\t}\n\t}\n\n\tdeleteFile(fileIds)\n\t{\n\t\tconst content = this.htmlEditor.GetContent();\n\n\t\tif (this.htmlEditor.GetViewMode() === 'wysiwyg')\n\t\t{\n\t\t\tconst doc = this.htmlEditor.GetIframeDoc();\n\n\t\t\tfor (let ii in this.htmlEditor.bxTags)\n\t\t\t{\n\t\t\t\tif (this.htmlEditor.bxTags.hasOwnProperty(ii)\n\t\t\t\t\t&& typeof this.htmlEditor.bxTags[ii] === 'object'\n\t\t\t\t\t&& this.htmlEditor.bxTags[ii]['tag'] === this.id\n\t\t\t\t\t&& fileIds.indexOf(String(this.htmlEditor.bxTags[ii]['fileId'])) >= 0\n\t\t\t\t\t&& doc.getElementById(ii)\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tconst node = doc.getElementById(ii);\n\t\t\t\t\tnode.parentNode.removeChild(node);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.htmlEditor.SaveContent();\n\t\t}\n\t\telse/* if (this.regexp.test(content))*/\n\t\t{\n\t\t\tconst content2 = content.replace(this.regexp, function(str, foundId) {\n\t\t\t\t\treturn fileIds.indexOf(foundId) >= 0 ? '' : str;\n\t\t\t});\n\t\t\tthis.htmlEditor.SetContent(content2);\n\t\t\tthis.htmlEditor.Focus();\n\t\t}\n\t}\n\n\tcheckButtons(event: ?BaseEvent)\n\t{\n\t\tconst content = event ? event.compatData[0] : this.htmlEditor.GetContent();\n\t\tconst matches = [...content.matchAll(this.regexp)]\n\t\t\t.map(([match, id]) => {\n\t\t\t\treturn id;\n\t\t\t});\n\n\t\tthis.values.forEach((data, id) => {\n\t\t\tif (!data.buttonNode)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst mark = matches.indexOf(id) >= 0;\n\t\t\tif (mark === true && data.buttonNode.className !== 'insert-text')\n\t\t\t{\n\t\t\t\tdata.buttonNode.className = 'insert-text';\n\t\t\t\tdata.buttonNode.querySelector('[data-role=\"insert-btn\"]').style.display = 'none';\n\t\t\t\tdata.buttonNode.querySelector('[data-role=\"in-text-btn\"]').style.display = '';\n\t\t\t}\n\t\t\telse if (mark !== true && data.buttonNode.className !== 'insert-btn')\n\t\t\t{\n\t\t\t\tdata.buttonNode.className = 'insert-btn';\n\t\t\t\tdata.buttonNode.querySelector('[data-role=\"insert-btn\"]').style.display = '';\n\t\t\t\tdata.buttonNode.querySelector('[data-role=\"in-text-btn\"]').style.display = 'none';\n\t\t\t}\n\t\t});\n\t}\n\n\treinit(text, data)\n\t{\n\t\tthis.values.forEach((file, id) => {\n\t\t\tif (file.node && file.node.parentNode)\n\t\t\t{\n\t\t\t\tfile.node.parentNode.removeChild(file.node);\n\t\t\t}\n\t\t});\n\t\tthis.values.clear();\n\n\t\tthis.controllers.forEach((controller: Controller) => {\n\t\t\tcontroller.reinitFrom(data);\n\t\t});\n\t}\n\n\tparse(content)\n\t{\n\t\tif (!this.regexp.test(content))\n\t\t{\n\t\t\treturn content;\n\t\t}\n\t\tcontent = content.replace(\n\t\t\tthis.regexp,\n\t\t\tfunction(str, id, width, height)\n\t\t\t{\n\t\t\t\tif (this.values.has(id))\n\t\t\t\t{\n\t\t\t\t\treturn this.buildHTML(id, this.values.get(id), (width > 0 && height > 0 ? {width, height} : null));\n\t\t\t\t}\n\t\t\t\treturn str;\n\t\t\t}.bind(this)\n\t\t);\n\t\treturn content;\n\t}\n\n\tunparse(bxTag, {node})\n\t{\n\t\tconst width = parseInt(node.hasAttribute('width') ? node.getAttribute('width') : 0);\n\t\tconst height = parseInt(node.hasAttribute('height') ? node.getAttribute('height') : 0);\n\t\tlet params = '';\n\n\t\tif (width > 0 && height > 0)\n\t\t{\n\t\t\tparams = ' WIDTH=' + width + ' HEIGHT=' + height;\n\t\t}\n\n\t\tconst id = node.getAttribute('data-bx-file-id');\n\t\treturn this.buildText(id, params);\n\t}\n}\n","import {Loc, Tag, Runtime} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport DiskController from './disk-controller';\nimport UploadFile from './upload-file';\nimport Editor from '../../editor';\nimport Default from \"../default\";\nimport Controller from \"./controller\";\n/*\n* @deprecated\n* */\nexport default class UploadImage extends Default\n{\n\tid: string  = 'uploadimage';\n\tbuttonParams = null;\n\tregexp = /\\[IMAGE ID=((?:\\s|\\S)*?)?\\]/ig;\n\n\tvalues: Map = new Map;\n\tcontrollers: Map = new Map();\n\n\tconstructor(editor: Editor, htmlEditor)\n\t{\n\t\tsuper(editor, htmlEditor);\n\t\tthis.init();\n\t\tconsole.log('PostImage: ');\n\n\t\tEventEmitter.subscribe(editor.getEventObject(), 'onReinitializeBefore', ({data: [text, data]}) => {\n\t\t\tthis.reinit(text, data);\n\t\t});\n\t}\n\n\tinit()\n\t{\n\t\tArray.from(\n\t\t\tthis.editor.getContainer()\n\t\t\t\t.querySelectorAll('.file-selectdialog')\n\t\t)\n\t\t.forEach((selectorNode) => {\n\t\t\tconst cid = selectorNode.id.replace('file-selectdialog-', '');\n\t\t\tlet controller = this.controllers.get(cid);\n\t\t\tif (!controller)\n\t\t\t{\n\t\t\t\tcontroller = new Controller(cid, selectorNode, this.editor);\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadSuccess',\n\t\t\t\t\t({data: [{element_id}, {id, doc_prefix, CID}]}) => {\n\t\t\t\t\t\tif (cid === id)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst securityNode = document.querySelector('#' + this.editor.getFormId()) ?\n\t\t\t\t\t\t\t\tdocument.querySelector('#' + this.editor.getFormId()).querySelector('#upload-cid') : null;\n\t\t\t\t\t\t\tif (securityNode)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tsecurityNode.value = CID;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst [id, file] = this.parseFile(selectorNode.querySelector('#' + doc_prefix + element_id));\n\t\t\t\t\t\t\tthis.values.set(id, file);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadRemove',\n\t\t\t\t\t({compatData: [fileId, {id}]}) => {\n\t\t\t\t\t\tif (cid === id && this.values.has(fileId))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.values.delete(fileId);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (selectorNode.querySelector('table.files-list'))\n\t\t\t{\n\t\t\t\tArray.from(\n\t\t\t\t\tselectorNode\n\t\t\t\t\t\t.querySelector('table.files-list')\n\t\t\t\t\t\t.querySelectorAll('tr')\n\t\t\t\t)\n\t\t\t\t.forEach((tr) => {\n\t\t\t\t\tconst [id, file] = this.parseFile(tr);\n\t\t\t\t\tthis.values.set(id, file);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tparseFile(tr)\n\t{\n\t\tconst id = tr.id.replace('wd-doc', '');\n\t\tconst data = {\n\t\t\tid: id,\n\t\t\tname: tr.querySelector('[data-role=\"name\"]') ? tr.querySelector('[data-role=\"name\"]').innerHTML : tr.querySelector('span.f-wrap').innerHTML,\n\t\t\tnode: tr,\n\t\t\timage: {\n\t\t\t\tsrc: null,\n\t\t\t\tlowsrc: null,\n\t\t\t\twidth: null,\n\t\t\t\theight: null\n\t\t\t}\n\t\t};\n\t\treturn [id, data];\n\t}\n\n\treinit(text, data)\n\t{\n\t\tthis.values.forEach((file, id) => {\n\t\t\tif (file.node && file.node.parentNode)\n\t\t\t{\n\t\t\t\tfile.node.parentNode.removeChild(file.node);\n\t\t\t}\n\t\t});\n\t\tthis.values.clear();\n\n\t\tthis.controllers.forEach((controller: Controller) => {\n\t\t\tcontroller.reinitFrom(data);\n\t\t});\n\t}\n\n\tparse(content)\n\t{\n\t\treturn content;\n\t}\n\n\tunparse(bxTag, {node})\n\t{\n\t\treturn '';\n\t}\n}\n\n","import {Loc, Tag, Runtime} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport DiskController from './disk-controller';\nimport UploadFile from './upload-file';\nimport Editor from '../../editor';\n/*\n* @deprecated\n* */\nexport default class DiskFile extends UploadFile\n{\n\tid: string  = 'diskfile';\n\tregexp = /\\[(?:DOCUMENT ID|DISK FILE ID)=([n0-9]+)\\]/ig;\n\n\tinit()\n\t{\n\t\tArray.from(\n\t\t\tthis.editor.getContainer()\n\t\t\t\t.querySelectorAll('.diskuf-selectdialog')\n\t\t)\n\t\t.forEach((selectorNode, index) => {\n\t\t\tconst cid = selectorNode.id.replace('diskuf-selectdialog-', '');\n\t\t\tlet controller = this.controllers.get(cid);\n\t\t\tif (!controller)\n\t\t\t{\n\t\t\t\tcontroller = new DiskController(cid, selectorNode, this.editor);\n\t\t\t\tthis.controllers.set(cid, controller);\n\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadSuccess',\n\t\t\t\t\t({data: [{element_id}, {CID}, blob]}) => {\n\t\t\t\t\t\tif (controller.getId() !== CID || this.values.has(element_id))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst [id, fileId, file] = this.parseFile(selectorNode.querySelector('#disk-edit-attach' + element_id));\n\t\t\t\t\t\tthis.values.set(id, file);\n\t\t\t\t\t\tif (id !== fileId)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.values.set(fileId, file);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (blob && blob['insertImageAfterUpload'] && file.image.src)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.insertFile(id, file.node);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadRemove',\n\t\t\t\t\t({compatData: [fileId, {CID}]}) => {\n\n\t\t\t\t\t\tif (controller.getId() === CID && this.values.has(fileId))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst file = this.values.get(fileId);\n\t\t\t\t\t\t\tthis.values.delete(file.id);\n\t\t\t\t\t\t\tthis.values.delete(file.fileId);\n\t\t\t\t\t\t\tthis.deleteFile([file.id, file.fileId]);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tEventEmitter.subscribe(selectorNode.parentNode,\n\t\t\t\t\t'OnFileUploadFailed',\n\t\t\t\t\t({compatData: [file, {CID}, blob]}) => {\n\t\t\t\t\t\tif (controller.getId() === CID && blob && blob[\"referrerToEditor\"])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tBX.onCustomEvent(blob[\"referrerToEditor\"], \"OnImageDataUriCaughtFailed\", []);\n\t\t\t\t\t\t\tBX.onCustomEvent(this.editor, \"OnImageDataUriCaughtFailed\", [blob[\"referrerToEditor\"]]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tif (index === 0)\n\t\t\t\t{\n\t\t\t\t\tinitVideoReceptionForTheFirstController(this, controller, selectorNode, this.editor);\n\t\t\t\t\tinitImageReceptionForTheFirstController(this, controller, selectorNode, this.editor);\n\t\t\t\t\tEventEmitter.subscribe(this.editor.getEventObject(), 'onFilesHaveCaught', (event: BaseEvent) => {\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tcontroller.diskUfUploader.onChange([...event.getData()]);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (selectorNode.querySelector('table.files-list'))\n\t\t\t{\n\t\t\t\tArray.from(\n\t\t\t\t\tselectorNode\n\t\t\t\t\t\t.querySelector('table.files-list')\n\t\t\t\t\t\t.querySelectorAll('tr')\n\t\t\t\t)\n\t\t\t\t.forEach((tr) => {\n\t\t\t\t\tconst [id, fileId, file] = this.parseFile(tr);\n\t\t\t\t\tthis.values.set(id, file);\n\t\t\t\t\tif (id !== fileId)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.values.set(fileId, file);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tparseFile(tr)\n\t{\n\t\tconst id = String(tr.id.replace('disk-edit-attach', ''));\n\n\t\tconst data = {\n\t\t\tid: id,\n\t\t\tname: tr.querySelector('[data-role=\"name\"]') ? tr.querySelector('[data-role=\"name\"]').innerHTML : tr.querySelector('span.f-wrap').innerHTML,\n\t\t\tfileId: tr.getAttribute('bx-attach-file-id'),\n\t\t\tnode: tr,\n\t\t\tbuttonNode: tr.querySelector('[data-role=\"button-insert\"]'),\n\t\t\timage: {\n\t\t\t\tsrc: null,\n\t\t\t\tlowsrc: null,\n\t\t\t\twidth: null,\n\t\t\t\theight: null\n\t\t\t}\n\t\t};\n\t\tconst nameNode = tr.querySelector('.f-wrap');\n\t\tconst insertFile = () => { this.insertFile(id, tr); };\n\t\tif (nameNode)\n\t\t{\n\t\t\tnameNode.addEventListener('click', insertFile);\n\t\t\tnameNode.style.cursor = 'pointer';\n\t\t\tnameNode.title = Loc.getMessage('MPF_FILE');\n\t\t}\n\t\tconst imageNode = tr.querySelector('img.files-preview');\n\n\t\tif (imageNode && (imageNode.src.indexOf('bitrix/tools/disk/uf.php') >= 0 || imageNode.src.indexOf('/disk/showFile/') >= 0))\n\t\t{\n\t\t\timageNode.addEventListener('click', insertFile);\n\t\t\timageNode.title = Loc.getMessage('MPF_FILE');\n\t\t\timageNode.style.cursor = 'pointer';\n\t\t\tdata.image.lowsrc = imageNode.lowsrc || imageNode.src;\n\t\t\tdata.image.src = (imageNode.rel || imageNode.getAttribute('data-bx-src') || imageNode.src).replace(/&(width|height)=\\d+/gi, '');\n\t\t\tconst handler = () => {\n\t\t\t\tdata.image.width = imageNode.getAttribute('data-bx-full-width');\n\t\t\t\tdata.image.height = imageNode.getAttribute('data-bx-full-height');\n\t\t\t}\n\t\t\timageNode.addEventListener('load', handler);\n\t\t\tif (imageNode.complete)\n\t\t\t{\n\t\t\t\thandler();\n\t\t\t}\n\t\t}\n\t\tif (tr instanceof HTMLTableRowElement && !data.buttonNode)\n\t\t{\n\t\t\tdata.buttonNode = Tag.render`\n<span class=\"insert-btn\" data-role=\"button-insert\" onclick=\"${insertFile}\">\n\t<span data-role=\"insert-btn\" class=\"insert-btn-text\">${Loc.getMessage('MPF_FILE_INSERT_IN_TEXT')}</span>\n\t<span data-role=\"in-text-btn\" class=\"insert-btn-text\" style=\"display: none;\">${Loc.getMessage('MPF_FILE_IN_TEXT')}</span>\n</span>`;\n\t\t\tsetTimeout(() => {\n\t\t\t\tif ( tr.querySelector('.files-info'))\n\t\t\t\t{\n\t\t\t\t\ttr.querySelector('.files-info').appendChild(data.buttonNode);\n\t\t\t\t\tthis.checkButtonsDebounced();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn [id, data.fileId, data];\n\t}\n\n\tbuildText(id, params)\n\t{\n\t\treturn `[DISK FILE ID=${id}${params||''}]`;\n\t}\n}\n\nfunction initVideoReceptionForTheFirstController(diskFileParser: DiskFile, controller: DiskController, selectorNode, editor: Editor)\n{\n\tEventEmitter.subscribe(editor.getEventObject(), 'OnVideoHasCaught', (event: BaseEvent) => {\n\t\tconst fileToUpload = event.getData();\n\t\tconst onSuccess = ({data: [{element_id}, {}, blob]}) => {\n\t\t\tif (fileToUpload === blob && diskFileParser.values.has(element_id))\n\t\t\t{\n\t\t\t\tEventEmitter.unsubscribe(selectorNode.parentNode, 'OnFileUploadSuccess', onSuccess);\n\t\t\t\tdiskFileParser.insertFile(element_id, diskFileParser.values.get(element_id).node);\n\t\t\t}\n\t\t}\n\t\tEventEmitter.subscribe(selectorNode.parentNode, 'OnFileUploadSuccess', onSuccess);\n\t\tcontroller.exec(() => {\n\t\t\tcontroller.diskUfUploader.onChange([fileToUpload])\n\t\t});\n\t\tevent.stopImmediatePropagation();\n\t});\n}\nfunction initImageReceptionForTheFirstController(diskFileParser: DiskFile, controller: DiskController, selectorNode, editor: Editor)\n{\n\tEventEmitter.subscribe(editor.getEventObject(), 'OnImageHasCaught', (event: BaseEvent) => {\n\t\tevent.stopImmediatePropagation();\n\t\tconst fileToUpload = event.getData();\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst onSuccess = ({data: [{element_id}, {}, blob]}) => {\n\t\t\t\tif (fileToUpload === blob && diskFileParser.values.has(element_id))\n\t\t\t\t{\n\t\t\t\t\tEventEmitter.unsubscribe(selectorNode.parentNode, 'OnFileUploadSuccess', onSuccess);\n\t\t\t\t\tEventEmitter.unsubscribe(selectorNode.parentNode, 'OnFileUploadFailed', onFailed);\n\n\t\t\t\t\tconst file = diskFileParser.values.get(element_id);\n\t\t\t\t\tconst html = diskFileParser.buildHTML(element_id, file);\n\t\t\t\t\tresolve({image: file.image, html: html});\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst onFailed = ({data: [file, {}, blob]}) => {\n\t\t\t\tif (fileToUpload === blob)\n\t\t\t\t{\n\t\t\t\t\tEventEmitter.unsubscribe(selectorNode.parentNode, 'OnFileUploadSuccess', onSuccess);\n\t\t\t\t\tEventEmitter.unsubscribe(selectorNode.parentNode, 'OnFileUploadFailed', onFailed);\n\t\t\t\t\treject();\n\t\t\t\t}\n\t\t\t};\n\t\t\tEventEmitter.subscribe(selectorNode.parentNode, 'OnFileUploadSuccess', onSuccess);\n\t\t\tEventEmitter.subscribe(selectorNode.parentNode, 'OnFileUploadFailed', onFailed);\n\n\t\t\tcontroller.exec(() => {\n\t\t\t\tcontroller.diskUfUploader.onChange([event.getData()])\n\t\t\t});\n\t\t});\n\t});\n}\n\n","import Default from './default';\nimport Spoiler from './spoiler';\nimport PostUser from './postuser';\nimport UploadImage from './files/upload-image';\nimport UploadFile from './files/upload-file';\nimport DiskFile from './files/disk-file';\n\nfunction getKnownParser(parserId, editor, htmlEditor): ?Default\n{\n\tif (parserId === 'Spoiler')\n\t{\n\t\treturn new Spoiler(editor, htmlEditor);\n\t}\n\telse if (parserId === 'MentionUser')\n\t{\n\t\treturn new PostUser(editor, htmlEditor);\n\t}\n\telse if (parserId === 'UploadImage')\n\t{\n\t\treturn new UploadImage(editor, htmlEditor);\n\t}\n\telse if (parserId === 'UploadFile')\n\t{\n\t\treturn new UploadFile(editor, htmlEditor);\n\t}\n\telse if (typeof parserId === 'object' && parserId['disk_file'])\n\t{\n\t\treturn new DiskFile(editor, htmlEditor);\n\t}\n\treturn null;\n}\n\nexport default getKnownParser;","import {Loc} from 'main.core';\n\nexport default function showPinButton(htmlEditor, editorParams)\n{\n\tif (!document.querySelector('#lhe_button_editor_' + htmlEditor.formID))\n\t{\n\t\treturn;\n\t}\n\teditorParams.pinEditorPanel = editorParams.pinEditorPanel === true;\n\n\tvar pinId = 'toolbar_pin';\n\tconst but = function (editor, wrap)\n\t{\n\t\t// Call parrent constructor\n\t\tbut.superclass.constructor.apply(this, arguments);\n\t\tthis.id = pinId;\n\t\tthis.title = Loc.getMessage('MPF_PIN_EDITOR_PANNEL');\n\t\tthis.className += ' ' + (editorParams.pinEditorPanel ? 'bxhtmled-button-toolbar-pined' : 'bxhtmled-button-toolbar-pin');\n\t\tthis.Create();\n\t\tif (wrap)\n\t\t\twrap.appendChild(this.GetCont());\n\t};\n\n\tBX.extend(but, window.BXHtmlEditor.Button);\n\tbut.prototype.OnClick = function ()\n\t{\n\t\tBX.removeClass(this.pCont, 'bxhtmled-button-toolbar-pined');\n\t\tBX.removeClass(this.pCont, 'bxhtmled-button-toolbar-pin');\n\t\tif (editorParams.pinEditorPanel)\n\t\t{\n\t\t\teditorParams.pinEditorPanel = false;\n\t\t\tBX.addClass(this.pCont, 'bxhtmled-button-toolbar-pin');\n\t\t}\n\t\telse\n\t\t{\n\t\t\teditorParams.pinEditorPanel = true;\n\t\t\tBX.addClass(this.pCont, 'bxhtmled-button-toolbar-pined');\n\t\t}\n\t\tBX.userOptions.save('main.post.form', 'postEdit', 'pinEditorPanel', editorParams.pinEditorPanel ? \"Y\" : \"N\");\n\t};\n\n\twindow.BXHtmlEditor.Controls[pinId] = but;\n\tBX.addCustomEvent(htmlEditor, \"GetControlsMap\", function (controlsMap)\n\t{\n\t\tcontrolsMap.push({\n\t\t\tid: pinId, compact: true, hidden: false, sort: 500, checkWidth: true, offsetWidth: 32, wrap: 'right'\n\t\t});\n\t});\n}","export default function bindAutoSave(htmlEditor, formNode)\n{\n\tif (!formNode)\n\t{\n\t\treturn;\n\t}\n\tBX.addCustomEvent(formNode, 'onAutoSavePrepare', function (ob) {\n\t\tob.FORM.setAttribute(\"bx-lhe-autosave-prepared\", \"Y\");\n\t\tsetTimeout(function() {\n\t\t\tBX.addCustomEvent(htmlEditor, 'OnContentChanged', function(text) {\n\t\t\t\tob[\"mpfTextContent\"] = text;\n\t\t\t\tob.Init();\n\t\t\t});\n\t\t},1500);\n\t});\n\n\tBX.addCustomEvent(formNode, 'onAutoSave', function(ob, form_data)\n\t{\n\t\tif (BX.type.isNotEmptyString(ob['mpfTextContent']))\n\t\t\tform_data['text'] = ob['mpfTextContent'];\n\t});\n\n\tBX.addCustomEvent(formNode, 'onAutoSaveRestore', function(ob, form_data) {\n\t\tif (form_data['text'] && /[^\\s]+/gi.test(form_data['text']))\n\t\t{\n\t\t\thtmlEditor.CheckAndReInit(form_data['text']);\n\t\t}\n\t});\n\n\tif (formNode.hasAttribute(\"bx-lhe-autosave-prepared\") && formNode.BXAUTOSAVE)\n\t{\n\t\tformNode.removeAttribute(\"bx-lhe-autosave-prepared\");\n\t\tsetTimeout(formNode.BXAUTOSAVE.Prepare, 100);\n\t}\n}","import Editor from '../editor';\n\nexport default function showPanelEditor(editor: Editor, htmlEditor, editorParams)\n{\n\tlet save = false;\n\tif (editorParams.pinEditorPanel === true || editorParams.showPanelEditor === true)\n\t{\n\t\teditorParams.showPanelEditor = true;\n\t}\n\telse if (editorParams.showPanelEditor === false)\n\t{\n\t\teditorParams.showPanelEditor = false;\n\t}\n\telse\n\t{\n\t\teditorParams.showPanelEditor = !htmlEditor.toolbar.IsShown();\n\t\tsave = true;\n\t}\n\n\teditor.exec(() => {\n\t\tconst buttonNode = editor.getContainer().querySelector('[data-bx-role=\"button-show-panel-editor\"]');\n\n\t\tif (editorParams.showPanelEditor)\n\t\t{\n\t\t\thtmlEditor.dom.toolbarCont.style.opacity = 'inherit';\n\t\t\thtmlEditor.toolbar.Show();\n\n\t\t\tif (buttonNode)\n\t\t\t{\n\t\t\t\tbuttonNode.classList.add('feed-add-post-form-btn-active');\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\thtmlEditor.toolbar.Hide();\n\n\t\t\tif (buttonNode)\n\t\t\t{\n\t\t\t\tbuttonNode.classList.remove('feed-add-post-form-btn-active');\n\t\t\t}\n\t\t}\n\t});\n\n\tif (save !== false)\n\t{\n\t\tBX.userOptions.save('main.post.form', 'postEdit', 'showBBCode', editorParams.showPanelEditor ? 'Y' : 'N');\n\t}\n}","export default function showUrlPreview(htmlEditor, editorParams)\n{\n\tif (!(editorParams.urlPreviewId && window['BXUrlPreview'] && BX(editorParams.urlPreviewId)))\n\t{\n\t\treturn;\n\t}\n\n\tconst urlPreview =  new BXUrlPreview(BX(editorParams.urlPreviewId));\n\tconst OnAfterUrlConvert = function(url)\n\t{\n\t\turlPreview.attachUrlPreview({url: url});\n\t};\n\tconst OnBeforeCommandExec = function(isContentAction, action, oAction, value)\n\t{\n\t\tif (action === 'createLink'\n\t\t\t&& BX.type.isPlainObject(value)\n\t\t\t&& value.hasOwnProperty('href')\n\t\t)\n\t\t{\n\t\t\turlPreview.attachUrlPreview({url: value.href});\n\t\t}\n\t}\n\tBX.addCustomEvent(htmlEditor, 'OnAfterUrlConvert', OnAfterUrlConvert);\n\tBX.addCustomEvent(htmlEditor, 'OnAfterLinkInserted', OnAfterUrlConvert);\n\tBX.addCustomEvent(htmlEditor, 'OnBeforeCommandExec', OnBeforeCommandExec);\n\n\tBX.addCustomEvent(htmlEditor, 'OnReinitialize', (text, data) => {\n\t\turlPreview.detachUrlPreview();\n\t\tlet urlPreviewId;\n\t\tfor (let uf in data)\n\t\t{\n\t\t\tif (data.hasOwnProperty(uf)\n\t\t\t\t&& data[uf].hasOwnProperty('USER_TYPE_ID')\n\t\t\t\t&& data[uf]['USER_TYPE_ID'] === 'url_preview')\n\t\t\t{\n\t\t\t\turlPreviewId = data[uf]['VALUE'];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (urlPreviewId)\n\t\t{\n\t\t\turlPreview.attachUrlPreview({id: urlPreviewId});\n\t\t}\n\t});\n}","import {Editor} from '../editor';\nimport {Loc} from 'main.core';\n\nexport default function customizeHTMLEditor(editor: Editor, htmlEditor)\n{\n\teditor.exec(() => {\n\t\t// Contextmenu changing for images/files\n\t\thtmlEditor.contextMenu.items['postimage'] =\n\t\t\thtmlEditor.contextMenu.items['postdocument'] =\n\t\t\t\thtmlEditor.contextMenu.items['postfile'] =\n\t\t\t\t\t[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTEXT: Loc.getMessage('BXEdDelFromText'),\n\t\t\t\t\t\t\tbbMode: true,\n\t\t\t\t\t\t\tACTION: function()\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar node = htmlEditor.contextMenu.GetTargetItem('postimage');\n\t\t\t\t\t\t\t\tif (!node)\n\t\t\t\t\t\t\t\t\tnode = htmlEditor.contextMenu.GetTargetItem('postdocument');\n\t\t\t\t\t\t\t\tif (!node)\n\t\t\t\t\t\t\t\t\tnode = htmlEditor.contextMenu.GetTargetItem('postfile');\n\n\t\t\t\t\t\t\t\tif (node && node.element)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thtmlEditor.selection.RemoveNode(node.element);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thtmlEditor.contextMenu.Hide();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t];\n\t\tif (htmlEditor.toolbar.controls && htmlEditor.toolbar.controls.FontSelector)\n\t\t{\n\t\t\thtmlEditor.toolbar.controls.FontSelector.SetWidth(45);\n\t\t}\n\t});\n}","import {EventEmitter} from 'main.core.events';\nimport Editor from \"../editor\";\n\nexport default function bindHTML(editor: Editor)\n{\n\tconst submitButton = document.querySelector('#lhe_button_submit_' + editor.getFormId());\n\tif (submitButton)\n\t{\n\t\tsubmitButton.addEventListener('click', function(event) {\n\t\t\tEventEmitter.emit(editor.getEventObject(), 'OnButtonClick', ['submit']);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t});\n\t}\n\tconst cancelButton = document.querySelector('#lhe_button_cancel_' + editor.getFormId());\n\tif (cancelButton)\n\t{\n\t\tcancelButton.addEventListener('click', function(event) {\n\t\t\tEventEmitter.emit(editor.getEventObject(), 'OnButtonClick', ['cancel']);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t});\n\t}\n}","import {Dom} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport {Editor} from '../editor';\n\nexport default function bindToolbar(editor: Editor, htmlEditor)\n{\n\tconst toolbar = editor.getContainer().querySelector('[data-bx-role=\"toolbar\"]')\n\tif (toolbar.querySelector('[data-id=\"file\"]'))\n\t{\n\t\tconst fileButton = toolbar.querySelector('[data-id=\"file\"]');\n\t\tif (fileButton)\n\t\t{\n\t\t\tfileButton.addEventListener('click', () => {\n\t\t\t\tEventEmitter.emit(editor.getEventObject(), 'onShowControllers', fileButton.hasAttribute('data-bx-button-status')\n\t\t\t\t\t? 'hide' : 'show');\n\t\t\t});\n\t\t\tEventEmitter.subscribe(editor.getEventObject(), 'onShowControllers', ({data}) => {\n\t\t\t\tif (data.toString() === 'show')\n\t\t\t\t{\n\t\t\t\t\tfileButton.setAttribute('data-bx-button-status', 'active');\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tfileButton.removeAttribute('data-bx-button-status');\n\t\t\t\t}\n\t\t\t});\n\t\t\tfileButton.setAttribute('data-bx-files-count', 0);\n\t\t\tEventEmitter.subscribe(editor.getEventObject(), 'onShowControllers:File:Increment', ({data}) => {\n\t\t\t\tconst count = data > 0 ? data : 1;\n\t\t\t\tconst filesCount = Math.max(parseInt(fileButton.getAttribute('data-bx-files-count') || 0) + count, 0);\n\t\t\t\tif (filesCount > 0)\n\t\t\t\t{\n\t\t\t\t\tif (!fileButton['counterObject'])\n\t\t\t\t\t{\n\t\t\t\t\t\tfileButton['counterObject'] = new BX.UI.Counter({\n\t\t\t\t\t\t\tvalue: filesCount,\n\t\t\t\t\t\t\tcolor: BX.UI.Counter.Color.GRAY,\n\t\t\t\t\t\t\tanimate: true\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst container = fileButton.querySelector('span');\n\t\t\t\t\t\tcontainer.appendChild(fileButton['counterObject'].getContainer());\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tfileButton['counterObject'].update(filesCount);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfileButton.setAttribute('data-bx-files-count', filesCount);\n\t\t\t});\n\t\t\tEventEmitter.subscribe(editor.getEventObject(), 'onShowControllers:File:Decrement', ({data}) => {\n\t\t\t\tconst count = data > 0 ? data : 1;\n\t\t\t\tconst filesCount = Math.max(parseInt(fileButton.getAttribute('data-bx-files-count') || 0) - count, 0);\n\t\t\t\tfileButton.setAttribute('data-bx-files-count', filesCount);\n\n\t\t\t\tif (fileButton['counterObject'])\n\t\t\t\t{\n\t\t\t\t\tfileButton['counterObject'].update(filesCount);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tif (toolbar.querySelector('[data-id=\"search-tag\"]'))\n\t{\n\t\twindow['BXPostFormTags_' + editor.getFormId()] = new BXPostFormTags(\n\t\t\teditor.getFormId(),\n\t\t\ttoolbar.querySelector('[data-id=\"search-tag\"]')\n\t\t);\n\t}\n\n\tif (toolbar.querySelector('[data-id=\"create-link\"]'))\n\t{\n\t\ttoolbar.querySelector('[data-id=\"create-link\"]').addEventListener('click', (event) => {\n\t\t\thtmlEditor.toolbar.controls.InsertLink.OnClick(event);\n\t\t});\n\t}\n\n\tif (toolbar.querySelector('[data-id=\"video\"]'))\n\t{\n\t\ttoolbar.querySelector('[data-id=\"video\"]').addEventListener('click', (event) => {\n\t\t\thtmlEditor.toolbar.controls.InsertVideo.OnClick(event);\n\t\t});\n\t}\n\n\tif (toolbar.querySelector('[data-id=\"quote\"]'))\n\t{\n\t\tconst quoteNode = toolbar.querySelector('[data-id=\"quote\"]');\n\t\tquoteNode.setAttribute('data-bx-type', 'action');\n\t\tquoteNode.setAttribute('data-bx-action', 'quote');\n\n\n\t\tquoteNode.addEventListener('mousedown', (event) => {\n\t\t\thtmlEditor.toolbar.controls.Quote.OnMouseDown.apply(htmlEditor.toolbar.controls.Quote, [event]);\n\t\t\thtmlEditor.CheckCommand(quoteNode);\n\t\t});\n\t}\n\n\tif (editor.getContainer().querySelector('[data-bx-role=\"button-show-panel-editor\"]'))\n\t{\n\t\teditor.getContainer().querySelector('[data-bx-role=\"button-show-panel-editor\"]')\n\t\t\t.addEventListener('click', () => {\n\t\t\t\teditor.showPanelEditor();\n\t\t\t});\n\t}\n}\n","import {Type, Tag} from 'main.core';\nimport {Popup, PopupManager} from 'main.popup';\nimport {EventEmitter} from 'main.core.events';\nimport 'main.polyfill.intersectionobserver';\n\nlet intersectionObserver;\nfunction observeIntersection(entity, callback)\n{\n\tif (!intersectionObserver)\n\t{\n\t\tintersectionObserver = new IntersectionObserver(function(entries) {\n\t\t\tentries.forEach((entry) => {\n\t\t\t\tif (entry.isIntersecting)\n\t\t\t\t{\n\t\t\t\t\tintersectionObserver.unobserve(entry.target);\n\t\t\t\t\tconst observedCallback = entry.target.observedCallback;\n\t\t\t\t\tdelete entry.target.observedCallback;\n\t\t\t\t\tsetTimeout(observedCallback);\n\t\t\t\t}\n\t\t\t});\n\t\t}, {\n\t\t\tthreshold: 0\n\t\t});\n\t}\n\tentity.observedCallback = callback;\n\n\tintersectionObserver.observe(entity);\n}\n\ntype Button = {\n\tID: ?string,\n\tBODY: Element|string,\n}\nlet justCounter = 0;\nexport default class Toolbar {\n\tconstructor(eventObject, container) {\n\t\tthis.container = container.querySelector('[data-bx-role=\"toolbar\"]');\n\n\t\tthis.adjustMorePosition = this.adjustMorePosition.bind(this);\n\t\tthis.moreItem = container.querySelector('[data-bx-role=\"toolbar-item-more\"]');\n\t\tthis.moreItem.addEventListener('click', this.showSubmenu.bind(this));\n\t\tobserveIntersection(this.container, this.adjustMorePosition);\n\t\twindow.addEventListener('resize', this.adjustMorePosition);\n\t}\n\n\tinsertAfter(button: Button, buttonId: ?String)\n\t{\n\t\tif (!Type.isElementNode(button['BODY']) && !Type.isStringFilled(button['BODY']))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = Tag.render`<div class=\"main-post-form-toolbar-button\" data-bx-role=\"toolbar-item\"></div>`;\n\n\t\tif (Type.isElementNode(button['BODY']))\n\t\t{\n\t\t\titem.appendChild(button['BODY']);\n\t\t}\n\t\telse\n\t\t{\n\t\t\titem.innerHTML = button['BODY'];\n\t\t}\n\n\t\tif (button['ID'])\n\t\t{\n\t\t\titem.setAttribute('data-id', button['ID']);\n\t\t}\n\n\t\tif (buttonId !== null)\n\t\t{\n\t\t\tlet found = false;\n\t\t\tlet itemBefore = null;\n\t\t\tArray.from(\n\t\t\t\tthis.container\n\t\t\t\t\t.querySelectorAll('[data-bx-role=\"toolbar-item\"]')\n\t\t\t)\n\t\t\t.forEach((toolbarItem) => {\n\t\t\t\tif (found === true && itemBefore === null)\n\t\t\t\t{\n\t\t\t\t\titemBefore = toolbarItem;\n\t\t\t\t}\n\t\t\t\telse if (found === false\n\t\t\t\t\t&& toolbarItem && toolbarItem.dataset\n\t\t\t\t\t&& toolbarItem.dataset.id === buttonId)\n\t\t\t\t{\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (itemBefore)\n\t\t\t{\n\t\t\t\titemBefore.parentNode.insertBefore(item, itemBefore);\n\t\t\t}\n\t\t}\n\t\tif (!item.parentNode)\n\t\t{\n\t\t\tthis.container.appendChild(item);\n\t\t}\n\t\tthis.adjustMorePosition();\n\t}\n\n\tgetItems(): Array\n\t{\n\t\treturn Array.from(this.container.querySelectorAll('[data-bx-role=\"toolbar-item\"]'));\n\t}\n\n\tgetVisibleItems(): Array\n\t{\n\t\tconst visibleItems = [];\n\t\tArray.from(\n\t\t\tthis.container\n\t\t\t\t.querySelectorAll('[data-bx-role=\"toolbar-item\"]')\n\t\t)\n\t\t.forEach((item) => {\n\t\t\tif (item.offsetTop > this.container.clientHeight / 2)\n\t\t\t{\n\t\t\t\tvisibleItems.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn visibleItems;\n\t}\n\n\tgetHiddenItems(): Array\n\t{\n\t\tconst hiddenItems = [];\n\t\tArray.from(\n\t\t\tthis.container\n\t\t\t\t.querySelectorAll('[data-bx-role=\"toolbar-item\"]')\n\t\t)\n\t\t.forEach((item) => {\n\t\t\tif (item.offsetTop > 0)\n\t\t\t{\n\t\t\t\thiddenItems.push(item);\n\t\t\t}\n\t\t});\n\n\t\treturn hiddenItems;\n\t}\n\n\tadjustMorePosition()\n\t{\n\t\tconst visibleItemsLength = this.getVisibleItems().length;\n\n\t\tif (visibleItemsLength <= 0 || visibleItemsLength >= this.getItems().length)\n\t\t{\n\t\t\tthis.moreItem.style.display = 'none';\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.moreItem.style.display = '';\n\t\t}\n\t}\n\n\tgetPopup(): Popup\n\t{\n\t\tif (!this.popup)\n\t\t{\n\t\t\tthis.popup = PopupManager.create({\n\t\t\t\tid: 'main_post_form_toolbar_' + (justCounter++),\n\t\t\t\tclassName: 'main-post-form-toolbar-popup',\n\t\t\t\tcacheable: false,\n\t\t\t\tcontent: this.getPopupContainer(),\n\t\t\t\tcloseByEsc: true,\n\t\t\t\tautoHide: true,\n\t\t\t\tangle: true,\n\t\t\t\tbindElement: this.moreItem,\n\t\t\t\toffsetTop: -5,\n\t\t\t\toffsetLeft: 5,\n\t\t\t\tevents: {\n\t\t\t\t\tonClose: () => {\n\t\t\t\t\t\tArray.from(\n\t\t\t\t\t\t\tthis.getPopupContainer()\n\t\t\t\t\t\t\t\t.querySelectorAll('[data-bx-role=\"toolbar-item\"]')\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.forEach((item) => {\n\t\t\t\t\t\t\tthis.container.appendChild(item);\n\t\t\t\t\t\t});\n\t\t\t\t\t\tdelete this.popup;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\treturn this.popup;\n\t}\n\n\tgetPopupContainer(): Element\n\t{\n\t\tif (!this.popupContainer)\n\t\t{\n\t\t\tthis.popupContainer = document.createElement('DIV');\n\t\t}\n\t\treturn this.popupContainer;\n\t}\n\n\tshowSubmenu()\n\t{\n\t\tconst hiddenItems = this.getHiddenItems();\n\t\tif (hiddenItems.length <= 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\thiddenItems.forEach((item) => {\n\t\t\tthis.getPopupContainer().appendChild(item);\n\t\t});\n\t\tthis.getPopup().show();\n\t}\n}\n","import {Popup, PopupManager} from 'main.popup';\nimport {Loc, Dom} from 'main.core';\n\nexport default class TasksLimit\n{\n\tstatic showPopup(\n\t\tparams: {\n\t\t\tbindPosition: null,\n\t\t}\n\t)\n\t{\n\t\tlet tasksLimitPopup = PopupManager.getPopupById(this.getPopupId());\n\t\tif (!tasksLimitPopup)\n\t\t{\n\t\t\ttasksLimitPopup = new Popup(this.getPopupId(), null, {\n\t\t\t\tcontent: this.getTasksLimitPopupContent(),\n\t\t\t\tlightShadow : false,\n\t\t\t\toffsetLeft: 20,\n\t\t\t\tautoHide: false,\n\t\t\t\tangle: {\n\t\t\t\t\tposition: 'bottom',\n\t\t\t\t},\n\t\t\t\tcloseByEsc: false,\n\t\t\t\tcloseIcon: true,\n\t\t\t});\n\t\t}\n\n\t\ttasksLimitPopup.setBindElement(params.bindPosition);\n\t\ttasksLimitPopup.show();\n\t}\n\n\tstatic getPopupId()\n\t{\n\t\treturn 'bx-post-mention-tasks-limit-popup';\n\t}\n\n\tstatic getTasksLimitPopupContent()\n\t{\n\t\treturn Dom.create('DIV', {\n\t\t\tstyle: {\n\t\t\t\twidth: '400px',\n\t\t\t\tpadding: '10px',\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\tDom.create('SPAN', {\n\t\t\t\t\thtml: Loc.getMessage('MPF_MENTION_TASKS_LIMIT')\n\t\t\t\t\t\t.replace('#A_BEGIN#', '<a href=\"javascript:void(0);\" onclick=\"BX.Main.PostFormTasksLimit.onClickTasksLimitPopupSlider();\">')\n\t\t\t\t\t\t.replace('#A_END#', '</a>'),\n\t\t\t\t})\n\t\t\t],\n\t\t})\n\t}\n\n\tstatic onClickTasksLimitPopupSlider()\n\t{\n\t\tthis.hidePopup();\n\t\tBX.UI.InfoHelper.show('limit_tasks_observers_participants');\n\t}\n\n\tstatic hidePopup()\n\t{\n\t\tconst tasksLimitPopup = PopupManager.getPopupById(this.getPopupId());\n\t\tif (tasksLimitPopup)\n\t\t{\n\t\t\ttasksLimitPopup.close();\n\t\t}\n\t}\n}\n","import {Type, Dom, Runtime} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport getKnownParser from './parsers/index';\nimport {showPinButton, bindAutoSave, bindHTML, bindToolbar,\n\tcustomizeHTMLEditor, showPanelEditor, showUrlPreview\n} from './view-utils/index';\nimport Toolbar from './toolbar';\nimport TasksLimit from \"./taskslimit\";\n\nexport default class Editor\n{\n\tstatic repo = new Map();\n\tid: string;\n\tname: ?string;\n\teventNode: Element;\n\ttoolbar: Toolbar;\n\tjobs: Map = new Map();\n\n\teditorParams = {\n\t\theight: 100,\n\t\tctrlEnterHandler: null,\n\t\tparsers: null,\n\t\tshowPanelEditor: false,\n\t\tshowPinButton: false,\n\t\tpinEditorPanel: false,\n\t\tlazyLoad: true,\n\t\turlPreviewId: null,\n\t\ttasksLimitExceeded: false,\n\t};\n\tactionQueue = [];\n\n\tconstructor(\n\t\toptions: {\n\t\t\tid: string,\n\t\t\tname: ?string,\n\t\t\tformId: string,\n\t\t\teventNode: Element,\n\t\t},\n\t\teditorParams: {\n\t\t\theight: 100,\n\t\t\tctrlEnterHandler: null,\n\t\t\tshowPanelEditor: false,\n\t\t\tpinEditorPanel: false,\n\t\t\tlazyLoad: true,\n\t\t\turlPreviewId: null,\n\t\t\ttasksLimitExceeded: false,\n\t\t}\n\t)\n\t{\n\t\tthis.id = options['id'];\n\t\tthis.name = options['name'];\n\t\tthis.formId = options['formId'];\n\t\tthis.eventNode = options.eventNode || document.querySelector('#div' + (this.name || this.id));\n\t\tthis.eventNode.dataset.bxHtmlEditable = 'Y';\n\t\tthis.formEntityType = null;\n\t\tEditor.repo.set(this.getId(), this);\n\n\t\tthis.setEditorParams(editorParams);\n\n\t\tthis.bindEvents(window['BXHtmlEditor'] ? window['BXHtmlEditor'].Get(this.getId()) : null);\n\t\tthis.toolbar = new Toolbar(this.getEventObject(), this.getContainer());\n\n\t\tthis.inited = true;\n\n\t\tif (this.name !== null)\n\t\t{\n\t\t\twindow[this.name] = this;\n\t\t}\n\n\t\tBX.onCustomEvent(this, 'onInitialized', [this, this.getFormId()]);\n\n\t\t//region Compatibility for crm.timeline\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnFileUploadSuccess', ({compatData}) => {\n\t\t\tBX.onCustomEvent(this.getEventObject(), 'onFileIsAdded', compatData);\n\t\t});\n\t\t//endregion\n\n\t\tEventEmitter.subscribe(this.getEventObject(), 'onBusy', ({data: handler}) => {\n\t\t\tif (this.jobs.size <= 0)\n\t\t\t{\n\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onLHEIsBusy');\n\t\t\t}\n\t\t\tthis.jobs.set(handler, (this.jobs.get(handler) || 0) + 1);\n\t\t});\n\n\t\tEventEmitter.subscribe(this.getEventObject(), 'onReady', ({data: handler}) => {\n\t\t\tif (this.jobs.size <= 0 || !this.jobs.has(handler))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet counter = this.jobs.get(handler);\n\t\t\tif (counter <= 1)\n\t\t\t{\n\t\t\t\tthis.jobs.delete(handler);\n\t\t\t\tif (this.jobs.size <= 0 )\n\t\t\t\t{\n\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onLHEIsReady');\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.jobs.set(handler, --counter);\n\t\t\t}\n\t\t});\n\t}\n\n\tsetEditorParams(editorParams)\n\t{\n\t\tthis.editorParams = Object.assign(this.editorParams, editorParams);\n\t}\n\n\tbindEvents(htmlEditor = null)\n\t{\n\t\tthis.events = {};\n\t\t[\n\t\t\t['OnEditorInitedBefore', this.OnEditorInitedBefore.bind(this)],\n\t\t\t['OnCreateIframeAfter', this.OnCreateIframeAfter.bind(this)],\n\t\t\t['OnEditorInitedAfter', this.OnEditorInitedAfter.bind(this)],\n\t\t].forEach(([eventName, closure]) => {\n\t\t\tif (!htmlEditor)\n\t\t\t{\n\t\t\t\tthis.events[eventName] = (htmlEditor) => {\n\t\t\t\t\tif (htmlEditor.id === this.getId())\n\t\t\t\t\t{\n\t\t\t\t\t\t//!it important to use deprecated eventEmitter\n\t\t\t\t\t\tBX.removeCustomEvent(eventName, this.events[eventName]);\n\t\t\t\t\t\tdelete this.events[eventName];\n\t\t\t\t\t\tclosure(htmlEditor);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\t//!it important to use deprecated eventEmitter\n\t\t\t\tBX.addCustomEvent(eventName, this.events[eventName]);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tclosure(htmlEditor);\n\t\t\t}\n\t\t});\n\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnShowLHE', this.OnShowLHE.bind(this));\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnButtonClick', this.OnButtonClick.bind(this));\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnParserRegister', ({data: parser}) => {this.addParser(parser);});\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnGetHTMLEditor', ({data: someObjectToReceiveHTMLEditor}) => {someObjectToReceiveHTMLEditor.htmlEditor = this.getEditor();});\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnInsertContent', ({data: [text, html]}) => { this.insertContent(text, html); });\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnAddButton', ({data: [button, beforeButton]}) => {\n\t\t\tthis.getToolbar().insertAfter(button, beforeButton);\n\t\t});\n\n\t\tbindHTML(this);\n\t}\n\n\tgetId()\n\t{\n\t\treturn this.id;\n\t}\n\n\tsetEditor(htmlEditor)\n\t{\n\t\tif (this.htmlEditor === htmlEditor)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.htmlEditor = htmlEditor;\n\t\thtmlEditor.formID = this.getFormId();\n\n\t\tEventEmitter.subscribe(htmlEditor, 'OnCtrlEnter', () => {\n\t\t\thtmlEditor.SaveContent();\n\t\t\tif (Type.isFunction(this.editorParams.ctrlEnterHandler))\n\t\t\t{\n\t\t\t\tthis.editorParams.ctrlEnterHandler();\n\t\t\t}\n\t\t\telse if (Type.isStringFilled(this.editorParams.ctrlEnterHandler) && window[this.editorParams.ctrlEnterHandler])\n\t\t\t{\n\t\t\t\twindow[this.editorParams.ctrlEnterHandler]();\n\t\t\t}\n\t\t\telse if (document.forms[this.getFormId()])\n\t\t\t{\n\t\t\t\tBX.submit(document.forms[this.getFormId()]);\n\t\t\t}\n\t\t});\n\n\t\tthis.editorParams['height'] = htmlEditor.config['height'];\n\n\t\tconsole.groupCollapsed('main.post.form: parsers: ', this.getId());\n\t\tthis.editorParams.parsers.forEach((parserId) => {\n\t\t\tconst parser = getKnownParser(parserId, this, htmlEditor);\n\t\t\tif (parser)\n\t\t\t{\n\t\t\t\tconsole.groupCollapsed(parserId);\n\t\t\t\tconsole.log(parser);\n\n\t\t\t\tif (parser.hasButton())\n\t\t\t\t{\n\t\t\t\t\thtmlEditor.AddButton(parser.getButton())\n\t\t\t\t}\n\t\t\t\thtmlEditor.AddParser(parser.getParser());\n\t\t\t\tconsole.groupEnd(parserId);\n\t\t\t}\n\t\t});\n\t\tconsole.groupEnd('main.post.form: parsers: ', this.getId());\n\n\t\t//region Catching external files\n\t\t// paste an image from IO buffer into editor\n\t\tEventEmitter.subscribe(htmlEditor, 'OnImageDataUriHandle', ({compatData: [editor, imageBase64]}) => {\n\t\t\tconst blob = BX.UploaderUtils.dataURLToBlob(imageBase64.src);\n\n\t\t\tif (blob && blob.size > 0 && blob.type.indexOf('image/') === 0)\n\t\t\t{\n\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', 'show');\n\t\t\t\tblob.name = (blob.name || imageBase64.title || ('image.' + blob.type.substr(6)));\n\t\t\t\tblob.referrerToEditor = imageBase64;\n\t\t\t\tEventEmitter\n\t\t\t\t\t.emit(this.getEventObject(), 'OnImageHasCaught', new BaseEvent({data: blob}))\n\t\t\t\t\t.forEach((result: Promise) => {\n\t\t\t\t\t\tresult\n\t\t\t\t\t\t\t.then(({image, html}) => {\n\t\t\t\t\t\t\t\tEventEmitter.emit(\n\t\t\t\t\t\t\t\t\thtmlEditor,\n\t\t\t\t\t\t\t\t\t'OnImageDataUriCaughtUploaded',\n\t\t\t\t\t\t\t\t\tnew BaseEvent({compatData: [imageBase64, image, {replacement: html}]})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\t\t\tEventEmitter.emit(\n\t\t\t\t\t\t\t\t\thtmlEditor,\n\t\t\t\t\t\t\t\t\t'OnImageDataUriCaughtFailed',\n\t\t\t\t\t\t\t\t\tnew BaseEvent({compatData: [imageBase64]})\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t// paste a video into editor\n\t\tEventEmitter.subscribe(EventEmitter.GLOBAL_TARGET, 'onAddVideoMessage', ({compatData: [file, formID]}) => {\n\t\t\tif (!formID || this.getFormId() !== formID)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', 'show');\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnVideoHasCaught', new BaseEvent({data: file}));\n\t\t});\n\t\t// DnD\n\t\t(() => {\n\t\t\tconst placeHolder = BX('micro' + (this.name||this.id));\n\t\t\tlet active = false;\n\t\t\tlet timeoutId = 0;\n\t\t\tconst activate = (e: MouseEvent) => {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tif (timeoutId > 0)\n\t\t\t\t{\n\t\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\t\ttimeoutId = 0;\n\t\t\t\t}\n\t\t\t\tif (active === true)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet isFileTransfer = (e && e['dataTransfer']\n\t\t\t\t\t&& e['dataTransfer']['types']\n\t\t\t\t\t&& e['dataTransfer']['types'].indexOf('Files') >= 0\n\t\t\t\t);\n\t\t\t\tif (isFileTransfer)\n\t\t\t\t{\n\t\t\t\t\tactive = true;\n\t\t\t\t\tthis.getContainer().classList.add('feed-add-post-dnd-over');\n\t\t\t\t\tif (placeHolder)\n\t\t\t\t\t{\n\t\t\t\t\t\tplaceHolder.classList.add('feed-add-post-micro-dnd-ready');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t};\n\t\t\tconst disActivate = (e) => {\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\n\t\t\t\tif (timeoutId > 0)\n\t\t\t\t{\n\t\t\t\t\tclearTimeout(timeoutId);\n\t\t\t\t}\n\n\t\t\t\ttimeoutId = setTimeout(() => {\n\t\t\t\t\tactive = false;\n\t\t\t\t\tthis.getContainer().classList.remove('feed-add-post-dnd-over');\n\t\t\t\t\tif (placeHolder)\n\t\t\t\t\t{\n\t\t\t\t\t\tplaceHolder.classList.remove('feed-add-post-micro-dnd-ready');\n\t\t\t\t\t}\n\t\t\t\t}, 100);\n\t\t\t\treturn false;\n\t\t\t};\n\t\t\tconst catchFiles = (e) => {\n\t\t\t\tdisActivate(e);\n\t\t\t\tif (e\n\t\t\t\t\t&& e['dataTransfer']\n\t\t\t\t\t&& e['dataTransfer']['types']\n\t\t\t\t\t&& e['dataTransfer']['types'].indexOf('Files') >= 0\n\t\t\t\t\t&& e['dataTransfer']['files']\n\t\t\t\t\t&& e['dataTransfer']['files'].length > 0\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'OnShowLHE', new BaseEvent({compatData: ['justShow', {onShowControllers: 'show'}]}));\n\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onFilesHaveCaught', new BaseEvent({data: e['dataTransfer']['files']}));\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t};\n\n\t\t\tthis.getContainer().addEventListener('dragover', activate);\n\t\t\tthis.getContainer().addEventListener('dragenter', activate);\n\t\t\tthis.getContainer().addEventListener('dragleave', disActivate);\n\t\t\tthis.getContainer().addEventListener('dragexit', disActivate);\n\t\t\tthis.getContainer().addEventListener('drop', catchFiles);\n\t\t\tthis.getContainer().setAttribute('dropzone', 'copy f:*\\/*');\n\t\t\tif (!document.body.hasAttribute('dropzone'))\n\t\t\t{\n\t\t\t\tdocument.body.setAttribute('dropzone', 'copy f:*/*');\n\t\t\t\tdocument.body.addEventListener('dragover', function(e){\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\t\t\t\tdocument.body.addEventListener('drop', function(e) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tif (e\n\t\t\t\t\t\t&& e['dataTransfer']\n\t\t\t\t\t\t&& e['dataTransfer']['types']\n\t\t\t\t\t\t&& e['dataTransfer']['types'].indexOf('Files') >= 0\n\t\t\t\t\t\t&& e['dataTransfer']['files']\n\t\t\t\t\t\t&& e['dataTransfer']['files'].length > 0\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tlet lhe;\n\t\t\t\t\t\tlet iteratorBuffer;\n\t\t\t\t\t\tconst iterator = this.constructor.#shownForms.keys();\n\t\t\t\t\t\twhile (\n\t\t\t\t\t\t\t(iteratorBuffer = iterator.next())\n\t\t\t\t\t\t\t&& iteratorBuffer.done !== true\n\t\t\t\t\t\t\t&& iteratorBuffer.value\n\t\t\t\t\t\t)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlhe = iteratorBuffer.value;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (lhe)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tEventEmitter.emit(lhe.getEventObject(), 'OnShowLHE', new BaseEvent({compatData: ['justShow', {onShowControllers: 'show'}]}));\n\t\t\t\t\t\t\tEventEmitter.emit(lhe.getEventObject(), 'onFilesHaveCaught', new BaseEvent({data: e['dataTransfer']['files']}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t}.bind(this));\n\t\t\t}\n\t\t\tif (placeHolder)\n\t\t\t{\n\t\t\t\tplaceHolder.addEventListener('dragenter', (e) => {\n\t\t\t\t\tactivate(e);\n\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'OnShowLHE', new BaseEvent({compatData: ['justShow', {onShowControllers: 'show'}]}));\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tEventEmitter.subscribe(this.getEditor(), 'OnIframeDrop', ({data: [e]}) => catchFiles(e));\n\t\t\tEventEmitter.subscribe(this.getEditor(), 'OnIframeDragOver', ({data: [e]}) => activate(e));\n\t\t\tEventEmitter.subscribe(this.getEditor(), 'OnIframeDragLeave', ({data: [e]}) => disActivate(e));\n\t\t})();\n\t\t//endregion\n\n\t\tEventEmitter.subscribe(htmlEditor, 'OnInsertContent', ({data: [text, html]}) => {\n\t\t\tthis.insertContent(text, html);\n\t\t});\n\n\t\t//region Visible customization\n\t\tshowPinButton(htmlEditor, this.editorParams);\n\t\tshowPanelEditor(this, htmlEditor, this.editorParams);\n\t\tshowUrlPreview(htmlEditor, this.editorParams);\n\n\t\tcustomizeHTMLEditor(this, htmlEditor);\n\t\tbindAutoSave(htmlEditor, BX(this.getFormId()));\n\t\tbindToolbar(this, htmlEditor);\n\t\t//endregion\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnAfterShowLHE', () => {\n\t\t\tthis.getEditor().AllowBeforeUnloadHandler();\n\t\t});\n\t\tEventEmitter.subscribe(this.getEventObject(), 'OnAfterHideLHE', () => {\n\t\t\tTasksLimit.hidePopup();\n\t\t\tthis.getEditor().DenyBeforeUnloadHandler();\n\t\t});\n\n\t\tEventEmitter.subscribe(\n\t\t\thtmlEditor,\n\t\t\t'OnIframeClick',\n\t\t\t() => {\n\t\t\t\tconst event = new MouseEvent('click', {\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcancelable: true,\n\t\t\t\t\tview: window,\n\t\t\t\t});\n\t\t\t\thtmlEditor.iframeView.container.dispatchEvent(event);\n\t\t\t}\n\t\t);\n\t}\n\n\tgetEditor()\n\t{\n\t\treturn this.htmlEditor;\n\t}\n\n\tgetFormId()\n\t{\n\t\treturn this.formId;\n\t}\n\n\tgetEventObject()\n\t{\n\t\treturn this.eventNode;\n\t}\n\n\tgetContainer()\n\t{\n\t\treturn this.eventNode;\n\t}\n\n\tgetToolbar(): Toolbar\n\t{\n\t\treturn this.toolbar;\n\t}\n\n\tOnEditorInitedBefore(htmlEditor)\n\t{\n\t\tthis.setEditor(htmlEditor);\n\t}\n\n\tOnCreateIframeAfter()\n\t{\n\t\tif (this.editorIsLoaded !== true)\n\t\t{\n\t\t\tthis.editorIsLoaded = true;\n\t\t\tthis.exec();\n\t\t\tEventEmitter.emit(this, 'OnEditorIsLoaded', []);\n\t\t}\n\t}\n\n\tget isReady()\n\t{\n\t\treturn this.editorIsLoaded;\n\t}\n\n\tOnEditorInitedAfter(htmlEditor)\n\t{\n\t\tif (!this.editorParams.lazyLoad)\n\t\t{\n\t\t\tEventEmitter.emit(this.getEventObject(),  'OnShowLHE', new BaseEvent({compatData: ['justShow', htmlEditor, false]}));\n\t\t}\n\n\t\tif (htmlEditor.sandbox && htmlEditor.sandbox.inited)\n\t\t{\n\t\t\tthis.OnCreateIframeAfter();\n\t\t}\n\t}\n\n\taddParser(parser: {\n\t\tid: string,\n\t\tinit: Function, // init(htmlEditor) {} // function to catch htmlEditor\n\t\tparse: Function, // parse(text) {}\n\t\tunparse: Function, // unparse(bxTag, oNode) {}\n\t})\n\t{\n\t\tthis.exec(() => {\n\t\t\tparser.init(this.getEditor());\n\t\t\tthis.getEditor().AddParser({\n\t\t\t\tname: parser.id,\n\t\t\t\tobj: {\n\t\t\t\t\tParse: (parserId, text) => {\n\t\t\t\t\t\treturn parser.parse(text)\n\t\t\t\t\t},\n\t\t\t\t\tUnParse: parser.unparse\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (!this['addParserAfterDebounced'])\n\t\t\t{\n\t\t\t\tthis.addParserAfterDebounced = Runtime.debounce(() => {\n\t\t\t\t\tthis.getEditor().SetContent(\n\t\t\t\t\t\tthis.getEditor().GetContent().replace(/&#91;/ig, \"[\").replace(/&#93;/ig, \"]\"),\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t}, 100);\n\t\t\t}\n\t\t\tthis.addParserAfterDebounced();\n\t\t});\n\t}\n\n\tinsertContent(text, html: ?string = null)\n\t{\n\t\tthis.exec(() => {\n\t\t\tconst editorMode = this.getEditor().GetViewMode();\n\t\t\tif (editorMode === 'wysiwyg')\n\t\t\t{\n\t\t\t\tthis.getEditor().InsertHtml(html||text );\n\t\t\t\tsetTimeout(this.getEditor().AutoResizeSceleton.bind(this.getEditor()), 500);\n\t\t\t\tsetTimeout(this.getEditor().AutoResizeSceleton.bind(this.getEditor()), 1000);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.getEditor().textareaView.Focus();\n\n\t\t\t\tif (!this.getEditor().bbCode)\n\t\t\t\t{\n\t\t\t\t\tconst doc = this.getEditor().GetIframeDoc();\n\t\t\t\t\tconst dummy = doc.createElement('DIV');\n\t\t\t\t\tdummy.style.display = 'none';\n\t\t\t\t\tdummy.innerHTML = text;\n\t\t\t\t\tdoc.body.appendChild(dummy);\n\n\t\t\t\t\ttext = this.getEditor().Parse(text, true, false);\n\n\t\t\t\t\tdummy.parentNode.removeChild(dummy);\n\t\t\t\t}\n\n\t\t\t\tthis.getEditor().textareaView.WrapWith('', '', text);\n\t\t\t}\n\t\t});\n\t}\n\n\treinit(text, data)\n\t{\n\t\tlet showControllers = 'hide';\n\t\tif (Type.isPlainObject(data) && Object.values(data).length)\n\t\t{\n\t\t\tObject.values(data).forEach((property) => {\n\t\t\t\tif (property && property['VALUE'])\n\t\t\t\t{\n\t\t\t\t\tshowControllers = 'show';\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', showControllers);\n\t\tEventEmitter.emit(this.getEventObject(),  'onReinitializeBefore', [text, data]);\n\n\t\tthis.getEditor().CheckAndReInit(Type.isString(text) ? text : '');\n\n\t\tBX.onCustomEvent(this.getEditor(), 'onReinitialize', [this, text, data]);\n\n\t\tif (this.editorParams['height'])\n\t\t{\n\t\t\tthis.oEditor.SetConfigHeight(this.editorParams['height']);\n\t\t\tthis.oEditor.ResizeSceleton();\n\t\t}\n\t}\n\n\tOnShowLHE({data, compatData})\n\t{\n\t\tlet [show, setFocus, FCFormId] = data || compatData;\n\t\tif (!this.getEditor() && window['BXHtmlEditor'])\n\t\t{\n\t\t\twindow['BXHtmlEditor'].Get(this.getId()).Init();\n\t\t}\n\t\tshow = (show === false || show === 'hide' || show === 'justShow') ? show : true;\n\n\t\tconst placeHolder = BX('micro' + (this.name||this.id));\n\t\tif (placeHolder)\n\t\t{\n\t\t\tplaceHolder.style.display = ((show === true || show === 'justShow') ? 'none' : 'block');\n\t\t}\n\n\t\tif (show === 'hide')\n\t\t{\n\t\t\tthis.constructor.#shownForms.delete(this);\n\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnBeforeHideLHE');\n\t\t\tif (this.getContainer().style.display === 'none')\n\t\t\t{\n\t\t\t\tEventEmitter.emit(this.getEventObject(), 'OnAfterHideLHE');\n\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', 'hide');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t(new BX['easing']({\n\t\t\t\t\tduration : 200,\n\t\t\t\t\tstart : { opacity: 100, height : this.getContainer().scrollHeight},\n\t\t\t\t\tfinish : { opacity : 0, height : 20},\n\t\t\t\t\ttransition : BX.easing.makeEaseOut(BX.easing.transitions.quad),\n\t\t\t\t\tstep : (state) => {\n\t\t\t\t\t\tthis.getContainer().style.height = state.height + 'px';\n\t\t\t\t\t\tthis.getContainer().style.opacity = state.opacity / 100;\n\t\t\t\t\t},\n\t\t\t\t\tcomplete: () => {\n\t\t\t\t\t\tthis.getContainer().style.cssText = '';\n\t\t\t\t\t\tthis.getContainer().style.display = 'none';\n\t\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'OnAfterHideLHE');\n\t\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', 'hide');\n\t\t\t\t\t}\n\t\t\t\t})).animate();\n\t\t\t}\n\t\t}\n\t\telse if (show)\n\t\t{\n\t\t\tthis.constructor.#shownForms.set(this);\n\n\t\t\tthis.formEntityType = (\n\t\t\t\tType.isArray(FCFormId)\n\t\t\t\t&& Type.isStringFilled(FCFormId[0])\n\t\t\t\t&& FCFormId[0].match(/^TASK_(\\d+)$/i)\n\t\t\t\t\t? 'task'\n\t\t\t\t\t: null\n\t\t\t);\n\n\t\t\tif (setFocus && Type.isPlainObject(setFocus))\n\t\t\t{\n\t\t\t\tif (setFocus['onShowControllers'])\n\t\t\t\t{\n\t\t\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', setFocus['onShowControllers']);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnBeforeShowLHE');\n\t\t\tif (show === 'justShow' || this.getContainer().style.display === 'block')\n\t\t\t{\n\t\t\t\tthis.getContainer().style.display = 'block';\n\t\t\t\tEventEmitter.emit(this.getEventObject(), 'OnAfterShowLHE'); //To remember: Here is set a text -> reinitData-> reinit -> editor.CheckAndReInit()\n\t\t\t\tif (setFocus !== false)\n\t\t\t\t{\n\t\t\t\t\tthis.getEditor().Focus();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.adjust(this.getContainer(), {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\theight: '20px',\n\t\t\t\t\t\topacity:0.1\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t(new BX['easing']({\n\t\t\t\t\tduration: 200,\n\t\t\t\t\tstart: { opacity: 10, height: 20 },\n\t\t\t\t\tfinish: { opacity: 100, height: this.getContainer().scrollHeight},\n\t\t\t\t\ttransition: BX.easing.makeEaseOut(BX.easing.transitions.quad),\n\t\t\t\t\tstep: (state) => {\n\t\t\t\t\t\tthis.getContainer().style.height = state.height + 'px';\n\t\t\t\t\t\tthis.getContainer().style.opacity = state.opacity / 100;\n\t\t\t\t\t},\n\t\t\t\t\tcomplete: () => {\n\t\t\t\t\t\tEventEmitter.emit(this.getEventObject(),  'OnAfterShowLHE'); //To remember: Here is set a text -> reinitData-> reinit -> editor.CheckAndReInit()\n\t\t\t\t\t\tthis.getEditor().Focus();\n\t\t\t\t\t\tthis.getContainer().style.cssText = \"\";\n\t\t\t\t\t}\n\t\t\t\t})).animate();\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.constructor.#shownForms.delete(this);\n\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnBeforeHideLHE');\n\t\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', 'hide');\n\t\t\tthis.getContainer().style.display = 'none';\n\t\t\tEventEmitter.emit(this.getEventObject(), 'OnAfterHideLHE');\n\t\t}\n\t}\n\n\tOnButtonClick({data: [action]})\n\t{\n\t\tif (action !== 'cancel')\n\t\t{\n\t\t\tconst res = {result : true};\n\t\t\tEventEmitter.emit(this.getEventObject(),  'OnClickBeforeSubmit', new BaseEvent({compatData: [this, res]}));\n\t\t\tif (res['result'] !== false)\n\t\t\t{\n\t\t\t\tEventEmitter.emit(this.getEventObject(),  'OnClickSubmit',  new BaseEvent({compatData: [this]}));\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tEventEmitter.emit(this.getEventObject(),  'OnClickCancel',  new BaseEvent({compatData: [this]}));\n\t\t\tEventEmitter.emit(this.getEventObject(),  'OnShowLHE',  new BaseEvent({compatData: ['hide']}));\n\t\t}\n\t}\n\n\t//region compatibility\n\texec(func, args)\n\t{\n\t\tif (typeof func == 'function')\n\t\t{\n\t\t\tthis.actionQueue.push([func, args]);\n\t\t}\n\n\t\tif (this.editorIsLoaded === true)\n\t\t{\n\t\t\tlet res;\n\t\t\twhile ((res = this.actionQueue.shift()) && res)\n\t\t\t{\n\t\t\t\tres[0].apply(this, res[1]);\n\t\t\t}\n\t\t}\n\t}\n\n\tget oEditor()\n\t{\n\t\treturn this.getEditor();\n\t}\n\n\tget oEditorId()\n\t{\n\t\treturn this.getId();\n\t}\n\n\tget formID()\n\t{\n\t\treturn this.getFormId();\n\t}\n\n\tget params()\n\t{\n\t\treturn {\n\t\t\tformID: this.getFormId()\n\t\t};\n\t}\n\n\tshowPanelEditor()\n\t{\n\t\tshowPanelEditor(this, this.getEditor(), {});\n\t}\n\n\tgetContent()\n\t{\n\t\treturn (this.oEditor ? this.oEditor.GetContent() : '');\n\t}\n\n\tsetContent(text)\n\t{\n\t\tif (this.getEditor())\n\t\t{\n\t\t\tthis.getEditor().SetContent(text);\n\t\t}\n\t}\n\n\tcontrollerInit(status)\n\t{\n\t\tEventEmitter.emit(this.getEventObject(), 'onShowControllers', status === 'hide' ? 'hide' : 'show');\n\t}\n\n\tget controllers()\n\t{\n\t\tconst event = new BaseEvent();\n\t\tconst data = {};\n\t\tevent.setData(data);\n\t\tEventEmitter.emit(this.getEventObject(), 'onCollectControllers', event);\n\t\tconst result = {};\n\t\tObject.keys(data).forEach((fieldName) => {\n\t\t\tresult[fieldName] = Object.assign({}, data[fieldName]);\n\t\t\tresult[fieldName]['values'] = {};\n\t\t\tif (Type.isArray(data[fieldName]['values']))\n\t\t\t{\n\t\t\t\tdata[fieldName]['values'].forEach((id) => {\n\t\t\t\t\tresult[fieldName]['values'][id] = {\n\t\t\t\t\t\tid : id,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t\telse if (Type.isPlainObject(data[fieldName]['values']))\n\t\t\t{\n\t\t\t\tresult[fieldName]['values'] =  Object.assign({}, data[fieldName]['values']);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tget arFiles()\n\t{\n\t\tconst event = new BaseEvent();\n\t\tconst data = {};\n\t\tevent.setData(data);\n\t\tEventEmitter.emit(this.getEventObject(), 'onCollectControllers', event);\n\t\tconst result = {};\n\t\tObject.keys(data).forEach((fieldName) => {\n\t\t\tif (data[fieldName]['values'])\n\t\t\t{\n\t\t\t\tdata[fieldName]['values'].forEach((id) => {\n\t\t\t\t\tresult[id] = [fieldName];\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\t//endregion\n\tstatic #shownForms = new Map();\n}\n","import {Type} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport Editor from \"./editor\";\nimport TasksLimit from \"./taskslimit\";\n\n\twindow['LHEPostForm'] = {\n\n\t\t//region compatibility\n\t\tgetEditor: function(editor)\n\t\t{\n\t\t\treturn (window[\"BXHtmlEditor\"] ? window[\"BXHtmlEditor\"].Get((typeof editor == \"object\" ? editor.id : editor)) : null);\n\t\t},\n\n\t\tgetHandler: function(editor)\n\t\t{\n\t\t\tconst id = Type.isStringFilled(editor) ? editor : editor.id;\n\t\t\treturn Editor.repo.get(id);\n\t\t},\n\n\t\tgetHandlerByFormId: function(formId)\n\t\t{\n\t\t\tlet result = null;\n\t\t\tEditor.repo.forEach((editor) => {\n\t\t\t\tif (editor.getFormId() === formId)\n\t\t\t\t{\n\t\t\t\t\tresult = editor;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t},\n\n\t\treinitData: function(editorID, text, data)\n\t\t{\n\t\t\tconst files = {};\n\t\t\tObject.entries(data).forEach(([userFieldName, userField]) => {\n\t\t\t\tif (Type.isPlainObject(userField)\n\t\t\t\t\t&& userField['USER_TYPE_ID']\n\t\t\t\t\t&& userField['VALUE']\n\t\t\t\t\t&& Object.values(userField['VALUE']).length > 0\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tfiles[userFieldName] = userField;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tconst handler = this.getHandler(editorID);\n\t\t\tif (handler && (handler.isReady || Type.isStringFilled(text) || Object.values(files).length > 0))\n\t\t\t{\n\t\t\t\thandler.exec(handler.reinit, [text, files]);\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\n\t\treinitDataBefore: function(editorID)\n\t\t{\n\t\t\tconst handler = Editor.repo.get(editorID);\n\t\t\tif (handler && handler.getEventObject())\n\t\t\t{\n\t\t\t\tEventEmitter.emit(handler.getEventObject(), 'onReinitializeBefore', [handler]);\n\t\t\t}\n\t\t}\n\t\t//endregion\n\t}\n\nexport {\n\tEditor as PostForm,\n\tTasksLimit as PostFormTasksLimit,\n}\n",null,null]}

Youez - 2016 - github.com/yon3zu
LinuXploit