File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/components/bitrix/main.post.form/templates/.default/script.js.map
Back
{"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/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","index","controller","controllers","get","element_id","doc_prefix","securityNode","getFormId","value","parseFile","file","set","has","deleteFile","stopImmediatePropagation","UploadDroppedFiles","getData","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","blob","getId","onCustomEvent","initVideoReceptionForTheFirstController","initImageReceptionForTheFirstController","onChange","complete","setTimeout","diskFileParser","fileToUpload","onSuccess","unsubscribe","Promise","resolve","reject","onFailed","getKnownParser","bindAutoSave","formNode","addCustomEvent","ob","FORM","setAttribute","Init","form_data","isNotEmptyString","CheckAndReInit","BXAUTOSAVE","removeAttribute","Prepare","showPanelEditor","editorParams","save","toolbar","IsShown","dom","toolbarCont","opacity","Show","classList","add","Hide","remove","userOptions","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","OnClick","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","isLimit","limitAnalyticsLabels","module","source","subject","close","Editor","options","ctrlEnterHandler","parsers","lazyLoad","tasksLimitExceeded","formId","eventNode","bxHtmlEditable","formEntityType","repo","isArray","Object","setEditorParams","bindEvents","Get","inited","jobs","counter","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","GLOBAL_TARGET","placeHolder","active","timeoutId","activate","clearTimeout","isFileTransfer","disActivate","catchFiles","onShowControllers","lhe","iteratorBuffer","iterator","constructor","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","adjust","overflow","res","args","actionQueue","status","setData","fieldName","getHandler","getHandlerByFormId","reinitData","editorID","userFieldName","userField","reinitDataBefore"],"mappings":"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Ive,OAAO,KAAKA,OAAO,CAACmF,OAAR,IAAmBf,cAAI,CAACC,cAAL,CAAoBnE,IAApB,CAAnB,IAAgD2X,MAAM,CAAC9S,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,GAnDsB;CAqDvB2X,EAAAA,gBAAgB,EAAE,0BAASH,QAAT,EAClB;CACC,QAAMve,OAAO,GAAGiX,MAAM,CAACU,IAAP,CAAYlP,GAAZ,CAAgB8V,QAAhB,CAAhB;;CACA,QAAIve,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,GA5DsB;;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;;ACl2CA","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, index) => {\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\tif (index === 0)\n\t\t\t\t{\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\tif (window['BfileFD' + cid])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twindow['BfileFD' + cid].agent.UploadDroppedFiles([...event.getData()])\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\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;","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 (\n\t\teditorParams.showPanelEditor !== true\n\t\t&& editorParams.showPanelEditor !== false\n\t)\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 {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\t\tisLimit: true,\n\t\t\tlimitAnalyticsLabels: {\n\t\t\t\tmodule: 'tasks',\n\t\t\t\tsource: 'postForm',\n\t\t\t\tsubject: 'auditor'\n\t\t\t}\n\t\t});\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 {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\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\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\tif (\n\t\t\t!Type.isArray(editorParams.parsers)\n\t\t\t&& Type.isPlainObject(editorParams.parsers)\n\t\t)\n\t\t{\n\t\t\teditorParams.parsers = Object.values(editorParams.parsers);\n\t\t}\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\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(/[/ig, \"[\").replace(/]/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\tif (!Type.isPlainObject(data))\n\t\t\t{\n\t\t\t\tdata = {};\n\t\t\t}\n\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]}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.25 |
proxy
|
phpinfo
|
Settings