schema([ Forms\Components\TextInput::make('name')->required()->disabled()->columnSpan(['sm' => 2]), Forms\Components\Textarea::make('value')->required()->columnSpan(['sm' => 2]) ->afterStateHydrated(function (Forms\Components\Textarea $component, $state) { $arr = json_decode($state, true); if (is_array($arr)) { $component->disabled(); } }) ]); } public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('id'), Tables\Columns\TextColumn::make('name')->searchable(), Tables\Columns\TextColumn::make('value')->limit(), Tables\Columns\BadgeColumn::make('autoload')->colors(['success' => 'yes', 'warning' => 'no']), Tables\Columns\TextColumn::make('updated_at'), ]) ->filters([ Tables\Filters\SelectFilter::make('autoload')->options(self::$yesOrNo), ]) ->actions([ Tables\Actions\EditAction::make(), ]) ->bulkActions([ // Tables\Actions\DeleteBulkAction::make(), ]); } public static function getRelations(): array { return [ // ]; } public static function getPages(): array { return [ 'index' => Pages\ListSettings::route('/'), // 'create' => Pages\CreateSetting::route('/create'), 'edit' => Pages\EditSetting::route('/{record}/edit'), 'hit-and-run' => Pages\EditHitAndRun::route('/hit-and-run'), ]; } }