Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/socialnetwork/post-form/dist/ |
Upload File : |
{"version":3,"file":"post-form.bundle.js","sources":["../src/post-data.js","../src/post-form-manager.js","../src/post-form-router.js","../src/post-form-tags.js","../src/post-form.js"],"sourcesContent":["import { Cache, Loc, Type } from 'main.core';\nimport { InitData, PostFormData } from './post-form';\n\nexport class PostData\n{\n\t#cache = new Cache.MemoryCache();\n\n\tconstructor(data: InitData)\n\t{\n\t\tthis.setData(data);\n\t}\n\n\tsetData(data: InitData)\n\t{\n\t\tthis.#cache.set('data', data);\n\t}\n\n\tsetFormData(formData: PostFormData)\n\t{\n\t\tconst currentData = this.#cache.get('data');\n\n\t\tthis.setData({\n\t\t\t...currentData,\n\t\t\t...formData,\n\t\t});\n\t}\n\n\tprepareRequestData(): Object\n\t{\n\t\treturn {\n\t\t\tPOST_TITLE: this.#getData('title'),\n\t\t\tPOST_MESSAGE: this.#getData('message'),\n\t\t\tDEST_DATA: this.#getData('recipients'),\n\t\t\tUF_BLOG_POST_FILE: this.#getData('fileIds'),\n\t\t\tTAGS: this.#getData('tags'),\n\t\t};\n\t}\n\n\tvalidateRequestData(): string\n\t{\n\t\tif (!this.getMessage())\n\t\t{\n\t\t\treturn Loc.getMessage('SN_PF_REQUEST_TEXT_VALIDATION_ERROR');\n\t\t}\n\n\t\tif (!this.getRecipients())\n\t\t{\n\t\t\treturn Loc.getMessage('SN_PF_REQUEST_RECIPIENTS_VALIDATION_ERROR');\n\t\t}\n\n\t\treturn '';\n\t}\n\n\tgetTitle(): string\n\t{\n\t\treturn Type.isStringFilled(this.#getData('title')) ? this.#getData('title') : '';\n\t}\n\n\tgetMessage(): string\n\t{\n\t\treturn Type.isStringFilled(this.#getData('message')) ? this.#getData('message') : '';\n\t}\n\n\tgetRecipients(): string\n\t{\n\t\treturn Type.isStringFilled(this.#getData('recipients')) ? this.#getData('recipients') : '';\n\t}\n\n\tsetRecipients(recipients: string): void\n\t{\n\t\tconst currentData = this.#cache.get('data');\n\n\t\tconst newData = { recipients };\n\n\t\tthis.setData({\n\t\t\t...currentData,\n\t\t\t...newData,\n\t\t});\n\t}\n\n\tgetAllUsersTitle(): string\n\t{\n\t\treturn this.#getData('allUsersTitle');\n\t}\n\n\tisAllowEmailInvitation(): boolean\n\t{\n\t\treturn this.#getData('allowEmailInvitation') === true;\n\t}\n\n\tisAllowToAll(): boolean\n\t{\n\t\treturn this.#getData('allowToAll') === true;\n\t}\n\n\t#getData(param: string): any\n\t{\n\t\treturn this.#cache.get('data')[param];\n\t}\n}\n","import { Dom, Event, Loc, Tag } from 'main.core';\nimport { BaseEvent, EventEmitter } from 'main.core.events';\n\ntype Params = {\n\tformId: string,\n\tLHEId: string,\n\tisShownPostTitle: boolean,\n}\n\nexport type MentionEntity = {\n\tname: string,\n\tentityId: number,\n\tavatar?: string,\n\temail?: string,\n\tisExtranet?: 'Y' | 'N',\n\tisEmail?: 'Y' | 'N',\n}\n\nexport class PostFormManager extends EventEmitter\n{\n\t#formId: string;\n\t#LHEId: string;\n\t#isShownPostTitle: boolean;\n\n\t#LHEPostForm: Object;\n\t#eventNode: HTMLElement;\n\t#showPostTitleBtn: HTMLElement;\n\t#editor: BXEditor;\n\t#userFieldControl: BX.Disk.Uploader.UserFieldControl;\n\t#blockFileShowEvent: boolean = false;\n\n\tconstructor(params: Params)\n\t{\n\t\tsuper();\n\n\t\tthis.setEventNamespace('BX.Socialnetwork.PostFormManager');\n\n\t\tthis.#formId = params.formId;\n\t\tthis.#LHEId = params.LHEId;\n\t\tthis.#isShownPostTitle = params.isShownPostTitle === true;\n\n\t\tEventEmitter.subscribe('OnEditorInitedAfter', (event: BaseEvent) => {\n\t\t\tconst [editor] = event.getData();\n\t\t\tthis.#editorInited(editor);\n\t\t});\n\n\t\tEventEmitter.subscribe('onMentionAdd', this.#addMention.bind(this));\n\t}\n\n\tinitLHE()\n\t{\n\t\tif (!window.LHEPostForm)\n\t\t{\n\t\t\tthrow new Error('BX.Socialnetwork.PostFormManager: LHEPostForm not found');\n\t\t}\n\n\t\tthis.#LHEPostForm = window.LHEPostForm;\n\n\t\tconst handler = this.#LHEPostForm.getHandler(this.#LHEId);\n\n\t\tthis.#eventNode = handler.eventNode;\n\n\t\tEventEmitter.emit(this.#eventNode, 'OnShowLHE', ['show']);\n\n\t\tthis.#appendButtonShowingPostTitle();\n\n\t\tthis.#userFieldControl = BX.Disk.Uploader.UserFieldControl.getById(this.#formId);\n\n\t\tEventEmitter.subscribe(this.#eventNode, 'onShowControllers', ({ data }) => {\n\t\t\tif (this.#blockFileShowEvent === false && data.toString() === 'show')\n\t\t\t{\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.emit('showControllers');\n\t\t\t\t}, 100);\n\t\t\t}\n\t\t\tthis.#blockFileShowEvent = false;\n\t\t});\n\n\t\tEventEmitter.subscribe(this.#eventNode, 'onShowControllers:File:Increment', ({ data }) => {\n\t\t\tthis.#blockFileShowEvent = true;\n\t\t});\n\t}\n\n\tgetEditorText(): string\n\t{\n\t\treturn this.#editor.GetContent();\n\t}\n\n\tclearEditorText(): void\n\t{\n\t\tEventEmitter.subscribeOnce(this.#editor, 'OnSetContentAfter', () => {\n\t\t\tthis.#editor.ResizeSceleton();\n\t\t});\n\n\t\tthis.#editor.SetContent('');\n\t}\n\n\tfocusToEditor()\n\t{\n\t\tif (this.#editor)\n\t\t{\n\t\t\tthis.#editor.Focus();\n\t\t}\n\t}\n\n\t#editorInited(editor)\n\t{\n\t\tif (editor.id === this.#LHEId)\n\t\t{\n\t\t\tthis.#editor = editor;\n\n\t\t\tthis.emit('editorInited');\n\n\t\t\tEventEmitter.subscribe(editor, 'OnFullscreenExpand', () => {\n\t\t\t\tthis.emit('fullscreenExpand');\n\t\t\t});\n\t\t}\n\t}\n\n\t#addMention(baseEvent: BaseEvent)\n\t{\n\t\tconst [\n\t\t\tentity: MentionEntity,\n\t\t\ttype: 'user' | 'project' | 'department',\n\t\t] = baseEvent.getCompatData();\n\n\t\tconst entityType = this.#getEntityType(type, entity);\n\n\t\tthis.emit('addMention', { type, entity, entityType });\n\t}\n\n\t#getEntityType(type: 'user' | 'project' | 'department', entity: MentionEntity): string\n\t{\n\t\tlet entityType = '';\n\t\tif (type === 'user')\n\t\t{\n\t\t\tif (entity.isExtranet === 'Y')\n\t\t\t{\n\t\t\t\tentityType = 'extranet';\n\t\t\t}\n\t\t\telse if (entity.isEmail === 'Y')\n\t\t\t{\n\t\t\t\tentityType = 'email';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tentityType = 'employee';\n\t\t\t}\n\t\t}\n\t\telse if (type === 'project')\n\t\t{\n\t\t\tif (entity.isExtranet === 'Y')\n\t\t\t{\n\t\t\t\tentityType = 'extranet';\n\t\t\t}\n\t\t}\n\n\t\treturn entityType;\n\t}\n\n\t#appendButtonShowingPostTitle()\n\t{\n\t\tconst activeClass = this.#isShownPostTitle ? 'feed-add-post-form-btn-active' : '';\n\n\t\tthis.#showPostTitleBtn = Tag.render`\n\t\t\t<div\n\t\t\t\tdata-id=\"sn-post-form-manager-show-title-btn\"\n\t\t\t\tclass=\"feed-add-post-form-title-btn ${activeClass}\"\n\t\t\t\ttitle=\"${Loc.getMessage('SN_PF_TITLE_PLACEHOLDER')}\"\n\t\t\t>\n\t\t\t</div>\n\t\t`;\n\n\t\tEvent.bind(this.#showPostTitleBtn, 'click', this.#toggleVisibilityPostTitle.bind(this));\n\n\t\tconst containerWithAdditionalButtons = this.#eventNode\n\t\t\t.querySelector('.feed-add-post-form-but-more-open')\n\t\t;\n\n\t\tDom.append(this.#showPostTitleBtn, containerWithAdditionalButtons);\n\t}\n\n\t#toggleVisibilityPostTitle()\n\t{\n\t\tthis.emit('toggleVisibilityPostTitle');\n\n\t\tthis.#isShownPostTitle = !this.#isShownPostTitle;\n\n\t\tDom.toggleClass(this.#showPostTitleBtn, 'feed-add-post-form-btn-active');\n\t}\n}\n","import { Type } from 'main.core';\n\ntype Params = {\n\tpathToDefaultRedirect: string,\n\tpathToGroupRedirect: string,\n}\n\nexport class PostFormRouter\n{\n\t#pathToDefaultRedirect: string;\n\t#pathToGroupRedirect: string;\n\n\tconstructor(params: Params)\n\t{\n\t\tthis.#pathToDefaultRedirect = Type.isString(params.pathToDefaultRedirect)\n\t\t\t? params.pathToDefaultRedirect\n\t\t\t: ''\n\t\t;\n\t\tthis.#pathToGroupRedirect = Type.isString(params.pathToGroupRedirect)\n\t\t\t? params.pathToGroupRedirect\n\t\t\t: ''\n\t\t;\n\t}\n\n\tredirectTo(groupId: number)\n\t{\n\t\tif (groupId)\n\t\t{\n\t\t\tif (this.#pathToGroupRedirect)\n\t\t\t{\n\t\t\t\ttop.BX.Socialnetwork.Spaces.space.reloadPageContent(\n\t\t\t\t\tthis.#pathToGroupRedirect.replace('#group_id#', groupId),\n\t\t\t\t);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttop.BX.Socialnetwork.Spaces.space.reloadPageContent();\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// eslint-disable-next-line no-lonely-if\n\t\t\tif (this.#pathToDefaultRedirect)\n\t\t\t{\n\t\t\t\ttop.BX.Socialnetwork.Spaces.space.reloadPageContent(this.#pathToDefaultRedirect);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttop.BX.Socialnetwork.Spaces.space.reloadPageContent();\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Dom, Type } from 'main.core';\n\nexport class PostFormTags\n{\n\t#formId: string;\n\t#form: HTMLElement;\n\n\tconstructor(formId: string, form: HTMLElement)\n\t{\n\t\tif (!Type.isString(formId) || !formId)\n\t\t{\n\t\t\tthrow new Error('BX.Socialnetwork.PostFormTags: formId not found');\n\t\t}\n\n\t\tif (!Type.isDomNode(form))\n\t\t{\n\t\t\tthrow new Error('BX.Socialnetwork.PostFormTags: form not found');\n\t\t}\n\n\t\tthis.#formId = formId;\n\t\tthis.#form = form;\n\t}\n\n\tisFilled(): boolean\n\t{\n\t\tconst input = this.#getInput();\n\n\t\treturn Type.isDomNode(input) && input.value;\n\t}\n\n\tgetValue(): string\n\t{\n\t\tconst input = this.#getInput();\n\n\t\tif (!Type.isDomNode(input))\n\t\t{\n\t\t\treturn '';\n\t\t}\n\n\t\treturn input.value;\n\t}\n\n\tclear()\n\t{\n\t\tthis.#getContainer()\n\t\t\t.querySelectorAll('.feed-add-post-del-but')\n\t\t\t.forEach((tag: HTMLElement) => {\n\t\t\t\ttag.click();\n\t\t\t})\n\t\t;\n\n\t\tthis.#hideContainer();\n\t}\n\n\t#getInput(): ?HTMLInputElement\n\t{\n\t\treturn this.#getContainer().querySelector('input[name=\"TAGS\"]');\n\t}\n\n\t#getContainer(): HTMLElement\n\t{\n\t\treturn this.#form.querySelector(`#post-tags-block-${this.#formId}`);\n\t}\n\n\t#hideContainer(): void\n\t{\n\t\tDom.style(this.#getContainer(), 'display', 'none');\n\t}\n}\n","import {\n\tajax,\n\tAjaxError,\n\tAjaxResponse,\n\tDom,\n\tLoc,\n\tReflection,\n\tRuntime,\n\tTag,\n\tText,\n\tType,\n} from 'main.core';\nimport { BaseEvent, EventEmitter } from 'main.core.events';\nimport { Popup } from 'main.popup';\nimport { TagSelector } from 'ui.entity-selector';\nimport { Button, ButtonColor } from 'ui.buttons';\nimport { UploaderFile } from 'ui.uploader.core';\nimport { PostData } from './post-data';\nimport { PostFormManager } from './post-form-manager';\nimport { PostFormRouter } from './post-form-router';\nimport { PostFormTags } from './post-form-tags';\n\nconst UserOptions = Reflection.namespace('BX.userOptions');\nconst NotificationCenter = Reflection.namespace('BX.UI.Notification.Center');\n\nimport 'ui.alerts';\nimport 'ui.notification';\nimport 'ui.icon-set.actions';\n\nimport './css/form.css';\n\ntype Params = {\n\tpostId?: number,\n\tgroupId?: number,\n\tpathToDefaultRedirect?: string,\n\tpathToGroupRedirect?: string,\n}\n\nexport type PostFormData = {\n\ttitle: string,\n\tmessage: string,\n\trecipients: string,\n\tfileIds: Array,\n\ttags: string,\n}\n\nexport type InitData = {\n\tisShownPostTitle: 'Y' | 'N',\n\ttitle?: string,\n\tmessage?: string,\n\trecipients?: string,\n\tfileIds?: Array<string | number>,\n\tallUsersTitle: string,\n\tallowEmailInvitation: boolean,\n\tallowToAll: boolean,\n}\n\nexport class PostForm extends EventEmitter\n{\n\t#postId: number;\n\t#groupId: number;\n\n\t#isShownPostTitle: boolean;\n\n\t#initData: InitData;\n\n\t#formId: string;\n\t#jsObjName: string;\n\t#LHEId: string;\n\t#sended: boolean;\n\t#editMode: boolean;\n\n\t#popup: Popup;\n\t#sendBtn: Button;\n\t#postData: PostData;\n\t#postFormManager: PostFormManager;\n\t#postFormRouter: PostFormRouter;\n\t#postFormTags: PostFormTags;\n\t#node: HTMLElement;\n\t#titleNode: HTMLElement;\n\t#recipientSelector: HTMLElement;\n\n\t#errorLayout: {\n\t\tcontainer: HTMLElement,\n\t\tmessage: HTMLElement,\n\t};\n\n\t#selector: TagSelector;\n\n\tconstructor(params: Params)\n\t{\n\t\tsuper();\n\n\t\tthis.setEventNamespace('BX.Socialnetwork.PostForm');\n\n\t\tthis.#postId = (\n\t\t\tType.isInteger(parseInt(params.postId, 10))\n\t\t\t\t? parseInt(params.postId, 10)\n\t\t\t\t: 0\n\t\t);\n\t\tthis.#groupId = (\n\t\t\tType.isInteger(parseInt(params.groupId, 10))\n\t\t\t\t? parseInt(params.groupId, 10)\n\t\t\t\t: 0\n\t\t);\n\n\t\tthis.#formId = `blogPostForm_${Text.getRandom().toLowerCase()}`;\n\t\tthis.#jsObjName = `oPostFormLHE_blogPostForm${this.#formId}`;\n\t\tthis.#LHEId = `idPostFormLHE_${this.#formId}`;\n\t\tthis.#sended = false;\n\t\tthis.#editMode = this.#postId > 0;\n\n\t\tthis.#postFormRouter = new PostFormRouter({\n\t\t\tpathToDefaultRedirect: params.pathToDefaultRedirect,\n\t\t\tpathToGroupRedirect: params.pathToGroupRedirect,\n\t\t});\n\n\t\tthis.#errorLayout = {};\n\t}\n\n\tshow(): Promise\n\t{\n\t\tif (this.#popup)\n\t\t{\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tthis.#popup.subscribeOnce('onShow', () => {\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\n\t\t\t\tthis.#popup.show();\n\t\t\t});\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.#init()\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.#createPopup();\n\n\t\t\t\t\tthis.#popup.subscribeOnce('onShow', () => {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.#popup.show();\n\t\t\t\t})\n\t\t\t\t.catch(() => reject())\n\t\t\t;\n\t\t});\n\t}\n\n\t#init(): Promise\n\t{\n\t\treturn ajax.runAction('socialnetwork.api.livefeed.blogpost.getPostFormInitData', {\n\t\t\tdata: {\n\t\t\t\tpostId: this.#postId,\n\t\t\t\tgroupId: this.#groupId,\n\t\t\t},\n\t\t})\n\t\t\t.then((response: AjaxResponse) => {\n\t\t\t\tthis.#initData = response.data;\n\n\t\t\t\tthis.#postData = new PostData(this.#initData);\n\n\t\t\t\tthis.#isShownPostTitle = this.#initData.isShownPostTitle === 'Y';\n\n\t\t\t\tthis.#postFormManager = new PostFormManager({\n\t\t\t\t\tformId: this.#formId,\n\t\t\t\t\tLHEId: this.#LHEId,\n\t\t\t\t\tisShownPostTitle: this.#isShownPostTitle,\n\t\t\t\t});\n\t\t\t\tthis.#postFormManager.subscribe(\n\t\t\t\t\t'editorInited',\n\t\t\t\t\tthis.#afterEditorInit.bind(this),\n\t\t\t\t);\n\t\t\t\tthis.#postFormManager.subscribe(\n\t\t\t\t\t'toggleVisibilityPostTitle',\n\t\t\t\t\tthis.#toggleVisibilityPostTitle.bind(this),\n\t\t\t\t);\n\t\t\t\tthis.#postFormManager.subscribe(\n\t\t\t\t\t'fullscreenExpand',\n\t\t\t\t\tthis.#changePostFormPosition.bind(this),\n\t\t\t\t);\n\t\t\t\tthis.#postFormManager.subscribe(\n\t\t\t\t\t'addMention',\n\t\t\t\t\tthis.#addMention.bind(this),\n\t\t\t\t);\n\t\t\t\tthis.#postFormManager.subscribe(\n\t\t\t\t\t'showControllers',\n\t\t\t\t\tthis.#showControllers.bind(this),\n\t\t\t\t);\n\n\t\t\t\treturn this;\n\t\t\t})\n\t\t\t.catch((error: AjaxError) => {\n\t\t\t\tthis.#consoleError('init', error);\n\t\t\t})\n\t\t;\n\t}\n\n\t#createPopup()\n\t{\n\t\tthis.#popup = new Popup(\n\t\t\t{\n\t\t\t\tid: this.#formId,\n\t\t\t\tclassName: 'sn-post-form-popup --normal',\n\t\t\t\tcontent: this.#renderForm(),\n\t\t\t\tcontentNoPaddings: true,\n\t\t\t\tminHeight: 370,\n\t\t\t\twidth: 720,\n\t\t\t\tdisableScroll: true,\n\t\t\t\tdraggable: false,\n\t\t\t\toverlay: true,\n\t\t\t\tpadding: 0,\n\t\t\t\tbuttons: [\n\t\t\t\t\tthis.#sendBtn = new Button({\n\t\t\t\t\t\ttext: Loc.getMessage('SN_PF_SEND_BTN'),\n\t\t\t\t\t\tcolor: ButtonColor.PRIMARY,\n\t\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\t\tthis.#sendForm();\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tnew Button({\n\t\t\t\t\t\ttext: Loc.getMessage('SN_PF_CANCEL_BTN'),\n\t\t\t\t\t\tcolor: ButtonColor.LINK,\n\t\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\t\tthis.#popup.close();\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\tevents: {\n\t\t\t\t\tonFirstShow: this.#firstShow.bind(this),\n\t\t\t\t\tonAfterShow: this.#onAfterShow.bind(this),\n\t\t\t\t\tonAfterClose: this.#afterClose.bind(this),\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t}\n\n\t#firstShow()\n\t{\n\t\tthis.#sendBtn.setWaiting(true);\n\n\t\tthis.#initRecipientSelector();\n\n\t\t// eslint-disable-next-line promise/catch-or-return\n\t\tthis.#renderMainPostForm()\n\t\t\t.then((runtimePromise: Promise) => {\n\t\t\t\t// eslint-disable-next-line promise/catch-or-return,promise/no-nesting\n\t\t\t\truntimePromise.then(() => {\n\t\t\t\t\tthis.#postFormManager.initLHE();\n\t\t\t\t});\n\t\t\t})\n\t\t;\n\t}\n\n\t#onAfterShow(): void\n\t{\n\t\tthis.#initTagsSelector();\n\n\t\tthis.#postFormManager.focusToEditor();\n\t}\n\n\t#afterClose()\n\t{\n\t\tif (this.#sended)\n\t\t{\n\t\t\tthis.#clearForm();\n\n\t\t\tif (BX.Livefeed && BX.Livefeed.PageInstance)\n\t\t\t{\n\t\t\t\tBX.Livefeed.PageInstance.refresh();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.#postFormRouter.redirectTo(this.#groupId);\n\t\t\t}\n\t\t}\n\t}\n\n\t#sendForm()\n\t{\n\t\tif (this.#sendBtn.isWaiting())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#hideError();\n\n\t\tthis.#postData.setFormData(this.#collectFormData());\n\t\tconst errorMessage = this.#postData.validateRequestData();\n\t\tif (errorMessage)\n\t\t{\n\t\t\tthis.#showError(errorMessage);\n\n\t\t\tthis.#postFormManager.focusToEditor();\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#sendBtn.setWaiting(true);\n\n\t\tconst action = `socialnetwork.api.livefeed.blogpost.${this.#postId ? 'update' : 'add'}`;\n\n\t\tconst data = this.#postId\n\t\t\t? {\n\t\t\t\tid: this.#postId,\n\t\t\t\tparams: this.#postData.prepareRequestData(),\n\t\t\t}\n\t\t\t: {\n\t\t\t\tparams: this.#postData.prepareRequestData(),\n\t\t\t}\n\t\t;\n\n\t\tajax.runAction(action, {\n\t\t\tdata,\n\t\t\tanalyticsLabel: {\n\t\t\t\tb24statAction: 'addLogEntry',\n\t\t\t\tb24statContext: 'spaces',\n\t\t\t},\n\t\t})\n\t\t\t.then((response: AjaxResponse) => {\n\t\t\t\tthis.#sended = true;\n\t\t\t\tthis.#popup.close();\n\t\t\t})\n\t\t\t.catch((error: AjaxError) => {\n\t\t\t\tthis.#sendBtn.setWaiting(false);\n\t\t\t\tthis.#consoleError('sendForm', error);\n\t\t\t})\n\t\t;\n\t}\n\n\t#clearForm(): void\n\t{\n\t\tthis.#postData.setData(this.#initData);\n\n\t\tthis.#clearSelector();\n\t\tthis.#titleNode.querySelector('input').value = '';\n\t\tthis.#postFormManager.clearEditorText();\n\t\tthis.#clearFiles();\n\t\tthis.#postFormTags.clear();\n\n\t\tthis.#sended = false;\n\n\t\tthis.#sendBtn.setWaiting(false);\n\t}\n\n\t#collectFormData(): PostFormData\n\t{\n\t\tconst postFormData = {\n\t\t\ttitle: this.#titleNode.querySelector('input').value,\n\t\t\tmessage: this.#postFormManager.getEditorText(),\n\t\t};\n\n\t\tpostFormData.recipients = this.#postData.getRecipients();\n\n\t\tconst fileIds = [];\n\t\tconst userFieldControl = BX.Disk.Uploader.UserFieldControl.getById(this.#formId);\n\t\tuserFieldControl.getFiles().forEach((file: UploaderFile) => {\n\t\t\tif (file.getServerFileId() !== null)\n\t\t\t{\n\t\t\t\tfileIds.push(file.getServerFileId());\n\t\t\t}\n\t\t});\n\t\tpostFormData.fileIds = fileIds;\n\n\t\tif (this.#postFormTags.isFilled())\n\t\t{\n\t\t\tpostFormData.tags = this.#postFormTags.getValue();\n\t\t}\n\n\t\treturn postFormData;\n\t}\n\n\t#clearFiles()\n\t{\n\t\tconst userFieldControl = BX.Disk.Uploader.UserFieldControl.getById(this.#formId);\n\n\t\tuserFieldControl.clear();\n\t\tuserFieldControl.hide();\n\t}\n\n\t#showError(message: string): void\n\t{\n\t\tDom.removeClass(this.#errorLayout.container, '--hidden');\n\n\t\tthis.#errorLayout.message.textContent = Text.encode(message);\n\t}\n\n\t#hideError(): void\n\t{\n\t\tDom.addClass(this.#errorLayout.container, '--hidden');\n\n\t\tthis.#errorLayout.message.textContent = '';\n\t}\n\n\t#renderMainPostForm(): Promise\n\t{\n\t\treturn ajax.runAction('socialnetwork.api.livefeed.blogpost.getMainPostForm', {\n\t\t\tdata: {\n\t\t\t\tparams: {\n\t\t\t\t\tformId: this.#formId,\n\t\t\t\t\tjsObjName: this.#jsObjName,\n\t\t\t\t\tLHEId: this.#LHEId,\n\t\t\t\t\tpostId: this.#postId,\n\t\t\t\t\ttext: this.#postData.getMessage(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\t\t.then((response: AjaxResponse) => {\n\t\t\t\treturn Runtime.html(\n\t\t\t\t\tthis.#node.querySelector('#sn-post-form'),\n\t\t\t\t\tresponse.data.html,\n\t\t\t\t\t{ htmlFirst: true },\n\t\t\t\t);\n\t\t\t})\n\t\t\t.catch((error: AjaxError) => {\n\t\t\t\tthis.#consoleError('afterShow', error);\n\t\t\t})\n\t\t;\n\t}\n\n\t#renderForm(): HTMLElement\n\t{\n\t\tthis.#node = Tag.render`\n\t\t\t<div class=\"sn-post-form__discussion\">\n\t\t\t\t${this.#renderErrorAlert()}\n\t\t\t\t${this.#renderRecipientSelector()}\n\t\t\t\t${this.#renderTitle()}\n\t\t\t\t<div id=\"sn-post-form\"></div>\n\t\t\t</div>\n\t\t`;\n\n\t\treturn this.#node;\n\t}\n\n\t#renderErrorAlert(): HTMLElement\n\t{\n\t\tconst { container, message } = Tag.render`\n\t\t\t<div\n\t\t\t\tclass=\"sn-post-form__discussion-error-alert ui-alert ui-alert-danger --hidden\"\n\t\t\t\tref=\"container\"\n\t\t\t>\n\t\t\t\t<span class=\"ui-alert-message\" ref=\"message\"></span>\n\t\t\t</div>\n\t\t`;\n\n\t\tthis.#errorLayout.container = container;\n\t\tthis.#errorLayout.message = message;\n\n\t\treturn container;\n\t}\n\n\t#renderRecipientSelector(): HTMLElement\n\t{\n\t\tthis.#recipientSelector = Tag.render`\n\t\t\t<div class=\"sn-post-form__discussion-row\"></div>\n\t\t`;\n\n\t\treturn this.#recipientSelector;\n\t}\n\n\t#initRecipientSelector(): TagSelector\n\t{\n\t\tconst selectorId = 'sn-post-form-recipient-selector';\n\n\t\tthis.#selector = new TagSelector({\n\t\t\tid: selectorId,\n\t\t\tdialogOptions: {\n\t\t\t\tid: selectorId,\n\t\t\t\tcontext: 'PostForm',\n\t\t\t\tpreselectedItems: (\n\t\t\t\t\tType.isStringFilled(this.#postData.getRecipients())\n\t\t\t\t\t\t? JSON.parse(this.#postData.getRecipients())\n\t\t\t\t\t\t: []\n\t\t\t\t),\n\t\t\t\tentities: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'meta-user',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t'all-users': {\n\t\t\t\t\t\t\t\ttitle: this.#postData.getAllUsersTitle(),\n\t\t\t\t\t\t\t\tallowView: this.#postData.isAllowToAll(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'user',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\temailUsers: this.#postData.isAllowEmailInvitation(),\n\t\t\t\t\t\t\tinviteGuestLink: this.#postData.isAllowEmailInvitation(),\n\t\t\t\t\t\t\tmyEmailUsers: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'project',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tfeatures: {\n\t\t\t\t\t\t\t\tblog: [\n\t\t\t\t\t\t\t\t\t'premoderate_post',\n\t\t\t\t\t\t\t\t\t'moderate_post',\n\t\t\t\t\t\t\t\t\t'write_post',\n\t\t\t\t\t\t\t\t\t'full_post',\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'department',\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tselectMode: 'usersAndDepartments',\n\t\t\t\t\t\t\tallowFlatDepartments: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tevents: {\n\t\t\t\t\t'Item:onSelect': () => {\n\t\t\t\t\t\tthis.#changeSelectedRecipients(this.#selector.getDialog().getSelectedItems());\n\t\t\t\t\t},\n\t\t\t\t\t'Item:onDeselect': () => {\n\t\t\t\t\t\tthis.#changeSelectedRecipients(this.#selector.getDialog().getSelectedItems());\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\tthis.#selector.renderTo(this.#recipientSelector);\n\n\t\treturn this.#selector;\n\t}\n\n\t#clearSelector()\n\t{\n\t\tDom.clean(this.#recipientSelector);\n\n\t\tthis.#initRecipientSelector();\n\t}\n\n\t#initTagsSelector()\n\t{\n\t\tif (!this.#postFormTags)\n\t\t{\n\t\t\tthis.#postFormTags = new PostFormTags(this.#formId, this.#node);\n\t\t}\n\t}\n\n\t#changeSelectedRecipients(selectedItems: Array): void\n\t{\n\t\tconst recipients = [];\n\n\t\tselectedItems.forEach((item) => {\n\t\t\trecipients.push([item.entityId, item.id]);\n\t\t});\n\n\t\tthis.#postData.setRecipients(recipients.length > 0 ? JSON.stringify(recipients) : '');\n\t}\n\n\t#renderTitle(): HTMLElement\n\t{\n\t\tconst uiClasses = 'ui-ctl ui-ctl-textbox ui-ctl-no-border ui-ctl-w100 ui-ctl-no-padding ui-ctl-xs';\n\t\tconst hiddenClass = this.#isShownPostTitle ? '' : '--hidden';\n\n\t\tthis.#titleNode = Tag.render`\n\t\t\t<div class=\"sn-post-form__discussion-row ${hiddenClass}\">\n\t\t\t\t<div class=\"${uiClasses}\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tclass=\"ui-ctl-element sn-post-form__discussion_title\"\n\t\t\t\t\t\tplaceholder=\"${Loc.getMessage('SN_PF_TITLE_PLACEHOLDER')}\"\n\t\t\t\t\t\tdata-id=\"sn-post-form-title-input\"\n\t\t\t\t\t\tvalue=\"${Text.encode(this.#postData.getTitle())}\"\n\t\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\n\t\treturn this.#titleNode;\n\t}\n\n\t#afterEditorInit()\n\t{\n\t\tthis.#sendBtn.setWaiting(false);\n\t}\n\n\t#toggleVisibilityPostTitle()\n\t{\n\t\tDom.toggleClass(this.#titleNode, '--hidden');\n\n\t\tconst isShown = !Dom.hasClass(this.#titleNode, '--hidden');\n\t\tif (isShown)\n\t\t{\n\t\t\tthis.#titleNode.querySelector('input').focus();\n\t\t}\n\n\t\tUserOptions.save('socialnetwork', 'postEdit', 'showTitle', (isShown ? 'Y' : 'N'));\n\t}\n\n\t#changePostFormPosition()\n\t{\n\t\tDom.toggleClass(this.#popup.getPopupContainer(), '--normal');\n\t}\n\n\t#addMention(baseEvent: BaseEvent)\n\t{\n\t\tconst { type, entity, entityType } = baseEvent.getData();\n\n\t\tthis.#selector\n\t\t\t.getDialog()\n\t\t\t.addItem({\n\t\t\t\tavatar: entity.avatar,\n\t\t\t\tcustomData: {\n\t\t\t\t\temail: Type.isStringFilled(entity.email) ? entity.email : '',\n\t\t\t\t},\n\t\t\t\tentityId: type,\n\t\t\t\tentityType: entityType,\n\t\t\t\tid: entity.entityId,\n\t\t\t\ttitle: entity.name,\n\t\t\t})\n\t\t\t.select()\n\t\t;\n\t}\n\n\t#showControllers(baseEvent: BaseEvent)\n\t{\n\t\tconst contentContainer = this.#popup.getContentContainer();\n\n\t\tcontentContainer.scrollTo({\n\t\t\ttop: contentContainer.scrollHeight - contentContainer.clientHeight,\n\t\t\tbehavior: 'smooth',\n\t\t});\n\t}\n\n\t#consoleError(action: string, error: AjaxError)\n\t{\n\t\t// todo\n\t\tNotificationCenter.notify({\n\t\t\tcontent: Loc.getMessage('SN_PF_REQUEST_ERROR'),\n\t\t});\n\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.error(`PostForm: ${action} error`, error);\n\t}\n}\n"],"names":["PostData","data","Cache","MemoryCache","setData","set","formData","currentData","get","POST_TITLE","POST_MESSAGE","DEST_DATA","UF_BLOG_POST_FILE","TAGS","getMessage","Loc","getRecipients","Type","isStringFilled","recipients","newData","param","PostFormManager","params","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","setEventNamespace","formId","LHEId","isShownPostTitle","EventEmitter","subscribe","event","getData","editor","_classPrivateMethodGet","bind","window","LHEPostForm","Error","handler","getHandler","eventNode","emit","BX","Disk","Uploader","UserFieldControl","getById","toString","setTimeout","GetContent","subscribeOnce","ResizeSceleton","SetContent","Focus","id","baseEvent","getCompatData","entity","type","entityType","isExtranet","isEmail","activeClass","Tag","render","Event","containerWithAdditionalButtons","querySelector","Dom","append","toggleClass","PostFormRouter","isString","pathToDefaultRedirect","pathToGroupRedirect","groupId","top","Socialnetwork","Spaces","space","reloadPageContent","replace","PostFormTags","form","isDomNode","input","value","querySelectorAll","forEach","tag","click","style","UserOptions","Reflection","namespace","NotificationCenter","PostForm","isInteger","parseInt","postId","Text","getRandom","toLowerCase","Promise","resolve","reject","show","then","ajax","runAction","response","error","Popup","className","content","contentNoPaddings","minHeight","width","disableScroll","draggable","overlay","padding","buttons","Button","text","color","ButtonColor","PRIMARY","onclick","LINK","close","events","onFirstShow","onAfterShow","onAfterClose","setWaiting","runtimePromise","initLHE","focusToEditor","Livefeed","PageInstance","refresh","redirectTo","isWaiting","setFormData","errorMessage","validateRequestData","action","prepareRequestData","analyticsLabel","b24statAction","b24statContext","clearEditorText","clear","postFormData","title","message","getEditorText","fileIds","userFieldControl","getFiles","file","getServerFileId","push","isFilled","tags","getValue","hide","removeClass","container","textContent","encode","addClass","jsObjName","Runtime","html","htmlFirst","selectorId","TagSelector","dialogOptions","context","preselectedItems","JSON","parse","entities","options","getAllUsersTitle","allowView","isAllowToAll","emailUsers","isAllowEmailInvitation","inviteGuestLink","myEmailUsers","features","blog","selectMode","allowFlatDepartments","getDialog","getSelectedItems","renderTo","clean","selectedItems","item","entityId","setRecipients","length","stringify","uiClasses","hiddenClass","getTitle","isShown","hasClass","focus","save","getPopupContainer","addItem","avatar","customData","email","name","select","contentContainer","getContentContainer","scrollTo","scrollHeight","clientHeight","behavior","notify","console"],"mappings":"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"}