schema([ TextInput::make('guid') ->label('Unique ID') ->default(sprintf('DEP-%s', Str::of(Uuid::uuid4())->lower())) ->disabled() ->dehydrated() ->required() ->maxLength(40) ->unique(ignoreRecord: true), Toggle::make('is_active') ->required(), Select::make('organization_id') ->relationship('organization', 'name') ->required(), TextInput::make('name') ->required() ->maxLength(255), ]); } public static function table(Table $table): Table { return $table ->columns([ IconColumn::make('is_active')->boolean(), TextColumn::make('name')->searchable(), TextColumn::make('organization.name')->sortable(), TextColumn::make('guid')->searchable(), TextColumn::make('created_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('updated_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ // ]) ->actions([ Tables\Actions\EditAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]); } public static function getRelations(): array { return [ // ]; } public static function getPages(): array { return [ 'index' => Pages\ListDepartments::route('/'), 'create' => Pages\CreateDepartment::route('/create'), 'edit' => Pages\EditDepartment::route('/{record}/edit'), ]; } }