components([ Select::make('global_sp_state') ->options(Torrent::listPromotionTypes(true)) ->label(__('label.torrent_state.global_sp_state')) ->required(), DateTimePicker::make('begin') ->label(__('label.begin')), DateTimePicker::make('deadline') ->label(__('label.deadline')), ])->columns(1); } public static function table(Table $table): Table { return $table ->columns([ TextColumn::make('global_sp_state_text')->label(__('label.torrent_state.global_sp_state')), TextColumn::make('begin')->label(__('label.begin')), TextColumn::make('deadline')->label(__('label.deadline')), ]) ->filters([ // ]) ->recordActions([ EditAction::make()->after(function () { do_log("cache_del: global_promotion_state"); NexusDB::cache_del(Setting::TORRENT_GLOBAL_STATE_CACHE_KEY); do_log("publish_model_event: global_promotion_state_updated"); publish_model_event("global_promotion_state_updated", 0); }), // Tables\Actions\DeleteAction::make(), ]) ->toolbarActions([ // Tables\Actions\DeleteBulkAction::make(), ]); } public static function getPages(): array { return [ 'index' => ManageTorrentStates::route('/'), ]; } }