components([ Section::make([ Select::make('media_monitoring_id') ->label('Monitoring Media') ->relationship('mediaMonitoring', 'title') ->searchable() ->preload() ->required(), Grid::make(2) ->schema([ Select::make('location_id') ->label('Lokasi') ->relationship('location', 'name') ->searchable() ->preload() ->live() ->afterStateUpdated(fn (Set $set) => $set('sub_location_id', null)) ->required(), Select::make('sub_location_id') ->label('Sub Lokasi') ->relationship('subLocation', 'name', fn (Builder $query, Get $get) => $query->where('location_id', $get('location_id'))) ->searchable() ->preload() ->required(), ]), RichEditor::make('description') ->label('Keterangan') ->required() ->columnSpanFull(), ])->columnSpan(2), Section::make([ Select::make('issue') ->label('Isu') ->options(IssueSentiment::options()) ->required() ->native(false) ->in(implode(',', array_column(IssueSentiment::cases(), 'value'))), Select::make('response') ->label('Respon') ->options(IssueSentiment::options()) ->required() ->native(false) ->in(implode(',', array_column(IssueSentiment::cases(), 'value'))), Select::make('classification_id') ->label('Klasifikasi') ->relationship('classification', 'name', fn ($query) => $query->active()) ->searchable() ->preload() ->live() ->afterStateUpdated(fn (Set $set) => $set('sub_classification_id', null)) ->required(), Select::make('sub_classification_id') ->label('Sub Klasifikasi') ->relationship('subClassification', 'name', fn (Builder $query, Get $get) => $query->where('classification_id', $get('classification_id'))->active()) ->searchable() ->preload() ->required(), ])->columnSpan(1), ]) ->columns(3); } }