{"version":3,"sources":["webpack:///./src/utils/Defaults.ts","webpack:///./src/models/Recipes/Nutritions.ts","webpack:///./src/utils/Helpers.ts","webpack:///./src/components/vModal.vue?2adc","webpack:///./src/utils/API/MeasurementRepository.ts","webpack:///./src/models/Ingredient/NutrientType.ts","webpack:///./src/models/NutritionLabels/LabelTypeMetadata.ts","webpack:///./src/assets/Customer/assets/img/isolated-vegetables.jpg","webpack:///./src/components/vBreadcrumbs.vue","webpack:///./src/components/vBreadcrumbs.vue?361d","webpack:///./src/components/vBreadcrumbs.vue?72f9","webpack:///./src/components/vBreadcrumbs.vue?06cf","webpack:///./src/views/User/IngredientCost.vue","webpack:///./src/views/User/IngredientCost.vue?49fe","webpack:///./src/views/User/IngredientCost.vue?58ee","webpack:///./src/views/User/IngredientCost.vue?a8f6","webpack:///./src/views/User/IngredientCost.vue?387f","webpack:///./src/models/Measurement/MeasurementCategory.ts","webpack:///./src/models/Recipes/RecipeServingType.ts","webpack:///./src/components/vModal.vue","webpack:///./src/components/vModal.vue?9dbe","webpack:///./src/components/vModal.vue?4636","webpack:///./src/components/vModal.vue?1836","webpack:///./src/views/User/IngredientCost.vue?abd4","webpack:///./src/utils/API/IngredientCostRepository.ts"],"names":["emptyString","NA","dateTimeDisplayFormat","dateDisplayFormat","Nutritions","totalNutrientsPerServing","servingUnitOfMeasurement","weight","weightPerServing","roundedWeightPerServing","rawWeight","rawWeightPerServing","volume","rawVolume","volumePerServing","rawVolumePerServing","quantityPerServingInUnitOfMeasurement","arguments","length","undefined","item1","item2","displayServingQuantityAndMeasure","servingQuantityInUnitOfMeasurementOverride","servingUnitOfMeasurementOverride","labelType","LabelTypeMetadata","BackOfPack","additionalLabelInformation","moistureYieldFactor","ingredientScaleMultiplier","servings","moistureInRecipePercent","_classCallCheck","_defineProperty","this","_createClass","key","value","_len","nutrientNames","Array","_key","nameKey","map","x","NutrientType","join","find","nutrient","nutrientName","nutrientInfo","getNutrientInfo","apply","roundedValue","roundedDailyValue","exactValue","exactDailyValue","rawQuantity","invert","round","recipeServingType","RecipeServingType","Servings","factorMoistureLossToRawQuantity","debounce","callback","time","intervalId","localStorage","getItem","clearTimeout","setTimeout","setItem","getBoldString","mainString","subString","concat","index","toLowerCase","indexOf","startIndex","substring","endIndex","highlightedString","number","decimalPlaces","Math","pow","shorten","text","newText","replace","parts","split","part","substr","desanitizeString","html","txt","document","createElement","innerHTML","getErrorMessage","error","translations","response","data","errorMessages","userVisibleMessage","get","mapNutritions","nutritions","nutrientType","originalNutrientAnalysis","groupBy","items","reduce","acc","item","group","values","push","set","Map","buildVTableDataStruct","meta","rv","forEach","trialMaskedNutrientData","shouldRound","store","getters","getUserDetails","isTrial","tableMapper","useLink","recipeWeight","nutritionAnalysis","metaObj","id","link","name","getRoundedValue","Energy","Fat","SaturatedFattyAcids","TransFattyAcids","Cholesterol","Sodium","Carbohydrate","Fibre","Sugars","Protein","VitaminD","VitaminC","Potassium","Calcium","Iron","MonoUnsaturatedFats","PolyUnsaturatedFats","Omega3","Omega6","Caffeine","Ash","Moisture","Biotin","Choline","Folate","Niacin","PantothenicAcid","Riboflavin","Thiamine","BetaCarotene","Retinol","VitaminB6","VitaminB12","VitaminE","VitaminK","Chromium","Chloride","Copper","Iodine","Magnesium","Manganese","Molybdenum","Phosphorus","Selenium","Zinc","LAlanine","LArginine","LAsparagine","LCysteine","LGlutamine","Glycine","LHistidine","LIsoleucine","LLeucine","LLysine","LMethionine","LPhenylalanine","LProline","LSerine","LThreonine","LTyrosine","LValine","Tryptophan","GreenTeaExtract","Taurine","Phosphatidylserine","FolicAcid","Boron","Fluoride","downloadURI","uri","download","href","click","toBase64","file","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","result","onerror","resource","listServingSizeMeasurements","Repository","withCredentials","listMeasurementsForCategory","category","post","module","exports","render","_vm","_c","_self","_setupProxy","staticClass","attrs","_l","$route","breadCrumbs","crumb","class","_v","_s","staticRenderFns","vBreadcrumbs","_Vue","_this","args","_callSuper","_inherits","localizationState","Vue","__decorate","Component","computed","_objectSpread","mapState","state","LocalizationModule","component","$store","staticStyle","require","_m","on","$event","preventDefault","openAddIngredientCostModal","toUpperCase","openImportIngredientCostModal","content","downloadImport","exportFile","hasIngredientCosts","loading","tableHeaders","ingredientCostsForGrid","count","totalCount","pageSize","changePage","order","editIngredientCost","deleteIngredientCost","addingModal","isOpen","newIngredientCosts","ingrCost","errors","has","directives","rawName","expression","domProps","target","composing","$set","first","_e","vendorId","$$selectedVal","prototype","filter","call","options","o","selected","val","_value","multiple","vendors","vendor","openAddVendorModal","quantity","chosenMeasurementName","ingredientCostMeasurements","measurement","openAddMeasurementModal","cost","removeIngrCostRow","addNewIngrCostRow","saveIngredientCost","editingModal","editingIngredientCost","openEditMeasurementModal","submitEditIngredientCost","addingVendorModal","addingVendorName","saveIngredientCostVendor","deletingModal","isDeletingIngrCostUsed","submitDelete","importingModal","importingModalClose","vendorEmpty","ref","storeFile","importSubmit","addingMeasurementModal","newMeasurements","removeMeasurementRow","addNewMeasurementRow","submitNewMeasurements","vSelectFx","IngredientCostComponent","field","orderType","OrderType","Asc","ingredientCostId","ingrCostIndex","$refs","files","splice","_this2","$validator","validateAll","_this3","$snotify","async","success","IngredientCostRepository","loadMeasurementsForIngredientCost","measurements","then","shift","weightInGrams","toFixed","body","catch","timeout","closeOnClick","getEmptyMeasurment","_this4","ingredientCosts","ingredientCostMeasurement","measurementId","_this5","updateIngredientCost","requestIngredientCost","i","j","_this6","checkDuplicateIngrCostNames","createIngredientCosts","getEmptyIngredientCost","addNewMeasurementsForNewIngredientCost","addNewMeasurementsForExistingIngredientCost","_this7","measurementNames","includes","_this8","_this9","createIngredientCostVendor","loadIngredientCostVendors","isUsed","_this10","page","_this11","formData","FormData","append","uploadIngredientCosts","ingr","filters","orderings","ordering","orders","_this12","reqData","ListRequest","listIngredientCost","resetNewIngredientCosts","massMeasurements","_toConsumableArray","_this13","listIngredientCostVendors","_this14","e1","e2","e3","e4","e5","$moment","createdOn","format","e6","updatedOn","process","searchable","searchString","sortable","_this15","dispatch","TRANSLATIONS_FETCH","collections","title","MeasurementRepository","MeasurementCategory","Mass","conversionCoeficient","Volume","volResponse","volumeMeasurements","_this16","window","$","Pages","init","select2","allowClear","width","ajax","delay","transport","params","term","processResults","r","results","eventData","components","vModal","vTable","show","modalId","size","modalTitle","cancelModal","_t","htmlBodyElement","getElementsByTagName","classList","add","$emit","remove","addEventListener","e","keyCode","Prop","Watch","listRequest","ingredientCost"],"mappings":"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","file":"js/chunk-7b411fab.da99f79b.js","sourcesContent":["export const emptyString = '';\r\nexport const NA = \"N/A\";\r\nexport const dateTimeDisplayFormat = 'DD MMM YYYY - hh:mm A'; // https://momentjs.com/docs/#/parsing/\r\nexport const dateDisplayFormat = 'DD MMM YYYY';","import {LabelTypeMetadata} from \"../NutritionLabels/LabelTypeMetadata\";\r\nimport {NutrientType} from \"../Ingredient/NutrientType\";\r\nimport {NutrientAnalysis} from \"@/models/Nutrient/NutrientAnalysis\";\r\nimport {AdditionalLabelInformation} from \"@/models/NutritionLabels/AdditionalLabelInformation\";\r\nimport {round} from \"@/utils/Helpers\";\r\nimport {RecipeServingType} from \"@/models/Recipes/RecipeServingType\";\r\n\r\nexport class Nutritions {\r\n unadjustedAddedSugarPerServing: number = 0;\r\n\r\n totalNutrientsPerServing: (NutrientAnalysis & { nutrientName: string })[] = [];\r\n servingUnitOfMeasurement: string = 'g';\r\n\r\n weight: number = 0;\r\n weightPerServing: number = 0;\r\n roundedWeightPerServing: number = 0;\r\n rawWeight: number = 0;\r\n rawWeightPerServing: number = 0;\r\n\r\n volume: number | null;\r\n rawVolume: number | null;\r\n volumePerServing: number | null;\r\n rawVolumePerServing: number | null;\r\n\r\n quantityPerServingInUnitOfMeasurement: {\r\n item1: number; // quantity\r\n item2: string; // unit of measurement\r\n } | null;\r\n\r\n displayServingQuantityAndMeasure: {\r\n item1: number; // quantity\r\n item2: string; // unit of measurement\r\n } | null;\r\n servingQuantityInUnitOfMeasurementOverride: number;\r\n servingUnitOfMeasurementOverride: string;\r\n labelType : LabelTypeMetadata | LabelTypeMetadata.BackOfPack;\r\n\r\n additionalLabelInformation: AdditionalLabelInformation;\r\n moistureYieldFactor: number;\r\n ingredientScaleMultiplier: number;\r\n servings: number;\r\n moistureInRecipePercent: number;\r\n\r\n constructor(\r\n totalNutrientsPerServing: (NutrientAnalysis & { nutrientName: string })[],\r\n servingUnitOfMeasurement: string,\r\n weight: number,\r\n weightPerServing: number,\r\n roundedWeightPerServing: number,\r\n rawWeight: number,\r\n rawWeightPerServing: number,\r\n volume: number | null,\r\n rawVolume: number | null,\r\n volumePerServing: number | null,\r\n rawVolumePerServing: number | null,\r\n quantityPerServingInUnitOfMeasurement: {\r\n item1: number; // quantity\r\n item2: string; // unit of measurement\r\n } = { item1: 0, item2: 'g' },\r\n displayServingQuantityAndMeasure: {\r\n item1: number;\r\n item2: string;\r\n } = { item1: 0, item2: 'g' },\r\n servingQuantityInUnitOfMeasurementOverride: number = null,\r\n servingUnitOfMeasurementOverride: string = null,\r\n labelType: LabelTypeMetadata | LabelTypeMetadata.BackOfPack = LabelTypeMetadata.BackOfPack,\r\n additionalLabelInformation: AdditionalLabelInformation = {},\r\n moistureYieldFactor: number = 1,\r\n ingredientScaleMultiplier: number = 1,\r\n servings: number = 1,\r\n moistureInRecipePercent: number = 0,\r\n ) {\r\n this.totalNutrientsPerServing = totalNutrientsPerServing;\r\n this.servingUnitOfMeasurement = servingUnitOfMeasurement;\r\n this.weight = weight;\r\n this.weightPerServing = weightPerServing;\r\n this.roundedWeightPerServing = roundedWeightPerServing;\r\n this.rawWeight = rawWeight;\r\n this.rawWeightPerServing = rawWeightPerServing;\r\n this.volume = volume;\r\n this.rawVolume = rawVolume;\r\n this.volumePerServing = volumePerServing;\r\n this.rawVolumePerServing = rawVolumePerServing;\r\n this.quantityPerServingInUnitOfMeasurement = quantityPerServingInUnitOfMeasurement;\r\n this.displayServingQuantityAndMeasure = displayServingQuantityAndMeasure;\r\n this.servingQuantityInUnitOfMeasurementOverride = servingQuantityInUnitOfMeasurementOverride;\r\n this.servingUnitOfMeasurementOverride = servingUnitOfMeasurementOverride;\r\n this.labelType = labelType;\r\n this.additionalLabelInformation = additionalLabelInformation;\r\n this.moistureYieldFactor = moistureYieldFactor;\r\n this.ingredientScaleMultiplier = ingredientScaleMultiplier;\r\n this.servings = servings;\r\n this.moistureInRecipePercent = moistureInRecipePercent;\r\n }\r\n\r\n getNutrientInfo(...nutrientNames: NutrientType[]): NutrientAnalysis | null {\r\n const nameKey = nutrientNames.map((x) => NutrientType[x]).join('');\r\n\r\n // Find by name\r\n return this.totalNutrientsPerServing.find(\r\n (nutrient) => nutrient.nutrientName === nameKey\r\n ) || null;\r\n }\r\n\r\n getRoundedValue(...nutrientNames: NutrientType[]): number {\r\n const nutrientInfo = this.getNutrientInfo(...nutrientNames);\r\n return nutrientInfo ? nutrientInfo.roundedValue : 0;\r\n }\r\n\r\n getRoundedDailyValue(...nutrientNames: NutrientType[]): number {\r\n const nutrientInfo = this.getNutrientInfo(...nutrientNames);\r\n return nutrientInfo ? nutrientInfo.roundedDailyValue : 0;\r\n }\r\n\r\n getExactValue(...nutrientNames: NutrientType[]): number {\r\n const nutrientInfo = this.getNutrientInfo(...nutrientNames);\r\n return nutrientInfo ? nutrientInfo.exactValue : 0;\r\n }\r\n\r\n getExactDailyValue(...nutrientNames: NutrientType[]): number {\r\n const nutrientInfo = this.getNutrientInfo(...nutrientNames);\r\n return nutrientInfo ? nutrientInfo.exactDailyValue : 0;\r\n }\r\n\r\n factorMoistureLossToRawQuantity(rawQuantity: number, invert: boolean = true) {\r\n let moistureYieldFactor = this.moistureYieldFactor;\r\n\r\n if (invert) {\r\n moistureYieldFactor = 1 - moistureYieldFactor;\r\n }\r\n\r\n return round(rawQuantity * moistureYieldFactor, 2);\r\n }\r\n\r\n getRawRecipeWeight(recipeServingType: RecipeServingType) {\r\n const invert = recipeServingType === RecipeServingType.Servings || this.moistureYieldFactor === 0;\r\n\r\n if (\r\n this.servingUnitOfMeasurement == 'ml'\r\n || this.servingUnitOfMeasurement == 'fl. oz'\r\n ) {\r\n return this.factorMoistureLossToRawQuantity(this.rawVolume, invert);\r\n }\r\n\r\n return this.factorMoistureLossToRawQuantity(this.rawWeight, invert);\r\n }\r\n}\r\n","import { Nutritions } from \"@/models/Recipes/Nutritions\";\r\nimport {NutrientType} from \"@/models/Ingredient/NutrientType\";\r\nimport store from \"@/store/store\";\r\nimport { NA } from \"./Defaults\";\r\n\r\nexport function debounce(callback: any, time = 250, key: string) {\r\n let intervalId: any = localStorage.getItem(key);\r\n\r\n if (intervalId) {\r\n clearTimeout(intervalId);\r\n }\r\n\r\n intervalId = setTimeout(() => {\r\n callback();\r\n }, time);\r\n\r\n localStorage.setItem(key, intervalId);\r\n}\r\n\r\nexport function getBoldString(mainString: string, subString: string) {\r\n if(subString == \"\"){\r\n return `<b>${mainString}</b>`;\r\n }\r\n else{\r\n const index = mainString.toLowerCase().indexOf(subString.toLowerCase());\r\n if (index !== -1) {\r\n const startIndex = mainString.substring(0, index);\r\n const endIndex = mainString.substring(index + subString.length);\r\n const highlightedString = startIndex + \"<b>\" + mainString.substring(index, index + subString.length) + \"</b>\" + endIndex;\r\n return highlightedString;\r\n }\r\n return mainString;\r\n }\r\n}\r\n\r\n\r\nexport function round(number: number, decimalPlaces: number) {\r\n return Math.round(number * Math.pow(10, decimalPlaces)) / Math.pow(10, decimalPlaces);\r\n}\r\n\r\nexport function shorten(text: string) {\r\n\r\n let newText = text.replace(',', '');\r\n newText = newText.replace('.', '');\r\n\r\n let parts = newText.split(' ');\r\n parts = parts.map((part) => {\r\n if (part.length > 3)\r\n return part.substr(0, 3) + '.';\r\n else {\r\n return part;\r\n }\r\n });\r\n\r\n return parts.join(' ');\r\n}\r\n\r\nexport function toCamelCase(text: string) {\r\n\r\n let parts = text.split(' ');\r\n for (let i = 0; i < parts.length; i++) {\r\n\r\n parts[i] = parts[i].charAt(0).toUpperCase() + parts[i].slice(1);\r\n }\r\n\r\n let cammeled = parts.join('');\r\n cammeled = cammeled.replace(',', '');\r\n\r\n return cammeled;\r\n}\r\n\r\nexport function desanitizeString(html: string) {\r\n let txt = document.createElement(\"textarea\");\r\n txt.innerHTML = html;\r\n return txt.value;\r\n}\r\n\r\nexport function getErrorMessage(error: any, translations: any) {\r\n return error.response &&\r\n error.response.data.errorMessages[0].userVisibleMessage\r\n ? error.response.data.errorMessages[0].userVisibleMessage\r\n : translations.get(\"toastr_network_error\");\r\n}\r\n\r\n// Following functions are used to simplify the object nutritionAnalysis returned from backend\r\n\r\nexport function mapNutritions(nutritions: any): Nutritions {\r\n return new Nutritions(\r\n nutritions.totalNutrientsPerServing.map((nutrient: any) => ({\r\n nutrientName: nutrient.nutrientName,\r\n exactValue: nutrient.exactValue,\r\n exactDailyValue: nutrient.exactDailyValue,\r\n roundedValue: nutrient.roundedValue,\r\n roundedDailyValue: nutrient.roundedDailyValue,\r\n nutrientType: nutrient.nutrientType,\r\n originalNutrientAnalysis: nutrient.originalNutrientAnalysis,\r\n })),\r\n nutritions.servingUnitOfMeasurement || 'g',\r\n nutritions.weight,\r\n nutritions.weightPerServing,\r\n nutritions.roundedWeightPerServing,\r\n nutritions.rawWeight,\r\n nutritions.rawWeightPerServing,\r\n nutritions.volume,\r\n nutritions.rawVolume,\r\n nutritions.volumePerServing,\r\n nutritions.rawVolumePerServing,\r\n {\r\n item1: nutritions.quantityPerServingInUnitOfMeasurement.item1,\r\n item2: nutritions.quantityPerServingInUnitOfMeasurement.item2\r\n },\r\n {\r\n item1: nutritions.displayServingQuantityAndMeasure.item1,\r\n item2: nutritions.displayServingQuantityAndMeasure.item2\r\n },\r\n nutritions.servingQuantityInUnitOfMeasurementOverride,\r\n nutritions.servingUnitOfMeasurementOverride,\r\n nutritions.labelType,\r\n nutritions.additionalLabelInformation,\r\n nutritions.moistureYieldFactor,\r\n nutritions.ingredientScaleMultiplier,\r\n nutritions.servings,\r\n nutritions.moistureInRecipePercent,\r\n );\r\n}\r\n\r\nexport function groupBy<K, V>(items: K[], key: (item: K) => V): Map<V, K[]> {\r\n return items.reduce((acc, item) => {\r\n const group = key(item);\r\n const values = acc.get(group) || [];\r\n values.push(item);\r\n acc.set(group, values);\r\n return acc;\r\n }, new Map<V, K[]>());\r\n}\r\n\r\n\r\ninterface GenerableObject {\r\n [key: string]: any\r\n}\r\n\r\ninterface vTableMetadata {\r\n id: string | number;\r\n link?: string;\r\n}\r\n\r\nexport function buildVTableDataStruct(data: any[], meta: vTableMetadata & GenerableObject) {\r\n let rv: GenerableObject = {};\r\n\r\n data.forEach((item: any, index: number) => {\r\n // Index must be offset by 1 for vtable to correctly input the data\r\n rv[`e${index + 1}`] = item;\r\n });\r\n\r\n rv['meta'] = meta;\r\n return rv;\r\n}\r\n\r\n/**\r\n * Masks nutrient data if the user is on a trial\r\n * @param value The value to display or be masked\r\n * @param shouldRound whether or not the value should be rounded to 2 decimal places\r\n */\r\nexport function trialMaskedNutrientData(value: number, shouldRound: boolean = true) {\r\n if (store.getters.getUserDetails.isTrial) {\r\n return \"--\";\r\n }\r\n\r\n return shouldRound ? round(value, 2) : value;\r\n}\r\n\r\nexport function tableMapper(item: { id: number, name: string, nutritionAnalysis: Nutritions }, useLink: boolean = false) {\r\n let recipeWeight = null;\r\n if (\r\n item.nutritionAnalysis.servingUnitOfMeasurement ==\"ml\"\r\n || item.nutritionAnalysis.servingUnitOfMeasurement == \"fl. oz\"\r\n ) {\r\n recipeWeight = item.nutritionAnalysis.volume;\r\n }\r\n\r\n else {\r\n recipeWeight = item.nutritionAnalysis.weight;\r\n }\r\n\r\n const metaObj: vTableMetadata = {\r\n id: item.id\r\n };\r\n\r\n if (useLink) {\r\n metaObj.link = item.name;\r\n }\r\n\r\n return buildVTableDataStruct([\r\n trialMaskedNutrientData(round(item.nutritionAnalysis.getRoundedValue(NutrientType.Energy), 2)),\r\n round(item.nutritionAnalysis.getRoundedValue(NutrientType.Fat) * 9, 2),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Fat),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.SaturatedFattyAcids),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.TransFattyAcids),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Cholesterol),\r\n round(item.nutritionAnalysis.getRoundedValue(NutrientType.Sodium), 2),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Carbohydrate),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Fibre),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Sugars),\r\n round(item.nutritionAnalysis.getRoundedValue(NutrientType.Protein), 2),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.VitaminD),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.VitaminC),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Potassium),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Calcium),\r\n round(item.nutritionAnalysis.getRoundedValue(NutrientType.Iron), 2),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.MonoUnsaturatedFats),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.PolyUnsaturatedFats),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Omega3),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Omega6),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Caffeine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Ash),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Moisture),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Biotin),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Choline),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Folate),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Niacin),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.PantothenicAcid),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Riboflavin),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Thiamine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.BetaCarotene),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Retinol),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.VitaminB6),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.VitaminB12),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.VitaminE),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.VitaminK),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Chromium),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Chloride),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Copper),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Iodine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Magnesium),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Manganese),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Molybdenum),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Phosphorus),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Selenium),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Zinc),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LAlanine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LArginine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LAsparagine),\r\n NA,\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LCysteine),\r\n NA,\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LGlutamine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Glycine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LHistidine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LIsoleucine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LLeucine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LLysine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LMethionine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LPhenylalanine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LProline),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LSerine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LThreonine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LTyrosine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.LValine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Tryptophan),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.GreenTeaExtract),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Taurine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Phosphatidylserine),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.FolicAcid),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Boron),\r\n item.nutritionAnalysis.getRoundedValue(NutrientType.Fluoride),\r\n recipeWeight == null ? 0 : round(recipeWeight, 2)\r\n ],\r\n metaObj\r\n );\r\n}\r\n\r\nexport function downloadURI(uri: string, name: string) {\r\n const link = document.createElement(\"a\");\r\n link.download = name;\r\n link.href = uri;\r\n link.click();\r\n}\r\n\r\nexport function toBase64(file: File): Promise<string> {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result as string);\r\n reader.onerror = reject;\r\n });\r\n}\r\n","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!./vModal.vue?vue&type=style&index=0&id=23dd0184&prod&scoped=true&lang=css\"","import Repository from './Repository';\r\nimport { MeasurementCategory } from '@/models/Measurement/MeasurementCategory';\r\n\r\nconst resource = '/Measurements';\r\n\r\nexport default {\r\n listServingSizeMeasurements() {\r\n return Repository.get(`${resource}/ListServingSizeMeasurements`, { withCredentials: true });\r\n },\r\n listMeasurementsForCategory(category: MeasurementCategory) {\r\n return Repository.post(`${resource}/ListMeasurementsForCategory`, { category: category }, { withCredentials: true });\r\n },\r\n};\r\n","export enum NutrientType {\r\n Energy = 0,\r\n Fat = 1,\r\n SaturatedFattyAcids = 2,\r\n TransFattyAcids = 3,\r\n Cholesterol = 4,\r\n Sodium = 5,\r\n Carbohydrate = 6,\r\n Fibre = 7,\r\n Sugars = 8,\r\n Protein = 9,\r\n VitaminD = 10,\r\n Potassium = 11,\r\n Calcium = 12,\r\n Iron = 13,\r\n AddedSugars = 14,\r\n SugarAlcohols = 15,\r\n VitaminC = 16,\r\n VitaminA = 18,\r\n Erythritol = 30,\r\n Isomalt = 31,\r\n Lactitol= 32,\r\n Mannitol = 33,\r\n Sorbitol = 34,\r\n Xylitol = 35,\r\n Maltitol = 36,\r\n UnspecifiedSugarAlcohol = 37,\r\n MonoUnsaturatedFats = 38,\r\n PolyUnsaturatedFats = 39,\r\n Omega3 = 40,\r\n Omega6 = 41,\r\n Biotin = 42,\r\n Choline = 43,\r\n Folate = 44,\r\n FolateDfe = 45,\r\n Niacin = 46,\r\n NiacinEq = 47,\r\n NiacinVitb3Eq = 48,\r\n PantothenicAcid = 49,\r\n Riboflavin = 50,\r\n Thiamine = 51,\r\n BetaCarotene = 52,\r\n Retinol = 53,\r\n VitaminB12 = 54, // (Vitamin D, another form)\r\n VitaminE = 55,\r\n VitaminEToco = 56,\r\n VitaminETocoEq = 57,\r\n VitaminK = 58,\r\n Chromium = 59,\r\n Chloride = 60,\r\n Copper = 61,\r\n Iodine = 62,\r\n Magnesium = 63,\r\n Manganese = 64,\r\n Molybdenum = 65,\r\n Phosphorus = 66,\r\n Selenium = 67,\r\n Zinc = 68,\r\n LAlanine = 69,\r\n LArginine = 70,\r\n LAsparagine = 71,\r\n LAsparticAcid = 72,\r\n LCysteine = 73,\r\n LGlutamicAcid = 74,\r\n LGlutamine = 75,\r\n Glycine = 76,\r\n LHistidine = 77,\r\n LIsoleucine = 78,\r\n LLeucine = 79,\r\n LLysine = 80,\r\n LMethionine = 81,\r\n LPhenylalanine = 82,\r\n LProline = 83,\r\n LSerine = 84,\r\n LThreonine = 85,\r\n LTyrosine = 86,\r\n LValine = 87,\r\n Caffeine = 88,\r\n GreenTeaExtract = 89,\r\n Taurine = 90,\r\n Ash = 91,\r\n Moisture = 92,\r\n Phosphatidylserine = 93,\r\n VitaminB6 = 94,\r\n FolicAcid = 95,\r\n Boron = 96,\r\n Fluoride = 97,\r\n Tryptophan = 98,\r\n Other = 99,\r\n SaturatedAndTrans = 100\r\n}\r\n","export enum LabelTypeMetadata {\r\n BackOfPack = 1,\r\n FrontOfPack = 2,\r\n SupplementFact = 4,\r\n}","module.exports = __webpack_public_path__ + \"img/isolated-vegetables.53ba4b1f.jpg\";","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"jumbotron\",attrs:{\"data-pages\":\"parallax\"}},[_c('div',{staticClass:\"container-fluid container-fixed-lg sm-p-l-0 sm-p-r-0 p-t-10\"},[_c('div',{staticClass:\"inner\"},[_c('ol',{staticClass:\"breadcrumb\"},_vm._l((_vm.$route.meta.breadCrumbs),function(crumb){return _c('li',{key:crumb,staticClass:\"breadcrumb-item\",class:{'active': _vm.$route.meta.breadCrumbs.length === _vm.$route.meta.breadCrumbs.indexOf(crumb)+1}},[(_vm.$route.meta.breadCrumbs.length !== _vm.$route.meta.breadCrumbs.indexOf(crumb)+1)?_c('router-link',{attrs:{\"to\":{name: crumb}}},[_vm._v(_vm._s(_vm.translations.get(crumb)))]):[_vm._v(_vm._s(_vm.translations.get(crumb)))]],2)}),0)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component } from \"vue-property-decorator\";\r\nimport { mapState } from 'vuex';\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 vBreadcrumbs extends Vue {\r\n localizationState: any;\r\n\r\n get translations() {\r\n return this.localizationState.translations;\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!./vBreadcrumbs.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!./vBreadcrumbs.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vBreadcrumbs.vue?vue&type=template&id=3639f50c&scoped=true\"\nimport script from \"./vBreadcrumbs.vue?vue&type=script&lang=ts\"\nexport * from \"./vBreadcrumbs.vue?vue&type=script&lang=ts\"\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 \"3639f50c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"page-content-wrapper\"},[_c('div',{staticClass:\"content\"},[_c('vBreadcrumbs',{attrs:{\"user-details\":_vm.$store.getters.getUserDetails}}),_c('div',{staticClass:\"container-fluid container-fixed-lg\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_c('h2',[_c('img',{staticClass:\"img-thumbnail img-circle\",staticStyle:{\"width\":\"75px\"},attrs:{\"src\":require(\"../../assets/Customer/assets/img/isolated-vegetables.jpg\"),\"alt\":\"isolated vegetables\"}}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-title\"))+\":\\n \"),_c('small',[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-title-combine-yours\"))+\"\\n \"),_c('router-link',{attrs:{\"to\":\"/recipes\"}},[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-recipe-costing\")))])],1)])])])]),_c('div',{staticClass:\"container-fluid container-fixed-lg\"},[_c('div',{staticClass:\"row search-add\"},[_vm._m(0),_c('div',{staticClass:\"col-md-8 col-12\"},[_c('a',{staticClass:\"btn btn-sm btn-primary\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openAddIngredientCostModal.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-plus\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-add-btn\").toUpperCase())+\"\\n \")]),_c('a',{staticClass:\"btn btn-sm btn-primary\",staticStyle:{\"margin-left\":\"9px\"},attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openImportIngredientCostModal.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-plus\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-import-btn\").toUpperCase())+\"\\n \")]),_c('form',{staticClass:\"form-inline pull-right export\"},[_c('div',{staticClass:\"form-group\"},[_c('vSelectFx',{attrs:{\"options\":[\n {\n value: '0',\n content: _vm.translations.get('ingr-cost-download-btn'),\n },\n ]}})],1),_c('a',{staticClass:\"btn down-btn\",attrs:{\"href\":_vm.downloadImport}},[_c('i',{staticClass:\"fa fa-download\",attrs:{\"aria-hidden\":\"true\"}})]),_c('div',{staticClass:\"form-group\",staticStyle:{\"margin-left\":\"9px\"}},[_c('vSelectFx',{attrs:{\"options\":[\n {\n value: '0',\n content: _vm.translations.get('ingr_export_to_excel'),\n },\n ]}})],1),_c('a',{staticClass:\"btn down-btn\",attrs:{\"href\":_vm.exportFile}},[_c('i',{staticClass:\"fa fa-download\",attrs:{\"aria-hidden\":\"true\"}})])])])])]),_c('div',{staticClass:\"container-fluid container-fixed-lg\"},[_c('div',{staticClass:\"card card-default brown lighten-5\"},[_c('div',{staticClass:\"card-header\"},[_c('h4',{staticClass:\"card-title\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr_table_title\"))+\"\\n \")])]),_c('div',{staticClass:\"card-body no-pad-top\"},[_c('div',{staticClass:\"row\"},[(!_vm.hasIngredientCosts && _vm.loading === false)?_c('div',{staticClass:\"col-md-12 text-center\"},[_c('h3',[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-no-ingr-msg\"))+\"\\n \"),_c('a',{staticClass:\"btn btn-sm btn-primary\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openAddIngredientCostModal.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-plus\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-add-btn\").toUpperCase())+\"\\n \")])])]):_c('div',{staticClass:\"col-md-12\"},[_c('vTable',{attrs:{\"table-class\":'table-ingredient-cost',\"table-headers\":_vm.tableHeaders,\"select-erase\":true,\"results\":_vm.ingredientCostsForGrid,\"total\":_vm.count,\"total-count\":_vm.totalCount,\"page-size\":_vm.pageSize,\"editable\":true,\"loading\":_vm.loading,\"single-check\":true},on:{\"changePage\":_vm.changePage,\"order\":_vm.order,\"edit\":_vm.editIngredientCost,\"remove\":_vm.deleteIngredientCost}})],1)])])])]),_c('vModal',{attrs:{\"show\":_vm.addingModal.isOpen,\"modal-title\":_vm.translations.get('ingr-cost-add-modal-title'),\"size\":'l'},on:{\"cancelModal\":function($event){_vm.addingModal.isOpen = false}}},[_c('form',{attrs:{\"data-vv-scope\":\"ingredientCost\"}},[_c('table',{staticClass:\"table\"},[_c('thead',{staticStyle:{\"background-color\":\"#0288d1\",\"text-align\":\"left\"}},[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-name\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-vendor\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-quantity\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-measurement\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-cost\")))]),_c('th'),_c('th')])]),_c('tbody',{staticStyle:{\"text-align\":\"left\"}},_vm._l((_vm.newIngredientCosts),function(ingrCost,index){return _c('tr',{key:'new-ingr-cost-' + index},[_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'ingredientCost.ingredientCostName' + index\n ),\n }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(ingrCost.name),expression:\"ingrCost.name\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",attrs:{\"placeholder\":_vm.translations.get('ingr-cost-table-name'),\"name\":'ingredientCostName' + index,\"data-vv-as\":_vm.translations.get('ingr-cost-table-name')},domProps:{\"value\":(ingrCost.name)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(ingrCost, \"name\", $event.target.value)}}}),(\n _vm.errors.has('ingredientCost.ingredientCostName' + index)\n )?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\n \"ingredientCost.ingredientCostName\" + index\n )))]):_vm._e()])]),_c('td',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(ingrCost.vendorId),expression:\"ingrCost.vendorId\"}],staticClass:\"form-control\",staticStyle:{\"display\":\"inline-block\"},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(ingrCost, \"vendorId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.vendors),function(vendor){return _c('option',{key:'vendor' + vendor.id,domProps:{\"value\":vendor.id}},[_vm._v(\"\\n \"+_vm._s(vendor.name)+\"\\n \")])}),0),_c('a',{staticStyle:{\"position\":\"absolute\",\"margin-top\":\"11px\",\"margin-left\":\"4px\"},attrs:{\"title\":\"Add Supplier\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openAddVendorModal.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-plus\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"12px\"}})])]),_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'ingredientCost.ingredientCostQuantity' + index\n ),\n }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(ingrCost.quantity),expression:\"ingrCost.quantity\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal'),expression:\"'required|decimal'\"}],staticClass:\"form-control\",attrs:{\"placeholder\":_vm.translations.get('ingr-cost-table-quantity'),\"name\":'ingredientCostQuantity' + index,\"data-vv-as\":_vm.translations.get('ingr-cost-table-quantity')},domProps:{\"value\":(ingrCost.quantity)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(ingrCost, \"quantity\", $event.target.value)}}}),(\n _vm.errors.has(\n 'ingredientCost.ingredientCostQuantity' + index\n )\n )?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\n \"ingredientCost.ingredientCostQuantity\" + index\n )))]):_vm._e()])]),_c('td',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(ingrCost.chosenMeasurementName),expression:\"ingrCost.chosenMeasurementName\"}],staticClass:\"form-control\",staticStyle:{\"width\":\"50%\",\"display\":\"inline-block\"},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(ingrCost, \"chosenMeasurementName\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((ingrCost.ingredientCostMeasurements),function(measurement){return _c('option',{key:'measurement' + measurement.id,domProps:{\"value\":measurement.name}},[_vm._v(\"\\n \"+_vm._s(measurement.name)+\"\\n \")])}),0),_c('a',{staticStyle:{\"position\":\"absolute\",\"margin-top\":\"11px\",\"margin-left\":\"4px\"},attrs:{\"title\":\"Add Measurement\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openAddMeasurementModal(index, ingrCost)}}},[_c('i',{staticClass:\"fa fa-plus\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"18px\"}})])]),_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'ingredientCost.ingredientCostCost' + index\n ),\n }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(ingrCost.cost),expression:\"ingrCost.cost\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal'),expression:\"'required|decimal'\"}],staticClass:\"form-control\",attrs:{\"placeholder\":_vm.translations.get('ingr-cost-table-cost'),\"name\":'ingredientCostCost' + index,\"data-vv-as\":_vm.translations.get('ingr-cost-table-cost')},domProps:{\"value\":(ingrCost.cost)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(ingrCost, \"cost\", $event.target.value)}}}),(\n _vm.errors.has('ingredientCost.ingredientCostCost' + index)\n )?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\n \"ingredientCost.ingredientCostCost\" + index\n )))]):_vm._e()])]),_c('td',[_c('a',{attrs:{\"href\":\"#\",\"title\":\"Delete Ingredient Cost\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeIngrCostRow(index)}}},[_c('i',{staticClass:\"fa fa-trash text-danger\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"18px\",\"margin-top\":\"8px\"}})])]),(index === _vm.newIngredientCosts.length - 1)?_c('td',[_c('a',{attrs:{\"href\":\"#\",\"title\":\"Add New Row\"},on:{\"click\":function($event){$event.preventDefault();return _vm.addNewIngrCostRow.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-plus-circle\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"18px\",\"margin-top\":\"8px\"}})])]):_vm._e()])}),0)])]),_c('button',{staticClass:\"btn btn-primary pull-right\",staticStyle:{\"margin-top\":\"30px\"},on:{\"click\":function($event){$event.preventDefault();return _vm.saveIngredientCost.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-save-modal-btn\"))+\"\\n \")])]),_c('vModal',{attrs:{\"show\":_vm.editingModal.isOpen,\"modal-title\":_vm.translations.get('ingr-cost-edit-modal-title'),\"size\":'l'},on:{\"cancelModal\":function($event){_vm.editingModal.isOpen = false}}},[_c('form',{attrs:{\"data-vv-scope\":\"editIngredientCost\"}},[_c('table',{staticClass:\"table\"},[_c('thead',{staticStyle:{\"background-color\":\"#0288d1\",\"text-align\":\"left\"}},[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-name\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-vendor\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-quantity\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-measurement\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-cost\")))])])]),_c('tbody',{staticStyle:{\"text-align\":\"left\"}},[_c('tr',[_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'editIngredientCost.ingredientCostName'\n ),\n }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editingIngredientCost.name),expression:\"editingIngredientCost.name\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",attrs:{\"placeholder\":_vm.translations.get('ingr-cost-table-name'),\"name\":'ingredientCostName',\"data-vv-as\":_vm.translations.get('ingr-cost-table-name')},domProps:{\"value\":(_vm.editingIngredientCost.name)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.editingIngredientCost, \"name\", $event.target.value)}}}),(_vm.errors.has('editIngredientCost.ingredientCostName'))?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\"editIngredientCost.ingredientCostName\")))]):_vm._e()])]),_c('td',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editingIngredientCost.vendorId),expression:\"editingIngredientCost.vendorId\"}],staticClass:\"form-control\",staticStyle:{\"display\":\"inline-block\"},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.editingIngredientCost, \"vendorId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.vendors),function(vendor){return _c('option',{key:'vendor' + vendor.id,domProps:{\"value\":vendor.id}},[_vm._v(\"\\n \"+_vm._s(vendor.name)+\"\\n \")])}),0),_c('a',{staticStyle:{\"position\":\"absolute\",\"margin-top\":\"11px\",\"margin-left\":\"4px\"},attrs:{\"title\":\"Add Supplier\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openAddVendorModal.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-plus\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"18px\"}})])]),_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'editIngredientCost.ingredientCostQuantity'\n ),\n }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editingIngredientCost.quantity),expression:\"editingIngredientCost.quantity\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal'),expression:\"'required|decimal'\"}],staticClass:\"form-control\",attrs:{\"placeholder\":_vm.translations.get('ingr-cost-table-quantity'),\"name\":'ingredientCostQuantity',\"data-vv-as\":_vm.translations.get('ingr-cost-table-quantity')},domProps:{\"value\":(_vm.editingIngredientCost.quantity)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.editingIngredientCost, \"quantity\", $event.target.value)}}}),(\n _vm.errors.has('editIngredientCost.ingredientCostQuantity')\n )?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\n \"editIngredientCost.ingredientCostQuantity\"\n )))]):_vm._e()])]),_c('td',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editingIngredientCost.chosenMeasurementName),expression:\"editingIngredientCost.chosenMeasurementName\"}],staticClass:\"form-control\",staticStyle:{\"width\":\"50%\",\"display\":\"inline-block\"},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.editingIngredientCost, \"chosenMeasurementName\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.editingIngredientCost.ingredientCostMeasurements),function(measurement){return _c('option',{key:'measurement' + measurement.id,domProps:{\"value\":measurement.name}},[_vm._v(\"\\n \"+_vm._s(measurement.name)+\"\\n \")])}),0),_c('a',{staticStyle:{\"position\":\"absolute\",\"margin-top\":\"11px\",\"margin-left\":\"4px\"},attrs:{\"title\":\"Add Measurement\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openEditMeasurementModal()}}},[_c('i',{staticClass:\"fa fa-plus\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"18px\"}})])]),_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'editIngredientCost.ingredientCostCost'\n ),\n }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.editingIngredientCost.cost),expression:\"editingIngredientCost.cost\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal'),expression:\"'required|decimal'\"}],staticClass:\"form-control\",attrs:{\"placeholder\":_vm.translations.get('ingr-cost-table-cost'),\"name\":'ingredientCostCost',\"data-vv-as\":_vm.translations.get('ingr-cost-table-cost')},domProps:{\"value\":(_vm.editingIngredientCost.cost)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.editingIngredientCost, \"cost\", $event.target.value)}}}),(_vm.errors.has('editIngredientCost.ingredientCostCost'))?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\"editIngredientCost.ingredientCostCost\")))]):_vm._e()])])])])])]),_c('button',{staticClass:\"btn btn-primary pull-right\",staticStyle:{\"margin-top\":\"30px\"},on:{\"click\":function($event){$event.preventDefault();return _vm.submitEditIngredientCost.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-edit-modal-btn\"))+\"\\n \")])]),_c('vModal',{staticStyle:{\"z-index\":\"9999\"},attrs:{\"show\":_vm.addingVendorModal.isOpen,\"modal-title\":_vm.translations.get('ingr-cost-add-vendor-modal-title'),\"size\":'s'},on:{\"cancelModal\":function($event){_vm.addingVendorModal.isOpen = false}}},[_c('form',{attrs:{\"data-vv-scope\":\"vendor\"}},[_c('div',{staticClass:\"form-group form-group-default required\",class:{ 'has-error': _vm.errors.has('vendor.vendorName') }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.addingVendorName),expression:\"addingVendorName\"},{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],staticClass:\"form-control\",attrs:{\"name\":\"vendorName\",\"placeholder\":_vm.translations.get('ingr-cost-table-vendor'),\"data-vv-as\":_vm.translations.get('ingr-cost-table-vendor')},domProps:{\"value\":(_vm.addingVendorName)},on:{\"input\":function($event){if($event.target.composing)return;_vm.addingVendorName=$event.target.value}}}),(_vm.errors.has('vendor.vendorName'))?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\"vendor.vendorName\")))]):_vm._e()])]),_c('button',{staticClass:\"btn btn-primary pull-right\",staticStyle:{\"margin-top\":\"30px\"},on:{\"click\":function($event){$event.preventDefault();return _vm.saveIngredientCostVendor.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-save-vendor-modal-btn\"))+\"\\n \")])]),_c('vModal',{attrs:{\"show\":_vm.deletingModal.isOpen,\"modal-title\":_vm.translations.get('ingr-cost-delete-modal-title'),\"size\":'s'},on:{\"cancelModal\":function($event){_vm.deletingModal.isOpen = false}}},[(_vm.deletingModal.isDeletingIngrCostUsed)?_c('h5',[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-delete-modal-warning\"))+\"\\n \")]):_vm._e(),_c('button',{staticClass:\"btn btn-primary pull-right\",staticStyle:{\"margin-top\":\"30px\"},on:{\"click\":function($event){$event.preventDefault();return _vm.submitDelete.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-delete-modal-yes\"))+\"\\n \")]),_c('button',{staticClass:\"btn btn-secondary pull-right\",staticStyle:{\"margin-top\":\"30px\",\"margin-right\":\"8px\"},on:{\"click\":function($event){$event.preventDefault();_vm.deletingModal.isOpen = false}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-delete-modal-cancel\"))+\"\\n \")])]),_c('vModal',{attrs:{\"show\":_vm.importingModal.isOpen,\"modal-title\":_vm.translations.get('ingr-cost-import-modal-title'),\"size\":'s'},on:{\"cancelModal\":_vm.importingModalClose}},[_c('form',[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"vendor\"}},[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-select-vendor\")))]),_c('a',{staticStyle:{\"position\":\"absolute\",\"margin-top\":\"2px\",\"margin-left\":\"4px\"},attrs:{\"title\":\"Add Supplier\"},on:{\"click\":function($event){$event.preventDefault();return _vm.openAddVendorModal.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-plus add-supplier-icon\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"14px\",\"margin-left\":\"4px\",\"margin-bottom\":\"8px\"}})]),_c('br'),_c('div',{staticClass:\"vendor-wrapper\"},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.importingModal.vendorId),expression:\"importingModal.vendorId\"}],staticClass:\"form-control\",staticStyle:{\"width\":\"50%\",\"display\":\"inline-block\"},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.importingModal, \"vendorId\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.vendors),function(vendor){return _c('option',{key:'vendor' + vendor.id,domProps:{\"value\":vendor.id}},[_vm._v(\"\\n \"+_vm._s(vendor.name)+\"\\n \")])}),0),(_vm.vendorEmpty)?_c('span',{staticClass:\"vendor-error\"},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-vendor-select\"))+\"\\n \")]):_vm._e()])]),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"ingredientFile\"}},[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-import-file\")))]),_c('br'),_c('input',{ref:\"file\",staticClass:\"form-control-file\",attrs:{\"type\":\"file\"},on:{\"change\":_vm.storeFile}})])]),_c('a',{staticClass:\"btn btn-secondary pull-right\",staticStyle:{\"margin-top\":\"30px\",\"margin-left\":\"8px\"},attrs:{\"href\":_vm.downloadImport}},[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-download-btn\")))]),_c('button',{staticClass:\"btn btn-primary pull-right\",staticStyle:{\"margin-top\":\"30px\"},attrs:{\"disabled\":_vm.importingModal.file === null},on:{\"click\":function($event){$event.preventDefault();return _vm.importSubmit.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-import-modal-submit\"))+\"\\n \")])]),_c('vModal',{attrs:{\"show\":_vm.addingMeasurementModal.isOpen,\"modal-title\":_vm.translations.get('ingr-cost-measurement-modal-title'),\"size\":'m'},on:{\"cancelModal\":function($event){_vm.addingMeasurementModal.isOpen = false}}},[_c('form',{staticStyle:{\"max-height\":\"400px\",\"overflow\":\"auto\"},attrs:{\"data-vv-scope\":\"measurement\"}},[_c('table',{staticClass:\"table\"},[_c('thead',{staticStyle:{\"background-color\":\"#0288d1\",\"text-align\":\"left\"}},[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-table-measurement\")))]),_c('th',[_vm._v(_vm._s(_vm.translations.get(\"ingr-cost-weight-grams\")))]),_c('th'),_c('th')])]),_c('tbody',{staticStyle:{\"text-align\":\"center\"}},_vm._l((_vm.addingMeasurementModal.newMeasurements),function(measurement,index){return _c('tr',{key:'new-measurement-' + index},[_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'measurement.measurementName' + index\n ),\n }},[_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\",attrs:{\"placeholder\":_vm.translations.get('ingr-cost-table-measurement'),\"name\":'measurementName' + index,\"data-vv-as\":_vm.translations.get('ingr-cost-table-measurement')},domProps:{\"value\":(measurement.name)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(measurement, \"name\", $event.target.value)}}}),(_vm.errors.has('measurement.measurementName' + index))?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\"measurement.measurementName\" + index)))]):_vm._e()])]),_c('td',[_c('div',{staticClass:\"form-group form-group-default required\",class:{\n 'has-error': _vm.errors.has(\n 'measurement.measurementWeight' + index\n ),\n }},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(measurement.weight),expression:\"measurement.weight\"},{name:\"validate\",rawName:\"v-validate\",value:('required|decimal'),expression:\"'required|decimal'\"}],staticClass:\"form-control\",attrs:{\"name\":'measurementWeight' + index,\"data-vv-as\":_vm.translations.get('ingr-cost-weight-grams')},domProps:{\"value\":(measurement.weight)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(measurement, \"weight\", $event.target.value)}}}),(_vm.errors.has('measurement.measurementWeight' + index))?_c('span',{staticClass:\"error col-12\"},[_vm._v(_vm._s(_vm.errors.first(\"measurement.measurementWeight\" + index)))]):_vm._e()])]),_c('td',[_c('a',{attrs:{\"href\":\"#\",\"title\":\"Delete Measurement\"},on:{\"click\":function($event){$event.preventDefault();return _vm.removeMeasurementRow(index)}}},[_c('i',{staticClass:\"fa fa-trash text-danger\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"20px\",\"margin-top\":\"6px\"}})])]),(\n index === _vm.addingMeasurementModal.newMeasurements.length - 1\n )?_c('td',[_c('a',{attrs:{\"href\":\"#\",\"title\":\"Add New Row\"},on:{\"click\":function($event){$event.preventDefault();return _vm.addNewMeasurementRow.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-plus-circle\",staticStyle:{\"color\":\"#0288d1\",\"font-size\":\"20px\",\"margin-top\":\"6px\"}})])]):_vm._e()])}),0)])]),_c('button',{staticClass:\"btn btn-primary pull-right\",staticStyle:{\"margin-top\":\"30px\"},on:{\"click\":function($event){$event.preventDefault();return _vm.submitNewMeasurements.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.translations.get(\"ingr-cost-add-measurement-save\"))+\"\\n \")])])],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"col-12 col-md-4\"},[_c('form',{attrs:{\"role\":\"form\"}},[_c('div',{staticClass:\"form-group\"},[_c('select',{staticClass:\"full-width select2-hidden-accessible\",attrs:{\"id\":\"select2IngredientCost\",\"data-placeholder\":\"Search\",\"data-init-plugin\":\"select2\",\"aria-hidden\":\"true\"}})])])])\n}]\n\nexport { render, staticRenderFns }","\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport vBreadcrumbs from \"@/components/vBreadcrumbs.vue\";\r\nimport vTable from \"@/components/vTable.vue\";\r\nimport vModal from \"@/components/vModal.vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { TRANSLATIONS_FETCH } from \"@/store/ActionTypes\";\r\nimport ListRequest, { Ordering, Filter, OrderType } from \"@/models/ListRequest\";\r\nimport { getErrorMessage } from \"@/utils/Helpers\";\r\nimport { IngredientCost } from \"@/models/IngredientCost/IngredientCost\";\r\nimport { MeasurementCategory } from \"@/models/Measurement/MeasurementCategory\";\r\nimport IngredientCostRepository from \"@/utils/API/IngredientCostRepository\";\r\nimport { dateTimeDisplayFormat } from \"@/utils/Defaults\";\r\nimport MeasurementRepository from \"../../utils/API/MeasurementRepository\";\r\n\r\nconst vSelectFx = () => import(\"@/components/vSelectFx.vue\");\r\n\r\n@Component({\r\n components: {\r\n vBreadcrumbs,\r\n vModal,\r\n vSelectFx,\r\n vTable,\r\n },\r\n computed: {\r\n ...mapState({\r\n localizationState: (state: any) => state.LocalizationModule,\r\n }),\r\n },\r\n})\r\nclass IngredientCostComponent extends Vue {\r\n localizationState: any;\r\n\r\n ingredientCosts: IngredientCost[] = [];\r\n newIngredientCosts: any[] = [];\r\n massMeasurements: any[] = [];\r\n vendors: any[] = [];\r\n\r\n totalCount: number = 0;\r\n pageSize: number = 10;\r\n count: number = 0;\r\n page: number = 1;\r\n filter: Filter = {\r\n name: \"\",\r\n value: \"\",\r\n };\r\n ordering: Ordering = {\r\n field: \"\",\r\n orderType: OrderType.Asc,\r\n };\r\n\r\n editingIngredientCost: any = {};\r\n addingVendorName: string = \"\";\r\n loading: boolean = false;\r\n searchString = \"\";\r\n\r\n addingModal = {\r\n isOpen: false,\r\n };\r\n\r\n addingVendorModal = {\r\n isOpen: false,\r\n };\r\n\r\n editingModal = {\r\n isOpen: false,\r\n };\r\n\r\n deletingModal = {\r\n isOpen: false,\r\n isDeletingIngrCostUsed: false,\r\n id: 0,\r\n };\r\n\r\n importingModal = {\r\n isOpen: false,\r\n vendorId: this.vendors.length > 0 ? this.vendors[0].id : null,\r\n file: \"\",\r\n };\r\n\r\n addingMeasurementModal = {\r\n ingredientCostId: 0,\r\n isOpen: false,\r\n newMeasurements: new Array(),\r\n ingrCostIndex: -1,\r\n };\r\n\r\n vendorEmpty: boolean = false;\r\n\r\n // Store import ingredient cost file\r\n storeFile() {\r\n // @ts-ignore\r\n this.importingModal.file = this.$refs.file.files[0];\r\n }\r\n // Close import ingredient cost modal\r\n importingModalClose() {\r\n this.importingModal.file = null;\r\n this.importingModal.isOpen = false;\r\n this.vendorEmpty = false;\r\n }\r\n // Remove ingredient cost row\r\n removeIngrCostRow(index: any) {\r\n this.newIngredientCosts.splice(index, 1);\r\n }\r\n\r\n // Remove measurement row\r\n removeMeasurementRow(index: any) {\r\n this.addingMeasurementModal.newMeasurements.splice(index, 1);\r\n setTimeout(() => {\r\n this.$validator.validateAll(\"measurement\");\r\n }, 300);\r\n }\r\n\r\n // Open Import Ingredient cost\r\n openImportIngredientCostModal() {\r\n this.importingModal.isOpen = true;\r\n this.importingModal.vendorId =\r\n this.vendors.length > 0 ? this.vendors[0].id : null;\r\n }\r\n\r\n // Open Add measurement modal\r\n openAddMeasurementModal(index: number, ingrCost: any) {\r\n this.addingMeasurementModal.newMeasurements.length = 0;\r\n this.addingMeasurementModal.ingrCostIndex = index;\r\n this.addingMeasurementModal.isOpen = true;\r\n // @ts-ignore\r\n this.$snotify.async(\r\n this.translations.get(\"ingr-cost-loading\"),\r\n () =>\r\n new Promise((success, reject) => {\r\n IngredientCostRepository.loadMeasurementsForIngredientCost({\r\n id: null,\r\n name: ingrCost.name,\r\n measurements: ingrCost.ingredientCostMeasurements,\r\n })\r\n .then((response) => {\r\n if (response.data.result && response.data.result.length > 0) {\r\n this.addingMeasurementModal.newMeasurements.shift();\r\n }\r\n // @ts-ignore\r\n response.data.result.map((x) => {\r\n this.addingMeasurementModal.newMeasurements.push({\r\n // @ts-ignore\r\n name: x.name,\r\n // @ts-ignore\r\n weight: (Math.round(x.weightInGrams * 100) / 100).toFixed(2),\r\n });\r\n });\r\n success({\r\n body: this.translations.get(\"ms_save_success\"),\r\n });\r\n })\r\n .catch((error) => {\r\n reject({\r\n body: getErrorMessage(error, this.translations),\r\n });\r\n });\r\n }),\r\n {\r\n timeout: 1000,\r\n closeOnClick: true,\r\n }\r\n );\r\n // @ts-ignore\r\n this.addingMeasurementModal.newMeasurements.push(this.getEmptyMeasurment());\r\n }\r\n\r\n // Open Edit measuremenet modal\r\n openEditMeasurementModal() {\r\n this.addingMeasurementModal.newMeasurements.length = 0;\r\n this.addingMeasurementModal.ingrCostIndex = -1;\r\n this.addingMeasurementModal.isOpen = true;\r\n // @ts-ignore\r\n this.$snotify.async(\r\n this.translations.get(\"ingr-cost-loading\"),\r\n () =>\r\n new Promise((success, reject) => {\r\n IngredientCostRepository.loadMeasurementsForIngredientCost({\r\n id: this.editingIngredientCost.id,\r\n name: this.editingIngredientCost.name,\r\n // @ts-ignore\r\n measurements: this.editingIngredientCost.ingredientCostMeasurements,\r\n })\r\n .then((response) => {\r\n if (response.data.result && response.data.result.length > 0) {\r\n this.addingMeasurementModal.newMeasurements.shift();\r\n }\r\n\r\n // @ts-ignore\r\n response.data.result.map((x) => {\r\n this.addingMeasurementModal.newMeasurements.push({\r\n // @ts-ignore\r\n name: x.name,\r\n // @ts-ignore\r\n weight: (Math.round(x.weightInGrams * 100) / 100).toFixed(2),\r\n });\r\n });\r\n success({\r\n body: this.translations.get(\"ms_save_success\"),\r\n });\r\n })\r\n .catch((error) => {\r\n reject({\r\n body: getErrorMessage(error, this.translations),\r\n });\r\n });\r\n }),\r\n {\r\n timeout: 1000,\r\n closeOnClick: true,\r\n }\r\n );\r\n // @ts-ignore\r\n this.addingMeasurementModal.newMeasurements.push(this.getEmptyMeasurment());\r\n }\r\n\r\n // Edit Ingredient cost\r\n editIngredientCost(id: number) {\r\n let ingrCost = this.ingredientCosts.find((x) => id === x.id);\r\n if (ingrCost != undefined) {\r\n this.editingIngredientCost = {\r\n id: ingrCost.id,\r\n name: ingrCost.name,\r\n vendorId: ingrCost.vendorId,\r\n quantity: ingrCost.quantity,\r\n chosenMeasurementName:\r\n ingrCost.ingredientCostMeasurement.measurement.name,\r\n ingredientCostMeasurements: ingrCost.ingredientCostMeasurements.map(\r\n (x) => {\r\n return {\r\n id: x.id,\r\n name: x.measurement.name,\r\n ingredientCostId: x.ingredientCostId,\r\n measurementId: x.measurementId,\r\n weightInGrams: x.weightInGrams,\r\n };\r\n }\r\n ),\r\n cost: ingrCost.cost,\r\n };\r\n }\r\n\r\n this.editingModal.isOpen = true;\r\n }\r\n\r\n // Save the editing ingredient cost\r\n submitEditIngredientCost() {\r\n this.$validator.validateAll(\"editIngredientCost\").then((result) => {\r\n if (result) {\r\n // @ts-ignore\r\n this.$snotify.async(\r\n this.translations.get(\"ingr-cost-loading\"),\r\n () =>\r\n new Promise((success, reject) => {\r\n IngredientCostRepository.updateIngredientCost(\r\n this.editingIngredientCost\r\n )\r\n .then(() => {\r\n this.editingModal.isOpen = false;\r\n this.requestIngredientCost();\r\n success({\r\n body: this.translations.get(\"ingr-cost-edit-success\"),\r\n });\r\n })\r\n .catch((error) => {\r\n reject({\r\n body: getErrorMessage(error, this.translations),\r\n });\r\n });\r\n }),\r\n {\r\n timeout: 3500,\r\n closeOnClick: true,\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n // Check if ingredient cost name already exists in ingredinet cost list\r\n checkDuplicateIngrCostNames() {\r\n for (let i = 0; i < this.newIngredientCosts.length; i++) {\r\n for (let j = i + 1; j < this.newIngredientCosts.length; j++) {\r\n if (\r\n this.newIngredientCosts[i].name == this.newIngredientCosts[j].name &&\r\n this.newIngredientCosts[i].vendorId != null &&\r\n this.newIngredientCosts[j].vendorId != null &&\r\n this.newIngredientCosts[i].vendorId ==\r\n this.newIngredientCosts[j].vendorId\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n // Save ingredient cost button modal\r\n saveIngredientCost() {\r\n if (this.checkDuplicateIngrCostNames()) {\r\n this.$snotify.error(this.translations.get(\"ingr-cost-error-name-exist\"));\r\n return;\r\n }\r\n this.$validator.validateAll(\"ingredientCost\").then((result) => {\r\n if (result) {\r\n // @ts-ignore\r\n this.$snotify.async(\r\n this.translations.get(\"ingr-cost-loading\"),\r\n () =>\r\n new Promise((success, reject) => {\r\n IngredientCostRepository.createIngredientCosts(\r\n this.newIngredientCosts\r\n )\r\n .then(() => {\r\n this.addingModal.isOpen = false;\r\n this.requestIngredientCost();\r\n success({\r\n body: this.translations.get(\"ms_save_success\"),\r\n });\r\n })\r\n .catch((error) => {\r\n this.loading = false;\r\n reject({\r\n body: getErrorMessage(error, this.translations),\r\n });\r\n });\r\n }),\r\n { closeOnClick: true, timeout: 3500 }\r\n );\r\n }\r\n });\r\n }\r\n\r\n // Add new row in new ingredien costs modal\r\n addNewIngrCostRow() {\r\n this.newIngredientCosts.push(this.getEmptyIngredientCost());\r\n }\r\n\r\n // Empty measurement json\r\n getEmptyMeasurment() {\r\n return {\r\n name: \"\",\r\n weight: 0,\r\n };\r\n }\r\n\r\n // Add new row in new ingredien costs modal\r\n addNewMeasurementRow() {\r\n // @ts-ignore\r\n this.addingMeasurementModal.newMeasurements.push(this.getEmptyMeasurment());\r\n }\r\n\r\n submitNewMeasurements() {\r\n if (this.addingMeasurementModal.ingrCostIndex > -1) {\r\n this.addNewMeasurementsForNewIngredientCost();\r\n }\r\n else {\r\n this.addNewMeasurementsForExistingIngredientCost();\r\n }\r\n }\r\n\r\n // Add new measurement for new ingredient cost\r\n addNewMeasurementsForNewIngredientCost() {\r\n this.$validator.validateAll(\"measurement\").then((result) => {\r\n if (result) {\r\n // @ts-ignore\r\n let ingrCost =\r\n this.newIngredientCosts[this.addingMeasurementModal.ingrCostIndex];\r\n // @ts-ignore\r\n let measurementNames = ingrCost.ingredientCostMeasurements.map(\r\n // @ts-ignore\r\n (x) => x.name\r\n );\r\n this.addingMeasurementModal.newMeasurements.map((x) => {\r\n // @ts-ignore\r\n if (!measurementNames.includes(x.name)) {\r\n ingrCost.ingredientCostMeasurements.push({\r\n // @ts-ignore\r\n name: x.name,\r\n // @ts-ignore\r\n weightInGrams: x.weight,\r\n });\r\n }\r\n return x;\r\n });\r\n this.addingMeasurementModal.isOpen = false;\r\n }\r\n });\r\n }\r\n\r\n // Add new measurements for new existing ingredient cost\r\n addNewMeasurementsForExistingIngredientCost() {\r\n this.$validator.validateAll(\"measurement\").then((result) => {\r\n if (result) {\r\n // @ts-ignore\r\n let measurementNames =\r\n this.editingIngredientCost.ingredientCostMeasurements.map(\r\n // @ts-ignore\r\n (x) => x.name\r\n );\r\n this.addingMeasurementModal.newMeasurements.map((x) => {\r\n // @ts-ignore\r\n if (!measurementNames.includes(x.name)) {\r\n this.editingIngredientCost.ingredientCostMeasurements.push({\r\n // @ts-ignore\r\n name: x.name,\r\n // @ts-ignore\r\n weightInGrams: x.weight,\r\n });\r\n }\r\n return x;\r\n });\r\n this.addingMeasurementModal.isOpen = false;\r\n }\r\n });\r\n }\r\n\r\n // Add new vendor\r\n saveIngredientCostVendor() {\r\n this.$validator.validateAll(\"vendor\").then((result) => {\r\n if (result) {\r\n // @ts-ignore\r\n this.$snotify.async(\r\n this.translations.get(\"ingr-cost-loading\"),\r\n () =>\r\n new Promise((success, reject) => {\r\n IngredientCostRepository.createIngredientCostVendor(\r\n this.addingVendorName\r\n )\r\n .then(() => {\r\n this.addingVendorModal.isOpen = false;\r\n this.loadIngredientCostVendors();\r\n this.addingVendorName = \"\";\r\n success({\r\n body: this.translations.get(\"ingr-cost-vendor-success\"),\r\n });\r\n })\r\n .catch((error) => {\r\n reject({\r\n body: getErrorMessage(error, this.translations),\r\n });\r\n });\r\n }),\r\n {\r\n timeout: 3500,\r\n closeOnClick: true,\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n // Delete ingredient cost\r\n deleteIngredientCost(id: number) {\r\n let ingrCost = this.ingredientCosts.find((x) => x.id === id);\r\n if (ingrCost != undefined) {\r\n this.deletingModal.isOpen = true;\r\n this.deletingModal.isDeletingIngrCostUsed = ingrCost.isUsed;\r\n this.deletingModal.id = ingrCost.id;\r\n }\r\n }\r\n\r\n // Submit delete ingredient cost\r\n submitDelete() {\r\n // @ts-ignore\r\n this.$snotify.async(\r\n this.translations.get(\"ingr-cost-loading\"),\r\n () =>\r\n new Promise((success, reject) => {\r\n IngredientCostRepository.deleteIngredientCost(this.deletingModal.id)\r\n .then(() => {\r\n this.requestIngredientCost();\r\n this.deletingModal.isOpen = false;\r\n this.page = 1;\r\n success({\r\n body: this.translations.get(\"ingr-cost-delete-success\"),\r\n });\r\n })\r\n .catch((error) => {\r\n reject({\r\n body: getErrorMessage(error, this.translations),\r\n });\r\n });\r\n }),\r\n {\r\n timeout: 3500,\r\n closeOnClick: true,\r\n }\r\n );\r\n }\r\n\r\n // Import ingredient cost - submit\r\n importSubmit() {\r\n let formData = new FormData();\r\n formData.append(\"file\", <any>this.importingModal.file);\r\n\r\n if (this.importingModal.vendorId == null) {\r\n this.vendorEmpty = true;\r\n }\r\n else {\r\n // @ts-ignore\r\n this.$snotify.async(\r\n this.translations.get(\"ingr-cost-loading\"),\r\n () =>\r\n new Promise((success, reject) => {\r\n IngredientCostRepository.uploadIngredientCosts(formData)\r\n .then((response) => {\r\n this.newIngredientCosts.length = 0;\r\n // @ts-ignore\r\n response.data.result.map((x) => {\r\n let ingr = this.getEmptyIngredientCost();\r\n ingr.name = x.name;\r\n ingr.cost = x.cost;\r\n ingr.quantity = x.quantity;\r\n ingr.vendorId = this.importingModal.vendorId;\r\n ingr.chosenMeasurementName = x.measurement;\r\n\r\n this.newIngredientCosts.push(ingr);\r\n return x;\r\n });\r\n this.importingModal.isOpen = false;\r\n this.addingModal.isOpen = true;\r\n this.importingModal.file = null;\r\n this.vendorEmpty = false;\r\n success({\r\n body: this.translations.get(\"ms_save_success\"),\r\n });\r\n })\r\n .catch((error) => {\r\n reject({\r\n body: getErrorMessage(error, this.translations),\r\n });\r\n });\r\n }),\r\n {\r\n timeout: 3500,\r\n closeOnClick: true,\r\n }\r\n );\r\n }\r\n }\r\n\r\n resetNewIngredientCosts() {\r\n this.newIngredientCosts = [this.getEmptyIngredientCost()];\r\n }\r\n\r\n changePage(args: any) {\r\n let page = args[0];\r\n let filters = args[2];\r\n let orderings = args[3];\r\n\r\n this.page = page;\r\n this.ordering =\r\n orderings.length > 0\r\n ? orderings[0]\r\n : { field: \"\", orderType: OrderType.Asc };\r\n this.filter = filters.length > 0 ? filters[0] : { name: \"\", value: \"\" };\r\n\r\n this.requestIngredientCost();\r\n }\r\n\r\n order(filters: Filter[], orders: Ordering) {\r\n this.ordering = orders;\r\n this.filter = filters.length > 0 ? filters[0] : { name: \"\", value: \"\" };\r\n\r\n this.requestIngredientCost();\r\n }\r\n\r\n // Request for ListIngredientCost\r\n requestIngredientCost() {\r\n let orderings = [this.ordering];\r\n let filters = [this.filter];\r\n\r\n let reqData = new ListRequest({\r\n page: this.page,\r\n pageSize: this.pageSize,\r\n filters: filters,\r\n orders: orderings,\r\n });\r\n\r\n this.loading = true;\r\n\r\n IngredientCostRepository.listIngredientCost(reqData)\r\n .then((response) => {\r\n this.count = response.data.count;\r\n this.totalCount = response.data.totalCount;\r\n this.ingredientCosts = response.data.result;\r\n this.loading = false;\r\n })\r\n .catch((error) => {\r\n this.loading = false;\r\n this.$snotify.error(getErrorMessage(error, this.translations));\r\n });\r\n }\r\n\r\n // Open Add ingredient cost modal\r\n openAddIngredientCostModal() {\r\n this.resetNewIngredientCosts();\r\n this.addingModal.isOpen = true;\r\n }\r\n\r\n openAddVendorModal() {\r\n this.addingVendorModal.isOpen = true;\r\n }\r\n\r\n // Empty ingredient cost json\r\n getEmptyIngredientCost() {\r\n return {\r\n name: \"\",\r\n vendorId: this.vendors.length > 0 ? this.vendors[0].id : null,\r\n quantity: 0,\r\n chosenMeasurementName:\r\n this.massMeasurements.length > 0 ? this.massMeasurements[0].name : null,\r\n ingredientCostMeasurements: [...this.massMeasurements],\r\n cost: 0,\r\n };\r\n }\r\n\r\n // Load list of ingredient cost Vendors\r\n loadIngredientCostVendors() {\r\n IngredientCostRepository.listIngredientCostVendors()\r\n .then((response) => {\r\n let vendors = response.data.result.map((x: any) => {\r\n return {\r\n id: x.id,\r\n name: x.name,\r\n };\r\n });\r\n this.vendors = vendors;\r\n })\r\n .catch((error) => {\r\n this.$snotify.error(getErrorMessage(error, this.translations));\r\n });\r\n }\r\n\r\n get ingredientCostsForGrid() {\r\n return this.ingredientCosts.map((x) => {\r\n return {\r\n meta: {\r\n id: x.id,\r\n link: x.name,\r\n },\r\n e1: x.vendor.name,\r\n e2: x.quantity,\r\n e3: x.ingredientCostMeasurement.measurement.name,\r\n e4: x.cost.toFixed(2),\r\n e5: this.$moment(x.createdOn).format(dateTimeDisplayFormat),\r\n e6: this.$moment(x.updatedOn).format(dateTimeDisplayFormat),\r\n };\r\n });\r\n }\r\n\r\n // Download Import Button\r\n get downloadImport() {\r\n return `${process.env.VUE_APP_BASE_DOMAIN}/api/Processes/Ingredientcosts/DownloadIngredientCostImportingTemplate`;\r\n }\r\n\r\n // Export Button\r\n get exportFile() {\r\n return `${process.env.VUE_APP_BASE_DOMAIN}/api/Processes/Ingredientcosts/ExportIngredientCosts`;\r\n }\r\n\r\n get tableHeaders() {\r\n return [\r\n {\r\n name: this.translations.get(\"ingr-cost-table-name\"),\r\n key: \"Name\",\r\n searchable: true,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n {\r\n name: this.translations.get(\"ingr-cost-table-vendor\"),\r\n key: \"Vendor\",\r\n searchable: false,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n {\r\n name: this.translations.get(\"ingr-cost-table-quantity\"),\r\n key: \"Quantity\",\r\n searchable: false,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n {\r\n name: this.translations.get(\"ingr-cost-table-measurement\"),\r\n key: \"Measurement\",\r\n searchable: false,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n {\r\n name: this.translations.get(\"ingr-cost-table-cost\"),\r\n key: \"Cost\",\r\n searchable: false,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n {\r\n name: this.translations.get(\"ingr-cost-table-date\"),\r\n key: \"CreatedOn\",\r\n searchable: false,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n {\r\n name: this.translations.get(\"ingr-cost-table-updated\"),\r\n key: \"UpdatedOn\",\r\n searchable: false,\r\n searchString: \"\",\r\n sortable: true,\r\n },\r\n ];\r\n }\r\n\r\n get hasIngredientCosts() {\r\n return this.ingredientCosts.length > 0;\r\n }\r\n\r\n get translations() {\r\n return this.localizationState.translations;\r\n }\r\n\r\n created() {\r\n this.$store\r\n .dispatch(TRANSLATIONS_FETCH, {\r\n category: \"pages\",\r\n collections: [\"common\", \"ingredients\", \"ingredient cost\"],\r\n })\r\n .then(() => {\r\n document.title =\r\n this.translations.get(\"ingr-cost-title\") +\r\n \" \" +\r\n this.translations.get(\"meta_title_postfix\");\r\n })\r\n .catch((error) => {\r\n this.$snotify.error(getErrorMessage(error, this.translations));\r\n });\r\n\r\n this.requestIngredientCost();\r\n\r\n this.loadIngredientCostVendors();\r\n\r\n MeasurementRepository.listMeasurementsForCategory(MeasurementCategory.Mass)\r\n .then((response) => {\r\n let massMeasurements = response.data.result.map((x: any) => {\r\n return {\r\n id: x.id,\r\n name: x.name,\r\n weightInGrams: x.conversionCoeficient,\r\n };\r\n });\r\n\r\n MeasurementRepository.listMeasurementsForCategory(\r\n MeasurementCategory.Volume\r\n )\r\n .then((volResponse) => {\r\n let volumeMeasurements = volResponse.data.result\r\n .map((x: any) => {\r\n return {\r\n id: x.id,\r\n name: x.name,\r\n weightInGrams: x.conversionCoeficient,\r\n };\r\n })\r\n .filter((x: any) => {\r\n return [\"ml\", \"l\", \"fl. oz\"].includes(x.name.toLowerCase());\r\n });\r\n\r\n this.massMeasurements = massMeasurements.concat(volumeMeasurements);\r\n })\r\n .catch((error) => {\r\n this.$snotify.error(getErrorMessage(error, this.translations));\r\n });\r\n })\r\n .catch((error) => {\r\n this.$snotify.error(getErrorMessage(error, this.translations));\r\n });\r\n }\r\n\r\n mounted() {\r\n (<any>window).$.Pages.init();\r\n\r\n (<any>$(\"#select2IngredientCost\"))\r\n .select2({\r\n allowClear: false,\r\n width: \"100%\",\r\n ajax: {\r\n delay: 500,\r\n transport: (params: any, success: any) => {\r\n IngredientCostRepository.listIngredientCost(\r\n new ListRequest({\r\n page: 1,\r\n pageSize: this.pageSize,\r\n filters: [\r\n {\r\n name: \"Name\",\r\n value: params.data.term ? params.data.term : \"\",\r\n },\r\n ],\r\n orders: [\r\n {\r\n field: \"Name\",\r\n orderType: OrderType.Asc,\r\n },\r\n ],\r\n })\r\n )\r\n .then((response) => {\r\n success(response);\r\n })\r\n .catch((error) => {\r\n this.$snotify.error(getErrorMessage(error, this.translations));\r\n });\r\n },\r\n processResults: (response: any) => {\r\n let data: any[] = [];\r\n data.push({ id: 0, text: \"All Ingredient costs\" });\r\n response.data.result.map((r: any) => {\r\n data.push({ id: r.id, text: r.name });\r\n });\r\n\r\n return { results: data };\r\n },\r\n },\r\n })\r\n .on(\"select2:select\", (eventData: any) => {\r\n this.page = 1;\r\n this.ordering = { field: \"\", orderType: OrderType.Asc };\r\n\r\n if (eventData.target.value == 0) {\r\n this.filter = {\r\n name: \"\",\r\n value: \"\",\r\n };\r\n }\r\n else {\r\n this.filter = { name: \"Id\", value: eventData.target.value };\r\n }\r\n\r\n this.requestIngredientCost();\r\n });\r\n }\r\n}\r\nexport default IngredientCostComponent;\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!./IngredientCost.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!./IngredientCost.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./IngredientCost.vue?vue&type=template&id=3843dd56&scoped=true\"\nimport script from \"./IngredientCost.vue?vue&type=script&lang=ts\"\nexport * from \"./IngredientCost.vue?vue&type=script&lang=ts\"\nimport style0 from \"./IngredientCost.vue?vue&type=style&index=0&id=3843dd56&prod&scoped=true&lang=css\"\nimport style1 from \"./IngredientCost.vue?vue&type=style&index=1&id=3843dd56&prod&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 \"3843dd56\",\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!./IngredientCost.vue?vue&type=style&index=1&id=3843dd56&prod&lang=css\"","export enum MeasurementCategory {\r\n Mass = 0,\r\n Distance = 1,\r\n Volume = 2,\r\n Other = 10\r\n}","export enum RecipeServingType {\r\n Servings = 0,\r\n Weight = 1,\r\n}","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('transition',{attrs:{\"name\":\"modal\",\"role\":\"dialog\"}},[(_vm.show)?_c('div',{staticClass:\"modal-mask\"},[_c('div',{staticClass:\"modal-wrapper\",attrs:{\"id\":_vm.modalId}},[_c('div',{staticClass:\"modal-dialog\",class:{'modal-small':_vm.size === 's', 'modal-medium':_vm.size==='m' || typeof _vm.size === 'undefined', 'modal-large':_vm.size === 'l', 'modal-x-large':_vm.size === 'xl'}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('h3',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.modalTitle))]),_c('button',{staticClass:\"close d-print-none\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancelModal}},[_c('span',{attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"×\")])])]),_c('div',{staticClass:\"modal-body\"},[_vm._t(\"default\")],2)])])])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop, Watch } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class vModal extends Vue {\r\n @Prop() show!: boolean;\r\n @Prop() modalTitle!: string;\r\n @Prop() size?: string;\r\n @Prop() modalId?: string;\r\n\r\n @Watch(\"show\")\r\n showModal() {\r\n let htmlBodyElement = document.getElementsByTagName(\"body\")[0];\r\n if (this.show) {\r\n htmlBodyElement.classList.add(\"modalOpen\");\r\n this.$emit(\"openModal\");\r\n }\r\n\r\n else {\r\n htmlBodyElement.classList.remove(\"modalOpen\");\r\n }\r\n }\r\n\r\n hideModal() {\r\n this.$emit(\"hideModal\");\r\n }\r\n\r\n cancelModal() {\r\n this.$emit(\"cancelModal\");\r\n }\r\n\r\n mounted() {\r\n document.addEventListener(\"keydown\", (e) => {\r\n if (this.show && e.keyCode == 27) {\r\n this.cancelModal();\r\n }\r\n });\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!./vModal.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!./vModal.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vModal.vue?vue&type=template&id=23dd0184&scoped=true\"\nimport script from \"./vModal.vue?vue&type=script&lang=ts\"\nexport * from \"./vModal.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vModal.vue?vue&type=style&index=0&id=23dd0184&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 \"23dd0184\",\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!./IngredientCost.vue?vue&type=style&index=0&id=3843dd56&prod&scoped=true&lang=css\"","import Repository from './Repository';\r\nimport ListRequest from '@/models/ListRequest';\r\nimport { IngredientCost } from '@/models/IngredientCost/IngredientCost';\r\n\r\nconst resource = '/ingredientCosts';\r\n\r\nexport default {\r\n listIngredientCost(listRequest: ListRequest) {\r\n return Repository.post(`${resource}/ListIngredientCosts`, listRequest, { withCredentials: true });\r\n },\r\n listIngredientCostVendors() {\r\n return Repository.get(`${resource}/ListIngredientCostVendors`, { withCredentials: true });\r\n },\r\n createIngredientCosts(ingredientCosts: IngredientCost[]) {\r\n return Repository.post(`${resource}/CreateIngredientCosts`, { ingredientCosts: ingredientCosts }, { withCredentials: true });\r\n },\r\n createIngredientCostVendor(name: string) {\r\n return Repository.post(`${resource}/CreateIngredientCostVendor`, { name: name }, { withCredentials: true });\r\n },\r\n updateIngredientCost(ingredientCost: IngredientCost) {\r\n return Repository.post(`${resource}/UpdateIngredientCost`, ingredientCost, { withCredentials: true });\r\n },\r\n deleteIngredientCost(id: number) {\r\n return Repository.post(`${resource}/DeleteIngredientCost`, { id: id }, { withCredentials: true });\r\n },\r\n uploadIngredientCosts(formData: FormData) {\r\n return Repository.post(`${resource}/UploadIngredientCosts`, formData, { withCredentials: true });\r\n },\r\n loadMeasurementsForIngredientCost(data: any) {\r\n return Repository.post(`${resource}/LoadMeasurementsForIngredientCost`, data, { withCredentials: true });\r\n }\r\n}\r\n"],"sourceRoot":""}