<?php


return  
    [
        'model' => [
            'model' => \Eform\Filing\Models\Filing::class,
            'table' => 'eform_filing_filings',
            'hidden'=> [],
            'visible' => [],
            'guarded' => ['*'],
            'slugs' => ['slug' => 'name'],
            'dates' => ['deleted_at', 'created_at', 'updated_at'],
            'appends' => [],
            'fillable' => ['filing_type',  'business_id',  'tax_period',  'first_used_month',  'final_return',  'tax_amount',  'tax_year_end_month',  'loss_event',  'sold_on',  'used_for_logging',  'explanation',  'attachment',  'sold_to_name',  'sold_to_phone',  'sold_to_email',  'sold_to_address1',  'sold_to_address2',  'sold_to_country',  'sold_to_state',  'sold_to_city',  'sold_to_zip',  'service_fee',  'subtotal',  'sales_tax',  'total',  'bill_to_card',  'status',  'user_id'],
            'translatables' => [],
            'upload_folder' => 'filing/filing',
            'uploads' => [
            /*
                    'images' => [
                        'count' => 10,
                        'type'  => 'image',
                    ],
                    'file' => [
                        'count' => 1,
                        'type'  => 'file',
                    ],
            */
            ],

            'casts' => [
            
            /*
                'images'    => 'array',
                'file'      => 'array',
            */
            ],

            'revision' => [],
            'perPage' => '20',
            'search'        => [
                'name'  => 'like',
                'status',
            ]
        ],

        'search' => [
            "filing_type" => [
                "key" => "filing_type", 
                "col" => 4, 
                "operators" => ['LIKE', '=', 'IN', 'BETWEEN'], 
                "type" => "text", 
                "label" => 'filing::filing.label.filing_type', 
                "placeholder" => 'filing::filing.placeholder.filing_type', 
            ],
            "business_id" => [
                "key" => "business_id", 
                "col" => 4, 
                "operators" => ['LIKE', '=', 'IN', 'BETWEEN'], 
                "type" => "text", 
                "label" => 'filing::filing.label.business_id', 
                "placeholder" => 'filing::filing.placeholder.business_id', 
            ],
            "tax_period" => [
                "key" => "tax_period", 
                "col" => 4, 
                "operators" => ['LIKE', '=', 'IN', 'BETWEEN'], 
                "type" => "text", 
                "label" => 'filing::filing.label.tax_period', 
                "placeholder" => 'filing::filing.placeholder.tax_period', 
            ],
            "first_used_month" => [
                "key" => "first_used_month", 
                "col" => 4, 
                "operators" => ['LIKE', '=', 'IN', 'BETWEEN'], 
                "type" => "text", 
                "label" => 'filing::filing.label.first_used_month', 
                "placeholder" => 'filing::filing.placeholder.first_used_month', 
            ],
            "final_return" => [
                "key" => "final_return", 
                "col" => 4, 
                "operators" => ['LIKE', '=', 'IN', 'BETWEEN'], 
                "type" => "text", 
                "label" => 'filing::filing.label.final_return', 
                "placeholder" => 'filing::filing.placeholder.final_return', 
            ],
            "tax_amount" => [
                "key" => "tax_amount", 
                "col" => 4, 
                "operators" => ['LIKE', '=', 'IN', 'BETWEEN'], 
                "type" => "text", 
                "label" => 'filing::filing.label.tax_amount', 
                "placeholder" => 'filing::filing.placeholder.tax_amount', 
            ],
            "tax_year_end_month" => [
                "key" => "tax_year_end_month", 
                "col" => 4, 
                "operators" => ['LIKE', '=', 'IN', 'BETWEEN'], 
                "type" => "text", 
                "label" => 'filing::filing.label.tax_year_end_month', 
                "placeholder" => 'filing::filing.placeholder.tax_year_end_month', 
            ],
            "status" => [
                "key" => "status", 
                "col" => 4, 
                "operators" => ['LIKE', '=', 'IN', 'BETWEEN'], 
                "type" => "text", 
                "label" => 'filing::filing.label.status', 
                "placeholder" => 'filing::filing.placeholder.status', 
            ],
            "user_id" => [
                "key" => "user_id", 
                "col" => 4, 
                "operators" => ['LIKE', '=', 'IN', 'BETWEEN'], 
                "type" => "text", 
                "label" => 'filing::filing.label.user_id', 
                "placeholder" => 'filing::filing.placeholder.user_id', 
            ],
        ],

        'list' => [
            [
                "key" => "filing_type", 
                "type" => "text", 
                "label" => 'filing::filing.label.filing_type', 
                'sort' => true,
                'roles' => [],
            ],
            [
                "key" => "business_id", 
                "type" => "text", 
                "label" => 'filing::filing.label.business_id', 
                'sort' => true,
                'roles' => [],
            ],
            [
                "key" => "tax_period", 
                "type" => "text", 
                "label" => 'filing::filing.label.tax_period', 
                'sort' => true,
                'roles' => [],
            ],
            [
                "key" => "first_used_month", 
                "type" => "text", 
                "label" => 'filing::filing.label.first_used_month', 
                'sort' => true,
                'roles' => [],
            ],
            [
                "key" => "final_return", 
                "type" => "text", 
                "label" => 'filing::filing.label.final_return', 
                'sort' => true,
                'roles' => [],
            ],
            [
                "key" => "tax_amount", 
                "type" => "text", 
                "label" => 'filing::filing.label.tax_amount', 
                'sort' => true,
                'roles' => [],
            ],
            [
                "key" => "tax_year_end_month", 
                "type" => "text", 
                "label" => 'filing::filing.label.tax_year_end_month', 
                'sort' => true,
                'roles' => [],
            ],
            [
                "key" => "status", 
                "type" => "text", 
                "label" => 'filing::filing.label.status', 
                'sort' => true,
                'roles' => [],
            ],
            [
                "key" => "user_id", 
                "type" => "text", 
                "label" => 'filing::filing.label.user_id', 
                'sort' => true,
                'roles' => [],
            ],
        ],

        'form' => [
            [
                "key" => 'business_id',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.business_id',
                "placeholder" => 'filing::filing.placeholder.business_id',
                "required" => 'true',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'tax_period',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.tax_period',
                "placeholder" => 'filing::filing.placeholder.tax_period',
                "required" => 'true',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'first_used_month',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.first_used_month',
                "placeholder" => 'filing::filing.placeholder.first_used_month',
                "required" => 'true',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'final_return',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.final_return',
                "placeholder" => 'filing::filing.placeholder.final_return',
                "required" => 'true',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'tax_amount',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.tax_amount',
                "placeholder" => 'filing::filing.placeholder.tax_amount',
                "required" => 'true',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'tax_year_end_month',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.tax_year_end_month',
                "placeholder" => 'filing::filing.placeholder.tax_year_end_month',
                "required" => 'true',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'attachment',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.attachment',
                "placeholder" => 'filing::filing.placeholder.attachment',
                "rules" => '',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'sold_to_name',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.sold_to_name',
                "placeholder" => 'filing::filing.placeholder.sold_to_name',
                "rules" => '',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'sold_to_phone',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.sold_to_phone',
                "placeholder" => 'filing::filing.placeholder.sold_to_phone',
                "rules" => '',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'sold_to_email',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.sold_to_email',
                "placeholder" => 'filing::filing.placeholder.sold_to_email',
                "rules" => '',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'sold_to_address1',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.sold_to_address1',
                "placeholder" => 'filing::filing.placeholder.sold_to_address1',
                "rules" => '',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'sold_to_address2',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.sold_to_address2',
                "placeholder" => 'filing::filing.placeholder.sold_to_address2',
                "rules" => '',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'sold_to_country',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.sold_to_country',
                "placeholder" => 'filing::filing.placeholder.sold_to_country',
                "rules" => '',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'sold_to_state',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.sold_to_state',
                "placeholder" => 'filing::filing.placeholder.sold_to_state',
                "rules" => '',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'sold_to_city',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.sold_to_city',
                "placeholder" => 'filing::filing.placeholder.sold_to_city',
                "rules" => '',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'sold_to_zip',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.sold_to_zip',
                "placeholder" => 'filing::filing.placeholder.sold_to_zip',
                "rules" => '',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'service_fee',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.service_fee',
                "placeholder" => 'filing::filing.placeholder.service_fee',
                "rules" => '',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
            [
                "key" => 'status',
                "element" => 'text',
                "type" => 'text',
                "label" => 'filing::filing.label.status',
                "placeholder" => 'filing::filing.placeholder.status',
                "required" => 'true',
                "group" => "main.main",
                "col" => "6",
                "append" => null,
                "prepend" => null,
                "roles" => [],
                "attributes" => [
                    'wrapper' => [],
                    "label" => [],
                    "element" => [],

                ],
            ],
        ],

        'urls' => [
            'new' => [
                'url' => 'filing/filing/new',
                'method' => 'GET',
            ],
            'create' => [
                'url' => 'filing/filing/create',
                'method' => 'GET',
            ],
            'store' => [
                'url' => 'filing/filing',
                'method' => 'POST',
            ],
            'update' => [
                'url' => 'filing/filing',
                'method' => 'PUT',
            ],
            'list' => [
                'url' => 'filing/filing',
                'method' => 'GET',
            ],
            'delete' => [
                'url' => 'filing/filing',
                'method' => 'DELETE',
            ],
        ],

        'order' => [
            'created_at' => 'filing::filing.label.created_at',
            'name' => 'filing::filing.label.name',
            'status' => 'filing::filing.label.status',
        ],

        'groups' => [
            [
                'icon' => "mdi:account-supervisor-outline",
                'name' => "filing::filing.groups.main",
                'group' => "main.main",
                'title' => "filing::filing.groups.main",
            ],
            [
                'icon' => "fe:home",
                'name' => "filing::filing.groups.details",
                'group' => "main.details",
                'title' => "filing::filing.groups.details",
            ],
            'images' => [
                'icon' => "fe:home",
                'name' => "filing::filing.groups.images",
                'group' => "main.images",
                'title' => "filing::filing.groups.images",
            ],
            'settings' => [
                'icon' => "fe:home",
                'name' => "filing::filing.groups.settings",
                'group' => "main.settings",
                'title' => "filing::filing.groups.settings",
            ]
        ],

        'controller' => [
            'provider' => 'Eform',
            'package' => 'Filing',
            'module' => 'Filing',
        ],

        
         
        'actions' => [
            'copy' => [
                'type' => ['Details', 'List'],
                'label' => 'filing::filing.action.copy',
                'roles' => [
                    'user' => ['superuser', 'admin'],
                    'team' => ['admin'],
                    'permission' => ['filing.filing.copy', 'filing.filing.duplicate'],
                ],
                'form' => [
                    'count' => [
                        "element" => 'select',
                        "type" => 'select',
                        "label" => 'filing::filing.label.count',
                        "placeholder" => 'filing::filing.placeholder.count',
                        "options" => call_user_func(function () {
                            return [
                                1 => ['value' => 1, 'text' => 1],
                                2 => ['value' => 2, 'text' => 2],
                                3 => ['value' => 3, 'text' => 3],
                                4 => ['value' => 4, 'text' => 4],
                            ];
                        }),
                        "col" => "12",
                    ],
                    'comment' => [
                        "element" => 'textarea',
                        "type" => 'text',
                        "required" => 'required',
                        "label" => 'filing::filing.label.comment',
                        "placeholder" => 'filing::filing.placeholder.comment',
                        "col" => "12",
                    ],
                ],
            ],
            'empty' => [
                'type' => ['List', 'Details'],
                'label' => 'filing::filing.action.empty',
                'roles' => [
                    'user' => ['superuser'],
                ],
            ],
            
            'section' => [
                'type' => ['Group'],
                'api_url' => '',
                'action' => 'list',
                'label' => 'filing::filing.action.section',
                'store' => 'main.units',
                'group' => 'main.units'
            ],

        ]
        
    ];