{"version":3,"sources":["webpack:///./node_modules/file-saver/dist/FileSaver.min.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./src/Shared/CommonEntityMixins/DeletePromptMixin.ts","webpack:///./src/Shared/CommonEntityMixins/EntityListComponentMixin.ts","webpack:///./node_modules/core-js/modules/es7.array.includes.js","webpack:///./src/Admin/LocalizationOverrides/LocalizationOverrides.vue?febd","webpack:///./src/Shared/CommonEntityMixins/Enums.ts","webpack:///./src/Shared/CommonEntityMixins/UrlConfig.ts","webpack:///./src/Admin/LocalizationOverrides/LocalizationOverrides.vue?61b6","webpack:///./src/Admin/LocalizationOverrides/LocalizationOverrides.vue?bfa6","webpack:///./src/Admin/LocalizationOverrides/LocalizationOverrides.vue?a3b0","webpack:///./src/Admin/LocalizationOverrides/LocalizationOverrides.vue"],"names":["this","b","a","autoBom","console","warn","test","type","Blob","c","d","e","XMLHttpRequest","open","responseType","onload","response","onerror","error","send","status","dispatchEvent","MouseEvent","document","createEvent","initMouseEvent","window","f","self","global","saveAs","HTMLAnchorElement","prototype","g","h","i","URL","webkitURL","j","createElement","name","download","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","navigator","msSaveOrOpenBlob","title","body","innerText","HTMLElement","safari","userAgent","FileReader","onloadend","result","replace","readAsDataURL","k","l","module","exports","$export","context","INCLUDES","P","F","includes","searchString","indexOf","arguments","length","undefined","deletePromptMixin","extend","methods","promptDelete","deleteConfirmMessage","$i18n","t","toString","deleteButton","cancelButton","$bvModal","msgBoxConfirm","size","buttonSize","okVariant","cancelVariant","okTitle","cancelTitle","centered","buildEntityListComponentMixin","DeletePromptMixin","beforeMount","loadEntities","data","entities","loading","validationErrors","editItem","loadingEntity","i18nPrefix","computed","entityUrls","afterLoad","afterSave","afterDelete","internalLoad","saveEntity","entity","method","update","urlAction","url","VatsAPI","post","$set","recID","index","findIndex","item","splice","translatedTitle","translatedMessage","$bvToast","toast","autoHideDelay","deleteEntity","delete","endpoint","headers","displayDefault","onDeleteError","onSuccess","config","get","downloadExcelSheet","accept","constants","ExcelMimeType","cancelEdit","edit","mapping","Object","assign","add","newMap","locationChanged","$includes","el","ActionMethod","getRequestMethod","GET","POST","PUT","put","DELETE","Error","isUrlConfig","render","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","$t","directives","rawName","value","expression","attrs","on","$event","addOverride","_l","key","$$selectedVal","Array","filter","call","options","o","selected","map","val","_value","multiple","cultureChanged","domProps","availableLocales","cultureDesc","supportedLocales","localeName","cultureName","toggleOverridesOnly","saveOverride","deleteOverride","model","callback","$$v","overridesOnly","_e","staticRenderFns","LocationBasedMixin","components","JSONEditor","alreadyOverridden","available","keys","mode","showOverridesOnly","override","overrideValues","JSON","parse","overrides","existing","messages","merged","getDiff","duplicate","diff","stringify","setLocaleMessage","overridden","submit","localeMessages","recursive","overrideMessages","messageKey","childDiff","component"],"mappings":"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","file":"js/chunk-65876b6c.c17f5443.js","sourcesContent":["(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(b,c,d){var e=new XMLHttpRequest;e.open(\"GET\",b),e.responseType=\"blob\",e.onload=function(){a(e.response,c,d)},e.onerror=function(){console.error(\"could not download file\")},e.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:\"download\"in HTMLAnchorElement.prototype?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(a,b,d,e){if(e=e||open(\"\",\"_blank\"),e&&(e.document.title=e.document.body.innerText=\"downloading...\"),\"string\"==typeof a)return c(a,b,d);var g=\"application/octet-stream\"===a.type,h=/constructor/i.test(f.HTMLElement)||f.safari,i=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((i||g&&h)&&\"object\"==typeof FileReader){var j=new FileReader;j.onloadend=function(){var a=j.result;a=i?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),e?e.location.href=a:location=a,e=null},j.readAsDataURL(a)}else{var k=f.URL||f.webkitURL,l=k.createObjectURL(a);e?e.location=l:location.href=l,e=null,setTimeout(function(){k.revokeObjectURL(l)},4E4)}});f.saveAs=a.saveAs=a,\"undefined\"!=typeof module&&(module.exports=a)});\n\n//# sourceMappingURL=FileSaver.min.js.map","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","import Vue from 'vue';\r\n\r\nconst deletePromptMixin = Vue.extend({\r\n methods: {\r\n promptDelete(): Promise {\r\n const deleteConfirmMessage = this.$i18n.t('common.deletePrompt').toString();\r\n const deleteButton = this.$i18n.t('common.delete').toString();\r\n const cancelButton = this.$i18n.t('common.cancel').toString();\r\n\r\n return this.$bvModal.msgBoxConfirm(\r\n deleteConfirmMessage,\r\n {\r\n size: 'sm',\r\n buttonSize: 'sm',\r\n okVariant: 'danger',\r\n cancelVariant: 'info',\r\n okTitle: deleteButton,\r\n cancelTitle: cancelButton,\r\n centered: true\r\n }\r\n );\r\n }\r\n }\r\n});\r\n\r\nexport default deletePromptMixin;\r\n","import { getValidationErrors } from '@/Shared/ValidationErrorDirective';\r\nimport { AxiosResponse, AxiosRequestConfig } from 'axios';\r\nimport { Dictionary } from 'vue-router/types/router';\r\nimport mixins from 'vue-typed-mixins';\r\nimport VatsAPI from '../VatsAPI';\r\nimport DeletePromptMixin from './DeletePromptMixin';\r\nimport { AcceptsPayload, getRequestMethod, isUrlConfig, NoPayload, UrlOptions } from './UrlConfig';\r\nimport constants from '@/constants';\r\nimport fileSaver from 'file-saver';\r\n\r\nfunction buildEntityListComponentMixin() {\r\n return mixins(DeletePromptMixin).extend({\r\n beforeMount() {\r\n this.loadEntities();\r\n },\r\n data() {\r\n return {\r\n entities: [] as T[],\r\n loading: false,\r\n validationErrors: {} as Dictionary,\r\n editItem: null as T | null,\r\n loadingEntity: {} as { [recId: number]: boolean },\r\n i18nPrefix: '',\r\n };\r\n },\r\n computed: {\r\n entityUrls(): UrlOptions {\r\n return '';\r\n }\r\n },\r\n methods: {\r\n afterLoad(response: AxiosResponse): T[] {\r\n return response.data;\r\n },\r\n afterSave(response: AxiosResponse): T {\r\n return response.data;\r\n },\r\n // tslint:disable\r\n afterDelete(response: AxiosResponse): void {\r\n },\r\n // tslint:enable\r\n async loadEntities() {\r\n await this.internalLoad(response => {\r\n response.data = this.afterLoad(response);\r\n this.entities = response.data;\r\n }, undefined);\r\n },\r\n async saveEntity(entity: T) {\r\n const { method, url } = (isUrlConfig(this.entityUrls)\r\n ? {\r\n method: getRequestMethod>(this.entityUrls.update.urlAction),\r\n url: this.entityUrls.update.url\r\n }\r\n : { method: VatsAPI.post, url: this.entityUrls });\r\n try {\r\n this.$set(this.loadingEntity, entity.recID, true);\r\n const response = await method(url, entity);\r\n response.data = this.afterSave(response);\r\n const index = this.entities.findIndex(item => item.recID === entity.recID);\r\n this.entities.splice(index, 1, response.data);\r\n\r\n this.editItem = null;\r\n }\r\n catch (e) {\r\n this.validationErrors = getValidationErrors(e.response);\r\n const translatedTitle = this.$i18n.t(`${this.i18nPrefix}.saveFailedTitle`);\r\n const translatedMessage = this.$i18n.t(`${this.i18nPrefix}.saveFailedMessage`);\r\n this.$bvToast.toast(translatedMessage.toString(), {\r\n title: translatedTitle.toString(),\r\n autoHideDelay: 5000\r\n });\r\n throw e;\r\n }\r\n finally {\r\n this.$set(this.loadingEntity, entity.recID, false);\r\n }\r\n },\r\n async deleteEntity(entity: T) {\r\n if (entity.recID) {\r\n if (!(await this.promptDelete())) {\r\n return;\r\n }\r\n\r\n try {\r\n this.$set(this.loadingEntity, entity.recID, true);\r\n const { method, url } = isUrlConfig(this.entityUrls)\r\n ? {\r\n method: getRequestMethod(this.entityUrls.delete.urlAction),\r\n url: this.entityUrls.delete.url\r\n }\r\n : {\r\n method: (endpoint: string, data: T) => VatsAPI.delete(endpoint, {\r\n data,\r\n headers: {\r\n ['content-type']: 'application/json'\r\n }\r\n }),\r\n url: this.entityUrls\r\n };\r\n const response = await method(url, entity);\r\n this.afterDelete(response);\r\n }\r\n catch (e) {\r\n const displayDefault = this.onDeleteError(e);\r\n if (displayDefault === false) {\r\n return;\r\n }\r\n\r\n const translatedTitle =\r\n this.$i18n.t(`${this.i18nPrefix}.deleteFailedTitle`);\r\n const translatedMessage =\r\n this.$i18n.t(`${this.i18nPrefix}.deleteFailedMessage`);\r\n this.$bvToast.toast(translatedMessage.toString(), {\r\n title: translatedTitle.toString(),\r\n autoHideDelay: 5000\r\n });\r\n // Early return; don't want to splice out if delete failed\r\n return;\r\n }\r\n finally {\r\n this.$set(this.loadingEntity, entity.recID, false);\r\n }\r\n }\r\n\r\n const index = this.entities.findIndex(item => item.recID === entity.recID);\r\n this.entities.splice(index, 1);\r\n },\r\n async internalLoad(\r\n onSuccess: (results: AxiosResponse) => any,\r\n config?: AxiosRequestConfig | undefined\r\n ) {\r\n const { method, url } = isUrlConfig(this.entityUrls)\r\n ? {\r\n method: getRequestMethod>(this.entityUrls.get.urlAction),\r\n url: this.entityUrls.get.url\r\n }\r\n : { method: VatsAPI.get, url: this.entityUrls };\r\n try {\r\n this.loading = true;\r\n const response = (await method(url, config));\r\n onSuccess(response);\r\n }\r\n catch (e) {\r\n const translatedTitle = this.$i18n.t(`${this.i18nPrefix}.loadFailedTitle`);\r\n const translatedMessage = this.$i18n.t(`${this.i18nPrefix}.loadFailedMessage`);\r\n this.$bvToast.toast(translatedMessage.toString(), {\r\n title: translatedTitle.toString(),\r\n autoHideDelay: 5000\r\n });\r\n throw e;\r\n }\r\n finally {\r\n this.loading = false;\r\n }\r\n },\r\n async downloadExcelSheet() {\r\n await this.internalLoad(response => {\r\n fileSaver.saveAs(response.data, 'ListContents.xlsx');\r\n },\r\n {\r\n headers: {\r\n accept: constants.ExcelMimeType\r\n },\r\n responseType: 'blob'\r\n });\r\n },\r\n cancelEdit() {\r\n if (this.editItem && !this.editItem.recID) {\r\n const index = this.entities.findIndex(item => item.recID === this.editItem!.recID);\r\n this.entities.splice(index, 1);\r\n }\r\n this.editItem = null;\r\n },\r\n edit(mapping: T) {\r\n this.cancelEdit();\r\n this.editItem = Object.assign({}, mapping);\r\n },\r\n add() {\r\n if (this.editItem && !this.editItem.recID) {\r\n return;\r\n }\r\n const newMap = {} as T;\r\n this.entities.splice(0, 0, newMap);\r\n this.edit({} as T);\r\n },\r\n locationChanged() {\r\n this.validationErrors = {};\r\n this.editItem = null;\r\n this.loadEntities();\r\n },\r\n onDeleteError(e: any | undefined): boolean {\r\n return false;\r\n },\r\n }\r\n });\r\n}\r\n\r\nexport default buildEntityListComponentMixin;\r\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocalizationOverrides.vue?vue&type=style&index=0&id=520292d0&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocalizationOverrides.vue?vue&type=style&index=0&id=520292d0&lang=scss&scoped=true&\"","export enum ActionMethod {\r\n GET,\r\n POST,\r\n PUT,\r\n DELETE\r\n}\r\n","import { RemoteAction } from './RemoteAction';\r\nimport { ActionMethod } from './Enums';\r\nimport VatsAPI from '@/Shared/VatsAPI';\r\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\r\n\r\nexport interface UrlConfig {\r\n get: RemoteAction;\r\n update: RemoteAction;\r\n add?: RemoteAction;\r\n delete: RemoteAction;\r\n}\r\n\r\nexport type UrlOptions = UrlConfig | string;\r\n\r\nexport type AcceptsPayload = ((url: string, data?: T, config?: AxiosRequestConfig) => AxiosResponse);\r\nexport type NoPayload = ((url: string, config?: AxiosRequestConfig) => AxiosResponse);\r\n\r\nexport function getRequestMethod

| NoPayload>(method: ActionMethod): P {\r\n switch (method) {\r\n case ActionMethod.GET:\r\n return VatsAPI.get as any as P;\r\n case ActionMethod.POST:\r\n return VatsAPI.post as any as P;\r\n case ActionMethod.PUT:\r\n return VatsAPI.put as any as P;\r\n case ActionMethod.DELETE:\r\n return VatsAPI.delete as any as P;\r\n default:\r\n throw Error(`Unknown HTTP Action ${method}`);\r\n }\r\n}\r\n\r\nexport function isUrlConfig(config: UrlOptions): config is UrlConfig {\r\n if (config && (config as UrlConfig).get) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"explanation\"},[_c('p',[_vm._v(_vm._s(_vm.$t((_vm.i18nPrefix + \".explanationText\"))))]),_c('p',[_vm._v(_vm._s(_vm.$t((_vm.i18nPrefix + \".explanationBracesWarning\"))))])]),_c('div',{directives:[{name:\"wait-indicator\",rawName:\"v-wait-indicator\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"grid-table\"},[_c('div',{staticClass:\"grid-table-row grid-header-row\"},[_c('span',{staticClass:\"grid-table-cell limit-width\",attrs:{\"data-tooltip\":_vm.$t((_vm.i18nPrefix + \".languageHeader\"))}},[_c('span',[_vm._v(_vm._s(_vm.$t((_vm.i18nPrefix + \".languageHeader\"))))])]),_c('span',{staticClass:\"grid-table-cell grid-header-control\"},[_c('div',{staticClass:\"btn-group\"},[_c('button',{staticClass:\"btn btn-outline-primary\",on:{\"click\":function($event){return _vm.addOverride()}}},[_c('i',{staticClass:\"fa fa-plus\"})])])])]),_vm._l((_vm.entities),function(entity){return [_c('div',{directives:[{name:\"wait-indicator\",rawName:\"v-wait-indicator\",value:(_vm.loadingEntity[entity.recID]),expression:\"loadingEntity[entity.recID]\"}],key:entity.recID,staticClass:\"grid-table-row\"},[_c('span',{staticClass:\"grid-table-cell limit-width\"},[(!_vm.editItem || _vm.editItem.recID != entity.recID)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.localeName(entity.cultureName))+\"\\n \")]):_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editItem.cultureName),expression:\"editItem.cultureName\"}],staticClass:\"form-control\",on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.editItem, \"cultureName\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.cultureChanged(_vm.editItem || entity)}]}},[_c('option',{attrs:{\"disabled\":\"\"},domProps:{\"value\":null}},[(_vm.availableLocales.length)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.$t('common.select'))+\"\\n \")]):_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.$t((_vm.i18nPrefix + \".allLanguagesOverriddenMessage\")))+\"\\n \")])]),_vm._l((_vm.availableLocales),function(cultureDesc){return _c('option',{key:cultureDesc,domProps:{\"value\":_vm.supportedLocales[cultureDesc]}},[_vm._v(\"\\n \"+_vm._s(cultureDesc)+\"\\n \")])})],2)]),_c('span',{staticClass:\"grid-table-cell\"},[(!_vm.editItem || _vm.editItem.recID != entity.recID)?_c('div',{staticClass:\"btn-group\",attrs:{\"role\":\"group\"}},[_c('button',{staticClass:\"btn btn-outline-info\",on:{\"click\":function($event){return _vm.edit(entity)}}},[_c('i',{staticClass:\"fas fa-edit\"})]),_c('button',{staticClass:\"btn btn-outline-danger\",on:{\"click\":function($event){return _vm.deleteOverride(entity)}}},[_c('i',{staticClass:\"fas fa-trash\"})])]):_c('div',{staticClass:\"btn-group\",attrs:{\"role\":\"group\"}},[_c('button',{staticClass:\"btn btn-outline-dark text-button\",on:{\"click\":function($event){return _vm.toggleOverridesOnly()}}},[(_vm.showOverridesOnly)?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.$t((_vm.i18nPrefix + \".showAllValues\")))+\"\\n \")]):_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.$t((_vm.i18nPrefix + \".overridesOnly\")))+\"\\n \")])]),_c('button',{staticClass:\"btn btn-outline-warning\",on:{\"click\":function($event){return _vm.cancelEdit()}}},[_c('i',{staticClass:\"fas fa-times\"})]),_c('button',{staticClass:\"btn btn-outline-success\",on:{\"click\":function($event){return _vm.saveOverride(_vm.editItem || entity)}}},[_c('i',{staticClass:\"fas fa-save\"})])])])]),(_vm.editItem && _vm.editItem.recID == entity.recID)?_c('div',{directives:[{name:\"wait-indicator\",rawName:\"v-wait-indicator\",value:(_vm.loadingEntity[entity.recID]),expression:\"loadingEntity[entity.recID]\"}],key:((entity.recID) + \"+editor\"),staticClass:\"localization-editor-row\"},[(_vm.showOverridesOnly)?_c('JSONEditor',{attrs:{\"options\":_vm.options},model:{value:(_vm.overridesOnly),callback:function ($$v) {_vm.overridesOnly=$$v},expression:\"overridesOnly\"}}):_c('JSONEditor',{attrs:{\"options\":_vm.options},model:{value:(_vm.editItem.overrides),callback:function ($$v) {_vm.$set(_vm.editItem, \"overrides\", $$v)},expression:\"editItem.overrides\"}})],1):_vm._e()]}),(!_vm.entities || !_vm.entities.length)?_c('div',{staticClass:\"grid-table-row\"},[_c('span',{staticClass:\"grid-table-cell\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t((_vm.i18nPrefix + \".noOverridesMessage\")))+\"\\n \")])]):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport mixins from 'vue-typed-mixins';\nimport { AxiosResponse } from 'axios';\nimport { JSONEditorOptions } from 'jsoneditor';\nimport LocationBasedMixin from '@/Shared/LocationBasedMixin';\nimport { supportedLocales } from '@/internationalization';\nimport { LocalizationMessages } from '@/internationalization/en-us';\nimport { LocalizationOverride } from './LocalizationOverride';\nimport buildEntityListComponentMixin from '@/Shared/CommonEntityMixins/EntityListComponentMixin';\nimport { deepMerge } from '@/Shared/Utilities';\n\nexport default mixins(LocationBasedMixin, buildEntityListComponentMixin()).extend({\n components: {\n JSONEditor: () => import('@/Shared/JsonEditor.vue'),\n },\n computed: {\n entityUrls() {\n return `/${this.location}/Localizations/Overrides`;\n },\n availableLocales() {\n let alreadyOverridden: string[] = this.entities.map(item => item.cultureName);\n if (this.editItem) {\n alreadyOverridden = alreadyOverridden.filter(item => item !== this.editItem!.cultureName);\n }\n\n const available = Object.keys(supportedLocales)\n .filter(key => !alreadyOverridden.includes(supportedLocales[key]));\n return available;\n }\n },\n data() {\n return {\n i18nPrefix: 'admin.localizationOverrides',\n options: {\n mode: 'form'\n } as JSONEditorOptions,\n supportedLocales,\n showOverridesOnly: false,\n overridesOnly: null as any as LocalizationMessages,\n };\n },\n methods: {\n afterLoad(response: AxiosResponse) {\n for (const override of response.data) {\n const overrideValues = JSON.parse(override.overrides as string);\n const existing = this.$i18n.messages[override.cultureName];\n const merged = deepMerge({}, existing as any, overrideValues as any);\n override.overrides = merged as LocalizationMessages;\n }\n return response.data;\n },\n toggleOverridesOnly() {\n this.showOverridesOnly = !this.showOverridesOnly;\n if (!this.editItem) {\n return;\n }\n if (this.showOverridesOnly) {\n this.overridesOnly = this.getDiff(this.editItem);\n }\n else {\n const merged = deepMerge({}, this.editItem.overrides as any, this.overridesOnly as any);\n this.editItem.overrides = merged as LocalizationMessages;\n }\n },\n saveOverride(override: LocalizationOverride) {\n // duplicate it so that the stringification doesn't mess with\n // the editor while we're saving\n const duplicate: LocalizationOverride = {\n ...override\n };\n const diff = this.showOverridesOnly\n ? this.overridesOnly\n : this.getDiff(duplicate);\n duplicate.overrides = JSON.stringify(diff) as LocalizationMessages;\n this.saveEntity(duplicate);\n },\n afterSave(response: AxiosResponse) {\n this.showOverridesOnly = false;\n this.overridesOnly = null as any;\n\n response.data.overrides = JSON.parse(response.data.overrides as string);\n const localeName = `${response.data.cultureName}-${this.location}`;\n this.$i18n.setLocaleMessage(localeName, response.data.overrides as any);\n const existing = this.$i18n.messages[response.data.cultureName] as any;\n const overridden = deepMerge({}, existing, response.data.overrides as any);\n response.data.overrides = overridden;\n return response.data;\n },\n deleteOverride(override: LocalizationOverride) {\n const submit = {\n ...override\n };\n submit.overrides = JSON.stringify(override.overrides) as any;\n this.deleteEntity(submit);\n },\n addOverride() {\n this.add();\n this.editItem = {\n cultureName: null as unknown as string,\n overrides: {},\n } as LocalizationOverride;\n },\n cultureChanged(entity: LocalizationOverride) {\n const existing = this.$i18n.messages[entity.cultureName];\n const merged = deepMerge({}, existing as any, this.overridesOnly as any);\n entity.overrides = merged as LocalizationMessages;\n },\n localeName(cultureName: string) {\n for (const name in supportedLocales) {\n if (!supportedLocales[name]) {\n continue;\n }\n if (supportedLocales[name] === cultureName) {\n return name;\n }\n }\n return this.$t('common.unknown');\n },\n getDiff(override: LocalizationOverride): LocalizationMessages {\n const localeMessages = this.$i18n.messages[override.cultureName];\n const recursive = (overrideMessages: any, existing: any): LocalizationMessages => {\n const diff = {} as any;\n for (const messageKey in overrideMessages) {\n if (!overrideMessages[messageKey]\n || !existing[messageKey]) {\n continue;\n }\n\n if (typeof overrideMessages[messageKey] === 'object') {\n const childDiff = recursive(overrideMessages[messageKey], existing[messageKey]);\n if (Object.keys(childDiff).length) {\n diff[messageKey] = childDiff;\n }\n }\n else if (overrideMessages[messageKey] !== existing[messageKey]) {\n diff[messageKey] = overrideMessages[messageKey];\n }\n }\n return diff as LocalizationMessages;\n };\n\n return recursive(override.overrides, localeMessages as LocalizationMessages);\n }\n }\n});\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocalizationOverrides.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocalizationOverrides.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LocalizationOverrides.vue?vue&type=template&id=520292d0&scoped=true&\"\nimport script from \"./LocalizationOverrides.vue?vue&type=script&lang=ts&\"\nexport * from \"./LocalizationOverrides.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LocalizationOverrides.vue?vue&type=style&index=0&id=520292d0&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 \"520292d0\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}