{"version":3,"sources":["webpack:///./node_modules/vuetify/lib/components/VRating/VRating.js","webpack:///./node_modules/vuetify/lib/components/VForm/VForm.js","webpack:///./src/pages/farms/farm/cycle/overview.vue?311d","webpack:///./src/pages/farms/farm/cycle/overview.vue?6ade","webpack:///./src/pages/farms/farm/cycle/overview.vue?3fe5","webpack:///./src/pages/farms/farm/cycle/overview.vue"],"names":["extend","name","props","backgroundColor","type","String","default","color","clearable","Boolean","dense","emptyIcon","fullIcon","halfIcon","halfIncrements","hover","length","Number","readonly","size","value","hoverIndex","internalValue","this","computed","ripple","circle","dark","large","light","medium","small","xLarge","xSmall","$props","watch","val","$emit","methods","i","e","newValue","genHoverIndex","index","click","createClickFn","isFilled","Math","floor","isHovered","isHalfHovered","isHalfFilled","isHalf","isHalfEvent","$vuetify","rtl","isFull","isHovering","rect","target","getBoundingClientRect","pageX","left","width","runDelay","createProps","$scopedSlots","item","listeners","mouseenter","onMouseEnter","mouseleave","onMouseLeave","mousemove","$createElement","setTextColor","getColor","attrs","tabindex","directives","iconProps","on","getIconName","h","children","map","genItem","staticClass","class","form","inheritAttrs","disabled","lazyValidation","data","inputs","watchers","errorBag","errors","Object","values","includes","deep","immediate","input","watcher","$watch","$set","_uid","valid","shouldValidate","hasOwnProperty","filter","validate","forEach","reset","resetErrorBag","setTimeout","resetValidation","push","watchInput","found","find","unwatch","$delete","novalidate","attrs$","submit","$slots","render","_vm","_h","_c","_self","isLive","_v","_s","$t","model","cycle","callback","$$v","expression","finishMessage","$","canEdit","picture","$o","fetchToday","error","done","calendarDay","events","_l","event","key","scopedSlots","_u","fn","ref","_g","_b","config","calendarTypes","desc","_e","$ready","$loader","loading","createTodayPicture","archived","staticStyle","farm","$event","toTop","update","stopPropagation","updatePicture","staticRenderFns","context","t","m","root","$route","$router","fetch","alas","make","editInt","finishedAt","seek","farmId","id","start","date","format","refreshCanEdit","setInterval","clearInterval","match","window","scrollTo","$validate","success","createToday","breed","component","VBtn","VChip","VForm","VIcon","VRating","VRow","VTooltip"],"mappings":"kHAAA,8GAee,sBAAO,OAAW,OAAW,OAAY,OAAU,QAAWA,OAAO,CAClFC,KAAM,WACNC,MAAO,CACLC,gBAAiB,CACfC,KAAMC,OACNC,QAAS,UAEXC,MAAO,CACLH,KAAMC,OACNC,QAAS,WAEXE,UAAWC,QACXC,MAAOD,QACPE,UAAW,CACTP,KAAMC,OACNC,QAAS,gBAEXM,SAAU,CACRR,KAAMC,OACNC,QAAS,eAEXO,SAAU,CACRT,KAAMC,OACNC,QAAS,eAEXQ,eAAgBL,QAChBM,MAAON,QACPO,OAAQ,CACNZ,KAAM,CAACa,OAAQZ,QACfC,QAAS,GAEXY,SAAUT,QACVU,KAAM,CAACF,OAAQZ,QACfe,MAAO,CACLhB,KAAMa,OACNX,QAAS,IAIb,OACE,MAAO,CACLe,YAAa,EACbC,cAAeC,KAAKH,QAIxBI,SAAU,CACR,aACE,OAAID,KAAKL,WAAaK,KAAKE,OAAe,GACnC,CAAC,CACNxB,KAAM,SACNmB,MAAO,CACLM,QAAQ,MAKd,YACE,MAAM,KACJC,EAAI,MACJC,EAAK,MACLC,EAAK,OACLC,EAAM,MACNC,EAAK,KACLZ,EAAI,OACJa,EAAM,OACNC,GACEV,KAAKW,OACT,MAAO,CACLP,OACAC,QACAC,QACAC,SACAX,OACAY,QACAC,SACAC,WAIJ,aACE,OAAOV,KAAKR,OAASQ,KAAKF,YAAc,IAI5Cc,MAAO,CACL,cAAcC,GACZA,IAAQb,KAAKH,OAASG,KAAKc,MAAM,QAASD,IAG5C,MAAMA,GACJb,KAAKD,cAAgBc,IAIzBE,QAAS,CACP,cAAcC,GACZ,OAAOC,IACL,GAAIjB,KAAKL,SAAU,OACnB,MAAMuB,EAAWlB,KAAKmB,cAAcF,EAAGD,GAEnChB,KAAKf,WAAae,KAAKD,gBAAkBmB,EAC3ClB,KAAKD,cAAgB,EAErBC,KAAKD,cAAgBmB,IAK3B,YAAYF,GACV,MAAMrC,EAAQ,CACZyC,MAAOJ,EACPnB,MAAOG,KAAKD,cACZsB,MAAOrB,KAAKsB,cAAcN,GAC1BO,SAAUC,KAAKC,MAAMzB,KAAKD,eAAiBiB,EAC3CU,UAAWF,KAAKC,MAAMzB,KAAKF,YAAckB,GAQ3C,OALIhB,KAAKT,iBACPZ,EAAMgD,eAAiBhD,EAAM+C,YAAc1B,KAAKF,WAAakB,GAAK,EAAI,EACtErC,EAAMiD,cAAgBjD,EAAM4C,WAAavB,KAAKD,cAAgBiB,GAAK,EAAI,GAGlErC,GAGT,cAAcsC,EAAGD,GACf,IAAIa,EAAS7B,KAAK8B,YAAYb,GAM9B,OAJIjB,KAAKT,gBAAkBS,KAAK+B,SAASC,MACvCH,GAAUA,GAGLb,GAAKa,EAAS,GAAM,IAG7B,YAAYlD,GACV,MAAMsD,EAASjC,KAAKkC,WAAavD,EAAM+C,UAAY/C,EAAM4C,SACnDM,EAAS7B,KAAKkC,WAAavD,EAAMgD,cAAgBhD,EAAMiD,aAC7D,OAAOK,EAASjC,KAAKX,SAAWwC,EAAS7B,KAAKV,SAAWU,KAAKZ,WAGhE,SAAST,GACP,GAAIqB,KAAKkC,YACP,GAAIvD,EAAM+C,WAAa/C,EAAMgD,cAAe,OAAO3B,KAAKhB,WAExD,GAAIL,EAAM4C,UAAY5C,EAAMiD,aAAc,OAAO5B,KAAKhB,MAGxD,OAAOgB,KAAKpB,iBAGd,YAAYqC,GACV,GAAIjB,KAAKT,eAAgB,CACvB,MAAM4C,EAAOlB,EAAEmB,QAAUnB,EAAEmB,OAAOC,wBAClC,GAAIF,GAAQlB,EAAEqB,MAAQH,EAAKI,KAAOJ,EAAKK,MAAQ,EAAG,OAAO,EAG3D,OAAO,GAGT,aAAavB,EAAGD,GACdhB,KAAKyC,SAAS,OAAQ,KACpBzC,KAAKF,WAAaE,KAAKmB,cAAcF,EAAGD,MAI5C,eACEhB,KAAKyC,SAAS,QAAS,IAAMzC,KAAKF,YAAc,IAGlD,QAAQkB,GACN,MAAMrC,EAAQqB,KAAK0C,YAAY1B,GAC/B,GAAIhB,KAAK2C,aAAaC,KAAM,OAAO5C,KAAK2C,aAAaC,KAAKjE,GAC1D,MAAMkE,EAAY,CAChBxB,MAAO1C,EAAM0C,OAaf,OAVIrB,KAAKR,QACPqD,EAAUC,WAAa7B,GAAKjB,KAAK+C,aAAa9B,EAAGD,GAEjD6B,EAAUG,WAAahD,KAAKiD,aAExBjD,KAAKT,iBACPsD,EAAUK,UAAYjC,GAAKjB,KAAK+C,aAAa9B,EAAGD,KAI7ChB,KAAKmD,eAAe,OAAOnD,KAAKoD,aAAapD,KAAKqD,SAAS1E,GAAQ,CACxE2E,MAAO,CACLC,UAAW,GAEbC,WAAYxD,KAAKwD,WACjB7E,MAAOqB,KAAKyD,UACZC,GAAIb,IACF,CAAC7C,KAAK2D,YAAYhF,OAK1B,OAAOiF,GACL,MAAMC,EAAW,eAAYnE,OAAOM,KAAKP,SAASqE,IAAI9C,GAAKhB,KAAK+D,QAAQ/C,IACxE,OAAO4C,EAAE,MAAO,CACdI,YAAa,WACbC,MAAO,CACL,qBAAsBjE,KAAKL,SAC3B,kBAAmBK,KAAKb,QAEzB0E,O,oCC/NP,wCAMe,sBAAO,OAAY,eAAmB,SAEnDpF,OAAO,CACPC,KAAM,SAEN,UACE,MAAO,CACLwF,KAAMlE,OAIVmE,cAAc,EACdxF,MAAO,CACLyF,SAAUlF,QACVmF,eAAgBnF,QAChBS,SAAUT,QACVW,MAAOX,SAEToF,KAAM,KAAM,CACVC,OAAQ,GACRC,SAAU,GACVC,SAAU,KAEZ7D,MAAO,CACL6D,SAAU,CACR,QAAQ5D,GACN,MAAM6D,EAASC,OAAOC,OAAO/D,GAAKgE,UAAS,GAC3C7E,KAAKc,MAAM,SAAU4D,IAGvBI,MAAM,EACNC,WAAW,IAGfhE,QAAS,CACP,WAAWiE,GACT,MAAMC,EAAUD,GACPA,EAAME,OAAO,WAAYrE,IAC9Bb,KAAKmF,KAAKnF,KAAKyE,SAAUO,EAAMI,KAAMvE,IACpC,CACDkE,WAAW,IAITP,EAAW,CACfY,KAAMJ,EAAMI,KACZC,MAAO,OACPC,eAAgB,QAelB,OAZItF,KAAKqE,eAEPG,EAASc,eAAiBN,EAAME,OAAO,iBAAkBrE,IAClDA,IAEDb,KAAKyE,SAASc,eAAeP,EAAMI,QACvCZ,EAASa,MAAQJ,EAAQD,OAG3BR,EAASa,MAAQJ,EAAQD,GAGpBR,GAIT,WACE,OAAqE,IAA9DxE,KAAKuE,OAAOiB,OAAOR,IAAUA,EAAMS,UAAS,IAAOhG,QAI5D,QACEO,KAAKuE,OAAOmB,QAAQV,GAASA,EAAMW,SACnC3F,KAAK4F,iBAGP,gBACM5F,KAAKqE,gBAEPwB,WAAW,KACT7F,KAAKyE,SAAW,IACf,IAKP,kBACEzE,KAAKuE,OAAOmB,QAAQV,GAASA,EAAMc,mBACnC9F,KAAK4F,iBAGP,SAASZ,GACPhF,KAAKuE,OAAOwB,KAAKf,GACjBhF,KAAKwE,SAASuB,KAAK/F,KAAKgG,WAAWhB,KAGrC,WAAWA,GACT,MAAMiB,EAAQjG,KAAKuE,OAAO2B,KAAKlF,GAAKA,EAAEoE,OAASJ,EAAMI,MACrD,IAAKa,EAAO,OACZ,MAAME,EAAUnG,KAAKwE,SAAS0B,KAAKlF,GAAKA,EAAEoE,OAASa,EAAMb,MAErDe,IACFA,EAAQd,QACRc,EAAQb,kBAGVtF,KAAKwE,SAAWxE,KAAKwE,SAASgB,OAAOxE,GAAKA,EAAEoE,OAASa,EAAMb,MAC3DpF,KAAKuE,OAASvE,KAAKuE,OAAOiB,OAAOxE,GAAKA,EAAEoE,OAASa,EAAMb,MACvDpF,KAAKoG,QAAQpG,KAAKyE,SAAUwB,EAAMb,QAKtC,OAAOxB,GACL,OAAOA,EAAE,OAAQ,CACfI,YAAa,SACbV,MAAO,CACL+C,YAAY,KACTrG,KAAKsG,QAEV5C,GAAI,CACF6C,OAAQtF,GAAKjB,KAAKc,MAAM,SAAUG,KAEnCjB,KAAKwG,OAAOzH,a,kECjInB,IAAI0H,EAAS,WAAa,IAAIC,EAAI1G,KAAS2G,EAAGD,EAAIvD,eAAmByD,EAAGF,EAAIG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,EAAiB,IAAfF,EAAII,OAAkBF,EAAG,MAAM,CAAC5C,YAAY,oBAAoB,CAAC4C,EAAG,SAAS,CAACF,EAAIK,GAAG,cAAcH,EAAG,MAAM,CAAC5C,YAAY,aAAa,CAAC0C,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,eAAeL,EAAG,WAAW,CAACtD,MAAM,CAAC,MAAQ,GAAG,MAAQ,GAAG,SAAW,IAAI4D,MAAM,CAACrH,MAAO6G,EAAIS,MAAiB,YAAEC,SAAS,SAAUC,GAAMX,EAAIvB,KAAKuB,EAAIS,MAAO,cAAeE,IAAMC,WAAW,uBAAuBV,EAAG,MAAM,CAAC5C,YAAY,yBAAyB,CAAC0C,EAAIK,GAAGL,EAAIM,GAAGN,EAAIS,MAAMI,kBAAkBX,EAAG,QAAQ,CAACtD,MAAM,CAAC,KAAO,GAAG,SAAW,GAAG,MAAQ,UAAU,GAAK,CAAE5E,KAAM,wBAAyB,CAACgI,EAAIK,GAAG,IAAIL,EAAIM,GAAGN,EAAIO,GAAG,SAAS,QAAQ,IAAsB,IAAlBP,EAAIc,EAAEC,QAAmBb,EAAG,MAAM,CAAC5C,YAAY,oBAAoB,CAAC4C,EAAG,SAAS,CAACF,EAAIK,GAAG,oBAAoBH,EAAG,MAAM,CAAC5C,YAAY,QAAQ,CAAC0C,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,mCAAmC,GAAGL,EAAG,aAAa,CAAC5C,YAAY,YAAYV,MAAM,CAAC,MAAQoD,EAAIgB,QAAQC,GAAGC,WAAWC,MAAM,OAASnB,EAAIgB,QAAQC,GAAGC,WAAWE,OAAO,CAAEpB,EAAIqB,YAAYC,OAAOpI,KAAO,EAAGgH,EAAG,QAAQ,CAAC5C,YAAY,YAAYV,MAAM,CAAC,MAAQ,WAAW,CAACsD,EAAG,SAAS,CAAC5C,YAAY,aAAa,CAAC0C,EAAIK,GAAG,kBAAkBL,EAAIuB,GAAIvB,EAAIqB,YAAYC,OAAY,OAAE,SAASE,EAAM9G,GAAO,OAAOwF,EAAG,YAAY,CAACuB,IAAI/G,EAAQ,MAAMkC,MAAM,CAAC,OAAS,IAAI8E,YAAY1B,EAAI2B,GAAG,CAAC,CAACF,IAAI,YAAYG,GAAG,SAASC,GAC11C,IAAI7E,EAAK6E,EAAI7E,GACTJ,EAAQiF,EAAIjF,MAChB,MAAO,CAACsD,EAAG,SAASF,EAAI8B,GAAG9B,EAAI+B,GAAG,CAACzE,YAAY,YAAYV,MAAM,CAAC,MAAQ,GAAG,SAAW,GAAG,MAAQoD,EAAIgC,OAAOC,cAAczC,MAAK,SAAUrH,GAAQ,OAAOA,EAAKgB,QAAUqI,EAAMrJ,QAASG,QAAQ,SAASsE,GAAM,GAAOI,GAAI,CAACgD,EAAIK,GAAG,IAAIL,EAAIM,GAAGkB,EAAMxJ,MAAM,WAAW,MAAK,IAAO,CAACkI,EAAG,OAAO,CAACF,EAAIK,GAAGL,EAAIM,GAAGkB,EAAMU,MAAQlC,EAAIO,GAAG,iBAAgB,GAAGP,EAAImC,MAA6B,IAAvBnC,EAAIgB,QAAQoB,OAAkBlC,EAAG,MAAM,CAAC5C,YAAY,oBAAoB,CAAC4C,EAAG,QAAQ,CAAC5C,YAAY,OAAOV,MAAM,CAAC,IAAM,GAAG,UAAU,GAAG,MAAQ,UAAU,UAAYoD,EAAIgB,QAAQqB,QAAQC,SAAStF,GAAG,CAAC,MAAQgD,EAAIuC,qBAAqB,CAACvC,EAAIK,GAAG,IAAIL,EAAIM,GAAGN,EAAIO,GAAG,OAAO,QAAQ,GAAGP,EAAImC,KAAMnC,EAAIgB,QAAc,OAAEd,EAAG,MAAM,EAA2B,IAAzBF,EAAIgB,QAAQwB,SAAoBtC,EAAG,MAAM,CAACA,EAAG,SAAS,CAACuC,YAAY,CAAC,aAAa,QAAQjC,MAAM,CAACrH,MAAO6G,EAAIc,EAAU,SAAEJ,SAAS,SAAUC,GAAMX,EAAIvB,KAAKuB,EAAIc,EAAG,WAAYH,IAAMC,WAAW,eAAe,CAACV,EAAG,kBAAkB,CAACtD,MAAM,CAAC,KAAOoD,EAAI0C,KAAK,KAAO1C,EAAIS,MAAMtI,KAAK,QAAU6H,EAAIgB,YAAY,GAAGd,EAAG,MAAM,CAAC5C,YAAY,yBAAyB,CAAC4C,EAAG,QAAQ,CAACtD,MAAM,CAAC,KAAO,IAAII,GAAG,CAAC,MAAQ,SAAS2F,GAAQ,OAAO3C,EAAI4C,WAAW,CAAC1C,EAAG,SAAS,CAACF,EAAIK,GAAG,kBAAkBH,EAAG,MAAM,CAACF,EAAIK,GAAGL,EAAIM,GAAGN,EAAIO,GAAG,YAAY,IAAI,GAAGL,EAAG,QAAQ,CAACtD,MAAM,CAAC,IAAM,GAAG,MAAQ,GAAG,MAAQ,GAAG,OAAS,GAAG,MAAQ,UAAU,UAAYoD,EAAIc,EAAE/B,SAAS,QAAUiB,EAAIgB,QAAQC,GAAG4B,OAAOP,SAAStF,GAAG,CAAC,MAAQ,SAAS2F,GAAiC,OAAzBA,EAAOG,kBAAyB9C,EAAI+C,cAAcJ,MAAW,CAAC3C,EAAIK,GAAG,IAAIL,EAAIM,GAAGN,EAAIO,GAAG,OAAO,QAAQ,GAAGL,EAAG,MAAM,CAACF,EAAIK,GAAG,IAAIL,EAAIM,GAAGN,EAAIO,GAAG,mBAAmB,SAASP,EAAImC,MAAM,IAAI,IAChgDa,EAAkB,G,qECCP,iBAAgB,CAC3B,MAAM/K,EAAOgL,GACT,IAAIC,EAAIC,GAAKF,EAAQG,KAAK7C,GAAG4C,GAOzBT,GANQO,EAAQG,KAAKC,OACZJ,EAAQG,KAAKE,QAKf,eAAI,OAAOC,MAAM,UACxB9C,EAAQ,eAAI,OAAO8C,MAAM,UACzBvC,EAAU,eAAI,OAAOuC,MAAM,YAC3BvB,EAAS,eAAI,OAAOuB,MAAM,WAC1BlC,EAAc,eAAImC,EAAA,KAAKC,KAAK,OAAQ,gBAKpC3C,EAAI,eAAS,CACbC,SAAS,EACT2C,QAAS,KACT3E,UAAU,IAMVqB,EAAS,eAAS,IAAgC,MAA1BK,EAAMtH,MAAMwK,YAKxC,eAAU,KACFvD,EAAOjH,OACP6H,EAAQ7H,MAAM8H,GAAGC,WAAW0C,KAAK,CAC7BC,OAAQnB,EAAKvJ,MAAM2K,KAG3BzC,EAAYlI,MAAM8H,GAAGsC,MAAMQ,MAAM,CAC7BF,OAAQnB,EAAKvJ,MAAM2K,GACnBE,KAAM,MAASC,OAAO,gBAE1BC,IACApD,EAAE4C,QAAUS,YAAY,KACpBD,KACkB,IAAdpD,EAAEC,SACFqD,cAActD,EAAE4C,UAErB,OAEP,eAAY,KACJ5C,EAAE4C,SACFU,cAActD,EAAE4C,WAOxB,IAAIQ,EAAiB,KACjBpD,EAAEC,SAAW,MAASkD,OAAO,SAASI,MAAM,SAE5CzB,EAAQ,KACR0B,OAAOC,SAAS,EAAG,IAEnBxB,EAAgB,IAAM,eAAUzJ,UAAM,OAAQ,GAAQ,YACtD,IAAIyF,EAAWiC,EAAQ7H,MAAMqL,YAC7B,IAAyB,IAArBzF,EAAS0F,QACT,OAAO,eAAUvB,EAAE,SAEvB,UACUlC,EAAQ7H,MAAM8H,GAAG4B,OAAOkB,QAC9B,eAAYb,EAAE,SAElB,MAAO/B,GACH,eAAUA,OAGdoB,EAAqB,IAAM,eAAUjJ,UAAM,OAAQ,GAAQ,YAC3D,UACU0H,EAAQ7H,MAAM8H,GAAGyD,YAAYX,MAAM,CACrC5L,KAAMsI,EAAMtH,MAAMhB,KAClBwM,MAAOlE,EAAMtH,MAAMwL,MACnBd,OAAQnB,EAAKvJ,MAAM2K,WAEjB9C,EAAQ7H,MAAM8H,GAAGC,WAAW6C,MAAM,CACpCF,OAAQnB,EAAKvJ,MAAM2K,KAG3B,MAAO3C,GACH,eAAUA,OAOlB,MAAO,CACHL,IACA4B,OACAjC,QACAO,UACAgB,SACAX,cACAjB,SACA8D,iBACAtB,QACAG,gBACAR,yBCjHuX,I,qHCO/XqC,EAAY,eACd,EACA7E,EACAiD,GACA,EACA,KACA,KACA,MAIa,aAAA4B,EAAiB,QAWhC,IAAkBA,EAAW,CAACC,OAAA,KAAKC,QAAA,KAAMC,QAAA,KAAMC,QAAA,KAAMC,UAAA,KAAQC,OAAA,KAAKC,WAAA","file":"js/chunk-2c615d68.db903e64.js","sourcesContent":["// Styles\nimport \"../../../src/components/VRating/VRating.sass\"; // Components\n\nimport VIcon from '../VIcon'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Delayable from '../../mixins/delayable';\nimport Sizeable from '../../mixins/sizeable';\nimport Rippleable from '../../mixins/rippleable';\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport { createRange } from '../../util/helpers';\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Colorable, Delayable, Rippleable, Sizeable, Themeable).extend({\n name: 'v-rating',\n props: {\n backgroundColor: {\n type: String,\n default: 'accent'\n },\n color: {\n type: String,\n default: 'primary'\n },\n clearable: Boolean,\n dense: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty'\n },\n fullIcon: {\n type: String,\n default: '$ratingFull'\n },\n halfIcon: {\n type: String,\n default: '$ratingHalf'\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5\n },\n readonly: Boolean,\n size: [Number, String],\n value: {\n type: Number,\n default: 0\n }\n },\n\n data() {\n return {\n hoverIndex: -1,\n internalValue: this.value\n };\n },\n\n computed: {\n directives() {\n if (this.readonly || !this.ripple) return [];\n return [{\n name: 'ripple',\n value: {\n circle: true\n }\n }];\n },\n\n iconProps() {\n const {\n dark,\n large,\n light,\n medium,\n small,\n size,\n xLarge,\n xSmall\n } = this.$props;\n return {\n dark,\n large,\n light,\n medium,\n size,\n small,\n xLarge,\n xSmall\n };\n },\n\n isHovering() {\n return this.hover && this.hoverIndex >= 0;\n }\n\n },\n watch: {\n internalValue(val) {\n val !== this.value && this.$emit('input', val);\n },\n\n value(val) {\n this.internalValue = val;\n }\n\n },\n methods: {\n createClickFn(i) {\n return e => {\n if (this.readonly) return;\n const newValue = this.genHoverIndex(e, i);\n\n if (this.clearable && this.internalValue === newValue) {\n this.internalValue = 0;\n } else {\n this.internalValue = newValue;\n }\n };\n },\n\n createProps(i) {\n const props = {\n index: i,\n value: this.internalValue,\n click: this.createClickFn(i),\n isFilled: Math.floor(this.internalValue) > i,\n isHovered: Math.floor(this.hoverIndex) > i\n };\n\n if (this.halfIncrements) {\n props.isHalfHovered = !props.isHovered && (this.hoverIndex - i) % 1 > 0;\n props.isHalfFilled = !props.isFilled && (this.internalValue - i) % 1 > 0;\n }\n\n return props;\n },\n\n genHoverIndex(e, i) {\n let isHalf = this.isHalfEvent(e);\n\n if (this.halfIncrements && this.$vuetify.rtl) {\n isHalf = !isHalf;\n }\n\n return i + (isHalf ? 0.5 : 1);\n },\n\n getIconName(props) {\n const isFull = this.isHovering ? props.isHovered : props.isFilled;\n const isHalf = this.isHovering ? props.isHalfHovered : props.isHalfFilled;\n return isFull ? this.fullIcon : isHalf ? this.halfIcon : this.emptyIcon;\n },\n\n getColor(props) {\n if (this.isHovering) {\n if (props.isHovered || props.isHalfHovered) return this.color;\n } else {\n if (props.isFilled || props.isHalfFilled) return this.color;\n }\n\n return this.backgroundColor;\n },\n\n isHalfEvent(e) {\n if (this.halfIncrements) {\n const rect = e.target && e.target.getBoundingClientRect();\n if (rect && e.pageX - rect.left < rect.width / 2) return true;\n }\n\n return false;\n },\n\n onMouseEnter(e, i) {\n this.runDelay('open', () => {\n this.hoverIndex = this.genHoverIndex(e, i);\n });\n },\n\n onMouseLeave() {\n this.runDelay('close', () => this.hoverIndex = -1);\n },\n\n genItem(i) {\n const props = this.createProps(i);\n if (this.$scopedSlots.item) return this.$scopedSlots.item(props);\n const listeners = {\n click: props.click\n };\n\n if (this.hover) {\n listeners.mouseenter = e => this.onMouseEnter(e, i);\n\n listeners.mouseleave = this.onMouseLeave;\n\n if (this.halfIncrements) {\n listeners.mousemove = e => this.onMouseEnter(e, i);\n }\n }\n\n return this.$createElement(VIcon, this.setTextColor(this.getColor(props), {\n attrs: {\n tabindex: -1\n },\n directives: this.directives,\n props: this.iconProps,\n on: listeners\n }), [this.getIconName(props)]);\n }\n\n },\n\n render(h) {\n const children = createRange(Number(this.length)).map(i => this.genItem(i));\n return h('div', {\n staticClass: 'v-rating',\n class: {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense\n }\n }, children);\n }\n\n});\n//# sourceMappingURL=VRating.js.map","// Mixins\nimport mixins from '../../util/mixins';\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport { provide as RegistrableProvide } from '../../mixins/registrable';\n/* @vue/component */\n\nexport default mixins(BindsAttrs, RegistrableProvide('form')\n/* @vue/component */\n).extend({\n name: 'v-form',\n\n provide() {\n return {\n form: this\n };\n },\n\n inheritAttrs: false,\n props: {\n disabled: Boolean,\n lazyValidation: Boolean,\n readonly: Boolean,\n value: Boolean\n },\n data: () => ({\n inputs: [],\n watchers: [],\n errorBag: {}\n }),\n watch: {\n errorBag: {\n handler(val) {\n const errors = Object.values(val).includes(true);\n this.$emit('input', !errors);\n },\n\n deep: true,\n immediate: true\n }\n },\n methods: {\n watchInput(input) {\n const watcher = input => {\n return input.$watch('hasError', val => {\n this.$set(this.errorBag, input._uid, val);\n }, {\n immediate: true\n });\n };\n\n const watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {}\n };\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', val => {\n if (!val) return; // Only watch if we're not already doing it\n\n if (this.errorBag.hasOwnProperty(input._uid)) return;\n watchers.valid = watcher(input);\n });\n } else {\n watchers.valid = watcher(input);\n }\n\n return watchers;\n },\n\n /** @public */\n validate() {\n return this.inputs.filter(input => !input.validate(true)).length === 0;\n },\n\n /** @public */\n reset() {\n this.inputs.forEach(input => input.reset());\n this.resetErrorBag();\n },\n\n resetErrorBag() {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {};\n }, 0);\n }\n },\n\n /** @public */\n resetValidation() {\n this.inputs.forEach(input => input.resetValidation());\n this.resetErrorBag();\n },\n\n register(input) {\n this.inputs.push(input);\n this.watchers.push(this.watchInput(input));\n },\n\n unregister(input) {\n const found = this.inputs.find(i => i._uid === input._uid);\n if (!found) return;\n const unwatch = this.watchers.find(i => i._uid === found._uid);\n\n if (unwatch) {\n unwatch.valid();\n unwatch.shouldValidate();\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid);\n this.inputs = this.inputs.filter(i => i._uid !== found._uid);\n this.$delete(this.errorBag, found._uid);\n }\n\n },\n\n render(h) {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$\n },\n on: {\n submit: e => this.$emit('submit', e)\n }\n }, this.$slots.default);\n }\n\n});\n//# sourceMappingURL=VForm.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isLive === false)?_c('div',{staticClass:\"text-center pa-5\"},[_c('v-icon',[_vm._v(\"mdi-lock\")]),_c('div',{staticClass:\"mt-3 mb-1\"},[_vm._v(_vm._s(_vm.$t('該周期已經結束')))]),_c('v-rating',{attrs:{\"small\":\"\",\"dense\":\"\",\"readonly\":\"\"},model:{value:(_vm.cycle.finishLevel),callback:function ($$v) {_vm.$set(_vm.cycle, \"finishLevel\", $$v)},expression:\"cycle.finishLevel\"}}),_c('div',{staticClass:\"body-2 pt-1 px-2 mb-5\"},[_vm._v(_vm._s(_vm.cycle.finishMessage))]),_c('v-btn',{attrs:{\"dark\":\"\",\"outlined\":\"\",\"color\":\"primary\",\"to\":{ name: 'farms.cycles.table' }}},[_vm._v(\" \"+_vm._s(_vm.$t('獲取報告'))+\" \")])],1):(_vm.$.canEdit === false)?_c('div',{staticClass:\"text-center pa-5\"},[_c('v-icon',[_vm._v(\"mdi-pencil-off\")]),_c('div',{staticClass:\"mt-3\"},[_vm._v(_vm._s(_vm.$t('你無法在每天晚上的11:50~12:00進行照片編輯')))])],1):_c('fm-loading',{staticClass:\"pa-5 pt-2\",attrs:{\"error\":_vm.picture.$o.fetchToday.error,\"finish\":_vm.picture.$o.fetchToday.done}},[(_vm.calendarDay.events.size > 0)?_c('v-row',{staticClass:\"mx-0 mt-1\",attrs:{\"align\":\"center\"}},[_c('v-icon',{staticClass:\"pt-1 mr-2\"},[_vm._v(\"mdi-calendar\")]),_vm._l((_vm.calendarDay.events.items),function(event,index){return _c('v-tooltip',{key:index + '123',attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-chip',_vm._g(_vm._b({staticClass:\"mr-2 mt-1\",attrs:{\"small\":\"\",\"outlined\":\"\",\"color\":_vm.config.calendarTypes.find(function (type) { return type.value === event.type; }).color}},'v-chip',attrs,false),on),[_vm._v(\" \"+_vm._s(event.name)+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(event.desc || _vm.$t('無內容')))])])})],2):_vm._e(),(_vm.picture.$ready === false)?_c('div',{staticClass:\"text-center py-5\"},[_c('v-btn',{staticClass:\"mt-3\",attrs:{\"fab\":\"\",\"x-large\":\"\",\"color\":\"primary\",\"loading\":!!_vm.picture.$loader.loading},on:{\"click\":_vm.createTodayPicture}},[_vm._v(\" \"+_vm._s(_vm.$t('建立'))+\" \")])],1):_vm._e(),(_vm.picture.$ready)?_c('div',[(_vm.picture.archived === false)?_c('div',[_c('v-form',{staticStyle:{\"min-height\":\"80vh\"},model:{value:(_vm.$.validate),callback:function ($$v) {_vm.$set(_vm.$, \"validate\", $$v)},expression:\"$.validate\"}},[_c('fm-form-picture',{attrs:{\"farm\":_vm.farm,\"type\":_vm.cycle.type,\"picture\":_vm.picture}})],1),_c('div',{staticClass:\"my-5 py-2 text-center\"},[_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.toTop()}}},[_c('v-icon',[_vm._v(\"mdi-arrow-up\")]),_c('div',[_vm._v(_vm._s(_vm.$t('回頂端')))])],1)],1),_c('v-btn',{attrs:{\"fab\":\"\",\"fixed\":\"\",\"right\":\"\",\"bottom\":\"\",\"color\":\"primary\",\"disabled\":!_vm.$.validate,\"loading\":_vm.picture.$o.update.loading},on:{\"click\":function($event){$event.stopPropagation();return _vm.updatePicture($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t('更新'))+\" \")])],1):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('今天照片已經封存,請明天再來'))+\" \")])]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { __awaiter } from \"tslib\";\r\nimport moment from 'moment';\r\nimport { alas, status } from '@/alas';\r\nimport { showError, showSuccess } from '@/store';\r\nimport { defineComponent, reactive, ref, computed, onMounted, onUnmounted } from '@vue/composition-api';\r\nexport default defineComponent({\r\n setup(props, context) {\r\n let t = m => context.root.$t(m);\r\n let route = context.root.$route;\r\n let router = context.root.$router;\r\n // ================\r\n //\r\n // refs\r\n //\r\n let farm = ref(status.fetch('farm'));\r\n let cycle = ref(status.fetch('cycle'));\r\n let picture = ref(status.fetch('picture'));\r\n let config = ref(status.fetch('config'));\r\n let calendarDay = ref(alas.make('farm', 'calendarDay'));\r\n // ================\r\n //\r\n // state\r\n //\r\n let $ = reactive({\r\n canEdit: true,\r\n editInt: null,\r\n validate: false\r\n });\r\n // ================\r\n //\r\n // computed\r\n //\r\n let isLive = computed(() => cycle.value.finishedAt == null);\r\n // ================\r\n //\r\n // mounted\r\n //\r\n onMounted(() => {\r\n if (isLive.value) {\r\n picture.value.$o.fetchToday.seek({\r\n farmId: farm.value.id\r\n });\r\n }\r\n calendarDay.value.$o.fetch.start({\r\n farmId: farm.value.id,\r\n date: moment().format('YYYY-MM-DD')\r\n });\r\n refreshCanEdit();\r\n $.editInt = setInterval(() => {\r\n refreshCanEdit();\r\n if ($.canEdit === false) {\r\n clearInterval($.editInt);\r\n }\r\n }, 2000);\r\n });\r\n onUnmounted(() => {\r\n if ($.editInt) {\r\n clearInterval($.editInt);\r\n }\r\n });\r\n // ================\r\n //\r\n // methods\r\n //\r\n let refreshCanEdit = () => {\r\n $.canEdit = !moment().format('HH:mm').match('23:5');\r\n };\r\n let toTop = () => {\r\n window.scrollTo(0, 0);\r\n };\r\n let updatePicture = () => __awaiter(this, void 0, void 0, function* () {\r\n let validate = picture.value.$validate();\r\n if (validate.success === false) {\r\n return showError(t('驗證錯誤'));\r\n }\r\n try {\r\n yield picture.value.$o.update.start();\r\n showSuccess(t('更新成功'));\r\n }\r\n catch (error) {\r\n showError(error);\r\n }\r\n });\r\n let createTodayPicture = () => __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n yield picture.value.$o.createToday.start({\r\n type: cycle.value.type,\r\n breed: cycle.value.breed,\r\n farmId: farm.value.id\r\n });\r\n yield picture.value.$o.fetchToday.start({\r\n farmId: farm.value.id\r\n });\r\n }\r\n catch (error) {\r\n showError(error);\r\n }\r\n });\r\n // ================\r\n //\r\n // done\r\n //\r\n return {\r\n $,\r\n farm,\r\n cycle,\r\n picture,\r\n config,\r\n calendarDay,\r\n isLive,\r\n refreshCanEdit,\r\n toTop,\r\n updatePicture,\r\n createTodayPicture\r\n };\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./overview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./overview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./overview.vue?vue&type=template&id=5e3b8da3&\"\nimport script from \"./overview.vue?vue&type=script&lang=ts&\"\nexport * from \"./overview.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRating } from 'vuetify/lib/components/VRating';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VChip,VForm,VIcon,VRating,VRow,VTooltip})\n"],"sourceRoot":""}