Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/js/ui/mail/sender-selector/dist/
Upload File :
Current File : /var/www/homesaver/www/bitrix/js/ui/mail/sender-selector/dist/sender-selector.bundle.js.map

{"version":3,"file":"sender-selector.bundle.js","sources":["../src/sender-selector.js"],"sourcesContent":["import { Dom, Tag, Type, Event, ajax, Loc, Text } from 'main.core';\nimport { BaseEvent } from 'main.core.events';\nimport { Loader } from 'main.loader';\nimport { Dialog } from 'ui.entity-selector';\nimport { ProviderShowcase } from 'ui.mail.provider-showcase';\nimport { AliasEditor } from 'ui.mail.sender-editor';\nimport { Actions, Icon } from 'ui.icon-set.api.core';\nimport 'ui.icon-set.actions';\nimport './css/style.css';\n\ntype Options = {\n\tfieldValue?: string | null,\n\tfieldId?: string | null,\n\tfieldName?: string | null,\n\tselectCallback?: Function,\n\tmailboxes?: Array | null,\n\tisSenderAvailable?: boolean | null,\n};\n\ntype Sender = {\n\tid: number,\n\tname: string,\n\temail: string,\n\tformated?: string,\n};\n\nconst senderEntityId = 'sender';\nconst mailboxEntityId = 'mailbox';\n\nconst senderPrefix = 'S';\nconst mailboxPrefix = 'MB';\n\nexport class SenderSelector\n{\n\t#container: HTMLElement | null = null;\n\t#senderButton: HTMLElement | null = null;\n\t#senderButtonTextNode: HTMLElement | null = null;\n\t#loader: Loader;\n\t#isListUpdated: boolean = true;\n\t#isSenderAvailable: boolean = false;\n\n\tconstructor(options: Options)\n\t{\n\t\tthis.sender = (options.fieldValue?.length > 0) ? options.fieldValue : null;\n\t\tthis.fieldId = options.fieldId;\n\t\tthis.fieldName = options.fieldName;\n\t\tthis.#isSenderAvailable = options.isSenderAvailable ?? false;\n\t\tthis.#container = (this.fieldId && this.fieldName) ? this.#renderContainer() : null;\n\t\tthis.#createLoader();\n\t\tthis.#createSelector();\n\t\tthis.selectCallback = options.selectCallback;\n\t\tthis.mailboxes = options.mailboxes;\n\t\tif (this.mailboxes)\n\t\t{\n\t\t\tthis.#updateDialog(this.mailboxes);\n\t\t}\n\t}\n\n\trender(): HTMLElement | null\n\t{\n\t\treturn this.#container;\n\t}\n\n\trenderTo(targetContainer: HTMLElement): void\n\t{\n\t\tif (Type.isDomNode(targetContainer))\n\t\t{\n\t\t\tDom.append(this.#container, targetContainer);\n\t\t}\n\t}\n\n\tsetSender(\n\t\tsenderId: number | string | null = null,\n\t\tname: string | null = null,\n\t\temail: string | null = null,\n\t\ttype: string = senderEntityId,\n\t): void\n\t{\n\t\tconst prefix = type === mailboxEntityId ? mailboxPrefix : senderPrefix;\n\t\tthis.selectedItemId = senderId ? `${prefix}_${senderId}` : null;\n\t\tconst senderName = name;\n\t\tconst senderEmail = email;\n\t\tlet selectorText = '';\n\t\tif (senderName && senderEmail)\n\t\t{\n\t\t\tselectorText = `${senderName} <${senderEmail}>`;\n\t\t}\n\n\t\tif (this.selectCallback && !this.#container)\n\t\t{\n\t\t\tthis.selectCallback(selectorText, '');\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.#container)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = this.#container.querySelector('input');\n\t\tthis.sender = selectorText;\n\t\tthis.#senderButtonTextNode.innerText = (selectorText.length > 0) ? selectorText : Loc.getMessage('UI_MAIL_SENDER_SLIDER_SELECTOR_SELECT_NEW_SENDER');\n\t\tthis.#senderButtonTextNode.title = this.sender;\n\t\tDom.append(this.icon, this.#senderButton);\n\t\tinput.value = selectorText;\n\t}\n\n\t#createLoader(): void\n\t{\n\t\tthis.#loader = new Loader({\n\t\t\ttarget: this.#senderButton,\n\t\t\tsize: 17,\n\t\t\tmode: 'inline',\n\t\t});\n\t}\n\n\t#renderContainer(): HTMLElement\n\t{\n\t\tconst icon = new Icon({\n\t\t\ticon: Actions.CHEVRON_DOWN,\n\t\t\tcolor: getComputedStyle(document.body).getPropertyValue('--ui-color-base-80'),\n\t\t\tsize: 16,\n\t\t});\n\t\tthis.icon = icon.render();\n\n\t\tthis.#senderButtonTextNode = Tag.render`\n\t\t\t<div class=\"sender-selector-button-text\" title=\"${this.sender ?? ''}\">\n\t\t\t\t${this.sender ?? Loc.getMessage('UI_MAIL_SENDER_SLIDER_SELECTOR_SELECT_NEW_SENDER')}\n\t\t\t</div>\n\t\t`;\n\t\tthis.#senderButton = Tag.render`\n\t\t\t<div class=\"sender-selector-button\">\n\t\t\t\t${this.#senderButtonTextNode}\n\t\t\t\t${this.icon}\n\t\t\t</div>\n\t\t`;\n\n\t\tconst { root, senderInput } = Tag.render`\n\t\t\t<div>\n\t\t\t\t${this.#senderButton}\n\t\t\t\t<input type=\"hidden\"\n\t\t\t\t\tid=\"${this.fieldId}\"\n\t\t\t\t\tname=\"${this.fieldName}\"\n\t\t\t\t\tvalue=\"${this.sender ?? ''}\"\n\t\t\t\t\tref=\"senderInput\">\n\t\t\t</div>\n\t\t`;\n\n\t\tthis.senderInput = senderInput;\n\n\t\treturn root;\n\t}\n\n\t#createSelector(): void\n\t{\n\t\tconst footerHandler = () => {\n\t\t\tthis.senderDialog.hide();\n\t\t\tthis.showProviderShowcase();\n\t\t};\n\n\t\tconst footer = Tag.render`\n\t\t\t<span class=\"ui-selector-footer-link ui-selector-footer-link-add\" onclick=\"${footerHandler}\">${Loc.getMessage('UI_MAIL_SENDER_SLIDER_SELECTOR_ADD_NEW_MAILBOX')}</span>\n\t\t`;\n\n\t\tconst linkClickHandler = (baseEvent: BaseEvent) => {\n\t\t\tconst data = baseEvent.data;\n\t\t\tdata.event.preventDefault();\n\t\t\tconst item = data.node.getItem();\n\t\t\tconst dialog = item.getDialog();\n\t\t\tdialog.hide();\n\t\t\tconst customData = item.getCustomData();\n\t\t\tif (item.entityId === mailboxEntityId)\n\t\t\t{\n\t\t\t\tBX.SidePanel.Instance.open(\n\t\t\t\t\tcustomData.get('href'),\n\t\t\t\t\t{\n\t\t\t\t\t\twidth: 760,\n\t\t\t\t\t\tcacheable: false,\n\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\tonClose: () => {\n\t\t\t\t\t\t\t\tthis.setSender();\n\t\t\t\t\t\t\t\tvoid this.#updateSenderList();\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);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tAliasEditor.openSlider({\n\t\t\t\tsenderId: customData.get('id'),\n\t\t\t\temail: customData.get('email'),\n\t\t\t\tsetSenderCallback: (senderId: string | number, senderName: string, senderEmail: string) => {\n\t\t\t\t\tthis.setSender(senderId, senderName, senderEmail);\n\t\t\t\t},\n\t\t\t\tupdateSenderList: () => {\n\t\t\t\t\tvoid this.#updateSenderList();\n\t\t\t\t},\n\t\t\t});\n\t\t};\n\n\t\tthis.senderDialog = new Dialog({\n\t\t\ttargetNode: this.#senderButton,\n\t\t\twidth: 400,\n\t\t\theight: 300,\n\t\t\tmultiple: false,\n\t\t\tenableSearch: true,\n\t\t\tfooter,\n\t\t\tdropdownMode: true,\n\t\t\tshowAvatars: false,\n\t\t\tcompactView: true,\n\t\t\tevents: {\n\t\t\t\t'Item:onSelect': (event) => {\n\t\t\t\t\tconst { item: selectedItem } = event.getData();\n\t\t\t\t\tconst selectedItemName = selectedItem.getCustomData().get('name');\n\t\t\t\t\tconst selectedItemEmail = selectedItem.getCustomData().get('email');\n\t\t\t\t\tthis.setSender(selectedItem.id, selectedItemName, selectedItemEmail);\n\t\t\t\t},\n\t\t\t\t'ItemNode:onLinkClick': linkClickHandler,\n\t\t\t},\n\t\t});\n\n\t\tEvent.bind(this.#senderButton, 'click', () => {\n\t\t\tthis.showDialog();\n\t\t});\n\t}\n\n\t#updateDialog(senders: Sender[]): void\n\t{\n\t\tthis.senderDialog.removeItems();\n\t\tconst senderName = Tag.unsafe`${this.sender}`;\n\t\tsenders.forEach((sender: Sender) => {\n\t\t\tif (sender.id)\n\t\t\t{\n\t\t\t\tthis.#addSender(sender);\n\n\t\t\t\tif (!this.selectedItemId && senderName === `${sender.name} <${sender.email}>`)\n\t\t\t\t{\n\t\t\t\t\tthis.selectedItemId = this.#getSelectorSenderId(sender.id, sender.type);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tif (this.selectedItemId)\n\t\t{\n\t\t\tconst selectedItem = this.senderDialog.getItem({\n\t\t\t\tid: this.selectedItemId,\n\t\t\t\tentityId: this.#getSenderTypeByItemId(this.selectedItemId),\n\t\t\t});\n\t\t\tselectedItem?.select();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst items = this.senderDialog.getItems();\n\t\t\tif (items.length > 0)\n\t\t\t{\n\t\t\t\tthis.setSender(items[0].id, items[0].getCustomData().get('name'), items[0].getCustomData().get('email'));\n\t\t\t\titems[0].select();\n\t\t\t\tthis.selectedItemId = items[0].id;\n\t\t\t}\n\t\t}\n\t}\n\n\t#loadItems(): Promise\n\t{\n\t\treturn ajax.runAction('main.api.mail.sender.getAvailableSenders', {}).then((response) => {\n\t\t\treturn response.data;\n\t\t}).catch(() => {\n\t\t\treturn [];\n\t\t});\n\t}\n\n\tasync #updateSenderList(): Promise<void>\n\t{\n\t\tthis.#isListUpdated = false;\n\t\tthis.#showLoader();\n\t\tthis.senderDialog.removeItems();\n\n\t\ttry\n\t\t{\n\t\t\tconst senders = await this.#loadItems();\n\t\t\tif (senders)\n\t\t\t{\n\t\t\t\tthis.#updateDialog(senders);\n\t\t\t}\n\t\t}\n\t\tcatch\n\t\t{ /* empty */ }\n\n\t\tthis.#hideLoader();\n\t\tthis.#isListUpdated = true;\n\t}\n\n\t#addSender(sender: Sender): void\n\t{\n\t\tconst title = `${sender.name} <${sender.email}>`;\n\t\tconst id = this.#getSelectorSenderId(sender.id, sender.type);\n\t\tconst href = sender.type === mailboxEntityId ? sender.editHref : sender.id;\n\t\tthis.senderDialog.addItem({\n\t\t\tid,\n\t\t\ttabs: 'recents',\n\t\t\tentityId: sender.type === mailboxEntityId ? mailboxEntityId : senderEntityId,\n\t\t\tlink: href ? '#' : null,\n\t\t\tdeselectable: false,\n\t\t\tlinkTitle: Loc.getMessage('UI_MAIL_SENDER_SLIDER_SELECTOR_ITEM_LINK_TITLE'),\n\t\t\ttitle,\n\t\t\tcustomData: {\n\t\t\t\tname: sender.name,\n\t\t\t\temail: sender.email,\n\t\t\t\tid: sender.id,\n\t\t\t\tformated: sender.formated,\n\t\t\t\thref,\n\t\t\t},\n\t\t});\n\t}\n\n\tshowDialog(targetNode: HTMLElement | null = null, selectedSender: string | null = null): void\n\t{\n\t\tif (!this.#isListUpdated)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.senderDialog || (this.senderDialog.getItems().length === 0))\n\t\t{\n\t\t\tthis.showProviderShowcase();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (targetNode)\n\t\t{\n\t\t\tthis.senderDialog.setTargetNode(targetNode);\n\t\t}\n\n\t\tthis.senderDialog.show();\n\t}\n\n\tshowProviderShowcase(addSenderCallback?: Function): void\n\t{\n\t\tthis.addSenderCallback = addSenderCallback;\n\t\tProviderShowcase.openSlider({\n\t\t\tisSender: this.#isSenderAvailable,\n\t\t\taddSenderCallback,\n\t\t\tsetSenderCallback: (senderId: number | string, senderName: string, senderEmail: string) => {\n\t\t\t\tthis.setSender(senderId, senderName, senderEmail);\n\t\t\t},\n\t\t\tupdateSenderList: () => {\n\t\t\t\tvoid this.#updateSenderList();\n\t\t\t},\n\t\t});\n\t}\n\n\t#showLoader(): void\n\t{\n\t\tthis.#loader.show();\n\t\tDom.style(this.icon, 'display', 'none');\n\t}\n\n\t#hideLoader(): void\n\t{\n\t\tthis.#loader.hide();\n\t\tDom.style(this.icon, 'display', 'block');\n\t}\n\n\t#getSelectorSenderId(id: number | string, entityType: string): string\n\t{\n\t\treturn entityType === mailboxEntityId ? `${mailboxPrefix}_${id}` : `${senderPrefix}_${id}`;\n\t}\n\n\t#getSenderTypeByItemId(id: string): string\n\t{\n\t\tconst prefix = id.split('_')[0];\n\t\tswitch (prefix)\n\t\t{\n\t\t\tcase senderPrefix:\n\t\t\t\treturn senderEntityId;\n\t\t\tcase mailboxPrefix:\n\t\t\t\treturn mailboxEntityId;\n\t\t\tdefault:\n\t\t\t\treturn '';\n\t\t}\n\t}\n}\n"],"names":["senderEntityId","mailboxEntityId","senderPrefix","mailboxPrefix","SenderSelector","constructor","options","sender","fieldValue","length","fieldId","fieldName","isSenderAvailable","selectCallback","mailboxes","render","renderTo","targetContainer","Type","isDomNode","Dom","append","setSender","senderId","name","email","type","prefix","selectedItemId","senderName","senderEmail","selectorText","input","querySelector","innerText","Loc","getMessage","title","icon","value","showDialog","targetNode","selectedSender","senderDialog","getItems","showProviderShowcase","setTargetNode","show","addSenderCallback","ProviderShowcase","openSlider","isSender","setSenderCallback","updateSenderList","Loader","target","size","mode","Icon","Actions","CHEVRON_DOWN","color","getComputedStyle","document","body","getPropertyValue","Tag","root","senderInput","footerHandler","hide","footer","linkClickHandler","baseEvent","data","event","preventDefault","item","node","getItem","dialog","getDialog","customData","getCustomData","entityId","BX","SidePanel","Instance","open","get","width","cacheable","events","onClose","AliasEditor","Dialog","height","multiple","enableSearch","dropdownMode","showAvatars","compactView","selectedItem","getData","selectedItemName","selectedItemEmail","id","Event","bind","senders","removeItems","unsafe","forEach","select","items","ajax","runAction","then","response","catch","href","editHref","addItem","tabs","link","deselectable","linkTitle","formated","style","entityType","split"],"mappings":"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"}