*/ public static $model = \App\Modules\Swiftpayment\Models\Swiftpayment::class; /** * The single value that should be used to represent the resource when being displayed. * * @var string */ public static $title = 'id'; /** * The columns that should be searched. * * @var array */ public static $search = [ 'id', ]; /** * Get the displayable label of the resource. */ public static function label(): string { return __('Swiftpayments'); } /** * Get the displayable singular label of the resource. */ public static function singularLabel(): string { return __('Swiftpayment'); } /** * Get the fields displayed by the resource. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @return array */ public function fields(NovaRequest $request): array { return [ ID::make('id')->sortable(), Hidden::make('user_id')->default(auth()->id()), Select::make(__('Ýüztutmanyň görnüşi'), 'type') ->searchable() ->rules('required') ->displayUsingLabels() ->options(ApplicationTypes::applicationTypes()), Select::make(__('Region'), 'region') ->displayUsingLabels() ->searchable() ->options(RegionRepo::values()) ->default(RegionRepo::default()) ->rules('required') ->sortable(), Select::make(__('Branch'), 'branch_id') ->displayUsingLabels() ->searchable() ->dependsOn('region', NovaRepo::dependsOnRegion('region', Branch::class)) ->rules('required') ->sortable(), Text::make('Pasportdaky ady', 'passport_name') ->rules('required', 'string', 'max:255'), Text::make('Pasportdaky familiýa', 'passport_surname') ->rules('required', 'string', 'max:255'), NovaInputmask::make('Telefon belgi', 'phone') ->phonenumber('TM') ->rules('required', 'max:255') ->hideFromIndex(), Text::make('Email', 'email') ->rules('required', 'max:255', 'email') ->hideFromIndex(), Text::make('Ýaşaýan ýeriň salgysy', 'address') ->rules('required', 'string', 'max:255') ->hideFromIndex(), SimpleRepeatable::make('Tölegi ugradyjynyň maglumatlar', 'sender_datas', [ Select::make(__('Passport serie'), 'passport_serie') ->displayUsingLabels() ->searchable() ->options(PassportRepo::values()) ->rules('required') ->sortable(), NovaInputmask::make('Passport nomeri') ->mask('999999') ->rules('required', 'max:255'), Text::make('A.F.AA'), ])->minRows(1)->rules('required'), SimpleRepeatable::make('Tölegi kabul edijiniň maglumatlary', 'payment_reciever', [ Select::make(__('Passport serie'), 'passport_serie') ->displayUsingLabels() ->searchable() ->options(PassportRepo::values()) ->rules('required') ->sortable(), NovaInputmask::make('Passport nomeri') ->mask('999999') ->rules('required', 'max:255'), Text::make('A.F.AA'), ])->maxRows(1)->rules('required'), // CustomHtml::make(__('Required files'), 'required_files') // ->onlyOnForms() // ->fillUsing(function ($request, $model, $attribute, $requestAttribute) {}) // ->dependsOn(['type'], function (CustomHtml $field, NovaRequest $request, FormData $formData) { // if ($formData->type) { // $field->html(\App\Models\ApplicationTypes::filesFor($formData->type)); // } // }), Files::make('Talap edilýän resminamalar', 'main') ->conversionOnIndexView('thumb') ->rules('required') ->hideFromIndex(), Badge::make('Status')->map(SwiftPaymentStatus::classes())->addTypes([ 'primary' => 'dark:bg-gray-900 bg-gray-600 text-white', ])->labels(SwiftPaymentStatus::values()), Select::make(__('Status'), 'status') ->onlyOnForms() ->hideWhenCreating() ->displayUsingLabels() ->options(SwiftPaymentStatus::values()) ->canSee(function ($request) { return $request->user()->hasRole(['admin', 'manager', 'operator']); }), Trix::make(__('Notes'), 'notes') ->hideWhenCreating() ->alwaysShow() ->readonly(function ($request) { return ! $request->user()->hasRole(['admin', 'manager', 'operator']); }), ]; } }