[Rt-commit] r4353 - in rtir/branches/1.9-EXPERIMENTAL: html/Callbacks/RTIR/Elements/RT__Ticket/ColumnMap

ruz at bestpractical.com ruz at bestpractical.com
Sun Dec 25 04:12:08 EST 2005


Author: ruz
Date: Sun Dec 25 02:53:01 2005
New Revision: 4353

Modified:
   rtir/branches/1.9-EXPERIMENTAL/   (props changed)
   rtir/branches/1.9-EXPERIMENTAL/html/Callbacks/RTIR/Elements/RT__Ticket/ColumnMap/ColumnMap

Log:
 r594 at cubic-pc:  cubic | 2005-12-25 10:55:32 +0300
 * add checkbox [clear|set] all checkbox to the table head


Modified: rtir/branches/1.9-EXPERIMENTAL/html/Callbacks/RTIR/Elements/RT__Ticket/ColumnMap/ColumnMap
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/html/Callbacks/RTIR/Elements/RT__Ticket/ColumnMap/ColumnMap	(original)
+++ rtir/branches/1.9-EXPERIMENTAL/html/Callbacks/RTIR/Elements/RT__Ticket/ColumnMap/ColumnMap	Sun Dec 25 02:53:01 2005
@@ -1,33 +1,24 @@
 <%INIT>
 
-# This is scary and should totally be refactored -- jesse
-my %args = $m->caller_args(4);
-
-my $check;
-$check = $args{'RTIRCheck'} if $args{'RTIRCheck'};
+my %selected;
+{
+    my $tmp = $m->request_args->{'SelectedTickets'};
+    $tmp = [$tmp] unless UNIVERSAL::isa( $tmp, 'ARRAY' );
+    push @$tmp, $m->request_args->{'SelectedTicket'};
+    %selected = map { $_ => 1 } grep $_, @$tmp;
+}
 
+# This is scary and should totally be refactored -- jesse
 $COLUMN_MAP->{'_RTIR_Check'} = {
-    title => '&nbsp;',
+    title => sub {
+        return ( \qq{<input type="checkbox" name="AllSelectedTickets" value="1"
+                            onclick="setCheckbox(this.form, 'SelectedTickets', this.checked)"/>} );
+    },
     value => sub {
         my $selected = '';
-        if ( $check eq 'All' ) {
-            $selected = 'checked';
-        }
-        elsif ( $check eq 'None' ) {
-            $selected = '';
-        }
-        elsif ( $check == $_[0]->id ) {
-            $selected = 'checked';
-        }
-        elsif ( ref($check) eq 'ARRAY' ) {
-            foreach my $check (@$check) {
-                if ( $_[0]->id == $check ) {
-                    $selected = 'checked';
-                }
-            }
-        }
-        return ( \'<input type="checkbox" name="SelectedTickets" value="',
-                 $_[0]->id, \'" ', $selected, \' />' );
+        my $id = $_[0]->id;
+        $selected = 'checked' if $selected{ $id };
+        return ( \qq{<input type="checkbox" name="SelectedTickets" value="$id" $selected />} );
     },
 };
 
@@ -35,11 +26,9 @@
     title => '&nbsp;',
     value => sub {
         my $selected = '';
-        if ( $_[0]->id == $check ) {
-            $selected = 'checked';
-        }
-        return ( \'<input type="radio" name="SelectedTicket" value="',
-                 $_[0]->id, \'" ', $selected, \' />' );
+        my $id = $_[0]->id;
+        $selected = 'checked' if $selected{ $id };
+        return ( \qq{<input type="radio" name="SelectedTicket" value="$id" $selected />} );
     },
 };
 </%INIT>


More information about the Rt-commit mailing list