{"version":3,"sources":["webpack:///src/components/Articles/ModalAddEditArticleSource.vue","webpack:///./src/components/Articles/ModalAddEditArticleSource.vue","webpack:///./src/components/Articles/ModalAddEditArticleSource.vue?f3ca","webpack:///./src/components/Articles/ModalAddEditArticleSource.vue?f58d","webpack:///./src/components/Articles/ModalAddEditArticleSource.vue?b452"],"names":["name","components","Modal","Toggle","YoutubeEmbed","VimeoEmbed","props","showModal","type","Boolean","default","onClickCancel","Function","required","articleId","Number","source","Object","data","_this$source","isSaving","isSavingSuccess","isSavingError","newLink","linkTypes","sourceType","LinkType","protocol","protocolOptions","modalTitle","$t","validations","output","Text","Link","computed","isNewSource","_this$newLink","Id","isLink","linkErrors","errors","$v","$dirty","push","textErrors","watch","immediate","handler","val","_this$source2","_this$source3","cleanSource","splitUrl","ArticleId","IsExternal","created","Type","Name","mounted","$touch","methods","getComponentType","videoSource","component","_this$newLink2","indexOf","trim","replace","setLinkType","saveLink","_this","_asyncToGenerator","_regenerator","m","_callee","response","t","_t","_t2","w","_context","p","n","a","$invalid","articleProvider","createArticleLink","v","updateArticleLink","$emit","setTimeout","clearTimeout","render","_vm","_c","_self","attrs","hideFooterButtons","onClickSave","on","closeModal","scopedSlots","_u","key","fn","ref","staticClass","_v","_s","radioOptions","objectTextField","objectValueField","inputCssClass","model","value","callback","$$v","expression","_e","label","hasFloatingLabel","maxLength","error","input","$event","blur","$set","options","proxy","labelForInput","tag","src","staticRenderFns","_withStripped"],"mappings":"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","file":"js/337.js?id=890e4f650c6a0c9fa511","sourcesContent":["<template>\n  <Modal\n    :modalTitle=\"modalTitle\"\n    :isSaving=\"isSaving\"\n    :isSavingSuccess=\"isSavingSuccess\"\n    :isSavingError=\"isSavingError\"\n    :hideFooterButtons=\"isSavingError || isSavingSuccess\"\n    :onClickCancel=\"onClickCancel\"\n    :onClickSave=\"saveLink\"\n    :showModal=\"showModal\"\n    @closeModal=\"onClickCancel\"\n  >\n    <template v-slot:content>\n      <div ref=\"baseForm\">\n        <template v-if=\"sourceType\">\n          <div\n            v-if=\"isNewSource\"\n            class=\"mb-5\"\n          >\n            <div class=\"has-text-weight-bold mb-1\">{{$t('Components.Article.ArticleDetail.ModalAddEditArticleSource.Label_SourceSelection')}}:</div>\n            <Toggle\n              v-model=\"sourceType\"\n              :radioOptions=\"linkTypes\"\n              objectTextField=\"Name\"\n              objectValueField=\"Type\"\n              inputCssClass=\"\"\n            />\n          </div>\n\n          <template v-if=\"isLink\">\n            <ui-base-input-field\n              :label=\"$t('Components.Article.ArticleDetail.ModalAddEditArticleSource.Text_Title')\"\n              v-model=\"newLink.Text\"\n              :hasFloatingLabel=\"true\"\n              inputCssClass=\"\"\n              maxLength=\"100\"\n              class=\"mb-4\"\n              :error=\"textErrors\"\n              @input=\"$v.newLink.Text.$touch()\"\n              @blur=\"$v.newLink.Text.$touch()\"\n            />\n            <ui-base-field-template :label=\"$t('Components.Article.ArticleDetail.ModalAddEditArticleSource.Text_LinkUrl')\">\n              <template #fields>\n                <div class=\"field has-addons\">\n                  <p class=\"control\">\n                    <ui-select\n                      v-model=\"protocol\"\n                      :options=\"protocolOptions\"\n                      inputCssClass=\"\"\n                    />\n                  </p>\n                  <p class=\"control is-expanded\">\n                    <ui-base-input-field\n                      v-model=\"newLink.Link\"\n                      :hasFloatingLabel=\"true\"\n                      inputCssClass=\"\"\n                      :error=\"linkErrors\"\n                      @input=\"() => { splitUrl(); $v.newLink.Link.$touch() }\"\n                      @blur=\"$v.newLink.Link.$touch()\"\n                    />\n                  </p>\n                </div>\n              </template>\n            </ui-base-field-template>\n          </template>\n\n          <div\n            v-if=\"newLink && !isLink\"\n            class=\"columns is-multiline\"\n          >\n            <div class=\"column\">\n              <ui-base-input-field\n                v-model=\"newLink.Text\"\n                :labelForInput=\"false\"\n                :label=\"$t('Components.Article.ArticleDetail.ModalAddEditArticleSource.Text_Title')\"\n                inputCssClass=\"\"\n                maxLength=\"100\"\n                class=\"mb-4\"\n                :error=\"textErrors\"\n                @input=\"$v.newLink.Text.$touch()\"\n                @blur=\"$v.newLink.Text.$touch()\"\n              />\n              <ui-base-input-field\n                v-model=\"newLink.Link\"\n                :labelForInput=\"false\"\n                :label=\"$t('Components.Article.ArticleDetail.ModalAddEditArticleSource.Text_EmbedUrl')\"\n                inputCssClass=\"\"\n                :error=\"linkErrors\"\n                @input=\"$v.newLink.Link.$touch()\"\n                @blur=\"$v.newLink.Link.$touch()\"\n              />\n            </div>\n            <div class=\"column\">\n              <component\n                v-bind:is=\"getComponentType(newLink)\"\n                :src=\"newLink.Link\"\n              ></component>\n            </div>\n          </div>\n        </template>\n      </div>\n    </template>\n  </Modal>\n</template>\n\n<script>\nimport articleProvider from '@/providers/article'\nimport Modal from '@/components/UI/Components/Modal.vue'\nimport Toggle from '@/components/UI/Form/Toggle.vue'\nimport YoutubeEmbed from '@/components/Settings/Location/Videos/YoutubeEmbed.vue'\nimport VimeoEmbed from '@/components/Settings/Location/Videos/VimeoEmbed.vue' // @/components/Settings/Location/Videos/VimeoEmbed\nimport { cleanSource } from '@/utils/objectHelper'\nimport { required } from 'vuelidate/lib/validators'\n\nexport default {\n  name: 'ModalAddEditArticleSource',\n\n  components: {\n    Modal,\n    Toggle,\n    YoutubeEmbed,\n    VimeoEmbed\n  },\n\n  props: {\n    showModal: {\n      type: Boolean,\n      default: false,\n    },\n\n    onClickCancel: {\n      type: Function,\n      required: true,\n    },\n    articleId: {\n      type: Number,\n      required: true\n    },\n    source: {\n      type: Object,\n      default: null\n    }\n  },\n\n  data() {\n    return {\n      isSaving: false,\n      isSavingSuccess: false,\n      isSavingError: false,\n      newLink: null,\n      linkTypes: [],\n      sourceType: this.source?.LinkType || 'ExternalUrl',\n      protocol: 'https://',\n      protocolOptions: ['https://', 'http://'],\n      modalTitle: this.source ?\n        // Edit existing source\n        this.$t('Components.Article.ArticleDetail.ModalAddEditArticleSource.Title_EditSource')\n        :\n        // add new source\n        this.$t('Components.Article.ArticleDetail.ModalAddEditArticleSource.Title_AddSource')\n    }\n  },\n\n  validations() {\n    let output = {\n      Text: { required },\n      Link: { required },\n    }\n    return {\n      newLink: output\n    }\n  },\n\n  computed: {\n    isNewSource() {\n      return this.newLink?.Id === 0\n    },\n\n    isLink() {\n      return this.sourceType === 'ExternalUrl' || this.sourceType === 'InternalUrl'\n    },\n\n    linkErrors() {\n      const errors = []\n      if (!this.$v.newLink.Link.$dirty) return errors\n      !this.$v.newLink.Link.required &&\n        errors.push(this.$t('Form.InputErrors.Required'))\n      return errors\n    },\n\n    textErrors() {\n      const errors = []\n      if (!this.$v.newLink.Text.$dirty) return errors\n      !this.$v.newLink.Text.required &&\n        errors.push(this.$t('Form.InputErrors.Required'))\n      return errors\n    },\n  },\n\n  watch: {\n    sourceType: {\n      immediate: true,\n      handler: function(val) {\n        if (val === this.source?.LinkType) {\n          this.newLink = cleanSource(this.source)\n          this.splitUrl()\n          return\n        }\n\n        this.newLink = {\n          Id: this.source?.Id || 0,\n          ArticleId: this.articleId,\n          Text: '',\n          LinkType: this.sourceType,\n          Link: '',\n          IsExternal: true,\n        }\n\n        this.protocol = 'https://'\n      }\n    },\n  },\n\n  created() {\n    this.linkTypes.push({\n      Type: 'ExternalUrl',\n      Name: this.$t(\n        'Components.Article.ArticleDetail.ModalAddEditArticleSource.Text_TypeExternalLink'\n      ),\n    })\n    this.linkTypes.push({ Id: 2, Type: 'YoutubeVideo', Name: 'Youtube' })\n    this.linkTypes.push({ Id: 3, Type: 'VimeoVideo', Name: 'Vimeo' })\n  },\n\n  mounted() {\n    if (this.source) {\n      this.$v.$touch()\n    }\n  },\n\n  methods: {\n    getComponentType(videoSource) {\n      let component = ''\n\n      switch (videoSource.LinkType) {\n        case 'YoutubeVideo':\n          component = YoutubeEmbed\n          break;\n        case 'VimeoVideo':\n          component = VimeoEmbed\n          break;\n      }\n      return component\n    },\n\n    splitUrl() {\n      if (this.sourceType !== 'ExternalUrl'\n        || !this.newLink?.Link\n        || (this.newLink.Link.indexOf('http://') === -1 && this.newLink.Link.indexOf('https://') === -1)\n      ) { return }\n      if (\n        (this.newLink.Link.indexOf('http://') === -1 &&\n          this.newLink.Link.indexOf('https://') === -1) ||\n        this.newLink.Link.indexOf('https://') !== -1\n      ) {\n        this.protocol = 'https://'\n      } else {\n        this.protocol = 'http://'\n      }\n\n      this.newLink.Link = this.newLink.Link.trim().replace(/^https?\\:\\/\\//i, '')\n    },\n\n    setLinkType(type) {\n      this.newLink.LinkType = type\n      this.newLink.IsExternal = type === 'ExternalUrl'\n    },\n\n    async saveLink() {\n      if (this.isSaving) { return }\n\n      // Validate form\n      await this.$v.$touch()\n\n      // Stop processing when FORM data is invalid\n      if (this.$v.$invalid) { return }\n\n      this.isSaving = true\n\n      if (this.newLink.LinkType === 'ExternalUrl') {\n        this.newLink.Link = this.protocol + this.newLink.Link\n      }\n\n      try {\n        let response = this.newLink.Id === 0 ?\n          // New article link\n          await articleProvider.methods.createArticleLink(this.newLink)\n          :\n          // update article link\n          await articleProvider.methods.updateArticleLink(this.newLink)\n\n        this.$emit('updated', response.data)\n\n        this.isSavingSuccess = true\n        let t = setTimeout(() => {\n          this.onClickCancel()\n          clearTimeout(t)\n        }, 1500)\n      }\n      catch {\n        this.isSavingError = true\n        this.isSaving = false\n      }\n    },\n  },\n}\n</script>\n","var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _c(\"Modal\", {\n    attrs: {\n      modalTitle: _vm.modalTitle,\n      isSaving: _vm.isSaving,\n      isSavingSuccess: _vm.isSavingSuccess,\n      isSavingError: _vm.isSavingError,\n      hideFooterButtons: _vm.isSavingError || _vm.isSavingSuccess,\n      onClickCancel: _vm.onClickCancel,\n      onClickSave: _vm.saveLink,\n      showModal: _vm.showModal,\n    },\n    on: { closeModal: _vm.onClickCancel },\n    scopedSlots: _vm._u([\n      {\n        key: \"content\",\n        fn: function () {\n          return [\n            _c(\n              \"div\",\n              { ref: \"baseForm\" },\n              [\n                _vm.sourceType\n                  ? [\n                      _vm.isNewSource\n                        ? _c(\n                            \"div\",\n                            { staticClass: \"mb-5\" },\n                            [\n                              _c(\n                                \"div\",\n                                { staticClass: \"has-text-weight-bold mb-1\" },\n                                [\n                                  _vm._v(\n                                    _vm._s(\n                                      _vm.$t(\n                                        \"Components.Article.ArticleDetail.ModalAddEditArticleSource.Label_SourceSelection\"\n                                      )\n                                    ) + \":\"\n                                  ),\n                                ]\n                              ),\n                              _c(\"Toggle\", {\n                                attrs: {\n                                  radioOptions: _vm.linkTypes,\n                                  objectTextField: \"Name\",\n                                  objectValueField: \"Type\",\n                                  inputCssClass: \"\",\n                                },\n                                model: {\n                                  value: _vm.sourceType,\n                                  callback: function ($$v) {\n                                    _vm.sourceType = $$v\n                                  },\n                                  expression: \"sourceType\",\n                                },\n                              }),\n                            ],\n                            1\n                          )\n                        : _vm._e(),\n                      _vm.isLink\n                        ? [\n                            _c(\"ui-base-input-field\", {\n                              staticClass: \"mb-4\",\n                              attrs: {\n                                label: _vm.$t(\n                                  \"Components.Article.ArticleDetail.ModalAddEditArticleSource.Text_Title\"\n                                ),\n                                hasFloatingLabel: true,\n                                inputCssClass: \"\",\n                                maxLength: \"100\",\n                                error: _vm.textErrors,\n                              },\n                              on: {\n                                input: function ($event) {\n                                  return _vm.$v.newLink.Text.$touch()\n                                },\n                                blur: function ($event) {\n                                  return _vm.$v.newLink.Text.$touch()\n                                },\n                              },\n                              model: {\n                                value: _vm.newLink.Text,\n                                callback: function ($$v) {\n                                  _vm.$set(_vm.newLink, \"Text\", $$v)\n                                },\n                                expression: \"newLink.Text\",\n                              },\n                            }),\n                            _c(\"ui-base-field-template\", {\n                              attrs: {\n                                label: _vm.$t(\n                                  \"Components.Article.ArticleDetail.ModalAddEditArticleSource.Text_LinkUrl\"\n                                ),\n                              },\n                              scopedSlots: _vm._u(\n                                [\n                                  {\n                                    key: \"fields\",\n                                    fn: function () {\n                                      return [\n                                        _c(\n                                          \"div\",\n                                          { staticClass: \"field has-addons\" },\n                                          [\n                                            _c(\n                                              \"p\",\n                                              { staticClass: \"control\" },\n                                              [\n                                                _c(\"ui-select\", {\n                                                  attrs: {\n                                                    options:\n                                                      _vm.protocolOptions,\n                                                    inputCssClass: \"\",\n                                                  },\n                                                  model: {\n                                                    value: _vm.protocol,\n                                                    callback: function ($$v) {\n                                                      _vm.protocol = $$v\n                                                    },\n                                                    expression: \"protocol\",\n                                                  },\n                                                }),\n                                              ],\n                                              1\n                                            ),\n                                            _c(\n                                              \"p\",\n                                              {\n                                                staticClass:\n                                                  \"control is-expanded\",\n                                              },\n                                              [\n                                                _c(\"ui-base-input-field\", {\n                                                  attrs: {\n                                                    hasFloatingLabel: true,\n                                                    inputCssClass: \"\",\n                                                    error: _vm.linkErrors,\n                                                  },\n                                                  on: {\n                                                    input: () => {\n                                                      _vm.splitUrl()\n                                                      _vm.$v.newLink.Link.$touch()\n                                                    },\n                                                    blur: function ($event) {\n                                                      return _vm.$v.newLink.Link.$touch()\n                                                    },\n                                                  },\n                                                  model: {\n                                                    value: _vm.newLink.Link,\n                                                    callback: function ($$v) {\n                                                      _vm.$set(\n                                                        _vm.newLink,\n                                                        \"Link\",\n                                                        $$v\n                                                      )\n                                                    },\n                                                    expression: \"newLink.Link\",\n                                                  },\n                                                }),\n                                              ],\n                                              1\n                                            ),\n                                          ]\n                                        ),\n                                      ]\n                                    },\n                                    proxy: true,\n                                  },\n                                ],\n                                null,\n                                false,\n                                2951270630\n                              ),\n                            }),\n                          ]\n                        : _vm._e(),\n                      _vm.newLink && !_vm.isLink\n                        ? _c(\"div\", { staticClass: \"columns is-multiline\" }, [\n                            _c(\n                              \"div\",\n                              { staticClass: \"column\" },\n                              [\n                                _c(\"ui-base-input-field\", {\n                                  staticClass: \"mb-4\",\n                                  attrs: {\n                                    labelForInput: false,\n                                    label: _vm.$t(\n                                      \"Components.Article.ArticleDetail.ModalAddEditArticleSource.Text_Title\"\n                                    ),\n                                    inputCssClass: \"\",\n                                    maxLength: \"100\",\n                                    error: _vm.textErrors,\n                                  },\n                                  on: {\n                                    input: function ($event) {\n                                      return _vm.$v.newLink.Text.$touch()\n                                    },\n                                    blur: function ($event) {\n                                      return _vm.$v.newLink.Text.$touch()\n                                    },\n                                  },\n                                  model: {\n                                    value: _vm.newLink.Text,\n                                    callback: function ($$v) {\n                                      _vm.$set(_vm.newLink, \"Text\", $$v)\n                                    },\n                                    expression: \"newLink.Text\",\n                                  },\n                                }),\n                                _c(\"ui-base-input-field\", {\n                                  attrs: {\n                                    labelForInput: false,\n                                    label: _vm.$t(\n                                      \"Components.Article.ArticleDetail.ModalAddEditArticleSource.Text_EmbedUrl\"\n                                    ),\n                                    inputCssClass: \"\",\n                                    error: _vm.linkErrors,\n                                  },\n                                  on: {\n                                    input: function ($event) {\n                                      return _vm.$v.newLink.Link.$touch()\n                                    },\n                                    blur: function ($event) {\n                                      return _vm.$v.newLink.Link.$touch()\n                                    },\n                                  },\n                                  model: {\n                                    value: _vm.newLink.Link,\n                                    callback: function ($$v) {\n                                      _vm.$set(_vm.newLink, \"Link\", $$v)\n                                    },\n                                    expression: \"newLink.Link\",\n                                  },\n                                }),\n                              ],\n                              1\n                            ),\n                            _c(\n                              \"div\",\n                              { staticClass: \"column\" },\n                              [\n                                _c(_vm.getComponentType(_vm.newLink), {\n                                  tag: \"component\",\n                                  attrs: { src: _vm.newLink.Link },\n                                }),\n                              ],\n                              1\n                            ),\n                          ])\n                        : _vm._e(),\n                    ]\n                  : _vm._e(),\n              ],\n              2\n            ),\n          ]\n        },\n        proxy: true,\n      },\n    ]),\n  })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ModalAddEditArticleSource.vue?vue&type=template&id=5f66e2b1\"\nimport script from \"./ModalAddEditArticleSource.vue?vue&type=script&lang=js\"\nexport * from \"./ModalAddEditArticleSource.vue?vue&type=script&lang=js\"\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  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/github/workspace/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('5f66e2b1')) {\n      api.createRecord('5f66e2b1', component.options)\n    } else {\n      api.reload('5f66e2b1', component.options)\n    }\n    module.hot.accept(\"./ModalAddEditArticleSource.vue?vue&type=template&id=5f66e2b1\", function () {\n      api.rerender('5f66e2b1', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/components/Articles/ModalAddEditArticleSource.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../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!./ModalAddEditArticleSource.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../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!./ModalAddEditArticleSource.vue?vue&type=script&lang=js\"","export * from \"-!../../../node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"d2a26fb4-vue-loader-template\\\"}!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalAddEditArticleSource.vue?vue&type=template&id=5f66e2b1\""],"sourceRoot":""}