{"version":3,"sources":["webpack:///./src/utils/Defaults.ts","webpack:///./src/components/vExportLabel.vue?f846","webpack:///./src/components/vIngredientsDisplayNames.vue?4903","webpack:///./src/components/vBackOfPackageConfig.vue?8789","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/components/vExportLabel.vue?567b","webpack:///./src/utils/API/GeneralRepository.ts","webpack:///./src/components/vToggleSwitch.vue?6289","webpack:///./src/components/vLabelPreviewImage.vue?862d","webpack:///./src/components/vExportLabelButtons.vue?bfa7","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/utils/API/NutritionLabelRepository.ts","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":["NA","dateTimeDisplayFormat","dateDisplayFormat","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","downloadNutritionLabelForDish","type","headers","accept","responseType","downloadNutritionLabelForRecipe","acceptContentType","listNutritionCountries","listNutritionLabels","nutritionCountryId","queryOptions","filters","LabelTypeMetadata","BackOfPack","previewNutritionLabelForDish","previewNutritionLabelForRecipe","previewNutritionLabel","previewFOPNutritionLabel","getFreeTextPlaceholdersForNutritionLabel","nutritionLabelId","getFrontOfPackageOptions","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","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","then","response","data","result","savedFormat","formatValue","updateFOPSelections","_this3","supportedPDS","fetchFOPLabel","fopData","pdsData","_this4","labelFormatValue","pdsSizeValue","labelType","highInMetadata","content","selected","format","updatePDSSizes","fetchNutritionLabels","nutritionLabels","fetchFreeTextFields","placeholder","displayText","toggleSubrecipeExpansion","ingredientAndSubRecipeDisplays","slot","dietaryTypes","toggleDietary","allergen","updateAllergenStatus","vBackOfPackageConfig","ingredientAndSubRecipeDisplaysInit","width","label","document","getElementById","naturalWidth","height","naturalHeight","freeTextPlaceholder","y","catch","$snotify","error","debounce","updateIngredientName","copyIngredientNamesOver","expandedItem","itemIndex","findIndex","i","_this5","splice","indexOf","_this6","checkedAllergens","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","labelsCount","fileType","$store","getters","getUserDetails","isTrial","info","$router","fileContentType","filename","split","getFileContentType","additionalLabelInformation","frontOfPackageNutritionLabelId","parseFloat","labelFormatType","pushDownloadToClient","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","fetchRecipeLabel","GeneralRepository","navigator","userAgent","RecipesRepository","additionalContents","ingredientOtherDisplayModel","subRecipeDisplayModels","success","getRecipeLabel","fillLabelData","labelData","fillAllergens","fillDietaryTypes","fillNutritionCountry","fillLanguages","fillFreeTextPlaceholders","fillIngredientDisplays","fillSavedSubRecipeDisplays","fillAdditionalProperties","a","synchronizeIngredientData","synchronizeRecipeIngredientData","frontOfPackData","originalList","modifiedList","modifiedListMap","Map","set","updatedSubRecipeList","otherDisplay","delete","modifiedRecipeListMap","modifiedIngredientListMap","otherRecipeDisplay","otherIngredientDisplay","_this7"],"mappings":"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","file":"js/chunk-2eff6b35.12e8e29c.js","sourcesContent":["export const NA = '';\r\nexport const dateTimeDisplayFormat = 'DD MMM YYYY - hh:mm A'; // https://momentjs.com/docs/#/parsing/\r\nexport const dateDisplayFormat = 'DD MMM YYYY';","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=6226d804&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!./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!./vBackOfPackageConfig.vue?vue&type=style&index=0&id=62d2dc74&prod&scoped=true&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","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=6226d804&prod&scoped=true&lang=css\"","import Repository from './Repository';\r\nimport ListRequest from '@/models/ListRequest';\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() {\r\n return Repository.get(`${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!./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!./vExportLabelButtons.vue?vue&type=style&index=0&id=6a6f13a8&prod&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./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\"}},[(!_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 Repository from './Repository';\r\nimport { DownloadNutritionLabelForDish } from '@/models/NutritionLabels/DownloadNutritionLabelForDish';\r\nimport { DownloadNutritionLabelForRecipe } from '@/models/NutritionLabels/DownloadNutritionLabelForRecipe';\r\nimport { PreviewFOPNutritionLabel } from '@/models/NutritionLabels/PreviewFOPNutritionLabel';\r\nimport { PreviewNutritionLabel } from '@/models/NutritionLabels/PreviewNutritionLabel';\r\nimport { DownloadNutritionLabelContentTypes } from './RequestContentTypes';\r\nimport { LabelTypeMetadata } from '@/models/NutritionLabels/LabelTypeMetadata';\r\nimport { NutritionLabel } from '@/models/NutritionLabels/NutritionLabel';\r\nimport { ListResult } from './ResultTypes/ListResult';\r\nimport { AxiosResponse } from 'axios';\r\nimport { MethodResult } from './ResultTypes/MethodResult';\r\n\r\nconst resource = '/nutritionLabels';\r\n\r\nexport default {\r\n downloadNutritionLabelForDish(downloadNutritionLabelForDish: DownloadNutritionLabelForDish, type: number) {\r\n return Repository.post(`${resource}/DownloadNutritionLabelForDish`, downloadNutritionLabelForDish, { withCredentials: true, headers: { accept: type === 0 ? 'application/pdf' : 'image/jpeg' }, responseType: 'arraybuffer' });\r\n },\r\n downloadNutritionLabelForRecipe(\r\n downloadNutritionLabelForRecipe: DownloadNutritionLabelForRecipe,\r\n acceptContentType: DownloadNutritionLabelContentTypes,\r\n ) {\r\n return Repository.post(\r\n `${resource}/DownloadNutritionLabelForRecipe`,\r\n downloadNutritionLabelForRecipe,\r\n {\r\n withCredentials: true,\r\n headers: {\r\n accept: \"*/*\"\r\n },\r\n responseType: 'arraybuffer'\r\n }\r\n );\r\n },\r\n listNutritionCountries() {\r\n return Repository.get(`${resource}/ListNutritionCountries`, { withCredentials: true });\r\n },\r\n listNutritionLabels(nutritionCountryId: number) {\r\n return Repository.post>>(\r\n `${resource}/ListNutritionLabels`,\r\n {\r\n nutritionCountryId,\r\n queryOptions: {\r\n filters: [\r\n { name: \"LabelType\", value: LabelTypeMetadata.BackOfPack }\r\n ]\r\n }\r\n },\r\n { withCredentials: true });\r\n },\r\n previewNutritionLabelForDish(downloadNutritionLabelForDish: DownloadNutritionLabelForDish) {\r\n return Repository.post(`${resource}/previewNutritionLabelForDish`, downloadNutritionLabelForDish, { withCredentials: true });\r\n },\r\n previewNutritionLabelForRecipe(previewNutritionLabel: PreviewNutritionLabel) {\r\n return Repository.post(`${resource}/previewNutritionLabelForRecipe`, previewNutritionLabel, { withCredentials: true });\r\n },\r\n previewFOPNutritionLabel(previewFOPNutritionLabel: PreviewFOPNutritionLabel){\r\n return Repository.post>>(\r\n `${resource}/previewFrontOfPackageNutritionLabel`,\r\n previewFOPNutritionLabel,\r\n { withCredentials: true }\r\n );\r\n },\r\n getFreeTextPlaceholdersForNutritionLabel(id: number) {\r\n return Repository.post(`${resource}/GetFreeTextPlaceholdersForNutritionLabel`, { nutritionLabelId: id }, { withCredentials: true });\r\n },\r\n getFrontOfPackageOptions(){\r\n return Repository.get(`${resource}/GetFrontOfPackageOptions`, { withCredentials: true });\r\n }\r\n};\r\n","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\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: \"SesameSeed\",\r\n isChecked: false,\r\n primaryLanguageName: \"SesameSeed\",\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: \"TreeNuts\",\r\n isChecked: false,\r\n primaryLanguageName: \"TreeNuts\",\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: Recipe,\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 == 1)?_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=8a1a317e\"\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 && _vm.model.nutritionCountry.name === 'Canada' && _vm.packageLabelType == 1)?_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:\"col-12 col-md-6\"},[_c('div',{staticClass:\"form-group\"},[_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)]),_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"form-group\"},[_c('label',[_vm._v(_vm._s(_vm.translations.get(\"labels_label_type\")))]),_c('v-select',{attrs:{\"options\":_vm.nutritionLabels,\"label\":\"name\",\"disabled\":_vm.model.nutritionCountry === null},on:{\"input\":_vm.fetchFreeTextFields},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 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 subRecipeDisplays: IngredientDisplay[] = [];\r\n\r\n\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 labelWidth() {\r\n let width: any = 0;\r\n let label = 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 = 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 fetchNutritionLabels() {\r\n if (this.model.nutritionCountry) {\r\n NutritionLabelRepository.listNutritionLabels(\r\n this.model.nutritionCountry.id\r\n ).then((response) => {\r\n this.nutritionLabels = response.data.result;\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 else {\r\n this.model.nutritionLabel = this.nutritionLabels[0];\r\n }\r\n if (this.languages.length) {\r\n this.model.primaryLanguage = this.languages[0];\r\n }\r\n this.fetchFreeTextFields();\r\n });\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);\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=62d2dc74&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=62d2dc74&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 \"62d2dc74\",\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 !== 0 && !_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!: number;\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 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 === 0 || this.packageLabelType === 1 && 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 === 1 && this.isFopDisplay)\r\n || (this.packageLabelType === 0 && !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 = 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 = 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=6a6f13a8\"\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=6a6f13a8&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\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;\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 return getIngredientDisplays(this.recipe.ingredients || [], 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 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.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 // 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();\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();\r\n const modifiedIngredientListMap = new Map();\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);\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=6226d804&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=6226d804&prod&scoped=true&lang=css\"\nimport style1 from \"./vExportLabel.vue?vue&type=style&index=1&id=6226d804&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 \"6226d804\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}