Files
TandoorRecipes/cookbook/static/vue/js/recipe_view.js
vabene1111 e69d1c3408 save
2021-01-13 01:23:20 +01:00

1 line
11 KiB
JavaScript

(function(e){function t(t){for(var r,s,o=t[0],c=t[1],l=t[2],u=0,p=[];u<o.length;u++)s=o[u],Object.prototype.hasOwnProperty.call(a,s)&&a[s]&&p.push(a[s][0]),a[s]=0;for(r in c)Object.prototype.hasOwnProperty.call(c,r)&&(e[r]=c[r]);d&&d(t);while(p.length)p.shift()();return i.push.apply(i,l||[]),n()}function n(){for(var e,t=0;t<i.length;t++){for(var n=i[t],r=!0,o=1;o<n.length;o++){var c=n[o];0!==a[c]&&(r=!1)}r&&(i.splice(t--,1),e=s(s.s=n[0]))}return e}var r={},a={recipe_view:0},i=[];function s(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,s),n.l=!0,n.exports}s.m=e,s.c=r,s.d=function(e,t,n){s.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},s.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,t){if(1&t&&(e=s(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)s.d(n,r,function(t){return e[t]}.bind(null,r));return n},s.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return s.d(t,"a",t),t},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},s.p="";var o=window["webpackJsonp"]=window["webpackJsonp"]||[],c=o.push.bind(o);o.push=t,o=o.slice();for(var l=0;l<o.length;l++)t(o[l]);var d=c;i.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("0671")},"0671":function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d");var r=n("a026"),a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.loading?e._e():n("div",{attrs:{id:"app"}},[n("div",{staticClass:"row"},[n("div",{staticClass:"col col-md-8"},[n("h3",[e._v(e._s(e.recipe.name))])]),n("div",{staticClass:"col col-md-4 d-print-none",staticStyle:{"text-align":"right"}},[n("recipe-context-menu",{attrs:{recipe:e.recipe}})],1)]),n("span",{staticClass:"badge badge-secondary"},[n("i",{staticClass:"fas fa-user-clock"}),e._v(" "+e._s(e._("Preparation time ~"))+" "+e._s(e.recipe.working_time)+" "+e._s(e._("min"))+" ")]),n("span",{staticClass:"badge badge-secondary"},[n("i",{staticClass:"far fa-clock"}),e._v(" "+e._s(e._("Waiting time ~"))+" "+e._s(e.recipe.waiting_time)+" "+e._s(e._("min"))+" ")]),n("div",{staticClass:"row"},[e.recipe&&e.ingredient_count>0?n("div",{staticClass:"col-md-6 order-md-1 col-sm-12 order-sm-2 col-12 order-2"},[n("div",{staticClass:"card border-primary"},[n("div",{staticClass:"card-body"},[n("div",{staticClass:"row"},[n("div",{staticClass:"col col-md-8"},[n("h4",{staticClass:"card-title"},[e._v(e._s(e._("Ingredients")))])]),n("div",{staticClass:"col col-md-4"},[n("div",{staticClass:"input-group d-print-none"},[n("input",{directives:[{name:"model",rawName:"v-model.number",value:e.servings,expression:"servings",modifiers:{number:!0}}],staticClass:"form-control",staticStyle:{"min-width":"4vw"},attrs:{type:"number",value:"1",maxlength:"3"},domProps:{value:e.servings},on:{input:function(t){t.target.composing||(e.servings=e._n(t.target.value))},blur:function(t){return e.$forceUpdate()}}}),e._m(0)])])]),n("br"),n("div",{staticClass:"row"},[n("div",{staticClass:"col-md-12"},[n("table",{staticClass:"table table-sm"},e._l(e.recipe.steps,(function(t){return n("div",{key:t.id},e._l(t.ingredients,(function(t){return n("div",{key:t.id},[n("Ingredient",{attrs:{ingredient:t,servings:e.servings}})],1)})),0)})),0)])])])])]):e._e(),n("div",{staticClass:"col-12 order-1 col-sm-12 order-sm-1 col-md-6 order-md-2",staticStyle:{"text-align":"center"}},[n("img",{staticClass:"img img-fluid rounded",staticStyle:{"max-height":"30vh"},attrs:{src:e.recipe.image,alt:e._("Recipe Image")}}),n("div")])]),e._l(e.recipe.steps,(function(t,r){return n("div",{key:t.id,staticStyle:{"margin-top":"1vh"}},[n("Step",{attrs:{step:t,servings:e.servings,index:r}})],1)}))],2)},i=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"input-group-append"},[n("span",{staticClass:"input-group-text"},[n("i",{staticClass:"fas fa-calculator"})])])}],s=n("b85c"),o=n("5f5b"),c=(n("2dd8"),n("bc3a")),l=n.n(c),d=(n("99af"),n("59e4"));function u(e,t,n){var r=Math.floor(e),a=1,i=r+1,s=1;if(e!==r)while(a<=t&&s<=t){var o=(r+i)/(a+s);if(e===o){a+s<=t?(a+=s,r+=i,s=t+1):a>s?s=t+1:a=t+1;break}e<o?(i=r+i,s=a+s):(r+=i,a+=s)}if(a>t&&(a=s,r=i),!n)return[0,r,a];var c=Math.floor(r/a);return[c,r-c*a,a]}var p={methods:{makeToast:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return f(e,t,n)}}};function f(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=new d["a"];r.$bvToast.toast(t,{title:e,variant:n,toaster:"b-toaster-top-center",solid:!0})}var m={methods:{_:function(e){return v(e)}}};function v(e){return window.gettext(e)}var _={methods:{resolveDjangoUrl:function(e,t){return g(e,t)}}};function g(e,t){return window.Urls[e](t)}function h(e){return window.USER_PREF[e]}function b(e,t){if(h("user_fractions")){var n="",r=u.cont(e*t,9,!0);return r[0]>0&&(n+=r[0]),r[1]>0&&(n+=" <sup>".concat(r[1],"</sup>&frasl;<sub>").concat(r[2],"</sub>")),n}return w(e*t)}function w(e){var t=h("user_fractions")?h("user_fractions"):2;return+(Math.round(e+"e+".concat(t))+"e-".concat(t))}function C(e){return l.a.get(g("api:recipe-detail",e)).then((function(e){return e.data})).catch((function(e){console.log(e),f("Error","There was an error loading a resource!","danger")}))}var y=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("h5",{staticClass:"text-secondary"},[e.step.name?[e._v(e._s(e.step.name))]:[e._v(e._s(e._("Step"))+" "+e._s(e.index+1))]],2),n("div",{staticClass:"row"},[n("div",{staticClass:"col-md-3"},[n("i",{staticClass:"fa fa-stopwatch"}),e._v(" "+e._s(e.step.time)+" "),n("table",e._l(e.step.ingredients,(function(t){return n("div",{key:t.id},[n("Ingredient",{attrs:{ingredient:t,servings:e.servings}})],1)})),0)]),n("div",{staticClass:"col-md-9"},[n("i",{staticClass:"fas fa-paragraph text-secondary"}),n("compile-component",{attrs:{code:e.step.ingredients_markdown,servings:e.servings}})],1)])])},x=[],k=(n("a9e3"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("tr",[e._m(0),n("td",[0!==e.ingredient.amount?n("span",[e._v(e._s(e.calculateAmount(e.ingredient.amount)))]):e._e()]),n("td",[null!==e.ingredient.unit?n("span",[e._v(e._s(e.ingredient.unit.name))]):e._e()]),n("td",[null!==e.ingredient.food?n("span",[e._v(e._s(e.ingredient.food.name))]):e._e()]),n("td",[e.ingredient.note?n("div",[n("span",{directives:[{name:"b-popover",rawName:"v-b-popover.hover",value:e.ingredient.note,expression:"ingredient.note",modifiers:{hover:!0}}],staticClass:"d-print-none"},[n("i",{staticClass:"far fa-comment"})]),n("div",{staticClass:"d-none d-print-block"},[n("i",{staticClass:"far fa-comment-alt"}),e._v(" "+e._s(e.ingredient.note)+" ")])]):e._e()])])])}),j=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("td",[n("input",{attrs:{type:"checkbox"}})])}],O={name:"Ingredient",props:{ingredient:Object,servings:{type:Number,default:1}},methods:{calculateAmount:function(e){return b(e,this.servings)}}},S=O,E=n("2877"),P=Object(E["a"])(S,k,j,!1,null,null,null),$=P.exports,M=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n(e.compiled,{tag:"component",attrs:{servings:e.servings,code:e.code}})],1)},N=[],I=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",[e._v(e._s(e.calculateAmount(e.number)))])},R=[],A={name:"ScalableNumber",props:{number:Number,factor:{type:Number,default:4}},methods:{calculateAmount:function(e){return console.log("calculated amount"),b(e,this.factor)}}},U=A,D=Object(E["a"])(U,I,R,!1,null,null,null),T=D.exports,J={name:"CompileComponent",props:["code","servings"],data:function(){return{compiled:null}},mounted:function(){this.compiled=r["default"].component("compiled-component",{props:["servings","code"],components:{ScalableNumber:T},template:"<div>".concat(this.code,"</div>")})}},L=J,B=Object(E["a"])(L,M,N,!1,null,null,null),F=B.exports,V={name:"Step",mixins:[m],components:{Ingredient:$,CompileComponent:F},props:{step:Object,servings:Number,index:Number},mounted:function(){},methods:{calculateAmount:function(e){return b(e,this.servings)}}},W=V,q=Object(E["a"])(W,y,x,!1,null,null,null),z=q.exports,G=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("div",{staticClass:"dropdown"},[e._m(0),n("div",{staticClass:"dropdown-menu dropdown-menu-right",attrs:{"aria-labelledby":"dropdownMenuLink"}},[n("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("edit_recipe",e.recipe.id)}},[n("i",{staticClass:"fas fa-pencil-alt fa-fw"}),e._v(" "+e._s(e._("Edit")))]),n("button",{staticClass:"dropdown-item",attrs:{onclick:"$('#bookmarkModal').modal({'show':true})"}},[n("i",{staticClass:"fas fa-bookmark fa-fw"}),e._v(" "+e._s(e._("Add to Book"))+" ")]),n("a",{staticClass:"dropdown-item",attrs:{href:e.recipe.name}},[n("i",{staticClass:"fas fa-shopping-cart fa-fw"}),e._v(" "+e._s(e._("Add to Shopping"))+" ")]),n("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("new_meal_plan",e.recipe.id)}},[n("i",{staticClass:"fas fa-calendar fa-fw"}),e._v(" "+e._s(e._("Add to Plan")))]),n("button",{staticClass:"dropdown-item",attrs:{onclick:"window.print()"}},[n("i",{staticClass:"fas fa-print fa-fw"}),e._v(" "+e._s(e._("Print"))+" ")]),n("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("view_export",e.recipe.id),target:"_blank",rel:"noopener noreferrer"}},[n("i",{staticClass:"fas fa-file-export fa-fw"}),e._v(" "+e._s(e._("Export")))]),e.recipe.internal?n("a",{staticClass:"dropdown-item",attrs:{href:e.resolveDjangoUrl("new_share_link",e.recipe.id),target:"_blank",rel:"noopener noreferrer"}},[n("i",{staticClass:"fas fa-share-alt fa-fw"}),e._v(" "+e._s(e._("Share")))]):e._e()])])])},H=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{staticClass:"btn shadow-none",attrs:{href:"#",role:"button",id:"dropdownMenuLink","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"}},[n("i",{staticClass:"fas fa-ellipsis-v"})])}],K={name:"RecipeContextMenu",mixins:[_,m],props:{recipe:Object}},Q=K,X=Object(E["a"])(Q,G,H,!1,null,null,null),Y=X.exports;r["default"].use(o["a"]);var Z={name:"RecipeView",mixins:[m,p],components:{Ingredient:$,Step:z,RecipeContextMenu:Y,ScalableNumber:T},data:function(){return{loading:!0,recipe_id:window.RECIPE_ID,recipe:void 0,ingredient_count:0,servings:1}},mounted:function(){this.loadRecipe(this.recipe_id)},methods:{loadRecipe:function(e){var t=this;C(e).then((function(e){t.recipe=e,t.loading=!1;var n,r=Object(s["a"])(t.recipe.steps);try{for(r.s();!(n=r.n()).done;){var a=n.value;t.ingredient_count+=a.ingredients.length,0!==a.time&&(t.has_times=!0)}}catch(i){r.e(i)}finally{r.f()}}))}}},ee=Z,te=Object(E["a"])(ee,a,i,!1,null,null,null),ne=te.exports;r["default"].config.productionTip=!1,new r["default"]({render:function(e){return e(ne)}}).$mount("#app")}});