icon(__('filament.table_actions.base.reconcile.icon')); } /** * Apply filters to repositories before reconciliation. * * @param RepositoryInterface $sourceRepository * @param RepositoryInterface $destinationRepository * @param array $data * @return void */ protected function handleFilters( RepositoryInterface $sourceRepository, RepositoryInterface $destinationRepository, array $data = [] ): void { parent::handleFilters($sourceRepository, $destinationRepository, $data); $path = Arr::get($data, 'path'); if ($path !== null) { $sourceRepository->handleFilter('path', $path); $destinationRepository->handleFilter('path', $path); } } /** * Get the fields available on the action. * * @param Form $form * @return Form * * @noinspection PhpMissingParentCallCommonInspection */ public function getForm(Form $form): Form { $fs = Storage::disk($this->disk()); return $form ->schema([ TextInput::make('path') ->label(__('filament.actions.repositories.storage.fields.path.name')) ->required() ->rules(['required', 'string', 'doesnt_start_with:/', new StorageDirectoryExistsRule($fs)]) ->helperText(__('filament.actions.repositories.storage.fields.path.help')), ]); } }