{"version":3,"file":"index-gtsCWqZ9.js","sources":["../../../app/assets/javascripts/apps/spacious_website/pages/listings/single_listing_details_page/components/main_section/components/copy_listing_reference_button/index.ts","../../../app/assets/javascripts/apps/spacious_website/pages/listings/single_listing_details_page/components/main_section/components/tracking/index.ts","../../../app/assets/javascripts/apps/spacious_website/pages/listings/single_listing_details_page/components/main_section/components/lister_internal_remark/index.ts","../../../app/assets/javascripts/apps/spacious_website/pages/listings/single_listing_details_page/components/main_section/index.ts","../../../app/assets/javascripts/concepts/listings/banner/advertisements/index.ts"],"sourcesContent":["\nimport {\n CopyBtn,\n InputSelector as BaseInputSelector,\n} from \"components/buttons/copy_btn\"\nimport $ from \"jquery\"\nimport Notifier from \"app/notifier\"\n\n\nimport I18n from \"plugins/i18n-js\"\n\n\nconst default_selector = {\n button: \".js-listing-reference-copy\",\n}\n\n\n\nclass CopyUrlButtonBluePrint extends CopyBtn {\n constructor(selector?: BaseInputSelector){\n const merged_selector = Object.assign({}, default_selector, selector)\n super(merged_selector)\n }\n\n protected onSuccess(e: ClipboardJS.Event){\n Notifier.showSuccess(I18n.t(\"js.app.notifier.listings.reference_id_copied\"), 3000)\n super.onSuccess(e)\n }\n}\n\nconst Factory = {\n create(selector?: BaseInputSelector){\n const tmp = Object.assign({}, default_selector, selector)\n const btns = $(tmp.scope).find(tmp.button)\n return btns.map((idx, el) => {\n return new CopyUrlButtonBluePrint(Object.assign(tmp, {button: el}))\n })\n },\n}\n\nexport {\n Factory as default,\n Factory,\n}\n","\nimport Google_event from \"app/tracking/google/event\"\nimport FacebookPixel_event from \"app/tracking/facebook-pixel/event\"\n\nconst track = ($el: JQuery) => {\n if (is_high_value_search($el.data(\"price\"))){\n Google_event.track({\n category: \"Remarketing\",\n action: \"User Interested In >50m Properties\",\n })\n\n FacebookPixel_event.track({\n category: \"Remarketing\",\n name: \"User Interested In >50m Properties\",\n })\n }\n}\n\nfunction is_high_value_search(price: string | null | undefined) {\n return (price != null && parseFloat(price) >= 50000000)\n}\n\nexport default {track}\n","\nimport $ from \"jquery\"\nimport serialize from \"form-serialize\"\n\nimport q_ajax_3 from \"app/utils/q_ajax/q_ajax_3\"\n\ninterface Selector {\n scope: string | JQuery\n main: string | JQuery\n form: string | JQuery\n input: string | JQuery\n update_btn: string | JQuery\n edit_btn: string | JQuery\n}\n\ninterface InputSelector {\n scope?: string | JQuery\n main?: string | JQuery\n form?: string | JQuery\n input?: string | JQuery\n update_btn?: string | JQuery\n edit_btn?: string | JQuery\n}\n\nconst DEFAULT_SELECTOR = {\n scope: \".page--single-listings-detail-page--main-section\",\n main: \".page--single-listings-detail-page--main-section__internal--main\",\n form: \".page--single-listings-detail-page--main-section__internal--form\",\n input: \".page--single-listings-detail-page--main-section__internal--form--input\",\n update_btn: \".page--single-listings-detail-page--main-section__internal--button-update\",\n edit_btn: \".page--single-listings-detail-page--main-section__internal--button-edit\",\n}\n\nlet original_text = \"\"\n\nclass ListerInternalRemark {\n private selector: Selector\n\n private $scope: JQuery\n private $el: JQuery\n private $form: JQuery\n private $input: JQuery\n private $edit_btn: JQuery\n private $update_btn: JQuery\n\n constructor(selector?: InputSelector) {\n this.selector = Object.assign({}, DEFAULT_SELECTOR, selector)\n\n this.$scope = $(this.selector.scope)\n this.$el = this.$scope.find(this.selector.main)\n this.$form = this.$el.find(this.selector.form)\n this.$input = this.$form.find(this.selector.input)\n this.$edit_btn = this.$el.find(this.selector.edit_btn)\n this.$update_btn = this.$form.find(this.selector.update_btn)\n\n this.bind_action()\n }\n\n private setToDisplayMode(){\n this.$el.addClass(\"display-mode\")\n this.$input.prop(\"disabled\", true)\n }\n\n private setToEditMode(){\n original_text = this.$input.val()\n\n this.$el.removeClass(\"display-mode\")\n this.$input.prop(\"disabled\", false)\n }\n\n private bind_action(){\n this.$edit_btn.on(\"click\", () => {\n this.setToEditMode()\n })\n\n this.$update_btn.on(\"click\", (e) => {\n e.preventDefault()\n\n return q_ajax_3(\n {\n url: this.$form.attr(\"action\"),\n method: \"POST\",\n dataType: \"json\",\n data: serialize((this.$form[0] as HTMLFormElement), {hash: true}),\n },\n )\n .then(() => {\n this.setToDisplayMode()\n })\n .catch((reason_or_error) => {\n if (reason_or_error instanceof Error) {\n throw reason_or_error\n }\n\n this.$input.val(original_text)\n this.setToDisplayMode()\n })\n })\n }\n}\n\nconst Factory = {\n create(selector?: InputSelector){\n return new ListerInternalRemark(selector)\n },\n}\n\nexport { Factory as default }\n","\n// region JS Imports\n\n// region External Modules\nimport $ from \"jquery\"\nimport u from \"umbrellajs\"\n// endregion External Modules\n\n// Private Modules\n// Private Modules\n\n// region Public Components\nimport * as ListerSpeakingLanguagesBadge from \"concepts/listings/feature/lister_speaking_languages/badge_with_popover\"\nimport Report_btn from \"concepts/listings/problems/reports/new_report/button/index\"\nimport ListingsShareBar from \"concepts/listings/share/bar/index\"\n// endregion Public Components\n\n// region Private Components\nimport CopyListingReferenceButton from \"./components/copy_listing_reference_button/index\"\nimport Tracking from \"./components/tracking/index\"\nimport ListerInternalRemark from \"./components/lister_internal_remark/index\"\n// endregion Private Components\n\n// endregion JS Imports\n\n\nconst CELL_CLASS_NAME = \"page--single-listings-detail-page--main-section\"\nconst CELL_INITIALIZED_CLASS_NAME = `${CELL_CLASS_NAME}--js-spacious-initialized`\n\nconst init = () => {\n u(`.${CELL_CLASS_NAME}`).each((el) => {\n const $el = $(el)\n if (el.classList.contains(CELL_INITIALIZED_CLASS_NAME)) { return }\n el.classList.add(CELL_INITIALIZED_CLASS_NAME)\n\n CopyListingReferenceButton.create({scope: $el})\n Tracking.track($el)\n Report_btn.init()\n ListerSpeakingLanguagesBadge.initAllMatchingElements()\n ListingsShareBar.create()\n ListerInternalRemark.create({scope: $el})\n })\n}\n\nexport default{\n init,\n}\n","\nimport PageView from \"app/tracking/google/page_view\"\nimport $ from \"jquery\"\nimport _once from \"lodash/once\"\n\n\nimport I18n from \"plugins/i18n-js\"\n\n\nconst main = \".cell-listings-banner-advertisements\"\n\nfunction track_path(advertiser_identifier: string) {\n return [\n \"/fake-path\",\n \"/apps/spacious-web-app\",\n `/${I18n.locale}`,\n \"/pages/listings/show\",\n \"/banner/advertisements\",\n `/${advertiser_identifier}`,\n \"/events/view\",\n ].join(\"\")\n}\n\n\nconst init = _once(() => {\n const $main = $(main)\n $main.each(() => {\n PageView.track(track_path($main.data(\"advertiser-identifier\")))\n })\n})\n\nexport default { init }\n"],"names":["default_selector","CopyUrlButtonBluePrint","CopyBtn","selector","merged_selector","Notifier","I18n","Factory","tmp","$","idx","el","track","$el","is_high_value_search","Google_event","FacebookPixel_event","price","Tracking","DEFAULT_SELECTOR","original_text","ListerInternalRemark","q_ajax_3","serialize","reason_or_error","CELL_CLASS_NAME","CELL_INITIALIZED_CLASS_NAME","init","u","CopyListingReferenceButton","Report_btn","ListerSpeakingLanguagesBadge.initAllMatchingElements","ListingsShareBar","Listings_MainSection","main","track_path","advertiser_identifier","_once","$main","PageView","BannerAdvertisements"],"mappings":"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"}