*/
const DEF_TIME_IN_JOB_LOG = 0;
+
+ /**
+ * Default date and time format.
+ */
+ const DEF_DATE_TIME_FORMAT = 'Y-M-D R';
+
/**
* Supported authentication methods.
*/
'lang' => self::DEF_LANG,
'max_jobs' => self::DEF_MAX_JOBS,
'size_values_unit' => self::DEF_SIZE_VAL_UNIT,
- 'time_in_job_log' => self::DEF_TIME_IN_JOB_LOG
+ 'time_in_job_log' => self::DEF_TIME_IN_JOB_LOG,
+ 'date_time_format' => self::DEF_DATE_TIME_FORMAT
];
if (key_exists('baculum', $config)) {
$config['baculum'] = array_merge($baculum, $config['baculum']);
timestamp *= 1000;
}
var d = new Date(timestamp);
- var date = [d.getFullYear(), ('0' + (d.getMonth()+1)).slice(-2), ('0' + d.getDate()).slice(-2)].join('-');
- var time = [d.getHours(), ('0' + d.getMinutes()).slice(-2), ('0' + d.getSeconds()).slice(-2)].join(':');
- return (date + ' ' + time);
+ var dt = DATE_TIME_FORMAT;
+ if (dt.indexOf('Y') !== -1) { // full 4 digits year, ex. 2021
+ dt = dt.replace(/Y/g, d.getFullYear());
+ }
+ if (dt.indexOf('y') !== -1) { // 2 digits year, ex, 21
+ dt = dt.replace(/y/g, ('0' + d.getFullYear()).slice(-2));
+ }
+ if (dt.indexOf('M') !== -1) { // 2 digits month 01..12
+ dt = dt.replace(/M/g, ('0' + (d.getMonth() + 1)).slice(-2));
+ }
+ if (dt.indexOf('m') !== -1) { // 1-2 digits month 1..12
+ dt = dt.replace(/m/g, (d.getMonth() + 1));
+ }
+ if (dt.indexOf('D') !== -1) { // 2 digits day 01..31
+ dt = dt.replace(/D/g, ('0' + d.getDate()).slice(-2));
+ }
+ if (dt.indexOf('d') !== -1) { // 1-2 digits day 1..31
+ dt = dt.replace(/d/g, d.getDate());
+ }
+ if (dt.indexOf('H') !== -1) { // 2 digits 24-hour format hour 00..23
+ dt = dt.replace(/H/g, ('0' + d.getHours()).slice(-2));
+ }
+ if (dt.indexOf('h') !== -1) { // 1-2 digits 24-hour format hour 0..23
+ dt = dt.replace(/h/g, d.getHours());
+ }
+ if (dt.indexOf('G') !== -1) { // 2 digits 12-hour format hour value 01..12
+ var hours = d.getHours() % 12;
+ hours = hours ? hours : 12;
+ dt = dt.replace(/G/g, ('0' + hours).slice(-2));
+ }
+ if (dt.indexOf('g') !== -1) { // 1-2 digits 12-hour format hour value 1..12
+ var hours = d.getHours() % 12;
+ hours = hours ? hours : 12;
+ dt = dt.replace(/g/g, hours);
+ }
+ if (dt.indexOf('I') !== -1) { // 2 digits minutes 00..59
+ dt = dt.replace(/I/g, ('0' + d.getMinutes()).slice(-2));
+ }
+ if (dt.indexOf('i') !== -1) { // 1-2 digits minutes 0..59
+ dt = dt.replace(/i/g, d.getMinutes());
+ }
+ if (dt.indexOf('S') !== -1) { // 2 digits seconds 00..23
+ dt = dt.replace(/S/g, ('0' + d.getSeconds()).slice(-2));
+ }
+ if (dt.indexOf('s') !== -1) { // 1-2 digits seconds 0..23
+ dt = dt.replace(/s/g, d.getSeconds());
+ }
+ if (dt.indexOf('p') !== -1) { // AM/PM value
+ var am_pm = d.getHours() >= 12 ? 'PM' : 'AM';
+ dt = dt.replace(/p/g, am_pm);
+ }
+ if (dt.indexOf('R') !== -1) { // 24-hours format time value 17:22:41
+ var minutes = ('0' + d.getMinutes()).slice(-2);
+ var seconds = ('0' + d.getSeconds()).slice(-2);
+ dt = dt.replace(/R/g, d.getHours() + ':' + minutes + ':' + seconds);
+ }
+ if (dt.indexOf('r') !== -1) { // time in digits 12-hours format 11:05:12 AM
+ var am_pm = d.getHours() >= 12 ? 'PM' : 'AM';
+ var hours = d.getHours() % 12;
+ hours = hours ? hours : 12;
+ var minutes = ('0' + d.getMinutes()).slice(-2);
+ var seconds = ('0' + d.getSeconds()).slice(-2);
+ dt = dt.replace(/r/g, hours + ':' + minutes + ':' + seconds + ' ' + am_pm);
+ }
+ return dt;
+ },
+ format_date_str: function(date) {
+ var d;
+ if (date && date != 'no date') {
+ var t = (new Date(date)).getTime();
+ d = Units.format_date(t);
+ }
+ return d;
},
format_speed: function(speed_bytes, format, float_val, decimal) {
var reminder;
var Formatters = {
formatter: [
{css_class: 'size', format_func: function(val) { return Units.get_formatted_size(val); }},
- {css_class: 'time', format_func: function(val) { return Units.format_time_period(val); }}
+ {css_class: 'time', format_func: function(val) { return Units.format_time_period(val); }},
+ {css_class: 'datetime', format_func: function(val) { return Units.format_date_str(val); }}
],
set_formatters: function() {
var elements, formatter, txt, val;
}
}
+
+/** Data tables formatters **/
+
+function render_date(data, type, row) {
+ var t = data;
+ if (t) {
+ var d = (new Date(t)).getTime();
+ if (type == 'display') {
+ t = Units.format_date(d);
+ } else {
+ t = d;
+ }
+ }
+ return t;
+}
+
+function render_date_ts(data, type, row) {
+ var t;
+ if (type == 'display') {
+ t = Units.format_date(data)
+ } else {
+ t = data;
+ }
+ return t;
+}
+
+function render_date_ex(data, type, row) {
+ var t = data;
+ if (t && t != 'no date') {
+ var d = (new Date(t)).getTime();
+ if (type == 'display') {
+ t = Units.format_date(d);
+ } else {
+ t = d;
+ }
+ }
+ return t;
+}
+
+function render_jobstatus(data, type, row) {
+ var ret;
+ if (type == 'display') {
+ ret = JobStatus.get_icon(data).outerHTML;
+ } else {
+ ret = data;
+ }
+ return ret;
+}
+
+function render_bytes(data, type, row) {
+ var s;
+ if (type == 'display') {
+ s = Units.get_formatted_size(data)
+ } else {
+ s = data;
+ }
+ return s;
+}
+function render_level(data, type, row) {
+ var ret;
+ if (!data) {
+ ret = '-';
+ } else {
+ ret = JobLevel.get_level(data);
+ }
+ return ret;
+}
+
+function render_time_period(data, type, row) {
+ var ret;
+ if (type == 'display' || type == 'filter') {
+ var time = Units.format_time_period(data);
+ ret = time.value + ' ' + time.format + ((time.value > 0) ? 's': '');
+ } else {
+ ret = data;
+ }
+ return ret;
+}
+
function set_formatters() {
Formatters.set_formatters();
}
},
{
data: 'starttime',
+ render: render_date,
responsivePriority: 5
},
{
data: 'jobstatus',
- render: function (data, type, row) {
- var ret;
- if (type == 'display') {
- ret = JobStatus.get_icon(data).outerHTML;
- } else {
- ret = data;
- }
- return ret;
- },
+ render: render_jobstatus,
responsivePriority: 4
}
],
msgid "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files."
msgstr "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files."
+
+msgid "Date and time format:"
+msgstr "Date and time format:"
+
+msgid "Available formats:"
+msgstr "Available formats:"
+
+msgid "full 4 digits year, ex. 2021"
+msgstr "full 4 digits year, ex. 2021"
+
+msgid "2 digits year, ex, 21"
+msgstr "2 digits year, ex, 21"
+
+msgid "2 digits month 01..12"
+msgstr "2 digits month 01..12"
+
+msgid "1-2 digits month 1..12"
+msgstr "1-2 digits month 1..12"
+
+msgid "2 digits day 01..31"
+msgstr "2 digits day 01..31"
+
+msgid "1-2 digits day 1..31"
+msgstr "1-2 digits day 1..31"
+
+msgid "2 digits 24-hour format hour 00..23"
+msgstr "2 digits 24-hour format hour 00..23"
+
+msgid "1-2 digits 24-hour format hour 0..23"
+msgstr "1-2 digits 24-hour format hour 0..23"
+
+msgid "2 digits 12-hour format hour 01..12"
+msgstr "2 digits 12-hour format hour 01..12"
+
+msgid "1-2 digits 12-hour format hour 1..12"
+msgstr "1-2 digits 12-hour format hour 1..12"
+
+msgid "2 digits minutes 00..59"
+msgstr "2 digits minutes 00..59"
+
+msgid "1-2 digits minutes 0..59"
+msgstr "1-2 digits minutes 0..59"
+
+msgid "2 digits seconds 00..59"
+msgstr "2 digits seconds 00..59"
+
+msgid "1-2 digits seconds 0..59"
+msgstr "1-2 digits seconds 0..59"
+
+msgid "AM/PM value"
+msgstr "AM/PM value"
+
+msgid "24-hours format time 17:22:41"
+msgstr "24-hours format time 17:22:41"
+
+msgid "12-hours format time 5:22:41 PM"
+msgstr "12-hours format time 5:22:41 PM"
msgid "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files."
msgstr "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files."
+
+msgid "Date and time format:"
+msgstr "Date and time format:"
+
+msgid "Available formats:"
+msgstr "Available formats:"
+
+msgid "full 4 digits year, ex. 2021"
+msgstr "full 4 digits year, ex. 2021"
+
+msgid "2 digits year, ex, 21"
+msgstr "2 digits year, ex, 21"
+
+msgid "2 digits month 01..12"
+msgstr "2 digits month 01..12"
+
+msgid "1-2 digits month 1..12"
+msgstr "1-2 digits month 1..12"
+
+msgid "2 digits day 01..31"
+msgstr "2 digits day 01..31"
+
+msgid "1-2 digits day 1..31"
+msgstr "1-2 digits day 1..31"
+
+msgid "2 digits 24-hour format hour 00..23"
+msgstr "2 digits 24-hour format hour 00..23"
+
+msgid "1-2 digits 24-hour format hour 0..23"
+msgstr "1-2 digits 24-hour format hour 0..23"
+
+msgid "2 digits 12-hour format hour 01..12"
+msgstr "2 digits 12-hour format hour 01..12"
+
+msgid "1-2 digits 12-hour format hour 1..12"
+msgstr "1-2 digits 12-hour format hour 1..12"
+
+msgid "2 digits minutes 00..59"
+msgstr "2 digits minutes 00..59"
+
+msgid "1-2 digits minutes 0..59"
+msgstr "1-2 digits minutes 0..59"
+
+msgid "2 digits seconds 00..59"
+msgstr "2 digits seconds 00..59"
+
+msgid "1-2 digits seconds 0..59"
+msgstr "1-2 digits seconds 0..59"
+
+msgid "AM/PM value"
+msgstr "AM/PM value"
+
+msgid "24-hours format time 17:22:41"
+msgstr "24-hours format time 17:22:41"
+
+msgid "12-hours format time 5:22:41 PM"
+msgstr "12-hours format time 5:22:41 PM"
msgid "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files."
msgstr "Nie znaleziono żadnego pliku dla wybranej kopii zapasowej. Może to oznaczać, że rekordy plików dla tej kopii są wyczyszczone. Przywracanie wybranych plików nie jest dostępne, ale jeżeli kontynuujesz, to zostanie wykonane pełne przywrócenie wszystkich plików kopii zapasowej."
+
+msgid "Date and time format:"
+msgstr "Format daty i czasu:"
+
+msgid "Available formats:"
+msgstr "Dostępne formaty:"
+
+msgid "full 4 digits year, ex. 2021"
+msgstr "pełne 4 cyfry roku, np. 2021"
+
+msgid "2 digits year, ex, 21"
+msgstr "dwie cyfry roku, np. 21"
+
+msgid "2 digits month 01..12"
+msgstr "dwie cyfry miesiÄ…ca 01..12"
+
+msgid "1-2 digits month 1..12"
+msgstr "1-2 cyfry miesiÄ…ca 1..12"
+
+msgid "2 digits day 01..31"
+msgstr "dwie cyfry dnia 01..31"
+
+msgid "1-2 digits day 1..31"
+msgstr "1-2 cyfry dnia 1..31"
+
+msgid "2 digits 24-hour format hour 00..23"
+msgstr "2 cyfry 24-godzinnego formatu godziny 00..23"
+
+msgid "1-2 digits 24-hour format hour 0..23"
+msgstr "1-2 cyfry 24-godzinnego formatu godziny 0..23"
+
+msgid "2 digits 12-hour format hour 01..12"
+msgstr "2 cyfry 12-godzinnego formatu godziny 01..12"
+
+msgid "1-2 digits 12-hour format hour 1..12"
+msgstr "1-2 cyfry 12-godzinnego formatu godziny 1..12"
+
+msgid "2 digits minutes 00..59"
+msgstr "2 cyfry minuty 00..59"
+
+msgid "1-2 digits minutes 0..59"
+msgstr "1-2 cyfry minuty 0..59"
+
+msgid "2 digits seconds 00..59"
+msgstr "2 cyfry sekundy 00..59"
+
+msgid "1-2 digits seconds 0..59"
+msgstr "1-2 cyfry sekundy 0..59"
+
+msgid "AM/PM value"
+msgstr "Wartość AM/PM"
+
+msgid "24-hours format time 17:22:41"
+msgstr "24-godzinny format czasu 17:22:41"
+
+msgid "12-hours format time 5:22:41 PM"
+msgstr "12-godzinny format czasu 5:22:41 PM"
msgid "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files."
msgstr "No file found for selected backup. It can mean file records for this backup are pruned. Restoring selected files is not available but if you continue, there will be performed full restore all backup files."
+
+msgid "Date and time format:"
+msgstr "Date and time format:"
+
+msgid "Available formats:"
+msgstr "Available formats:"
+
+msgid "full 4 digits year, ex. 2021"
+msgstr "full 4 digits year, ex. 2021"
+
+msgid "2 digits year, ex, 21"
+msgstr "2 digits year, ex, 21"
+
+msgid "2 digits month 01..12"
+msgstr "2 digits month 01..12"
+
+msgid "1-2 digits month 1..12"
+msgstr "1-2 digits month 1..12"
+
+msgid "2 digits day 01..31"
+msgstr "2 digits day 01..31"
+
+msgid "1-2 digits day 1..31"
+msgstr "1-2 digits day 1..31"
+
+msgid "2 digits 24-hour format hour 00..23"
+msgstr "2 digits 24-hour format hour 00..23"
+
+msgid "1-2 digits 24-hour format hour 0..23"
+msgstr "1-2 digits 24-hour format hour 0..23"
+
+msgid "2 digits 12-hour format hour 01..12"
+msgstr "2 digits 12-hour format hour 01..12"
+
+msgid "1-2 digits 12-hour format hour 1..12"
+msgstr "1-2 digits 12-hour format hour 1..12"
+
+msgid "2 digits minutes 00..59"
+msgstr "2 digits minutes 00..59"
+
+msgid "1-2 digits minutes 0..59"
+msgstr "1-2 digits minutes 0..59"
+
+msgid "2 digits seconds 00..59"
+msgstr "2 digits seconds 00..59"
+
+msgid "1-2 digits seconds 0..59"
+msgstr "1-2 digits seconds 0..59"
+
+msgid "AM/PM value"
+msgstr "AM/PM value"
+
+msgid "24-hours format time 17:22:41"
+msgstr "24-hours format time 17:22:41"
+
+msgid "12-hours format time 5:22:41 PM"
+msgstr "12-hours format time 5:22:41 PM"
<i class="fa fa-cogs w3-large"></i> <%[ Running jobs: ]%> <span id="running_jobs"></span>
</span>
<script type="text/javascript">
- var SIZE_VALUES_UNIT = '<%=(count($this->web_config) > 0 && key_exists('size_values_unit', $this->web_config['baculum'])) ? $this->web_config['baculum']['size_values_unit'] : 'decimal'%>';
+ var SIZE_VALUES_UNIT = '<%=(count($this->web_config) > 0 && key_exists('size_values_unit', $this->web_config['baculum'])) ? $this->web_config['baculum']['size_values_unit'] : WebConfig::DEF_SIZE_VAL_UNIT%>';
+ var DATE_TIME_FORMAT = '<%=(count($this->web_config) > 0 && key_exists('date_time_format', $this->web_config['baculum'])) ? $this->web_config['baculum']['date_time_format'] : WebConfig::DEF_DATE_TIME_FORMAT%>';
</script>
<com:TContentPlaceHolder ID="Main" />
<!-- Footer -->
</com:THead>
<body class="w3-light-grey">
<script type="text/javascript">
- var SIZE_VALUES_UNIT = '<%=(count($this->web_config) > 0 && key_exists('size_values_unit', $this->web_config['baculum'])) ? $this->web_config['baculum']['size_values_unit'] : 'decimal'%>';
+ var SIZE_VALUES_UNIT = '<%=(count($this->web_config) > 0 && key_exists('size_values_unit', $this->web_config['baculum'])) ? $this->web_config['baculum']['size_values_unit'] : WebConfig::DEF_SIZE_VAL_UNIT%>';
+ var DATE_TIME_FORMAT = '<%=(count($this->web_config) > 0 && key_exists('date_time_format', $this->web_config['baculum'])) ? $this->web_config['baculum']['date_time_format'] : WebConfig::DEF_DATE_TIME_FORMAT%>';
</script>
<com:TForm>
<com:TClientScript PradoScripts="ajax, effects" />
<%@ MasterClass="Application.Web.Layouts.Main" Theme="Baculum-v2"%>
<com:TContent ID="Main">
+ <com:BClientScript ScriptUrl=<%~ ../JavaScript/opentip.js %> />
+ <com:BClientScript ScriptUrl=<%~ ../JavaScript/tooltip.js %> />
<!-- Header -->
<header class="w3-container">
<h5>
<div class="w3-third w3-col">
<com:TTextBox
ID="MaxJobs"
- CssClass="w3-input w3-border"
+ CssClass="w3-input w3-border w3-show-inline-block"
ValidationGroup="AppSetting"
+ Width="120px"
/>
+ <i class="fa fa-asterisk w3-text-red"></i>
<com:TRequiredFieldValidator
ID="MaxJobsRequiredValidator"
ValidationGroup="AppSetting"
/>
</div>
</div>
+ <div class="w3-container w3-row w3-padding">
+ <div class="w3-third w3-col"><%[ Date and time format: ]%></div>
+ <div class="w3-third w3-col">
+ <com:TTextBox
+ ID="DateTimeFormat"
+ CssClass="w3-input w3-border w3-show-inline-block"
+ ValidationGroup="AppSetting"
+ Width="120px"
+ />
+ <i class="fa fa-asterisk w3-text-red"></i>
+ <com:TRequiredFieldValidator
+ ValidationGroup="AppSetting"
+ ControlToValidate="DateTimeFormat"
+ ErrorMessage="<%[ Field required. ]%>"
+ Display="Dynamic"
+ />
+ </div>
+ <script>
+ var dt = document.getElementById('<%=$this->DateTimeFormat->ClientID%>');
+ dt.addEventListener('mouseover', function() {
+ var tip_fields = [
+ 'Y - <%[ full 4 digits year, ex. 2021 ]%>',
+ 'y - <%[ 2 digits year, ex, 21 ]%>',
+ 'M - <%[ 2 digits month 01..12 ]%>',
+ 'm - <%[ 1-2 digits month 1..12 ]%>',
+ 'D - <%[ 2 digits day 01..31 ]%>',
+ 'd - <%[ 1-2 digits day 1..31 ]%>',
+ 'H - <%[ 2 digits 24-hour format hour 00..23 ]%>',
+ 'h - <%[ 1-2 digits 24-hour format hour 0..23 ]%>',
+ 'G - <%[ 2 digits 12-hour format hour 01..12 ]%>',
+ 'g - <%[ 1-2 digits 12-hour format hour 1..12 ]%>',
+ 'I - <%[ 2 digits minutes 00..59 ]%>',
+ 'i - <%[ 1-2 digits minutes 0..59 ]%>',
+ 'S - <%[ 2 digits seconds 00..59 ]%>',
+ 's - <%[ 1-2 digits seconds 0..59 ]%>',
+ 'p - <%[ AM/PM value ]%>',
+ 'R - <%[ 24-hours format time 17:22:41 ]%>',
+ 'r - <%[ 12-hours format time 5:22:41 PM ]%>'
+ ];
+ showTip(dt, '<%[ Available formats: ]%>', tip_fields.join('<br />'));
+ });
+ </script>
+ </div>
<div class="w3-center">
<com:TActiveLinkButton
CssClass="w3-button w3-green"
if (key_exists('time_in_job_log', $this->web_config['baculum'])) {
$this->TimeInJobLog->Checked = ($this->web_config['baculum']['time_in_job_log'] == 1);
}
+ if (key_exists('date_time_format', $this->web_config['baculum'])) {
+ $this->DateTimeFormat->Text = $this->web_config['baculum']['date_time_format'];
+ } else {
+ $this->DateTimeFormat->Text = WebConfig::DEF_DATE_TIME_FORMAT;
+ }
}
}
$this->web_config['baculum']['max_jobs'] = $max_jobs;
$this->web_config['baculum']['size_values_unit'] = $this->BinaryBytes->Checked ? 'binary' : 'decimal';
$this->web_config['baculum']['time_in_job_log'] = ($this->TimeInJobLog->Checked === true) ? 1 : 0;
+ $this->web_config['baculum']['date_time_format'] = $this->DateTimeFormat->Text;
$this->getModule('web_config')->setConfig($this->web_config);
}
}
},
{
data: 'jobretention',
- render: function (data, type, row) {
- var ret;
- if (type == 'display' || type == 'filter') {
- var time = Units.format_time_period(data);
- ret = time.value + ' ' + time.format + ((time.value > 0) ? 's': '');
- } else {
- ret = data;
- }
- return ret;
- }
+ render: render_time_period
},
{
data: 'fileretention',
- render: function (data, type, row) {
- var ret;
- if (type == 'display' || type == 'filter') {
- var time = Units.format_time_period(data);
- ret = time.value + ' ' + time.format + ((time.value > 0) ? 's': '');
- } else {
- ret = data;
- }
- return ret;
- }
+ render: render_time_period
},
{
data: 'clientid',
},
{
data: 'schedtime',
+ render: render_date,
visible: false
},
- {data: 'starttime'},
- {data: 'endtime'},
+ {
+ data: 'starttime',
+ render: render_date
+ },
+ {
+ data: 'endtime',
+ render: render_date
+ },
{
data: 'realendtime',
+ render: render_date,
visible: false
},
{
data: 'jobtdate',
- render: function (data, type, row) {
- var t;
- if (type == 'display') {
- t = Units.format_date(data)
- } else {
- t = data;
- }
- return t;
- },
+ render: render_date_ts,
visible: false
},
{
},
{
data: 'volsessiontime',
- render: function (data, type, row) {
- var t;
- if (type == 'display') {
- t = Units.format_date(data)
- } else {
- t = data;
- }
- return t;
- },
+ render: render_date_ts,
visible: false
},
{
data: 'jobstatus',
- render: function (data, type, row) {
- var ret;
- if (type == 'display') {
- ret = JobStatus.get_icon(data).outerHTML;
- } else {
- ret = data;
- }
- return ret;
- },
+ render: render_jobstatus,
className: 'w3-center'
},
{
data: 'jobbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- }
+ render: render_bytes
},
{
data: 'readbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{data: 'jobfiles'},
},
{
data: 'schedtime',
+ render: render_date,
visible: false
},
- {data: 'starttime'},
- {data: 'endtime'},
+ {
+ data: 'starttime',
+ render: render_date
+ },
+ {
+ data: 'endtime',
+ render: render_date
+ },
{
data: 'realendtime',
+ render: render_date,
visible: false
},
{
data: 'jobtdate',
- render: function (data, type, row) {
- var t;
- if (type == 'display') {
- t = Units.format_date(data)
- } else {
- t = data;
- }
- return t;
- },
+ render: render_date_ts,
visible: false
},
{
},
{
data: 'volsessiontime',
- render: function (data, type, row) {
- var t;
- if (type == 'display') {
- t = Units.format_date(data)
- } else {
- t = data;
- }
- return t;
- },
+ render: render_date_ts,
visible: false
},
{
data: 'jobstatus',
- render: function (data, type, row) {
- var ret;
- if (type == 'display') {
- ret = JobStatus.get_icon(data).outerHTML;
- } else {
- ret = data;
- }
- return ret;
- },
+ render: render_jobstatus,
className: 'w3-center'
},
{
data: 'jobbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- }
+ render: render_bytes
},
{
data: 'readbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{data: 'jobfiles'},
},
{
data: 'schedtime',
+ render: render_date,
visible: false
},
- {data: 'starttime'},
- {data: 'endtime'},
+ {
+ data: 'starttime',
+ render: render_date
+ },
+ {
+ data: 'endtime',
+ render: render_date
+ },
{
data: 'realendtime',
+ render: render_date,
visible: false
},
{
data: 'jobtdate',
- render: function (data, type, row) {
- var t;
- if (type == 'display') {
- t = Units.format_date(data)
- } else {
- t = data;
- }
- return t;
- },
+ render: render_date_ts,
visible: false
},
{
},
{
data: 'volsessiontime',
- render: function (data, type, row) {
- var t;
- if (type == 'display') {
- t = Units.format_date(data)
- } else {
- t = data;
- }
- return t;
- },
+ render: render_date_ts,
visible: false
},
{
data: 'jobstatus',
- render: function (data, type, row) {
- var ret;
- if (type == 'display') {
- ret = JobStatus.get_icon(data).outerHTML;
- } else {
- ret = data;
- }
- return ret;
- },
+ render: render_jobstatus,
className: 'w3-center'
},
{
data: 'jobbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- }
+ render: render_bytes
},
{
data: 'readbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{data: 'jobfiles'},
},
{
data: 'volretention',
- render: function (data, type, row) {
- var ret;
- if (type == 'display' || type == 'filter') {
- var time = Units.format_time_period(data);
- ret = time.value + ' ' + time.format + ((time.value > 0) ? 's': '');
- } else {
- ret = data;
- }
- return ret;
- }
+ render: render_time_period
},
{
data: 'autoprune',
<th>LabelType</th>
<th><%[ First written ]%></th>
<th><%[ Last written ]%></th>
- <th><%[ Vol. bytes ]%></th>
+ <th class="w3-center"><%[ Vol. bytes ]%></th>
<th><%[ Max. vol. bytes ]%></th>
<th><%[ Max. vol. jobs ]%></th>
<th><%[ Max. vol. files ]%></th>
<th>LabelType</th>
<th><%[ First written ]%></th>
<th><%[ Last written ]%></th>
- <th><%[ Vol. bytes ]%></th>
+ <th class="w3-center"><%[ Vol. bytes ]%></th>
<th><%[ Max. vol. bytes ]%></th>
<th><%[ Max. vol. jobs ]%></th>
<th><%[ Max. vol. files ]%></th>
},
{
data: 'firstwritten',
+ render: render_date,
visible: false
},
- {data: 'lastwritten'},
+ {
+ data: 'lastwritten',
+ render: render_date
+ },
{
data: 'volbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- }
+ render: render_bytes
},
{
data: 'maxvolbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{
},
{
data: 'volcapacitybytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{
data: 'volabytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{
},
{
data: 'volholebytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{
},
{
data: 'labeldate',
+ render: render_date,
visible: false
},
{
},
{
data: 'volretention',
- render: function(data, type, row) {
- var t;
- if (type == 'display') {
- var ret = Units.format_time_period(data);
- t = ret.value + ' ' + ret.format;
- } else {
- t = data;
- }
- return t;
- },
+ render: render_time_period,
visible: false
},
{
data: 'cacheretention',
- render: function(data, type, row) {
- var t;
- if (type == 'display') {
- var ret = Units.format_time_period(data);
- t = ret.value + ' ' + ret.format;
- } else {
- t = data;
- }
- return t;
- },
+ render: render_time_period,
visible: false
},
{
data: 'voluseduration',
- render: function(data, type, row) {
- var t;
- if (type == 'display') {
- var ret = Units.format_time_period(data);
- t = ret.value + ' ' + ret.format;
- } else {
- t = data;
- }
- return t;
- },
+ render: render_time_period,
visible: false
},
{
},
{
data: 'volreadtime',
- render: function(data, type, row) {
- var t;
- if (type == 'display') {
- var ret = Units.format_time_period(data);
- t = ret.value + ' ' + ret.format;
- } else {
- t = data;
- }
- return t;
- },
+ render: render_time_period,
visible: false
},
{
data: 'volwritetime',
- render: function(data, type, row) {
- var t;
- if (type == 'display') {
- var ret = Units.format_time_period(data);
- t = ret.value + ' ' + ret.format;
- } else {
- t = data;
- }
- return t;
- },
+ render: render_time_period,
visible: false
},
{
},
{
data: 'lastpartbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{
},
{
data: 'whenexpire',
+ render: render_date_ex,
visible: false
},
{
},
{
data: 'jobstatus',
- render: function (data, type, row) {
- var ret;
- if (type == 'display') {
- ret = JobStatus.get_icon(data).outerHTML;
- } else {
- ret = data;
- }
- return ret;
- },
+ render: render_jobstatus,
aresponsivePriority: 6
},
{
data: 'jobbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
responsivePriority: 7
},
{
},
{
data: 'endtime',
+ render: render_date,
responsivePriority: 9
},
{
},
{
data: 'firstwritten',
+ render: render_date,
visible: false
},
- {data: 'lastwritten'},
+ {
+ data: 'lastwritten',
+ render: render_date
+ },
{
data: 'volbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- }
+ render: render_bytes
},
{
data: 'maxvolbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{
},
{
data: 'volcapacitybytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{
data: 'volabytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{
},
{
data: 'volholebytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{
},
{
data: 'labeldate',
+ render: render_date,
visible: false
},
{
},
{
data: 'volretention',
- render: function(data, type, row) {
- var t;
- if (type == 'display') {
- var ret = Units.format_time_period(data);
- t = ret.value + ' ' + ret.format;
- } else {
- t = data;
- }
- return t;
- },
+ render: render_time_period,
visible: false
},
{
data: 'cacheretention',
- render: function(data, type, row) {
- var t;
- if (type == 'display') {
- var ret = Units.format_time_period(data);
- t = ret.value + ' ' + ret.format;
- } else {
- t = data;
- }
- return t;
- },
+ render: render_time_period,
visible: false
},
{
data: 'voluseduration',
- render: function(data, type, row) {
- var t;
- if (type == 'display') {
- var ret = Units.format_time_period(data);
- t = ret.value + ' ' + ret.format;
- } else {
- t = data;
- }
- return t;
- },
+ render: render_time_period,
visible: false
},
{
},
{
data: 'volreadtime',
- render: function(data, type, row) {
- var t;
- if (type == 'display') {
- var ret = Units.format_time_period(data);
- t = ret.value + ' ' + ret.format;
- } else {
- t = data;
- }
- return t;
- },
+ render: render_time_period,
visible: false
},
{
data: 'volwritetime',
- render: function(data, type, row) {
- var t;
- if (type == 'display') {
- var ret = Units.format_time_period(data);
- t = ret.value + ' ' + ret.format;
- } else {
- t = data;
- }
- return t;
- },
+ render: render_time_period,
visible: false
},
{
},
{
data: 'lastpartbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{
},
{
data: 'whenexpire',
+ render: render_date_ex,
visible: false
},
{
</tr>
<tr>
<td><%[ First written ]%></td>
- <td><strong><com:TActiveLabel ID="OFirstWritten" /></strong></td>
+ <td><strong><com:TActiveLabel CssClass="datetime" ID="OFirstWritten" /></strong></td>
</tr>
<tr>
<td><%[ Last written ]%></td>
- <td><strong><com:TActiveLabel ID="OLastWritten" /></strong></td>
+ <td><strong><com:TActiveLabel CssClass="datetime" ID="OLastWritten" /></strong></td>
</tr>
</table>
</div>
</tr>
<tr>
<td><%[ When expire ]%></td>
- <td><strong><com:TActiveLabel ID="OWhenExpire" /></strong></td>
+ <td><strong><com:TActiveLabel CssClass="datetime" ID="OWhenExpire" /></strong></td>
</tr>
</table>
</div>
},
{
data: 'schedtime',
+ render: render_date,
visible: false
},
- {data: 'starttime'},
- {data: 'endtime'},
+ {
+ data: 'starttime',
+ render: render_date
+ },
+ {
+ data: 'endtime',
+ render: render_date
+ },
{
data: 'realendtime',
+ render: render_date,
visible: false
},
{
data: 'jobtdate',
- render: function (data, type, row) {
- var t;
- if (type == 'display') {
- t = Units.format_date(data)
- } else {
- t = data;
- }
- return t;
- },
+ render: render_date_ts,
visible: false
},
{
},
{
data: 'volsessiontime',
- render: function (data, type, row) {
- var t;
- if (type == 'display') {
- t = Units.format_date(data)
- } else {
- t = data;
- }
- return t;
- },
+ render: render_date_ts,
visible: false
},
{
data: 'jobstatus',
- render: function (data, type, row) {
- var ret;
- if (type == 'display') {
- ret = JobStatus.get_icon(data).outerHTML;
- } else {
- ret = data;
- }
- return ret;
- },
+ render: render_jobstatus,
className: 'w3-center'
},
{
data: 'jobbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- }
+ render: render_bytes
},
{
data: 'readbytes',
- render: function (data, type, row) {
- var s;
- if (type == 'display') {
- s = Units.get_formatted_size(data)
- } else {
- s = data;
- }
- return s;
- },
+ render: render_bytes,
visible: false
},
{data: 'jobfiles'},
},
{
className: "dt-center",
- targets: [ 1, 3, 4, 5, 7, 9, 10 ]
+ targets: [ 1, 3, 4, 5, 7, 8, 9, 10 ]
},
{
className: "dt-body-right",
- targets: [ 8 ]
+ targets: [ 15 ]
}],
order: [1, 'desc'],
initComplete: function () {
},
{
data: 'level',
- render: function(data, type, row) {
- var ret;
- if (!data) {
- ret = '-';
- } else {
- ret = JobLevel.get_level(data);
- }
- return ret;
- }
+ render: render_level
},
{
data: 'type',
{data: 'priority'},
{
data: 'schedtime_epoch',
- render: function(data, type, row) {
- return Units.format_date(data);
- }
+ render: render_date_ts
},
<%=empty($this->Job) ? '{data: "name"},' : ''%>
{data: 'client'},