search spec components factored out of T365
[catagits/Reaction.git] / lib / Reaction / UI / Controller / Collection / CRUD / Search.pm
diff --git a/lib/Reaction/UI/Controller/Collection/CRUD/Search.pm b/lib/Reaction/UI/Controller/Collection/CRUD/Search.pm
new file mode 100644 (file)
index 0000000..e9d467d
--- /dev/null
@@ -0,0 +1,29 @@
+package Reaction::UI::Controller::Collection::CRUD::Search;
+use parent 'Reaction::UI::Controller::Collection::CRUD';
+use Reaction::Class;
+
+use aliased 'Reaction::UI::ViewPort::SearchableListViewContainer';
+
+use namespace::clean -except => 'meta';
+
+override _build_action_viewport_map => sub {
+    my ($self) = @_;
+
+    my $map = super;
+
+    $map->{list} = SearchableListViewContainer;
+
+    return $map;
+};
+
+override _build_action_viewport_args => sub {
+    my ($self) = @_;
+
+    my $args = super;
+
+    $args->{list}{layout} = 'searchable_list_view_container';
+
+    return $args;
+};
+
+1;