@perevorot/shop 2.0.75 → 2.0.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.js +1 -1
- package/dist/api.js.map +1 -1
- package/dist/components/auth/Forget.js +1 -1
- package/dist/components/auth/Forget.js.map +1 -1
- package/dist/components/auth/Login.js +1 -1
- package/dist/components/auth/Login.js.map +1 -1
- package/dist/components/auth/Registration.js +1 -1
- package/dist/components/auth/Registration.js.map +1 -1
- package/dist/components/auth/Reset.js +1 -1
- package/dist/components/auth/Reset.js.map +1 -1
- package/dist/components/auth/User.js +1 -1
- package/dist/components/auth/User.js.map +1 -1
- package/dist/forms/FormText.js.map +1 -1
- package/dist/helpers.js +1 -1
- package/dist/helpers.js.map +1 -1
- package/dist/store.js +1 -1
- package/dist/store.js.map +1 -1
- package/package.json +1 -1
package/dist/api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var t={auth:{me:function(){return $http.post($ziggy("auth.me"))},login:function(t){return $http.post($ziggy("auth.login"),t)},logout:function(){return $http.post($ziggy("auth.logout"))},reset:function(t){return $http.post($ziggy("auth.password.email"),t)},passwordUpdate:function(t){return $http.post($ziggy("auth.password.update"),t)},registerShort:function(t){return $http.post($ziggy("auth.register.short"),t)},registerFull:function(t){return $http.post($ziggy("auth.register.full"),t)},registerForm:function(){return $http.post($ziggy("auth.register.form"))},update:function(t){return $http.post($ziggy("auth.register.update"),t)}},cart:{items:function(){return $http.post($ziggy("api.cart"),{action:"get"})},add:function(t){return $http.post($ziggy("api.cart"),{action:"add",id:t.id,quantity:t.quantity,options:!!t.options&&t.options})},options:function(t){return $http.post($ziggy("api.cart"),{action:"options",id:t.id,options:t.options})},addBundle:function(t){return $http.post($ziggy("api.cart"),{action:"addBundle",id:t.id,second:t.second,third:t.third})},remove:function(t){return $http.post($ziggy("api.cart"),{action:"remove",id:t})},clear:function(){return $http.post($ziggy("api.cart"),{action:"clear"})},quantity:function(t){return $http.post($ziggy("api.cart"),{action:"quantity",id:t.id,exact:t.exact})}},compare:{items:function(){return $http.post($ziggy("api.compare"),{action:"get"})},category:function(t){return $http.post($ziggy("api.compare"),{action:"category",slug:t})},toggle:function(t){return $http.post($ziggy("api.compare"),{action:"toggle",id:t})},delete:function(t){return $http.post($ziggy("api.compare"),{action:"delete",id:t})}},shop:{search:function(t){return $http.post($ziggy("api.search"),{term:t})}},wishlist:{items:function(){return $http.post($ziggy("api.wishlist"),{action:"get"})},toggle:function(t){return $http.post($ziggy("api.wishlist"),{action:"toggle",id:t})}}};module.exports=t;
|
|
1
|
+
"use strict";var t={auth:{me:function(){return $http.post($ziggy("auth.me"))},login:function(t){return $http.post($ziggy("auth.login"),t)},logout:function(){return $http.post($ziggy("auth.logout"))},reset:function(t){return $http.post($ziggy("auth.password.email"),t)},resetSms:function(t){return $http.post($ziggy("auth.password.sms"),t)},passwordUpdate:function(t){return $http.post($ziggy("auth.password.update"),t)},registerShort:function(t){return $http.post($ziggy("auth.register.short"),t)},registerFull:function(t){return $http.post($ziggy("auth.register.full"),t)},registerForm:function(){return $http.post($ziggy("auth.register.form"))},update:function(t){return $http.post($ziggy("auth.register.update"),t)}},cart:{items:function(){return $http.post($ziggy("api.cart"),{action:"get"})},add:function(t){return $http.post($ziggy("api.cart"),{action:"add",id:t.id,quantity:t.quantity,options:!!t.options&&t.options})},options:function(t){return $http.post($ziggy("api.cart"),{action:"options",id:t.id,options:t.options})},addBundle:function(t){return $http.post($ziggy("api.cart"),{action:"addBundle",id:t.id,second:t.second,third:t.third})},remove:function(t){return $http.post($ziggy("api.cart"),{action:"remove",id:t})},clear:function(){return $http.post($ziggy("api.cart"),{action:"clear"})},quantity:function(t){return $http.post($ziggy("api.cart"),{action:"quantity",id:t.id,exact:t.exact})}},compare:{items:function(){return $http.post($ziggy("api.compare"),{action:"get"})},category:function(t){return $http.post($ziggy("api.compare"),{action:"category",slug:t})},toggle:function(t){return $http.post($ziggy("api.compare"),{action:"toggle",id:t})},delete:function(t){return $http.post($ziggy("api.compare"),{action:"delete",id:t})}},shop:{search:function(t){return $http.post($ziggy("api.search"),{term:t})}},wishlist:{items:function(){return $http.post($ziggy("api.wishlist"),{action:"get"})},toggle:function(t){return $http.post($ziggy("api.wishlist"),{action:"toggle",id:t})}}};module.exports=t;
|
|
2
2
|
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sources":["../src/api/modules/auth.js","../src/api/index.js","../src/api/modules/cart.js","../src/api/modules/compare.js","../src/api/modules/shop.js","../src/api/modules/wishlist.js"],"sourcesContent":["export default {\n me() {\n return $http.post($ziggy(
|
|
1
|
+
{"version":3,"file":"api.js","sources":["../src/api/modules/auth.js","../src/api/index.js","../src/api/modules/cart.js","../src/api/modules/compare.js","../src/api/modules/shop.js","../src/api/modules/wishlist.js"],"sourcesContent":["export default {\n me() {\n return $http.post($ziggy('auth.me'));\n },\n login(credentials) {\n return $http.post($ziggy('auth.login'), credentials);\n },\n logout() {\n return $http.post($ziggy('auth.logout'));\n },\n reset(credentials) {\n return $http.post($ziggy('auth.password.email'), credentials);\n },\n resetSms(credentials) {\n return $http.post($ziggy('auth.password.sms'), credentials);\n },\n passwordUpdate(credentials) {\n return $http.post($ziggy('auth.password.update'), credentials);\n },\n registerShort(credentials) {\n return $http.post($ziggy('auth.register.short'), credentials);\n },\n registerFull(credentials) {\n return $http.post($ziggy('auth.register.full'), credentials);\n },\n registerForm() {\n return $http.post($ziggy('auth.register.form'));\n },\n update(credentials) {\n return $http.post($ziggy('auth.register.update'), credentials);\n },\n};\n","import auth from './modules/auth';\nimport cart from './modules/cart';\nimport compare from './modules/compare';\nimport shop from './modules/shop';\nimport wishlist from './modules/wishlist';\n\nexport default {\n auth,\n cart,\n compare,\n shop,\n wishlist\n};","export default {\n items() {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"get\",\n });\n },\n\n add(item) {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"add\",\n id: item.id,\n quantity: item.quantity,\n options: item.options ? item.options : false\n });\n },\n\n options(item) {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"options\",\n id: item.id,\n options: item.options\n });\n },\n\n addBundle(item) {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"addBundle\",\n id: item.id,\n second: item.second,\n third: item.third\n });\n },\n\n remove(id) {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"remove\",\n id: id\n });\n },\n\n clear() {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"clear\"\n });\n },\n\n quantity(item) {\n return $http.post($ziggy(\"api.cart\"), {\n action: \"quantity\",\n id: item.id,\n exact: item.exact\n });\n },\n}","export default {\n items() {\n return $http.post($ziggy(\"api.compare\"), {\n action: \"get\",\n });\n },\n\n category(slug) {\n return $http.post($ziggy(\"api.compare\"), {\n action: \"category\",\n slug: slug\n });\n },\n\n toggle(id) {\n return $http.post($ziggy(\"api.compare\"), {\n action: \"toggle\",\n id: id\n });\n },\n\n delete(id) {\n return $http.post($ziggy(\"api.compare\"), {\n action: \"delete\",\n id: id\n });\n },\n}","export default {\n search(term) {\n return $http.post($ziggy(\"api.search\"), {\n term: term,\n });\n },\n}","export default {\n items() {\n return $http.post($ziggy(\"api.wishlist\"), {\n action: \"get\",\n });\n },\n\n toggle(id) {\n return $http.post($ziggy(\"api.wishlist\"), {\n action: \"toggle\",\n id: id\n });\n },\n}"],"names":["auth","me","$http","post","$ziggy","login","credentials","logout","reset","resetSms","passwordUpdate","registerShort","registerFull","registerForm","update","cart","items","action","add","item","id","quantity","options","addBundle","second","third","remove","clear","exact","compare","category","slug","toggle","shop","search","term","wishlist"],"mappings":"aAAA,MCMe,CACXA,KDPW,CACXC,qBACWC,MAAMC,KAAKC,OAAO,aAE7BC,eAAMC,UACKJ,MAAMC,KAAKC,OAAO,cAAeE,IAE5CC,yBACWL,MAAMC,KAAKC,OAAO,iBAE7BI,eAAMF,UACKJ,MAAMC,KAAKC,OAAO,uBAAwBE,IAErDG,kBAASH,UACEJ,MAAMC,KAAKC,OAAO,qBAAsBE,IAEnDI,wBAAeJ,UACJJ,MAAMC,KAAKC,OAAO,wBAAyBE,IAEtDK,uBAAcL,UACHJ,MAAMC,KAAKC,OAAO,uBAAwBE,IAErDM,sBAAaN,UACFJ,MAAMC,KAAKC,OAAO,sBAAuBE,IAEpDO,+BACWX,MAAMC,KAAKC,OAAO,wBAE7BU,gBAAOR,UACIJ,MAAMC,KAAKC,OAAO,wBAAyBE,KCrBtDS,KCRW,CACXC,wBACWd,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,SAIhBC,aAAIC,UACOjB,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,MACRG,GAAID,EAAKC,GACTC,SAAUF,EAAKE,SACfC,UAASH,EAAKG,SAAUH,EAAKG,WAIrCA,iBAAQH,UACGjB,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,UACRG,GAAID,EAAKC,GACTE,QAASH,EAAKG,WAItBC,mBAAUJ,UACCjB,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,YACRG,GAAID,EAAKC,GACTI,OAAQL,EAAKK,OACbC,MAAON,EAAKM,SAIpBC,gBAAON,UACIlB,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,SACRG,GAAIA,KAIZO,wBACWzB,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,WAIhBI,kBAASF,UACEjB,MAAMC,KAAKC,OAAO,YAAa,CAClCa,OAAQ,WACRG,GAAID,EAAKC,GACTQ,MAAOT,EAAKS,UDzCpBC,QETW,CACXb,wBACWd,MAAMC,KAAKC,OAAO,eAAgB,CACrCa,OAAQ,SAIhBa,kBAASC,UACE7B,MAAMC,KAAKC,OAAO,eAAgB,CACrCa,OAAQ,WACRc,KAAMA,KAIdC,gBAAOZ,UACIlB,MAAMC,KAAKC,OAAO,eAAgB,CACrCa,OAAQ,SACRG,GAAIA,qBAILA,UACIlB,MAAMC,KAAKC,OAAO,eAAgB,CACrCa,OAAQ,SACRG,GAAIA,MFdZa,KGVW,CACXC,gBAAOC,UACIjC,MAAMC,KAAKC,OAAO,cAAe,CACpC+B,KAAMA,MHQdC,SIXW,CACXpB,wBACWd,MAAMC,KAAKC,OAAO,gBAAiB,CACtCa,OAAQ,SAIhBe,gBAAOZ,UACIlB,MAAMC,KAAKC,OAAO,gBAAiB,CACtCa,OAAQ,SACRG,GAAIA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),a=require("formvuelate"),
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),a=require("formvuelate"),n=require("@formvuelate/plugin-vee-validate"),r=require("@perevorot/shop/dist/forms/FormText"),o=require("yup");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var s=l(n),u=l(r),c=i(o);e.markRaw(u.default);var m={name:"forget",components:{SchemaForm:a.SchemaFormFactory([s.default({})])},props:{email:{type:String,default:""},emailOrPhone:{type:String,default:""},forgetType:{type:String,default:"email"}},setup:function(n){var r=e.ref(!1),o=t.useStore(),l=e.ref(0),i=e.ref(""),s=e.ref(""),m=e.ref(!1),d=e.ref({}),v=e.ref({}),f=e.ref(!1),p=e.ref(""),g=e.ref(""),h=e.ref(""),y=e.ref("");e.getCurrentInstance();var N={email:{component:u.default,label:__("auth.login.form.email")},emailOrPhone:{component:u.default,label:__("auth.login.form.emailOrPhone")}},b={email:c.string().email(__("auth.validation.email")).required(__("auth.validation.required")),emailOrPhone:c.string().required(__("auth.validation.required")).test("test-name",__("auth.validation.emailOrPhone"),(function(e){var t=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e),a=/^(?:\+38)?(?:\((044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)\)[ .-]?[0-9]{3}[ .-]?[0-9]{2}[ .-]?[0-9]{2}|(044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)[ .-]?[0-9]{3}[ .-]?[0-9]{2}[ .-]?[0-9]{2}|(044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)[0-9]{7})$/.test(e);return!(!t&&!a)}))};d.value[n.forgetType]=N[n.forgetType],v.value[n.forgetType]=n[n.forgetType];var _={};_[n.forgetType]=b[n.forgetType];var E=c.object().shape(_);a.useSchemaForm(v);var V=e.inject("presetedResetToken"),k=e.inject("presetedResetEmail");return{loading:r,key:l,schema:d,validation:E,remembered:function(){o.commit("auth/modal","login")},onSubmit:function(){r.value=!0,i.value="",s.value="",o.dispatch("auth/reset",{credentials:v.value,callback:function(e,t,a){t?s.value=e:(i.value=e,f.value="phone"==(null==a?void 0:a.credentials))},finally:function(){v.value={},r.value=!1,m.value=!0,l.value++}})},again:function(){m.value=!1},sent:m,message:i,error:s,close:function(){o.commit("auth/modal",null)},sms:f,code1:p,code2:g,code3:h,code4:y,codeKeyUp:function(e){var t=e.target.nextElementSibling,a=e.target.previousElementSibling,n=t&&"INPUT"===t.tagName,r=a&&"INPUT"===a.tagName;e.keyCode>=48&&e.keyCode<=57&&(s.value="",n&&t.focus()),8===e.keyCode&&(s.value="",""===e.target.value&&r&&a.focus())},codePaste:function(e){e.preventDefault();var t=e.clipboardData.getData("Text");4==t.length&&(isNaN(t[0])||isNaN(t[1])||isNaN(t[2])||isNaN(t[3])||(p.value=t[0],g.value=t[1],h.value=t[2],y.value=t[3],s.value=""))},more:function(){f.value=!1,p.value="",g.value="",h.value="",y.value="",i.value="",m.value=!1},smsReset:function(){""===p.value||""===g.value||""===h.value||""===y.value?s.value=__("auth.validation.required"):(r.value=!0,s.value="",o.dispatch("auth/resetSms",{credentials:{code:String(p.value)+String(g.value)+String(h.value)+String(y.value)},callback:function(e,t){t?s.value=e.message:(p.value="",g.value="",h.value="",y.value="",V.value=e.token,k.value=e.email,o.commit("auth/modal","reset"))},finally:function(){r.value=!1,l.value++}}))}}}},d={class:"form auth-forget"},v={class:"title"},f={class:"field"},p={class:"columns is-vcentered"},g={class:"column"},h={class:"mt-2"},y={class:"forget-thanks-mesage"},N=["innerHTML"],b={class:"mt-2 close-button"},_={class:"forget-thanks-mesage schema-col"},E=["innerHTML"],V={class:"sms-code"},k={class:"control"},S=["innerHTML"],T={class:"actions-wrapper"},D={class:"forget-error-mesage"},C=["innerHTML"],w={class:"mt-2"};m.render=function(t,a,n,r,o,l){var i=e.resolveComponent("SchemaForm"),s=e.resolveDirective("maska");return e.openBlock(),e.createElementBlock("div",d,[e.createElementVNode("div",v,e.toDisplayString(t.__("auth.forget.title")),1),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(),e.createBlock(i,{schemaRowClasses:"field",schema:r.schema,"validation-schema":r.validation,key:r.key,onSubmit:r.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",f,[e.createElementVNode("div",p,[e.createElementVNode("div",g,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":r.loading}]),type:"submit"},e.toDisplayString(t.__("auth.forget.form.submit")),3)])])])]})),_:1},8,["schema","validation-schema","onSubmit"])),e.createElementVNode("div",h,[e.createElementVNode("a",{onClick:a[0]||(a[0]=function(){return r.remembered&&r.remembered.apply(r,arguments)})},e.toDisplayString(t.__("auth.forget.remembered")),1)])],512),[[e.vShow,!r.sent]]),e.withDirectives(e.createElementVNode("div",y,[e.createElementVNode("div",{innerHTML:r.message,class:"thanks-message"},null,8,N),e.createElementVNode("div",b,[e.createElementVNode("a",{onClick:a[1]||(a[1]=function(){return r.close&&r.close.apply(r,arguments)})},e.toDisplayString(t.__("auth.forget.close")),1)])],512),[[e.vShow,r.sent&&r.message&&!r.sms]]),e.withDirectives(e.createElementVNode("div",_,[e.createElementVNode("div",{innerHTML:r.message,class:"thanks-message"},null,8,E),e.createElementVNode("div",V,[e.createElementVNode("div",k,[e.withDirectives(e.createElementVNode("input",{type:"text",class:e.normalizeClass(["input",{"is-filled":""!==r.code1}]),"onUpdate:modelValue":a[2]||(a[2]=function(e){return r.code1=e}),onKeyup:a[3]||(a[3]=function(e){return r.codeKeyUp(e)}),onPaste:a[4]||(a[4]=function(e){return r.codePaste(e)})},null,34),[[e.vModelText,r.code1],[s,"#"]]),e.withDirectives(e.createElementVNode("input",{type:"text",class:e.normalizeClass(["input",{"is-filled":""!==r.code2}]),"onUpdate:modelValue":a[5]||(a[5]=function(e){return r.code2=e}),onKeyup:a[6]||(a[6]=function(e){return r.codeKeyUp(e)}),onPaste:a[7]||(a[7]=function(e){return r.codePaste(e)})},null,34),[[e.vModelText,r.code2],[s,"#"]]),e.withDirectives(e.createElementVNode("input",{type:"text",class:e.normalizeClass(["input",{"is-filled":""!==r.code3}]),"onUpdate:modelValue":a[8]||(a[8]=function(e){return r.code3=e}),onKeyup:a[9]||(a[9]=function(e){return r.codeKeyUp(e)}),onPaste:a[10]||(a[10]=function(e){return r.codePaste(e)})},null,34),[[e.vModelText,r.code3],[s,"#"]]),e.withDirectives(e.createElementVNode("input",{type:"text",class:e.normalizeClass(["input",{"is-filled":""!==r.code4}]),"onUpdate:modelValue":a[11]||(a[11]=function(e){return r.code4=e}),onKeyup:a[12]||(a[12]=function(e){return r.codeKeyUp(e)}),onPaste:a[13]||(a[13]=function(e){return r.codePaste(e)})},null,34),[[e.vModelText,r.code4],[s,"#"]])]),r.error?(e.openBlock(),e.createElementBlock("p",{key:0,class:"help is-danger",innerHTML:r.error},null,8,S)):e.createCommentVNode("v-if",!0)]),e.createElementVNode("div",T,[e.createElementVNode("button",{class:e.normalizeClass(["button",{"is-loading":r.loading}]),onClick:a[14]||(a[14]=function(){return r.smsReset&&r.smsReset.apply(r,arguments)})},e.toDisplayString(t.__("auth.forget.sms_reset_password")),3),e.createElementVNode("button",{class:"button",onClick:a[15]||(a[15]=function(){return r.more&&r.more.apply(r,arguments)})},e.toDisplayString(t.__("auth.forget.sms_more")),1),e.createElementVNode("button",{class:"button",onClick:a[16]||(a[16]=function(){return r.remembered&&r.remembered.apply(r,arguments)})},e.toDisplayString(t.__("auth.forget.remembered")),1)])],512),[[e.vShow,r.sent&&r.message&&r.sms]]),e.withDirectives(e.createElementVNode("div",D,[e.createElementVNode("div",{class:"message",innerHTML:r.error},null,8,C),e.createElementVNode("div",w,[e.createElementVNode("a",{onClick:a[17]||(a[17]=function(){return r.again&&r.again.apply(r,arguments)})},e.toDisplayString(t.__("auth.forget.send")),1)])],512),[[e.vShow,r.sent&&r.error&&!r.sms]])])},module.exports=m;
|
|
2
2
|
//# sourceMappingURL=Forget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Forget.js","sources":["../../../src/components/auth/Forget.vue","../../../src/components/auth/Forget.vue?vue&type=template&id=128fc09e&lang.js"],"sourcesContent":["<template>\n <div class=\"form auth-forget\">\n <div class=\"title\">{{ __('auth.forget.title') }}</div>\n <div v-show=\"!sent\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.forget.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n\n <div class=\"mt-2\">\n <a @click=\"remembered\">{{ __('auth.forget.remembered') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message\">\n <div>{{ message }}</div>\n <div class=\"mt-2\">\n <a @click=\"close\">{{ __('auth.forget.close') }}</a>\n </div>\n </div>\n <div v-show=\"sent && error\">\n <div>{{ error }}</div>\n <div class=\"mt-2\">\n <a @click=\"again\">{{ __('auth.forget.send') }}</a>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'forget',\n components: {\n SchemaForm\n },\n props: {\n email: {\n type: String,\n default: ''\n }\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const error = ref('');\n const sent = ref(false);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email')\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: props.email\n });\n\n useSchemaForm(model);\n\n const remembered = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n sent.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n message.value = '';\n error.value = '';\n\n store.dispatch('auth/reset', {\n credentials: model.value,\n callback: (m, isError) => {\n if (!isError) {\n message.value = m;\n } else {\n error.value = m;\n }\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n sent.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n remembered,\n onSubmit,\n again,\n sent,\n message,\n error,\n close\n };\n }\n};\n</script>","<template>\n <div class=\"form auth-forget\">\n <div class=\"title\">{{ __('auth.forget.title') }}</div>\n <div v-show=\"!sent\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.forget.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n\n <div class=\"mt-2\">\n <a @click=\"remembered\">{{ __('auth.forget.remembered') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message\">\n <div>{{ message }}</div>\n <div class=\"mt-2\">\n <a @click=\"close\">{{ __('auth.forget.close') }}</a>\n </div>\n </div>\n <div v-show=\"sent && error\">\n <div>{{ error }}</div>\n <div class=\"mt-2\">\n <a @click=\"again\">{{ __('auth.forget.send') }}</a>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'forget',\n components: {\n SchemaForm\n },\n props: {\n email: {\n type: String,\n default: ''\n }\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const error = ref('');\n const sent = ref(false);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email')\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: props.email\n });\n\n useSchemaForm(model);\n\n const remembered = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n sent.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n message.value = '';\n error.value = '';\n\n store.dispatch('auth/reset', {\n credentials: model.value,\n callback: (m, isError) => {\n if (!isError) {\n message.value = m;\n } else {\n error.value = m;\n }\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n sent.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n remembered,\n onSubmit,\n again,\n sent,\n message,\n error,\n close\n };\n }\n};\n</script>"],"names":["markRaw","FormText","name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","props","email","type","String","setup","loading","ref","store","useStore","key","message","error","sent","schema","component","label","__","validation","yup","object","shape","string","required","model","useSchemaForm","remembered","commit","onSubmit","value","dispatch","credentials","callback","m","isError","again","close","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","_createBlock","schemaRowClasses","$setup","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_7","_hoisted_8"],"mappings":"6jBA4CAA,UAAQC,WAER,MAEe,CACXC,KAAM,SACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,MAAO,CACHC,MAAO,CACHC,KAAMC,eACG,KAGjBC,eAAMJ,OACIK,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAAUJ,MAAI,IACdK,EAAQL,MAAI,IACZM,EAAON,OAAI,GAEXO,EAASP,MAAI,CACfL,MAAO,CACHa,UAAWpB,UACXqB,MAAOC,GAAG,4BAIZC,EAAaC,EAAIC,SAASC,MAAM,CAClCnB,MAAOiB,EAAIG,SAASpB,MAAMe,GAAG,0BAA0BM,SAASN,GAAG,+BAGjEO,EAAQjB,MAAI,CACdL,MAAOD,EAAMC,QAGjBuB,gBAAcD,SAqCP,CACHlB,QAAAA,EACAI,IAAAA,EACAI,OAAAA,EACAI,WAAAA,EACAQ,WAxCe,WACflB,EAAMmB,OAAO,aAAc,UAwC3BC,SAjCa,WACbtB,EAAQuB,OAAQ,EAChBlB,EAAQkB,MAAQ,GAChBjB,EAAMiB,MAAQ,GAEdrB,EAAMsB,SAAS,aAAc,CACzBC,YAAaP,EAAMK,MACnBG,SAAU,SAACC,EAAGC,GACLA,EAGDtB,EAAMiB,MAAQI,EAFdtB,EAAQkB,MAAQI,WAKf,WACLT,EAAMK,MAAQ,GACdvB,EAAQuB,OAAQ,EAChBhB,EAAKgB,OAAQ,EACbnB,EAAImB,YAgBZM,MAtCU,WACVtB,EAAKgB,OAAQ,GAsCbhB,KAAAA,EACAF,QAAAA,EACAC,MAAAA,EACAwB,MAfU,WACV5B,EAAMmB,OAAO,aAAc,mBCnHxB,6BACI,kBAIY,kBACI,iCACI,mBAUhB,iBAMA,iBAMA,mGA7BnBU,2BAAAC,GACIC,2BAAAC,oBAAsBC,+CACtBF,gDACIG,iBAAYC,iBAAiB,QAAS7B,OAAQ8B,6BAA4BA,aAAalC,IAAKkC,MAAMhB,SAAQgB,aAC3FC,qBACP,kBAAAN,2BAAAO,GACIP,2BAAAQ,GACIR,2BAAAS,GACIT,uDAAc,+BAA6DK,aAA5CzC,KAAK,4BAC7BsC,iGAQ3BF,2BAAAU,GACIV,0BAAIW,sCAAON,mEAAeH,sDAhBpBG,2BAmBdL,iCACIA,kDAAQK,cACRL,2BAAAY,GACIZ,0BAAIW,sCAAON,yDAAUH,gDAHhBG,QAAQA,8BAMrBL,iCACIA,kDAAQK,YACRL,2BAAAa,GACIb,0BAAIW,sCAAON,yDAAUH,+CAHhBG,QAAQA"}
|
|
1
|
+
{"version":3,"file":"Forget.js","sources":["../../../src/components/auth/Forget.vue","../../../src/components/auth/Forget.vue?vue&type=template&id=6cb7e5c4&lang.js"],"sourcesContent":["<template>\n <div class=\"form auth-forget\">\n <div class=\"title\">{{ __('auth.forget.title') }}</div>\n <div v-show=\"!sent\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.forget.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-2\">\n <a @click=\"remembered\">{{ __('auth.forget.remembered') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message && !sms\" class=\"forget-thanks-mesage\">\n <div v-html=\"message\" class=\"thanks-message\"></div>\n <div class=\"mt-2 close-button\">\n <a @click=\"close\">{{ __('auth.forget.close') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message && sms\" class=\"forget-thanks-mesage schema-col\">\n <div v-html=\"message\" class=\"thanks-message\"></div>\n <div class=\"sms-code\">\n <div class=\"control\">\n <input type=\"text\" class=\"input\" v-model=\"code1\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code1 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code2\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code2 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code3\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code3 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code4\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code4 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n </div>\n <p class=\"help is-danger\" v-html=\"error\" v-if=\"error\"></p>\n </div>\n <div class=\"actions-wrapper\">\n <button class=\"button\" v-bind:class=\"{ 'is-loading': loading }\" @click=\"smsReset\">{{ __('auth.forget.sms_reset_password') }}</button>\n <button class=\"button\" @click=\"more\">{{ __('auth.forget.sms_more') }}</button>\n <button class=\"button\" @click=\"remembered\">{{ __('auth.forget.remembered') }}</button>\n </div>\n </div>\n <div v-show=\"sent && error && !sms\" class=\"forget-error-mesage\">\n <div class=\"message\" v-html=\"error\"></div>\n <div class=\"mt-2\">\n <a @click=\"again\">{{ __('auth.forget.send') }}</a>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance, inject } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'forget',\n components: {\n SchemaForm\n },\n props: {\n email: {\n type: String,\n default: ''\n },\n emailOrPhone: {\n type: String,\n default: ''\n },\n forgetType: {\n type: String,\n default: 'email'\n }\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const error = ref('');\n const sent = ref(false);\n const schema = ref({});\n const model = ref({});\n const sms = ref(false);\n const code1 = ref('');\n const code2 = ref('');\n const code3 = ref('');\n const code4 = ref('');\n const instance = getCurrentInstance();\n\n const s = {\n email: {\n component: FormText,\n label: __('auth.login.form.email')\n },\n emailOrPhone: {\n component: FormText,\n label: __('auth.login.form.emailOrPhone')\n }\n };\n\n const yupValidations = {\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n emailOrPhone: yup\n .string()\n .required(__('auth.validation.required'))\n .test('test-name', __('auth.validation.emailOrPhone'), function (value) {\n const emailRegex = /^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$/;\n const phoneRegex = /^(?:\\+38)?(?:\\((044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)\\)[ .-]?[0-9]{3}[ .-]?[0-9]{2}[ .-]?[0-9]{2}|(044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)[ .-]?[0-9]{3}[ .-]?[0-9]{2}[ .-]?[0-9]{2}|(044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)[0-9]{7})$/;\n\n let isValidEmail = emailRegex.test(value);\n let isValidPhone = phoneRegex.test(value);\n\n if (!isValidEmail && !isValidPhone) {\n return false;\n }\n\n return true;\n })\n };\n\n schema.value[props.forgetType] = s[props.forgetType];\n model.value[props.forgetType] = props[props.forgetType];\n\n let currentYupValidation = {};\n currentYupValidation[props.forgetType] = yupValidations[props.forgetType];\n\n const validation = yup.object().shape(currentYupValidation);\n\n useSchemaForm(model);\n\n const remembered = () => {\n store.commit('auth/modal', 'login');\n };\n\n const more = () => {\n sms.value = false;\n code1.value = '';\n code2.value = '';\n code3.value = '';\n code4.value = '';\n message.value = '';\n sent.value = false;\n };\n\n const again = () => {\n sent.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n message.value = '';\n error.value = '';\n\n store.dispatch('auth/reset', {\n credentials: model.value,\n callback: (m, isError, response) => {\n if (!isError) {\n message.value = m;\n sms.value = response?.credentials == 'phone';\n } else {\n error.value = m;\n }\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n sent.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n };\n\n const codeKeyUp = (e) => {\n const nextElement = e.target.nextElementSibling;\n const prevElement = e.target.previousElementSibling;\n const isNextElementIsInput = nextElement && nextElement.tagName === 'INPUT';\n const isPrevElementIsInput = prevElement && prevElement.tagName === 'INPUT';\n\n if (e.keyCode >= 48 && e.keyCode <= 57) {\n error.value = '';\n\n if (isNextElementIsInput) {\n nextElement.focus();\n }\n }\n\n if (e.keyCode === 8) {\n error.value = '';\n\n if (e.target.value === '') {\n if (isPrevElementIsInput) {\n prevElement.focus();\n }\n }\n }\n\n // if (e.keyCode == 37) {\n // if (isPrevElementIsInput) {\n // prevElement.focus();\n // }\n // }\n\n // if (e.keyCode == 39) {\n // if (isNextElementIsInput) {\n // nextElement.focus();\n // }\n // }\n };\n\n const codePaste = (e) => {\n e.preventDefault();\n\n const value = e.clipboardData.getData('Text');\n\n if (value.length == 4) {\n if (!isNaN(value[0]) && !isNaN(value[1]) && !isNaN(value[2]) && !isNaN(value[3])) {\n code1.value = value[0];\n code2.value = value[1];\n code3.value = value[2];\n code4.value = value[3];\n\n error.value = '';\n }\n }\n };\n\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n const smsReset = () => {\n if (code1.value === '' || code2.value === '' || code3.value === '' || code4.value === '') {\n error.value = __('auth.validation.required');\n } else {\n loading.value = true;\n error.value = '';\n\n store.dispatch('auth/resetSms', {\n credentials: {\n code: String(code1.value) + String(code2.value) + String(code3.value) + String(code4.value)\n },\n callback: (m, isError) => {\n if (!isError) {\n code1.value = '';\n code2.value = '';\n code3.value = '';\n code4.value = '';\n\n presetedResetToken.value = m.token;\n presetedResetEmail.value = m.email;\n\n store.commit('auth/modal', 'reset');\n } else {\n error.value = m.message;\n }\n },\n finally: () => {\n loading.value = false;\n key.value++;\n }\n });\n }\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n remembered,\n onSubmit,\n again,\n sent,\n message,\n error,\n close,\n sms,\n code1,\n code2,\n code3,\n code4,\n codeKeyUp,\n codePaste,\n more,\n smsReset\n };\n }\n};\n</script>","<template>\n <div class=\"form auth-forget\">\n <div class=\"title\">{{ __('auth.forget.title') }}</div>\n <div v-show=\"!sent\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.forget.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-2\">\n <a @click=\"remembered\">{{ __('auth.forget.remembered') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message && !sms\" class=\"forget-thanks-mesage\">\n <div v-html=\"message\" class=\"thanks-message\"></div>\n <div class=\"mt-2 close-button\">\n <a @click=\"close\">{{ __('auth.forget.close') }}</a>\n </div>\n </div>\n <div v-show=\"sent && message && sms\" class=\"forget-thanks-mesage schema-col\">\n <div v-html=\"message\" class=\"thanks-message\"></div>\n <div class=\"sms-code\">\n <div class=\"control\">\n <input type=\"text\" class=\"input\" v-model=\"code1\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code1 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code2\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code2 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code3\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code3 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n <input type=\"text\" class=\"input\" v-model=\"code4\" v-maska=\"'#'\" v-bind:class=\"{ 'is-filled': code4 !== '' }\" @keyup=\"codeKeyUp($event)\" @paste=\"codePaste($event)\" />\n </div>\n <p class=\"help is-danger\" v-html=\"error\" v-if=\"error\"></p>\n </div>\n <div class=\"actions-wrapper\">\n <button class=\"button\" v-bind:class=\"{ 'is-loading': loading }\" @click=\"smsReset\">{{ __('auth.forget.sms_reset_password') }}</button>\n <button class=\"button\" @click=\"more\">{{ __('auth.forget.sms_more') }}</button>\n <button class=\"button\" @click=\"remembered\">{{ __('auth.forget.remembered') }}</button>\n </div>\n </div>\n <div v-show=\"sent && error && !sms\" class=\"forget-error-mesage\">\n <div class=\"message\" v-html=\"error\"></div>\n <div class=\"mt-2\">\n <a @click=\"again\">{{ __('auth.forget.send') }}</a>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance, inject } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'forget',\n components: {\n SchemaForm\n },\n props: {\n email: {\n type: String,\n default: ''\n },\n emailOrPhone: {\n type: String,\n default: ''\n },\n forgetType: {\n type: String,\n default: 'email'\n }\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const error = ref('');\n const sent = ref(false);\n const schema = ref({});\n const model = ref({});\n const sms = ref(false);\n const code1 = ref('');\n const code2 = ref('');\n const code3 = ref('');\n const code4 = ref('');\n const instance = getCurrentInstance();\n\n const s = {\n email: {\n component: FormText,\n label: __('auth.login.form.email')\n },\n emailOrPhone: {\n component: FormText,\n label: __('auth.login.form.emailOrPhone')\n }\n };\n\n const yupValidations = {\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n emailOrPhone: yup\n .string()\n .required(__('auth.validation.required'))\n .test('test-name', __('auth.validation.emailOrPhone'), function (value) {\n const emailRegex = /^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$/;\n const phoneRegex = /^(?:\\+38)?(?:\\((044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)\\)[ .-]?[0-9]{3}[ .-]?[0-9]{2}[ .-]?[0-9]{2}|(044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)[ .-]?[0-9]{3}[ .-]?[0-9]{2}[ .-]?[0-9]{2}|(044|050|067|066|095|099|063|073|093|068|096|097|098|091|092|094)[0-9]{7})$/;\n\n let isValidEmail = emailRegex.test(value);\n let isValidPhone = phoneRegex.test(value);\n\n if (!isValidEmail && !isValidPhone) {\n return false;\n }\n\n return true;\n })\n };\n\n schema.value[props.forgetType] = s[props.forgetType];\n model.value[props.forgetType] = props[props.forgetType];\n\n let currentYupValidation = {};\n currentYupValidation[props.forgetType] = yupValidations[props.forgetType];\n\n const validation = yup.object().shape(currentYupValidation);\n\n useSchemaForm(model);\n\n const remembered = () => {\n store.commit('auth/modal', 'login');\n };\n\n const more = () => {\n sms.value = false;\n code1.value = '';\n code2.value = '';\n code3.value = '';\n code4.value = '';\n message.value = '';\n sent.value = false;\n };\n\n const again = () => {\n sent.value = false;\n };\n\n const onSubmit = () => {\n loading.value = true;\n message.value = '';\n error.value = '';\n\n store.dispatch('auth/reset', {\n credentials: model.value,\n callback: (m, isError, response) => {\n if (!isError) {\n message.value = m;\n sms.value = response?.credentials == 'phone';\n } else {\n error.value = m;\n }\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n sent.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n };\n\n const codeKeyUp = (e) => {\n const nextElement = e.target.nextElementSibling;\n const prevElement = e.target.previousElementSibling;\n const isNextElementIsInput = nextElement && nextElement.tagName === 'INPUT';\n const isPrevElementIsInput = prevElement && prevElement.tagName === 'INPUT';\n\n if (e.keyCode >= 48 && e.keyCode <= 57) {\n error.value = '';\n\n if (isNextElementIsInput) {\n nextElement.focus();\n }\n }\n\n if (e.keyCode === 8) {\n error.value = '';\n\n if (e.target.value === '') {\n if (isPrevElementIsInput) {\n prevElement.focus();\n }\n }\n }\n\n // if (e.keyCode == 37) {\n // if (isPrevElementIsInput) {\n // prevElement.focus();\n // }\n // }\n\n // if (e.keyCode == 39) {\n // if (isNextElementIsInput) {\n // nextElement.focus();\n // }\n // }\n };\n\n const codePaste = (e) => {\n e.preventDefault();\n\n const value = e.clipboardData.getData('Text');\n\n if (value.length == 4) {\n if (!isNaN(value[0]) && !isNaN(value[1]) && !isNaN(value[2]) && !isNaN(value[3])) {\n code1.value = value[0];\n code2.value = value[1];\n code3.value = value[2];\n code4.value = value[3];\n\n error.value = '';\n }\n }\n };\n\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n const smsReset = () => {\n if (code1.value === '' || code2.value === '' || code3.value === '' || code4.value === '') {\n error.value = __('auth.validation.required');\n } else {\n loading.value = true;\n error.value = '';\n\n store.dispatch('auth/resetSms', {\n credentials: {\n code: String(code1.value) + String(code2.value) + String(code3.value) + String(code4.value)\n },\n callback: (m, isError) => {\n if (!isError) {\n code1.value = '';\n code2.value = '';\n code3.value = '';\n code4.value = '';\n\n presetedResetToken.value = m.token;\n presetedResetEmail.value = m.email;\n\n store.commit('auth/modal', 'reset');\n } else {\n error.value = m.message;\n }\n },\n finally: () => {\n loading.value = false;\n key.value++;\n }\n });\n }\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n remembered,\n onSubmit,\n again,\n sent,\n message,\n error,\n close,\n sms,\n code1,\n code2,\n code3,\n code4,\n codeKeyUp,\n codePaste,\n more,\n smsReset\n };\n }\n};\n</script>"],"names":["markRaw","FormText","name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","props","email","type","String","emailOrPhone","forgetType","setup","loading","ref","store","useStore","key","message","error","sent","schema","model","sms","code1","code2","code3","code4","getCurrentInstance","s","component","label","__","yupValidations","yup","string","required","test","value","isValidEmail","isValidPhone","currentYupValidation","validation","object","shape","useSchemaForm","presetedResetToken","inject","presetedResetEmail","remembered","commit","onSubmit","dispatch","credentials","callback","m","isError","response","again","close","codeKeyUp","e","nextElement","target","nextElementSibling","prevElement","previousElementSibling","isNextElementIsInput","tagName","isPrevElementIsInput","keyCode","focus","codePaste","preventDefault","clipboardData","getData","length","isNaN","more","smsReset","code","token","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","_createBlock","schemaRowClasses","$setup","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_7","innerHTML","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","onKeyup","$event","onPaste","_hoisted_15","_hoisted_16","_hoisted_18"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),n=require("@perevorot/shop/dist/forms/FormText"),a=require("@perevorot/shop/dist/forms/FormPassword"),l=require("yup");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=i(o),s=i(n),
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),n=require("@perevorot/shop/dist/forms/FormText"),a=require("@perevorot/shop/dist/forms/FormPassword"),l=require("yup");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=i(o),s=i(n),f=i(a),d=c(l);function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var o,n,a=[],l=!0,i=!1;try{for(r=r.call(e);!(l=(o=r.next()).done)&&(a.push(o.value),!t||a.length!==t);l=!0);}catch(e){i=!0,n=e}finally{try{l||null==r.return||r.return()}finally{if(i)throw n}}return a}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return p(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return p(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}e.markRaw(s.default);var v=r.SchemaFormFactory([u.default({})]),h={props:{loginCallback:{type:Function,default:function(){}},forgetType:{type:String,default:"email"}},name:"login",components:{SchemaForm:v},setup:function(o){var n,a=e.ref(!1),l=t.useStore(),i=e.ref(0),c=e.ref({}),u=e.computed((function(){return l.getters["auth/modal"]})),p=e.ref({email:{component:s.default,label:__("auth.login.form.email"),store:"login",model:"email"},password:{component:f.default,label:__("auth.login.form.password")}}),v=d.object().shape({email:d.string().email(__("auth.validation.email")).required(__("auth.validation.required")),password:d.string().required(__("auth.validation.required"))}),h=e.ref({email:"",password:""});r.useSchemaForm(h);return m(n={loading:a,modal:u,schema:p,validation:v,reset:function(){l.commit("auth/modal","forget")},facebook:function(){window.location.href=$ziggy("auth.login.social",{provider:"facebook"})},google:function(){window.location.href=$ziggy("auth.login.social",{provider:"google"})}},"schema",p),m(n,"onSubmit",(function(){a.value=!0,l.dispatch("auth/login",{credentials:h.value,callback:function(){o.loginCallback&&o.loginCallback()},finally:function(){a.value=!1},catch:function(e){if(e.response.data&&e.response.data.errors){for(var t=0,r=Object.entries(e.response.data.errors);t<r.length;t++){var o=g(r[t],2),n=o[0],a=o[1];a[0]&&(c.value[n]=a[0])}h.value.password="",i.value++}}})})),m(n,"errors",c),m(n,"key",i),m(n,"model",h),m(n,"register",(function(){l.commit("auth/modal","registration")})),n}},b={class:"auth-login"},y={class:"title"},k={class:"href-forget-password"},_={class:"field"},w={class:"socials"},E={class:"description has-text-centered"},S={class:"buttons"},N=[e.createElementVNode("svg",{class:"icon fb-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-facebook-icon"})],-1),e.createElementVNode("span",null,"Facebook",-1)],V=[e.createElementVNode("svg",{class:"icon google-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-google-icon"})],-1),e.createElementVNode("span",null,"Google",-1)],C={class:"href-register"};h.render=function(t,r,o,n,a,l){var i=e.resolveComponent("SchemaForm"),c=e.resolveComponent("forget");return e.openBlock(),e.createElementBlock("div",b,[e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",y,e.toDisplayString(t.__("auth.login.title")),1),(e.openBlock(),e.createBlock(i,{schemaRowClasses:"field",schema:n.schema,"validation-schema":n.validation,"initial-errors":n.errors,key:n.key,onSubmit:n.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",k,[e.createElementVNode("a",{onClick:r[0]||(r[0]=function(){return n.reset&&n.reset.apply(n,arguments)})},e.toDisplayString(t.__("auth.login.forget_password")),1)]),e.createElementVNode("div",_,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":n.loading}]),type:"submit"},e.toDisplayString(t.__("auth.login.form.submit")),3)]),e.createElementVNode("div",w,[e.createElementVNode("div",E,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",S,[e.createElementVNode("a",{class:"button",onClick:r[1]||(r[1]=function(){return n.facebook&&n.facebook.apply(n,arguments)})},N),e.createElementVNode("a",{class:"button",onClick:r[2]||(r[2]=function(){return n.google&&n.google.apply(n,arguments)})},V)])]),e.createElementVNode("div",C,[e.createElementVNode("a",{onClick:r[3]||(r[3]=function(){return n.register&&n.register.apply(n,arguments)})},e.toDisplayString(t.__("auth.login.signup")),1)])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"]))],512),[[e.vShow,"login"==n.modal]]),"forget"==n.modal?(e.openBlock(),e.createBlock(c,{key:0,email:n.model.email,"forget-type":o.forgetType},null,8,["email","forget-type"])):e.createCommentVNode("v-if",!0)])},module.exports=h;
|
|
2
2
|
//# sourceMappingURL=Login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Login.js","sources":["../../../src/components/auth/Login.vue","../../../src/components/auth/Login.vue?vue&type=template&id=67850c25&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-login\">\n <div v-show=\"modal == 'login'\">\n <div class=\"title\">{{ __('auth.login.title') }}</div>\n <SchemaForm\n schemaRowClasses=\"field\"\n :schema=\"schema\"\n :validation-schema=\"validation\"\n :initial-errors=\"errors\"\n :key=\"key\"\n @submit=\"onSubmit\"\n >\n <template #afterForm>\n <div class=\"href-forget-password\">\n <a @click=\"reset\">{{ __('auth.login.forget_password') }}</a>\n </div>\n <div class=\"field\">\n <button\n class=\"button is-link\"\n type=\"submit\"\n v-bind:class=\"{ 'is-loading': loading }\"\n >{{ __('auth.login.form.submit') }}</button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">{{ __('auth.login.socials') }}</div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\">\n <svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-register\">\n <a @click=\"register\">{{ __('auth.login.signup') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n\n <forget v-if=\"modal == 'forget'\" :email=\"model.email\"></forget>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n props: {\n loginCallback: Function,\n default: () => { }\n },\n name: 'login',\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters['auth/modal']);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email'),\n store: 'login',\n model: 'email'\n },\n password: {\n component: FormPassword,\n label: __('auth.login.form.password')\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n password: yup.string().required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: '',\n password: ''\n });\n\n useSchemaForm(model);\n\n const reset = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/login', {\n credentials: model.value,\n callback: () => {\n if (props.loginCallback) {\n props.loginCallback();\n }\n },\n finally: () => {\n loading.value = false;\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n model.value.password = '';\n\n key.value++;\n }\n }\n });\n };\n\n return {\n loading,\n modal,\n schema,\n validation,\n reset,\n facebook,\n google,\n schema,\n onSubmit,\n errors,\n key,\n model,\n register\n };\n }\n};\n</script>","<template>\n <div class=\"auth-login\">\n <div v-show=\"modal == 'login'\">\n <div class=\"title\">{{ __('auth.login.title') }}</div>\n <SchemaForm\n schemaRowClasses=\"field\"\n :schema=\"schema\"\n :validation-schema=\"validation\"\n :initial-errors=\"errors\"\n :key=\"key\"\n @submit=\"onSubmit\"\n >\n <template #afterForm>\n <div class=\"href-forget-password\">\n <a @click=\"reset\">{{ __('auth.login.forget_password') }}</a>\n </div>\n <div class=\"field\">\n <button\n class=\"button is-link\"\n type=\"submit\"\n v-bind:class=\"{ 'is-loading': loading }\"\n >{{ __('auth.login.form.submit') }}</button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">{{ __('auth.login.socials') }}</div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\">\n <svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-register\">\n <a @click=\"register\">{{ __('auth.login.signup') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n\n <forget v-if=\"modal == 'forget'\" :email=\"model.email\"></forget>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n props: {\n loginCallback: Function,\n default: () => { }\n },\n name: 'login',\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters['auth/modal']);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email'),\n store: 'login',\n model: 'email'\n },\n password: {\n component: FormPassword,\n label: __('auth.login.form.password')\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n password: yup.string().required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: '',\n password: ''\n });\n\n useSchemaForm(model);\n\n const reset = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/login', {\n credentials: model.value,\n callback: () => {\n if (props.loginCallback) {\n props.loginCallback();\n }\n },\n finally: () => {\n loading.value = false;\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n model.value.password = '';\n\n key.value++;\n }\n }\n });\n };\n\n return {\n loading,\n modal,\n schema,\n validation,\n reset,\n facebook,\n google,\n schema,\n onSubmit,\n errors,\n key,\n model,\n register\n };\n }\n};\n</script>"],"names":["markRaw","FormText","SchemaForm","SchemaFormFactory","VeeValidatePlugin","props","loginCallback","Function","name","components","setup","loading","ref","store","useStore","key","errors","modal","computed","getters","schema","email","component","label","__","model","password","FormPassword","validation","yup","object","shape","string","required","useSchemaForm","reset","commit","facebook","window","location","href","$ziggy","provider","google","value","dispatch","credentials","callback","error","response","data","Object","entries","field","messages","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","_createBlock","schemaRowClasses","$setup","onSubmit","afterForm","_hoisted_3","onClick","_hoisted_4","type","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_14"],"mappings":"isDA2DAA,UAAQC,WAER,IAAMC,EAAaC,oBAAkB,CAACC,UAAkB,QAEzC,CACXC,MAAO,CACHC,cAAeC,iBACN,cAEbC,KAAM,QACNC,WAAY,CACRP,WAAAA,GAEJQ,eAAML,SACIM,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAASJ,MAAI,IACbK,EAAQC,YAAS,kBAAML,EAAMM,QAAQ,iBAErCC,EAASR,MAAI,CACfS,MAAO,CACHC,UAAWrB,UACXsB,MAAOC,GAAG,yBACVX,MAAO,QACPY,MAAO,SAEXC,SAAU,CACNJ,UAAWK,UACXJ,MAAOC,GAAG,+BAIZI,EAAaC,EAAIC,SAASC,MAAM,CAClCV,MAAOQ,EAAIG,SAASX,MAAMG,GAAG,0BAA0BS,SAAST,GAAG,6BACnEE,SAAUG,EAAIG,SAASC,SAAST,GAAG,+BAGjCC,EAAQb,MAAI,CACdS,MAAO,GACPK,SAAU,KAGdQ,gBAAcT,eAoDVd,QAAAA,EACAM,MAAAA,EACAG,OAAAA,EACAQ,WAAAA,EACAO,MAtDU,WACVtB,EAAMuB,OAAO,aAAc,WAsD3BC,SA/Ca,WACbC,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cA8CdC,OA1CW,WACXL,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,sBAyCdtB,mBArCa,WACbT,EAAQiC,OAAQ,EAEhB/B,EAAMgC,SAAS,aAAc,CACzBC,YAAarB,EAAMmB,MACnBG,SAAU,WACF1C,EAAMC,eACND,EAAMC,yBAGL,WACLK,EAAQiC,OAAQ,SAEb,SAACI,MACAA,EAAMC,SAASC,MAAQF,EAAMC,SAASC,KAAKlC,OAAQ,eACnBmC,OAAOC,QAAQJ,EAAMC,SAASC,KAAKlC,uBAAS,iBAAhEqC,OAAOC,OACXA,EAAS,KACTtC,EAAO4B,MAAMS,GAASC,EAAS,IAIvC7B,EAAMmB,MAAMlB,SAAW,GAEvBX,EAAI6B,4BAgBhB5B,aACAD,eACAU,mBAzDa,WACbZ,EAAMuB,OAAO,aAAc,gCC5GxB,uBAEQ,kBAUQ,iCAGA,kBAOA,oBACI,0CACA,cAEHmB,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAGNA,kCAAW,oBACPA,yCAAgB,2BAEpBA,iCAAM,uBAIP,2IAvC3BC,2BAAAC,oBACIF,iCACIA,2BAAAG,oBAAsBC,4CACtBC,iBACIC,iBAAiB,QAChBzC,OAAQ0C,6BACWA,8BACHA,SAChB/C,IAAK+C,MACLC,SAAQD,aAEEE,qBACP,kBAAAT,2BAAAU,GACIV,0BAAIW,sCAAOJ,yDAAUH,yCAEzBJ,2BAAAY,GACIZ,uDACU,+BAEwBO,aAD9BM,KAAK,4BAELT,qCAERJ,2BAAAc,GACId,2BAAAe,oBAA8CX,+BAC9CJ,2BAAAgB,GACIhB,gCAAS,SAAUW,sCAAOJ,gDAM1BP,gCAAS,SAAUW,sCAAOJ,gDAQlCP,2BAAAiB,GACIjB,0BAAIW,sCAAOJ,+DAAaH,iIAvC3BG,qBA6CCA,uBAAdF,uBAAkCvC,MAAOyC,QAAMzC"}
|
|
1
|
+
{"version":3,"file":"Login.js","sources":["../../../src/components/auth/Login.vue","../../../src/components/auth/Login.vue?vue&type=template&id=4c0e9204&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-login\">\n <div v-show=\"modal == 'login'\">\n <div class=\"title\">{{ __('auth.login.title') }}</div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"href-forget-password\">\n <a @click=\"reset\">{{ __('auth.login.forget_password') }}</a>\n </div>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">{{ __('auth.login.form.submit') }}</button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">{{ __('auth.login.socials') }}</div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\">\n <svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-register\">\n <a @click=\"register\">{{ __('auth.login.signup') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n\n <forget v-if=\"modal == 'forget'\" :email=\"model.email\" :forget-type=\"forgetType\"></forget>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n props: {\n loginCallback: {\n type: Function,\n default: () => { }\n },\n forgetType: {\n type: String,\n default: 'email'\n }\n },\n name: 'login',\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters['auth/modal']);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email'),\n store: 'login',\n model: 'email'\n },\n password: {\n component: FormPassword,\n label: __('auth.login.form.password')\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n password: yup.string().required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: '',\n password: ''\n });\n\n useSchemaForm(model);\n\n const reset = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/login', {\n credentials: model.value,\n callback: () => {\n if (props.loginCallback) {\n props.loginCallback();\n }\n },\n finally: () => {\n loading.value = false;\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n model.value.password = '';\n\n key.value++;\n }\n }\n });\n };\n\n return {\n loading,\n modal,\n schema,\n validation,\n reset,\n facebook,\n google,\n schema,\n onSubmit,\n errors,\n key,\n model,\n register\n };\n }\n};\n</script>","<template>\n <div class=\"auth-login\">\n <div v-show=\"modal == 'login'\">\n <div class=\"title\">{{ __('auth.login.title') }}</div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"href-forget-password\">\n <a @click=\"reset\">{{ __('auth.login.forget_password') }}</a>\n </div>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">{{ __('auth.login.form.submit') }}</button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">{{ __('auth.login.socials') }}</div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\">\n <svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-register\">\n <a @click=\"register\">{{ __('auth.login.signup') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n\n <forget v-if=\"modal == 'forget'\" :email=\"model.email\" :forget-type=\"forgetType\"></forget>\n </div>\n</template>\n<script>\nimport { ref, markRaw, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n props: {\n loginCallback: {\n type: Function,\n default: () => { }\n },\n forgetType: {\n type: String,\n default: 'email'\n }\n },\n name: 'login',\n components: {\n SchemaForm\n },\n setup(props) {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const errors = ref({});\n const modal = computed(() => store.getters['auth/modal']);\n\n const schema = ref({\n email: {\n component: FormText,\n label: __('auth.login.form.email'),\n store: 'login',\n model: 'email'\n },\n password: {\n component: FormPassword,\n label: __('auth.login.form.password')\n }\n });\n\n const validation = yup.object().shape({\n email: yup.string().email(__('auth.validation.email')).required(__('auth.validation.required')),\n password: yup.string().required(__('auth.validation.required'))\n });\n\n const model = ref({\n email: '',\n password: ''\n });\n\n useSchemaForm(model);\n\n const reset = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/login', {\n credentials: model.value,\n callback: () => {\n if (props.loginCallback) {\n props.loginCallback();\n }\n },\n finally: () => {\n loading.value = false;\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n model.value.password = '';\n\n key.value++;\n }\n }\n });\n };\n\n return {\n loading,\n modal,\n schema,\n validation,\n reset,\n facebook,\n google,\n schema,\n onSubmit,\n errors,\n key,\n model,\n register\n };\n }\n};\n</script>"],"names":["markRaw","FormText","SchemaForm","SchemaFormFactory","VeeValidatePlugin","props","loginCallback","type","Function","forgetType","String","name","components","setup","loading","ref","store","useStore","key","errors","modal","computed","getters","schema","email","component","label","__","model","password","FormPassword","validation","yup","object","shape","string","required","useSchemaForm","reset","commit","facebook","window","location","href","$ziggy","provider","google","value","dispatch","credentials","callback","error","response","data","Object","entries","field","messages","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","_createBlock","schemaRowClasses","$setup","onSubmit","afterForm","_hoisted_3","onClick","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_14","$props"],"mappings":"isDAgDAA,UAAQC,WAER,IAAMC,EAAaC,oBAAkB,CAACC,UAAkB,QAEzC,CACXC,MAAO,CACHC,cAAe,CACXC,KAAMC,iBACG,cAEbC,WAAY,CACRF,KAAMG,eACG,UAGjBC,KAAM,QACNC,WAAY,CACRV,WAAAA,GAEJW,eAAMR,SACIS,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAASJ,MAAI,IACbK,EAAQC,YAAS,kBAAML,EAAMM,QAAQ,iBAErCC,EAASR,MAAI,CACfS,MAAO,CACHC,UAAWxB,UACXyB,MAAOC,GAAG,yBACVX,MAAO,QACPY,MAAO,SAEXC,SAAU,CACNJ,UAAWK,UACXJ,MAAOC,GAAG,+BAIZI,EAAaC,EAAIC,SAASC,MAAM,CAClCV,MAAOQ,EAAIG,SAASX,MAAMG,GAAG,0BAA0BS,SAAST,GAAG,6BACnEE,SAAUG,EAAIG,SAASC,SAAST,GAAG,+BAGjCC,EAAQb,MAAI,CACdS,MAAO,GACPK,SAAU,KAGdQ,gBAAcT,eAoDVd,QAAAA,EACAM,MAAAA,EACAG,OAAAA,EACAQ,WAAAA,EACAO,MAtDU,WACVtB,EAAMuB,OAAO,aAAc,WAsD3BC,SA/Ca,WACbC,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cA8CdC,OA1CW,WACXL,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,sBAyCdtB,mBArCa,WACbT,EAAQiC,OAAQ,EAEhB/B,EAAMgC,SAAS,aAAc,CACzBC,YAAarB,EAAMmB,MACnBG,SAAU,WACF7C,EAAMC,eACND,EAAMC,yBAGL,WACLQ,EAAQiC,OAAQ,SAEb,SAACI,MACAA,EAAMC,SAASC,MAAQF,EAAMC,SAASC,KAAKlC,OAAQ,eACnBmC,OAAOC,QAAQJ,EAAMC,SAASC,KAAKlC,uBAAS,iBAAhEqC,OAAOC,OACXA,EAAS,KACTtC,EAAO4B,MAAMS,GAASC,EAAS,IAIvC7B,EAAMmB,MAAMlB,SAAW,GAEvBX,EAAI6B,4BAgBhB5B,aACAD,eACAU,mBAzDa,WACbZ,EAAMuB,OAAO,aAAc,gCCvGxB,uBAEQ,kBAGQ,iCAGA,kBAGA,oBACI,0CACA,cAEHmB,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAGNA,kCAAW,oBACPA,yCAAgB,2BAEpBA,iCAAM,uBAIP,2IA5B3BC,2BAAAC,oBACIF,iCACIA,2BAAAG,oBAAsBC,4CACtBC,iBAAYC,iBAAiB,QAASzC,OAAQ0C,6BAA4BA,8BAA6BA,SAAS/C,IAAK+C,MAAMC,SAAQD,aACpHE,qBACP,kBAAAT,2BAAAU,GACIV,0BAAIW,sCAAOJ,yDAAUH,yCAEzBJ,2BAAAY,GACIZ,uDAAc,+BAA6DO,aAA5C1D,KAAK,4BAAqDuD,qCAE7FJ,2BAAAa,GACIb,2BAAAc,oBAA8CV,+BAC9CJ,2BAAAe,GACIf,gCAAS,SAAUW,sCAAOJ,gDAM1BP,gCAAS,SAAUW,sCAAOJ,gDAQlCP,2BAAAgB,GACIhB,0BAAIW,sCAAOJ,+DAAaH,iIA5B3BG,qBAkCCA,uBAAdF,uBAAkCvC,MAAOyC,QAAMzC,oBAAqBmD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),r=require("formvuelate"),o=require("@formvuelate/plugin-vee-validate"),a=require("@perevorot/shop/dist/api"),n=require("@perevorot/shop/dist/helpers"),l=require("secure-ls");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=i(o),c=i(l);function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var o,a,n=[],l=!0,i=!1;try{for(r=r.call(e);!(l=(o=r.next()).done)&&(n.push(o.value),!t||n.length!==t);l=!0);}catch(e){i=!0,a=e}finally{try{l||null==r.return||r.return()}finally{if(i)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return m(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return m(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=new Array(t);r<t;r++)o[r]=e[r];return o}var d={name:"registration",components:{SchemaForm:r.SchemaFormFactory([s.default({})])},setup:function(){var o,l=t.useStore(),i=e.ref(!1),s=e.ref(!0),m=e.ref(0),d=e.ref({}),f=e.ref(!1),v=e.ref(""),h=e.ref({}),g=e.ref({}),p=e.ref({});r.useSchemaForm(p);return a.auth.registerForm().then((function(e){if(e.data){var t=n.formParse(e.data);o=t.model,h.value=t.schema,p.value=t.model,g.value=t.validation,v.value=e.data.type}})).finally((function(){s.value=!1})),{loading:i,loadingForm:s,key:m,errors:d,schema:h,validation:g,onSubmit:function(){i.value=!0,l.dispatch("auth/register",{type:v.value?v.value.charAt(0).toUpperCase()+v.value.slice(1):"",credentials:p.value,finally:function(){i.value=!1},callback:function(){f.value=!0,p.value=o,m.value++;var e=new c.default({isCompression:!1}),t=e.get("forms");t.registration&&(t.registration={}),e.set("forms",t)},catch:function(e){if(e.response.data&&e.response.data.errors){for(var t=0,r=Object.entries(e.response.data.errors);t<r.length;t++){var o=u(r[t],2),a=o[0],n=o[1];n[0]&&(d.value[a]=n[0])}m.value++}}})},facebook:function(){window.location.href=$ziggy("auth.login.social",{provider:"facebook"})},google:function(){window.location.href=$ziggy("auth.login.social",{provider:"google"})},thanks:f,model:p,close:function(){l.commit("auth/modal",null),l.dispatch("auth/me")},type:v,login:function(){l.commit("auth/modal","login")}}}},f={key:0,class:"auth-registration"},v={class:"title"},h={class:"field"},g={class:"socials"},p={class:"description has-text-centered"},y={class:"buttons"},b=[e.createElementVNode("svg",{class:"icon fb-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-facebook-icon"})],-1),e.createElementVNode("span",null,"Facebook",-1)],k=[e.createElementVNode("svg",{class:"icon google-btn"},[e.createElementVNode("use",{"xlink:href":"#logo-google-icon"})],-1),e.createElementVNode("span",null,"Google",-1)],E={class:"href-already-register"},N={class:"mt-3"};d.render=function(t,r,o,a,n,l){var i=e.resolveComponent("SchemaForm");return a.loadingForm?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",v,e.toDisplayString(t.__("auth.registration.title")),1),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(a.model.user_type?"is-user-type-"+a.model.user_type.replaceAll("_","-"):null)},[(e.openBlock(),e.createBlock(i,{schemaRowClasses:"field",schema:a.schema,"validation-schema":a.validation,"initial-errors":a.errors,key:a.key,onSubmit:a.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",h,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":a.loading}]),type:"submit"},e.toDisplayString(t.__("auth.registration.form.submit"+("short"==a.type?"_short":""))),3)]),e.createElementVNode("div",g,[e.createElementVNode("div",p,e.toDisplayString(t.__("auth.login.socials")),1),e.createElementVNode("div",y,[e.createElementVNode("a",{class:"button",onClick:r[0]||(r[0]=function(){return a.facebook&&a.facebook.apply(a,arguments)})},b),e.createElementVNode("a",{class:"button",onClick:r[1]||(r[1]=function(){return a.google&&a.google.apply(a,arguments)})},k)])]),e.createElementVNode("div",E,[e.createElementVNode("a",{onClick:r[2]||(r[2]=function(){return a.login&&a.login.apply(a,arguments)})},e.toDisplayString(t.__("auth.registration.already")),1)])]})),_:1},8,["schema","validation-schema","initial-errors","onSubmit"]))],2),[[e.vShow,!a.thanks]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(t.__("auth.registration.thanks"+("short"==a.type?"_short":""),{email:a.model.email})),1),e.createElementVNode("div",N,[e.createElementVNode("button",{class:"button",onClick:r[3]||(r[3]=function(){return a.close&&a.close.apply(a,arguments)})},e.toDisplayString(t.__("auth.registration.continue")),1)])],512),[[e.vShow,a.thanks]])]))},module.exports=d;
|
|
2
2
|
//# sourceMappingURL=Registration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Registration.js","sources":["../../../src/components/auth/Registration.vue","../../../src/components/auth/Registration.vue?vue&type=template&id=23c4e6c6&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"\n ><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value.charAt(0).toUpperCase() + type.value.slice(1),\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: () => {\n thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n key.value++;\n }\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>","<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"\n ><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value.charAt(0).toUpperCase() + type.value.slice(1),\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: () => {\n thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n key.value++;\n }\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>"],"names":["name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","emptyModel","store","useStore","loading","ref","loadingForm","key","errors","thanks","type","schema","validation","model","useSchemaForm","api","registerForm","then","response","form","formParse","data","value","onSubmit","dispatch","charAt","toUpperCase","slice","credentials","callback","ls","SecureLS","isCompression","forms","get","registration","set","error","Object","entries","field","messages","facebook","window","location","href","$ziggy","provider","google","close","commit","login","_createElementVNode","$setup","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","_createBlock","schemaRowClasses","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_13","_hoisted_14"],"mappings":"4wCA6DA,MAEe,CACXA,KAAM,eACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBAYQC,EAXEC,EAAQC,aACRC,EAAUC,OAAI,GACdC,EAAcD,OAAI,GAClBE,EAAMF,MAAI,GACVG,EAASH,MAAI,IACbI,EAASJ,OAAI,GACbK,EAAOL,MAAI,IACXM,EAASN,MAAI,IACbO,EAAaP,MAAI,IACjBQ,EAAQR,MAAI,IAIlBS,gBAAcD,UAiEdE,OAAIC,eACCC,MAAK,SAACC,OACGC,EAAOC,YAAUF,EAASG,MAEhCpB,EAAakB,EAAKN,MAElBF,EAAOW,MAAQH,EAAKR,OACpBE,EAAMS,MAAQH,EAAKN,MACnBD,EAAWU,MAAQH,EAAKP,WAExBF,EAAKY,MAAQJ,EAASG,KAAKX,iBAEtB,WACLJ,EAAYgB,OAAQ,KAGrB,CACHlB,QAAAA,EACAE,YAAAA,EACAC,IAAAA,EACAC,OAAAA,EACAG,OAAAA,EACAC,WAAAA,EACAW,SAtFa,WACbnB,EAAQkB,OAAQ,EAEhBpB,EAAMsB,SAAS,gBAAiB,CAC5Bd,KAAMA,EAAKY,MAAMG,OAAO,GAAGC,cAAgBhB,EAAKY,MAAMK,MAAM,GAC5DC,YAAaf,EAAMS,cACV,WACLlB,EAAQkB,OAAQ,GAEpBO,SAAU,WACNpB,EAAOa,OAAQ,EAEfT,EAAMS,MAAQrB,EAEdM,EAAIe,YAEAQ,EAAK,IAAIC,UAAS,CAClBC,eAAe,IAGfC,EAAQH,EAAGI,IAAI,SAEfD,EAAME,eACNF,EAAME,aAAe,IAGzBL,EAAGM,IAAI,QAASH,UAEb,SAACI,MACAA,EAAMnB,SAASG,MAAQgB,EAAMnB,SAASG,KAAKb,OAAQ,eACnB8B,OAAOC,QAAQF,EAAMnB,SAASG,KAAKb,uBAAS,iBAAhEgC,OAAOC,OACXA,EAAS,KACTjC,EAAOc,MAAMkB,GAASC,EAAS,IAIvClC,EAAIe,aAmDhBoB,SAxCa,WACbC,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cAuCdC,OAnCW,WACXL,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,YAkCdtC,OAAAA,EACAI,MAAAA,EACAoC,MAjDU,WACV/C,EAAMgD,OAAO,aAAc,MAC3BhD,EAAMsB,SAAS,YAgDfd,KAAAA,EACAyC,MAlCU,WACVjD,EAAMgD,OAAO,aAAc,4BC/IxB,8BACI,kBAIY,kBAKA,oBACI,0CAGA,cAEHE,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAGLA,kCAAW,oBACRA,yCAAgB,2BAEpBA,iCAAM,uBAIP,kCAcR,qFA3CmBC,6DAAtCC,2BAAAC,GACIH,2BAAAI,oBAAsBC,qDACtBL,gDACIM,iBAAYC,iBAAiB,QAAShD,OAAQ0C,6BAA4BA,8BAA6BA,SAAS9C,IAAK8C,MAAM9B,SAAQ8B,aACpHO,qBACP,kBAAAR,2BAAAS,GACIT,uDAAc,+BAA6DC,aAA5C3C,KAAK,4BAC7B+C,+CAAsCJ,2BAGjDD,2BAAAU,GACIV,2BAAAW,oBACON,+BAEPL,2BAAAY,GACIZ,gCAAS,SAAUa,sCAAOZ,gDAM1BD,gCAAS,SAAUa,sCAAOZ,gDAQlCD,2BAAAc,GACId,0BAAIa,sCAAOZ,yDAAUI,iIA5BvBJ,6BAiCdD,iCACIA,kDAEQK,0CAAiCJ,+CAKzCD,2BAAAe,GACIf,qCAAc,SAAUa,sCAAOZ,yDACxBI,yDAVFJ"}
|
|
1
|
+
{"version":3,"file":"Registration.js","sources":["../../../src/components/auth/Registration.vue","../../../src/components/auth/Registration.vue?vue&type=template&id=eb84107e&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\" v-bind:class=\"model.user_type ? 'is-user-type-' + model.user_type.replaceAll('_', '-') : null\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"\n ><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value ? type.value.charAt(0).toUpperCase() + type.value.slice(1) : '',\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: () => {\n thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n key.value++;\n }\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n if (response.data) {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n }\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>","<template>\n <div class=\"auth-registration\" v-if=\"!loadingForm\">\n <div class=\"title\">{{ __('auth.registration.title') }}</div>\n <div v-show=\"!thanks\" v-bind:class=\"model.user_type ? 'is-user-type-' + model.user_type.replaceAll('_', '-') : null\">\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :initial-errors=\"errors\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.registration.form.submit' + (type == 'short' ? '_short' : '')) }}\n </button>\n </div>\n <div class=\"socials\">\n <div class=\"description has-text-centered\">\n {{ __('auth.login.socials') }}\n </div>\n <div class=\"buttons\">\n <a class=\"button\" @click=\"facebook\">\n <svg class=\"icon fb-btn\">\n <use xlink:href=\"#logo-facebook-icon\" />\n </svg>\n <span>Facebook</span>\n </a>\n <a class=\"button\" @click=\"google\"\n ><svg class=\"icon google-btn\">\n <use xlink:href=\"#logo-google-icon\" />\n </svg>\n <span>Google</span>\n </a>\n </div>\n </div>\n <div class=\"href-already-register\">\n <a @click=\"login\">{{ __('auth.registration.already') }}</a>\n </div>\n </template>\n </SchemaForm>\n </div>\n <div v-show=\"thanks\">\n <div>\n {{\n __('auth.registration.thanks' + (type == 'short' ? '_short' : ''), {\n email: model.email\n })\n }}\n </div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.registration.continue') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport { auth as api } from '@perevorot/shop/dist/api';\nimport { formParse } from '@perevorot/shop/dist/helpers';\nimport SecureLS from 'secure-ls';\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'registration',\n components: {\n SchemaForm\n },\n setup() {\n const store = useStore();\n const loading = ref(false);\n const loadingForm = ref(true);\n const key = ref(0);\n const errors = ref({});\n const thanks = ref(false);\n const type = ref('');\n const schema = ref({});\n const validation = ref({});\n const model = ref({});\n\n let emptyModel;\n\n useSchemaForm(model);\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/register', {\n type: type.value ? type.value.charAt(0).toUpperCase() + type.value.slice(1) : '',\n credentials: model.value,\n finally: () => {\n loading.value = false;\n },\n callback: () => {\n thanks.value = true;\n\n model.value = emptyModel;\n\n key.value++;\n\n let ls = new SecureLS({\n isCompression: false\n });\n\n let forms = ls.get('forms');\n\n if (forms.registration) {\n forms.registration = {};\n }\n\n ls.set('forms', forms);\n },\n catch: (error) => {\n if (error.response.data && error.response.data.errors) {\n for (const [field, messages] of Object.entries(error.response.data.errors)) {\n if (messages[0]) {\n errors.value[field] = messages[0];\n }\n }\n\n key.value++;\n }\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const facebook = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'facebook'\n });\n };\n\n const google = () => {\n window.location.href = $ziggy('auth.login.social', {\n provider: 'google'\n });\n };\n\n const login = () => {\n store.commit('auth/modal', 'login');\n };\n\n api.registerForm()\n .then((response) => {\n if (response.data) {\n const form = formParse(response.data);\n\n emptyModel = form.model;\n\n schema.value = form.schema;\n model.value = form.model;\n validation.value = form.validation;\n\n type.value = response.data.type;\n }\n })\n .finally(() => {\n loadingForm.value = false;\n });\n\n return {\n loading,\n loadingForm,\n key,\n errors,\n schema,\n validation,\n onSubmit,\n facebook,\n google,\n thanks,\n model,\n close,\n type,\n login\n };\n }\n};\n</script>"],"names":["name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","emptyModel","store","useStore","loading","ref","loadingForm","key","errors","thanks","type","schema","validation","model","useSchemaForm","api","registerForm","then","response","data","form","formParse","value","onSubmit","dispatch","charAt","toUpperCase","slice","credentials","callback","ls","SecureLS","isCompression","forms","get","registration","set","error","Object","entries","field","messages","facebook","window","location","href","$ziggy","provider","google","close","commit","login","_createElementVNode","$setup","_createElementBlock","_hoisted_1","_hoisted_2","_ctx","user_type","replaceAll","_createBlock","schemaRowClasses","afterForm","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","onClick","_hoisted_13","_hoisted_14"],"mappings":"4wCA6DA,MAEe,CACXA,KAAM,eACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBAYQC,EAXEC,EAAQC,aACRC,EAAUC,OAAI,GACdC,EAAcD,OAAI,GAClBE,EAAMF,MAAI,GACVG,EAASH,MAAI,IACbI,EAASJ,OAAI,GACbK,EAAOL,MAAI,IACXM,EAASN,MAAI,IACbO,EAAaP,MAAI,IACjBQ,EAAQR,MAAI,IAIlBS,gBAAcD,UAiEdE,OAAIC,eACCC,MAAK,SAACC,MACCA,EAASC,KAAM,KACTC,EAAOC,YAAUH,EAASC,MAEhClB,EAAamB,EAAKP,MAElBF,EAAOW,MAAQF,EAAKT,OACpBE,EAAMS,MAAQF,EAAKP,MACnBD,EAAWU,MAAQF,EAAKR,WAExBF,EAAKY,MAAQJ,EAASC,KAAKT,kBAG1B,WACLJ,EAAYgB,OAAQ,KAGrB,CACHlB,QAAAA,EACAE,YAAAA,EACAC,IAAAA,EACAC,OAAAA,EACAG,OAAAA,EACAC,WAAAA,EACAW,SAxFa,WACbnB,EAAQkB,OAAQ,EAEhBpB,EAAMsB,SAAS,gBAAiB,CAC5Bd,KAAMA,EAAKY,MAAQZ,EAAKY,MAAMG,OAAO,GAAGC,cAAgBhB,EAAKY,MAAMK,MAAM,GAAK,GAC9EC,YAAaf,EAAMS,cACV,WACLlB,EAAQkB,OAAQ,GAEpBO,SAAU,WACNpB,EAAOa,OAAQ,EAEfT,EAAMS,MAAQrB,EAEdM,EAAIe,YAEAQ,EAAK,IAAIC,UAAS,CAClBC,eAAe,IAGfC,EAAQH,EAAGI,IAAI,SAEfD,EAAME,eACNF,EAAME,aAAe,IAGzBL,EAAGM,IAAI,QAASH,UAEb,SAACI,MACAA,EAAMnB,SAASC,MAAQkB,EAAMnB,SAASC,KAAKX,OAAQ,eACnB8B,OAAOC,QAAQF,EAAMnB,SAASC,KAAKX,uBAAS,iBAAhEgC,OAAOC,OACXA,EAAS,KACTjC,EAAOc,MAAMkB,GAASC,EAAS,IAIvClC,EAAIe,aAqDhBoB,SA1Ca,WACbC,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,cAyCdC,OArCW,WACXL,OAAOC,SAASC,KAAOC,OAAO,oBAAqB,CAC/CC,SAAU,YAoCdtC,OAAAA,EACAI,MAAAA,EACAoC,MAnDU,WACV/C,EAAMgD,OAAO,aAAc,MAC3BhD,EAAMsB,SAAS,YAkDfd,KAAAA,EACAyC,MApCU,WACVjD,EAAMgD,OAAO,aAAc,4BC/IxB,8BACI,kBAIY,kBAKA,oBACI,0CAGA,cAEHE,kCAAW,gBACPA,yCAAgB,6BAEpBA,iCAAM,mBAGLA,kCAAW,oBACRA,yCAAgB,2BAEpBA,iCAAM,uBAIP,kCAcR,qFA3CmBC,6DAAtCC,2BAAAC,GACIH,2BAAAI,oBAAsBC,qDACtBL,mDAAoCC,QAAMK,0BAA8BL,QAAMK,UAAUC,2CACpFC,iBAAYC,iBAAiB,QAASlD,OAAQ0C,6BAA4BA,8BAA6BA,SAAS9C,IAAK8C,MAAM9B,SAAQ8B,aACpHS,qBACP,kBAAAV,2BAAAW,GACIX,uDAAc,+BAA6DC,aAA5C3C,KAAK,4BAC7B+C,+CAAsCJ,2BAGjDD,2BAAAY,GACIZ,2BAAAa,oBACOR,+BAEPL,2BAAAc,GACId,gCAAS,SAAUe,sCAAOd,gDAM1BD,gCAAS,SAAUe,sCAAOd,gDAQlCD,2BAAAgB,GACIhB,0BAAIe,sCAAOd,yDAAUI,+HA5BvBJ,6BAiCdD,iCACIA,kDAEQK,0CAAiCJ,+CAKzCD,2BAAAiB,GACIjB,qCAAc,SAAUe,sCAAOd,yDACxBI,yDAVFJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),a=require("formvuelate"),
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),a=require("formvuelate"),n=require("@formvuelate/plugin-vee-validate"),o=require("@perevorot/shop/dist/forms/FormText"),r=require("@perevorot/shop/dist/forms/FormPassword"),i=require("yup");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var c=l(n),u=l(o),m=l(r),d=s(i);e.markRaw(m.default),e.markRaw(u.default);var p={name:"reset",components:{SchemaForm:a.SchemaFormFactory([c.default({})])},setup:function(){var n=e.ref(!1),o=t.useStore(),r=e.ref(0),i=e.ref(""),l=e.ref(!1),s=e.getCurrentInstance(),c=e.inject("presetedResetToken"),p=e.inject("presetedResetEmail");e.watch(c,(function(e){e&&(h.value.token=e)})),e.watch(p,(function(e){e&&(h.value.email=e)}));var f=e.ref({password:{component:m.default,label:__("auth.login.form.password"),type:"password"},password_confirmation:{component:u.default,label:__("auth.login.form.password_confirmation"),type:"password"}}),v=d.object().shape({password:d.string().min(6,__("auth.validation.min")).required(__("auth.validation.required")),password_confirmation:d.string().oneOf([d.ref("password"),null],__("auth.validation.password_confirmation"))}),h=e.ref({password:"",password_confirmation:"",token:s.parent.props.resetToken,email:s.parent.props.resetEmail});a.useSchemaForm(h);return{loading:n,key:r,schema:f,validation:v,onSubmit:function(){n.value=!0,o.dispatch("auth/passwordUpdate",{credentials:h.value,callback:function(e,t){i.value=e},finally:function(){h.value={},n.value=!1,l.value=!0,r.value++}})},reseted:l,message:i,cancel:function(){o.commit("auth/modal","login")},again:function(){o.commit("auth/modal","forget")},close:function(){o.commit("auth/modal",null),o.dispatch("auth/me")},presetedResetToken:c,presetedResetEmail:p}}},f={class:"form auth-reset"},v={class:"title"},h={key:0},_=["innerHTML"],k={class:"field"},g={class:"columns is-vcentered"},b={class:"column"},w={class:"mt-3"},y={key:1},E={class:"mt-3"},S={class:"mt-3"};p.render=function(t,a,n,o,r,i){var l=e.resolveComponent("SchemaForm");return e.openBlock(),e.createElementBlock("div",f,[e.createElementVNode("div",v,e.toDisplayString(t.__("auth.reset.title")),1),e.withDirectives(e.createElementVNode("div",null,[t.$parent.tokenValid||o.presetedResetToken?(e.openBlock(),e.createElementBlock("div",h,[e.createElementVNode("div",{class:"mb-3",innerHTML:t.__("auth.reset.info",{email:t.$parent.resetEmail||o.presetedResetEmail})},null,8,_),(e.openBlock(),e.createBlock(l,{schemaRowClasses:"field",schema:o.schema,"validation-schema":o.validation,key:o.key,onSubmit:o.onSubmit},{afterForm:e.withCtx((function(){return[e.createElementVNode("div",k,[e.createElementVNode("div",g,[e.createElementVNode("div",b,[e.createElementVNode("button",{class:e.normalizeClass(["button is-link",{"is-loading":o.loading}]),type:"submit"},e.toDisplayString(t.__("auth.reset.form.submit")),3)])])])]})),_:1},8,["schema","validation-schema","onSubmit"])),e.createElementVNode("div",w,[e.createElementVNode("button",{class:"button",onClick:a[0]||(a[0]=function(){return o.cancel&&o.cancel.apply(o,arguments)})},e.toDisplayString(t.__("auth.reset.cancel")),1)])])):(e.openBlock(),e.createElementBlock("div",y,[e.createElementVNode("p",null,e.toDisplayString(t.__("auth.reset.token-not-valid")),1),e.createElementVNode("div",E,[e.createElementVNode("button",{class:"button",onClick:a[1]||(a[1]=function(){return o.again&&o.again.apply(o,arguments)})},e.toDisplayString(t.__("auth.reset.again")),1)])]))],512),[[e.vShow,!o.reseted]]),e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(o.message),1),e.createElementVNode("div",S,[e.createElementVNode("button",{class:"button",onClick:a[2]||(a[2]=function(){return o.close&&o.close.apply(o,arguments)})},e.toDisplayString(t.__("auth.reset.close")),1)])],512),[[e.vShow,o.reseted]])])},module.exports=p;
|
|
2
2
|
//# sourceMappingURL=Reset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reset.js","sources":["../../../src/components/auth/Reset.vue","../../../src/components/auth/Reset.vue?vue&type=template&id=e1e7a78c&lang.js"],"sourcesContent":["<template>\n <div class=\"form auth-reset\">\n <div class=\"title\">{{ __('auth.reset.title') }}</div>\n <div v-show=\"!reseted\">\n <div v-if=\"$parent.tokenValid\">\n <div class=\"mb-3\">\n {{\n __('auth.reset.info', {\n email: $parent.resetEmail\n })\n }}\n </div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.reset.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">\n {{ __('auth.reset.cancel') }}\n </button>\n </div>\n </div>\n <div v-else>\n <p>{{ __('auth.reset.token-not-valid') }}</p>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"again\">\n {{ __('auth.reset.again') }}\n </button>\n </div>\n </div>\n </div>\n <div v-show=\"reseted\">\n <div>{{ message }}</div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.reset.close') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormPassword);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'reset',\n components: {\n SchemaForm\n },\n setup() {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const reseted = ref(false);\n const instance = getCurrentInstance();\n\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password'\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password'\n }\n });\n\n const validation = yup.object().shape({\n password: yup.string().min(6, __('auth.validation.min')).required(__('auth.validation.required')),\n password_confirmation: yup.string().oneOf([yup.ref('password'), null], __('auth.validation.password_confirmation'))\n });\n\n const model = ref({\n password: '',\n password_confirmation: '',\n token: instance.parent.props.resetToken,\n email: instance.parent.props.resetEmail\n });\n\n useSchemaForm(model);\n\n const cancel = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/passwordUpdate', {\n credentials: model.value,\n callback: (m, isError) => {\n message.value = m;\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n reseted.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n onSubmit,\n reseted,\n message,\n cancel,\n again,\n close\n };\n }\n};\n</script>","<template>\n <div class=\"form auth-reset\">\n <div class=\"title\">{{ __('auth.reset.title') }}</div>\n <div v-show=\"!reseted\">\n <div v-if=\"$parent.tokenValid\">\n <div class=\"mb-3\">\n {{\n __('auth.reset.info', {\n email: $parent.resetEmail\n })\n }}\n </div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.reset.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">\n {{ __('auth.reset.cancel') }}\n </button>\n </div>\n </div>\n <div v-else>\n <p>{{ __('auth.reset.token-not-valid') }}</p>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"again\">\n {{ __('auth.reset.again') }}\n </button>\n </div>\n </div>\n </div>\n <div v-show=\"reseted\">\n <div>{{ message }}</div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.reset.close') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormPassword);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'reset',\n components: {\n SchemaForm\n },\n setup() {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const reseted = ref(false);\n const instance = getCurrentInstance();\n\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password'\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password'\n }\n });\n\n const validation = yup.object().shape({\n password: yup.string().min(6, __('auth.validation.min')).required(__('auth.validation.required')),\n password_confirmation: yup.string().oneOf([yup.ref('password'), null], __('auth.validation.password_confirmation'))\n });\n\n const model = ref({\n password: '',\n password_confirmation: '',\n token: instance.parent.props.resetToken,\n email: instance.parent.props.resetEmail\n });\n\n useSchemaForm(model);\n\n const cancel = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/passwordUpdate', {\n credentials: model.value,\n callback: (m, isError) => {\n message.value = m;\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n reseted.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n onSubmit,\n reseted,\n message,\n cancel,\n again,\n close\n };\n }\n};\n</script>"],"names":["markRaw","FormPassword","FormText","name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","loading","ref","store","useStore","key","message","reseted","instance","getCurrentInstance","schema","password","component","label","__","type","password_confirmation","validation","yup","object","shape","string","min","required","oneOf","model","token","parent","props","resetToken","email","resetEmail","useSchemaForm","onSubmit","value","dispatch","credentials","callback","m","isError","cancel","commit","again","close","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","tokenValid","_hoisted_4","_createBlock","schemaRowClasses","$setup","afterForm","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","onClick","_hoisted_10","_hoisted_11"],"mappings":"ynBA2DAA,UAAQC,WACRD,UAAQE,WAER,MAEe,CACXC,KAAM,QACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBACUC,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAAUJ,MAAI,IACdK,EAAUL,OAAI,GACdM,EAAWC,uBAEXC,EAASR,MAAI,CACfS,SAAU,CACNC,UAAWnB,UACXoB,MAAOC,GAAG,4BACVC,KAAM,YAEVC,sBAAuB,CACnBJ,UAAWlB,UACXmB,MAAOC,GAAG,yCACVC,KAAM,cAIRE,EAAaC,EAAIC,SAASC,MAAM,CAClCT,SAAUO,EAAIG,SAASC,IAAI,EAAGR,GAAG,wBAAwBS,SAAST,GAAG,6BACrEE,sBAAuBE,EAAIG,SAASG,MAAM,CAACN,EAAIhB,IAAI,YAAa,MAAOY,GAAG,4CAGxEW,EAAQvB,MAAI,CACdS,SAAU,GACVK,sBAAuB,GACvBU,MAAOlB,EAASmB,OAAOC,MAAMC,WAC7BC,MAAOtB,EAASmB,OAAOC,MAAMG,aAGjCC,gBAAcP,SAgCP,CACHxB,QAAAA,EACAI,IAAAA,EACAK,OAAAA,EACAO,WAAAA,EACAgB,SA3Ba,WACbhC,EAAQiC,OAAQ,EAEhB/B,EAAMgC,SAAS,sBAAuB,CAClCC,YAAaX,EAAMS,MACnBG,SAAU,SAACC,EAAGC,GACVjC,EAAQ4B,MAAQI,WAEX,WACLb,EAAMS,MAAQ,GACdjC,EAAQiC,OAAQ,EAChB3B,EAAQ2B,OAAQ,EAChB7B,EAAI6B,YAgBZ3B,QAAAA,EACAD,QAAAA,EACAkC,OAtCW,WACXrC,EAAMsC,OAAO,aAAc,UAsC3BC,MAnCU,WACVvC,EAAMsC,OAAO,aAAc,WAmC3BE,MAfU,WACVxC,EAAMsC,OAAO,aAAc,MAC3BtC,EAAMgC,SAAS,wBClIZ,4BACI,4BAGQ,iBASQ,kBACI,iCACI,mBAShB,2BAQA,iBASJ,mGAzCnBS,2BAAAC,GACIC,2BAAAC,oBAAsBC,8CACtBF,iCACeE,UAAQC,0BAAnBL,8BACIE,2BAAAI,oBAEQF,wEAKRG,iBAAYC,iBAAiB,QAAS1C,OAAQ2C,6BAA4BA,aAAahD,IAAKgD,MAAMpB,SAAQoB,aAC3FC,qBACP,kBAAAR,2BAAAS,GACIT,2BAAAU,GACIV,2BAAAW,GACIX,uDAAc,+BAA6DO,aAA5CtC,KAAK,4BAC7BiC,gGAO3BF,2BAAAY,GACIZ,qCAAc,SAAUa,sCAAON,2DACxBL,kDAIfJ,8BACIE,gDAAME,uCACNF,2BAAAc,GACId,qCAAc,SAAUa,sCAAON,yDACxBL,mDAhCLK,8BAqCdP,iCACIA,kDAAQO,cACRP,2BAAAe,GACIf,qCAAc,SAAUa,sCAAON,yDACxBL,+CAJFK"}
|
|
1
|
+
{"version":3,"file":"Reset.js","sources":["../../../src/components/auth/Reset.vue","../../../src/components/auth/Reset.vue?vue&type=template&id=20efd33a&lang.js"],"sourcesContent":["<template>\n <div class=\"form auth-reset\">\n <div class=\"title\">{{ __('auth.reset.title') }}</div>\n <div v-show=\"!reseted\">\n <div v-if=\"$parent.tokenValid || presetedResetToken\">\n <div class=\"mb-3\" v-html=\"__('auth.reset.info', { email: $parent.resetEmail || presetedResetEmail })\"></div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.reset.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">\n {{ __('auth.reset.cancel') }}\n </button>\n </div>\n </div>\n <div v-else>\n <p>{{ __('auth.reset.token-not-valid') }}</p>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"again\">\n {{ __('auth.reset.again') }}\n </button>\n </div>\n </div>\n </div>\n <div v-show=\"reseted\">\n <div>{{ message }}</div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.reset.close') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance, inject, watch } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormPassword);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'reset',\n components: {\n SchemaForm\n },\n setup() {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const reseted = ref(false);\n const instance = getCurrentInstance();\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n watch(presetedResetToken, (value) => {\n if (value) {\n model.value.token = value;\n }\n });\n\n watch(presetedResetEmail, (value) => {\n if (value) {\n model.value.email = value;\n }\n });\n\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password'\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password'\n }\n });\n\n const validation = yup.object().shape({\n password: yup.string().min(6, __('auth.validation.min')).required(__('auth.validation.required')),\n password_confirmation: yup.string().oneOf([yup.ref('password'), null], __('auth.validation.password_confirmation'))\n });\n\n const model = ref({\n password: '',\n password_confirmation: '',\n token: instance.parent.props.resetToken,\n email: instance.parent.props.resetEmail\n });\n\n useSchemaForm(model);\n\n const cancel = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/passwordUpdate', {\n credentials: model.value,\n callback: (m, isError) => {\n message.value = m;\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n reseted.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n onSubmit,\n reseted,\n message,\n cancel,\n again,\n close,\n presetedResetToken,\n presetedResetEmail\n };\n }\n};\n</script>","<template>\n <div class=\"form auth-reset\">\n <div class=\"title\">{{ __('auth.reset.title') }}</div>\n <div v-show=\"!reseted\">\n <div v-if=\"$parent.tokenValid || presetedResetToken\">\n <div class=\"mb-3\" v-html=\"__('auth.reset.info', { email: $parent.resetEmail || presetedResetEmail })\"></div>\n <SchemaForm schemaRowClasses=\"field\" :schema=\"schema\" :validation-schema=\"validation\" :key=\"key\" @submit=\"onSubmit\">\n <template #afterForm>\n <div class=\"field\">\n <div class=\"columns is-vcentered\">\n <div class=\"column\">\n <button class=\"button is-link\" type=\"submit\" v-bind:class=\"{ 'is-loading': loading }\">\n {{ __('auth.reset.form.submit') }}\n </button>\n </div>\n </div>\n </div>\n </template>\n </SchemaForm>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"cancel\">\n {{ __('auth.reset.cancel') }}\n </button>\n </div>\n </div>\n <div v-else>\n <p>{{ __('auth.reset.token-not-valid') }}</p>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"again\">\n {{ __('auth.reset.again') }}\n </button>\n </div>\n </div>\n </div>\n <div v-show=\"reseted\">\n <div>{{ message }}</div>\n <div class=\"mt-3\">\n <button class=\"button\" @click=\"close\">\n {{ __('auth.reset.close') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { ref, markRaw, getCurrentInstance, inject, watch } from 'vue';\nimport { useStore } from 'vuex';\nimport { SchemaFormFactory, useSchemaForm } from 'formvuelate';\nimport VeeValidatePlugin from '@formvuelate/plugin-vee-validate';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport * as yup from 'yup';\n\nmarkRaw(FormPassword);\nmarkRaw(FormText);\n\nconst SchemaForm = SchemaFormFactory([VeeValidatePlugin({})]);\n\nexport default {\n name: 'reset',\n components: {\n SchemaForm\n },\n setup() {\n const loading = ref(false);\n const store = useStore();\n const key = ref(0);\n const message = ref('');\n const reseted = ref(false);\n const instance = getCurrentInstance();\n const presetedResetToken = inject('presetedResetToken');\n const presetedResetEmail = inject('presetedResetEmail');\n\n watch(presetedResetToken, (value) => {\n if (value) {\n model.value.token = value;\n }\n });\n\n watch(presetedResetEmail, (value) => {\n if (value) {\n model.value.email = value;\n }\n });\n\n const schema = ref({\n password: {\n component: FormPassword,\n label: __('auth.login.form.password'),\n type: 'password'\n },\n password_confirmation: {\n component: FormText,\n label: __('auth.login.form.password_confirmation'),\n type: 'password'\n }\n });\n\n const validation = yup.object().shape({\n password: yup.string().min(6, __('auth.validation.min')).required(__('auth.validation.required')),\n password_confirmation: yup.string().oneOf([yup.ref('password'), null], __('auth.validation.password_confirmation'))\n });\n\n const model = ref({\n password: '',\n password_confirmation: '',\n token: instance.parent.props.resetToken,\n email: instance.parent.props.resetEmail\n });\n\n useSchemaForm(model);\n\n const cancel = () => {\n store.commit('auth/modal', 'login');\n };\n\n const again = () => {\n store.commit('auth/modal', 'forget');\n };\n\n const onSubmit = () => {\n loading.value = true;\n\n store.dispatch('auth/passwordUpdate', {\n credentials: model.value,\n callback: (m, isError) => {\n message.value = m;\n },\n finally: () => {\n model.value = {};\n loading.value = false;\n reseted.value = true;\n key.value++;\n }\n });\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n return {\n loading,\n key,\n schema,\n validation,\n onSubmit,\n reseted,\n message,\n cancel,\n again,\n close,\n presetedResetToken,\n presetedResetEmail\n };\n }\n};\n</script>"],"names":["markRaw","FormPassword","FormText","name","components","SchemaForm","SchemaFormFactory","VeeValidatePlugin","setup","loading","ref","store","useStore","key","message","reseted","instance","getCurrentInstance","presetedResetToken","inject","presetedResetEmail","watch","value","model","token","email","schema","password","component","label","__","type","password_confirmation","validation","yup","object","shape","string","min","required","oneOf","parent","props","resetToken","resetEmail","useSchemaForm","onSubmit","dispatch","credentials","callback","m","isError","cancel","commit","again","close","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_ctx","tokenValid","$setup","innerHTML","_createBlock","schemaRowClasses","afterForm","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","onClick","_hoisted_10","_hoisted_11"],"mappings":"ynBAqDAA,UAAQC,WACRD,UAAQE,WAER,MAEe,CACXC,KAAM,QACNC,WAAY,CACRC,WALWC,oBAAkB,CAACC,UAAkB,OAOpDC,qBACUC,EAAUC,OAAI,GACdC,EAAQC,aACRC,EAAMH,MAAI,GACVI,EAAUJ,MAAI,IACdK,EAAUL,OAAI,GACdM,EAAWC,uBACXC,EAAqBC,SAAO,sBAC5BC,EAAqBD,SAAO,sBAElCE,QAAMH,GAAoB,SAACI,GACnBA,IACAC,EAAMD,MAAME,MAAQF,MAI5BD,QAAMD,GAAoB,SAACE,GACnBA,IACAC,EAAMD,MAAMG,MAAQH,UAItBI,EAAShB,MAAI,CACfiB,SAAU,CACNC,UAAW3B,UACX4B,MAAOC,GAAG,4BACVC,KAAM,YAEVC,sBAAuB,CACnBJ,UAAW1B,UACX2B,MAAOC,GAAG,yCACVC,KAAM,cAIRE,EAAaC,EAAIC,SAASC,MAAM,CAClCT,SAAUO,EAAIG,SAASC,IAAI,EAAGR,GAAG,wBAAwBS,SAAST,GAAG,6BACrEE,sBAAuBE,EAAIG,SAASG,MAAM,CAACN,EAAIxB,IAAI,YAAa,MAAOoB,GAAG,4CAGxEP,EAAQb,MAAI,CACdiB,SAAU,GACVK,sBAAuB,GACvBR,MAAOR,EAASyB,OAAOC,MAAMC,WAC7BlB,MAAOT,EAASyB,OAAOC,MAAME,aAGjCC,gBAActB,SAgCP,CACHd,QAAAA,EACAI,IAAAA,EACAa,OAAAA,EACAO,WAAAA,EACAa,SA3Ba,WACbrC,EAAQa,OAAQ,EAEhBX,EAAMoC,SAAS,sBAAuB,CAClCC,YAAazB,EAAMD,MACnB2B,SAAU,SAACC,EAAGC,GACVrC,EAAQQ,MAAQ4B,WAEX,WACL3B,EAAMD,MAAQ,GACdb,EAAQa,OAAQ,EAChBP,EAAQO,OAAQ,EAChBT,EAAIS,YAgBZP,QAAAA,EACAD,QAAAA,EACAsC,OAtCW,WACXzC,EAAM0C,OAAO,aAAc,UAsC3BC,MAnCU,WACV3C,EAAM0C,OAAO,aAAc,WAmC3BE,MAfU,WACV5C,EAAM0C,OAAO,aAAc,MAC3B1C,EAAMoC,SAAS,YAcf7B,mBAAAA,EACAE,mBAAAA,cCzJG,4BACI,4CAMgB,kBACI,iCACI,mBAShB,2BAQA,iBASJ,mGAnCnBoC,2BAAAC,GACIC,2BAAAC,oBAAsBC,8CACtBF,iCACeE,UAAQC,YAAcC,oCAAjCN,8BACIE,kCAAW,OAAOK,UAAQH,8BAA+BA,UAAQhB,YAAckB,iDAC/EE,iBAAYC,iBAAiB,QAASvC,OAAQoC,6BAA4BA,aAAajD,IAAKiD,MAAMhB,SAAQgB,aAC3FI,qBACP,kBAAAR,2BAAAS,GACIT,2BAAAU,GACIV,2BAAAW,GACIX,uDAAc,+BAA6DI,aAA5C/B,KAAK,4BAC7B6B,gGAO3BF,2BAAAY,GACIZ,qCAAc,SAAUa,sCAAOT,2DACxBF,kDAIfJ,8BACIE,gDAAME,uCACNF,2BAAAc,GACId,qCAAc,SAAUa,sCAAOT,yDACxBF,mDA1BLE,8BA+BdJ,iCACIA,kDAAQI,cACRJ,2BAAAe,GACIf,qCAAc,SAAUa,sCAAOT,yDACxBF,+CAJFE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),o={name:"user",props:{resetToken:{type:String,default:""},resetEmail:{type:String,default:""},tokenValid:{type:Boolean,default:!1}},setup:function(o){var n=t.useStore(),l=e.computed((function(){return n.getters["auth/me"]})),
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),o={name:"user",props:{resetToken:{type:String,default:""},resetEmail:{type:String,default:""},tokenValid:{type:Boolean,default:!1},forgetType:{type:String,default:"email"}},setup:function(o){var n=t.useStore(),l=e.computed((function(){return n.getters["auth/me"]})),r=e.computed((function(){return n.getters["auth/modal"]})),a=e.computed((function(){return Object.keys(l.value).length>0})),c=e.ref(!1),s=e.computed((function(){return n.getters["auth/account"]})),i=e.ref(""),u=e.ref("");e.provide("presetedResetToken",i),e.provide("presetedResetEmail",u);var d=function(){n.commit("auth/modal",null),n.dispatch("auth/me")};return n.dispatch("auth/me",{finally:function(){c.value=!0}}),window.addEventListener("keyup",(function(e){r.value&&"Escape"===e.key&&d()})),o.resetToken&&n.commit("auth/modal","reset"),{mounted:c,user:l,logged:a,modal:r,open:function(){n.commit("auth/modal","login")},close:d,register:function(){n.commit("auth/modal","registration")},logout:function(){n.dispatch("auth/logout")},routes:s}}},n={key:0,class:"auth-user"},l={class:"modal-content"},r=[e.createElementVNode("svg",{class:"icon close"},[e.createElementVNode("use",{"xlink:href":"#close"})],-1)],a={class:"box"},c={class:"tabs"},s={key:1,class:"auth-user is-logged"},i={class:"dropdown is-right is-hoverable"},u={class:"dropdown-trigger"},d=["href"],m=e.createElementVNode("i",{class:"fas fa-user"},null,-1),p=e.createElementVNode("span",{class:"icon is-small"},[e.createElementVNode("i",{class:"fas fa-angle-down","aria-hidden":"true"})],-1),g={class:"dropdown-menu",role:"menu"},f={class:"dropdown-content"},k=["href"],v={key:0,class:"icon"},E=["xlink:href"],h={key:1,class:"badge"},V={key:1,class:"dropdown-divider"},N=e.createElementVNode("hr",{class:"dropdown-divider"},null,-1),y=e.createElementVNode("svg",{class:"icon"},[e.createElementVNode("use",{"xlink:href":"#icon-logout"})],-1);o.render=function(t,o,B,C,S,w){var b=e.resolveComponent("login"),x=e.resolveComponent("registration"),_=e.resolveComponent("reset");return C.mounted&&!C.logged?(e.openBlock(),e.createElementBlock("div",n,[e.renderSlot(t.$slots,"login",{open:C.open,label:t.__("auth.login.login")},(function(){return[e.createElementVNode("a",{class:"button",onClick:o[0]||(o[0]=function(){return C.open&&C.open.apply(C,arguments)})},e.toDisplayString(t.__("auth.login.login")),1)]})),e.createElementVNode("div",{class:e.normalizeClass(["modal",{"is-active":C.modal}])},[e.createElementVNode("div",{class:"modal-background",onClick:o[1]||(o[1]=function(){return C.close&&C.close.apply(C,arguments)})}),e.createElementVNode("div",l,[e.createElementVNode("button",{class:"modal-close is-large",onClick:o[2]||(o[2]=function(){return C.close&&C.close.apply(C,arguments)})},r),e.createElementVNode("div",a,[e.renderSlot(t.$slots,"hero"),e.createElementVNode("div",c,[e.createElementVNode("ul",null,[e.createElementVNode("li",{class:e.normalizeClass({"is-active":"login"==C.modal||"forget"==C.modal})},[e.createElementVNode("a",{onClick:o[3]||(o[3]=function(){return C.open&&C.open.apply(C,arguments)})},e.toDisplayString(t.__("auth.login.login")),1)],2),e.createElementVNode("li",{class:e.normalizeClass({"is-active":"registration"==C.modal}),onClick:o[4]||(o[4]=function(){return C.register&&C.register.apply(C,arguments)})},[e.createElementVNode("a",null,e.toDisplayString(t.__("auth.login.signup")),1)],2)])]),(e.openBlock(),e.createBlock(e.KeepAlive,null,["login"==C.modal||"forget"==C.modal?(e.openBlock(),e.createBlock(b,{key:0,"forget-type":B.forgetType},null,8,["forget-type"])):e.createCommentVNode("v-if",!0)],1024)),(e.openBlock(),e.createBlock(e.KeepAlive,null,["registration"==C.modal?(e.openBlock(),e.createBlock(x,{key:0})):e.createCommentVNode("v-if",!0)],1024)),e.withDirectives(e.createVNode(_,null,null,512),[[e.vShow,"reset"==C.modal]])])])],2)])):C.mounted?(e.openBlock(),e.createElementBlock("div",s,[e.createElementVNode("div",i,[e.createElementVNode("div",u,[e.createElementVNode("a",{class:"button",href:C.routes[0].path},[e.renderSlot(t.$slots,"user",{user:C.user.name?C.user.name:C.user.email},(function(){return[e.createElementVNode("span",null,[m,e.createTextVNode(" "+e.toDisplayString(C.user.name?C.user.name:C.user.email),1)]),p]}))],8,d)]),e.createElementVNode("div",g,[e.createElementVNode("div",f,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.routes,(function(t,o){return e.openBlock(),e.createElementBlock("div",{key:o},[t.text?(e.openBlock(),e.createElementBlock("a",{key:0,href:t.path,class:"dropdown-item"},[t.icon?(e.openBlock(),e.createElementBlock("svg",v,[e.createElementVNode("use",{"xlink:href":"#"+t.icon},null,8,E)])):e.createCommentVNode("v-if",!0),e.createElementVNode("span",null,e.toDisplayString(t.text),1),t.badge?(e.openBlock(),e.createElementBlock("span",h,e.toDisplayString(t.badge),1)):e.createCommentVNode("v-if",!0)],8,k)):(e.openBlock(),e.createElementBlock("hr",V))])})),128)),N,e.createElementVNode("a",{class:"dropdown-item",onClick:o[5]||(o[5]=function(){return C.logout&&C.logout.apply(C,arguments)})},[y,e.createElementVNode("span",null,e.toDisplayString(t.__("auth.user.menu.logout")),1)])])])])])):e.createCommentVNode("v-if",!0)},module.exports=o;
|
|
2
2
|
//# sourceMappingURL=User.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sources":["../../../src/components/auth/User.vue","../../../src/components/auth/User.vue?vue&type=template&id=cdbc4904&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-user\" v-if=\"mounted && !logged\">\n <slot name=\"login\" :open=\"open\" :label=\"__('auth.login.login')\">\n <a class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"tabs\">\n <ul>\n <li v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\">\n <a @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\" @click=\"register\">\n <a>{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <Transition name=\"delayed\">\n <login v-if=\"modal == 'login' || modal == 'forget'\"></login>\n </Transition>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user is-logged\" v-else-if=\"mounted\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <a class=\"button\" :href=\"routes[0].path\">\n <slot name=\"user\" :user=\"user.name ? user.name : user.email\">\n <span>\n <i class=\"fas fa-user\"></i>\n {{ user.name ? user.name : user.email }}\n </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </slot>\n </a>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" class=\"dropdown-item\">\n <svg class=\"icon\" v-if=\"item.icon\">\n <use :xlink:href=\"'#' + item.icon\" />\n </svg>\n <span>{{ item.text }}</span>\n <span class=\"badge\" v-if=\"item.badge\">{{ item.badge }}</span>\n </a>\n <hr class=\"dropdown-divider\" v-else />\n </div>\n <hr class=\"dropdown-divider\" />\n <a class=\"dropdown-item\" @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'user',\n props: {\n resetToken: {\n type: String,\n default: ''\n },\n resetEmail: {\n type: String,\n default: ''\n },\n tokenValid: {\n type: Boolean,\n default: false\n },\n },\n setup(props) {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = computed(() => store.getters['auth/modal']);\n const logged = computed(() => Object.keys(user.value).length > 0);\n const mounted = ref(false);\n const routes = computed(() => store.getters['auth/account']);\n\n const open = () => {\n store.commit('auth/modal', 'login');\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const logout = () => {\n store.dispatch('auth/logout');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\n }\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n if (props.resetToken) {\n store.commit('auth/modal', 'reset');\n }\n\n return {\n mounted,\n user,\n logged,\n modal,\n open,\n close,\n register,\n logout,\n routes\n };\n }\n};\n</script>","<template>\n <div class=\"auth-user\" v-if=\"mounted && !logged\">\n <slot name=\"login\" :open=\"open\" :label=\"__('auth.login.login')\">\n <a class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"tabs\">\n <ul>\n <li v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\">\n <a @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\" @click=\"register\">\n <a>{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <Transition name=\"delayed\">\n <login v-if=\"modal == 'login' || modal == 'forget'\"></login>\n </Transition>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user is-logged\" v-else-if=\"mounted\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <a class=\"button\" :href=\"routes[0].path\">\n <slot name=\"user\" :user=\"user.name ? user.name : user.email\">\n <span>\n <i class=\"fas fa-user\"></i>\n {{ user.name ? user.name : user.email }}\n </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </slot>\n </a>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" class=\"dropdown-item\">\n <svg class=\"icon\" v-if=\"item.icon\">\n <use :xlink:href=\"'#' + item.icon\" />\n </svg>\n <span>{{ item.text }}</span>\n <span class=\"badge\" v-if=\"item.badge\">{{ item.badge }}</span>\n </a>\n <hr class=\"dropdown-divider\" v-else />\n </div>\n <hr class=\"dropdown-divider\" />\n <a class=\"dropdown-item\" @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'user',\n props: {\n resetToken: {\n type: String,\n default: ''\n },\n resetEmail: {\n type: String,\n default: ''\n },\n tokenValid: {\n type: Boolean,\n default: false\n },\n },\n setup(props) {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = computed(() => store.getters['auth/modal']);\n const logged = computed(() => Object.keys(user.value).length > 0);\n const mounted = ref(false);\n const routes = computed(() => store.getters['auth/account']);\n\n const open = () => {\n store.commit('auth/modal', 'login');\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const logout = () => {\n store.dispatch('auth/logout');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\n }\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n if (props.resetToken) {\n store.commit('auth/modal', 'reset');\n }\n\n return {\n mounted,\n user,\n logged,\n modal,\n open,\n close,\n register,\n logout,\n routes\n };\n }\n};\n</script>"],"names":["name","props","resetToken","type","String","resetEmail","tokenValid","Boolean","setup","store","useStore","user","computed","getters","modal","logged","Object","keys","value","length","mounted","ref","routes","close","commit","dispatch","window","addEventListener","e","key","open","register","logout","_createElementVNode","role","$setup","_createElementBlock","_hoisted_1","_renderSlot","label","_ctx","onClick","_hoisted_2","_hoisted_5","_hoisted_6","_createBlock","_createVNode","_hoisted_7","_hoisted_8","_hoisted_9","href","path","email","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","item","text","icon","_hoisted_16","badge","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21"],"mappings":"sDAsFe,CACXA,KAAM,OACNC,MAAO,CACHC,WAAY,CACRC,KAAMC,eACG,IAEbC,WAAY,CACRF,KAAMC,eACG,IAEbE,WAAY,CACRH,KAAMI,iBACG,IAGjBC,eAAMP,OACIQ,EAAQC,aACRC,EAAOC,YAAS,kBAAMH,EAAMI,QAAQ,cACpCC,EAAQF,YAAS,kBAAMH,EAAMI,QAAQ,iBACrCE,EAASH,YAAS,kBAAMI,OAAOC,KAAKN,EAAKO,OAAOC,OAAS,KACzDC,EAAUC,OAAI,GACdC,EAASV,YAAS,kBAAMH,EAAMI,QAAQ,mBAMtCU,EAAQ,WACVd,EAAMe,OAAO,aAAc,MAC3Bf,EAAMgB,SAAS,mBAWnBhB,EAAMgB,SAAS,UAAW,SACb,WACLL,EAAQF,OAAQ,KAIxBQ,OAAOC,iBAAiB,SAAS,SAACC,GAC1Bd,EAAMI,OAAmB,WAAVU,EAAEC,KACjBN,OAIJtB,EAAMC,YACNO,EAAMe,OAAO,aAAc,SAGxB,CACHJ,QAAAA,EACAT,KAAAA,EACAI,OAAAA,EACAD,MAAAA,EACAgB,KAtCS,WACTrB,EAAMe,OAAO,aAAc,UAsC3BD,MAAAA,EACAQ,SA3Ba,WACbtB,EAAMe,OAAO,aAAc,iBA2B3BQ,OAhCW,WACXvB,EAAMgB,SAAS,gBAgCfH,OAAAA,oBCvJG,sBAMQ,oBAEHW,kCAAW,eACPA,yCAAgB,0BAGb,gBAEI,uBA2BhB,gCACI,2CACI,iCAIKA,gCAAS,0BAGbA,mCAAY,kBACRA,gCAAS,kCAAgC,uBAK9C,gBAAgBC,KAAK,iBACjB,8CAGY,wCAIC,wBAEN,sBAEdD,iCAAU,+BAENA,kCAAW,SACPA,yCAAgB,iKAvEXE,YAAYA,wBAAzCC,2BAAAC,GACIC,+BAAoBR,KAAMK,OAAOI,MAAOC,2BAAxC,kBACIP,gCAAS,SAAUQ,sCAAON,uDAASK,iCAEvCP,oDAAW,qBAAqCE,aAC5CF,kCAAW,mBAAoBQ,sCAAON,wCACtCF,2BAAAS,GACIT,qCAAc,uBAAwBQ,sCAAON,0CAK7CF,2BAAAU,GACIL,8BACAL,2BAAAW,GACIX,gCACIA,uGAGIA,0BAAIQ,sCAAON,uDAASK,iCAExBP,yFAEIQ,sCAAON,8CACPF,gDAAMO,qDAIlBK,gCACIC,4BAAY9C,KAAK,+BACb,2BAAamC,mBAAoBA,uBAAjCU,2FAGRA,gDACwBV,uBAApBU,mFAEJC,kDAAeX,sBAKaA,yBAA5CC,2BAAAW,GACId,2BAAAe,GACIf,2BAAAgB,GACIhB,gCAAS,SAAUiB,KAAMf,YAAUgB,OAC/Bb,8BAAmB3B,KAAMwB,OAAKnC,KAAOmC,OAAKnC,KAAOmC,OAAKiB,QAAtD,kBACInB,kCACIoB,0CACGlB,OAAKnC,KAAOmC,OAAKnC,KAAOmC,OAAKiB,YAEpCE,cAMZrB,2BAAAsB,GACItB,2BAAAuB,oBACIpB,kDAA2BD,mBAAdsB,EAAM5B,wBAAnBO,4BAA0CP,IAAKA,IAChB4B,EAAKC,oBAAhCtB,gCAAIc,KAAMO,EAAKN,WAA6B,kBAChBM,EAAKE,oBAA7BvB,2BAAAwB,GACI3B,6CAAwBwB,EAAKE,mDAEjC1B,mDAASwB,EAAKC,SACYD,EAAKI,qBAA/BzB,4BAAA0B,oBAAyCL,EAAKI,iEAElDzB,0BAAA2B,eAEJC,EACA/B,gCAAS,gBAAiBQ,sCAAON,0CAC7B8B,EAGAhC,mDAASO"}
|
|
1
|
+
{"version":3,"file":"User.js","sources":["../../../src/components/auth/User.vue","../../../src/components/auth/User.vue?vue&type=template&id=14e54c3a&lang.js"],"sourcesContent":["<template>\n <div class=\"auth-user\" v-if=\"mounted && !logged\">\n <slot name=\"login\" :open=\"open\" :label=\"__('auth.login.login')\">\n <a class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"tabs\">\n <ul>\n <li v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\">\n <a @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\" @click=\"register\">\n <a>{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <login v-if=\"modal == 'login' || modal == 'forget'\" :forget-type=\"forgetType\"></login>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user is-logged\" v-else-if=\"mounted\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <a class=\"button\" :href=\"routes[0].path\">\n <slot name=\"user\" :user=\"user.name ? user.name : user.email\">\n <span>\n <i class=\"fas fa-user\"></i>\n {{ user.name ? user.name : user.email }}\n </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </slot>\n </a>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" class=\"dropdown-item\">\n <svg class=\"icon\" v-if=\"item.icon\">\n <use :xlink:href=\"'#' + item.icon\" />\n </svg>\n <span>{{ item.text }}</span>\n <span class=\"badge\" v-if=\"item.badge\">{{ item.badge }}</span>\n </a>\n <hr class=\"dropdown-divider\" v-else />\n </div>\n <hr class=\"dropdown-divider\" />\n <a class=\"dropdown-item\" @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed, provide, watch } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'user',\n props: {\n resetToken: {\n type: String,\n default: ''\n },\n resetEmail: {\n type: String,\n default: ''\n },\n tokenValid: {\n type: Boolean,\n default: false\n },\n forgetType: {\n type: String,\n default: 'email'\n }\n },\n setup(props) {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = computed(() => store.getters['auth/modal']);\n const logged = computed(() => Object.keys(user.value).length > 0);\n const mounted = ref(false);\n const routes = computed(() => store.getters['auth/account']);\n const presetedResetToken = ref('');\n const presetedResetEmail = ref('');\n\n provide('presetedResetToken', presetedResetToken);\n provide('presetedResetEmail', presetedResetEmail);\n\n const open = () => {\n store.commit('auth/modal', 'login');\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const logout = () => {\n store.dispatch('auth/logout');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\n }\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n if (props.resetToken) {\n store.commit('auth/modal', 'reset');\n }\n\n return {\n mounted,\n user,\n logged,\n modal,\n open,\n close,\n register,\n logout,\n routes\n };\n }\n};\n</script>","<template>\n <div class=\"auth-user\" v-if=\"mounted && !logged\">\n <slot name=\"login\" :open=\"open\" :label=\"__('auth.login.login')\">\n <a class=\"button\" @click=\"open\">{{ __('auth.login.login') }}</a>\n </slot>\n <div class=\"modal\" v-bind:class=\"{ 'is-active': modal }\">\n <div class=\"modal-background\" @click=\"close\"></div>\n <div class=\"modal-content\">\n <button class=\"modal-close is-large\" @click=\"close\">\n <svg class=\"icon close\">\n <use xlink:href=\"#close\" />\n </svg>\n </button>\n <div class=\"box\">\n <slot name=\"hero\"></slot>\n <div class=\"tabs\">\n <ul>\n <li v-bind:class=\"{\n 'is-active': modal == 'login' || modal == 'forget'\n }\">\n <a @click=\"open\">{{ __('auth.login.login') }}</a>\n </li>\n <li v-bind:class=\"{\n 'is-active': modal == 'registration'\n }\" @click=\"register\">\n <a>{{ __('auth.login.signup') }}</a>\n </li>\n </ul>\n </div>\n <keep-alive>\n <login v-if=\"modal == 'login' || modal == 'forget'\" :forget-type=\"forgetType\"></login>\n </keep-alive>\n <keep-alive>\n <registration v-if=\"modal == 'registration'\"></registration>\n </keep-alive>\n <reset v-show=\"modal == 'reset'\"></reset>\n </div>\n </div>\n </div>\n </div>\n <div class=\"auth-user is-logged\" v-else-if=\"mounted\">\n <div class=\"dropdown is-right is-hoverable\">\n <div class=\"dropdown-trigger\">\n <a class=\"button\" :href=\"routes[0].path\">\n <slot name=\"user\" :user=\"user.name ? user.name : user.email\">\n <span>\n <i class=\"fas fa-user\"></i>\n {{ user.name ? user.name : user.email }}\n </span>\n <span class=\"icon is-small\">\n <i class=\"fas fa-angle-down\" aria-hidden=\"true\"></i>\n </span>\n </slot>\n </a>\n </div>\n <div class=\"dropdown-menu\" role=\"menu\">\n <div class=\"dropdown-content\">\n <div v-for=\"(item, key) in routes\" v-bind:key=\"key\">\n <a :href=\"item.path\" v-if=\"item.text\" class=\"dropdown-item\">\n <svg class=\"icon\" v-if=\"item.icon\">\n <use :xlink:href=\"'#' + item.icon\" />\n </svg>\n <span>{{ item.text }}</span>\n <span class=\"badge\" v-if=\"item.badge\">{{ item.badge }}</span>\n </a>\n <hr class=\"dropdown-divider\" v-else />\n </div>\n <hr class=\"dropdown-divider\" />\n <a class=\"dropdown-item\" @click=\"logout\">\n <svg class=\"icon\">\n <use xlink:href=\"#icon-logout\" />\n </svg>\n <span>{{ __('auth.user.menu.logout') }}</span>\n </a>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { ref, computed, provide, watch } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default {\n name: 'user',\n props: {\n resetToken: {\n type: String,\n default: ''\n },\n resetEmail: {\n type: String,\n default: ''\n },\n tokenValid: {\n type: Boolean,\n default: false\n },\n forgetType: {\n type: String,\n default: 'email'\n }\n },\n setup(props) {\n const store = useStore();\n const user = computed(() => store.getters['auth/me']);\n const modal = computed(() => store.getters['auth/modal']);\n const logged = computed(() => Object.keys(user.value).length > 0);\n const mounted = ref(false);\n const routes = computed(() => store.getters['auth/account']);\n const presetedResetToken = ref('');\n const presetedResetEmail = ref('');\n\n provide('presetedResetToken', presetedResetToken);\n provide('presetedResetEmail', presetedResetEmail);\n\n const open = () => {\n store.commit('auth/modal', 'login');\n };\n\n const close = () => {\n store.commit('auth/modal', null);\n store.dispatch('auth/me');\n };\n\n const logout = () => {\n store.dispatch('auth/logout');\n };\n\n const register = () => {\n store.commit('auth/modal', 'registration');\n };\n\n store.dispatch('auth/me', {\n finally: () => {\n mounted.value = true;\n }\n });\n\n window.addEventListener('keyup', (e) => {\n if (modal.value && e.key === 'Escape') {\n close();\n }\n });\n\n if (props.resetToken) {\n store.commit('auth/modal', 'reset');\n }\n\n return {\n mounted,\n user,\n logged,\n modal,\n open,\n close,\n register,\n logout,\n routes\n };\n }\n};\n</script>"],"names":["name","props","resetToken","type","String","resetEmail","tokenValid","Boolean","forgetType","setup","store","useStore","user","computed","getters","modal","logged","Object","keys","value","length","mounted","ref","routes","presetedResetToken","presetedResetEmail","provide","close","commit","dispatch","window","addEventListener","e","key","open","register","logout","_createElementVNode","role","$setup","_createElementBlock","_hoisted_1","_renderSlot","label","_ctx","onClick","_hoisted_2","_hoisted_5","_hoisted_6","_createBlock","$props","_createVNode","_hoisted_7","_hoisted_8","_hoisted_9","href","path","email","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","item","text","icon","_hoisted_16","badge","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21"],"mappings":"sDAoFe,CACXA,KAAM,OACNC,MAAO,CACHC,WAAY,CACRC,KAAMC,eACG,IAEbC,WAAY,CACRF,KAAMC,eACG,IAEbE,WAAY,CACRH,KAAMI,iBACG,GAEbC,WAAY,CACRL,KAAMC,eACG,UAGjBK,eAAMR,OACIS,EAAQC,aACRC,EAAOC,YAAS,kBAAMH,EAAMI,QAAQ,cACpCC,EAAQF,YAAS,kBAAMH,EAAMI,QAAQ,iBACrCE,EAASH,YAAS,kBAAMI,OAAOC,KAAKN,EAAKO,OAAOC,OAAS,KACzDC,EAAUC,OAAI,GACdC,EAASV,YAAS,kBAAMH,EAAMI,QAAQ,mBACtCU,EAAqBF,MAAI,IACzBG,EAAqBH,MAAI,IAE/BI,UAAQ,qBAAsBF,GAC9BE,UAAQ,qBAAsBD,OAMxBE,EAAQ,WACVjB,EAAMkB,OAAO,aAAc,MAC3BlB,EAAMmB,SAAS,mBAWnBnB,EAAMmB,SAAS,UAAW,SACb,WACLR,EAAQF,OAAQ,KAIxBW,OAAOC,iBAAiB,SAAS,SAACC,GAC1BjB,EAAMI,OAAmB,WAAVa,EAAEC,KACjBN,OAIJ1B,EAAMC,YACNQ,EAAMkB,OAAO,aAAc,SAGxB,CACHP,QAAAA,EACAT,KAAAA,EACAI,OAAAA,EACAD,MAAAA,EACAmB,KAtCS,WACTxB,EAAMkB,OAAO,aAAc,UAsC3BD,MAAAA,EACAQ,SA3Ba,WACbzB,EAAMkB,OAAO,aAAc,iBA2B3BQ,OAhCW,WACX1B,EAAMmB,SAAS,gBAgCfN,OAAAA,oBC9JG,sBAMQ,oBAEHc,kCAAW,eACPA,yCAAgB,0BAGb,gBAEI,uBAyBhB,gCACI,2CACI,iCAIKA,gCAAS,0BAGbA,mCAAY,kBACRA,gCAAS,kCAAgC,uBAK9C,gBAAgBC,KAAK,iBACjB,8CAGY,wCAIC,wBAEN,sBAEdD,iCAAU,+BAENA,kCAAW,SACPA,yCAAgB,iKArEXE,YAAYA,wBAAzCC,2BAAAC,GACIC,+BAAoBR,KAAMK,OAAOI,MAAOC,2BAAxC,kBACIP,gCAAS,SAAUQ,sCAAON,uDAASK,iCAEvCP,oDAAW,qBAAqCE,aAC5CF,kCAAW,mBAAoBQ,sCAAON,wCACtCF,2BAAAS,GACIT,qCAAc,uBAAwBQ,sCAAON,0CAK7CF,2BAAAU,GACIL,8BACAL,2BAAAW,GACIX,gCACIA,uGAGIA,0BAAIQ,sCAAON,uDAASK,iCAExBP,yFAEIQ,sCAAON,8CACPF,gDAAMO,qDAIlBK,yCACiBV,mBAAoBA,uBAAjCU,qCAAkEC,8FAEtED,gDACwBV,uBAApBU,mFAEJE,kDAAeZ,sBAKaA,yBAA5CC,2BAAAY,GACIf,2BAAAgB,GACIhB,2BAAAiB,GACIjB,gCAAS,SAAUkB,KAAMhB,YAAUiB,OAC/Bd,8BAAmB9B,KAAM2B,OAAKvC,KAAOuC,OAAKvC,KAAOuC,OAAKkB,QAAtD,kBACIpB,kCACIqB,0CACGnB,OAAKvC,KAAOuC,OAAKvC,KAAOuC,OAAKkB,YAEpCE,cAMZtB,2BAAAuB,GACIvB,2BAAAwB,oBACIrB,kDAA2BD,mBAAduB,EAAM7B,wBAAnBO,4BAA0CP,IAAKA,IAChB6B,EAAKC,oBAAhCvB,gCAAIe,KAAMO,EAAKN,WAA6B,kBAChBM,EAAKE,oBAA7BxB,2BAAAyB,GACI5B,6CAAwByB,EAAKE,mDAEjC3B,mDAASyB,EAAKC,SACYD,EAAKI,qBAA/B1B,4BAAA2B,oBAAyCL,EAAKI,iEAElD1B,0BAAA4B,eAEJC,EACAhC,gCAAS,gBAAiBQ,sCAAON,0CAC7B+B,EAGAjC,mDAASO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormText.js","sources":["../../src/forms/FormText.vue","../../src/forms/FormText.vue?vue&type=template&id=f9136ba2&lang.js"],"sourcesContent":["<template>\n <div>\n <div class=\"control\">\n <input\n class=\"input\"\n :type=\"type\"\n :value=\"modelValue\"\n :required=\"required\"\n :id=\"uuid\"\n :disabled=\"readOnly\"\n autocomplete=\"chrome-off\"\n @input=\"update($event.target.value)\"\n v-bind:class=\"{\n 'is-danger': validation.errorMessage,\n }\"\n v-maska=\"mask\"\n :placeholder=\"placeholder ? placeholder : ' '\"\n ref=\"input\"\n />\n <label class=\"label\" :for=\"uuid\" v-html=\"labelHtml\"></label>\n </div>\n <p class=\"description\" v-if=\"description\" v-html=\"description\"></p>\n <p class=\"help is-danger\" v-if=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n </div>\n</template>\n\n<script>\nimport SecureLS from \"secure-ls\";\n\nexport default {\n props: {\n modelValue: { required: true },\n required: {\n type: Boolean,\n default: false,\n },\n label: {\n type: String,\n required: true,\n },\n config: {\n type: Object,\n default: () => ({ type: \"text\" }),\n },\n readOnly: {\n type: Boolean,\n default: false,\n },\n uuid: {\n type: Number,\n default: 0,\n },\n validation: {\n type: Object,\n default: () => ({}),\n },\n type: {\n type: String,\n default: \"text\",\n },\n mask: {\n type: String,\n default: \"\",\n },\n model: {\n type: String,\n default: \"\",\n },\n placeholder: {\n type: String,\n default: \"\",\n },\n store: {\n type: String,\n default: \"\",\n },\n description: {\n type: String,\n default: \"\",\n },\n validations: {\n type: Object,\n default: () => ({}),\n },\n },\n data() {\n return {\n ls: null,\n };\n },\n computed: {\n labelHtml() {\n const requiredHtml =\n this.validations && this.validations.required\n ? ' <span class=\"asterisk\">*</span>'\n : \"\";\n return this.label + requiredHtml;\n },\n },\n mounted() {\n this.ls = new SecureLS({\n isCompression: false,\n });\n\n if (this.store && this.model && !this.modelValue) {\n let forms = this.ls.get(\"forms\");\n\n if (!forms) {\n forms = {};\n }\n\n if (!forms[this.store]) {\n forms[this.store] = {};\n }\n\n if (forms[this.store][this.model]) {\n this.update(forms[this.store][this.model]);\n }\n }\n\n if (this.type == \"phone\") {\n this.$refs.input.addEventListener(\"paste\", (event) => {\n let pastedText = event.clipboardData.getData(\"text\");\n pastedText = pastedText.replace(/[^0-9]/g, '');\n\n if (\n pastedText.substr(0, 3) == \"+38\" ||\n pastedText.substr(0, 3) == \"380\"\n ) {\n event.preventDefault();\n event.stopPropagation();\n\n pastedText = pastedText.substr(\n pastedText.substr(0, 3) == \"380\" ? 2 : 3\n );\n\n this.$refs.input.value =\n \"(\" +\n pastedText.slice(0, 3) +\n \") \" +\n pastedText.slice(3, 6) +\n \"-\" +\n pastedText.slice(6, 8) +\n \"-\" +\n pastedText.slice(8, 10);\n }\n });\n }\n },\n methods: {\n update(value) {\n if (this.store && this.model) {\n let forms = this.ls.get(\"forms\");\n\n if (!forms) {\n forms = {};\n forms[this.store] = {};\n } else if (!forms[this.store]) {\n forms[this.store] = {};\n }\n\n forms[this.store][this.model] = value;\n\n this.ls.set(\"forms\", forms);\n }\n\n this.$emit(\"update:modelValue\", value);\n },\n },\n};\n</script>\n","<template>\n <div>\n <div class=\"control\">\n <input\n class=\"input\"\n :type=\"type\"\n :value=\"modelValue\"\n :required=\"required\"\n :id=\"uuid\"\n :disabled=\"readOnly\"\n autocomplete=\"chrome-off\"\n @input=\"update($event.target.value)\"\n v-bind:class=\"{\n 'is-danger': validation.errorMessage,\n }\"\n v-maska=\"mask\"\n :placeholder=\"placeholder ? placeholder : ' '\"\n ref=\"input\"\n />\n <label class=\"label\" :for=\"uuid\" v-html=\"labelHtml\"></label>\n </div>\n <p class=\"description\" v-if=\"description\" v-html=\"description\"></p>\n <p class=\"help is-danger\" v-if=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n </div>\n</template>\n\n<script>\nimport SecureLS from \"secure-ls\";\n\nexport default {\n props: {\n modelValue: { required: true },\n required: {\n type: Boolean,\n default: false,\n },\n label: {\n type: String,\n required: true,\n },\n config: {\n type: Object,\n default: () => ({ type: \"text\" }),\n },\n readOnly: {\n type: Boolean,\n default: false,\n },\n uuid: {\n type: Number,\n default: 0,\n },\n validation: {\n type: Object,\n default: () => ({}),\n },\n type: {\n type: String,\n default: \"text\",\n },\n mask: {\n type: String,\n default: \"\",\n },\n model: {\n type: String,\n default: \"\",\n },\n placeholder: {\n type: String,\n default: \"\",\n },\n store: {\n type: String,\n default: \"\",\n },\n description: {\n type: String,\n default: \"\",\n },\n validations: {\n type: Object,\n default: () => ({}),\n },\n },\n data() {\n return {\n ls: null,\n };\n },\n computed: {\n labelHtml() {\n const requiredHtml =\n this.validations && this.validations.required\n ? ' <span class=\"asterisk\">*</span>'\n : \"\";\n return this.label + requiredHtml;\n },\n },\n mounted() {\n this.ls = new SecureLS({\n isCompression: false,\n });\n\n if (this.store && this.model && !this.modelValue) {\n let forms = this.ls.get(\"forms\");\n\n if (!forms) {\n forms = {};\n }\n\n if (!forms[this.store]) {\n forms[this.store] = {};\n }\n\n if (forms[this.store][this.model]) {\n this.update(forms[this.store][this.model]);\n }\n }\n\n if (this.type == \"phone\") {\n this.$refs.input.addEventListener(\"paste\", (event) => {\n let pastedText = event.clipboardData.getData(\"text\");\n pastedText = pastedText.replace(/[^0-9]/g, '');\n\n if (\n pastedText.substr(0, 3) == \"+38\" ||\n pastedText.substr(0, 3) == \"380\"\n ) {\n event.preventDefault();\n event.stopPropagation();\n\n pastedText = pastedText.substr(\n pastedText.substr(0, 3) == \"380\" ? 2 : 3\n );\n\n this.$refs.input.value =\n \"(\" +\n pastedText.slice(0, 3) +\n \") \" +\n pastedText.slice(3, 6) +\n \"-\" +\n pastedText.slice(6, 8) +\n \"-\" +\n pastedText.slice(8, 10);\n }\n });\n }\n },\n methods: {\n update(value) {\n if (this.store && this.model) {\n let forms = this.ls.get(\"forms\");\n\n if (!forms) {\n forms = {};\n forms[this.store] = {};\n } else if (!forms[this.store]) {\n forms[this.store] = {};\n }\n\n forms[this.store][this.model] = value;\n\n this.ls.set(\"forms\", forms);\n }\n\n this.$emit(\"update:modelValue\", value);\n },\n },\n};\n</script>\n"],"names":["props","modelValue","required","type","Boolean","label","String","config","Object","readOnly","uuid","Number","validation","mask","model","placeholder","store","description","validations","data","ls","computed","labelHtml","requiredHtml","this","mounted","SecureLS","isCompression","forms","get","update","$refs","input","addEventListener","event","pastedText","clipboardData","getData","replace","substr","preventDefault","stopPropagation","_this","value","slice","methods","set","$emit","_createElementBlock","_createElementVNode","_hoisted_1","$props","id","disabled","autocomplete","onInput","$options","$event","target","ref","innerHTML","errorMessage"],"mappings":"8IA6Be,CACXA,MAAO,CACHC,WAAY,CAAEC,UAAU,GACxBA,SAAU,CACNC,KAAMC,iBACG,GAEbC,MAAO,CACHF,KAAMG,OACNJ,UAAU,GAEdK,OAAQ,CACJJ,KAAMK,eACG,iBAAO,CAAEL,KAAM,UAE5BM,SAAU,CACNN,KAAMC,iBACG,GAEbM,KAAM,CACFP,KAAMQ,eACG,GAEbC,WAAY,CACRT,KAAMK,eACG,iBAAO,KAEpBL,KAAM,CACFA,KAAMG,eACG,QAEbO,KAAM,CACFV,KAAMG,eACG,IAEbQ,MAAO,CACHX,KAAMG,eACG,IAEbS,YAAa,CACTZ,KAAMG,eACG,IAEbU,MAAO,CACHb,KAAMG,eACG,IAEbW,YAAa,CACTd,KAAMG,eACG,IAEbY,YAAa,CACTf,KAAMK,eACG,iBAAO,MAGxBW,sBACW,CACHC,GAAI,OAGZC,SAAU,CACNC,yBACUC,EACFC,KAAKN,aAAeM,KAAKN,YAAYhB,SAC/B,mCACA,UACHsB,KAAKnB,MAAQkB,IAG5BE,sCACSL,GAAK,IAAIM,UAAS,CACnBC,eAAe,IAGfH,KAAKR,OAASQ,KAAKV,QAAUU,KAAKvB,WAAY,KAC1C2B,EAAQJ,KAAKJ,GAAGS,IAAI,SAEnBD,IACDA,EAAQ,IAGPA,EAAMJ,KAAKR,SACZY,EAAMJ,KAAKR,OAAS,IAGpBY,EAAMJ,KAAKR,OAAOQ,KAAKV,aAClBgB,OAAOF,EAAMJ,KAAKR,OAAOQ,KAAKV,QAI1B,SAAbU,KAAKrB,WACA4B,MAAMC,MAAMC,iBAAiB,SAAS,SAACC,OACpCC,EAAaD,EAAME,cAAcC,QAAQ,QAId,QAH/BF,EAAaA,EAAWG,QAAQ,UAAW,KAG5BC,OAAO,EAAG,IACM,OAA3BJ,EAAWI,OAAO,EAAG,KAErBL,EAAMM,iBACNN,EAAMO,kBAENN,EAAaA,EAAWI,OACO,OAA3BJ,EAAWI,OAAO,EAAG,GAAc,EAAI,GAG3CG,EAAKX,MAAMC,MAAMW,MACb,IACAR,EAAWS,MAAM,EAAG,GACpB,KACAT,EAAWS,MAAM,EAAG,GACpB,IACAT,EAAWS,MAAM,EAAG,GACpB,IACAT,EAAWS,MAAM,EAAG,SAKxCC,QAAS,CACLf,gBAAOa,MACCnB,KAAKR,OAASQ,KAAKV,MAAO,KACtBc,EAAQJ,KAAKJ,GAAGS,IAAI,SAEnBD,EAGOA,EAAMJ,KAAKR,SACnBY,EAAMJ,KAAKR,OAAS,KAHpBY,EAAQ,IACFJ,KAAKR,OAAS,GAKxBY,EAAMJ,KAAKR,OAAOQ,KAAKV,OAAS6B,OAE3BvB,GAAG0B,IAAI,QAASlB,QAGpBmB,MAAM,oBAAqBJ,eCpKzB,mNADfK,iCACIC,2BAAAC,oBACID,sDACU,kDACL9C,KAAMgD,OACNR,MAAOQ,aACPjD,SAAUiD,WACVC,GAAID,OACJE,SAAUF,WACXG,aAAa,aACZC,uCAAOC,SAAOC,EAAOC,OAAOf,SAK5B5B,YAAaoC,cAAcA,kBAC5BQ,IAAI,wBAFKR,UAIbF,oCAAa,YAAcE,OAAMS,UAAQJ,yBAEhBL,6BAA7BH,sCAAS,cAAiCY,UAAQT,0DAClBA,aAAWU,4BAA3Cb,sCAAS,iBAAgDY,UAAQT,aAAWU"}
|
|
1
|
+
{"version":3,"file":"FormText.js","sources":["../../src/forms/FormText.vue","../../src/forms/FormText.vue?vue&type=template&id=1f517e31&lang.js"],"sourcesContent":["<template>\n <div>\n <div class=\"control\">\n <input class=\"input\" :type=\"type\" :value=\"modelValue\" :required=\"required\" :id=\"uuid\" :disabled=\"readOnly\" autocomplete=\"chrome-off\" @input=\"update($event.target.value)\" v-bind:class=\"{\n 'is-danger': validation.errorMessage,\n }\" v-maska=\"mask\" :placeholder=\"placeholder ? placeholder : ' '\" ref=\"input\" />\n <label class=\"label\" :for=\"uuid\" v-html=\"labelHtml\"></label>\n </div>\n <p class=\"description\" v-if=\"description\" v-html=\"description\"></p>\n <p class=\"help is-danger\" v-if=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n </div>\n</template>\n\n<script>\nimport SecureLS from \"secure-ls\";\n\nexport default {\n props: {\n modelValue: { required: true },\n required: {\n type: Boolean,\n default: false,\n },\n label: {\n type: String,\n required: true,\n },\n config: {\n type: Object,\n default: () => ({ type: \"text\" }),\n },\n readOnly: {\n type: Boolean,\n default: false,\n },\n uuid: {\n type: Number,\n default: 0,\n },\n validation: {\n type: Object,\n default: () => ({}),\n },\n type: {\n type: String,\n default: \"text\",\n },\n mask: {\n type: String,\n default: \"\",\n },\n model: {\n type: String,\n default: \"\",\n },\n placeholder: {\n type: String,\n default: \"\",\n },\n store: {\n type: String,\n default: \"\",\n },\n description: {\n type: String,\n default: \"\",\n },\n validations: {\n type: Object,\n default: () => ({}),\n },\n },\n data() {\n return {\n ls: null,\n };\n },\n computed: {\n labelHtml() {\n const requiredHtml =\n this.validations && this.validations.required\n ? ' <span class=\"asterisk\">*</span>'\n : \"\";\n return this.label + requiredHtml;\n },\n },\n mounted() {\n this.ls = new SecureLS({\n isCompression: false,\n });\n\n if (this.store && this.model && !this.modelValue) {\n let forms = this.ls.get(\"forms\");\n\n if (!forms) {\n forms = {};\n }\n\n if (!forms[this.store]) {\n forms[this.store] = {};\n }\n\n if (forms[this.store][this.model]) {\n this.update(forms[this.store][this.model]);\n }\n }\n\n if (this.type == \"phone\") {\n this.$refs.input.addEventListener(\"paste\", (event) => {\n let pastedText = event.clipboardData.getData(\"text\");\n pastedText = pastedText.replace(/[^0-9]/g, '');\n\n if (\n pastedText.substr(0, 3) == \"+38\" ||\n pastedText.substr(0, 3) == \"380\"\n ) {\n event.preventDefault();\n event.stopPropagation();\n\n pastedText = pastedText.substr(\n pastedText.substr(0, 3) == \"380\" ? 2 : 3\n );\n\n this.$refs.input.value =\n \"(\" +\n pastedText.slice(0, 3) +\n \") \" +\n pastedText.slice(3, 6) +\n \"-\" +\n pastedText.slice(6, 8) +\n \"-\" +\n pastedText.slice(8, 10);\n }\n });\n }\n },\n methods: {\n update(value) {\n if (this.store && this.model) {\n let forms = this.ls.get(\"forms\");\n\n if (!forms) {\n forms = {};\n forms[this.store] = {};\n } else if (!forms[this.store]) {\n forms[this.store] = {};\n }\n\n forms[this.store][this.model] = value;\n\n this.ls.set(\"forms\", forms);\n }\n\n this.$emit(\"update:modelValue\", value);\n },\n },\n};\n</script>\n","<template>\n <div>\n <div class=\"control\">\n <input class=\"input\" :type=\"type\" :value=\"modelValue\" :required=\"required\" :id=\"uuid\" :disabled=\"readOnly\" autocomplete=\"chrome-off\" @input=\"update($event.target.value)\" v-bind:class=\"{\n 'is-danger': validation.errorMessage,\n }\" v-maska=\"mask\" :placeholder=\"placeholder ? placeholder : ' '\" ref=\"input\" />\n <label class=\"label\" :for=\"uuid\" v-html=\"labelHtml\"></label>\n </div>\n <p class=\"description\" v-if=\"description\" v-html=\"description\"></p>\n <p class=\"help is-danger\" v-if=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n </div>\n</template>\n\n<script>\nimport SecureLS from \"secure-ls\";\n\nexport default {\n props: {\n modelValue: { required: true },\n required: {\n type: Boolean,\n default: false,\n },\n label: {\n type: String,\n required: true,\n },\n config: {\n type: Object,\n default: () => ({ type: \"text\" }),\n },\n readOnly: {\n type: Boolean,\n default: false,\n },\n uuid: {\n type: Number,\n default: 0,\n },\n validation: {\n type: Object,\n default: () => ({}),\n },\n type: {\n type: String,\n default: \"text\",\n },\n mask: {\n type: String,\n default: \"\",\n },\n model: {\n type: String,\n default: \"\",\n },\n placeholder: {\n type: String,\n default: \"\",\n },\n store: {\n type: String,\n default: \"\",\n },\n description: {\n type: String,\n default: \"\",\n },\n validations: {\n type: Object,\n default: () => ({}),\n },\n },\n data() {\n return {\n ls: null,\n };\n },\n computed: {\n labelHtml() {\n const requiredHtml =\n this.validations && this.validations.required\n ? ' <span class=\"asterisk\">*</span>'\n : \"\";\n return this.label + requiredHtml;\n },\n },\n mounted() {\n this.ls = new SecureLS({\n isCompression: false,\n });\n\n if (this.store && this.model && !this.modelValue) {\n let forms = this.ls.get(\"forms\");\n\n if (!forms) {\n forms = {};\n }\n\n if (!forms[this.store]) {\n forms[this.store] = {};\n }\n\n if (forms[this.store][this.model]) {\n this.update(forms[this.store][this.model]);\n }\n }\n\n if (this.type == \"phone\") {\n this.$refs.input.addEventListener(\"paste\", (event) => {\n let pastedText = event.clipboardData.getData(\"text\");\n pastedText = pastedText.replace(/[^0-9]/g, '');\n\n if (\n pastedText.substr(0, 3) == \"+38\" ||\n pastedText.substr(0, 3) == \"380\"\n ) {\n event.preventDefault();\n event.stopPropagation();\n\n pastedText = pastedText.substr(\n pastedText.substr(0, 3) == \"380\" ? 2 : 3\n );\n\n this.$refs.input.value =\n \"(\" +\n pastedText.slice(0, 3) +\n \") \" +\n pastedText.slice(3, 6) +\n \"-\" +\n pastedText.slice(6, 8) +\n \"-\" +\n pastedText.slice(8, 10);\n }\n });\n }\n },\n methods: {\n update(value) {\n if (this.store && this.model) {\n let forms = this.ls.get(\"forms\");\n\n if (!forms) {\n forms = {};\n forms[this.store] = {};\n } else if (!forms[this.store]) {\n forms[this.store] = {};\n }\n\n forms[this.store][this.model] = value;\n\n this.ls.set(\"forms\", forms);\n }\n\n this.$emit(\"update:modelValue\", value);\n },\n },\n};\n</script>\n"],"names":["props","modelValue","required","type","Boolean","label","String","config","Object","readOnly","uuid","Number","validation","mask","model","placeholder","store","description","validations","data","ls","computed","labelHtml","requiredHtml","this","mounted","SecureLS","isCompression","forms","get","update","$refs","input","addEventListener","event","pastedText","clipboardData","getData","replace","substr","preventDefault","stopPropagation","_this","value","slice","methods","set","$emit","_createElementBlock","_createElementVNode","_hoisted_1","$props","id","disabled","autocomplete","onInput","$options","$event","target","ref","innerHTML","errorMessage"],"mappings":"8IAgBe,CACXA,MAAO,CACHC,WAAY,CAAEC,UAAU,GACxBA,SAAU,CACNC,KAAMC,iBACG,GAEbC,MAAO,CACHF,KAAMG,OACNJ,UAAU,GAEdK,OAAQ,CACJJ,KAAMK,eACG,iBAAO,CAAEL,KAAM,UAE5BM,SAAU,CACNN,KAAMC,iBACG,GAEbM,KAAM,CACFP,KAAMQ,eACG,GAEbC,WAAY,CACRT,KAAMK,eACG,iBAAO,KAEpBL,KAAM,CACFA,KAAMG,eACG,QAEbO,KAAM,CACFV,KAAMG,eACG,IAEbQ,MAAO,CACHX,KAAMG,eACG,IAEbS,YAAa,CACTZ,KAAMG,eACG,IAEbU,MAAO,CACHb,KAAMG,eACG,IAEbW,YAAa,CACTd,KAAMG,eACG,IAEbY,YAAa,CACTf,KAAMK,eACG,iBAAO,MAGxBW,sBACW,CACHC,GAAI,OAGZC,SAAU,CACNC,yBACUC,EACFC,KAAKN,aAAeM,KAAKN,YAAYhB,SAC/B,mCACA,UACHsB,KAAKnB,MAAQkB,IAG5BE,sCACSL,GAAK,IAAIM,UAAS,CACnBC,eAAe,IAGfH,KAAKR,OAASQ,KAAKV,QAAUU,KAAKvB,WAAY,KAC1C2B,EAAQJ,KAAKJ,GAAGS,IAAI,SAEnBD,IACDA,EAAQ,IAGPA,EAAMJ,KAAKR,SACZY,EAAMJ,KAAKR,OAAS,IAGpBY,EAAMJ,KAAKR,OAAOQ,KAAKV,aAClBgB,OAAOF,EAAMJ,KAAKR,OAAOQ,KAAKV,QAI1B,SAAbU,KAAKrB,WACA4B,MAAMC,MAAMC,iBAAiB,SAAS,SAACC,OACpCC,EAAaD,EAAME,cAAcC,QAAQ,QAId,QAH/BF,EAAaA,EAAWG,QAAQ,UAAW,KAG5BC,OAAO,EAAG,IACM,OAA3BJ,EAAWI,OAAO,EAAG,KAErBL,EAAMM,iBACNN,EAAMO,kBAENN,EAAaA,EAAWI,OACO,OAA3BJ,EAAWI,OAAO,EAAG,GAAc,EAAI,GAG3CG,EAAKX,MAAMC,MAAMW,MACb,IACAR,EAAWS,MAAM,EAAG,GACpB,KACAT,EAAWS,MAAM,EAAG,GACpB,IACAT,EAAWS,MAAM,EAAG,GACpB,IACAT,EAAWS,MAAM,EAAG,SAKxCC,QAAS,CACLf,gBAAOa,MACCnB,KAAKR,OAASQ,KAAKV,MAAO,KACtBc,EAAQJ,KAAKJ,GAAGS,IAAI,SAEnBD,EAGOA,EAAMJ,KAAKR,SACnBY,EAAMJ,KAAKR,OAAS,KAHpBY,EAAQ,IACFJ,KAAKR,OAAS,GAKxBY,EAAMJ,KAAKR,OAAOQ,KAAKV,OAAS6B,OAE3BvB,GAAG0B,IAAI,QAASlB,QAGpBmB,MAAM,oBAAqBJ,eCvJzB,mNADfK,iCACIC,2BAAAC,oBACID,sDAAa,kDAAS9C,KAAMgD,OAAOR,MAAOQ,aAAajD,SAAUiD,WAAWC,GAAID,OAAOE,SAAUF,WAAUG,aAAa,aAAcC,uCAAOC,SAAOC,EAAOC,OAAOf,SAE/I5B,YAAaoC,cAAcA,kBAAmBQ,IAAI,wBAAzDR,UACZF,oCAAa,YAAcE,OAAMS,UAAQJ,yBAEhBL,6BAA7BH,sCAAS,cAAiCY,UAAQT,0DAClBA,aAAWU,4BAA3Cb,sCAAS,iBAAgDY,UAAQT,aAAWU"}
|
package/dist/helpers.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var r=require("vue"),e=require("yup"),t=require("@perevorot/shop/dist/forms/FormCheckbox"),o=require("@perevorot/shop/dist/forms/FormCheckboxes"),n=require("@perevorot/shop/dist/forms/FormPassword"),
|
|
1
|
+
"use strict";var r=require("vue"),e=require("yup"),t=require("@perevorot/shop/dist/forms/FormCheckbox"),o=require("@perevorot/shop/dist/forms/FormCheckboxes"),n=require("@perevorot/shop/dist/forms/FormPassword"),i=require("@perevorot/shop/dist/forms/FormRadio"),a=require("@perevorot/shop/dist/forms/FormRating"),u=require("@perevorot/shop/dist/forms/FormSection"),s=require("@perevorot/shop/dist/forms/FormSelect"),l=require("@perevorot/shop/dist/forms/FormSwitch"),c=require("@perevorot/shop/dist/forms/FormText"),f=require("@perevorot/shop/dist/forms/FormTextarea");function d(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}function m(r){if(r&&r.__esModule)return r;var e=Object.create(null);return r&&Object.keys(r).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:function(){return r[t]}})}})),e.default=r,Object.freeze(e)}var p=m(e),h=d(t),v=d(o),b=d(n),y=d(i),F=d(a),g=d(u),S=d(s),q=d(l),w=d(c),x=d(f);function j(r,e){return function(r){if(Array.isArray(r))return r}(r)||function(r,e){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null==t)return;var o,n,i=[],a=!0,u=!1;try{for(t=t.call(r);!(a=(o=t.next()).done)&&(i.push(o.value),!e||i.length!==e);a=!0);}catch(r){u=!0,n=r}finally{try{a||null==t.return||t.return()}finally{if(u)throw n}}return i}(r,e)||k(r,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(r){return function(r){if(Array.isArray(r))return A(r)}(r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(r)||k(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(r,e){if(r){if("string"==typeof r)return A(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?A(r,e):void 0}}function A(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,o=new Array(e);t<e;t++)o[t]=r[t];return o}p.addMethod(p.string,"minOrEmpty",(function(r,e){return this.test({name:"minOrEmpty",exclusive:!0,message:e,params:{min:r},test:function(e){return""==e||e.length>=r}})})),p.addMethod(p.string,"numberFiled",(function(r,e){return this.test({name:"numberFiled",exclusive:!0,message:__("auth.validation.number"),params:{min:r},test:function(r){return!(""==r||isNaN(r))}})}));var _={pluralize:function(r,e){return r+" "+e[r%100>4&&r%100<20?2:[2,0,1,1,1,2][Math.min(r%10,5)]]},formParse:function(e){var t={FormCheckbox:h.default,FormCheckboxes:v.default,FormPassword:b.default,FormRadio:y.default,FormRating:F.default,FormSection:g.default,FormSelect:S.default,FormSwitch:q.default,FormText:w.default,FormTextarea:x.default},o={},n={},i={};if(e.form)for(var a=function(){var e=j(s[u],2),a=e[0],l=e[1];if("_"!=a.charAt(0)){var c;switch(l.component){case"FormCheckbox":case"FormSwitch":c=!1;break;case"FormCheckboxes":c=[];break;default:c=""}o[a]=c}var f=t[l.component];r.markRaw(f);var d={component:f,label:l.label,validations:{}};if(l.validation){var m=p;l.validation.forEach((function(r){var e=[],t=r;if(t.split(":").length>1){var o=r.split(":");t=o.shift(),e=JSON.parse(o)}if("required"==t&&(d.validations.required=!0),"phone"==t&&d.validations.required){t="matches",e=[/^\(\d{3}\) \d{3}\-\d{2}\-\d{2}$/,__("auth.validation.phone")]}"array"!=t&&e.push(__("auth.validation."+t));try{var n;m=(n=m)[t].apply(n,O(e))}catch(r){}})),i[a]=m}l.condition&&(d.condition=function(r){return r[l.condition[0]]===l.condition[1]},i[a]=p.string().when(l.condition[0],{is:l.condition[1],then:i[a]})),["mask","placeholder","description","type","list","model","store","default"].forEach((function(r){l[r]&&(d[r]=l[r])})),n[a]=d},u=0,s=Object.entries(e.form);u<s.length;u++)a();return{schema:n,model:o,validation:p.object().shape(i)}}};module.exports=_;
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
package/dist/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../src/helpers/modules/formParse.js","../src/helpers/index.js","../src/helpers/modules/pluralize.js"],"sourcesContent":["import {\n markRaw\n} from
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../src/helpers/modules/formParse.js","../src/helpers/index.js","../src/helpers/modules/pluralize.js"],"sourcesContent":["import {\n markRaw\n} from 'vue';\nimport * as yup from 'yup';\n\nimport FormCheckbox from '@perevorot/shop/dist/forms/FormCheckbox';\nimport FormCheckboxes from '@perevorot/shop/dist/forms/FormCheckboxes';\nimport FormPassword from '@perevorot/shop/dist/forms/FormPassword';\nimport FormRadio from '@perevorot/shop/dist/forms/FormRadio';\nimport FormRating from '@perevorot/shop/dist/forms/FormRating';\nimport FormSection from '@perevorot/shop/dist/forms/FormSection';\nimport FormSelect from '@perevorot/shop/dist/forms/FormSelect';\nimport FormSwitch from '@perevorot/shop/dist/forms/FormSwitch';\nimport FormText from '@perevorot/shop/dist/forms/FormText';\nimport FormTextarea from '@perevorot/shop/dist/forms/FormTextarea';\n\nyup.addMethod(yup.string, 'minOrEmpty', function (min, msg) {\n return this.test({\n name: 'minOrEmpty',\n exclusive: true,\n message: msg,\n params: {\n min: min,\n },\n test: (value) => value == '' || value.length >= min,\n });\n});\n\nyup.addMethod(yup.string, 'numberFiled', function (min, msg) {\n return this.test({\n name: 'numberFiled',\n exclusive: true,\n message: __('auth.validation.number'),\n params: {\n min: min,\n },\n test: (value) => !(value == '' || isNaN(value)),\n });\n});\n\nexport default function formParse(json) {\n let components = {\n FormCheckbox: FormCheckbox,\n FormCheckboxes: FormCheckboxes,\n FormPassword: FormPassword,\n FormRadio: FormRadio,\n FormRating: FormRating,\n FormSection: FormSection,\n FormSelect: FormSelect,\n FormSwitch: FormSwitch,\n FormText: FormText,\n FormTextarea: FormTextarea,\n };\n\n let model = {};\n let schema = {};\n let validation = {};\n\n if (json.form) {\n for (const [field, element] of Object.entries(json.form)) {\n if (field.charAt(0) != '_') {\n let value;\n\n switch (element.component) {\n case 'FormCheckbox':\n case 'FormSwitch':\n value = false;\n break;\n\n case 'FormCheckboxes':\n value = [];\n break;\n default:\n value = '';\n }\n\n model[field] = value;\n }\n\n const component = components[element.component];\n\n markRaw(component);\n\n let s = {\n component: component,\n label: element.label,\n validations: {},\n };\n\n if (element.validation) {\n let v = yup;\n\n const validations = element.validation;\n\n validations.forEach((rule) => {\n let attributes = [];\n let method = rule;\n\n if (method.split(':').length > 1) {\n let ruleWithAttributes = rule.split(':');\n method = ruleWithAttributes.shift();\n\n attributes = JSON.parse(ruleWithAttributes);\n }\n\n if (method == 'required') {\n s.validations.required = true;\n }\n\n if (method == 'phone' && s.validations.required) {\n const phoneRegExp = /^\\(\\d{3}\\) \\d{3}\\-\\d{2}\\-\\d{2}$/;\n\n method = 'matches';\n\n attributes = [phoneRegExp, __('auth.validation.phone')];\n }\n\n if (method != 'array') {\n attributes.push(__('auth.validation.' + method));\n }\n\n try {\n v = v[method](...attributes);\n } catch (error) {}\n });\n\n validation[field] = v;\n }\n\n if (element.condition) {\n s.condition = (model) => model[element.condition[0]] === element.condition[1];\n\n validation[field] = yup.string().when(element.condition[0], {\n is: element.condition[1],\n then: validation[field],\n });\n }\n\n ['mask', 'placeholder', 'description', 'type', 'list', 'model', 'store', 'default'].forEach((f) => {\n if (element[f]) {\n s[f] = element[f];\n }\n });\n\n schema[field] = s;\n }\n }\n\n return {\n schema: schema,\n model: model,\n validation: yup.object().shape(validation),\n };\n}","import pluralize from \"./modules/pluralize\";\nimport formParse from \"./modules/formParse\";\n\nexport default {\n pluralize,\n formParse,\n};","export default function pluralize(count, words) {\n let cases = [2, 0, 1, 1, 1, 2];\n\n return count + ' ' + words[count % 100 > 4 && count % 100 < 20 ? 2 : cases[Math.min(count % 10, 5)]];\n};"],"names":["yup","addMethod","string","min","msg","this","test","name","exclusive","message","params","value","length","__","isNaN","pluralize","count","words","Math","formParse","json","components","FormCheckbox","FormCheckboxes","FormPassword","FormRadio","FormRating","FormSection","FormSelect","FormSwitch","FormText","FormTextarea","model","schema","validation","form","field","element","charAt","component","markRaw","s","label","validations","v","forEach","rule","attributes","method","split","ruleWithAttributes","shift","JSON","parse","required","push","error","condition","when","is","then","f","Object","entries","object","shape"],"mappings":"kyEAgBAA,EAAIC,UAAUD,EAAIE,OAAQ,cAAc,SAAUC,EAAKC,UAC5CC,KAAKC,KAAK,CACbC,KAAM,aACNC,WAAW,EACXC,QAASL,EACTM,OAAQ,CACJP,IAAKA,GAETG,KAAM,SAACK,SAAmB,IAATA,GAAeA,EAAMC,QAAUT,QAIxDH,EAAIC,UAAUD,EAAIE,OAAQ,eAAe,SAAUC,EAAKC,UAC7CC,KAAKC,KAAK,CACbC,KAAM,cACNC,WAAW,EACXC,QAASI,GAAG,0BACZH,OAAQ,CACJP,IAAKA,GAETG,KAAM,SAACK,WAAqB,IAATA,GAAeG,MAAMH,UCjChD,MAAe,CACXI,UCJW,SAAmBC,EAAOC,UAG9BD,EAAQ,IAAMC,EAAMD,EAAQ,IAAM,GAAKA,EAAQ,IAAM,GAAK,EAFrD,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAE+CE,KAAKf,IAAIa,EAAQ,GAAI,MDEhGG,UDmCW,SAAmBC,OAC1BC,EAAa,CACbC,aAAcA,UACdC,eAAgBA,UAChBC,aAAcA,UACdC,UAAWA,UACXC,WAAYA,UACZC,YAAaA,UACbC,WAAYA,UACZC,WAAYA,UACZC,SAAUA,UACVC,aAAcA,WAGdC,EAAQ,GACRC,EAAS,GACTC,EAAa,MAEbd,EAAKe,0CACOC,OAAOC,UACQ,KAAnBD,EAAME,OAAO,GAAW,KACpB3B,SAEI0B,EAAQE,eACP,mBACA,aACD5B,GAAQ,YAGP,iBACDA,EAAQ,iBAGRA,EAAQ,GAGhBqB,EAAMI,GAASzB,MAGb4B,EAAYlB,EAAWgB,EAAQE,WAErCC,UAAQD,OAEJE,EAAI,CACJF,UAAWA,EACXG,MAAOL,EAAQK,MACfC,YAAa,OAGbN,EAAQH,WAAY,KAChBU,EAAI5C,EAEYqC,EAAQH,WAEhBW,SAAQ,SAACC,OACbC,EAAa,GACbC,EAASF,KAETE,EAAOC,MAAM,KAAKrC,OAAS,EAAG,KAC1BsC,EAAqBJ,EAAKG,MAAM,KACpCD,EAASE,EAAmBC,QAE5BJ,EAAaK,KAAKC,MAAMH,MAGd,YAAVF,IACAP,EAAEE,YAAYW,UAAW,GAGf,SAAVN,GAAqBP,EAAEE,YAAYW,SAAU,CAG7CN,EAAS,UAETD,EAAa,CAJO,kCAIOlC,GAAG,0BAGpB,SAAVmC,GACAD,EAAWQ,KAAK1C,GAAG,mBAAqBmC,cAIxCJ,KAAIA,GAAEI,aAAWD,IACnB,MAAOS,QAGbtB,EAAWE,GAASQ,EAGpBP,EAAQoB,YACRhB,EAAEgB,UAAY,SAACzB,UAAUA,EAAMK,EAAQoB,UAAU,MAAQpB,EAAQoB,UAAU,IAE3EvB,EAAWE,GAASpC,EAAIE,SAASwD,KAAKrB,EAAQoB,UAAU,GAAI,CACxDE,GAAItB,EAAQoB,UAAU,GACtBG,KAAM1B,EAAWE,OAIxB,OAAQ,cAAe,cAAe,OAAQ,OAAQ,QAAS,QAAS,WAAWS,SAAQ,SAACgB,GACrFxB,EAAQwB,KACRpB,EAAEoB,GAAKxB,EAAQwB,OAIvB5B,EAAOG,GAASK,SArFWqB,OAAOC,QAAQ3C,EAAKe,+BAyFhD,CACHF,OAAQA,EACRD,MAAOA,EACPE,WAAYlC,EAAIgE,SAASC,MAAM/B"}
|
package/dist/store.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var t=require("@perevorot/shop/dist/api"),a={namespaced:!0,state:{items:[],cross:[],bundles:[],modal:!1},getters:{items:function(t){return t.items},cross:function(t){return t.cross},bundles:function(t){return t.bundles},productQuantity:function(t,a){return function(t){var n=a.items.find((function(a){return a.id===t}));return n?n.quantity:0}},quantity:function(t,a){var n=0;return a.items.forEach((function(t){n+=parseInt(t.quantity)})),n},total:function(t,a){var n=0;return a.items.forEach((function(t){var a=t.attributes.price?t.attributes.price:t.price;if(t.attributes.options&&t.attributes.options.length&&t.options&&t.options.length){var e=0;t.options.forEach((function(a){-1!==t.attributes.options.indexOf(a.id)&&(e+=parseInt(a.price))})),a+=e}n+=a*(!1===t.attributes.active?0:t.quantity)})),n},modal:function(t){return document.documentElement.classList[t.modal?"add":"remove"]("is-modal-open"),t.modal}},actions:{get:function(a,n){var e=a.commit;t.cart.items().then((function(t){e("items",t.data.items),t.data&&t.data.cross&&e("cross",t.data.cross),t.data&&t.data.bundles&&e("bundles",t.data.bundles),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},add:function(a,n){var e=a.commit,c=a.state;t.cart.add(n.product).then((function(t){t.data&&t.data.items&&t.data.items.length?e("items",t.data.items):e("quantity",n.product),t.data&&t.data.cross&&e("cross",t.data.cross),t.data&&t.data.bundles&&e("bundles",t.data.bundles),c.modal||e("modal",!0),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},options:function(a,n){var e=a.commit,c=a.state;t.cart.options(n.product).then((function(t){t.data&&t.data.items&&t.data.items.length&&e("items",t.data.items),c.modal||e("modal",!0),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},quantity:function(a,n){var e=a.commit;t.cart.quantity(n.product).then((function(){e("quantity",n.product),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},remove:function(a,n){var e=a.commit;t.cart.remove(n.id).then((function(t){e("remove",n.id),t.data&&t.data.cross&&e("cross",t.data.cross),t.data&&t.data.bundles&&e("bundles",t.data.bundles),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},clear:function(a,n){var e=a.commit;t.cart.clear(n.id).then((function(){e("clear"),"function"==typeof n.callback&&n.callback()})).finally(n.finally)}},mutations:{modal:function(t,a){t.modal=a},items:function(t,a){t.items=a},cross:function(t,a){t.cross=a},bundles:function(t,a){t.bundles=a},remove:function(t,a){t.items=t.items.filter((function(t){return t.id!==a}))},quantity:function(t,a){var n=t.items.find((function(t){return t.id===a.id}));n.quantity=a.exact?a.exact:n.quantity+a.quantity},clear:function(t){t.items=[],t.cross=[],t.bundles=[]}}};function n(t){if(null==t)throw new TypeError("Cannot destructure undefined")}var e=require("vue-toastification").useToast(),c={me:function(t){return t.user},account:function(t){return t.account},modal:function(t){return document.documentElement.classList[t.modal?"add":"remove"]("is-modal-open"),t.modal},is:function(t){return Object.keys(t.user).length>0}},i={me:function(t,a){t.user=Array.isArray(a.user)&&!a.user.length?{}:a.user,t.account=a.account},modal:function(t,a){t.modal=a}},o={namespaced:!0,state:{items:[],list:[],last:""},getters:{items:function(t){return t.items},item:function(t,a){return function(t){return-1!==a.items.indexOf(t)}},list:function(t){return t.list},last:function(t){return t.last}},actions:{get:function(a,n){var e=a.commit;t.wishlist.items().then((function(t){e("items",t.data.items),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},list:function(a,n){var e=a.commit;t.wishlist.list().then((function(t){e("list",t.data),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},toggle:function(a,n){var e=a.commit;a.state,t.wishlist.toggle(n.id).then((function(t){t.data&&t.data.items&&e("items",t.data.items),t.data&&t.data.last&&e("last",t.data.last),"function"==typeof n.callback&&n.callback()})).finally(n.finally)}},mutations:{items:function(t,a){t.items=a},list:function(t,a){t.list=a},last:function(t,a){t.last=a},remove:function(t,a){t.items=t.items.filter((function(t){return t.id!==a}))}}},l={namespaced:!0,state:{products:[],categories:[],list:[],last:""},getters:{products:function(t){return t.products},categories:function(t){return t.categories},product:function(t,a){return function(t){return-1!==a.products.indexOf(t)}},list:function(t){return t.list},last:function(t){return t.last}},actions:{get:function(a,n){var e=a.commit;t.compare.items().then((function(t){e("products",t.data.products),e("categories",t.data.categories),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},category:function(a,n){var e=a.commit;t.compare.category(n.slug).then((function(t){e("products",t.data.products),e("categories",t.data.categories),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},list:function(a,n){var e=a.commit;t.compare.list().then((function(t){e("list",t.data),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},toggle:function(a,n){var e=a.commit;a.state,t.compare.toggle(n.id).then((function(t){t.data&&(e("products",t.data.products),e("categories",t.data.categories),e("last",t.data.last)),"function"==typeof n.callback&&n.callback(t.data)})).finally(n.finally)},delete:function(a,n){a.commit,a.state,t.compare.delete(n.id).then((function(t){"function"==typeof n.callback&&n.callback(t.data)})).finally(n.finally)}},mutations:{products:function(t,a){t.products=a},categories:function(t,a){t.categories=a},list:function(t,a){t.list=a},remove:function(t,a){t.products=t.products.filter((function(t){return t.id!==a}))},last:function(t,a){t.last=a}}},s={namespaced:!0,state:{modal:!1},getters:{modal:function(t){return t.modal}},mutations:{modal:function(t,a){document.documentElement.classList[a?"add":"remove"]("is-modal-open"),t.modal=a}}},u={namespaced:!0,state:{steps:{},current:1,modal:!1},getters:{steps:function(t){return t.steps},current:function(t){return t.current},modal:function(t){return t.modal}},mutations:{step:function(t,a){Number.isInteger(a)?t.current=a:a.data&&(t.steps[a.step]=a.data)},stepInit:function(t,a){t.steps[a.step]||(t.steps[a.step]=a.data)},reset:function(t){t.steps={},t.current=1},modal:function(t,a){t.modal=a}}},r={modules:{cart:a,auth:{namespaced:!0,state:{user:{},modal:!1,account:[]},getters:c,actions:{me:function(a,n){var c=a.commit;t.auth.me().then((function(t){c("me",t.data),t.data.flash&&t.data.flash.message&&(console.error(t.data.flash.message),e(t.data.flash.message,{type:t.data.flash.type?t.data.flash.type:"default"})),t.data.flash&&t.data.flash.modal&&c("modal",t.data.flash.modal),n&&"function"==typeof n.callback&&n.callback()})).finally(n&&n.finally?n.finally:function(){})},login:function(a,n){var e=a.commit,c=a.dispatch;t.auth.login(n.credentials).then((function(t){e("me",t.data),e("modal",null),c("cart/get",{finally:function(){}},{root:!0}),c("wishlist/get",{finally:function(){}},{root:!0}),window.localStorage&&window.localStorage.clear(),n&&"function"==typeof n.callback&&n.callback()})).catch((function(t){n&&"function"==typeof n.catch&&n.catch(t)})).finally(n.finally)},logout:function(a,n){var e=a.commit;t.auth.logout().then((function(){e("me",{user:{},account:[]}),e("wishlist/items",[],{root:!0}),window.localStorage&&window.localStorage.clear(),n&&"function"==typeof n.callback&&n.callback(),-1!==window.location.href.indexOf("/account")&&(window.location.href=$env.locale.url+"/")}))},reset:function(a,e){n(a),t.auth.reset(e.credentials).then((function(t){if(e&&"function"==typeof e.callback){var a=t.data&&t.data.message?t.data.message:"";e.callback(a)}})).catch((function(t){e&&"function"==typeof e.callback&&t.response.data.errors&&t.response.data.errors.email&&e.callback(t.response.data.errors.email[0],!0)})).finally(e.finally)},passwordUpdate:function(a,e){n(a),t.auth.passwordUpdate(e.credentials).then((function(t){if(e&&"function"==typeof e.callback){var a=t.data&&t.data.message?t.data.message:"";e.callback(a)}})).catch((function(t){e&&"function"==typeof e.callback&&t.response.data.errors&&t.response.data.errors.email&&e.callback(t.response.data.errors.email[0],!0)})).finally(e.finally)},register:function(a,n){a.commit,t.auth["register"+n.type](n.credentials).then((function(t){n&&"function"==typeof n.callback&&n.callback()})).catch((function(t){n&&"function"==typeof n.catch&&n.catch(t)})).finally(n.finally)},update:function(a,n){a.commit,t.auth.update(n.credentials).then((function(t){n&&"function"==typeof n.callback&&n.callback()})).catch((function(t){n&&"function"==typeof n.catch&&n.catch(t)})).finally(n.finally)}},mutations:i},wishlist:o,compare:l,review:s,order:u,checkout:{namespaced:!0,state:{user:{},payment:null,shipping:null,shippingData:{},dontcall:!1,comment:""},getters:{user:function(t,a,n,e){return Object.keys(t.user).length?t.user:JSON.parse(JSON.stringify(e["auth/me"]))},shipping:function(t){return t.shipping},shippingData:function(t){return t.shippingData},payment:function(t){return t.payment},dontcall:function(t){return t.dontcall},comment:function(t){return t.comment}},mutations:{user:function(t,a){t.user=a},shipping:function(t,a){t.shipping=a},shippingData:function(t,a){t.shippingData=a},payment:function(t,a){t.payment=a},dontcall:function(t,a){t.dontcall=a},comment:function(t,a){t.comment=a},reset:function(t){t.user={},t.payment=null,t.shipping=null,t.shippingData={},t.dontcall=!1,t.comment=""}}}},strict:!1};module.exports=r;
|
|
1
|
+
"use strict";var t=require("@perevorot/shop/dist/api"),a={namespaced:!0,state:{items:[],cross:[],bundles:[],modal:!1},getters:{items:function(t){return t.items},cross:function(t){return t.cross},bundles:function(t){return t.bundles},productQuantity:function(t,a){return function(t){var n=a.items.find((function(a){return a.id===t}));return n?n.quantity:0}},quantity:function(t,a){var n=0;return a.items.forEach((function(t){n+=parseInt(t.quantity)})),n},total:function(t,a){var n=0;return a.items.forEach((function(t){var a=t.attributes.price?t.attributes.price:t.price;if(t.attributes.options&&t.attributes.options.length&&t.options&&t.options.length){var e=0;t.options.forEach((function(a){-1!==t.attributes.options.indexOf(a.id)&&(e+=parseInt(a.price))})),a+=e}n+=a*(!1===t.attributes.active?0:t.quantity)})),n},modal:function(t){return document.documentElement.classList[t.modal?"add":"remove"]("is-modal-open"),t.modal}},actions:{get:function(a,n){var e=a.commit;t.cart.items().then((function(t){e("items",t.data.items),t.data&&t.data.cross&&e("cross",t.data.cross),t.data&&t.data.bundles&&e("bundles",t.data.bundles),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},add:function(a,n){var e=a.commit,c=a.state;t.cart.add(n.product).then((function(t){t.data&&t.data.items&&t.data.items.length?e("items",t.data.items):e("quantity",n.product),t.data&&t.data.cross&&e("cross",t.data.cross),t.data&&t.data.bundles&&e("bundles",t.data.bundles),c.modal||e("modal",!0),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},options:function(a,n){var e=a.commit,c=a.state;t.cart.options(n.product).then((function(t){t.data&&t.data.items&&t.data.items.length&&e("items",t.data.items),c.modal||e("modal",!0),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},quantity:function(a,n){var e=a.commit;t.cart.quantity(n.product).then((function(){e("quantity",n.product),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},remove:function(a,n){var e=a.commit;t.cart.remove(n.id).then((function(t){e("remove",n.id),t.data&&t.data.cross&&e("cross",t.data.cross),t.data&&t.data.bundles&&e("bundles",t.data.bundles),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},clear:function(a,n){var e=a.commit;t.cart.clear(n.id).then((function(){e("clear"),"function"==typeof n.callback&&n.callback()})).finally(n.finally)}},mutations:{modal:function(t,a){t.modal=a},items:function(t,a){t.items=a},cross:function(t,a){t.cross=a},bundles:function(t,a){t.bundles=a},remove:function(t,a){t.items=t.items.filter((function(t){return t.id!==a}))},quantity:function(t,a){var n=t.items.find((function(t){return t.id===a.id}));n.quantity=a.exact?a.exact:n.quantity+a.quantity},clear:function(t){t.items=[],t.cross=[],t.bundles=[]}}};function n(t){if(null==t)throw new TypeError("Cannot destructure undefined")}var e=require("vue-toastification").useToast(),c={me:function(t){return t.user},account:function(t){return t.account},modal:function(t){return document.documentElement.classList[t.modal?"add":"remove"]("is-modal-open"),t.modal},is:function(t){return Object.keys(t.user).length>0}},i={me:function(t,a){t.user=Array.isArray(a.user)&&!a.user.length?{}:a.user,t.account=a.account},modal:function(t,a){t.modal=a}},o={namespaced:!0,state:{items:[],list:[],last:""},getters:{items:function(t){return t.items},item:function(t,a){return function(t){return-1!==a.items.indexOf(t)}},list:function(t){return t.list},last:function(t){return t.last}},actions:{get:function(a,n){var e=a.commit;t.wishlist.items().then((function(t){e("items",t.data.items),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},list:function(a,n){var e=a.commit;t.wishlist.list().then((function(t){e("list",t.data),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},toggle:function(a,n){var e=a.commit;a.state,t.wishlist.toggle(n.id).then((function(t){t.data&&t.data.items&&e("items",t.data.items),t.data&&t.data.last&&e("last",t.data.last),"function"==typeof n.callback&&n.callback()})).finally(n.finally)}},mutations:{items:function(t,a){t.items=a},list:function(t,a){t.list=a},last:function(t,a){t.last=a},remove:function(t,a){t.items=t.items.filter((function(t){return t.id!==a}))}}},l={namespaced:!0,state:{products:[],categories:[],list:[],last:""},getters:{products:function(t){return t.products},categories:function(t){return t.categories},product:function(t,a){return function(t){return-1!==a.products.indexOf(t)}},list:function(t){return t.list},last:function(t){return t.last}},actions:{get:function(a,n){var e=a.commit;t.compare.items().then((function(t){e("products",t.data.products),e("categories",t.data.categories),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},category:function(a,n){var e=a.commit;t.compare.category(n.slug).then((function(t){e("products",t.data.products),e("categories",t.data.categories),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},list:function(a,n){var e=a.commit;t.compare.list().then((function(t){e("list",t.data),"function"==typeof n.callback&&n.callback()})).finally(n.finally)},toggle:function(a,n){var e=a.commit;a.state,t.compare.toggle(n.id).then((function(t){t.data&&(e("products",t.data.products),e("categories",t.data.categories),e("last",t.data.last)),"function"==typeof n.callback&&n.callback(t.data)})).finally(n.finally)},delete:function(a,n){a.commit,a.state,t.compare.delete(n.id).then((function(t){"function"==typeof n.callback&&n.callback(t.data)})).finally(n.finally)}},mutations:{products:function(t,a){t.products=a},categories:function(t,a){t.categories=a},list:function(t,a){t.list=a},remove:function(t,a){t.products=t.products.filter((function(t){return t.id!==a}))},last:function(t,a){t.last=a}}},s={namespaced:!0,state:{modal:!1},getters:{modal:function(t){return t.modal}},mutations:{modal:function(t,a){document.documentElement.classList[a?"add":"remove"]("is-modal-open"),t.modal=a}}},u={namespaced:!0,state:{steps:{},current:1,modal:!1},getters:{steps:function(t){return t.steps},current:function(t){return t.current},modal:function(t){return t.modal}},mutations:{step:function(t,a){Number.isInteger(a)?t.current=a:a.data&&(t.steps[a.step]=a.data)},stepInit:function(t,a){t.steps[a.step]||(t.steps[a.step]=a.data)},reset:function(t){t.steps={},t.current=1},modal:function(t,a){t.modal=a}}},r={modules:{cart:a,auth:{namespaced:!0,state:{user:{},modal:!1,account:[]},getters:c,actions:{me:function(a,n){var c=a.commit;t.auth.me().then((function(t){c("me",t.data),t.data.flash&&t.data.flash.message&&(console.error(t.data.flash.message),e(t.data.flash.message,{type:t.data.flash.type?t.data.flash.type:"default"})),t.data.flash&&t.data.flash.modal&&c("modal",t.data.flash.modal),n&&"function"==typeof n.callback&&n.callback()})).finally(n&&n.finally?n.finally:function(){})},login:function(a,n){var e=a.commit,c=a.dispatch;t.auth.login(n.credentials).then((function(t){e("me",t.data),e("modal",null),c("cart/get",{finally:function(){}},{root:!0}),c("wishlist/get",{finally:function(){}},{root:!0}),window.localStorage&&window.localStorage.clear(),n&&"function"==typeof n.callback&&n.callback()})).catch((function(t){n&&"function"==typeof n.catch&&n.catch(t)})).finally(n.finally)},logout:function(a,n){var e=a.commit;t.auth.logout().then((function(){e("me",{user:{},account:[]}),e("wishlist/items",[],{root:!0}),window.localStorage&&window.localStorage.clear(),n&&"function"==typeof n.callback&&n.callback(),-1!==window.location.href.indexOf("/account")&&(window.location.href=$env.locale.url+"/")}))},reset:function(a,e){n(a),t.auth.reset(e.credentials).then((function(t){if(e&&"function"==typeof e.callback){var a=t.data&&t.data.message?t.data.message:"";e.callback(a,!1,t.data)}})).catch((function(t){e&&"function"==typeof e.callback&&t.response.data.errors&&t.response.data.errors.email&&e.callback(t.response.data.errors.email[0],!0)})).finally(e.finally)},resetSms:function(a,e){n(a),t.auth.resetSms(e.credentials).then((function(t){e&&"function"==typeof e.callback&&e.callback(t.data,!1)})).catch((function(t){e&&"function"==typeof e.callback&&t.response.data.error&&e.callback(t.response.data,!0)})).finally(e.finally)},passwordUpdate:function(a,e){n(a),t.auth.passwordUpdate(e.credentials).then((function(t){if(e&&"function"==typeof e.callback){var a=t.data&&t.data.message?t.data.message:"";e.callback(a)}})).catch((function(t){e&&"function"==typeof e.callback&&t.response.data.errors&&t.response.data.errors.email&&e.callback(t.response.data.errors.email[0],!0)})).finally(e.finally)},register:function(a,n){a.commit,t.auth["register"+n.type](n.credentials).then((function(t){n&&"function"==typeof n.callback&&n.callback()})).catch((function(t){n&&"function"==typeof n.catch&&n.catch(t)})).finally(n.finally)},update:function(a,n){a.commit,t.auth.update(n.credentials).then((function(t){n&&"function"==typeof n.callback&&n.callback()})).catch((function(t){n&&"function"==typeof n.catch&&n.catch(t)})).finally(n.finally)}},mutations:i},wishlist:o,compare:l,review:s,order:u,checkout:{namespaced:!0,state:{user:{},payment:null,shipping:null,shippingData:{},dontcall:!1,comment:""},getters:{user:function(t,a,n,e){return Object.keys(t.user).length?t.user:JSON.parse(JSON.stringify(e["auth/me"]))},shipping:function(t){return t.shipping},shippingData:function(t){return t.shippingData},payment:function(t){return t.payment},dontcall:function(t){return t.dontcall},comment:function(t){return t.comment}},mutations:{user:function(t,a){t.user=a},shipping:function(t,a){t.shipping=a},shippingData:function(t,a){t.shippingData=a},payment:function(t,a){t.payment=a},dontcall:function(t,a){t.dontcall=a},comment:function(t,a){t.comment=a},reset:function(t){t.user={},t.payment=null,t.shipping=null,t.shippingData={},t.dontcall=!1,t.comment=""}}}},strict:!1};module.exports=r;
|
|
2
2
|
//# sourceMappingURL=store.js.map
|
package/dist/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sources":["../src/store/modules/cart.js","../src/store/modules/auth.js","../src/store/modules/wishlist.js","../src/store/modules/compare.js","../src/store/modules/review.js","../src/store/modules/order.js","../src/store/index.js","../src/store/modules/checkout.js"],"sourcesContent":["import {\n cart as api\n} from '@perevorot/shop/dist/api'\n\nconst state = {\n items: [],\n cross: [],\n bundles: [],\n modal: false\n}\n\nconst getters = {\n items: (state) => {\n return state.items;\n },\n\n cross: (state) => {\n return state.cross;\n },\n\n bundles: (state) => {\n return state.bundles;\n },\n\n productQuantity: (state, getters) => (id) => {\n const product = getters.items.find(product => product.id === id);\n\n return product ? product.quantity : 0;\n },\n\n quantity: (state, getters) => {\n let count = 0;\n\n getters.items.forEach((item) => {\n count += parseInt(item.quantity);\n });\n\n return count;\n },\n\n total: (state, getters) => {\n let total = 0;\n\n getters.items.forEach((item) => {\n let price = (item.attributes.price ? item.attributes.price : item.price);\n\n if (item.attributes.options && item.attributes.options.length && item.options && item.options.length) {\n let optionsPrice = 0;\n\n item.options.forEach(option => {\n if (item.attributes.options.indexOf(option.id) !== -1) {\n optionsPrice += parseInt(option.price);\n }\n });\n\n price += optionsPrice;\n }\n\n total +=\n price *\n (item.attributes.active === false ? 0 : item.quantity);\n });\n\n return total;\n },\n\n modal: (state) => {\n document.documentElement.classList[state.modal ? 'add' : 'remove']('is-modal-open');\n\n return state.modal;\n }\n}\n\nconst actions = {\n get({\n commit\n }, data) {\n api.items().then((response) => {\n commit('items', response.data.items);\n\n if (response.data && response.data.cross) {\n commit('cross', response.data.cross);\n }\n\n if (response.data && response.data.bundles) {\n commit('bundles', response.data.bundles);\n }\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n add({\n commit,\n state\n }, data) {\n api.add(data.product).then((response) => {\n if (response.data && response.data.items && response.data.items.length) {\n commit('items', response.data.items);\n } else {\n commit('quantity', data.product);\n }\n\n if (response.data && response.data.cross) {\n commit('cross', response.data.cross);\n }\n\n if (response.data && response.data.bundles) {\n commit('bundles', response.data.bundles);\n }\n\n if (!state.modal) {\n commit('modal', true);\n }\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n options({\n commit,\n state\n }, data) {\n api.options(data.product).then((response) => {\n if (response.data && response.data.items && response.data.items.length) {\n commit('items', response.data.items);\n }\n\n if (!state.modal) {\n commit('modal', true);\n }\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n quantity({\n commit\n }, data) {\n api.quantity(data.product).then(() => {\n commit('quantity', data.product);\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n remove({\n commit\n }, data) {\n api.remove(data.id).then((response) => {\n commit('remove', data.id);\n\n if (response.data && response.data.cross) {\n commit('cross', response.data.cross);\n }\n\n if (response.data && response.data.bundles) {\n commit('bundles', response.data.bundles);\n }\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n clear({\n commit\n }, data) {\n api.clear(data.id).then(() => {\n commit('clear');\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n }\n}\n\nconst mutations = {\n modal(state, action) {\n state.modal = action;\n },\n\n items(state, items) {\n state.items = items;\n },\n\n cross(state, cross) {\n state.cross = cross;\n },\n\n bundles(state, bundles) {\n state.bundles = bundles;\n },\n\n remove(state, id) {\n state.items = state.items.filter(item => item.id !== id);\n },\n\n quantity(state, item) {\n const product = state.items.find(product => product.id === item.id);\n\n product.quantity = item.exact ? item.exact : (product.quantity + item.quantity);\n },\n\n clear(state) {\n state.items = [];\n state.cross = [];\n state.bundles = [];\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}","import {\n auth as api\n} from '@perevorot/shop/dist/api'\n// import {\n// useGlobalToast as useToast\n// } from \"@/global/toast\";\nimport { useToast } from 'vue-toastification';\nconst toast = useToast();\n\nconst state = {\n user: {},\n modal: false,\n account: []\n}\n\nconst getters = {\n me: (state) => {\n return state.user;\n },\n account: (state) => {\n return state.account;\n },\n modal: (state) => {\n document.documentElement.classList[state.modal ? 'add' : 'remove']('is-modal-open');\n\n return state.modal;\n },\n is: (state) => {\n return Object.keys(state.user).length > 0;\n }\n}\n\nconst actions = {\n me({\n commit\n }, data) {\n api.me().then((response) => {\n commit('me', response.data);\n\n if (response.data.flash && response.data.flash.message) {\n console.error(response.data.flash.message);\n\n toast(response.data.flash.message, {\n type: response.data.flash.type ? response.data.flash.type : 'default'\n });\n }\n\n if (response.data.flash && response.data.flash.modal) {\n commit('modal', response.data.flash.modal);\n }\n\n if (data && typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data && data.finally ? data.finally : () => {});\n },\n login({\n commit,\n dispatch\n }, data) {\n api.login(data.credentials).then((response) => {\n commit('me', response.data);\n commit('modal', null);\n\n dispatch(\"cart/get\", {\n finally: () => {},\n }, {\n root: true\n });\n\n dispatch(\"wishlist/get\", {\n finally: () => {},\n }, {\n root: true\n });\n\n if (window.localStorage) {\n window.localStorage.clear();\n }\n\n if (data && typeof data.callback == 'function') {\n data.callback();\n }\n }).catch((error) => {\n if (data && typeof data.catch == 'function') {\n data.catch(error);\n }\n }).finally(data.finally);\n },\n logout({\n commit\n }, data) {\n api.logout().then(() => {\n commit('me', {\n user: {},\n account: []\n });\n\n commit(\"wishlist/items\", [], {\n root: true\n });\n\n if (window.localStorage) {\n window.localStorage.clear();\n }\n\n if (data && typeof data.callback == 'function') {\n data.callback();\n }\n\n if (window.location.href.indexOf('/account') !== -1) {\n window.location.href = $env.locale.url + '/';\n }\n });\n },\n reset({}, data) {\n api.reset(data.credentials).then((response) => {\n if (data && typeof data.callback == 'function') {\n const message = response.data && response.data.message ?\n response.data.message :\n \"\";\n\n data.callback(message);\n }\n }).catch((error) => {\n if (data && typeof data.callback == 'function') {\n if (error.response.data.errors && error.response.data.errors.email) {\n data.callback(error.response.data.errors.email[0], true);\n }\n }\n }).finally(data.finally);\n },\n passwordUpdate({}, data) {\n api.passwordUpdate(data.credentials).then((response) => {\n if (data && typeof data.callback == 'function') {\n const message = response.data && response.data.message ?\n response.data.message :\n \"\";\n\n data.callback(message);\n }\n }).catch((error) => {\n if (data && typeof data.callback == 'function') {\n if (error.response.data.errors && error.response.data.errors.email) {\n data.callback(error.response.data.errors.email[0], true);\n }\n }\n }).finally(data.finally);\n },\n register({\n commit\n }, data) {\n api['register' + data.type](data.credentials).then((response) => {\n if (data && typeof data.callback == 'function') {\n data.callback();\n }\n }).catch((error) => {\n if (data && typeof data.catch == 'function') {\n data.catch(error);\n }\n }).finally(data.finally);\n },\n update({\n commit\n }, data) {\n api['update'](data.credentials).then((response) => {\n if (data && typeof data.callback == 'function') {\n data.callback();\n }\n }).catch((error) => {\n if (data && typeof data.catch == 'function') {\n data.catch(error);\n }\n }).finally(data.finally);\n },\n}\n\nconst mutations = {\n me(state, me) {\n state.user = (Array.isArray(me.user) && !me.user.length ? {} : me.user);\n state.account = me.account;\n },\n modal(state, action) {\n state.modal = action;\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}","import {\n wishlist as api\n} from '@perevorot/shop/dist/api'\n\nconst state = {\n items: [],\n list: [],\n last: ''\n}\n\nconst getters = {\n items: (state) => {\n return state.items;\n },\n item: (state, getters) => (id) => {\n return getters.items.indexOf(id) !== -1;\n },\n list: (state) => {\n return state.list;\n },\n // badge: (state) => {\n // return state.items.length;\n // },\n last: (state) => {\n return state.last;\n },\n}\n\nconst actions = {\n get({\n commit,\n }, data) {\n api.items().then((response) => {\n commit('items', response.data.items);\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n list({\n commit,\n }, data) {\n api.list().then((response) => {\n commit('list', response.data);\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n toggle({\n commit,\n state\n }, data) {\n api.toggle(data.id).then((response) => {\n if (response.data && response.data.items) {\n commit('items', response.data.items);\n }\n\n if (response.data && response.data.last) {\n commit('last', response.data.last);\n }\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n}\n\nconst mutations = {\n items(state, items) {\n state.items = items;\n },\n\n list(state, list) {\n state.list = list;\n },\n\n last(state, last) {\n state.last = last;\n },\n\n remove(state, id) {\n state.items = state.items.filter(item => item.id !== id);\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}","import {\n compare as api\n} from '@perevorot/shop/dist/api'\n\nconst state = {\n products: [],\n categories: [],\n list: [],\n last: ''\n}\n\nconst getters = {\n products: (state) => {\n return state.products;\n },\n categories: (state) => {\n return state.categories;\n },\n product: (state, getters) => (id) => {\n return getters.products.indexOf(id) !== -1;\n },\n list: (state) => {\n return state.list;\n },\n last: (state) => {\n return state.last;\n },\n}\n\nconst actions = {\n get({\n commit,\n }, data) {\n api.items().then((response) => {\n commit('products', response.data.products);\n commit('categories', response.data.categories);\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n category({\n commit,\n }, data) {\n api.category(data.slug).then((response) => {\n commit('products', response.data.products);\n commit('categories', response.data.categories);\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n list({\n commit,\n }, data) {\n api.list().then((response) => {\n commit('list', response.data);\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n toggle({\n commit,\n state\n }, data) {\n api.toggle(data.id).then((response) => {\n if (response.data) {\n commit('products', response.data.products);\n commit('categories', response.data.categories);\n commit('last', response.data.last);\n }\n\n if (typeof data.callback == 'function') {\n data.callback(response.data);\n }\n }).finally(data.finally);\n },\n\n delete({\n commit,\n state\n }, data) {\n api.delete(data.id).then((response) => {\n if (typeof data.callback == 'function') {\n data.callback(response.data);\n }\n }).finally(data.finally);\n },\n}\n\nconst mutations = {\n products(state, products) {\n state.products = products;\n },\n\n categories(state, categories) {\n state.categories = categories;\n },\n\n list(state, list) {\n state.list = list;\n },\n\n remove(state, id) {\n state.products = state.products.filter(item => item.id !== id);\n },\n\n last(state, last) {\n state.last = last;\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}","const state = {\n modal: false\n}\n\nconst getters = {\n modal: (state) => {\n return state.modal;\n }\n}\n\nconst mutations = {\n modal(state, action) {\n document.documentElement.classList[action ? 'add' : 'remove']('is-modal-open');\n\n state.modal = action;\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations\n}","const state = {\n steps: {},\n current: 1,\n modal: false,\n}\n\nconst getters = {\n steps: (state) => {\n return state.steps;\n },\n current: (state) => {\n return state.current;\n },\n modal: (state) => {\n return state.modal;\n }\n}\n\nconst mutations = {\n step(state, data) {\n if (Number.isInteger(data)) {\n state.current = data;\n } else {\n if (data.data) {\n state.steps[data.step] = data.data;\n }\n }\n },\n stepInit(state, data) {\n if (!state.steps[data.step]) {\n state.steps[data.step] = data.data;\n }\n },\n reset(state) {\n state.steps = {};\n state.current = 1;\n },\n modal(state, action) {\n state.modal = action;\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations\n}","import cart from './modules/cart';\nimport auth from './modules/auth';\nimport wishlist from './modules/wishlist';\nimport compare from './modules/compare';\nimport review from './modules/review';\nimport order from './modules/order';\nimport checkout from './modules/checkout';\n\nexport default {\n modules: {\n cart,\n auth,\n wishlist,\n compare,\n review,\n order,\n checkout,\n },\n strict: false,\n};","const state = {\n user: {},\n payment: null,\n shipping: null,\n shippingData: {},\n dontcall: false,\n comment: ''\n};\n\nconst getters = {\n user: (state, getters, rootState, rootGetters) => {\n //return state.user;\n return Object.keys(state.user).length ? state.user : JSON.parse(JSON.stringify(rootGetters['auth/me']));\n },\n shipping: (state) => {\n return state.shipping;\n },\n shippingData: (state) => {\n return state.shippingData;\n },\n payment: (state) => {\n return state.payment;\n },\n dontcall: (state) => {\n return state.dontcall;\n },\n comment: (state) => {\n return state.comment;\n },\n}\n\nconst mutations = {\n user(state, data) {\n state.user = data;\n },\n shipping(state, data) {\n state.shipping = data;\n },\n shippingData(state, data) {\n state.shippingData = data;\n },\n payment(state, data) {\n state.payment = data;\n },\n dontcall(state, data) {\n state.dontcall = data;\n },\n comment(state, data) {\n state.comment = data;\n },\n reset(state) {\n state.user = {};\n state.payment = null;\n state.shipping = null;\n state.shippingData = {};\n state.dontcall = false;\n state.comment = '';\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations\n}"],"names":["namespaced","state","items","cross","bundles","modal","getters","productQuantity","id","product","find","quantity","count","forEach","item","parseInt","total","price","attributes","options","length","optionsPrice","option","indexOf","active","document","documentElement","classList","actions","get","data","commit","api","then","response","callback","add","remove","clear","mutations","action","filter","exact","toast","me","user","account","is","Object","keys","Array","isArray","list","last","toggle","products","categories","category","slug","steps","current","step","Number","isInteger","stepInit","reset","modules","cart","auth","flash","message","console","error","type","login","dispatch","credentials","root","window","localStorage","logout","location","href","$env","locale","url","errors","email","passwordUpdate","register","update","wishlist","compare","review","order","checkout","payment","shipping","shippingData","dontcall","comment","rootState","rootGetters","JSON","parse","stringify","strict"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sources":["../src/store/modules/cart.js","../src/store/modules/auth.js","../src/store/modules/wishlist.js","../src/store/modules/compare.js","../src/store/modules/review.js","../src/store/modules/order.js","../src/store/index.js","../src/store/modules/checkout.js"],"sourcesContent":["import {\n cart as api\n} from '@perevorot/shop/dist/api'\n\nconst state = {\n items: [],\n cross: [],\n bundles: [],\n modal: false\n}\n\nconst getters = {\n items: (state) => {\n return state.items;\n },\n\n cross: (state) => {\n return state.cross;\n },\n\n bundles: (state) => {\n return state.bundles;\n },\n\n productQuantity: (state, getters) => (id) => {\n const product = getters.items.find(product => product.id === id);\n\n return product ? product.quantity : 0;\n },\n\n quantity: (state, getters) => {\n let count = 0;\n\n getters.items.forEach((item) => {\n count += parseInt(item.quantity);\n });\n\n return count;\n },\n\n total: (state, getters) => {\n let total = 0;\n\n getters.items.forEach((item) => {\n let price = (item.attributes.price ? item.attributes.price : item.price);\n\n if (item.attributes.options && item.attributes.options.length && item.options && item.options.length) {\n let optionsPrice = 0;\n\n item.options.forEach(option => {\n if (item.attributes.options.indexOf(option.id) !== -1) {\n optionsPrice += parseInt(option.price);\n }\n });\n\n price += optionsPrice;\n }\n\n total +=\n price *\n (item.attributes.active === false ? 0 : item.quantity);\n });\n\n return total;\n },\n\n modal: (state) => {\n document.documentElement.classList[state.modal ? 'add' : 'remove']('is-modal-open');\n\n return state.modal;\n }\n}\n\nconst actions = {\n get({\n commit\n }, data) {\n api.items().then((response) => {\n commit('items', response.data.items);\n\n if (response.data && response.data.cross) {\n commit('cross', response.data.cross);\n }\n\n if (response.data && response.data.bundles) {\n commit('bundles', response.data.bundles);\n }\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n add({\n commit,\n state\n }, data) {\n api.add(data.product).then((response) => {\n if (response.data && response.data.items && response.data.items.length) {\n commit('items', response.data.items);\n } else {\n commit('quantity', data.product);\n }\n\n if (response.data && response.data.cross) {\n commit('cross', response.data.cross);\n }\n\n if (response.data && response.data.bundles) {\n commit('bundles', response.data.bundles);\n }\n\n if (!state.modal) {\n commit('modal', true);\n }\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n options({\n commit,\n state\n }, data) {\n api.options(data.product).then((response) => {\n if (response.data && response.data.items && response.data.items.length) {\n commit('items', response.data.items);\n }\n\n if (!state.modal) {\n commit('modal', true);\n }\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n quantity({\n commit\n }, data) {\n api.quantity(data.product).then(() => {\n commit('quantity', data.product);\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n remove({\n commit\n }, data) {\n api.remove(data.id).then((response) => {\n commit('remove', data.id);\n\n if (response.data && response.data.cross) {\n commit('cross', response.data.cross);\n }\n\n if (response.data && response.data.bundles) {\n commit('bundles', response.data.bundles);\n }\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n clear({\n commit\n }, data) {\n api.clear(data.id).then(() => {\n commit('clear');\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n }\n}\n\nconst mutations = {\n modal(state, action) {\n state.modal = action;\n },\n\n items(state, items) {\n state.items = items;\n },\n\n cross(state, cross) {\n state.cross = cross;\n },\n\n bundles(state, bundles) {\n state.bundles = bundles;\n },\n\n remove(state, id) {\n state.items = state.items.filter(item => item.id !== id);\n },\n\n quantity(state, item) {\n const product = state.items.find(product => product.id === item.id);\n\n product.quantity = item.exact ? item.exact : (product.quantity + item.quantity);\n },\n\n clear(state) {\n state.items = [];\n state.cross = [];\n state.bundles = [];\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}","import { auth as api } from '@perevorot/shop/dist/api';\n// import {\n// useGlobalToast as useToast\n// } from \"@/global/toast\";\nimport { useToast } from 'vue-toastification';\nconst toast = useToast();\n\nconst state = {\n user: {},\n modal: false,\n account: [],\n};\n\nconst getters = {\n me: (state) => {\n return state.user;\n },\n account: (state) => {\n return state.account;\n },\n modal: (state) => {\n document.documentElement.classList[state.modal ? 'add' : 'remove']('is-modal-open');\n\n return state.modal;\n },\n is: (state) => {\n return Object.keys(state.user).length > 0;\n },\n};\n\nconst actions = {\n me({ commit }, data) {\n api.me()\n .then((response) => {\n commit('me', response.data);\n\n if (response.data.flash && response.data.flash.message) {\n console.error(response.data.flash.message);\n\n toast(response.data.flash.message, {\n type: response.data.flash.type ? response.data.flash.type : 'default',\n });\n }\n\n if (response.data.flash && response.data.flash.modal) {\n commit('modal', response.data.flash.modal);\n }\n\n if (data && typeof data.callback == 'function') {\n data.callback();\n }\n })\n .finally(data && data.finally ? data.finally : () => {});\n },\n login({ commit, dispatch }, data) {\n api.login(data.credentials)\n .then((response) => {\n commit('me', response.data);\n commit('modal', null);\n\n dispatch(\n 'cart/get',\n {\n finally: () => {},\n },\n {\n root: true,\n }\n );\n\n dispatch(\n 'wishlist/get',\n {\n finally: () => {},\n },\n {\n root: true,\n }\n );\n\n if (window.localStorage) {\n window.localStorage.clear();\n }\n\n if (data && typeof data.callback == 'function') {\n data.callback();\n }\n })\n .catch((error) => {\n if (data && typeof data.catch == 'function') {\n data.catch(error);\n }\n })\n .finally(data.finally);\n },\n logout({ commit }, data) {\n api.logout().then(() => {\n commit('me', {\n user: {},\n account: [],\n });\n\n commit('wishlist/items', [], {\n root: true,\n });\n\n if (window.localStorage) {\n window.localStorage.clear();\n }\n\n if (data && typeof data.callback == 'function') {\n data.callback();\n }\n\n if (window.location.href.indexOf('/account') !== -1) {\n window.location.href = $env.locale.url + '/';\n }\n });\n },\n reset({}, data) {\n api.reset(data.credentials)\n .then((response) => {\n if (data && typeof data.callback == 'function') {\n const message = response.data && response.data.message ? response.data.message : '';\n\n data.callback(message, false, response.data);\n }\n })\n .catch((error) => {\n if (data && typeof data.callback == 'function') {\n if (error.response.data.errors && error.response.data.errors.email) {\n data.callback(error.response.data.errors.email[0], true);\n }\n }\n })\n .finally(data.finally);\n },\n resetSms({}, data) {\n api.resetSms(data.credentials)\n .then((response) => {\n if (data && typeof data.callback == 'function') {\n data.callback(response.data, false);\n }\n })\n .catch((error) => {\n if (data && typeof data.callback == 'function') {\n if (error.response.data.error) {\n data.callback(error.response.data, true);\n }\n }\n })\n .finally(data.finally);\n },\n passwordUpdate({}, data) {\n api.passwordUpdate(data.credentials)\n .then((response) => {\n if (data && typeof data.callback == 'function') {\n const message = response.data && response.data.message ? response.data.message : '';\n\n data.callback(message);\n }\n })\n .catch((error) => {\n if (data && typeof data.callback == 'function') {\n if (error.response.data.errors && error.response.data.errors.email) {\n data.callback(error.response.data.errors.email[0], true);\n }\n }\n })\n .finally(data.finally);\n },\n register({ commit }, data) {\n api['register' + data.type](data.credentials)\n .then((response) => {\n if (data && typeof data.callback == 'function') {\n data.callback();\n }\n })\n .catch((error) => {\n if (data && typeof data.catch == 'function') {\n data.catch(error);\n }\n })\n .finally(data.finally);\n },\n update({ commit }, data) {\n api['update'](data.credentials)\n .then((response) => {\n if (data && typeof data.callback == 'function') {\n data.callback();\n }\n })\n .catch((error) => {\n if (data && typeof data.catch == 'function') {\n data.catch(error);\n }\n })\n .finally(data.finally);\n },\n};\n\nconst mutations = {\n me(state, me) {\n state.user = Array.isArray(me.user) && !me.user.length ? {} : me.user;\n state.account = me.account;\n },\n modal(state, action) {\n state.modal = action;\n },\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations,\n};\n","import {\n wishlist as api\n} from '@perevorot/shop/dist/api'\n\nconst state = {\n items: [],\n list: [],\n last: ''\n}\n\nconst getters = {\n items: (state) => {\n return state.items;\n },\n item: (state, getters) => (id) => {\n return getters.items.indexOf(id) !== -1;\n },\n list: (state) => {\n return state.list;\n },\n // badge: (state) => {\n // return state.items.length;\n // },\n last: (state) => {\n return state.last;\n },\n}\n\nconst actions = {\n get({\n commit,\n }, data) {\n api.items().then((response) => {\n commit('items', response.data.items);\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n list({\n commit,\n }, data) {\n api.list().then((response) => {\n commit('list', response.data);\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n toggle({\n commit,\n state\n }, data) {\n api.toggle(data.id).then((response) => {\n if (response.data && response.data.items) {\n commit('items', response.data.items);\n }\n\n if (response.data && response.data.last) {\n commit('last', response.data.last);\n }\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n}\n\nconst mutations = {\n items(state, items) {\n state.items = items;\n },\n\n list(state, list) {\n state.list = list;\n },\n\n last(state, last) {\n state.last = last;\n },\n\n remove(state, id) {\n state.items = state.items.filter(item => item.id !== id);\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}","import {\n compare as api\n} from '@perevorot/shop/dist/api'\n\nconst state = {\n products: [],\n categories: [],\n list: [],\n last: ''\n}\n\nconst getters = {\n products: (state) => {\n return state.products;\n },\n categories: (state) => {\n return state.categories;\n },\n product: (state, getters) => (id) => {\n return getters.products.indexOf(id) !== -1;\n },\n list: (state) => {\n return state.list;\n },\n last: (state) => {\n return state.last;\n },\n}\n\nconst actions = {\n get({\n commit,\n }, data) {\n api.items().then((response) => {\n commit('products', response.data.products);\n commit('categories', response.data.categories);\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n category({\n commit,\n }, data) {\n api.category(data.slug).then((response) => {\n commit('products', response.data.products);\n commit('categories', response.data.categories);\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n list({\n commit,\n }, data) {\n api.list().then((response) => {\n commit('list', response.data);\n\n if (typeof data.callback == 'function') {\n data.callback();\n }\n }).finally(data.finally);\n },\n\n toggle({\n commit,\n state\n }, data) {\n api.toggle(data.id).then((response) => {\n if (response.data) {\n commit('products', response.data.products);\n commit('categories', response.data.categories);\n commit('last', response.data.last);\n }\n\n if (typeof data.callback == 'function') {\n data.callback(response.data);\n }\n }).finally(data.finally);\n },\n\n delete({\n commit,\n state\n }, data) {\n api.delete(data.id).then((response) => {\n if (typeof data.callback == 'function') {\n data.callback(response.data);\n }\n }).finally(data.finally);\n },\n}\n\nconst mutations = {\n products(state, products) {\n state.products = products;\n },\n\n categories(state, categories) {\n state.categories = categories;\n },\n\n list(state, list) {\n state.list = list;\n },\n\n remove(state, id) {\n state.products = state.products.filter(item => item.id !== id);\n },\n\n last(state, last) {\n state.last = last;\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}","const state = {\n modal: false\n}\n\nconst getters = {\n modal: (state) => {\n return state.modal;\n }\n}\n\nconst mutations = {\n modal(state, action) {\n document.documentElement.classList[action ? 'add' : 'remove']('is-modal-open');\n\n state.modal = action;\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations\n}","const state = {\n steps: {},\n current: 1,\n modal: false,\n}\n\nconst getters = {\n steps: (state) => {\n return state.steps;\n },\n current: (state) => {\n return state.current;\n },\n modal: (state) => {\n return state.modal;\n }\n}\n\nconst mutations = {\n step(state, data) {\n if (Number.isInteger(data)) {\n state.current = data;\n } else {\n if (data.data) {\n state.steps[data.step] = data.data;\n }\n }\n },\n stepInit(state, data) {\n if (!state.steps[data.step]) {\n state.steps[data.step] = data.data;\n }\n },\n reset(state) {\n state.steps = {};\n state.current = 1;\n },\n modal(state, action) {\n state.modal = action;\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations\n}","import cart from './modules/cart';\nimport auth from './modules/auth';\nimport wishlist from './modules/wishlist';\nimport compare from './modules/compare';\nimport review from './modules/review';\nimport order from './modules/order';\nimport checkout from './modules/checkout';\n\nexport default {\n modules: {\n cart,\n auth,\n wishlist,\n compare,\n review,\n order,\n checkout,\n },\n strict: false,\n};","const state = {\n user: {},\n payment: null,\n shipping: null,\n shippingData: {},\n dontcall: false,\n comment: ''\n};\n\nconst getters = {\n user: (state, getters, rootState, rootGetters) => {\n //return state.user;\n return Object.keys(state.user).length ? state.user : JSON.parse(JSON.stringify(rootGetters['auth/me']));\n },\n shipping: (state) => {\n return state.shipping;\n },\n shippingData: (state) => {\n return state.shippingData;\n },\n payment: (state) => {\n return state.payment;\n },\n dontcall: (state) => {\n return state.dontcall;\n },\n comment: (state) => {\n return state.comment;\n },\n}\n\nconst mutations = {\n user(state, data) {\n state.user = data;\n },\n shipping(state, data) {\n state.shipping = data;\n },\n shippingData(state, data) {\n state.shippingData = data;\n },\n payment(state, data) {\n state.payment = data;\n },\n dontcall(state, data) {\n state.dontcall = data;\n },\n comment(state, data) {\n state.comment = data;\n },\n reset(state) {\n state.user = {};\n state.payment = null;\n state.shipping = null;\n state.shippingData = {};\n state.dontcall = false;\n state.comment = '';\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations\n}"],"names":["namespaced","state","items","cross","bundles","modal","getters","productQuantity","id","product","find","quantity","count","forEach","item","parseInt","total","price","attributes","options","length","optionsPrice","option","indexOf","active","document","documentElement","classList","actions","get","data","commit","api","then","response","callback","add","remove","clear","mutations","action","filter","exact","toast","me","user","account","is","Object","keys","Array","isArray","list","last","toggle","products","categories","category","slug","steps","current","step","Number","isInteger","stepInit","reset","modules","cart","auth","flash","message","console","error","type","login","dispatch","credentials","root","window","localStorage","logout","location","href","$env","locale","url","errors","email","resetSms","passwordUpdate","register","update","wishlist","compare","review","order","checkout","payment","shipping","shippingData","dontcall","comment","rootState","rootGetters","JSON","parse","stringify","strict"],"mappings":"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"}
|