{"version":3,"sources":["webpack:///./src/components/vIngredientsDisplayNames.vue?4903","webpack:///./src/components/vExportLabelButtons.vue?4261","webpack:///./src/components/vToggleSwitch.vue","webpack:///./src/components/vToggleSwitch.vue?985c","webpack:///./src/components/vToggleSwitch.vue?b29c","webpack:///./src/components/vToggleSwitch.vue?df0d","webpack:///./src/utils/API/GeneralRepository.ts","webpack:///./src/components/vExportLabel.vue?2d55","webpack:///./src/components/vToggleSwitch.vue?6289","webpack:///./src/components/vLabelPreviewImage.vue?862d","webpack:///./src/components/vExportLabel.vue?03c2","webpack:///./src/components/vBackOfPackageConfig.vue?25c5","webpack:///./src/components/vAccordion.vue?ecef","webpack:///./src/components/vExportLabel.vue","webpack:///./src/components/vIngredientsDisplayNames.vue","webpack:///./src/components/vIngredientsDisplayNames.vue?9de9","webpack:///./src/models/NutritionLabels/DietaryTypes.ts","webpack:///./src/components/vIngredientsDisplayNames.vue?d4ea","webpack:///./src/components/vIngredientsDisplayNames.vue?8469","webpack:///./src/services/ExportLabel.service.ts","webpack:///./src/models/NutritionLabels/ExportLabelState.ts","webpack:///./src/components/vUSContainsPercentOfForm.vue","webpack:///./src/components/vUSContainsPercentOfForm.vue?cc35","webpack:///./src/components/vUSContainsPercentOfForm.vue?267d","webpack:///./src/components/vUSContainsPercentOfForm.vue?2eac","webpack:///./src/components/vAccordion.vue","webpack:///./src/components/vAccordion.vue?7b33","webpack:///./src/components/vAccordion.vue?7a66","webpack:///./src/components/vAccordion.vue?33f6","webpack:///./src/components/vLabelPreviewImage.vue","webpack:///./src/components/vLabelPreviewImage.vue?9358","webpack:///./src/components/vLabelPreviewImage.vue?00ab","webpack:///./src/components/vLabelPreviewImage.vue?9246","webpack:///./src/components/vFrontOfPackageConfig.vue","webpack:///./src/components/vFrontOfPackageConfig.vue?7b92","webpack:///./src/components/vFrontOfPackageConfig.vue?49ed","webpack:///./src/components/vFrontOfPackageConfig.vue?ce1d","webpack:///./src/components/vBackOfPackageConfig.vue","webpack:///./src/components/vBackOfPackageConfig.vue?e1d4","webpack:///./src/components/vBackOfPackageConfig.vue?b69e","webpack:///./src/components/vBackOfPackageConfig.vue?399d","webpack:///./src/components/vExportLabelButtons.vue","webpack:///./src/components/vExportLabelButtons.vue?bed8","webpack:///./src/components/vExportLabelButtons.vue?3558","webpack:///./src/components/vExportLabelButtons.vue?789d","webpack:///./src/components/vExportLabel.vue?b021","webpack:///./src/components/vExportLabel.vue?3ca6","webpack:///./src/components/vExportLabel.vue?f953"],"names":["render","_vm","this","_c","_self","_setupProxy","staticClass","attrs","domProps","value","on","changeHandler","staticRenderFns","vToggleSwitch","_Vue","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","concat","_defineProperty","_inherits","_createClass","key","$emit","Vue","__decorate","Prop","Component","component","resource","listCountries","Repository","post","ListRequest","page","pageSize","withCredentials","listIndustries","listLanguages","get","staticStyle","isFopDisplay","_e","recipe","nutritionCountries","packageLabelType","languages","subrecipeMeasurements","model","exportLabelState","callback","$$v","expression","id","highIn","debouncedFetchPreview","loading","nutritionCountry","nutritionLabel","primaryLanguage","labelPreview","fopLabelPreview","saveRecipeLabel","loadFOPLabelCreator","loadBOPLabelCreator","_l","sortedIngredientDisplays","ingredient","ingredientId","class","activeIngredientId","recipeId","isBranded","$event","preventDefault","setActiveIngredient","_v","_s","displayTextInPrimaryLanguage","translations","directives","name","rawName","target","composing","$set","country","displayTextInSecondaryLanguage","isAllergen","isArray","_i","$$a","$$el","$$c","checked","$$i","slice","vIngredientsDisplayNames","localizationState","ingredientDisplays","sort","firstDisplay","secondDisplay","weightInGrams","Watch","computed","_objectSpread","mapState","state","LocalizationModule","DietaryTypes","getSubrecipeWeightInGrams","subrecipe","measurement","find","x","recipeCompositionMeasurementId","subRecipeWeight","quantity","weightPerServing","toLowerCase","conversionCoeficient","getIngredientDisplays","ingredients","savedDisplays","quantityMultiplier","undefined","displays","map","ingr","savedDisplay","ingrWeight","push","components","subIngredients","getSubrecipeDisplayAsIngredients","_step","_iterator","_createForOfIteratorHelper","childRecipes","s","n","done","childRecipe","subrecipeWeight","subrecipeWeightAsServings","fetchedDisplays","err","e","f","getIngredientAndSubRecipeDisplays","subRecipeDisplays","renderExpandedSubrecipes","preprocessedDisplays","_step2","_iterator2","_step3","groupedDisplays","groupBy","toString","rv","_iterator3","keys","totalWeight","reduce","acc","display","structuredClone","ExportLabelState","allergens","isChecked","primaryLanguageName","secondaryLanguageName","dietary","mayContain","primaryLanguageAdditionalContent","secondaryLanguageAdditionalContent","cautionaryMessage","containsLessThanPercentOf","primaryLanguageContainsLessThanText","secondaryLanguageContainsLessThanText","primaryLanguagePercentOfText","secondaryLanguagePercentOfText","thresholdPercent","headerLabelTranslations","ingredientsPrimaryLanguageTranslation","ingredientsSecondaryLanguageTranslation","containsPrimaryLanguageTranslation","containsSecondaryLanguageTranslation","mayContainPrimaryLanguageTranslation","mayContainSecondaryLanguageTranslation","cautionaryMessagePrimaryLanguageTranslation","cautionaryMessageSecondaryLanguageTranslation","includeIngredients","disableDownload","freeTextPlaceholders","isIE","fopNutritionLabelId","labelTypes","LabelTypeMetadata","FrontOfPack","fopFormat","pdsSize","includeInDownload","secondaryLanguage","ingredientAndSubRecipeDisplaysModel","combinedSubRecipeList","expandedSubRecipeList","savedNutritionLabelId","savedSubRecipeDisplays","textPlaceholdersOfSavedLabel","filter","translationInstance","types","dt","isValueProperty","parseInt","includes","isBilingual","firstLevelSubRecipe","_subRecipeIngredients","join","forEach","secondLevelSubRecipe","thirdLevelChildRecipe","getSubRecipeDisplays","firstIngredient","secondIngredient","subRecipeIngredients","acceptableThresholds","vUSContainsPercentOfForm","Model","expandAccordion","active","isExpanded","accordionTitleTranslationKey","_t","vAccordion","isLoading","shouldDisplayLabel","labelPreviewBase64","vLabelPreviewImage","vPreLoader","labelFormatOptions","foPFormatReducer","fetchLabelFormats","scopedSlots","_u","fn","option","formatTranslationKey","selectedFormat","pdsSizeOptions","foPPDSReducer","fetchPreview","translationKey","selectedPDS","vFrontOfPackageConfig","loadLabelFormats","_this2","NutritionLabelRepository","getFrontOfPackageOptions","then","response","data","result","savedFormat","formatValue","updateFOPSelections","_this3","supportedPDS","fetchFOPLabel","fopData","pdsData","_this4","labelFormatValue","pdsSizeValue","labelType","highInMetadata","previewFOPNutritionLabel","content","selected","format","updatePDSSizes","fetchNutritionLabels","updateFilters","showSupplementFactsLabels","filteredNutritionLabels","fetchFreeTextFields","proxy","placeholder","displayText","toggleSubrecipeExpansion","ingredientAndSubRecipeDisplays","slot","dietaryTypes","type","toggleDietary","allergen","updateAllergenStatus","_regeneratorRuntime","t","r","Object","prototype","hasOwnProperty","o","defineProperty","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","callInvokeWithMethodAndArg","Error","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","apply","_next","_throw","_defineProperties","_toPropertyKey","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","bind","_setPrototypeOf","_toPrimitive","toPrimitive","String","Number","vBackOfPackageConfig","ingredientAndSubRecipeDisplaysInit","console","log","updateLabelTypeList","resetNutritionLabel","sortKey","SupplementFact","BackOfPack","nutritionLabels","width","label","document","getElementById","naturalWidth","height","naturalHeight","_fetchNutritionLabels","_callee","_context","listNutritionLabels","getFreeTextPlaceholdersForNutritionLabel","freeTextPlaceholder","$snotify","error","debounce","updateIngredientName","copyIngredientNamesOver","expandedItem","itemIndex","findIndex","_this5","splice","indexOf","_this6","previewNutritionLabelForRecipe","checkedAllergens","nutritionLabelId","ingredientsIncluded","additionalContent","containsLessThanPercentOfText","headerTranslations","nutritionLabelDownloadFileFormat","labelWidth","labelHeight","ingredientDisplayModels","default","accountStoreState","AccountModule","userDetails","nutritionLabelsLimit","labelsLimit","downloadedLabels","showLearnMoreModal","remainingLabelDownloads","$moment","nextResetDate","DATE_DISP_FORMAT","shouldShowSaveButton","downloadingMultipleLabels","shouldShowDownloadButtons","disabled","downloadLabel","vExportLabelButtons","dateDisplayFormat","labelsCount","fileType","$store","getters","getUserDetails","isTrial","info","$router","fileContentType","filename","split","getFileContentType","additionalLabelInformation","frontOfPackageNutritionLabelId","downloadNutritionLabelForRecipe","parseFloat","labelFormatType","pushDownloadToClient","headers","message","enc","TextDecoder","JSON","parse","decode","errorMessages","userVisibleMessage","chosenFileType","blobData","blob","Blob","getFileExtension","url","window","URL","createObjectURL","link","createElement","href","setAttribute","body","appendChild","evt","createEvent","initMouseEvent","dispatchEvent","UserRepository","fetchUserInfo","commit","SET_USER_DETAILS","logged","vModal","vExportLabel","listNutritionCountries","fetchRecipeLabel","GeneralRepository","navigator","userAgent","ingredientsList","RecipesRepository","nutritionCountryId","additionalContents","containsLessThanPercentOfContent","ingredientOtherDisplayModel","subRecipeDisplayModels","success","getRecipeLabel","fillLabelData","labelData","fillAllergens","fillDietaryTypes","fillNutritionCountry","fillLanguages","fillFreeTextPlaceholders","fillContainsLessThanPercent","fillIngredientDisplays","fillSavedSubRecipeDisplays","fillAdditionalProperties","containsLessThanPercent","synchronizeIngredientData","synchronizeRecipeIngredientData","frontOfPackData","originalList","modifiedList","modifiedListMap","Map","set","updatedSubRecipeList","otherDisplay","delete","modifiedRecipeListMap","modifiedIngredientListMap","otherRecipeDisplay","otherIngredientDisplay","_this7"],"mappings":"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","file":"js/chunk-52b2c7b4.588fe281.js","sourcesContent":["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!./vIngredientsDisplayNames.vue?vue&type=style&index=0&id=e5f43f54&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!./vExportLabelButtons.vue?vue&type=style&index=0&id=2d7c2650&prod&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('label',{staticClass:\"switch\"},[_c('input',{attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":_vm.value},on:{\"input\":_vm.changeHandler}}),_c('span',{staticClass:\"slider round\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop } from \"vue-property-decorator\";\r\n\r\n@Component\r\nexport default class vToggleSwitch extends Vue {\r\n\r\n  @Prop() value!: boolean;\r\n\r\n  changeHandler() {\r\n    this.$emit('toggled', !this.value);\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!./vToggleSwitch.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!./vToggleSwitch.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vToggleSwitch.vue?vue&type=template&id=090fbb25&scoped=true\"\nimport script from \"./vToggleSwitch.vue?vue&type=script&lang=ts\"\nexport * from \"./vToggleSwitch.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vToggleSwitch.vue?vue&type=style&index=0&id=090fbb25&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  \"090fbb25\",\n  null\n  \n)\n\nexport default component.exports","import Repository from './Repository';\r\nimport ListRequest from '@/models/ListRequest';\r\nimport {Translation} from \"@/models/Localization/Translation\";\r\nimport {MethodResult} from \"@/utils/API/ResultTypes/MethodResult\";\r\nimport {AxiosResponse} from \"axios\";\r\nimport Language from \"@/models/Language\";\r\n\r\n\r\nconst resource = '/general';\r\n\r\nexport default {\r\n  listCountries() {\r\n    return Repository.post(`${resource}/ListCountries`, new ListRequest({page: 1, pageSize: 9999}), {withCredentials: true});\r\n  },\r\n  listIndustries() {\r\n    return Repository.post(`${resource}/ListIndustries`, new ListRequest({page: 1, pageSize: 9999}), {withCredentials: true});\r\n  },\r\n  listLanguages(): Promise<AxiosResponse<MethodResult<Language[]>>> {\r\n    return Repository.get<MethodResult<Language[]>>(`${resource}/ListLanguages`, {withCredentials: true});\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!./vExportLabel.vue?vue&type=style&index=1&id=254f0454&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!./vToggleSwitch.vue?vue&type=style&index=0&id=090fbb25&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!./vLabelPreviewImage.vue?vue&type=style&index=0&id=60a6ab82&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!./vExportLabel.vue?vue&type=style&index=0&id=254f0454&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!./vBackOfPackageConfig.vue?vue&type=style&index=0&id=3ae74e41&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!./vAccordion.vue?vue&type=style&index=0&id=707962e4&prod&scoped=true&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',[_c('div',{staticClass:\"form-row\",staticStyle:{\"height\":\"83vh\"}},[_c('div',{staticClass:\"col-md-6 col-12 h-100\",staticStyle:{\"overflow\":\"auto\",\"padding-right\":\"1rem\"}},[(!_vm.isFopDisplay)?_c('vBackOfPackageConfig',{attrs:{\"recipe\":_vm.recipe,\"nutrition-countries\":_vm.nutritionCountries,\"package-label-type\":_vm.packageLabelType,\"languages\":_vm.languages,\"subrecipe-measurements\":_vm.subrecipeMeasurements},model:{value:(_vm.exportLabelState),callback:function ($$v) {_vm.exportLabelState=$$v},expression:\"exportLabelState\"}}):_vm._e(),(_vm.isFopDisplay)?_c('vFrontOfPackageConfig',{attrs:{\"recipe-id\":_vm.id,\"package-label-type\":_vm.packageLabelType,\"high-in\":_vm.highIn},on:{\"debounced-fetch-preview\":_vm.debouncedFetchPreview},model:{value:(_vm.exportLabelState),callback:function ($$v) {_vm.exportLabelState=$$v},expression:\"exportLabelState\"}}):_vm._e()],1),_c('div',{staticClass:\"col-md-6 col-12 h-100 btn-group-container\",staticStyle:{\"text-align\":\"center\",\"gap\":\"15px\"}},[_c('div',{staticClass:\"h-100 w-100\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"gap\":\"15px\",\"text-align\":\"center\"}},[(!_vm.isFopDisplay)?_c('vLabelPreviewImage',{attrs:{\"is-loading\":_vm.exportLabelState.loading,\"should-display-label\":_vm.exportLabelState.nutritionCountry\n              && _vm.exportLabelState.nutritionLabel !== null\n              && _vm.exportLabelState.primaryLanguage !== null,\"label-preview-base64\":_vm.exportLabelState.labelPreview}}):_vm._e(),(_vm.isFopDisplay)?_c('vLabelPreviewImage',{attrs:{\"is-loading\":_vm.exportLabelState.loading,\"should-display-label\":_vm.exportLabelState.nutritionCountry !== null &&\n              _vm.exportLabelState.nutritionLabel !== null &&\n              _vm.exportLabelState.primaryLanguage !== null &&\n              _vm.exportLabelState.fopLabelPreview !== '',\"label-preview-base64\":_vm.exportLabelState.fopLabelPreview}}):_vm._e(),_c('vExportLabelButtons',{attrs:{\"package-label-type\":_vm.packageLabelType,\"is-fop-display\":_vm.isFopDisplay,\"recipe\":_vm.recipe,\"high-in\":_vm.highIn,\"subrecipe-measurements\":_vm.subrecipeMeasurements},on:{\"save-label\":_vm.saveRecipeLabel,\"load-fop-label-creator\":_vm.loadFOPLabelCreator,\"load-bop-label-creator\":_vm.loadBOPLabelCreator},model:{value:(_vm.exportLabelState),callback:function ($$v) {_vm.exportLabelState=$$v},expression:\"exportLabelState\"}})],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:\"row ingr-container\"},[_c('div',{staticClass:\"col-12 ingr-names-container\"},_vm._l((_vm.sortedIngredientDisplays),function(ingredient){return _c('span',{key:'ingrForm_' + ingredient.ingredientId || ingredient.recipeId,staticClass:\"ingr-link\",class:{'active': (_vm.activeIngredientId === 'i_'+ingredient.ingredientId) || (_vm.activeIngredientId === 'r_'+ingredient.recipeId),\n               'isBranded': ingredient.isBranded },on:{\"click\":function($event){$event.preventDefault();return _vm.setActiveIngredient(ingredient.ingredientId ? 'i_'+ingredient.ingredientId : 'r_'+ingredient.recipeId)}}},[_vm._v(_vm._s(ingredient.displayTextInPrimaryLanguage))])}),0),_c('div',{staticClass:\"col-12\"},[_vm._l((_vm.sortedIngredientDisplays),function(ingredient){return [((_vm.activeIngredientId === 'i_'+ingredient.ingredientId) || (_vm.activeIngredientId === 'r_'+ingredient.recipeId))?_c('div',{key:'ingrForm_' + ingredient.ingredientId || ingredient.recipeId},[_c('hr'),_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations.get('label_export_primary_label')))]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(ingredient.displayTextInPrimaryLanguage),expression:\"ingredient.displayTextInPrimaryLanguage\"}],staticClass:\"form-control\",attrs:{\"rows\":\"5\",\"type\":\"text\"},domProps:{\"value\":(ingredient.displayTextInPrimaryLanguage)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(ingredient, \"displayTextInPrimaryLanguage\", $event.target.value)}}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.country ? _vm.country.name != 'UK' : true),expression:\"country ? country.name != 'UK' : true\"}],staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations.get('label_export_secondary_label')))]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(ingredient.displayTextInSecondaryLanguage),expression:\"ingredient.displayTextInSecondaryLanguage\"}],staticClass:\"form-control\",attrs:{\"rows\":\"5\",\"type\":\"text\"},domProps:{\"value\":(ingredient.displayTextInSecondaryLanguage)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(ingredient, \"displayTextInSecondaryLanguage\", $event.target.value)}}})]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.country ? _vm.country.name == 'UK' : false),expression:\"country ? country.name == 'UK' : false\"}],staticClass:\"ingr-allergen-container checkbox check-primary\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(ingredient.isAllergen),expression:\"ingredient.isAllergen\"}],attrs:{\"id\":'src' + ingredient.ingredientId,\"type\":\"checkbox\"},domProps:{\"checked\":ingredient.isAllergen,\"checked\":Array.isArray(ingredient.isAllergen)?_vm._i(ingredient.isAllergen,null)>-1:(ingredient.isAllergen)},on:{\"input\":function($event){ingredient.isAllergen = !ingredient.isAllergen},\"change\":function($event){var $$a=ingredient.isAllergen,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(ingredient, \"isAllergen\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(ingredient, \"isAllergen\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(ingredient, \"isAllergen\", $$c)}}}}),_c('label',{staticClass:\"allergen-label\",attrs:{\"for\":'src' + ingredient.ingredientId}},[_vm._v(\"Allergen\")])]),_c('button',{staticClass:\"ingr-close\",on:{\"click\":function($event){$event.preventDefault();return _vm.setActiveIngredient('0')}}},[_c('i',{staticClass:\"fa fa-check\"}),_vm._v(\"\\n           \"+_vm._s(_vm.translations.get('done'))+\"\\n        \")])]):_vm._e()]})],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop, Watch } from \"vue-property-decorator\";\r\nimport IngredientDisplay from \"@/models/Ingredient/IngredientDisplay\";\r\nimport { NutritionCountry } from \"@/models/NutritionLabels/NutritionCountry\";\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 vIngredientsDisplayNames extends Vue {\r\n  localizationState: any;\r\n\r\n  @Prop() ingredientDisplays!: IngredientDisplay[];\r\n  @Prop() country!: NutritionCountry;\r\n\r\n  // everytime we update name, tell the parent\r\n  @Watch(\"activeIngredientId\")\r\n  onChangeActiveIngredientId() {\r\n    this.$emit(\"update\");\r\n  }\r\n\r\n  activeIngredientId: string = \"0\";\r\n\r\n  setActiveIngredient(id: string) {\r\n    this.activeIngredientId = id;\r\n  }\r\n\r\n  get translations() {\r\n    return this.localizationState.translations;\r\n  }\r\n\r\n  get sortedIngredientDisplays(): IngredientDisplay[] {\r\n    return this.ingredientDisplays.sort(\r\n      (firstDisplay, secondDisplay) => secondDisplay.weightInGrams - firstDisplay.weightInGrams\r\n    );\r\n  }\r\n}\r\n","export enum DietaryTypes {\r\n  GlutenFree,\r\n  Vegan,\r\n  Vegetarian,\r\n  Organic,\r\n  TransFatFree,\r\n  DairyFree,\r\n  GmoFree,\r\n  SoyFree,\r\n  NutFree,\r\n  PeanutFree,\r\n  EggFree,\r\n  CholesterolFree,\r\n  NitratesFree,\r\n  NoSugarAdded,\r\n  CornFree,\r\n  AllergenFree\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!./vIngredientsDisplayNames.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!./vIngredientsDisplayNames.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vIngredientsDisplayNames.vue?vue&type=template&id=e5f43f54&scoped=true\"\nimport script from \"./vIngredientsDisplayNames.vue?vue&type=script&lang=ts\"\nexport * from \"./vIngredientsDisplayNames.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vIngredientsDisplayNames.vue?vue&type=style&index=0&id=e5f43f54&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  \"e5f43f54\",\n  null\n  \n)\n\nexport default component.exports","import IngredientDisplay from \"@/models/Ingredient/IngredientDisplay\";\r\nimport { Recipe } from \"@/models/Recipes/Recipe\";\r\nimport { RecipeCompositionMeasurement } from \"@/models/Recipes/RecipeCompositionMeasurement\";\r\nimport { RecipeIngredient } from \"@/models/Recipes/RecipeIngredient\";\r\nimport { Subrecipe } from \"@/models/Recipes/Subrecipe\";\r\nimport { groupBy } from \"@/utils/Helpers\";\r\n\r\nexport function getSubrecipeWeightInGrams(subrecipe: Subrecipe, subrecipeMeasurements: RecipeCompositionMeasurement[]) {\r\n  const measurement = subrecipeMeasurements.find(\r\n    (x) => x.id == subrecipe.recipeCompositionMeasurementId\r\n  );\r\n\r\n  let subRecipeWeight = subrecipe.quantity * subrecipe.weightPerServing;\r\n\r\n  if (measurement && measurement.measurement.name.toLowerCase() !== \"serving\") {\r\n    subRecipeWeight = subrecipe.quantity * measurement.measurement.conversionCoeficient;\r\n  }\r\n\r\n  return subRecipeWeight;\r\n}\r\n\r\nexport function getIngredientDisplays(\r\n  ingredients: RecipeIngredient[],\r\n  savedDisplays: IngredientDisplay[],\r\n  quantityMultiplier: number = 1\r\n): IngredientDisplay[] {\r\n  // check if there is a recipe\r\n  // if not, will return empty aRRAY\r\n  const displays: IngredientDisplay[] = [];\r\n\r\n  // map the ingredients\r\n  ingredients.map((ingr) => {\r\n    // See if you can find savedDisplay in savedDisplays for the ingredient Id\r\n    const savedDisplay = savedDisplays.find(\r\n      (x) => x.ingredientId == ingr.ingredient.id\r\n    );\r\n\r\n    const ingrWeight = quantityMultiplier * ingr.quantity * ingr.measurement.weightInGrams;\r\n\r\n    // If found, push that one\r\n    if (savedDisplay) {\r\n      displays.push({\r\n        ingredientId: savedDisplay.ingredientId,\r\n        displayTextInPrimaryLanguage: savedDisplay.displayTextInPrimaryLanguage,\r\n        displayTextInSecondaryLanguage: savedDisplay.displayTextInSecondaryLanguage,\r\n        isAllergen: savedDisplay.isAllergen,\r\n        isBranded: ingr.ingredient.components != null,\r\n        weightInGrams: ingrWeight,\r\n      });\r\n    }\r\n\r\n    else {\r\n      let displayTextInPrimaryLanguage = ingr.ingredient.name;\r\n      // If custom ingredient has sub ingredients, concat them to the name\r\n      if (ingr.ingredient.subIngredients) {\r\n        displayTextInPrimaryLanguage += ` (${ingr.ingredient.subIngredients})`;\r\n      }\r\n\r\n      if (ingr.ingredient.components) {\r\n        displayTextInPrimaryLanguage = ingr.ingredient.components;\r\n      }\r\n\r\n      displays.push({\r\n        ingredientId: ingr.ingredient.id,\r\n        displayTextInPrimaryLanguage: displayTextInPrimaryLanguage,\r\n        displayTextInSecondaryLanguage: \"\",\r\n        isAllergen: false,\r\n        isBranded: ingr.ingredient.components != null,\r\n        weightInGrams: ingrWeight,\r\n      });\r\n    }\r\n  });\r\n\r\n  return displays;\r\n}\r\n\r\nfunction getSubrecipeDisplayAsIngredients(\r\n  subrecipe: Subrecipe,\r\n  savedDisplays: IngredientDisplay[],\r\n  subrecipeMeasurements: RecipeCompositionMeasurement[],\r\n  quantityMultiplier: number = 1\r\n) {\r\n\r\n  let displays: IngredientDisplay[] = getIngredientDisplays(\r\n    subrecipe.recipe.ingredients,\r\n    savedDisplays,\r\n    subrecipe.quantity * quantityMultiplier\r\n  );\r\n\r\n  for (const childRecipe of subrecipe.recipe.childRecipes) {\r\n    const subrecipeWeight = getSubrecipeWeightInGrams(childRecipe, subrecipeMeasurements);\r\n    const subrecipeWeightAsServings = subrecipeWeight / childRecipe.weightPerServing;\r\n\r\n    const fetchedDisplays = getSubrecipeDisplayAsIngredients(\r\n      childRecipe,\r\n      savedDisplays,\r\n      subrecipeMeasurements,\r\n      subrecipeWeightAsServings * quantityMultiplier\r\n    );\r\n\r\n    displays = displays.concat(fetchedDisplays);\r\n  }\r\n\r\n  return displays;\r\n}\r\n\r\nexport function getIngredientAndSubRecipeDisplays(\r\n  ingredientDisplays: IngredientDisplay[],\r\n  recipe: Recipe,\r\n  subRecipeDisplays: IngredientDisplay[],\r\n  subrecipeMeasurements: RecipeCompositionMeasurement[],\r\n  renderExpandedSubrecipes: boolean = false\r\n): IngredientDisplay[] {\r\n  let preprocessedDisplays: IngredientDisplay[] = ingredientDisplays;\r\n\r\n  if (renderExpandedSubrecipes) {\r\n    // Prep the subrecipes to be displayed as ingredients\r\n    for (const subrecipe of recipe.childRecipes) {\r\n      //const subrecipeWeight = getSubrecipeWeightInGrams(subrecipe, subrecipeMeasurements);\r\n      //const subrecipeWeightAsServings = subrecipeWeight / subrecipe.weightPerServing;\r\n\r\n      ingredientDisplays = ingredientDisplays.concat(\r\n        getSubrecipeDisplayAsIngredients(\r\n          subrecipe,\r\n          ingredientDisplays,\r\n          subrecipeMeasurements,\r\n          1\r\n        )\r\n      );\r\n    }\r\n\r\n    // Group the displays by ingredientId so that we can sum the weights\r\n    const groupedDisplays = groupBy(ingredientDisplays, (x) => x.ingredientId.toString());\r\n    const rv: IngredientDisplay[] = [];\r\n\r\n    // Sum the weights of the grouped displays\r\n    for (const key of groupedDisplays.keys()) {\r\n      const ingredientDisplays: IngredientDisplay[] = groupedDisplays.get(key);\r\n\r\n      if (ingredientDisplays) {\r\n        const totalWeight = ingredientDisplays.reduce(\r\n          (acc, x) => acc + x.weightInGrams,\r\n          0\r\n        );\r\n\r\n        // Clone the first display of the group to not accumulate the weight over multiple displays\r\n        const display = structuredClone(ingredientDisplays[0]);\r\n        display.weightInGrams = totalWeight;\r\n        rv.push(display);\r\n      }\r\n    }\r\n\r\n    return rv;\r\n  }\r\n\r\n  else {\r\n    return preprocessedDisplays.concat(subRecipeDisplays);\r\n  }\r\n}\r\n","import { getIngredientAndSubRecipeDisplays, getIngredientDisplays, getSubrecipeWeightInGrams } from \"@/services/ExportLabel.service\";\r\nimport IngredientDisplay from \"../Ingredient/IngredientDisplay\";\r\nimport Language from \"../Language\";\r\nimport Translations from \"../Localization/Translations\";\r\nimport { Recipe } from \"../Recipes/Recipe\";\r\nimport { RecipeCompositionMeasurement } from \"../Recipes/RecipeCompositionMeasurement\";\r\nimport { AdditionalContent } from \"./AdditionalContent\";\r\nimport { ContainsLessThanPercentOfContent } from \"./ContainsLessThanPercentOfContent\";\r\nimport { DietaryTypes } from \"./DietaryTypes\";\r\nimport FreeTextPlaceholder from \"./FreeTextPlaceholder\";\r\nimport { HeaderLanguageTranslations } from \"./HeaderLanguageTranslations\";\r\nimport { LabelTypeMetadata } from \"./LabelTypeMetadata\";\r\nimport { NutritionCountry } from \"./NutritionCountry\";\r\nimport { NutritionLabel } from \"./NutritionLabel\";\r\nimport { RecipeIngredient } from \"../Recipes/RecipeIngredient\";\r\nimport {Dish} from \"@/models/Dishes/Dish\";\r\n\r\nexport class ExportLabelState {\r\n  allergens: {\r\n      id: string;\r\n      isChecked: boolean;\r\n      primaryLanguageName: string;\r\n      secondaryLanguageName: string;\r\n    }[];\r\n  dietary: number[];\r\n  mayContain: AdditionalContent;\r\n  cautionaryMessage: AdditionalContent;\r\n  containsLessThanPercentOf: ContainsLessThanPercentOfContent;\r\n  headerLabelTranslations: HeaderLanguageTranslations;\r\n  labelPreview: string;\r\n  fopLabelPreview: string;\r\n  includeIngredients: boolean;\r\n  renderExpandedSubrecipes: boolean;\r\n  loading: boolean;\r\n  disableDownload: boolean;\r\n  freeTextPlaceholders: FreeTextPlaceholder[];\r\n  isIE: boolean;\r\n  fopNutritionLabelId: number;\r\n  labelTypes: {\r\n      [LabelTypeMetadata.FrontOfPack]: {\r\n        fopFormat: number;\r\n        pdsSize: number;\r\n        includeInDownload: boolean;\r\n      };\r\n    };\r\n  nutritionCountry: NutritionCountry | null;\r\n  nutritionLabel: NutritionLabel | null;\r\n  primaryLanguage: Language | null;\r\n  secondaryLanguage: Language | null;\r\n  ingredientAndSubRecipeDisplaysModel : {\r\n    combinedSubRecipeList : IngredientDisplay[];\r\n    expandedSubRecipeList : IngredientDisplay[];\r\n  };\r\n  savedDisplays: IngredientDisplay[];\r\n  savedNutritionLabelId: number;\r\n  savedSubRecipeDisplays: IngredientDisplay[];\r\n\r\n  // Used to store value of placeholders of saved label\r\n  textPlaceholdersOfSavedLabel: FreeTextPlaceholder[] | null;\r\n\r\n  constructor() {\r\n    this.allergens = [\r\n      {\r\n        id: \"Celery\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Celery\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Lupin\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Lupin\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Sesame Seed\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Sesame Seed\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Wheat\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Wheat\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Crustaceans\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Crustaceans\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Milk\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Milk\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Shelfish\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Shelfish\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Egg\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Egg\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Molluscs\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Molluscs\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Soy\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Soy\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Fish\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Fish\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Mustard\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Mustard\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Sulphites\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Sulphites\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Gluten\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Gluten\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Peanut\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Peanut\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n      {\r\n        id: \"Tree Nuts\",\r\n        isChecked: false,\r\n        primaryLanguageName: \"Tree Nuts\",\r\n        secondaryLanguageName: \"\",\r\n      },\r\n    ];\r\n    this.dietary = [];\r\n    this.mayContain = {\r\n      primaryLanguageAdditionalContent: \"\",\r\n      secondaryLanguageAdditionalContent: \"\",\r\n    };\r\n    this.cautionaryMessage = {\r\n      primaryLanguageAdditionalContent: \"\",\r\n      secondaryLanguageAdditionalContent: \"\",\r\n    };\r\n    this.containsLessThanPercentOf = {\r\n      primaryLanguageContainsLessThanText: \"Contains less than\",\r\n      secondaryLanguageContainsLessThanText: \"\",\r\n\r\n      primaryLanguagePercentOfText: \"percent of\",\r\n      secondaryLanguagePercentOfText: \"\",\r\n\r\n      thresholdPercent: 2.0\r\n    };\r\n    this.headerLabelTranslations = {\r\n      ingredientsPrimaryLanguageTranslation: \"Ingredients\",\r\n      ingredientsSecondaryLanguageTranslation: \"\",\r\n\r\n      containsPrimaryLanguageTranslation: \"Contains\",\r\n      containsSecondaryLanguageTranslation: \"\",\r\n\r\n      mayContainPrimaryLanguageTranslation: \"May contain\",\r\n      mayContainSecondaryLanguageTranslation: \"\",\r\n\r\n      cautionaryMessagePrimaryLanguageTranslation: \"Caution\",\r\n      cautionaryMessageSecondaryLanguageTranslation: \"\",\r\n    };\r\n    this.labelPreview = \"\";\r\n    this.fopLabelPreview = \"\";\r\n    this.includeIngredients = true;\r\n    this.renderExpandedSubrecipes = false;\r\n    this.loading = false;\r\n    this.disableDownload = true;\r\n    this.freeTextPlaceholders = [];\r\n    this.isIE = false;\r\n    this.fopNutritionLabelId = 0;\r\n    this.labelTypes = {\r\n      [LabelTypeMetadata.FrontOfPack]: {\r\n        fopFormat: 1,\r\n        pdsSize: 1,\r\n        includeInDownload: true\r\n      }\r\n    };\r\n    this.nutritionCountry = null;\r\n    this.nutritionLabel = null;\r\n    this.primaryLanguage = null;\r\n    this.secondaryLanguage = null;\r\n    this.ingredientAndSubRecipeDisplaysModel = {\r\n      combinedSubRecipeList: [],\r\n      expandedSubRecipeList: []\r\n    };\r\n    this.savedDisplays = [];\r\n    this.savedNutritionLabelId = null;\r\n    this.savedSubRecipeDisplays = [];\r\n\r\n    this.textPlaceholdersOfSavedLabel = null;\r\n  };\r\n\r\n  get checkedAllergens() {\r\n    return this.allergens.filter((x) => x.isChecked == true);\r\n  }\r\n\r\n  getDietaryTypes(translationInstance: Translations) {\r\n    let types: { name: string; value: number; isChecked: boolean }[] = [];\r\n    for (let dt in DietaryTypes) {\r\n      let isValueProperty: boolean = parseInt(dt, 10) >= 0;\r\n      if (isValueProperty)\r\n        types.push({\r\n          name: translationInstance.get(`labels_d_${DietaryTypes[dt]}`),\r\n          value: parseInt(dt),\r\n          isChecked: this.dietary.includes(parseInt(dt)),\r\n        });\r\n    }\r\n    return types;\r\n  }\r\n\r\n  get isBilingual() {\r\n    return this.nutritionLabel && this.nutritionLabel.isBilingual;\r\n  }\r\n\r\n  /**\r\n   * Gets a formatted list of ingredient displays\r\n   * NOTE: This is for Recipes only\r\n   */\r\n  getIngredientDisplays(recipe: Recipe): IngredientDisplay[] {\r\n    // If we're in a dish recipe, ingredients will be undefined, so we use an empty array\r\n    return getIngredientDisplays(recipe.ingredients || [], this.savedDisplays);\r\n  }\r\n\r\n  /**\r\n   * Gets a formatted list of sub-recipe displays\r\n   * These take the format of Subrecipe (ingredient1, ingredient2, ingredient3, ...)\r\n   */\r\n  getSubRecipeDisplays(\r\n    recipe: Dish,\r\n    subrecipeMeasurements: RecipeCompositionMeasurement[]\r\n  ): IngredientDisplay[] {\r\n    // check if there is a recipe\r\n    // if not, will return empty aRRAY\r\n    const displays: IngredientDisplay[] = [];\r\n\r\n    if (recipe) {\r\n      // map the ingredients\r\n      recipe.childRecipes.map((recipe) => {\r\n        // See if you can find savedDisplay in savedDisplays for the recipe Id\r\n        const savedDisplay = this.savedSubRecipeDisplays.find(\r\n          (x) => x.recipeId == recipe.recipe.id\r\n        );\r\n\r\n        const subRecipeWeight = getSubrecipeWeightInGrams(recipe, subrecipeMeasurements);\r\n\r\n        // If found, push that one\r\n        if (savedDisplay) {\r\n          displays.push({\r\n            recipeId: savedDisplay.recipeId,\r\n            displayTextInPrimaryLanguage: savedDisplay.displayTextInPrimaryLanguage,\r\n            displayTextInSecondaryLanguage: savedDisplay.displayTextInSecondaryLanguage,\r\n            isAllergen: false,\r\n            isBranded: false,\r\n            weightInGrams: subRecipeWeight,\r\n          });\r\n        }\r\n\r\n        else {\r\n          // First level\r\n          let displayTextInPrimaryLanguage = recipe.recipe.name;\r\n\r\n          if (recipe.recipe.ingredients.length > 0) {\r\n            // Concat the subRecipe's ingredients\r\n            const firstLevelSubRecipe = this._subRecipeIngredients(\r\n              recipe.recipe.ingredients\r\n            );\r\n\r\n            displayTextInPrimaryLanguage += \" (\" + firstLevelSubRecipe.join(\", \");\r\n          }\r\n\r\n          // Second level\r\n          recipe.recipe.childRecipes.forEach((childRecipe) => {\r\n            displayTextInPrimaryLanguage += (\r\n              (recipe.recipe.ingredients.length > 0 ? \", \" : \" (\") + childRecipe.recipe.name\r\n            );\r\n\r\n            if (childRecipe.recipe.ingredients.length > 0) {\r\n              // Concat the subRecipe's child ingredients\r\n              const secondLevelSubRecipe = this._subRecipeIngredients(\r\n                childRecipe.recipe.ingredients\r\n              );\r\n\r\n              displayTextInPrimaryLanguage += \" (\" + secondLevelSubRecipe.join(\", \");\r\n            }\r\n\r\n            // Third level: Concat the subRecipe's child -> child recipes only by name\r\n            childRecipe.recipe.childRecipes.forEach((thirdLevelChildRecipe) => {\r\n              displayTextInPrimaryLanguage += (\r\n                (childRecipe.recipe.ingredients.length > 0 ? \", \" : \" (\") + thirdLevelChildRecipe.recipe.name\r\n              );\r\n            });\r\n\r\n            displayTextInPrimaryLanguage += \")\";\r\n          });\r\n          displayTextInPrimaryLanguage += \")\";\r\n\r\n          displays.push({\r\n            recipeId: recipe.recipe.id,\r\n            displayTextInPrimaryLanguage: displayTextInPrimaryLanguage,\r\n            displayTextInSecondaryLanguage: \"\",\r\n            isAllergen: false,\r\n            isBranded: false,\r\n            weightInGrams: subRecipeWeight,\r\n          });\r\n        }\r\n      });\r\n    }\r\n\r\n    return displays;\r\n  }\r\n\r\n  // Merge ingredientDisplay and subRecipeDisplay\r\n  getIngredientAndSubRecipeDisplays(\r\n    recipe: Recipe,\r\n    subrecipeMeasurements: RecipeCompositionMeasurement[],\r\n    renderExpandedSubrecipes : boolean\r\n  ): IngredientDisplay[] {\r\n    const displays = getIngredientAndSubRecipeDisplays(\r\n      this.getIngredientDisplays(recipe),\r\n      recipe,\r\n      this.getSubRecipeDisplays(recipe, subrecipeMeasurements),\r\n      subrecipeMeasurements,\r\n      renderExpandedSubrecipes\r\n    );\r\n\r\n    return displays;\r\n  }\r\n\r\n  // Create list of subRecipe's ingredients\r\n  _subRecipeIngredients(ingredients: RecipeIngredient[]): string[] {\r\n    // Sort ingredients by their quantity contribution in the subRecipe\r\n    ingredients.sort(\r\n      (firstIngredient, secondIngredient) =>\r\n        (secondIngredient.quantity * secondIngredient.measurement.weightInGrams) - (firstIngredient.quantity * firstIngredient.measurement.weightInGrams)\r\n    );\r\n\r\n    const subRecipeIngredients: string[] = [];\r\n    ingredients.forEach((ingredient) => {\r\n      subRecipeIngredients.push(ingredient.ingredient.name);\r\n    });\r\n\r\n    return subRecipeIngredients;\r\n  }\r\n\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"form-group\"},[_c('label',{staticStyle:{\"font-size\":\"12px\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_less_than_percent_of\")))]),_c('br'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5\"},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.primaryLanguageContainsLessThanText),expression:\"model.primaryLanguageContainsLessThanText\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.model.primaryLanguageContainsLessThanText)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model, \"primaryLanguageContainsLessThanText\", $event.target.value)},function($event){return _vm.$emit('all-input')}]}}),_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\",\"margin-top\":\"10px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.secondaryLanguageContainsLessThanText),expression:\"model.secondaryLanguageContainsLessThanText\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.model.secondaryLanguageContainsLessThanText)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model, \"secondaryLanguageContainsLessThanText\", $event.target.value)},function($event){return _vm.$emit('all-input')}]}})]),_c('div',{staticClass:\"col-2 my-auto\"},[_c('label',{staticClass:\"label-subheader\"},[_vm._v(_vm._s(_vm.translations.get(\"label_export_threshold_percent\")))]),_c('v-select',{attrs:{\"multiple\":false,\"label\":'threshold percent',\"options\":_vm.acceptableThresholds,\"clearable\":false,\"placeholder\":2.0},on:{\"input\":function($event){return _vm.$emit('all-input')}},model:{value:(_vm.model.thresholdPercent),callback:function ($$v) {_vm.$set(_vm.model, \"thresholdPercent\", $$v)},expression:\"model.thresholdPercent\"}})],1),_c('div',{staticClass:\"col-5\"},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.primaryLanguagePercentOfText),expression:\"model.primaryLanguagePercentOfText\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.model.primaryLanguagePercentOfText)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model, \"primaryLanguagePercentOfText\", $event.target.value)},function($event){return _vm.$emit('all-input')}]}}),_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\",\"margin-top\":\"10px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.secondaryLanguagePercentOfText),expression:\"model.secondaryLanguagePercentOfText\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.model.secondaryLanguagePercentOfText)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model, \"secondaryLanguagePercentOfText\", $event.target.value)},function($event){return _vm.$emit('all-input')}]}})])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Model, Vue } from \"vue-property-decorator\";\r\nimport { mapState } from \"vuex\";\r\nimport { ContainsLessThanPercentOfContent } from \"@/models/NutritionLabels/ContainsLessThanPercentOfContent\";\r\nimport Translations from \"@/models/Localization/Translations\";\r\nimport { LocalizationState } from \"@/store/modules/LocalizationModule\";\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 vUSContainsPercentOfForm extends Vue {\r\n  @Model() model!: ContainsLessThanPercentOfContent;\r\n\r\n  private localizationState!: LocalizationState;\r\n\r\n  // Values as specified by CR82\r\n  acceptableThresholds = [0.5, 1.0, 1.5, 2.0];\r\n\r\n  get translations(): 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!./vUSContainsPercentOfForm.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!./vUSContainsPercentOfForm.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vUSContainsPercentOfForm.vue?vue&type=template&id=2aa2a9f2\"\nimport script from \"./vUSContainsPercentOfForm.vue?vue&type=script&lang=ts\"\nexport * from \"./vUSContainsPercentOfForm.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  null,\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:\"form-row\"},[_c('div',{staticClass:\"col-12 accordion-header\",on:{\"click\":_vm.expandAccordion}},[_c('i',{staticClass:\"fa fa-chevron-down chevron\",class:{ active: _vm.isExpanded }}),_c('h4',{staticStyle:{\"display\":\"inline-block\",\"margin-left\":\"20px\"}},[_vm._v(\"\\n      \"+_vm._s(_vm.translations.get(_vm.accordionTitleTranslationKey))+\"\\n    \")])]),_c('transition',{attrs:{\"name\":\"accordion\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isExpanded),expression:\"isExpanded\"}],staticClass:\"col-12 toggle-container\",staticStyle:{\"overflow\":\"hidden\"}},[_vm._t(\"accordion-content\")],2)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop } from \"vue-property-decorator\";\r\nimport { LocalizationState } from \"@/store/modules/LocalizationModule\";\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 vAccordion extends Vue {\r\n  @Prop() accordionTitleTranslationKey!: string;\r\n\r\n  isExpanded = false;\r\n  localizationState: LocalizationState;\r\n\r\n  expandAccordion() {\r\n    this.isExpanded = !this.isExpanded;\r\n  }\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!./vAccordion.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!./vAccordion.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vAccordion.vue?vue&type=template&id=707962e4&scoped=true\"\nimport script from \"./vAccordion.vue?vue&type=script&lang=ts\"\nexport * from \"./vAccordion.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vAccordion.vue?vue&type=style&index=0&id=707962e4&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  \"707962e4\",\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 (_vm.isLoading)?_c('div',{staticClass:\"label-wrapper centered\",staticStyle:{\"flex-grow\":\"1\"}},[_c('vPreLoader')],1):(_vm.shouldDisplayLabel)?_c('div',{staticClass:\"centered\"},[_c('img',{staticClass:\"image-label\",attrs:{\"id\":\"labelPreview\",\"src\":`data:image/png;base64,${_vm.labelPreviewBase64}`}})]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop } from \"vue-property-decorator\";\r\nimport { LocalizationState } from \"@/store/modules/LocalizationModule\";\r\nimport { mapState } from \"vuex\";\r\n\r\nimport vPreLoader from \"./vPreLoader.vue\";\r\n\r\n@Component({\r\n  components: {\r\n    vPreLoader\r\n  },\r\n  computed: {\r\n    ...mapState({\r\n      localizationState: (state: any) => state.LocalizationModule,\r\n    }),\r\n  },\r\n})\r\nexport default class vLabelPreviewImage extends Vue {\r\n  @Prop() isLoading!: boolean;\r\n  @Prop() shouldDisplayLabel!: boolean;\r\n  @Prop() labelPreviewBase64!: string;\r\n\r\n  localizationState: LocalizationState;\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!./vLabelPreviewImage.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!./vLabelPreviewImage.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vLabelPreviewImage.vue?vue&type=template&id=60a6ab82&scoped=true\"\nimport script from \"./vLabelPreviewImage.vue?vue&type=script&lang=ts\"\nexport * from \"./vLabelPreviewImage.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vLabelPreviewImage.vue?vue&type=style&index=0&id=60a6ab82&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  \"60a6ab82\",\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',[(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name == 'Canada' && _vm.packageLabelType == _vm.LabelTypeMetadata.FrontOfPack)?_c('div',{staticClass:\"alert alert-warning border border-warning\"},[_c('i',{staticClass:\"fa fa-info-circle\",attrs:{\"title\":\"exemptions\"}}),_vm._v(\"\\n    \"+_vm._s(_vm.translations.get(\"fop_warning\"))+\"\\n  \")]):_vm._e(),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-12 col-md-12\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations.get(\"label_format\")))]),_c('v-select',{attrs:{\"options\":_vm.labelFormatOptions,\"label\":\"formatTranslationKey\",\"reduce\":_vm.foPFormatReducer,\"clearable\":false,\"disabled\":!_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload},on:{\"input\":_vm.fetchLabelFormats},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_vm._v(\"\\n            \"+_vm._s(_vm.translations.get(option.formatTranslationKey))+\"\\n          \")]}},{key:\"selected-option\",fn:function(option){return [_vm._v(\"\\n            \"+_vm._s(_vm.translations.get(option.formatTranslationKey))+\"\\n          \")]}}]),model:{value:(_vm.selectedFormat),callback:function ($$v) {_vm.selectedFormat=$$v},expression:\"selectedFormat\"}})],1)]),_c('div',{staticClass:\"col-12 col-md-12\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations.get(\"pds_size\")))]),_c('v-select',{attrs:{\"label\":\"translationKey\",\"options\":_vm.pdsSizeOptions,\"disabled\":!_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].fopFormat || !_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload,\"reduce\":_vm.foPPDSReducer,\"clearable\":false},on:{\"input\":_vm.fetchPreview},scopedSlots:_vm._u([{key:\"option\",fn:function(option){return [_vm._v(\"\\n            \"+_vm._s(_vm.translations.get(option.translationKey))+\"\\n          \")]}},{key:\"selected-option\",fn:function(option){return [_vm._v(\"\\n            \"+_vm._s(_vm.translations.get(option.translationKey))+\"\\n          \")]}}]),model:{value:(_vm.selectedPDS),callback:function ($$v) {_vm.selectedPDS=$$v},expression:\"selectedPDS\"}})],1)]),_c('div',{staticClass:\"checkbox check-primary col-6\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload),expression:\"model.labelTypes[LabelTypeMetadata.FrontOfPack].includeInDownload\"}],attrs:{\"id\":\"includeInDownload\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload)?_vm._i(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload,null)>-1:(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload)},on:{\"change\":function($event){var $$a=_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack].includeInDownload,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack], \"includeInDownload\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack], \"includeInDownload\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.model.labelTypes[_vm.LabelTypeMetadata.FrontOfPack], \"includeInDownload\", $$c)}}}}),_c('label',{attrs:{\"for\":\"includeInDownload\"}},[_vm._v(_vm._s(_vm.translations.get(\"fop_include_in_download\")))])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Component, Model, Prop, Vue } from \"vue-property-decorator\";\r\nimport { LocalizationState } from \"@/store/modules/LocalizationModule\";\r\nimport { mapState } from \"vuex\";\r\nimport { FOPLabelFormatData } from \"@/models/NutritionLabels/FOPLabelFormatData\";\r\nimport { SupportedPDS } from \"@/models/NutritionLabels/SupportedPDS\";\r\nimport NutritionLabelRepository from \"@/utils/API/NutritionLabelRepository\";\r\nimport { ExportLabelState } from \"@/models/NutritionLabels/ExportLabelState\";\r\nimport { CanadaFOPHighInMetadata } from \"@/models/NutritionLabels/CanadaFOPHighInMetadata\";\r\nimport { LabelTypeMetadata } from \"@/models/NutritionLabels/LabelTypeMetadata\";\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 vFrontOfPackageConfig extends Vue {\r\n  @Model() model!: ExportLabelState;\r\n  @Prop() recipeId!: number;\r\n  @Prop() packageLabelType!: LabelTypeMetadata;\r\n  @Prop() highIn!: CanadaFOPHighInMetadata;\r\n\r\n  pdsSizeOptions: SupportedPDS[] = [];\r\n\r\n  private localizationState!: LocalizationState;\r\n  labelFormatOptions: FOPLabelFormatData[] = [];\r\n\r\n  LabelTypeMetadata = LabelTypeMetadata;\r\n\r\n  selectedFormat: FOPLabelFormatData = null;\r\n  selectedPDS: SupportedPDS = null;\r\n\r\n  get translations() {\r\n    return this.localizationState.translations;\r\n  }\r\n\r\n  created() {\r\n    this.loadLabelFormats();\r\n  }\r\n\r\n  loadLabelFormats() {\r\n    if (this.model.nutritionCountry && this.model.nutritionCountry.name == \"Canada\") {\r\n      NutritionLabelRepository.getFrontOfPackageOptions().then((response) => {\r\n        this.labelFormatOptions = response.data.result;\r\n        let savedFormat = this.labelFormatOptions.find(\r\n          (x: any) => x.formatValue == this.model.labelTypes[LabelTypeMetadata.FrontOfPack].fopFormat\r\n        );\r\n\r\n        this.updateFOPSelections(savedFormat);\r\n      });\r\n    }\r\n  }\r\n\r\n  updateFOPSelections(selectedFormat : FOPLabelFormatData){\r\n    this.selectedPDS = selectedFormat.supportedPDS.find(\r\n      (x: any) => x.value == this.model.labelTypes[LabelTypeMetadata.FrontOfPack].pdsSize\r\n    );\r\n    this.selectedFormat = selectedFormat;\r\n\r\n    this.pdsSizeOptions = selectedFormat.supportedPDS;\r\n    this.fetchFOPLabel();\r\n  }\r\n\r\n  foPFormatReducer(fopData: FOPLabelFormatData) {\r\n    return fopData.formatValue;\r\n  }\r\n\r\n  foPPDSReducer(pdsData: SupportedPDS) {\r\n    return pdsData.translationKey;\r\n  }\r\n\r\n  //Load FOP Label\r\n  fetchFOPLabel(){\r\n    const data = {\r\n      recipeId: this.recipeId,\r\n      labelFormatValue: this.model.labelTypes[LabelTypeMetadata.FrontOfPack].fopFormat,\r\n      pdsSizeValue: this.model.labelTypes[LabelTypeMetadata.FrontOfPack].pdsSize,\r\n      labelType: this.packageLabelType,\r\n      highInMetadata: this.highIn\r\n    };\r\n    this.model.loading = true;\r\n    NutritionLabelRepository.previewFOPNutritionLabel(data)\r\n      .then((response) => {\r\n        this.model.loading = false;\r\n        this.model.fopLabelPreview = response.data.result.content;\r\n        this.model.fopNutritionLabelId = response.data.result.id;\r\n        this.model.disableDownload = false;\r\n      });\r\n  }\r\n\r\n  fetchLabelFormats(selectedFormat : FOPLabelFormatData) {\r\n    const selected = this.labelFormatOptions.find(\r\n      (format) => format.formatValue === selectedFormat.formatValue\r\n    );\r\n\r\n    if (selected) {\r\n      this.selectedFormat = selected;\r\n      this.model.labelTypes[LabelTypeMetadata.FrontOfPack].fopFormat = selected.formatValue;\r\n      this.updatePDSSizes(selected.supportedPDS);\r\n    }\r\n  }\r\n\r\n  updatePDSSizes(supportedPDS : SupportedPDS[]) {\r\n    this.pdsSizeOptions = supportedPDS;\r\n\r\n    this.selectedPDS = this.pdsSizeOptions[0];\r\n    this.model.labelTypes[LabelTypeMetadata.FrontOfPack].pdsSize = this.selectedPDS.value;\r\n    this.fetchFOPLabel();\r\n  }\r\n\r\n  fetchPreview() {\r\n    this.model.labelTypes[LabelTypeMetadata.FrontOfPack].pdsSize = this.selectedPDS.value;\r\n    this.fetchFOPLabel();\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!./vFrontOfPackageConfig.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!./vFrontOfPackageConfig.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vFrontOfPackageConfig.vue?vue&type=template&id=3ea41e98\"\nimport script from \"./vFrontOfPackageConfig.vue?vue&type=script&lang=ts\"\nexport * from \"./vFrontOfPackageConfig.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  null,\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',[(_vm.model.nutritionCountry\n      && _vm.model.nutritionCountry.name === 'Canada'\n      && _vm.packageLabelType == _vm.LabelTypeMetadata.FrontOfPack\n    )?_c('div',{staticClass:\"alert alert-warning border border-warning\"},[_c('i',{staticClass:\"fa fa-info-circle\",attrs:{\"title\":\"exemptions\"}}),_vm._v(\"\\n    \"+_vm._s(_vm.translations.get(\"fop_info\"))+\"\\n  \")]):_vm._e(),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"row col-12\"},[_c('div',{staticClass:\"form-group col-md-6\"},[_c('label',[_vm._v(_vm._s(_vm.translations.get(\"labels_country\")))]),_c('v-select',{attrs:{\"options\":_vm.nutritionCountries,\"label\":\"name\"},on:{\"change\":_vm.fetchNutritionLabels},model:{value:(_vm.model.nutritionCountry),callback:function ($$v) {_vm.$set(_vm.model, \"nutritionCountry\", $$v)},expression:\"model.nutritionCountry\"}})],1),(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name !== 'UK')?_c('div',{staticClass:\"toggle-container toggle-container-two-label col-md-6 justify-content-center\",staticStyle:{\"margin-top\":\"20px\"}},[_c('label',{staticClass:\"inline-toggle-label\"},[_vm._v(_vm._s(\"Nutrition Facts\"))]),_c('vToggleSwitch',{on:{\"toggled\":_vm.updateFilters},model:{value:(_vm.showSupplementFactsLabels),callback:function ($$v) {_vm.showSupplementFactsLabels=$$v},expression:\"showSupplementFactsLabels\"}}),_c('label',{staticClass:\"inline-toggle-label\"},[_vm._v(_vm._s(\"Supplemented Facts\"))])],1):_vm._e()]),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"d-flex\",staticStyle:{\"gap\":\"1rem\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.translations.get(\"labels_label_type\"))+\"\\n        \")]),_c('v-select',{attrs:{\"options\":_vm.filteredNutritionLabels,\"label\":\"name\",\"disabled\":_vm.model.nutritionCountry === null},on:{\"input\":_vm.fetchFreeTextFields},scopedSlots:_vm._u([{key:\"list-footer\",fn:function(){return [_c('li',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"Not what you're looking for? Contact support for specialized labels.\")])]},proxy:true}]),model:{value:(_vm.model.nutritionLabel),callback:function ($$v) {_vm.$set(_vm.model, \"nutritionLabel\", $$v)},expression:\"model.nutritionLabel\"}})],1)]),_vm._l((_vm.model.freeTextPlaceholders),function(placeholder){return _c('div',{key:'placeholder' + placeholder.id,staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(placeholder.displayText))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(placeholder.content),expression:\"placeholder.content\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(placeholder.content)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(placeholder, \"content\", $event.target.value)},_vm.debouncedFetchPreview]}})])])}),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"checkbox check-primary col-6\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model.includeIngredients),expression:\"model.includeIngredients\"}],attrs:{\"id\":\"includeIngredients\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.model.includeIngredients)?_vm._i(_vm.model.includeIngredients,null)>-1:(_vm.model.includeIngredients)},on:{\"change\":[function($event){var $$a=_vm.model.includeIngredients,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.model, \"includeIngredients\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.model, \"includeIngredients\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.model, \"includeIngredients\", $$c)}},_vm.debouncedFetchPreview]}}),_c('label',{attrs:{\"for\":\"includeIngredients\"}},[_vm._v(_vm._s(_vm.translations.get(\"labels_include_ingred\")))])]),(_vm.model.includeIngredients && _vm.subRecipeDisplays.length > 0)?_c('div',{staticClass:\"toggle-container toggle-container-two-label col-6\"},[_c('label',{staticClass:\"inline-toggle-label\"},[_vm._v(_vm._s(_vm.translations.get(\"labels_subrecipes_combined\")))]),_c('vToggleSwitch',{on:{\"toggled\":function($event){return _vm.toggleSubrecipeExpansion()}},model:{value:(_vm.model.renderExpandedSubrecipes),callback:function ($$v) {_vm.$set(_vm.model, \"renderExpandedSubrecipes\", $$v)},expression:\"model.renderExpandedSubrecipes\"}}),_c('label',{staticClass:\"inline-toggle-label\"},[_vm._v(_vm._s(_vm.translations.get(\"labels_subrecipes_expanded\")))])],1):_vm._e()]),_c('div',{staticClass:\"form-group\",staticStyle:{\"margin-top\":\"20px\"}},[_c('label',{staticStyle:{\"font-size\":\"12px\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.translations.get(\"labels_ingredients\")))])]),_c('div',{staticClass:\"col-12 form-group\",staticStyle:{\"margin-left\":\"-14px\",\"margin-top\":\"-13px\",\"display\":\"flex\"}},[_c('div',[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n              _vm.model.headerLabelTranslations\n                .ingredientsPrimaryLanguageTranslation\n            ),expression:\"\\n              model.headerLabelTranslations\\n                .ingredientsPrimaryLanguageTranslation\\n            \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n              _vm.model.headerLabelTranslations\n                .ingredientsPrimaryLanguageTranslation\n            )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n                , \"ingredientsPrimaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})]),(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name != 'UK')?_c('div',{staticStyle:{\"margin-left\":\"40px\"}},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n              _vm.model.headerLabelTranslations\n                .ingredientsSecondaryLanguageTranslation\n            ),expression:\"\\n              model.headerLabelTranslations\\n                .ingredientsSecondaryLanguageTranslation\\n            \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n              _vm.model.headerLabelTranslations\n                .ingredientsSecondaryLanguageTranslation\n            )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n                , \"ingredientsSecondaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})]):_vm._e()]),_c('vIngredientsDisplayNames',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.model.includeIngredients),expression:\"model.includeIngredients\"}],attrs:{\"ingredient-displays\":_vm.ingredientAndSubRecipeDisplays,\"country\":_vm.model.nutritionCountry},on:{\"update\":_vm.fetchPreview}}),(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name === 'USA')?_c('vUSContainsPercentOfForm',{on:{\"all-input\":_vm.debouncedFetchPreview},model:{value:(_vm.model.containsLessThanPercentOf),callback:function ($$v) {_vm.$set(_vm.model, \"containsLessThanPercentOf\", $$v)},expression:\"model.containsLessThanPercentOf\"}}):_vm._e()],1)],2),_c('hr'),_c('vAccordion',{attrs:{\"accordion-title-translation-key\":\"labels_dietary\"}},[_c('template',{slot:\"accordion-content\"},_vm._l((_vm.dietaryTypes),function(type){return _c('span',{key:type.name,staticClass:\"item\"},[(_vm.model.isIE)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(type.isChecked),expression:\"type.isChecked\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(type.isChecked)?_vm._i(type.isChecked,null)>-1:(type.isChecked)},on:{\"change\":[function($event){var $$a=type.isChecked,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(type, \"isChecked\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(type, \"isChecked\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(type, \"isChecked\", $$c)}},function($event){$event.preventDefault();return _vm.toggleDietary(type.value)}]}}):_c('vToggleSwitch',{on:{\"toggled\":function($event){return _vm.toggleDietary(type.value)}},model:{value:(type.isChecked),callback:function ($$v) {_vm.$set(type, \"isChecked\", $$v)},expression:\"type.isChecked\"}}),_c('label',[_vm._v(_vm._s(type.name))])],1)}),0)],2),_c('hr'),_c('vAccordion',{attrs:{\"accordion-title-translation-key\":\"labels_cautionary_messages\"}},[_c('template',{slot:\"accordion-content\"},[_c('div',{staticClass:\"col-12 form-group\"},[_c('label',{staticClass:\"label-header\"},[_vm._v(_vm._s(_vm.translations.get(\"labels_cautionary_message\")))])]),_c('div',{staticClass:\"row col-12 form-group accordion-content\"},[_c('div',[_c('label',{staticClass:\"label-subheader\"},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n              _vm.model.headerLabelTranslations\n                .cautionaryMessagePrimaryLanguageTranslation\n            ),expression:\"\\n              model.headerLabelTranslations\\n                .cautionaryMessagePrimaryLanguageTranslation\\n            \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n              _vm.model.headerLabelTranslations\n                .cautionaryMessagePrimaryLanguageTranslation\n            )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n                , \"cautionaryMessagePrimaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})]),(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name != 'UK')?_c('div',{staticStyle:{\"margin-left\":\"40px\"}},[_c('label',{staticClass:\"label-subheader\"},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n              _vm.model.headerLabelTranslations\n                .cautionaryMessageSecondaryLanguageTranslation\n            ),expression:\"\\n              model.headerLabelTranslations\\n                .cautionaryMessageSecondaryLanguageTranslation\\n            \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n              _vm.model.headerLabelTranslations\n                .cautionaryMessageSecondaryLanguageTranslation\n            )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n                , \"cautionaryMessageSecondaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})]):_vm._e()]),_c('div',{staticClass:\"col-12 form-group\"},[_c('label',{staticClass:\"label-header\"},[_vm._v(_vm._s(_vm.translations.get(\"labels_cautionary_message_body\")))]),_c('br'),_c('label',{staticClass:\"label-subheader\"},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n            _vm.model.cautionaryMessage.primaryLanguageAdditionalContent\n          ),expression:\"\\n            model.cautionaryMessage.primaryLanguageAdditionalContent\\n          \"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"maxlength\":\"250\"},domProps:{\"value\":(\n            _vm.model.cautionaryMessage.primaryLanguageAdditionalContent\n          )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.cautionaryMessage, \"primaryLanguageAdditionalContent\", $event.target.value)},_vm.debouncedFetchPreview]}}),(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name != 'UK')?_c('div',[_c('label',{staticClass:\"label-subheader\"},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n              _vm.model.cautionaryMessage.secondaryLanguageAdditionalContent\n            ),expression:\"\\n              model.cautionaryMessage.secondaryLanguageAdditionalContent\\n            \"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"maxlength\":\"250\"},domProps:{\"value\":(\n              _vm.model.cautionaryMessage.secondaryLanguageAdditionalContent\n            )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.cautionaryMessage, \"secondaryLanguageAdditionalContent\", $event.target.value)},_vm.debouncedFetchPreview]}})]):_vm._e()])])],2),_c('hr'),(_vm.model.nutritionCountry && _vm.model.nutritionCountry.name != 'UK')?_c('vAccordion',{attrs:{\"accordion-title-translation-key\":\"labels_allergies\"}},[_c('template',{slot:\"accordion-content\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticStyle:{\"font-size\":\"12px\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.translations.get(\"labels_contains\")))])])]),_c('div',{staticClass:\"col-12 form-group\",staticStyle:{\"margin-top\":\"-13px\",\"display\":\"flex\",\"margin-bottom\":\"28px\"}},[_c('div',[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n              _vm.model.headerLabelTranslations\n                .containsPrimaryLanguageTranslation\n            ),expression:\"\\n              model.headerLabelTranslations\\n                .containsPrimaryLanguageTranslation\\n            \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n              _vm.model.headerLabelTranslations\n                .containsPrimaryLanguageTranslation\n            )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n                , \"containsPrimaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})]),_c('div',{staticStyle:{\"margin-left\":\"40px\"}},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n              _vm.model.headerLabelTranslations\n                .containsSecondaryLanguageTranslation\n            ),expression:\"\\n              model.headerLabelTranslations\\n                .containsSecondaryLanguageTranslation\\n            \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n              _vm.model.headerLabelTranslations\n                .containsSecondaryLanguageTranslation\n            )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n                , \"containsSecondaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})])]),_c('div',{staticClass:\"col-12 toggle-container\"},_vm._l((_vm.model.allergens),function(allergen){return _c('span',{key:allergen.id,staticClass:\"item\"},[(_vm.model.isIE)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(allergen.isChecked),expression:\"allergen.isChecked\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(allergen.isChecked)?_vm._i(allergen.isChecked,null)>-1:(allergen.isChecked)},on:{\"change\":function($event){var $$a=allergen.isChecked,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(allergen, \"isChecked\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(allergen, \"isChecked\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(allergen, \"isChecked\", $$c)}}}}):_c('vToggleSwitch',{on:{\"toggled\":function($event){return _vm.updateAllergenStatus(allergen, $event)}},model:{value:(allergen.isChecked),callback:function ($$v) {_vm.$set(allergen, \"isChecked\", $$v)},expression:\"allergen.isChecked\"}}),_c('label',{staticStyle:{\"margin-left\":\"6px\",\"font-weight\":\"700\"}},[_vm._v(_vm._s(allergen.id))]),_c('div',{staticClass:\"form-group\"},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(allergen.primaryLanguageName),expression:\"allergen.primaryLanguageName\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(allergen.primaryLanguageName)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(allergen, \"primaryLanguageName\", $event.target.value)},_vm.debouncedFetchPreview]}}),_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(allergen.secondaryLanguageName),expression:\"allergen.secondaryLanguageName\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(allergen.secondaryLanguageName)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(allergen, \"secondaryLanguageName\", $event.target.value)},_vm.debouncedFetchPreview]}})])],1)}),0),_c('div',{staticClass:\"col-12\",staticStyle:{\"margin-top\":\"28px\"}},[_c('div',{staticClass:\"form-group\",staticStyle:{\"margin-bottom\":\"-16px\"}},[_c('label',{staticStyle:{\"font-size\":\"12px\",\"font-weight\":\"bold\",\"margin-bottom\":\"20px\"}},[_vm._v(_vm._s(_vm.translations.get(\"labels_may_contain\")))])])]),_c('div',{staticClass:\"col-12 form-group\",staticStyle:{\"margin-top\":\"-13px\",\"display\":\"flex\"}},[_c('div',[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n              _vm.model.headerLabelTranslations\n                .mayContainPrimaryLanguageTranslation\n            ),expression:\"\\n              model.headerLabelTranslations\\n                .mayContainPrimaryLanguageTranslation\\n            \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n              _vm.model.headerLabelTranslations\n                .mayContainPrimaryLanguageTranslation\n            )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n                , \"mayContainPrimaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})]),_c('div',{staticStyle:{\"margin-left\":\"40px\"}},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n              _vm.model.headerLabelTranslations\n                .mayContainSecondaryLanguageTranslation\n            ),expression:\"\\n              model.headerLabelTranslations\\n                .mayContainSecondaryLanguageTranslation\\n            \"}],staticClass:\"form-control\",staticStyle:{\"width\":\"150px\"},attrs:{\"type\":\"text\"},domProps:{\"value\":(\n              _vm.model.headerLabelTranslations\n                .mayContainSecondaryLanguageTranslation\n            )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.headerLabelTranslations\n                , \"mayContainSecondaryLanguageTranslation\", $event.target.value)},_vm.debouncedFetchPreview]}})])]),_c('div',{staticClass:\"col-12 form-group\",staticStyle:{\"margin-top\":\"20px\"}},[_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_primary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n            _vm.model.mayContain.primaryLanguageAdditionalContent\n          ),expression:\"\\n            model.mayContain.primaryLanguageAdditionalContent\\n          \"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(\n            _vm.model.mayContain.primaryLanguageAdditionalContent\n          )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.mayContain, \"primaryLanguageAdditionalContent\", $event.target.value)},_vm.debouncedFetchPreview]}}),_c('label',{staticStyle:{\"font-size\":\"9px\",\"margin-bottom\":\"0px\"}},[_vm._v(_vm._s(_vm.translations.get(\"label_export_secondary_label\")))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(\n            _vm.model.mayContain\n              .secondaryLanguageAdditionalContent\n          ),expression:\"\\n            model.mayContain\\n              .secondaryLanguageAdditionalContent\\n          \"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(\n            _vm.model.mayContain\n              .secondaryLanguageAdditionalContent\n          )},on:{\"input\":[function($event){if($event.target.composing)return;_vm.$set(_vm.model.mayContain\n              , \"secondaryLanguageAdditionalContent\", $event.target.value)},_vm.debouncedFetchPreview]}})])])],2):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport { Vue, Component, Prop, Model } from \"vue-property-decorator\";\r\nimport { LocalizationState } from \"@/store/modules/LocalizationModule\";\r\nimport { mapState } from \"vuex\";\r\n\r\nimport vToggleSwitch from \"./vToggleSwitch.vue\";\r\nimport vIngredientsDisplayNames from \"./vIngredientsDisplayNames.vue\";\r\nimport vUSContainsPercentOfForm from \"./vUSContainsPercentOfForm.vue\";\r\nimport vAccordion from \"./vAccordion.vue\";\r\nimport { ExportLabelState } from \"@/models/NutritionLabels/ExportLabelState\";\r\nimport NutritionLabelRepository from \"@/utils/API/NutritionLabelRepository\";\r\nimport { NutritionLabel } from \"@/models/NutritionLabels/NutritionLabel\";\r\nimport Language from \"@/models/Language\";\r\nimport { NutritionCountry } from \"@/models/NutritionLabels/NutritionCountry\";\r\nimport { Recipe } from \"@/models/Recipes/Recipe\";\r\nimport { RecipeCompositionMeasurement } from \"@/models/Recipes/RecipeCompositionMeasurement\";\r\nimport { debounce } from \"@/utils/Helpers\";\r\nimport { DietaryTypes } from \"@/models/NutritionLabels/DietaryTypes\";\r\nimport { LabelTypeMetadata } from \"@/models/NutritionLabels/LabelTypeMetadata\";\r\nimport IngredientDisplay from \"@/models/Ingredient/IngredientDisplay\";\r\n\r\n@Component({\r\n  components: {\r\n    vToggleSwitch,\r\n    vIngredientsDisplayNames,\r\n    vUSContainsPercentOfForm,\r\n    vAccordion\r\n  },\r\n  computed: {\r\n    ...mapState({\r\n      localizationState: (state: any) => state.LocalizationModule,\r\n      accountStoreState: (state: any) => state.AccountModule,\r\n    }),\r\n  },\r\n})\r\nexport default class vBackOfPackageConfig extends Vue {\r\n  LabelTypeMetadata = LabelTypeMetadata;\r\n  localizationState: LocalizationState;\r\n\r\n  @Model() model!: ExportLabelState;\r\n  @Prop() recipe!: Recipe;\r\n  @Prop() nutritionCountries!: NutritionCountry[];\r\n  @Prop() packageLabelType!: LabelTypeMetadata;\r\n  @Prop() languages!: Language[];\r\n  @Prop({\r\n    default: (): RecipeCompositionMeasurement[] => {\r\n      return [];\r\n    }\r\n  }) subrecipeMeasurements!: RecipeCompositionMeasurement[];\r\n\r\n  nutritionLabels: NutritionLabel[] = [];\r\n  filteredNutritionLabels: NutritionLabel[] = [];\r\n  subRecipeDisplays: IngredientDisplay[] = [];\r\n  showSupplementFactsLabels: boolean = false;\r\n\r\n  created(){\r\n    this.ingredientAndSubRecipeDisplaysInit();\r\n  }\r\n\r\n  ingredientAndSubRecipeDisplaysInit() {\r\n    this.subRecipeDisplays = this.model.getSubRecipeDisplays(this.recipe, this.subrecipeMeasurements);\r\n\r\n    if(this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList.length == 0){\r\n      this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList = this.model.getIngredientAndSubRecipeDisplays(\r\n        this.recipe,\r\n        this.subrecipeMeasurements,\r\n        true\r\n      );\r\n    }\r\n\r\n    if(this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList.length == 0){\r\n      this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList = this.model.getIngredientAndSubRecipeDisplays(\r\n        this.recipe,\r\n        this.subrecipeMeasurements,\r\n        false\r\n      );\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Runs when the user toggles the switch between nutrition facts and supplemented facts\r\n   */\r\n  updateFilters() {\r\n    console.log(\"toggle event\");\r\n    this.showSupplementFactsLabels = !this.showSupplementFactsLabels;\r\n    this.updateLabelTypeList();\r\n    this.fetchFreeTextFields();\r\n    this.fetchPreview();\r\n\r\n    // We do this to ensure the selected item is one of the selected label types\r\n    this.resetNutritionLabel();\r\n  }\r\n\r\n  updateLabelTypeList() {\r\n    let sortKey = null;\r\n    if (this.showSupplementFactsLabels) {\r\n      sortKey = (x: NutritionLabel) => x.labelType === LabelTypeMetadata.SupplementFact;\r\n    }\r\n\r\n    else {\r\n      sortKey = (x: NutritionLabel) => x.labelType === LabelTypeMetadata.BackOfPack;\r\n    }\r\n\r\n    this.filteredNutritionLabels = this.nutritionLabels.filter(sortKey);\r\n  }\r\n\r\n  resetNutritionLabel(){\r\n    this.model.nutritionLabel = this.filteredNutritionLabels[0];\r\n  }\r\n\r\n  labelWidth() {\r\n    let width: any = 0;\r\n    let label = <HTMLImageElement>document.getElementById(\"labelPreview\");\r\n    width = label.naturalWidth;\r\n    return width;\r\n  }\r\n\r\n  labelHeight() {\r\n    let height: any = 0;\r\n\r\n    let label = <HTMLImageElement>document.getElementById(\"labelPreview\");\r\n    height = label.naturalHeight;\r\n\r\n    return height;\r\n  }\r\n\r\n  updateAllergenStatus(allergen: any, isChecked: boolean) {\r\n    allergen.isChecked = isChecked;\r\n    this.fetchPreview();\r\n  }\r\n\r\n  async fetchNutritionLabels() {\r\n    // TEMP: While we only have supplement facts labels for Canada, we always reset the toggle when changing countries\r\n    // This should be changed once we approach US labels\r\n    this.showSupplementFactsLabels = false;\r\n\r\n    if (this.model.nutritionCountry) {\r\n      const response = await NutritionLabelRepository.listNutritionLabels(\r\n        this.model.nutritionCountry.id,\r\n        LabelTypeMetadata.BackOfPack | LabelTypeMetadata.SupplementFact\r\n      );\r\n\r\n      this.nutritionLabels = response.data.result;\r\n\r\n      if (this.model.savedNutritionLabelId > 0) {\r\n        let nutritionLabel = this.nutritionLabels.find(\r\n          (x: any) => x.id == this.model.savedNutritionLabelId\r\n        );\r\n        this.model.nutritionLabel = nutritionLabel ? nutritionLabel : null;\r\n      }\r\n\r\n      // else {\r\n      //   this.model.nutritionLabel = this.nutritionLabels[0];\r\n      // }\r\n\r\n      if (this.languages.length) {\r\n        this.model.primaryLanguage = this.languages[0];\r\n      }\r\n\r\n      //this.filteredNutritionLabels = this.nutritionLabels;\r\n\r\n      this.fetchFreeTextFields();\r\n      this.updateLabelTypeList();\r\n    }\r\n    else {\r\n      this.model.nutritionLabel = null;\r\n    }\r\n  }\r\n\r\n  fetchFreeTextFields() {\r\n    if (this.model.nutritionLabel) {\r\n      NutritionLabelRepository.getFreeTextPlaceholdersForNutritionLabel(\r\n        this.model.nutritionLabel ? this.model.nutritionLabel.id : 0\r\n      )\r\n        .then((response) => {\r\n          if (response.data.result) {\r\n            let freeTextPlaceholders = response.data.result.map((x: any) => {\r\n              const freeTextPlaceholder = this.model.freeTextPlaceholders.find(\r\n                (y: any) => y.id == x.id\r\n              );\r\n              if (freeTextPlaceholder) {\r\n                x.content = freeTextPlaceholder.content;\r\n              }\r\n              else if (this.model.textPlaceholdersOfSavedLabel != null) {\r\n                /*\r\n                  Check to see if the prevouosly saved label has a placeholder content,\r\n                  then populate the content of the placeholder with its value.\r\n                  Covers the scenario when the user has a saved label but shuffels through other ones.\r\n                */\r\n                const freeTextPlaceholder = this.model.textPlaceholdersOfSavedLabel.find(\r\n                  (y: any) => y.id == x.id\r\n                );\r\n                if (freeTextPlaceholder) {\r\n                  x.content = freeTextPlaceholder.content;\r\n                }\r\n              }\r\n              return x;\r\n            });\r\n            this.model.freeTextPlaceholders = freeTextPlaceholders;\r\n            this.fetchPreview();\r\n          }\r\n        })\r\n        .catch(() => {\r\n          this.$snotify.error(\"Something happened! :(\");\r\n        });\r\n    }\r\n  }\r\n\r\n  debouncedFetchPreview() {\r\n    debounce(this.fetchPreview, 1000, \"back-of-package-config-label-update\");\r\n  }\r\n\r\n  toggleSubrecipeExpansion() {\r\n    this.model.renderExpandedSubrecipes = !this.model.renderExpandedSubrecipes;\r\n\r\n    if(this.model.renderExpandedSubrecipes){\r\n      this.updateIngredientName();\r\n    }\r\n    else{\r\n      this.copyIngredientNamesOver();\r\n    }\r\n\r\n    this.debouncedFetchPreview();\r\n  }\r\n\r\n  copyIngredientNamesOver(){\r\n    this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList.forEach((expandedItem) => {\r\n      const itemIndex = this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList.findIndex((i) => i.ingredientId === expandedItem.ingredientId);\r\n\r\n      if (itemIndex !== -1) {\r\n        this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList[itemIndex].displayTextInSecondaryLanguage = expandedItem.displayTextInSecondaryLanguage;\r\n        this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList[itemIndex].displayTextInPrimaryLanguage = expandedItem.displayTextInPrimaryLanguage;\r\n        this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList[itemIndex].displayText = expandedItem.displayText;\r\n      }\r\n    });\r\n  }\r\n\r\n  updateIngredientName(){\r\n    this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList.forEach((expandedItem) => {\r\n      const itemIndex = this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList.findIndex((i) => i.ingredientId === expandedItem.ingredientId);\r\n\r\n      if (itemIndex !== -1) {\r\n        this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList[itemIndex].displayTextInSecondaryLanguage = expandedItem.displayTextInSecondaryLanguage;\r\n        this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList[itemIndex].displayTextInPrimaryLanguage = expandedItem.displayTextInPrimaryLanguage;\r\n        this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList[itemIndex].displayText = expandedItem.displayText;\r\n      }\r\n    });\r\n  }\r\n\r\n\r\n  toggleDietary(value: number) {\r\n    if (this.model.dietary.includes(value)) {\r\n      this.model.dietary.splice(\r\n        this.model.dietary.indexOf(value),\r\n        1\r\n      );\r\n    }\r\n    else {\r\n      this.model.dietary.push(value);\r\n    }\r\n\r\n    this.fetchPreview();\r\n  }\r\n\r\n  fetchPreview() {\r\n    if (this.model.nutritionCountry && this.model.nutritionLabel && this.model.primaryLanguage) {\r\n      if (this.model.nutritionCountry.name == \"UK\") {\r\n        this.model.headerLabelTranslations.ingredientsSecondaryLanguageTranslation =\r\n          \"\";\r\n        this.model.getIngredientDisplays(this.recipe).map((ingredient) => {\r\n          ingredient.displayTextInSecondaryLanguage = \"\";\r\n        });\r\n      }\r\n\r\n      this.model.disableDownload = true;\r\n      this.model.loading = true;\r\n\r\n      NutritionLabelRepository.previewNutritionLabelForRecipe({\r\n        recipeId: this.recipe.id,\r\n        allergens: this.checkedAllergens,\r\n        nutritionLabelId: this.model.nutritionLabel ? this.model.nutritionLabel.id : 0,\r\n        primaryLanguage: this.model.primaryLanguage ? this.model.primaryLanguage.value : \"\",\r\n        secondaryLanguage: this.model.secondaryLanguage ? this.model.secondaryLanguage.value : \"\",\r\n        dietaryTypes: this.model.dietary,\r\n        ingredientsIncluded: this.model.includeIngredients,\r\n        additionalContent: this.model.mayContain,\r\n        cautionaryMessage: this.model.cautionaryMessage,\r\n        containsLessThanPercentOfText: this.model.containsLessThanPercentOf,\r\n        headerTranslations: this.model.headerLabelTranslations,\r\n        nutritionLabelDownloadFileFormat: 0,\r\n        labelWidth: 0,\r\n        labelHeight: 0,\r\n        freeTextPlaceholders: this.model.freeTextPlaceholders,\r\n        ingredientDisplayModels: this.model.renderExpandedSubrecipes\r\n          ? this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList\r\n          : this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n      })\r\n        .then((response) => {\r\n          this.model.labelPreview = response.data.result;\r\n          this.model.loading = false;\r\n          this.model.disableDownload = false;\r\n        });\r\n    }\r\n  }\r\n\r\n  get ingredientAndSubRecipeDisplays(){\r\n    if(this.model.renderExpandedSubrecipes) {\r\n      return this.model.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList;\r\n    }\r\n    else{\r\n      return this.model.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList;\r\n    }\r\n  }\r\n\r\n  get checkedAllergens() {\r\n    return this.model.allergens.filter((x) => x.isChecked == true);\r\n  }\r\n\r\n  get dietaryTypes() {\r\n    let types: { name: string; value: number; isChecked: boolean }[] = [];\r\n    for (let dt in DietaryTypes) {\r\n      let isValueProperty: boolean = parseInt(dt, 10) >= 0;\r\n      if (isValueProperty)\r\n        types.push({\r\n          name: this.translations.get(`labels_d_${DietaryTypes[dt]}`),\r\n          value: parseInt(dt),\r\n          isChecked: this.model.dietary.includes(parseInt(dt)),\r\n        });\r\n    }\r\n    return types;\r\n  }\r\n\r\n  get isBilingual() {\r\n    if (this.model.nutritionLabel) return this.model.nutritionLabel.isBilingual;\r\n    return false;\r\n  }\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!./vBackOfPackageConfig.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!./vBackOfPackageConfig.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vBackOfPackageConfig.vue?vue&type=template&id=3ae74e41&scoped=true\"\nimport script from \"./vBackOfPackageConfig.vue?vue&type=script&lang=ts\"\nexport * from \"./vBackOfPackageConfig.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vBackOfPackageConfig.vue?vue&type=style&index=0&id=3ae74e41&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  \"3ae74e41\",\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 (\n    _vm.exportLabelState.nutritionCountry &&\n      _vm.exportLabelState.nutritionLabel !== null &&\n      _vm.exportLabelState.primaryLanguage !== null\n  )?_c('div',{staticClass:\"text-right btn-group-container\",staticStyle:{\"position\":\"absolute\",\"bottom\":\"0\",\"right\":\"1%\"}},[(_vm.accountStoreState.userDetails.nutritionLabelsLimit.labelsLimit != null)?_c('div',{staticClass:\"col-md-12\"},[_c('p',{staticClass:\"m-0\"},[_vm._v(\"\\n      \"+_vm._s(_vm.accountStoreState.userDetails.nutritionLabelsLimit.downloadedLabels)+\"\\n      \"+_vm._s(_vm.translations.get(\"table_footer_of\"))+\"\\n      \"+_vm._s(_vm.accountStoreState.userDetails.nutritionLabelsLimit.labelsLimit)+\"\\n      \"+_vm._s(_vm.translations.get(\"downloaded-labels\"))+\".\\n      \"),_c('a',{attrs:{\"href\":\"#learnMore\",\"data-toggle\":\"modal\"},on:{\"click\":function($event){$event.preventDefault();_vm.showLearnMoreModal = true}}},[_vm._v(\"\\n        \"+_vm._s(_vm.translations.get(\"learn-more\"))+\"\\n      \")])]),_c('div',{staticClass:\"learn-more-container\"},[_c('vModal',{staticClass:\"learn-more-modal\",attrs:{\"modal-title\":_vm.translations.get('downloads-remaining'),\"show\":_vm.showLearnMoreModal,\"size\":'s'},on:{\"cancelModal\":function($event){_vm.showLearnMoreModal = false}}},[_c('p',[_vm._v(\"\\n          \"+_vm._s(_vm.translations.get(\"common-you-have\"))+\"\\n          \"),_c('strong',[_vm._v(_vm._s(_vm.remainingLabelDownloads))]),_vm._v(\"\\n          \"+_vm._s(_vm.translations.get(\"downloads-remaining-until\"))+\"\\n          \"),_c('strong',[_vm._v(_vm._s(_vm.$moment(_vm.accountStoreState.userDetails.nutritionLabelsLimit.nextResetDate).format(_vm.DATE_DISP_FORMAT)))]),_vm._v(\".\\n        \")]),_c('p',[_vm._v(\"\\n          \"+_vm._s(_vm.translations.get(\"if-labels-needed\"))+\"\\n          \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"../#/subscription\"}},[_vm._v(_vm._s(_vm.translations.get(\"upgrade-your-package\")))])])])],1)]):_vm._e(),(_vm.isFopDisplay)?_c('button',{staticClass:\"btn btn-cons btn-primary btn-small btn-download\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('load-bop-label-creator')}}},[_c('i',{staticClass:\"fa fa-chevron-circle-left\"}),_vm._v(\"\\n    \"+_vm._s(_vm.translations.get(\"previous\"))+\"\\n  \")]):_vm._e(),(_vm.shouldShowSaveButton())?_c('button',{staticClass:\"btn btn-cons btn-primary btn-small btn-download\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('save-label')}}},[_c('i',{staticClass:\"fa fa-save\"}),_vm._v(\"\\n    \"+_vm._s(_vm.translations.get(_vm.downloadingMultipleLabels ? \"labels_save_multiple\" : \"labels_save\"))+\"\\n  \")]):_vm._e(),(_vm.shouldShowDownloadButtons())?_c('button',{staticClass:\"btn btn-cons btn-primary btn-small btn-download\",class:{ disabled: _vm.exportLabelState.disableDownload },attrs:{\"disabled\":_vm.exportLabelState.disableDownload},on:{\"click\":function($event){$event.preventDefault();_vm.exportLabelState.disableDownload ? null : _vm.downloadLabel(0)}}},[_c('i',{staticClass:\"fa fa-file-pdf-o\"}),_vm._v(\"\\n    \"+_vm._s(_vm.translations.get(_vm.downloadingMultipleLabels ? \"download_labels_pdf\" : \"labels_download_pdf\"))+\"\\n  \")]):_vm._e(),(_vm.shouldShowDownloadButtons())?_c('button',{staticClass:\"btn btn-cons btn-primary btn-small\",class:{ disabled: _vm.exportLabelState.disableDownload },attrs:{\"disabled\":_vm.exportLabelState.disableDownload},on:{\"click\":function($event){$event.preventDefault();_vm.exportLabelState.disableDownload ? null : _vm.downloadLabel(1)}}},[_c('i',{staticClass:\"fa fa-file-image-o\"}),_vm._v(\"\\n    \"+_vm._s(_vm.translations.get(_vm.downloadingMultipleLabels ? \"download_labels_jpg\" : \"labels_download_jpg\"))+\"\\n  \")]):_vm._e(),(\n      _vm.exportLabelState.nutritionCountry\n        && _vm.exportLabelState.nutritionCountry.id === 0\n        && _vm.packageLabelType === _vm.LabelTypeMetadata.FrontOfPack && !_vm.isFopDisplay\n    )?_c('button',{staticClass:\"btn btn-cons btn-primary btn-small btn-download\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('load-fop-label-creator')}}},[_c('i',{staticClass:\"fa fa-chevron-circle-right\"}),_vm._v(\"\\n    \"+_vm._s(_vm.translations.get(\"common_continue\"))+\"\\n  \")]):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport vModal from \"@/components/vModal.vue\";\r\nimport { Vue, Component, Prop, Model } from \"vue-property-decorator\";\r\nimport { ExportLabelState } from \"@/models/NutritionLabels/ExportLabelState\";\r\nimport { mapState } from \"vuex\";\r\nimport { Recipe } from \"@/models/Recipes/Recipe\";\r\nimport { DownloadNutritionLabelContentTypes } from \"@/utils/API/RequestContentTypes\";\r\nimport { LabelTypeMetadata } from \"@/models/NutritionLabels/LabelTypeMetadata\";\r\nimport UserRepository from \"@/utils/API/UserRepository\";\r\nimport { SET_USER_DETAILS } from \"@/store/MutationTypes\";\r\nimport NutritionLabelRepository from \"@/utils/API/NutritionLabelRepository\";\r\nimport { CanadaFOPHighInMetadata } from \"@/models/NutritionLabels/CanadaFOPHighInMetadata\";\r\nimport { RecipeCompositionMeasurement } from \"@/models/Recipes/RecipeCompositionMeasurement\";\r\nimport { dateDisplayFormat } from \"@/utils/Defaults\";\r\nimport { AdditionalLabelInformation } from \"@/models/NutritionLabels/AdditionalLabelInformation\";\r\n\r\n@Component({\r\n  components: {\r\n    vModal,\r\n  },\r\n  computed: {\r\n    ...mapState({\r\n      localizationState: (state: any) => state.LocalizationModule,\r\n      accountStoreState: (state: any) => state.AccountModule,\r\n    }),\r\n  },\r\n})\r\nexport default class vExportLabelButtons extends Vue {\r\n  @Model() exportLabelState!: ExportLabelState;\r\n  @Prop() packageLabelType!: LabelTypeMetadata;\r\n  @Prop() isFopDisplay!: boolean;\r\n  @Prop() recipe!: Recipe;\r\n  @Prop() highIn!: CanadaFOPHighInMetadata;\r\n  @Prop() subrecipeMeasurements!: RecipeCompositionMeasurement[];\r\n\r\n  accountStoreState: any;\r\n  localizationState: any;\r\n  showLearnMoreModal = false;\r\n  DATE_DISP_FORMAT = dateDisplayFormat;\r\n\r\n  LabelTypeMetadata = LabelTypeMetadata;\r\n\r\n  get translations() {\r\n    return this.localizationState.translations;\r\n  }\r\n\r\n  get downloadingMultipleLabels() {\r\n    return (\r\n      this.isFopDisplay\r\n      && this.exportLabelState.labelTypes[LabelTypeMetadata.FrontOfPack].includeInDownload\r\n    );\r\n  }\r\n\r\n  get remainingLabelDownloads() {\r\n    let labelsCount = 0;\r\n    if (this.accountStoreState.userDetails.nutritionLabelsLimit.labelsLimit != null) {\r\n      labelsCount =\r\n        parseInt(this.accountStoreState.userDetails.nutritionLabelsLimit.labelsLimit) -\r\n        parseInt(this.accountStoreState.userDetails.nutritionLabelsLimit.downloadedLabels);\r\n    }\r\n\r\n    if (labelsCount < 0) {\r\n      labelsCount = 0;\r\n    }\r\n\r\n    return labelsCount;\r\n  }\r\n\r\n  shouldShowSaveButton() {\r\n    return (\r\n      this.exportLabelState.nutritionCountry\r\n      && this.exportLabelState.nutritionCountry.id !== 0)\r\n      || (\r\n        this.exportLabelState.nutritionCountry\r\n        && this.exportLabelState.nutritionCountry.id === 0\r\n        && (this.packageLabelType === LabelTypeMetadata.BackOfPack || this.packageLabelType === LabelTypeMetadata.FrontOfPack && this.isFopDisplay)\r\n      );\r\n  }\r\n\r\n  shouldShowDownloadButtons() {\r\n    return (\r\n      this.exportLabelState.nutritionLabel !== null\r\n      && this.exportLabelState.nutritionCountry.id !== 0\r\n      || (\r\n        this.exportLabelState.nutritionCountry\r\n        && (\r\n          (this.packageLabelType === LabelTypeMetadata.FrontOfPack && this.isFopDisplay)\r\n          || (this.packageLabelType === LabelTypeMetadata.BackOfPack && !this.isFopDisplay)\r\n        )\r\n      )\r\n    );\r\n  }\r\n\r\n  downloadLabel(fileType: number) {\r\n    if (this.$store.getters.getUserDetails.isTrial) {\r\n      this.$snotify.info(this.translations.get(\"toastr_download_label_trial\"));\r\n      this.$router.push({ name: \"subscription\" });\r\n      return;\r\n    }\r\n\r\n    this.exportLabelState.disableDownload = true;\r\n\r\n    // get the filename\r\n    let filename = this.recipe.name.split(\" \").join(\"_\");\r\n    let fileContentType: DownloadNutritionLabelContentTypes;\r\n\r\n    fileContentType = this.getFileContentType(fileType);\r\n\r\n    if (this.exportLabelState.nutritionCountry && this.exportLabelState.nutritionLabel && this.exportLabelState.primaryLanguage) {\r\n      const additionalLabelInformation: AdditionalLabelInformation = {};\r\n\r\n      if (this.exportLabelState.labelTypes[LabelTypeMetadata.FrontOfPack].includeInDownload) {\r\n        additionalLabelInformation[LabelTypeMetadata.FrontOfPack] = {\r\n          frontOfPackageNutritionLabelId: this.exportLabelState.fopNutritionLabelId,\r\n          highInMetadata: this.highIn,\r\n        };\r\n      }\r\n      NutritionLabelRepository.downloadNutritionLabelForRecipe(\r\n        {\r\n          recipeId: this.recipe.id,\r\n          allergens: this.exportLabelState.checkedAllergens,\r\n          nutritionLabelId: this.exportLabelState.nutritionLabel ? this.exportLabelState.nutritionLabel.id : 0,\r\n          primaryLanguage: this.exportLabelState.primaryLanguage ? this.exportLabelState.primaryLanguage.value : \"\",\r\n          secondaryLanguage: this.exportLabelState.secondaryLanguage ? this.exportLabelState.secondaryLanguage.value : \"\",\r\n          dietaryTypes: this.exportLabelState.dietary,\r\n          ingredientsIncluded: this.exportLabelState.includeIngredients,\r\n          headerTranslations: this.exportLabelState.headerLabelTranslations,\r\n          additionalContent: this.exportLabelState.mayContain,\r\n          cautionaryMessage: this.exportLabelState.cautionaryMessage,\r\n          containsLessThanPercentOfText: this.exportLabelState.containsLessThanPercentOf,\r\n          nutritionLabelDownloadFileFormat: fileType,\r\n          labelWidth: parseFloat(this.labelWidth()),\r\n          labelHeight: parseFloat(this.labelHeight()),\r\n          freeTextPlaceholders: this.exportLabelState.freeTextPlaceholders,\r\n          ingredientDisplayModels: this.exportLabelState.renderExpandedSubrecipes\r\n            ? this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList\r\n            : this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n          labelFormatType: this.packageLabelType,\r\n          additionalLabelInformation,\r\n          nutritionCountry: this.exportLabelState.nutritionCountry.id,\r\n        },\r\n        fileContentType\r\n      )\r\n        .then((response) => {\r\n          this.pushDownloadToClient(response.data, filename, response.headers[\"content-type\"]);\r\n        })\r\n        .catch((error) => {\r\n          let message = \"\";\r\n          if (error.response) {\r\n            let enc = new TextDecoder(\"utf-8\");\r\n            let data = JSON.parse(enc.decode(error.response.data));\r\n            message = data.errorMessages[0].userVisibleMessage;\r\n          }\r\n          else {\r\n            message = this.translations.get(\"network_error\");\r\n          }\r\n          this.$snotify.error(message);\r\n        });\r\n    }\r\n  }\r\n\r\n  labelWidth() {\r\n    let width: any = 0;\r\n    let label = <HTMLImageElement>document.getElementById(\"labelPreview\");\r\n    width = label.naturalWidth;\r\n    return width;\r\n  }\r\n\r\n  labelHeight() {\r\n    let height: any = 0;\r\n\r\n    let label = <HTMLImageElement>document.getElementById(\"labelPreview\");\r\n    height = label.naturalHeight;\r\n\r\n    return height;\r\n  }\r\n\r\n  getFileContentType(chosenFileType: number): DownloadNutritionLabelContentTypes {\r\n    if (this.packageLabelType && this.packageLabelType === LabelTypeMetadata.FrontOfPack) {\r\n      return \"application/zip\";\r\n    }\r\n\r\n    return chosenFileType === 0 ? \"application/pdf\" : \"image/jpeg\";\r\n  }\r\n\r\n  getFileExtension(chosenFileType: DownloadNutritionLabelContentTypes) {\r\n    if (chosenFileType === \"application/zip\") {\r\n      return \".zip\";\r\n    }\r\n\r\n    return chosenFileType === \"application/pdf\" ? '.pdf' : '.jpg';\r\n  }\r\n\r\n  pushDownloadToClient(blobData: BlobPart, filename: string, fileContentType: string) {\r\n    // get the blob\r\n    let blob = new Blob([blobData], {\r\n      type: \"type: \" + fileContentType,\r\n    });\r\n\r\n    filename += this.getFileExtension(fileContentType as DownloadNutritionLabelContentTypes);\r\n    const url = window.URL.createObjectURL(blob);\r\n    const link = document.createElement(\"a\");\r\n    link.href = url;\r\n\r\n    link.setAttribute(\"download\", filename);\r\n    link.setAttribute(\"target\", \"_blank\");\r\n    document.body.appendChild(link);\r\n\r\n    let evt = document.createEvent(\"MouseEvents\");\r\n    evt.initMouseEvent(\r\n      \"click\",\r\n      true,\r\n      true,\r\n      window,\r\n      0,\r\n      0,\r\n      0,\r\n      0,\r\n      0,\r\n      false,\r\n      false,\r\n      false,\r\n      false,\r\n      0,\r\n      null\r\n    );\r\n    link.dispatchEvent(evt);\r\n\r\n    this.exportLabelState.disableDownload = false;\r\n    UserRepository.fetchUserInfo().then((response) => {\r\n      this.$store.commit(SET_USER_DETAILS, {\r\n        userDetails: response.data.result,\r\n        logged: true,\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!./vExportLabelButtons.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!./vExportLabelButtons.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vExportLabelButtons.vue?vue&type=template&id=2d7c2650\"\nimport script from \"./vExportLabelButtons.vue?vue&type=script&lang=ts\"\nexport * from \"./vExportLabelButtons.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vExportLabelButtons.vue?vue&type=style&index=0&id=2d7c2650&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  null,\n  null\n  \n)\n\nexport default component.exports","\r\nimport { Vue, Component, Prop } from \"vue-property-decorator\";\r\nimport vToggleSwitch from \"@/components/vToggleSwitch.vue\";\r\nimport vIngredientsDisplayNames from \"@/components/vIngredientsDisplayNames.vue\";\r\nimport { NutritionCountry } from \"@/models/NutritionLabels/NutritionCountry\";\r\nimport NutritionLabelRepository from \"@/utils/API/NutritionLabelRepository\";\r\nimport GeneralRepository from \"@/utils/API/GeneralRepository\";\r\nimport Language from \"@/models/Language\";\r\nimport vPreLoader from \"@/components/vPreLoader.vue\";\r\nimport vModal from \"@/components/vModal.vue\";\r\n\r\nimport { debounce } from \"@/utils/Helpers\";\r\nimport { mapState } from \"vuex\";\r\nimport IngredientDisplay from \"../models/Ingredient/IngredientDisplay\";\r\nimport { Recipe } from \"../models/Recipes/Recipe\";\r\nimport RecipesRepository from \"../utils/API/RecipesRepository\";\r\nimport { ExportLabelState } from \"@/models/NutritionLabels/ExportLabelState\";\r\nimport vUSContainsPercentOfForm from \"./vUSContainsPercentOfForm.vue\";\r\nimport { RecipeCompositionMeasurement } from \"@/models/Recipes/RecipeCompositionMeasurement\";\r\nimport { getIngredientDisplays } from \"@/services/ExportLabel.service\";\r\nimport { LabelTypeMetadata } from \"@/models/NutritionLabels/LabelTypeMetadata\";\r\nimport { CanadaFOPHighInMetadata } from \"@/models/NutritionLabels/CanadaFOPHighInMetadata\";\r\nimport vAccordion from \"./vAccordion.vue\";\r\nimport vLabelPreviewImage from \"./vLabelPreviewImage.vue\";\r\nimport vFrontOfPackageConfig from \"./vFrontOfPackageConfig.vue\";\r\nimport vBackOfPackageConfig from \"./vBackOfPackageConfig.vue\";\r\nimport vExportLabelButtons from \"./vExportLabelButtons.vue\";\r\nimport FreeTextPlaceholder from \"@/models/NutritionLabels/FreeTextPlaceholder\";\r\nimport {Dish} from \"@/models/Dishes/Dish\";\r\nimport {ContainsLessThanPercentOfContent} from \"@/models/NutritionLabels/ContainsLessThanPercentOfContent\";\r\n\r\n@Component({\r\n  components: {\r\n    vToggleSwitch,\r\n    vPreLoader,\r\n    vIngredientsDisplayNames,\r\n    vModal,\r\n    vUSContainsPercentOfForm,\r\n    vAccordion,\r\n    vLabelPreviewImage,\r\n    vFrontOfPackageConfig,\r\n    vBackOfPackageConfig,\r\n    vExportLabelButtons,\r\n  },\r\n  computed: {\r\n    ...mapState({\r\n      localizationState: (state: any) => state.LocalizationModule,\r\n      accountStoreState: (state: any) => state.AccountModule,\r\n    }),\r\n  },\r\n})\r\nexport default class vExportLabel extends Vue {\r\n  localizationState: any;\r\n  accountStoreState: any;\r\n\r\n\r\n  nutritionCountries: NutritionCountry[] = [];\r\n  languages: Language[] = [];\r\n  isFopDisplay: boolean = false;\r\n  exportLabelState: ExportLabelState = new ExportLabelState();\r\n\r\n  @Prop() id!: number;\r\n  @Prop() name!: string;\r\n  @Prop() recipe?: Recipe | Dish;\r\n  @Prop() packageLabelType?: LabelTypeMetadata | LabelTypeMetadata.BackOfPack;\r\n  @Prop() highIn?: CanadaFOPHighInMetadata | CanadaFOPHighInMetadata.None;\r\n  @Prop({\r\n    default: (): RecipeCompositionMeasurement[] => {\r\n      return [];\r\n    }\r\n  }) subrecipeMeasurements!: RecipeCompositionMeasurement[];\r\n\r\n  created() {\r\n    NutritionLabelRepository.listNutritionCountries().then((response) => {\r\n      this.nutritionCountries = response.data.result;\r\n      this.fetchRecipeLabel();\r\n    });\r\n\r\n    GeneralRepository.listLanguages().then((response) => {\r\n      this.languages = response.data.result;\r\n    });\r\n\r\n    // set IE mode\r\n    /* MSIE used to detect old browsers and Trident used to newer ones*/\r\n    this.exportLabelState.isIE = (\r\n      navigator.userAgent.indexOf(\"MSIE \") > -1 ||\r\n      navigator.userAgent.indexOf(\"Trident/\") > -1 ||\r\n      navigator.userAgent.indexOf(\"Edge\") > -1\r\n    );\r\n  }\r\n\r\n  /**\r\n   * Gets a formatted list of ingredient displays\r\n   * NOTE: This is for Recipes only\r\n   */\r\n  get ingredientDisplays(): IngredientDisplay[] {\r\n    // If we're in a dish recipe, ingredients will be undefined, so we use an empty array\r\n    let ingredientsList = [];\r\n\r\n    if (this.recipe.hasOwnProperty('ingredients')) {\r\n      // Since this is checked, we know recipe has an ingredients property\r\n      // @ts-ignore\r\n      ingredientsList = this.recipe.ingredients;\r\n    }\r\n    return getIngredientDisplays(ingredientsList, this.exportLabelState.savedDisplays);\r\n  }\r\n\r\n  saveRecipeLabel() {\r\n    RecipesRepository.saveRecipeLabel({\r\n      recipeId: this.id,\r\n      allergens: this.exportLabelState.allergens,\r\n      nutritionCountryId: this.exportLabelState.nutritionCountry\r\n        ? this.exportLabelState.nutritionCountry.id\r\n        : 0,\r\n      nutritionLabelId: this.exportLabelState.nutritionLabel ? this.exportLabelState.nutritionLabel.id : 0,\r\n      primaryLanguage: this.exportLabelState.primaryLanguage ? this.exportLabelState.primaryLanguage.value : \"\",\r\n      secondaryLanguage: this.exportLabelState.secondaryLanguage\r\n        ? this.exportLabelState.secondaryLanguage.value\r\n        : \"\",\r\n      dietaryTypes: this.exportLabelState.dietary,\r\n      ingredientsIncluded: this.exportLabelState.includeIngredients,\r\n      additionalContents: this.exportLabelState.mayContain,\r\n      cautionaryMessage: this.exportLabelState.cautionaryMessage,\r\n      headerLabelTranslations: this.exportLabelState.headerLabelTranslations,\r\n      freeTextPlaceholders: this.exportLabelState.freeTextPlaceholders,\r\n      containsLessThanPercentOfContent: this.exportLabelState.containsLessThanPercentOf,\r\n      ingredientDisplayModels: this.exportLabelState.renderExpandedSubrecipes\r\n        ? this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList\r\n        : this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n      ingredientOtherDisplayModel: !this.exportLabelState.renderExpandedSubrecipes\r\n        ? this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList\r\n        : this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n      subRecipeDisplayModels: this.exportLabelState.getSubRecipeDisplays(this.recipe, this.subrecipeMeasurements),\r\n      renderExpandedSubrecipes: this.exportLabelState.renderExpandedSubrecipes,\r\n      labelTypes: this.exportLabelState.labelTypes\r\n    }).then(() => {\r\n      this.exportLabelState.textPlaceholdersOfSavedLabel =\r\n        this.exportLabelState.freeTextPlaceholders; // Change to newly saved label\r\n      this.$snotify.success(this.translations.get(\"labels_save_success\"));\r\n    });\r\n  }\r\n\r\n  fetchRecipeLabel() {\r\n    RecipesRepository.getRecipeLabel({ recipeId: this.id })\r\n      .then((response: any) => this.fillLabelData(response.data.result))\r\n      .catch(() => {});\r\n\r\n  }\r\n\r\n  fillLabelData(labelData: any) {\r\n    this.fillAllergens(labelData.allergens);\r\n    this.fillDietaryTypes(labelData.dietaryTypes);\r\n    this.fillNutritionCountry(labelData.nutritionCountryId, labelData.nutritionLabelId);\r\n    this.fillLanguages(labelData.primaryLanguage, labelData.secondaryLanguage);\r\n    this.fillFreeTextPlaceholders(labelData.freeTextPlaceholders);\r\n    this.fillContainsLessThanPercent(labelData.containsLessThanPercentOfContent);\r\n    this.fillIngredientDisplays(labelData.ingredientDisplayModels, labelData.ingredientOtherDisplayModel, labelData.renderExpandedSubrecipes);\r\n    this.fillSavedSubRecipeDisplays(labelData.subRecipeDisplayModels);\r\n    this.fillAdditionalProperties(labelData);\r\n  }\r\n\r\n  //Function to handle allergens.\r\n  private fillAllergens(allergens: any[]) {\r\n    if (allergens && allergens.length > 0) {\r\n      allergens.forEach((x: any) => {\r\n        let a = this.exportLabelState.allergens.find((y) => y.id === x.id);\r\n        if (a) {\r\n          a.isChecked = x.isChecked;\r\n          a.primaryLanguageName = x.primaryLanguageName;\r\n          a.secondaryLanguageName = x.secondaryLanguageName;\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  //Function to handle dietary types.\r\n  private fillDietaryTypes(dietaryTypes: number[]) {\r\n    if (dietaryTypes) {\r\n      this.exportLabelState.dietary = dietaryTypes;\r\n    }\r\n  }\r\n\r\n  // Function to handle nutrition country and label ID.\r\n  private fillNutritionCountry(nutritionCountryId: number, nutritionLabelId: number) {\r\n    const nutritionCountry = this.nutritionCountries.find((x: any) => x.id === nutritionCountryId);\r\n    if (nutritionCountry) {\r\n      this.exportLabelState.nutritionCountry = nutritionCountry;\r\n      this.exportLabelState.savedNutritionLabelId = nutritionLabelId;\r\n    }\r\n  }\r\n\r\n\r\n  // Function to handle primary and secondary languages.\r\n  private fillLanguages(primaryLanguage: string, secondaryLanguage: string) {\r\n    if (this.exportLabelState.primaryLanguage) {\r\n      this.exportLabelState.primaryLanguage.value = primaryLanguage;\r\n    }\r\n    if (this.exportLabelState.secondaryLanguage) {\r\n      this.exportLabelState.secondaryLanguage.value = secondaryLanguage;\r\n    }\r\n  }\r\n\r\n  //Function to handle free text placeholders.\r\n  private fillFreeTextPlaceholders(freeTextPlaceholders: FreeTextPlaceholder[]) {\r\n    if (freeTextPlaceholders) {\r\n      this.exportLabelState.freeTextPlaceholders = freeTextPlaceholders;\r\n      this.exportLabelState.textPlaceholdersOfSavedLabel = freeTextPlaceholders;\r\n    }\r\n  }\r\n\r\n  private fillContainsLessThanPercent(containsLessThanPercent: ContainsLessThanPercentOfContent) {\r\n    if (containsLessThanPercent) {\r\n      this.exportLabelState.containsLessThanPercentOf = containsLessThanPercent;\r\n    }\r\n  }\r\n\r\n  // Function to handle ingredient displays and subrecipes.\r\n  private fillIngredientDisplays(ingredientDisplayModels: any, ingredientOtherDisplayModel: any, renderExpandedSubrecipes: boolean) {\r\n    if (ingredientDisplayModels) {\r\n      this.exportLabelState.savedDisplays = ingredientDisplayModels;\r\n    }\r\n\r\n    if (renderExpandedSubrecipes) {\r\n      this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList = this.synchronizeIngredientData(\r\n        this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList,\r\n        ingredientDisplayModels);\r\n      if (ingredientOtherDisplayModel) {\r\n        this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList = this.synchronizeRecipeIngredientData(\r\n          this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n          ingredientOtherDisplayModel);\r\n      }\r\n    }\r\n    else {\r\n      this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList = this.synchronizeRecipeIngredientData(\r\n        this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n        ingredientDisplayModels);\r\n      if (ingredientOtherDisplayModel) {\r\n        this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList = this.synchronizeIngredientData(\r\n          this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList,\r\n          ingredientOtherDisplayModel);\r\n      }\r\n    }\r\n  }\r\n\r\n  //Function to handle saved subrecipe displays.\r\n  private fillSavedSubRecipeDisplays(subRecipeDisplayModels: any[]) {\r\n    if (subRecipeDisplayModels) {\r\n      this.exportLabelState.savedSubRecipeDisplays = subRecipeDisplayModels;\r\n    }\r\n  }\r\n\r\n  //Function to handle additional properties.\r\n  private fillAdditionalProperties(labelData: any) {\r\n    this.exportLabelState.includeIngredients = labelData.ingredientsIncluded;\r\n    this.exportLabelState.mayContain = labelData.additionalContents;\r\n    this.exportLabelState.renderExpandedSubrecipes = labelData.renderExpandedSubrecipes;\r\n\r\n    if (labelData.headerLabelTranslations) {\r\n      this.exportLabelState.headerLabelTranslations = labelData.headerLabelTranslations;\r\n    }\r\n\r\n    if (labelData.cautionaryMessage) {\r\n      this.exportLabelState.cautionaryMessage = labelData.cautionaryMessage;\r\n    }\r\n\r\n    // NOTE: This is done because during serialization, the enum from C# is cast to a string\r\n    // as such to get the value, we need to convert it back to an enum.\r\n    let name = [LabelTypeMetadata[LabelTypeMetadata.FrontOfPack]][0];\r\n    name = name[0].toLowerCase() + name.slice(1);\r\n    const frontOfPackData = labelData.labelTypes[name];\r\n\r\n    this.exportLabelState.labelTypes = {\r\n      [LabelTypeMetadata.FrontOfPack]: {\r\n        fopFormat: frontOfPackData.fopFormat || 1,// Fallback to 1 as the default value if these aren't present while loading a saved label.\r\n        pdsSize: frontOfPackData.pdsSize || 1,\r\n        includeInDownload: frontOfPackData.includeInDownload || true,\r\n      }\r\n    };\r\n  }\r\n\r\n  private synchronizeIngredientData(originalList:IngredientDisplay[], modifiedList:IngredientDisplay[]){\r\n    const modifiedListMap = new Map<number, IngredientDisplay>();\r\n\r\n    modifiedList.forEach((display) => {\r\n      if (display.ingredientId !== undefined) {\r\n        modifiedListMap.set(display.ingredientId, display);\r\n      }\r\n    });\r\n\r\n    const updatedSubRecipeList: IngredientDisplay[] = [];\r\n    originalList.forEach((display) => {\r\n      const otherDisplay = modifiedListMap.get(display.ingredientId);\r\n      if (otherDisplay) {\r\n        otherDisplay.weightInGrams = display.weightInGrams;\r\n        updatedSubRecipeList.push(otherDisplay);\r\n        modifiedListMap.delete(display.ingredientId);\r\n      }\r\n      else {\r\n        updatedSubRecipeList.push(display);\r\n      }\r\n    });\r\n    return updatedSubRecipeList;\r\n  }\r\n\r\n  private synchronizeRecipeIngredientData(originalList:IngredientDisplay[], modifiedList:IngredientDisplay[]){\r\n    const modifiedRecipeListMap = new Map<number, IngredientDisplay>();\r\n    const modifiedIngredientListMap = new Map<number, IngredientDisplay>();\r\n\r\n    modifiedList.forEach((display) => {\r\n      if (display.recipeId !== undefined) {\r\n        modifiedRecipeListMap.set(display.recipeId, display);\r\n      }\r\n    });\r\n\r\n    modifiedList.forEach((display) => {\r\n      if (display.ingredientId !== undefined) {\r\n        modifiedIngredientListMap.set(display.ingredientId, display);\r\n      }\r\n    });\r\n\r\n    const updatedSubRecipeList: IngredientDisplay[] = [];\r\n    originalList.forEach((display) => {\r\n      const otherRecipeDisplay = modifiedRecipeListMap.get(display.recipeId);\r\n      const otherIngredientDisplay = modifiedIngredientListMap.get(display.ingredientId);\r\n\r\n      if (otherRecipeDisplay && otherRecipeDisplay.recipeId != 0) {\r\n        otherRecipeDisplay.weightInGrams = display.weightInGrams;\r\n        updatedSubRecipeList.push(otherRecipeDisplay);\r\n        modifiedRecipeListMap.delete(display.recipeId);\r\n      }\r\n      else if(otherIngredientDisplay && otherIngredientDisplay.ingredientId != 0) {\r\n        otherIngredientDisplay.weightInGrams = display.weightInGrams;\r\n        updatedSubRecipeList.push(otherIngredientDisplay);\r\n        modifiedIngredientListMap.delete(display.recipeId);\r\n      }\r\n      else {\r\n        updatedSubRecipeList.push(display);\r\n      }\r\n    });\r\n    return updatedSubRecipeList;\r\n  }\r\n\r\n  fetchPreview() {\r\n    if (this.exportLabelState.nutritionCountry && this.exportLabelState.nutritionLabel && this.exportLabelState.primaryLanguage) {\r\n      if (this.exportLabelState.nutritionCountry.name == \"UK\") {\r\n        this.exportLabelState.headerLabelTranslations.ingredientsSecondaryLanguageTranslation =\r\n          \"\";\r\n        this.ingredientDisplays.map((ingredient) => {\r\n          ingredient.displayTextInSecondaryLanguage = \"\";\r\n        });\r\n      }\r\n\r\n      this.exportLabelState.disableDownload = true;\r\n      this.exportLabelState.loading = true;\r\n      NutritionLabelRepository.previewNutritionLabelForRecipe({\r\n        recipeId: this.id,\r\n        allergens: this.exportLabelState.checkedAllergens,\r\n        nutritionLabelId: this.exportLabelState.nutritionLabel ? this.exportLabelState.nutritionLabel.id : 0,\r\n        primaryLanguage: this.exportLabelState.primaryLanguage ? this.exportLabelState.primaryLanguage.value : \"\",\r\n        secondaryLanguage: this.exportLabelState.secondaryLanguage ? this.exportLabelState.secondaryLanguage.value : \"\",\r\n        dietaryTypes: this.exportLabelState.dietary,\r\n        ingredientsIncluded: this.exportLabelState.includeIngredients,\r\n        additionalContent: this.exportLabelState.mayContain,\r\n        cautionaryMessage: this.exportLabelState.cautionaryMessage,\r\n        containsLessThanPercentOfText: this.exportLabelState.containsLessThanPercentOf,\r\n        headerTranslations: this.exportLabelState.headerLabelTranslations,\r\n        nutritionLabelDownloadFileFormat: 0,\r\n        labelWidth: 0,\r\n        labelHeight: 0,\r\n        freeTextPlaceholders: this.exportLabelState.freeTextPlaceholders,\r\n        ingredientDisplayModels: this.exportLabelState.renderExpandedSubrecipes\r\n          ? this.exportLabelState.ingredientAndSubRecipeDisplaysModel.expandedSubRecipeList\r\n          : this.exportLabelState.ingredientAndSubRecipeDisplaysModel.combinedSubRecipeList,\r\n      })\r\n        .then((response) => {\r\n          this.exportLabelState.labelPreview = response.data.result;\r\n          this.exportLabelState.loading = false;\r\n          this.exportLabelState.disableDownload = false;\r\n        });\r\n    }\r\n  }\r\n\r\n  loadFOPLabelCreator(){\r\n    this.isFopDisplay = true;\r\n  }\r\n\r\n  loadBOPLabelCreator(){\r\n    this.isFopDisplay = false;\r\n  }\r\n\r\n  fetchFreeTextFields() {\r\n    if (this.exportLabelState.nutritionLabel) {\r\n      NutritionLabelRepository.getFreeTextPlaceholdersForNutritionLabel(\r\n        this.exportLabelState.nutritionLabel ? this.exportLabelState.nutritionLabel.id : 0\r\n      )\r\n        .then((response) => {\r\n          if (response.data.result) {\r\n            let freeTextPlaceholders = response.data.result.map((x: any) => {\r\n              const freeTextPlaceholder = this.exportLabelState.freeTextPlaceholders.find(\r\n                (y: any) => y.id == x.id\r\n              );\r\n              if (freeTextPlaceholder) {\r\n                x.content = freeTextPlaceholder.content;\r\n              }\r\n              else if (this.exportLabelState.textPlaceholdersOfSavedLabel != null) {\r\n                /*\r\n                  Check to see if the prevouosly saved label has a placeholder content,\r\n                  then populate the content of the placeholder with its value.\r\n                  Covers the scenario when the user has a saved label but shuffels through other ones.\r\n                */\r\n                const freeTextPlaceholder = this.exportLabelState.textPlaceholdersOfSavedLabel.find(\r\n                  (y: any) => y.id == x.id\r\n                );\r\n                if (freeTextPlaceholder) {\r\n                  x.content = freeTextPlaceholder.content;\r\n                }\r\n              }\r\n              return x;\r\n            });\r\n            this.exportLabelState.freeTextPlaceholders = freeTextPlaceholders;\r\n            this.fetchPreview();\r\n          }\r\n        })\r\n        .catch(() => {\r\n          this.$snotify.error(\"Something happened! :(\");\r\n        });\r\n    }\r\n  }\r\n\r\n  debouncedFetchPreview() {\r\n    debounce(this.fetchPreview, 1000, \"export-label-fetch-preview\");\r\n  }\r\n\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!./vExportLabel.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!./vExportLabel.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./vExportLabel.vue?vue&type=template&id=254f0454&scoped=true\"\nimport script from \"./vExportLabel.vue?vue&type=script&lang=ts\"\nexport * from \"./vExportLabel.vue?vue&type=script&lang=ts\"\nimport style0 from \"./vExportLabel.vue?vue&type=style&index=0&id=254f0454&prod&scoped=true&lang=css\"\nimport style1 from \"./vExportLabel.vue?vue&type=style&index=1&id=254f0454&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  \"254f0454\",\n  null\n  \n)\n\nexport default component.exports"],"sourceRoot":""}