| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import { reactive } from 'vue'
- import FormValidationError from '@/utils/FormValidationError'
-
- export function useProductCart(form) {
- const cartProduct = reactive([])
-
- const productAddValidation = () => {
- if (form.price) {
- throw new FormValidationError('Nilai tidak boleh kosong', 'price')
- } else if (form.qty) {
- throw new FormValidationError('Nilai tidak boleh kosong', 'qty')
- } else if (form.product) {
- throw new FormValidationError('Nilai tidak boleh kosong', 'product')
- }
- }
-
- const onAddProduct = () => {
- try {
- form.clearErrors(['price', 'qty', 'product'])
-
- productAddValidation()
-
- cartProduct.push({
- number: form.product.number,
- name: form.product.name,
- price: form.price,
- qty: form.qty,
- })
- } catch (e) {
- form.setError(e.field, e.message)
- }
- }
-
- const onDeleteProduct = (index) => {
- cartProduct.splice(index)
- }
-
- const onClearProduct = () => {}
-
- return {
- cartProduct,
- onAddProduct,
- onDeleteProduct,
- onClearProduct,
- }
- }
|