Changeset 543 for trunk/web2


Ignore:
Timestamp:
07/11/08 16:25:59 (14 years ago)
Author:
ramonb
Message:

job_monarch/jobstore.php:

  • filter jobs

js/jobgrid.js:

  • add and remove proper CSS class to cells for filters

job_monarch/css/styles.css:

  • cleanup, pretty colors
Location:
trunk/web2/addons/job_monarch
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/web2/addons/job_monarch/css/styles.css

    r541 r543  
    1 .oddfilter
    2 {
    3    //background: rgb(240,240,240);
    4    color: red;
    5    cursor: pointer;
    6 }
    7 
    8 .evenfilter
    9 {
    10    //background: rgb(255,255,255);
    11    color: red;
    12    cursor: pointer;
    13 }
    14 
    151.filter
    162{
     
    217.filterenabled
    228{
    23    color: red;
     9   background: rgb(0,0,255);
     10   color: white;
    2411   cursor: pointer;
    25 }
    26 
    27 .oddfilterenabled
    28 {
    29    //background: rgb(240,240,240);
    30    color: red;
    31    cursor: pointer;
    32    text-decoration: bold;
    33 }
    34 
    35 .evenfilterenabled
    36 {
    37    //background: rgb(255,255,255);
    38    color: red;
    39    cursor: pointer;
    40    text-decoration: bold;
    4112}
    4213
  • trunk/web2/addons/job_monarch/jobstore.php

    r538 r543  
    1313//
    1414$query                  = isset($_POST['query']) ? $_POST['query'] : null;
     15
     16// Filter values
     17//
     18$jid                    = isset($_POST['jid']) ? $_POST['jid'] : null;
     19$owner                  = isset($_POST['owner']) ? $_POST['owner'] : null;
     20$status                 = isset($_POST['status']) ? $_POST['status'] : null;
     21$queue                  = isset($_POST['queue']) ? $_POST['queue'] : null;
    1522
    1623global $c, $clustername, $cluster;
     
    209216}
    210217
    211 
     218function filterJobs( $jobs )
     219{
     220        global $jid, $owner, $queue,  $status;
     221
     222        $filtered_jobs  = array();
     223
     224        if( isset( $jobs ) && count( $jobs ) > 0 )
     225        {
     226                foreach( $jobs as $jobid => $jobattrs )
     227                {
     228                                $state          = $jobattrs[status];
     229                                $user           = $jobattrs[owner];
     230                                $jqueue          = $jobattrs[queue];
     231                                $name           = $jobattrs[name];
     232                                $req_cpu        = $jobattrs[requested_time];
     233                                $req_memory     = $jobattrs[requested_memory];
     234
     235                                if( $state == 'R' )
     236                                {
     237                                        $nodes = count( $jobattrs[nodes] );
     238                                }
     239                                else
     240                                {
     241                                        $nodes = $jobattrs[nodes];
     242                                }
     243
     244                                $ppn            = (int) $jobattrs[ppn] ? $jobattrs[ppn] : 1;
     245                                $cpus           = $nodes * $ppn;
     246                                $queued_time    = (int) $jobattrs[queued_timestamp];
     247                                $start_time     = (int) $jobattrs[start_timestamp];
     248                                $runningtime    = $report_time - $start_time;
     249       
     250                                $keepjob        = true;
     251
     252                                if( $jid )
     253                                {
     254                                        if( $jobid != $jid )
     255                                        {
     256                                                $keepjob        = false;
     257                                        }
     258                                }
     259                                if( $owner )
     260                                {
     261                                        if( $user != $owner )
     262                                        {
     263                                                $keepjob        = false;
     264                                        }
     265                                }
     266                                if( $queue )
     267                                {
     268                                        if( $jqueue != $queue )
     269                                        {
     270                                                $keepjob        = false;
     271                                        }
     272                                }
     273                                if( $status )
     274                                {
     275                                        if( $state != $status )
     276                                        {
     277                                                $keepjob        = false;
     278                                        }
     279                                }
     280                                if( $keepjob )
     281                                {
     282                                        $filtered_jobs[$jobid]  = $jobattrs;
     283                                }
     284                }
     285        }
     286
     287        return $filtered_jobs;
     288}
    212289
    213290function getList()
     
    215292        global $jobs, $hearbeat, $pstart, $pend;
    216293        global $sortfield, $sortorder, $query;
     294        global $jid, $owner, $queue,  $status;
    217295
    218296        $job_count              = count( $jobs );
     
    230308        $sorted_jobs            = sortJobs( $jobs, $sortfield, $sortorder );
    231309
    232         if( $query != null )
     310        if( $query )
    233311        {
    234312                $jobs                   = quickSearchJobs( $jobs, $query );
     313        }
     314        if( $jid || $owner || $queue || $status )
     315        {
     316                $jobs                   = filterJobs( $jobs );
    235317        }
    236318        $result_count           = count( $jobs );
  • trunk/web2/addons/job_monarch/js/jobgrid.js

    r542 r543  
    44var JobListingWindow;
    55var JobProxy;
    6 
    7 //Ext.onReady( initJobGrid() );
     6var myfilters = { start: 0, limit: 30};
    87
    98function initJobGrid() {
     
    1312  function jobCellClick(grid, rowIndex, columnIndex, e)
    1413  {
     14    var record = grid.getStore().getAt(rowIndex);  // Get the Record
    1515    var fieldName = grid.getColumnModel().getDataIndex(columnIndex);
    16 
     16    var data = record.get(fieldName);
    1717    var view = grid.getView();
    1818    var cell = view.getCell( rowIndex, columnIndex );
     
    2020    if( fieldName == 'owner' || fieldName == 'jid' || fieldName == 'status' || fieldName == 'queue' )
    2121    {
    22       Ext.fly(cell).removeClass( 'filter' );
    23       Ext.fly(cell).addClass( 'filterenabled' );
     22      if( myfilters[fieldName] != null )
     23      {
     24        Ext.fly(cell).removeClass( 'filterenabled' );
     25        Ext.fly(cell).addClass( 'filter' );
     26
     27        delete myfilters[fieldName];
     28
     29        grid.getStore().reload( {params: myfilters} );
     30      }
     31      else
     32      {
     33        Ext.fly(cell).removeClass( 'filter' );
     34        Ext.fly(cell).addClass( 'filterenabled' );
     35
     36        myfilters[fieldName] = data;
     37
     38        grid.getStore().reload( {params: myfilters} );
     39      }
    2440    }
    2541  }
     
    3147    if( fieldName == 'owner' || fieldName == 'jid' || fieldName == 'status' || fieldName == 'queue' )
    3248    {
    33       metadata.css = 'filter';
     49      if( myfilters[fieldName] != null )
     50      {
     51        metadata.css = 'filterenabled';
     52      }
     53      else
     54      {
     55        metadata.css = 'filter';
     56      }
    3457    }
    3558    return value;
Note: See TracChangeset for help on using the changeset viewer.