{"version":3,"sources":["webpack:///./src/eventbus/event-bus.js","webpack:///./src/components/Services/Widgets/BookingWidgetEmbed.vue","webpack:///src/components/Services/Widgets/BookingWidgetEmbed.vue","webpack:///./src/components/Services/Widgets/BookingWidgetEmbed.vue?ec48","webpack:///./src/components/Services/Widgets/BookingWidgetEmbed.vue?d136","webpack:///./src/components/Services/Widgets/BookingWidgetEmbed.vue?d24f"],"names":["EventBus","Vue","render","_vm","this","_c","_self","mWidget","staticClass","_v","_s","Name","$t","domProps","attrs","on","$event","stopPropagation","preventDefault","copyWidgetCode","generateHtmlEmbedCode","onScreen","generateCdataCode","staticRenderFns","components","Message","data","isLoading","isSearching","widgetId","Number","$route","params","channelId","locationId","embedCode","copyText","computed","_objectSpread","mapState","created","_this","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","getLocationSearchWidgets","a","methods","_this2","_callee2","self","_context2","widgetProvider","getLocationSearchWidgetByWidgetId","then","response","catch","e","finally","type","_this3","codeBlock","navigator","clipboard","writeText","$emit","message","$i18n","t","error","result","Key","locale","$stringHelper","encodeHtml","replace","concat","decodeHtml","component"],"mappings":"oJAAA,kDACaA,EAAW,IAAIC,aAEbD,U,2CCHf,IAAIE,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAAkB,OAAhBF,EAAII,QAAkBF,EAAG,MAAM,CAACA,EAAG,cAAc,GAAGA,EAAG,MAAM,CAACG,YAAY,wBAAwB,CAACH,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACH,EAAG,MAAM,CAACG,YAAY,cAAc,CAACL,EAAIM,GAAGN,EAAIO,GAAGP,EAAII,QAAQI,MAAM,IAAIR,EAAIO,GAAGP,EAAIS,GAAG,2EAA2EP,EAAG,MAAM,CAACG,YAAY,gBAAgB,CAACH,EAAG,MAAM,CAACG,YAAY,OAAOK,SAAS,CAAC,UAAYV,EAAIO,GAAGP,EAAIS,GAAG,+EAA+EP,EAAG,UAAU,CAACS,MAAM,CAAC,KAAO,YAAY,QAAUX,EAAIS,GAAG,kFAAkF,KAAKP,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,MAAM,CAACG,YAAY,cAAc,CAACL,EAAIM,GAAGN,EAAIO,GAAGP,EAAIS,GAAG,4EAA4EP,EAAG,MAAM,GAAG,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIS,GAAG,8EAA8EP,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,MAAM,CAACG,YAAY,6BAA6B,CAACH,EAAG,MAAM,CAACG,YAAY,yBAAyB,CAACH,EAAG,SAAS,CAACG,YAAY,4BAA4BO,GAAG,CAAC,MAAQ,SAASC,GAAyD,OAAjDA,EAAOC,kBAAkBD,EAAOE,iBAAwBf,EAAIgB,eAAe,WAAW,CAAChB,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIS,GAAG,2EAA2E,SAASP,EAAG,MAAM,CAACQ,SAAS,CAAC,UAAYV,EAAIO,GAAGP,EAAIiB,wBAAwBC,qBAAqBhB,EAAG,MAAM,CAACG,YAAY,kBAAkB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,MAAM,CAACG,YAAY,uBAAuB,CAACH,EAAG,MAAM,CAACG,YAAY,WAAW,CAACH,EAAG,MAAM,CAACG,YAAY,cAAc,CAACL,EAAIM,GAAGN,EAAIO,GAAGP,EAAIS,GAAG,6EAA6EP,EAAG,MAAM,GAAG,CAACF,EAAIM,GAAGN,EAAIO,GAAGP,EAAIS,GAAG,+EAA+EP,EAAG,MAAM,CAACG,YAAY,UAAU,CAACH,EAAG,MAAM,CAACG,YAAY,6BAA6B,CAACH,EAAG,MAAM,CAACG,YAAY,yBAAyB,CAACH,EAAG,SAAS,CAACG,YAAY,4BAA4BO,GAAG,CAAC,MAAQ,SAASC,GAAyD,OAAjDA,EAAOC,kBAAkBD,EAAOE,iBAAwBf,EAAIgB,eAAe,YAAY,CAAChB,EAAIM,GAAG,IAAIN,EAAIO,GAAGP,EAAIS,GAAG,2EAA2E,SAASP,EAAG,MAAM,CAACQ,SAAS,CAAC,UAAYV,EAAIO,GAAGP,EAAImB,oBAAoBD,0BAEj7EE,EAAkB,G,4JCyEP,GACfC,WAAA,CACAC,QAAA,sFAGAC,KAAA,WACA,OACAC,WAAA,EACAC,aAAA,EACArB,QAAA,KACAsB,SAAAC,OAAA,KAAAC,OAAAC,OAAAH,UACAI,UAAA,EACAC,WAAAJ,OAAA,KAAAC,OAAAC,OAAAE,YACAC,UAAA,CACAd,SAAA,GACAe,SAAA,MAKAC,SAAAC,eAAA,GACAC,eAAA,oCAGAC,QAAA,eAAAC,EAAA,YAAAC,eAAAC,iBAAAC,GAAA,SAAAC,IAAA,OAAAF,iBAAAG,GAAA,SAAAC,GAAA,eAAAA,EAAAC,GAAA,cAAAD,EAAAC,EAAA,EACAP,EAAAQ,2BAAA,OACAR,EAAArB,wBAAA,cAAA2B,EAAAG,EAAA,MAAAL,MAFAH,IAKAS,QAAA,CACAF,yBAAA,eAAAG,EAAA,YAAAV,eAAAC,iBAAAC,GAAA,SAAAS,IAAA,IAAAC,EAAA,OAAAX,iBAAAG,GAAA,SAAAS,GAAA,eAAAA,EAAAP,GAAA,OAEA,OADAM,EAAAF,EACAE,EAAA3B,WAAA,EAAA4B,EAAAP,EAAA,EAEAQ,OAAAL,QACAM,kCAAAL,EAAAlB,WAAAkB,EAAAvB,UACA6B,MAAA,SAAAC,GACAL,EAAA/C,QAAAoD,EAAAjC,QAEAkC,OAAA,SAAAC,OAGAC,SAAA,WACAR,EAAA3B,WAAA,KACA,cAAA4B,EAAAL,EAAA,MAAAG,MAdAX,IAiBAvB,eAAA,SAAA4C,GAAA,IAAAC,EAAA,KACAC,EAAA,SAAAF,EACA,KAAA3C,wBAAA6C,UAEA,KAAA3C,oBAAA2C,UAEAC,UAAAC,UACAC,UAAAH,GACAP,MAAA,WACA1D,OAAAqE,MAAA,aACAN,KAAA,OACAO,QAAAN,EAAAO,MAAAC,EACA,gFAIAZ,OAAA,SAAAa,GACAzE,OAAAqE,MAAA,aACAN,KAAA,OACAO,QAAAN,EAAAO,MAAAC,EACA,uEAMApD,sBAAA,WACA,IAAAsD,EACA,sHAEA,KAAAnE,QAAAoE,IACA,kBAAAJ,MAAAK,OAHA,gHAOA,OACAvD,SAAA,KAAAwD,cAAAC,WAAAJ,GAAAK,QAAA,iBACAd,UAAAS,EAAAK,QAAA,gBAIAzD,kBAAA,WACA,IAAA2C,EAAA,8kCAAAe,OAWA,KAAAzE,QAAAoE,IAAA,0BAAAK,OAAA,KAAAT,MAAAK,OAAA,kDACAG,QAAA,YAEA,OACA1D,SAAA4C,EACAA,UAAA,KAAAY,cAAAI,WAAAhB,OCpLyX,I,wBCQrXiB,EAAY,eACd,EACAhF,EACAqB,GACA,EACA,KACA,WACA,MAIa,aAAA2D,E,2CCnBf,W","file":"js/chunk-06eb8d53.js?id=3c1aa8e184d3f034255a","sourcesContent":["import Vue from 'vue'\nexport const EventBus = new Vue()\n\nexport default EventBus\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.mWidget === null)?_c('div',[_c('ui-loader')],1):_c('div',{staticClass:\"columns is-multiline\"},[_c('div',{staticClass:\"column is-full\"},[_c('div',{staticClass:\"title is-3\"},[_vm._v(_vm._s(_vm.mWidget.Name)+\" \"+_vm._s(_vm.$t('Components.Settings.Widgets.bookingsWidgetEmbed.Label_EmbeddingCode')))]),_c('div',{staticClass:\"content mb-6\"},[_c('div',{staticClass:\"my-4\",domProps:{\"innerHTML\":_vm._s(_vm.$t('Components.Settings.Widgets.bookingsWidgetEmbed.Label_EmbeddingCodeText'))}}),_c('Message',{attrs:{\"type\":'is-danger',\"message\":_vm.$t('Components.Settings.Widgets.bookingsWidgetEmbed.Label_EmbeddingCodeWarning')}})],1)]),_c('div',{staticClass:\"column is-full\"},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-one-third\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"title is-5\"},[_vm._v(_vm._s(_vm.$t('Components.Settings.Widgets.bookingsWidgetEmbed.Header_HTMLEmbedCode')))]),_c('div',{},[_vm._v(_vm._s(_vm.$t('Components.Settings.Widgets.bookingsWidgetEmbed.Text_HTMLEmbedCode')))])])]),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"mb-6 has-background-light\"},[_c('div',{staticClass:\"buttons is-right mb-4\"},[_c('button',{staticClass:\"button is-info text-white\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.copyWidgetCode('html')}}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Settings.Widgets.bookingsWidgetEmbed.Button_CopyToClipboard'))+\" \")])]),_c('pre',{domProps:{\"innerHTML\":_vm._s(_vm.generateHtmlEmbedCode().onScreen)}})])])])]),_c('div',{staticClass:\"column is-full\"},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-one-third\"},[_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"title is-5\"},[_vm._v(_vm._s(_vm.$t('Components.Settings.Widgets.bookingsWidgetEmbed.Header_CDATAEmbedCode')))]),_c('div',{},[_vm._v(_vm._s(_vm.$t('Components.Settings.Widgets.bookingsWidgetEmbed.Text_CDATAEmbedCode')))])])]),_c('div',{staticClass:\"column\"},[_c('div',{staticClass:\"mb-6 has-background-light\"},[_c('div',{staticClass:\"buttons is-right mb-4\"},[_c('button',{staticClass:\"button is-info text-white\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.copyWidgetCode('cdata')}}},[_vm._v(\" \"+_vm._s(_vm.$t('Components.Settings.Widgets.bookingsWidgetEmbed.Button_CopyToClipboard'))+\" \")])]),_c('pre',{domProps:{\"innerHTML\":_vm._s(_vm.generateCdataCode().onScreen)}})])])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <div v-if=\"mWidget === null\">\n      <ui-loader />\n    </div>\n    <div\n      v-else\n      class=\"columns is-multiline\"\n    >\n      <div class=\"column is-full\">\n        <div class=\"title is-3\">{{ mWidget.Name }} {{ $t('Components.Settings.Widgets.bookingsWidgetEmbed.Label_EmbeddingCode') }}</div>\n        <div class=\"content mb-6\">\n          <div\n            class=\"my-4\"\n            v-html=\"$t('Components.Settings.Widgets.bookingsWidgetEmbed.Label_EmbeddingCodeText')\"\n          ></div>\n          <Message :type=\"'is-danger'\" :message=\"$t('Components.Settings.Widgets.bookingsWidgetEmbed.Label_EmbeddingCodeWarning')\" />\n        </div>\n      </div>\n      <div class=\"column is-full\">\n        <div class=\"columns\">\n          <div class=\"column is-one-third\">\n            <div class=\"content\">\n              <div class=\"title is-5\">{{ $t('Components.Settings.Widgets.bookingsWidgetEmbed.Header_HTMLEmbedCode') }}</div>\n              <div class=\"\">{{ $t('Components.Settings.Widgets.bookingsWidgetEmbed.Text_HTMLEmbedCode') }}</div>\n            </div>\n          </div>\n          <div class=\"column\">\n            <div class=\"mb-6 has-background-light\">\n              <div class=\"buttons is-right mb-4\">\n                <button\n                  class=\"button is-info text-white \"\n                  @click.stop.prevent=\"copyWidgetCode('html')\"\n                >\n                  {{ $t('Components.Settings.Widgets.bookingsWidgetEmbed.Button_CopyToClipboard') }}\n                </button>\n              </div>\n              <pre v-html=\"generateHtmlEmbedCode().onScreen\"></pre>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div class=\"column is-full\">\n        <div class=\"columns\">\n          <div class=\"column is-one-third\">\n            <div class=\"content\">\n              <div class=\"title is-5\">{{ $t('Components.Settings.Widgets.bookingsWidgetEmbed.Header_CDATAEmbedCode') }}</div>\n              <div class=\"\">{{ $t('Components.Settings.Widgets.bookingsWidgetEmbed.Text_CDATAEmbedCode') }}</div>\n            </div>\n          </div>\n          <div class=\"column\">\n            <div class=\"mb-6 has-background-light\">\n              <div class=\"buttons is-right mb-4\">\n                <button\n                  class=\"button is-info text-white \"\n                  @click.stop.prevent=\"copyWidgetCode('cdata')\"\n                >\n                  {{ $t('Components.Settings.Widgets.bookingsWidgetEmbed.Button_CopyToClipboard') }}\n                </button>\n              </div>\n              <pre v-html=\"generateCdataCode().onScreen\"></pre>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapState } from 'vuex'\nimport widgetProvider from '@/providers/widget'\nimport statsProvider from '@/providers/stats'\nimport { EventBus } from '@/eventbus/event-bus'\n\nexport default {\n  components: {\n    Message: () => import('@/components/UI/Message')\n  },\n\n  data() {\n    return {\n      isLoading: false,\n      isSearching: false,\n      mWidget: null,\n      widgetId: Number(this.$route.params.widgetId),\n      channelId: 0,\n      locationId: Number(this.$route.params.locationId),\n      embedCode: {\n        onScreen: '',\n        copyText: '',\n      },\n    }\n  },\n\n  computed: {\n    ...mapState('locationStore', ['locationState']),\n  },\n\n  async created() {\n    await this.getLocationSearchWidgets()\n    this.generateHtmlEmbedCode()\n  },\n\n  methods: {\n    async getLocationSearchWidgets() {\n      let self = this\n      self.isLoading = true\n\n      await widgetProvider.methods\n        .getLocationSearchWidgetByWidgetId(this.locationId, this.widgetId)\n        .then((response) => {\n          self.mWidget = response.data\n        })\n        .catch((e) => {\n          //console.log(e.response)\n        })\n        .finally(() => {\n          self.isLoading = false\n        })\n    },\n\n    copyWidgetCode(type) {\n      let codeBlock = type === 'html' ?\n        this.generateHtmlEmbedCode().codeBlock\n        :\n        this.generateCdataCode().codeBlock\n\n      navigator.clipboard\n        .writeText(codeBlock)\n        .then(() => {\n          EventBus.$emit('showToast', {\n            type: 'info',\n            message: this.$i18n.t(\n              'Components.Settings.Widgets.bookingsWidgetEmbed.Message_EmbedCodeCopied'\n            ),\n          })\n        })\n        .catch((error) => {\n          EventBus.$emit('showToast', {\n            type: 'info',\n            message: this.$i18n.t(\n              'Components.Settings.Widgets.bookingsWidgetEmbed.Message_Error'\n            ),\n          })\n        })\n    },\n\n    generateHtmlEmbedCode() {\n      let result =\n        '<link href=\"https://widget.cyberdigma.nl/booking/app.css\" rel=\"stylesheet\" /> #br#' +\n        '<c-lab-bookingwidget widget-key=\"' +\n        this.mWidget.Key +\n        '\" locale=\"' + this.$i18n.locale + '\"></c-lab-bookingwidget> #br#' +\n        '<script src=\"https://widget.cyberdigma.nl/booking/app.js\" async defer></' +\n        'script>'\n\n      return {\n        onScreen: this.$stringHelper.encodeHtml(result).replace(/#br#/g, '</br>'),\n        codeBlock: result.replace(/#br#/g, '\\n')\n      }\n    },\n\n    generateCdataCode() {\n      let codeBlock = `&lt;script id=&quot;chp-bw-cdata&quot;&gt;\n        //&lt;![CDATA[\n        (function (d, s) {\n        s.forEach(se =&gt; {\n        var cs = document.querySelector(&#96;#$&#123se.attrs.id&#125&#96;); \n        if(cs) {return;} \n        var t = d.createElement(se.tag); for (const [key, value] of Object.entries(se.attrs)) { t.setAttribute(key, value); } \n        var c = d.getElementById(&quot;chp-bw-cdata&quot;); se.tag === &quot;c-lab-bookingwidget&quot; ? c.after(t) : d.getElementsByTagName(&quot;head&quot;)[0].appendChild(t);\n        });\n        }(document, [{ tag: &quot;script&quot;,  attrs: { id: &quot;chp-bw-script&quot;, type: &quot;text/javascript&quot;, src: &quot;https://widget.cyberdigma.nl/booking/app.js&quot;, async: &quot;&quot;, defer: &quot;&quot;}},\n        {tag: &quot;link&quot;,  attrs: { id: &quot;chp-bw-style&quot;,  rel: &quot;stylesheet&quot;, type: &quot;text/css&quot;, href: &quot;https://widget.cyberdigma.nl/booking/app.css&quot; }},\n        {tag: &quot;c-lab-bookingwidget&quot;,  attrs: { id: &quot;chp-bw-element&quot;, &quot;widget-key&quot;: &quot;${this.mWidget.Key}&quot;, locale: &quot;${this.$i18n.locale}&quot; }}]));\n        //]]&gt;&lt;/script&gt;`.replace(/^ +/gm, '')\n\n      return {\n        onScreen: codeBlock,\n        codeBlock: this.$stringHelper.decodeHtml(codeBlock)\n      }\n    },\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\npre {\n  text-wrap: wrap;\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BookingWidgetEmbed.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BookingWidgetEmbed.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BookingWidgetEmbed.vue?vue&type=template&id=564a774a&scoped=true\"\nimport script from \"./BookingWidgetEmbed.vue?vue&type=script&lang=js\"\nexport * from \"./BookingWidgetEmbed.vue?vue&type=script&lang=js\"\nimport style0 from \"./BookingWidgetEmbed.vue?vue&type=style&index=0&id=564a774a&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"564a774a\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BookingWidgetEmbed.vue?vue&type=style&index=0&id=564a774a&prod&lang=scss&scoped=true\""],"sourceRoot":""}