[Jifty-commit] r1870 - jifty/trunk/share/web/templates/__jifty/admin/fragments/list

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Sun Aug 27 01:18:40 EDT 2006


Author: nelhage
Date: Sun Aug 27 01:18:39 2006
New Revision: 1870

Added:
   jifty/trunk/share/web/templates/__jifty/admin/fragments/list/search
Modified:
   jifty/trunk/share/web/templates/__jifty/admin/fragments/list/list

Log:
Basic search in admin mode using Jifty::Action::Record::Search. Still buggy, especially UI-wise, but functional.

Modified: jifty/trunk/share/web/templates/__jifty/admin/fragments/list/list
==============================================================================
--- jifty/trunk/share/web/templates/__jifty/admin/fragments/list/list	(original)
+++ jifty/trunk/share/web/templates/__jifty/admin/fragments/list/list	Sun Aug 27 01:18:39 2006
@@ -6,19 +6,49 @@
 </%args>
 <%init>
 my $collection_class =  Jifty->config->framework('ApplicationClass')."::Model::".$object_type."Collection";
-my $collection = $collection_class->new();
-$collection->unlimit();
-$collection->set_page_info( current_page => $page,
-                           per_page     => 25
-                          );
-if ($collection->pager->total_entries == 0) {
-    $m->out("No items found.");
+my $search = Jifty->web->response->result('search');
+my $collection;
+if(!$search) {
+    $collection = $collection_class->new();
+    $collection->unlimit();
+} else {
+    $collection = $search->content('search');
+    warn $collection->build_select_query;
 }
 
+$collection->set_page_info( current_page => $page,
+                            per_page     => 25
+                           );
 </%init>
+<%perl>    
+my $search_region = Jifty::Web::PageRegion->new(
+   name     => 'search',
+   path     => '/__jifty/empty',
+);
+</%perl>
+
+<% Jifty->web->link(
+    onclick => [{
+        region       => $search_region->qualified_name,
+        replace_with => '/__jifty/admin/fragments/list/search',
+        toggle       => 1,
+        args         => { object_type => $object_type }
+    },
+    ],
+    label => 'Toggle search'
+  )
+%>
+
+<% $search_region->render %>
+
 % if ($collection->pager->last_page > 1) {
     <span class="page-count">Page <% $page %> of <% $collection->pager->last_page %></span>   
 % }
+
+% if ($collection->pager->total_entries == 0) {
+  No items found
+% }
+
 <div class="list">
 <%perl>
 while ( my $item = $collection->next ) {

Added: jifty/trunk/share/web/templates/__jifty/admin/fragments/list/search
==============================================================================
--- (empty file)
+++ jifty/trunk/share/web/templates/__jifty/admin/fragments/list/search	Sun Aug 27 01:18:39 2006
@@ -0,0 +1,27 @@
+<%args>
+$object_type
+</%args>
+<%init>
+my $search = Jifty->web->new_action(
+    class             => "Search".$object_type,
+    moniker           => "search",
+    # XXX TODO This doesn't do what we want, because somehow we're not
+    # seeing the action in the request when we're rendered. I suspect
+    # weird fragment-ness.
+    sticky_on_success => 1,
+);
+
+</%init>
+% for my $arg ($search->argument_names) {
+ <% $search->form_field($arg) %>
+% }
+
+<% $search->button(
+    label   => 'Search!',
+    onclick => {
+        submit  => $search,
+        refresh => Jifty->web->current_region->parent,
+        args    => { page => 1}
+    }
+  )
+%>


More information about the Jifty-commit mailing list