{"version":3,"sources":["webpack:///./src/components/form/Formular.vue?ab05","webpack:///./src/components/registration/FormularEntity.vue?986b","webpack:///src/components/registration/FormularEntity.vue","webpack:///./src/components/registration/FormularEntity.vue?a1ab","webpack:///./src/components/registration/FormularEntity.vue","webpack:///./src/components/registration/FormularLocations.vue?1730","webpack:///src/components/registration/FormularLocations.vue","webpack:///./src/components/registration/FormularLocations.vue?2952","webpack:///./src/components/registration/FormularLocations.vue?4328","webpack:///./src/components/form/Formular.vue?9b9c","webpack:///src/components/form/Formular.vue","webpack:///./src/components/form/Formular.vue?9603","webpack:///./src/components/form/Formular.vue?32c0","webpack:///./src/components/registration/FormularLocations.vue?31a8"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","id","isBusy","definition","entityValues","triggerInit","on","$value","$emit","staticRenderFns","name","components","Formular","props","type","String","required","entityKey","default","entityDefinition","Object","definitionModifier","Function","Boolean","data","busyStates","validators","computed","values","some","validatorsIs","$store","getters","dynamicEntityDefinition","properties","created","dispatch","finally","watch","component","class","disabled","directives","rawName","value","form","show","expression","$root","mobile","up","key","staticClass","_v","_s","$T","$event","searchByQuery","nativeOn","indexOf","_k","keyCode","searchReset","model","search","callback","$$v","$set","searchlocations","length","domProps","_l","location","selectedLocationIds","includes","_e","address","labelFormatter","locationsDefinition","valueFormatter","customerId","html","glnNumber","searchAddLocationToSelected","lIndex","getLocationOrigin","isAccepted","propertyValue","pKey","concat","toLowerCase","addresses","street","canton","country","filter","i","join","formEditLocation","selectedUpdateLocation","formToggle","editData","undefined","ID_PROPERTIES","newcomer","formData","formUpdateData","locationAddressesDefinition","formAddLocationToSelected","FormularEntity","initialValues","Array","query","locations","selected","validity","allEverLoadedLocations","selectedLocations","map","formIsValid","every","methods","ID_PROPERTY_KEYS","keys","find","selectedCreateInitialLocations","locationOrigin","modify","existingIndex","$delete","onChange","formProperty","controls","isDirty","isValid","formSetup","state","propertyName","isArray","DATA_DEFAULT","isDisabled","_obj","inline","maxWidth","onSubmit","loaderType","inlineAlignment","control","cKey","_grid","cols","is","_b","tag","buttonAlignment","actions","abort","variant","size","onAbort","_t","reset","onReset","submit","controlDefinition","controlValues","validator","labelCols","Number","showButtons","showResetButton","showAbortButton","buttonVariants","buttonSizes","$props","validations","$v","$invalid","$dirty","createControls","onInit","touchControls","$touch","resetControls","$reset","change","$on"],"mappings":"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","file":"js/component-location-edit~component-registration.5ca0e0f9.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.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!./Formular.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('formular',{attrs:{\"id\":_vm.id,\"isBusy\":_vm.isBusy,\"controlDefinition\":_vm.definition,\"controlValues\":_vm.entityValues,\"triggerInit\":_vm.triggerInit,\"showButtons\":false},on:{\"formular:init\":function ($value) { return _vm.$emit('formular:init', $value); },\"formular:change\":function ($value) { return _vm.$emit('formular:change', $value); },\"formular:touch\":function ($value) { return _vm.$emit('formular:touch', $value); },\"formular:reset\":function ($value) { return _vm.$emit('formular:reset', $value); },\"formular:invalidsubmit\":function ($value) { return _vm.$emit('formular:change', $value); },\"formular:submit\":function ($value) { return _vm.$emit('formular:submit', $value); }}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <formular\r\n    :id=\"id\"\r\n    :isBusy=\"isBusy\"\r\n    :controlDefinition=\"definition\"\r\n    :controlValues=\"entityValues\"\r\n    :triggerInit=\"triggerInit\"\r\n    :showButtons=\"false\"\r\n    @formular:init=\"$value => $emit('formular:init', $value)\"\r\n    @formular:change=\"$value => $emit('formular:change', $value)\"\r\n    @formular:touch=\"$value => $emit('formular:touch', $value)\"\r\n    @formular:reset=\"$value => $emit('formular:reset', $value)\"\r\n    @formular:invalidsubmit=\"$value => $emit('formular:change', $value)\"\r\n    @formular:submit=\"$value => $emit('formular:submit', $value)\"\r\n  />\r\n</template>\r\n\r\n<script>\r\nimport Formular from '@/components/form/Formular'\r\n\r\nexport default {\r\n  name: 'RegistrationFormularEntity',\r\n  components: {\r\n    Formular\r\n  },\r\n  props: {\r\n    id: {\r\n      type: String,\r\n      required: true\r\n    },\r\n    entityKey: {\r\n      type: String,\r\n      default: null\r\n    },\r\n    entityDefinition: {\r\n      type: Object,\r\n      default: () => ({})\r\n    },\r\n    entityValues: {\r\n      type: Object,\r\n      default: () => ({})\r\n    },\r\n    definitionModifier: {\r\n      type: Function,\r\n      default: null\r\n    },\r\n    triggerInit: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  data () {\r\n    return {\r\n      busyStates: {\r\n        validators: true,\r\n        entityDefinition: true\r\n      }\r\n    }\r\n  },\r\n  computed: {\r\n    isBusy () {\r\n      return Object.values(this.busyStates).some(s => s === true)\r\n    },\r\n    validatorsIs () {\r\n      return this.$store.getters['validators/is']\r\n    },\r\n    validators () {\r\n      return this.$store.getters['validators/get']\r\n    },\r\n    dynamicEntityDefinition () {\r\n      return this.entityKey ? this.$store.getters[`${this.entityKey}/definition`] : null\r\n    },\r\n    definition () {\r\n      const definition = Object.assign({}, this.entityDefinition, this.dynamicEntityDefinition, {\r\n        properties: this.entityDefinition.properties || this.dynamicEntityDefinition.properties || []\r\n      })\r\n\r\n      return typeof this.definitionModifier === 'function' ? this.definitionModifier(definition) : definition\r\n    }\r\n  },\r\n  created () {\r\n    this.$store.dispatch('validators/get').finally(() => { this.busyStates.validators = false })\r\n\r\n    if (this.entityKey && !this.dynamicEntityDefinition.id) {\r\n      this.$store.dispatch(`${this.entityKey}/getDefinition`).finally(() => { this.busyStates.entityDefinition = false })\r\n    } else {\r\n      this.busyStates.entityDefinition = false\r\n    }\r\n  },\r\n  watch: {\r\n    '$props.entityDefinition' (definition) {\r\n      this.entityDefinition = definition\r\n    },\r\n    '$props.entityValues' (values) {\r\n      this.entityValues = values\r\n    }\r\n  }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\"></style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormularEntity.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormularEntity.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormularEntity.vue?vue&type=template&id=612daf8e&\"\nimport script from \"./FormularEntity.vue?vue&type=script&lang=js&\"\nexport * from \"./FormularEntity.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\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:['formular-locations', { 'is-disabled': _vm.disabled }]},[_c('b-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.form.show),expression:\"!form.show\"}]},[_c('b-col',{attrs:{\"cols\":_vm.$root.mobile.up.key}},[_c('h2',{staticClass:\"h3\"},[_vm._v(_vm._s(_vm.$T('Search.Title')))]),_c('div',{staticClass:\"locations-search\"},[_c('control-input',{attrs:{\"id\":\"SearchQueryControl\",\"placeholder\":_vm.$T('Search.Control.Query.Placeholder'),\"description\":_vm.$T('Search.Control.Query.Description'),\"disabled\":_vm.disabled},on:{\"input\":function($event){return _vm.searchByQuery()}},nativeOn:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.searchReset($event)}},model:{value:(_vm.search.query),callback:function ($$v) {_vm.$set(_vm.search, \"query\", $$v)},expression:\"search.query\"}}),_c('div',{staticClass:\"search-list\"},[_c('div',[(_vm.searchlocations.length <= 0)?_c('div',{staticClass:\"list-noitemmessage\",domProps:{\"innerHTML\":_vm._s(_vm.$T('Search.NoItemMessageHtml'))}}):_vm._l((_vm.searchlocations),function(location){return _c('div',{key:location.id,staticClass:\"list-item\"},[_c('b-form-row',{staticClass:\"justify-content-between\"},[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('h3',[_vm._v(_vm._s(location.name))])]),_c('b-col',{attrs:{\"cols\":\"auto\"}},[(_vm.selectedLocationIds.includes(location.id))?_c('b-badge',{attrs:{\"variant\":\"dark\"}},[_vm._v(_vm._s(_vm.$T('List.Item.IsOnTheList')))]):_vm._e()],1)],1),_c('div',{staticClass:\"item-properties\"},[_c('div',{staticClass:\"properties-tabled\"},[_c('div',{staticClass:\"property property-address\"},[_c('div',{staticClass:\"property-label\"},[_vm._v(_vm._s(_vm.$T('List.Item.Label.Address')))]),_c('div',[_vm._v(_vm._s(location.address))])]),_c('div',{staticClass:\"property property-customerid\"},[_c('div',{staticClass:\"property-label\"},[_vm._v(_vm._s(_vm.labelFormatter(_vm.locationsDefinition, 'customerId')))]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.valueFormatter(_vm.locationsDefinition, 'customerId', location.customerId).html)}})]),_c('div',{staticClass:\"property property-glnnumber\"},[_c('div',{staticClass:\"property-label\"},[_vm._v(_vm._s(_vm.labelFormatter(_vm.locationsDefinition, 'glnNumber')))]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.valueFormatter(_vm.locationsDefinition, 'glnNumber', location.glnNumber).html)}})])])]),_c('div',{staticClass:\"item-actions\"},[_c('b-button',{attrs:{\"variant\":\"primary\",\"size\":\"sm\",\"disabled\":_vm.disabled || _vm.selectedLocationIds.includes(location.id)},on:{\"click\":function($event){return _vm.searchAddLocationToSelected(location)}}},[_c('b-icon',{staticClass:\"mr-1\",attrs:{\"icon\":\"plus\"}}),_vm._v(_vm._s(_vm.$T('Search.Item.Select')))],1)],1)],1)})],2)])],1)]),_c('b-col',{class:['mt-4', (\"mt-\" + (_vm.$root.mobile.up.key) + \"-0\")],attrs:{\"cols\":_vm.$root.mobile.up.key}},[_c('h2',{staticClass:\"h3\"},[_vm._v(_vm._s(_vm.$T('List.Title')))]),_c('div',{staticClass:\"selected-list\"},_vm._l((_vm.selectedLocations),function(location,lIndex){return _c('div',{key:lIndex,class:['list-item', (\"item-type-\" + (_vm.getLocationOrigin(location))), { 'is-requested': !location.isAccepted }]},[(_vm.getLocationOrigin(location) === 'newcomer')?[_c('h3',{staticClass:\"h4\"},[_vm._v(_vm._s(location.location.name))]),_c('div',{staticClass:\"item-properties\"},[_c('div',{staticClass:\"properties-tabled\"},[_vm._l((location.location),function(propertyValue,pKey){return [([].concat(propertyValue || []).length > 0)?_c('div',{key:pKey,class:['property', (\"property-\" + (pKey.toLowerCase()))]},[_c('div',{staticClass:\"property-label\"},[_vm._v(_vm._s(_vm.labelFormatter(_vm.locationsDefinition, pKey)))]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.valueFormatter(_vm.locationsDefinition, pKey, propertyValue).html)}})]):_vm._e()]})],2),_c('div',{staticClass:\"property property-address\"},[_c('div',{staticClass:\"property-label\"},[_vm._v(_vm._s(_vm.$T('List.Item.Label.Address')))]),_c('div',[_vm._v(_vm._s([location.addresses[0].street, ((location.addresses[0].zip) + \" \" + (location.addresses[0].city)), location.addresses[0].canton, location.addresses[0].country].filter(function (i) { return i; }).join(', ')))])])])]:[_c('b-form-row',{staticClass:\"justify-content-between\"},[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('h3',{staticClass:\"h4\"},[_vm._v(_vm._s(location.name))])]),_c('b-col',{attrs:{\"cols\":\"auto\"}},[(!location.isAccepted)?_c('b-badge',{attrs:{\"variant\":\"dark\"}},[_vm._v(_vm._s(_vm.$T('List.Item.isRequested')))]):_vm._e()],1)],1),_c('div',{staticClass:\"item-properties\"},[_c('div',{staticClass:\"properties-tabled\"},[_c('div',{staticClass:\"property property-customerid\"},[_c('div',{staticClass:\"property-label\"},[_vm._v(_vm._s(_vm.labelFormatter(_vm.locationsDefinition, 'customerId')))]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.valueFormatter(_vm.locationsDefinition, 'customerId', location.customerId).html)}})]),_c('div',{staticClass:\"property property-glnnumber\"},[_c('div',{staticClass:\"property-label\"},[_vm._v(_vm._s(_vm.labelFormatter(_vm.locationsDefinition, 'glnNumber')))]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.valueFormatter(_vm.locationsDefinition, 'glnNumber', location.glnNumber).html)}})])]),_c('div',{staticClass:\"property property-address\"},[_c('div',{staticClass:\"property-label\"},[_vm._v(_vm._s(_vm.$T('List.Item.Label.Address')))]),_c('div',[_vm._v(_vm._s(location.address))])])])],_c('div',{staticClass:\"item-actions\"},[_c('b-button-group',{attrs:{\"size\":\"sm\"}},[(_vm.getLocationOrigin(location) === 'newcomer')?_c('b-button',{attrs:{\"variant\":\"primary\",\"size\":\"sm\",\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.formEditLocation(location)}}},[_c('b-icon',{staticClass:\"mr-1\",attrs:{\"icon\":\"edit\"}}),_vm._v(_vm._s(_vm.$T('List.Item.Edit')))],1):_vm._e(),_c('b-button',{attrs:{\"variant\":\"danger\",\"size\":\"sm\",\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.selectedUpdateLocation(location, false)}}},[_c('b-icon',{staticClass:\"mr-1\",attrs:{\"icon\":\"trash\"}}),_vm._v(_vm._s(_vm.$T('List.Item.Remove')))],1)],1)],1)],2)}),0),_c('div',{staticClass:\"d-flex justify-content-end mt-3\"},[_c('b-button',{attrs:{\"variant\":\"dark\",\"size\":\"sm\",\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.formToggle(true)}}},[_vm._v(_vm._s(_vm.$T('FormAdd.ToggleButton')))])],1)])],1),(_vm.form.show)?[_c('b-row',[_c('b-col',{attrs:{\"cols\":_vm.$root.mobile.up.key}},[_c('h2',{staticClass:\"h3\"},[_vm._v(_vm._s(_vm.$T('FormAdd.Title')))]),_c('formular-entity',{attrs:{\"id\":\"UserLocation\",\"entityDefinition\":_vm.locationsDefinition,\"entityValues\":_vm.form.editData ? _vm.form.editData.location : undefined,\"triggerInit\":_vm.form.editData[_vm.ID_PROPERTIES.newcomer] !== null},on:{\"formular:change\":function (formData) { return _vm.formUpdateData('location', formData); }}})],1),_c('b-col',{attrs:{\"cols\":_vm.$root.mobile.up.key}},[_c('h2',{staticClass:\"h3\"},[_vm._v(_vm._s(_vm.$T('FormAdd.AddressTitle')))]),_c('formular-entity',{attrs:{\"id\":\"UserLocationAddress\",\"entityDefinition\":_vm.locationAddressesDefinition,\"entityValues\":_vm.form.editData ? _vm.form.editData.addresses[0] : undefined,\"triggerInit\":_vm.form.editData[_vm.ID_PROPERTIES.newcomer] !== null},on:{\"formular:change\":function (formData) { return _vm.formUpdateData('addresses', formData); }}})],1)],1),_c('b-row',{staticClass:\"mt-3\",attrs:{\"align-v\":\"center\",\"align-h\":\"between\"}},[_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('b-button',{attrs:{\"variant\":\"light\",\"size\":\"sm\",\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.formToggle(false)}}},[_vm._v(_vm._s(_vm.$T('FormAdd.AbortButton')))])],1),_c('b-col',{attrs:{\"cols\":\"auto\"}},[_c('b-button',{attrs:{\"variant\":\"primary\",\"size\":\"sm\",\"disabled\":_vm.disabled},on:{\"click\":_vm.formAddLocationToSelected}},[_vm._v(_vm._s(_vm.$T('FormAdd.SaveButton')))])],1)],1)]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <div :class=\"['formular-locations', { 'is-disabled': disabled }]\">\r\n    <b-row v-show=\"!form.show\">\r\n      <b-col :cols=\"$root.mobile.up.key\">\r\n        <h2 class=\"h3\">{{ $T('Search.Title') }}</h2>\r\n\r\n        <div class=\"locations-search\">\r\n          <control-input\r\n            id=\"SearchQueryControl\"\r\n            v-model=\"search.query\"\r\n            :placeholder=\"$T('Search.Control.Query.Placeholder')\"\r\n            :description=\"$T('Search.Control.Query.Description')\"\r\n            :disabled=\"disabled\"\r\n            @input=\"searchByQuery()\"\r\n            @keydown.native.esc=\"searchReset\"\r\n          />\r\n\r\n          <div class=\"search-list\">\r\n            <div>\r\n              <div class=\"list-noitemmessage\" v-if=\"searchlocations.length <= 0\" v-html=\"$T('Search.NoItemMessageHtml')\"/>\r\n\r\n              <div class=\"list-item\" v-else v-for=\"location in searchlocations\" :key=\"location.id\">\r\n                <b-form-row class=\"justify-content-between\">\r\n                  <b-col cols=\"auto\">\r\n                    <h3>{{ location.name }}</h3>\r\n                  </b-col>\r\n\r\n                  <b-col cols=\"auto\">\r\n                    <b-badge v-if=\"selectedLocationIds.includes(location.id)\" variant=\"dark\">{{ $T('List.Item.IsOnTheList') }}</b-badge>\r\n                  </b-col>\r\n                </b-form-row>\r\n\r\n                <div class=\"item-properties\">\r\n                  <div class=\"properties-tabled\">\r\n                    <div class=\"property property-address\">\r\n                      <div class=\"property-label\">{{ $T('List.Item.Label.Address') }}</div>\r\n                      <div>{{ location.address }}</div>\r\n                    </div>\r\n\r\n                    <div class=\"property property-customerid\">\r\n                      <div class=\"property-label\">{{ labelFormatter(locationsDefinition, 'customerId') }}</div>\r\n                      <div v-html=\"valueFormatter(locationsDefinition, 'customerId', location.customerId).html\"/>\r\n                    </div>\r\n\r\n                    <div class=\"property property-glnnumber\">\r\n                      <div class=\"property-label\">{{ labelFormatter(locationsDefinition, 'glnNumber') }}</div>\r\n                      <div v-html=\"valueFormatter(locationsDefinition, 'glnNumber', location.glnNumber).html\"/>\r\n                    </div>\r\n                  </div>\r\n\r\n                </div>\r\n\r\n                <div class=\"item-actions\">\r\n                  <b-button variant=\"primary\" size=\"sm\" :disabled=\"disabled || selectedLocationIds.includes(location.id)\" @click=\"searchAddLocationToSelected(location)\"><b-icon icon=\"plus\" class=\"mr-1\"/>{{ $T('Search.Item.Select') }}</b-button>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </b-col>\r\n\r\n      <b-col :cols=\"$root.mobile.up.key\" :class=\"['mt-4', `mt-${$root.mobile.up.key}-0`]\">\r\n        <h2 class=\"h3\">{{ $T('List.Title') }}</h2>\r\n\r\n        <div class=\"selected-list\">\r\n          <div :class=\"['list-item', `item-type-${getLocationOrigin(location)}`, { 'is-requested': !location.isAccepted }]\" v-for=\"(location, lIndex) in selectedLocations\" :key=\"lIndex\">\r\n            <template v-if=\"getLocationOrigin(location) === 'newcomer'\">\r\n              <h3 class=\"h4\">{{ location.location.name }}</h3>\r\n\r\n              <div class=\"item-properties\">\r\n                <div class=\"properties-tabled\">\r\n                  <template v-for=\"(propertyValue, pKey) in location.location\">\r\n                    <div :class=\"['property', `property-${pKey.toLowerCase()}`]\" v-if=\"[].concat(propertyValue || []).length > 0\" :key=\"pKey\">\r\n                      <div class=\"property-label\">{{ labelFormatter(locationsDefinition, pKey) }}</div>\r\n                      <div v-html=\"valueFormatter(locationsDefinition, pKey, propertyValue).html\"/>\r\n                    </div>\r\n                  </template>\r\n                </div>\r\n\r\n                <div class=\"property property-address\">\r\n                  <div class=\"property-label\">{{ $T('List.Item.Label.Address') }}</div>\r\n                  <div>{{ [location.addresses[0].street, `${location.addresses[0].zip} ${location.addresses[0].city}`, location.addresses[0].canton, location.addresses[0].country].filter(i => i).join(', ') }}</div>\r\n                </div>\r\n              </div>\r\n            </template>\r\n\r\n            <template v-else>\r\n              <b-form-row class=\"justify-content-between\">\r\n                <b-col cols=\"auto\">\r\n                  <h3 class=\"h4\">{{ location.name }}</h3>\r\n                </b-col>\r\n\r\n                <b-col cols=\"auto\">\r\n                  <b-badge v-if=\"!location.isAccepted\" variant=\"dark\">{{ $T('List.Item.isRequested') }}</b-badge>\r\n                </b-col>\r\n              </b-form-row>\r\n\r\n              <div class=\"item-properties\">\r\n                <div class=\"properties-tabled\">\r\n                  <div class=\"property property-customerid\">\r\n                    <div class=\"property-label\">{{ labelFormatter(locationsDefinition, 'customerId') }}</div>\r\n                    <div v-html=\"valueFormatter(locationsDefinition, 'customerId', location.customerId).html\"/>\r\n                  </div>\r\n\r\n                  <div class=\"property property-glnnumber\">\r\n                    <div class=\"property-label\">{{ labelFormatter(locationsDefinition, 'glnNumber') }}</div>\r\n                    <div v-html=\"valueFormatter(locationsDefinition, 'glnNumber', location.glnNumber).html\"/>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"property property-address\">\r\n                  <div class=\"property-label\">{{ $T('List.Item.Label.Address') }}</div>\r\n                  <div>{{ location.address }}</div>\r\n                </div>\r\n              </div>\r\n            </template>\r\n\r\n            <div class=\"item-actions\">\r\n              <b-button-group size=\"sm\">\r\n                <b-button variant=\"primary\" size=\"sm\" v-if=\"getLocationOrigin(location) === 'newcomer'\" :disabled=\"disabled\" @click=\"formEditLocation(location)\"><b-icon icon=\"edit\" class=\"mr-1\"/>{{ $T('List.Item.Edit') }}</b-button>\r\n                <b-button variant=\"danger\" size=\"sm\" :disabled=\"disabled\" @click=\"selectedUpdateLocation(location, false)\"><b-icon icon=\"trash\" class=\"mr-1\"/>{{ $T('List.Item.Remove') }}</b-button>\r\n              </b-button-group>\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"d-flex justify-content-end mt-3\">\r\n          <b-button variant=\"dark\" size=\"sm\" :disabled=\"disabled\" @click=\"formToggle(true)\">{{ $T('FormAdd.ToggleButton') }}</b-button>\r\n        </div>\r\n      </b-col>\r\n    </b-row>\r\n\r\n    <template v-if=\"form.show\">\r\n      <b-row>\r\n        <b-col :cols=\"$root.mobile.up.key\">\r\n          <h2 class=\"h3\">{{ $T('FormAdd.Title') }}</h2>\r\n\r\n          <formular-entity\r\n            id=\"UserLocation\"\r\n            :entityDefinition=\"locationsDefinition\"\r\n            :entityValues=\"form.editData ? form.editData.location : undefined\"\r\n            :triggerInit=\"form.editData[ID_PROPERTIES.newcomer] !== null\"\r\n            @formular:change=\"formData => formUpdateData('location', formData)\"\r\n          />\r\n        </b-col>\r\n\r\n        <b-col :cols=\"$root.mobile.up.key\">\r\n          <h2 class=\"h3\">{{ $T('FormAdd.AddressTitle') }}</h2>\r\n\r\n          <formular-entity\r\n            id=\"UserLocationAddress\"\r\n            :entityDefinition=\"locationAddressesDefinition\"\r\n            :entityValues=\"form.editData ? form.editData.addresses[0] : undefined\"\r\n            :triggerInit=\"form.editData[ID_PROPERTIES.newcomer] !== null\"\r\n            @formular:change=\"formData => formUpdateData('addresses', formData)\"\r\n          />\r\n        </b-col>\r\n      </b-row>\r\n\r\n      <b-row class=\"mt-3\" align-v=\"center\" align-h=\"between\">\r\n        <b-col cols=\"auto\">\r\n          <b-button variant=\"light\" size=\"sm\" :disabled=\"disabled\" @click=\"formToggle(false)\">{{ $T('FormAdd.AbortButton') }}</b-button>\r\n        </b-col>\r\n\r\n        <b-col cols=\"auto\">\r\n          <b-button variant=\"primary\" size=\"sm\" :disabled=\"disabled\" @click=\"formAddLocationToSelected\">{{ $T('FormAdd.SaveButton') }}</b-button>\r\n        </b-col>\r\n      </b-row>\r\n    </template>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { LOCATIONSSEARCH_PROPERTY_OPTIONS } from '@/assets/js/config/server'\r\n\r\nimport { copy } from '@/assets/js/helper/object'\r\nimport { labelFormatter, valueFormatter } from '@/assets/js/helper/entity'\r\n\r\nimport FormularEntity from '@/components/registration/FormularEntity'\r\n\r\nconst ID_PROPERTIES = LOCATIONSSEARCH_PROPERTY_OPTIONS.idProperties\r\nconst ID_PROPERTY_KEYS = Object.keys(ID_PROPERTIES).reduce((properties, oKey) => Object.assign(properties, { [ID_PROPERTIES[oKey]]: oKey }), {})\r\nconst NEWCOMER_FORMDATA_PROPERTIES = Object.assign({ [ID_PROPERTIES.newcomer]: null }, LOCATIONSSEARCH_PROPERTY_OPTIONS.newcomerProperties)\r\nconst NEWCOMER_FORMVALIDITY_PROPERTIES = Object.keys(LOCATIONSSEARCH_PROPERTY_OPTIONS.newcomerProperties).reduce((props, dKey) => Object.assign(props, { [dKey]: false }), {})\r\n\r\nconst SEARCH_QUERY_MINLENGTH = 3\r\n\r\nexport default {\r\n  name: 'RegistrationFormularLocations',\r\n  components: {\r\n    FormularEntity\r\n  },\r\n  props: {\r\n    initialValues: {\r\n      type: Array,\r\n      default: () => ([])\r\n    },\r\n    disabled: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  data () {\r\n    return {\r\n      ID_PROPERTIES,\r\n      search: {\r\n        query: null,\r\n        locations: []\r\n      },\r\n      selected: {\r\n        locations: [].concat(this.initialValues)\r\n      },\r\n      form: {\r\n        show: false,\r\n        data: copy(NEWCOMER_FORMDATA_PROPERTIES),\r\n        editData: copy(NEWCOMER_FORMDATA_PROPERTIES),\r\n        validity: copy(NEWCOMER_FORMVALIDITY_PROPERTIES)\r\n      }\r\n    }\r\n  },\r\n  computed: {\r\n    locationsDefinition () {\r\n      return this.$store.getters['locations/definition']\r\n    },\r\n    locationAddressesDefinition () {\r\n      return this.$store.getters['locationaddresses/definition']\r\n    },\r\n    allEverLoadedLocations () {\r\n      return this.$store.getters['locations/getAllEverLoadedDecreasedEntities']\r\n    },\r\n    searchlocations () {\r\n      return this.search.locations\r\n        .map(l => Object.assign({ isSelected: this.selected.locations.some(l => l.id === l[ID_PROPERTIES.existing]) }, l))\r\n    },\r\n    selectedLocations () {\r\n      return this.selected.locations\r\n        .map(l => this.getLocationOrigin(l) === 'existing' ? Object.assign({ [ID_PROPERTIES.existing]: l[ID_PROPERTIES.existing], isAccepted: l.isAccepted }, this.allEverLoadedLocations.find(e => e.id === l[ID_PROPERTIES.existing]) || {}) : l)\r\n    },\r\n    selectedLocationIds () {\r\n      return this.selectedLocations.map(l => l.locationId)\r\n    },\r\n    formIsValid () {\r\n      return Object.values(this.form.validity).every(v => v === true)\r\n    }\r\n  },\r\n  methods: {\r\n    labelFormatter,\r\n    valueFormatter,\r\n    getLocationOrigin (location = {}) {\r\n      return ID_PROPERTY_KEYS[Object.keys(location).find(lKey => ID_PROPERTY_KEYS[lKey])]\r\n    },\r\n    searchByQuery (id = null) {\r\n      const query = id !== null ? id : this.search.query.length >= SEARCH_QUERY_MINLENGTH ? this.search.query : null\r\n\r\n      if (query) {\r\n        this.$store.dispatch('locations/searchByQueryLimited', { data: { query } })\r\n          .then(response => {\r\n            if (id === null) this.search.locations = response\r\n          })\r\n      } else {\r\n        this.search.locations = []\r\n      }\r\n    },\r\n    searchAddLocationToSelected (location) {\r\n      this.selectedUpdateLocation({\r\n        [ID_PROPERTIES.existing]: location.id || location[ID_PROPERTIES.existing],\r\n        isAccepted: location.isAccepted\r\n      }, true)\r\n    },\r\n    searchReset () {\r\n      this.search.query = null\r\n      this.search.locations = []\r\n    },\r\n    selectedCreateInitialLocations () {\r\n      this.selected.locations\r\n        .forEach(location => {\r\n          const origin = this.getLocationOrigin(location)\r\n\r\n          if (origin === 'existing') {\r\n            this.searchByQuery(location[ID_PROPERTIES.existing])\r\n            this.searchAddLocationToSelected(location)\r\n          } else if (origin === 'newcomer') {\r\n            this.selectedUpdateLocation(location)\r\n          }\r\n        })\r\n    },\r\n    selectedUpdateLocation (location = {}, modify = null) {\r\n      const locationOrigin = this.getLocationOrigin(location)\r\n\r\n      if (locationOrigin) {\r\n        const propertyName = ID_PROPERTIES[locationOrigin]\r\n        const existingIndex = this.selected.locations.findIndex(l => l[propertyName] === location[propertyName])\r\n\r\n        if (modify === false) {\r\n          if (existingIndex >= 0) {\r\n            this.$delete(this.selected.locations, existingIndex)\r\n            this.onChange({\r\n              formProperty: LOCATIONSSEARCH_PROPERTY_OPTIONS.formDataProperites[locationOrigin],\r\n              controls: location,\r\n              isDirty: true,\r\n              isValid: this.selected.locations.some(l => l[propertyName] !== undefined),\r\n              modify\r\n            })\r\n          }\r\n        } else {\r\n          this.$set(this.selected.locations, existingIndex >= 0 ? existingIndex : this.selected.locations.length, location)\r\n          this.onChange({\r\n            formProperty: LOCATIONSSEARCH_PROPERTY_OPTIONS.formDataProperites[locationOrigin],\r\n            controls: location,\r\n            isDirty: true,\r\n            isValid: this.selected.locations.some(l => l[propertyName] !== undefined),\r\n            modify\r\n          })\r\n        }\r\n      }\r\n    },\r\n    formSetup (location = null) {\r\n      if (this.form.show) {\r\n        if (location !== null) {\r\n          this.form.editData = location\r\n          this.form.data[ID_PROPERTIES.newcomer] = this.form.editData[ID_PROPERTIES.newcomer]\r\n        } else {\r\n          this.form.data[ID_PROPERTIES.newcomer] = `${LOCATIONSSEARCH_PROPERTY_OPTIONS.formDataProperites.newcomer}-${new Date().getTime()}`\r\n        }\r\n      } else {\r\n        this.form.data = copy(NEWCOMER_FORMDATA_PROPERTIES)\r\n        this.form.editData = copy(NEWCOMER_FORMDATA_PROPERTIES)\r\n        this.form.validity = copy(NEWCOMER_FORMVALIDITY_PROPERTIES)\r\n      }\r\n    },\r\n    formToggle (state = null, location) {\r\n      this.form.show = state !== null ? state : !this.form.show\r\n      this.formSetup(location)\r\n      this.$emit(`formular:addlocationform-${this.form.show ? 'open' : 'close'}`)\r\n    },\r\n    formEditLocation (location = {}) {\r\n      if (this.getLocationOrigin(location) === 'newcomer') this.formToggle(true, location)\r\n    },\r\n    formUpdateData (propertyName = '', formData) {\r\n      const DATA_DEFAULT = copy(NEWCOMER_FORMDATA_PROPERTIES[propertyName])\r\n\r\n      this.form.validity[propertyName] = formData.isValid\r\n\r\n      if (formData.isValid) {\r\n        if (Array.isArray(DATA_DEFAULT)) {\r\n          this.$set(this.form.data, propertyName, DATA_DEFAULT.concat(formData.controls))\r\n        } else {\r\n          this.$set(this.form.data, propertyName, formData.controls)\r\n        }\r\n      } else {\r\n        this.$set(this.form.data, propertyName, DATA_DEFAULT)\r\n      }\r\n    },\r\n    formAddLocationToSelected () {\r\n      this.$root.$emit('UserLocation:validate')\r\n      this.$root.$emit('UserLocationAddress:validate')\r\n\r\n      if (this.formIsValid) {\r\n        this.selectedUpdateLocation(this.form.data, true)\r\n        this.formToggle(false)\r\n      }\r\n    },\r\n    onChange (formData) {\r\n      this.$emit('formular:change', formData)\r\n    }\r\n  },\r\n  created () {\r\n    this.selectedCreateInitialLocations()\r\n\r\n    this.$store.dispatch('locations/getDefinition')\r\n    this.$store.dispatch('locationaddresses/getDefinition')\r\n  },\r\n  watch: {\r\n    '$props.disabled' (isDisabled) {\r\n      if (isDisabled) {\r\n        this.searchReset()\r\n        this.formToggle(false)\r\n      }\r\n    }\r\n  }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n$formularlocations-list-noitem-message-color: $danger !default;\r\n\r\n$formularlocations-list-item-padding-y: $spacer !default;\r\n$formularlocations-list-item-padding-x: $formularlocations-list-item-padding-y !default;\r\n$formularlocations-list-item-border: $border-color $border-style $border-width !default;\r\n$formularlocations-list-item-odd-bg: $gray-100 !default;\r\n$formularlocations-list-item-even-bg: $body-bg !default;\r\n\r\n$formularlocations-list-item-hover-bg: $gray-200 !default;\r\n\r\n$formularlocations-list-item-property-label-gap: $spacer !default;\r\n$formularlocations-list-item-property-label-font-size: $font-size-sm !default;\r\n$formularlocations-list-item-property-label-color: $gray-600 !default;\r\n$formularlocations-list-item-property-tabled-gap: $spacer * 0.5 !default;\r\n\r\n$formularlocations-list-item-action-gap: $spacer * 0.5 !default;\r\n\r\n$formularlocations-disabled-opacity: 0.25 !default;\r\n\r\n.formular-locations {\r\n  .locations-search {}\r\n\r\n  .search-list,\r\n  .selected-list {\r\n    .list-noitem-message {\r\n      color: $formularlocations-list-noitem-message-color;\r\n    }\r\n\r\n    .list-item {\r\n      position: relative;\r\n      padding: $formularlocations-list-item-padding-y $formularlocations-list-item-padding-x;\r\n      background-color: $formularlocations-list-item-odd-bg;\r\n\r\n      &:nth-child(2n) {\r\n        background-color: $formularlocations-list-item-even-bg;\r\n      }\r\n\r\n      .item-properties {\r\n        .property {\r\n          .property-label {\r\n            padding-right: $formularlocations-list-item-property-label-gap;\r\n            font-size: $formularlocations-list-item-property-label-font-size;\r\n            color: $formularlocations-list-item-property-label-color;\r\n          }\r\n        }\r\n\r\n        .properties-tabled {\r\n          display: table;\r\n\r\n          .property {\r\n            display: table-row;\r\n\r\n            > div {\r\n              display: table-cell;\r\n            }\r\n          }\r\n\r\n          + .property {\r\n            margin-top: $formularlocations-list-item-property-tabled-gap;\r\n          }\r\n        }\r\n      }\r\n\r\n      .item-actions {\r\n        display: flex;\r\n        justify-content: flex-end;\r\n        margin-top: $formularlocations-list-item-action-gap;\r\n      }\r\n\r\n      &.item-type-existing {}\r\n\r\n      &.item-type-newcomer {}\r\n\r\n      + .list-item {\r\n        border-top: $formularlocations-list-item-border;\r\n      }\r\n\r\n      &:hover {\r\n        background-color: $formularlocations-list-item-hover-bg;\r\n        transition: $transition-base;\r\n      }\r\n    }\r\n  }\r\n\r\n  .locations-form {}\r\n\r\n  &.is-disabled {\r\n    position: relative;\r\n    opacity: $formularlocations-disabled-opacity;\r\n\r\n    &:after {\r\n      display: block;\r\n      content: '';\r\n      position: absolute;\r\n      top: 0;\r\n      bottom: 0;\r\n      left: 0;\r\n      right: 0;\r\n      background-color: rgba(white, 0.001);\r\n    }\r\n  }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormularLocations.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormularLocations.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormularLocations.vue?vue&type=template&id=e492a74a&\"\nimport script from \"./FormularLocations.vue?vue&type=script&lang=js&\"\nexport * from \"./FormularLocations.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FormularLocations.vue?vue&type=style&index=0&lang=scss&\"\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\nexport default component.exports","var render = function () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form',{class:['formluar', { 'is-inline': _vm.inline, 'max-width': _vm.maxWidth }],attrs:{\"id\":_vm.id,\"novalidate\":\"\"},on:{\"submit\":_vm.onSubmit}},[(_vm.isBusy)?_c('div',{staticClass:\"form-busy\"},[_c('c-loader',{attrs:{\"type\":_vm.loaderType}})],1):_c('b-form-row',{class:( _obj = {}, _obj[(\"align-items-\" + _vm.inlineAlignment)] = _vm.inline, _obj )},[_c('b-col',{attrs:{\"cols\":_vm.inline ? 'auto' : 12}},[_c('b-form-row',{staticClass:\"form-controls\"},_vm._l((_vm.form.controls),function(control,cKey){return _c('b-col',{key:cKey,attrs:{\"sm\":_vm.inline ? 'auto' : control._grid.cols}},[(control.visible)?_c(control.control.is,_vm._b({tag:\"component\",class:{ 'mb-0': _vm.inline },on:{\"input\":function($event){return _vm.onChange(control)},\"change\":function($event){return _vm.onChange(control)}},model:{value:(control.control.value),callback:function ($$v) {_vm.$set(control.control, \"value\", $$v)},expression:\"control.control.value\"}},'component',control.control,false)):_vm._e()],1)}),1)],1),(_vm.showButtons)?_c('b-col',{attrs:{\"cols\":_vm.inline ? 'auto' : 12}},[_c('div',{staticClass:\"form-actions\"},[_c('div',{class:(\"justify-content-\" + _vm.buttonAlignment)},[(_vm.showAbortButton)?_c('b-button',{attrs:{\"variant\":_vm.form.actions.abort.variant,\"size\":_vm.form.actions.abort.size},on:{\"click\":_vm.onAbort}},[_vm._t(\"abort\",[_c('b-icon',{attrs:{\"icon\":\"abort\"}}),_vm._v(\" \"+_vm._s(_vm.$T('AbortButton')))])],2):_vm._e(),(_vm.showResetButton)?_c('b-button',{attrs:{\"variant\":_vm.form.actions.reset.variant,\"size\":_vm.form.actions.reset.size},on:{\"click\":_vm.onReset}},[_vm._t(\"reset\",[_c('b-icon',{attrs:{\"icon\":\"reset\"}}),_vm._v(\" \"+_vm._s(_vm.$T('ResetButton')))])],2):_vm._e(),_c('b-button',{attrs:{\"variant\":_vm.form.actions.submit.variant,\"size\":_vm.form.actions.submit.size},on:{\"click\":_vm.onSubmit}},[_vm._t(\"submit\",[_c('b-icon',{attrs:{\"icon\":\"send\"}}),_vm._v(\" \"+_vm._s(_vm.$T('SubmitButton')))])],2)],1)])]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <b-form :id=\"id\" :class=\"['formluar', { 'is-inline': inline, 'max-width': maxWidth }]\" novalidate @submit=\"onSubmit\">\r\n    <div v-if=\"isBusy\" class=\"form-busy\">\r\n      <c-loader :type=\"loaderType\"/>\r\n    </div>\r\n\r\n      <b-form-row v-else :class=\"{ [`align-items-${inlineAlignment}`]: inline }\">\r\n        <b-col :cols=\"inline ? 'auto' : 12\">\r\n          <b-form-row class=\"form-controls\">\r\n            <b-col v-for=\"(control, cKey) in form.controls\" :key=\"cKey\" :sm=\"inline ? 'auto' : control._grid.cols\">\r\n              <component\r\n                v-if=\"control.visible\"\r\n                :is=\"control.control.is\"\r\n                :class=\"{ 'mb-0': inline }\"\r\n                v-model=\"control.control.value\"\r\n                v-bind=\"control.control\"\r\n                @input=\"onChange(control)\"\r\n                @change=\"onChange(control)\"\r\n              />\r\n            </b-col>\r\n          </b-form-row>\r\n        </b-col>\r\n\r\n        <b-col v-if=\"showButtons\" :cols=\"inline ? 'auto' : 12\">\r\n          <div class=\"form-actions\">\r\n            <div :class=\"`justify-content-${buttonAlignment}`\">\r\n              <b-button v-if=\"showAbortButton\" :variant=\"form.actions.abort.variant\" :size=\"form.actions.abort.size\" @click=\"onAbort\"><slot name=\"abort\"><b-icon icon=\"abort\"/> {{ $T('AbortButton') }}</slot></b-button>\r\n              <b-button v-if=\"showResetButton\" :variant=\"form.actions.reset.variant\" :size=\"form.actions.reset.size\" @click=\"onReset\"><slot name=\"reset\"><b-icon icon=\"reset\"/> {{ $T('ResetButton') }}</slot></b-button>\r\n              <b-button :variant=\"form.actions.submit.variant\" :size=\"form.actions.submit.size\" @click=\"onSubmit\"><slot name=\"submit\"><b-icon icon=\"send\"/> {{ $T('SubmitButton') }}</slot></b-button>\r\n            </div>\r\n          </div>\r\n        </b-col>\r\n      </b-form-row>\r\n  </b-form>\r\n</template>\r\n\r\n<script>\r\nimport { controlMapper } from '@/assets/js/helper/entity'\r\n\r\nexport default {\r\n  name: 'Formular',\r\n  props: {\r\n    isBusy: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    loaderType: {\r\n      type: String,\r\n      // visit @/components/Loader.vue for more informations\r\n      default: 'default'\r\n    },\r\n    id: {\r\n      type: String,\r\n      default: 'Formular'\r\n    },\r\n    controlDefinition: {\r\n      type: Object,\r\n      required: true,\r\n      default: () => ({})\r\n    },\r\n    controlValues: {\r\n      type: Object,\r\n      default: () => ({})\r\n    },\r\n    triggerInit: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    inline: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    inlineAlignment: {\r\n      type: String,\r\n      default: 'end',\r\n      validator: value => ['start', 'center', 'end'].includes(value)\r\n    },\r\n    maxWidth: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    labelCols: {\r\n      type: Number,\r\n      default: null\r\n    },\r\n    showButtons: {\r\n      type: Boolean,\r\n      default: true\r\n    },\r\n    showResetButton: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    showAbortButton: {\r\n      type: Boolean,\r\n      default: false\r\n    },\r\n    buttonAlignment: {\r\n      type: String,\r\n      default: 'end',\r\n      validator: value => ['start', 'center', 'end'].includes(value)\r\n    },\r\n    buttonVariants: {\r\n      type: Object,\r\n      default: () => ({})\r\n    },\r\n    buttonSizes: {\r\n      type: Object,\r\n      default: () => ({})\r\n    }\r\n  },\r\n  data () {\r\n    return {\r\n      form: {\r\n        controls: {},\r\n        actions: {\r\n          submit: {\r\n            variant: this.$props.buttonVariants.submit || 'primary',\r\n            size: this.$props.buttonSizes.submit || 'md'\r\n          },\r\n          reset: {\r\n            variant: this.$props.buttonVariants.reset || 'secondary',\r\n            size: this.$props.buttonSizes.reset || 'md'\r\n          },\r\n          abort: {\r\n            variant: this.$props.buttonVariants.abort || 'secondary',\r\n            size: this.$props.buttonSizes.abort || 'md'\r\n          }\r\n        }\r\n      }\r\n    }\r\n  },\r\n  validations () {\r\n    return {\r\n      form: {\r\n        controls: Object.keys(this.form.controls)\r\n          .filter(cKey => this.form.controls[cKey].visible)\r\n          .reduce((controls, cKey) => Object.assign(controls, { [cKey]: { control: { value: this.form.controls[cKey].control.validations } } }), {})\r\n      }\r\n    }\r\n  },\r\n  computed: {\r\n    validators () {\r\n      return this.$store.getters['validators/get']\r\n    },\r\n    formData () {\r\n      return {\r\n        id: this.id,\r\n        controls: Object.keys(this.form.controls)\r\n          .filter(cKey => !this.form.controls[cKey].control.readonly)\r\n          .reduce((formData, cKey) => Object.assign(formData, { [cKey]: this.form.controls[cKey].control.value }), {}),\r\n        isValid: !this.$v.$invalid,\r\n        isDirty: !this.$v.$dirty\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    createControls () {\r\n      this.form.controls = controlMapper(this.controlDefinition, this.$store.getters['gui/getLanguage'], this.validators, this.controlValues)\r\n      this.onInit()\r\n      if (this.triggerInit) this.onChange()\r\n    },\r\n    touchControls () {\r\n      Object.keys(this.form.controls)\r\n        .forEach(cKey => {\r\n          this.form.controls[cKey].change()\r\n        })\r\n\r\n      this.$v.$touch()\r\n      this.$emit('formular:touch', !this.$v.$invalid)\r\n    },\r\n    resetControls () {\r\n      Object.keys(this.form.controls)\r\n        .forEach(cKey => {\r\n          this.form.controls[cKey].reset()\r\n        })\r\n\r\n      this.$v.$reset()\r\n    },\r\n    onInit () {\r\n      this.$emit('formular:init', this.formData)\r\n    },\r\n    onChange (control = null) {\r\n      if (control) control.change()\r\n      this.$emit('formular:change', this.formData)\r\n    },\r\n    onSubmit () {\r\n      if (this.$v.$invalid) {\r\n        this.touchControls()\r\n        this.$emit('formular:invalidsubmit', this.formData)\r\n      } else {\r\n        this.$emit('formular:submit', this.formData)\r\n        this.resetControls()\r\n      }\r\n    },\r\n    onReset () {\r\n      this.resetControls()\r\n      this.$emit('formular:reset')\r\n    },\r\n    onAbort () {\r\n      this.resetControls()\r\n      this.$emit('formular:abort')\r\n    }\r\n  },\r\n  created () {\r\n    this.$root.$on(`${this.id}:validate`, this.touchControls)\r\n\r\n    this.createControls()\r\n    this.$store.dispatch('validators/get')\r\n  },\r\n  watch: {\r\n    validators () {\r\n      this.createControls()\r\n    },\r\n    '$props.controlDefinition' () {\r\n      this.createControls()\r\n    },\r\n    '$props.controlValues' () {\r\n      this.createControls()\r\n    },\r\n    // this fixes a strange error, where this.$v is null, after reinitializing the component and adding removing the content of a control which is required\r\n    $v () {}\r\n  }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n$formular-max-width: 550px !default;\r\n\r\n$formular-actions-gap: $spacer !default;\r\n$formular-actions-button-gap: $spacer * 0.125 !default;\r\n\r\n$formular-controls-input-inline-min-width: auto !default;\r\n$formular-controls-textarea-inline-min-width: 280px !default;\r\n$formular-controls-select-inline-min-width: auto !default;\r\n\r\n.formluar {\r\n  .form-busy {}\r\n\r\n  .form-controls {}\r\n\r\n  .form-actions {\r\n    margin-top: $formular-actions-gap;\r\n\r\n    > div {\r\n      display: flex;\r\n      align-items: center;\r\n      margin: $formular-actions-button-gap * - 1;\r\n\r\n      .btn {\r\n        margin: $formular-actions-button-gap;\r\n      }\r\n    }\r\n  }\r\n\r\n  &.is-inline {\r\n    max-width: 100%;\r\n\r\n    .form-controls {\r\n      .control-input {\r\n        min-width: $formular-controls-input-inline-min-width;\r\n      }\r\n\r\n      .control-textarea {\r\n        min-width: $formular-controls-textarea-inline-min-width;\r\n      }\r\n\r\n      .control-select {\r\n        min-width: $formular-controls-select-inline-min-width;\r\n      }\r\n    }\r\n\r\n    .form-actions {\r\n      margin-top: 0;\r\n    }\r\n  }\r\n\r\n  &.max-width {\r\n    max-width: $formular-max-width;\r\n  }\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Formular.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Formular.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Formular.vue?vue&type=template&id=73889ee4&\"\nimport script from \"./Formular.vue?vue&type=script&lang=js&\"\nexport * from \"./Formular.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Formular.vue?vue&type=style&index=0&lang=scss&\"\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\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.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!./FormularLocations.vue?vue&type=style&index=0&lang=scss&\""],"sourceRoot":""}