Commit b82ff6c2 authored by Penom Nom's avatar Penom Nom
Browse files

No commit message

No commit message
parent 21811f95
......@@ -3,7 +3,7 @@
<pydev_project>
<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
<path>/nG6-current/core</path>
<path>/nG6-meta2/core</path>
</pydev_pathproperty>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.6</pydev_property>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
......
......@@ -100,6 +100,8 @@ def gather_input_elements ( iterable_file_list, regexp ):
add_element( line, input_elements, regexp )
element_count = element_count + 1
FH_InFileList.close
# Handle any directories
if ( options.input_directory ):
#For each directory
......
This diff is collapsed.
......@@ -32,6 +32,28 @@ require_once(t3lib_extMgm::extPath('nG6').'/lib/class.tx_nG6_utils.php');
*/
class tx_nG6_db {
/*
* Global functions
*------------------------------------------------------------*/
/**
* Update the specified field of the table
*
* @param string $entity the entity to change
* @param string $id the element id to update
* @param string $field the field to change
* @param string $value the new value
*/
function update_field($entity, $id, $field, $value) {
if( $field == 'uid' )
{
throw new Exception ("The function 'update_field' cannot change an id.") ;
}
$GLOBALS['TYPO3_DB']-> exec_UPDATEquery ("tx_nG6_$entity", 'uid='.$id, array($field => $value));
}
/*
* Project functions
*------------------------------------------------------------*/
......
......@@ -81,10 +81,13 @@ class tx_nG6_pi1 extends tslib_pibase {
<script type="text/javascript" src="'.t3lib_extMgm::siteRelPath($this->extKey).'res/js/jsphylosvg-min.js"></script>
<script type="text/javascript" src="'.t3lib_extMgm::siteRelPath($this->extKey).'res/js/raphael-min.js"></script>
<script type="text/javascript" src="'.t3lib_extMgm::siteRelPath($this->extKey).'res/js/unitip.js"></script>
<script type="text/javascript" src="'.t3lib_extMgm::siteRelPath($this->extKey).'res/js/jquery.datePicker.min.js"></script>
<script type="text/javascript" src="'.t3lib_extMgm::siteRelPath($this->extKey).'res/js/jquery.jeditable.min.js"></script>
<script type="text/javascript" src="'.t3lib_extMgm::siteRelPath($this->extKey).'res/js/krona-1.1.js"></script>
<link type="text/css" rel="stylesheet" media="screen" href="'.t3lib_extMgm::siteRelPath($this->extKey).'res/css/unitip.css"/>
<link type="text/css" rel="stylesheet" media="screen" href="'.t3lib_extMgm::siteRelPath($this->extKey).'res/css/jquery.venny.css"/>
<link type="text/css" rel="stylesheet" media="screen" href="'.t3lib_extMgm::siteRelPath($this->extKey).'res/css/jquery.dataTables.css"/>
<link type="text/css" rel="stylesheet" media="screen" href="'.t3lib_extMgm::siteRelPath($this->extKey).'res/css/jquery.datePicker.css"/>
<link type="text/css" rel="stylesheet" media="screen" href="'.t3lib_extMgm::siteRelPath($this->extKey).'res/css/tx_nG6.css"/>
<link type="text/css" rel="stylesheet" media="screen" href="'.t3lib_extMgm::siteRelPath($this->extKey).'res/css/jquery.ui.core.css"/>
<link type="text/css" rel="stylesheet" media="screen" href="'.t3lib_extMgm::siteRelPath($this->extKey).'res/css/jquery.ui.theme.css"/>
......
......@@ -91,6 +91,19 @@
<label index="unpublish_dialog_title">Unpublish</label>
<label index="unpublish_confirmation_msg">Are you sure you want to unpublish the selected project(s) ? When done analysis and data related to the project(s) will be no longer visible by all users.</label>
<label index="Jeditable_dblClickTitle">Double click to edit</label>
<label index="Datepicker_closeText">Done</label>
<label index="Datepicker_prevText">&#x3c;Prev</label>
<label index="Datepicker_nextText">Next&#x3e;</label>
<label index="Datepicker_currentText">Today</label>
<label index="Datepicker_monthNames">January, February, March, April, May, June, July, August, September, October, November, December</label>
<label index="Datepicker_monthNamesShort">Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec</label>
<label index="Datepicker_dayNames">Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday</label>
<label index="Datepicker_dayNamesShort">Sun, Mon, Tue, Wed, Thu, Fri, Sat</label>
<label index="Datepicker_dayNamesMin">Su, Mo, Tu, We, Th, Fr, Sa</label>
<label index="Datepicker_weekHeader">Wk</label>
<label index="Analyse_sample">Samples</label>
<label index="Analyse_archives_title">Result file(s)</label>
<label index="Analyse_total">Total</label>
......@@ -445,6 +458,19 @@
<label index="analyse_desc">L'ensemble des résultats de cette analyse occupent ###ANALYSE_SIZE### d'espace disque.</label>
<label index="list_project_size_desc">L'ensemble des données brutes et des résultats d'analyses occupent ###PROJECT_SIZE### d'espace disque pour l'ensemble des projets.</label>
<label index="Datepicker_closeText">Fermer</label>
<label index="Datepicker_prevText">&#x3c;Préc</label>
<label index="Datepicker_nextText">Suiv&#x3e;</label>
<label index="Datepicker_currentText">Courant</label>
<label index="Datepicker_monthNames">Janvier, Février, Mars, Avril, Mai, Juin, Juillet, Août, Septembre, Octobre, Novembre, Décembre</label>
<label index="Datepicker_monthNamesShort">Jan, Fév, Mar, Avr, Mai, Jun, Jul, Aoû, Sep, Oct, Nov, Déc</label>
<label index="Datepicker_dayNames">Dimanche, Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi</label>
<label index="Datepicker_dayNamesShort">Dim, Lun, Mar, Mer, Jeu, Ven, Sam</label>
<label index="Datepicker_dayNamesMin">Di, Lu, Ma, Me, Je, Ve, Sa</label>
<label index="Datepicker_weekHeader">Sm</label>
<label index="Jeditable_dblClickTitle">Double clic pour éditer</label>
<label index="Analyse_sample">Echantillons</label>
<label index="Analyse_archives_title">Fichier(s) résultat</label>
<label index="Analyse_total">Total</label>
......@@ -551,7 +577,7 @@
<label index="S16CleanerAnalyse_homopolymer_param">Supprime les séquences avec des homopolymères de taille supérieur à ###HOMO_SIZE###pb.</label>
<label index="S16CleanerAnalyse_fwd_param">Primer forward = ###FWD### trouvé avec un minimum de ###MIN_FWD### matches.</label>
<label index="S16CleanerAnalyse_rvrs_param">Primer reverse = ###RVRS### trouvé avec un minimum de ###MIN_RVRS### matches.</label>
<label index="S16CleanerAnalyse_full_size_param">Supprime les séquences complètes dont la taille est infèrieur à ###FULL_MIN_SIZE###pb.</label>
<label index="S16CleanerAnalyse_full_size_param">Supprime les séquences complètes dont la taille est inférieur à ###FULL_MIN_SIZE###pb.</label>
<label index="S16CleanerAnalyse_result_title">Résultats du nettoyage</label>
<label index="S16CleanerAnalyse_before_cleaning">Avant nettoyage</label>
<label index="S16CleanerAnalyse_after_cleaning">Après nettoyage</label>
......
......@@ -61,6 +61,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<input type="hidden" id="DataTables_pagination_next" value="{$llang.DataTables_pagination_next}" />
<input type="hidden" id="DataTables_pagination_previous" value="{$llang.DataTables_pagination_previous}" />
<input type="hidden" id="Jeditable_dblClickTitle" value="{$llang.Jeditable_dblClickTitle}" />
<input type="hidden" id="Datepicker_closeText" value="{$llang.Datepicker_closeText}" />
<input type="hidden" id="Datepicker_prevText" value="{$llang.Datepicker_prevText}" />
<input type="hidden" id="Datepicker_nextText" value="{$llang.Datepicker_nextText}" />
<input type="hidden" id="Datepicker_currentText" value="{$llang.Datepicker_currentText}" />
<input type="hidden" id="Datepicker_monthNames" value="{$llang.Datepicker_monthNames}" />
<input type="hidden" id="Datepicker_monthNamesShort" value="{$llang.Datepicker_monthNamesShort}" />
<input type="hidden" id="Datepicker_dayNames" value="{$llang.Datepicker_dayNames}" />
<input type="hidden" id="Datepicker_dayNamesShort" value="{$llang.Datepicker_dayNamesShort}" />
<input type="hidden" id="Datepicker_dayNamesMin" value="{$llang.Datepicker_dayNamesMin}" />
<input type="hidden" id="Datepicker_weekHeader" value="{$llang.Datepicker_weekHeader}" />
<input type="hidden" id="data_folder" value="{$data_folder}" />
<input type="hidden" id="view" value="project" />
<input type="hidden" id="ids" value="{$project_ids}" />
......@@ -95,59 +108,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{assign var="superuser" value=false}
{/if}
{/foreach}
<table class="display" id="run_data_table">
<thead>
<tr>
{if $superuser && $login_user}
<th><center><input type="checkbox" id="chk_all_run"></center></th>
{/if}
<th>{$llang.run_name}</th>
<th>{$llang.project_name}</th>
<th>{$llang.date}</th>
<th>{$llang.species}</th>
<th>{$llang.data_nature}</th>
<th>{$llang.type}</th>
<th>{$llang.nb_sequences}</th>
<th>{$llang.full_seq_size}</th>
<th>{$llang.description}</th>
<th>{$llang.sequencer}</th>
</tr>
</thead>
<tbody>
{foreach from=$project_runs key=run_id item=run_values}
<tr>
{if $run_values.superuser}
<td><center><input type="checkbox" id="chk_run_{$run_values.id}" value="run_{$run_values.id}"></center></td>
{/if}
{assign var="hidden_class" value="class='tx-nG6-pi1-hidden'"}
{if $run_values.hidden == 0}
{assign var="hidden_class" value=""}
{/if}
<td {$hidden_class}>{$run_values.href}</td>
<td {$hidden_class}>{$run_values.project_name}</td>
<td {$hidden_class}>{$run_values.date|date_format:"%d-%m-%y"}</td>
<td {$hidden_class}>{$run_values.species}</td>
<td {$hidden_class}>{$run_values.data_nature}</td>
<td {$hidden_class}>{$run_values.type}</td>
<td {$hidden_class}>{$run_values.nb_sequences|number_format:0:' ':' '}</td>
<td {$hidden_class}>{$run_values.full_seq_size|number_format:0:' ':' '}</td>
<td {$hidden_class}>{$run_values.description}</td>
<td {$hidden_class}>{$run_values.sequencer}</td>
</tr>
{/foreach}
</tbody>
{if $superuser && $login_user}
<tfoot>
<tr>
<th align="left" colspan="11">
{$llang.toolbar_title}
<button id="hide_run" type="button" class="btn pill-l"><span><span>{$llang.hide_btn}</span></span></button><button id="unhide_run" type="button" class="btn pill-r"><span><span>{$llang.unhide_btn}</span></span></button>
&nbsp;<button id="delete_run" type="button" class="btn"><span><span>{$llang.delete_btn}</span></span></button>
</th>
</tr>
</tfoot>
{/if}
</table>
{assign var="runs" value=$project_runs}
{include file='run_table.tpl'}
{/if}
{* If there is some analysis to display *}
{if $project_analysis|@count > 0}
......@@ -227,13 +189,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
</thead>
<tbody>
{foreach from=$projects key=project_id item=project_values}
{assign var="public_attribute" value=""}
{assign var="public_class" value=""}
{if $login_user && $project_values.public == 0 && $project_values.superuser}
{assign var="public_class" value="class='tx-nG6-pi1-public'"}
{assign var="public_attribute" value="tx-nG6-pi1-public"}
{assign var="public_class" value="class='$public_attribute'"}
{/if}
<tr {$public_class}>
<tr id="tr_project_{$project_values.id}" {$public_class}>
{assign var="editable" value=""}
{if $project_values.superuser}
<td><center><input type="checkbox" id="chk_project_{$project_values.id}" value="project_{$project_values.id}"></center></td>
{assign var="editable" value="editable"}
{elseif $superuser}
<td></td>
{/if}
......@@ -241,8 +207,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{if $project_values.hidden == 0}
{assign var="hidden_class" value=""}
{/if}
<td {$hidden_class}>{$project_values.href}</td>
<td {$hidden_class}>{$project_values.description}</td>
<td class="{$editable} field=project=name {$public_attribute}">{$project_values.href}</td>
<td class="{$editable} field=project=description {$public_attribute}">{$project_values.description}</td>
</tr>
{/foreach}
</tbody>
......
......@@ -17,24 +17,29 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{* Recursive function to display an analysis hierarchy *}
{foreach from=$element item=new_element}
<tr>
{assign var="hidden_class" value="class='tx-nG6-pi1-hidden'"}
<tr id="tr_analysis_{$new_element.data.id}">
{assign var="hidden_attribute" value="tx-nG6-pi1-hidden"}
{assign var="hidden_class" value="class='$hidden_attribute'"}
{if $new_element.data.hidden == 0}
{assign var="hidden_class" value=""}
{assign var="hidden_attribute" value=""}
{/if}
{assign var="editable" value=""}
{if $new_element.data.superuser}
<td><center><input type="checkbox" id="chk_analysis_{$new_element.data.id}" value="analysis_{$new_element.data.id}"></center></td>
{assign var="editable" value="editable"}
{/if}
<td {$hidden_class} nowrap>
<td class="{$editable} field=analyze=name {$hidden_attribute}" nowrap>
{assign var="analyze_tree" value=""}
{section name=customer loop=$prof*3}
&nbsp;
{assign var="analyze_tree" value="$analyze_tree &nbsp;"}
{/section}
{if $prof != 0}
|--
{assign var="analyze_tree" value="$analyze_tree |-- "}
{/if}
{$new_element.data.href}
{$analyze_tree}{$new_element.data.href}
</td>
<td {$hidden_class}>{$new_element.data.description}</td>
<td class="{$editable} field=analyze=description {$hidden_attribute}">{$new_element.data.description}</td>
<td {$hidden_class}>{$new_element.data.software}</td>
<td {$hidden_class}>{$new_element.data.version}</td>
</tr>
......
<table class="display" id="run_data_table">
<thead>
<tr>
{if $superuser && $login_user}
<th><center><input type="checkbox" id="chk_all_run"></center></th>
{/if}
<th>{$llang.run_name}</th>
<th>{$llang.project_name}</th>
<th>{$llang.date}</th>
<th>{$llang.species}</th>
<th>{$llang.data_nature}</th>
<th>{$llang.type}</th>
<th>{$llang.nb_sequences}</th>
<th>{$llang.full_seq_size}</th>
<th>{$llang.description}</th>
<th>{$llang.sequencer}</th>
</tr>
</thead>
<tbody>
{foreach from=$runs key=run_id item=run_values}
<tr id="tr_run_{$run_values.id}">
{assign var="editable" value=""}
{if $run_values.superuser}
<td><center><input type="checkbox" id="chk_run_{$run_values.id}" value="run_{$run_values.id}"></center></td>
{assign var="editable" value="editable"}
{elseif $superuser}
<td></td>
{/if}
{assign var="hidden_attribute" value="tx-nG6-pi1-hidden"}
{assign var="hidden_class" value="class='$hidden_attribute'"}
{if $run_values.hidden == 0}
{assign var="hidden_class" value=""}
{assign var="hidden_attribute" value=""}
{/if}
<td class="{$editable} field=run=name {$hidden_attribute}">{$run_values.href}</td>
<td {$hidden_class}>{$run_values.project_name}</td>
<td class="{$editable} field=run=date {$hidden_attribute}">{$run_values.date|date_format:"%d-%m-%y"}</td>
<td class="{$editable} field=run=species {$hidden_attribute}">{$run_values.species}</td>
<td class="{$editable} field=run=data_nature {$hidden_attribute}">{$run_values.data_nature}</td>
<td class="{$editable} field=run=type {$hidden_attribute}">{$run_values.type}</td>
<td {$hidden_class}>{$run_values.nb_sequences|number_format:0:' ':' '}</td>
<td {$hidden_class}>{$run_values.full_seq_size|number_format:0:' ':' '}</td>
<td class="{$editable} field=run=description {$hidden_attribute}">{$run_values.description}</td>
<td class="{$editable} field=run=sequencer {$hidden_attribute}">{$run_values.sequencer}</td>
</tr>
{/foreach}
</tbody>
{if $superuser && $login_user}
<tfoot>
<tr>
<th align="left" colspan="11">
{$llang.toolbar_title}
<button id="hide_run" type="button" class="btn pill-l"><span><span>{$llang.hide_btn}</span></span></button><button id="unhide_run" type="button" class="btn pill-r"><span><span>{$llang.unhide_btn}</span></span></button>
&nbsp;<button id="delete_run" type="button" class="btn"><span><span>{$llang.delete_btn}</span></span></button>
</th>
</tr>
</tfoot>
{/if}
</table>
\ No newline at end of file
......@@ -56,6 +56,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<input type="hidden" id="DataTables_pagination_next" value="{$llang.DataTables_pagination_next}" />
<input type="hidden" id="DataTables_pagination_previous" value="{$llang.DataTables_pagination_previous}" />
<input type="hidden" id="Jeditable_dblClickTitle" value="{$llang.Jeditable_dblClickTitle}" />
<input type="hidden" id="Datepicker_closeText" value="{$llang.Datepicker_closeText}" />
<input type="hidden" id="Datepicker_prevText" value="{$llang.Datepicker_prevText}" />
<input type="hidden" id="Datepicker_nextText" value="{$llang.Datepicker_nextText}" />
<input type="hidden" id="Datepicker_currentText" value="{$llang.Datepicker_currentText}" />
<input type="hidden" id="Datepicker_monthNames" value="{$llang.Datepicker_monthNames}" />
<input type="hidden" id="Datepicker_monthNamesShort" value="{$llang.Datepicker_monthNamesShort}" />
<input type="hidden" id="Datepicker_dayNames" value="{$llang.Datepicker_dayNames}" />
<input type="hidden" id="Datepicker_dayNamesShort" value="{$llang.Datepicker_dayNamesShort}" />
<input type="hidden" id="Datepicker_dayNamesMin" value="{$llang.Datepicker_dayNamesMin}" />
<input type="hidden" id="Datepicker_weekHeader" value="{$llang.Datepicker_weekHeader}" />
<input type="hidden" id="data_folder" value="{$data_folder}" />
<input type="hidden" id="view" value="run" />
<input type="hidden" id="ids" value="{$run_ids}" />
......@@ -183,59 +196,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
</p>
</div>
<br />
<table class="display" id="run_data_table">
<thead>
<tr>
{if $superuser && $login_user}
<th><center><input type="checkbox" id="chk_all_run"></center></th>
{/if}
<th>{$llang.run_name}</th>
<th>{$llang.project_name}</th>
<th>{$llang.date}</th>
<th>{$llang.species}</th>
<th>{$llang.data_nature}</th>
<th>{$llang.type}</th>
<th>{$llang.nb_sequences}</th>
<th>{$llang.full_seq_size}</th>
<th>{$llang.description}</th>
<th>{$llang.sequencer}</th>
</tr>
</thead>
<tbody>
{foreach from=$runs key=run_id item=run_values}
<tr>
{if $run_values.superuser}
<td><center><input type="checkbox" id="chk_run_{$run_values.id}" value="run_{$run_values.id}"></center></td>
{elseif $superuser}
<td></td>
{/if}
{assign var="hidden_class" value="class='tx-nG6-pi1-hidden'"}
{if $run_values.hidden == 0}
{assign var="hidden_class" value=""}
{/if}
<td {$hidden_class}>{$run_values.href}</td>
<td {$hidden_class}>{$run_values.project_name}</td>
<td {$hidden_class}>{$run_values.date|date_format:"%d-%m-%y"}</td>
<td {$hidden_class}>{$run_values.species}</td>
<td {$hidden_class}>{$run_values.data_nature}</td>
<td {$hidden_class}>{$run_values.type}</td>
<td {$hidden_class}>{$run_values.nb_sequences|number_format:0:' ':' '}</td>
<td {$hidden_class}>{$run_values.full_seq_size|number_format:0:' ':' '}</td>
<td {$hidden_class}>{$run_values.description}</td>
<td {$hidden_class}>{$run_values.sequencer}</td>
</tr>
{/foreach}
</tbody>
{if $superuser && $login_user}
<tfoot>
<tr>
<th align="left" colspan="11">
{$llang.toolbar_title}
<button id="hide_run" type="button" class="btn pill-l"><span><span>{$llang.hide_btn}</span></span></button><button id="unhide_run" type="button" class="btn pill-r"><span><span>{$llang.unhide_btn}</span></span></button>
&nbsp;<button id="delete_run" type="button" class="btn"><span><span>{$llang.delete_btn}</span></span></button>
</th>
</tr>
</tfoot>
{/if}
</table>
{include file='run_table.tpl'}
{/if}
\ No newline at end of file
/*
* jQuery UI Datepicker 1.8.16
*
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Datepicker#theming
*/
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em;
height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute;
left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
.ui-datepicker td { border: 0; padding: 1px; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none;
}
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0;
border-right: 0; border-bottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em
.6em .3em .6em; width:auto; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi { width:auto; }
.ui-datepicker-multi .ui-datepicker-group { float:left; }
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
/* RTL support */
.ui-datepicker-rtl { direction: rtl; }
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
display: none; /*sorry for IE5*/
display/**/: block; /*sorry for IE5*/
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}
\ No newline at end of file
......@@ -244,3 +244,4 @@ table.tx-nG6-pi1-listrow td { border-bottom: 1px solid #ddd; }
}
.tx-nG6-pi5-symlink { margin-left: 0px; padding-left: 140px; padding-top: 10px; height: 160px; background: url(../img/symbolic_link.png) left no-repeat; }
.tx-nG6-pi5-archive { margin-left: 0px; padding-left: 140px; padding-top: 30px; height: 100px; background: url(../img/archive.png) left no-repeat; }
td.editable:hover { border: 1px solid #BBBBBB ; cursor: url(../img/pen.cur),auto ; }
This source diff could not be displayed because it is too large. You can view the blob instead.
(function($){$.fn.editable=function(target,options){if('disable'==target){$(this).data('disabled.editable',true);return;}
if('enable'==target){$(this).data('disabled.editable',false);return;}
if('destroy'==target){$(this).unbind($(this).data('event.editable')).removeData('disabled.editable').removeData('event.editable');return;}
var settings=$.extend({},$.fn.editable.defaults,{target:target},options);var plugin=$.editable.types[settings.type].plugin||function(){};var submit=$.editable.types[settings.type].submit||function(){};var buttons=$.editable.types[settings.type].buttons||$.editable.types['defaults'].buttons;var content=$.editable.types[settings.type].content||$.editable.types['defaults'].content;var element=$.editable.types[settings.type].element||$.editable.types['defaults'].element;var reset=$.editable.types[settings.type].reset||$.editable.types['defaults'].reset;var callback=settings.callback||function(){};var onedit=settings.onedit||function(){};var onsubmit=settings.onsubmit||function(){};var onreset=settings.onreset||function(){};var onerror=settings.onerror||reset;if(settings.tooltip){$(this).attr('title',settings.tooltip);}
settings.autowidth='auto'==settings.width;settings.autoheight='auto'==settings.height;return this.each(function(){var self=this;var savedwidth=$(self).width();var savedheight=$(self).height();$(this).data('event.editable',settings.event);if(!$.trim($(this).html())){$(this).html(settings.placeholder);}
$(this).bind(settings.event,function(e){if(true===$(this).data('disabled.editable')){return;}
if(self.editing){return;}
if(false===onedit.apply(this,[settings,self])){return;}
e.preventDefault();e.stopPropagation();if(settings.tooltip){$(self).removeAttr('title');}
if(0==$(self).width()){settings.width=savedwidth;settings.height=savedheight;}else{if(settings.width!='none'){settings.width=settings.autowidth?$(self).width():settings.width;}
if(settings.height!='none'){settings.height=settings.autoheight?$(self).height():settings.height;}}
if($(this).html().toLowerCase().replace(/(;|")/g,'')==settings.placeholder.toLowerCase().replace(/(;|")/g,'')){$(this).html('');}
self.editing=true;self.revert=$(self).html();$(self).html('');var form=$('<form />');if(settings.cssclass){if('inherit'==settings.cssclass){form.attr('class',$(self).attr('class'));}else{form.attr('class',settings.cssclass);}}
if(settings.style){if('inherit'==settings.style){form.attr('style',$(self).attr('style'));form.css('display',$(self).css('display'));}else{form.attr('style',settings.style);}}
var input=element.apply(form,[settings,self]);var input_content;if(settings.loadurl){var t=setTimeout(function(){input.disabled=true;content.apply(form,[settings.loadtext,settings,self]);},100);var loaddata={};loaddata[settings.id]=self.id;if($.isFunction(settings.loaddata)){$.extend(loaddata,settings.loaddata.apply(self,[self.revert,settings]));}else{$.extend(loaddata,settings.loaddata);}
$.ajax({type:settings.loadtype,url:settings.loadurl,data:loaddata,async:false,success:function(result){window.clearTimeout(t);input_content=result;input.disabled=false;}});}else if(settings.data){input_content=settings.data;if($.isFunction(settings.data)){input_content=settings.data.apply(self,[self.revert,settings]);}}else{input_content=self.revert;}
content.apply(form,[input_content,settings,self]);input.attr('name',settings.name);buttons.apply(form,[settings,self]);$(self).append(form);plugin.apply(form,[settings,self]);$(':input:visible:enabled:first',form).focus();if(settings.select){input.select();}
input.keydown(function(e){if(e.keyCode==27){e.preventDefault();reset.apply(form,[settings,self]);}});var t;if('cancel'==settings.onblur){input.blur(function(e){t=setTimeout(function(){reset.apply(form,[settings,self]);},500);});}else if('submit'==settings.onblur){input.blur(function(e){t=setTimeout(function(){form.submit();},200);});}else if($.isFunction(settings.onblur)){input.blur(function(e){settings.onblur.apply(self,[input.val(),settings]);});}else{input.blur(function(e){});}
form.submit(function(e){if(t){clearTimeout(t);}
e.preventDefault();if(false!==onsubmit.apply(form,[settings,self])){if(false!==submit.apply(form,[settings,self])){if($.isFunction(settings.target)){var str=settings.target.apply(self,[input.val(),settings]);$(self).html(str);self.editing=false;callback.apply(self,[self.innerHTML,settings]);if(!$.trim($(self).html())){$(self).html(settings.placeholder);}}else{var submitdata={};submitdata[settings.name]=input.val();submitdata[settings.id]=self.id;if($.isFunction(settings.submitdata)){$.extend(submitdata,settings.submitdata.apply(self,[self.revert,settings]));}else{$.extend(submitdata,settings.submitdata);}
if('PUT'==settings.method){submitdata['_method']='put';}
$(self).html(settings.indicator);var ajaxoptions={type:'POST',data:submitdata,dataType:'html',url:settings.target,success:function(result,status){if(ajaxoptions.dataType=='html'){$(self).html(result);}
self.editing=false;callback.apply(self,[result,settings]);if(!$.trim($(self).html())){$(self).html(settings.placeholder);}},error:function(xhr,status,error){onerror.apply(form,[settings,self,xhr]);}};$.extend(ajaxoptions,settings.ajaxoptions);$.ajax(ajaxoptions);}}}
$(self).attr('title',settings.tooltip);return false;});});this.reset=function(form){if(this.editing){if(false!==onreset.apply(form,[settings,self])){$(self).html(self.revert);self.editing=false;if(!$.trim($(self).html())){$(self).html(settings.placeholder);}
if(settings.tooltip){$(self).attr('title',settings.tooltip);}}}};});};$.editable={types:{defaults:{element:function(settings,original){var input=$('<input type="hidden"></input>');$(this).append(input);return(input);},content:function(string,settings,original){$(':input:first',this).val(string);},reset:function(settings,original){original.reset(this);},buttons:function(settings,original){var form=this;if(settings.submit){if(settings.submit.match(/>$/)){var submit=$(settings.submit).click(function(){if(submit.attr("type")!="submit"){form.submit();}});}else{var submit=$('<button type="submit" />');submit.html(settings.submit);}
$(this).append(submit);}
if(settings.cancel){if(settings.cancel.match(/>$/)){var cancel=$(settings.cancel);}else{var cancel=$('<button type="cancel" />');cancel.html(settings.cancel);}
$(this).append(cancel);$(cancel).click(function(event){if($.isFunction($.editable.types[settings.type].reset)){var reset=$.editable.types[settings.type].reset;}else{var reset=$.editable.types['defaults'].reset;}
reset.apply(form,[settings,original]);return false;});}}},text:{element:function(settings,original){var input=$('<input />');if(settings.width!='none'){input.width(settings.width);}
if(settings.height!='none'){input.height(settings.height);}
input.attr('autocomplete','off');$(this).append(input);return(input);}},textarea:{element:function(settings,original){var textarea=$('<textarea />');if(settings.rows){textarea.attr('rows',settings.rows);}else if(settings.height!="none"){textarea.height(settings.height);}
if(settings.cols){textarea.attr('cols',settings.cols);}else if(settings.width!="none"){textarea.width(settings.width);}
$(this).append(textarea);return(textarea);}},select:{element:function(settings,original){var select=$('<select />');$(this).append(select);return(select);},content:function(data,settings,original){if(String==data.constructor){eval('var json = '+data);}else{var json=data;}
for(var key in json){if(!json.hasOwnProperty(key)){continue;}
if('selected'==key){continue;}
var option=$('<option />').val(key).append(json[key]);$('select',this).append(option);}
$('select',this).children().each(function(){if($(this).val()==json['selected']||$(this).text()==$.trim(original.revert)){$(this).attr('selected','selected');}});}}},addInputType:function(name,input){$.editable.types[name]=input;}};$.fn.editable.defaults={name:'value',id:'id',type:'text',width:'auto',height:'auto',event:'click.editable',onblur:'cancel',loadtype:'GET',loadtext:'Loading...',placeholder:'Click to edit',loaddata:{},submitdata:{},ajaxoptions:{}};})(jQuery);
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -28,6 +28,136 @@
$(function () {
/* Language initialisation for the jQuery UI date picker plugin. */