{"version":3,"sources":["./src/ui/ShareQuery/ShareQuery.ts","./sass/_ShareQuery.scss"],"names":[],"mappings":"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","file":"ShareQuery__d2b01b0f173a0c131e66.js","sourcesContent":["import { Component } from '../Base/Component';\nimport { IComponentBindings } from '../Base/ComponentBindings';\nimport { SettingsEvents } from '../../events/SettingsEvents';\nimport { ISettingsPopulateMenuArgs } from '../Settings/Settings';\nimport { $$ } from '../../utils/Dom';\nimport { l } from '../../strings/Strings';\nimport { Utils } from '../../utils/Utils';\nimport { Initialization } from '../Base/Initialization';\nimport { exportGlobally } from '../../GlobalExports';\nimport { ModalBox as ModalBoxModule } from '../../ExternalModulesShim';\n\nimport 'styling/_ShareQuery';\nimport { SVGIcons } from '../../utils/SVGIcons';\n\nexport interface IShareQueryOptions {}\n\n/**\n * The ShareQuery component populates the {@link Settings} popup menu with the **Share Query** menu item. When the end\n * user clicks this item, it displays a panel containing two input boxes: one containing a shareable link and the other\n * containing the complete current query expression.\n */\nexport class ShareQuery extends Component {\n static ID = 'ShareQuery';\n static options: IShareQueryOptions = {};\n\n static doExport = () => {\n exportGlobally({\n ShareQuery: ShareQuery\n });\n };\n\n public dialogBoxContent: HTMLElement;\n private linkToThisQuery: HTMLInputElement;\n private completeQuery: HTMLInputElement;\n private modalbox: Coveo.ModalBox.ModalBox;\n\n /**\n * Creates a new ShareQuery component.\n * @param element The HTMLElement on which to instantiate the component.\n * @param options The options for the ShareQuery component.\n * @param bindings The bindings that the component requires to function normally. If not set, these will be\n * automatically resolved (with a slower execution time).\n */\n constructor(\n public element: HTMLElement,\n public options: IShareQueryOptions,\n bindings?: IComponentBindings,\n private ModalBox = ModalBoxModule\n ) {\n super(element, ShareQuery.ID, bindings);\n\n this.bind.onRootElement(SettingsEvents.settingsPopulateMenu, (args: ISettingsPopulateMenuArgs) => {\n args.menuData.push({\n className: 'coveo-share-query',\n text: l('ShareQuery'),\n onOpen: () => this.open(),\n onClose: () => this.close(),\n svgIcon: SVGIcons.icons.dropdownShareQuery,\n svgIconClassName: 'coveo-share-query-svg'\n });\n });\n }\n\n /**\n * Open the **Share Query** modal box.\n */\n public open() {\n if (this.modalbox == null) {\n this.dialogBoxContent = this.buildContent();\n this.modalbox = this.ModalBox.open(this.dialogBoxContent, {\n title: l('ShareQuery'),\n className: 'coveo-share-query-opened',\n body: this.searchInterface.options.modalContainer\n });\n }\n }\n\n /**\n * Close the **Share Query** modal box.\n */\n public close() {\n if (this.modalbox) {\n this.modalbox.close();\n this.modalbox = null;\n }\n }\n\n /**\n * Gets the link to the current query.\n */\n public getLinkToThisQuery(): string {\n if (!this.linkToThisQuery) {\n this.buildLinkToThisQuery();\n }\n return this.linkToThisQuery.value;\n }\n\n /**\n * Sets the link to the current query.\n */\n public setLinkToThisQuery(link: string): void {\n if (!this.linkToThisQuery) {\n this.buildLinkToThisQuery();\n }\n this.linkToThisQuery.value = link;\n }\n\n /**\n * Gets the complete query expression string\n */\n public getCompleteQuery(): string {\n if (!this.completeQuery) {\n this.buildCompleteQuery();\n }\n return this.completeQuery.value;\n }\n\n /**\n * Set the complete query expression string.\n */\n public setCompleteQuery(completeQuery: string) {\n if (!this.completeQuery) {\n this.buildCompleteQuery();\n }\n this.completeQuery.value = completeQuery;\n }\n\n private outputIfNotNull(value: string): string {\n if (value) {\n return '(' + value + ')';\n }\n return '';\n }\n\n private buildContent(): HTMLElement {\n const content = $$('div', {\n className: 'coveo-share-query-summary-info'\n }).el;\n\n const boxes = $$('div', {\n className: 'coveo-share-query-summary-info-boxes'\n }).el;\n\n this.buildLinkToThisQuery();\n this.buildCompleteQuery();\n\n boxes.appendChild(this.buildTextBoxWithLabel(l('Link'), this.linkToThisQuery));\n boxes.appendChild(this.buildTextBoxWithLabel(l('CompleteQuery'), this.completeQuery));\n content.appendChild(boxes);\n\n Component.pointElementsToDummyForm(content);\n\n return content;\n }\n\n private buildCompleteQuery() {\n this.completeQuery = <HTMLInputElement>$$('input', {\n type: 'text',\n className: 'coveo-share-query-summary-info-input'\n }).el;\n\n const lastQuery = this.queryController.getLastQuery();\n this.completeQuery.value = Utils.trim(\n `${this.outputIfNotNull(lastQuery.q)} ${this.outputIfNotNull(lastQuery.aq)} ${this.outputIfNotNull(lastQuery.cq)}`\n );\n }\n\n private buildLinkToThisQuery() {\n this.linkToThisQuery = <HTMLInputElement>$$('input', {\n type: 'text',\n className: 'coveo-share-query-summary-info-input'\n }).el;\n\n $$(this.linkToThisQuery).on('click', () => this.linkToThisQuery.select());\n this.linkToThisQuery.value = window.location.href;\n }\n\n private buildTextBoxWithLabel(label: string, input: HTMLInputElement): HTMLElement {\n const labelElement = $$('span', {\n className: 'coveo-share-query-summary-info-label'\n });\n labelElement.text(label);\n\n const returnDiv = $$('div').el;\n returnDiv.appendChild(labelElement.el);\n returnDiv.appendChild(input);\n return returnDiv;\n }\n}\n\nInitialization.registerAutoCreateComponent(ShareQuery);\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/ShareQuery/ShareQuery.ts","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./sass/_ShareQuery.scss\n// module id = 670\n// module chunks = 61 88"],"sourceRoot":""}