<?php

namespace Ebuy\Product\Forms;

use Litepie\Form\FormInterpreter;

class Product extends FormInterpreter
{

    /**
     * Sets the form and form elements.
     * @return null.
     */
    public static function setAttributes()
    {

        self::$urls = [
            'new' => [
                'url' => guard_url('product/product/new'),
                'method' => 'GET',
            ],
            'create' => [
                'url' => guard_url('product/product/create'),
                'method' => 'GET',
            ],
            'store' => [
                'url' => guard_url('product/product'),
                'method' => 'POST',
            ],
            'update' => [
                'url' => guard_url('product/product'),
                'method' => 'PUT',
            ],
            'list' => [
                'url' => guard_url('product/product'),
                'method' => 'GET',
            ],
            'delete' => [
                'url' => guard_url('product/product'),
                'method' => 'DELETE',
            ],
        ];
        self::$search = [
            'name' => [
                "type" => 'text',
                "label" => trans('product::product.label.name'),
                "placeholder" => trans('product::product.placeholder.name'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "4",
                "roles" => [],
            ]
        ];
        self::$orderBy = [
            'created_at' => trans('product::product.label.created_at'),
            'name' => trans('product::product.label.name'),
            'status' => trans('product::product.label.status'),
        ];
        self::$groups = [
            'main' => trans('product::product.groups.main'),
            'details' => trans('product::product.groups.details'),
            'images' => trans('product::product.groups.images'),
            'settings' => trans('product::product.groups.settings'),
        ];
        self::$list = [
            [
                'key' => "ref",
                'label' => trans('product::product.label.ref'),
                'sortable' => 'true',
                'roles' => [],
            ],
            [
                'key' => "id",
                'label' => trans('product::product.label.id'),
                'sortable' => 'true',
                'roles' => [],
            ],
            [
                'key' => "name",
                'label' => trans('product::product.label.name'),
                'sortable' => 'true',
                'roles' => [],
            ],
            [
                'key' => "status",
                'label' => trans('product::product.label.status'),
                'sortable' => 'true',
                'roles' => [],
            ],
        ];
        self::$fields = [
                'seller_id' => [
                "element" => 'numeric',
                "type" => 'numeric',
                "label" => trans('product::product.label.seller_id'),
                "placeholder" => trans('product::product.placeholder.seller_id'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'product_id' => [
                "element" => 'text',
                "type" => 'text',
                "label" => trans('product::product.label.product_id'),
                "placeholder" => trans('product::product.placeholder.product_id'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'name' => [
                "element" => 'text',
                "type" => 'text',
                "label" => trans('product::product.label.name'),
                "placeholder" => trans('product::product.placeholder.name'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'category_id' => [
                "element" => 'select',
                "type" => 'select',
                "label" => trans('product::product.label.category_id'),
                "placeholder" => trans('product::product.placeholder.category_id'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'brand_id' => [
                "element" => 'select',
                "type" => 'select',
                "label" => trans('product::product.label.brand_id'),
                "placeholder" => trans('product::product.placeholder.brand_id'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'price' => [
                "element" => 'decimal',
                "type" => 'decimal',
                "label" => trans('product::product.label.price'),
                "placeholder" => trans('product::product.placeholder.price'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'tax_rate' => [
                "element" => 'hidden',
                "type" => 'hidden',
                "label" => trans('product::product.label.tax_rate'),
                "placeholder" => trans('product::product.placeholder.tax_rate'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'tax_amount' => [
                "element" => 'decimal',
                "type" => 'decimal',
                "label" => trans('product::product.label.tax_amount'),
                "placeholder" => trans('product::product.placeholder.tax_amount'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'total' => [
                "element" => 'decimal',
                "type" => 'decimal',
                "label" => trans('product::product.label.total'),
                "placeholder" => trans('product::product.placeholder.total'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'description' => [
                "element" => 'text',
                "type" => 'text',
                "label" => trans('product::product.label.description'),
                "placeholder" => trans('product::product.placeholder.description'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'model' => [
                "element" => 'text',
                "type" => 'text',
                "label" => trans('product::product.label.model'),
                "placeholder" => trans('product::product.placeholder.model'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'highlights' => [
                "element" => 'text',
                "type" => 'text',
                "label" => trans('product::product.label.highlights'),
                "placeholder" => trans('product::product.placeholder.highlights'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'size' => [
                "element" => 'text',
                "type" => 'text',
                "label" => trans('product::product.label.size'),
                "placeholder" => trans('product::product.placeholder.size'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'quantity' => [
                "element" => 'text',
                "type" => 'text',
                "label" => trans('product::product.label.quantity'),
                "placeholder" => trans('product::product.placeholder.quantity'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'services' => [
                "element" => 'text',
                "type" => 'text',
                "label" => trans('product::product.label.services'),
                "placeholder" => trans('product::product.placeholder.services'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'features' => [
                "element" => 'text',
                "type" => 'text',
                "label" => trans('product::product.label.features'),
                "placeholder" => trans('product::product.placeholder.features'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'specifications' => [
                "element" => 'text',
                "type" => 'text',
                "label" => trans('product::product.label.specifications'),
                "placeholder" => trans('product::product.placeholder.specifications'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'availability' => [
                "element" => 'radios',
                "type" => 'radios',
                "label" => trans('product::product.label.availability'),
                "placeholder" => trans('product::product.placeholder.availability'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            'images' => [
                "element" => 'text',
                "type" => 'text',
                "label" => trans('product::product.label.images'),
                "placeholder" => trans('product::product.placeholder.images'),
                "rules" => '',
                "group" => "main",
                "section" => "first",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
        ];

        return new static();
    }
}