components([ // ]); } public static function table(Table $table): Table { return $table ->columns([ TextColumn::make('id')->sortable(), TextColumn::make('changeTypeText')->label(__('username-change-log.labels.change_type')), TextColumn::make('uid')->searchable(), TextColumn::make('user.username')->searchable()->label(__('label.username')), TextColumn::make('username_old')->searchable()->label(__('username-change-log.labels.username_old')), TextColumn::make('username_new') ->searchable() ->label(__('username-change-log.labels.username_new')) ->formatStateUsing(fn ($record) => new HtmlString(get_username($record->uid, false, true, true, true))) , TextColumn::make('operator') ->searchable() ->label(__('label.operator')) , TextColumn::make('created_at')->label(__('label.created_at'))->formatStateUsing(fn ($state) => format_datetime($state)), ]) ->defaultSort('id', 'desc') ->filters([ Filter::make('uid') ->schema([ TextInput::make('uid') ->label('UID') ->placeholder('UID') , ])->query(function (Builder $query, array $data) { return $query->when($data['uid'], fn (Builder $query, $uid) => $query->where("uid", $uid)); }) , SelectFilter::make('change_type')->options(UsernameChangeLog::listChangeType())->label(__('username-change-log.labels.change_type')), ]) ->recordActions([ // Tables\Actions\EditAction::make(), // Tables\Actions\DeleteAction::make(), ]) ->toolbarActions([ // Tables\Actions\DeleteBulkAction::make(), ]); } public static function getPages(): array { return [ 'index' => ManageUsernameChangeLogs::route('/'), ]; } }