{"version":3,"file":"with_chosen-BgCN5qXT.js","sources":["../../../app/assets/javascripts/plugins/chosen/html5_error_workaround.ts","../../../app/assets/javascripts/plugins/chosen/custom_placeholder.ts","../../../app/assets/javascripts/plugins/chosen/index.ts","../../../app/assets/javascripts/components/dropdown_menu/with_chosen.ts"],"sourcesContent":["\nimport $ from \"jquery\"\nimport \"chosen-jquery\"\n\n\n// Allow HTML5 error to be shown\n// @see https://github.com/harvesthq/chosen/issues/515\nconst old_chosen = (($.fn as any).chosen as ((options: object) => any));\n($.fn as any).chosen = function(options: object){\n const select = $(this)\n const is_creating_chosen = !!options\n\n if ( is_creating_chosen && select.css(\"position\") === \"absolute\" ){\n // if we are creating a chosen and the select already has the appropriate styles added\n // we remove those (so that the select hasn't got a crazy width), then create the chosen\n // then we re-add them later\n select.removeAttr(\"style\")\n }\n\n const ret = old_chosen.call(this, options)\n // only act if the select has display: none, otherwise chosen is unsupported (iPhone, etc)\n\n if ( is_creating_chosen && select.css(\"display\") === \"none\"){\n // https://github.com/harvesthq/chosen/issues/515#issuecomment-33214050\n // only do this if we are initializing chosen (no params, or object params) not calling a method\n select.attr(\"stlye\", \"display:visible position:absolute clip:rect(0,0,0,0)\")\n select.attr(\"tabindex\", -1)\n }\n\n return ret\n}\n","\nimport $ from \"jquery\"\nimport \"chosen-jquery\"\n\n\nimport I18n from \"plugins/i18n-js\"\n\n\nconst text_option = {\n placeholder_text_multiple: I18n.t(\"js.jquery_chosen.labels.default_multiple_text\"),\n placeholder_text_single: I18n.t(\"js.jquery_chosen.labels.default_single_text\"),\n no_results_text: I18n.t(\"js.jquery_chosen.labels.default_no_result_text\"),\n}\n\nconst old_chosen = (($.fn as any).chosen as ((options: object) => any));\n($.fn as any).chosen = function(options: object){\n const new_options = Object.assign({}, text_option, options)\n old_chosen.call(this, new_options)\n}\n\n\n\n","\nimport $ from \"jquery\"\nimport \"chosen-jquery\"\nimport \"./html5_error_workaround\"\nimport \"./custom_placeholder\"\nimport { Page, Device } from \"app/multi_device\"\n\n\nimport I18n from \"plugins/i18n-js\"\n\n\n// usually `.js-chosen`\nconst init = (el: string | Element | JQuery, extra_chosen_options: Chosen.Options = {}) => {\n // NEVER use Chosen on mobile phone or when testing with mobile page\n if (Page.isForMobile() || Device.isForMobile()){\n return\n }\n\n const $el = $(el)\n const final_chosen_options = Object.assign(\n {\n allow_single_deselect: true,\n no_results_text: I18n.t(\"js.jquery_chosen.labels.default_no_result_text\"),\n search_contains: true,\n display_disabled_options: false,\n },\n extra_chosen_options,\n )\n\n $el.chosen(final_chosen_options)\n\n // Make the placeholders ourselves, as the original library's\n // `placeholder_text_multiple' option not `data-placeholder'\n // working.\n //\n // Was using `dataset`\n // But some browser does NOT support it\n // Hence using jQuery\n const placeholder_from_data = $el.data(\"placeholder\")\n if ( placeholder_from_data != null ) {\n const chosen_object = $el.data(\"chosen\")\n if ( chosen_object != null ) {\n chosen_object.search_field.attr(\"placeholder\", placeholder_from_data )\n }\n }\n}\n\nexport default init\n\n\n","\nimport log from \"plugins/loglevel\"\nimport $ from \"jquery\"\nimport \"chosen-jquery\"\nimport chosen_init from \"plugins/chosen\"\nimport {\n onClickOutside,\n} from \"plugins/vanilla-clickout\"\nimport isBlankStr from \"underscore.string/isBlank\"\n\nimport {\n default as fa_angle_factory,\n FontAwesomeAngle,\n} from \"components/icons/fa_angle\"\nimport {\n MinMaxSelect,\n Selector as BaseSelector,\n InputSelector as BaseInputSelector,\n DEFAULT_SELECTOR as BASE_DEFAULT_SELECTOR,\n} from \"./base\"\n\n\nexport type Selector = BaseSelector & {\n scope: string | Element | JQuery\n main: string | Element | JQuery\n toggle: string | Element | JQuery\n dropdown: string | Element | JQuery\n angle: string | Element | JQuery\n\n min_wrapper: string | Element | JQuery\n min_select: string | Element | JQuery\n\n max_wrapper: string | Element | JQuery\n max_select: string | Element | JQuery\n\n selected_text: string | Element | JQuery\n chosen_menu: string | Element | JQuery\n}\nexport type InputSelector = BaseInputSelector & {\n scope?: string | Element | JQuery\n main?: string | Element | JQuery\n toggle?: string | Element | JQuery\n dropdown?: string | Element | JQuery\n angle?: string | Element | JQuery\n\n min_wrapper?: string | Element | JQuery\n min_select?: string | Element | JQuery\n\n max_wrapper?: string | Element | JQuery\n max_select?: string | Element | JQuery\n\n selected_text?: string | Element | JQuery\n chosen_menu?: string | Element | JQuery\n}\nconst DEFAULT_SELECTOR = Object.assign({}, BASE_DEFAULT_SELECTOR, {\n scope: \".cell-listing-filter\",\n main: \".cell-listing-filter__area-size-dropdown-container\",\n toggle: \".dropdown-with-input-toggle\",\n dropdown: \".dropdown-menu-with-input\",\n angle: \".btn-filter i\",\n\n min_wrapper: \".filter-option--gross-min\",\n min_select: \".cell-listing-filter__minimum-area-size-input\", // .filter-option-min\n\n max_wrapper: \".filter-option--gross-max\",\n max_select: \".cell-listing-filter__maximum-area-size-input\", // .filter-option-max\n\n selected_text: \".filter-option-selected\",\n chosen_menu: \".chosen-results\",\n})\n\n\nclass MinMaxSelectWithChosen extends MinMaxSelect {\n protected selector: Selector\n\n protected $max_wrapper: JQuery\n protected $min_wrapper: JQuery\n\n protected $toggle: JQuery\n protected $dropdown: JQuery\n\n protected $angle: JQuery\n protected fa_angle: FontAwesomeAngle\n\n protected $selected_text: JQuery\n\n constructor(selector?: InputSelector){\n const merged_selector = Object.assign({}, DEFAULT_SELECTOR, selector)\n super(merged_selector, {run_post_initialization: false})\n\n this.selector = merged_selector\n this.$scope = $(this.selector.scope)\n this.$el = this.$scope.find(this.selector.main)\n\n this.selector = Object.assign({}, DEFAULT_SELECTOR, selector)\n this.$scope = $(this.selector.scope)\n this.$el = this.$scope.find(this.selector.main)\n\n this.$min_select = this.$el.find(this.selector.min_select)\n this.$max_select = this.$el.find(this.selector.max_select)\n chosen_init(this.$min_select, {\n inherit_select_classes: this.$min_select.data(\"inherit-select-classes\"),\n })\n chosen_init(this.$max_select, {\n inherit_select_classes: this.$max_select.data(\"inherit-select-classes\"),\n })\n\n this.$max_wrapper = this.$el.find(this.selector.max_wrapper)\n this.$max_wrapper.find(\"input\").attr(\"placeholder\", this.$max_select.data(\"placeholder\"))\n this.$min_select.trigger(\"chosen:open\")\n\n this.$min_wrapper = this.$el.find(this.selector.min_wrapper)\n this.$min_wrapper.find(\"input\").attr(\"placeholder\", this.$min_select.data(\"placeholder\"))\n\n this.$toggle = this.$el.find(this.selector.toggle)\n this.$dropdown = this.$el.find(this.selector.dropdown)\n\n this.$angle = this.$el.find(this.selector.angle)\n this.fa_angle = fa_angle_factory.create(this.$angle)\n\n this.$selected_text = this.$el.find(this.selector.selected_text)\n\n this.setData()\n this.updateText(this.convertValueToLabel())\n this.updateMinChosenPlaceHolder()\n this.updateMaxChosenPlaceHolder()\n\n if (this.$el.length === 0){\n log.error(`scope: ${this.selector.scope}, main: ${this.selector.main}`)\n throw new Error(\"DropdownContainer init with null element\")\n }\n\n this.bind_action()\n }\n\n public close(){\n this.hideDropdown()\n this.fa_angle.close()\n return this\n }\n public open(){\n this.showDropdown()\n this.fa_angle.open()\n return this\n }\n protected showDropdown(): void {\n this.$dropdown.show()\n }\n protected hideDropdown(): void {\n this.$dropdown.hide()\n }\n public toggle(){\n if (this.$dropdown.is(\":visible\")){\n this.close()\n }\n else{\n this.open()\n }\n return this\n }\n public reset(){\n super.reset()\n\n this.$min_select.trigger(\"chosen:updated\")\n this.$max_select.trigger(\"chosen:updated\")\n this.updateText(this.convertValueToLabel())\n this.updateMinChosenPlaceHolder()\n this.updateMaxChosenPlaceHolder()\n this.close()\n }\n\n protected bind_action(): void {\n super.bind_action()\n\n this.$toggle.on(\"click\", () => {\n this.onClick()\n })\n\n onClickOutside(this.$el[0] as HTMLElement, (e) => {\n this.onClickout(e)\n })\n\n this.$max_wrapper.find(\"input\").on(\"focusin\", () => {\n this.onMaxInputFocus()\n })\n this.$min_wrapper.find(\"input\").on(\"focusin\", () => {\n this.onMinInputFocus()\n })\n }\n protected onClick(): void{\n // === Fix for first selection after page load === #\n // When not activated, the first selection by cursor after page load will be incorrect\n\n this.toggle()\n\n setTimeout(() => {\n // set Timeout here\n // hypothesis: As button is not a part of the chosen jquery\n // so we handle onClick event here\n // but later chosen treat this as an clickout event of chosen\n // click our btn -> clickout of chosen -> hiding\n // so we Have to use settimeout to activate the chosen afterward\n // click our btn (onclick handle)-> clickout of chosen -> hiding -> chosen:open\n // |------------------------------------------------^\n this.$min_select.trigger(\"chosen:open\")\n })\n }\n protected onClickout(_e: Event){\n this.$dropdown.hide()\n this.fa_angle.close()\n }\n protected onChange(e: Event){\n super.onChange(e)\n\n const target = e.target\n this.updateText(this.convertValueToLabel())\n if (this.$min_select.is(target)){\n this.updateMinChosenPlaceHolder()\n }\n if (this.$max_select.is(target)){\n this.updateMaxChosenPlaceHolder()\n }\n this.close()\n }\n protected onMaxInputFocus(){\n this.$min_wrapper.find(this.selector.chosen_menu).hide()\n this.$max_wrapper.find(this.selector.chosen_menu).show()\n }\n protected onMinInputFocus(){\n this.$max_wrapper.find(this.selector.chosen_menu).hide()\n this.$min_wrapper.find(this.selector.chosen_menu).show()\n }\n protected updateMinGtMax(){\n super.updateMinGtMax()\n\n this.$max_select.trigger(\"chosen:updated\")\n this.updateMaxChosenPlaceHolder()\n }\n protected renewMaxOptions(){\n super.renewMaxOptions()\n\n this.$max_select.trigger(\"chosen:updated\")\n }\n protected setData(){\n if (typeof this.$selected_text.data(\"original-text\") === \"undefined\"){\n this.$selected_text.data(\"original-text\", this.$selected_text.text())\n }\n }\n protected updateMinChosenPlaceHolder(){\n const min_selected_el = this.$min_select.find(\"option:selected\")\n if ( !isNaN( parseInt(min_selected_el.val(), 10) ) ){\n this.$min_wrapper.find(\"input\").attr(\"placeholder\", min_selected_el.text())\n }\n else{\n this.$min_wrapper.find(\"input\").attr(\"placeholder\", this.$min_select.data(\"placeholder\"))\n }\n }\n protected updateMaxChosenPlaceHolder(){\n const max_selected_el = this.$max_select.find(\"option:selected\")\n if ( !isNaN( parseInt(max_selected_el.val(), 10) ) ){\n this.$max_wrapper.find(\"input\").attr(\"placeholder\", max_selected_el.text())\n }\n else{\n this.$max_wrapper.find(\"input\").attr(\"placeholder\", this.$max_select.data(\"placeholder\"))\n }\n }\n protected convertValueToLabel(){\n const min_value = this.$min_select.val()\n const max_value = this.$max_select.val()\n\n if (!isBlankStr(min_value) && !isBlankStr(max_value)){\n return `${min_value} - ${max_value}`\n }\n\n if (!isBlankStr(min_value)){\n return `> ${min_value}`\n }\n\n if ( !isBlankStr(max_value) ){\n return `< ${max_value}`\n }\n\n return this.$selected_text.data(\"original-text\")\n }\n protected updateText(label: string){\n const original_text = this.$selected_text.data(\"original-text\")\n this.$selected_text.toggleClass(\"nonempty\", label !== original_text)\n this.$selected_text.text(label)\n }\n}\n\n\nexport {\n MinMaxSelectWithChosen,\n DEFAULT_SELECTOR,\n}\n"],"names":["old_chosen","$","options","select","is_creating_chosen","ret","text_option","I18n","new_options","init","el","extra_chosen_options","Page","Device","$el","final_chosen_options","placeholder_from_data","chosen_object","DEFAULT_SELECTOR","BASE_DEFAULT_SELECTOR","MinMaxSelectWithChosen","MinMaxSelect","selector","merged_selector","chosen_init","fa_angle_factory","log","onClickOutside","_e","target","min_selected_el","max_selected_el","min_value","max_value","isBlankStr","label","original_text"],"mappings":"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"}