{"version":3,"sources":["webpack:///./src/models/Ingredient/IngredientMeasurementEnum.ts","webpack:///./src/components/vIngredientManagement.vue","webpack:///./src/components/vIngredientNutrientQuantityInputRow.vue","webpack:///./src/components/vIngredientNutrientQuantityInputRow.vue?369f","webpack:///./src/components/vIngredientNutrientQuantityInputRow.vue?56a8","webpack:///./src/components/vIngredientNutrientQuantityInputRow.vue?8d73","webpack:///./src/components/vIngredientManagement.vue?aad1","webpack:///./src/components/vIngredientManagement.vue?65cf","webpack:///./src/components/vIngredientManagement.vue?761a","webpack:///./src/components/vIngredientNutrientQuantityInputRow.vue?c143","webpack:///./src/components/vTabbedContent.vue?a17a","webpack:///./src/components/vTabbedContent.vue","webpack:///./src/components/vTabbedContent.vue?223f","webpack:///./src/components/vTabbedContent.vue?b832","webpack:///./src/components/vTabbedContent.vue?5ef6","webpack:///./src/components/vIngredientManagement.vue?c527","webpack:///./src/components/vIngredientManagement.vue?13f2"],"names":["IngredientMeasurementEnum","render","_vm","this","_c","_self","_setupProxy","on","$event","preventDefault","submit","apply","arguments","staticClass","staticStyle","_v","_s","translations","get","directives","name","rawName","value","ingredient","expression","class","errors","has","attrs","domProps","target","composing","$set","first","quantityInUnitOfMeasurement","wrong","weightMeasurments","model","unitOfMeasurement","callback","$$v","ingredientMeasurementEnum","Milliliter","FluidOunce","invalid","densityOptions","searchCategoryDensities","categoryDensityId","_e","subIngredients","addMeasurement","_l","allMeasurements","measurement","key","indexOf","concat","weightInGrams","removeMeasurement","id","categories","category","slot","mergedNutrientGroup","nutrient","units","unitOptions","errorStates","childNutrients","length","childNutri","cancel","showWarningModal","staticRenderFns","isIndented","nutrientModel","localizationKey","modifiers","ref","capitalizeFirstLetter","errorState","nutrientType","sugarAlcoholNutrientType","_n","$forceUpdate","nutrientUnitId","getChildNutrientNames","VIngredientNutrientQuantityInputRow","_Vue","_this","_classCallCheck","_len","args","Array","_key","_callSuper","_defineProperty","NutrientType","SugarAlcohols","_inherits","_createClass","localizationState","childNames","forEach","string","charAt","toUpperCase","slice","$validator","$parent","Vue","__decorate","Prop","default","Component","computed","_objectSpread","mapState","state","LocalizationModule","component","vIngredientManagement","Gram","Ounce","searchQuery","_this2","densityId","debounce","IngredientsRepository","then","response","data","result","catch","error","$snotify","errorMessages","userVisibleMessage","nutrientList","_this3","push","childNutrient","pushNutrient","_this4","nutrients","energyValue","Object","values","Energy","sugarsValue","find","Sugars","vitaminAValue","VitaminA","calculateTotalChildNutrientsValue","validateAll","specifiedSugarAlcohols","$emit","m","index","splice","nutri","list","map","u","unit","isDefault","_this5","sugarAlcoholNames","sum","Number","toFixed","keys","sugarsAlcohol","vitaminA","totalSugarAlcoholValue","updatedTotalNutrientValue","totalValue","element","_this6","initializeSourceNutrients","_this7","nutrientSourceGroup","$store","getters","getNutrients","assignNutrientSource","dispatch","NUTRIENTS_FETCH","assignCategorys","mergeNutrientsWithValues","categoryNames","nutrientGroups","merged","nutrientValueMap","nutrientUnitIdMap","_ref","ingredientNutrient","nutrientUnit","nutrientId","categoryName","Watch","deep","immediate","components","vModal","vTabbedContent","mapGetters","filteredTabs","tab","active","changeTab","_t","filtered","tabs","filter","tabId","errorTabs","reduce","acc"],"mappings":"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","file":"js/chunk-12a6445c.3d85b5b5.js","sourcesContent":["export enum IngredientMeasurementEnum {\r\n Gram = 1, Milliliter, Ounce, FluidOunce\r\n}\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-md-6\",staticStyle:{\"padding\":\"0 20px\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr_modal_ingr_name\"))+\"\\n \"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ingredient.name),expression:\"ingredient.name\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('ingredientName') },attrs:{\"type\":\"text\",\"placeholder\":_vm.translations.get('ingr_modal_ingr_name_placeholder'),\"name\":\"ingredientName\",\"data-vv-as\":_vm.translations.get('ingr_modal_ingr_name')},domProps:{\"value\":(_vm.ingredient.name)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.ingredient, \"name\", $event.target.value)}}}),_c('div',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.errors.first(\"ingredientName\")))])])])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-md-6\",staticStyle:{\"padding\":\"20px 20px\"}},[_c('div',{staticClass:\"d-inline-block\"},[_c('label',{attrs:{\"for\":\"measurement-options\"}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr_modal_nutrients_per\"))+\"\\n \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ingredient.quantityInUnitOfMeasurement),expression:\"ingredient.quantityInUnitOfMeasurement\"},{name:\"validate\",rawName:\"v-validate\",value:('required|min_value:0'),expression:\"'required|min_value:0'\"}],staticClass:\"text-primary nutrients-per\",class:{ wrong: _vm.errors.has('nutrientsPer') },attrs:{\"value\":\"100\",\"name\":\"nutrientsPer\"},domProps:{\"value\":(_vm.ingredient.quantityInUnitOfMeasurement)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.ingredient, \"quantityInUnitOfMeasurement\", $event.target.value)}}})]),_c('span',[_c('small',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.errors.first(\"nutrientsPer\")))])])]),_c('v-select',{staticClass:\"d-inline-block ml-3 dropdown-border\",staticStyle:{\"width\":\"108px\"},attrs:{\"id\":\"measurement-options\",\"options\":_vm.weightMeasurments,\"clearable\":false,\"label\":\"name\",\"index\":\"id\",\"name\":\"ingr_weight\"},model:{value:(_vm.ingredient.unitOfMeasurement),callback:function ($$v) {_vm.$set(_vm.ingredient, \"unitOfMeasurement\", $$v)},expression:\"ingredient.unitOfMeasurement\"}})],1),_c('div',{staticClass:\"col-md-6\",staticStyle:{\"padding\":\"0 20px\"}},[(\n _vm.ingredient.unitOfMeasurement == _vm.ingredientMeasurementEnum.Milliliter ||\n _vm.ingredient.unitOfMeasurement == _vm.ingredientMeasurementEnum.FluidOunce\n )?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group w-100\"},[_c('div',{staticClass:\"d-inline-block\",staticStyle:{\"vertical-align\":\"top\"}},[_c('label',{attrs:{\"for\":\"density\"}},[_vm._v(\"\\n \"+_vm._s(\"Ingredient density\")+\"\\n \")])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"d-inline-block w-100\",attrs:{\"id\":\"density\"}},[_c('v-select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"density-select dropdown-border\",class:{ invalid: _vm.errors.has('ingredient density') },attrs:{\"options\":_vm.densityOptions,\"filterable\":false,\"label\":\"category\",\"index\":\"id\",\"name\":\"ingredient density\"},on:{\"search\":_vm.searchCategoryDensities},model:{value:(_vm.ingredient.categoryDensityId),callback:function ($$v) {_vm.$set(_vm.ingredient, \"categoryDensityId\", $$v)},expression:\"ingredient.categoryDensityId\"}}),_c('span',[_c('small',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.errors.first(\"ingredient density\")))])])],1)])])]):_vm._e()])]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-md-6\",staticStyle:{\"padding\":\"0 20px\"}},[_c('div',{staticClass:\"additional-ingredients-container h-100\"},[_c('div',{staticClass:\"form-row ingr-height\"},[_c('div',{staticClass:\"col-md-12\"},[_c('h3',[_vm._v(_vm._s(_vm.translations.get(\"ingr_table_title\")))]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ingredient.subIngredients),expression:\"ingredient.subIngredients\"}],staticClass:\"form-control h-100\",attrs:{\"rows\":\"5\",\"type\":\"text\"},domProps:{\"value\":(_vm.ingredient.subIngredients)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.ingredient, \"subIngredients\", $event.target.value)}}})])])])]),_c('div',{staticClass:\"col-md-6\",staticStyle:{\"padding\":\"0 20px\"}},[_c('div',{staticClass:\"form-row\",staticStyle:{\"align-items\":\"center\"}},[_c('div',{staticClass:\"col-md-6\"},[_c('h3',[_vm._v(_vm._s(_vm.translations.get(\"ingr_modal_measurements\")))])]),_c('div',{staticClass:\"col-md-6\"},[_c('button',{staticClass:\"btn btn-primary btn-small float-right\",on:{\"click\":function($event){$event.preventDefault();return _vm.addMeasurement.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-plus\"}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr_modal_add_measurement\"))+\"\\n \")])])]),_c('hr',{staticClass:\"mt-0\"}),_c('div',{staticClass:\"measurements-container measurements-scroll\"},_vm._l((_vm.ingredient.allMeasurements),function(measurement){return _c('div',{key:'measurement' + _vm.ingredient.allMeasurements.indexOf(measurement),staticClass:\"form-row measurement\"},[_c('div',{staticClass:\"col-md-6 col-sm-12 col-xs-12\"},[_c('div',{staticClass:\"form-group form-group-default\",class:{\n 'has-error': _vm.errors.has(\n `measurement${_vm.ingredient.allMeasurements.indexOf(\n measurement\n )}`\n ),\n }},[_c('label',[_vm._v(_vm._s(_vm.translations.get(\"ingr_modal_measurement_name\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(measurement.name),expression:\"measurement.name\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",staticStyle:{\"margin\":\"4px 0\"},attrs:{\"type\":\"text\",\"name\":`measurement${_vm.ingredient.allMeasurements.indexOf(\n measurement\n )}`,\"data-vv-as\":_vm.translations.get('ingr_modal_measurement_name')},domProps:{\"value\":(measurement.name)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(measurement, \"name\", $event.target.value)}}})])]),_c('div',{staticClass:\"col-md-4 col-sm-10 col-xs-10\"},[_c('div',{staticClass:\"form-group form-group-default\",class:{\n 'has-error': _vm.errors.has(\n `measurementWeight${_vm.ingredient.allMeasurements.indexOf(\n measurement\n )}`\n ),\n }},[_c('label',[_vm._v(_vm._s(_vm.translations.get(\"ingr_modal_measurement_weight\"))+\"\\n (g)\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(measurement.weightInGrams),expression:\"measurement.weightInGrams\"},{name:\"validate\",rawName:\"v-validate\",value:('required|min_value:0'),expression:\"'required|min_value:0'\"}],staticClass:\"form-control\",staticStyle:{\"margin\":\"4px 0\"},attrs:{\"type\":\"text\",\"name\":`measurementWeight${_vm.ingredient.allMeasurements.indexOf(\n measurement\n )}`,\"data-vv-as\":_vm.translations.get('ingr_modal_measurement_weight')},domProps:{\"value\":(measurement.weightInGrams)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(measurement, \"weightInGrams\", $event.target.value)}}})])]),_c('div',{staticClass:\"col-md-2 col-sm-2 col-xs-2\"},[_c('button',{staticClass:\"btn btn-link btn-block\",staticStyle:{\"padding\":\"15px 0\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeMeasurement(measurement.id)}}},[_c('i',{staticClass:\"fa fa-trash\"})])]),(\n _vm.errors.has(\n `measurement${_vm.ingredient.allMeasurements.indexOf(\n measurement\n )}`\n )\n )?_c('div',{staticClass:\"error col-12\"},[_vm._v(\"\\n \"+_vm._s(_vm.errors.first(\n `measurement${_vm.ingredient.allMeasurements.indexOf(\n measurement\n )}`\n ))+\"\\n \")]):_vm._e(),(\n _vm.errors.has(\n `measurementWeight${_vm.ingredient.allMeasurements.indexOf(\n measurement\n )}`\n )\n )?_c('div',{staticClass:\"error col-12\"},[_vm._v(\"\\n \"+_vm._s(_vm.errors.first(\n `measurementWeight${_vm.ingredient.allMeasurements.indexOf(\n measurement\n )}`\n ))+\"\\n \")]):_vm._e()])}),0)])]),_c('hr'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_c('vTabbedContent',{attrs:{\"tabs\":_vm.categories}},[_vm._l((_vm.categories),function(category){return _c('template',{slot:category.id},[_c('div',{key:category.id,staticClass:\"form-row\",staticStyle:{\"height\":\"260px\",\"overflow\":\"scroll\"}},_vm._l((_vm.mergedNutrientGroup[category.name]),function(nutrient){return _c('div',{key:nutrient.id,staticClass:\"col-md-6\",staticStyle:{\"padding\":\"0 20px\"}},[_c('v-ingredient-nutrient-quantity-input-row',{attrs:{\"nutrient-model\":nutrient,\"unit-options\":nutrient.units ? _vm.unitOptions(nutrient) : [],\"error-state\":_vm.errorStates[nutrient.id]}}),(nutrient.childNutrients && nutrient.childNutrients.length)?_c('div',_vm._l((nutrient.childNutrients),function(childNutri){return _c('div',{key:childNutri.id,staticClass:\"col-md-12\",staticStyle:{\"padding-left\":\"0 !important\",\"padding-right\":\"0 !important\"}},[_c('v-ingredient-nutrient-quantity-input-row',{attrs:{\"nutrient-model\":childNutri,\"unit-options\":childNutri.units ? _vm.unitOptions(childNutri) : [],\"is-indented\":true}})],1)}),0):_vm._e()],1)}),0)])})],2)],1)]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-md-6\"},[_c('button',{staticClass:\"btn btn-primary btn-cons m-t-10 btn-block\",attrs:{\"type\":\"submit\"},on:{\"click\":_vm.submit}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"save\"))+\"\\n \")])]),_c('div',{staticClass:\"col-md-6\"},[_c('button',{staticClass:\"btn btn-cons m-t-10 btn-block\",attrs:{\"type\":\"reset\"},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"cancel\"))+\"\\n \")])])]),_c('vModal',{attrs:{\"size\":'s',\"modal-title\":_vm.translations.get('alc-calc-warning'),\"show\":_vm.showWarningModal},on:{\"cancelModal\":function($event){_vm.showWarningModal = false}}},[_c('form',[_c('h5',{staticClass:\"p-2 pb-0 m-0\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"confirm-calculation-alc\"))+\".\\n \")]),_c('h5',{staticClass:\"pl-2 mb-4 mt-0\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"alc-calculate-proceed\"))+\"?\\n \")]),_c('button',{staticClass:\"btn btn-default\",on:{\"click\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"common-proceed\"))+\"\\n \")]),_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":function($event){$event.preventDefault();_vm.showWarningModal = false}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"cancel\"))+\"\\n \")])])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"form-group\",staticStyle:{\"width\":\"100%\"}},[_c('label',{class:_vm.isIndented ? 'indented-label' : false},[_vm._v(_vm._s(_vm.translations.get(_vm.nutrientModel.localizationKey)))]),_c('div',{staticClass:\"form-row\"},[_c('div',{class:`col-7 ${_vm.isIndented ? 'indented-div' : ''}`},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.nutrientModel.value),expression:\"nutrientModel.value\",modifiers:{\"number\":true}},{name:\"validate\",rawName:\"v-validate\",value:('required|min_value:0'),expression:\"'required|min_value:0'\"}],ref:\"nutrientModel.nutrientType\",staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has(`ingr${_vm.capitalizeFirstLetter(_vm.nutrientModel.name)}`) || _vm.errorState },staticStyle:{\"height\":\"100%\"},attrs:{\"type\":\"text\",\"name\":`ingr${_vm.capitalizeFirstLetter(_vm.nutrientModel.name)}`,\"data-vv-as\":_vm.translations.get(_vm.nutrientModel.localizationKey),\"disabled\":_vm.nutrientModel.nutrientType == _vm.sugarAlcoholNutrientType},domProps:{\"value\":(_vm.nutrientModel.value)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.nutrientModel, \"value\", _vm._n($event.target.value))},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"col-5\"},[_c('v-select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"dropdown-border\",class:{ invalid: _vm.errors.has(`ingr${_vm.capitalizeFirstLetter(_vm.nutrientModel.name)}_m`) },attrs:{\"options\":_vm.unitOptions,\"label\":\"name\",\"index\":\"id\",\"name\":`ingr${_vm.capitalizeFirstLetter(_vm.nutrientModel.name)}_m`,\"data-vv-as\":_vm.translations.get('ingr_measurement'),\"clearable\":false},model:{value:(_vm.nutrientModel.nutrientUnitId),callback:function ($$v) {_vm.$set(_vm.nutrientModel, \"nutrientUnitId\", $$v)},expression:\"nutrientModel.nutrientUnitId\"}})],1),_c('div',{class:`col-12 ${_vm.isIndented ? 'indented-div' : ''}`},[_c('span',[_c('small',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.errors.first(`ingr${_vm.capitalizeFirstLetter(_vm.nutrientModel.name)}`)))]),_c('small',{staticClass:\"error\"},[_vm._v(_vm._s(_vm.errors.first(`ingr${_vm.capitalizeFirstLetter(_vm.nutrientModel.name)}_m`)))]),(_vm.errorState)?_c('small',{staticClass:\"error\"},[_vm._v(_vm._s(`${_vm.getChildNutrientNames(_vm.nutrientModel.childNutrients)} cannot exceed ${_vm.capitalizeFirstLetter(_vm.nutrientModel.name)}`))]):_vm._e()])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\r\nimport { mapState } from \"vuex\";\r\nimport { LocalizationState } from \"@/store/modules/LocalizationModule\";\r\nimport { UnitOption } from \"@/models/Ingredient/UnitOption\";\r\nimport { MergedNutrient } from \"@/models/Ingredient/NutrientUnitList\";\r\nimport { NutrientType } from \"@/models/Ingredient/NutrientType\";\r\n\r\n@Component({\r\n computed: {\r\n ...mapState({\r\n localizationState: (state: any) => state.LocalizationModule,\r\n }),\r\n },\r\n})\r\nexport default class VIngredientNutrientQuantityInputRow extends Vue {\r\n @Prop() nutrientModel: MergedNutrient;\r\n\r\n @Prop() unitOptions: UnitOption[];\r\n @Prop({ default: false }) isIndented: boolean;\r\n @Prop({ default: false }) errorState: boolean;\r\n\r\n localizationState: LocalizationState;\r\n sugarAlcoholNutrientType = NutrientType.SugarAlcohols;\r\n\r\n get translations() {\r\n return this.localizationState.translations;\r\n }\r\n\r\n getChildNutrientNames(childNutrients : MergedNutrient[]){\r\n let childNames = '';\r\n childNutrients.forEach((nutrient) => {\r\n childNames += nutrient.name + ' ';\r\n });\r\n\r\n return childNames;\r\n }\r\n\r\n capitalizeFirstLetter(string: string) {\r\n return string.charAt(0).toUpperCase() + string.slice(1);\r\n }\r\n\r\n created() {\r\n this.$validator = this.$parent.$validator;\r\n }\r\n}\r\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!./vIngredientNutrientQuantityInputRow.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!./vIngredientNutrientQuantityInputRow.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vIngredientNutrientQuantityInputRow.vue?vue&type=template&id=605996e0&scoped=true\"\nimport script from \"./vIngredientNutrientQuantityInputRow.vue?vue&type=script&lang=ts\"\nexport * from \"./vIngredientNutrientQuantityInputRow.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vIngredientNutrientQuantityInputRow.vue?vue&type=style&index=0&id=605996e0&prod&scoped=true&lang=css\"\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 \"605996e0\",\n null\n \n)\n\nexport default component.exports","\r\nimport { Vue, Component, Prop, Watch } from \"vue-property-decorator\";\r\nimport { Ingredient } from \"../models/Ingredient/Ingredient\";\r\nimport { mapGetters, mapState } from \"vuex\";\r\nimport { NutrientType, } from \"../models/Ingredient/NutrientType\";\r\nimport { UnitOption } from \"@/models/Ingredient/UnitOption\";\r\nimport { MergedNutrient, NutrientsGroup, NutrientUnitList } from \"../models/Ingredient/NutrientUnitList\";\r\nimport { IngredientMeasurementEnum } from \"@/models/Ingredient/IngredientMeasurementEnum\";\r\nimport IngredientsRepository from \"@/utils/API/IngredientsRepository\";\r\nimport { debounce } from \"@/utils/Helpers\";\r\nimport vModal from \"@/components/vModal.vue\";\r\nimport VIngredientNutrientQuantityInputRow from \"@/components/vIngredientNutrientQuantityInputRow.vue\";\r\nimport vTabbedContent from \"@/components/vTabbedContent.vue\";\r\nimport { NUTRIENTS_FETCH } from \"@/store/ActionTypes\";\r\nimport {NutrientUnitWithValue} from \"@/models/Nutrient/NutrientUnitWithValue\";\r\n\r\ntype SelectObj = { id: number; name: string };\r\ntype DensityObj = { id: number; category: string };\r\n\r\ninterface ErrorStates {\r\n [key: number]: boolean;\r\n}\r\n\r\n@Component({\r\n components: {\r\n vModal,\r\n VIngredientNutrientQuantityInputRow,\r\n vTabbedContent\r\n },\r\n computed: {\r\n ...mapState({\r\n localizationState: (state: any) => state.LocalizationModule,\r\n }),\r\n ...mapGetters('nutrients', ['getNutrients']),\r\n },\r\n})\r\nexport default class vIngredientManagement extends Vue {\r\n @Prop() editMode!: Boolean;\r\n @Prop() ingredient!: Ingredient;\r\n\r\n weightMeasurments: SelectObj[] = [\r\n { id: IngredientMeasurementEnum.Gram, name: \"g\" },\r\n { id: IngredientMeasurementEnum.Milliliter, name: \"ml\" },\r\n { id: IngredientMeasurementEnum.Ounce, name: \"oz\" },\r\n { id: IngredientMeasurementEnum.FluidOunce, name: \"fl. oz\" },\r\n ];\r\n densityOptions: DensityObj[] = [];\r\n densityId: number | string = \"\";\r\n showWarningModal = false;\r\n localizationState: any;\r\n categories: { id: number; name: string }[] = [];\r\n mergedNutrientGroup: { [category: string]: MergedNutrient[] } = {};\r\n nutrientSourceGroup : NutrientsGroup | null = null;\r\n errorStates: ErrorStates = {};\r\n\r\n /**\r\n * Make ingredient enum available in template, the scope of the template is limited to the component instance members.\r\n */\r\n public get ingredientMeasurementEnum(): typeof IngredientMeasurementEnum {\r\n return IngredientMeasurementEnum;\r\n }\r\n\r\n /**\r\n * Method for fetching ingredient density options based on measurement\r\n */\r\n searchCategoryDensities(searchQuery: string) {\r\n // Check if the density category has changed and update the value so that it is available as a dropdown option\r\n this.densityId = this.ingredient.categoryDensityId\r\n ? this.ingredient.categoryDensityId\r\n : \"\";\r\n debounce(() => {\r\n IngredientsRepository.searchCategoryDensities(searchQuery, this.densityId)\r\n .then((response: any) => {\r\n this.densityOptions = response.data.result;\r\n })\r\n .catch((error) => {\r\n if (error.response) {\r\n this.$snotify.error(\r\n error.response.data.errorMessages[0].userVisibleMessage\r\n );\r\n }\r\n else this.$snotify.error(this.translations.get(\"network-error\"));\r\n });\r\n }, 600);\r\n }\r\n\r\n pushNutrient(nutrient: MergedNutrient, nutrientList: NutrientUnitWithValue[]) {\r\n if (nutrient.value) {\r\n nutrientList.push({\r\n value: nutrient.value,\r\n nutrientUnitId: nutrient.nutrientUnitId,\r\n });\r\n }\r\n\r\n // Handle children\r\n if (nutrient.childNutrients) {\r\n nutrient.childNutrients.forEach((childNutrient) => {\r\n this.pushNutrient(childNutrient, nutrientList);\r\n });\r\n }\r\n }\r\n\r\n submit() {\r\n // Create the nutrients array based on merged data\r\n const nutrients: NutrientUnitWithValue[] = [];\r\n\r\n let energyValue = 0;\r\n\r\n // Iterate through all categories and nutrients\r\n Object.values(this.mergedNutrientGroup).forEach((nutrientList) => {\r\n nutrientList.forEach((nutrient) => {\r\n if(nutrient.nutrientType == NutrientType.Energy){\r\n energyValue = nutrient.value;\r\n }\r\n\r\n this.pushNutrient(nutrient, nutrients);\r\n });\r\n });\r\n\r\n const sugarsValue = this.mergedNutrientGroup[\"sugars\"].find(\r\n (nutrient) => nutrient.nutrientType === NutrientType.Sugars\r\n );\r\n\r\n const vitaminAValue = this.mergedNutrientGroup[\"vitamins\"].find(\r\n (nutrient) => nutrient.nutrientType === NutrientType.VitaminA\r\n );\r\n\r\n if (sugarsValue.value < sugarsValue.childNutrients[0].value) {\r\n this.$snotify.error(\r\n this.translations.get(\"AddedSugarIsLessThanEqualToSugars\")\r\n );\r\n return;\r\n }\r\n\r\n if(vitaminAValue.value < this.calculateTotalChildNutrientsValue(vitaminAValue.childNutrients)){\r\n this.$snotify.error(\r\n this.translations.get(\"VitaminAIsLessThanEqualToRetinolBetaCarotene\")\r\n );\r\n return;\r\n }\r\n\r\n // Validation and submission logic\r\n this.$validator.validateAll().then((result) => {\r\n if (result) {\r\n if (\r\n this.specifiedSugarAlcohols != 0 ||\r\n energyValue != 0 ||\r\n this.showWarningModal\r\n ) {\r\n this.showWarningModal = false;\r\n this.$emit(\"submit\", this.ingredient, nutrients);\r\n return;\r\n }\r\n\r\n else {\r\n this.showWarningModal = true;\r\n return;\r\n }\r\n }\r\n this.$snotify.error(this.translations.get(\"validation-error-message\"));\r\n });\r\n }\r\n\r\n cancel() {\r\n this.$emit(\"cancel\");\r\n }\r\n\r\n /**\r\n * Method used in create / edit ingredient which pushes empty measurement in\r\n * the ingredient for the user to populate\r\n */\r\n addMeasurement() {\r\n // we use length as id as it will always be unique locally\r\n let length = this.ingredient.allMeasurements.length;\r\n this.ingredient.allMeasurements.push({\r\n id: length,\r\n name: \"\",\r\n weightInGrams: 0,\r\n });\r\n }\r\n\r\n /**\r\n * Method used in create / edit ingredient which removes specific measurement in the ingredient\r\n *\r\n * @param {number} id\r\n */\r\n removeMeasurement(id: number) {\r\n // find the measurement with id from params\r\n let measurement = this.ingredient.allMeasurements.find((m) => m.id === id);\r\n if (measurement) {\r\n // find it's index in the array of measurements\r\n let index = this.ingredient.allMeasurements.indexOf(measurement);\r\n // delete it by deleting 1 item on position 'index'\r\n this.ingredient.allMeasurements.splice(index, 1);\r\n }\r\n }\r\n\r\n unitOptions(nutri : NutrientUnitList): UnitOption[]{\r\n let list = nutri.units\r\n ? nutri.units.map((u) => ({\r\n id: u.nutrientUnitId ? u.nutrientUnitId : 0,\r\n name: u.unit ? u.unit.name : \"\",\r\n isDefault:u.isDefault\r\n }))\r\n : [];\r\n if (list) return list;\r\n }\r\n\r\n get specifiedSugarAlcohols() {\r\n if (!this.mergedNutrientGroup) {\r\n return 0;\r\n }\r\n\r\n const sugarAlcoholNames = [\r\n 'Erythritol',\r\n 'Isomalt',\r\n 'Mannitol',\r\n 'Xylitol',\r\n 'Lactitol',\r\n 'Sorbitol',\r\n 'Maltitol'\r\n ];\r\n\r\n let sum = 0;\r\n\r\n sugarAlcoholNames.forEach((name) => {\r\n Object.values(this.mergedNutrientGroup).forEach((nutrientList) => {\r\n nutrientList.forEach((nutrient) => {\r\n if (nutrient.name === name) {\r\n sum += Number(nutrient.value) || 0;\r\n }\r\n });\r\n });\r\n });\r\n\r\n return Number(sum.toFixed(12));\r\n }\r\n\r\n get translations() {\r\n return this.localizationState.translations;\r\n }\r\n\r\n //Watcher to detect changes in the nutrientModel\r\n @Watch('mergedNutrientGroup', { deep: true, immediate: true })\r\n onNutrientModelChange() {\r\n const nutrients = this.mergedNutrientGroup;\r\n this.errorStates = {};\r\n\r\n if(Object.keys(nutrients).length != 0){\r\n const sugarsAlcohol = nutrients[\"sugars\"].find(\r\n (nutrient) => nutrient.nutrientType === NutrientType.SugarAlcohols\r\n );\r\n\r\n const sugarsValue = nutrients[\"sugars\"].find(\r\n (nutrient) => nutrient.nutrientType === NutrientType.Sugars\r\n );\r\n\r\n const vitaminA = nutrients[\"vitamins\"].find(\r\n (nutrient) => nutrient.nutrientType === NutrientType.VitaminA\r\n );\r\n\r\n if(sugarsAlcohol){\r\n const totalSugarAlcoholValue = this.calculateTotalChildNutrientsValue(sugarsAlcohol.childNutrients);\r\n this.updatedTotalNutrientValue(sugarsAlcohol, totalSugarAlcoholValue);\r\n }\r\n\r\n if (sugarsValue.value < sugarsValue.childNutrients[0].value) {\r\n this.errorStates[sugarsValue.id] = true;\r\n }\r\n\r\n if(vitaminA.value < this.calculateTotalChildNutrientsValue(vitaminA.childNutrients)){\r\n this.errorStates[vitaminA.id] = true;\r\n }\r\n }\r\n }\r\n\r\n calculateTotalChildNutrientsValue(nutrients: MergedNutrient[]): number {\r\n let totalValue = 0;\r\n nutrients.forEach((childNutrient) => {\r\n totalValue += childNutrient.value;\r\n });\r\n\r\n return totalValue;\r\n }\r\n\r\n updatedTotalNutrientValue(element:MergedNutrient, value: number) {\r\n element.value = value;\r\n }\r\n\r\n created() {\r\n this.initializeSourceNutrients();\r\n // If in edit mode we need to get the density category as an option for the dropdown (if the ingr has it)\r\n this.densityId = this.ingredient.categoryDensityId\r\n ? this.ingredient.categoryDensityId\r\n : \"\";\r\n IngredientsRepository.searchCategoryDensities(\"\", this.densityId)\r\n .then((response: any) => {\r\n this.densityOptions = response.data.result;\r\n })\r\n .catch((error) => {\r\n if (error.response) {\r\n this.$snotify.error(\r\n error.response.data.errorMessages[0].userVisibleMessage\r\n );\r\n }\r\n else this.$snotify.error(this.translations.get(\"network-error\"));\r\n });\r\n }\r\n\r\n initializeSourceNutrients(){\r\n this.nutrientSourceGroup = this.$store.getters.getNutrients;\r\n\r\n if(!this.nutrientSourceGroup){\r\n this.$store\r\n .dispatch(NUTRIENTS_FETCH)\r\n .then((nutrients: NutrientsGroup) => {\r\n this.nutrientSourceGroup = nutrients;\r\n this.assignNutrientSource(this.nutrientSourceGroup);\r\n })\r\n .catch((error) => {\r\n if (error.response) {\r\n this.$snotify.error(\r\n error.response.data.errorMessages[0].userVisibleMessage\r\n );\r\n }\r\n else this.$snotify.error(this.translations.get(\"network-error\"));\r\n });\r\n }\r\n else{\r\n this.assignNutrientSource(this.nutrientSourceGroup);\r\n }\r\n }\r\n\r\n assignNutrientSource(nutrientSourceGroup : NutrientsGroup){\r\n this.categories = this.assignCategorys(Object.keys(nutrientSourceGroup));\r\n this.mergedNutrientGroup = this.mergeNutrientsWithValues(nutrientSourceGroup, this.ingredient);\r\n }\r\n\r\n assignCategorys(categoryNames: string[]): { id: number; name: string }[] {\r\n return categoryNames.map((name, index) => ({\r\n id: index + 1,\r\n name: name\r\n }));\r\n }\r\n\r\n mergeNutrientsWithValues(\r\n nutrientGroups: NutrientsGroup,\r\n ingredient: Ingredient\r\n ): { [category: string]: MergedNutrient[] } {\r\n const merged: { [category: string]: MergedNutrient[] } = {};\r\n\r\n // Create a map of nutrient values for quick lookup\r\n const nutrientValueMap: { [nutrientId: number]: number | null } = {};\r\n const nutrientUnitIdMap: { [nutrientUnitId: number]: number | null } = {};\r\n\r\n Object.values(ingredient.nutrients).forEach(({ ingredientNutrient }) => {\r\n nutrientValueMap[ingredientNutrient.nutrientUnit.nutrientId] = ingredientNutrient.value;\r\n nutrientUnitIdMap[ingredientNutrient.nutrientUnit.nutrientId] = ingredientNutrient.nutrientUnitId;\r\n });\r\n\r\n // Merge nutrient details with their values\r\n Object.keys(nutrientGroups).forEach((categoryName) => {\r\n merged[categoryName] = nutrientGroups[categoryName].map((nutrient) => ({\r\n ...nutrient,\r\n value: nutrientValueMap[nutrient.id || 0] || 0,\r\n nutrientUnitId: nutrientUnitIdMap[nutrient.id] || nutrient.units[0].nutrientUnitId,\r\n childNutrients: nutrient.childNutrients.map((childNutrient) => ({\r\n ...childNutrient,\r\n value: nutrientValueMap[childNutrient.id || 0] || 0,\r\n nutrientUnitId: nutrientUnitIdMap[childNutrient.id || 0] || (childNutrient.units && childNutrient.units.length > 0 ? childNutrient.units[0].nutrientUnitId : null)\r\n })) || null\r\n }));\r\n });\r\n\r\n return merged;\r\n }\r\n}\r\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!./vIngredientManagement.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!./vIngredientManagement.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vIngredientManagement.vue?vue&type=template&id=35e314f3&scoped=true\"\nimport script from \"./vIngredientManagement.vue?vue&type=script&lang=ts\"\nexport * from \"./vIngredientManagement.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vIngredientManagement.vue?vue&type=style&index=0&id=35e314f3&prod&lang=css\"\nimport style1 from \"./vIngredientManagement.vue?vue&type=style&index=1&id=35e314f3&prod&scoped=true&lang=css\"\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 \"35e314f3\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vIngredientNutrientQuantityInputRow.vue?vue&type=style&index=0&id=605996e0&prod&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vTabbedContent.vue?vue&type=style&index=0&id=b7a0e9e0&prod&scoped=true&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"card card-transparent\"},[_c('ul',{staticClass:\"nav nav-tabs nav-tabs-fillup\"},_vm._l((_vm.filteredTabs),function(tab){return _c('li',{key:`tab${tab.id}`,staticClass:\"nav-item\"},[_c('a',{class:{'active show':tab.id === _vm.active},attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.changeTab(tab.id)}}},[_c('span',[_vm._v(\"\\n \"+_vm._s(tab.name)+\"\\n \")])])])}),0),_c('div',{staticClass:\"tab-content\"},_vm._l((_vm.filteredTabs),function(tab){return _c('div',{key:`tab${tab.id}`,staticClass:\"tab-pane\",class:{'active':tab.id === _vm.active}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_vm._t(tab.id)],2)])])}),0)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop } from \"vue-property-decorator\";\r\n\r\ninterface INumberIndexedObject {\r\n [key: number]: boolean;\r\n};\r\n\r\ninterface ITab extends INumberIndexedObject {\r\n name: string,\r\n id: number\r\n};\r\n\r\n@Component\r\nexport default class vTabbedContent extends Vue {\r\n\r\n active: number = 1;\r\n @Prop() tabs!: ITab[];\r\n\r\n errorTabs: INumberIndexedObject = {};\r\n\r\n // fliter tabs that are meant to be null (not rendered)\r\n get filteredTabs() {\r\n let filtered = this.tabs.filter((tab) => tab);\r\n return filtered;\r\n }\r\n\r\n changeTab(tabId: number) {\r\n this.active = tabId;\r\n }\r\n\r\n created() {\r\n // Map a validator for any children which may be part of a form\r\n this.$validator = this.$parent.$validator;\r\n this.errorTabs = this.tabs.reduce((acc, tab) => {\r\n acc[tab.id] = false;\r\n return acc;\r\n }, this.tabs[0]);\r\n }\r\n\r\n setErrorTab(tabId: number, error: boolean) {\r\n this.errorTabs[tabId] = error;\r\n }\r\n}\r\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!./vTabbedContent.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!./vTabbedContent.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vTabbedContent.vue?vue&type=template&id=b7a0e9e0&scoped=true\"\nimport script from \"./vTabbedContent.vue?vue&type=script&lang=ts\"\nexport * from \"./vTabbedContent.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vTabbedContent.vue?vue&type=style&index=0&id=b7a0e9e0&prod&scoped=true&lang=css\"\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 \"b7a0e9e0\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vIngredientManagement.vue?vue&type=style&index=0&id=35e314f3&prod&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./vIngredientManagement.vue?vue&type=style&index=1&id=35e314f3&prod&scoped=true&lang=css\""],"sourceRoot":""}