@perevorot/shop 2.0.159 → 2.0.161
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.map +1 -1
- package/dist/components/account/OrderItem.js.map +1 -1
- package/dist/components/account/User.js.map +1 -1
- package/dist/components/auth/Forget.js.map +1 -1
- package/dist/components/auth/Login.js.map +1 -1
- package/dist/components/auth/Reset.js.map +1 -1
- package/dist/components/auth/User.js.map +1 -1
- package/dist/components/shop/CodeCopy.js.map +1 -1
- package/dist/components/shop/Gallery.js.map +1 -1
- package/dist/components/shop/Notice.js.map +1 -1
- package/dist/components/shop/PromoProducts.js.map +1 -1
- package/dist/components/shop/Search.js.map +1 -1
- package/dist/components/shop/bundle/Bundle.js.map +1 -1
- package/dist/components/shop/bundle/BundleAdd.js.map +1 -1
- package/dist/components/shop/cart/Cart.js.map +1 -1
- package/dist/components/shop/cart/CartAdd.js +1 -1
- package/dist/components/shop/cart/CartAdd.js.map +1 -1
- package/dist/components/shop/cart/CartItem.js +1 -1
- package/dist/components/shop/cart/CartItem.js.map +1 -1
- package/dist/components/shop/cart/CartTrigger.js.map +1 -1
- package/dist/components/shop/compare/CompareAdd.js.map +1 -1
- package/dist/components/shop/compare/CompareDelete.js.map +1 -1
- package/dist/components/shop/compare/CompareDeleteAll.js.map +1 -1
- package/dist/components/shop/filters/FilterSearch.js.map +1 -1
- package/dist/components/shop/filters/Price.js.map +1 -1
- package/dist/components/shop/order/Checkout.js +1 -1
- package/dist/components/shop/order/Checkout.js.map +1 -1
- package/dist/components/shop/order/CheckoutItem.js.map +1 -1
- package/dist/components/shop/order/OneClick.js.map +1 -1
- package/dist/components/shop/order/shipping/CheckoutShippingCourier.js.map +1 -1
- package/dist/components/shop/order/shipping/CheckoutShippingNovaposhtaAddress.js.map +1 -1
- package/dist/components/shop/order/shipping/CheckoutShippingNovaposhtaWarehouse.js.map +1 -1
- package/dist/components/shop/order/shipping/CheckoutShippingPickup.js +1 -1
- package/dist/components/shop/order/shipping/CheckoutShippingPickup.js.map +1 -1
- package/dist/components/shop/order/shipping/CheckoutShippingUkrposhtaWarehouse.js.map +1 -1
- package/dist/components/shop/reviews/Question.js.map +1 -1
- package/dist/components/shop/reviews/Review.js.map +1 -1
- package/dist/components/shop/viewed/Viewed.js.map +1 -1
- package/dist/components/shop/viewed/ViewedDelete.js.map +1 -1
- package/dist/components/shop/viewed/Viewer.js +1 -1
- package/dist/components/shop/viewed/Viewer.js.map +1 -1
- package/dist/components/shop/wishlist/WishlistAdd.js +1 -1
- package/dist/components/shop/wishlist/WishlistAdd.js.map +1 -1
- package/dist/components/shop/wishlist/WishlistDelete.js.map +1 -1
- package/dist/forms/FormCheckbox.js.map +1 -1
- package/dist/forms/FormCheckboxes.js.map +1 -1
- package/dist/forms/FormPassword.js.map +1 -1
- package/dist/forms/FormRadio.js.map +1 -1
- package/dist/forms/FormRating.js.map +1 -1
- package/dist/forms/FormSelect.js.map +1 -1
- package/dist/forms/FormSwitch.js.map +1 -1
- package/dist/forms/FormText.js.map +1 -1
- package/dist/forms/FormTextarea.js.map +1 -1
- package/dist/global.js.map +1 -1
- package/dist/store.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),r=e.defineComponent({name:"viewer",props:{slug:String,code:String,brand:String,category:String,property:String,id:Number},setup:function(r){var i=t.useStore(),o=e.ref(null),c=e.computed((function(){return i.getters["cart/product"](r.id)}));return $http.post($ziggy("api.viewed"),{action:"view",slug:r.slug}),e.onMounted((function(){var e=o.value.closest("[shop-product]"),t
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),r=e.defineComponent({name:"viewer",props:{slug:String,code:String,brand:String,category:String,property:String,id:Number},setup:function(r){var i=t.useStore(),o=e.ref(null),c=e.computed((function(){return i.getters["cart/product"](r.id)}));return $http.post($ziggy("api.viewed"),{action:"view",slug:r.slug}),e.onMounted((function(){var e,t=o.value.closest("[shop-product]"),i=t.querySelector("[shop-product-name]").textContent,n=t.querySelector("[shop-product-price]")?t.querySelector("[shop-product-price]").childNodes[0].nodeValue.replace(/ /g,""):null,m=r.code,a=document.referrer,u={ecommerce:{currency:null!==(e=$env.locale)&&void 0!==e&&e.currency?$env.locale.currency:"UAH",value:parseFloat(n),items:[{item_name:i,item_id:m,item_list_name:a.includes("/post")?"Новини":"Direct",index:1}]},event:"view_item"};if("undefined"!=typeof Storage){var s=sessionStorage.getItem("productIndex");s&&(s=JSON.parse(s),u.ecommerce.items[0].item_list_name=s.item_list_name,u.ecommerce.items[0].index=s.index)}c.value&&c.value.attributes.index&&(u.ecommerce.items[0].index=c.value.attributes.index),c.value&&c.value.attributes.itemListName&&(u.ecommerce.items[0].item_list_name=c.value.attributes.itemListName),n&&(u.ecommerce.items[0].price=parseFloat(n)),r.brand&&(u.ecommerce.items[0].item_brand=r.brand),r.category&&(-1!==r.category.indexOf("/")?r.category.split("/").forEach((function(e,t){u.ecommerce.items[0]["item_category"+(t?t+1:"")]=e.trim()})):u.ecommerce.items[0].item_category=r.category),r.property&&(u.ecommerce.items[0].item_variant=r.property),$env.debug.ecommerce&&console.log(u),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(u))})),{viewer:o}}}),i={class:"is-hidden",ref:"viewer"};r.render=function(t,r,o,c,n,m){return e.openBlock(),e.createElementBlock("span",i,null,512)},module.exports=r;
|
|
2
2
|
//# sourceMappingURL=Viewer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Viewer.js","sources":["../../../../src/components/shop/viewed/Viewer.vue","../../../../src/components/shop/viewed/Viewer.vue?vue&type=template&id=1eaede6a&lang.js"],"sourcesContent":["<template>\n <span class=\"is-hidden\" ref=\"viewer\"></span>\n</template>\n<script>\nimport { ref, onMounted, defineComponent, computed } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'viewer',\n props: {\n slug: String,\n code: String,\n brand: String,\n category: String,\n property: String,\n id: Number\n },\n setup(props) {\n const store = useStore();\n const viewer = ref(null);\n const productInCart = computed(() => store.getters['cart/product'](props.id));\n\n $http.post($ziggy('api.viewed'), {\n action: 'view',\n slug: props.slug\n });\n\n onMounted(() => {\n const product = viewer.value.closest('[shop-product]');\n const name = product.querySelector('[shop-product-name]').textContent;\n const price = product.querySelector('[shop-product-price]') ? product.querySelector('[shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : null;\n const code = props.code;\n const referer = document.referrer;\n\n let object = {\n ecommerce: {\n currency: 'UAH',\n value: parseFloat(price),\n items: [\n {\n item_name: name,\n item_id: code,\n item_list_name: referer.includes('/post') ? 'Новини' : 'Direct',\n index: 1,\n }\n ]\n },\n event: 'view_item'\n };\n\n if (typeof Storage !== 'undefined') {\n let productIndex = sessionStorage.getItem('productIndex');\n\n if (productIndex) {\n productIndex = JSON.parse(productIndex);\n\n object.ecommerce.items[0].item_list_name = productIndex.item_list_name;\n object.ecommerce.items[0].index = productIndex.index;\n }\n }\n\n if (productInCart.value && productInCart.value.attributes.index) {\n object.ecommerce.items[0].index = productInCart.value.attributes.index;\n }\n\n if (productInCart.value && productInCart.value.attributes.itemListName) {\n object.ecommerce.items[0].item_list_name = productInCart.value.attributes.itemListName;\n }\n\n if (price) {\n object.ecommerce.items[0].price = parseFloat(price);\n }\n\n if (props.brand) {\n object.ecommerce.items[0].item_brand = props.brand;\n }\n\n if (props.category) {\n if (props.category.indexOf('/') !== -1) {\n props.category.split('/').forEach((segment, index) => {\n object.ecommerce.items[0]['item_category' + (index ? index + 1 : '')] = segment.trim();\n });\n } else {\n object.ecommerce.items[0].item_category = props.category;\n }\n }\n\n if (props.property) {\n object.ecommerce.items[0].item_variant = props.property;\n }\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n });\n\n return {\n viewer\n };\n }\n});\n</script>","<template>\n <span class=\"is-hidden\" ref=\"viewer\"></span>\n</template>\n<script>\nimport { ref, onMounted, defineComponent, computed } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'viewer',\n props: {\n slug: String,\n code: String,\n brand: String,\n category: String,\n property: String,\n id: Number\n },\n setup(props) {\n const store = useStore();\n const viewer = ref(null);\n const productInCart = computed(() => store.getters['cart/product'](props.id));\n\n $http.post($ziggy('api.viewed'), {\n action: 'view',\n slug: props.slug\n });\n\n onMounted(() => {\n const product = viewer.value.closest('[shop-product]');\n const name = product.querySelector('[shop-product-name]').textContent;\n const price = product.querySelector('[shop-product-price]') ? product.querySelector('[shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : null;\n const code = props.code;\n const referer = document.referrer;\n\n let object = {\n ecommerce: {\n currency: 'UAH',\n value: parseFloat(price),\n items: [\n {\n item_name: name,\n item_id: code,\n item_list_name: referer.includes('/post') ? 'Новини' : 'Direct',\n index: 1,\n }\n ]\n },\n event: 'view_item'\n };\n\n if (typeof Storage !== 'undefined') {\n let productIndex = sessionStorage.getItem('productIndex');\n\n if (productIndex) {\n productIndex = JSON.parse(productIndex);\n\n object.ecommerce.items[0].item_list_name = productIndex.item_list_name;\n object.ecommerce.items[0].index = productIndex.index;\n }\n }\n\n if (productInCart.value && productInCart.value.attributes.index) {\n object.ecommerce.items[0].index = productInCart.value.attributes.index;\n }\n\n if (productInCart.value && productInCart.value.attributes.itemListName) {\n object.ecommerce.items[0].item_list_name = productInCart.value.attributes.itemListName;\n }\n\n if (price) {\n object.ecommerce.items[0].price = parseFloat(price);\n }\n\n if (props.brand) {\n object.ecommerce.items[0].item_brand = props.brand;\n }\n\n if (props.category) {\n if (props.category.indexOf('/') !== -1) {\n props.category.split('/').forEach((segment, index) => {\n object.ecommerce.items[0]['item_category' + (index ? index + 1 : '')] = segment.trim();\n });\n } else {\n object.ecommerce.items[0].item_category = props.category;\n }\n }\n\n if (props.property) {\n object.ecommerce.items[0].item_variant = props.property;\n }\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n });\n\n return {\n viewer\n };\n }\n});\n</script>"],"names":["script","defineComponent","name","props","slug","String","code","brand","category","property","id","Number","setup","store","useStore","viewer","ref","productInCart","computed","getters","$http","post","$ziggy","action","onMounted","product","value","closest","querySelector","textContent","price","childNodes","nodeValue","replace","referer","document","referrer","object","ecommerce","currency","parseFloat","items","item_name","item_id","item_list_name","includes","index","event","Storage","productIndex","sessionStorage","getItem","JSON","parse","attributes","itemListName","item_brand","indexOf","split","forEach","segment","trim","item_category","item_variant","$env","debug","console","log","window","dataLayer","push","class","_openBlock","_createElementBlock","_hoisted_1"],"mappings":"oDAOeA,EAAcC,kBAAgB,CACzCC,KAAM,SACNC,MAAO,CACHC,KAAMC,OACNC,KAAMD,OACNE,MAAOF,OACPG,SAAUH,OACVI,SAAUJ,OACVK,GAAIC,QAERC,MAAK,SAACT,GACF,IAAMU,EAAQC,EAAAA,WACRC,EAASC,MAAI,MACbC,EAAgBC,EAAAA,UAAS,WAAA,OAAML,EAAMM,QAAQ,gBAAgBhB,EAAMO,OAoFzE,OAlFAU,MAAMC,KAAKC,OAAO,cAAe,CAC7BC,OAAQ,OACRnB,KAAMD,EAAMC,OAGhBoB,EAAAA,WAAU,WACN,IAAMC,EAAUV,EAAOW,MAAMC,QAAQ,kBAC/BzB,EAAOuB,EAAQG,cAAc,uBAAuBC,YACpDC,EAAQL,EAAQG,cAAc,wBAA0BH,EAAQG,cAAc,wBAAwBG,WAAW,GAAGC,UAAUC,QAAQ,KAAM,IAAM,KAClJ3B,EAAOH,EAAMG,KACb4B,EAAUC,SAASC,SAErBC,EAAS,CACTC,UAAW,CACPC,SAAU,MACVb,MAAOc,WAAWV,GAClBW,MAAO,CACH,CACIC,UAAWxC,EACXyC,QAASrC,EACTsC,eAAgBV,EAAQW,SAAS,SAAW,SAAW,SACvDC,MAAO,KAInBC,MAAO,aAGX,GAAuB,oBAAZC,QAAyB,CAChC,IAAIC,EAAeC,eAAeC,QAAQ,gBAEtCF,IACAA,EAAeG,KAAKC,MAAMJ,GAE1BZ,EAAOC,UAAUG,MAAM,GAAGG,eAAiBK,EAAaL,eACxDP,EAAOC,UAAUG,MAAM,GAAGK,MAAQG,EAAaH,OAInD7B,EAAcS,OAAST,EAAcS,MAAM4B,WAAWR,QACtDT,EAAOC,UAAUG,MAAM,GAAGK,MAAQ7B,EAAcS,MAAM4B,WAAWR,OAGjE7B,EAAcS,OAAST,EAAcS,MAAM4B,WAAWC,eACtDlB,EAAOC,UAAUG,MAAM,GAAGG,eAAiB3B,EAAcS,MAAM4B,WAAWC,cAG1EzB,IACAO,EAAOC,UAAUG,MAAM,GAAGX,MAAQU,WAAWV,IAG7C3B,EAAMI,QACN8B,EAAOC,UAAUG,MAAM,GAAGe,WAAarD,EAAMI,OAG7CJ,EAAMK,YAC+B,IAAjCL,EAAMK,SAASiD,QAAQ,KACvBtD,EAAMK,SAASkD,MAAM,KAAKC,SAAQ,SAACC,EAASd,GACxCT,EAAOC,UAAUG,MAAM,GAAG,iBAAmBK,EAAQA,EAAQ,EAAI,KAAOc,EAAQC,UAGpFxB,EAAOC,UAAUG,MAAM,GAAGqB,cAAgB3D,EAAMK,UAIpDL,EAAMM,WACN4B,EAAOC,UAAUG,MAAM,GAAGsB,aAAe5D,EAAMM,UAG/CuD,KAAKC,MAAM3B,WACX4B,QAAQC,IAAI9B,IAGX2B,KAAKC,MAAM3B,WAAa8B,OAAOC,YAChCD,OAAOC,UAAUC,KAAK,CAClBhC,UAAW,OAGf8B,OAAOC,UAAUC,KAAKjC,OAIvB,CACHtB,OAAAA,SCxGFwD,MAAM,YAAYvD,IAAI,yCAA5B,OAAAwD,EAAAA,YAAAC,qBAA2C,OAA3CC,EAA2C,KAAA"}
|
|
1
|
+
{"version":3,"file":"Viewer.js","sources":["../../../../src/components/shop/viewed/Viewer.vue","../../../../src/components/shop/viewed/Viewer.vue?vue&type=template&id=b64dab0c&lang.js"],"sourcesContent":["<template>\n <span class=\"is-hidden\" ref=\"viewer\"></span>\n</template>\n<script>\nimport { ref, onMounted, defineComponent, computed } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'viewer',\n props: {\n slug: String,\n code: String,\n brand: String,\n category: String,\n property: String,\n id: Number\n },\n setup(props) {\n const store = useStore();\n const viewer = ref(null);\n const productInCart = computed(() => store.getters['cart/product'](props.id));\n\n $http.post($ziggy('api.viewed'), {\n action: 'view',\n slug: props.slug\n });\n\n onMounted(() => {\n const product = viewer.value.closest('[shop-product]');\n const name = product.querySelector('[shop-product-name]').textContent;\n const price = product.querySelector('[shop-product-price]') ? product.querySelector('[shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : null;\n const code = props.code;\n const referer = document.referrer;\n\n let object = {\n ecommerce: {\n currency: $env.locale?.currency ? $env.locale.currency : 'UAH',\n value: parseFloat(price),\n items: [\n {\n item_name: name,\n item_id: code,\n item_list_name: referer.includes('/post') ? 'Новини' : 'Direct',\n index: 1,\n }\n ]\n },\n event: 'view_item'\n };\n\n if (typeof Storage !== 'undefined') {\n let productIndex = sessionStorage.getItem('productIndex');\n\n if (productIndex) {\n productIndex = JSON.parse(productIndex);\n\n object.ecommerce.items[0].item_list_name = productIndex.item_list_name;\n object.ecommerce.items[0].index = productIndex.index;\n }\n }\n\n if (productInCart.value && productInCart.value.attributes.index) {\n object.ecommerce.items[0].index = productInCart.value.attributes.index;\n }\n\n if (productInCart.value && productInCart.value.attributes.itemListName) {\n object.ecommerce.items[0].item_list_name = productInCart.value.attributes.itemListName;\n }\n\n if (price) {\n object.ecommerce.items[0].price = parseFloat(price);\n }\n\n if (props.brand) {\n object.ecommerce.items[0].item_brand = props.brand;\n }\n\n if (props.category) {\n if (props.category.indexOf('/') !== -1) {\n props.category.split('/').forEach((segment, index) => {\n object.ecommerce.items[0]['item_category' + (index ? index + 1 : '')] = segment.trim();\n });\n } else {\n object.ecommerce.items[0].item_category = props.category;\n }\n }\n\n if (props.property) {\n object.ecommerce.items[0].item_variant = props.property;\n }\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n });\n\n return {\n viewer\n };\n }\n});\n</script>","<template>\n <span class=\"is-hidden\" ref=\"viewer\"></span>\n</template>\n<script>\nimport { ref, onMounted, defineComponent, computed } from 'vue';\nimport { useStore } from 'vuex';\n\nexport default /*#__PURE__*/ defineComponent({\n name: 'viewer',\n props: {\n slug: String,\n code: String,\n brand: String,\n category: String,\n property: String,\n id: Number\n },\n setup(props) {\n const store = useStore();\n const viewer = ref(null);\n const productInCart = computed(() => store.getters['cart/product'](props.id));\n\n $http.post($ziggy('api.viewed'), {\n action: 'view',\n slug: props.slug\n });\n\n onMounted(() => {\n const product = viewer.value.closest('[shop-product]');\n const name = product.querySelector('[shop-product-name]').textContent;\n const price = product.querySelector('[shop-product-price]') ? product.querySelector('[shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : null;\n const code = props.code;\n const referer = document.referrer;\n\n let object = {\n ecommerce: {\n currency: $env.locale?.currency ? $env.locale.currency : 'UAH',\n value: parseFloat(price),\n items: [\n {\n item_name: name,\n item_id: code,\n item_list_name: referer.includes('/post') ? 'Новини' : 'Direct',\n index: 1,\n }\n ]\n },\n event: 'view_item'\n };\n\n if (typeof Storage !== 'undefined') {\n let productIndex = sessionStorage.getItem('productIndex');\n\n if (productIndex) {\n productIndex = JSON.parse(productIndex);\n\n object.ecommerce.items[0].item_list_name = productIndex.item_list_name;\n object.ecommerce.items[0].index = productIndex.index;\n }\n }\n\n if (productInCart.value && productInCart.value.attributes.index) {\n object.ecommerce.items[0].index = productInCart.value.attributes.index;\n }\n\n if (productInCart.value && productInCart.value.attributes.itemListName) {\n object.ecommerce.items[0].item_list_name = productInCart.value.attributes.itemListName;\n }\n\n if (price) {\n object.ecommerce.items[0].price = parseFloat(price);\n }\n\n if (props.brand) {\n object.ecommerce.items[0].item_brand = props.brand;\n }\n\n if (props.category) {\n if (props.category.indexOf('/') !== -1) {\n props.category.split('/').forEach((segment, index) => {\n object.ecommerce.items[0]['item_category' + (index ? index + 1 : '')] = segment.trim();\n });\n } else {\n object.ecommerce.items[0].item_category = props.category;\n }\n }\n\n if (props.property) {\n object.ecommerce.items[0].item_variant = props.property;\n }\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n });\n\n return {\n viewer\n };\n }\n});\n</script>"],"names":["script","defineComponent","name","props","slug","String","code","brand","category","property","id","Number","setup","store","useStore","viewer","ref","productInCart","computed","getters","$http","post","$ziggy","action","onMounted","_$env$locale","product","value","closest","querySelector","textContent","price","childNodes","nodeValue","replace","referer","document","referrer","object","ecommerce","currency","$env","locale","parseFloat","items","item_name","item_id","item_list_name","includes","index","event","Storage","productIndex","sessionStorage","getItem","JSON","parse","attributes","itemListName","item_brand","indexOf","split","forEach","segment","trim","item_category","item_variant","debug","console","log","window","dataLayer","push","class","_openBlock","_createElementBlock","_hoisted_1"],"mappings":"oDAOeA,EAAcC,kBAAgB,CACzCC,KAAM,SACNC,MAAO,CACHC,KAAMC,OACNC,KAAMD,OACNE,MAAOF,OACPG,SAAUH,OACVI,SAAUJ,OACVK,GAAIC,QAERC,MAAAA,SAAMT,GACF,IAAMU,EAAQC,EAAAA,WACRC,EAASC,MAAI,MACbC,EAAgBC,EAAAA,UAAS,WAAA,OAAML,EAAMM,QAAQ,gBAAgBhB,EAAMO,OAoFzE,OAlFAU,MAAMC,KAAKC,OAAO,cAAe,CAC7BC,OAAQ,OACRnB,KAAMD,EAAMC,OAGhBoB,EAAAA,WAAU,WAAM,IAAAC,EACNC,EAAUX,EAAOY,MAAMC,QAAQ,kBAC/B1B,EAAOwB,EAAQG,cAAc,uBAAuBC,YACpDC,EAAQL,EAAQG,cAAc,wBAA0BH,EAAQG,cAAc,wBAAwBG,WAAW,GAAGC,UAAUC,QAAQ,KAAM,IAAM,KAClJ5B,EAAOH,EAAMG,KACb6B,EAAUC,SAASC,SAErBC,EAAS,CACTC,UAAW,CACPC,iBAAUf,EAAAgB,KAAKC,cAAM,IAAAjB,GAAXA,EAAae,SAAWC,KAAKC,OAAOF,SAAW,MACzDb,MAAOgB,WAAWZ,GAClBa,MAAO,CACH,CACIC,UAAW3C,EACX4C,QAASxC,EACTyC,eAAgBZ,EAAQa,SAAS,SAAW,SAAW,SACvDC,MAAO,KAInBC,MAAO,aAGX,GAAuB,oBAAZC,QAAyB,CAChC,IAAIC,EAAeC,eAAeC,QAAQ,gBAEtCF,IACAA,EAAeG,KAAKC,MAAMJ,GAE1Bd,EAAOC,UAAUK,MAAM,GAAGG,eAAiBK,EAAaL,eACxDT,EAAOC,UAAUK,MAAM,GAAGK,MAAQG,EAAaH,OAInDhC,EAAcU,OAASV,EAAcU,MAAM8B,WAAWR,QACtDX,EAAOC,UAAUK,MAAM,GAAGK,MAAQhC,EAAcU,MAAM8B,WAAWR,OAGjEhC,EAAcU,OAASV,EAAcU,MAAM8B,WAAWC,eACtDpB,EAAOC,UAAUK,MAAM,GAAGG,eAAiB9B,EAAcU,MAAM8B,WAAWC,cAG1E3B,IACAO,EAAOC,UAAUK,MAAM,GAAGb,MAAQY,WAAWZ,IAG7C5B,EAAMI,QACN+B,EAAOC,UAAUK,MAAM,GAAGe,WAAaxD,EAAMI,OAG7CJ,EAAMK,YAC+B,IAAjCL,EAAMK,SAASoD,QAAQ,KACvBzD,EAAMK,SAASqD,MAAM,KAAKC,SAAQ,SAACC,EAASd,GACxCX,EAAOC,UAAUK,MAAM,GAAG,iBAAmBK,EAAQA,EAAQ,EAAI,KAAOc,EAAQC,UAGpF1B,EAAOC,UAAUK,MAAM,GAAGqB,cAAgB9D,EAAMK,UAIpDL,EAAMM,WACN6B,EAAOC,UAAUK,MAAM,GAAGsB,aAAe/D,EAAMM,UAG/CgC,KAAK0B,MAAM5B,WACX6B,QAAQC,IAAI/B,IAGXG,KAAK0B,MAAM5B,WAAa+B,OAAOC,YAChCD,OAAOC,UAAUC,KAAK,CAClBjC,UAAW,OAGf+B,OAAOC,UAAUC,KAAKlC,OAIvB,CACHvB,OAAAA,SCxGF0D,MAAM,YAAYzD,IAAI,yCAA5B,OAAA0D,EAAAA,YAAAC,qBAA2C,OAA3CC,EAA2C,KAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("vue"),t=require("vuex"),r=require("vue-toastification"),i={props:{last:null},setup:function(){return{translate:window.__}}},o={class:"shop-wishlist-success-message"},s=["href"];i.render=function(t,r,i,n,c,
|
|
1
|
+
"use strict";var e=require("vue"),t=require("vuex"),r=require("vue-toastification"),i={props:{last:null},setup:function(){return{translate:window.__}}},o={class:"shop-wishlist-success-message"},s=["href"];i.render=function(t,r,i,n,c,l){return e.openBlock(),e.createElementBlock("div",o,[e.createElementVNode("div",null,e.toDisplayString(n.translate("shop.wishlist.product_added_named",{product:i.last.name})),1),e.createElementVNode("a",{href:i.last.url,class:"mt-2 is-size-7",style:{color:"#fff","border-bottom":"1px solid #fff"}},e.toDisplayString(n.translate("shop.wishlist.goto")),9,s)])};var n=e.defineComponent({props:{id:Number,code:{type:String,default:null},property:{type:String,default:null},item:{type:Object,default:null}},setup:function(o){var s=e.ref(!1),n=r.useToast(),c=t.useStore(),l=e.computed((function(){return c.getters["wishlist/item"](o.id)})),a=e.computed((function(){return c.getters["auth/is"]})),u=e.computed((function(){return c.getters["wishlist/last"]})),m=e.ref(null);return{item:l,action:function(){if(!s.value)if(a.value){s.value=!0;var e={};window.getTrackingIndexProductsList&&"function"==typeof window.getTrackingIndexProductsList&&(e=window.getTrackingIndexProductsList(m.value));var t=m.value.closest("[shop-product]"),r=t.querySelector("[shop-product-name]")?t.querySelector("[shop-product-name]").textContent:null,d=t.querySelector(".cart-prices > .prices.is-active [shop-product-price]")?t.querySelector(".cart-prices > .prices.is-active [shop-product-price]").childNodes[0].nodeValue.replace(/ /g,""):null,p=!d&&t.querySelector("[shop-product-price]")?t.querySelector("[shop-product-price]").childNodes[0].nodeValue.replace(/ /g,""):d,h=o.code?o.code:t.dataset.code,f=t.querySelector("[shop-product-category]")?t.querySelector("[shop-product-category]").textContent:null,y=t.querySelector("[shop-product-brand]")?t.querySelector("[shop-product-brand]").textContent:null;c.dispatch("wishlist/toggle",{id:o.id,finally:function(){var t,c="";if(l.value){var a={component:i,props:{last:{name:u,url:$ziggy("account.wish")}}};n(a,{type:"success"}),c="add_to_wishlist"}else n(__("shop.wishlist.product_deleted"),{type:"warning"}),c="remove_from_wish_list";var m={ecommerce:{currency:null!==(t=$env.locale)&&void 0!==t&&t.currency?$env.locale.currency:"UAH",value:parseFloat(p),items:[{item_name:r,item_id:h,price:parseFloat(p),quantity:1}]},event:c};o.item&&o.item.attributes.index?m.ecommerce.items[0].index=o.item.attributes.index:e.index&&(m.ecommerce.items[0].index=e.index),o.item&&o.item.attributes.itemListName?m.ecommerce.items[0].item_list_name=o.item.attributes.itemListName:e.item_list_name&&(m.ecommerce.items[0].item_list_name=e.item_list_name),y&&(m.ecommerce.items[0].item_brand=y),o.item&&o.item.attributes.property?m.ecommerce.items[0].item_variant=o.item.attributes.property:o.property&&(m.ecommerce.items[0].item_variant=o.property),f&&(-1!==f.indexOf("/")?f.split("/").forEach((function(e,t){m.ecommerce.items[0]["item_category"+(t?t+1:"")]=e.trim()})):m.ecommerce.items[0].item_category=f),$env.debug.ecommerce&&console.log(m),!$env.debug.ecommerce&&window.dataLayer&&(window.dataLayer.push({ecommerce:null}),window.dataLayer.push(m)),s.value=!1}})}else c.commit("auth/modal","login")},loading:s,button:m}}}),c=["title"],l=e.createElementVNode("svg",{class:"icon wishlist"},[e.createElementVNode("use",{"xlink:href":"#wishlist"})],-1);n.render=function(t,r,i,o,s,n){return e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["button wishlist",{"is-loading":t.loading,"is-transparent":!t.item}]),onClick:r[0]||(r[0]=function(){return t.action&&t.action.apply(t,arguments)}),title:t.__("shop.wishlist.add"),ref:"button"},[e.renderSlot(t.$slots,"default",{product:t.item},(function(){return[l]}))],10,c)},module.exports=n;
|
|
2
2
|
//# sourceMappingURL=WishlistAdd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WishlistAdd.js","sources":["../../../../src/components/shop/wishlist/SuccessMessage.vue","../../../../src/components/shop/wishlist/SuccessMessage.vue?vue&type=template&id=2780632f&lang.js","../../../../src/components/shop/wishlist/WishlistAdd.vue","../../../../src/components/shop/wishlist/WishlistAdd.vue?vue&type=template&id=84562dca&lang.js"],"sourcesContent":["<template>\n <div class=\"shop-wishlist-success-message\">\n <div>\n {{\n translate(\"shop.wishlist.product_added_named\", {\n product: last.name,\n })\n }}\n </div>\n <a\n :href=\"last.url\"\n class=\"mt-2 is-size-7\"\n style=\"color: #fff; border-bottom: 1px solid #fff\"\n >{{ translate(\"shop.wishlist.goto\") }}</a\n >\n </div>\n</template>\n<script>\nexport default {\n props: {\n last: null,\n },\n setup() {\n const translate = window.__;\n\n return {\n translate,\n };\n },\n};\n</script>","<template>\n <div class=\"shop-wishlist-success-message\">\n <div>\n {{\n translate(\"shop.wishlist.product_added_named\", {\n product: last.name,\n })\n }}\n </div>\n <a\n :href=\"last.url\"\n class=\"mt-2 is-size-7\"\n style=\"color: #fff; border-bottom: 1px solid #fff\"\n >{{ translate(\"shop.wishlist.goto\") }}</a\n >\n </div>\n</template>\n<script>\nexport default {\n props: {\n last: null,\n },\n setup() {\n const translate = window.__;\n\n return {\n translate,\n };\n },\n};\n</script>","<template>\n <button class=\"button wishlist\" @click=\"action\" v-bind:class=\"{ 'is-loading': loading, 'is-transparent': !item }\" :title=\"__('shop.wishlist.add')\" ref=\"button\">\n <slot :product=\"item\">\n <svg class=\"icon wishlist\">\n <use xlink:href=\"#wishlist\" />\n </svg>\n </slot>\n </button>\n</template>\n<script>\nimport { ref, computed, defineComponent } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { useToast } from \"vue-toastification\";\nimport SuccessMessage from \"./SuccessMessage.vue\";\n\nexport default /*#__PURE__*/ defineComponent({\n props: {\n id: Number,\n code: {\n type: String,\n default: null\n },\n property: {\n type: String,\n default: null\n },\n item: {\n type: Object,\n default: null\n }\n },\n setup(props) {\n const loading = ref(false);\n const toast = useToast();\n const store = useStore();\n const item = computed(() => store.getters[\"wishlist/item\"](props.id));\n const auth = computed(() => store.getters[\"auth/is\"]);\n const last = computed(() => store.getters[\"wishlist/last\"]);\n const button = ref(null);\n\n const action = () => {\n if (!loading.value) {\n if (!auth.value) {\n store.commit(\"auth/modal\", \"login\");\n } else {\n loading.value = true;\n\n let trackingIndex = {};\n\n if (window.getTrackingIndexProductsList && typeof window.getTrackingIndexProductsList === 'function') {\n trackingIndex = window.getTrackingIndexProductsList(button.value);\n }\n\n const product = button.value.closest('[shop-product]');\n const name = product.querySelector('[shop-product-name]') ? product.querySelector('[shop-product-name]').textContent : null;\n const priceActive = product.querySelector('.cart-prices > .prices.is-active [shop-product-price]') ? product.querySelector('.cart-prices > .prices.is-active [shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : null;\n const price = !priceActive && product.querySelector('[shop-product-price]') ? product.querySelector('[shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : priceActive;\n const code = props.code ? props.code : product.dataset.code;\n const category = product.querySelector('[shop-product-category]') ? product.querySelector('[shop-product-category]').textContent : null;\n const brand = product.querySelector('[shop-product-brand]') ? product.querySelector('[shop-product-brand]').textContent : null;\n\n store.dispatch(\"wishlist/toggle\", {\n id: props.id,\n finally: () => {\n let eventName = '';\n\n if (item.value) {\n const component = {\n component: SuccessMessage,\n props: {\n last: {\n name: last,\n url: $ziggy(\"account.wish\"),\n },\n },\n };\n\n toast(component, {\n type: \"success\",\n });\n\n eventName = 'add_to_wishlist';\n } else {\n toast(__(\"shop.wishlist.product_deleted\"), {\n type: \"warning\",\n });\n\n eventName = 'remove_from_wish_list';\n }\n\n const object = {\n ecommerce: {\n currency: 'UAH',\n value: parseFloat(price),\n items: [\n {\n item_name: name,\n item_id: code,\n price: parseFloat(price),\n quantity: 1,\n }\n ]\n },\n event: eventName\n };\n\n if (props.item && props.item.attributes.index) {\n object.ecommerce.items[0].index = props.item.attributes.index;\n } else if (trackingIndex.index) {\n object.ecommerce.items[0].index = trackingIndex.index;\n }\n\n if (props.item && props.item.attributes.itemListName) {\n object.ecommerce.items[0].item_list_name = props.item.attributes.itemListName;\n } else if (trackingIndex.item_list_name) {\n object.ecommerce.items[0].item_list_name = trackingIndex.item_list_name;\n }\n\n if (brand) {\n object.ecommerce.items[0].item_brand = brand;\n }\n\n if (props.item && props.item.attributes.property) {\n object.ecommerce.items[0].item_variant = props.item.attributes.property;\n } else if (props.property) {\n object.ecommerce.items[0].item_variant = props.property;\n }\n\n if (category) {\n if (category.indexOf('/') !== -1) {\n category.split('/').forEach((segment, index) => {\n object.ecommerce.items[0]['item_category' + (index ? index + 1 : '')] = segment.trim();\n });\n } else {\n object.ecommerce.items[0].item_category = category;\n }\n }\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n\n loading.value = false;\n },\n });\n }\n }\n };\n\n return {\n item,\n action,\n loading,\n button,\n };\n },\n});\n</script>","<template>\n <button class=\"button wishlist\" @click=\"action\" v-bind:class=\"{ 'is-loading': loading, 'is-transparent': !item }\" :title=\"__('shop.wishlist.add')\" ref=\"button\">\n <slot :product=\"item\">\n <svg class=\"icon wishlist\">\n <use xlink:href=\"#wishlist\" />\n </svg>\n </slot>\n </button>\n</template>\n<script>\nimport { ref, computed, defineComponent } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { useToast } from \"vue-toastification\";\nimport SuccessMessage from \"./SuccessMessage.vue\";\n\nexport default /*#__PURE__*/ defineComponent({\n props: {\n id: Number,\n code: {\n type: String,\n default: null\n },\n property: {\n type: String,\n default: null\n },\n item: {\n type: Object,\n default: null\n }\n },\n setup(props) {\n const loading = ref(false);\n const toast = useToast();\n const store = useStore();\n const item = computed(() => store.getters[\"wishlist/item\"](props.id));\n const auth = computed(() => store.getters[\"auth/is\"]);\n const last = computed(() => store.getters[\"wishlist/last\"]);\n const button = ref(null);\n\n const action = () => {\n if (!loading.value) {\n if (!auth.value) {\n store.commit(\"auth/modal\", \"login\");\n } else {\n loading.value = true;\n\n let trackingIndex = {};\n\n if (window.getTrackingIndexProductsList && typeof window.getTrackingIndexProductsList === 'function') {\n trackingIndex = window.getTrackingIndexProductsList(button.value);\n }\n\n const product = button.value.closest('[shop-product]');\n const name = product.querySelector('[shop-product-name]') ? product.querySelector('[shop-product-name]').textContent : null;\n const priceActive = product.querySelector('.cart-prices > .prices.is-active [shop-product-price]') ? product.querySelector('.cart-prices > .prices.is-active [shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : null;\n const price = !priceActive && product.querySelector('[shop-product-price]') ? product.querySelector('[shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : priceActive;\n const code = props.code ? props.code : product.dataset.code;\n const category = product.querySelector('[shop-product-category]') ? product.querySelector('[shop-product-category]').textContent : null;\n const brand = product.querySelector('[shop-product-brand]') ? product.querySelector('[shop-product-brand]').textContent : null;\n\n store.dispatch(\"wishlist/toggle\", {\n id: props.id,\n finally: () => {\n let eventName = '';\n\n if (item.value) {\n const component = {\n component: SuccessMessage,\n props: {\n last: {\n name: last,\n url: $ziggy(\"account.wish\"),\n },\n },\n };\n\n toast(component, {\n type: \"success\",\n });\n\n eventName = 'add_to_wishlist';\n } else {\n toast(__(\"shop.wishlist.product_deleted\"), {\n type: \"warning\",\n });\n\n eventName = 'remove_from_wish_list';\n }\n\n const object = {\n ecommerce: {\n currency: 'UAH',\n value: parseFloat(price),\n items: [\n {\n item_name: name,\n item_id: code,\n price: parseFloat(price),\n quantity: 1,\n }\n ]\n },\n event: eventName\n };\n\n if (props.item && props.item.attributes.index) {\n object.ecommerce.items[0].index = props.item.attributes.index;\n } else if (trackingIndex.index) {\n object.ecommerce.items[0].index = trackingIndex.index;\n }\n\n if (props.item && props.item.attributes.itemListName) {\n object.ecommerce.items[0].item_list_name = props.item.attributes.itemListName;\n } else if (trackingIndex.item_list_name) {\n object.ecommerce.items[0].item_list_name = trackingIndex.item_list_name;\n }\n\n if (brand) {\n object.ecommerce.items[0].item_brand = brand;\n }\n\n if (props.item && props.item.attributes.property) {\n object.ecommerce.items[0].item_variant = props.item.attributes.property;\n } else if (props.property) {\n object.ecommerce.items[0].item_variant = props.property;\n }\n\n if (category) {\n if (category.indexOf('/') !== -1) {\n category.split('/').forEach((segment, index) => {\n object.ecommerce.items[0]['item_category' + (index ? index + 1 : '')] = segment.trim();\n });\n } else {\n object.ecommerce.items[0].item_category = category;\n }\n }\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n\n loading.value = false;\n },\n });\n }\n }\n };\n\n return {\n item,\n action,\n loading,\n button,\n };\n },\n});\n</script>"],"names":["script$1","props","last","setup","translate","window","__","_hoisted_1","class","_openBlock","openBlock","_createElementBlock","_createElementVNode","$setup","product","$props","name","href","url","style","color","border-bottom","_hoisted_2","script","defineComponent","id","Number","code","type","String","default","property","item","Object","loading","ref","toast","useToast","store","useStore","computed","getters","auth","button","action","value","trackingIndex","getTrackingIndexProductsList","closest","querySelector","textContent","priceActive","childNodes","nodeValue","replace","price","dataset","category","brand","dispatch","finally","eventName","component","SuccessMessage","$ziggy","object","ecommerce","currency","parseFloat","items","item_name","item_id","quantity","event","attributes","index","itemListName","item_list_name","item_brand","item_variant","indexOf","split","forEach","segment","trim","item_category","$env","debug","console","log","dataLayer","push","commit","createElementVNode","xlink:href","createElementBlock","_normalizeClass","is-loading","_ctx","onClick","apply","arguments","title","_renderSlot","renderSlot","$slots"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WishlistAdd.js","sources":["../../../../src/components/shop/wishlist/SuccessMessage.vue","../../../../src/components/shop/wishlist/SuccessMessage.vue?vue&type=template&id=2780632f&lang.js","../../../../src/components/shop/wishlist/WishlistAdd.vue","../../../../src/components/shop/wishlist/WishlistAdd.vue?vue&type=template&id=1eb83072&lang.js"],"sourcesContent":["<template>\n <div class=\"shop-wishlist-success-message\">\n <div>\n {{\n translate(\"shop.wishlist.product_added_named\", {\n product: last.name,\n })\n }}\n </div>\n <a\n :href=\"last.url\"\n class=\"mt-2 is-size-7\"\n style=\"color: #fff; border-bottom: 1px solid #fff\"\n >{{ translate(\"shop.wishlist.goto\") }}</a\n >\n </div>\n</template>\n<script>\nexport default {\n props: {\n last: null,\n },\n setup() {\n const translate = window.__;\n\n return {\n translate,\n };\n },\n};\n</script>","<template>\n <div class=\"shop-wishlist-success-message\">\n <div>\n {{\n translate(\"shop.wishlist.product_added_named\", {\n product: last.name,\n })\n }}\n </div>\n <a\n :href=\"last.url\"\n class=\"mt-2 is-size-7\"\n style=\"color: #fff; border-bottom: 1px solid #fff\"\n >{{ translate(\"shop.wishlist.goto\") }}</a\n >\n </div>\n</template>\n<script>\nexport default {\n props: {\n last: null,\n },\n setup() {\n const translate = window.__;\n\n return {\n translate,\n };\n },\n};\n</script>","<template>\n <button class=\"button wishlist\" @click=\"action\" v-bind:class=\"{ 'is-loading': loading, 'is-transparent': !item }\" :title=\"__('shop.wishlist.add')\" ref=\"button\">\n <slot :product=\"item\">\n <svg class=\"icon wishlist\">\n <use xlink:href=\"#wishlist\" />\n </svg>\n </slot>\n </button>\n</template>\n<script>\nimport { ref, computed, defineComponent } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { useToast } from \"vue-toastification\";\nimport SuccessMessage from \"./SuccessMessage.vue\";\n\nexport default /*#__PURE__*/ defineComponent({\n props: {\n id: Number,\n code: {\n type: String,\n default: null\n },\n property: {\n type: String,\n default: null\n },\n item: {\n type: Object,\n default: null\n }\n },\n setup(props) {\n const loading = ref(false);\n const toast = useToast();\n const store = useStore();\n const item = computed(() => store.getters[\"wishlist/item\"](props.id));\n const auth = computed(() => store.getters[\"auth/is\"]);\n const last = computed(() => store.getters[\"wishlist/last\"]);\n const button = ref(null);\n\n const action = () => {\n if (!loading.value) {\n if (!auth.value) {\n store.commit(\"auth/modal\", \"login\");\n } else {\n loading.value = true;\n\n let trackingIndex = {};\n\n if (window.getTrackingIndexProductsList && typeof window.getTrackingIndexProductsList === 'function') {\n trackingIndex = window.getTrackingIndexProductsList(button.value);\n }\n\n const product = button.value.closest('[shop-product]');\n const name = product.querySelector('[shop-product-name]') ? product.querySelector('[shop-product-name]').textContent : null;\n const priceActive = product.querySelector('.cart-prices > .prices.is-active [shop-product-price]') ? product.querySelector('.cart-prices > .prices.is-active [shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : null;\n const price = !priceActive && product.querySelector('[shop-product-price]') ? product.querySelector('[shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : priceActive;\n const code = props.code ? props.code : product.dataset.code;\n const category = product.querySelector('[shop-product-category]') ? product.querySelector('[shop-product-category]').textContent : null;\n const brand = product.querySelector('[shop-product-brand]') ? product.querySelector('[shop-product-brand]').textContent : null;\n\n store.dispatch(\"wishlist/toggle\", {\n id: props.id,\n finally: () => {\n let eventName = '';\n\n if (item.value) {\n const component = {\n component: SuccessMessage,\n props: {\n last: {\n name: last,\n url: $ziggy(\"account.wish\"),\n },\n },\n };\n\n toast(component, {\n type: \"success\",\n });\n\n eventName = 'add_to_wishlist';\n } else {\n toast(__(\"shop.wishlist.product_deleted\"), {\n type: \"warning\",\n });\n\n eventName = 'remove_from_wish_list';\n }\n\n const object = {\n ecommerce: {\n currency: $env.locale?.currency ? $env.locale.currency : 'UAH',\n value: parseFloat(price),\n items: [\n {\n item_name: name,\n item_id: code,\n price: parseFloat(price),\n quantity: 1,\n }\n ]\n },\n event: eventName\n };\n\n if (props.item && props.item.attributes.index) {\n object.ecommerce.items[0].index = props.item.attributes.index;\n } else if (trackingIndex.index) {\n object.ecommerce.items[0].index = trackingIndex.index;\n }\n\n if (props.item && props.item.attributes.itemListName) {\n object.ecommerce.items[0].item_list_name = props.item.attributes.itemListName;\n } else if (trackingIndex.item_list_name) {\n object.ecommerce.items[0].item_list_name = trackingIndex.item_list_name;\n }\n\n if (brand) {\n object.ecommerce.items[0].item_brand = brand;\n }\n\n if (props.item && props.item.attributes.property) {\n object.ecommerce.items[0].item_variant = props.item.attributes.property;\n } else if (props.property) {\n object.ecommerce.items[0].item_variant = props.property;\n }\n\n if (category) {\n if (category.indexOf('/') !== -1) {\n category.split('/').forEach((segment, index) => {\n object.ecommerce.items[0]['item_category' + (index ? index + 1 : '')] = segment.trim();\n });\n } else {\n object.ecommerce.items[0].item_category = category;\n }\n }\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n\n loading.value = false;\n },\n });\n }\n }\n };\n\n return {\n item,\n action,\n loading,\n button,\n };\n },\n});\n</script>","<template>\n <button class=\"button wishlist\" @click=\"action\" v-bind:class=\"{ 'is-loading': loading, 'is-transparent': !item }\" :title=\"__('shop.wishlist.add')\" ref=\"button\">\n <slot :product=\"item\">\n <svg class=\"icon wishlist\">\n <use xlink:href=\"#wishlist\" />\n </svg>\n </slot>\n </button>\n</template>\n<script>\nimport { ref, computed, defineComponent } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { useToast } from \"vue-toastification\";\nimport SuccessMessage from \"./SuccessMessage.vue\";\n\nexport default /*#__PURE__*/ defineComponent({\n props: {\n id: Number,\n code: {\n type: String,\n default: null\n },\n property: {\n type: String,\n default: null\n },\n item: {\n type: Object,\n default: null\n }\n },\n setup(props) {\n const loading = ref(false);\n const toast = useToast();\n const store = useStore();\n const item = computed(() => store.getters[\"wishlist/item\"](props.id));\n const auth = computed(() => store.getters[\"auth/is\"]);\n const last = computed(() => store.getters[\"wishlist/last\"]);\n const button = ref(null);\n\n const action = () => {\n if (!loading.value) {\n if (!auth.value) {\n store.commit(\"auth/modal\", \"login\");\n } else {\n loading.value = true;\n\n let trackingIndex = {};\n\n if (window.getTrackingIndexProductsList && typeof window.getTrackingIndexProductsList === 'function') {\n trackingIndex = window.getTrackingIndexProductsList(button.value);\n }\n\n const product = button.value.closest('[shop-product]');\n const name = product.querySelector('[shop-product-name]') ? product.querySelector('[shop-product-name]').textContent : null;\n const priceActive = product.querySelector('.cart-prices > .prices.is-active [shop-product-price]') ? product.querySelector('.cart-prices > .prices.is-active [shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : null;\n const price = !priceActive && product.querySelector('[shop-product-price]') ? product.querySelector('[shop-product-price]').childNodes[0].nodeValue.replace(/ /g, '') : priceActive;\n const code = props.code ? props.code : product.dataset.code;\n const category = product.querySelector('[shop-product-category]') ? product.querySelector('[shop-product-category]').textContent : null;\n const brand = product.querySelector('[shop-product-brand]') ? product.querySelector('[shop-product-brand]').textContent : null;\n\n store.dispatch(\"wishlist/toggle\", {\n id: props.id,\n finally: () => {\n let eventName = '';\n\n if (item.value) {\n const component = {\n component: SuccessMessage,\n props: {\n last: {\n name: last,\n url: $ziggy(\"account.wish\"),\n },\n },\n };\n\n toast(component, {\n type: \"success\",\n });\n\n eventName = 'add_to_wishlist';\n } else {\n toast(__(\"shop.wishlist.product_deleted\"), {\n type: \"warning\",\n });\n\n eventName = 'remove_from_wish_list';\n }\n\n const object = {\n ecommerce: {\n currency: $env.locale?.currency ? $env.locale.currency : 'UAH',\n value: parseFloat(price),\n items: [\n {\n item_name: name,\n item_id: code,\n price: parseFloat(price),\n quantity: 1,\n }\n ]\n },\n event: eventName\n };\n\n if (props.item && props.item.attributes.index) {\n object.ecommerce.items[0].index = props.item.attributes.index;\n } else if (trackingIndex.index) {\n object.ecommerce.items[0].index = trackingIndex.index;\n }\n\n if (props.item && props.item.attributes.itemListName) {\n object.ecommerce.items[0].item_list_name = props.item.attributes.itemListName;\n } else if (trackingIndex.item_list_name) {\n object.ecommerce.items[0].item_list_name = trackingIndex.item_list_name;\n }\n\n if (brand) {\n object.ecommerce.items[0].item_brand = brand;\n }\n\n if (props.item && props.item.attributes.property) {\n object.ecommerce.items[0].item_variant = props.item.attributes.property;\n } else if (props.property) {\n object.ecommerce.items[0].item_variant = props.property;\n }\n\n if (category) {\n if (category.indexOf('/') !== -1) {\n category.split('/').forEach((segment, index) => {\n object.ecommerce.items[0]['item_category' + (index ? index + 1 : '')] = segment.trim();\n });\n } else {\n object.ecommerce.items[0].item_category = category;\n }\n }\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n\n loading.value = false;\n },\n });\n }\n }\n };\n\n return {\n item,\n action,\n loading,\n button,\n };\n },\n});\n</script>"],"names":["script$1","props","last","setup","translate","window","__","_hoisted_1","class","_openBlock","openBlock","_createElementBlock","_createElementVNode","$setup","product","$props","name","href","url","style","color","border-bottom","_hoisted_2","script","defineComponent","id","Number","code","type","String","default","property","item","Object","loading","ref","toast","useToast","store","useStore","computed","getters","auth","button","action","value","trackingIndex","getTrackingIndexProductsList","closest","querySelector","textContent","priceActive","childNodes","nodeValue","replace","price","dataset","category","brand","dispatch","finally","_$env$locale","eventName","component","SuccessMessage","$ziggy","object","ecommerce","currency","$env","locale","parseFloat","items","item_name","item_id","quantity","event","attributes","index","itemListName","item_list_name","item_brand","item_variant","indexOf","split","forEach","segment","trim","item_category","debug","console","log","dataLayer","push","commit","createElementVNode","xlink:href","createElementBlock","_normalizeClass","is-loading","_ctx","onClick","apply","arguments","title","_renderSlot","renderSlot","$slots"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WishlistDelete.js","sources":["../../../../src/components/shop/wishlist/WishlistDelete.vue","../../../../src/components/shop/wishlist/WishlistDelete.vue?vue&type=template&id=6a60062c&lang.js"],"sourcesContent":["<template>\n <button class=\"button viewed\" @click=\"action($event)\" v-bind:class=\"{ 'is-loading': loading }\" v-if=\"id\">\n <span class=\"icon\">\n <i class=\"fas fa-times\"></i>\n </span>\n </button>\n <a style=\"position: absolute; top: 0; right: 0\" @click=\"action($event)\" v-else>{{ __(\"shop.viewed.delete_all\") }}</a>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\n\nexport default /*#__PURE__*/ defineComponent({\n props: {\n id: Number,\n },\n setup(props) {\n const loading = ref(false);\n const notice = () => {\n const notice = document.getElementById(\"viewed-notice\");\n\n if (notice) {\n notice.classList.remove(\"is-hidden\");\n }\n };\n\n const action = (e) => {\n if (!loading.value) {\n loading.value = true;\n\n let item = props.id\n ? e.currentTarget.closest(\".viewed-item\")\n : null;\n\n $http\n .post($ziggy(\"api.wishlist\"), {\n action: \"delete\",\n id: props.id,\n })\n .then(() => {\n let object = {\n event: 'remove_from_wish_list'\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n\n if (item) {\n item.remove();\n if (\n !document\n .getElementById(\"viewed-items-container\")\n .querySelectorAll(\".viewed-item\").length\n ) {\n document\n .getElementById(\"viewed-items-container\")\n .remove();\n\n notice();\n }\n } else {\n document\n .getElementById(\"viewed-items-container\")\n .remove();\n\n notice();\n }\n })\n .finally(() => {\n loading.value = false;\n });\n }\n };\n\n return {\n action,\n loading,\n };\n },\n});\n</script>","<template>\n <button class=\"button viewed\" @click=\"action($event)\" v-bind:class=\"{ 'is-loading': loading }\" v-if=\"id\">\n <span class=\"icon\">\n <i class=\"fas fa-times\"></i>\n </span>\n </button>\n <a style=\"position: absolute; top: 0; right: 0\" @click=\"action($event)\" v-else>{{ __(\"shop.viewed.delete_all\") }}</a>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\n\nexport default /*#__PURE__*/ defineComponent({\n props: {\n id: Number,\n },\n setup(props) {\n const loading = ref(false);\n const notice = () => {\n const notice = document.getElementById(\"viewed-notice\");\n\n if (notice) {\n notice.classList.remove(\"is-hidden\");\n }\n };\n\n const action = (e) => {\n if (!loading.value) {\n loading.value = true;\n\n let item = props.id\n ? e.currentTarget.closest(\".viewed-item\")\n : null;\n\n $http\n .post($ziggy(\"api.wishlist\"), {\n action: \"delete\",\n id: props.id,\n })\n .then(() => {\n let object = {\n event: 'remove_from_wish_list'\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n\n if (item) {\n item.remove();\n if (\n !document\n .getElementById(\"viewed-items-container\")\n .querySelectorAll(\".viewed-item\").length\n ) {\n document\n .getElementById(\"viewed-items-container\")\n .remove();\n\n notice();\n }\n } else {\n document\n .getElementById(\"viewed-items-container\")\n .remove();\n\n notice();\n }\n })\n .finally(() => {\n loading.value = false;\n });\n }\n };\n\n return {\n action,\n loading,\n };\n },\n});\n</script>"],"names":["script","defineComponent","props","id","Number","setup","loading","ref","notice","document","getElementById","classList","remove","action","e","value","item","currentTarget","closest","$http","post","$ziggy","then","object","event","$env","debug","ecommerce","console","log","window","dataLayer","push","querySelectorAll","length","_createElementVNode","createElementVNode","class","_ctx","_createElementBlock","_normalizeClass","onClick","_cache","$event","style","position","top","right","__"],"mappings":"kCAWeA,EAAcC,kBAAgB,CACzCC,MAAO,CACHC,GAAIC,QAERC,
|
|
1
|
+
{"version":3,"file":"WishlistDelete.js","sources":["../../../../src/components/shop/wishlist/WishlistDelete.vue","../../../../src/components/shop/wishlist/WishlistDelete.vue?vue&type=template&id=6a60062c&lang.js"],"sourcesContent":["<template>\n <button class=\"button viewed\" @click=\"action($event)\" v-bind:class=\"{ 'is-loading': loading }\" v-if=\"id\">\n <span class=\"icon\">\n <i class=\"fas fa-times\"></i>\n </span>\n </button>\n <a style=\"position: absolute; top: 0; right: 0\" @click=\"action($event)\" v-else>{{ __(\"shop.viewed.delete_all\") }}</a>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\n\nexport default /*#__PURE__*/ defineComponent({\n props: {\n id: Number,\n },\n setup(props) {\n const loading = ref(false);\n const notice = () => {\n const notice = document.getElementById(\"viewed-notice\");\n\n if (notice) {\n notice.classList.remove(\"is-hidden\");\n }\n };\n\n const action = (e) => {\n if (!loading.value) {\n loading.value = true;\n\n let item = props.id\n ? e.currentTarget.closest(\".viewed-item\")\n : null;\n\n $http\n .post($ziggy(\"api.wishlist\"), {\n action: \"delete\",\n id: props.id,\n })\n .then(() => {\n let object = {\n event: 'remove_from_wish_list'\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n\n if (item) {\n item.remove();\n if (\n !document\n .getElementById(\"viewed-items-container\")\n .querySelectorAll(\".viewed-item\").length\n ) {\n document\n .getElementById(\"viewed-items-container\")\n .remove();\n\n notice();\n }\n } else {\n document\n .getElementById(\"viewed-items-container\")\n .remove();\n\n notice();\n }\n })\n .finally(() => {\n loading.value = false;\n });\n }\n };\n\n return {\n action,\n loading,\n };\n },\n});\n</script>","<template>\n <button class=\"button viewed\" @click=\"action($event)\" v-bind:class=\"{ 'is-loading': loading }\" v-if=\"id\">\n <span class=\"icon\">\n <i class=\"fas fa-times\"></i>\n </span>\n </button>\n <a style=\"position: absolute; top: 0; right: 0\" @click=\"action($event)\" v-else>{{ __(\"shop.viewed.delete_all\") }}</a>\n</template>\n<script>\nimport { ref, defineComponent } from \"vue\";\n\nexport default /*#__PURE__*/ defineComponent({\n props: {\n id: Number,\n },\n setup(props) {\n const loading = ref(false);\n const notice = () => {\n const notice = document.getElementById(\"viewed-notice\");\n\n if (notice) {\n notice.classList.remove(\"is-hidden\");\n }\n };\n\n const action = (e) => {\n if (!loading.value) {\n loading.value = true;\n\n let item = props.id\n ? e.currentTarget.closest(\".viewed-item\")\n : null;\n\n $http\n .post($ziggy(\"api.wishlist\"), {\n action: \"delete\",\n id: props.id,\n })\n .then(() => {\n let object = {\n event: 'remove_from_wish_list'\n };\n\n if ($env.debug.ecommerce) {\n console.log(object);\n }\n\n if (!$env.debug.ecommerce && window.dataLayer) {\n window.dataLayer.push({\n ecommerce: null\n });\n\n window.dataLayer.push(object);\n }\n\n if (item) {\n item.remove();\n if (\n !document\n .getElementById(\"viewed-items-container\")\n .querySelectorAll(\".viewed-item\").length\n ) {\n document\n .getElementById(\"viewed-items-container\")\n .remove();\n\n notice();\n }\n } else {\n document\n .getElementById(\"viewed-items-container\")\n .remove();\n\n notice();\n }\n })\n .finally(() => {\n loading.value = false;\n });\n }\n };\n\n return {\n action,\n loading,\n };\n },\n});\n</script>"],"names":["script","defineComponent","props","id","Number","setup","loading","ref","notice","document","getElementById","classList","remove","action","e","value","item","currentTarget","closest","$http","post","$ziggy","then","object","event","$env","debug","ecommerce","console","log","window","dataLayer","push","querySelectorAll","length","_createElementVNode","createElementVNode","class","_ctx","_createElementBlock","_normalizeClass","onClick","_cache","$event","style","position","top","right","__"],"mappings":"kCAWeA,EAAcC,kBAAgB,CACzCC,MAAO,CACHC,GAAIC,QAERC,MAAAA,SAAMH,GACF,IAAMI,EAAUC,OAAI,GACdC,EAAS,WACX,IAAMA,EAASC,SAASC,eAAe,iBAEnCF,GACAA,EAAOG,UAAUC,OAAO,cA6DhC,MAAO,CACHC,OA1DW,SAACC,GACZ,IAAKR,EAAQS,MAAO,CAChBT,EAAQS,OAAQ,EAEhB,IAAIC,EAAOd,EAAMC,GACXW,EAAEG,cAAcC,QAAQ,gBACxB,KAENC,MACKC,KAAKC,OAAO,gBAAiB,CAC1BR,OAAQ,SACRV,GAAID,EAAMC,KAEbmB,MAAK,WACF,IAAIC,EAAS,CACTC,MAAO,yBAGPC,KAAKC,MAAMC,WACXC,QAAQC,IAAIN,IAGXE,KAAKC,MAAMC,WAAaG,OAAOC,YAChCD,OAAOC,UAAUC,KAAK,CAClBL,UAAW,OAGfG,OAAOC,UAAUC,KAAKT,IAGtBP,GACAA,EAAKJ,SAEAH,SACIC,eAAe,0BACfuB,iBAAiB,gBAAgBC,SAEtCzB,SACKC,eAAe,0BACfE,SAELJ,OAGJC,SACKC,eAAe,0BACfE,SAELJ,QAGA,SAAC,WACLF,EAAQS,OAAQ,OAO5BT,QAAAA,SClFJ6B,EAEMC,mBAAA,OAAA,CAFAC,MAAM,QAAM,CACdF,EAA2BC,mBAAA,IAAA,CAAxBC,MAAM,6DAFoFC,EAAEnC,kBAAvGoC,EAAAA,mBAIQ,SAAA,OAJAF,MAAKG,EAAAA,eAAA,CAAC,8BAAsEF,aAArDG,QAAKC,EAAA,KAAAA,EAAA,GAAA,SAAAC,GAAA,OAAEL,EAAMzB,OAAC8B,2BAK7CJ,EAAAA,mBAAoH,IAAA,OAAjHK,MAAA,CAA6CC,SAAA,WAAAC,IAAA,IAAAC,MAAA,KAACN,QAAKC,EAAA,KAAAA,EAAA,GAAA,SAAAC,GAAA,OAAEL,EAAMzB,OAAC8B,wBAAmBL,EAAEU,GAAA,2BAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormCheckbox.js","sources":["../../src/forms/FormCheckbox.vue","../../src/forms/FormCheckbox.vue?vue&type=template&id=aaeb7e92&lang.js"],"sourcesContent":["<template>\n <div>\n <label class=\"label\" :for=\"uuid\" v-html=\"labelHtml\"></label>\n <div class=\"control\">\n <input\n class=\"is-checkradio\"\n type=\"checkbox\"\n :checked=\"modelValue\"\n @input=\"update($event.target.checked)\"\n :id=\"uuid\"\n :disabled=\"readOnly\"\n />\n <label\n class=\"description\"\n :for=\"uuid\"\n v-if=\"descriptionHtml\"\n v-html=\"descriptionHtml\"\n ></label>\n </div>\n <p\n class=\"help is-danger\"\n v-if=\"validation.errorMessage\"\n v-html=\"validation.errorMessage\"\n ></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 description: {\n type: String,\n default: \"\",\n },\n validations: {\n type: Object,\n default: () => ({}),\n },\n model: {\n type: String,\n default: \"\",\n },\n store: {\n type: String,\n default: \"\",\n },\n },\n data() {\n return {\n ls: null,\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 computed: {\n descriptionHtml() {\n return this.description ? this.description : this.label;\n },\n labelHtml() {\n if (!this.description) {\n return \"\";\n }\n\n const requiredHtml =\n this.label && this.validations && this.validations.required\n ? ' <span class=\"asterisk\">*</span>'\n : \"\";\n return this.label + requiredHtml;\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 <label class=\"label\" :for=\"uuid\" v-html=\"labelHtml\"></label>\n <div class=\"control\">\n <input\n class=\"is-checkradio\"\n type=\"checkbox\"\n :checked=\"modelValue\"\n @input=\"update($event.target.checked)\"\n :id=\"uuid\"\n :disabled=\"readOnly\"\n />\n <label\n class=\"description\"\n :for=\"uuid\"\n v-if=\"descriptionHtml\"\n v-html=\"descriptionHtml\"\n ></label>\n </div>\n <p\n class=\"help is-danger\"\n v-if=\"validation.errorMessage\"\n v-html=\"validation.errorMessage\"\n ></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 description: {\n type: String,\n default: \"\",\n },\n validations: {\n type: Object,\n default: () => ({}),\n },\n model: {\n type: String,\n default: \"\",\n },\n store: {\n type: String,\n default: \"\",\n },\n },\n data() {\n return {\n ls: null,\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 computed: {\n descriptionHtml() {\n return this.description ? this.description : this.label;\n },\n labelHtml() {\n if (!this.description) {\n return \"\";\n }\n\n const requiredHtml =\n this.label && this.validations && this.validations.required\n ? ' <span class=\"asterisk\">*</span>'\n : \"\";\n return this.label + requiredHtml;\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":["script","props","modelValue","required","type","Boolean","default","label","String","config","Object","readOnly","uuid","Number","validation","description","validations","model","store","data","ls","mounted","this","SecureLS","isCompression","forms","get","update","computed","descriptionHtml","labelHtml","requiredHtml","methods","value","set","$emit","_hoisted_2","class","_createElementBlock","_createElementVNode","createElementVNode","for","$props","innerHTML","$options","checked","onInput","$event","target","id","disabled","createElementBlock","errorMessage"],"mappings":"4IA8BeA,EAAA,CACXC,MAAO,CACHC,WAAY,CAAEC,UAAU,GACxBA,SAAU,CACNC,KAAMC,QACNC,SAAS,GAEbC,MAAO,CACHH,KAAMI,OACNL,UAAU,GAEdM,OAAQ,CACJL,KAAMM,OACNJ,QAAS,
|
|
1
|
+
{"version":3,"file":"FormCheckbox.js","sources":["../../src/forms/FormCheckbox.vue","../../src/forms/FormCheckbox.vue?vue&type=template&id=aaeb7e92&lang.js"],"sourcesContent":["<template>\n <div>\n <label class=\"label\" :for=\"uuid\" v-html=\"labelHtml\"></label>\n <div class=\"control\">\n <input\n class=\"is-checkradio\"\n type=\"checkbox\"\n :checked=\"modelValue\"\n @input=\"update($event.target.checked)\"\n :id=\"uuid\"\n :disabled=\"readOnly\"\n />\n <label\n class=\"description\"\n :for=\"uuid\"\n v-if=\"descriptionHtml\"\n v-html=\"descriptionHtml\"\n ></label>\n </div>\n <p\n class=\"help is-danger\"\n v-if=\"validation.errorMessage\"\n v-html=\"validation.errorMessage\"\n ></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 description: {\n type: String,\n default: \"\",\n },\n validations: {\n type: Object,\n default: () => ({}),\n },\n model: {\n type: String,\n default: \"\",\n },\n store: {\n type: String,\n default: \"\",\n },\n },\n data() {\n return {\n ls: null,\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 computed: {\n descriptionHtml() {\n return this.description ? this.description : this.label;\n },\n labelHtml() {\n if (!this.description) {\n return \"\";\n }\n\n const requiredHtml =\n this.label && this.validations && this.validations.required\n ? ' <span class=\"asterisk\">*</span>'\n : \"\";\n return this.label + requiredHtml;\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 <label class=\"label\" :for=\"uuid\" v-html=\"labelHtml\"></label>\n <div class=\"control\">\n <input\n class=\"is-checkradio\"\n type=\"checkbox\"\n :checked=\"modelValue\"\n @input=\"update($event.target.checked)\"\n :id=\"uuid\"\n :disabled=\"readOnly\"\n />\n <label\n class=\"description\"\n :for=\"uuid\"\n v-if=\"descriptionHtml\"\n v-html=\"descriptionHtml\"\n ></label>\n </div>\n <p\n class=\"help is-danger\"\n v-if=\"validation.errorMessage\"\n v-html=\"validation.errorMessage\"\n ></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 description: {\n type: String,\n default: \"\",\n },\n validations: {\n type: Object,\n default: () => ({}),\n },\n model: {\n type: String,\n default: \"\",\n },\n store: {\n type: String,\n default: \"\",\n },\n },\n data() {\n return {\n ls: null,\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 computed: {\n descriptionHtml() {\n return this.description ? this.description : this.label;\n },\n labelHtml() {\n if (!this.description) {\n return \"\";\n }\n\n const requiredHtml =\n this.label && this.validations && this.validations.required\n ? ' <span class=\"asterisk\">*</span>'\n : \"\";\n return this.label + requiredHtml;\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":["script","props","modelValue","required","type","Boolean","default","label","String","config","Object","readOnly","uuid","Number","validation","description","validations","model","store","data","ls","mounted","this","SecureLS","isCompression","forms","get","update","computed","descriptionHtml","labelHtml","requiredHtml","methods","value","set","$emit","_hoisted_2","class","_createElementBlock","_createElementVNode","createElementVNode","for","$props","innerHTML","$options","checked","onInput","$event","target","id","disabled","createElementBlock","errorMessage"],"mappings":"4IA8BeA,EAAA,CACXC,MAAO,CACHC,WAAY,CAAEC,UAAU,GACxBA,SAAU,CACNC,KAAMC,QACNC,SAAS,GAEbC,MAAO,CACHH,KAAMI,OACNL,UAAU,GAEdM,OAAQ,CACJL,KAAMM,OACNJ,QAAS,WAAF,MAAS,CAAEF,KAAM,UAE5BO,SAAU,CACNP,KAAMC,QACNC,SAAS,GAEbM,KAAM,CACFR,KAAMS,OACNP,QAAS,GAEbQ,WAAY,CACRV,KAAMM,OACNJ,QAAS,WAAF,MAAS,KAEpBS,YAAa,CACTX,KAAMI,OACNF,QAAS,IAEbU,YAAa,CACTZ,KAAMM,OACNJ,QAAS,WAAF,MAAS,KAEpBW,MAAO,CACHb,KAAMI,OACNF,QAAS,IAEbY,MAAO,CACHd,KAAMI,OACNF,QAAS,KAGjBa,KAAI,WACA,MAAO,CACHC,GAAI,OAGZC,QAAO,WAKH,GAJAC,KAAKF,GAAK,IAAIG,UAAS,CACnBC,eAAe,IAGfF,KAAKJ,OAASI,KAAKL,QAAUK,KAAKpB,WAAY,CAC9C,IAAIuB,EAAQH,KAAKF,GAAGM,IAAI,SAEnBD,IACDA,EAAQ,IAGPA,EAAMH,KAAKJ,SACZO,EAAMH,KAAKJ,OAAS,IAGpBO,EAAMH,KAAKJ,OAAOI,KAAKL,QACvBK,KAAKK,OAAOF,EAAMH,KAAKJ,OAAOI,KAAKL,UAI/CW,SAAU,CACNC,gBAAe,WACX,OAAOP,KAAKP,YAAcO,KAAKP,YAAcO,KAAKf,OAEtDuB,UAAS,WACL,IAAKR,KAAKP,YACN,MAAO,GAGX,IAAMgB,EACFT,KAAKf,OAASe,KAAKN,aAAeM,KAAKN,YAAYb,SAC7C,mCACA,GACV,OAAOmB,KAAKf,MAAQwB,IAG5BC,QAAS,CACLL,OAAAA,SAAOM,GACH,GAAIX,KAAKJ,OAASI,KAAKL,MAAO,CAC1B,IAAIQ,EAAQH,KAAKF,GAAGM,IAAI,SAEnBD,EAGOA,EAAMH,KAAKJ,SACnBO,EAAMH,KAAKJ,OAAS,KAHpBO,EAAQ,IACFH,KAAKJ,OAAS,GAKxBO,EAAMH,KAAKJ,OAAOI,KAAKL,OAASgB,EAEhCX,KAAKF,GAAGc,IAAI,QAAST,GAGzBH,KAAKa,MAAM,oBAAqBF,4BClI/BG,EAAA,CAAAC,MAAM,mIAFfC,qBAuBK,MAAA,KAAA,CAtBDC,EAA2DC,mBAAA,QAAA,CAApDH,MAAM,QAASI,IAAKC,EAAI9B,KAAE+B,UAAQC,EAASd,qBAClDS,EAAAA,mBAeK,MAfLH,EAeK,CAdDG,EAOCC,mBAAA,QAAA,CANGH,MAAM,gBACNjC,KAAK,WACJyC,QAASH,EAAUxC,WACnB4C,uCAAOF,EAAMjB,OAACoB,EAAOC,OAAOH,WAC5BI,GAAIP,EAAI9B,KACRsC,SAAUR,EAAQ/B,qBAKbiC,EAAef,+BAHzBS,EAKQa,mBAAA,QAAA,OAJJd,MAAM,cACLI,IAAKC,EAAI9B,KAEV+B,UAAQC,EAAef,8DAKrBa,EAAA5B,WAAWsC,4BAFrBd,EAIIa,mBAAA,IAAA,OAHAd,MAAM,iBAENM,UAAQD,EAAU5B,WAACsC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormCheckboxes.js","sources":["../../src/forms/FormCheckboxes.vue","../../src/forms/FormCheckboxes.vue?vue&type=template&id=6f1dd948&lang.js"],"sourcesContent":["<template>\n <div>\n <label class=\"label\" v-html=\"labelHtml\"></label>\n <div class=\"field\" v-for=\"(item, index) in list\" v-bind:key=\"index\">\n <input class=\"is-checkradio\" type=\"checkbox\" :value=\"item.code\" v-model=\"array\" :id=\"uuid + '-' + index\" />\n <label :for=\"uuid + '-' + index\" v-html=\"item.value\"></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 list: {\n type: Array,\n default: [],\n },\n uuid: {\n type: Number,\n default: 0,\n },\n validation: {\n type: Object,\n default: () => ({}),\n },\n description: {\n type: String,\n default: \"\",\n },\n validations: {\n type: Object,\n default: () => ({}),\n },\n model: {\n type: String,\n default: \"\",\n },\n store: {\n type: String,\n default: \"\",\n },\n },\n data() {\n return {\n array: [],\n ls: null,\n };\n },\n computed: {\n labelHtml() {\n const requiredHtml =\n this.label && this.validations && this.validations.required\n ? ' <span class=\"asterisk\">*</span>'\n : \"\";\n return this.label + requiredHtml;\n },\n },\n mounted() {\n if (this.modelValue.length) {\n this.array = Object.values(this.modelValue);\n }\n\n this.ls = new SecureLS({\n isCompression: false,\n });\n\n if (this.store && this.model && !this.modelValue.length) {\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.array = forms[this.store][this.model];\n }\n }\n },\n watch: {\n array: function (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] = Object.values(value);\n\n this.ls.set(\"forms\", forms);\n }\n\n this.$emit(\"update:modelValue\", Object.values(value));\n },\n },\n};\n</script>\n","<template>\n <div>\n <label class=\"label\" v-html=\"labelHtml\"></label>\n <div class=\"field\" v-for=\"(item, index) in list\" v-bind:key=\"index\">\n <input class=\"is-checkradio\" type=\"checkbox\" :value=\"item.code\" v-model=\"array\" :id=\"uuid + '-' + index\" />\n <label :for=\"uuid + '-' + index\" v-html=\"item.value\"></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 list: {\n type: Array,\n default: [],\n },\n uuid: {\n type: Number,\n default: 0,\n },\n validation: {\n type: Object,\n default: () => ({}),\n },\n description: {\n type: String,\n default: \"\",\n },\n validations: {\n type: Object,\n default: () => ({}),\n },\n model: {\n type: String,\n default: \"\",\n },\n store: {\n type: String,\n default: \"\",\n },\n },\n data() {\n return {\n array: [],\n ls: null,\n };\n },\n computed: {\n labelHtml() {\n const requiredHtml =\n this.label && this.validations && this.validations.required\n ? ' <span class=\"asterisk\">*</span>'\n : \"\";\n return this.label + requiredHtml;\n },\n },\n mounted() {\n if (this.modelValue.length) {\n this.array = Object.values(this.modelValue);\n }\n\n this.ls = new SecureLS({\n isCompression: false,\n });\n\n if (this.store && this.model && !this.modelValue.length) {\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.array = forms[this.store][this.model];\n }\n }\n },\n watch: {\n array: function (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] = Object.values(value);\n\n this.ls.set(\"forms\", forms);\n }\n\n this.$emit(\"update:modelValue\", Object.values(value));\n },\n },\n};\n</script>\n"],"names":["script","props","modelValue","required","type","Boolean","default","label","String","list","Array","uuid","Number","validation","Object","description","validations","model","store","data","array","ls","computed","labelHtml","requiredHtml","this","mounted","length","values","SecureLS","isCompression","forms","get","watch","value","set","$emit","_createElementBlock","_createElementVNode","createElementVNode","class","innerHTML","$options","_openBlock","openBlock","_Fragment","_renderList","$props","item","index","createElementBlock","key","code","$data","$event","id","for","errorMessage"],"mappings":"4IAeeA,EAAA,CACXC,MAAO,CACHC,WAAY,CAAEC,UAAU,GACxBA,SAAU,CACNC,KAAMC,QACNC,SAAS,GAEbC,MAAO,CACHH,KAAMI,OACNL,UAAU,GAEdM,KAAM,CACFL,KAAMM,MACNJ,QAAS,IAEbK,KAAM,CACFP,KAAMQ,OACNN,QAAS,GAEbO,WAAY,CACRT,KAAMU,OACNR,QAAS,
|
|
1
|
+
{"version":3,"file":"FormCheckboxes.js","sources":["../../src/forms/FormCheckboxes.vue","../../src/forms/FormCheckboxes.vue?vue&type=template&id=6f1dd948&lang.js"],"sourcesContent":["<template>\n <div>\n <label class=\"label\" v-html=\"labelHtml\"></label>\n <div class=\"field\" v-for=\"(item, index) in list\" v-bind:key=\"index\">\n <input class=\"is-checkradio\" type=\"checkbox\" :value=\"item.code\" v-model=\"array\" :id=\"uuid + '-' + index\" />\n <label :for=\"uuid + '-' + index\" v-html=\"item.value\"></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 list: {\n type: Array,\n default: [],\n },\n uuid: {\n type: Number,\n default: 0,\n },\n validation: {\n type: Object,\n default: () => ({}),\n },\n description: {\n type: String,\n default: \"\",\n },\n validations: {\n type: Object,\n default: () => ({}),\n },\n model: {\n type: String,\n default: \"\",\n },\n store: {\n type: String,\n default: \"\",\n },\n },\n data() {\n return {\n array: [],\n ls: null,\n };\n },\n computed: {\n labelHtml() {\n const requiredHtml =\n this.label && this.validations && this.validations.required\n ? ' <span class=\"asterisk\">*</span>'\n : \"\";\n return this.label + requiredHtml;\n },\n },\n mounted() {\n if (this.modelValue.length) {\n this.array = Object.values(this.modelValue);\n }\n\n this.ls = new SecureLS({\n isCompression: false,\n });\n\n if (this.store && this.model && !this.modelValue.length) {\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.array = forms[this.store][this.model];\n }\n }\n },\n watch: {\n array: function (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] = Object.values(value);\n\n this.ls.set(\"forms\", forms);\n }\n\n this.$emit(\"update:modelValue\", Object.values(value));\n },\n },\n};\n</script>\n","<template>\n <div>\n <label class=\"label\" v-html=\"labelHtml\"></label>\n <div class=\"field\" v-for=\"(item, index) in list\" v-bind:key=\"index\">\n <input class=\"is-checkradio\" type=\"checkbox\" :value=\"item.code\" v-model=\"array\" :id=\"uuid + '-' + index\" />\n <label :for=\"uuid + '-' + index\" v-html=\"item.value\"></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 list: {\n type: Array,\n default: [],\n },\n uuid: {\n type: Number,\n default: 0,\n },\n validation: {\n type: Object,\n default: () => ({}),\n },\n description: {\n type: String,\n default: \"\",\n },\n validations: {\n type: Object,\n default: () => ({}),\n },\n model: {\n type: String,\n default: \"\",\n },\n store: {\n type: String,\n default: \"\",\n },\n },\n data() {\n return {\n array: [],\n ls: null,\n };\n },\n computed: {\n labelHtml() {\n const requiredHtml =\n this.label && this.validations && this.validations.required\n ? ' <span class=\"asterisk\">*</span>'\n : \"\";\n return this.label + requiredHtml;\n },\n },\n mounted() {\n if (this.modelValue.length) {\n this.array = Object.values(this.modelValue);\n }\n\n this.ls = new SecureLS({\n isCompression: false,\n });\n\n if (this.store && this.model && !this.modelValue.length) {\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.array = forms[this.store][this.model];\n }\n }\n },\n watch: {\n array: function (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] = Object.values(value);\n\n this.ls.set(\"forms\", forms);\n }\n\n this.$emit(\"update:modelValue\", Object.values(value));\n },\n },\n};\n</script>\n"],"names":["script","props","modelValue","required","type","Boolean","default","label","String","list","Array","uuid","Number","validation","Object","description","validations","model","store","data","array","ls","computed","labelHtml","requiredHtml","this","mounted","length","values","SecureLS","isCompression","forms","get","watch","value","set","$emit","_createElementBlock","_createElementVNode","createElementVNode","class","innerHTML","$options","_openBlock","openBlock","_Fragment","_renderList","$props","item","index","createElementBlock","key","code","$data","$event","id","for","errorMessage"],"mappings":"4IAeeA,EAAA,CACXC,MAAO,CACHC,WAAY,CAAEC,UAAU,GACxBA,SAAU,CACNC,KAAMC,QACNC,SAAS,GAEbC,MAAO,CACHH,KAAMI,OACNL,UAAU,GAEdM,KAAM,CACFL,KAAMM,MACNJ,QAAS,IAEbK,KAAM,CACFP,KAAMQ,OACNN,QAAS,GAEbO,WAAY,CACRT,KAAMU,OACNR,QAAS,WAAF,MAAS,KAEpBS,YAAa,CACTX,KAAMI,OACNF,QAAS,IAEbU,YAAa,CACTZ,KAAMU,OACNR,QAAS,WAAF,MAAS,KAEpBW,MAAO,CACHb,KAAMI,OACNF,QAAS,IAEbY,MAAO,CACHd,KAAMI,OACNF,QAAS,KAGjBa,KAAI,WACA,MAAO,CACHC,MAAO,GACPC,GAAI,OAGZC,SAAU,CACNC,UAAS,WACL,IAAMC,EACFC,KAAKlB,OAASkB,KAAKT,aAAeS,KAAKT,YAAYb,SAC7C,mCACA,GACV,OAAOsB,KAAKlB,MAAQiB,IAG5BE,QAAO,WASH,GARID,KAAKvB,WAAWyB,SAChBF,KAAKL,MAAQN,OAAOc,OAAOH,KAAKvB,aAGpCuB,KAAKJ,GAAK,IAAIQ,UAAS,CACnBC,eAAe,IAGfL,KAAKP,OAASO,KAAKR,QAAUQ,KAAKvB,WAAWyB,OAAQ,CACrD,IAAII,EAAQN,KAAKJ,GAAGW,IAAI,SAEnBD,IACDA,EAAQ,IAGPA,EAAMN,KAAKP,SACZa,EAAMN,KAAKP,OAAS,IAGpBa,EAAMN,KAAKP,OAAOO,KAAKR,SACvBQ,KAAKL,MAAQW,EAAMN,KAAKP,OAAOO,KAAKR,UAIhDgB,MAAO,CACHb,MAAO,SAAUc,GACb,GAAIT,KAAKP,OAASO,KAAKR,MAAO,CAC1B,IAAIc,EAAQN,KAAKJ,GAAGW,IAAI,SAEnBD,EAGOA,EAAMN,KAAKP,SACnBa,EAAMN,KAAKP,OAAS,KAHpBa,EAAQ,IACFN,KAAKP,OAAS,GAKxBa,EAAMN,KAAKP,OAAOO,KAAKR,OAASH,OAAOc,OAAOM,GAE9CT,KAAKJ,GAAGc,IAAI,QAASJ,GAGzBN,KAAKW,MAAM,oBAAqBtB,OAAOc,OAAOM,kJC/GtDG,qBAQK,MAAA,KAAA,CAPDC,EAA+CC,mBAAA,QAAA,CAAxCC,MAAM,QAAQC,UAAQC,EAASnB,sBACtCoB,EAAAC,WAAA,GAAAP,EAAAA,mBAGKQ,EAAAA,SAHsC,KAAAC,EAAAA,WAAAC,EAAAtC,MAAhB,SAAAuC,EAAMC,wBAAjCZ,EAGKa,mBAAA,MAAA,CAHAV,MAAM,QAA6CW,IAAKF,qBACzDX,EAA0GC,mBAAA,QAAA,CAAnGC,MAAM,gBAAgBpC,KAAK,WAAY8B,MAAOc,EAAKI,0DAAeC,EAAKjC,MAAAkC,IAAGC,GAAIR,EAAGpC,KAAA,IAAUsC,gCAAzBI,EAAKjC,SAC9EkB,EAAAA,mBAA4D,QAAA,CAApDkB,IAAKT,EAAGpC,KAAA,IAAUsC,EAAOR,UAAQO,EAAKd,4BAErBa,EAAWhC,2BAAxCsB,EAAkEa,mBAAA,IAAA,OAA/DV,MAAM,cAAiCC,UAAQM,EAAWhC,wDAC7BgC,EAAAlC,WAAW4C,4BAA3CpB,EAAAA,mBAA6F,IAAA,OAA1FG,MAAM,iBAAgDC,UAAQM,EAAUlC,WAAC4C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormPassword.js","sources":["../../src/forms/FormPassword.vue","../../src/forms/FormPassword.vue?vue&type=template&id=4876efd4&lang.js"],"sourcesContent":["<template>\n <div class=\"field-password\">\n <div class=\"control has-icons-right\">\n <input class=\"input\" :type=\"type\" :value=\"modelValue\" :required=\"required\" :id=\"uuid\" :disabled=\"readOnly\" @input=\"update($event.target.value)\" v-bind:class=\"{\n 'is-danger': validation.errorMessage\n }\" :placeholder=\"placeholder ? placeholder : ' '\" />\n <label class=\"label\" :for=\"uuid\" v-html=\"labelHtml\"></label>\n <div class=\"show-hide\" v-if=\"modelValue\">\n <a class=\"password-hidden\" @click=\"type = 'text'\" v-if=\"type == 'password'\">\n <svg class=\"icon password-eye\">\n <use xlink:href=\"#eye\" />\n </svg>\n <span>{{ __('auth.registration.password_show') }}</span>\n </a>\n <a class=\"password-visible\" @click=\"type = 'password'\" v-if=\"type == 'text'\">\n <svg class=\"icon password-eye\">\n <use xlink:href=\"#eye\" />\n </svg>\n <span>{{ __('auth.registration.password_hide') }}</span>\n </a>\n </div>\n </div>\n <div class=\"mt-1 mb-5 password-strenth-wrapper\">\n <div class=\"columns is-variable is-1 password-strenth\" v-bind:class=\"'strenth-' + strength\">\n <div class=\"column\" v-for=\"index in 4\" :key=\"index\">\n <div class=\"item\"></div>\n </div>\n </div>\n </div>\n <p class=\"help is-danger\" v-if=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n </div>\n</template>\n\n<script>\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 validations: {\n type: Object,\n default: () => ({})\n },\n placeholder: {\n type: String,\n default: \"\",\n },\n },\n computed: {\n labelHtml() {\n const requiredHtml = this.validations && this.validations.required ? ' <span class=\"asterisk\">*</span>' : '';\n return this.label + requiredHtml;\n },\n strength() {\n return this.getStrength(this.modelValue);\n }\n },\n data() {\n return {\n type: 'password'\n };\n },\n methods: {\n update(value) {\n this.$emit('update:modelValue', value);\n },\n getStrength: function (password) {\n let strength = 0;\n\n if (!password) {\n return strength;\n }\n\n if (password.length >= 6) {\n strength = 1;\n }\n\n if (password.length > 6 && (password.match(/[a-zA-Zа-яА-Я]/) || password.match(/\\d+/) || password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/))) {\n strength = 2;\n }\n\n if (password.length > 6 && ((password.match(/[a-zA-Zа-яА-Я]/) && password.match(/\\d+/)) || (password.match(/\\d+/) && password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) || (password.match(/[a-zA-Zа-яА-Я]/) && password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)))) {\n strength = 3;\n }\n\n if (password.length > 6 && password.match(/[a-zA-Zа-яА-Я]/) && password.match(/\\d+/) && password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) {\n strength = 4;\n }\n\n return strength;\n }\n }\n};\n</script>\n","<template>\n <div class=\"field-password\">\n <div class=\"control has-icons-right\">\n <input class=\"input\" :type=\"type\" :value=\"modelValue\" :required=\"required\" :id=\"uuid\" :disabled=\"readOnly\" @input=\"update($event.target.value)\" v-bind:class=\"{\n 'is-danger': validation.errorMessage\n }\" :placeholder=\"placeholder ? placeholder : ' '\" />\n <label class=\"label\" :for=\"uuid\" v-html=\"labelHtml\"></label>\n <div class=\"show-hide\" v-if=\"modelValue\">\n <a class=\"password-hidden\" @click=\"type = 'text'\" v-if=\"type == 'password'\">\n <svg class=\"icon password-eye\">\n <use xlink:href=\"#eye\" />\n </svg>\n <span>{{ __('auth.registration.password_show') }}</span>\n </a>\n <a class=\"password-visible\" @click=\"type = 'password'\" v-if=\"type == 'text'\">\n <svg class=\"icon password-eye\">\n <use xlink:href=\"#eye\" />\n </svg>\n <span>{{ __('auth.registration.password_hide') }}</span>\n </a>\n </div>\n </div>\n <div class=\"mt-1 mb-5 password-strenth-wrapper\">\n <div class=\"columns is-variable is-1 password-strenth\" v-bind:class=\"'strenth-' + strength\">\n <div class=\"column\" v-for=\"index in 4\" :key=\"index\">\n <div class=\"item\"></div>\n </div>\n </div>\n </div>\n <p class=\"help is-danger\" v-if=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n </div>\n</template>\n\n<script>\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 validations: {\n type: Object,\n default: () => ({})\n },\n placeholder: {\n type: String,\n default: \"\",\n },\n },\n computed: {\n labelHtml() {\n const requiredHtml = this.validations && this.validations.required ? ' <span class=\"asterisk\">*</span>' : '';\n return this.label + requiredHtml;\n },\n strength() {\n return this.getStrength(this.modelValue);\n }\n },\n data() {\n return {\n type: 'password'\n };\n },\n methods: {\n update(value) {\n this.$emit('update:modelValue', value);\n },\n getStrength: function (password) {\n let strength = 0;\n\n if (!password) {\n return strength;\n }\n\n if (password.length >= 6) {\n strength = 1;\n }\n\n if (password.length > 6 && (password.match(/[a-zA-Zа-яА-Я]/) || password.match(/\\d+/) || password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/))) {\n strength = 2;\n }\n\n if (password.length > 6 && ((password.match(/[a-zA-Zа-яА-Я]/) && password.match(/\\d+/)) || (password.match(/\\d+/) && password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) || (password.match(/[a-zA-Zа-яА-Я]/) && password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)))) {\n strength = 3;\n }\n\n if (password.length > 6 && password.match(/[a-zA-Zа-яА-Я]/) && password.match(/\\d+/) && password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) {\n strength = 4;\n }\n\n return strength;\n }\n }\n};\n</script>\n"],"names":["script","props","modelValue","required","type","Boolean","default","label","String","config","Object","readOnly","uuid","Number","validation","validations","placeholder","computed","labelHtml","requiredHtml","this","strength","getStrength","data","methods","update","value","$emit","password","length","match","_hoisted_1","class","_hoisted_2","_createElementVNode","createElementVNode","xlink:href","_hoisted_8","_openBlock","_createElementBlock","is-danger","$props","errorMessage","$data","id","disabled","onInput","$options","$event","target","for","innerHTML","openBlock","createElementBlock","_hoisted_5","onClick","_hoisted_6","_ctx","__","_hoisted_7","_normalizeClass","normalizeClass","_Fragment","_renderList","renderList","index","key"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FormPassword.js","sources":["../../src/forms/FormPassword.vue","../../src/forms/FormPassword.vue?vue&type=template&id=4876efd4&lang.js"],"sourcesContent":["<template>\n <div class=\"field-password\">\n <div class=\"control has-icons-right\">\n <input class=\"input\" :type=\"type\" :value=\"modelValue\" :required=\"required\" :id=\"uuid\" :disabled=\"readOnly\" @input=\"update($event.target.value)\" v-bind:class=\"{\n 'is-danger': validation.errorMessage\n }\" :placeholder=\"placeholder ? placeholder : ' '\" />\n <label class=\"label\" :for=\"uuid\" v-html=\"labelHtml\"></label>\n <div class=\"show-hide\" v-if=\"modelValue\">\n <a class=\"password-hidden\" @click=\"type = 'text'\" v-if=\"type == 'password'\">\n <svg class=\"icon password-eye\">\n <use xlink:href=\"#eye\" />\n </svg>\n <span>{{ __('auth.registration.password_show') }}</span>\n </a>\n <a class=\"password-visible\" @click=\"type = 'password'\" v-if=\"type == 'text'\">\n <svg class=\"icon password-eye\">\n <use xlink:href=\"#eye\" />\n </svg>\n <span>{{ __('auth.registration.password_hide') }}</span>\n </a>\n </div>\n </div>\n <div class=\"mt-1 mb-5 password-strenth-wrapper\">\n <div class=\"columns is-variable is-1 password-strenth\" v-bind:class=\"'strenth-' + strength\">\n <div class=\"column\" v-for=\"index in 4\" :key=\"index\">\n <div class=\"item\"></div>\n </div>\n </div>\n </div>\n <p class=\"help is-danger\" v-if=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n </div>\n</template>\n\n<script>\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 validations: {\n type: Object,\n default: () => ({})\n },\n placeholder: {\n type: String,\n default: \"\",\n },\n },\n computed: {\n labelHtml() {\n const requiredHtml = this.validations && this.validations.required ? ' <span class=\"asterisk\">*</span>' : '';\n return this.label + requiredHtml;\n },\n strength() {\n return this.getStrength(this.modelValue);\n }\n },\n data() {\n return {\n type: 'password'\n };\n },\n methods: {\n update(value) {\n this.$emit('update:modelValue', value);\n },\n getStrength: function (password) {\n let strength = 0;\n\n if (!password) {\n return strength;\n }\n\n if (password.length >= 6) {\n strength = 1;\n }\n\n if (password.length > 6 && (password.match(/[a-zA-Zа-яА-Я]/) || password.match(/\\d+/) || password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/))) {\n strength = 2;\n }\n\n if (password.length > 6 && ((password.match(/[a-zA-Zа-яА-Я]/) && password.match(/\\d+/)) || (password.match(/\\d+/) && password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) || (password.match(/[a-zA-Zа-яА-Я]/) && password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)))) {\n strength = 3;\n }\n\n if (password.length > 6 && password.match(/[a-zA-Zа-яА-Я]/) && password.match(/\\d+/) && password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) {\n strength = 4;\n }\n\n return strength;\n }\n }\n};\n</script>\n","<template>\n <div class=\"field-password\">\n <div class=\"control has-icons-right\">\n <input class=\"input\" :type=\"type\" :value=\"modelValue\" :required=\"required\" :id=\"uuid\" :disabled=\"readOnly\" @input=\"update($event.target.value)\" v-bind:class=\"{\n 'is-danger': validation.errorMessage\n }\" :placeholder=\"placeholder ? placeholder : ' '\" />\n <label class=\"label\" :for=\"uuid\" v-html=\"labelHtml\"></label>\n <div class=\"show-hide\" v-if=\"modelValue\">\n <a class=\"password-hidden\" @click=\"type = 'text'\" v-if=\"type == 'password'\">\n <svg class=\"icon password-eye\">\n <use xlink:href=\"#eye\" />\n </svg>\n <span>{{ __('auth.registration.password_show') }}</span>\n </a>\n <a class=\"password-visible\" @click=\"type = 'password'\" v-if=\"type == 'text'\">\n <svg class=\"icon password-eye\">\n <use xlink:href=\"#eye\" />\n </svg>\n <span>{{ __('auth.registration.password_hide') }}</span>\n </a>\n </div>\n </div>\n <div class=\"mt-1 mb-5 password-strenth-wrapper\">\n <div class=\"columns is-variable is-1 password-strenth\" v-bind:class=\"'strenth-' + strength\">\n <div class=\"column\" v-for=\"index in 4\" :key=\"index\">\n <div class=\"item\"></div>\n </div>\n </div>\n </div>\n <p class=\"help is-danger\" v-if=\"validation.errorMessage\" v-html=\"validation.errorMessage\"></p>\n </div>\n</template>\n\n<script>\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 validations: {\n type: Object,\n default: () => ({})\n },\n placeholder: {\n type: String,\n default: \"\",\n },\n },\n computed: {\n labelHtml() {\n const requiredHtml = this.validations && this.validations.required ? ' <span class=\"asterisk\">*</span>' : '';\n return this.label + requiredHtml;\n },\n strength() {\n return this.getStrength(this.modelValue);\n }\n },\n data() {\n return {\n type: 'password'\n };\n },\n methods: {\n update(value) {\n this.$emit('update:modelValue', value);\n },\n getStrength: function (password) {\n let strength = 0;\n\n if (!password) {\n return strength;\n }\n\n if (password.length >= 6) {\n strength = 1;\n }\n\n if (password.length > 6 && (password.match(/[a-zA-Zа-яА-Я]/) || password.match(/\\d+/) || password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/))) {\n strength = 2;\n }\n\n if (password.length > 6 && ((password.match(/[a-zA-Zа-яА-Я]/) && password.match(/\\d+/)) || (password.match(/\\d+/) && password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) || (password.match(/[a-zA-Zа-яА-Я]/) && password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)))) {\n strength = 3;\n }\n\n if (password.length > 6 && password.match(/[a-zA-Zа-яА-Я]/) && password.match(/\\d+/) && password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) {\n strength = 4;\n }\n\n return strength;\n }\n }\n};\n</script>\n"],"names":["script","props","modelValue","required","type","Boolean","default","label","String","config","Object","readOnly","uuid","Number","validation","validations","placeholder","computed","labelHtml","requiredHtml","this","strength","getStrength","data","methods","update","value","$emit","password","length","match","_hoisted_1","class","_hoisted_2","_createElementVNode","createElementVNode","xlink:href","_hoisted_8","_openBlock","_createElementBlock","is-danger","$props","errorMessage","$data","id","disabled","onInput","$options","$event","target","for","innerHTML","openBlock","createElementBlock","_hoisted_5","onClick","_hoisted_6","_ctx","__","_hoisted_7","_normalizeClass","normalizeClass","_Fragment","_renderList","renderList","index","key"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormRadio.js","sources":["../../src/forms/FormRadio.vue","../../src/forms/FormRadio.vue?vue&type=template&id=42838593&lang.js"],"sourcesContent":["<template>\n <div class=\"fields-radio\">\n <label class=\"label\" v-html=\"labelHtml\" v-if=\"label\"></label>\n <div class=\"field\" v-for=\"(item, index) in list\" v-bind:key=\"index\">\n <input class=\"is-checkradio\" type=\"radio\" v-model=\"value\" :value=\"item.code\" :id=\"uuid + '-' + index\" />\n <label :for=\"uuid + '-' + index\" v-text=\"item.value\" v-if=\"item.value\"></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 list: {\n type: Array,\n default: []\n },\n uuid: {\n type: Number,\n default: 0\n },\n validation: {\n type: Object,\n default: () => ({})\n },\n description: {\n type: String,\n default: ''\n },\n validations: {\n type: Object,\n default: () => ({})\n },\n model: {\n type: String,\n default: ''\n },\n store: {\n type: String,\n default: ''\n }\n },\n data() {\n return {\n value: null,\n ls: null\n };\n },\n computed: {\n labelHtml() {\n const requiredHtml = this.label && this.validations && this.validations.required ? ' <span class=\"asterisk\">*</span>' : '';\n return this.label + requiredHtml;\n }\n },\n mounted() {\n if (this.modelValue) {\n this.value = this.modelValue;\n }\n\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.value = forms[this.store][this.model];\n }\n }\n },\n watch: {\n value: function (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 class=\"fields-radio\">\n <label class=\"label\" v-html=\"labelHtml\" v-if=\"label\"></label>\n <div class=\"field\" v-for=\"(item, index) in list\" v-bind:key=\"index\">\n <input class=\"is-checkradio\" type=\"radio\" v-model=\"value\" :value=\"item.code\" :id=\"uuid + '-' + index\" />\n <label :for=\"uuid + '-' + index\" v-text=\"item.value\" v-if=\"item.value\"></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 list: {\n type: Array,\n default: []\n },\n uuid: {\n type: Number,\n default: 0\n },\n validation: {\n type: Object,\n default: () => ({})\n },\n description: {\n type: String,\n default: ''\n },\n validations: {\n type: Object,\n default: () => ({})\n },\n model: {\n type: String,\n default: ''\n },\n store: {\n type: String,\n default: ''\n }\n },\n data() {\n return {\n value: null,\n ls: null\n };\n },\n computed: {\n labelHtml() {\n const requiredHtml = this.label && this.validations && this.validations.required ? ' <span class=\"asterisk\">*</span>' : '';\n return this.label + requiredHtml;\n }\n },\n mounted() {\n if (this.modelValue) {\n this.value = this.modelValue;\n }\n\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.value = forms[this.store][this.model];\n }\n }\n },\n watch: {\n value: function (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":["script","props","modelValue","required","type","Boolean","default","label","String","list","Array","uuid","Number","validation","Object","description","validations","model","store","data","value","ls","computed","labelHtml","requiredHtml","this","mounted","SecureLS","isCompression","forms","get","watch","set","$emit","_hoisted_1","class","_openBlock","_createElementBlock","$props","innerHTML","$options","_Fragment","_renderList","renderList","item","index","createElementBlock","key","_createElementVNode","createElementVNode","$data","$event","code","id","for","_toDisplayString","errorMessage"],"mappings":"4IAeeA,EAAA,CACXC,MAAO,CACHC,WAAY,CAAEC,UAAU,GACxBA,SAAU,CACNC,KAAMC,QACNC,SAAS,GAEbC,MAAO,CACHH,KAAMI,OACNL,UAAU,GAEdM,KAAM,CACFL,KAAMM,MACNJ,QAAS,IAEbK,KAAM,CACFP,KAAMQ,OACNN,QAAS,GAEbO,WAAY,CACRT,KAAMU,OACNR,QAAS,
|
|
1
|
+
{"version":3,"file":"FormRadio.js","sources":["../../src/forms/FormRadio.vue","../../src/forms/FormRadio.vue?vue&type=template&id=42838593&lang.js"],"sourcesContent":["<template>\n <div class=\"fields-radio\">\n <label class=\"label\" v-html=\"labelHtml\" v-if=\"label\"></label>\n <div class=\"field\" v-for=\"(item, index) in list\" v-bind:key=\"index\">\n <input class=\"is-checkradio\" type=\"radio\" v-model=\"value\" :value=\"item.code\" :id=\"uuid + '-' + index\" />\n <label :for=\"uuid + '-' + index\" v-text=\"item.value\" v-if=\"item.value\"></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 list: {\n type: Array,\n default: []\n },\n uuid: {\n type: Number,\n default: 0\n },\n validation: {\n type: Object,\n default: () => ({})\n },\n description: {\n type: String,\n default: ''\n },\n validations: {\n type: Object,\n default: () => ({})\n },\n model: {\n type: String,\n default: ''\n },\n store: {\n type: String,\n default: ''\n }\n },\n data() {\n return {\n value: null,\n ls: null\n };\n },\n computed: {\n labelHtml() {\n const requiredHtml = this.label && this.validations && this.validations.required ? ' <span class=\"asterisk\">*</span>' : '';\n return this.label + requiredHtml;\n }\n },\n mounted() {\n if (this.modelValue) {\n this.value = this.modelValue;\n }\n\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.value = forms[this.store][this.model];\n }\n }\n },\n watch: {\n value: function (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 class=\"fields-radio\">\n <label class=\"label\" v-html=\"labelHtml\" v-if=\"label\"></label>\n <div class=\"field\" v-for=\"(item, index) in list\" v-bind:key=\"index\">\n <input class=\"is-checkradio\" type=\"radio\" v-model=\"value\" :value=\"item.code\" :id=\"uuid + '-' + index\" />\n <label :for=\"uuid + '-' + index\" v-text=\"item.value\" v-if=\"item.value\"></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 list: {\n type: Array,\n default: []\n },\n uuid: {\n type: Number,\n default: 0\n },\n validation: {\n type: Object,\n default: () => ({})\n },\n description: {\n type: String,\n default: ''\n },\n validations: {\n type: Object,\n default: () => ({})\n },\n model: {\n type: String,\n default: ''\n },\n store: {\n type: String,\n default: ''\n }\n },\n data() {\n return {\n value: null,\n ls: null\n };\n },\n computed: {\n labelHtml() {\n const requiredHtml = this.label && this.validations && this.validations.required ? ' <span class=\"asterisk\">*</span>' : '';\n return this.label + requiredHtml;\n }\n },\n mounted() {\n if (this.modelValue) {\n this.value = this.modelValue;\n }\n\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.value = forms[this.store][this.model];\n }\n }\n },\n watch: {\n value: function (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":["script","props","modelValue","required","type","Boolean","default","label","String","list","Array","uuid","Number","validation","Object","description","validations","model","store","data","value","ls","computed","labelHtml","requiredHtml","this","mounted","SecureLS","isCompression","forms","get","watch","set","$emit","_hoisted_1","class","_openBlock","_createElementBlock","$props","innerHTML","$options","_Fragment","_renderList","renderList","item","index","createElementBlock","key","_createElementVNode","createElementVNode","$data","$event","code","id","for","_toDisplayString","errorMessage"],"mappings":"4IAeeA,EAAA,CACXC,MAAO,CACHC,WAAY,CAAEC,UAAU,GACxBA,SAAU,CACNC,KAAMC,QACNC,SAAS,GAEbC,MAAO,CACHH,KAAMI,OACNL,UAAU,GAEdM,KAAM,CACFL,KAAMM,MACNJ,QAAS,IAEbK,KAAM,CACFP,KAAMQ,OACNN,QAAS,GAEbO,WAAY,CACRT,KAAMU,OACNR,QAAS,WAAF,MAAS,KAEpBS,YAAa,CACTX,KAAMI,OACNF,QAAS,IAEbU,YAAa,CACTZ,KAAMU,OACNR,QAAS,WAAF,MAAS,KAEpBW,MAAO,CACHb,KAAMI,OACNF,QAAS,IAEbY,MAAO,CACHd,KAAMI,OACNF,QAAS,KAGjBa,KAAI,WACA,MAAO,CACHC,MAAO,KACPC,GAAI,OAGZC,SAAU,CACNC,UAAS,WACL,IAAMC,EAAeC,KAAKlB,OAASkB,KAAKT,aAAeS,KAAKT,YAAYb,SAAW,mCAAqC,GACxH,OAAOsB,KAAKlB,MAAQiB,IAG5BE,QAAO,WASH,GARID,KAAKvB,aACLuB,KAAKL,MAAQK,KAAKvB,YAGtBuB,KAAKJ,GAAK,IAAIM,UAAS,CACnBC,eAAe,IAGfH,KAAKP,OAASO,KAAKR,QAAUQ,KAAKvB,WAAY,CAC9C,IAAI2B,EAAQJ,KAAKJ,GAAGS,IAAI,SAEnBD,IACDA,EAAQ,IAGPA,EAAMJ,KAAKP,SACZW,EAAMJ,KAAKP,OAAS,IAGpBW,EAAMJ,KAAKP,OAAOO,KAAKR,SACvBQ,KAAKL,MAAQS,EAAMJ,KAAKP,OAAOO,KAAKR,UAIhDc,MAAO,CACHX,MAAO,SAAUA,GACb,GAAIK,KAAKP,OAASO,KAAKR,MAAO,CAC1B,IAAIY,EAAQJ,KAAKJ,GAAGS,IAAI,SAEnBD,EAGOA,EAAMJ,KAAKP,SACnBW,EAAMJ,KAAKP,OAAS,KAHpBW,EAAQ,IACFJ,KAAKP,OAAS,GAKxBW,EAAMJ,KAAKP,OAAOO,KAAKR,OAASG,EAEhCK,KAAKJ,GAAGW,IAAI,QAASH,GAGzBJ,KAAKQ,MAAM,oBAAqBb,MC5GnCc,EAAA,CAAAC,MAAM,wIAAX,OAAAC,cAAAC,qBAQK,MARLH,EAQK,CAP6CI,EAAK/B,qBAAnD8B,EAAAA,mBAA4D,QAAA,OAArDF,MAAM,QAAQI,UAAQC,EAASjB,uDACtCa,aAAA,GAAAC,qBAGKI,EAAAA,SAHsC,KAAAC,EAAAC,WAAAL,EAAA7B,MAAhB,SAAAmC,EAAMC,wBAAjCR,EAGKS,mBAAA,MAAA,CAHAX,MAAM,QAA6CY,IAAKF,qBACzDG,EAAuGC,mBAAA,QAAA,CAAhGd,MAAM,gBAAgB/B,KAAK,6DAAiB8C,EAAK9B,MAAA+B,IAAG/B,MAAOwB,EAAKQ,KAAOC,GAAIf,EAAK3B,KAAA,IAAQkC,6BAA5CK,EAAK9B,SACGwB,EAAKxB,qBAAhEiB,EAA8ES,mBAAA,QAAA,OAAtEQ,IAAKhB,EAAK3B,KAAA,IAAQkC,cAAOU,EAAAA,gBAAkBX,EAALxB,8DAErBkB,EAAWvB,2BAAxCsB,EAAkES,mBAAA,IAAA,OAA/DX,MAAM,cAAiCI,UAAQD,EAAWvB,wDAC7BuB,EAAAzB,WAAW2C,4BAA3CnB,EAAAA,mBAA6F,IAAA,OAA1FF,MAAM,iBAAgDI,UAAQD,EAAUzB,WAAC2C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormRating.js","sources":["../../src/forms/FormRating.vue","../../src/forms/FormRating.vue?vue&type=template&id=7c9a3681&lang.js"],"sourcesContent":["<template>\n <div>\n <label\n class=\"label\"\n :for=\"uuid\"\n v-html=\"labelHtml\"\n v-if=\"label\"\n ></label>\n <div class=\"control\">\n <div class=\"rating\">\n <span\n class=\"is-clickable\"\n @click=\"set(index)\"\n v-bind:class=\"{ 'has-text-warning': modelValue >= index }\"\n v-for=\"index in 5\"\n :key=\"index\"\n >★</span\n >\n </div>\n </div>\n <p class=\"description\" v-if=\"description\" v-html=\"description\"></p>\n <p\n class=\"help is-danger\"\n v-if=\"validation.errorMessage\"\n v-html=\"validation.errorMessage\"\n ></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: false,\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 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 methods: {\n set(rating) {\n if (!this.readOnly) {\n this.update(rating);\n }\n },\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 <label\n class=\"label\"\n :for=\"uuid\"\n v-html=\"labelHtml\"\n v-if=\"label\"\n ></label>\n <div class=\"control\">\n <div class=\"rating\">\n <span\n class=\"is-clickable\"\n @click=\"set(index)\"\n v-bind:class=\"{ 'has-text-warning': modelValue >= index }\"\n v-for=\"index in 5\"\n :key=\"index\"\n >★</span\n >\n </div>\n </div>\n <p class=\"description\" v-if=\"description\" v-html=\"description\"></p>\n <p\n class=\"help is-danger\"\n v-if=\"validation.errorMessage\"\n v-html=\"validation.errorMessage\"\n ></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: false,\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 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 methods: {\n set(rating) {\n if (!this.readOnly) {\n this.update(rating);\n }\n },\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":["script","props","modelValue","required","type","Boolean","default","label","String","config","Object","readOnly","uuid","Number","validation","model","placeholder","store","description","validations","data","ls","computed","labelHtml","requiredHtml","this","mounted","SecureLS","isCompression","forms","get","update","methods","set","rating","value","$emit","_hoisted_2","class","_hoisted_3","_createElementBlock","$props","for","innerHTML","$options","_createElementVNode","createElementBlock","_Fragment","_renderList","renderList","index","_normalizeClass","has-text-warning","onClick","$event","key","_hoisted_4","errorMessage"],"mappings":"4IAgCeA,EAAA,CACXC,MAAO,CACHC,WAAY,CAAEC,UAAU,GACxBA,SAAU,CACNC,KAAMC,QACNC,SAAS,GAEbC,MAAO,CACHH,KAAMI,OACNL,UAAU,GAEdM,OAAQ,CACJL,KAAMM,OACNJ,QAAS,WAAA,MAAO,CAAEF,KAAM,UAE5BO,SAAU,CACNP,KAAMC,QACNC,SAAS,GAEbM,KAAM,CACFR,KAAMS,OACNP,QAAS,GAEbQ,WAAY,CACRV,KAAMM,OACNJ,QAAS,WAAA,MAAO,KAEpBF,KAAM,CACFA,KAAMI,OACNF,QAAS,QAEbS,MAAO,CACHX,KAAMI,OACNF,QAAS,IAEbU,YAAa,CACTZ,KAAMI,OACNF,QAAS,IAEbW,MAAO,CACHb,KAAMI,OACNF,QAAS,IAEbY,YAAa,CACTd,KAAMI,OACNF,QAAS,IAEba,YAAa,CACTf,KAAMM,OACNJ,QAAS,WAAA,MAAO,MAGxBc,KAAI,WACA,MAAO,CACHC,GAAI,OAGZC,SAAU,CACNC,UAAS,WACL,IAAMC,EACFC,KAAKN,aAAeM,KAAKN,YAAYhB,SAC/B,mCACA,GACV,OAAOsB,KAAKlB,MAAQiB,IAG5BE,QAAO,WAKH,GAJAD,KAAKJ,GAAK,IAAIM,UAAS,CACnBC,eAAe,IAGfH,KAAKR,OAASQ,KAAKV,QAAUU,KAAKvB,WAAY,CAC9C,IAAI2B,EAAQJ,KAAKJ,GAAGS,IAAI,SAEnBD,IACDA,EAAQ,IAGPA,EAAMJ,KAAKR,SACZY,EAAMJ,KAAKR,OAAS,IAGpBY,EAAMJ,KAAKR,OAAOQ,KAAKV,QACvBU,KAAKM,OAAOF,EAAMJ,KAAKR,OAAOQ,KAAKV,UAI/CiB,QAAS,CACLC,IAAG,SAACC,GACKT,KAAKd,UACNc,KAAKM,OAAOG,IAGpBH,OAAM,SAACI,GACH,GAAIV,KAAKR,OAASQ,KAAKV,MAAO,CAC1B,IAAIc,EAAQJ,KAAKJ,GAAGS,IAAI,SAEnBD,EAGOA,EAAMJ,KAAKR,SACnBY,EAAMJ,KAAKR,OAAS,KAHpBY,EAAQ,IACFJ,KAAKR,OAAS,GAKxBY,EAAMJ,KAAKR,OAAOQ,KAAKV,OAASoB,EAEhCV,KAAKJ,GAAGY,IAAI,QAASJ,GAGzBJ,KAAKW,MAAM,oBAAqBD,4BCrI/BE,EAAA,CAAAC,MAAM,WACFC,EAAA,CAAAD,MAAM,4GARnBE,qBAyBK,MAAA,KAAA,CApBSC,EAAKlC,qBAJfiC,EAAAA,mBAKQ,QAAA,OAJJF,MAAM,QACLI,IAAKD,EAAI7B,KACV+B,UAAQC,EAASrB,sDAGrBsB,EAAAA,mBAWK,MAXLR,EAWK,CAVDQ,qBASK,MATLN,EASK,gBARDC,EAOAM,mBAAAC,WAAA,KAAAC,EAAAC,WAHoB,GAAC,SAAVC,UAJXL,EAAAA,mBAOA,OAAA,CANIP,MAAMa,EAAAA,eAAA,CAAA,eAE8B,CAAAC,mBAAAX,EAAAvC,YAAcgD,KADjDG,QAAK,SAAAC,GAAA,OAAEV,EAAGX,IAACiB,IAGXK,IAAKL,GACL,IAAC,GAAAM,eAIef,EAAWvB,2BAAxCsB,EAAkEM,mBAAA,IAAA,OAA/DR,MAAM,cAAiCK,UAAQF,EAAWvB,wDAGnDuB,EAAA3B,WAAW2C,4BAFrBjB,EAAAA,mBAII,IAAA,OAHAF,MAAM,iBAENK,UAAQF,EAAU3B,WAAC2C"}
|
|
1
|
+
{"version":3,"file":"FormRating.js","sources":["../../src/forms/FormRating.vue","../../src/forms/FormRating.vue?vue&type=template&id=7c9a3681&lang.js"],"sourcesContent":["<template>\n <div>\n <label\n class=\"label\"\n :for=\"uuid\"\n v-html=\"labelHtml\"\n v-if=\"label\"\n ></label>\n <div class=\"control\">\n <div class=\"rating\">\n <span\n class=\"is-clickable\"\n @click=\"set(index)\"\n v-bind:class=\"{ 'has-text-warning': modelValue >= index }\"\n v-for=\"index in 5\"\n :key=\"index\"\n >★</span\n >\n </div>\n </div>\n <p class=\"description\" v-if=\"description\" v-html=\"description\"></p>\n <p\n class=\"help is-danger\"\n v-if=\"validation.errorMessage\"\n v-html=\"validation.errorMessage\"\n ></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: false,\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 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 methods: {\n set(rating) {\n if (!this.readOnly) {\n this.update(rating);\n }\n },\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 <label\n class=\"label\"\n :for=\"uuid\"\n v-html=\"labelHtml\"\n v-if=\"label\"\n ></label>\n <div class=\"control\">\n <div class=\"rating\">\n <span\n class=\"is-clickable\"\n @click=\"set(index)\"\n v-bind:class=\"{ 'has-text-warning': modelValue >= index }\"\n v-for=\"index in 5\"\n :key=\"index\"\n >★</span\n >\n </div>\n </div>\n <p class=\"description\" v-if=\"description\" v-html=\"description\"></p>\n <p\n class=\"help is-danger\"\n v-if=\"validation.errorMessage\"\n v-html=\"validation.errorMessage\"\n ></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: false,\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 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 methods: {\n set(rating) {\n if (!this.readOnly) {\n this.update(rating);\n }\n },\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":["script","props","modelValue","required","type","Boolean","default","label","String","config","Object","readOnly","uuid","Number","validation","model","placeholder","store","description","validations","data","ls","computed","labelHtml","requiredHtml","this","mounted","SecureLS","isCompression","forms","get","update","methods","set","rating","value","$emit","_hoisted_2","class","_hoisted_3","_createElementBlock","$props","for","innerHTML","$options","_createElementVNode","createElementBlock","_Fragment","_renderList","renderList","index","_normalizeClass","has-text-warning","onClick","$event","key","_hoisted_4","errorMessage"],"mappings":"4IAgCeA,EAAA,CACXC,MAAO,CACHC,WAAY,CAAEC,UAAU,GACxBA,SAAU,CACNC,KAAMC,QACNC,SAAS,GAEbC,MAAO,CACHH,KAAMI,OACNL,UAAU,GAEdM,OAAQ,CACJL,KAAMM,OACNJ,QAAS,WAAF,MAAS,CAAEF,KAAM,UAE5BO,SAAU,CACNP,KAAMC,QACNC,SAAS,GAEbM,KAAM,CACFR,KAAMS,OACNP,QAAS,GAEbQ,WAAY,CACRV,KAAMM,OACNJ,QAAS,WAAF,MAAS,KAEpBF,KAAM,CACFA,KAAMI,OACNF,QAAS,QAEbS,MAAO,CACHX,KAAMI,OACNF,QAAS,IAEbU,YAAa,CACTZ,KAAMI,OACNF,QAAS,IAEbW,MAAO,CACHb,KAAMI,OACNF,QAAS,IAEbY,YAAa,CACTd,KAAMI,OACNF,QAAS,IAEba,YAAa,CACTf,KAAMM,OACNJ,QAAS,WAAF,MAAS,MAGxBc,KAAI,WACA,MAAO,CACHC,GAAI,OAGZC,SAAU,CACNC,UAAS,WACL,IAAMC,EACFC,KAAKN,aAAeM,KAAKN,YAAYhB,SAC/B,mCACA,GACV,OAAOsB,KAAKlB,MAAQiB,IAG5BE,QAAO,WAKH,GAJAD,KAAKJ,GAAK,IAAIM,UAAS,CACnBC,eAAe,IAGfH,KAAKR,OAASQ,KAAKV,QAAUU,KAAKvB,WAAY,CAC9C,IAAI2B,EAAQJ,KAAKJ,GAAGS,IAAI,SAEnBD,IACDA,EAAQ,IAGPA,EAAMJ,KAAKR,SACZY,EAAMJ,KAAKR,OAAS,IAGpBY,EAAMJ,KAAKR,OAAOQ,KAAKV,QACvBU,KAAKM,OAAOF,EAAMJ,KAAKR,OAAOQ,KAAKV,UAI/CiB,QAAS,CACLC,IAAAA,SAAIC,GACKT,KAAKd,UACNc,KAAKM,OAAOG,IAGpBH,OAAAA,SAAOI,GACH,GAAIV,KAAKR,OAASQ,KAAKV,MAAO,CAC1B,IAAIc,EAAQJ,KAAKJ,GAAGS,IAAI,SAEnBD,EAGOA,EAAMJ,KAAKR,SACnBY,EAAMJ,KAAKR,OAAS,KAHpBY,EAAQ,IACFJ,KAAKR,OAAS,GAKxBY,EAAMJ,KAAKR,OAAOQ,KAAKV,OAASoB,EAEhCV,KAAKJ,GAAGY,IAAI,QAASJ,GAGzBJ,KAAKW,MAAM,oBAAqBD,4BCrI/BE,EAAA,CAAAC,MAAM,WACFC,EAAA,CAAAD,MAAM,4GARnBE,qBAyBK,MAAA,KAAA,CApBSC,EAAKlC,qBAJfiC,EAAAA,mBAKQ,QAAA,OAJJF,MAAM,QACLI,IAAKD,EAAI7B,KACV+B,UAAQC,EAASrB,sDAGrBsB,EAAAA,mBAWK,MAXLR,EAWK,CAVDQ,qBASK,MATLN,EASK,gBARDC,EAOAM,mBAAAC,WAAA,KAAAC,EAAAC,WAHoB,GAAC,SAAVC,UAJXL,EAAAA,mBAOA,OAAA,CANIP,MAAMa,EAAAA,eAAA,CAAA,eAE8B,CAAAC,mBAAAX,EAAAvC,YAAcgD,KADjDG,QAAK,SAAAC,GAAA,OAAEV,EAAGX,IAACiB,IAGXK,IAAKL,GACL,IAAC,GAAAM,eAIef,EAAWvB,2BAAxCsB,EAAkEM,mBAAA,IAAA,OAA/DR,MAAM,cAAiCK,UAAQF,EAAWvB,wDAGnDuB,EAAA3B,WAAW2C,4BAFrBjB,EAAAA,mBAII,IAAA,OAHAF,MAAM,iBAENK,UAAQF,EAAU3B,WAAC2C"}
|