Your IP : 216.73.216.86


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

{"version":3,"file":"provider-showcase.bundle.js","sources":["../src/provider-showcase.js"],"sourcesContent":["import { ajax, Dom, Event, Loc, Tag, Text } from 'main.core';\nimport { Layout } from 'ui.sidepanel.layout';\nimport { SmtpEditor, AliasEditor } from 'ui.mail.sender-editor';\nimport 'ui.info-helper';\nimport 'ui.forms';\nimport 'ui.sidepanel-content';\nimport 'ui.buttons';\nimport './css/style.css';\n\ntype ProvidersParams = {\n\toptions: ProvidersOptions,\n\tproviders?: Array<Provider>,\n};\n\ntype ProvidersOptions = {\n\tisModuleMailInstalled: boolean,\n\tcanConnectNewMailbox?: boolean,\n\tmailboxLimitSliderCode?: string,\n\tisMailToolAvailable?: boolean,\n\ttoolLimitSliderCode?: string | null,\n\tpromotionProviders?: Array<string>,\n\tisSmtpAvailable: boolean,\n\tisCloud: boolean,\n};\n\ntype Provider = {\n\ticon: string,\n\tname: string,\n\thref: string,\n}\n\ntype Options = {\n\tisSender: boolean,\n\taddSenderCallback?: Function,\n\tsetSenderCallback?: Function,\n\tupdateSenderList: () => void,\n}\n\nconst SidePanel = BX.SidePanel;\n\nconst showcaseSliderUrl = 'mailProviderShowcase';\nconst successMessage = 'mail-mailbox-config-success';\nconst imapServiceName = 'other';\nconst mailboxType = 'mailbox';\n\nexport class ProviderShowcase\n{\n\t#wasSenderUpdated: boolean = false;\n\tconstructor(options: Options = null)\n\t{\n\t\tthis.isSender = options.isSender ?? false;\n\t\tthis.setSenderCallback = options.setSenderCallback ?? null;\n\t\tthis.addSenderCallback = options.addSenderCallback ?? null;\n\t\tthis.updateSenderList = options.updateSenderList ?? null;\n\n\t\tthis.container = Tag.render`\n\t\t\t<div class=\"showcase-container\"></div>\n\t\t`;\n\t}\n\n\tstatic openSlider(options: Options): void\n\t{\n\t\tconst instance = new ProviderShowcase(options);\n\t\tconst onSliderMessage = function(event) {\n\t\t\tconst [sliderEvent] = event.getData();\n\t\t\tif (!sliderEvent)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst slider = SidePanel.Instance.getSlider(showcaseSliderUrl);\n\t\t\tif (!slider || sliderEvent.getEventId() !== successMessage)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst mailboxId = sliderEvent.data.id;\n\t\t\tif (!mailboxId)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tinstance.#wasSenderUpdated = true;\n\t\t\tslider.close();\n\t\t\ttop.BX.SidePanel.Instance.postMessage(window, sliderEvent.getEventId(), sliderEvent.data);\n\n\t\t\tajax.runAction(\n\t\t\t\t'main.api.mail.sender.getSenderByMailboxId',\n\t\t\t\t{\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tmailboxId,\n\t\t\t\t\t\tgetSenderWithoutSmtp: !instance.options.isCloud,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t)\n\t\t\t\t.then((response) => {\n\t\t\t\t\tconst data = response.data;\n\t\t\t\t\tif (!data)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tinstance.setSender(data.id, data.name, data.email);\n\t\t\t\t\tif (instance.addSenderCallback || data.type === mailboxType)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tAliasEditor.openSlider({\n\t\t\t\t\t\tsenderId: data.id,\n\t\t\t\t\t\temail: data.email,\n\t\t\t\t\t\tsetSenderCallback: instance.setSenderCallback,\n\t\t\t\t\t\tupdateSenderList: () => {\n\t\t\t\t\t\t\tvoid instance.updateSenderList();\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch(() => {})\n\t\t\t;\n\t\t};\n\n\t\tSidePanel.Instance.open(showcaseSliderUrl, {\n\t\t\twidth: 790,\n\t\t\tcacheable: false,\n\t\t\tcontentCallback: () => {\n\t\t\t\treturn Layout.createContent({\n\t\t\t\t\textensions: [\n\t\t\t\t\t\t'ui.mail.provider-showcase',\n\t\t\t\t\t],\n\t\t\t\t\ttitle: Loc.getMessage('UI_MAIL_PROVIDER_SHOWCASE_TITLE'),\n\t\t\t\t\tdesign: {\n\t\t\t\t\t\tsection: false,\n\t\t\t\t\t},\n\t\t\t\t\tcontent(): Promise\n\t\t\t\t\t{\n\t\t\t\t\t\treturn instance.load();\n\t\t\t\t\t},\n\t\t\t\t\tbuttons: () => {},\n\t\t\t\t});\n\t\t\t},\n\t\t\tevents: {\n\t\t\t\tonClose: () => {\n\t\t\t\t\ttop.BX.Event.EventEmitter.unsubscribe('SidePanel.Slider:onMessage', onSliderMessage);\n\t\t\t\t\tif (instance.updateSenderList && instance.#wasSenderUpdated)\n\t\t\t\t\t{\n\t\t\t\t\t\tinstance.updateSenderList();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\ttop.BX.Event.EventEmitter.subscribe('SidePanel.Slider:onMessage', onSliderMessage);\n\t}\n\n\tstatic renderTo(target: HTMLElement, options: Options): Promise\n\t{\n\t\tconst instance = new ProviderShowcase(options);\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tinstance.load()\n\t\t\t\t.then((container) => {\n\t\t\t\t\tDom.append(container, target);\n\t\t\t\t\tresolve(container);\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\treject();\n\t\t\t\t})\n\t\t\t;\n\t\t});\n\t}\n\n\tload(): Promise\n\t{\n\t\treturn ajax.runAction(\n\t\t\t'main.api.mail.mailproviders.getShowcaseParams',\n\t\t\t{\n\t\t\t\tdata: { isSender: this.isSender ? 1 : 0 },\n\t\t\t},\n\t\t)\n\t\t\t.then((response) => {\n\t\t\t\tthis.#createShowcase(response.data);\n\n\t\t\t\treturn this.container;\n\t\t\t})\n\t\t\t.catch(() => {})\n\t\t;\n\t}\n\n\t#createSmtpItemNode(): void\n\t{\n\t\tthis.smtpNode = Tag.render`\n\t\t\t<div class=\"mail-provider-item mail-provider-item-available\">\n\t\t\t\t<div class=\"mail-provider-img-container\">\n\t\t\t\t\t<div class=\"mail-provider-img-smtp\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mail-provider-item-title-container\">\n\t\t\t\t\t<span class=\"mail-provider-item-title\">${Loc.getMessage('UI_MAIL_PROVIDER_SMTP_TITLE')}</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t\tEvent.bind(this.smtpNode, 'click', () => {\n\t\t\tconst slider = BX.SidePanel.Instance.getTopSlider();\n\t\t\tif (slider)\n\t\t\t{\n\t\t\t\tSmtpEditor.openSlider({\n\t\t\t\t\tsetSenderCallback: (senderId?: string | number, senderName?: string, senderEmail?: string) => {\n\t\t\t\t\t\tif (this.setSenderCallback && senderId && senderName && senderEmail)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.setSenderCallback(senderId, senderName, senderEmail);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.updateSenderList();\n\t\t\t\t\t\tslider.close();\n\t\t\t\t\t},\n\t\t\t\t\taddSenderCallback: this.addSenderCallback,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tif (this.options.isMailToolAvailable && this.options.canConnectNewMailbox)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tDom.addClass(this.smtpNode, 'available-mail-provider-item');\n\t\tDom.attr(this.smtpNode, 'data-tag', Loc.getMessage('UI_MAIL_PROVIDER_AVAILABLE_TAG'));\n\t}\n\n\t#createShowcase(params: ProvidersParams): void\n\t{\n\t\tthis.options = params.options;\n\t\tthis.providers = params.providers;\n\t\tthis.showcaseNode = Tag.render`\n\t\t\t<div class=\"mail-provider-list\"></div>\n\t\t`;\n\t\tDom.append(this.showcaseNode, this.container);\n\t\tthis.#createProvidersList();\n\n\t\tif (!this.isSender || !this.options.isSmtpAvailable)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#createSmtpItemNode();\n\t\tconst firstProvider = this.showcaseNode.firstChild;\n\t\tif (!firstProvider || (this.options.canConnectNewMailbox && this.options.isMailToolAvailable))\n\t\t{\n\t\t\tDom.append(this.smtpNode, this.showcaseNode);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.insertBefore(this.smtpNode, firstProvider);\n\t\t}\n\n\t\tif (this.options.isModuleMailInstalled)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#createPromotionShowcase();\n\t}\n\n\t#createProvidersList(): void\n\t{\n\t\tif (!this.providers)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.providers.forEach((provider) => {\n\t\t\tconst key = this.#getProviderKey(provider.name);\n\t\t\tconst name = provider.name;\n\t\t\tconst { root, title } = Tag.render`\n\t\t\t\t<a class=\"mail-provider-item mail-provider-item-available\">\n\t\t\t\t\t<div class=\"mail-provider-img-container\">\n\t\t\t\t\t\t<div class=\"mail-provider-img ${this.#getProviderImgSrcClass(key)}\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"mail-provider-item-title-container\" ref=\"title\">\n\t\t\t\t\t\t<span class=\"mail-provider-item-title\">${Text.encode(this.#getProviderName(key) ?? (name[0].toUpperCase() + name.slice(1)))}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t`;\n\n\t\t\tif (provider.name === imapServiceName)\n\t\t\t{\n\t\t\t\tconst imapSubtitle = Tag.render`\n\t\t\t\t\t<span class=\"mail-provider-item-subtitle\">${Loc.getMessage('UI_MAIL_PROVIDER_IMAP_SUBTITLE')}</span>\n\t\t\t\t`;\n\t\t\t\tDom.append(imapSubtitle, title);\n\t\t\t}\n\n\t\t\tif (!this.options.isMailToolAvailable)\n\t\t\t{\n\t\t\t\tEvent.bind(root, 'click', () => {\n\t\t\t\t\tBX.UI.InfoHelper.show(this.options.toolLimitSliderCode);\n\t\t\t\t});\n\t\t\t}\n\t\t\telse if (this.options.canConnectNewMailbox)\n\t\t\t{\n\t\t\t\tEvent.bind(root, 'click', () => {\n\t\t\t\t\tSidePanel.Instance.open(\n\t\t\t\t\t\tprovider.href,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: 760,\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\telse\n\t\t\t{\n\t\t\t\tEvent.bind(root, 'click', () => {\n\t\t\t\t\tif (this.activeFeaturePromoter)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.activeFeaturePromoter.close();\n\t\t\t\t\t\tthis.activeFeaturePromoter = null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst featureRegistry = BX.Intranet ? BX.UI.FeaturePromotersRegistry : top.BX.UI.FeaturePromotersRegistry;\n\t\t\t\t\tthis.activeFeaturePromoter = featureRegistry.getPromoter({\n\t\t\t\t\t\tcode: this.options.mailboxLimitSliderCode,\n\t\t\t\t\t\tbindElement: title,\n\t\t\t\t\t});\n\t\t\t\t\tthis.activeFeaturePromoter.show();\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tDom.append(root, this.showcaseNode);\n\t\t\tif (!this.isSender || !this.options.isMailToolAvailable || !this.options.canConnectNewMailbox)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tDom.insertBefore(root, this.smtpNode);\n\t\t});\n\t}\n\n\t#createPromotionShowcase(): void\n\t{\n\t\tif (!this.options.promotionProviders)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tconst promotionMessage = Loc.getMessage(\n\t\t\t'UI_MAIL_PROMOTION_TEXT',\n\t\t\t{\n\t\t\t\t'[strong]': '<strong>',\n\t\t\t\t'[/strong]': '</strong>',\n\t\t\t},\n\t\t);\n\t\tconst { root, providerList } = Tag.render`\n\t\t\t<div class=\"promotion-showcase\">\n\t\t\t\t<div class=\"ui-alert ui-alert-icon-info ui-alert-primary\">\n\t\t\t\t\t<span class=\"ui-alert-message\">${promotionMessage}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mail-provider-list\" ref=\"providerList\" style=\"margin-top: 10px\"></div>\n\t\t\t</div>\n\t\t`;\n\t\tthis.promotionShowcaseNode = root;\n\n\t\tthis.options.promotionProviders.forEach((providerName) => {\n\t\t\tconst name = Text.encode(providerName);\n\t\t\tconst item = Tag.render`\n\t\t\t\t<a class=\"mail-provider-item mail-provider-item-unavailable\">\n\t\t\t\t\t<div class=\"mail-provider-img-container\">\n\t\t\t\t\t\t<div class=\"mail-provider-img ${this.#getProviderImgSrcClass(name)}\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"mail-provider-item-title-container\">\n\t\t\t\t\t\t<span class=\"mail-provider-item-title\">${Text.encode(this.#getProviderName(name) ?? (name[0].toUpperCase() + name.slice(1)))}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</a>\n\t\t\t`;\n\t\t\tDom.append(item, providerList);\n\t\t});\n\t\tDom.append(this.promotionShowcaseNode, this.container);\n\t}\n\n\tsetSender(id: number, senderName: string, senderEmail: string): void\n\t{\n\t\tconst name = senderName;\n\t\tconst email = senderEmail;\n\t\tif (this.setSenderCallback)\n\t\t{\n\t\t\tthis.setSenderCallback(id, name, email);\n\t\t}\n\n\t\tif (!this.addSenderCallback)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst mailbox = [];\n\t\tmailbox.name = name;\n\t\tmailbox.email = email;\n\t\tthis.addSenderCallback(mailbox);\n\t}\n\n\t#getProviderKey(name: string): string\n\t{\n\t\tswitch (name)\n\t\t{\n\t\t\tcase 'aol':\n\t\t\t\treturn 'aol';\n\t\t\tcase 'gmail':\n\t\t\t\treturn 'gmail';\n\t\t\tcase 'yahoo':\n\t\t\t\treturn 'yahoo';\n\t\t\tcase 'mail.ru':\n\t\t\tcase 'mailru':\n\t\t\t\treturn 'mailru';\n\t\t\tcase 'icloud':\n\t\t\t\treturn 'icloud';\n\t\t\tcase 'outlook.com':\n\t\t\tcase 'outlook':\n\t\t\t\treturn 'outlook';\n\t\t\tcase 'office365':\n\t\t\t\treturn 'office365';\n\t\t\tcase 'exchangeOnline':\n\t\t\tcase 'exchange':\n\t\t\t\treturn 'exchange';\n\t\t\tcase 'yandex':\n\t\t\t\treturn 'yandex';\n\t\t\tcase 'ukr.net':\n\t\t\t\treturn 'ukrnet';\n\t\t\tcase 'other':\n\t\t\tcase 'imap':\n\t\t\t\treturn 'other';\n\t\t\tdefault:\n\t\t\t\treturn '';\n\t\t}\n\t}\n\n\t#getProviderName(key: string): ?string\n\t{\n\t\tswitch (key)\n\t\t{\n\t\t\tcase 'aol':\n\t\t\t\treturn Loc.getMessage('UI_MAIL_PROVIDER_SERVICE_NAME_AOL');\n\t\t\tcase 'gmail':\n\t\t\t\treturn Loc.getMessage('UI_MAIL_PROVIDER_SERVICE_NAME_GMAIL');\n\t\t\tcase 'yahoo':\n\t\t\t\treturn Loc.getMessage('UI_MAIL_PROVIDER_SERVICE_NAME_YAHOO');\n\t\t\tcase 'mailru':\n\t\t\t\treturn Loc.getMessage('UI_MAIL_PROVIDER_SERVICE_NAME_MAILRU');\n\t\t\tcase 'icloud':\n\t\t\t\treturn Loc.getMessage('UI_MAIL_PROVIDER_SERVICE_NAME_ICLOUD');\n\t\t\tcase 'outlook':\n\t\t\t\treturn Loc.getMessage('UI_MAIL_PROVIDER_SERVICE_NAME_OUTLOOK');\n\t\t\tcase 'office365':\n\t\t\t\treturn Loc.getMessage('UI_MAIL_PROVIDER_SERVICE_NAME_OFFICE365');\n\t\t\tcase 'exchange':\n\t\t\t\treturn Loc.getMessage('UI_MAIL_PROVIDER_SERVICE_NAME_EXCHANGE');\n\t\t\tcase 'yandex':\n\t\t\t\treturn Loc.getMessage('UI_MAIL_PROVIDER_SERVICE_NAME_YANDEX');\n\t\t\tcase 'other':\n\t\t\t\treturn Loc.getMessage('UI_MAIL_PROVIDER_SERVICE_NAME_IMAP');\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t}\n\n\t#getProviderImgSrcClass(name: string): string\n\t{\n\t\treturn `mail-provider-${name}-img`;\n\t}\n}\n"],"names":["SidePanel","BX","showcaseSliderUrl","successMessage","imapServiceName","mailboxType","ProviderShowcase","constructor","options","isSender","setSenderCallback","addSenderCallback","updateSenderList","container","Tag","render","openSlider","instance","onSliderMessage","event","sliderEvent","getData","slider","Instance","getSlider","getEventId","mailboxId","data","id","close","top","postMessage","window","ajax","runAction","getSenderWithoutSmtp","isCloud","then","response","setSender","name","email","type","AliasEditor","senderId","catch","open","width","cacheable","contentCallback","Layout","createContent","extensions","title","Loc","getMessage","design","section","content","load","buttons","events","onClose","Event","EventEmitter","unsubscribe","subscribe","renderTo","target","Promise","resolve","reject","Dom","append","senderName","senderEmail","mailbox","smtpNode","bind","getTopSlider","SmtpEditor","isMailToolAvailable","canConnectNewMailbox","addClass","attr","params","providers","showcaseNode","isSmtpAvailable","firstProvider","firstChild","insertBefore","isModuleMailInstalled","forEach","provider","key","root","Text","encode","toUpperCase","slice","imapSubtitle","UI","InfoHelper","show","toolLimitSliderCode","href","activeFeaturePromoter","featureRegistry","Intranet","FeaturePromotersRegistry","getPromoter","code","mailboxLimitSliderCode","bindElement","promotionProviders","promotionMessage","providerList","promotionShowcaseNode","providerName","item"],"mappings":"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"}