{"version":3,"sources":["./src/ui/QuerySummary/QuerySummary.ts","./src/events/QuerySummaryEvents.ts","./sass/_QuerySummary.scss"],"names":[],"mappings":"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","file":"QuerySummary__d2b01b0f173a0c131e66.js","sourcesContent":["import 'styling/_QuerySummary';\nimport { escape } from 'underscore';\nimport { IQuerySuccessEventArgs, QueryEvents } from '../../events/QueryEvents';\nimport { QuerySummaryEvents } from '../../events/QuerySummaryEvents';\nimport { exportGlobally } from '../../GlobalExports';\nimport { Assert } from '../../misc/Assert';\nimport { QueryStateModel } from '../../models/QueryStateModel';\nimport { l } from '../../strings/Strings';\nimport { $$ } from '../../utils/Dom';\nimport { QuerySummaryUtils } from '../../utils/QuerySummaryUtils';\nimport { analyticsActionCauseList, IAnalyticsNoMeta } from '../Analytics/AnalyticsActionListMeta';\nimport { Component } from '../Base/Component';\nimport { IComponentBindings } from '../Base/ComponentBindings';\nimport { ComponentOptions } from '../Base/ComponentOptions';\nimport { Initialization } from '../Base/Initialization';\nimport { AccessibleButton } from '../../utils/AccessibleButton';\n\nexport interface IQuerySummaryOptions {\n  onlyDisplaySearchTips?: boolean;\n  enableNoResultsFoundMessage?: boolean;\n  noResultsFoundMessage?: string;\n  enableCancelLastAction?: boolean;\n  enableSearchTips?: boolean;\n}\n\nexport const noResultsCssClass: string = 'coveo-show-if-no-results';\n\n/**\n * The QuerySummary component can display information about the currently displayed range of results (e.g., \"Results\n * 1-10 of 123\").\n *\n * When the query does not match any items, the QuerySummary component can instead display information to the end users.\n *\n * The information displayed to the end user is customizable through this component.\n */\nexport class QuerySummary extends Component {\n  static ID = 'QuerySummary';\n\n  static doExport = () => {\n    exportGlobally({\n      QuerySummary: QuerySummary\n    });\n  };\n\n  /**\n   * Options for the component\n   * @componentOptions\n   */\n  static options: IQuerySummaryOptions = {\n    /**\n     * Specifies whether to hide the number of returned results.\n     *\n     * When this option is set to true, the number of returned results will be hidden from the page, meaning that your end users will not know how many results were returned for their query.\n     *\n     * Default value is `false`.\n     */\n    onlyDisplaySearchTips: ComponentOptions.buildBooleanOption({ defaultValue: false }),\n\n    /**\n     * Specifies whether to display the {@link QuerySummary.options.noResultsFoundMessage} message when there are no search results.\n     *\n     * Default value is `true`.\n     *\n     * @availablesince [August 2018 Release (v2.4609.6)](https://docs.coveo.com/410/#august-2018-release-v246096)\n     */\n    enableNoResultsFoundMessage: ComponentOptions.buildBooleanOption({ defaultValue: true }),\n\n    /**\n     * Specifies a custom message to display when there are no search results.\n     *\n     * You can refer to the query the end user has entered using the `${query}` query tag.\n     *\n     * **Example**\n     * > For the `noResultFoundMessage` option, you enter `There were no results found for \"${query}\"`.\n     * > Your end user searches for `query without results`, which does not return any result.\n     * > On your page, they see this message: `There were no results found for \"query without results\"`.\n     *\n     * Default value is `No results for ${query}`.\n     *\n     * **Note**\n     * > If there is no query, the value will fallback to `No results`.\n     *\n     * @availablesince [August 2018 Release (v2.4609.6)](https://docs.coveo.com/410/#august-2018-release-v246096)\n     */\n    noResultsFoundMessage: ComponentOptions.buildLocalizedStringOption({\n      localizedString: () => l('noResultFor', '${query}'),\n      depend: 'enableNoResultsFoundMessage',\n      postProcessing: (value: string) => {\n        return escape(value);\n      }\n    }),\n\n    /**\n     * Specifies whether to display the `Cancel last action` link when there are no search results.\n     *\n     * When clicked, the link restores the previous query that contained results.\n     *\n     * Default value is `true`.\n     */\n    enableCancelLastAction: ComponentOptions.buildBooleanOption({ defaultValue: true }),\n\n    /**\n     * Specifies whether to display search tips when there are no search results.\n     *\n     * Default value is `true`.\n     */\n    enableSearchTips: ComponentOptions.buildBooleanOption({ defaultValue: true })\n  };\n\n  private textContainer: HTMLElement;\n  private lastKnownGoodState: any;\n  private noResultsSnapshot: string;\n\n  /**\n   * Creates a new QuerySummary component.\n   * @param element The HTMLElement on which to instantiate the component.\n   * @param options The options for the QuerySummary 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(public element: HTMLElement, public options?: IQuerySummaryOptions, bindings?: IComponentBindings) {\n    super(element, QuerySummary.ID, bindings);\n\n    this.options = ComponentOptions.initComponentOptions(element, QuerySummary, options);\n    this.bind.onRootElement(QueryEvents.querySuccess, (data: IQuerySuccessEventArgs) => this.handleQuerySuccess(data));\n    this.bind.onRootElement(QueryEvents.queryError, () => this.hide());\n    this.hide();\n    this.textContainer = $$('span').el;\n    $$(this.element).prepend(this.textContainer);\n  }\n\n  private hide() {\n    $$(this.element).addClass('coveo-hidden');\n  }\n\n  private show() {\n    $$(this.element).removeClass('coveo-hidden');\n  }\n\n  private render(data: IQuerySuccessEventArgs) {\n    $$(this.textContainer).empty();\n    this.show();\n\n    this.updateNoResultsSnapshot();\n    this.hideNoResultsPage();\n\n    if (!this.options.onlyDisplaySearchTips) {\n      this.updateSummaryIfResultsWereReceived(data);\n    }\n\n    const queryResults = data.results;\n\n    if (queryResults.exception != null && queryResults.exception.code != null) {\n      const code: string = ('QueryException' + queryResults.exception.code).toLocaleString();\n      this.textContainer.innerHTML = l('QueryException', code);\n    } else if (queryResults.results.length == 0) {\n      this.updateQueryTagsInNoResultsContainer();\n      this.displayInfoOnNoResults();\n    } else {\n      this.lastKnownGoodState = this.queryStateModel.getAttributes();\n    }\n  }\n\n  private handleQuerySuccess(data: IQuerySuccessEventArgs) {\n    Assert.exists(data);\n    this.render(data);\n  }\n\n  private updateSummaryIfResultsWereReceived(data: IQuerySuccessEventArgs) {\n    if (!data.results.results.length) {\n      return;\n    }\n\n    const message = QuerySummaryUtils.htmlMessage(this.root, data);\n    this.textContainer.innerHTML = message;\n  }\n\n  private updateNoResultsSnapshot() {\n    const noResultsContainer = this.getNoResultsContainer();\n    if (this.noResultsSnapshot == null && noResultsContainer) {\n      this.noResultsSnapshot = noResultsContainer.innerHTML;\n    }\n  }\n\n  private updateQueryTagsInNoResultsContainer() {\n    const noResultsContainer = this.getNoResultsContainer();\n    if (noResultsContainer) {\n      noResultsContainer.innerHTML = this.replaceQueryTagsWithHighlightedQuery(this.noResultsSnapshot);\n    }\n  }\n\n  private replaceQueryTagsWithHighlightedQuery(template: string) {\n    const highlightedQuery = `<span class=\"coveo-highlight\">${this.sanitizedQuery}</span>`;\n    return QuerySummaryUtils.replaceQueryTags(template, highlightedQuery);\n  }\n\n  private get sanitizedQuery() {\n    return escape(this.queryStateModel.get(QueryStateModel.attributesEnum.q));\n  }\n\n  private displayInfoOnNoResults() {\n    this.showNoResultsPage();\n\n    if (this.options.enableNoResultsFoundMessage) {\n      const noResultsFoundMessage = this.getNoResultsFoundMessageElement();\n      this.textContainer.appendChild(noResultsFoundMessage.el);\n    }\n\n    if (this.options.enableCancelLastAction) {\n      const cancelLastAction = this.getCancelLastActionElement();\n      this.textContainer.appendChild(cancelLastAction.el);\n    }\n\n    if (this.options.enableSearchTips) {\n      const searchTipsTitle = this.getSearchTipsTitleElement();\n      const searchTipsList = this.getSearchTipsListElement();\n      this.textContainer.appendChild(searchTipsTitle.el);\n      this.textContainer.appendChild(searchTipsList.el);\n    }\n  }\n\n  private hideNoResultsPage() {\n    const noResultsContainers = this.getAllNoResultsContainer();\n    noResultsContainers.forEach(noResultsContainer => {\n      $$(noResultsContainer).removeClass('coveo-no-results');\n    });\n  }\n\n  private showNoResultsPage() {\n    const noResultsContainers = this.getAllNoResultsContainer();\n    noResultsContainers.forEach(noResultsContainer => {\n      $$(noResultsContainer).addClass('coveo-no-results');\n    });\n  }\n\n  private getNoResultsContainer(): HTMLElement {\n    return $$(this.element).find(`.${noResultsCssClass}`);\n  }\n\n  private getAllNoResultsContainer(): HTMLElement[] {\n    return $$(this.element).findAll(`.${noResultsCssClass}`);\n  }\n\n  private get parsedNoResultsFoundMessage() {\n    if (this.sanitizedQuery.trim() === '') {\n      return l('noResult');\n    }\n\n    return this.replaceQueryTagsWithHighlightedQuery(this.options.noResultsFoundMessage);\n  }\n\n  private getNoResultsFoundMessageElement() {\n    const noResultsFoundMessage = $$(\n      'div',\n      {\n        className: 'coveo-query-summary-no-results-string'\n      },\n      this.parsedNoResultsFoundMessage\n    );\n\n    return noResultsFoundMessage;\n  }\n\n  private getCancelLastActionElement() {\n    const cancelLastAction = $$(\n      'div',\n      {\n        className: 'coveo-query-summary-cancel-last'\n      },\n      l('CancelLastAction')\n    );\n\n    new AccessibleButton()\n      .withLabel(l('CancelLastAction'))\n      .withElement(cancelLastAction)\n      .withSelectAction(() => {\n        this.usageAnalytics.logCustomEvent<IAnalyticsNoMeta>(analyticsActionCauseList.noResultsBack, {}, this.root);\n        this.usageAnalytics.logSearchEvent<IAnalyticsNoMeta>(analyticsActionCauseList.noResultsBack, {});\n        if (this.lastKnownGoodState) {\n          this.queryStateModel.reset();\n          this.queryStateModel.setMultiple(this.lastKnownGoodState);\n          $$(this.root).trigger(QuerySummaryEvents.cancelLastAction);\n          this.queryController.executeQuery();\n        } else {\n          history.back();\n        }\n      })\n      .build();\n\n    return cancelLastAction;\n  }\n\n  private getSearchTipsTitleElement() {\n    const searchTipsInfo = $$('div', {\n      className: 'coveo-query-summary-search-tips-info'\n    });\n    searchTipsInfo.text(l('SearchTips'));\n\n    return searchTipsInfo;\n  }\n\n  private getSearchTipsListElement() {\n    const searchTips = $$('ul');\n\n    const checkSpelling = $$('li');\n    checkSpelling.text(l('CheckSpelling'));\n\n    const fewerKeywords = $$('li');\n    fewerKeywords.text(l('TryUsingFewerKeywords'));\n\n    searchTips.el.appendChild(checkSpelling.el);\n    searchTips.el.appendChild(fewerKeywords.el);\n\n    if (this.queryStateModel.atLeastOneFacetIsActive()) {\n      const fewerFilter = $$('li');\n      fewerFilter.text(l('SelectFewerFilters'));\n      searchTips.el.appendChild(fewerFilter.el);\n    }\n\n    return searchTips;\n  }\n}\nInitialization.registerAutoCreateComponent(QuerySummary);\n\n\n\n// WEBPACK FOOTER //\n// ./src/ui/QuerySummary/QuerySummary.ts","/**\n * Argument sent to all handlers bound on {@link QuerySummaryEvents.cancelLastAction}\n */\nexport interface IQuerySummaryCancelLastActionArgs {}\n\n/**\n * This static class is there to contains the different string definition for all the events related to the {@link AdvancedSearch} component.\n */\nexport class QuerySummaryEvents {\n  /**\n   * Triggered when the last action is being cancelled by the query summary component\n   *\n   * Allows external code to revert their last action.\n   * @type {string}\n   */\n  public static cancelLastAction = 'cancelLastAction';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/events/QuerySummaryEvents.ts","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./sass/_QuerySummary.scss\n// module id = 638\n// module chunks = 45 88"],"sourceRoot":""}