diff --git a/cookbook/static/vue/js/model_list_view.js b/cookbook/static/vue/js/model_list_view.js index d89442f6..ba61b696 100644 --- a/cookbook/static/vue/js/model_list_view.js +++ b/cookbook/static/vue/js/model_list_view.js @@ -1 +1,2 @@ -(function(e){function t(t){for(var n,a,s=t[0],c=t[1],u=t[2],l=0,p=[];l15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},s=a,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return k}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,s,c,u,d,l=r("9ab4"),p=r("bc3a"),h=r.n(p),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(l["c"])(t,e),t}(Error),v="https://example.com",g=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},j=function(e){for(var t=[],r=1;r0&&this.state.loaded(),e.current>=e.max&&this.state.complete()}}},methods:{infiniteHandler:function(e,t){var r={query:this.search,page:this.page+1};this.state=e,this.$emit("search",r),this.page+=1}}},m=b,v=r("2877"),g=Object(v["a"])(m,u,d,!1,null,null,null),j=g.exports,O=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{margin:"4px"},attrs:{row:""}},[r("b-card",{class:{"border border-primary":e.over,shake:e.isError},style:{"cursor:grab":e.useDrag},attrs:{"no-body":"","d-flex":"","flex-column":"",draggable:e.useDrag},on:e._d({"useDrag&&`dragenter`":[function(e){e.preventDefault()},function(t){return e.handleDragEnter(t)}]},[e.useDrag&&"dragover",function(e){e.preventDefault()},e.useDrag&&"dragstart",function(t){return e.handleDragStart(t)},e.useDrag&&"dragleave",function(t){return e.handleDragLeave(t)},e.useDrag&&"drop",function(t){return e.handleDragDrop(t)}])},[r("b-row",{attrs:{"no-gutters":""}},[r("b-col",{staticClass:"col-sm-3",attrs:{"no-gutters":""}},[r("b-card-img-lazy",{staticStyle:{"object-fit":"cover",height:"6em"},attrs:{src:e.item_image,alt:e.$t("Recipe_Image")}})],1),r("b-col",{staticClass:"col-sm-9",attrs:{"no-gutters":""}},[r("b-card-body",{staticClass:"m-0 py-0"},[r("b-card-text",{staticClass:" h-100 my-0 d-flex flex-column",staticStyle:{"text-overflow":"ellipsis"}},[r("h5",{staticClass:"m-0 mt-1 text-truncate"},[e._v(e._s(e.item[e.title]))]),r("div",{staticClass:"m-0 text-truncate"},[e._v(e._s(e.item[e.subtitle]))]),e._l(e.itemTags,(function(t){return r("generic-pill",{key:t.field,attrs:{item_list:e.item[t.field],label:t.label,color:t.color}})})),e._l(e.itemOrderedTags,(function(t){return r("generic-ordered-pill",{key:t.field,attrs:{item_list:e.item[t.field],label:t.label,color:t.color,field:t.field,item:e.item},on:{"finish-action":e.finishAction}})})),r("div",{staticClass:"mt-auto mb-1",attrs:{align:"right"}},[e.item[e.child_count]?r("span",{staticClass:"mx-2 btn btn-link btn-sm",staticStyle:{"z-index":"800"},on:{click:function(t){return e.$emit("item-action",{action:"get-children",source:e.item})}}},[e.item.show_children?r("div",[e._v(e._s(e.text.hide_children))]):r("div",[e._v(e._s(e.item[e.child_count])+" "+e._s(e.itemName))])]):e._e(),e.item[e.recipe_count]?r("span",{staticClass:"mx-2 btn btn-link btn-sm",staticStyle:{"z-index":"800"},on:{click:function(t){return e.$emit("item-action",{action:"get-recipes",source:e.item})}}},[e.item.show_recipes?r("div",[e._v(e._s(e.$t("Hide_Recipes")))]):r("div",[e._v(e._s(e.item[e.recipe_count])+" "+e._s(e.$t("Recipes")))])]):e._e()])],2)],1)],1),r("div",{staticClass:"card-img-overlay justify-content-right h-25 m-0 p-0 text-right"},[r("badges",{attrs:{item:e.item,model:e.model}}),r("generic-context-menu",{staticClass:"p-0",attrs:{show_merge:e.useMerge,show_move:e.useMove},on:{"item-action":function(t){return e.$emit("item-action",{action:t,source:e.item})}}})],1)],1)],1),e.item.show_children?r("div",{staticClass:"row"},[r("div",{staticClass:"col-md-10 offset-md-2"},e._l(e.item[e.children],(function(t){return r("generic-horizontal-card",{key:t.id,attrs:{item:t,model:e.model},on:{"item-action":function(t){return e.$emit("item-action",t)}}})})),1)]):e._e(),e.item.show_recipes?r("div",{staticClass:"row"},[r("div",{staticClass:"col-md-10 offset-md-2"},[r("div",{staticStyle:{display:"grid","grid-template-columns":"repeat(auto-fit, minmax(200px, 1fr))","grid-gap":"1rem"}},e._l(e.item[e.recipes],(function(e){return r("recipe-card",{key:e.id,attrs:{recipe:e}})})),1)])]):e._e(),r("b-list-group",{directives:[{name:"show",rawName:"v-show",value:e.show_menu,expression:"show_menu"},{name:"on-clickaway",rawName:"v-on-clickaway",value:e.closeMenu,expression:"closeMenu"}],ref:"tooltip",staticStyle:{"z-index":"9999",cursor:"pointer"},attrs:{variant:"light"}},[e.useMove?r("b-list-group-item",{attrs:{action:""},on:{click:function(t){e.$emit("item-action",{action:"move",target:e.item,source:e.source}),e.closeMenu()}}},[r("i",{staticClass:"fas fa-expand-arrows-alt fa-fw"}),e._v(" "+e._s(e.$t("Move"))+": "+e._s(e.$t("move_confirmation",{child:e.source.name,parent:e.item.name}))+" ")]):e._e(),e.useMerge?r("b-list-group-item",{attrs:{action:""},on:{click:function(t){e.$emit("item-action",{action:"merge",target:e.item,source:e.source}),e.closeMenu()}}},[r("i",{staticClass:"fas fa-compress-arrows-alt fa-fw"}),e._v(" "+e._s(e.$t("Merge"))+": "+e._s(e.$t("merge_confirmation",{source:e.source.name,target:e.item.name}))+" ")]):e._e(),r("b-list-group-item",{attrs:{action:""},on:{click:function(t){return e.closeMenu()}}},[e._v(" "+e._s(e.$t("Cancel"))+" ")])],1)],1)},_=[],y=(r("b0c0"),function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[r("b-dropdown",{staticStyle:{boundary:"window"},attrs:{variant:"link","toggle-class":"text-decoration-none","no-caret":""},scopedSlots:e._u([{key:"button-content",fn:function(){return[r("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[e.show_edit?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","edit")}}},[r("i",{staticClass:"fas fa-pencil-alt fa-fw"}),e._v(" "+e._s(e.$t("Edit"))+" ")]):e._e(),e.show_delete?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","delete")}}},[r("i",{staticClass:"fas fa-trash-alt fa-fw"}),e._v(" "+e._s(e.$t("Delete"))+" ")]):e._e(),e.show_move?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","move")}}},[r("i",{staticClass:"fas fa-expand-arrows-alt fa-fw"}),e._v(" "+e._s(e.$t("Move"))+" ")]):e._e(),e.show_merge?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","merge")}}},[r("i",{staticClass:"fas fa-compress-arrows-alt fa-fw"}),e._v(" "+e._s(e.$t("Merge"))+" ")]):e._e()],1)],1)}),S=[],w={name:"GenericContextMenu",props:{show_edit:{type:Boolean,default:!0},show_delete:{type:Boolean,default:!0},show_move:{type:Boolean,default:!1},show_merge:{type:Boolean,default:!1}}},k=w,P=Object(v["a"])(k,y,S,!1,null,null,null),C=P.exports,R=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e.linkedRecipe?r("linked-recipe",{attrs:{item:e.item}}):e._e(),e.Icon?r("icon-badge",{attrs:{item:e.item}}):e._e()],1)},U=[],L=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e.item.recipe?r("b-button",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],staticClass:" btn fas fa-book-open p-0 border-0",attrs:{title:e.item.recipe.name,variant:"link",href:e.item.recipe.url}}):e._e()],1)},E=[],T={name:"LinkedRecipeBadge",props:{item:{type:Object}},data:function(){return{}},mounted:function(){},watch:{},methods:{}},I=T,x=Object(v["a"])(I,L,E,!1,null,null,null),A=x.exports,M=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e.item.icon?r("b-button",{staticClass:" btn p-0 border-0",attrs:{variant:"link"}},[e._v(" "+e._s(e.item.icon)+" ")]):e._e()],1)},F=[],B={name:"IconBadge",props:{item:{type:Object}},data:function(){return{}},mounted:function(){},watch:{},methods:{}},D=B,N=Object(v["a"])(D,M,F,!1,null,null,null),q=N.exports,K={name:"CardBadges",components:{LinkedRecipe:A,IconBadge:q},props:{item:{type:Object},model:{type:Object}},data:function(){return{}},mounted:function(){},computed:{linkedRecipe:function(){var e,t,r;return null!==(e=null===(t=this.model)||void 0===t||null===(r=t.badges)||void 0===r?void 0:r.linked_recipe)&&void 0!==e&&e},Icon:function(){var e,t,r;return null!==(e=null===(t=this.model)||void 0===t||null===(r=t.badges)||void 0===r?void 0:r.icon)&&void 0!==e&&e}},watch:{},methods:{}},$=K,V=Object(v["a"])($,R,U,!1,null,null,null),z=V.exports,G=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.itemList?r("div",e._l(e.itemList,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{attrs:{pill:"",variant:e.color}},[e._v(e._s(e.thisLabel(t)))])],1)})),0):e._e()},H=[],Y=(r("1276"),r("159b"),{name:"GenericPill",props:{item_list:{required:!0,type:Array},label:{type:String,default:"name"},color:{type:String,default:"light"}},computed:{itemList:function(){var e;return Array.isArray(this.item_list)?this.item_list:!(null===(e=this.item_list)||void 0===e||!e.id)&&[this.item_list]}},mounted:function(){},methods:{thisLabel:function(e){var t=this.label.split("::"),r=e;return t.forEach((function(e){r=r[e]})),r}}}),W=Y,J=Object(v["a"])(W,G,H,!1,null,null,null),Z=J.exports,X=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.itemList?r("draggable",{attrs:{tag:"span",group:"ordered_items","z-index":"500"},on:{change:e.orderChanged},model:{value:e.this_list,callback:function(t){e.this_list=t},expression:"this_list"}},e._l(e.itemList,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{attrs:{pill:"",variant:e.color}},[e._v(e._s(e.thisLabel(t)))])],1)})),0):e._e()},Q=[],ee=r("b76a"),te=r.n(ee),re={name:"GenericOrderedPill",components:{draggable:te.a},props:{item_list:{required:!0,type:Array},label:{type:String,default:"name"},color:{type:String,default:"light"},field:{type:String,required:!0},item:{type:Object}},data:function(){return{this_list:[]}},computed:{itemList:function(){var e;return Array.isArray(this.this_list)?this.this_list:!(null===(e=this.this_list)||void 0===e||!e.name)&&[this.this_list]}},mounted:function(){this.this_list=this.item_list},watch:{item_list:function(e){this.this_list=e}},methods:{thisLabel:function(e){var t=this.label.split("::"),r=e;return t.forEach((function(e){r=r[e]})),r},orderChanged:function(e){var t=0;this.this_list.forEach((function(e){e["order"]=t,t++}));var r=Object(a["a"])({},this.item);r[this.field]=this.this_list,this.$emit("finish-action",{action:"save",form_data:r})}}},ne=re,ie=Object(v["a"])(ne,X,Q,!1,null,null,null),oe=ie.exports,ae=r("6b0a"),se=r("c7db"),ce=r("39c3"),ue={name:"GenericHorizontalCard",components:{GenericContextMenu:C,RecipeCard:ae["a"],Badges:z,GenericPill:Z,GenericOrderedPill:oe},mixins:[se["mixin"]],props:{item:{type:Object},model:{type:Object},title:{type:String,default:"name"},subtitle:{type:String,default:"description"},child_count:{type:String,default:"numchild"},children:{type:String,default:"children"},recipe_count:{type:String,default:"numrecipe"},recipes:{type:String,default:"recipes"}},data:function(){return{item_image:"",over:!1,show_menu:!1,dragMenu:void 0,isError:!1,source:{id:void 0,name:void 0},target:{id:void 0,name:void 0},text:{hide_children:""}}},mounted:function(){var e,t;this.item_image=null!==(e=null===(t=this.item)||void 0===t?void 0:t.image)&&void 0!==e?e:window.IMAGE_PLACEHOLDER,this.dragMenu=this.$refs.tooltip,this.text.hide_children=this.$t("Hide_"+this.itemName)},computed:{itemName:function(){var e,t;return null!==(e=null===(t=this.model)||void 0===t?void 0:t.name)&&void 0!==e?e:"You Forgot To Set Model Name in model.js"},useMove:function(){var e,t;return!(null===(e=null===(t=this.model)||void 0===t?void 0:t["move"])||void 0===e||!e)},useMerge:function(){var e,t;return!(null===(e=null===(t=this.model)||void 0===t?void 0:t["merge"])||void 0===e||!e)},useDrag:function(){return this.useMove||this.useMerge},itemTags:function(){var e,t;return null!==(e=null===(t=this.model)||void 0===t?void 0:t.tags)&&void 0!==e?e:[]},itemOrderedTags:function(){var e,t;return null!==(e=null===(t=this.model)||void 0===t?void 0:t.ordered_tags)&&void 0!==e?e:[]}},methods:{handleDragStart:function(e){this.isError=!1,e.dataTransfer.setData("source",JSON.stringify(this.item))},handleDragEnter:function(e){e.currentTarget.contains(e.relatedTarget)||null==e.relatedTarget||(this.over=!0)},handleDragLeave:function(e){e.currentTarget.contains(e.relatedTarget)||(this.over=!1)},handleDragDrop:function(e){var t=JSON.parse(e.dataTransfer.getData("source"));if(t.id!=this.item.id){this.source=t;var r={getBoundingClientRect:this.generateLocation(e.clientX,e.clientY)};this.show_menu=!0;var n=Object(ce["a"])(r,this.dragMenu,{placement:"bottom-start",modifiers:[{name:"preventOverflow",options:{rootBoundary:"document"}},{name:"flip",options:{fallbackPlacements:["bottom-end","top-start","top-end","left-start","right-start"],rootBoundary:"document"}}]});n.update(),this.over=!1,this.$emit({action:"drop",target:this.item,source:this.source})}else this.isError=!0},generateLocation:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return function(){return{width:0,height:0,top:t,right:e,bottom:t,left:e}}},closeMenu:function(){this.show_menu=!1},finishAction:function(e){this.$emit("finish-action",e)}}},de=ue,le=(r("2cb3"),Object(v["a"])(de,O,_,!1,null,"e878d6ac",null)),pe=le.exports,he=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{attrs:{id:"modal_"+e.id},on:{hidden:e.cancelAction},scopedSlots:e._u([{key:"modal-title",fn:function(){return[r("h4",[e._v(e._s(e.form.title))])]},proxy:!0},{key:"modal-footer",fn:function(){return[r("b-button",{staticClass:"float-right mx-1",attrs:{variant:"secondary"},on:{click:e.cancelAction}},[e._v(e._s(e.$t("Cancel")))]),r("b-button",{staticClass:"float-right mx-1",attrs:{variant:"primary"},on:{click:e.doAction}},[e._v(e._s(e.form.ok_label))])]},proxy:!0}])},e._l(e.form.fields,(function(t,n){return r("div",{key:n},["instruction"==t.type?r("p",[e._v(e._s(t.label))]):e._e(),"lookup"==t.type?r("lookup-input",{attrs:{form:t,model:e.listModel(t.list)},on:{change:e.storeValue}}):e._e(),e._v(" "),"checkbox"==t.type?r("checkbox-input",{attrs:{label:t.label,value:t.value,field:t.field}}):e._e(),"text"==t.type?r("text-input",{attrs:{label:t.label,value:t.value,field:t.field,placeholder:t.placeholder}}):e._e(),"choice"==t.type?r("choice-input",{attrs:{label:t.label,value:t.value,field:t.field,options:t.options,placeholder:t.placeholder}}):e._e(),"emoji"==t.type?r("emoji-input",{attrs:{label:t.label,value:t.value,field:t.field},on:{change:e.storeValue}}):e._e()],1)})),0)],1)},fe=[],be=r("3835"),me=(r("4fad"),r("6369")),ve=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-checkbox",{model:{value:e.new_value,callback:function(t){e.new_value=t},expression:"new_value"}},[e._v(e._s(e.label))])],1)},ge=[],je={name:"CheckboxInput",props:{field:{type:String,default:"You Forgot To Set Field Name"},label:{type:String,default:"Checkbox Field"},value:{type:Boolean,default:!1},show_move:{type:Boolean,default:!1},show_merge:{type:Boolean,default:!1}},data:function(){return{new_value:void 0}},mounted:function(){this.new_value=this.value},watch:{new_value:function(){this.$root.$emit("change",this.field,this.new_value)}},methods:{}},Oe=je,_e=Object(v["a"])(Oe,ve,ge,!1,null,null,null),ye=_e.exports,Se=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-group",{staticClass:"mb-3",attrs:{label:e.form.label}},[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{initial_selection:e.initialSelection,model:e.model,multiple:e.useMultiple,sticky_options:e.sticky_options,allow_create:e.create_new,create_placeholder:e.createPlaceholder,placeholder:e.modelName},on:{change:function(t){e.new_value=t.val},remove:function(t){e.new_value=void 0},new:e.addNew}})],1)],1)},we=[],ke=r("53ca"),Pe=(r("5319"),r("7432")),Ce={name:"LookupInput",components:{GenericMultiselect:Pe["a"]},mixins:[c["a"]],props:{form:{type:Object,default:function(){}},model:{type:Object,default:function(){}}},data:function(){return{new_value:void 0,field:void 0,label:void 0,sticky_options:void 0,first_run:!0}},mounted:function(){var e,t,r,n,i,o,a;this.new_value=null===(e=this.form)||void 0===e?void 0:e.value,this.field=null!==(t=null===(r=this.form)||void 0===r?void 0:r.field)&&void 0!==t?t:"You Forgot To Set Field Name",this.label=null!==(n=null===(i=this.form)||void 0===i?void 0:i.label)&&void 0!==n?n:"",this.sticky_options=null!==(o=null===(a=this.form)||void 0===a?void 0:a.sticky_options)&&void 0!==o?o:[]},computed:{modelName:function(){var e,t;return null!==(e=null===this||void 0===this||null===(t=this.model)||void 0===t?void 0:t.name)&&void 0!==e?e:this.$t("Search")},useMultiple:function(){var e,t;return(null===(e=this.form)||void 0===e?void 0:e.multiple)||(null===(t=this.form)||void 0===t?void 0:t.ordered)||!1},initialSelection:function(){var e,t=this.form.value,r=void 0;return r=Array.isArray(t)?t:t?"object"===Object(ke["a"])(t)?[t]:[{id:-1,name:t}]:[],null!==(e=this.form)&&void 0!==e&&e.ordered&&this.first_run?this.flattenItems(r):r},createPlaceholder:function(){var e;return this.$t("Create_New_"+(null===this||void 0===this||null===(e=this.model)||void 0===e?void 0:e.name))}},watch:{new_value:function(){var e=null===this||void 0===this?void 0:this.new_value;e["__override__"]=this.unflattenItem(null===this||void 0===this?void 0:this.new_value),this.$root.$emit("change",this.form.field,e)}},methods:{addNew:function(e){var t=this;this.genericAPI(this.model,this.Actions.CREATE,{name:e}).then((function(e){t.new_value=e.data,c["e"].makeStandardToast(c["e"].SUCCESS_CREATE)})).catch((function(e){console.log(e),c["e"].makeStandardToast(c["e"].FAIL_CREATE)}))},flattenItems:function(e){var t=this,r=[],n=void 0,i=this.form.list_label.split("::");return e.forEach((function(e){n={};for(var o=0,a=Object.entries(e);oe.text_length?r("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?r("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),r("p",{staticClass:"mt-1"},[r("last-cooked",{attrs:{recipe:e.recipe}}),r("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-md-12"},[r("h6",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),r("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[r("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():r("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?r("b-card-footer",[r("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},i=[],o=r("fc0d"),a=r("81d5"),s=r("fa7d"),c=r("ca5b"),u=r("c1df"),d=r.n(u),l=r("a026"),p=r("830a"),h=r("118a");l["default"].prototype.moment=d.a;var f={name:"RecipeCard",mixins:[s["d"]],components:{LastCooked:p["a"],RecipeRating:c["a"],Keywords:a["a"],RecipeContextMenu:o["a"],Ingredient:h["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},data:function(){return{recipe_image:""}},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120}},mounted:function(){null==this.recipe||null===this.recipe.image?this.recipe_image=window.IMAGE_PLACEHOLDER:this.recipe_image=this.recipe.image},methods:{clickUrl:function(){return null!==this.recipe?Object(s["k"])("view_recipe",this.recipe.id):Object(s["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},b=f,m=r("2877"),v=Object(m["a"])(b,n,i,!1,null,"251089d7",null);t["a"]=v.exports},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Importieren","import_running":"Import läuft, bitte warten!","Import_finished":"Import fertig","View_Recipes":"Rezepte Ansehen","Information":"Information","all_fields_optional":"Alle Felder sind optional und können leer gelassen werden.","convert_internal":"Zu internem Rezept wandeln","Log_Recipe_Cooking":"Kochen protokollieren","External_Recipe_Image":"Externes Rezept Bild","Add_to_Book":"Zu Buch hinzufügen","Add_to_Shopping":"Zu Einkaufsliste hinzufügen","Add_to_Plan":"Zu Plan hinzufügen","Step_start_time":"Schritt Startzeit","Select_Book":"Buch wählen","Recipe_Image":"Rezept Bild","Log_Cooking":"Kochen protokollieren","Proteins":"Proteine","Fats":"Fette","Carbohydrates":"Kohlenhydrate","Calories":"Kalorien","Nutrition":"Nährwerte","Keywords":"Stichwörter","Books":"Bücher","show_only_internal":"Nur interne Rezepte anzeigen","Ingredients":"Zutaten","min":"Min","Servings":"Portionen","Waiting":"Wartezeit","Preparation":"Vorbereitung","Edit":"Bearbeiten","Open":"Öffnen","Save":"Speichern","Step":"Schritt","Search":"Suchen","Print":"Drucken","New_Recipe":"Neues Rezept","Url_Import":"URL Import","Reset_Search":"Suche zurücksetzen","or":"oder","and":"und","Recently_Viewed":"Kürzlich angesehen","External":"Extern","Settings":"Einstellungen","Meal_Plan":"Speiseplan","Date":"Datum","Share":"Teilen","Export":"Exportieren","Rating":"Bewertung","Close":"Schließen","Add":"Hinzufügen","Copy":"Kopieren","New":"Neu","Categories":"Kategorien","Category":"Kategorie","Selected":"Ausgewählt","Supermarket":"Supermarkt","Files":"Dateien","Size":"Größe","success_fetching_resource":"Ressource erfolgreich abgerufen!","Download":"Herunterladen","Success":"Erfolgreich","err_fetching_resource":"Ein Fehler trat während dem Abrufen einer Ressource auf!","err_creating_resource":"Ein Fehler trat während dem Erstellen einer Ressource auf!","err_updating_resource":"Ein Fehler trat während dem Aktualisieren einer Ressource auf!","success_creating_resource":"Ressource erfolgreich erstellt!","success_updating_resource":"Ressource erfolgreich aktualisiert!","File":"Datei","Delete":"Löschen","err_deleting_resource":"Ein Fehler trat während dem Löschen einer Ressource auf!","Cancel":"Abbrechen","success_deleting_resource":"Ressource erfolgreich gelöscht!","Load_More":"Mehr laden","Ok":"Öffnen"}')},7432:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("multiselect",{attrs:{options:e.objects,"close-on-select":!0,"clear-on-select":!0,"hide-selected":e.multiple,"preserve-search":!0,placeholder:e.lookupPlaceholder,label:e.label,"track-by":"id",multiple:e.multiple,taggable:e.allow_create,"tag-placeholder":e.create_placeholder,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged,tag:e.addNew},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},i=[],o=(r("a9e3"),r("ac1f"),r("841c"),r("b0c0"),r("99af"),r("8e5f")),a=r.n(o),s=r("fa7d"),c={name:"GenericMultiselect",components:{Multiselect:a.a},mixins:[s["a"]],data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:{type:String,default:void 0},model:{type:Object,default:function(){return{}}},label:{type:String,default:"name"},parent_variable:{type:String,default:void 0},limit:{type:Number,default:10},sticky_options:{type:Array,default:function(){return[]}},initial_selection:{type:Array,default:function(){return[]}},multiple:{type:Boolean,default:!0},allow_create:{type:Boolean,default:!1},create_placeholder:{type:String,default:"You Forgot to Add a Tag Placeholder"}},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search(""),this.selected_objects=this.initial_selection},computed:{lookupPlaceholder:function(){return this.placeholder||this.model.name||this.$t("Search")}},methods:{search:function(e){var t=this,r={page:1,pageSize:10,query:e};this.genericAPI(this.model,this.Actions.LIST,r).then((function(e){var r,n;t.objects=t.sticky_options.concat(null!==(r=null===(n=e.data)||void 0===n?void 0:n.results)&&void 0!==r?r:e.data)}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})},addNew:function(e){var t=this;this.$emit("new",e),setTimeout((function(){t.search("")}),750)}}},u=c,d=r("2877"),l=Object(d["a"])(u,n,i,!1,null,"157f040e",null);t["a"]=l.exports},"7c15":function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return s}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["k"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),i.a.get(t).then((function(e){return e.data})).catch((function(e){c(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["k"])("api:cooklog-list"),e).then((function(e){Object(o["j"])("Saved","Cook Log entry saved!","success")})).catch((function(e){c(e,"There was an error creating a resource!","danger")}))}function c(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["h"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["j"])(r,t,"danger")}else Object(o["j"])("Error",t,"danger"),console.log(e)}i.a.defaults.xsrfCookieName="csrftoken",i.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},"81d5":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.recipe.keywords.length>0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},b05e:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-group",{staticClass:"mb-3",attrs:{label:e.label}},[r("twemoji-textarea",{ref:"_edit_"+e.id,attrs:{initialContent:e.value,emojiData:e.emojiDataAll,emojiGroups:e.emojiGroups,triggerType:"hover",recentEmojisFeat:"true",recentEmojisStorage:"local"},on:{contentChanged:e.setIcon}})],1)],1)},i=[],o=r("ad23"),a=r("34ef"),s=r("0d08"),c={name:"EmojiInput",components:{TwemojiTextarea:o["a"]},props:{field:{type:String,default:"You Forgot To Set Field Name"},label:{type:String,default:""},value:{type:String,default:""}},data:function(){return{new_value:void 0,id:null}},computed:{emojiDataAll:function(){return a},emojiGroups:function(){return s}},watch:{new_value:function(){var e;this.$root.$emit("change",this.field,null!==(e=this.new_value)&&void 0!==e?e:null)}},mounted:function(){this.id=this._uid},methods:{prepareEmoji:function(){this.$refs["_edit_"+this.id].addText(this.this_item.icon||""),this.$refs["_edit_"+this.id].blur(),document.getElementById("btn-emoji-default").disabled=!0},setIcon:function(e){this.new_value=e}}},u=c,d=r("2877"),l=Object(d["a"])(u,n,i,!1,null,null,null);t["a"]=l.exports},c190:function(e,t,r){},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),l=r("2b2d"),p=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new l["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new l["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,p["e"].makeStandardToast(p["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new l["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),p["e"].makeStandardToast(p["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new l["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),p["e"].makeStandardToast(p["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new l["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},edd4:function(e){e.exports=JSON.parse('{"err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return j})),r.d(t,"j",(function(){return O})),r.d(t,"e",(function(){return _})),r.d(t,"c",(function(){return y})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return w})),r.d(t,"k",(function(){return k})),r.d(t,"g",(function(){return C})),r.d(t,"a",(function(){return U})),r.d(t,"i",(function(){return I})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),l=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),p=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var s=(n+o)/(i+a);if(e===s){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),g=r("a026"),j={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return O(e,t,r)}}};function O(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new l["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-top-center",solid:!0})}var _=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:O(p["a"].tc("Success"),p["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:O(p["a"].tc("Success"),p["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:O(p["a"].tc("Success"),p["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:O(p["a"].tc("Success"),p["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:O(p["a"].tc("Failure"),p["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:O(p["a"].tc("Failure"),p["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:O(p["a"].tc("Failure"),p["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:O(p["a"].tc("Failure"),p["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(_,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(_,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(_,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(_,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(_,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(_,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(_,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(_,"FAIL_DELETE","FAIL_DELETE");var y={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var w={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return k(e,t)}}};function k(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function C(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return R(e*t)}function R(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var U={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=T(e,t),s=o.function,c=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],l=void 0;u.forEach((function(e,t){if(Array.isArray(e)){l={};for(var n=0,i=Object.entries(r);n15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},s=a,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return k}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,s,c,u,d,l=r("9ab4"),p=r("bc3a"),h=r.n(p),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(l["c"])(t,e),t}(Error),v="https://example.com",g=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},j=function(e){for(var t=[],r=1;r0&&this.state.loaded(),e.current>=e.max&&this.state.complete()}}},methods:{infiniteHandler:function(e,t){var r={query:this.search,page:this.page+1};this.state=e,this.$emit("search",r),this.page+=1}}},m=b,v=r("2877"),g=Object(v["a"])(m,u,d,!1,null,null,null),j=g.exports,O=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{margin:"4px"},attrs:{row:""}},[r("b-card",{class:{"border border-primary":e.over,shake:e.isError},style:{"cursor:grab":e.useDrag},attrs:{"no-body":"","d-flex":"","flex-column":"",draggable:e.useDrag},on:e._d({"useDrag&&`dragenter`":[function(e){e.preventDefault()},function(t){return e.handleDragEnter(t)}]},[e.useDrag&&"dragover",function(e){e.preventDefault()},e.useDrag&&"dragstart",function(t){return e.handleDragStart(t)},e.useDrag&&"dragleave",function(t){return e.handleDragLeave(t)},e.useDrag&&"drop",function(t){return e.handleDragDrop(t)}])},[r("b-row",{attrs:{"no-gutters":""}},[r("b-col",{staticClass:"col-sm-3",attrs:{"no-gutters":""}},[r("b-card-img-lazy",{staticStyle:{"object-fit":"cover",height:"6em"},attrs:{src:e.item_image,alt:e.$t("Recipe_Image")}})],1),r("b-col",{staticClass:"col-sm-9",attrs:{"no-gutters":""}},[r("b-card-body",{staticClass:"m-0 py-0"},[r("b-card-text",{staticClass:" h-100 my-0 d-flex flex-column",staticStyle:{"text-overflow":"ellipsis"}},[r("h5",{staticClass:"m-0 mt-1 text-truncate"},[e._v(e._s(e.item[e.title]))]),r("div",{staticClass:"m-0 text-truncate"},[e._v(e._s(e.item[e.subtitle]))]),e._l(e.itemTags,(function(t){return r("generic-pill",{key:t.field,attrs:{item_list:e.item[t.field],label:t.label,color:t.color}})})),e._l(e.itemOrderedTags,(function(t){return r("generic-ordered-pill",{key:t.field,attrs:{item_list:e.item[t.field],label:t.label,color:t.color,field:t.field,item:e.item},on:{"finish-action":e.finishAction}})})),r("div",{staticClass:"mt-auto mb-1",attrs:{align:"right"}},[e.item[e.child_count]?r("span",{staticClass:"mx-2 btn btn-link btn-sm",staticStyle:{"z-index":"800"},on:{click:function(t){return e.$emit("item-action",{action:"get-children",source:e.item})}}},[e.item.show_children?r("div",[e._v(e._s(e.text.hide_children))]):r("div",[e._v(e._s(e.item[e.child_count])+" "+e._s(e.itemName))])]):e._e(),e.item[e.recipe_count]?r("span",{staticClass:"mx-2 btn btn-link btn-sm",staticStyle:{"z-index":"800"},on:{click:function(t){return e.$emit("item-action",{action:"get-recipes",source:e.item})}}},[e.item.show_recipes?r("div",[e._v(e._s(e.$t("Hide_Recipes")))]):r("div",[e._v(e._s(e.item[e.recipe_count])+" "+e._s(e.$t("Recipes")))])]):e._e()])],2)],1)],1),r("div",{staticClass:"card-img-overlay justify-content-right h-25 m-0 p-0 text-right"},[r("badges",{attrs:{item:e.item,model:e.model}}),r("generic-context-menu",{staticClass:"p-0",attrs:{show_merge:e.useMerge,show_move:e.useMove},on:{"item-action":function(t){return e.$emit("item-action",{action:t,source:e.item})}}})],1)],1)],1),e.item.show_children?r("div",{staticClass:"row"},[r("div",{staticClass:"col-md-10 offset-md-2"},e._l(e.item[e.children],(function(t){return r("generic-horizontal-card",{key:t.id,attrs:{item:t,model:e.model},on:{"item-action":function(t){return e.$emit("item-action",t)}}})})),1)]):e._e(),e.item.show_recipes?r("div",{staticClass:"row"},[r("div",{staticClass:"col-md-10 offset-md-2"},[r("div",{staticStyle:{display:"grid","grid-template-columns":"repeat(auto-fit, minmax(200px, 1fr))","grid-gap":"1rem"}},e._l(e.item[e.recipes],(function(e){return r("recipe-card",{key:e.id,attrs:{recipe:e}})})),1)])]):e._e(),r("b-list-group",{directives:[{name:"show",rawName:"v-show",value:e.show_menu,expression:"show_menu"},{name:"on-clickaway",rawName:"v-on-clickaway",value:e.closeMenu,expression:"closeMenu"}],ref:"tooltip",staticStyle:{"z-index":"9999",cursor:"pointer"},attrs:{variant:"light"}},[e.useMove?r("b-list-group-item",{attrs:{action:""},on:{click:function(t){e.$emit("item-action",{action:"move",target:e.item,source:e.source}),e.closeMenu()}}},[r("i",{staticClass:"fas fa-expand-arrows-alt fa-fw"}),e._v(" "+e._s(e.$t("Move"))+": "+e._s(e.$t("move_confirmation",{child:e.source.name,parent:e.item.name}))+" ")]):e._e(),e.useMerge?r("b-list-group-item",{attrs:{action:""},on:{click:function(t){e.$emit("item-action",{action:"merge",target:e.item,source:e.source}),e.closeMenu()}}},[r("i",{staticClass:"fas fa-compress-arrows-alt fa-fw"}),e._v(" "+e._s(e.$t("Merge"))+": "+e._s(e.$t("merge_confirmation",{source:e.source.name,target:e.item.name}))+" ")]):e._e(),r("b-list-group-item",{attrs:{action:""},on:{click:function(t){return e.closeMenu()}}},[e._v(" "+e._s(e.$t("Cancel"))+" ")])],1)],1)},_=[],y=(r("b0c0"),function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[r("b-dropdown",{staticStyle:{boundary:"window"},attrs:{variant:"link","toggle-class":"text-decoration-none","no-caret":""},scopedSlots:e._u([{key:"button-content",fn:function(){return[r("i",{staticClass:"fas fa-ellipsis-v"})]},proxy:!0}])},[e.show_edit?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","edit")}}},[r("i",{staticClass:"fas fa-pencil-alt fa-fw"}),e._v(" "+e._s(e.$t("Edit"))+" ")]):e._e(),e.show_delete?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","delete")}}},[r("i",{staticClass:"fas fa-trash-alt fa-fw"}),e._v(" "+e._s(e.$t("Delete"))+" ")]):e._e(),e.show_move?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","move")}}},[r("i",{staticClass:"fas fa-expand-arrows-alt fa-fw"}),e._v(" "+e._s(e.$t("Move"))+" ")]):e._e(),e.show_merge?r("b-dropdown-item",{on:{click:function(t){return e.$emit("item-action","merge")}}},[r("i",{staticClass:"fas fa-compress-arrows-alt fa-fw"}),e._v(" "+e._s(e.$t("Merge"))+" ")]):e._e()],1)],1)}),S=[],w={name:"GenericContextMenu",props:{show_edit:{type:Boolean,default:!0},show_delete:{type:Boolean,default:!0},show_move:{type:Boolean,default:!1},show_merge:{type:Boolean,default:!1}}},k=w,P=Object(v["a"])(k,y,S,!1,null,null,null),C=P.exports,R=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e.linkedRecipe?r("linked-recipe",{attrs:{item:e.item}}):e._e(),e.Icon?r("icon-badge",{attrs:{item:e.item}}):e._e()],1)},U=[],L=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e.item.recipe?r("b-button",{directives:[{name:"b-tooltip",rawName:"v-b-tooltip.hover",modifiers:{hover:!0}}],staticClass:" btn fas fa-book-open p-0 border-0",attrs:{title:e.item.recipe.name,variant:"link",href:e.item.recipe.url}}):e._e()],1)},E=[],T={name:"LinkedRecipeBadge",props:{item:{type:Object}},data:function(){return{}},mounted:function(){},watch:{},methods:{}},I=T,x=Object(v["a"])(I,L,E,!1,null,null,null),A=x.exports,M=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",[e.item.icon?r("b-button",{staticClass:" btn p-0 border-0",attrs:{variant:"link"}},[e._v(" "+e._s(e.item.icon)+" ")]):e._e()],1)},F=[],B={name:"IconBadge",props:{item:{type:Object}},data:function(){return{}},mounted:function(){},watch:{},methods:{}},D=B,N=Object(v["a"])(D,M,F,!1,null,null,null),q=N.exports,K={name:"CardBadges",components:{LinkedRecipe:A,IconBadge:q},props:{item:{type:Object},model:{type:Object}},data:function(){return{}},mounted:function(){},computed:{linkedRecipe:function(){var e,t,r;return null!==(e=null===(t=this.model)||void 0===t||null===(r=t.badges)||void 0===r?void 0:r.linked_recipe)&&void 0!==e&&e},Icon:function(){var e,t,r;return null!==(e=null===(t=this.model)||void 0===t||null===(r=t.badges)||void 0===r?void 0:r.icon)&&void 0!==e&&e}},watch:{},methods:{}},$=K,V=Object(v["a"])($,R,U,!1,null,null,null),z=V.exports,G=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.itemList?r("div",e._l(e.itemList,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{attrs:{pill:"",variant:e.color}},[e._v(e._s(e.thisLabel(t)))])],1)})),0):e._e()},H=[],Y=(r("1276"),r("159b"),{name:"GenericPill",props:{item_list:{required:!0,type:Array},label:{type:String,default:"name"},color:{type:String,default:"light"}},computed:{itemList:function(){var e;return Array.isArray(this.item_list)?this.item_list:!(null===(e=this.item_list)||void 0===e||!e.id)&&[this.item_list]}},mounted:function(){},methods:{thisLabel:function(e){var t=this.label.split("::"),r=e;return t.forEach((function(e){r=r[e]})),r}}}),W=Y,J=Object(v["a"])(W,G,H,!1,null,null,null),Z=J.exports,X=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.itemList?r("draggable",{attrs:{tag:"span",group:"ordered_items","z-index":"500"},on:{change:e.orderChanged},model:{value:e.this_list,callback:function(t){e.this_list=t},expression:"this_list"}},e._l(e.itemList,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{attrs:{pill:"",variant:e.color}},[e._v(e._s(e.thisLabel(t)))])],1)})),0):e._e()},Q=[],ee=r("b76a"),te=r.n(ee),re={name:"GenericOrderedPill",components:{draggable:te.a},props:{item_list:{required:!0,type:Array},label:{type:String,default:"name"},color:{type:String,default:"light"},field:{type:String,required:!0},item:{type:Object}},data:function(){return{this_list:[]}},computed:{itemList:function(){var e;return Array.isArray(this.this_list)?this.this_list:!(null===(e=this.this_list)||void 0===e||!e.name)&&[this.this_list]}},mounted:function(){this.this_list=this.item_list},watch:{item_list:function(e){this.this_list=e}},methods:{thisLabel:function(e){var t=this.label.split("::"),r=e;return t.forEach((function(e){r=r[e]})),r},orderChanged:function(e){var t=0;this.this_list.forEach((function(e){e["order"]=t,t++}));var r=Object(a["a"])({},this.item);r[this.field]=this.this_list,this.$emit("finish-action",{action:"save",form_data:r})}}},ne=re,ie=Object(v["a"])(ne,X,Q,!1,null,null,null),oe=ie.exports,ae=r("6b0a"),se=r("c7db"),ce=r("39c3"),ue={name:"GenericHorizontalCard",components:{GenericContextMenu:C,RecipeCard:ae["a"],Badges:z,GenericPill:Z,GenericOrderedPill:oe},mixins:[se["mixin"]],props:{item:{type:Object},model:{type:Object},title:{type:String,default:"name"},subtitle:{type:String,default:"description"},child_count:{type:String,default:"numchild"},children:{type:String,default:"children"},recipe_count:{type:String,default:"numrecipe"},recipes:{type:String,default:"recipes"}},data:function(){return{item_image:"",over:!1,show_menu:!1,dragMenu:void 0,isError:!1,source:{id:void 0,name:void 0},target:{id:void 0,name:void 0},text:{hide_children:""}}},mounted:function(){var e,t;this.item_image=null!==(e=null===(t=this.item)||void 0===t?void 0:t.image)&&void 0!==e?e:window.IMAGE_PLACEHOLDER,this.dragMenu=this.$refs.tooltip,this.text.hide_children=this.$t("Hide_"+this.itemName)},computed:{itemName:function(){var e,t;return null!==(e=null===(t=this.model)||void 0===t?void 0:t.name)&&void 0!==e?e:"You Forgot To Set Model Name in model.js"},useMove:function(){var e,t;return!(null===(e=null===(t=this.model)||void 0===t?void 0:t["move"])||void 0===e||!e)},useMerge:function(){var e,t;return!(null===(e=null===(t=this.model)||void 0===t?void 0:t["merge"])||void 0===e||!e)},useDrag:function(){return this.useMove||this.useMerge},itemTags:function(){var e,t;return null!==(e=null===(t=this.model)||void 0===t?void 0:t.tags)&&void 0!==e?e:[]},itemOrderedTags:function(){var e,t;return null!==(e=null===(t=this.model)||void 0===t?void 0:t.ordered_tags)&&void 0!==e?e:[]}},methods:{handleDragStart:function(e){this.isError=!1,e.dataTransfer.setData("source",JSON.stringify(this.item))},handleDragEnter:function(e){e.currentTarget.contains(e.relatedTarget)||null==e.relatedTarget||(this.over=!0)},handleDragLeave:function(e){e.currentTarget.contains(e.relatedTarget)||(this.over=!1)},handleDragDrop:function(e){var t=JSON.parse(e.dataTransfer.getData("source"));if(t.id!=this.item.id){this.source=t;var r={getBoundingClientRect:this.generateLocation(e.clientX,e.clientY)};this.show_menu=!0;var n=Object(ce["a"])(r,this.dragMenu,{placement:"bottom-start",modifiers:[{name:"preventOverflow",options:{rootBoundary:"document"}},{name:"flip",options:{fallbackPlacements:["bottom-end","top-start","top-end","left-start","right-start"],rootBoundary:"document"}}]});n.update(),this.over=!1,this.$emit({action:"drop",target:this.item,source:this.source})}else this.isError=!0},generateLocation:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return function(){return{width:0,height:0,top:t,right:e,bottom:t,left:e}}},closeMenu:function(){this.show_menu=!1},finishAction:function(e){this.$emit("finish-action",e)}}},de=ue,le=(r("2cb3"),Object(v["a"])(de,O,_,!1,null,"e878d6ac",null)),pe=le.exports,he=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{attrs:{id:"modal_"+e.id},on:{hidden:e.cancelAction},scopedSlots:e._u([{key:"modal-title",fn:function(){return[r("h4",[e._v(e._s(e.form.title))])]},proxy:!0},{key:"modal-footer",fn:function(){return[r("b-button",{staticClass:"float-right mx-1",attrs:{variant:"secondary"},on:{click:e.cancelAction}},[e._v(e._s(e.$t("Cancel")))]),r("b-button",{staticClass:"float-right mx-1",attrs:{variant:"primary"},on:{click:e.doAction}},[e._v(e._s(e.form.ok_label))])]},proxy:!0}])},e._l(e.form.fields,(function(t,n){return r("div",{key:n},["instruction"==t.type?r("p",[e._v(e._s(t.label))]):e._e(),"lookup"==t.type?r("lookup-input",{attrs:{form:t,model:e.listModel(t.list)},on:{change:e.storeValue}}):e._e(),e._v(" "),"checkbox"==t.type?r("checkbox-input",{attrs:{label:t.label,value:t.value,field:t.field}}):e._e(),"text"==t.type?r("text-input",{attrs:{label:t.label,value:t.value,field:t.field,placeholder:t.placeholder}}):e._e(),"choice"==t.type?r("choice-input",{attrs:{label:t.label,value:t.value,field:t.field,options:t.options,placeholder:t.placeholder}}):e._e(),"emoji"==t.type?r("emoji-input",{attrs:{label:t.label,value:t.value,field:t.field},on:{change:e.storeValue}}):e._e()],1)})),0)],1)},fe=[],be=r("3835"),me=(r("4fad"),r("6369")),ve=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-checkbox",{model:{value:e.new_value,callback:function(t){e.new_value=t},expression:"new_value"}},[e._v(e._s(e.label))])],1)},ge=[],je={name:"CheckboxInput",props:{field:{type:String,default:"You Forgot To Set Field Name"},label:{type:String,default:"Checkbox Field"},value:{type:Boolean,default:!1},show_move:{type:Boolean,default:!1},show_merge:{type:Boolean,default:!1}},data:function(){return{new_value:void 0}},mounted:function(){this.new_value=this.value},watch:{new_value:function(){this.$root.$emit("change",this.field,this.new_value)}},methods:{}},Oe=je,_e=Object(v["a"])(Oe,ve,ge,!1,null,null,null),ye=_e.exports,Se=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-group",{staticClass:"mb-3",attrs:{label:e.form.label}},[r("generic-multiselect",{staticStyle:{"flex-grow":"1","flex-shrink":"1","flex-basis":"0"},attrs:{initial_selection:e.initialSelection,model:e.model,multiple:e.useMultiple,sticky_options:e.sticky_options,allow_create:e.create_new,create_placeholder:e.createPlaceholder,placeholder:e.modelName},on:{change:function(t){e.new_value=t.val},remove:function(t){e.new_value=void 0},new:e.addNew}})],1)],1)},we=[],ke=r("53ca"),Pe=(r("5319"),r("7432")),Ce={name:"LookupInput",components:{GenericMultiselect:Pe["a"]},mixins:[c["a"]],props:{form:{type:Object,default:function(){}},model:{type:Object,default:function(){}}},data:function(){return{new_value:void 0,field:void 0,label:void 0,sticky_options:void 0,first_run:!0}},mounted:function(){var e,t,r,n,i,o,a;this.new_value=null===(e=this.form)||void 0===e?void 0:e.value,this.field=null!==(t=null===(r=this.form)||void 0===r?void 0:r.field)&&void 0!==t?t:"You Forgot To Set Field Name",this.label=null!==(n=null===(i=this.form)||void 0===i?void 0:i.label)&&void 0!==n?n:"",this.sticky_options=null!==(o=null===(a=this.form)||void 0===a?void 0:a.sticky_options)&&void 0!==o?o:[]},computed:{modelName:function(){var e,t;return null!==(e=null===this||void 0===this||null===(t=this.model)||void 0===t?void 0:t.name)&&void 0!==e?e:this.$t("Search")},useMultiple:function(){var e,t;return(null===(e=this.form)||void 0===e?void 0:e.multiple)||(null===(t=this.form)||void 0===t?void 0:t.ordered)||!1},initialSelection:function(){var e,t=this.form.value,r=void 0;return r=Array.isArray(t)?t:t?"object"===Object(ke["a"])(t)?[t]:[{id:-1,name:t}]:[],null!==(e=this.form)&&void 0!==e&&e.ordered&&this.first_run?this.flattenItems(r):r},createPlaceholder:function(){var e;return this.$t("Create_New_"+(null===this||void 0===this||null===(e=this.model)||void 0===e?void 0:e.name))}},watch:{new_value:function(){var e=null===this||void 0===this?void 0:this.new_value;e["__override__"]=this.unflattenItem(null===this||void 0===this?void 0:this.new_value),this.$root.$emit("change",this.form.field,e)}},methods:{addNew:function(e){var t=this;this.genericAPI(this.model,this.Actions.CREATE,{name:e}).then((function(e){t.new_value=e.data,c["e"].makeStandardToast(c["e"].SUCCESS_CREATE)})).catch((function(e){console.log(e),c["e"].makeStandardToast(c["e"].FAIL_CREATE)}))},flattenItems:function(e){var t=this,r=[],n=void 0,i=this.form.list_label.split("::");return e.forEach((function(e){n={};for(var o=0,a=Object.entries(e);oe.text_length?r("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?r("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),r("p",{staticClass:"mt-1"},[r("last-cooked",{attrs:{recipe:e.recipe}}),r("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-md-12"},[r("h6",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),r("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[r("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():r("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?r("b-card-footer",[r("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},i=[],o=r("fc0d"),a=r("81d5"),s=r("fa7d"),c=r("ca5b"),u=r("c1df"),d=r.n(u),l=r("a026"),p=r("830a"),h=r("118a");l["default"].prototype.moment=d.a;var f={name:"RecipeCard",mixins:[s["d"]],components:{LastCooked:p["a"],RecipeRating:c["a"],Keywords:a["a"],RecipeContextMenu:o["a"],Ingredient:h["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},data:function(){return{recipe_image:""}},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120}},mounted:function(){null==this.recipe||null===this.recipe.image?this.recipe_image=window.IMAGE_PLACEHOLDER:this.recipe_image=this.recipe.image},methods:{clickUrl:function(){return null!==this.recipe?Object(s["k"])("view_recipe",this.recipe.id):Object(s["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},b=f,m=r("2877"),v=Object(m["a"])(b,n,i,!1,null,"251089d7",null);t["a"]=v.exports},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Importieren","import_running":"Import läuft, bitte warten!","Import_finished":"Import fertig","View_Recipes":"Rezepte Ansehen","Information":"Information","all_fields_optional":"Alle Felder sind optional und können leer gelassen werden.","convert_internal":"Zu internem Rezept wandeln","Log_Recipe_Cooking":"Kochen protokollieren","External_Recipe_Image":"Externes Rezept Bild","Add_to_Book":"Zu Buch hinzufügen","Add_to_Shopping":"Zu Einkaufsliste hinzufügen","Add_to_Plan":"Zu Plan hinzufügen","Step_start_time":"Schritt Startzeit","Select_Book":"Buch wählen","Recipe_Image":"Rezept Bild","Log_Cooking":"Kochen protokollieren","Proteins":"Proteine","Fats":"Fette","Carbohydrates":"Kohlenhydrate","Calories":"Kalorien","Nutrition":"Nährwerte","Keywords":"Stichwörter","Books":"Bücher","show_only_internal":"Nur interne Rezepte anzeigen","Ingredients":"Zutaten","min":"Min","Servings":"Portionen","Waiting":"Wartezeit","Preparation":"Vorbereitung","Edit":"Bearbeiten","Open":"Öffnen","Save":"Speichern","Step":"Schritt","Search":"Suchen","Print":"Drucken","New_Recipe":"Neues Rezept","Url_Import":"URL Import","Reset_Search":"Suche zurücksetzen","or":"oder","and":"und","Recently_Viewed":"Kürzlich angesehen","External":"Extern","Settings":"Einstellungen","Meal_Plan":"Speiseplan","Date":"Datum","Share":"Teilen","Export":"Exportieren","Rating":"Bewertung","Close":"Schließen","Add":"Hinzufügen","Copy":"Kopieren","New":"Neu","Categories":"Kategorien","Category":"Kategorie","Selected":"Ausgewählt","Supermarket":"Supermarkt","Files":"Dateien","Size":"Größe","success_fetching_resource":"Ressource erfolgreich abgerufen!","Download":"Herunterladen","Success":"Erfolgreich","err_fetching_resource":"Ein Fehler trat während dem Abrufen einer Ressource auf!","err_creating_resource":"Ein Fehler trat während dem Erstellen einer Ressource auf!","err_updating_resource":"Ein Fehler trat während dem Aktualisieren einer Ressource auf!","success_creating_resource":"Ressource erfolgreich erstellt!","success_updating_resource":"Ressource erfolgreich aktualisiert!","File":"Datei","Delete":"Löschen","err_deleting_resource":"Ein Fehler trat während dem Löschen einer Ressource auf!","Cancel":"Abbrechen","success_deleting_resource":"Ressource erfolgreich gelöscht!","Load_More":"Mehr laden","Ok":"Öffnen"}')},7432:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("multiselect",{attrs:{options:e.objects,"close-on-select":!0,"clear-on-select":!0,"hide-selected":e.multiple,"preserve-search":!0,placeholder:e.lookupPlaceholder,label:e.label,"track-by":"id",multiple:e.multiple,taggable:e.allow_create,"tag-placeholder":e.create_placeholder,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged,tag:e.addNew},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},i=[],o=(r("a9e3"),r("ac1f"),r("841c"),r("b0c0"),r("99af"),r("8e5f")),a=r.n(o),s=r("fa7d"),c={name:"GenericMultiselect",components:{Multiselect:a.a},mixins:[s["a"]],data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:{type:String,default:void 0},model:{type:Object,default:function(){return{}}},label:{type:String,default:"name"},parent_variable:{type:String,default:void 0},limit:{type:Number,default:10},sticky_options:{type:Array,default:function(){return[]}},initial_selection:{type:Array,default:function(){return[]}},multiple:{type:Boolean,default:!0},allow_create:{type:Boolean,default:!1},create_placeholder:{type:String,default:"You Forgot to Add a Tag Placeholder"}},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search(""),this.selected_objects=this.initial_selection},computed:{lookupPlaceholder:function(){return this.placeholder||this.model.name||this.$t("Search")}},methods:{search:function(e){var t=this,r={page:1,pageSize:10,query:e};this.genericAPI(this.model,this.Actions.LIST,r).then((function(e){var r,n;t.objects=t.sticky_options.concat(null!==(r=null===(n=e.data)||void 0===n?void 0:n.results)&&void 0!==r?r:e.data)}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})},addNew:function(e){var t=this;this.$emit("new",e),setTimeout((function(){t.search("")}),750)}}},u=c,d=r("2877"),l=Object(d["a"])(u,n,i,!1,null,"157f040e",null);t["a"]=l.exports},"7c15":function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return s}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["k"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),i.a.get(t).then((function(e){return e.data})).catch((function(e){c(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["k"])("api:cooklog-list"),e).then((function(e){Object(o["j"])("Saved","Cook Log entry saved!","success")})).catch((function(e){c(e,"There was an error creating a resource!","danger")}))}function c(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["h"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["j"])(r,t,"danger")}else Object(o["j"])("Error",t,"danger"),console.log(e)}i.a.defaults.xsrfCookieName="csrftoken",i.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},"81d5":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.recipe.keywords.length>0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},b05e:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-form-group",{staticClass:"mb-3",attrs:{label:e.label}},[r("twemoji-textarea",{ref:"_edit_"+e.id,attrs:{initialContent:e.value,emojiData:e.emojiDataAll,emojiGroups:e.emojiGroups,triggerType:"hover",recentEmojisFeat:"true",recentEmojisStorage:"local"},on:{contentChanged:e.setIcon}})],1)],1)},i=[],o=r("ad23"),a=r("34ef"),s=r("0d08"),c={name:"EmojiInput",components:{TwemojiTextarea:o["a"]},props:{field:{type:String,default:"You Forgot To Set Field Name"},label:{type:String,default:""},value:{type:String,default:""}},data:function(){return{new_value:void 0,id:null}},computed:{emojiDataAll:function(){return a},emojiGroups:function(){return s}},watch:{new_value:function(){var e;this.$root.$emit("change",this.field,null!==(e=this.new_value)&&void 0!==e?e:null)}},mounted:function(){this.id=this._uid},methods:{prepareEmoji:function(){this.$refs["_edit_"+this.id].addText(this.this_item.icon||""),this.$refs["_edit_"+this.id].blur(),document.getElementById("btn-emoji-default").disabled=!0},setIcon:function(e){this.new_value=e}}},u=c,d=r("2877"),l=Object(d["a"])(u,n,i,!1,null,null,null);t["a"]=l.exports},c190:function(e,t,r){},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),l=r("2b2d"),p=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new l["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new l["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,p["e"].makeStandardToast(p["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new l["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),p["e"].makeStandardToast(p["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new l["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),p["e"].makeStandardToast(p["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new l["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},edd4:function(e){e.exports=JSON.parse('{"err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return j})),r.d(t,"j",(function(){return O})),r.d(t,"e",(function(){return _})),r.d(t,"c",(function(){return y})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return w})),r.d(t,"k",(function(){return k})),r.d(t,"g",(function(){return C})),r.d(t,"a",(function(){return U})),r.d(t,"i",(function(){return I})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),l=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),p=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var s=(n+o)/(i+a);if(e===s){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),g=r("a026"),j={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return O(e,t,r)}}};function O(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new l["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-top-center",solid:!0})}var _=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:O(p["a"].tc("Success"),p["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:O(p["a"].tc("Success"),p["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:O(p["a"].tc("Success"),p["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:O(p["a"].tc("Success"),p["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:O(p["a"].tc("Failure"),p["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:O(p["a"].tc("Failure"),p["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:O(p["a"].tc("Failure"),p["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:O(p["a"].tc("Failure"),p["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(_,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(_,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(_,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(_,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(_,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(_,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(_,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(_,"FAIL_DELETE","FAIL_DELETE");var y={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var w={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return k(e,t)}}};function k(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function C(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return R(e*t)}function R(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var U={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=T(e,t),s=o.function,c=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],l=void 0;u.forEach((function(e,t){if(Array.isArray(e)){l={};for(var n=0,i=Object.entries(r);n15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},s=a,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return w}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,s,c,u,d,p=r("9ab4"),l=r("bc3a"),h=r.n(l),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(p["c"])(t,e),t}(Error),v="https://example.com",g=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},j=function(e){for(var t=[],r=1;r0},normalizer:function(e){var t=null!==e&&void 0!==e&&e.count?" ("+e.count+")":"";return{id:e.id,label:e.name+t,children:e.children,isDefaultExpanded:e.isDefaultExpanded}},isRecentOrNew:function(e){var t=[this.$t("Recently_Viewed"),"fas fa-eye"],r=[this.$t("New_Recipe"),"fas fa-splotch"];return e.new?r:this.facets.Recent.includes(e.id)?t:[void 0,void 0]}}},_=y,S=(r("60bc"),r("2877")),k=Object(S["a"])(_,i,o,!1,null,null,null),w=k.exports,P=r("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:P["a"],render:function(e){return e(w)}}).$mount("#app")},6369:function(e,t,r){"use strict";r.d(t,"b",(function(){return a})),r.d(t,"a",(function(){return s}));var n=r("d4ec"),i=r("ade3"),o=r("9225"),a=function e(){Object(n["a"])(this,e)};Object(i["a"])(a,"TREE",{list:{params:["query","root","tree","page","pageSize"],config:{root:{default:{function:"CONDITIONAL",check:"query",operator:"not_exist",true:0,false:void 0}},tree:{default:void 0}}},delete:{form:{instruction:{form_field:!0,type:"instruction",function:"translate",phrase:"del_confimation_tree",params:[{token:"source",from:"item1",attribute:"name"}]}}},move:{form:{target:{form_field:!0,type:"lookup",field:"target",list:"self",sticky_options:[{id:0,name:o["a"].t("tree_root")}]}}}}),Object(i["a"])(a,"FOOD",{name:o["a"].t("Food"),apiName:"Food",model_type:a.TREE,paginated:!0,move:!0,merge:!0,badges:{linked_recipe:!0},tags:[{field:"supermarket_category",label:"name",color:"info"}],create:{params:[["name","description","recipe","ignore_shopping","supermarket_category"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},recipe:{form_field:!0,type:"lookup",field:"recipe",list:"RECIPE",label:o["a"].t("Recipe")},shopping:{form_field:!0,type:"checkbox",field:"ignore_shopping",label:o["a"].t("Ignore_Shopping")},shopping_category:{form_field:!0,type:"lookup",field:"supermarket_category",list:"SHOPPING_CATEGORY",label:o["a"].t("Shopping_Category"),allow_create:!0}}}}),Object(i["a"])(a,"KEYWORD",{name:o["a"].t("Keyword"),apiName:"Keyword",model_type:a.TREE,paginated:!0,move:!0,merge:!0,badges:{icon:!0},create:{params:[["name","description","icon"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},icon:{form_field:!0,type:"emoji",field:"icon",label:o["a"].t("Icon")}}}}),Object(i["a"])(a,"UNIT",{name:o["a"].t("Unit"),apiName:"Unit",paginated:!0,create:{params:[["name","description"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""}}},merge:!0}),Object(i["a"])(a,"SHOPPING_LIST",{}),Object(i["a"])(a,"RECIPE_BOOK",{name:o["a"].t("Recipe_Book"),apiName:"RecipeBook",create:{params:[["name","description","icon"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},icon:{form_field:!0,type:"emoji",field:"icon",label:o["a"].t("Icon")}}}}),Object(i["a"])(a,"SHOPPING_CATEGORY",{name:o["a"].t("Shopping_Category"),apiName:"SupermarketCategory",create:{params:[["name","description"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""}}}}),Object(i["a"])(a,"SHOPPING_CATEGORY_RELATION",{name:o["a"].t("Shopping_Category_Relation"),apiName:"SupermarketCategoryRelation",create:{params:[["category","supermarket","order"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""}}}}),Object(i["a"])(a,"SUPERMARKET",{name:o["a"].t("Supermarket"),apiName:"Supermarket",ordered_tags:[{field:"category_to_supermarket",label:"category::name",color:"info"}],create:{params:[["name","description","category_to_supermarket"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},categories:{form_field:!0,type:"lookup",list:"SHOPPING_CATEGORY",list_label:"category::name",ordered:!0,field:"category_to_supermarket",label:o["a"].t("Categories"),placeholder:""}},config:{category_to_supermarket:{function:"handleSuperMarketCategory"}}}}),Object(i["a"])(a,"AUTOMATION",{name:o["a"].t("Automation"),apiName:"Automation",paginated:!0,create:{params:[["name","description","type","param_1","param_2","param_3"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},type:{form_field:!0,type:"choice",options:[{value:"FOOD_ALIAS",text:o["a"].t("Food_Alias")},{value:"UNIT_ALIAS",text:o["a"].t("Unit_Alias")},{value:"KEYWORD_ALIAS",text:o["a"].t("Keyword_Alias")}],field:"type",label:o["a"].t("Type"),placeholder:""},param_1:{form_field:!0,type:"text",field:"param_1",label:o["a"].t("Parameter")+" 1",placeholder:""},param_2:{form_field:!0,type:"text",field:"param_2",label:o["a"].t("Parameter")+" 2",placeholder:""},param_3:{form_field:!0,type:"text",field:"param_3",label:o["a"].t("Parameter")+" 3",placeholder:""}}}}),Object(i["a"])(a,"RECIPE",{name:o["a"].t("Recipe"),apiName:"Recipe",list:{params:["query","keywords","foods","units","rating","books","keywordsOr","foodsOr","booksOr","internal","random","_new","page","pageSize","options"],config:{foods:{type:"string"},keywords:{type:"string"},books:{type:"string"}}}}),Object(i["a"])(a,"USER_NAME",{name:o["a"].t("User"),apiName:"User",list:{params:["filter_list"]}}),Object(i["a"])(a,"MEAL_PLAN",{name:o["a"].t("Meal_Plan"),apiName:"MealPlan",list:{params:["options"]}});var s=function e(){Object(n["a"])(this,e)};Object(i["a"])(s,"CREATE",{function:"create",form:{title:{function:"translate",phrase:"create_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Save")}}),Object(i["a"])(s,"UPDATE",{function:"partialUpdate",form_title:{function:"translate",phrase:"edit_title",params:[{token:"type",from:"model",attribute:"name"}]}}),Object(i["a"])(s,"DELETE",{function:"destroy",params:["id"],form:{title:{function:"translate",phrase:"delete_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Delete"),instruction:{form_field:!0,type:"instruction",label:{function:"translate",phrase:"delete_confirmation",params:[{token:"source",from:"item1",attribute:"name"}]}}}}),Object(i["a"])(s,"FETCH",{function:"retrieve",params:["id"]}),Object(i["a"])(s,"LIST",{function:"list",suffix:"s",params:["query","page","pageSize"],config:{query:{default:void 0},page:{default:1},pageSize:{default:25}}}),Object(i["a"])(s,"MERGE",{function:"merge",params:["source","target"],config:{source:{type:"string"},target:{type:"string"}},form:{title:{function:"translate",phrase:"merge_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Merge"),instruction:{form_field:!0,type:"instruction",label:{function:"translate",phrase:"merge_selection",params:[{token:"source",from:"item1",attribute:"name"},{token:"type",from:"model",attribute:"name"}]}},target:{form_field:!0,type:"lookup",field:"target",list:"self"}}}),Object(i["a"])(s,"MOVE",{function:"move",params:["source","target"],config:{source:{type:"string"},target:{type:"string"}},form:{title:{function:"translate",phrase:"move_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Move"),instruction:{form_field:!0,type:"instruction",label:{function:"translate",phrase:"move_selection",params:[{token:"source",from:"item1",attribute:"name"},{token:"type",from:"model",attribute:"name"}]}},target:{form_field:!0,type:"lookup",field:"target",list:"self"}}})},"6b0a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-card",{directives:[{name:"hover",rawName:"v-hover"}],attrs:{"no-body":""}},[r("a",{attrs:{href:e.clickUrl()}},[r("b-card-img-lazy",{staticStyle:{height:"15vh","object-fit":"cover"},attrs:{src:e.recipe_image,alt:e.$t("Recipe_Image"),top:""}}),r("div",{staticClass:"card-img-overlay h-100 d-flex flex-column justify-content-right float-right text-right pt-2 pr-1"},[r("a",[null!==e.recipe?r("recipe-context-menu",{staticClass:"float-right",attrs:{recipe:e.recipe}}):e._e()],1)]),0!==e.recipe.waiting_time?r("div",{staticClass:"card-img-overlay w-50 d-flex flex-column justify-content-left float-left text-left pt-2"},[r("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"light"}},[r("i",{staticClass:"fa fa-clock"}),e._v(" "+e._s(e.recipe.working_time)+" "+e._s(e.$t("min"))+" ")]),r("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"secondary"}},[r("i",{staticClass:"fa fa-pause"}),e._v(" "+e._s(e.recipe.waiting_time)+" "+e._s(e.$t("min"))+" ")])],1):e._e()],1),r("b-card-body",{staticClass:"p-4"},[r("h6",[r("a",{attrs:{href:e.clickUrl()}},[null!==e.recipe?[e._v(e._s(e.recipe.name))]:[e._v(e._s(e.meal_plan.title))]],2)]),r("b-card-text",{staticStyle:{"text-overflow":"ellipsis"}},[null!==e.recipe?[r("recipe-rating",{attrs:{recipe:e.recipe}}),null!==e.recipe.description?[e.recipe.description.length>e.text_length?r("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?r("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),r("p",{staticClass:"mt-1"},[r("last-cooked",{attrs:{recipe:e.recipe}}),r("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-md-12"},[r("h6",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),r("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[r("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():r("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?r("b-card-footer",[r("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},i=[],o=r("fc0d"),a=r("81d5"),s=r("fa7d"),c=r("ca5b"),u=r("c1df"),d=r.n(u),p=r("a026"),l=r("830a"),h=r("118a");p["default"].prototype.moment=d.a;var f={name:"RecipeCard",mixins:[s["d"]],components:{LastCooked:l["a"],RecipeRating:c["a"],Keywords:a["a"],RecipeContextMenu:o["a"],Ingredient:h["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},data:function(){return{recipe_image:""}},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120}},mounted:function(){null==this.recipe||null===this.recipe.image?this.recipe_image=window.IMAGE_PLACEHOLDER:this.recipe_image=this.recipe.image},methods:{clickUrl:function(){return null!==this.recipe?Object(s["k"])("view_recipe",this.recipe.id):Object(s["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},b=f,m=r("2877"),v=Object(m["a"])(b,n,i,!1,null,"251089d7",null);t["a"]=v.exports},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Importieren","import_running":"Import läuft, bitte warten!","Import_finished":"Import fertig","View_Recipes":"Rezepte Ansehen","Information":"Information","all_fields_optional":"Alle Felder sind optional und können leer gelassen werden.","convert_internal":"Zu internem Rezept wandeln","Log_Recipe_Cooking":"Kochen protokollieren","External_Recipe_Image":"Externes Rezept Bild","Add_to_Book":"Zu Buch hinzufügen","Add_to_Shopping":"Zu Einkaufsliste hinzufügen","Add_to_Plan":"Zu Plan hinzufügen","Step_start_time":"Schritt Startzeit","Select_Book":"Buch wählen","Recipe_Image":"Rezept Bild","Log_Cooking":"Kochen protokollieren","Proteins":"Proteine","Fats":"Fette","Carbohydrates":"Kohlenhydrate","Calories":"Kalorien","Nutrition":"Nährwerte","Keywords":"Stichwörter","Books":"Bücher","show_only_internal":"Nur interne Rezepte anzeigen","Ingredients":"Zutaten","min":"Min","Servings":"Portionen","Waiting":"Wartezeit","Preparation":"Vorbereitung","Edit":"Bearbeiten","Open":"Öffnen","Save":"Speichern","Step":"Schritt","Search":"Suchen","Print":"Drucken","New_Recipe":"Neues Rezept","Url_Import":"URL Import","Reset_Search":"Suche zurücksetzen","or":"oder","and":"und","Recently_Viewed":"Kürzlich angesehen","External":"Extern","Settings":"Einstellungen","Meal_Plan":"Speiseplan","Date":"Datum","Share":"Teilen","Export":"Exportieren","Rating":"Bewertung","Close":"Schließen","Add":"Hinzufügen","Copy":"Kopieren","New":"Neu","Categories":"Kategorien","Category":"Kategorie","Selected":"Ausgewählt","Supermarket":"Supermarkt","Files":"Dateien","Size":"Größe","success_fetching_resource":"Ressource erfolgreich abgerufen!","Download":"Herunterladen","Success":"Erfolgreich","err_fetching_resource":"Ein Fehler trat während dem Abrufen einer Ressource auf!","err_creating_resource":"Ein Fehler trat während dem Erstellen einer Ressource auf!","err_updating_resource":"Ein Fehler trat während dem Aktualisieren einer Ressource auf!","success_creating_resource":"Ressource erfolgreich erstellt!","success_updating_resource":"Ressource erfolgreich aktualisiert!","File":"Datei","Delete":"Löschen","err_deleting_resource":"Ein Fehler trat während dem Löschen einer Ressource auf!","Cancel":"Abbrechen","success_deleting_resource":"Ressource erfolgreich gelöscht!","Load_More":"Mehr laden","Ok":"Öffnen"}')},7432:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("multiselect",{attrs:{options:e.objects,"close-on-select":!0,"clear-on-select":!0,"hide-selected":e.multiple,"preserve-search":!0,placeholder:e.lookupPlaceholder,label:e.label,"track-by":"id",multiple:e.multiple,taggable:e.allow_create,"tag-placeholder":e.create_placeholder,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged,tag:e.addNew},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},i=[],o=(r("a9e3"),r("ac1f"),r("841c"),r("b0c0"),r("99af"),r("8e5f")),a=r.n(o),s=r("fa7d"),c={name:"GenericMultiselect",components:{Multiselect:a.a},mixins:[s["a"]],data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:{type:String,default:void 0},model:{type:Object,default:function(){return{}}},label:{type:String,default:"name"},parent_variable:{type:String,default:void 0},limit:{type:Number,default:10},sticky_options:{type:Array,default:function(){return[]}},initial_selection:{type:Array,default:function(){return[]}},multiple:{type:Boolean,default:!0},allow_create:{type:Boolean,default:!1},create_placeholder:{type:String,default:"You Forgot to Add a Tag Placeholder"}},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search(""),this.selected_objects=this.initial_selection},computed:{lookupPlaceholder:function(){return this.placeholder||this.model.name||this.$t("Search")}},methods:{search:function(e){var t=this,r={page:1,pageSize:10,query:e};this.genericAPI(this.model,this.Actions.LIST,r).then((function(e){var r,n;t.objects=t.sticky_options.concat(null!==(r=null===(n=e.data)||void 0===n?void 0:n.results)&&void 0!==r?r:e.data)}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})},addNew:function(e){var t=this;this.$emit("new",e),setTimeout((function(){t.search("")}),750)}}},u=c,d=r("2877"),p=Object(d["a"])(u,n,i,!1,null,"157f040e",null);t["a"]=p.exports},"7c15":function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return s}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["k"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),i.a.get(t).then((function(e){return e.data})).catch((function(e){c(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["k"])("api:cooklog-list"),e).then((function(e){Object(o["j"])("Saved","Cook Log entry saved!","success")})).catch((function(e){c(e,"There was an error creating a resource!","danger")}))}function c(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["h"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["j"])(r,t,"danger")}else Object(o["j"])("Error",t,"danger"),console.log(e)}i.a.defaults.xsrfCookieName="csrftoken",i.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},"81d5":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.recipe.keywords.length>0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),p=r("2b2d"),l=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new p["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new p["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new p["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new p["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),l["e"].makeStandardToast(l["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new p["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},d76c:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"row"},[r("div",{staticClass:"col",staticStyle:{"text-align":"center"}},[r("img",{staticClass:"spinner-tandoor",style:{height:e.size+"vh"},attrs:{alt:"loading spinner",src:""}})])])},i=[],o=(r("a9e3"),{name:"LoadingSpinner",props:{recipe:Object,size:{type:Number,default:30}}}),a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},edd4:function(e){e.exports=JSON.parse('{"err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return j})),r.d(t,"j",(function(){return O})),r.d(t,"e",(function(){return y})),r.d(t,"c",(function(){return _})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return k})),r.d(t,"k",(function(){return w})),r.d(t,"g",(function(){return R})),r.d(t,"a",(function(){return C})),r.d(t,"i",(function(){return T})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),p=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),l=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var s=(n+o)/(i+a);if(e===s){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),g=r("a026"),j={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return O(e,t,r)}}};function O(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new p["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-top-center",solid:!0})}var y=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:O(l["a"].tc("Success"),l["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:O(l["a"].tc("Success"),l["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:O(l["a"].tc("Success"),l["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:O(l["a"].tc("Success"),l["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:O(l["a"].tc("Failure"),l["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:O(l["a"].tc("Failure"),l["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:O(l["a"].tc("Failure"),l["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:O(l["a"].tc("Failure"),l["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(y,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(y,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(y,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(y,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(y,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(y,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(y,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(y,"FAIL_DELETE","FAIL_DELETE");var _={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var k={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return w(e,t)}}};function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function R(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return U(e*t)}function U(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var C={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=I(e,t),s=o.function,c=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],p=void 0;u.forEach((function(e,t){if(Array.isArray(e)){p={};for(var n=0,i=Object.entries(r);n15?r("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none touchable"},[r("i",{staticClass:"far fa-comment"})]):r("span",[e._v(" "+e._s(e.ingredient.note)+" ")]),r("div",{staticClass:"d-none d-print-block"},[r("i",{staticClass:"far fa-comment-alt d-print-none"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()]):e._e()]],2)},i=[],o=(r("a9e3"),r("fa7d")),a={name:"Ingredient",props:{ingredient:Object,ingredient_factor:{type:Number,default:1},detailed:{type:Boolean,default:!0}},mixins:[o["d"]],data:function(){return{checked:!1}},methods:{calculateAmount:function(e){return Object(o["g"])(e,this.ingredient_factor)}}},s=a,c=(r("1efb"),r("2877")),u=Object(c["a"])(s,n,i,!1,null,"18b1d8a0",null);t["a"]=u.exports},"1efb":function(e,t,r){"use strict";r("fe16")},2165:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Failure":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":"","Create":""}')},"2b2d":function(e,t,r){"use strict";r.d(t,"a",(function(){return w}));r("d3b7"),r("3ca3"),r("ddb0"),r("2b3d"),r("ac1f"),r("5319");var n,i,o,a,s,c,u,d,p=r("9ab4"),l=r("bc3a"),h=r.n(l),f=(r("841c"),r("25f0"),r("b0c0"),"undefined"!==typeof window?localStorage.getItem("BASE_PATH")||"":location.protocol+"//"+location.host),b=function(){function e(e,t,r){void 0===t&&(t=f),void 0===r&&(r=h.a),this.basePath=t,this.axios=r,e&&(this.configuration=e,this.basePath=e.basePath||this.basePath)}return e}(),m=function(e){function t(t,r){var n=e.call(this,r)||this;return n.field=t,n.name="RequiredError",n}return Object(p["c"])(t,e),t}(Error),v="https://example.com",g=function(e,t,r){if(null===r||void 0===r)throw new m(t,"Required parameter "+t+" was null or undefined when calling "+e+".")},j=function(e){for(var t=[],r=1;r0},normalizer:function(e){var t=null!==e&&void 0!==e&&e.count?" ("+e.count+")":"";return{id:e.id,label:e.name+t,children:e.children,isDefaultExpanded:e.isDefaultExpanded}},isRecentOrNew:function(e){var t=[this.$t("Recently_Viewed"),"fas fa-eye"],r=[this.$t("New_Recipe"),"fas fa-splotch"];return e.new?r:this.facets.Recent.includes(e.id)?t:[void 0,void 0]}}},_=y,S=(r("60bc"),r("2877")),k=Object(S["a"])(_,i,o,!1,null,null,null),w=k.exports,P=r("9225");n["default"].config.productionTip=!1,new n["default"]({i18n:P["a"],render:function(e){return e(w)}}).$mount("#app")},6369:function(e,t,r){"use strict";r.d(t,"b",(function(){return a})),r.d(t,"a",(function(){return s}));var n=r("d4ec"),i=r("ade3"),o=r("9225"),a=function e(){Object(n["a"])(this,e)};Object(i["a"])(a,"TREE",{list:{params:["query","root","tree","page","pageSize"],config:{root:{default:{function:"CONDITIONAL",check:"query",operator:"not_exist",true:0,false:void 0}},tree:{default:void 0}}},delete:{form:{instruction:{form_field:!0,type:"instruction",function:"translate",phrase:"del_confimation_tree",params:[{token:"source",from:"item1",attribute:"name"}]}}},move:{form:{target:{form_field:!0,type:"lookup",field:"target",list:"self",sticky_options:[{id:0,name:o["a"].t("tree_root")}]}}}}),Object(i["a"])(a,"FOOD",{name:o["a"].t("Food"),apiName:"Food",model_type:a.TREE,paginated:!0,move:!0,merge:!0,badges:{linked_recipe:!0},tags:[{field:"supermarket_category",label:"name",color:"info"}],create:{params:[["name","description","recipe","ignore_shopping","supermarket_category"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},recipe:{form_field:!0,type:"lookup",field:"recipe",list:"RECIPE",label:o["a"].t("Recipe")},shopping:{form_field:!0,type:"checkbox",field:"ignore_shopping",label:o["a"].t("Ignore_Shopping")},shopping_category:{form_field:!0,type:"lookup",field:"supermarket_category",list:"SHOPPING_CATEGORY",label:o["a"].t("Shopping_Category"),allow_create:!0}}}}),Object(i["a"])(a,"KEYWORD",{name:o["a"].t("Keyword"),apiName:"Keyword",model_type:a.TREE,paginated:!0,move:!0,merge:!0,badges:{icon:!0},create:{params:[["name","description","icon"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},icon:{form_field:!0,type:"emoji",field:"icon",label:o["a"].t("Icon")}}}}),Object(i["a"])(a,"UNIT",{name:o["a"].t("Unit"),apiName:"Unit",paginated:!0,create:{params:[["name","description"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""}}},merge:!0}),Object(i["a"])(a,"SHOPPING_LIST",{}),Object(i["a"])(a,"RECIPE_BOOK",{name:o["a"].t("Recipe_Book"),apiName:"RecipeBook",create:{params:[["name","description","icon"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},icon:{form_field:!0,type:"emoji",field:"icon",label:o["a"].t("Icon")}}}}),Object(i["a"])(a,"SHOPPING_CATEGORY",{name:o["a"].t("Shopping_Category"),apiName:"SupermarketCategory",create:{params:[["name","description"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""}}}}),Object(i["a"])(a,"SHOPPING_CATEGORY_RELATION",{name:o["a"].t("Shopping_Category_Relation"),apiName:"SupermarketCategoryRelation",create:{params:[["category","supermarket","order"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""}}}}),Object(i["a"])(a,"SUPERMARKET",{name:o["a"].t("Supermarket"),apiName:"Supermarket",ordered_tags:[{field:"category_to_supermarket",label:"category::name",color:"info"}],create:{params:[["name","description","category_to_supermarket"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},categories:{form_field:!0,type:"lookup",list:"SHOPPING_CATEGORY",list_label:"category::name",ordered:!0,field:"category_to_supermarket",label:o["a"].t("Categories"),placeholder:""}},config:{category_to_supermarket:{function:"handleSuperMarketCategory"}}}}),Object(i["a"])(a,"AUTOMATION",{name:o["a"].t("Automation"),apiName:"Automation",paginated:!0,create:{params:[["name","description","type","param_1","param_2","param_3"]],form:{name:{form_field:!0,type:"text",field:"name",label:o["a"].t("Name"),placeholder:""},description:{form_field:!0,type:"text",field:"description",label:o["a"].t("Description"),placeholder:""},type:{form_field:!0,type:"choice",options:[{value:"FOOD_ALIAS",text:o["a"].t("Food_Alias")},{value:"UNIT_ALIAS",text:o["a"].t("Unit_Alias")},{value:"KEYWORD_ALIAS",text:o["a"].t("Keyword_Alias")}],field:"type",label:o["a"].t("Type"),placeholder:""},param_1:{form_field:!0,type:"text",field:"param_1",label:o["a"].t("Parameter")+" 1",placeholder:""},param_2:{form_field:!0,type:"text",field:"param_2",label:o["a"].t("Parameter")+" 2",placeholder:""},param_3:{form_field:!0,type:"text",field:"param_3",label:o["a"].t("Parameter")+" 3",placeholder:""}}}}),Object(i["a"])(a,"RECIPE",{name:o["a"].t("Recipe"),apiName:"Recipe",list:{params:["query","keywords","foods","units","rating","books","keywordsOr","foodsOr","booksOr","internal","random","_new","page","pageSize","options"],config:{foods:{type:"string"},keywords:{type:"string"},books:{type:"string"}}}}),Object(i["a"])(a,"USER_NAME",{name:o["a"].t("User"),apiName:"User",list:{params:["filter_list"]}}),Object(i["a"])(a,"MEAL_PLAN",{name:o["a"].t("Meal_Plan"),apiName:"MealPlan",list:{params:["options"]}});var s=function e(){Object(n["a"])(this,e)};Object(i["a"])(s,"CREATE",{function:"create",form:{title:{function:"translate",phrase:"create_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Save")}}),Object(i["a"])(s,"UPDATE",{function:"partialUpdate",form_title:{function:"translate",phrase:"edit_title",params:[{token:"type",from:"model",attribute:"name"}]}}),Object(i["a"])(s,"DELETE",{function:"destroy",params:["id"],form:{title:{function:"translate",phrase:"delete_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Delete"),instruction:{form_field:!0,type:"instruction",label:{function:"translate",phrase:"delete_confirmation",params:[{token:"source",from:"item1",attribute:"name"}]}}}}),Object(i["a"])(s,"FETCH",{function:"retrieve",params:["id"]}),Object(i["a"])(s,"LIST",{function:"list",suffix:"s",params:["query","page","pageSize"],config:{query:{default:void 0},page:{default:1},pageSize:{default:25}}}),Object(i["a"])(s,"MERGE",{function:"merge",params:["source","target"],config:{source:{type:"string"},target:{type:"string"}},form:{title:{function:"translate",phrase:"merge_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Merge"),instruction:{form_field:!0,type:"instruction",label:{function:"translate",phrase:"merge_selection",params:[{token:"source",from:"item1",attribute:"name"},{token:"type",from:"model",attribute:"name"}]}},target:{form_field:!0,type:"lookup",field:"target",list:"self"}}}),Object(i["a"])(s,"MOVE",{function:"move",params:["source","target"],config:{source:{type:"string"},target:{type:"string"}},form:{title:{function:"translate",phrase:"move_title",params:[{token:"type",from:"model",attribute:"name"}]},ok_label:o["a"].t("Move"),instruction:{form_field:!0,type:"instruction",label:{function:"translate",phrase:"move_selection",params:[{token:"source",from:"item1",attribute:"name"},{token:"type",from:"model",attribute:"name"}]}},target:{form_field:!0,type:"lookup",field:"target",list:"self"}}})},"6b0a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-card",{directives:[{name:"hover",rawName:"v-hover"}],attrs:{"no-body":""}},[r("a",{attrs:{href:e.clickUrl()}},[r("b-card-img-lazy",{staticStyle:{height:"15vh","object-fit":"cover"},attrs:{src:e.recipe_image,alt:e.$t("Recipe_Image"),top:""}}),r("div",{staticClass:"card-img-overlay h-100 d-flex flex-column justify-content-right float-right text-right pt-2 pr-1"},[r("a",[null!==e.recipe?r("recipe-context-menu",{staticClass:"float-right",attrs:{recipe:e.recipe}}):e._e()],1)]),0!==e.recipe.waiting_time?r("div",{staticClass:"card-img-overlay w-50 d-flex flex-column justify-content-left float-left text-left pt-2"},[r("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"light"}},[r("i",{staticClass:"fa fa-clock"}),e._v(" "+e._s(e.recipe.working_time)+" "+e._s(e.$t("min"))+" ")]),r("b-badge",{staticClass:"mt-1 font-weight-normal",attrs:{pill:"",variant:"secondary"}},[r("i",{staticClass:"fa fa-pause"}),e._v(" "+e._s(e.recipe.waiting_time)+" "+e._s(e.$t("min"))+" ")])],1):e._e()],1),r("b-card-body",{staticClass:"p-4"},[r("h6",[r("a",{attrs:{href:e.clickUrl()}},[null!==e.recipe?[e._v(e._s(e.recipe.name))]:[e._v(e._s(e.meal_plan.title))]],2)]),r("b-card-text",{staticStyle:{"text-overflow":"ellipsis"}},[null!==e.recipe?[r("recipe-rating",{attrs:{recipe:e.recipe}}),null!==e.recipe.description?[e.recipe.description.length>e.text_length?r("span",[e._v(" "+e._s(e.recipe.description.substr(0,e.text_length)+"…")+" ")]):e._e(),e.recipe.description.length<=e.text_length?r("span",[e._v(" "+e._s(e.recipe.description)+" ")]):e._e()]:e._e(),r("p",{staticClass:"mt-1"},[r("last-cooked",{attrs:{recipe:e.recipe}}),r("keywords",{staticStyle:{"margin-top":"4px"},attrs:{recipe:e.recipe}})],1),e.detailed?r("div",{staticClass:"row mt-3"},[r("div",{staticClass:"col-md-12"},[r("h6",{staticClass:"card-title"},[r("i",{staticClass:"fas fa-pepper-hot"}),e._v(" "+e._s(e.$t("Ingredients")))]),r("table",{staticClass:"table table-sm text-wrap"},[e._l(e.recipe.steps,(function(t){return[e._l(t.ingredients,(function(e){return[r("Ingredient",{key:e.id,attrs:{detailed:!1,ingredient:e,ingredient_factor:1}})]}))]}))],2)])]):e._e(),e.recipe.internal?e._e():r("b-badge",{attrs:{pill:"",variant:"info"}},[e._v(e._s(e.$t("External")))])]:[e._v(e._s(e.meal_plan.note))]],2)],1),void 0!==e.footer_text?r("b-card-footer",[r("i",{class:e.footer_icon}),e._v(" "+e._s(e.footer_text)+" ")]):e._e()],1)},i=[],o=r("fc0d"),a=r("81d5"),s=r("fa7d"),c=r("ca5b"),u=r("c1df"),d=r.n(u),p=r("a026"),l=r("830a"),h=r("118a");p["default"].prototype.moment=d.a;var f={name:"RecipeCard",mixins:[s["d"]],components:{LastCooked:l["a"],RecipeRating:c["a"],Keywords:a["a"],RecipeContextMenu:o["a"],Ingredient:h["a"]},props:{recipe:Object,meal_plan:Object,footer_text:String,footer_icon:String},data:function(){return{recipe_image:""}},computed:{detailed:function(){return void 0!==this.recipe.steps},text_length:function(){return this.detailed?200:120}},mounted:function(){null==this.recipe||null===this.recipe.image?this.recipe_image=window.IMAGE_PLACEHOLDER:this.recipe_image=this.recipe.image},methods:{clickUrl:function(){return null!==this.recipe?Object(s["k"])("view_recipe",this.recipe.id):Object(s["k"])("view_plan_entry",this.meal_plan.id)}},directives:{hover:{inserted:function(e){e.addEventListener("mouseenter",(function(){e.classList.add("shadow")})),e.addEventListener("mouseleave",(function(){e.classList.remove("shadow")}))}}}},b=f,m=r("2877"),v=Object(m["a"])(b,n,i,!1,null,"251089d7",null);t["a"]=v.exports},"6ce2":function(e){e.exports=JSON.parse('{"Import":"Importieren","import_running":"Import läuft, bitte warten!","Import_finished":"Import fertig","View_Recipes":"Rezepte Ansehen","Information":"Information","all_fields_optional":"Alle Felder sind optional und können leer gelassen werden.","convert_internal":"Zu internem Rezept wandeln","Log_Recipe_Cooking":"Kochen protokollieren","External_Recipe_Image":"Externes Rezept Bild","Add_to_Book":"Zu Buch hinzufügen","Add_to_Shopping":"Zu Einkaufsliste hinzufügen","Add_to_Plan":"Zu Plan hinzufügen","Step_start_time":"Schritt Startzeit","Select_Book":"Buch wählen","Recipe_Image":"Rezept Bild","Log_Cooking":"Kochen protokollieren","Proteins":"Proteine","Fats":"Fette","Carbohydrates":"Kohlenhydrate","Calories":"Kalorien","Nutrition":"Nährwerte","Keywords":"Stichwörter","Books":"Bücher","show_only_internal":"Nur interne Rezepte anzeigen","Ingredients":"Zutaten","min":"Min","Servings":"Portionen","Waiting":"Wartezeit","Preparation":"Vorbereitung","Edit":"Bearbeiten","Open":"Öffnen","Save":"Speichern","Step":"Schritt","Search":"Suchen","Print":"Drucken","New_Recipe":"Neues Rezept","Url_Import":"URL Import","Reset_Search":"Suche zurücksetzen","or":"oder","and":"und","Recently_Viewed":"Kürzlich angesehen","External":"Extern","Settings":"Einstellungen","Meal_Plan":"Speiseplan","Date":"Datum","Share":"Teilen","Export":"Exportieren","Rating":"Bewertung","Close":"Schließen","Add":"Hinzufügen","Copy":"Kopieren","New":"Neu","Categories":"Kategorien","Category":"Kategorie","Selected":"Ausgewählt","Supermarket":"Supermarkt","Files":"Dateien","Size":"Größe","success_fetching_resource":"Ressource erfolgreich abgerufen!","Download":"Herunterladen","Success":"Erfolgreich","err_fetching_resource":"Ein Fehler trat während dem Abrufen einer Ressource auf!","err_creating_resource":"Ein Fehler trat während dem Erstellen einer Ressource auf!","err_updating_resource":"Ein Fehler trat während dem Aktualisieren einer Ressource auf!","success_creating_resource":"Ressource erfolgreich erstellt!","success_updating_resource":"Ressource erfolgreich aktualisiert!","File":"Datei","Delete":"Löschen","err_deleting_resource":"Ein Fehler trat während dem Löschen einer Ressource auf!","Cancel":"Abbrechen","success_deleting_resource":"Ressource erfolgreich gelöscht!","Load_More":"Mehr laden","Ok":"Öffnen"}')},7432:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("multiselect",{attrs:{options:e.objects,"close-on-select":!0,"clear-on-select":!0,"hide-selected":e.multiple,"preserve-search":!0,placeholder:e.lookupPlaceholder,label:e.label,"track-by":"id",multiple:e.multiple,taggable:e.allow_create,"tag-placeholder":e.create_placeholder,loading:e.loading},on:{"search-change":e.search,input:e.selectionChanged,tag:e.addNew},model:{value:e.selected_objects,callback:function(t){e.selected_objects=t},expression:"selected_objects"}})},i=[],o=(r("a9e3"),r("ac1f"),r("841c"),r("b0c0"),r("99af"),r("8e5f")),a=r.n(o),s=r("fa7d"),c={name:"GenericMultiselect",components:{Multiselect:a.a},mixins:[s["a"]],data:function(){return{loading:!1,objects:[],selected_objects:[]}},props:{placeholder:{type:String,default:void 0},model:{type:Object,default:function(){return{}}},label:{type:String,default:"name"},parent_variable:{type:String,default:void 0},limit:{type:Number,default:10},sticky_options:{type:Array,default:function(){return[]}},initial_selection:{type:Array,default:function(){return[]}},multiple:{type:Boolean,default:!0},allow_create:{type:Boolean,default:!1},create_placeholder:{type:String,default:"You Forgot to Add a Tag Placeholder"}},watch:{initial_selection:function(e,t){this.selected_objects=e}},mounted:function(){this.search(""),this.selected_objects=this.initial_selection},computed:{lookupPlaceholder:function(){return this.placeholder||this.model.name||this.$t("Search")}},methods:{search:function(e){var t=this,r={page:1,pageSize:10,query:e};this.genericAPI(this.model,this.Actions.LIST,r).then((function(e){var r,n;t.objects=t.sticky_options.concat(null!==(r=null===(n=e.data)||void 0===n?void 0:n.results)&&void 0!==r?r:e.data)}))},selectionChanged:function(){this.$emit("change",{var:this.parent_variable,val:this.selected_objects})},addNew:function(e){var t=this;this.$emit("new",e),setTimeout((function(){t.search("")}),750)}}},u=c,d=r("2877"),p=Object(d["a"])(u,n,i,!1,null,"157f040e",null);t["a"]=p.exports},"7c15":function(e,t,r){"use strict";r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return s}));var n=r("bc3a"),i=r.n(n),o=r("fa7d");function a(e){var t=Object(o["k"])("api:recipe-detail",e);return void 0!==window.SHARE_UID&&(t+="?share="+window.SHARE_UID),i.a.get(t).then((function(e){return e.data})).catch((function(e){c(e,"There was an error loading a resource!","danger")}))}function s(e){return i.a.post(Object(o["k"])("api:cooklog-list"),e).then((function(e){Object(o["j"])("Saved","Cook Log entry saved!","success")})).catch((function(e){c(e,"There was an error creating a resource!","danger")}))}function c(e,t){if("response"in e){console.log(e.response);var r="statusText"in e.response?e.response.statusText:Object(o["h"])("Error");t+="\n\n"+JSON.stringify(e.response.data),Object(o["j"])(r,t,"danger")}else Object(o["j"])("Error",t,"danger"),console.log(e)}i.a.defaults.xsrfCookieName="csrftoken",i.a.defaults.xsrfHeaderName="X-CSRFTOKEN"},"81d5":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.recipe.keywords.length>0?r("div",e._l(e.recipe.keywords,(function(t){return r("span",{key:t.id,staticClass:"pl-1"},[r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"light"}},[e._v(e._s(t.label))])],1)})),0):e._e()},i=[],o={name:"Keywords",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},"830a":function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"pl-1"},[null!==e.recipe.last_cooked?r("b-badge",{staticClass:"font-weight-normal",attrs:{pill:"",variant:"primary"}},[r("i",{staticClass:"fas fa-utensils"}),e._v(" "+e._s(e.formatDate(e.recipe.last_cooked)))]):e._e()],1)},i=[],o=r("c1df"),a=r.n(o),s={name:"LastCooked",props:{recipe:Object},methods:{formatDate:function(e){return a.a.locale(window.navigator.language),a()(e).format("L")}}},c=s,u=r("2877"),d=Object(u["a"])(c,n,i,!1,null,"293dcaf2",null);t["a"]=d.exports},9225:function(e,t,r){"use strict";r("159b"),r("d3b7"),r("ddb0"),r("ac1f"),r("466d");var n=r("a026"),i=r("a925");function o(){var e=r("49f8"),t={};return e.keys().forEach((function(r){var n=r.match(/([A-Za-z0-9-_]+)\./i);if(n&&n.length>1){var i=n[1];t[i]=e(r)}})),t}n["default"].use(i["a"]),t["a"]=new i["a"]({locale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_LOCALE||"en",fallbackLocale:Object({NODE_ENV:"production",BASE_URL:""}).VUE_APP_I18N_FALLBACK_LOCALE||"en",messages:o()})},a625:function(e){e.exports=JSON.parse('{"import_running":"Er wordt geïmporteerd, even geduld!","all_fields_optional":"Alle velden zijn optioneel en kunnen leeg gelaten worden.","convert_internal":"Zet om naar intern recept","Log_Recipe_Cooking":"Log Bereiding","External_Recipe_Image":"Externe Afbeelding Recept","Add_to_Book":"Voeg toe aan Boek","Add_to_Shopping":"Voeg toe aan Boodschappenlijst","Add_to_Plan":"Voeg toe aan Plan","Step_start_time":"Starttijd stap","Select_Book":"Selecteer Boek","Recipe_Image":"Afbeelding Recept","Import_finished":"Importeren gereed","View_Recipes":"Bekijk Recepten","Log_Cooking":"Log Bereiding","Proteins":"Eiwitten","Fats":"Vetten","Carbohydrates":"Koolhydraten","Calories":"Calorieën","Nutrition":"Voedingswaarde","Date":"Datum","Share":"Deel","Export":"Exporteren","Rating":"Beoordeling","Close":"Sluiten","Add":"Voeg toe","Ingredients":"Ingrediënten","min":"min","Servings":"Porties","Waiting":"Wachten","Preparation":"Bereiding","Edit":"Bewerken","Open":"Open","Save":"Opslaan","Step":"Stap","Search":"Zoeken","Import":"Importeer","Print":"Afdrukken","Information":"Informatie","Keywords":"Etiketten","Books":"Boeken","show_only_internal":"Toon alleen interne recepten","New_Recipe":"Nieuw Recept","Url_Import":"Importeer URL","Reset_Search":"Zoeken resetten","or":"of","and":"en","Recently_Viewed":"Recent bekeken","External":"Externe","Settings":"Instellingen","Meal_Plan":"Maaltijdplan","New":"Nieuw","Supermarket":"Supermarkt","Categories":"Categorieën","Category":"Categorie","Selected":"Geselecteerd","Copy":"Kopie","Link":"Link","Sort_by_new":"Sorteer op nieuw","Recipes_per_page":"Recepten per pagina","Files":"Bestanden","Size":"Grootte","File":"Bestand","err_fetching_resource":"Bij het ophalen van een hulpbron is een foutmelding opgetreden!","err_creating_resource":"Bij het maken van een hulpbron is een foutmelding opgetreden!","err_updating_resource":"Bij het updaten van een hulpbron is een foutmelding opgetreden!","success_fetching_resource":"Hulpbron is succesvol opgehaald!","success_creating_resource":"Hulpbron succesvol aangemaakt!","success_updating_resource":"Hulpbron succesvol geüpdatet!","Success":"Succes","Download":"Download","err_deleting_resource":"Bij het verwijderen van een hulpbron is een foutmelding opgetreden!","success_deleting_resource":"Hulpbron succesvol verwijderd!","Cancel":"Annuleer","Delete":"Verwijder","Ok":"Open","Load_More":"Laad meer","Manage_Books":"Beheer Boeken","Create":"Maak","Failure":"Storing","View":"Bekijk","Recipes":"Recepten","Move":"Verplaats","Parent":"Ouder","move_confirmation":"Verplaats {child} naar ouder {parent}","merge_confirmation":"Vervang {source} with {target}","move_selection":"Selecteer een ouder {type} om {source} naar te verplaatsen.","merge_selection":"Vervang alle voorvallen van {source} door het type {type}.","Root":"Bron","show_split_screen":"Toon gesplitste weergave","New_Keyword":"Nieuw Etiket","Delete_Keyword":"Verwijder Etiket","Edit_Keyword":"Bewerk Etiket","Move_Keyword":"Verplaats Etiket","Hide_Keywords":"Verberg Etiketten","Hide_Recipes":"Verberg Recepten","Advanced Search Settings":"Geavanceerde zoekinstellingen","Merge":"Voeg samen","delete_confimation":"Weet je zeker dat je {kw} en zijn kinderen wil verwijderen?","Merge_Keyword":"Voeg Etiket samen","step_time_minutes":"Stap duur in minuten","confirm_delete":"Weet je zeker dat je dit {object} wil verwijderen?","Show_as_header":"Toon als koptekst","Hide_as_header":"Verberg als koptekst","Copy_template_reference":"Kopieer sjabloon verwijzing","Save_and_View":"Sla op & Bekijk","Edit_Recipe":"Bewerk Recept","Move_Up":"Verplaats omhoog","Move_Down":"Verplaats omlaag","Step_Name":"Stap Naam","Step_Type":"Stap Type","Make_Header":"Maak_Koptekst","Make_Ingredient":"Maak_Ingrediënt","Enable_Amount":"Schakel Hoeveelheid in","Disable_Amount":"Schakel Hoeveelheid uit","Add_Step":"Voeg Stap toe","Note":"Notitie","delete_confirmation":"Weet je zeker dat je {source} wil verwijderen?","Ignore_Shopping":"Negeer Boodschappen","Shopping_Category":"Boodschappen Categorie","Edit_Food":"Bewerk Eten","Move_Food":"Verplaats Eten","New_Food":"Nieuw Eten","Hide_Food":"Verberg Eten","Delete_Food":"Verwijder Eten","No_ID":"ID niet gevonden, verwijderen niet mogelijk.","Meal_Plan_Days":"Toekomstige maaltijdplannen","merge_title":"Voeg {type} samen","move_title":"Verplaats {type}","Food":"Eten"}')},ca5b:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.recipe.rating>0?r("span",{staticClass:"d-inline"},[e._l(Math.floor(e.recipe.rating),(function(e){return r("i",{key:e,staticClass:"fas fa-star fa-xs text-primary"})})),e.recipe.rating%1>0?r("i",{staticClass:"fas fa-star-half-alt fa-xs text-primary"}):e._e(),e._l(5-Math.ceil(e.recipe.rating),(function(e){return r("i",{key:e+10,staticClass:"far fa-star fa-xs text-secondary"})}))],2):e._e()])},i=[],o={name:"RecipeRating",props:{recipe:Object}},a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,"7151a4e2",null);t["a"]=c.exports},d46a:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("b-modal",{staticClass:"modal",attrs:{id:"id_modal_add_book_"+e.modal_id,title:e.$t("Manage_Books"),"ok-title":e.$t("Add"),"cancel-title":e.$t("Close")},on:{ok:function(t){return e.addToBook()},shown:e.loadBookEntries}},[r("ul",{staticClass:"list-group"},e._l(this.recipe_book_list,(function(t){return r("li",{key:t.id,staticClass:"list-group-item d-flex justify-content-between align-items-center"},[e._v(" "+e._s(t.book_content.name)+" "),r("span",{staticClass:"btn btn-sm btn-danger",on:{click:function(r){return e.removeFromBook(t)}}},[r("i",{staticClass:"fa fa-trash-alt"})])])})),0),r("multiselect",{staticStyle:{"margin-top":"1vh"},attrs:{options:e.books_filtered,taggable:!0,"tag-placeholder":e.$t("Create"),placeholder:e.$t("Select_Book"),label:"name","track-by":"id",id:"id_books",multiple:!1,loading:e.books_loading},on:{tag:e.createBook,"search-change":e.loadBooks},model:{value:e.selected_book,callback:function(t){e.selected_book=t},expression:"selected_book"}})],1)],1)},i=[],o=(r("a9e3"),r("159b"),r("4de4"),r("8e5f")),a=r.n(o),s=r("c1df"),c=r.n(s),u=r("a026"),d=r("5f5b"),p=r("2b2d"),l=r("fa7d");u["default"].prototype.moment=c.a,u["default"].use(d["a"]);var h={name:"AddRecipeToBook",components:{Multiselect:a.a},props:{recipe:Object,modal_id:Number},data:function(){return{books:[],books_loading:!1,recipe_book_list:[],selected_book:null}},computed:{books_filtered:function(){var e=this,t=[];return this.books.forEach((function(r){0===e.recipe_book_list.filter((function(e){return e.book===r.id})).length&&t.push(r)})),t}},mounted:function(){},methods:{loadBooks:function(e){var t=this;this.books_loading=!0;var r=new p["a"];r.listRecipeBooks({query:{query:e}}).then((function(e){t.books=e.data.filter((function(e){return-1===t.recipe_book_list.indexOf(e)})),t.books_loading=!1}))},createBook:function(e){var t=this,r=new p["a"];r.createRecipeBook({name:e}).then((function(e){t.books.push(e.data),t.selected_book=e.data,l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},addToBook:function(){var e=this,t=new p["a"];t.createRecipeBookEntry({book:this.selected_book.id,recipe:this.recipe.id}).then((function(t){e.recipe_book_list.push(t.data),l["e"].makeStandardToast(l["e"].SUCCESS_CREATE)}))},removeFromBook:function(e){var t=this,r=new p["a"];r.destroyRecipeBookEntry(e.id).then((function(r){t.recipe_book_list=t.recipe_book_list.filter((function(t){return t.id!==e.id})),l["e"].makeStandardToast(l["e"].SUCCESS_DELETE)}))},loadBookEntries:function(){var e=this,t=new p["a"];t.listRecipeBookEntrys({query:{recipe:this.recipe.id}}).then((function(t){e.recipe_book_list=t.data,e.loadBooks("")}))}}},f=h,b=(r("60bc"),r("2877")),m=Object(b["a"])(f,n,i,!1,null,null,null);t["a"]=m.exports},d76c:function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"row"},[r("div",{staticClass:"col",staticStyle:{"text-align":"center"}},[r("img",{staticClass:"spinner-tandoor",style:{height:e.size+"vh"},attrs:{alt:"loading spinner",src:""}})])])},i=[],o=(r("a9e3"),{name:"LoadingSpinner",props:{recipe:Object,size:{type:Number,default:30}}}),a=o,s=r("2877"),c=Object(s["a"])(a,n,i,!1,null,null,null);t["a"]=c.exports},dc43:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"外部菜谱图像","Add_to_Shopping":"添加到购物","Add_to_Plan":"添加到计划","Step_start_time":"","Sort_by_new":"","Recipes_per_page":"","Manage_Books":"管理书籍","Meal_Plan":"","Select_Book":"","Recipe_Image":"菜谱图像","Import_finished":"导入完成","View_Recipes":"","Log_Cooking":"","New_Recipe":"新菜谱","Url_Import":"导入网址","Reset_Search":"重置搜索","Recently_Viewed":"最近浏览","Load_More":"加载更多","Keywords":"关键字","Books":"书籍","Proteins":"蛋白质","Fats":"脂肪","Carbohydrates":"碳水化合物","Calories":"卡路里","Nutrition":"营养","Date":"日期","Share":"分享","Export":"导出","Copy":"拷贝","Rating":"评分","Close":"关闭","Link":"链接","Add":"添加","New":"新","Success":"成功","Failure":"失败","Ingredients":"材料","Supermarket":"超级市场","Categories":"分类","Category":"分类","Selected":"选定","min":"","Servings":"份量","Waiting":"等待","Preparation":"准备","External":"外部","Size":"大小","Files":"文件","File":"文件","Edit":"编辑","Cancel":"取消","Delete":"删除","Open":"打开","Ok":"打开","Save":"储存","Step":"步骤","Search":"搜索","Import":"导入","Print":"打印","Settings":"设置","or":"或","and":"与","Information":"更多资讯","Download":"下载","Create":"创立"}')},dfc6:function(e){e.exports=JSON.parse('{"err_fetching_resource":"","err_creating_resource":"","err_updating_resource":"","err_deleting_resource":"","success_fetching_resource":"","success_creating_resource":"","success_updating_resource":"","success_deleting_resource":"","import_running":"","all_fields_optional":"","convert_internal":"","show_only_internal":"","Log_Recipe_Cooking":"","External_Recipe_Image":"","Add_to_Book":"","Add_to_Shopping":"","Add_to_Plan":"","Step_start_time":"","Meal_Plan":"","Select_Book":"","Recipe_Image":"","Import_finished":"","View_Recipes":"","Log_Cooking":"","New_Recipe":"","Url_Import":"","Reset_Search":"","Recently_Viewed":"","Load_More":"","Keywords":"","Books":"","Proteins":"","Fats":"","Carbohydrates":"","Calories":"","Nutrition":"","Date":"","Share":"","Export":"","Copy":"","Rating":"","Close":"","Link":"","Add":"","New":"","Success":"","Ingredients":"","Supermarket":"","Categories":"","Category":"","Selected":"","min":"","Servings":"","Waiting":"","Preparation":"","External":"","Size":"","Files":"","File":"","Edit":"","Cancel":"","Delete":"","Open":"","Ok":"","Save":"","Step":"","Search":"","Import":"","Print":"","Settings":"","or":"","and":"","Information":"","Download":""}')},edd4:function(e){e.exports=JSON.parse('{"err_fetching_resource":"There was an error fetching a resource!","err_creating_resource":"There was an error creating a resource!","err_updating_resource":"There was an error updating a resource!","err_deleting_resource":"There was an error deleting a resource!","success_fetching_resource":"Successfully fetched a resource!","success_creating_resource":"Successfully created a resource!","success_updating_resource":"Successfully updated a resource!","success_deleting_resource":"Successfully deleted a resource!","step_time_minutes":"Step time in minutes","confirm_delete":"Are you sure you want to delete this {object}?","import_running":"Import running, please wait!","all_fields_optional":"All fields are optional and can be left empty.","convert_internal":"Convert to internal recipe","show_only_internal":"Show only internal recipes","show_split_screen":"Split View","Log_Recipe_Cooking":"Log Recipe Cooking","External_Recipe_Image":"External Recipe Image","Add_to_Shopping":"Add to Shopping","Add_to_Plan":"Add to Plan","Step_start_time":"Step start time","Sort_by_new":"Sort by new","Recipes_per_page":"Recipes per Page","Show_as_header":"Show as header","Hide_as_header":"Hide as header","Copy_template_reference":"Copy template reference","Save_and_View":"Save & View","Manage_Books":"Manage Books","Meal_Plan":"Meal Plan","Select_Book":"Select Book","Recipe_Image":"Recipe Image","Import_finished":"Import finished","View_Recipes":"View Recipes","Log_Cooking":"Log Cooking","New_Recipe":"New Recipe","Url_Import":"Url Import","Reset_Search":"Reset Search","Recently_Viewed":"Recently Viewed","Load_More":"Load More","New_Keyword":"New Keyword","Delete_Keyword":"Delete Keyword","Edit_Keyword":"Edit Keyword","Edit_Recipe":"Edit Recipe","Move_Keyword":"Move Keyword","Merge_Keyword":"Merge Keyword","Hide_Keywords":"Hide Keyword","Hide_Recipes":"Hide Recipes","Move_Up":"Move up","Move_Down":"Move down","Step_Name":"Step Name","Step_Type":"Step Type","Make_Header":"Make_Header","Make_Ingredient":"Make_Ingredient","Enable_Amount":"Enable Amount","Disable_Amount":"Disable Amount","Add_Step":"Add Step","Keywords":"Keywords","Books":"Books","Proteins":"Proteins","Fats":"Fats","Carbohydrates":"Carbohydrates","Calories":"Calories","Nutrition":"Nutrition","Date":"Date","Share":"Share","Automation":"Automation","Parameter":"Parameter","Export":"Export","Copy":"Copy","Rating":"Rating","Close":"Close","Cancel":"Cancel","Link":"Link","Add":"Add","New":"New","Note":"Note","Success":"Success","Failure":"Failure","Ingredients":"Ingredients","Supermarket":"Supermarket","Categories":"Categories","Category":"Category","Selected":"Selected","min":"min","Servings":"Servings","Waiting":"Waiting","Preparation":"Preparation","External":"External","Size":"Size","Files":"Files","File":"File","Edit":"Edit","Delete":"Delete","Open":"Open","Ok":"Open","Save":"Save","Step":"Step","Search":"Search","Import":"Import","Print":"Print","Settings":"Settings","or":"or","and":"and","Information":"Information","Download":"Download","Create":"Create","Advanced Search Settings":"Advanced Search Settings","View":"View","Recipes":"Recipes","Move":"Move","Merge":"Merge","Parent":"Parent","delete_confirmation":"Are you sure that you want to delete {source}?","move_confirmation":"Move {child} to parent {parent}","merge_confirmation":"Replace {source} with {target}","move_selection":"Select a parent {type} to move {source} to.","merge_selection":"Replace all occurrences of {source} with the selected {type}.","Root":"Root","Ignore_Shopping":"Ignore Shopping","Shopping_Category":"Shopping Category","Edit_Food":"Edit Food","Move_Food":"Move Food","New_Food":"New Food","Hide_Food":"Hide Food","Food_Alias":"Food Alias","Unit_Alias":"Unit Alias","Keyword_Alias":"Keyword Alias","Delete_Food":"Delete Food","No_ID":"ID not found, cannot delete.","Meal_Plan_Days":"Future meal plans","merge_title":"Merge {type}","move_title":"Move {type}","Food":"Food","Recipe_Book":"Recipe Book","del_confirmation_tree":"Are you sure that you want to delete {source} and all of it\'s children?","delete_title":"Delete {type}","create_title":"New {type}","edit_title":"Edit {type}","Name":"Name","Type":"Type","Description":"Description","Recipe":"Recipe","tree_root":"Root of Tree","Icon":"Icon","Unit":"Unit","No_Results":"No Results","New_Unit":"New Unit","Create_New_Shopping Category":"Create New Shopping Category","Create_New_Food":"Add New Food","Create_New_Keyword":"Add New Keyword","Create_New_Unit":"Add New Unit","and_up":"& Up","Instructions":"Instructions","Unrated":"Unrated","Key_Ctrl":"Ctrl","Key_Shift":"Shift","Time":"Time","Text":"Text"}')},f693:function(e){e.exports=JSON.parse('{"err_fetching_resource":"Il y a eu une erreur pour récupérer une ressource !","err_creating_resource":"Il y a eu une erreur pour créer une ressource !","err_updating_resource":"Il y a eu une erreur pour mettre à jour une ressource !","err_deleting_resource":"Il y a eu une erreur pour supprimer une ressource !","success_fetching_resource":"Ressource correctement récupérée !","success_creating_resource":"Ressource correctement créée !","success_updating_resource":"Ressource correctement mise à jour !","success_deleting_resource":"Ressource correctement supprimée !","import_running":"Importation en cours, veuillez patienter !","all_fields_optional":"Tous les champs sont optionnels et peuvent être laissés vides.","convert_internal":"Convertir en recette interne","show_only_internal":"Montrer uniquement les recettes internes","Log_Recipe_Cooking":"Marquer la recette comme cuisinée","External_Recipe_Image":"Image externe de recette","Add_to_Shopping":"Ajouter à la liste de courses","Add_to_Plan":"Ajouter au menu","Step_start_time":"Heure de départ de l\'étape","Sort_by_new":"Trier par nouveautés","Recipes_per_page":"Nombre de recettes par page","Manage_Books":"Gérer les favoris","Meal_Plan":"Menu de la semaine","Select_Book":"Sélectionnez livre","Recipe_Image":"Image de la recette","Import_finished":"Importation finie","View_Recipes":"Voir les recettes","Log_Cooking":"Marquer comme cuisiné","New_Recipe":"Nouvelle recette","Url_Import":"Importation de l\'url","Reset_Search":"Réinitialiser la recherche","Recently_Viewed":"Vu récemment","Load_More":"Charger plus","Keywords":"Mots-clés","Books":"Livres","Proteins":"Protéines","Fats":"Matières grasses","Carbohydrates":"Glucides","Calories":"Calories","Nutrition":"Informations nutritionnelles","Date":"Date","Share":"Partager","Export":"Exporter","Copy":"Copier","Rating":"Note","Close":"Fermer","Link":"Lien","Add":"Ajouter","New":"Nouveau","Success":"Réussite","Failure":"Échec","Ingredients":"Ingrédients","Supermarket":"Supermarché","Categories":"Catégories","Category":"Catégorie","Selected":"Sélectionné","min":"min","Servings":"Portions","Waiting":"Attente","Preparation":"Préparation","External":"Externe","Size":"Taille","Files":"Fichiers","File":"Fichier","Edit":"Modifier","Cancel":"Annuler","Delete":"Supprimer","Open":"Ouvrir","Ok":"Ouvrir","Save":"Sauvegarder","Step":"Étape","Search":"Rechercher","Import":"Importer","Print":"Imprimer","Settings":"Paramètres","or":"ou","and":"et","Information":"Information","Download":"Télécharger","Create":"Créer","show_split_screen":"Voir la vue séparée","New_Keyword":"Nouveau mot-clé","Delete_Keyword":"Supprimer mot-clé","Move_Keyword":"Déplacer mot-clé","Merge_Keyword":"Fusionner mots-clés","Hide_Recipes":"Cacher recettes","Advanced Search Settings":"Paramètres de recherche avancée","View":"Voir","Recipes":"Recettes","Move":"Déplacer","Merge":"Fusionner","Parent":"Parent","move_confirmation":"Déplacer {child} vers le parent {parent}","merge_confirmation":"Remplacer {source} par {target}","Root":"Racine","delete_confirmation":"Êtes-vous sûr de vouloir supprimer {source} ?","Shopping_Category":"Catégorie de courses","Ignore_Shopping":"Ignorer les courses","Edit_Food":"Modifier aliment","Move_Food":"Déplacer aliment","New_Food":"Nouvel aliment","Hide_Food":"Cacher l\'aliment","Delete_Food":"Supprimer l\'aliment","No_ID":"ID introuvable, il n\'a pas pu être supprimé.","Meal_Plan_Days":"Futurs menus","merge_title":"Fusionner {type}","Food":"Aliment","Recipe_Book":"Livre de recettes","delete_title":"Supprimer {type}","create_title":"Nouveau {type}","edit_title":"Modifier {type}","Name":"Nom","Description":"Description","Recipe":"Recette","tree_root":"Racine de l\'arbre","Edit_Keyword":"Modifier mot-clé","Hide_Keywords":"Cacher mots-clés","move_selection":"Sélectionner un parent {type} pour y déplacer {source}.","merge_selection":"Remplace toutes les occurrences de {source} par {type}.","move_title":"Déplacer {type}","del_confirmation_tree":"Êtes-vous sûr de vouloir supprimer {source} et tous ses enfants ?"}')},fa7d:function(e,t,r){"use strict";r.d(t,"f",(function(){return j})),r.d(t,"j",(function(){return O})),r.d(t,"e",(function(){return y})),r.d(t,"c",(function(){return _})),r.d(t,"h",(function(){return S})),r.d(t,"d",(function(){return k})),r.d(t,"k",(function(){return w})),r.d(t,"g",(function(){return R})),r.d(t,"a",(function(){return C})),r.d(t,"i",(function(){return T})),r.d(t,"b",(function(){return A}));var n=r("b85c"),i=r("5530"),o=r("2909"),a=r("3835"),s=r("53ca"),c=r("d4ec"),u=r("bee2"),d=r("ade3"),p=(r("99af"),r("159b"),r("4fad"),r("caad"),r("2532"),r("b0c0"),r("b64b"),r("4de4"),r("7db0"),r("d81d"),r("59e4")),l=r("9225");function h(e,t,r){var n=Math.floor(e),i=1,o=n+1,a=1;if(e!==n)while(i<=t&&a<=t){var s=(n+o)/(i+a);if(e===s){i+a<=t?(i+=a,n+=o,a=t+1):i>a?a=t+1:i=t+1;break}et&&(i=a,n=o),!r)return[0,n,i];var c=Math.floor(n/i);return[c,n-c*i,i]}var f=r("2b2d"),b=r("bc3a"),m=r.n(b),v=r("6369"),g=r("a026"),j={methods:{makeToast:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return O(e,t,r)}}};function O(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=new p["a"];n.$bvToast.toast(t,{title:e,variant:r,toaster:"b-toaster-top-center",solid:!0})}var y=function(){function e(){Object(c["a"])(this,e)}return Object(u["a"])(e,null,[{key:"makeStandardToast",value:function(t){switch(t){case e.SUCCESS_CREATE:O(l["a"].tc("Success"),l["a"].tc("success_creating_resource"),"success");break;case e.SUCCESS_FETCH:O(l["a"].tc("Success"),l["a"].tc("success_fetching_resource"),"success");break;case e.SUCCESS_UPDATE:O(l["a"].tc("Success"),l["a"].tc("success_updating_resource"),"success");break;case e.SUCCESS_DELETE:O(l["a"].tc("Success"),l["a"].tc("success_deleting_resource"),"success");break;case e.FAIL_CREATE:O(l["a"].tc("Failure"),l["a"].tc("err_creating_resource"),"danger");break;case e.FAIL_FETCH:O(l["a"].tc("Failure"),l["a"].tc("err_fetching_resource"),"danger");break;case e.FAIL_UPDATE:O(l["a"].tc("Failure"),l["a"].tc("err_updating_resource"),"danger");break;case e.FAIL_DELETE:O(l["a"].tc("Failure"),l["a"].tc("err_deleting_resource"),"danger");break}}}]),e}();Object(d["a"])(y,"SUCCESS_CREATE","SUCCESS_CREATE"),Object(d["a"])(y,"SUCCESS_FETCH","SUCCESS_FETCH"),Object(d["a"])(y,"SUCCESS_UPDATE","SUCCESS_UPDATE"),Object(d["a"])(y,"SUCCESS_DELETE","SUCCESS_DELETE"),Object(d["a"])(y,"FAIL_CREATE","FAIL_CREATE"),Object(d["a"])(y,"FAIL_FETCH","FAIL_FETCH"),Object(d["a"])(y,"FAIL_UPDATE","FAIL_UPDATE"),Object(d["a"])(y,"FAIL_DELETE","FAIL_DELETE");var _={methods:{_:function(e){return S(e)}}};function S(e){return window.gettext(e)}var k={methods:{resolveDjangoUrl:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return w(e,t)}}};function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null==t)return window.Urls[e]();if("object"!=Object(s["a"])(t))return window.Urls[e](t);if("object"==Object(s["a"])(t)){if(1===t.length)return window.Urls[e](t);if(2===t.length)return window.Urls[e](t[0],t[1]);if(3===t.length)return window.Urls[e](t[0],t[1],t[2])}}function P(e){if(void 0!==window.USER_PREF)return window.USER_PREF[e]}function R(e,t){if(P("use_fractions")){var r="",n=h(e*t,10,!0);return n[0]>0&&(r+=n[0]),n[1]>0&&(r+=" ".concat(n[1],"").concat(n[2],"")),r}return U(e*t)}function U(e){var t=P("user_fractions")?P("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}m.a.defaults.xsrfCookieName="csrftoken",m.a.defaults.xsrfHeaderName="X-CSRFTOKEN";var C={data:function(){return{Models:v["b"],Actions:v["a"]}},methods:{genericAPI:function(e,t,r){var n,i,o=I(e,t),s=o.function,c=null!==(n=null===o||void 0===o?void 0:o.config)&&void 0!==n?n:{},u=null!==(i=null===o||void 0===o?void 0:o.params)&&void 0!==i?i:[],d=[],p=void 0;u.forEach((function(e,t){if(Array.isArray(e)){p={};for(var n=0,i=Object.entries(r);n - + @@ -20,6 +20,10 @@ {{ $t('Merge') }} + + {{$t('Merge')}} & {{$t('Automate')}} + + diff --git a/vue/src/components/GenericHorizontalCard.vue b/vue/src/components/GenericHorizontalCard.vue index 20bb6938..4b493b40 100644 --- a/vue/src/components/GenericHorizontalCard.vue +++ b/vue/src/components/GenericHorizontalCard.vue @@ -80,13 +80,16 @@ - {{$t('Move')}}: {{$t('move_confirmation', {'child': source.name,'parent':item.name})}} + {{$t('Move')}}: - {{$t('Merge')}}: {{ $t('merge_confirmation', {'source': source.name,'target':item.name}) }} + {{$t('Merge')}}: + + + {{$t('Merge')}} & {{$t('Automate')}}: {{$t('create_rule')}} - {{$t('Cancel')}} + {{$t('Cancel')}} diff --git a/vue/src/components/Modals/LookupInput.vue b/vue/src/components/Modals/LookupInput.vue index 64015e7d..30035025 100644 --- a/vue/src/components/Modals/LookupInput.vue +++ b/vue/src/components/Modals/LookupInput.vue @@ -86,7 +86,9 @@ export default { 'new_value': function () { let x = this?.new_value // pass the unflattened attributes that can be restored when ready to save/update - x['__override__'] = this.unflattenItem(this?.new_value) + if (this.form?.ordered) { + x['__override__'] = this.unflattenItem(this?.new_value) + } this.$root.$emit('change', this.form.field, x) }, }, diff --git a/vue/src/components/ModelMenu.vue b/vue/src/components/ModelMenu.vue index 1925ff60..5768adf7 100644 --- a/vue/src/components/ModelMenu.vue +++ b/vue/src/components/ModelMenu.vue @@ -27,7 +27,7 @@ - {{ Models['AUTOMATION'].name }} + {{ Models['AUTOMATION'].name }} diff --git a/vue/src/locales/en.json b/vue/src/locales/en.json index 9e4d6861..187a0d83 100644 --- a/vue/src/locales/en.json +++ b/vue/src/locales/en.json @@ -111,8 +111,9 @@ "Merge": "Merge", "Parent": "Parent", "delete_confirmation": "Are you sure that you want to delete {source}?", - "move_confirmation": "Move {child} to parent {parent}", - "merge_confirmation": "Replace {source} with {target}", + "move_confirmation": "Move {child} to parent {parent}", + "merge_confirmation": "Replace {source} with {target}", + "create_rule": "and create automation", "move_selection": "Select a parent {type} to move {source} to.", "merge_selection": "Replace all occurrences of {source} with the selected {type}.", "Root": "Root", @@ -152,6 +153,7 @@ "and_up": "& Up", "Instructions": "Instructions", "Unrated": "Unrated", + "Automate": "Automate", "Key_Ctrl": "Ctrl", "Key_Shift": "Shift", "Time": "Time", diff --git a/vue/src/locales/fr.json b/vue/src/locales/fr.json index 6c41ba9f..45eafbf3 100644 --- a/vue/src/locales/fr.json +++ b/vue/src/locales/fr.json @@ -89,8 +89,8 @@ "Move": "Déplacer", "Merge": "Fusionner", "Parent": "Parent", - "move_confirmation": "Déplacer {child} vers le parent {parent}", - "merge_confirmation": "Remplacer {source} par {target}", + "move_confirmation": "Déplacer {child} vers le parent {parent}", + "merge_confirmation": "Remplacer {source} par {target}", "Root": "Racine", "delete_confirmation": "Êtes-vous sûr de vouloir supprimer {source} ?", "Shopping_Category": "Catégorie de courses", diff --git a/vue/src/locales/it.json b/vue/src/locales/it.json index 81bb5254..670e07ed 100644 --- a/vue/src/locales/it.json +++ b/vue/src/locales/it.json @@ -92,8 +92,8 @@ "Merge": "Unisci", "Parent": "Primario", "delete_confimation": "Sei sicuro di voler eliminare {kw} e tutti gli elementi dipendenti?", - "move_confirmation": "Sposta {child} al primario {parent}", - "merge_confirmation": "Sostituisci {source} con {target}", + "move_confirmation": "Sposta {child} al primario {parent}", + "merge_confirmation": "Sostituisci {source} con {target}", "move_selection": "Scegli un primario {type} dove spostare {source}.", "merge_selection": "Sostituisci tutte le voci di {source} con il {type} selezionato.", "Root": "Radice", diff --git a/vue/src/locales/nl.json b/vue/src/locales/nl.json index c64e934b..b70cef7a 100644 --- a/vue/src/locales/nl.json +++ b/vue/src/locales/nl.json @@ -82,8 +82,8 @@ "Recipes": "Recepten", "Move": "Verplaats", "Parent": "Ouder", - "move_confirmation": "Verplaats {child} naar ouder {parent}", - "merge_confirmation": "Vervang {source} with {target}", + "move_confirmation": "Verplaats {child} naar ouder {parent}", + "merge_confirmation": "Vervang {source} with {target}", "move_selection": "Selecteer een ouder {type} om {source} naar te verplaatsen.", "merge_selection": "Vervang alle voorvallen van {source} door het type {type}.", "Root": "Bron", diff --git a/vue/src/utils/utils.js b/vue/src/utils/utils.js index 58e7dc08..133037f4 100644 --- a/vue/src/utils/utils.js +++ b/vue/src/utils/utils.js @@ -17,7 +17,7 @@ export function makeToast(title, message, variant = null) { toaster.$bvToast.toast(message, { title: title, variant: variant, - toaster: 'b-toaster-top-center', + toaster: 'b-toaster-bottom-right', solid: true }) }