Version Description
/ 20.04.2018 = * Hotfix by compatibility with old pro versions
Download this release
Release Info
Developer | supsystic.com |
Plugin | Data Tables Generator by Supsystic |
Version | 1.8.2 |
Comparing to | |
See all releases |
Code changes from version 1.7.5 to 1.8.2
- app/SupsysticTables.php +2 -1
- app/assets/css/supsystic-ui.css +15 -0
- app/assets/js/supsystic.ui.js +12 -0
- app/langs/{supsystic_tables-es-ES.mo → supsystic_tables-es_ES.mo} +0 -0
- app/langs/{supsystic_tables-es-ES.po → supsystic_tables-es_ES.po} +0 -0
- app/langs/supsystic_tables-lv.mo +0 -0
- app/langs/supsystic_tables-lv.po +2157 -0
- app/templates/404.twig +2 -1
- index.php +1 -1
- readme.txt +70 -2
- src/SupsysticTables/Core/Model/Core.php +12 -8
- src/SupsysticTables/Core/Module.php +85 -88
- src/SupsysticTables/Core/assets/css/images/sort_asc.png +0 -0
- src/SupsysticTables/Core/assets/css/images/sort_asc_disabled.png +0 -0
- src/SupsysticTables/Core/assets/css/images/sort_both.png +0 -0
- src/SupsysticTables/Core/assets/css/images/sort_desc.png +0 -0
- src/SupsysticTables/Core/assets/css/images/sort_desc_disabled.png +0 -0
- src/SupsysticTables/Core/assets/css/lib/fixedColumns.dataTables.min.css +1 -0
- src/SupsysticTables/Core/assets/css/lib/fixedHeader.dataTables.min.css +1 -0
- src/SupsysticTables/Core/assets/css/lib/jquery.dataTables.min.css +1 -0
- src/SupsysticTables/Core/assets/css/lib/responsive.dataTables.min.css +1 -0
- src/SupsysticTables/Core/assets/js/core.js +1063 -1087
- src/SupsysticTables/Core/assets/js/lib/dataTables.customExtensions.js +149 -0
- src/SupsysticTables/Core/assets/js/lib/dataTables.fixedColumns.min.js +35 -0
- src/SupsysticTables/Core/assets/js/lib/dataTables.fixedHeader.min.js +17 -0
- src/SupsysticTables/Core/assets/js/lib/dataTables.responsive.min.js +25 -0
- src/SupsysticTables/Core/assets/js/lib/jquery.dataTables.min.js +166 -0
- src/SupsysticTables/Core/assets/js/lib/natural.js +114 -0
- src/SupsysticTables/Settings/Module.php +3 -2
- src/SupsysticTables/Settings/views/index.twig +4 -4
- src/SupsysticTables/Tables/Controller.php +4 -7
- src/SupsysticTables/Tables/Model/History.php +228 -0
- src/SupsysticTables/Tables/Model/Languages.php +100 -146
- src/SupsysticTables/Tables/Model/Tables.php +69 -139
- src/SupsysticTables/Tables/Module.php +432 -268
- src/SupsysticTables/Tables/assets/css/tables.editor.css +94 -16
- src/SupsysticTables/Tables/assets/css/tables.shortcode.css +1 -4
- src/SupsysticTables/Tables/assets/css/tables.view.css +29 -11
- src/SupsysticTables/Tables/assets/img/conditional_formatting_dialog.png +0 -0
- src/SupsysticTables/Tables/assets/js/editor/tables.editor.formula.js +1 -1
- src/SupsysticTables/Tables/assets/js/editor/tables.editor.js +57 -194
- src/SupsysticTables/Tables/assets/js/editor/tables.editor.toolbar.js +20 -14
- src/SupsysticTables/Tables/assets/js/tables.model.js +525 -114
- src/SupsysticTables/Tables/assets/js/tables.shortcode.js +6 -0
- src/SupsysticTables/Tables/assets/js/tables.view.js +61 -313
- src/SupsysticTables/Tables/assets/languagesData.php +1502 -0
- src/SupsysticTables/Tables/assets/libraries/ruleJS/handsontable.formula.js +276 -100
- src/SupsysticTables/Tables/assets/libraries/ruleJS/ruleJS.js +97 -18
- src/SupsysticTables/Tables/assets/libraries/ruleJS/ruleJS.lib.full.js +145 -27
- src/SupsysticTables/Tables/views/shortcode.twig +219 -197
- src/SupsysticTables/Tables/views/view.twig +192 -155
- vendor/Rsc/Environment.php +7 -7
- vendor/Rsc/Http/Parameters.php +6 -0
- vendor/Rsc/Menu/Page.php +4 -4
- vendor/Rsc/Mvc/Controller.php +4 -0
- vendor/Rsc/Mvc/Module.php +32 -30
- vendor/Twig/Extension/Core.php +7 -1
app/SupsysticTables.php
CHANGED
@@ -17,7 +17,7 @@ class SupsysticTables
|
|
17 |
add_action('init', array($this, 'addShortcodeButton'));
|
18 |
|
19 |
$pluginPath = dirname(dirname(__FILE__));
|
20 |
-
$environment = new Rsc_Environment('st', '1.
|
21 |
|
22 |
/* Configure */
|
23 |
$environment->configure(
|
@@ -47,6 +47,7 @@ class SupsysticTables
|
|
47 |
'shortcode_name' => defined('SUPSYSTIC_TABLES_SHORTCODE_NAME') ? SUPSYSTIC_TABLES_SHORTCODE_NAME : 'supsystic-tables',
|
48 |
'shortcode_value_name' => defined('SUPSYSTIC_TABLES_VALUE_SHORTCODE_NAME') ? SUPSYSTIC_TABLES_VALUE_SHORTCODE_NAME : 'supsystic-tables-cell',
|
49 |
'shortcode_cell_name' => defined('SUPSYSTIC_TABLES_CELL_SHORTCODE_NAME') ? SUPSYSTIC_TABLES_CELL_SHORTCODE_NAME : 'supsystic-tables-cell-full',
|
|
|
50 |
'db_prefix' => 'supsystic_tbl_',
|
51 |
'hooks_prefix' => 'supsystic_tbl_',
|
52 |
'ajax_url' => admin_url('admin-ajax.php'),
|
17 |
add_action('init', array($this, 'addShortcodeButton'));
|
18 |
|
19 |
$pluginPath = dirname(dirname(__FILE__));
|
20 |
+
$environment = new Rsc_Environment('st', '1.8.2', $pluginPath);
|
21 |
|
22 |
/* Configure */
|
23 |
$environment->configure(
|
47 |
'shortcode_name' => defined('SUPSYSTIC_TABLES_SHORTCODE_NAME') ? SUPSYSTIC_TABLES_SHORTCODE_NAME : 'supsystic-tables',
|
48 |
'shortcode_value_name' => defined('SUPSYSTIC_TABLES_VALUE_SHORTCODE_NAME') ? SUPSYSTIC_TABLES_VALUE_SHORTCODE_NAME : 'supsystic-tables-cell',
|
49 |
'shortcode_cell_name' => defined('SUPSYSTIC_TABLES_CELL_SHORTCODE_NAME') ? SUPSYSTIC_TABLES_CELL_SHORTCODE_NAME : 'supsystic-tables-cell-full',
|
50 |
+
'shortcode_part_name' => defined('SUPSYSTIC_TABLES_PART_SHORTCODE_NAME') ? SUPSYSTIC_TABLES_PART_SHORTCODE_NAME : 'supsystic-tables-part',
|
51 |
'db_prefix' => 'supsystic_tbl_',
|
52 |
'hooks_prefix' => 'supsystic_tbl_',
|
53 |
'ajax_url' => admin_url('admin-ajax.php'),
|
app/assets/css/supsystic-ui.css
CHANGED
@@ -557,6 +557,21 @@ h3.nav-tab-wrapper {
|
|
557 |
padding: 0 6px;
|
558 |
}
|
559 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
560 |
|
561 |
/*sticky items*/
|
562 |
|
557 |
padding: 0 6px;
|
558 |
}
|
559 |
|
560 |
+
.supsystic-plugin .fa-stack {
|
561 |
+
width: 20px;
|
562 |
+
height: 20px;
|
563 |
+
line-height: inherit;
|
564 |
+
}
|
565 |
+
|
566 |
+
.supsystic-plugin .fa-stack .fa.fa-stack-1x {
|
567 |
+
font-size: 13px !important;
|
568 |
+
line-height: 20px !important;
|
569 |
+
}
|
570 |
+
|
571 |
+
.supsystic-plugin .fa-stack .fa.fa-stack-2x {
|
572 |
+
font-size: 22px !important;
|
573 |
+
line-height: 20px !important;
|
574 |
+
}
|
575 |
|
576 |
/*sticky items*/
|
577 |
|
app/assets/js/supsystic.ui.js
CHANGED
@@ -7,6 +7,18 @@
|
|
7 |
*/
|
8 |
(function ($, window, vendor, undefined) {
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
$(document).ready(function () {
|
11 |
|
12 |
/* Bootstrap Tooltips */
|
7 |
*/
|
8 |
(function ($, window, vendor, undefined) {
|
9 |
|
10 |
+
jQuery(document).one('click','.supsystic-admin-notice a, .supsystic-admin-notice button',function(event) {
|
11 |
+
var responseCode = jQuery(this).data('response-code') || 'hide';
|
12 |
+
|
13 |
+
jQuery('.supsystic-admin-notice .notice-dismiss').trigger('click');
|
14 |
+
|
15 |
+
window.supsystic.Tables.request({
|
16 |
+
module: 'tables',action: 'reviewNoticeResponse'
|
17 |
+
},{
|
18 |
+
responseCode: responseCode
|
19 |
+
});
|
20 |
+
});
|
21 |
+
|
22 |
$(document).ready(function () {
|
23 |
|
24 |
/* Bootstrap Tooltips */
|
app/langs/{supsystic_tables-es-ES.mo → supsystic_tables-es_ES.mo}
RENAMED
File without changes
|
app/langs/{supsystic_tables-es-ES.po → supsystic_tables-es_ES.po}
RENAMED
File without changes
|
app/langs/supsystic_tables-lv.mo
ADDED
Binary file
|
app/langs/supsystic_tables-lv.po
ADDED
@@ -0,0 +1,2157 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Data Tables Generator by Supsystic\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2018-02-15 14:09+0000\n"
|
6 |
+
"PO-Revision-Date: 2018-02-21 17:28+0200\n"
|
7 |
+
"Last-Translator: Janis <johnny09@inbox.lv>\n"
|
8 |
+
"Language-Team: Latvian\n"
|
9 |
+
"Language: lv\n"
|
10 |
+
"Plural-Forms: nplurals=3; plural=n % 10 == 1 && n % 100 != 11 ? 0 : n != 0 ? "
|
11 |
+
"1 : 2;\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"X-Generator: Poedit 2.0.5\n"
|
16 |
+
|
17 |
+
msgid ""
|
18 |
+
"\n"
|
19 |
+
" You can set the rows and cols from the selected "
|
20 |
+
"range, which is need to be removed from diagram.<br /><br />\n"
|
21 |
+
" For example: 1r,2c<br /><br />\n"
|
22 |
+
" In this case the first row and the second column will "
|
23 |
+
"be removed from diagram.<br /><br />\n"
|
24 |
+
" Leave this field blank to use all selected rows and "
|
25 |
+
"columns."
|
26 |
+
msgstr ""
|
27 |
+
"\n"
|
28 |
+
" Jūs varat iestatīt rindas un kolonnas no izvēlētā "
|
29 |
+
"diapazona, kas ir jānoņemamas no diagrammas. <br /> <br />\n"
|
30 |
+
" Piemēram: 1r, 2c <br /> <br />\n"
|
31 |
+
" Šajā gadījumā pirmā rinda un otrā kolonna tiks "
|
32 |
+
"noņemta no diagrammas. <br /> <br />\n"
|
33 |
+
" Atstājiet šo lauku tukšu, lai izmantotu visas "
|
34 |
+
"atlasītās rindas un kolonnas."
|
35 |
+
|
36 |
+
msgid "(filtered from _MAX_ total entries)"
|
37 |
+
msgstr "(filtered from _MAX_ total entries)"
|
38 |
+
|
39 |
+
msgid "11x17"
|
40 |
+
msgstr "11x17"
|
41 |
+
|
42 |
+
msgid "2A0"
|
43 |
+
msgstr "2A0"
|
44 |
+
|
45 |
+
msgid "3D Diagram"
|
46 |
+
msgstr "3D Diagramma"
|
47 |
+
|
48 |
+
msgid "4A0"
|
49 |
+
msgstr "4A0"
|
50 |
+
|
51 |
+
msgid "8.5x11"
|
52 |
+
msgstr "8.5x11"
|
53 |
+
|
54 |
+
msgid "8.5x14"
|
55 |
+
msgstr "8.5x14"
|
56 |
+
|
57 |
+
msgid ""
|
58 |
+
"<a href=\"//supsystic.com/forum/datatable-plugin/\" target=\"_blank\"> "
|
59 |
+
"Contact us </a> through the Forum on our site - if you have some question, "
|
60 |
+
"offer or wish."
|
61 |
+
msgstr ""
|
62 |
+
"<a href=\"//supsystic.com/forum/datatable-plugin/\" target=\"_blank\"> "
|
63 |
+
"Sazinieties ar mums </a>, izmantojot forumu mūsu mājas lapā - ja jums rodas "
|
64 |
+
"kāds jautājums, droši sazinieties ar mums."
|
65 |
+
|
66 |
+
msgid ""
|
67 |
+
"<b>Upgrading</b> <br>Once you have purchased Premium version of plugin - "
|
68 |
+
"you’ll have to enter license key (you can find it in your personal account "
|
69 |
+
"on our site). Go to the License tab and enter your email and license key. "
|
70 |
+
"Once you have activated your PRO license - you can use all its advanced "
|
71 |
+
"options. <br><br>That’s all. From this moment you can use your Data Table "
|
72 |
+
"without any doubt. But if you still have some question - do not hesitate to "
|
73 |
+
"contact us through our <a href=\"https://supsystic.com/contact-us/"
|
74 |
+
"\">internal support</a> or on our <a href=\"http://supsystic.com/forum/"
|
75 |
+
"datatable-plugin/\">Supsystic Forum.</a> Besides you can always describe "
|
76 |
+
"your questions on <a href=\"https://wordpress.org/support/plugin/data-tables-"
|
77 |
+
"generator-by-supsystic\">WordPress Ultimate Forum.</a> <br><br><b>Enjoy this "
|
78 |
+
"plugin?</b> <br>It will be nice if you`ll help us and boost plugin with <a "
|
79 |
+
"href=\"https://wordpress.org/support/view/plugin-reviews/data-tables-"
|
80 |
+
"generator-by-supsystic?rate=5#postform/\">Five Stars rating on WordPress.org."
|
81 |
+
"</a> <br><br>We hope that you like our Data Table plugin and wish you all "
|
82 |
+
"the best! Good luck!"
|
83 |
+
msgstr ""
|
84 |
+
"<b> Atjaunot </b> <br> Kad esat iegādājies spraudņa Premium versiju, jums "
|
85 |
+
"būs jāievada licences atslēga (to varat atrast savā personīgajā kontā mūsu "
|
86 |
+
"mājas lapā). Atveriet cilni Licence un ievadiet savu e-pastu un licences "
|
87 |
+
"atslēgu. Tiklīdz esat aktivizējis PRO licenci, jūs varat izmantot visas "
|
88 |
+
"papildu iespējas. <br><br> Tas viss. No šī brīža jūs bez šaubām varat "
|
89 |
+
"izmantot Data Table. Bet, ja jums joprojām ir kāds jautājums - "
|
90 |
+
"nevilcinieties sazināties ar mums, izmantojot mūsu <a href=\"https://"
|
91 |
+
"supsystic.com/contact-us/\"> iekšējo atbalstu </a> vai mūsu <a href = "
|
92 |
+
"\"http : //supsystic.com/forum/datatable-plugin/ \"> Supsystic forumu. </a> "
|
93 |
+
"Bez tam jūs vienmēr varat aprakstīt savus jautājumus <a href =\" https://"
|
94 |
+
"wordpress.org/support/plugin/data-tables -generator-by-supsystic \"> "
|
95 |
+
"WordPress Ultimate forumā. </a> <br> <br> <b> Izbaudiet šo spraudni? </ b> "
|
96 |
+
"<br> Tas būs jauki, ja jūs mums palīdzēsiet un papildināt spraudni ar <a "
|
97 |
+
"href=\"https://wordpress.org/support/view/plugin-reviews/data-tables-"
|
98 |
+
"generator-by-supsystic?rate=5#postform/\"> piecu zvaigžņu vērtējums vietnē "
|
99 |
+
"WordPress.org. </ a > <br> <br> Mēs ceram, ka jums patīk mūsu Data Table "
|
100 |
+
"spraudnis un novēlam Jums visu to labāko! Veiksmi!"
|
101 |
+
|
102 |
+
msgid "A small guide for the first-time user"
|
103 |
+
msgstr "Mazs ceļvedis pirmreizējam lietotājam"
|
104 |
+
|
105 |
+
msgid ""
|
106 |
+
"A stacked column chart is a column chart that places related values atop one "
|
107 |
+
"another.<br /><br />\n"
|
108 |
+
" \"Relative Mode\" formats each value as a fraction "
|
109 |
+
"of 1.<br /><br />\n"
|
110 |
+
" \"Percent Mode\" formats each value as a percentage "
|
111 |
+
"of 100%. "
|
112 |
+
msgstr ""
|
113 |
+
"Sakrauta kolonnu diagramma ir kolonnu diagramma, kurā saistītās vērtības "
|
114 |
+
"pievieno viens otram. <br /> <br />\n"
|
115 |
+
" \"Relatīvā režīma\" formāts katrai vērtībai ir kā "
|
116 |
+
"daļa no 1. <br /> <br />\n"
|
117 |
+
" \"Procentu režīms\" katrai vērtībai veido 100% "
|
118 |
+
"procentuālo daļu."
|
119 |
+
|
120 |
+
msgid "A0"
|
121 |
+
msgstr "A0"
|
122 |
+
|
123 |
+
msgid "A1"
|
124 |
+
msgstr "A1"
|
125 |
+
|
126 |
+
msgid "A10"
|
127 |
+
msgstr "A10"
|
128 |
+
|
129 |
+
msgid "A2"
|
130 |
+
msgstr "A2"
|
131 |
+
|
132 |
+
msgid "A3"
|
133 |
+
msgstr "A3"
|
134 |
+
|
135 |
+
msgid "A4"
|
136 |
+
msgstr "A4"
|
137 |
+
|
138 |
+
msgid "A5"
|
139 |
+
msgstr "A5"
|
140 |
+
|
141 |
+
msgid "A6"
|
142 |
+
msgstr "A6"
|
143 |
+
|
144 |
+
msgid "A7"
|
145 |
+
msgstr "A7"
|
146 |
+
|
147 |
+
msgid "A8"
|
148 |
+
msgstr "A8"
|
149 |
+
|
150 |
+
msgid "A9"
|
151 |
+
msgstr "A9"
|
152 |
+
|
153 |
+
msgid "Above table"
|
154 |
+
msgstr "Virs tabulas"
|
155 |
+
|
156 |
+
msgid "Above the chart"
|
157 |
+
msgstr "Virs diagrammas"
|
158 |
+
|
159 |
+
msgid "Actions"
|
160 |
+
msgstr "Darbības"
|
161 |
+
|
162 |
+
msgid "Activate"
|
163 |
+
msgstr "Aktivizēt"
|
164 |
+
|
165 |
+
msgid "Activate License"
|
166 |
+
msgstr "Aktivizēt licenci"
|
167 |
+
|
168 |
+
msgid ""
|
169 |
+
"Actually, Data Table plugin is very simple and has a lot of different "
|
170 |
+
"options at the same time. That’s why when you close this article I will show "
|
171 |
+
"you the main of them, but the very detailed one you can find on our site. I "
|
172 |
+
"hope that you will have no questions after even this small guide. For the "
|
173 |
+
"first time we will help you to install and create your first table, but if "
|
174 |
+
"you need help - contact us through the internal support"
|
175 |
+
msgstr ""
|
176 |
+
"Patiesībā Data Table spraudnis ir ļoti vienkāršs un tajā pašā laikā tam ir "
|
177 |
+
"daudz un dažādu iespēju. Tāpēc, aizverot šo rakstu, es jums parādīšu galveno "
|
178 |
+
"no tiem, bet ļoti detalizēti, kuru varat arī atrast mūsu mājas lapā. Es "
|
179 |
+
"ceru, ka pēc šī mazā ceļveža jums nebūs jautājumu. Pirmo reizi mēs "
|
180 |
+
"palīdzēsim jums instalēt un izveidot savu pirmo tabulu, bet, ja jums "
|
181 |
+
"nepieciešama palīdzība, sazinieties ar mums, izmantojot iekšējo atbalstu"
|
182 |
+
|
183 |
+
msgid ""
|
184 |
+
"Add <a href=\"%s\" target=\"_blank\">editable field</a> for selected cells "
|
185 |
+
"to edit cell value on frontend. Enjoy the <a href=\"%s\" target=\"_blank"
|
186 |
+
"\">practical example</a>."
|
187 |
+
msgstr ""
|
188 |
+
"Pievienot izvēlētajām šūnām <a href=\"%s\" target=\"_blank\"> rediģējamo "
|
189 |
+
"lauku </a>, lai rediģētu šūnas vērtību priekšpusē. Izbaudiet <a href=\"%s\" "
|
190 |
+
"target=\"_blank\"> praktisko piemēru </a>."
|
191 |
+
|
192 |
+
msgid "Add Fixed Column Width"
|
193 |
+
msgstr "Pievienot fiksēto kolonnu platumu"
|
194 |
+
|
195 |
+
msgid "Add Multiple Sorting"
|
196 |
+
msgstr "Pievienot papildus šķirošanu"
|
197 |
+
|
198 |
+
msgid "Add Option"
|
199 |
+
msgstr "Pievienot opciju"
|
200 |
+
|
201 |
+
msgid "Add automatic highlight for table odd rows"
|
202 |
+
msgstr "Pievienojiet automātisko izcelšanu nepāra tabulu rindām"
|
203 |
+
|
204 |
+
msgid "Add column on the left"
|
205 |
+
msgstr "Pievienot kreisajā pusē kolonnu"
|
206 |
+
|
207 |
+
msgid "Add diagram"
|
208 |
+
msgstr "Pievienot diagrammu"
|
209 |
+
|
210 |
+
msgid ""
|
211 |
+
"Add dropdown list for highlighted cell to change cell value on frontend."
|
212 |
+
msgstr ""
|
213 |
+
"Pievienojiet nolaižamo sarakstu izceltajai šūnai, lai mainītu šūnu vērtību "
|
214 |
+
"uz priekšu."
|
215 |
+
|
216 |
+
msgid "Add editable field"
|
217 |
+
msgstr "Pievienot rediģējamu lauku"
|
218 |
+
|
219 |
+
msgid "Add new table"
|
220 |
+
msgstr "Pievienot jaunu tabulu"
|
221 |
+
|
222 |
+
msgid "Add row above"
|
223 |
+
msgstr "Pievienot rindu augšā"
|
224 |
+
|
225 |
+
msgid "Add table"
|
226 |
+
msgstr "Pievienot tabulu"
|
227 |
+
|
228 |
+
msgid "Align by First Table"
|
229 |
+
msgstr "Izlīdzināt ar pirmo tabulu"
|
230 |
+
|
231 |
+
msgid "Alignment"
|
232 |
+
msgstr "Izlīdzinājums"
|
233 |
+
|
234 |
+
msgid "Allow export table to pdf, csv, xls on frontend"
|
235 |
+
msgstr "Atļaut tabulu eksportēšanu pdf, csv, xls uz priekšpusi"
|
236 |
+
|
237 |
+
msgid ""
|
238 |
+
"Allows to <a href=\"%s\" target=\"_blank\">use frontend fields only for "
|
239 |
+
"logged in users</a>. See the next buttons on the editor toolbar:<br />\n"
|
240 |
+
" Add editable field<br />\n"
|
241 |
+
" Add dropdown list"
|
242 |
+
msgstr ""
|
243 |
+
"Atļaut <a href=\"%s\" target=\"_blank\"> izmantot priekšpuses laukus tikai "
|
244 |
+
"reģistrētiem lietotājiem </a>. Skatīties nākamās pogas redaktora rīkjoslā: "
|
245 |
+
"<br />\n"
|
246 |
+
" Pievienot rediģējamu lauku <br /"
|
247 |
+
">\n"
|
248 |
+
" Pievienot nolaižamo sarakstu"
|
249 |
+
|
250 |
+
msgid ""
|
251 |
+
"Allows to <a href=\"%s\" target=\"_blank\">use frontend fields only for "
|
252 |
+
"logged in users</a>. See the next buttons on the editor toolbar:<br />\n"
|
253 |
+
" Add editable field<br />\n"
|
254 |
+
" Add dropdown list"
|
255 |
+
msgstr ""
|
256 |
+
"Atļaut <a href=\"%s\" target=\"_blank\"> izmantot priekšpuses laukus tikai "
|
257 |
+
"reģistrētiem lietotājiem </a>. Skatīties nākamās pogas redaktora rīkjoslā: "
|
258 |
+
"<br />\n"
|
259 |
+
" Pievienot rediģējamu lauku <br />\n"
|
260 |
+
" Pievienot nolaižamo sarakstu"
|
261 |
+
|
262 |
+
msgid ""
|
263 |
+
"Allows to choose language for the table's labels (pagination, search ets.)"
|
264 |
+
msgstr ""
|
265 |
+
"Atļaut izvēlēties tabulas etiķetes valodu (lappuses, meklēšana un citi.)"
|
266 |
+
|
267 |
+
msgid "Allows to execute custom javascript code after table is loaded."
|
268 |
+
msgstr "Atļaut izpildīt pielāgotu javascript kodu pēc tabulu ielādes."
|
269 |
+
|
270 |
+
msgid ""
|
271 |
+
"Allows to export table in pdf, csv, xls formats from the front-end. Choose "
|
272 |
+
"needed formats"
|
273 |
+
msgstr ""
|
274 |
+
"Atļaut eksportēt tabulu pdf, csv, xls formātā no priekšpuses. Izvēlieties "
|
275 |
+
"nepieciešamos formātus"
|
276 |
+
|
277 |
+
msgid ""
|
278 |
+
"Allows to fix columns during table scrolling. Important! The fixing of "
|
279 |
+
"columns suggests that the table will have a horisontal scroll type of "
|
280 |
+
"responsive mode, otherwise you will not see that the fixed columns exist. So "
|
281 |
+
"this feature is a kind of responsive mode on its own and will not work with "
|
282 |
+
"such Responsive Modes as Standard and Automatic columns hiding."
|
283 |
+
msgstr ""
|
284 |
+
"Atļaut iestatīt kolonnas tabulas ritināšanas laikā. Svarīgi! Kolonnu "
|
285 |
+
"fiksēšana liecina, ka tabulā būs horizontālā ritināšanas veids jeb jutīgais "
|
286 |
+
"režīms, pretējā gadījumā jūs neredzēsiet, ka ir izveidotas fiksētās slejas. "
|
287 |
+
"Tātad šī funkcija pati par sevi ir savietojama ar reaģēšanas režīmu un "
|
288 |
+
"nedarbosies ar tādiem reaģējošiem režīmiem kā standarta un automātiskās "
|
289 |
+
"slejas."
|
290 |
+
|
291 |
+
msgid ""
|
292 |
+
"Allows to fix the table's footer during table scrolling. Important! Footer "
|
293 |
+
"option must be enabled for using this feature. Also you need to set Fixed "
|
294 |
+
"Table Height to create a vertical scroll at the table. To see the work of "
|
295 |
+
"this feature you should not use such Responsive Modes as Standard and "
|
296 |
+
"Automatic columns hiding."
|
297 |
+
msgstr ""
|
298 |
+
"Atļaut salabot tabulas kājeni tabulas ritināšanas laikā. Svarīgi! Lai "
|
299 |
+
"izmantotu šo funkciju, ir jābūt aktivizētam kājenes opcijai. Arī jums ir "
|
300 |
+
"jāiestata fiksētais tabulas augstums, lai izveidotu vertikālu ritināšanu "
|
301 |
+
"tabulā. Lai apskatītu šīs funkcijas darbu, jums nevajadzētu izmantot tādus "
|
302 |
+
"atbildīgus režīmus kā slēpšanas standartā un automātiskās slejas."
|
303 |
+
|
304 |
+
msgid ""
|
305 |
+
"Allows to fix the table's header during table scrolling. Important! Header "
|
306 |
+
"option must be enabled for using this feature. Also you need to set Fixed "
|
307 |
+
"Table Height to create a vertical scroll for your table. To see the work of "
|
308 |
+
"this feature you should not use such Responsive Modes such as Standard and "
|
309 |
+
"Automatic columns hiding."
|
310 |
+
msgstr ""
|
311 |
+
"Atļaut salabot tabulas galveni tabulas ritināšanas laikā. Svarīgi! Lai "
|
312 |
+
"izmantotu šo funkciju, ir jābūt iespējotai opcijai Galvene jeb Header. Arī "
|
313 |
+
"jums jāiestata fiksētais galda augstums, lai izveidotu vertikālu ritināšanu "
|
314 |
+
"savai tabulai. Lai redzētu šīs funkcijas darbu, jums nevajadzētu izmantot "
|
315 |
+
"tādus reaģējošos režīmus kā standarta un automātiskās slejas."
|
316 |
+
|
317 |
+
msgid ""
|
318 |
+
"Allows to save data to the table through the frontend fields. See the next "
|
319 |
+
"buttons on the editor toolbar:<br />\n"
|
320 |
+
" Add editable field<br />\n"
|
321 |
+
" Add dropdown list"
|
322 |
+
msgstr ""
|
323 |
+
"Atļaut saglabāt datus pie tabulas, izmantojot priekšpuses laukus. Skatīties "
|
324 |
+
"nākamās pogas redaktora rīkjoslā: <br />\n"
|
325 |
+
" Pievienot rediģējamu lauku <br /"
|
326 |
+
">\n"
|
327 |
+
" Pievienot nolaižamo sarakstu"
|
328 |
+
|
329 |
+
msgid ""
|
330 |
+
"Allows to save data to the table through the frontend fields. See the next "
|
331 |
+
"buttons on the editor toolbar:<br />\n"
|
332 |
+
" Add editable field<br />\n"
|
333 |
+
" Add dropdown list"
|
334 |
+
msgstr ""
|
335 |
+
"Atļaut saglabāt datus tabulā, izmantojot priekšpuses laukus. Skatīties "
|
336 |
+
"nākamās pogas redaktora rīkjoslā: <br />\n"
|
337 |
+
" Pievienot rediģējamu lauku <br />\n"
|
338 |
+
" Pievienot nolaižamo sarakstu"
|
339 |
+
|
340 |
+
msgid ""
|
341 |
+
"Allows to use editable fields only for users with selected roles. If there "
|
342 |
+
"are no chosen roles - all logged in users will have ability to use the "
|
343 |
+
"editable fields."
|
344 |
+
msgstr ""
|
345 |
+
"Atļaut rediģējamos laukus izmantot tikai lietotājiem ar atlasītām lomām. Ja "
|
346 |
+
"izvēlētajām lomām nav, visi lietotāji, kuri piesasitīti varēs izmantot "
|
347 |
+
"rediģējamos laukus."
|
348 |
+
|
349 |
+
msgid "An error has occurred"
|
350 |
+
msgstr "Ir radusies kļūda"
|
351 |
+
|
352 |
+
msgid "Append to existing table data"
|
353 |
+
msgstr "Pievienot esošajiem tabulas datiem"
|
354 |
+
|
355 |
+
msgid "Area Chart"
|
356 |
+
msgstr "Apgabala diagramma"
|
357 |
+
|
358 |
+
msgid "Ascending"
|
359 |
+
msgstr "Augošā secībā"
|
360 |
+
|
361 |
+
msgid "Auto Index"
|
362 |
+
msgstr "Auto indekss"
|
363 |
+
|
364 |
+
msgid "Auto Table Width"
|
365 |
+
msgstr "Auto tabulas platums"
|
366 |
+
|
367 |
+
msgid "Autoimport from Google Sheet"
|
368 |
+
msgstr "Importēt no Google Sheet"
|
369 |
+
|
370 |
+
msgid "Automatic"
|
371 |
+
msgstr "Automātiska"
|
372 |
+
|
373 |
+
msgid "Automatic column hiding"
|
374 |
+
msgstr "Automātiskās sleja slēpšana"
|
375 |
+
|
376 |
+
msgid ""
|
377 |
+
"Automatic column hiding - in this mode table columns will collapse from "
|
378 |
+
"right to left if content does not fit to parent container width"
|
379 |
+
msgstr ""
|
380 |
+
"Automātiskā slejas slēpšana - šajā režīmā tabulas kolonnas tiks paslēptas no "
|
381 |
+
"labās uz kreiso pusi, ja saturs neatbilst noklusējuma konteinera platumam"
|
382 |
+
|
383 |
+
msgid "Automticaly appends selected logo for output pdf or printing"
|
384 |
+
msgstr ""
|
385 |
+
"Automātiski pievienot izvēlēto logotipu printējot pdf vai drukājot ko citu"
|
386 |
+
|
387 |
+
msgid "Axis X Format"
|
388 |
+
msgstr "Ass X formāts"
|
389 |
+
|
390 |
+
msgid "Axis X Title"
|
391 |
+
msgstr "Ass X nosaukums"
|
392 |
+
|
393 |
+
msgid "Axis Y Format"
|
394 |
+
msgstr "Ass Y formāts"
|
395 |
+
|
396 |
+
msgid "Axis Y Title"
|
397 |
+
msgstr "Ass Y nosaukums"
|
398 |
+
|
399 |
+
msgid "B0"
|
400 |
+
msgstr "B0"
|
401 |
+
|
402 |
+
msgid "B1"
|
403 |
+
msgstr "B1"
|
404 |
+
|
405 |
+
msgid "B10"
|
406 |
+
msgstr "B10"
|
407 |
+
|
408 |
+
msgid "B2"
|
409 |
+
msgstr "B2"
|
410 |
+
|
411 |
+
msgid "B3"
|
412 |
+
msgstr "B3"
|
413 |
+
|
414 |
+
msgid "B4"
|
415 |
+
msgstr "B4"
|
416 |
+
|
417 |
+
msgid "B5"
|
418 |
+
msgstr "B5"
|
419 |
+
|
420 |
+
msgid "B6"
|
421 |
+
msgstr "B6"
|
422 |
+
|
423 |
+
msgid "B7"
|
424 |
+
msgstr "B7"
|
425 |
+
|
426 |
+
msgid "B8"
|
427 |
+
msgstr "B8"
|
428 |
+
|
429 |
+
msgid "B9"
|
430 |
+
msgstr "B9"
|
431 |
+
|
432 |
+
msgid "Background color"
|
433 |
+
msgstr "Fona krāsa"
|
434 |
+
|
435 |
+
msgid "Backup Plugin"
|
436 |
+
msgstr "Backup Plugin"
|
437 |
+
|
438 |
+
msgid ""
|
439 |
+
"Backup and Restore WordPress Plugin by Supsystic provides quick and "
|
440 |
+
"unhitched DropBox, FTP, Amazon S3, Google Drive backup for your WordPress "
|
441 |
+
"website."
|
442 |
+
msgstr ""
|
443 |
+
"Backup and Restore WordPress spraudnis izmantojot Supsystic, nodrošina ātru "
|
444 |
+
"DropBox, FTP, Amazon S3, Google diska rezerves kopijas izveidošanu no jūsu "
|
445 |
+
"WordPress mājas lapas."
|
446 |
+
|
447 |
+
msgid "Bar Chart"
|
448 |
+
msgstr "Joslu diagramma"
|
449 |
+
|
450 |
+
msgid ""
|
451 |
+
"Be closer to your visitors and customers with Live Chat Support by "
|
452 |
+
"Supsystic. Help you visitors, support them in real-time with exceptional "
|
453 |
+
"Live Chat WordPress plugin by Supsystic."
|
454 |
+
msgstr ""
|
455 |
+
"Pārvaldiet savus apmeklētājus un klientus, izmantojot Live Chat Support no "
|
456 |
+
"Supsystic. Palīdziet saviem apmeklētājiem reālā laikā palīdzēt izmantojot "
|
457 |
+
"Supsystic Live Chat WordPress spraudni."
|
458 |
+
|
459 |
+
msgid "Begin Step-by-step Tutorial"
|
460 |
+
msgstr "Soli pa solim"
|
461 |
+
|
462 |
+
msgid "Below table"
|
463 |
+
msgstr "Zem tabulas"
|
464 |
+
|
465 |
+
msgid "Below the chart"
|
466 |
+
msgstr "Zem diagrammas"
|
467 |
+
|
468 |
+
msgid "Bold"
|
469 |
+
msgstr "Bold"
|
470 |
+
|
471 |
+
msgid "Borders"
|
472 |
+
msgstr "Robežas"
|
473 |
+
|
474 |
+
msgid "Bubble Chart"
|
475 |
+
msgstr "Burbuļu diagramma"
|
476 |
+
|
477 |
+
msgid "C0"
|
478 |
+
msgstr "C0"
|
479 |
+
|
480 |
+
msgid "C1"
|
481 |
+
msgstr "C1"
|
482 |
+
|
483 |
+
msgid "C10"
|
484 |
+
msgstr "C10"
|
485 |
+
|
486 |
+
msgid "C2"
|
487 |
+
msgstr "C2"
|
488 |
+
|
489 |
+
msgid "C3"
|
490 |
+
msgstr "C3"
|
491 |
+
|
492 |
+
msgid "C4"
|
493 |
+
msgstr "C4"
|
494 |
+
|
495 |
+
msgid "C5"
|
496 |
+
msgstr "C5"
|
497 |
+
|
498 |
+
msgid "C6"
|
499 |
+
msgstr "C6"
|
500 |
+
|
501 |
+
msgid "C7"
|
502 |
+
msgstr "C7"
|
503 |
+
|
504 |
+
msgid "C8"
|
505 |
+
msgstr "C8"
|
506 |
+
|
507 |
+
msgid "C9"
|
508 |
+
msgstr "C9"
|
509 |
+
|
510 |
+
msgid "CSS"
|
511 |
+
msgstr "CSS"
|
512 |
+
|
513 |
+
msgid "CSS Editor"
|
514 |
+
msgstr "CSS redaktors"
|
515 |
+
|
516 |
+
msgid "Can't decode table meta from JSON."
|
517 |
+
msgstr "Nevar atšifrēt table meta no JSON."
|
518 |
+
|
519 |
+
msgid "Can't decode table rows from JSON."
|
520 |
+
msgstr "Nevar atšifrēt table rows no JSON."
|
521 |
+
|
522 |
+
msgid "Caption"
|
523 |
+
msgstr "Paraksts"
|
524 |
+
|
525 |
+
msgid "Catalog #10 1/2 Envelope"
|
526 |
+
msgstr "Catalog #10 1/2 Envelope"
|
527 |
+
|
528 |
+
msgid "Cell"
|
529 |
+
msgstr "Šūna"
|
530 |
+
|
531 |
+
msgid ""
|
532 |
+
"Cell - adds border around all four sides of each cell, Row - adds border "
|
533 |
+
"only over and under each row. (i.e. only for the rows)."
|
534 |
+
msgstr ""
|
535 |
+
"Šūna - pievieno robežu ap visām četrām šūnas malām, Rinda - rinda tiek "
|
536 |
+
"pievienota tikai un pēc katras rindas. (t.i., tikai rindām)."
|
537 |
+
|
538 |
+
msgid "Center"
|
539 |
+
msgstr "Centrēt"
|
540 |
+
|
541 |
+
msgid "Check all other FAQs"
|
542 |
+
msgstr "Pārbaudiet visus citus bieži uzdotos jautājumus"
|
543 |
+
|
544 |
+
msgid "Check the result of formula in the table on your site."
|
545 |
+
msgstr "Pārbaudiet formulas rezultātu savas vietnes tabulā."
|
546 |
+
|
547 |
+
msgid "Choose Icon"
|
548 |
+
msgstr "Izvēlieties ikonu"
|
549 |
+
|
550 |
+
msgid "Choose color for loader"
|
551 |
+
msgstr "Izvēlieties krāsu iekrāvējam"
|
552 |
+
|
553 |
+
msgid "Choose icon"
|
554 |
+
msgstr "Izvēlieties ikonu"
|
555 |
+
|
556 |
+
msgid "Choose icon for loader"
|
557 |
+
msgstr "Izvēlieties krāsu iekrāvējam"
|
558 |
+
|
559 |
+
msgid "Choose the orientation for PDF pages"
|
560 |
+
msgstr "Izvēlieties PDF lapu orientāciju"
|
561 |
+
|
562 |
+
msgid "Choose the paper size for PDF pages"
|
563 |
+
msgstr "Izvēlieties papīra izmēru PDF lapām"
|
564 |
+
|
565 |
+
msgid "Clear"
|
566 |
+
msgstr "Notīrīt"
|
567 |
+
|
568 |
+
msgid ""
|
569 |
+
"Click on the button “Add new table” and see the first form, which you need "
|
570 |
+
"to fill in. A very simple step!"
|
571 |
+
msgstr ""
|
572 |
+
"Noklikšķiniet uz pogas \"Pievienot jaunu tabulu\" un apskataties pirmo "
|
573 |
+
"veidlapu, kas jums jāaizpilda. Ļoti vienkāršs solis!"
|
574 |
+
|
575 |
+
msgid "Clone"
|
576 |
+
msgstr "Duplicēt"
|
577 |
+
|
578 |
+
msgid "Close Tutorial"
|
579 |
+
msgstr "Aizvērt pamācību"
|
580 |
+
|
581 |
+
msgid "Column Chart"
|
582 |
+
msgstr "Kolonna"
|
583 |
+
|
584 |
+
msgid "Columns"
|
585 |
+
msgstr "Kolonnas"
|
586 |
+
|
587 |
+
msgid "Coming Soon Plugin"
|
588 |
+
msgstr "Drīzuma spraudnis"
|
589 |
+
|
590 |
+
msgid ""
|
591 |
+
"Coming soon page with drag-and-drop builder or under construction | "
|
592 |
+
"maintenance mode to notify visitors and collects emails."
|
593 |
+
msgstr ""
|
594 |
+
"Drīzuma mājas lapa ar drag-and-drop builder vai under construction | "
|
595 |
+
"maintenance mode, lai informētu apmeklētājus un apkopotu e-pastus."
|
596 |
+
|
597 |
+
msgid "Comment"
|
598 |
+
msgstr "Komentēt"
|
599 |
+
|
600 |
+
msgid "Commerical #10 Envelope"
|
601 |
+
msgstr "Commerical #10 aploksne"
|
602 |
+
|
603 |
+
msgid "Compact Table"
|
604 |
+
msgstr "Kompakta tabula"
|
605 |
+
|
606 |
+
msgid ""
|
607 |
+
"Congratulations! You have successfully installed and activated PRO version "
|
608 |
+
"of %s plugin."
|
609 |
+
msgstr ""
|
610 |
+
"Apsveicam! Jūs esat veiksmīgi instalējis un PRO versija ir aktivizēta %s"
|
611 |
+
|
612 |
+
msgid ""
|
613 |
+
"Congratulations! You have successfully installed and activated PRO version "
|
614 |
+
"of ' ~ environment.getMenu().getMenuTitle() ~ ' plugin."
|
615 |
+
msgstr ""
|
616 |
+
"Apsveicam! Jūs esat veiksmīgi instalējis un PRO versija ir aktivizēta ' ~ "
|
617 |
+
"environment.getMenu().getMenuTitle() ~ ' spraudnis."
|
618 |
+
|
619 |
+
msgid "Contact Form Plugin"
|
620 |
+
msgstr "Kontaktformas spraudnis"
|
621 |
+
|
622 |
+
msgid "Count of Footer Rows"
|
623 |
+
msgstr "Kājenes rindu skaits"
|
624 |
+
|
625 |
+
msgid "Count of Header Rows"
|
626 |
+
msgstr "Virsrakstu rindu skaits"
|
627 |
+
|
628 |
+
msgid "Count of table rows, which will be moved to footer."
|
629 |
+
msgstr "Tabulu rindu skaits, kas tiks pārvietots uz kājeni."
|
630 |
+
|
631 |
+
msgid "Count of table rows, which will be moved to header."
|
632 |
+
msgstr "Tabulu rindu skaits, kas tiks pārvietots uz galveni."
|
633 |
+
|
634 |
+
msgid ""
|
635 |
+
"Create and manage beautiful data tables with custom design. No HTML "
|
636 |
+
"knowledge is required."
|
637 |
+
msgstr ""
|
638 |
+
"Izveidojiet un pārvaldiet skaistas datu tabulas ar pielāgotu dizainu. HTML "
|
639 |
+
"zināšanas nav nepieciešamas."
|
640 |
+
|
641 |
+
msgid ""
|
642 |
+
"Create online membership community with custom user profiles, roles, "
|
643 |
+
"FrontEnd registration and login. Members Directory, activity, groups, "
|
644 |
+
"messages."
|
645 |
+
msgstr ""
|
646 |
+
"Izveidojiet tiešsaistes dalības kopienu ar lietotāja profiliem, lomām, "
|
647 |
+
"FrontEnd reģistrāciju un pieteikšanos. Lietotāju katalogs, aktivitāte, "
|
648 |
+
"grupas, ziņojumi."
|
649 |
+
|
650 |
+
msgid "Create your first table"
|
651 |
+
msgstr "Izveidojiet savu pirmo tabulu"
|
652 |
+
|
653 |
+
msgid "Created"
|
654 |
+
msgstr "Izveidots"
|
655 |
+
|
656 |
+
msgid ""
|
657 |
+
"Creating slideshows with Slider plugin is fast and easy. Simply select "
|
658 |
+
"images from your WordPress Media Library, Flickr, Instagram or Facebook, set "
|
659 |
+
"slide captions, links and SEO fields all from one page."
|
660 |
+
msgstr ""
|
661 |
+
"Slīdrādes izveide ar Slider spraudni ir ātra un vienkārša. Vienkārši "
|
662 |
+
"atlasiet attēlus no savas WordPress Media Library, Flickr, Instagram vai "
|
663 |
+
"Facebook, no vienas lapas iestatiet slaidu virsrakstus, saites un SEO laukus."
|
664 |
+
|
665 |
+
msgid "Currency"
|
666 |
+
msgstr "Valūta"
|
667 |
+
|
668 |
+
msgid "Custom Footer"
|
669 |
+
msgstr "Pielāgota kājene"
|
670 |
+
|
671 |
+
msgid "Data Formats"
|
672 |
+
msgstr "Datu formāti"
|
673 |
+
|
674 |
+
msgid "Data Tables Generator"
|
675 |
+
msgstr "Datu tabulu ģenerators"
|
676 |
+
|
677 |
+
msgid "Date"
|
678 |
+
msgstr "Datums"
|
679 |
+
|
680 |
+
msgid "Decrease the amount of whitespace in the table."
|
681 |
+
msgstr "Samazināt atstarpes apjomu tabulā."
|
682 |
+
|
683 |
+
msgid "Default"
|
684 |
+
msgstr "Noklusējums"
|
685 |
+
|
686 |
+
msgid "Delete"
|
687 |
+
msgstr "Izdzēst"
|
688 |
+
|
689 |
+
msgid "Delimiter"
|
690 |
+
msgstr "Atdalītājs"
|
691 |
+
|
692 |
+
msgid "Descending"
|
693 |
+
msgstr "Dilstošā secībā"
|
694 |
+
|
695 |
+
msgid "Description"
|
696 |
+
msgstr "Apraksts"
|
697 |
+
|
698 |
+
msgid "Description Text"
|
699 |
+
msgstr "Apraksta teksts"
|
700 |
+
|
701 |
+
msgid "Design"
|
702 |
+
msgstr "Dizains"
|
703 |
+
|
704 |
+
msgid "Diagram"
|
705 |
+
msgstr "Diagramma"
|
706 |
+
|
707 |
+
msgid "Diagram Title"
|
708 |
+
msgstr "Diagrammas virsraksts"
|
709 |
+
|
710 |
+
msgid "Diagrams"
|
711 |
+
msgstr "Diagrammas"
|
712 |
+
|
713 |
+
msgid ""
|
714 |
+
"Diagrams - this is a Pro feature of our plugin, which can help you to follow "
|
715 |
+
"the statistics of your table. Several types for every taste and any wishes."
|
716 |
+
msgstr ""
|
717 |
+
"Diagrammas - šī ir mūsu spraudņa Pro funkcija, kas var palīdzēt jums sekot "
|
718 |
+
"jūsu tabulas statistikai. Vairāki veidi katrai gaumei un vēlmēm."
|
719 |
+
|
720 |
+
msgid "Digital Publication Plugin"
|
721 |
+
msgstr "Digitālā publikācijas spraudnis"
|
722 |
+
|
723 |
+
msgid ""
|
724 |
+
"Digital Publication WordPress Plugin by Supsystic for Magazines, Catalogs, "
|
725 |
+
"Portfolios. Convert images, posts, PDF to the page flip book."
|
726 |
+
msgstr ""
|
727 |
+
"Digital Publication WordPress spraudnis ar Supsystic priekšs žurnāliem, "
|
728 |
+
"katalogiem, portfolio. Konvertējiet attēlus, ziņas, PDF lapas lappuses "
|
729 |
+
"grāmatā."
|
730 |
+
|
731 |
+
msgid "Disable"
|
732 |
+
msgstr "Atspējot"
|
733 |
+
|
734 |
+
msgid "Disable Responsivity"
|
735 |
+
msgstr "Atspējot Responsivity"
|
736 |
+
|
737 |
+
msgid "Disable Responsivity - default table fluid layout"
|
738 |
+
msgstr "Atspējot Responsivity - noklusējuma tabulas sķidrais izkārtojums"
|
739 |
+
|
740 |
+
msgid "Disable Sorting"
|
741 |
+
msgstr "Atspējot šķirošanu"
|
742 |
+
|
743 |
+
msgid "Disable Wrapping"
|
744 |
+
msgstr "Atspējot iesaiņošanu"
|
745 |
+
|
746 |
+
msgid "Disable indexing table for search bots"
|
747 |
+
msgstr "Atspējot meklēšanas robotu indeksēšanas tabulu"
|
748 |
+
|
749 |
+
msgid ""
|
750 |
+
"Disable wrapping of content in the table, so every word in the cells will be "
|
751 |
+
"in one single line."
|
752 |
+
msgstr ""
|
753 |
+
"Atspējot satura ietīšanu tabulā, tāpēc katrs vārds šūnās būt vienā rindā."
|
754 |
+
|
755 |
+
msgid "Disallow Indexing"
|
756 |
+
msgstr "Neatļaut indeksēšanu"
|
757 |
+
|
758 |
+
msgid ""
|
759 |
+
"Display custom Google Maps. Set markers and locations with text, images, "
|
760 |
+
"categories and links. Customize google map in a simple and intuitive way."
|
761 |
+
msgstr ""
|
762 |
+
"Parādīt pielāgotu Google Maps. Iestatīt marķierus un atrašanās vietas ar "
|
763 |
+
"tekstu, attēliem, kategorijām un saitēm. Pielāgojiet Google karti vienkāršā "
|
764 |
+
"un intuitīvā veidā."
|
765 |
+
|
766 |
+
msgid "Display only entries with matching characters in the beginning of words"
|
767 |
+
msgstr "Parādiet tikai ierakstus ar atbilstošām rakstzīmēm vārdu sākumā"
|
768 |
+
|
769 |
+
msgid "Edit table \"%s\""
|
770 |
+
msgstr "Rediģēt tabulu \"% s\""
|
771 |
+
|
772 |
+
msgid "Editable fields"
|
773 |
+
msgstr "Rediģējamie lauki"
|
774 |
+
|
775 |
+
msgid "Editor"
|
776 |
+
msgstr "Redaktors"
|
777 |
+
|
778 |
+
msgid "Editor tab"
|
779 |
+
msgstr "Cilnes redaktors"
|
780 |
+
|
781 |
+
msgid "Email"
|
782 |
+
msgstr "Epasts"
|
783 |
+
|
784 |
+
msgid "Empty info text"
|
785 |
+
msgstr "Tukšs informācijas teksts"
|
786 |
+
|
787 |
+
msgid "Empty table"
|
788 |
+
msgstr "Tukša tabula"
|
789 |
+
|
790 |
+
msgid "Enable"
|
791 |
+
msgstr "Iespējot"
|
792 |
+
|
793 |
+
msgid ""
|
794 |
+
"Enable / disable table loader icon before table will be completely loaded."
|
795 |
+
msgstr ""
|
796 |
+
"Iespējot / atspējot tabula ielādes ikonu, pirms tabula tiek pilnībā ielādēta."
|
797 |
+
|
798 |
+
msgid "Enable Table History"
|
799 |
+
msgstr "Iespējot tabulas vēsturi"
|
800 |
+
|
801 |
+
msgid "Enter the name and create Data Table"
|
802 |
+
msgstr "Ievadiet nosaukumu un izveidojiet datu tabulu"
|
803 |
+
|
804 |
+
msgid "Execute JS Script After Table Is Loaded"
|
805 |
+
msgstr "Izpildīt JS skriptu pēc tam, kad tabula ir ielādēta"
|
806 |
+
|
807 |
+
msgid "Executive"
|
808 |
+
msgstr "Izpilddirektors"
|
809 |
+
|
810 |
+
msgid "Export"
|
811 |
+
msgstr "Eksportēt"
|
812 |
+
|
813 |
+
msgid "Export Data to the File"
|
814 |
+
msgstr "Eksportēt datus uz failu"
|
815 |
+
|
816 |
+
msgid "Export Logo"
|
817 |
+
msgstr "Eksporta logotips"
|
818 |
+
|
819 |
+
msgid "Export Page Orientation"
|
820 |
+
msgstr "Eksporta lapas orientācija"
|
821 |
+
|
822 |
+
msgid "Export Paper Size"
|
823 |
+
msgstr "Eksportēt papīra izmēru"
|
824 |
+
|
825 |
+
msgid "Export available only in PRO version."
|
826 |
+
msgstr "Eksports pieejams tikai PRO versijā."
|
827 |
+
|
828 |
+
msgid "Export label"
|
829 |
+
msgstr "Eksportēt etiķeti"
|
830 |
+
|
831 |
+
msgid "Export table"
|
832 |
+
msgstr "Eksportēt tabulu"
|
833 |
+
|
834 |
+
msgid "Failed to find diagram %s."
|
835 |
+
msgstr "Neizdevās atrast diagrammu% s."
|
836 |
+
|
837 |
+
msgid "Failed to find table %s."
|
838 |
+
msgstr "Neizdevās atrast tabulu% s."
|
839 |
+
|
840 |
+
msgid "Failed to get table rows: %s"
|
841 |
+
msgstr "Neizdevās iegūt tabulu rindas:% s"
|
842 |
+
|
843 |
+
msgid "Failed to import data from the uploaded file"
|
844 |
+
msgstr "Neizdevās importēt datus no augšupielādētā faila"
|
845 |
+
|
846 |
+
msgid "Failed to import selected file"
|
847 |
+
msgstr "Neizdevās importēt izvēlēto failu"
|
848 |
+
|
849 |
+
msgid "Failed to import selected file: Wrong spreadsheet id or url"
|
850 |
+
msgstr "Neizdevās importēt atlasīto failu: Nepareizs izklājlapas ID vai URL"
|
851 |
+
|
852 |
+
msgid "Failed to save table meta data: %s"
|
853 |
+
msgstr "Neizdevās saglabāt tabulas metadatus:% s"
|
854 |
+
|
855 |
+
msgid "Failed to save table rows: %s"
|
856 |
+
msgstr "Neizdevās saglabāt tabulas rindas:% s"
|
857 |
+
|
858 |
+
msgid "Failed to upload selected file"
|
859 |
+
msgstr "Neizdevās augšupielādēt izvēlēto failu"
|
860 |
+
|
861 |
+
msgid "Featured Plugins"
|
862 |
+
msgstr "Piedāvātie spraudņi"
|
863 |
+
|
864 |
+
msgid "Features"
|
865 |
+
msgstr "Iespējas"
|
866 |
+
|
867 |
+
msgid "Feel free to contact us and don’t worry, everything gonna be ok!"
|
868 |
+
msgstr "Aicinam sazināties ar mums un neuztraucieties, viss būs kārtībā!"
|
869 |
+
|
870 |
+
msgid "File Type"
|
871 |
+
msgstr "Faila tips"
|
872 |
+
|
873 |
+
msgid "File extension type"
|
874 |
+
msgstr "Faila paplašinājuma tips"
|
875 |
+
|
876 |
+
msgid "Fill in the rest of the formula."
|
877 |
+
msgstr "Aizpildiet pārējo formulu."
|
878 |
+
|
879 |
+
msgid ""
|
880 |
+
"Fill the table title and choose the number of columns and rows. Don’t worry, "
|
881 |
+
"you will be able to change it (add or delete some) later!"
|
882 |
+
msgstr ""
|
883 |
+
"Aizpildiet tabulas nosaukumu un izvēlieties kolonnu un rindu skaitu. "
|
884 |
+
"Neuztraucieties, to varēsiet mainīt (pievienot vai dzēst) vēlāk!"
|
885 |
+
|
886 |
+
msgid "Filtered info text"
|
887 |
+
msgstr "Filtrēts informācijas teksts"
|
888 |
+
|
889 |
+
msgid "Fixed Columns"
|
890 |
+
msgstr "Fiksētās slejas"
|
891 |
+
|
892 |
+
msgid "Fixed Footer"
|
893 |
+
msgstr "Fiksēta kājene"
|
894 |
+
|
895 |
+
msgid "Fixed Header"
|
896 |
+
msgstr "Fiksēta galvene"
|
897 |
+
|
898 |
+
msgid "Fixed Table Height"
|
899 |
+
msgstr "Fiksēts tabulas augstums"
|
900 |
+
|
901 |
+
msgid "Fixed Table Width"
|
902 |
+
msgstr "Fiksēts tabulas platums"
|
903 |
+
|
904 |
+
msgid ""
|
905 |
+
"Fixed table height in px. This value must be less than the original table "
|
906 |
+
"height to create a vertical scroll, otherwise you will not see that the "
|
907 |
+
"fixed header / footer exists."
|
908 |
+
msgstr ""
|
909 |
+
"Fiksēts tabulas augstums px. Lai izveidotu vertikālu ritināšanu, šai "
|
910 |
+
"vērtībai jābūt mazākai par sākotnējo tabulas augstumu, pretējā gadījumā jūs "
|
911 |
+
"neredzēsiet, ka pastāv fiksēta galvene / kājene."
|
912 |
+
|
913 |
+
msgid "Folio"
|
914 |
+
msgstr "Folio"
|
915 |
+
|
916 |
+
msgid "Font Family"
|
917 |
+
msgstr "Fontu ģimene"
|
918 |
+
|
919 |
+
msgid "Font Size"
|
920 |
+
msgstr "Fonta izmērs"
|
921 |
+
|
922 |
+
msgid "Font family changing available only in PRO version."
|
923 |
+
msgstr "Fontu nomainīt var tikai PRO versijā."
|
924 |
+
|
925 |
+
msgid "Footer"
|
926 |
+
msgstr "Kājene"
|
927 |
+
|
928 |
+
msgid ""
|
929 |
+
"Formats for cells value. All formats convert cell values to appropriate "
|
930 |
+
"format types.\n"
|
931 |
+
" <b>Percent with Convert</b> format sets percent "
|
932 |
+
"format and convert cells value to percentage by division by 100.\n"
|
933 |
+
" "
|
934 |
+
msgstr ""
|
935 |
+
"Šūnu vērtības formāti. Visi formāti pārveido šūnu vērtības atbilstošiem "
|
936 |
+
"formāta veidiem.\n"
|
937 |
+
" <b> Procenti ar konvertēšanu </ b> formāts "
|
938 |
+
"nosaka procentu formātu un pārveido šūnas vērtību procentos sadalījumā pa "
|
939 |
+
"100."
|
940 |
+
|
941 |
+
msgid "Frequently Asked Questions"
|
942 |
+
msgstr "Bieži uzdotie jautājumi"
|
943 |
+
|
944 |
+
msgid "Frontend Export"
|
945 |
+
msgstr "Priekšpuses eksports (Frontend Export)"
|
946 |
+
|
947 |
+
msgid "Get Browser Language"
|
948 |
+
msgstr "Iegūstiet pārlūkprogrammas valodu"
|
949 |
+
|
950 |
+
msgid "Get PRO"
|
951 |
+
msgstr "Iegūt PRO"
|
952 |
+
|
953 |
+
msgid "Get PRO version"
|
954 |
+
msgstr "Iegūt PRO versiju"
|
955 |
+
|
956 |
+
msgid "Global Table Data Search"
|
957 |
+
msgstr "Globālo tabulu datu meklēšana"
|
958 |
+
|
959 |
+
msgid "Go to Editor of Data Table."
|
960 |
+
msgstr "Doties uz datu tabulas redaktoru."
|
961 |
+
|
962 |
+
msgid "Google Maps Easy"
|
963 |
+
msgstr "Google Maps viegli"
|
964 |
+
|
965 |
+
msgid "Google Spreadsheet Url"
|
966 |
+
msgstr "Google Spreadsheet Url"
|
967 |
+
|
968 |
+
msgid "Header"
|
969 |
+
msgstr "Galvene"
|
970 |
+
|
971 |
+
msgid "Height"
|
972 |
+
msgstr "Augstums"
|
973 |
+
|
974 |
+
msgid "Hello Supsystic Team!"
|
975 |
+
msgstr "Sveika Supsystic komanda!"
|
976 |
+
|
977 |
+
msgid "Hello! This is the Data Tables by Supsystic"
|
978 |
+
msgstr "Sveiki! Šis ir Supsystic datu tabulas"
|
979 |
+
|
980 |
+
msgid "Hide Table Loader"
|
981 |
+
msgstr "Slēpt tabulu ielādi"
|
982 |
+
|
983 |
+
msgid "Hide table by default and show only if search has a result."
|
984 |
+
msgstr ""
|
985 |
+
"Nerādīt tabulu pēc noklusējuma un rādīt tikai tad, ja meklēšanas rezultāts "
|
986 |
+
"ir atrodams."
|
987 |
+
|
988 |
+
msgid "Highlight the Order Column"
|
989 |
+
msgstr "Izcelt pasūtījuma kolonnu"
|
990 |
+
|
991 |
+
msgid "Highlighting by Mousehover"
|
992 |
+
msgstr "Izcelt ar Mousehover"
|
993 |
+
|
994 |
+
msgid "Horizontal scroll"
|
995 |
+
msgstr "Horizontālā ritināšana"
|
996 |
+
|
997 |
+
msgid ""
|
998 |
+
"Horizontal scroll - in this mode scroll bar will be added if table overflows "
|
999 |
+
"parent container width"
|
1000 |
+
msgstr ""
|
1001 |
+
"Horizontālā ritināšana - šajā režīmā ritināšana tiks pievienota, ja tabula "
|
1002 |
+
"pārpildīs vecāko konteinera platumu"
|
1003 |
+
|
1004 |
+
msgid "How to use formulas in the table?"
|
1005 |
+
msgstr "Kā izmantot formulas tabulā?"
|
1006 |
+
|
1007 |
+
msgid ""
|
1008 |
+
"I need to have line breaks/spaces between the paragraphs within the cells."
|
1009 |
+
msgstr "Man vajag līniju pārtraukumus / atstarpes starp šūnu punktiem."
|
1010 |
+
|
1011 |
+
msgid ""
|
1012 |
+
"If checked - footer will be created from the last table rows. Otherwise - "
|
1013 |
+
"footer will be created from header rows."
|
1014 |
+
msgstr ""
|
1015 |
+
"Ja ir atzīmēts, pēdējās tabulas rindas tiks izveidotas. Pretējā gadījumā - "
|
1016 |
+
"kājene tiks izveidota no galvenes rindām."
|
1017 |
+
|
1018 |
+
msgid ""
|
1019 |
+
"If checked - table data on frontend will be overloaded from selected Google "
|
1020 |
+
"Sheet. <a href=\"%s\" tagget=\"_blank\">Read more</a> about how organize "
|
1021 |
+
"Auto Import form Google Sheets"
|
1022 |
+
msgstr ""
|
1023 |
+
"Ja izvēlēts - Google lapā tiks pārsniegta pārbaudāmā tabulas informācija. <a "
|
1024 |
+
"href=\"%s\" tagget=\"_blank\"> Lasiet vairāk </a> par to, kā organizēt "
|
1025 |
+
"automātisko importa veidlapu Google izklājlapas"
|
1026 |
+
|
1027 |
+
msgid "If checked - table data will be included in the global site search"
|
1028 |
+
msgstr ""
|
1029 |
+
"Ja izvēlēts - pārbaudītās tabulas dati tiks iekļauti globālajā vietnes "
|
1030 |
+
"meklēšanā"
|
1031 |
+
|
1032 |
+
msgid "If checked - the current sorted column will be highlighted"
|
1033 |
+
msgstr "Ja izvēlēts - pašreizējā sakārtotajā slejā tiks iezīmēta"
|
1034 |
+
|
1035 |
+
msgid ""
|
1036 |
+
"If checked - this table will be resized by first supsystic table on page. "
|
1037 |
+
"Important! This option makes sense only if table is not on responsive mode "
|
1038 |
+
"or responsive mode is disabled. Also if the first table has different count "
|
1039 |
+
"of columns or different settings, their sizes may not be equal."
|
1040 |
+
msgstr ""
|
1041 |
+
"Ja izvēlēts - šī tabula tiks mainīta, izmantojot pirmo tabulas sākumu lapā. "
|
1042 |
+
"Svarīgi! Šī opcija ir pielietojama tikai tad, ja tabulā nav reaģējoša režīma "
|
1043 |
+
"vai reaģējošais režīms ir atspējots. Arī tad, ja pirmajā tabulā ir atšķirīgs "
|
1044 |
+
"kolonnu vai dažādu iestatījumu skaits, to izmēri var nebūt vienādi."
|
1045 |
+
|
1046 |
+
msgid ""
|
1047 |
+
"If checked - width of table columns will be calculated automatically for "
|
1048 |
+
"table width 100%.<br /><br />\n"
|
1049 |
+
" Otherwise - you can set "
|
1050 |
+
"table width manually: columns width will be get from Fixed Table Width "
|
1051 |
+
"option\n"
|
1052 |
+
" (toolbar on Editor tab) or "
|
1053 |
+
"calculated depending on the columns width in the table editor.<br /><br />\n"
|
1054 |
+
" If you do not want to apply "
|
1055 |
+
"columns width at all - you should uncheck \"Auto Table Width\" option, set "
|
1056 |
+
"\"Fixed Table Width\"\n"
|
1057 |
+
" option to \"auto\" and check "
|
1058 |
+
"\"Compact Table\" option."
|
1059 |
+
msgstr ""
|
1060 |
+
"Ja tas ir atzīmēts, tabulas kolonnu platums tiks automātiski aprēķināts pēc "
|
1061 |
+
"tabulas platuma 100%. <br /> <br />\n"
|
1062 |
+
" Pretējā gadījumā galda platumu varat "
|
1063 |
+
"iestatīt manuāli: kolonnu platums būs no fiksētā gala platuma opcijas\n"
|
1064 |
+
" (rīkjosla cilnē Rediģēt) vai aprēķina "
|
1065 |
+
"pēc sleju platuma tabulas redaktorā. <br /> <br />\n"
|
1066 |
+
" Ja nevēlaties vispār pielietot kolonnu "
|
1067 |
+
"platumu - jums vajadzētu noņemt atzīmi no opcijas \"Auto tabulas platums\", "
|
1068 |
+
"iestatiet \"Fiksēto tabulu platums\"\n"
|
1069 |
+
" opcija \"auto\" un pārbaudiet opciju "
|
1070 |
+
"\"Compact Table\"."
|
1071 |
+
|
1072 |
+
msgid ""
|
1073 |
+
"If multiple sorting for columns is not set - the table will be sorted in the "
|
1074 |
+
"specified order by the column set in the table settings: Settings-> Features-"
|
1075 |
+
"> Sorting Order / Sorting Column. Otherwise - table will be sorted by the "
|
1076 |
+
"specified custom columns in sequense, in which they are listed."
|
1077 |
+
msgstr ""
|
1078 |
+
"Ja ir iestatīta vairāku kolonnu šķirošana - tabula tiks sakārtota norādītajā "
|
1079 |
+
"secībā pēc tabulas iestatījumos norādītās kolonnas: Iestatījumi-> Funkcijas-"
|
1080 |
+
"> Kārtošanas secības / šķirošanas kolonna. Pretējā gadījumā tabula tiks "
|
1081 |
+
"sakārtota pēc norādītajām pielāgotajām slejām secībā, kurā tie ir uzskaitīti."
|
1082 |
+
|
1083 |
+
msgid ""
|
1084 |
+
"If you use some specific characters (greek, cyrillic etc.) it is better to "
|
1085 |
+
"check this box for PDF export."
|
1086 |
+
msgstr ""
|
1087 |
+
"Ja izmantojat dažas īpašas rakstzīmes (grieķu, cyrillic uc), labāk ir "
|
1088 |
+
"atzīmēt šo lodziņu PDF eksportam."
|
1089 |
+
|
1090 |
+
msgid ""
|
1091 |
+
"If, unfortunately, you have some problem - we are ready to help you in our "
|
1092 |
+
"<a href=\"//supsystic.com/contact-us/\" target=\"_blank\">internal support.</"
|
1093 |
+
"a>"
|
1094 |
+
msgstr ""
|
1095 |
+
"Ja jums, diemžēl, ir kāda problēma - mēs esam gatavi jums palīdzēt mūsu <a "
|
1096 |
+
"href=\"//supsystic.com/contact-us/\" target=\"_blank\"> iekšējā atbalstā </"
|
1097 |
+
"a>."
|
1098 |
+
|
1099 |
+
msgid "Import"
|
1100 |
+
msgstr "Importēt"
|
1101 |
+
|
1102 |
+
msgid "Import Data to the Table"
|
1103 |
+
msgstr "Importēt datus uz tabulu"
|
1104 |
+
|
1105 |
+
msgid "Import Settings"
|
1106 |
+
msgstr "Importēšanas iestatījumi"
|
1107 |
+
|
1108 |
+
msgid "Import available only in PRO version."
|
1109 |
+
msgstr "Importēšana ir pieejama tikai PRO versijā."
|
1110 |
+
|
1111 |
+
msgid "Import error"
|
1112 |
+
msgstr "Importēšanas kļūda"
|
1113 |
+
|
1114 |
+
msgid "Import settings"
|
1115 |
+
msgstr "Importēšanas iestatījumi"
|
1116 |
+
|
1117 |
+
msgid "Import to the table"
|
1118 |
+
msgstr "Importēt tabulā"
|
1119 |
+
|
1120 |
+
msgid "Import/Export"
|
1121 |
+
msgstr "Importēt/eksportēt"
|
1122 |
+
|
1123 |
+
msgid ""
|
1124 |
+
"Important! Please, check the sharing settings of your spreadsheet: it must "
|
1125 |
+
"be accessed to edit for everyone who has link. In other case the data will "
|
1126 |
+
"not import to table."
|
1127 |
+
msgstr ""
|
1128 |
+
"Svarīgi! Lūdzu, pārbaudiet savas izklājlapas kopīgošanas iestatījumus: tai "
|
1129 |
+
"ir jābūt pieejamai rediģēšanai visiem, kam ir saite / links. Citos gadījumos "
|
1130 |
+
"dati netiks importēti tabulā."
|
1131 |
+
|
1132 |
+
msgid ""
|
1133 |
+
"In case you have special or at least, basic knowledge of CSS code - you can "
|
1134 |
+
"easily change the table here. Just make sure that you know, what you are "
|
1135 |
+
"doing and you will not destroy the table."
|
1136 |
+
msgstr ""
|
1137 |
+
"Gadījumā, ja jums ir īpašas vai vismaz pamatzināšanas par CSS kodu, šeit "
|
1138 |
+
"varat viegli mainīt tabulu. Vienkārši pārliecinieties, ka jūs zināt, ko jūs "
|
1139 |
+
"darāt, un jūs neiznīcināsiet savu tabulu."
|
1140 |
+
|
1141 |
+
msgid "Insert Link"
|
1142 |
+
msgstr "Ievietojiet saiti"
|
1143 |
+
|
1144 |
+
msgid "Insert link"
|
1145 |
+
msgstr "Ievietojiet saiti"
|
1146 |
+
|
1147 |
+
msgid "Insert picture"
|
1148 |
+
msgstr "Ievietojiet attēlu"
|
1149 |
+
|
1150 |
+
msgid "Inside by the top left corner"
|
1151 |
+
msgstr "Iekšpusē augšējā kreisajā stūrī"
|
1152 |
+
|
1153 |
+
msgid "Invalid range specified."
|
1154 |
+
msgstr "Nederīgs diapazons."
|
1155 |
+
|
1156 |
+
msgid "Italic"
|
1157 |
+
msgstr "Italic"
|
1158 |
+
|
1159 |
+
msgid ""
|
1160 |
+
"It’s never been so easy to create and manage pricing and comparison tables "
|
1161 |
+
"with table builder. Any element of the table can be customise with mouse "
|
1162 |
+
"click."
|
1163 |
+
msgstr ""
|
1164 |
+
"Nekad nav bijis tik viegli izveidot un pārvaldīt cenu no salīdzināšanas "
|
1165 |
+
"tabulas ar tabulas veidotāju. Jebkurus tabulas elementus var pielāgot ar "
|
1166 |
+
"peles klikšķi."
|
1167 |
+
|
1168 |
+
msgid "Landscape"
|
1169 |
+
msgstr "Ainava"
|
1170 |
+
|
1171 |
+
msgid "Language"
|
1172 |
+
msgstr "Valoda"
|
1173 |
+
|
1174 |
+
msgid "Language and Text"
|
1175 |
+
msgstr "Valoda un teksts"
|
1176 |
+
|
1177 |
+
msgid "Large"
|
1178 |
+
msgstr "Liels"
|
1179 |
+
|
1180 |
+
msgid ""
|
1181 |
+
"Learn more about how to do this <a href=\"//supsystic.com/how-to-use-tables/"
|
1182 |
+
"\" target=\"_blank\">here</a>."
|
1183 |
+
msgstr ""
|
1184 |
+
"Uzziniet vairāk par to, kā to izdarīt <a href=\"//supsystic.com/how-to-use-"
|
1185 |
+
"tables/\" target=\"_blank\"> šeit </a>."
|
1186 |
+
|
1187 |
+
msgid "Ledger"
|
1188 |
+
msgstr "Ledger"
|
1189 |
+
|
1190 |
+
msgid "Left"
|
1191 |
+
msgstr "Pa kreisi"
|
1192 |
+
|
1193 |
+
msgid "Left Columns Count"
|
1194 |
+
msgstr "Kreisā kolonnas skaits"
|
1195 |
+
|
1196 |
+
msgid "Left of the chart"
|
1197 |
+
msgstr "Pa kreisi no diagrammas"
|
1198 |
+
|
1199 |
+
msgid "Legal"
|
1200 |
+
msgstr "Juridiski"
|
1201 |
+
|
1202 |
+
msgid "Legend Position"
|
1203 |
+
msgstr "Leģendāra pozīcija"
|
1204 |
+
|
1205 |
+
msgid "Length text"
|
1206 |
+
msgstr "Garuma teksts"
|
1207 |
+
|
1208 |
+
msgid "Let's Start!"
|
1209 |
+
msgstr "Sāksim!"
|
1210 |
+
|
1211 |
+
msgid ""
|
1212 |
+
"Lets make search by fields, marked as hidden (see appropriate button on "
|
1213 |
+
"editor toolbar)"
|
1214 |
+
msgstr ""
|
1215 |
+
"Ļauj veikt meklēšanu pēc laukiem, kuri atzīmēti kā slēpti (skatīt atbilstošo "
|
1216 |
+
"pogu redaktora rīkjoslā)."
|
1217 |
+
|
1218 |
+
msgid "Letter"
|
1219 |
+
msgstr "Vēstule"
|
1220 |
+
|
1221 |
+
msgid "License"
|
1222 |
+
msgstr "Licence"
|
1223 |
+
|
1224 |
+
msgid "Line Chart"
|
1225 |
+
msgstr "Līnijas diagramma"
|
1226 |
+
|
1227 |
+
msgid "Lines between slices and values"
|
1228 |
+
msgstr "Rindas starp šķēlītēm un vērtībām"
|
1229 |
+
|
1230 |
+
msgid "Link Text"
|
1231 |
+
msgstr "Saites teksts"
|
1232 |
+
|
1233 |
+
msgid "Link from Google Tables"
|
1234 |
+
msgstr "Saite no Google tabulām"
|
1235 |
+
|
1236 |
+
msgid "List of columns for multiple sorting"
|
1237 |
+
msgstr "Kolonu saraksts priekšs šķirošanas"
|
1238 |
+
|
1239 |
+
msgid "List of columns, disabled from manual sorting"
|
1240 |
+
msgstr "Sleju saraksts, kas atspējo no manuālas šķirošanas"
|
1241 |
+
|
1242 |
+
msgid "List of width sizes, set for table columns:"
|
1243 |
+
msgstr "Platuma izmēru saraksts priekšs kolonu tabulām:"
|
1244 |
+
|
1245 |
+
msgid "Live Chat Plugin"
|
1246 |
+
msgstr "Live Chat spraudnis"
|
1247 |
+
|
1248 |
+
msgid "Loading your table, please wait..."
|
1249 |
+
msgstr "Augšupielādējam tabulu, lūdzu uzgaidiet ..."
|
1250 |
+
|
1251 |
+
msgid "Logo Alignment"
|
1252 |
+
msgstr "Logo pielīdzināšana"
|
1253 |
+
|
1254 |
+
msgid "Logo Position"
|
1255 |
+
msgstr "Logo Pozīcija"
|
1256 |
+
|
1257 |
+
msgid "Long Number"
|
1258 |
+
msgstr "Garšs numurs"
|
1259 |
+
|
1260 |
+
msgid "Main"
|
1261 |
+
msgstr "Galvenais"
|
1262 |
+
|
1263 |
+
msgid ""
|
1264 |
+
"Main Settings of your first table. Here you can see main settings which are "
|
1265 |
+
"conected with languages, table elements, styling and other different editors "
|
1266 |
+
"settings. Generally it’s a tab where you can edit the visual part of the "
|
1267 |
+
"whole table, switch on/off the responsive mode, set pagination etc."
|
1268 |
+
msgstr ""
|
1269 |
+
"Jūsu pirmās tabulas galvenie iestatījumi. Šeit varat redzēt galvenos "
|
1270 |
+
"iestatījumus, kas ir savienoti ar valodām, tabulas elementiem, stilu un "
|
1271 |
+
"citiem dažādiem redaktoru iestatījumiem. Parasti tā ir cilne, kurā varat "
|
1272 |
+
"rediģēt visu tabulas vizuālo daļu, ieslēgt / izslēgt reaģējošo režīmu, "
|
1273 |
+
"iestatīt \"pagnation\" utt."
|
1274 |
+
|
1275 |
+
msgid "Make data table responsive"
|
1276 |
+
msgstr "Datu tabulas pielāgošana"
|
1277 |
+
|
1278 |
+
msgid ""
|
1279 |
+
"Mandatory attribute \"id\" is not specified. ' . 'Shortcode usage example: "
|
1280 |
+
"[%s id=\"{table_id}\"]"
|
1281 |
+
msgstr ""
|
1282 |
+
"Obligātais atribūts \"id\" nav norādīts. \" 'Īstermiņa kodēšanas lietojuma "
|
1283 |
+
"piemērs: [%s id = \"{table_id}\"]"
|
1284 |
+
|
1285 |
+
msgid ""
|
1286 |
+
"Mark selected cells as hidden and remove them from frontend. Can be useful "
|
1287 |
+
"for placing information in the table for admins only. <br /><br />Importanr! "
|
1288 |
+
"To display the table correctly, please, add this property for the whole row "
|
1289 |
+
"or the whole column of table."
|
1290 |
+
msgstr ""
|
1291 |
+
"Atzīmējiet atlasītās šūnas kā slēptas un noņemiet tās no pārlūka. Var būt "
|
1292 |
+
"lietderīgi izvietot informāciju tabulā tikai administratoriem. <br /> <br /> "
|
1293 |
+
"Svarīgi! Lai pareizi parādītu tabulu, lūdzu, pievienojiet šo īpašumu visai "
|
1294 |
+
"rindai vai visai tabulas slejai."
|
1295 |
+
|
1296 |
+
msgid ""
|
1297 |
+
"Mark selected cells as invisible and hide them on frontend. Can be useful "
|
1298 |
+
"for placing intermediate calculations. <br /><br />To display the table "
|
1299 |
+
"correctly, please, add this property for the whole row or the whole column "
|
1300 |
+
"of table."
|
1301 |
+
msgstr ""
|
1302 |
+
"Atzīmējiet atlasītās šūnas kā neredzamas un paslēpiet tās no ārpasaules. Var "
|
1303 |
+
"būt noderīgi, lai veiktu starpprognozējumus. <br /> <br /> Lai pareizi "
|
1304 |
+
"parādītu tabulu, lūdzu, pievienojiet šo īpašumu visai rindai vai visai "
|
1305 |
+
"tabulas slejai."
|
1306 |
+
|
1307 |
+
msgid "Medium"
|
1308 |
+
msgstr "Vidējs"
|
1309 |
+
|
1310 |
+
msgid "Membership by Supsystic"
|
1311 |
+
msgstr "Dalība ar Supsystic"
|
1312 |
+
|
1313 |
+
msgid "Message"
|
1314 |
+
msgstr "Ziņa"
|
1315 |
+
|
1316 |
+
msgid "Minimum Count of Characters"
|
1317 |
+
msgstr "Minimālais simbolu skaits"
|
1318 |
+
|
1319 |
+
msgid "Name"
|
1320 |
+
msgstr "Vārds"
|
1321 |
+
|
1322 |
+
msgid "Name of Cloned Table"
|
1323 |
+
msgstr "Klonētas tabulas nosaukums"
|
1324 |
+
|
1325 |
+
msgid "Name of slice"
|
1326 |
+
msgstr "Šķēles nosaukums"
|
1327 |
+
|
1328 |
+
msgid "Newsletter Plugin"
|
1329 |
+
msgstr "Informatīvā izdevuma spraudnis"
|
1330 |
+
|
1331 |
+
msgid "Next"
|
1332 |
+
msgstr "Nākamais"
|
1333 |
+
|
1334 |
+
msgid "No"
|
1335 |
+
msgstr "Nē"
|
1336 |
+
|
1337 |
+
msgid "No data available in table"
|
1338 |
+
msgstr "Tabulā nav pieejami dati"
|
1339 |
+
|
1340 |
+
msgid "No detected"
|
1341 |
+
msgstr "Nav konstatēts"
|
1342 |
+
|
1343 |
+
msgid "No legend"
|
1344 |
+
msgstr "Nav leģendu"
|
1345 |
+
|
1346 |
+
msgid "No matching records are found"
|
1347 |
+
msgstr "Nav atbilstošu ierakstu"
|
1348 |
+
|
1349 |
+
msgid "No value"
|
1350 |
+
msgstr "Nav vērtības"
|
1351 |
+
|
1352 |
+
msgid "None"
|
1353 |
+
msgstr "Nav"
|
1354 |
+
|
1355 |
+
msgid "Not displaying"
|
1356 |
+
msgstr "Nav redzams"
|
1357 |
+
|
1358 |
+
msgid ""
|
1359 |
+
"Note that the table may look a little different depending on your theme "
|
1360 |
+
"style."
|
1361 |
+
msgstr ""
|
1362 |
+
"Ņemiet vērā, ka tabula var nedaudz atšķirties atkarībā no jūsu motīvu stila."
|
1363 |
+
|
1364 |
+
msgid "Number"
|
1365 |
+
msgstr "Numurs"
|
1366 |
+
|
1367 |
+
msgid "Number Formatting"
|
1368 |
+
msgstr "Numuru formatēšana"
|
1369 |
+
|
1370 |
+
msgid ""
|
1371 |
+
"Number of column to apply sort order. Set no value to disable table sorting "
|
1372 |
+
"by default."
|
1373 |
+
msgstr ""
|
1374 |
+
"Kolonnas numurs, lai izmantotu šķirošanas secību. Noklikšķiniet uz vērtības, "
|
1375 |
+
"lai pēc noklusējuma atspējotu tabulu šķirošanu."
|
1376 |
+
|
1377 |
+
msgid "Number of column to fix by left side of the table."
|
1378 |
+
msgstr "Kolonnas numurs, kas jānostiprina ar galda kreiso pusi."
|
1379 |
+
|
1380 |
+
msgid "Number of column to fix by right side of the table."
|
1381 |
+
msgstr "Kolonnas numurs, kas jālabo tabulas labajā pusē."
|
1382 |
+
|
1383 |
+
msgid "Offset Bottom"
|
1384 |
+
msgstr "Nobīdīt apakšā"
|
1385 |
+
|
1386 |
+
msgid "Offset Left"
|
1387 |
+
msgstr "Nobīdīt pa kreisi"
|
1388 |
+
|
1389 |
+
msgid "Offset Right"
|
1390 |
+
msgstr "Nobīdīt pa labi"
|
1391 |
+
|
1392 |
+
msgid "Offset Top"
|
1393 |
+
msgstr "Nobīdīt augšā"
|
1394 |
+
|
1395 |
+
msgid "Offset for axes' area by bottom."
|
1396 |
+
msgstr "Asu platuma nobīde no apakšas."
|
1397 |
+
|
1398 |
+
msgid "Offset for axes' area by left."
|
1399 |
+
msgstr "Kreisās ass platums."
|
1400 |
+
|
1401 |
+
msgid "Offset for axes' area by right."
|
1402 |
+
msgstr "Asu platuma nobīde pa labi."
|
1403 |
+
|
1404 |
+
msgid "Offset for axes' area by top."
|
1405 |
+
msgstr "Asu platuma nobīde no augšas."
|
1406 |
+
|
1407 |
+
msgid ""
|
1408 |
+
"One of the best plugin for creating Contact Forms on your WordPress site. "
|
1409 |
+
"Changeable fonts, backgrounds, an option for adding fields etc."
|
1410 |
+
msgstr ""
|
1411 |
+
"Viens no labākajiem spraudņiem veidojot kontaktu formas WordPress vietnē. "
|
1412 |
+
"Maināmi fonti, foni un iespēja pievienot jaunus laukus utt."
|
1413 |
+
|
1414 |
+
msgid "Open in new tab"
|
1415 |
+
msgstr "Atvērt jaunā cilnē"
|
1416 |
+
|
1417 |
+
msgid "Other"
|
1418 |
+
msgstr "Cits"
|
1419 |
+
|
1420 |
+
msgid "Overview"
|
1421 |
+
msgstr "Pārskats"
|
1422 |
+
|
1423 |
+
msgid "Overwrite Table Text"
|
1424 |
+
msgstr "Pārrakstīt tabulas tekstu"
|
1425 |
+
|
1426 |
+
msgid "PHP"
|
1427 |
+
msgstr "PHP"
|
1428 |
+
|
1429 |
+
msgid "PRO option"
|
1430 |
+
msgstr "PRO opcija"
|
1431 |
+
|
1432 |
+
msgid "PRO version"
|
1433 |
+
msgstr "PRO versija"
|
1434 |
+
|
1435 |
+
msgid "Pagination"
|
1436 |
+
msgstr "Paginācija"
|
1437 |
+
|
1438 |
+
msgid "Pagination List Content"
|
1439 |
+
msgstr "Pagināciju saraksta saturs"
|
1440 |
+
|
1441 |
+
msgid "Pagination Size"
|
1442 |
+
msgstr "Paginācijas izmērs"
|
1443 |
+
|
1444 |
+
msgid "Paragraph Mode"
|
1445 |
+
msgstr "Punkta režīms"
|
1446 |
+
|
1447 |
+
msgid "Paste script code here"
|
1448 |
+
msgstr "Ielīmējiet skripta kodu šeit"
|
1449 |
+
|
1450 |
+
msgid "Percent"
|
1451 |
+
msgstr "Procenti"
|
1452 |
+
|
1453 |
+
msgid "Percent Mode"
|
1454 |
+
msgstr "Procentu režīms"
|
1455 |
+
|
1456 |
+
msgid "Percent with Convert"
|
1457 |
+
msgstr "Procentuālā vērtība ar konvertēšanu"
|
1458 |
+
|
1459 |
+
msgid "Percentage of slice size out of total"
|
1460 |
+
msgstr "No kopējā izgriezuma lieluma procentuālā daļa"
|
1461 |
+
|
1462 |
+
msgid "Photo Gallery Plugin"
|
1463 |
+
msgstr "Foto galerijas spraudnis"
|
1464 |
+
|
1465 |
+
msgid ""
|
1466 |
+
"Photo Gallery Plugin with a great number of layouts will help you to create "
|
1467 |
+
"quality respectable portfolios and image galleries."
|
1468 |
+
msgstr ""
|
1469 |
+
"Foto galerijas spraudnis ar lielu izkārtojumu skaitu palīdzēs jums izveidot "
|
1470 |
+
"kvalitatīvus respektablus portfolio un attēlu galerijas."
|
1471 |
+
|
1472 |
+
msgid "Pie Chart"
|
1473 |
+
msgstr "Pie diagramma"
|
1474 |
+
|
1475 |
+
msgid "Plain"
|
1476 |
+
msgstr "Plain"
|
1477 |
+
|
1478 |
+
msgid ""
|
1479 |
+
"Please be advised that this option is available only in %s. You can %s today "
|
1480 |
+
"and get this and other PRO option for your tables!"
|
1481 |
+
msgstr ""
|
1482 |
+
"Lūdzu, ņemiet vērā, ka šī opcija ir pieejama tikai %s. Jūs varat %s šodien "
|
1483 |
+
"un iegūt šo un citu PRO opciju jūsu tabulām!"
|
1484 |
+
|
1485 |
+
msgid "Plugin options"
|
1486 |
+
msgstr "Plugin iespējas"
|
1487 |
+
|
1488 |
+
msgid "Popup Plugin"
|
1489 |
+
msgstr "Uznirstošais spraudnis"
|
1490 |
+
|
1491 |
+
msgid "Portrait"
|
1492 |
+
msgstr "Portrets"
|
1493 |
+
|
1494 |
+
msgid "Preview"
|
1495 |
+
msgstr "Priekšskatījums"
|
1496 |
+
|
1497 |
+
msgid ""
|
1498 |
+
"Preview insert for your comfort. Before updating the table on your page - "
|
1499 |
+
"you can see the result of your efforts and changes, look at it and enjoy the "
|
1500 |
+
"final outcome."
|
1501 |
+
msgstr ""
|
1502 |
+
"Priekšskatījuma ievietošana jūsu ērtībai. Pirms atjaunināt tabulas lapu - "
|
1503 |
+
"jūs varat redzēt savu centienu un izmaiņu rezultātu, apskatīt to un baudīt "
|
1504 |
+
"gala rezultātu."
|
1505 |
+
|
1506 |
+
msgid "Pricing Table"
|
1507 |
+
msgstr "Cenu tabula"
|
1508 |
+
|
1509 |
+
msgid "Quantitative value of slice"
|
1510 |
+
msgstr "Šķēles kvantitatīvā vērtība"
|
1511 |
+
|
1512 |
+
msgid "RA0"
|
1513 |
+
msgstr "RA0"
|
1514 |
+
|
1515 |
+
msgid "RA1"
|
1516 |
+
msgstr "RA1"
|
1517 |
+
|
1518 |
+
msgid "RA2"
|
1519 |
+
msgstr "RA2"
|
1520 |
+
|
1521 |
+
msgid "RA3"
|
1522 |
+
msgstr "RA3"
|
1523 |
+
|
1524 |
+
msgid "RA4"
|
1525 |
+
msgstr "RA4"
|
1526 |
+
|
1527 |
+
msgid "Redo"
|
1528 |
+
msgstr "Atkārtoti"
|
1529 |
+
|
1530 |
+
msgid "Relative Mode"
|
1531 |
+
msgstr "Relatīvais režīms"
|
1532 |
+
|
1533 |
+
msgid "Remove"
|
1534 |
+
msgstr "Noņemt"
|
1535 |
+
|
1536 |
+
msgid "Remove Data"
|
1537 |
+
msgstr "Noņemt datus"
|
1538 |
+
|
1539 |
+
msgid "Remove Logo"
|
1540 |
+
msgstr "Noņemt logotipu"
|
1541 |
+
|
1542 |
+
msgid "Renew License"
|
1543 |
+
msgstr "Atjaunot licenci"
|
1544 |
+
|
1545 |
+
msgid "Report a bug"
|
1546 |
+
msgstr "Ziņot par kļūdu"
|
1547 |
+
|
1548 |
+
msgid "Require a new functionallity"
|
1549 |
+
msgstr "Nepieciešama jauna funkcija"
|
1550 |
+
|
1551 |
+
msgid "Responsive Mode"
|
1552 |
+
msgstr "Atbildīgs režīms"
|
1553 |
+
|
1554 |
+
msgid "Right"
|
1555 |
+
msgstr "Pa labi"
|
1556 |
+
|
1557 |
+
msgid "Right Columns Count"
|
1558 |
+
msgstr "Labo kolonnu skaits"
|
1559 |
+
|
1560 |
+
msgid "Right of the chart"
|
1561 |
+
msgstr "Diagrammas tiesības"
|
1562 |
+
|
1563 |
+
msgid "Role for users who can use plugin. Administrator is included by default"
|
1564 |
+
msgstr ""
|
1565 |
+
"Loma lietotājiem, kuri var izmantot spraudni. Administrators ir iekļauts pēc "
|
1566 |
+
"noklusējuma"
|
1567 |
+
|
1568 |
+
msgid "Roles"
|
1569 |
+
msgstr "Lomas"
|
1570 |
+
|
1571 |
+
msgid "Row"
|
1572 |
+
msgstr "Rinda"
|
1573 |
+
|
1574 |
+
msgid "Row Striping"
|
1575 |
+
msgstr "Rindu virskārta"
|
1576 |
+
|
1577 |
+
msgid "Row highlighting by mouse hover."
|
1578 |
+
msgstr "Rindas izcelšana ar peles kursoru."
|
1579 |
+
|
1580 |
+
msgid "Rows"
|
1581 |
+
msgstr "Rindas"
|
1582 |
+
|
1583 |
+
msgid "Rows Count per Request"
|
1584 |
+
msgstr "Rindu skaits uz pieprasījumu"
|
1585 |
+
|
1586 |
+
msgid "SRA0"
|
1587 |
+
msgstr "SRA0"
|
1588 |
+
|
1589 |
+
msgid "SRA1"
|
1590 |
+
msgstr "SRA1"
|
1591 |
+
|
1592 |
+
msgid "SRA2"
|
1593 |
+
msgstr "SRA2"
|
1594 |
+
|
1595 |
+
msgid "SRA3"
|
1596 |
+
msgstr "SRA3"
|
1597 |
+
|
1598 |
+
msgid "SRA4"
|
1599 |
+
msgstr "SRA4"
|
1600 |
+
|
1601 |
+
msgid "Save"
|
1602 |
+
msgstr "Saglabāt"
|
1603 |
+
|
1604 |
+
msgid "Save Frontend Fields"
|
1605 |
+
msgstr "Saglabāt priekšpusē laukus"
|
1606 |
+
|
1607 |
+
msgid "Save as"
|
1608 |
+
msgstr "Saglabāt"
|
1609 |
+
|
1610 |
+
msgid "Save the changes of table."
|
1611 |
+
msgstr "Saglabāt tabulas izmaiņas."
|
1612 |
+
|
1613 |
+
msgid "Scientific"
|
1614 |
+
msgstr "Zinātniskais"
|
1615 |
+
|
1616 |
+
msgid "Search by Hidden Fields"
|
1617 |
+
msgstr "Meklēt pēc slēptiem laukiem"
|
1618 |
+
|
1619 |
+
msgid "Search label"
|
1620 |
+
msgstr "Meklēšanas etiķete"
|
1621 |
+
|
1622 |
+
msgid "Search:"
|
1623 |
+
msgstr "Meklēt:"
|
1624 |
+
|
1625 |
+
msgid "Searching"
|
1626 |
+
msgstr "Meklēšana"
|
1627 |
+
|
1628 |
+
msgid "Select Logo"
|
1629 |
+
msgstr "Izvēlieties Logo"
|
1630 |
+
|
1631 |
+
msgid "Select User to display its table"
|
1632 |
+
msgstr "Atlasiet lietotāju, lai parādītu tā tabulu"
|
1633 |
+
|
1634 |
+
msgid ""
|
1635 |
+
"Select a cell and start typing. In a cell, type an equal sign “=” to start "
|
1636 |
+
"the formula."
|
1637 |
+
msgstr ""
|
1638 |
+
"Izvēlieties šūnu un sāciet rakstīt. Šūnā ierakstiet vienādības zīmi \"=\", "
|
1639 |
+
"lai uzsāktu formulu."
|
1640 |
+
|
1641 |
+
msgid "Select alignment of table logotype"
|
1642 |
+
msgstr "Atlasiet tabulas logotipa pielīdzināšanu"
|
1643 |
+
|
1644 |
+
msgid "Select avalilable roles to use tables"
|
1645 |
+
msgstr "Izvēlieties publiski pieejamās lomas, lai izmantotu tabulas"
|
1646 |
+
|
1647 |
+
msgid "Select chart type"
|
1648 |
+
msgstr "Atlasīt diagrammas veidu"
|
1649 |
+
|
1650 |
+
msgid "Select file type to export table:"
|
1651 |
+
msgstr "Atlasīt faila tipu tabulas eksportēšanai:"
|
1652 |
+
|
1653 |
+
msgid "Select position of table logotype"
|
1654 |
+
msgstr "Atlasiet tabulas logotipa pozīciju"
|
1655 |
+
|
1656 |
+
msgid "Select roles"
|
1657 |
+
msgstr "Atlasiet lomas"
|
1658 |
+
|
1659 |
+
msgid "Selectable fields"
|
1660 |
+
msgstr "Atlasāmie lauki"
|
1661 |
+
|
1662 |
+
msgid ""
|
1663 |
+
"Set column width for selected columns in pixels or percents. Press \"Clear "
|
1664 |
+
"Fixed Width\" to clear fixed columns width for all table columns. All "
|
1665 |
+
"changes will be applied after table saving."
|
1666 |
+
msgstr ""
|
1667 |
+
"Iestatīt kolonnu platumu atlasītajām kolonnām pikseļos vai procentos. "
|
1668 |
+
"Nospiediet \"Notīrīt fiksēto platumu\", lai notīrītu visu stabiņu kolonnu "
|
1669 |
+
"fiksēto sleju platumu. Visas izmaiņas tiks veiktas pēc tabulu saglabāšanas."
|
1670 |
+
|
1671 |
+
msgid ""
|
1672 |
+
"Set count of table rows, which will be saved per one request. If you do not "
|
1673 |
+
"know why does this value need for - it's better to keep the preferred value: "
|
1674 |
+
"400."
|
1675 |
+
msgstr ""
|
1676 |
+
"Iestatiet tabulas rindu skaitu, kas tiks saglabāts uz vienu pieprasījumu. Ja "
|
1677 |
+
"jūs nezināt, kāpēc šī vērtība ir nepieciešama, labāk saglabāt vēlamo "
|
1678 |
+
"vērtību: 400."
|
1679 |
+
|
1680 |
+
msgid ""
|
1681 |
+
"Set fixed table width in px, % or auto (in this case table will be adjusted "
|
1682 |
+
"by table content)"
|
1683 |
+
msgstr ""
|
1684 |
+
"Iestatīt fiksēto tabulas platumu px, % vai auto (šajā gadījumā tabulu "
|
1685 |
+
"noregulēs pēc tabulas satura)"
|
1686 |
+
|
1687 |
+
msgid "Set format of all numbers in the table"
|
1688 |
+
msgstr "Iestatiet visu tabulas numuru"
|
1689 |
+
|
1690 |
+
msgid ""
|
1691 |
+
"Set minimum count of characters to start search in Search field. Set 0 to "
|
1692 |
+
"make search in any case."
|
1693 |
+
msgstr ""
|
1694 |
+
"Iestatiet minimālo rakstzīmju skaitu, lai sāktu meklēšanu laukā Meklēšana. "
|
1695 |
+
"Iestatiet 0, lai veiktu meklēšanu jebkurā gadījumā."
|
1696 |
+
|
1697 |
+
msgid ""
|
1698 |
+
"Set multiple column sorting for selected columns. Press \"Clear Multiple "
|
1699 |
+
"Sorting\" to clear multiple sorting for all table columns. All changes will "
|
1700 |
+
"be applied after table saving."
|
1701 |
+
msgstr ""
|
1702 |
+
"Iestatīt vairāku kolonnu šķirošanu atlasītajām slejām. Nospiediet \"Notīrīt "
|
1703 |
+
"vairākkārtēju šķirošanu\", lai izdzēstu visu tabulas kolonnu vairākkārtēju "
|
1704 |
+
"šķirošanu. Visas izmaiņas tiks veiktas pēc tabulas saglabāšanas."
|
1705 |
+
|
1706 |
+
msgid ""
|
1707 |
+
"Set output format for currencies. Supports only 1 currency for 1 table. "
|
1708 |
+
"Besides here you can establish needed divider between integer and fractional "
|
1709 |
+
"parts and quantity of zeros at fractional part. For example:<br />\n"
|
1710 |
+
" $ 1,000.000<br />\n"
|
1711 |
+
" € 1.00"
|
1712 |
+
msgstr ""
|
1713 |
+
"Iestatīt valūtu izvades formātu. Atbalsta tikai 1 valūtu 1 tabulā. Bez tam "
|
1714 |
+
"šeit jūs varat izveidot nepieciešamo dalītāju starp veselu skaitli un "
|
1715 |
+
"daļējām daļām un nulles daudzumu frakcionētajā daļā. Piemēram: <br />\n"
|
1716 |
+
" $ 1 000 000 <br />\n"
|
1717 |
+
" € 1,00"
|
1718 |
+
|
1719 |
+
msgid ""
|
1720 |
+
"Set output format for date. For example:<br />\n"
|
1721 |
+
" YYYY-MM-DD - 1991-12-25<br />\n"
|
1722 |
+
" DD.MM.YY - 25.12.91"
|
1723 |
+
msgstr ""
|
1724 |
+
"Iestatiet datuma izvades formātu. Piemēram: <br />\n"
|
1725 |
+
" GGGG-MM-DD - 1991-12-25 <br />\n"
|
1726 |
+
" DD.MM.YY - 25.12.91"
|
1727 |
+
|
1728 |
+
msgid "Set output format for numbers e.g. 1,000.00, 1.00"
|
1729 |
+
msgstr "Iestatiet skaitļu izvades formātu, piem., 1,000.00, 1.00"
|
1730 |
+
|
1731 |
+
msgid ""
|
1732 |
+
"Set output format for percent numbers. For example:<br />\n"
|
1733 |
+
" 10.00%<br />\n"
|
1734 |
+
" 10%"
|
1735 |
+
msgstr ""
|
1736 |
+
"Iestatiet izvades formātu procentiem. Piemēram: <br />\n"
|
1737 |
+
" 10,00% <br />\n"
|
1738 |
+
" 10%"
|
1739 |
+
|
1740 |
+
msgid ""
|
1741 |
+
"Set output format for time and duration. For example:<br />\n"
|
1742 |
+
" 1) time<br />\n"
|
1743 |
+
" HH:mm - 18:00<br />\n"
|
1744 |
+
" hh:mm a - 9:00 pm<br /><br />\n"
|
1745 |
+
" 2) duration<br />\n"
|
1746 |
+
" hh:mm - 36:40<br />\n"
|
1747 |
+
" hh:mm:ss - 36:40:12"
|
1748 |
+
msgstr ""
|
1749 |
+
"Iestatiet izejas formātu par laiku un ilgumu. Piemēram: <br />\n"
|
1750 |
+
" 1) laiks <br />\n"
|
1751 |
+
" HH:mm - 18:00 <br />\n"
|
1752 |
+
" hh:mm - 9:00 <br /> <br />\n"
|
1753 |
+
" 2) ilgums <br />\n"
|
1754 |
+
" hh:mm - 36:40 <br />\n"
|
1755 |
+
" hh:mm:ss - 36:40:12"
|
1756 |
+
|
1757 |
+
msgid "Set sort order by default"
|
1758 |
+
msgstr "Kārtot sec;ibu pēc noklusējuma"
|
1759 |
+
|
1760 |
+
msgid ""
|
1761 |
+
"Set the numeric value from 0 to 100, for example 10 (equals to 10%). Leave "
|
1762 |
+
"this field empty to use default offset value."
|
1763 |
+
msgstr ""
|
1764 |
+
"Iestatiet ciparu vērtību no 0 līdz 100, piemēram, 10 (vienāds ar 10%). "
|
1765 |
+
"Atstājiet šo lauku tukšu, lai izmantotu noklusējuma kompensācijas vērtību."
|
1766 |
+
|
1767 |
+
msgid ""
|
1768 |
+
"Set the value in px or %, for example, 200 (equals to 200px) or 80%. Leave "
|
1769 |
+
"this field empty to use default height value."
|
1770 |
+
msgstr ""
|
1771 |
+
"Iestatiet vērtību px vai %, piemēram, 200 (vienāda ar 200 px) vai 80%. "
|
1772 |
+
"Atstājiet šo lauku tukšā, lai izmantotu noklusējuma augstuma vērtību."
|
1773 |
+
|
1774 |
+
msgid ""
|
1775 |
+
"Set the value in px or %, for example, 400 (equals to 400px) or 90%. Leave "
|
1776 |
+
"this field empty to use default width value."
|
1777 |
+
msgstr ""
|
1778 |
+
"Iestatiet vērtību px vai %, piemēram, 400 (vienāds ar 400 px) vai 90%. "
|
1779 |
+
"Atstājiet šo lauku tukšā, lai izmantotu noklusējuma platuma vērtību."
|
1780 |
+
|
1781 |
+
msgid "Settings"
|
1782 |
+
msgstr "Iestatījumi"
|
1783 |
+
|
1784 |
+
msgid "Short Number"
|
1785 |
+
msgstr "Īss numurs"
|
1786 |
+
|
1787 |
+
msgid "Shortcode"
|
1788 |
+
msgstr "Īsais kods"
|
1789 |
+
|
1790 |
+
msgid "Show Empty Table"
|
1791 |
+
msgstr "Rādīt tukšo tabulu"
|
1792 |
+
|
1793 |
+
msgid "Show Only Search Results"
|
1794 |
+
msgstr "Rādīt tikai meklēšanas rezultātus"
|
1795 |
+
|
1796 |
+
msgid "Show _MENU_ entries"
|
1797 |
+
msgstr "Atrādīt _MENU_ ierakstus"
|
1798 |
+
|
1799 |
+
msgid "Showing 0 to 0 of 0 entries"
|
1800 |
+
msgstr "Rāda 0 līdz 0 no 0 ierakstiem"
|
1801 |
+
|
1802 |
+
msgid "Showing _START_ to _END_ of _TOTAL_ entries"
|
1803 |
+
msgstr "Atrādīt _START_ līdz _END_ no _TOTAL_ ierakstiem"
|
1804 |
+
|
1805 |
+
msgid "Signature"
|
1806 |
+
msgstr "Paraksts"
|
1807 |
+
|
1808 |
+
msgid "Signature Text"
|
1809 |
+
msgstr "Teksta paraksts"
|
1810 |
+
|
1811 |
+
msgid "Slider Plugin"
|
1812 |
+
msgstr "\"Slider\" spraudnis"
|
1813 |
+
|
1814 |
+
msgid "Slider by Supsystic"
|
1815 |
+
msgstr "\"Slider\" ar Supsystic"
|
1816 |
+
|
1817 |
+
msgid "Small"
|
1818 |
+
msgstr "Mazs"
|
1819 |
+
|
1820 |
+
msgid "Social Share Buttons"
|
1821 |
+
msgstr "Sociālās koplietošanas pogas"
|
1822 |
+
|
1823 |
+
msgid ""
|
1824 |
+
"Social share buttons to increase social traffic and popularity. Social "
|
1825 |
+
"sharing to Facebook, Twitter and other social networks."
|
1826 |
+
msgstr ""
|
1827 |
+
"Sociālās koplietošanas pogas palielina sociālo satiksmi un popularitāti. "
|
1828 |
+
"Sociālā koplietošana Facebook, Twitter un citos sociālajos tīklos."
|
1829 |
+
|
1830 |
+
msgid ""
|
1831 |
+
"Some errors occurred while sending mail please send your message trough this "
|
1832 |
+
"contact form:"
|
1833 |
+
msgstr ""
|
1834 |
+
"Sūtot e-pastu, radās kļūdas, lūdzu nosūtiet ziņu caur šo saziņas formu:"
|
1835 |
+
|
1836 |
+
msgid "Sort order"
|
1837 |
+
msgstr "Šķirošanas secība"
|
1838 |
+
|
1839 |
+
msgid "Sorting"
|
1840 |
+
msgstr "Šķirošana"
|
1841 |
+
|
1842 |
+
msgid "Sorting Column"
|
1843 |
+
msgstr "Šķirot kolonna"
|
1844 |
+
|
1845 |
+
msgid "Sorting Order"
|
1846 |
+
msgstr "Šķirošanas secība"
|
1847 |
+
|
1848 |
+
msgid "Stacked Columns"
|
1849 |
+
msgstr "Stacked kolonnas"
|
1850 |
+
|
1851 |
+
msgid "Standard Responsive mode"
|
1852 |
+
msgstr "Standarta reaģējošais režīms"
|
1853 |
+
|
1854 |
+
msgid ""
|
1855 |
+
"Standard Responsive mode - in this mode if table content doesn't fit all "
|
1856 |
+
"columns become under each other with one cell per row"
|
1857 |
+
msgstr ""
|
1858 |
+
"Standarta reaģēšanas režīms - šajā režīmā, ja tabulu saturs neatbilst visām "
|
1859 |
+
"kolonnām, tas kļūst viens zem otra ar vienu šūnu katrā rindā"
|
1860 |
+
|
1861 |
+
msgid "Step-by-step Tutorial"
|
1862 |
+
msgstr "Soli pa solim"
|
1863 |
+
|
1864 |
+
msgid "Strict Matching"
|
1865 |
+
msgstr "\"Strict\" atbilstība"
|
1866 |
+
|
1867 |
+
msgid "Subject"
|
1868 |
+
msgstr "Nosaukums"
|
1869 |
+
|
1870 |
+
msgid "Support"
|
1871 |
+
msgstr "Atbalsts"
|
1872 |
+
|
1873 |
+
msgid ""
|
1874 |
+
"Supsystic Newsletter plugin for automatic mailing of your letters. You will "
|
1875 |
+
"have no need to control it or send them manually. No coding, hard skills or "
|
1876 |
+
"long hours of customizing are required."
|
1877 |
+
msgstr ""
|
1878 |
+
"Supsystic Newsletter spraudnis automātiskai vēstules nosūtīšanai. Jums nebūs "
|
1879 |
+
"nepieciešams to kontrolēt vai nosūtīt tos manuāli. Nav nepieciešama "
|
1880 |
+
"kodēšana, prasmes vai ilgstošas pielāgošanas stundas."
|
1881 |
+
|
1882 |
+
msgid "Switch rows / columns"
|
1883 |
+
msgstr "Pārslēgt rindas / kolonnas"
|
1884 |
+
|
1885 |
+
msgid "Table Elements"
|
1886 |
+
msgstr "Tabulas elementi"
|
1887 |
+
|
1888 |
+
msgid "Table History"
|
1889 |
+
msgstr "Tabulas vēsture"
|
1890 |
+
|
1891 |
+
msgid "Table Information"
|
1892 |
+
msgstr ""
|
1893 |
+
"Tabula informācija\n"
|
1894 |
+
"="
|
1895 |
+
|
1896 |
+
msgid "Table Language"
|
1897 |
+
msgstr "Tabulas valoda"
|
1898 |
+
|
1899 |
+
msgid "Table Loader Color"
|
1900 |
+
msgstr "\"Table Loader \" krāsa"
|
1901 |
+
|
1902 |
+
msgid "Table Loader Icon"
|
1903 |
+
msgstr "\"Table Loader \" ikona"
|
1904 |
+
|
1905 |
+
msgid "Table info text"
|
1906 |
+
msgstr "Tabulas informācijas teksts"
|
1907 |
+
|
1908 |
+
msgid "Table information display field. %s"
|
1909 |
+
msgstr "Tabulas informācijas displeja lauks. %s"
|
1910 |
+
|
1911 |
+
msgid "Table title"
|
1912 |
+
msgstr "Tabulas virsraksts"
|
1913 |
+
|
1914 |
+
msgid "Table will not be hidden by default , but will be empty."
|
1915 |
+
msgstr "Tabula pēc noklusējuma netiks paslēpta, bet būs tukša."
|
1916 |
+
|
1917 |
+
msgid "Tables"
|
1918 |
+
msgstr "Tabulas"
|
1919 |
+
|
1920 |
+
msgid "Tabloid"
|
1921 |
+
msgstr "Tabloids"
|
1922 |
+
|
1923 |
+
msgid "Text color"
|
1924 |
+
msgstr "Teksta krāsa"
|
1925 |
+
|
1926 |
+
msgid "Text on Slice"
|
1927 |
+
msgstr "Teksts uz šķēles"
|
1928 |
+
|
1929 |
+
msgid ""
|
1930 |
+
"Thank you for choosing our Data Tables plugin. Just click here to start "
|
1931 |
+
"using it - and we will show you it's possibilities and powerfull features."
|
1932 |
+
msgstr ""
|
1933 |
+
"Paldies, ka izvēlējāties mūsu Data Table spraudni. Vienkārši noklikšķiniet "
|
1934 |
+
"šeit, lai sāktu to lietot - un mēs jums parādīsim tās iespējas un spēcīgas "
|
1935 |
+
"funkcijas."
|
1936 |
+
|
1937 |
+
msgid ""
|
1938 |
+
"Thank you for choosing our Data Tables plugin. Let’s make a quick tour "
|
1939 |
+
"through features and main options of the plugin. Just click “Next” button."
|
1940 |
+
msgstr ""
|
1941 |
+
"Paldies, ka izvēlējāties mūsu Data Tables spraudni. Padarēsim ātru ceļojumu, "
|
1942 |
+
"izmantojot spraudņa funkcijas un galvenās iespējas. Vienkārši noklikšķiniet "
|
1943 |
+
"uz pogas Tālāk."
|
1944 |
+
|
1945 |
+
msgid ""
|
1946 |
+
"The Best WordPress PopUp option plugin to help you gain more subscribers, "
|
1947 |
+
"social followers or advertisement. Responsive pop-ups with friendly options."
|
1948 |
+
msgstr ""
|
1949 |
+
"Labākās WordPress PopUp opcijas spraudnis, kas palīdzēs jums iegūt vairāk "
|
1950 |
+
"abonentu, sociālo sekotāju vai reklāmu. Atbildīgi uznirstošie logi ar "
|
1951 |
+
"draudzīgām iespējām."
|
1952 |
+
|
1953 |
+
msgid ""
|
1954 |
+
"The most important part of settings - Editor. Here you can fill all the "
|
1955 |
+
"cells of your table, add some colors, play with fonts and sizes. This insert "
|
1956 |
+
"also allows you to change the alignment of your font, add formats (percents, "
|
1957 |
+
"currency), images and links to make your table more visual attraction."
|
1958 |
+
msgstr ""
|
1959 |
+
"Vissvarīgākā iestatījumu daļa - redaktors. Šeit jūs varat aizpildīt visas "
|
1960 |
+
"tabulas šūnas, pievienot dažas krāsas, spēlēties ar fontiem un to izmēriem. "
|
1961 |
+
"Šis ieliktnis ļauj arī mainīt fonta izlīdzināšanu, pievienot formātus "
|
1962 |
+
"(procentus, valūtu), attēlus un saites, lai padarītu tabulu par vizuāli "
|
1963 |
+
"pievilcīgu."
|
1964 |
+
|
1965 |
+
msgid "The table ID %s not found."
|
1966 |
+
msgstr "Tabulas ID %s nav atrasts."
|
1967 |
+
|
1968 |
+
msgid "The table with ID %d not exists."
|
1969 |
+
msgstr "Tabula ar ID %d neeksistē."
|
1970 |
+
|
1971 |
+
msgid "There are not all shortcode's attributes specified. Usage example"
|
1972 |
+
msgstr "Nav norādīti visi īsie koda atribūti. Lietošanas piemērs"
|
1973 |
+
|
1974 |
+
msgid ""
|
1975 |
+
"This label can not be translated using Table Language option. You can change "
|
1976 |
+
"this label typing the custom text or hide this label typing _NONE_ as label "
|
1977 |
+
"text."
|
1978 |
+
msgstr ""
|
1979 |
+
"Šo etiķeti nevar pārtulkot, izmantojot tabulas valodas opciju. Varat mainīt "
|
1980 |
+
"šo iezīmi, ierakstot pielāgoto tekstu vai paslēpjot šo marķējumu, ierakstot "
|
1981 |
+
"_NONE_ kā etiķetes tekstu."
|
1982 |
+
|
1983 |
+
msgid ""
|
1984 |
+
"This mode allows you to separate the content into paragraphs. To move to a "
|
1985 |
+
"new line in the cell - please press CTRL + Enter."
|
1986 |
+
msgstr ""
|
1987 |
+
"Šis režīms ļauj sadalīt saturu paragrāfos. Lai pārvietotu uz jaunu līniju "
|
1988 |
+
"šūnu, lūdzu, nospiediet CTRL + Enter."
|
1989 |
+
|
1990 |
+
msgid "Time / Duration"
|
1991 |
+
msgstr "Laiks / ilgums"
|
1992 |
+
|
1993 |
+
msgid "Title"
|
1994 |
+
msgstr "Nosaukums"
|
1995 |
+
|
1996 |
+
msgid "Topic"
|
1997 |
+
msgstr "Temats"
|
1998 |
+
|
1999 |
+
msgid "Type"
|
2000 |
+
msgstr "Tips"
|
2001 |
+
|
2002 |
+
msgid "Type Google Sheet url to import data from sheet to table"
|
2003 |
+
msgstr "Ierakstiet Google Sheet URL, lai importētu datus no lapas uz tabulu"
|
2004 |
+
|
2005 |
+
msgid "Underline"
|
2006 |
+
msgstr "Pasvītrot"
|
2007 |
+
|
2008 |
+
msgid "Undo"
|
2009 |
+
msgstr "Atsaukt"
|
2010 |
+
|
2011 |
+
msgid "Unsupported export type: %s."
|
2012 |
+
msgstr "Neatbalstīts eksporta veids: %s."
|
2013 |
+
|
2014 |
+
msgid "Url"
|
2015 |
+
msgstr "Url"
|
2016 |
+
|
2017 |
+
msgid "Use Comma as Delimiter"
|
2018 |
+
msgstr "Izmantojiet komatu kā atdalītāju"
|
2019 |
+
|
2020 |
+
msgid "Use Custom Colors"
|
2021 |
+
msgstr "Izmantojiet pielāgotas krāsas"
|
2022 |
+
|
2023 |
+
msgid "Use Editable Fields for Current Roles"
|
2024 |
+
msgstr "Izmantojiet rediģējamos laukus pašreizējām lomām"
|
2025 |
+
|
2026 |
+
msgid "Use Export Font"
|
2027 |
+
msgstr "Izmantojiet eksporta fontu"
|
2028 |
+
|
2029 |
+
msgid "Use Frontend Fields for Logged In Users Only"
|
2030 |
+
msgstr "Izmantot frontend laukus tikai reģistrētiem lietotājiem"
|
2031 |
+
|
2032 |
+
msgid ""
|
2033 |
+
"Use comma as delimiter of integer and fractional parts of number for "
|
2034 |
+
"editable fields on frontend"
|
2035 |
+
msgstr ""
|
2036 |
+
"Izmantojiet komatu kā veselu skaitļu delimitatoru un daļēji rediģējamu "
|
2037 |
+
"numuru skaitu lauku priekšpusē"
|
2038 |
+
|
2039 |
+
msgid "Use first column as labels"
|
2040 |
+
msgstr "Izmantojiet pirmo sleju kā etiķeti"
|
2041 |
+
|
2042 |
+
msgid "Use first row as headers"
|
2043 |
+
msgstr "Izmantojiet pirmo rindu kā galveni"
|
2044 |
+
|
2045 |
+
msgid "Vertical alignment"
|
2046 |
+
msgstr "Vertikālā izlīdzināšana"
|
2047 |
+
|
2048 |
+
msgid "Video Tutorial"
|
2049 |
+
msgstr "Video apmācība"
|
2050 |
+
|
2051 |
+
msgid ""
|
2052 |
+
"We are trying to make your using of our plugin maximum comfortable and easy. "
|
2053 |
+
"So we find it like the best way to tell you about some options and features "
|
2054 |
+
"of this plugin."
|
2055 |
+
msgstr ""
|
2056 |
+
"Mēs cenšamies padarīt mūsu spraudņa lietošanu maksimāli ērtu un vieglu. "
|
2057 |
+
"Tāpēc mēs uzskatām, ka tas ir labākais veids, kā pastāstīt par dažām šī "
|
2058 |
+
"spraudņa iespējām un priekšrocībām."
|
2059 |
+
|
2060 |
+
msgid ""
|
2061 |
+
"We really like what we do and feel responsibility for our “child”. "
|
2062 |
+
"Constantly we are trying to change something or update the new features, but "
|
2063 |
+
"sometimes you may have a situation when you need help or have a problem. We "
|
2064 |
+
"can offer you two kinds of help: "
|
2065 |
+
msgstr ""
|
2066 |
+
"Mums patiešām patīk, ko mēs darām, un jūtam atbildību par mūsu \"bērnu\". "
|
2067 |
+
"Mēs pastāvīgi cenšamies mainīt kaut ko vai atjaunināt jaunās funkcijas, taču "
|
2068 |
+
"dažreiz jums var būt situācija, kad jums nepieciešama palīdzība, lai "
|
2069 |
+
"atrisinātu problēmu. Mēs varam piedāvāt divu veidu palīdzību:"
|
2070 |
+
|
2071 |
+
msgid "Website"
|
2072 |
+
msgstr "Mājas lapa"
|
2073 |
+
|
2074 |
+
msgid "Welcome to Data Tables plugin by Supsystic!"
|
2075 |
+
msgstr "Esiet sveicināts Supsystic Data Tables spraudņā datu tabulās!"
|
2076 |
+
|
2077 |
+
msgid "Welcome to our plugin"
|
2078 |
+
msgstr "Laipni lūdzam mūsu spraudnī"
|
2079 |
+
|
2080 |
+
msgid "Well done!"
|
2081 |
+
msgstr "Labi padarīts!"
|
2082 |
+
|
2083 |
+
msgid ""
|
2084 |
+
"When you use frontend fields, <a href=\"%s\" target=\"_blank\">Table Hitory</"
|
2085 |
+
"a> allows you (using History Shortcode) to display on frontend the own table "
|
2086 |
+
"version for each logged in user. On this tab you can display any user's "
|
2087 |
+
"table - just choose the user name from dropdown list."
|
2088 |
+
msgstr ""
|
2089 |
+
"Kad izmantojat frontend laukus, <a href=\"%s\" target=\"_blank\"> tabulu "
|
2090 |
+
"vēsture </a> , tas atļauj (izmantojot vēstures īskodu) un parāda tabulas "
|
2091 |
+
"versiju ik vienam ielogojušam lietotājam. Šajā tabulā jūs varat parādīt "
|
2092 |
+
"jebkuru lietotāja tabulu - vienkārši izvēlieties lietotājvārdu no nolaižamā "
|
2093 |
+
"saraksta."
|
2094 |
+
|
2095 |
+
msgid "Width"
|
2096 |
+
msgstr "Platums"
|
2097 |
+
|
2098 |
+
msgid ""
|
2099 |
+
"With these two buttons in our Pro version you can Import any table of csv "
|
2100 |
+
"format and Export the whole table, which you have done."
|
2101 |
+
msgstr ""
|
2102 |
+
"Izmantojot šīs divas pogas mūsu Pro versijā, jūs varat importēt jebkuru csv "
|
2103 |
+
"formāta tabulu un eksportēt visu tabulu, ko esat pabeidzis."
|
2104 |
+
|
2105 |
+
msgid "Word wrapping"
|
2106 |
+
msgstr "Vārdu iesaiņošana (Word wrapping)"
|
2107 |
+
|
2108 |
+
msgid "Yes"
|
2109 |
+
msgstr "Jā"
|
2110 |
+
|
2111 |
+
msgid "You can change number of Columns and Rows later"
|
2112 |
+
msgstr "Jūs varat mainīt kolonnu skaitu un rindas vēlāk"
|
2113 |
+
|
2114 |
+
msgid ""
|
2115 |
+
"You have no diagrams for now. Go to %s -> select the required data in the "
|
2116 |
+
"table and click on “Add diagram” button. Also please check the tutorial %s"
|
2117 |
+
msgstr ""
|
2118 |
+
"Patreiz jums nav diagrammu. Atveriet %s -> atlasiet vajadzīgos datu tabulā "
|
2119 |
+
"un noklikšķiniet uz pogas \"Pievienot diagrammu\". Lūdzu, arī pārbaudiet "
|
2120 |
+
"apmācības programmu %s"
|
2121 |
+
|
2122 |
+
msgid ""
|
2123 |
+
"You need to enable ZipArchive extension in PHP config file on your server. "
|
2124 |
+
"Please, contact to your server administrator."
|
2125 |
+
msgstr ""
|
2126 |
+
"Jums ir jāiespējo ZipArchive paplašinājums uz sava servera iekšs PHP "
|
2127 |
+
"konfigurācijas faila. Lūdzu, sazinieties ar savu servera administratoru."
|
2128 |
+
|
2129 |
+
msgid "You will not be able to update your pro version with expired license"
|
2130 |
+
msgstr "Jūs nevarat atjaunināt savu pro versiju ar izbeigušos licences datumu"
|
2131 |
+
|
2132 |
+
msgid "Your message successfully send. We contact you soon."
|
2133 |
+
msgstr "Jūsu ziņa ir veiksmīgi nosūtīta. Drīzumā mēs sazināsimies ar jums."
|
2134 |
+
|
2135 |
+
msgid "Your premium support is expired in %s days"
|
2136 |
+
msgstr "Jūsu piemaksu atbalsts ir beidzies %s dienās"
|
2137 |
+
|
2138 |
+
msgid "Your premium support is expired in ' ~ days ~ ' days"
|
2139 |
+
msgstr "Jūsu premium atbalsts beidzies pēc ' ~ dienas ~ '"
|
2140 |
+
|
2141 |
+
msgid "Zero records"
|
2142 |
+
msgstr "Nulle ierakstu"
|
2143 |
+
|
2144 |
+
msgid "by Supsystic!"
|
2145 |
+
msgstr "ar Supsystic!"
|
2146 |
+
|
2147 |
+
msgid "default"
|
2148 |
+
msgstr "noklusējums"
|
2149 |
+
|
2150 |
+
msgid "disable width"
|
2151 |
+
msgstr "atspējot platumu"
|
2152 |
+
|
2153 |
+
msgid "how to create Diagrams with Data Table plugin"
|
2154 |
+
msgstr "kā izveidot diagrammas ar Data Table spraudni"
|
2155 |
+
|
2156 |
+
msgid "value"
|
2157 |
+
msgstr "vērtība"
|
app/templates/404.twig
CHANGED
@@ -1,3 +1,4 @@
|
|
1 |
<div class="wrap">
|
2 |
-
|
|
|
3 |
</div>
|
1 |
<div class="wrap">
|
2 |
+
<h1>The page you requested is not found</h1>
|
3 |
+
<div>Method <strong>{{ action }}</strong> does not exists in controller <strong>{{ controller }}</strong></div>
|
4 |
</div>
|
index.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin Name: Data Tables Generator by Supsystic
|
5 |
* Plugin URI: http://supsystic.com
|
6 |
* Description: Create and manage beautiful data tables with custom design. No HTML knowledge is required
|
7 |
-
* Version: 1.
|
8 |
* Author: supsystic.com
|
9 |
* Author URI: http://supsystic.com
|
10 |
*/
|
4 |
* Plugin Name: Data Tables Generator by Supsystic
|
5 |
* Plugin URI: http://supsystic.com
|
6 |
* Description: Create and manage beautiful data tables with custom design. No HTML knowledge is required
|
7 |
+
* Version: 1.8.2
|
8 |
* Author: supsystic.com
|
9 |
* Author URI: http://supsystic.com
|
10 |
*/
|
readme.txt
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
=== Data Tables Generator by Supsystic ===
|
2 |
Contributors: supsystic.com
|
3 |
Tags: csv, csv file, csv to table, excel, table, tablesorter, post, data table, table, database, html table, table generator, builder, generator, cells, area chart, bar chart, candlestick chart, canvas, chart, charting, charts, column chart, gauge chart, geo chart, google chart, google visualization api, graph, graphing, graphs, html5, line chart, pie chart, scatter chart, spreadsheet, visualisation, visualise data, visualization, visualize data
|
4 |
-
Tested up to: 4.9.
|
5 |
-
Stable tag: 1.
|
6 |
|
7 |
Create data tables with charts and graphs. Custom design, navigation, searching and ordering functions. Export to PDF, CSV, Print. Excel spreadsheet
|
8 |
|
@@ -194,6 +194,74 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
194 |
|
195 |
== Changelog ==
|
196 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
= 1.7.5 / 06.02.2018 =
|
198 |
* Hotfix of applying cell styles to table
|
199 |
* Fix of exporting table to PDF in admin area
|
1 |
=== Data Tables Generator by Supsystic ===
|
2 |
Contributors: supsystic.com
|
3 |
Tags: csv, csv file, csv to table, excel, table, tablesorter, post, data table, table, database, html table, table generator, builder, generator, cells, area chart, bar chart, candlestick chart, canvas, chart, charting, charts, column chart, gauge chart, geo chart, google chart, google visualization api, graph, graphing, graphs, html5, line chart, pie chart, scatter chart, spreadsheet, visualisation, visualise data, visualization, visualize data
|
4 |
+
Tested up to: 4.9.5
|
5 |
+
Stable tag: 1.8.2
|
6 |
|
7 |
Create data tables with charts and graphs. Custom design, navigation, searching and ordering functions. Export to PDF, CSV, Print. Excel spreadsheet
|
8 |
|
194 |
|
195 |
== Changelog ==
|
196 |
|
197 |
+
= 1.8.2 / 20.04.2018 =
|
198 |
+
* Hotfix by compatibility with old pro versions
|
199 |
+
|
200 |
+
= 1.8.1 / 13.04.2018 =
|
201 |
+
* Hotfix by compatibility with old pro versions
|
202 |
+
|
203 |
+
= 1.8.0 / 12.04.2018 =
|
204 |
+
* Add of ability to remove the escaping of HTML for the formulas results
|
205 |
+
* Update of way of parsing table formulas on frontend
|
206 |
+
* Fix of applying text wrapping for cells during table export
|
207 |
+
* Fix of applying underline text style for cells during table export
|
208 |
+
* Fixed auto width + scroll in frontend
|
209 |
+
* Fixed the grid offset of the table for Fixed Header
|
210 |
+
* Fixed the grid offset of the table for Fixed Footer
|
211 |
+
* Fix of applying underline text style for cells during table import
|
212 |
+
* Fix of applying text wrapping for cells during table import
|
213 |
+
* Fixed parameter "Save Frontend Fields", when save empty values
|
214 |
+
* Fixed bug with "Save Frontend Fields" param and exporting changed data
|
215 |
+
* Fixed Export to XSL and XSLX for invisible cells
|
216 |
+
* Added hidden rows and hidden columns for Excel import
|
217 |
+
* Fixed bug with "Cell edit" when using "" parameter
|
218 |
+
* Fixed check row height condition
|
219 |
+
* Added DB transactions for parameter "Save Frontend Fields"
|
220 |
+
* Fixed javascript error for fnAdjustColumnSizing
|
221 |
+
* Fixed timing for header resizing
|
222 |
+
* Add Conditional Formatting feature
|
223 |
+
* Add of shortcode for output only selected rows and / or columns of table
|
224 |
+
* Fix of using of lower case in indexes of cells and in formulas in the table editor
|
225 |
+
* Add of ability to move columns and rows in the table editor manually
|
226 |
+
* Add ability to make the rows collapsible on frontend
|
227 |
+
* Add ability to convert content of cells to the icons with tooltips
|
228 |
+
* Update of icons of editor toolbar
|
229 |
+
* Fix PopUp integration
|
230 |
+
* Add ability to import / export the rules of conditional formatting from / to MS Excel
|
231 |
+
* Add of check for required extension ZipArchive for import from MS Excel
|
232 |
+
* Add ability to set period for creating of new table instance in history
|
233 |
+
* Fix of switch the cell from selectable to editable type
|
234 |
+
* Update of using of features "removed cells" and "hidden cells" on frontend for tables without headers
|
235 |
+
* Fix styles for using auto table width with horizontal scroll
|
236 |
+
* Fix of displaying of diagrams
|
237 |
+
* Fix of displaying of pagination selectlist for table
|
238 |
+
* Update the tooltips for plugin settings page
|
239 |
+
|
240 |
+
= 1.7.9 / 09.03.2018 =
|
241 |
+
* Fix issue for base formulas and empty cells (they should be counted as Zero)
|
242 |
+
* Fix issue for some languages (Germany, etc.)
|
243 |
+
* Code improvements
|
244 |
+
|
245 |
+
= 1.7.8 / 07.03.2018 =
|
246 |
+
* Add ability to use simple calculation actions with dates
|
247 |
+
* Update of way to connect of table's translation
|
248 |
+
* Update of tooltips for the "Language and Text" tab in table admin area
|
249 |
+
* Fix for detecting browser language in Safari
|
250 |
+
* Fix for Norwegian-Nynorsk translation data
|
251 |
+
* Fix of formulas updating after rows / columns adding / removing
|
252 |
+
* Fix of formulas updating after pasting data from another cell
|
253 |
+
* Fix of correction of cells values during cells autofilling
|
254 |
+
* Fix of calculation of DATE formulas: DATE, DAY, DAYS, DAYS360, EDATE, EOMONTH, MONTH, HOUR, MINUTE, ISOWEEKNUM, TODAY, NOW, SUBTOTAL
|
255 |
+
* Fix of using empty cells in calculations
|
256 |
+
|
257 |
+
= 1.7.7 / 23.02.2018 =
|
258 |
+
* Hotfix for compatibility with old pro versions
|
259 |
+
|
260 |
+
= 1.7.6 / 20.02.2018 =
|
261 |
+
* Security fix for table import and export
|
262 |
+
* Fix of execution of JS scripts, added through the Execute JS Script After Table Load option
|
263 |
+
* Small code fix
|
264 |
+
|
265 |
= 1.7.5 / 06.02.2018 =
|
266 |
* Hotfix of applying cell styles to table
|
267 |
* Fix of exporting table to PDF in admin area
|
src/SupsysticTables/Core/Model/Core.php
CHANGED
@@ -21,15 +21,19 @@ class SupsysticTables_Core_Model_Core extends SupsysticTables_Core_BaseModel
|
|
21 |
public function update($data)
|
22 |
{
|
23 |
$data = $this->prepare($data);
|
|
|
|
|
|
|
24 |
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
|
|
33 |
}
|
34 |
|
35 |
public function checkQueryOnColumnNotExists($queryString) {
|
21 |
public function update($data)
|
22 |
{
|
23 |
$data = $this->prepare($data);
|
24 |
+
$queries = explode(';', $data);
|
25 |
+
$queries = array_map('trim', $queries);
|
26 |
+
$queries = array_filter($queries);
|
27 |
|
28 |
+
foreach($queries as $q) {
|
29 |
+
if ('alter' === substr(strtolower($q), 0, 5)) {
|
30 |
+
if($this->checkQueryOnColumnNotExists($q)) {
|
31 |
+
$this->db->query($q);
|
32 |
+
}
|
33 |
+
} else {
|
34 |
+
$this->delta($q);
|
35 |
+
}
|
36 |
+
}
|
37 |
}
|
38 |
|
39 |
public function checkQueryOnColumnNotExists($queryString) {
|
src/SupsysticTables/Core/Module.php
CHANGED
@@ -64,11 +64,6 @@ class SupsysticTables_Core_Module extends SupsysticTables_Core_BaseModule
|
|
64 |
wp_localize_script('tables-core', 'g_stbStandartFontsList', $standardFontsList);
|
65 |
}
|
66 |
|
67 |
-
public function addLanguagesData() {
|
68 |
-
$languages = $this->getModule('tables')->getController()->getModel('languages', 'tables');
|
69 |
-
wp_localize_script('tables-core', 'g_stbTblLang', $languages->getLanguageMap());
|
70 |
-
}
|
71 |
-
|
72 |
/**
|
73 |
* {@inheritdoc}
|
74 |
*/
|
@@ -82,103 +77,105 @@ class SupsysticTables_Core_Module extends SupsysticTables_Core_BaseModule
|
|
82 |
$hookName = 'admin_enqueue_scripts';
|
83 |
$dynamicHookName = is_admin() ? $hookName : 'wp_enqueue_scripts';
|
84 |
|
85 |
-
$jquery = $ui->createScript('jquery')
|
86 |
-
->setHookName($hookName);
|
87 |
-
|
88 |
/* jQuery */
|
89 |
-
$ui->add(
|
|
|
|
|
|
|
90 |
|
91 |
-
|
|
|
|
|
|
|
92 |
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
add_action('wp_enqueue_scripts', array($this, 'enquieAjaxUrl'), 999);
|
103 |
-
add_action($dynamicHookName, array($this, 'addLanguagesData'), 999);
|
104 |
add_action($dynamicHookName, array($this, 'addCommonPluginData'), 999);
|
105 |
add_action($dynamicHookName, array($this, 'addFontsData'), 999);
|
106 |
-
$ui->add(
|
107 |
-
$ui->createScript('tables-create-table')
|
108 |
-
->setHookName($hookName)
|
109 |
-
->setModuleSource($this, 'js/create-table.js')
|
110 |
-
->setDependencies(array('jquery', 'jquery-ui-dialog'))
|
111 |
-
->setCachingAllowed($cachingAllowed)
|
112 |
-
->setVersion($pluginVersion)
|
113 |
-
);
|
114 |
-
|
115 |
-
$ui->add(
|
116 |
-
$ui->createStyle('tables-tooltipster')
|
117 |
-
->setHookName($hookName)
|
118 |
-
->setModuleSource($this, 'css/tooltipster.css')
|
119 |
-
->setCachingAllowed($cachingAllowed)
|
120 |
-
->setVersion($pluginVersion)
|
121 |
-
);
|
122 |
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
|
|
131 |
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
);
|
141 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
}
|
183 |
|
184 |
/**
|
64 |
wp_localize_script('tables-core', 'g_stbStandartFontsList', $standardFontsList);
|
65 |
}
|
66 |
|
|
|
|
|
|
|
|
|
|
|
67 |
/**
|
68 |
* {@inheritdoc}
|
69 |
*/
|
77 |
$hookName = 'admin_enqueue_scripts';
|
78 |
$dynamicHookName = is_admin() ? $hookName : 'wp_enqueue_scripts';
|
79 |
|
|
|
|
|
|
|
80 |
/* jQuery */
|
81 |
+
$ui->add(
|
82 |
+
$ui->createScript('jquery')
|
83 |
+
->setHookName($dynamicHookName)
|
84 |
+
);
|
85 |
|
86 |
+
$ui->add(
|
87 |
+
$ui->createScript('jquery-ui-dialog')
|
88 |
+
->setHookName($hookName)
|
89 |
+
);
|
90 |
|
91 |
+
/* Core script with common functions in supsystic.Tables namespace */
|
92 |
+
$ui->add(
|
93 |
+
$ui->createScript('tables-core')
|
94 |
+
->setHookName($dynamicHookName)
|
95 |
+
->setModuleSource($this, 'js/core.js')
|
96 |
+
->addDependency('jquery')
|
97 |
+
->setCachingAllowed($cachingAllowed)
|
98 |
+
->setVersion($pluginVersion)
|
99 |
+
);
|
100 |
add_action('wp_enqueue_scripts', array($this, 'enquieAjaxUrl'), 999);
|
|
|
101 |
add_action($dynamicHookName, array($this, 'addCommonPluginData'), 999);
|
102 |
add_action($dynamicHookName, array($this, 'addFontsData'), 999);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
|
104 |
+
/* Script for creating new table by click on main plugin tab "Add table" */
|
105 |
+
$ui->add(
|
106 |
+
$ui->createScript('tables-create-table')
|
107 |
+
->setHookName($hookName)
|
108 |
+
->setModuleSource($this, 'js/create-table.js')
|
109 |
+
->setDependencies(array('jquery', 'jquery-ui-dialog'))
|
110 |
+
->setCachingAllowed($cachingAllowed)
|
111 |
+
->setVersion($pluginVersion)
|
112 |
+
);
|
113 |
|
114 |
+
/* Tooltipster */
|
115 |
+
$ui->add(
|
116 |
+
$ui->createStyle('tables-tooltipster')
|
117 |
+
->setHookName($hookName)
|
118 |
+
->setModuleSource($this, 'css/tooltipster.css')
|
119 |
+
->setCachingAllowed($cachingAllowed)
|
120 |
+
->setVersion($pluginVersion)
|
121 |
+
);
|
|
|
122 |
|
123 |
+
$ui->add(
|
124 |
+
$ui->createScript('tables-tooltipster')
|
125 |
+
->setHookName($hookName)
|
126 |
+
->setModuleSource($this, 'js/jquery.tooltipster.min.js')
|
127 |
+
->addDependency('jquery')
|
128 |
+
->setCachingAllowed(true)
|
129 |
+
->setVersion($pluginVersion)
|
130 |
+
);
|
131 |
|
132 |
+
/* Bootstrap */
|
133 |
+
$ui->add(
|
134 |
+
$ui->createScript('tables-bootstrap')
|
135 |
+
->setHookName($hookName)
|
136 |
+
->setLocalSource('js/libraries/bootstrap/bootstrap.min.js')
|
137 |
+
->addDependency('jquery')
|
138 |
+
->setCachingAllowed(true)
|
139 |
+
->setVersion('3.3.1')
|
140 |
+
);
|
141 |
|
142 |
+
/* Chosen */
|
143 |
+
$ui->add(
|
144 |
+
$ui->createScript('tables-chosen')
|
145 |
+
->setHookName($hookName)
|
146 |
+
->setLocalSource('js/plugins/chosen.jquery.min.js')
|
147 |
+
->addDependency('jquery')
|
148 |
+
->setCachingAllowed(true)
|
149 |
+
->setVersion('1.4.2')
|
150 |
+
);
|
151 |
|
152 |
+
/* iCheck */
|
153 |
+
$ui->add(
|
154 |
+
$ui->createScript('tables-iCheck')
|
155 |
+
->setHookName($hookName)
|
156 |
+
->setLocalSource('js/plugins/icheck.min.js')
|
157 |
+
->addDependency('jquery')
|
158 |
+
->setCachingAllowed(true)
|
159 |
+
->setVersion('1.0.2')
|
160 |
+
);
|
161 |
|
162 |
+
/* Supsystic UI */
|
163 |
+
$ui->add(
|
164 |
+
$ui->createStyle('tables-ui-styles')
|
165 |
+
->setHookName($hookName)
|
166 |
+
->setLocalSource('css/supsystic-ui.css')
|
167 |
+
->setCachingAllowed($cachingAllowed)
|
168 |
+
->setVersion($pluginVersion)
|
169 |
+
);
|
170 |
|
171 |
+
$ui->add(
|
172 |
+
$ui->createScript('tables-ui')
|
173 |
+
->setHookName($hookName)
|
174 |
+
->setLocalSource('js/supsystic.ui.js')
|
175 |
+
->addDependency('jquery')
|
176 |
+
->setCachingAllowed($cachingAllowed)
|
177 |
+
->setVersion($pluginVersion)
|
178 |
+
);
|
179 |
}
|
180 |
|
181 |
/**
|
src/SupsysticTables/Core/assets/css/images/sort_asc.png
ADDED
Binary file
|
src/SupsysticTables/Core/assets/css/images/sort_asc_disabled.png
ADDED
Binary file
|
src/SupsysticTables/Core/assets/css/images/sort_both.png
ADDED
Binary file
|
src/SupsysticTables/Core/assets/css/images/sort_desc.png
ADDED
Binary file
|
src/SupsysticTables/Core/assets/css/images/sort_desc_disabled.png
ADDED
Binary file
|
src/SupsysticTables/Core/assets/css/lib/fixedColumns.dataTables.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
table.DTFC_Cloned thead,table.DTFC_Cloned tfoot{background-color:white}div.DTFC_Blocker{background-color:white}div.DTFC_LeftWrapper table.dataTable,div.DTFC_RightWrapper table.dataTable{margin-bottom:0;z-index:2}div.DTFC_LeftWrapper table.dataTable.no-footer,div.DTFC_RightWrapper table.dataTable.no-footer{border-bottom:none}
|
src/SupsysticTables/Core/assets/css/lib/fixedHeader.dataTables.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
table.fixedHeader-floating{position:fixed !important;background-color:white}table.fixedHeader-floating.no-footer{border-bottom-width:0}table.fixedHeader-locked{position:absolute !important;background-color:white}@media print{table.fixedHeader-floating{display:none}}
|
src/SupsysticTables/Core/assets/css/lib/jquery.dataTables.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc{cursor:pointer;*cursor:hand}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table,.dataTables_wrapper.no-footer div.dataTables_scrollBody table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}}
|
src/SupsysticTables/Core/assets/css/lib/responsive.dataTables.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty{cursor:default !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before{display:none !important}table.dataTable.dtr-inline.collapsed>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child{position:relative;padding-left:30px;cursor:pointer}table.dataTable.dtr-inline.collapsed>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th:first-child:before{top:8px;left:4px;height:16px;width:16px;display:block;position:absolute;color:white;border:2px solid white;border-radius:16px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:left;font-family:'Courier New', Courier, monospace;text-indent:4px;line-height:16px;content:'+';background-color:#31b131}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:'-';background-color:#d33333}table.dataTable.dtr-inline.collapsed>tbody>tr.child td:before{display:none}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}table.dataTable.dtr-column>tbody>tr>td.control,table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}table.dataTable.dtr-column>tbody>tr>td.control:before,table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:white;border:2px solid white;border-radius:16px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:left;font-family:'Courier New', Courier, monospace;text-indent:4px;line-height:16px;content:'+';background-color:#31b131}table.dataTable.dtr-column>tbody>tr.parent td.control:before,table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:'-';background-color:#d33333}table.dataTable>tbody>tr.child{padding:0.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent !important}table.dataTable>tbody>tr.child ul{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul li{border-bottom:1px solid #efefef;padding:0.5em 0}table.dataTable>tbody>tr.child ul li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul li:last-child{border-bottom:none}table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:bold}div.dtr-modal{position:fixed;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;overflow:auto;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid black;border-radius:0.5em;box-shadow:0 12px 30px rgba(0,0,0,0.6)}div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,0.6)}@media screen and (max-width: 767px){div.dtr-modal div.dtr-modal-display{width:95%}}
|
src/SupsysticTables/Core/assets/js/core.js
CHANGED
@@ -1,545 +1,507 @@
|
|
1 |
if(typeof(SDT_DATA) == 'undefined') {
|
2 |
-
|
3 |
}
|
4 |
|
5 |
(function (vendor, $, window) {
|
6 |
|
7 |
-
|
8 |
-
|
|
|
9 |
|
10 |
-
|
11 |
-
|
12 |
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
vendor[appName].getAllTableInstances = (function getAllTableInstances() {
|
18 |
-
return dataTableInstances;
|
19 |
-
});
|
20 |
-
|
21 |
-
vendor[appName].setTableInstance = (function setTableInstance(instance) {
|
22 |
-
dataTableInstances.push(instance);
|
23 |
-
});
|
24 |
-
|
25 |
-
vendor[appName].getTableInstanceById = (function getTableInstanceById(id) {
|
26 |
-
var allTables = vendor[appName].getAllTableInstances();
|
27 |
-
|
28 |
-
for(var i = 0; i < allTables.length; i++) {
|
29 |
-
if(allTables[i].table_id == id) {
|
30 |
-
return allTables[i];
|
31 |
-
}
|
32 |
-
}
|
33 |
-
return false;
|
34 |
-
});
|
35 |
-
|
36 |
-
vendor[appName].getTableInstanceByViewId = (function getTableInstanceById(viewId) {
|
37 |
-
var allTables = vendor[appName].getAllTableInstances();
|
38 |
-
|
39 |
-
for(var i = 0; i < allTables.length; i++) {
|
40 |
-
if(allTables[i].table_view_id == viewId) {
|
41 |
-
return allTables[i];
|
42 |
-
}
|
43 |
-
}
|
44 |
-
return false;
|
45 |
-
});
|
46 |
-
|
47 |
-
vendor[appName].removeTableInstanceByViewId = (function removeTableInstanceByViewId(viewId) {
|
48 |
-
var allTables = vendor[appName].getAllTableInstances();
|
49 |
-
|
50 |
-
for(var i = 0; i < allTables.length; i++) {
|
51 |
-
if(allTables[i].table_view_id == viewId) {
|
52 |
-
allTables.splice(i, 1);
|
53 |
-
return true;
|
54 |
-
}
|
55 |
-
}
|
56 |
-
return false;
|
57 |
-
});
|
58 |
|
59 |
-
|
60 |
-
|
61 |
|
62 |
-
|
63 |
-
|
64 |
|
65 |
-
|
66 |
-
|
67 |
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
}
|
80 |
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
|
85 |
-
|
86 |
-
|
87 |
-
}
|
88 |
|
89 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
|
91 |
-
|
92 |
-
|
93 |
-
deferred = $.Deferred();
|
94 |
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
|
|
|
|
100 |
|
101 |
-
|
102 |
-
|
103 |
-
}
|
104 |
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
|
|
|
|
|
|
110 |
|
111 |
-
|
112 |
-
|
|
|
113 |
|
114 |
-
|
115 |
-
|
|
|
116 |
|
117 |
-
|
118 |
-
|
|
|
119 |
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
}
|
124 |
-
} else {
|
125 |
-
return $('<i/>', { class: 'fa fa-spinner fa-spin' });
|
126 |
-
}
|
127 |
-
});
|
128 |
|
129 |
-
|
130 |
-
|
|
|
|
|
|
|
131 |
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
});
|
137 |
-
|
138 |
-
vendor[appName].initializeTable = (function initializeTable(table, callback, finalCallback, reinit, addInstance) {
|
139 |
-
reinit = typeof reinit != 'undefined' ? reinit : {};
|
140 |
-
addInstance = typeof addInstance != 'undefined' ? addInstance : true;
|
141 |
-
|
142 |
-
var $table = (table instanceof $ ? table : $(table)),
|
143 |
-
features = $table.data('features'),
|
144 |
-
config = {},
|
145 |
-
translation = {},
|
146 |
-
language = $table.data('lang'),
|
147 |
-
override = $table.data('override'),
|
148 |
-
responsiveMode = $table.data('responsive-mode'),
|
149 |
-
searchingSettings = $table.data('searching-settings'),
|
150 |
-
tableInstance = {},
|
151 |
-
defaultFeatures = {
|
152 |
-
autoWidth: false,
|
153 |
-
info: false,
|
154 |
-
ordering: false,
|
155 |
-
paging: false,
|
156 |
-
responsive: false,
|
157 |
-
searching: false,
|
158 |
-
stateSave: false,
|
159 |
-
api: true,
|
160 |
-
initComplete: callback,
|
161 |
-
headerCallback: function( thead, data, start, end, display ) {
|
162 |
-
$(thead).closest('thead').find('th').each(function() {
|
163 |
-
setStylesToCell(this);
|
164 |
-
});
|
165 |
-
},
|
166 |
-
footerCallback: function( tfoot, data, start, end, display ) {
|
167 |
-
$(tfoot).closest('tfoot').find('th').each(function() {
|
168 |
-
setStylesToCell(this);
|
169 |
-
});
|
170 |
-
}
|
171 |
-
};
|
172 |
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
return naturalSort(a,b,true);
|
177 |
-
},
|
178 |
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
|
183 |
-
|
184 |
-
return naturalSort(a,b,false);
|
185 |
-
},
|
186 |
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
|
191 |
-
|
192 |
-
|
193 |
-
|
|
|
|
|
194 |
|
195 |
-
|
196 |
-
|
|
|
197 |
|
198 |
-
|
199 |
-
|
200 |
-
|
|
|
|
|
201 |
|
202 |
-
|
203 |
-
|
204 |
|
205 |
-
|
206 |
-
|
207 |
-
b = b.toString().toLowerCase();
|
208 |
|
209 |
-
|
210 |
-
|
211 |
|
212 |
-
|
213 |
-
|
214 |
-
|
|
|
|
|
|
|
|
|
|
|
215 |
|
216 |
-
|
217 |
-
|
218 |
-
} );
|
219 |
-
/* custom sort end */
|
220 |
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
if (searchingSettings.minChars > 0 ||
|
227 |
-
searchingSettings.resultOnly ||
|
228 |
-
searchingSettings.strictMatching
|
229 |
-
) {
|
230 |
-
|
231 |
-
$.fn.dataTable.ext.search.push(function(settings, data) {
|
232 |
-
var $searchInput = $(settings.nTableWrapper).find('.dataTables_filter input'),
|
233 |
-
searchValue = $searchInput.val();
|
234 |
-
|
235 |
-
if (searchingSettings.resultOnly && searchValue.length === 0) {
|
236 |
-
if (searchingSettings.showTable) {
|
237 |
-
return false;
|
238 |
-
}
|
239 |
-
return false;
|
240 |
-
}
|
241 |
-
if (searchingSettings.strictMatching) {
|
242 |
-
searchValue = $.fn.dataTable.util.escapeRegex(searchValue);
|
243 |
-
var regExp = new RegExp('^' + searchValue, 'i');
|
244 |
-
|
245 |
-
for (var i = 0; i < data.length; i++) {
|
246 |
-
var words = data[i].replace(/\s\s+/g, ' ').split(' ');
|
247 |
-
|
248 |
-
for (var j = 0; j < words.length; j++) {
|
249 |
-
if (words[j].match(regExp)) {
|
250 |
-
return true;
|
251 |
-
}
|
252 |
-
}
|
253 |
-
}
|
254 |
-
return false;
|
255 |
-
} else {
|
256 |
-
return data.join(' ').toLowerCase().indexOf(searchValue.toLowerCase()) !== -1
|
257 |
-
}
|
258 |
-
});
|
259 |
-
$table.on('init.dt', function (event, settings) {
|
260 |
-
if (!settings) {
|
261 |
-
return;
|
262 |
-
}
|
263 |
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
$tableSearchInput.replaceWith($customInput);
|
269 |
-
|
270 |
-
$customInput.on('input change', function() {
|
271 |
-
if (!searchingSettings.showTable) {
|
272 |
-
if (searchingSettings.resultOnly && searchingSettings.minChars && (this.value.length < searchingSettings.minChars || !this.value.length)) {
|
273 |
-
$table.hide();
|
274 |
-
$table.parent().find('.dataTables_paginate').hide();
|
275 |
-
} else {
|
276 |
-
$table.show();
|
277 |
-
$table.parent().find('.dataTables_paginate').show();
|
278 |
-
}
|
279 |
-
}
|
280 |
-
if (searchingSettings.minChars && (this.value.length < searchingSettings.minChars && this.value.length !== 0)) {
|
281 |
-
event.preventDefault();
|
282 |
-
return false;
|
283 |
-
}
|
284 |
-
$table.api().draw();
|
285 |
-
});
|
286 |
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
if ($table.data('pagination-length')) {
|
327 |
-
var aLengthMenu = [];
|
328 |
-
var paginationLength = String($table.data('pagination-length'));
|
329 |
-
aLengthMenu.push(paginationLength.replace('All', -1).split(',').map(Number));
|
330 |
-
aLengthMenu.push(paginationLength.split(','));
|
331 |
-
config.aLengthMenu = aLengthMenu;
|
332 |
-
}
|
333 |
-
if ($table.data('auto-index') && $table.data('auto-index') !== 'off') {
|
334 |
-
$table.on('draw.dt', function() {
|
335 |
-
$table.api().column(0).nodes().each(function (cell, i) {
|
336 |
-
cell.innerHTML = i + 1;
|
337 |
-
});
|
338 |
-
});
|
339 |
-
}
|
340 |
-
if (responsiveMode == 0) {
|
341 |
-
// Responsive Mode: Standart Responsive Mode
|
342 |
-
var labelStyles = '<style>',
|
343 |
-
id = '#' + $table.attr('id');
|
344 |
-
|
345 |
-
// Add header data to each response row
|
346 |
-
$table.find('thead th').each(function(index, el) {
|
347 |
-
labelStyles += id + '.oneColumnWithLabels td:nth-of-type(' + (index + 1) + '):before { content: "' + $(this).text() + '"; }';
|
348 |
-
});
|
349 |
-
labelStyles += '</style>';
|
350 |
-
$table.append(labelStyles);
|
351 |
-
|
352 |
-
$(window).on('resize', $table, function(event) {
|
353 |
-
event.preventDefault();
|
354 |
-
clearTimeout($table.data('resizeTimer'));
|
355 |
-
|
356 |
-
$table.data('resizeTimer', setTimeout(function() {
|
357 |
-
$table.removeClass('oneColumn oneColumnWithLabels');
|
358 |
-
var tableWidth = $table.width(),
|
359 |
-
wrapperWidth = $table.closest('.supsystic-tables-wrap').width();
|
360 |
-
if (tableWidth > wrapperWidth) {
|
361 |
-
$table.addClass('oneColumn');
|
362 |
-
|
363 |
-
if ($table.data('head') == 'on') {
|
364 |
-
$table.addClass('oneColumnWithLabels');
|
365 |
-
}
|
366 |
-
}
|
367 |
-
}, 150));
|
368 |
-
}).trigger('resize');
|
369 |
-
} else if (responsiveMode === 1) {
|
370 |
-
// Responsive Mode: Automatic Column Hiding
|
371 |
-
config.responsive = {
|
372 |
-
details: {
|
373 |
-
renderer: function (api, rowIdx, columns) {
|
374 |
-
var $table = $(api.table().node()),
|
375 |
-
$subTable = $('<table/>');
|
376 |
-
|
377 |
-
$.each(columns, function (i, col) {
|
378 |
-
if (col.hidden) {
|
379 |
-
var $cell = $(api.cell(col.rowIndex, col.columnIndex).node()).clone(),
|
380 |
-
markup = '<tr data-dt-row="'+col.rowIndex+'" data-dt-column="'+col.columnIndex+'">';
|
381 |
-
if ($table.data('head') == 'on') {
|
382 |
-
var $headerContent = $(api.table().header()).find('th').eq(col.columnIndex).html();
|
383 |
-
markup += '<td>';
|
384 |
-
if ($headerContent) {
|
385 |
-
markup += $headerContent;
|
386 |
-
}
|
387 |
-
markup += '</td>';
|
388 |
-
}
|
389 |
-
markup += '</tr>';
|
390 |
-
$cell.after(
|
391 |
-
$('<td>')
|
392 |
-
.addClass('collapsed-cell-holder')
|
393 |
-
.attr('data-cell-row', col.rowIndex)
|
394 |
-
.attr('data-cell-column', col.columnIndex)
|
395 |
-
.hide()
|
396 |
-
);
|
397 |
-
$subTable.append($(markup).append($cell.addClass('collapsed').show()));
|
398 |
-
}
|
399 |
-
});
|
400 |
-
return $subTable.is(':empty') ? false : $subTable;
|
401 |
-
}
|
402 |
-
}
|
403 |
-
};
|
404 |
-
$table.on('responsive-resize.dt', function(event, api, columns) {
|
405 |
-
if ($table.width() > $table.parent().width()) {
|
406 |
-
api.responsive.recalc();
|
407 |
-
return;
|
408 |
-
}
|
409 |
-
for (var i = 0, len = columns.length; i < len; i++) {
|
410 |
-
if (columns[i]) {
|
411 |
-
$table.find('tr > td.collapsed-cell-holder[data-cell-column="' + i + '"]').each(function(index, el) {
|
412 |
-
var $this = $(this);
|
413 |
-
var $cell = $(api.cell(
|
414 |
-
$this.data('cell-row'),
|
415 |
-
$this.data('cell-column')
|
416 |
-
).node());
|
417 |
-
|
418 |
-
if ($cell.hasClass('collapsed')) {
|
419 |
-
$cell.removeClass('collapsed');
|
420 |
-
$this.replaceWith($cell);
|
421 |
-
}
|
422 |
-
});
|
423 |
}
|
424 |
-
}
|
425 |
-
});
|
426 |
-
} else if (responsiveMode === 2) {
|
427 |
-
// Responsive Mode: Horizontal Scroll
|
428 |
-
config.scrollX = true;
|
429 |
-
}
|
430 |
-
if(responsiveMode === 2 || responsiveMode === 3) {
|
431 |
-
// Responsive Mode: 2 - Horizontal Scroll, 3 - Disable Responsivity
|
432 |
-
var fixedHead = $table.data('head') && $table.data('fixed-head'),
|
433 |
-
fixedFoot = $table.data('foot') && $table.data('fixed-foot'),
|
434 |
-
fixedLeft = $table.data('fixed-left'),
|
435 |
-
fixedRight = $table.data('fixed-right');
|
436 |
-
|
437 |
-
// TODO: correct the code to set fixed header and fixed footer in the standard way
|
438 |
-
// TODO: https://datatables.net/extensions/fixedheader/#Features
|
439 |
-
//config.fixedHeader = {
|
440 |
-
// header: false,
|
441 |
-
// footer: false
|
442 |
-
//};
|
443 |
-
//if (fixedHead) {
|
444 |
-
// config.fixedHeader.header = true;
|
445 |
-
//}
|
446 |
-
//if (fixedFoot) {
|
447 |
-
// config.fixedHeader.footer = true;
|
448 |
-
//}
|
449 |
-
if(fixedHead || fixedFoot) {
|
450 |
-
config.scrollY = $table.data('fixed-height');
|
451 |
-
config.scrollCollapse = true;
|
452 |
-
}
|
453 |
-
if ($table.data('fixed-cols')) {
|
454 |
-
config.fixedColumns = {
|
455 |
-
leftColumns: fixedLeft ? parseInt(fixedLeft) : 0,
|
456 |
-
rightColumns: fixedRight ? parseInt(fixedRight) : 0
|
457 |
-
};
|
458 |
-
config.scrollX = true;
|
459 |
-
}
|
460 |
-
}
|
461 |
-
$.fn.dataTableExt.oApi.fnFakeRowspan = function (oSettings) {
|
462 |
-
var cells;
|
463 |
-
$.each(oSettings.aoData, function(index, rowData) {
|
464 |
-
setCellAttributes(rowData.anCells);
|
465 |
-
});
|
466 |
-
if (oSettings.aoHeader.length) {
|
467 |
-
cells = [];
|
468 |
-
$.each(oSettings.aoHeader, function(index, rowData) {
|
469 |
-
$.each(rowData, function(index, cellData) {
|
470 |
-
cells.push(cellData.cell);
|
471 |
-
});
|
472 |
-
});
|
473 |
-
setCellAttributes(cells);
|
474 |
-
}
|
475 |
-
if (oSettings.aoFooter.length) {
|
476 |
-
cells = [];
|
477 |
-
$.each(oSettings.aoFooter, function(index, rowData) {
|
478 |
-
$.each(rowData, function(index, cellData) {
|
479 |
-
cells.push(cellData.cell);
|
480 |
-
});
|
481 |
});
|
482 |
-
|
483 |
-
|
484 |
-
return this;
|
485 |
-
};
|
486 |
-
_checkOnClickPopups();
|
487 |
-
if(language) {
|
488 |
-
if(language == 'browser') {
|
489 |
-
language = g_stbTblLang && g_stbTblLang[navigator.language] ? g_stbTblLang[navigator.language] : 'default';
|
490 |
-
}
|
491 |
-
} else {
|
492 |
-
language = 'default';
|
493 |
-
}
|
494 |
-
if(language != 'default') {
|
495 |
-
$.get('//cdn.datatables.net/plug-ins/1.10.15/i18n/'+ language +'.json').done(function (response) {
|
496 |
-
translation = response;
|
497 |
-
}).always(function () {
|
498 |
-
applyTableInit();
|
499 |
-
});
|
500 |
-
} else {
|
501 |
-
applyTableInit();
|
502 |
-
}
|
503 |
-
// Function for Data Table init
|
504 |
-
function applyTableInit() {
|
505 |
-
$.each(override,function(key,value) {
|
506 |
-
if(value.length) {
|
507 |
-
translation[key] = value;
|
508 |
-
// We need to support old DT format, cuz some languages use it
|
509 |
-
translation['s' + key.charAt(0).toUpperCase() + key.substr(1)] = value;
|
510 |
}
|
511 |
});
|
512 |
-
config.language = translation;
|
513 |
-
tableInstance = $table.dataTable($.extend({}, defaultFeatures, config, reinit));
|
514 |
-
tableInstance.table_id = $table.data('id');
|
515 |
-
tableInstance.table_view_id = $table.data('view-id');
|
516 |
-
tableInstance.fnFakeRowspan();
|
517 |
-
if(addInstance) {
|
518 |
-
vendor[appName].setTableInstance(tableInstance);
|
519 |
-
}
|
520 |
-
if(typeof finalCallback == "function") {
|
521 |
-
return finalCallback(tableInstance);
|
522 |
-
} else {
|
523 |
-
return tableInstance;
|
524 |
-
}
|
525 |
}
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
543 |
|
544 |
// Apply custom CSS styles, which have been set through the table editor
|
545 |
$table.find('th, td').each(function () {
|
@@ -551,645 +513,584 @@ if(typeof(SDT_DATA) == 'undefined') {
|
|
551 |
});
|
552 |
});
|
553 |
|
554 |
-
//
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
// Calculate formulas
|
560 |
-
_ruleJS.init();
|
561 |
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
$(document).on('click', '.paginate_button', function () {
|
566 |
-
vendor[appName].formatDataAtTable($table);
|
567 |
-
});
|
568 |
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
595 |
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
622 |
});
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
vendor[appName].fixSortingForMultipleHeader($table);
|
632 |
-
|
633 |
-
if(typeof mergedCells != 'undefined' && !mergedCells.length) {
|
634 |
-
$table.fnAdjustColumnSizing();
|
635 |
-
}
|
636 |
-
if(responsiveMode === 2 || fixedHeader || fixedFooter) {
|
637 |
-
// Responsive Mode: Horizontal Scroll
|
638 |
-
$(window).on('resize', $table, function(event) {
|
639 |
-
var tBody = $tableWrap.find('.dataTables_scrollBody'),
|
640 |
-
tBodyTable = tBody.find('.supsystic-table');
|
641 |
-
|
642 |
-
if(tBody.width() > tBodyTable.width()) {
|
643 |
-
tBody.width(tBodyTable.width());
|
644 |
-
$tableWrap.find('.dataTables_scrollHead, .dataTables_scrollFoot').width(tBodyTable.width());
|
645 |
}
|
646 |
-
}).trigger('resize');
|
647 |
-
}
|
648 |
-
// Correct width of fixed header / footer
|
649 |
-
if(fixedHeader || fixedFooter) {
|
650 |
-
/*var i = 1,
|
651 |
-
$tableWrap.find('.dataTables_scrollBody table thead tr:first-child th').each(function() {
|
652 |
-
var thWidth = $tableWrap.find('.dataTables_scrollHead table thead tr:first-child th:nth-child('+ i + ')');
|
653 |
-
|
654 |
-
$(this).css({
|
655 |
-
'width': thWidth.width(),
|
656 |
-
'min-width': thWidth.width()
|
657 |
-
});
|
658 |
i++;
|
659 |
-
});*/
|
660 |
-
$table.api().fixedHeader.adjust();
|
661 |
-
}
|
662 |
-
// Correct width of fixed columns
|
663 |
-
if(fixedColumns) {
|
664 |
-
$table.api().fixedColumns().relayout();
|
665 |
-
|
666 |
-
var tableCaption = $('.dataTables_scrollHead caption');
|
667 |
-
|
668 |
-
if(tableCaption.length) {
|
669 |
-
// Fix for displaying of caption for tables with fixed columns
|
670 |
-
var fixedColumnsWrapper = $('#supsystic-table-' + viewId + ' .DTFC_LeftWrapper, #supsystic-table-' + viewId + ' .DTFC_RightWrapper');
|
671 |
-
|
672 |
-
fixedColumnsWrapper.find('caption').css({ display: 'none' });
|
673 |
-
fixedColumnsWrapper.css({ top: tableCaption.height() + 'px' });
|
674 |
-
}
|
675 |
-
}
|
676 |
-
/* Fix for Horizontal scroll responsive mode if table has different width for one column in header and body */
|
677 |
-
if(!fixedHeader && !fixedFooter && responsiveMode === 2 && toeInArray('auto_width', $table.data('features')) == -1) {
|
678 |
-
$tableWrap.find('.dataTables_scrollBody table thead tr:first-child th').each(function() {
|
679 |
-
var tableWidth = $table.width(),
|
680 |
-
tableWrapWidth = $tableWrap.width();
|
681 |
-
|
682 |
-
if(tableWrapWidth > tableWidth){
|
683 |
-
$tableWrap
|
684 |
-
.find('.dataTables_scrollHeadInner, .dataTables_scrollBody, .dataTables_scrollFootInner')
|
685 |
-
.addClass('fit-content');
|
686 |
-
}
|
687 |
});
|
688 |
-
}
|
689 |
-
|
690 |
-
|
691 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
692 |
afterTableLoadedScriptString = afterTableLoadedScriptString.substring(1, afterTableLoadedScriptString.length - 1);
|
693 |
|
694 |
-
|
695 |
-
|
696 |
|
697 |
-
|
698 |
setTimeout(function() {
|
699 |
-
|
700 |
}, 1000);
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
|
711 |
// Callback for executing script after table is initialized
|
712 |
-
vendor[appName].executeScript = (function
|
713 |
var $table = (table instanceof $ ? table : $(table)),
|
714 |
-
$tableWrap = $table.closest('.supsystic-tables-wrap')
|
715 |
-
_ruleJS = new ruleJS($tableWrap.attr('id'));
|
716 |
|
717 |
-
|
718 |
$tableWrap.prev('.supsystic-table-loader').hide();
|
719 |
$tableWrap.css('visibility', 'visible');
|
720 |
});
|
721 |
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
-
|
776 |
-
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
vendor[appName].formatDataAtTable = function formatDataAtTable(table) {
|
783 |
-
var numberFormat = table.data('number-format'),
|
784 |
-
generalCurrencyFormat = table.data('currency-format'),
|
785 |
-
generalPercentFormat = table.data('percent-format'),
|
786 |
-
generalDateFormat = table.data('date-format'),
|
787 |
-
generalTimeFormat = table.data('time-format'),
|
788 |
-
skipFirstCol = table.data('auto-index') != 'off',
|
789 |
-
hasCollapsedCells = table.data('responsive-mode') == 1 && table.hasClass('collapsed');
|
790 |
-
|
791 |
-
table.find('td').each(function(index, el) {
|
792 |
-
var $this = $(this);
|
793 |
-
|
794 |
-
if((skipFirstCol && $this.is(':first-child')) || (hasCollapsedCells && $this.hasClass('child'))) {
|
795 |
-
// Break current .each iteration
|
796 |
-
return;
|
797 |
-
}
|
798 |
-
|
799 |
-
var languageData = numeral.languageData(),
|
800 |
-
format = $this.data('cell-format'),
|
801 |
-
formatType = $this.data('cell-format-type'),
|
802 |
-
preparedFormat,
|
803 |
-
delimiters,
|
804 |
-
value = $.trim($this.html()),
|
805 |
-
noFormat = false;
|
806 |
-
|
807 |
-
if(value && formatType == 'date' && $this.data('cell-reformat')) {
|
808 |
-
var newDate = moment(value, format);
|
809 |
-
// console.log(newDate);
|
810 |
-
|
811 |
-
if (newDate.isValid()) {
|
812 |
-
value = newDate.format(generalDateFormat);
|
813 |
-
|
814 |
-
$this.data('cell-format', generalDateFormat);
|
815 |
-
$this.attr('data-cell-format',generalDateFormat);
|
816 |
-
|
817 |
-
$this.data('original-value', value);
|
818 |
-
$this.attr('data-original-value',value);
|
819 |
-
|
820 |
-
$this.data('order', value);
|
821 |
-
$this.attr('data-order',value);
|
822 |
-
|
823 |
-
$this.data('cell-reformat', false);
|
824 |
-
$this.attr('data-cell-reformat',value);
|
825 |
-
}
|
826 |
-
} else if(value && formatType == 'time_duration' && $this.data('cell-reformat')) {
|
827 |
-
var newTime = moment(value, format),
|
828 |
-
isValid = false;
|
829 |
-
// console.log(newTime);
|
830 |
-
|
831 |
-
if (newTime.isValid()) {
|
832 |
-
value = newTime.format(generalTimeFormat);
|
833 |
-
isValid = true;
|
834 |
-
} else {
|
835 |
-
newTime = moment.duration(value);
|
836 |
-
if (newTime._milliseconds || value == 0) {
|
837 |
-
value = newTime.format(generalTimeFormat);
|
838 |
-
isValid = true;
|
839 |
-
}
|
840 |
-
}
|
841 |
-
if(isValid) {
|
842 |
-
$this.data('cell-format',generalTimeFormat);
|
843 |
-
$this.attr('data-cell-format',generalTimeFormat);
|
844 |
-
|
845 |
-
$this.data('original-value',value);
|
846 |
-
$this.attr('data-original-value',value);
|
847 |
-
|
848 |
-
$this.data('order',value);
|
849 |
-
$this.attr('data-order',value);
|
850 |
-
|
851 |
-
$this.data('cell-reformat',false);
|
852 |
-
$this.attr('data-cell-reformat',value);
|
853 |
-
}
|
854 |
-
} else if(value && value.toString().match(/^-{0,1}\d+\.{0,1}\d*$/) && !isNaN(value)) {
|
855 |
-
numberFormat = numberFormat ? numberFormat.toString() : '';
|
856 |
-
|
857 |
-
switch(formatType) {
|
858 |
-
case 'percent':
|
859 |
-
format = format ? format : generalPercentFormat;
|
860 |
-
|
861 |
-
if(format) {
|
862 |
-
format = format.toString();
|
863 |
-
|
864 |
-
var clearFormat = format.indexOf('%') > -1 ? format.replace('%', '') : format;
|
865 |
-
|
866 |
-
value = value.indexOf('%') > -1 ? $this.data('original-value') : value;
|
867 |
-
delimiters = (clearFormat.match(/[^\d]/g) || [',', '.']).reverse();
|
868 |
-
languageData.delimiters = {
|
869 |
-
decimal: delimiters[0], thousands: delimiters[1]
|
870 |
-
};
|
871 |
-
|
872 |
-
// We need to use dafault delimiters for format string
|
873 |
-
preparedFormat = format.replace(clearFormat, clearFormat.replace(delimiters[0], '.').replace(delimiters[1], ','));
|
874 |
-
} else {
|
875 |
-
noFormat = true;
|
876 |
-
}
|
877 |
-
break;
|
878 |
-
case 'currency':
|
879 |
-
format = format ? format : generalCurrencyFormat;
|
880 |
-
|
881 |
-
if(format) {
|
882 |
-
format = format.toString();
|
883 |
-
|
884 |
-
var formatWithoutCurrency = format.match(/\d.?\d*.?\d*/)[0],
|
885 |
-
currencySymbol = format.replace(formatWithoutCurrency, '') || '$'; // We need to set currency symbol in any case for normal work of numeraljs
|
886 |
-
|
887 |
-
delimiters = (formatWithoutCurrency.match(/[^\d]/g) || [',', '.']).reverse();
|
888 |
-
|
889 |
-
languageData.delimiters = {
|
890 |
-
decimal: delimiters[0],
|
891 |
-
thousands: delimiters[1]
|
892 |
-
};
|
893 |
-
languageData.currency.symbol = currencySymbol;
|
894 |
-
// We need to use dafault delimiters for format string
|
895 |
-
preparedFormat = format
|
896 |
-
.replace(formatWithoutCurrency, formatWithoutCurrency
|
897 |
-
.replace(delimiters[0], '.')
|
898 |
-
.replace(delimiters[1], ','))
|
899 |
-
.replace(currencySymbol, '$');
|
900 |
-
} else {
|
901 |
-
noFormat = true;
|
902 |
-
}
|
903 |
-
break;
|
904 |
-
case 'date':case 'time_duration':
|
905 |
-
noFormat = true;
|
906 |
-
break;
|
907 |
-
default:
|
908 |
-
if(numberFormat) {
|
909 |
-
format = numberFormat;
|
910 |
-
delimiters = (format.match(/[^\d]/g) || [',', '.']).reverse();
|
911 |
-
languageData.delimiters = {
|
912 |
-
decimal: delimiters[0]
|
913 |
-
, thousands: delimiters[1]
|
914 |
-
};
|
915 |
-
|
916 |
-
// We need to use dafault delimiters for format string
|
917 |
-
preparedFormat = format.replace(format, format.replace(delimiters[0], '.').replace(delimiters[1], ','));
|
918 |
-
break;
|
919 |
-
} else {
|
920 |
-
noFormat = true;
|
921 |
-
}
|
922 |
-
break;
|
923 |
-
}
|
924 |
-
if(noFormat) {
|
925 |
-
noFormat = false;
|
926 |
-
} else {
|
927 |
-
numeral.language('en', languageData);
|
928 |
-
value = numeral(value).format(preparedFormat);
|
929 |
-
}
|
930 |
-
}
|
931 |
-
$this.html(value);
|
932 |
-
});
|
933 |
-
};
|
934 |
-
|
935 |
-
vendor[appName].isNumber = function isNumber(value) {
|
936 |
-
if (value) {
|
937 |
-
if (value.toString().match(/^-{0,1}\d+\.{0,1}\d*$/)) {
|
938 |
-
return true;
|
939 |
-
}
|
940 |
-
}
|
941 |
-
|
942 |
-
return false;
|
943 |
-
};
|
944 |
-
|
945 |
-
vendor[appName].Base64 = {
|
946 |
-
_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
|
947 |
-
encode : function (input) {
|
948 |
-
var output = "";
|
949 |
-
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
|
950 |
-
var i = 0;
|
951 |
-
|
952 |
-
input = vendor[appName].Base64._utf8_encode(input);
|
953 |
-
|
954 |
-
while (i < input.length) {
|
955 |
-
|
956 |
-
chr1 = input.charCodeAt(i++);
|
957 |
-
chr2 = input.charCodeAt(i++);
|
958 |
-
chr3 = input.charCodeAt(i++);
|
959 |
-
|
960 |
-
enc1 = chr1 >> 2;
|
961 |
-
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
|
962 |
-
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
|
963 |
-
enc4 = chr3 & 63;
|
964 |
-
|
965 |
-
if (isNaN(chr2)) {
|
966 |
-
enc3 = enc4 = 64;
|
967 |
-
} else if (isNaN(chr3)) {
|
968 |
-
enc4 = 64;
|
969 |
-
}
|
970 |
-
|
971 |
-
output = output +
|
972 |
-
this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
|
973 |
-
this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
|
974 |
-
|
975 |
-
}
|
976 |
-
|
977 |
-
return output;
|
978 |
-
},
|
979 |
-
// private method for UTF-8 encoding
|
980 |
-
_utf8_encode : function (string) {
|
981 |
-
string = string.replace(/\r\n/g,"\n");
|
982 |
-
var utftext = "";
|
983 |
-
|
984 |
-
for (var n = 0; n < string.length; n++) {
|
985 |
-
|
986 |
-
var c = string.charCodeAt(n);
|
987 |
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
-
|
994 |
-
|
995 |
-
|
996 |
-
|
997 |
-
|
998 |
-
|
999 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1000 |
|
1001 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1002 |
|
1003 |
-
|
1004 |
-
|
1005 |
-
|
1006 |
-
|
1007 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1008 |
|
1009 |
}(window.supsystic = window.supsystic || {}, window.jQuery, window));
|
1010 |
|
1011 |
// Apply styles to cell from its classes
|
1012 |
function classesRegexp() {
|
1013 |
-
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
}
|
1020 |
function setStylesToCell(cell) {
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
-
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
-
|
1039 |
-
|
1040 |
-
|
1041 |
-
|
1042 |
-
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
-
|
1047 |
-
|
1048 |
-
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
-
|
1053 |
}
|
1054 |
// Get editor styles element
|
1055 |
function getFrontendCellStylesElem(viewId) {
|
1056 |
-
|
1057 |
|
1058 |
-
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
}
|
1064 |
function getAdminCellStylesElem() {
|
1065 |
-
|
1066 |
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
}
|
1073 |
-
// Merge cells
|
1074 |
-
function setCellAttributes(cellArray) {
|
1075 |
-
for (var i = 0; i < cellArray.length; i++) {
|
1076 |
-
if (cellArray[i].getAttribute('data-hide')) {
|
1077 |
-
cellArray[i].style.display = 'none';
|
1078 |
-
}
|
1079 |
-
if (colspan = cellArray[i].getAttribute('data-colspan')) {
|
1080 |
-
if (colspan > 1) {
|
1081 |
-
cellArray[i].setAttribute('colspan', colspan);
|
1082 |
-
}
|
1083 |
-
}
|
1084 |
-
if (rowspan = cellArray[i].getAttribute('data-rowspan')) {
|
1085 |
-
if (rowspan > 1) {
|
1086 |
-
cellArray[i].setAttribute('rowspan', rowspan);
|
1087 |
-
}
|
1088 |
-
}
|
1089 |
-
}
|
1090 |
-
}
|
1091 |
-
// Custom Natural Sort Function
|
1092 |
-
// see https://datatables.net/plug-ins/sorting/natural
|
1093 |
-
function naturalSort (a, b, html) {
|
1094 |
-
var re = /(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?%?$|^0x[0-9a-f]+$|[0-9]+)/gi,
|
1095 |
-
sre = /(^[ ]*|[ ]*$)/g,
|
1096 |
-
dre = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,
|
1097 |
-
hre = /^0x[0-9a-f]+$/i,
|
1098 |
-
ore = /^0/,
|
1099 |
-
htmre = /(<([^>]+)>)/ig,
|
1100 |
-
// convert all to strings and trim()
|
1101 |
-
x = a.toString().replace(sre, '') || '',
|
1102 |
-
y = b.toString().replace(sre, '') || '';
|
1103 |
-
// remove html from strings if desired
|
1104 |
-
if (!html) {
|
1105 |
-
x = x.replace(htmre, '');
|
1106 |
-
y = y.replace(htmre, '');
|
1107 |
-
}
|
1108 |
-
// chunk/tokenize
|
1109 |
-
var xN = x.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'),
|
1110 |
-
yN = y.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'),
|
1111 |
-
// numeric, hex or date detection
|
1112 |
-
xD = parseInt(x.match(hre), 10) || (xN.length !== 1 && x.match(dre) && Date.parse(x)),
|
1113 |
-
yD = parseInt(y.match(hre), 10) || xD && y.match(dre) && Date.parse(y) || null;
|
1114 |
-
|
1115 |
-
// first try and sort Hex codes or Dates
|
1116 |
-
if (yD) {
|
1117 |
-
if ( xD < yD ) {
|
1118 |
-
return -1;
|
1119 |
-
}
|
1120 |
-
else if ( xD > yD ) {
|
1121 |
-
return 1;
|
1122 |
-
}
|
1123 |
-
}
|
1124 |
-
|
1125 |
-
// natural sorting through split numeric strings and default strings
|
1126 |
-
for(var cLoc=0, numS=Math.max(xN.length, yN.length); cLoc < numS; cLoc++) {
|
1127 |
-
// find floats not starting with '0', string or 0 if not defined (Clint Priest)
|
1128 |
-
|
1129 |
-
/*supsystic*/
|
1130 |
-
//var oFxNcL = !(xN[cLoc] || '').match(ore) && parseFloat(xN[cLoc], 10) || xN[cLoc] || 0;
|
1131 |
-
//var oFyNcL = !(yN[cLoc] || '').match(ore) && parseFloat(yN[cLoc], 10) || yN[cLoc] || 0;
|
1132 |
-
var oFxNcL = parseFloat(xN[cLoc], 10) || xN[cLoc] || 0;
|
1133 |
-
var oFyNcL = parseFloat(yN[cLoc], 10) || yN[cLoc] || 0;
|
1134 |
-
/*****/
|
1135 |
-
|
1136 |
-
// handle numeric vs string comparison - number < string - (Kyle Adams)
|
1137 |
-
if (isNaN(oFxNcL) !== isNaN(oFyNcL)) {
|
1138 |
-
return (isNaN(oFxNcL)) ? 1 : -1;
|
1139 |
-
}
|
1140 |
-
// rely on string comparison if different types - i.e. '02' < 2 != '02' < '2'
|
1141 |
-
else if (typeof oFxNcL !== typeof oFyNcL) {
|
1142 |
-
oFxNcL += '';
|
1143 |
-
oFyNcL += '';
|
1144 |
-
}
|
1145 |
-
if (oFxNcL < oFyNcL) {
|
1146 |
-
return -1;
|
1147 |
-
}
|
1148 |
-
if (oFxNcL > oFyNcL) {
|
1149 |
-
return 1;
|
1150 |
-
}
|
1151 |
-
}
|
1152 |
-
return 0;
|
1153 |
}
|
|
|
1154 |
/**
|
1155 |
* Integration with our PopUp plugin
|
1156 |
*/
|
1157 |
function _checkOnClickPopups( $table ) {
|
1158 |
-
|
1159 |
-
|
1160 |
-
|
1161 |
-
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
}
|
1166 |
-
function reviewNoticeResponse() {
|
1167 |
-
jQuery(document).one('click','.supsystic-admin-notice a, .supsystic-admin-notice button',function(event) {
|
1168 |
-
var responseCode = jQuery(this).data('response-code') || 'hide';
|
1169 |
-
|
1170 |
-
jQuery('.supsystic-admin-notice .notice-dismiss').trigger('click');
|
1171 |
-
|
1172 |
-
window.supsystic.Tables.request({
|
1173 |
-
module: 'tables',action: 'reviewNoticeResponse'
|
1174 |
-
},{
|
1175 |
-
responseCode: responseCode
|
1176 |
-
});
|
1177 |
-
});
|
1178 |
}
|
1179 |
|
1180 |
/**
|
1181 |
* List of common used functions
|
1182 |
*/
|
1183 |
function getChunksArray(arr, len) {
|
1184 |
-
|
1185 |
-
|
1186 |
-
|
1187 |
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
|
1192 |
-
|
1193 |
}
|
1194 |
/**
|
1195 |
* We will not use just jQUery.inArray because it is work incorrect for objects
|
@@ -1205,4 +1106,79 @@ function toeInArray(needle, haystack) {
|
|
1205 |
return jQuery.inArray(needle, haystack);
|
1206 |
}
|
1207 |
return -1;
|
1208 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
if(typeof(SDT_DATA) == 'undefined') {
|
2 |
+
var SDT_DATA = {};
|
3 |
}
|
4 |
|
5 |
(function (vendor, $, window) {
|
6 |
|
7 |
+
var appName = 'Tables';
|
8 |
+
var dataTableInstances = [];
|
9 |
+
var ruleJSInstances = [];
|
10 |
|
11 |
+
if (!(appName in vendor)) {
|
12 |
+
vendor[appName] = {};
|
13 |
|
14 |
+
vendor[appName].getAppName = (function() {
|
15 |
+
return appName;
|
16 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
|
18 |
+
vendor[appName].getParameterByName = (function(name) {
|
19 |
+
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
|
20 |
|
21 |
+
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
|
22 |
+
results = regex.exec(location.search);
|
23 |
|
24 |
+
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
|
25 |
+
});
|
26 |
|
27 |
+
vendor[appName].replaceParameterByName = (function(url, paramName, paramValue) {
|
28 |
+
var pattern = new RegExp('\\b('+paramName+'=).*?(&|$)');
|
29 |
+
if (url.search(pattern) >= 0) {
|
30 |
+
return url.replace(pattern,'$1' + paramValue + '$2');
|
31 |
+
}
|
32 |
+
return url + (url.indexOf('?')>0 ? '&' : '?') + paramName + '=' + paramValue;
|
33 |
+
});
|
34 |
|
35 |
+
vendor[appName].getAllTableInstances = (function() {
|
36 |
+
return dataTableInstances;
|
37 |
+
});
|
|
|
38 |
|
39 |
+
vendor[appName].setTableInstance = (function(instance) {
|
40 |
+
dataTableInstances.push(instance);
|
41 |
+
});
|
42 |
|
43 |
+
vendor[appName].getTableInstanceById = (function(id) {
|
44 |
+
var allTables = vendor[appName].getAllTableInstances();
|
|
|
45 |
|
46 |
+
for(var i = 0; i < allTables.length; i++) {
|
47 |
+
if(allTables[i].table_id == id) {
|
48 |
+
return allTables[i];
|
49 |
+
}
|
50 |
+
}
|
51 |
+
return false;
|
52 |
+
});
|
53 |
|
54 |
+
vendor[appName].getTableInstanceByViewId = (function(viewId) {
|
55 |
+
var allTables = vendor[appName].getAllTableInstances();
|
|
|
56 |
|
57 |
+
for(var i = 0; i < allTables.length; i++) {
|
58 |
+
if(allTables[i].table_view_id == viewId) {
|
59 |
+
return allTables[i];
|
60 |
+
}
|
61 |
+
}
|
62 |
+
return false;
|
63 |
+
});
|
64 |
|
65 |
+
vendor[appName].removeTableInstanceByViewId = (function(viewId) {
|
66 |
+
var allTables = vendor[appName].getAllTableInstances();
|
|
|
67 |
|
68 |
+
for(var i = 0; i < allTables.length; i++) {
|
69 |
+
if(allTables[i].table_view_id == viewId) {
|
70 |
+
allTables.splice(i, 1);
|
71 |
+
return true;
|
72 |
+
}
|
73 |
+
}
|
74 |
+
return false;
|
75 |
+
});
|
76 |
|
77 |
+
vendor[appName].getAllRuleJSInstances = (function() {
|
78 |
+
return ruleJSInstances;
|
79 |
+
});
|
80 |
|
81 |
+
vendor[appName].setRuleJSInstance = (function(table) {
|
82 |
+
var rootElem = table.closest('.supsystic-tables-wrap'),
|
83 |
+
viewId = table.data('view-id');
|
84 |
|
85 |
+
ruleJSInstances[viewId] = new ruleJS(rootElem.attr('id'));
|
86 |
+
return ruleJSInstances[viewId];
|
87 |
+
});
|
88 |
|
89 |
+
vendor[appName].getRuleJSInstance = (function(table) {
|
90 |
+
var allRuleJS = vendor[appName].getAllRuleJSInstances(),
|
91 |
+
viewId = table.data('view-id');
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
+
if(!allRuleJS[viewId]) {
|
94 |
+
vendor[appName].setRuleJSInstance(table);
|
95 |
+
}
|
96 |
+
return allRuleJS[viewId];
|
97 |
+
});
|
98 |
|
99 |
+
vendor[appName].request = (function(route, data) {
|
100 |
+
if (!$.isPlainObject(route) || !('module' in route) || !('action' in route)) {
|
101 |
+
throw new Error('Request route is not specified.');
|
102 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
|
104 |
+
if (!$.isPlainObject(data)) {
|
105 |
+
data = {};
|
106 |
+
}
|
|
|
|
|
107 |
|
108 |
+
if ('action' in data) {
|
109 |
+
throw new Error('Reserved field "action" used.');
|
110 |
+
}
|
111 |
|
112 |
+
data.action = 'supsystic-tables';
|
|
|
|
|
113 |
|
114 |
+
var url = window.ajaxurl ? window.ajaxurl : ajax_obj.ajaxurl,
|
115 |
+
request = $.post(url, $.extend({}, { route: route }, data)),
|
116 |
+
deferred = $.Deferred();
|
117 |
|
118 |
+
request.done(function (response, textStatus, jqXHR) {
|
119 |
+
if (typeof response.success !== 'undefined' && response.success) {
|
120 |
+
deferred.resolve(response, textStatus, jqXHR);
|
121 |
+
} else {
|
122 |
+
var message = 'There are errors during the request.';
|
123 |
|
124 |
+
if (typeof response.message !== 'undefined') {
|
125 |
+
message = response.message;
|
126 |
+
}
|
127 |
|
128 |
+
deferred.reject(message, textStatus, jqXHR);
|
129 |
+
}
|
130 |
+
}).fail(function (jqXHR, textStatus, errorThrown) {
|
131 |
+
deferred.reject(errorThrown, textStatus, jqXHR);
|
132 |
+
});
|
133 |
|
134 |
+
return deferred.promise();
|
135 |
+
});
|
136 |
|
137 |
+
vendor[appName].createSpinner = (function(elem) {
|
138 |
+
elem = typeof(elem) != 'undefined' ? elem : false;
|
|
|
139 |
|
140 |
+
if(elem) {
|
141 |
+
var icon = elem.find('.fa');
|
142 |
|
143 |
+
if(icon) {
|
144 |
+
icon.data('icon', icon.attr('class'));
|
145 |
+
icon.attr('class', 'fa fa-spinner fa-spin');
|
146 |
+
}
|
147 |
+
} else {
|
148 |
+
return $('<i/>', { class: 'fa fa-spinner fa-spin' });
|
149 |
+
}
|
150 |
+
});
|
151 |
|
152 |
+
vendor[appName].deleteSpinner = (function(elem) {
|
153 |
+
var icon = elem.find('.fa');
|
|
|
|
|
154 |
|
155 |
+
if(icon) {
|
156 |
+
icon.attr('class', icon.data('icon'));
|
157 |
+
icon.data('icon', '');
|
158 |
+
}
|
159 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
|
161 |
+
vendor[appName].initializeTable = (function(table, callback, finalCallback, reinit, addInstance) {
|
162 |
+
reinit = typeof reinit != 'undefined' ? reinit : {};
|
163 |
+
addInstance = typeof addInstance != 'undefined' ? addInstance : true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
|
165 |
+
var $table = (table instanceof $ ? table : $(table)),
|
166 |
+
features = $table.data('features'),
|
167 |
+
config = {},
|
168 |
+
responsiveMode = $table.data('responsive-mode'),
|
169 |
+
searchingSettings = $table.data('searching-settings'),
|
170 |
+
tableInstance = {},
|
171 |
+
defaultFeatures = {
|
172 |
+
autoWidth: false,
|
173 |
+
info: false,
|
174 |
+
ordering: false,
|
175 |
+
paging: false,
|
176 |
+
responsive: false,
|
177 |
+
searching: false,
|
178 |
+
stateSave: false,
|
179 |
+
api: true,
|
180 |
+
initComplete: callback,
|
181 |
+
headerCallback: function( thead, data, start, end, display ) {
|
182 |
+
$(thead).closest('thead').find('th').each(function() {
|
183 |
+
setStylesToCell(this);
|
184 |
+
});
|
185 |
+
},
|
186 |
+
footerCallback: function( tfoot, data, start, end, display ) {
|
187 |
+
$(tfoot).closest('tfoot').find('th').each(function() {
|
188 |
+
setStylesToCell(this);
|
189 |
+
});
|
190 |
+
}
|
191 |
+
};
|
192 |
+
|
193 |
+
// Fix of correct displaying of tables with hidden rows / columns for tables without headers.
|
194 |
+
if (!$table.data('head')) {
|
195 |
+
$table.find('thead th').each(function(iter, item) {
|
196 |
+
var th = $(this),
|
197 |
+
itemIndex = iter + 1,
|
198 |
+
hidden = true;
|
199 |
+
|
200 |
+
$table.find('tbody td:nth-child(' + itemIndex + ')').each(function() {
|
201 |
+
if(!$(this).hasClass('invisibleCell')) {
|
202 |
+
hidden = false;
|
203 |
+
return false; // stop current .each() iteration
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
});
|
206 |
+
if(hidden) {
|
207 |
+
th.addClass('invisibleCell');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
}
|
209 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
210 |
}
|
211 |
+
|
212 |
+
// Set features
|
213 |
+
$.each(features, function () {
|
214 |
+
var featureName = this.replace(/[-_]([a-z])/g, function (g) { return g[1].toUpperCase(); });
|
215 |
+
config[featureName] = true;
|
216 |
+
});
|
217 |
+
if (toeInArray('searching', features) != -1 && searchingSettings) {
|
218 |
+
if (searchingSettings.minChars > 0 ||
|
219 |
+
searchingSettings.resultOnly ||
|
220 |
+
searchingSettings.strictMatching
|
221 |
+
) {
|
222 |
+
|
223 |
+
$.fn.dataTable.ext.search.push(function(settings, data) {
|
224 |
+
var $searchInput = $(settings.nTableWrapper).find('.dataTables_filter input'),
|
225 |
+
searchValue = $searchInput.val();
|
226 |
+
|
227 |
+
if (searchingSettings.resultOnly && searchValue.length === 0) {
|
228 |
+
if (searchingSettings.showTable) {
|
229 |
+
return false;
|
230 |
+
}
|
231 |
+
return false;
|
232 |
+
}
|
233 |
+
if (searchingSettings.strictMatching) {
|
234 |
+
searchValue = $.fn.dataTable.util.escapeRegex(searchValue);
|
235 |
+
var regExp = new RegExp('^' + searchValue, 'i');
|
236 |
+
|
237 |
+
for (var i = 0; i < data.length; i++) {
|
238 |
+
var words = data[i].replace(/\s\s+/g, ' ').split(' ');
|
239 |
+
|
240 |
+
for (var j = 0; j < words.length; j++) {
|
241 |
+
if (words[j].match(regExp)) {
|
242 |
+
return true;
|
243 |
+
}
|
244 |
+
}
|
245 |
+
}
|
246 |
+
return false;
|
247 |
+
} else {
|
248 |
+
return data.join(' ').toLowerCase().indexOf(searchValue.toLowerCase()) !== -1
|
249 |
+
}
|
250 |
+
});
|
251 |
+
$table.on('init.dt', function (event, settings) {
|
252 |
+
if (!settings) {
|
253 |
+
return;
|
254 |
+
}
|
255 |
+
|
256 |
+
var $tableWrapper = $(settings.nTableWrapper),
|
257 |
+
$tableSearchInput = $tableWrapper.find('.dataTables_filter input'),
|
258 |
+
$customInput = $tableSearchInput.clone();
|
259 |
+
|
260 |
+
$tableSearchInput.replaceWith($customInput);
|
261 |
+
|
262 |
+
$customInput.on('input change', function() {
|
263 |
+
if (!searchingSettings.showTable) {
|
264 |
+
if (searchingSettings.resultOnly && searchingSettings.minChars && (this.value.length < searchingSettings.minChars || !this.value.length)) {
|
265 |
+
$table.hide();
|
266 |
+
$table.parent().find('.dataTables_paginate').hide();
|
267 |
+
} else {
|
268 |
+
$table.show();
|
269 |
+
$table.parent().find('.dataTables_paginate').show();
|
270 |
+
}
|
271 |
+
}
|
272 |
+
if (searchingSettings.minChars && (this.value.length < searchingSettings.minChars && this.value.length !== 0)) {
|
273 |
+
event.preventDefault();
|
274 |
+
return false;
|
275 |
+
}
|
276 |
+
$table.api().draw();
|
277 |
+
});
|
278 |
+
|
279 |
+
if (searchingSettings.resultOnly && !searchingSettings.showTable) {
|
280 |
+
$table.hide();
|
281 |
+
$table.parent().find('.dataTables_paginate').hide();
|
282 |
+
}
|
283 |
+
});
|
284 |
+
}
|
285 |
+
}
|
286 |
+
if (toeInArray('ordering', features) != -1) {
|
287 |
+
var sortingEnable = ['_all'],
|
288 |
+
sortingDisable = [],
|
289 |
+
aaSorting = [],
|
290 |
+
multipleSorting = $table.data('multiple-sorting'),
|
291 |
+
disableSorting = $table.data('disable-sorting');
|
292 |
+
|
293 |
+
if (!$table.data('head')) {
|
294 |
+
sortingDisable = ['_all'];
|
295 |
+
}
|
296 |
+
if(disableSorting && disableSorting.length) {
|
297 |
+
sortingDisable = disableSorting;
|
298 |
+
}
|
299 |
+
if (multipleSorting && multipleSorting.length) {
|
300 |
+
aaSorting = multipleSorting;
|
301 |
+
} else {
|
302 |
+
var columnsCount = $table.find('tr:first th').length,
|
303 |
+
sortColumn = $table.data('sort-column') || 0,
|
304 |
+
sortOrder = $table.data('sort-order') || 'asc',
|
305 |
+
columnNumber = sortColumn - 1;
|
306 |
+
|
307 |
+
if(columnNumber >= 0 && columnNumber < columnsCount) {
|
308 |
+
aaSorting.push([columnNumber, sortOrder]);
|
309 |
+
}
|
310 |
+
}
|
311 |
+
config.aoColumnDefs = [
|
312 |
+
{ aType: 'natural-nohtml-ci', aTargets: '_all' },
|
313 |
+
{ "bSortable": false, "aTargets": sortingDisable },
|
314 |
+
{ "bSortable": true, "aTargets": sortingEnable }
|
315 |
+
];
|
316 |
+
config.aaSorting = aaSorting;
|
317 |
+
}
|
318 |
+
if ($table.data('pagination-length')) {
|
319 |
+
var paginationLength = String($table.data('pagination-length'));
|
320 |
+
|
321 |
+
config.aLengthMenu = [];
|
322 |
+
config.aLengthMenu.push(paginationLength.replace('All', -1).split(',').map(Number));
|
323 |
+
config.aLengthMenu.push(paginationLength.split(','));
|
324 |
+
}
|
325 |
+
if ($table.data('auto-index') && $table.data('auto-index') !== 'off') {
|
326 |
+
$table.on('draw.dt', function() {
|
327 |
+
$table.api().column(0).nodes().each(function (cell, i) {
|
328 |
+
cell.innerHTML = i + 1;
|
329 |
+
});
|
330 |
+
});
|
331 |
+
}
|
332 |
+
|
333 |
+
// Set responsive mode
|
334 |
+
if (responsiveMode == 0) {
|
335 |
+
// Responsive Mode: Standart Responsive Mode
|
336 |
+
var labelStyles = '<style>',
|
337 |
+
id = '#' + $table.attr('id');
|
338 |
+
|
339 |
+
// Add header data to each response row
|
340 |
+
$table.find('thead th').each(function(index, el) {
|
341 |
+
labelStyles += id + '.oneColumnWithLabels td:nth-of-type(' + (index + 1) + '):before { content: "' + $(this).text() + '"; }';
|
342 |
+
});
|
343 |
+
labelStyles += '</style>';
|
344 |
+
$table.append(labelStyles);
|
345 |
+
|
346 |
+
$(window).on('resize', $table, function(event) {
|
347 |
+
event.preventDefault();
|
348 |
+
clearTimeout($table.data('resizeTimer'));
|
349 |
+
|
350 |
+
$table.data('resizeTimer', setTimeout(function() {
|
351 |
+
$table.removeClass('oneColumn oneColumnWithLabels');
|
352 |
+
var tableWidth = $table.width(),
|
353 |
+
wrapperWidth = $table.closest('.supsystic-tables-wrap').width();
|
354 |
+
if (tableWidth > wrapperWidth) {
|
355 |
+
$table.addClass('oneColumn');
|
356 |
+
|
357 |
+
if ($table.data('head') == 'on') {
|
358 |
+
$table.addClass('oneColumnWithLabels');
|
359 |
+
}
|
360 |
+
}
|
361 |
+
}, 150));
|
362 |
+
}).trigger('resize');
|
363 |
+
} else if (responsiveMode === 1) {
|
364 |
+
// Responsive Mode: Automatic Column Hiding
|
365 |
+
config.responsive = {
|
366 |
+
details: {
|
367 |
+
renderer: function (api, rowIdx, columns) {
|
368 |
+
var $table = $(api.table().node()),
|
369 |
+
$subTable = $('<table/>');
|
370 |
+
|
371 |
+
$.each(columns, function (i, col) {
|
372 |
+
if (col.hidden) {
|
373 |
+
var $cell = $(api.cell(col.rowIndex, col.columnIndex).node()).clone(),
|
374 |
+
markup = '<tr data-dt-row="'+col.rowIndex+'" data-dt-column="'+col.columnIndex+'">';
|
375 |
+
if ($table.data('head') == 'on') {
|
376 |
+
var $headerContent = $(api.table().header()).find('th').eq(col.columnIndex).html();
|
377 |
+
markup += '<td>';
|
378 |
+
if ($headerContent) {
|
379 |
+
markup += $headerContent;
|
380 |
+
}
|
381 |
+
markup += '</td>';
|
382 |
+
}
|
383 |
+
markup += '</tr>';
|
384 |
+
$cell.after(
|
385 |
+
$('<td>')
|
386 |
+
.addClass('collapsed-cell-holder')
|
387 |
+
.attr('data-cell-row', col.rowIndex)
|
388 |
+
.attr('data-cell-column', col.columnIndex)
|
389 |
+
.hide()
|
390 |
+
);
|
391 |
+
$subTable.append($(markup).append($cell.addClass('collapsed').show()));
|
392 |
+
}
|
393 |
+
});
|
394 |
+
return $subTable.is(':empty') ? false : $subTable;
|
395 |
+
}
|
396 |
+
}
|
397 |
+
};
|
398 |
+
$table.on('responsive-resize.dt', function(event, api, columns) {
|
399 |
+
if ($table.width() > $table.parent().width()) {
|
400 |
+
api.responsive.recalc();
|
401 |
+
return;
|
402 |
+
}
|
403 |
+
for (var i = 0, len = columns.length; i < len; i++) {
|
404 |
+
if (columns[i]) {
|
405 |
+
$table.find('tr > td.collapsed-cell-holder[data-cell-column="' + i + '"]').each(function(index, el) {
|
406 |
+
var $this = $(this);
|
407 |
+
var $cell = $(api.cell(
|
408 |
+
$this.data('cell-row'),
|
409 |
+
$this.data('cell-column')
|
410 |
+
).node());
|
411 |
+
|
412 |
+
if ($cell.hasClass('collapsed')) {
|
413 |
+
$cell.removeClass('collapsed');
|
414 |
+
$this.replaceWith($cell);
|
415 |
+
}
|
416 |
+
});
|
417 |
+
}
|
418 |
+
}
|
419 |
+
});
|
420 |
+
} else if (responsiveMode === 2) {
|
421 |
+
// Responsive Mode: Horizontal Scroll
|
422 |
+
config.scrollX = true;
|
423 |
+
}
|
424 |
+
if(responsiveMode === 2 || responsiveMode === 3) {
|
425 |
+
// Responsive Mode: 2 - Horizontal Scroll, 3 - Disable Responsivity
|
426 |
+
var fixedHead = $table.data('head') && $table.data('fixed-head'),
|
427 |
+
fixedFoot = $table.data('foot') && $table.data('fixed-foot'),
|
428 |
+
fixedLeft = $table.data('fixed-left'),
|
429 |
+
fixedRight = $table.data('fixed-right');
|
430 |
+
|
431 |
+
// TODO: correct the code to set fixed header and fixed footer in the standard way
|
432 |
+
// TODO: https://datatables.net/extensions/fixedheader/#Features
|
433 |
+
//config.fixedHeader = {
|
434 |
+
// header: false,
|
435 |
+
// footer: false
|
436 |
+
//};
|
437 |
+
//if (fixedHead) {
|
438 |
+
// config.fixedHeader.header = true;
|
439 |
+
//}
|
440 |
+
//if (fixedFoot) {
|
441 |
+
// config.fixedHeader.footer = true;
|
442 |
+
//}
|
443 |
+
if(fixedHead || fixedFoot) {
|
444 |
+
config.scrollY = $table.data('fixed-height');
|
445 |
+
config.scrollCollapse = true;
|
446 |
+
}
|
447 |
+
if ($table.data('fixed-cols')) {
|
448 |
+
config.fixedColumns = {
|
449 |
+
leftColumns: fixedLeft ? parseInt(fixedLeft) : 0,
|
450 |
+
rightColumns: fixedRight ? parseInt(fixedRight) : 0
|
451 |
+
};
|
452 |
+
config.scrollX = true;
|
453 |
+
}
|
454 |
+
}
|
455 |
+
|
456 |
+
// Add translation
|
457 |
+
var langData = typeof g_stbTblLangData != 'undefined' ? JSON.parse(g_stbTblLangData) : $table.data('translation'),
|
458 |
+
translation = langData || {},
|
459 |
+
override = $table.data('override');
|
460 |
+
|
461 |
+
if(typeof translation != 'object') {
|
462 |
+
translation = {}; // for just to be sure that it is object
|
463 |
+
}
|
464 |
+
$.each(override, function(key, value) {
|
465 |
+
if(value.length) {
|
466 |
+
translation[key] = value;
|
467 |
+
// We need to support old DT format, cuz some languages use it
|
468 |
+
translation['s' + key.charAt(0).toUpperCase() + key.substr(1)] = value;
|
469 |
+
}
|
470 |
+
});
|
471 |
+
config.language = translation;
|
472 |
+
$table.trigger('beforeInitializeTable', $table);
|
473 |
+
tableInstance = $table.dataTable($.extend({}, defaultFeatures, config, reinit));
|
474 |
+
tableInstance.table_id = $table.data('id');
|
475 |
+
tableInstance.table_view_id = $table.data('view-id');
|
476 |
+
tableInstance.fnFakeRowspan();
|
477 |
+
// Only after table was inited - we can do this, and only in that way it will work
|
478 |
+
_checkOnClickPopups($table);
|
479 |
+
|
480 |
+
if(addInstance) {
|
481 |
+
vendor[appName].setTableInstance(tableInstance);
|
482 |
+
}
|
483 |
+
if(typeof finalCallback == "function") {
|
484 |
+
return finalCallback(tableInstance);
|
485 |
+
} else {
|
486 |
+
return tableInstance;
|
487 |
+
}
|
488 |
+
});
|
489 |
+
|
490 |
+
/** Callback for displaying table after initializing
|
491 |
+
* @param {object} settings - DataTables settings object
|
492 |
+
* @param {object} json - JSON data retrieved from the server if the ajax option was set. Otherwise undefined.
|
493 |
+
*/
|
494 |
+
vendor[appName].showTable = (function(settings, json) {
|
495 |
+
var $table = this instanceof jQuery ? this : settings, // for compatibility with old pro versions
|
496 |
+
$tableWrap = $table.closest('.supsystic-tables-wrap'),
|
497 |
+
afterTableLoadedScriptString = $table.attr('data-after-table-loaded-script'),
|
498 |
+
_ruleJS = vendor[appName].setRuleJSInstance($table),
|
499 |
+
responsiveMode = $table.data('responsive-mode'),
|
500 |
+
mergedCells = $table.data('merged'),
|
501 |
+
fixedHeader = $table.data('fixed-head') == 'on',
|
502 |
+
fixedFooter = $table.data('fixed-foot') == 'on',
|
503 |
+
fixedColumns = $table.data('fixed-right') > 0 || $table.data('fixed-left') > 0,
|
504 |
+
viewId = $table.data('view-id');
|
505 |
|
506 |
// Apply custom CSS styles, which have been set through the table editor
|
507 |
$table.find('th, td').each(function () {
|
513 |
});
|
514 |
});
|
515 |
|
516 |
+
// Remove sorting visual elements from the tags if there is no header on table
|
517 |
+
if (!$table.data('head')) {
|
518 |
+
$table.find('th').removeClass('sorting sorting_asc sorting_desc sorting_disabled');
|
519 |
+
}
|
|
|
|
|
|
|
520 |
|
521 |
+
// Calculate formulas
|
522 |
+
_ruleJS.init();
|
|
|
|
|
|
|
|
|
523 |
|
524 |
+
// Set formats
|
525 |
+
vendor[appName].formatDataAtTable($table);
|
526 |
+
|
527 |
+
$(document).on('click', '.paginate_button', function () {
|
528 |
+
vendor[appName].formatDataAtTable($table);
|
529 |
+
});
|
530 |
+
|
531 |
+
// Show comments on tap
|
532 |
+
if ('ontouchstart' in window || navigator.msMaxTouchPoints) {
|
533 |
+
$table.find('td, th').on('click', function(e) {
|
534 |
+
var title = $(this).attr('title');
|
535 |
+
|
536 |
+
if (title) {
|
537 |
+
var div = $('<div style="' +
|
538 |
+
'display:none;' +
|
539 |
+
'position:absolute;' +
|
540 |
+
'border-radius:6px;' +
|
541 |
+
'background-color:#999;' +
|
542 |
+
'color:white;' +
|
543 |
+
'padding:7px;"/>');
|
544 |
+
|
545 |
+
div.text(title)
|
546 |
+
.appendTo('body')
|
547 |
+
.css('top', (e.pageY - 70) + 'px')
|
548 |
+
.css('left', (e.pageX + 20) + 'px')
|
549 |
+
.fadeIn('slow');
|
550 |
+
|
551 |
+
setTimeout(function() {
|
552 |
+
div.fadeOut();
|
553 |
+
}, 1200);
|
554 |
+
}
|
555 |
+
});
|
556 |
+
}
|
557 |
+
|
558 |
+
// Frontend fields
|
559 |
+
if (typeof(vendor[appName].createEditableFields) == 'function') { // for compatibility with old pro versions
|
560 |
+
var $editableFields = $tableWrap.find('.editable'),
|
561 |
+
$selectableFields = $tableWrap.find('.selectable'),
|
562 |
+
$tableId = $table.data('id'),
|
563 |
+
useEditableFields = typeof(useEdit) != 'undefined' && typeof(useEdit[$tableId]) != 'undefined'
|
564 |
+
? useEdit[$tableId]
|
565 |
+
: false;
|
566 |
+
|
567 |
+
if(useEditableFields) {
|
568 |
+
if (typeof(vendor[appName].setFrontendFields) == 'function') {
|
569 |
+
vendor[appName].setFrontendFields($table);
|
570 |
+
} else if (typeof(vendor[appName].setAllFields) == 'function') {
|
571 |
+
vendor[appName].setAllFields($table, $editableFields, $selectableFields);
|
572 |
+
} else {
|
573 |
+
vendor[appName].createEditableFields($table, $editableFields);
|
574 |
+
}
|
575 |
+
} else if(SDT_DATA.isAdmin && SDT_DATA.isPro) {
|
576 |
+
if (typeof(vendor[appName].setFrontendFields) == 'function') {
|
577 |
+
vendor[appName].setFrontendFields($table);
|
578 |
+
} else if (typeof(vendor[appName].setAllFields) == 'function') {
|
579 |
+
vendor[appName].createEditableFields($table, $editableFields);
|
580 |
+
vendor[appName].createSelectableFields($table, $selectableFields);
|
581 |
+
} else {
|
582 |
+
vendor[appName].createEditableFields($table, $editableFields);
|
583 |
+
}
|
584 |
+
}
|
585 |
+
$table.on('init.dt', function() {
|
586 |
+
$table.on('responsive-resize.dt responsive-display.dt draw.dt', function() {
|
587 |
+
$editableFields.off('click.sup'); // for compatibility with old pro versions
|
588 |
+
vendor[appName].updateAfterRedraw($table);
|
589 |
+
});
|
590 |
+
});
|
591 |
+
}
|
592 |
+
$table.trigger('beforeShowTable', $table);
|
593 |
+
|
594 |
+
// Show table
|
595 |
+
$tableWrap.prev('.supsystic-table-loader').hide();
|
596 |
+
$tableWrap.css('visibility', 'visible');
|
597 |
|
598 |
+
vendor[appName].fixSortingForMultipleHeader($table);
|
599 |
+
|
600 |
+
if(responsiveMode === 2 || fixedHeader || fixedFooter) {
|
601 |
+
|
602 |
+
// Responsive Mode: Horizontal Scroll
|
603 |
+
$(window).on('resize', $table, function(event) {
|
604 |
+
var tBody = $tableWrap.find('.dataTables_scrollBody'),
|
605 |
+
tBodyTable = tBody.find('.supsystic-table');
|
606 |
+
if(tBody.width() > tBodyTable.width() || $tableWrap.width() > tBodyTable.width()) {
|
607 |
+
tBody.width(tBodyTable.width());
|
608 |
+
//plus one px to avoid displaying scroll
|
609 |
+
$tableWrap.find('.dataTables_scrollHead, .dataTables_scrollFoot, .dataTables_scrollBody').width(tBodyTable.width() + 1);
|
610 |
+
}
|
611 |
+
if( tBodyTable.isHorizontallyScrollable ){
|
612 |
+
tBody.css({'border-bottom' : 'none'});
|
613 |
+
}else{
|
614 |
+
tBody.removeStyle('border-bottom');
|
615 |
+
}
|
616 |
+
}).trigger('resize');
|
617 |
+
|
618 |
+
// need resize twice to get better frontend view
|
619 |
+
var tBody = $tableWrap.find('.dataTables_scrollBody'),
|
620 |
+
tBodyTable = tBody.find('.supsystic-table');
|
621 |
+
|
622 |
+
if(tBodyTable.is(":visible")){
|
623 |
+
setTimeout(function() {
|
624 |
+
$(window).trigger('resize');
|
625 |
+
}, 200);
|
626 |
+
}
|
627 |
+
|
628 |
+
}
|
629 |
+
// Correct width of fixed header / footer
|
630 |
+
if(fixedHeader || fixedFooter) {
|
631 |
+
$table.api().fixedHeader.adjust();
|
632 |
+
|
633 |
+
var i = 1;
|
634 |
+
setTimeout(function() {
|
635 |
+
var flag = fixedHeader,
|
636 |
+
el = fixedHeader
|
637 |
+
? $tableWrap.find('.dataTables_scrollHead table thead tr:first-child th')
|
638 |
+
: $tableWrap.find('.dataTables_scrollFoot table tfoot tr:first-child th');
|
639 |
+
|
640 |
+
el.each(function() {
|
641 |
+
var thWidth = $tableWrap.find('.dataTables_scrollBody table tbody tr:first-child td:nth-child('+ i + ')');
|
642 |
+
|
643 |
+
$(this).css({
|
644 |
+
'width': thWidth.outerWidth(),
|
645 |
+
'min-width': thWidth.outerWidth(),
|
646 |
+
'box-sizing': 'border-box'
|
647 |
});
|
648 |
+
if(fixedFooter && flag){
|
649 |
+
var footerEl = $tableWrap.find('.dataTables_scrollFoot table tfoot tr:first-child th:nth-child('+ i + ')');
|
650 |
+
footerEl.css({
|
651 |
+
'width': thWidth.outerWidth(),
|
652 |
+
'min-width': thWidth.outerWidth(),
|
653 |
+
'box-sizing': 'border-box'
|
654 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
655 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
656 |
i++;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
657 |
});
|
658 |
+
}, 200);
|
659 |
+
}
|
660 |
+
|
661 |
+
// Correct width of fixed columns
|
662 |
+
if(fixedColumns) {
|
663 |
+
$table.api().fixedColumns().relayout();
|
664 |
+
|
665 |
+
var tableCaption = $('.dataTables_scrollHead caption');
|
666 |
+
|
667 |
+
if(tableCaption.length) {
|
668 |
+
// Fix for displaying of caption for tables with fixed columns
|
669 |
+
var fixedColumnsWrapper = $('#supsystic-table-' + viewId + ' .DTFC_LeftWrapper, #supsystic-table-' + viewId + ' .DTFC_RightWrapper');
|
670 |
+
|
671 |
+
fixedColumnsWrapper.find('caption').css({ display: 'none' });
|
672 |
+
fixedColumnsWrapper.css({ top: tableCaption.height() + 'px' });
|
673 |
+
}
|
674 |
+
}
|
675 |
+
/* Fix for Horizontal scroll responsive mode if table has different width for one column in header and body */
|
676 |
+
if(!fixedHeader && !fixedFooter && responsiveMode === 2 && toeInArray('auto_width', $table.data('features')) == -1) {
|
677 |
+
$tableWrap.find('.dataTables_scrollBody table thead tr:first-child th').each(function() {
|
678 |
+
var tableWidth = $table.width(),
|
679 |
+
tableWrapWidth = $tableWrap.width();
|
680 |
+
|
681 |
+
if(tableWrapWidth > tableWidth){
|
682 |
+
$tableWrap
|
683 |
+
.find('.dataTables_scrollHeadInner, .dataTables_scrollBody, .dataTables_scrollFootInner')
|
684 |
+
.addClass('fit-content');
|
685 |
+
}
|
686 |
+
});
|
687 |
+
}
|
688 |
+
|
689 |
+
// Load user custom scripts
|
690 |
+
if (afterTableLoadedScriptString !== undefined) {
|
691 |
afterTableLoadedScriptString = afterTableLoadedScriptString.substring(1, afterTableLoadedScriptString.length - 1);
|
692 |
|
693 |
+
var afterTableLoadedScript = b64DecodeUnicode(afterTableLoadedScriptString).replace(/"/g, "'"),
|
694 |
+
executeScript = new Function(afterTableLoadedScript);
|
695 |
|
696 |
+
if (typeof executeScript === "function") {
|
697 |
setTimeout(function() {
|
698 |
+
executeScript();
|
699 |
}, 1000);
|
700 |
+
}
|
701 |
+
}
|
702 |
+
|
703 |
+
function b64DecodeUnicode(str) {
|
704 |
+
return decodeURIComponent(Array.prototype.map.call(atob(str), function(c) {
|
705 |
+
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
706 |
+
}).join(''));
|
707 |
+
}
|
708 |
+
});
|
709 |
|
710 |
// Callback for executing script after table is initialized
|
711 |
+
vendor[appName].executeScript = (function(table) {
|
712 |
var $table = (table instanceof $ ? table : $(table)),
|
713 |
+
$tableWrap = $table.closest('.supsystic-tables-wrap');
|
|
|
714 |
|
715 |
+
vendor[appName].getRuleJSInstance($table).init();
|
716 |
$tableWrap.prev('.supsystic-table-loader').hide();
|
717 |
$tableWrap.css('visibility', 'visible');
|
718 |
});
|
719 |
|
720 |
+
vendor[appName].fixSortingForMultipleHeader = (function(table) {
|
721 |
+
if(table.data('head-rows-count') > 1 && table.data('sort-order')) {
|
722 |
+
var thead = table.find('thead tr').get().reverse();
|
723 |
+
|
724 |
+
// Fix of sorting for table with multiple header (when header has more than 1 row)
|
725 |
+
if(table.data('head')) {
|
726 |
+
$.each(table.find('thead tr:last-child th'), function (index, element) {
|
727 |
+
var th = $(element),
|
728 |
+
nthChild = index + 1;
|
729 |
+
|
730 |
+
if(th.data('hide')) {
|
731 |
+
$(thead).each(function() {
|
732 |
+
var item = $(this).find('th:nth-child(' + nthChild + ')');
|
733 |
+
|
734 |
+
if(!item.data('hide')) {
|
735 |
+
item.addClass('sorting');
|
736 |
+
item.click(function() {
|
737 |
+
th.trigger('click');
|
738 |
+
if(th.hasClass('sorting')) {
|
739 |
+
item.removeClass('sorting_asc');
|
740 |
+
item.removeClass('sorting_desc');
|
741 |
+
item.addClass('sorting');
|
742 |
+
} else if(th.hasClass('sorting_asc')) {
|
743 |
+
item.removeClass('sorting');
|
744 |
+
item.removeClass('sorting_desc');
|
745 |
+
item.addClass('sorting_asc');
|
746 |
+
} else if(th.hasClass('sorting_desc')) {
|
747 |
+
item.removeClass('sorting');
|
748 |
+
item.removeClass('sorting_asc');
|
749 |
+
item.addClass('sorting_desc');
|
750 |
+
}
|
751 |
+
});
|
752 |
+
return false; // stop .each() function
|
753 |
+
}
|
754 |
+
});
|
755 |
+
}
|
756 |
+
});
|
757 |
+
}
|
758 |
+
// Fix of displaying the footer if table has multiple header
|
759 |
+
/*if(table.data('foot')) {
|
760 |
+
var newFooter = [];
|
761 |
+
|
762 |
+
$.each(table.find('tfoot tr th'), function (index, element) {
|
763 |
+
var nthChild = index + 1;
|
764 |
+
|
765 |
+
$(thead).each(function() {
|
766 |
+
var item = $(this).find('th:nth-child(' + nthChild + ')');
|
767 |
+
|
768 |
+
if(item.is(':visible')) {
|
769 |
+
newFooter.push(item.clone());
|
770 |
+
return false; // stop .each() function
|
771 |
+
}
|
772 |
+
});
|
773 |
+
|
774 |
+
});
|
775 |
+
table.find('tfoot').html(newFooter);
|
776 |
+
}*/
|
777 |
+
}
|
778 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
779 |
|
780 |
+
vendor[appName].formatDataAtTable = (function(table) {
|
781 |
+
var numberFormat = table.data('number-format'),
|
782 |
+
generalCurrencyFormat = table.data('currency-format'),
|
783 |
+
generalPercentFormat = table.data('percent-format'),
|
784 |
+
generalDateFormat = table.data('date-format'),
|
785 |
+
generalTimeFormat = table.data('time-format'),
|
786 |
+
skipFirstCol = table.data('auto-index') != 'off',
|
787 |
+
hasCollapsedCells = table.data('responsive-mode') == 1 && table.hasClass('collapsed');
|
788 |
+
|
789 |
+
table.find('td').each(function(index, el) {
|
790 |
+
var $this = $(this);
|
791 |
+
|
792 |
+
if((skipFirstCol && $this.is(':first-child')) || (hasCollapsedCells && $this.hasClass('child'))) {
|
793 |
+
// Break current .each iteration
|
794 |
+
return;
|
795 |
+
}
|
796 |
+
|
797 |
+
var languageData = numeral.languageData(),
|
798 |
+
format = $this.data('cell-format'),
|
799 |
+
formatType = $this.data('cell-format-type'),
|
800 |
+
preparedFormat,
|
801 |
+
delimiters,
|
802 |
+
value = $.trim($this.html()),
|
803 |
+
noFormat = false;
|
804 |
+
|
805 |
+
if(value && formatType == 'date' && $this.data('cell-reformat')) {
|
806 |
+
var newDate = moment(value, format);
|
807 |
+
if (newDate.isValid()) {
|
808 |
+
value = newDate.format(generalDateFormat);
|
809 |
+
|
810 |
+
$this.data('cell-format', generalDateFormat);
|
811 |
+
$this.attr('data-cell-format',generalDateFormat);
|
812 |
+
|
813 |
+
$this.data('original-value', value);
|
814 |
+
$this.attr('data-original-value',value);
|
815 |
+
|
816 |
+
$this.data('order', value);
|
817 |
+
$this.attr('data-order',value);
|
818 |
+
|
819 |
+
$this.data('cell-reformat', false);
|
820 |
+
$this.attr('data-cell-reformat',value);
|
821 |
+
}
|
822 |
+
} else if(value && formatType == 'time_duration' && $this.data('cell-reformat')) {
|
823 |
+
var newTime = moment(value, format),
|
824 |
+
isValid = false;
|
825 |
+
// console.log(newTime);
|
826 |
+
|
827 |
+
if (newTime.isValid()) {
|
828 |
+
value = newTime.format(generalTimeFormat);
|
829 |
+
isValid = true;
|
830 |
+
} else {
|
831 |
+
newTime = moment.duration(value);
|
832 |
+
if (newTime._milliseconds || value == 0) {
|
833 |
+
value = newTime.format(generalTimeFormat);
|
834 |
+
isValid = true;
|
835 |
+
}
|
836 |
+
}
|
837 |
+
if(isValid) {
|
838 |
+
$this.data('cell-format',generalTimeFormat);
|
839 |
+
$this.attr('data-cell-format',generalTimeFormat);
|
840 |
+
|
841 |
+
$this.data('original-value',value);
|
842 |
+
$this.attr('data-original-value',value);
|
843 |
+
|
844 |
+
$this.data('order',value);
|
845 |
+
$this.attr('data-order',value);
|
846 |
+
|
847 |
+
$this.data('cell-reformat',false);
|
848 |
+
$this.attr('data-cell-reformat',value);
|
849 |
+
}
|
850 |
+
} else if(value && value.toString().match(/^-{0,1}\d+\.{0,1}\d*$/) && !isNaN(value)) {
|
851 |
+
numberFormat = numberFormat ? numberFormat.toString() : '';
|
852 |
+
|
853 |
+
switch(formatType) {
|
854 |
+
case 'percent':
|
855 |
+
format = format ? format : generalPercentFormat;
|
856 |
+
|
857 |
+
if(format) {
|
858 |
+
format = format.toString();
|
859 |
+
|
860 |
+
var clearFormat = format.indexOf('%') > -1 ? format.replace('%', '') : format;
|
861 |
+
|
862 |
+
value = value.indexOf('%') > -1 ? $this.data('original-value') : value;
|
863 |
+
delimiters = (clearFormat.match(/[^\d]/g) || [',', '.']).reverse();
|
864 |
+
languageData.delimiters = {
|
865 |
+
decimal: delimiters[0], thousands: delimiters[1]
|
866 |
+
};
|
867 |
+
|
868 |
+
// We need to use dafault delimiters for format string
|
869 |
+
preparedFormat = format.replace(clearFormat, clearFormat.replace(delimiters[0], '.').replace(delimiters[1], ','));
|
870 |
+
} else {
|
871 |
+
noFormat = true;
|
872 |
+
}
|
873 |
+
break;
|
874 |
+
case 'currency':
|
875 |
+
format = format ? format : generalCurrencyFormat;
|
876 |
+
|
877 |
+
if(format) {
|
878 |
+
format = format.toString();
|
879 |
+
|
880 |
+
var formatWithoutCurrency = format.match(/\d.?\d*.?\d*/)[0],
|
881 |
+
currencySymbol = format.replace(formatWithoutCurrency, '') || '$'; // We need to set currency symbol in any case for normal work of numeraljs
|
882 |
+
|
883 |
+
delimiters = (formatWithoutCurrency.match(/[^\d]/g) || [',', '.']).reverse();
|
884 |
+
|
885 |
+
languageData.delimiters = {
|
886 |
+
decimal: delimiters[0],
|
887 |
+
thousands: delimiters[1]
|
888 |
+
};
|
889 |
+
languageData.currency.symbol = currencySymbol;
|
890 |
+
// We need to use dafault delimiters for format string
|
891 |
+
preparedFormat = format
|
892 |
+
.replace(formatWithoutCurrency, formatWithoutCurrency
|
893 |
+
.replace(delimiters[0], '.')
|
894 |
+
.replace(delimiters[1], ','))
|
895 |
+
.replace(currencySymbol, '$');
|
896 |
+
} else {
|
897 |
+
noFormat = true;
|
898 |
+
}
|
899 |
+
break;
|
900 |
+
case 'date':case 'time_duration':
|
901 |
+
noFormat = true;
|
902 |
+
break;
|
903 |
+
default:
|
904 |
+
if(numberFormat) {
|
905 |
+
format = numberFormat;
|
906 |
+
delimiters = (format.match(/[^\d]/g) || [',', '.']).reverse();
|
907 |
+
languageData.delimiters = {
|
908 |
+
decimal: delimiters[0]
|
909 |
+
, thousands: delimiters[1]
|
910 |
+
};
|
911 |
+
|
912 |
+
// We need to use dafault delimiters for format string
|
913 |
+
preparedFormat = format.replace(format, format.replace(delimiters[0], '.').replace(delimiters[1], ','));
|
914 |
+
break;
|
915 |
+
} else {
|
916 |
+
noFormat = true;
|
917 |
+
}
|
918 |
+
break;
|
919 |
+
}
|
920 |
+
if(noFormat) {
|
921 |
+
noFormat = false;
|
922 |
+
} else {
|
923 |
+
numeral.language('en', languageData);
|
924 |
+
value = numeral(value).format(preparedFormat);
|
925 |
+
}
|
926 |
+
}
|
927 |
+
$this.html(value);
|
928 |
+
});
|
929 |
+
});
|
930 |
|
931 |
+
vendor[appName].isNumber = (function(value) {
|
932 |
+
if (value) {
|
933 |
+
if (value.toString().match(/^-{0,1}\d+\.{0,1}\d*$/)) {
|
934 |
+
return true;
|
935 |
+
}
|
936 |
+
}
|
937 |
+
return false;
|
938 |
+
});
|
939 |
|
940 |
+
vendor[appName].Base64 = {
|
941 |
+
_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
|
942 |
+
encode : function (input) {
|
943 |
+
var output = "";
|
944 |
+
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
|
945 |
+
var i = 0;
|
946 |
+
|
947 |
+
input = vendor[appName].Base64._utf8_encode(input);
|
948 |
+
|
949 |
+
while (i < input.length) {
|
950 |
+
|
951 |
+
chr1 = input.charCodeAt(i++);
|
952 |
+
chr2 = input.charCodeAt(i++);
|
953 |
+
chr3 = input.charCodeAt(i++);
|
954 |
+
|
955 |
+
enc1 = chr1 >> 2;
|
956 |
+
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
|
957 |
+
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
|
958 |
+
enc4 = chr3 & 63;
|
959 |
+
|
960 |
+
if (isNaN(chr2)) {
|
961 |
+
enc3 = enc4 = 64;
|
962 |
+
} else if (isNaN(chr3)) {
|
963 |
+
enc4 = 64;
|
964 |
+
}
|
965 |
+
|
966 |
+
output = output +
|
967 |
+
this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
|
968 |
+
this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
|
969 |
+
|
970 |
+
}
|
971 |
+
|
972 |
+
return output;
|
973 |
+
},
|
974 |
+
// private method for UTF-8 encoding
|
975 |
+
_utf8_encode : function (string) {
|
976 |
+
string = string.replace(/\r\n/g,"\n");
|
977 |
+
var utftext = "";
|
978 |
+
|
979 |
+
for (var n = 0; n < string.length; n++) {
|
980 |
+
|
981 |
+
var c = string.charCodeAt(n);
|
982 |
+
|
983 |
+
if (c < 128) {
|
984 |
+
utftext += String.fromCharCode(c);
|
985 |
+
}
|
986 |
+
else if((c > 127) && (c < 2048)) {
|
987 |
+
utftext += String.fromCharCode((c >> 6) | 192);
|
988 |
+
utftext += String.fromCharCode((c & 63) | 128);
|
989 |
+
}
|
990 |
+
else {
|
991 |
+
utftext += String.fromCharCode((c >> 12) | 224);
|
992 |
+
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
|
993 |
+
utftext += String.fromCharCode((c & 63) | 128);
|
994 |
+
}
|
995 |
+
|
996 |
+
}
|
997 |
+
|
998 |
+
return utftext;
|
999 |
+
}
|
1000 |
+
};
|
1001 |
+
}
|
1002 |
|
1003 |
}(window.supsystic = window.supsystic || {}, window.jQuery, window));
|
1004 |
|
1005 |
// Apply styles to cell from its classes
|
1006 |
function classesRegexp() {
|
1007 |
+
return {
|
1008 |
+
color: /color\-([0-9a-f]{6})/,
|
1009 |
+
background: /bg\-([0-9a-f]{6})/,
|
1010 |
+
fontFamily: /ffamily\-([a-z_]+)/i,
|
1011 |
+
fontSize: /fsize\-([0-9]+)/
|
1012 |
+
}
|
1013 |
}
|
1014 |
function setStylesToCell(cell) {
|
1015 |
+
var $cell = jQuery(cell),
|
1016 |
+
viewId = $cell.parents('.supsystic-table:first').data('view-id'),
|
1017 |
+
classes = classesRegexp(),
|
1018 |
+
color = classes.color.exec(cell.className),
|
1019 |
+
background = classes.background.exec(cell.className),
|
1020 |
+
fontFamily = classes.fontFamily.exec(cell.className),
|
1021 |
+
fontSize = classes.fontSize.exec(cell.className);
|
1022 |
+
|
1023 |
+
if (null !== color) {
|
1024 |
+
$cell.css({color: '#' + color[1]});
|
1025 |
+
}
|
1026 |
+
if (null !== background) {
|
1027 |
+
$cell.css({backgroundColor: '#' + background[1]});
|
1028 |
+
}
|
1029 |
+
if (null !== fontFamily) {
|
1030 |
+
var family = fontFamily[1].replace(/_/g, ' '),
|
1031 |
+
familyName = fontFamily[1].replace(/_/g, '+'),
|
1032 |
+
familyString = '@import url("//fonts.googleapis.com/css?family=' + familyName + '");',
|
1033 |
+
style = getFrontendCellStylesElem(viewId);
|
1034 |
+
|
1035 |
+
if(g_stbStandartFontsList
|
1036 |
+
&& toeInArray(family, g_stbStandartFontsList) == -1
|
1037 |
+
&& style.text().indexOf(familyString) == -1
|
1038 |
+
) {
|
1039 |
+
style.text(familyString + '\n' + style.text());
|
1040 |
+
}
|
1041 |
+
$cell.css({fontFamily: family});
|
1042 |
+
}
|
1043 |
+
if (null !== fontSize) {
|
1044 |
+
var lineHeight = +fontSize[1] + 6;
|
1045 |
+
$cell.css({fontSize: fontSize[1] + 'px', lineHeight: lineHeight + 'px'});
|
1046 |
+
}
|
1047 |
}
|
1048 |
// Get editor styles element
|
1049 |
function getFrontendCellStylesElem(viewId) {
|
1050 |
+
var $style = jQuery('#supsystic-table-' + viewId + '-css');
|
1051 |
|
1052 |
+
if (!$style.length) {
|
1053 |
+
$style = jQuery('<style/>', { id: 'supsystic-table-' + viewId + '-css' });
|
1054 |
+
jQuery('head').append($style);
|
1055 |
+
}
|
1056 |
+
return $style;
|
1057 |
}
|
1058 |
function getAdminCellStylesElem() {
|
1059 |
+
var $style = jQuery('#supsystic-tables-style');
|
1060 |
|
1061 |
+
if (!$style.length) {
|
1062 |
+
$style = jQuery('<style/>', { id: 'supsystic-tables-style' });
|
1063 |
+
jQuery('head').append($style);
|
1064 |
+
}
|
1065 |
+
return $style;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1066 |
}
|
1067 |
+
|
1068 |
/**
|
1069 |
* Integration with our PopUp plugin
|
1070 |
*/
|
1071 |
function _checkOnClickPopups( $table ) {
|
1072 |
+
if(typeof(_ppsBindOnElementClickPopups) !== 'undefined' && $table && $table.size()) {
|
1073 |
+
var $bindedLinks = $table.find('[href*="#ppsShowPopUp_"].ppsClickBinded');
|
1074 |
+
if($bindedLinks && $bindedLinks.size()) {
|
1075 |
+
$bindedLinks.removeClass('ppsClickBinded').unbind('click');
|
1076 |
+
}
|
1077 |
+
_ppsBindOnElementClickPopups();
|
1078 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1079 |
}
|
1080 |
|
1081 |
/**
|
1082 |
* List of common used functions
|
1083 |
*/
|
1084 |
function getChunksArray(arr, len) {
|
1085 |
+
var chunks = [],
|
1086 |
+
i = 0,
|
1087 |
+
n = arr.length;
|
1088 |
|
1089 |
+
while (i < n) {
|
1090 |
+
chunks.push(arr.slice(i, i += len));
|
1091 |
+
}
|
1092 |
|
1093 |
+
return chunks;
|
1094 |
}
|
1095 |
/**
|
1096 |
* We will not use just jQUery.inArray because it is work incorrect for objects
|
1106 |
return jQuery.inArray(needle, haystack);
|
1107 |
}
|
1108 |
return -1;
|
1109 |
+
}
|
1110 |
+
|
1111 |
+
(function($) {
|
1112 |
+
|
1113 |
+
/**
|
1114 |
+
* Detects whether element can be scrolled vertically.
|
1115 |
+
* @this jQuery
|
1116 |
+
* @return {boolean}
|
1117 |
+
*/
|
1118 |
+
$.fn.isVerticallyScrollable = function() {
|
1119 |
+
|
1120 |
+
if (this.scrollTop()) {
|
1121 |
+
// Element is already scrolled, so it is scrollable
|
1122 |
+
return true;
|
1123 |
+
} else {
|
1124 |
+
// Test by actually scrolling
|
1125 |
+
this.scrollTop(1);
|
1126 |
+
|
1127 |
+
if (this.scrollTop()) {
|
1128 |
+
// Scroll back
|
1129 |
+
this.scrollTop(0);
|
1130 |
+
return true;
|
1131 |
+
}
|
1132 |
+
}
|
1133 |
+
|
1134 |
+
return false;
|
1135 |
+
};
|
1136 |
+
|
1137 |
+
/**
|
1138 |
+
* Detects whether element can be scrolled horizontally.
|
1139 |
+
* @this jQuery
|
1140 |
+
* @return {boolean}
|
1141 |
+
*/
|
1142 |
+
$.fn.isHorizontallyScrollable = function() {
|
1143 |
+
|
1144 |
+
if (this.scrollLeft()) {
|
1145 |
+
// Element is already scrolled, so it is scrollable
|
1146 |
+
return true;
|
1147 |
+
} else {
|
1148 |
+
// Test by actually scrolling
|
1149 |
+
this.scrollLeft(1);
|
1150 |
+
|
1151 |
+
if (this.scrollLeft()) {
|
1152 |
+
// Scroll back
|
1153 |
+
this.scrollLeft(0);
|
1154 |
+
return true;
|
1155 |
+
}
|
1156 |
+
}
|
1157 |
+
return false;
|
1158 |
+
};
|
1159 |
+
|
1160 |
+
$.extend($.expr.pseudos || $.expr[ ":" ], {
|
1161 |
+
"vertically-scrollable": function(a, i, m) {
|
1162 |
+
return $(a).isVerticallyScrollable();
|
1163 |
+
},
|
1164 |
+
"horizontally-scrollable": function(a, i, m) {
|
1165 |
+
return $(a).isHorizontallyScrollable();
|
1166 |
+
}
|
1167 |
+
});
|
1168 |
+
})(jQuery);
|
1169 |
+
|
1170 |
+
(function($)
|
1171 |
+
{
|
1172 |
+
$.fn.removeStyle = function(style)
|
1173 |
+
{
|
1174 |
+
var search = new RegExp(style + '[^;]+;?', 'g');
|
1175 |
+
|
1176 |
+
return this.each(function()
|
1177 |
+
{
|
1178 |
+
$(this).attr('style', function(i, style)
|
1179 |
+
{
|
1180 |
+
return style && style.replace(search, '');
|
1181 |
+
});
|
1182 |
+
});
|
1183 |
+
};
|
1184 |
+
}(jQuery));
|
src/SupsysticTables/Core/assets/js/lib/dataTables.customExtensions.js
ADDED
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function ($, app) {
|
2 |
+
$.fn.dataTableExt.oApi.fnFakeRowspan = function (oSettings) {
|
3 |
+
var cells;
|
4 |
+
$.each(oSettings.aoData, function(index, rowData) {
|
5 |
+
setCellAttributes(rowData.anCells);
|
6 |
+
});
|
7 |
+
if (oSettings.aoHeader.length) {
|
8 |
+
cells = [];
|
9 |
+
$.each(oSettings.aoHeader, function(index, rowData) {
|
10 |
+
$.each(rowData, function(index, cellData) {
|
11 |
+
cells.push(cellData.cell);
|
12 |
+
});
|
13 |
+
});
|
14 |
+
setCellAttributes(cells);
|
15 |
+
}
|
16 |
+
if (oSettings.aoFooter.length) {
|
17 |
+
cells = [];
|
18 |
+
$.each(oSettings.aoFooter, function(index, rowData) {
|
19 |
+
$.each(rowData, function(index, cellData) {
|
20 |
+
cells.push(cellData.cell);
|
21 |
+
});
|
22 |
+
});
|
23 |
+
setCellAttributes(cells);
|
24 |
+
}
|
25 |
+
return this;
|
26 |
+
};
|
27 |
+
|
28 |
+
$.extend( $.fn.dataTableExt.oSort, {
|
29 |
+
"natural-asc": function ( a, b ) {
|
30 |
+
return naturalSort(a,b,true);
|
31 |
+
},
|
32 |
+
"natural-desc": function ( a, b ) {
|
33 |
+
return naturalSort(a,b,true) * -1;
|
34 |
+
},
|
35 |
+
"natural-nohtml-asc": function( a, b ) {
|
36 |
+
return naturalSort(a,b,false);
|
37 |
+
},
|
38 |
+
"natural-nohtml-desc": function( a, b ) {
|
39 |
+
return naturalSort(a,b,false) * -1;
|
40 |
+
},
|
41 |
+
"natural-ci-asc": function( a, b ) {
|
42 |
+
a = a.toString().toLowerCase();
|
43 |
+
b = b.toString().toLowerCase();
|
44 |
+
|
45 |
+
return naturalSort(a,b,true);
|
46 |
+
},
|
47 |
+
"natural-ci-desc": function( a, b ) {
|
48 |
+
a = a.toString().toLowerCase();
|
49 |
+
b = b.toString().toLowerCase();
|
50 |
+
|
51 |
+
return naturalSort(a,b,true) * -1;
|
52 |
+
},
|
53 |
+
"natural-nohtml-ci-asc": function( a, b ) {
|
54 |
+
a = a.toString().toLowerCase();
|
55 |
+
b = b.toString().toLowerCase();
|
56 |
+
|
57 |
+
return naturalSort(a,b,false);
|
58 |
+
},
|
59 |
+
"natural-nohtml-ci-desc": function( a, b ) {
|
60 |
+
a = a.toString().toLowerCase();
|
61 |
+
b = b.toString().toLowerCase();
|
62 |
+
|
63 |
+
return naturalSort(a,b,false) * -1;
|
64 |
+
}
|
65 |
+
} );
|
66 |
+
|
67 |
+
function setCellAttributes(cellArray) {
|
68 |
+
for (var i = 0; i < cellArray.length; i++) {
|
69 |
+
if (cellArray[i].getAttribute('data-hide')) {
|
70 |
+
cellArray[i].style.display = 'none';
|
71 |
+
}
|
72 |
+
if (colspan = cellArray[i].getAttribute('data-colspan')) {
|
73 |
+
if (colspan > 1) {
|
74 |
+
cellArray[i].setAttribute('colspan', colspan);
|
75 |
+
}
|
76 |
+
}
|
77 |
+
if (rowspan = cellArray[i].getAttribute('data-rowspan')) {
|
78 |
+
if (rowspan > 1) {
|
79 |
+
cellArray[i].setAttribute('rowspan', rowspan);
|
80 |
+
}
|
81 |
+
}
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
// Custom Natural Sort Function
|
86 |
+
// see https://datatables.net/plug-ins/sorting/natural
|
87 |
+
function naturalSort (a, b, html) {
|
88 |
+
var re = /(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?%?$|^0x[0-9a-f]+$|[0-9]+)/gi,
|
89 |
+
sre = /(^[ ]*|[ ]*$)/g,
|
90 |
+
dre = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,
|
91 |
+
hre = /^0x[0-9a-f]+$/i,
|
92 |
+
ore = /^0/,
|
93 |
+
htmre = /(<([^>]+)>)/ig,
|
94 |
+
// convert all to strings and trim()
|
95 |
+
x = a.toString().replace(sre, '') || '',
|
96 |
+
y = b.toString().replace(sre, '') || '';
|
97 |
+
// remove html from strings if desired
|
98 |
+
if (!html) {
|
99 |
+
x = x.replace(htmre, '');
|
100 |
+
y = y.replace(htmre, '');
|
101 |
+
}
|
102 |
+
// chunk/tokenize
|
103 |
+
var xN = x.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'),
|
104 |
+
yN = y.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'),
|
105 |
+
// numeric, hex or date detection
|
106 |
+
xD = parseInt(x.match(hre), 10) || (xN.length !== 1 && x.match(dre) && Date.parse(x)),
|
107 |
+
yD = parseInt(y.match(hre), 10) || xD && y.match(dre) && Date.parse(y) || null;
|
108 |
+
|
109 |
+
// first try and sort Hex codes or Dates
|
110 |
+
if (yD) {
|
111 |
+
if ( xD < yD ) {
|
112 |
+
return -1;
|
113 |
+
}
|
114 |
+
else if ( xD > yD ) {
|
115 |
+
return 1;
|
116 |
+
}
|
117 |
+
}
|
118 |
+
|
119 |
+
// natural sorting through split numeric strings and default strings
|
120 |
+
for(var cLoc=0, numS=Math.max(xN.length, yN.length); cLoc < numS; cLoc++) {
|
121 |
+
// find floats not starting with '0', string or 0 if not defined (Clint Priest)
|
122 |
+
|
123 |
+
/*supsystic*/
|
124 |
+
//var oFxNcL = !(xN[cLoc] || '').match(ore) && parseFloat(xN[cLoc], 10) || xN[cLoc] || 0;
|
125 |
+
//var oFyNcL = !(yN[cLoc] || '').match(ore) && parseFloat(yN[cLoc], 10) || yN[cLoc] || 0;
|
126 |
+
var oFxNcL = parseFloat(xN[cLoc], 10) || xN[cLoc] || 0;
|
127 |
+
var oFyNcL = parseFloat(yN[cLoc], 10) || yN[cLoc] || 0;
|
128 |
+
/*****/
|
129 |
+
|
130 |
+
// handle numeric vs string comparison - number < string - (Kyle Adams)
|
131 |
+
if (isNaN(oFxNcL) !== isNaN(oFyNcL)) {
|
132 |
+
return (isNaN(oFxNcL)) ? 1 : -1;
|
133 |
+
}
|
134 |
+
// rely on string comparison if different types - i.e. '02' < 2 != '02' < '2'
|
135 |
+
else if (typeof oFxNcL !== typeof oFyNcL) {
|
136 |
+
oFxNcL += '';
|
137 |
+
oFyNcL += '';
|
138 |
+
}
|
139 |
+
if (oFxNcL < oFyNcL) {
|
140 |
+
return -1;
|
141 |
+
}
|
142 |
+
if (oFxNcL > oFyNcL) {
|
143 |
+
return 1;
|
144 |
+
}
|
145 |
+
}
|
146 |
+
return 0;
|
147 |
+
}
|
148 |
+
|
149 |
+
}(window.jQuery, window.supsystic.Tables));
|
src/SupsysticTables/Core/assets/js/lib/dataTables.fixedColumns.min.js
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
FixedColumns 3.2.2
|
3 |
+
©2010-2016 SpryMedia Ltd - datatables.net/license
|
4 |
+
*/
|
5 |
+
(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(q){return d(q,window,document)}):"object"===typeof exports?module.exports=function(q,r){q||(q=window);if(!r||!r.fn.dataTable)r=require("datatables.net")(q,r).$;return d(r,q,q.document)}:d(jQuery,window,document)})(function(d,q,r,t){var s=d.fn.dataTable,u,m=function(a,b){var c=this;if(this instanceof m){if(b===t||!0===b)b={};var e=d.fn.dataTable.camelToHungarian;e&&(e(m.defaults,m.defaults,!0),e(m.defaults,
|
6 |
+
b));e=(new d.fn.dataTable.Api(a)).settings()[0];this.s={dt:e,iTableColumns:e.aoColumns.length,aiOuterWidths:[],aiInnerWidths:[],rtl:"rtl"===d(e.nTable).css("direction")};this.dom={scroller:null,header:null,body:null,footer:null,grid:{wrapper:null,dt:null,left:{wrapper:null,head:null,body:null,foot:null},right:{wrapper:null,head:null,body:null,foot:null}},clone:{left:{header:null,body:null,footer:null},right:{header:null,body:null,footer:null}}};if(e._oFixedColumns)throw"FixedColumns already initialised on this table";
|
7 |
+
e._oFixedColumns=this;e._bInitComplete?this._fnConstruct(b):e.oApi._fnCallbackReg(e,"aoInitComplete",function(){c._fnConstruct(b)},"FixedColumns")}else alert("FixedColumns warning: FixedColumns must be initialised with the 'new' keyword.")};d.extend(m.prototype,{fnUpdate:function(){this._fnDraw(!0)},fnRedrawLayout:function(){this._fnColCalc();this._fnGridLayout();this.fnUpdate()},fnRecalculateHeight:function(a){delete a._DTTC_iHeight;a.style.height="auto"},fnSetRowHeight:function(a,b){a.style.height=
|
8 |
+
b+"px"},fnGetPosition:function(a){var b=this.s.dt.oInstance;if(d(a).parents(".DTFC_Cloned").length){if("tr"===a.nodeName.toLowerCase())return a=d(a).index(),b.fnGetPosition(d("tr",this.s.dt.nTBody)[a]);var c=d(a).index(),a=d(a.parentNode).index();return[b.fnGetPosition(d("tr",this.s.dt.nTBody)[a]),c,b.oApi._fnVisibleToColumnIndex(this.s.dt,c)]}return b.fnGetPosition(a)},_fnConstruct:function(a){var b=this;if("function"!=typeof this.s.dt.oInstance.fnVersionCheck||!0!==this.s.dt.oInstance.fnVersionCheck("1.8.0"))alert("FixedColumns "+
|
9 |
+
m.VERSION+" required DataTables 1.8.0 or later. Please upgrade your DataTables installation");else if(""===this.s.dt.oScroll.sX)this.s.dt.oInstance.oApi._fnLog(this.s.dt,1,"FixedColumns is not needed (no x-scrolling in DataTables enabled), so no action will be taken. Use 'FixedHeader' for column fixing when scrolling is not enabled");else{this.s=d.extend(!0,this.s,m.defaults,a);a=this.s.dt.oClasses;this.dom.grid.dt=d(this.s.dt.nTable).parents("div."+a.sScrollWrapper)[0];this.dom.scroller=d("div."+
|
10 |
+
a.sScrollBody,this.dom.grid.dt)[0];this._fnColCalc();this._fnGridSetup();var c,e=!1;d(this.s.dt.nTableWrapper).on("mousedown.DTFC",function(){e=!0;d(r).one("mouseup",function(){e=!1})});d(this.dom.scroller).on("mouseover.DTFC touchstart.DTFC",function(){e||(c="main")}).on("scroll.DTFC",function(a){!c&&a.originalEvent&&(c="main");if("main"===c&&(0<b.s.iLeftColumns&&(b.dom.grid.left.liner.scrollTop=b.dom.scroller.scrollTop),0<b.s.iRightColumns))b.dom.grid.right.liner.scrollTop=b.dom.scroller.scrollTop});
|
11 |
+
var f="onwheel"in r.createElement("div")?"wheel.DTFC":"mousewheel.DTFC";if(0<b.s.iLeftColumns)d(b.dom.grid.left.liner).on("mouseover.DTFC touchstart.DTFC",function(){e||(c="left")}).on("scroll.DTFC",function(a){!c&&a.originalEvent&&(c="left");"left"===c&&(b.dom.scroller.scrollTop=b.dom.grid.left.liner.scrollTop,0<b.s.iRightColumns&&(b.dom.grid.right.liner.scrollTop=b.dom.grid.left.liner.scrollTop))}).on(f,function(a){b.dom.scroller.scrollLeft-="wheel"===a.type?-a.originalEvent.deltaX:a.originalEvent.wheelDeltaX});
|
12 |
+
if(0<b.s.iRightColumns)d(b.dom.grid.right.liner).on("mouseover.DTFC touchstart.DTFC",function(){e||(c="right")}).on("scroll.DTFC",function(a){!c&&a.originalEvent&&(c="right");"right"===c&&(b.dom.scroller.scrollTop=b.dom.grid.right.liner.scrollTop,0<b.s.iLeftColumns&&(b.dom.grid.left.liner.scrollTop=b.dom.grid.right.liner.scrollTop))}).on(f,function(a){b.dom.scroller.scrollLeft-="wheel"===a.type?-a.originalEvent.deltaX:a.originalEvent.wheelDeltaX});d(q).on("resize.DTFC",function(){b._fnGridLayout.call(b)});
|
13 |
+
var g=!0,h=d(this.s.dt.nTable);h.on("draw.dt.DTFC",function(){b._fnColCalc();b._fnDraw.call(b,g);g=!1}).on("column-sizing.dt.DTFC",function(){b._fnColCalc();b._fnGridLayout(b)}).on("column-visibility.dt.DTFC",function(a,c,d,e,f){if(f===t||f)b._fnColCalc(),b._fnGridLayout(b),b._fnDraw(!0)}).on("select.dt.DTFC deselect.dt.DTFC",function(a){"dt"===a.namespace&&b._fnDraw(!1)}).on("destroy.dt.DTFC",function(){h.off(".DTFC");d(b.dom.scroller).off(".DTFC");d(q).off(".DTFC");d(b.s.dt.nTableWrapper).off(".DTFC");
|
14 |
+
d(b.dom.grid.left.liner).off(".DTFC "+f);d(b.dom.grid.left.wrapper).remove();d(b.dom.grid.right.liner).off(".DTFC "+f);d(b.dom.grid.right.wrapper).remove()});this._fnGridLayout();this.s.dt.oInstance.fnDraw(!1)}},_fnColCalc:function(){var a=this,b=0,c=0;this.s.aiInnerWidths=[];this.s.aiOuterWidths=[];d.each(this.s.dt.aoColumns,function(e,f){var g=d(f.nTh),h;if(g.filter(":visible").length){var i=g.outerWidth();0===a.s.aiOuterWidths.length&&(h=d(a.s.dt.nTable).css("border-left-width"),i+="string"===
|
15 |
+
typeof h?1:parseInt(h,10));a.s.aiOuterWidths.length===a.s.dt.aoColumns.length-1&&(h=d(a.s.dt.nTable).css("border-right-width"),i+="string"===typeof h?1:parseInt(h,10));a.s.aiOuterWidths.push(i);a.s.aiInnerWidths.push(g.width());e<a.s.iLeftColumns&&(b+=i);a.s.iTableColumns-a.s.iRightColumns<=e&&(c+=i)}else a.s.aiInnerWidths.push(0),a.s.aiOuterWidths.push(0)});this.s.iLeftWidth=b;this.s.iRightWidth=c},_fnGridSetup:function(){var a=this._fnDTOverflow(),b;this.dom.body=this.s.dt.nTable;this.dom.header=
|
16 |
+
this.s.dt.nTHead.parentNode;this.dom.header.parentNode.parentNode.style.position="relative";var c=d('<div class="DTFC_ScrollWrapper" style="position:relative; clear:both;"><div class="DTFC_LeftWrapper" style="position:absolute; top:0; left:0;"><div class="DTFC_LeftHeadWrapper" style="position:relative; top:0; left:0; overflow:hidden;"></div><div class="DTFC_LeftBodyWrapper" style="position:relative; top:0; left:0; overflow:hidden;"><div class="DTFC_LeftBodyLiner" style="position:relative; top:0; left:0; overflow-y:scroll;"></div></div><div class="DTFC_LeftFootWrapper" style="position:relative; top:0; left:0; overflow:hidden;"></div></div><div class="DTFC_RightWrapper" style="position:absolute; top:0; right:0;"><div class="DTFC_RightHeadWrapper" style="position:relative; top:0; left:0;"><div class="DTFC_RightHeadBlocker DTFC_Blocker" style="position:absolute; top:0; bottom:0;"></div></div><div class="DTFC_RightBodyWrapper" style="position:relative; top:0; left:0; overflow:hidden;"><div class="DTFC_RightBodyLiner" style="position:relative; top:0; left:0; overflow-y:scroll;"></div></div><div class="DTFC_RightFootWrapper" style="position:relative; top:0; left:0;"><div class="DTFC_RightFootBlocker DTFC_Blocker" style="position:absolute; top:0; bottom:0;"></div></div></div></div>')[0],
|
17 |
+
e=c.childNodes[0],f=c.childNodes[1];this.dom.grid.dt.parentNode.insertBefore(c,this.dom.grid.dt);c.appendChild(this.dom.grid.dt);this.dom.grid.wrapper=c;0<this.s.iLeftColumns&&(this.dom.grid.left.wrapper=e,this.dom.grid.left.head=e.childNodes[0],this.dom.grid.left.body=e.childNodes[1],this.dom.grid.left.liner=d("div.DTFC_LeftBodyLiner",c)[0],c.appendChild(e));0<this.s.iRightColumns&&(this.dom.grid.right.wrapper=f,this.dom.grid.right.head=f.childNodes[0],this.dom.grid.right.body=f.childNodes[1],this.dom.grid.right.liner=
|
18 |
+
d("div.DTFC_RightBodyLiner",c)[0],f.style.right=a.bar+"px",b=d("div.DTFC_RightHeadBlocker",c)[0],b.style.width=a.bar+"px",b.style.right=-a.bar+"px",this.dom.grid.right.headBlock=b,b=d("div.DTFC_RightFootBlocker",c)[0],b.style.width=a.bar+"px",b.style.right=-a.bar+"px",this.dom.grid.right.footBlock=b,c.appendChild(f));if(this.s.dt.nTFoot&&(this.dom.footer=this.s.dt.nTFoot.parentNode,0<this.s.iLeftColumns&&(this.dom.grid.left.foot=e.childNodes[2]),0<this.s.iRightColumns))this.dom.grid.right.foot=f.childNodes[2];
|
19 |
+
this.s.rtl&&d("div.DTFC_RightHeadBlocker",c).css({left:-a.bar+"px",right:""})},_fnGridLayout:function(){var a=this,b=this.dom.grid;d(b.wrapper).width();var c=d(this.s.dt.nTable.parentNode).outerHeight(),e=d(this.s.dt.nTable.parentNode.parentNode).outerHeight(),f=this._fnDTOverflow(),g=this.s.iLeftWidth,h=this.s.iRightWidth,i="rtl"===d(this.dom.body).css("direction"),j=function(b,c){f.bar?a._firefoxScrollError()?34<d(b).height()&&(b.style.width=c+f.bar+"px"):b.style.width=c+f.bar+"px":(b.style.width=
|
20 |
+
c+20+"px",b.style.paddingRight="20px",b.style.boxSizing="border-box")};f.x&&(c-=f.bar);b.wrapper.style.height=e+"px";0<this.s.iLeftColumns&&(e=b.left.wrapper,e.style.width=g+"px",e.style.height="1px",i?(e.style.left="",e.style.right=0):(e.style.left=0,e.style.right=""),b.left.body.style.height=c+"px",b.left.foot&&(b.left.foot.style.top=(f.x?f.bar:0)+"px"),j(b.left.liner,g),b.left.liner.style.height=c+"px");0<this.s.iRightColumns&&(e=b.right.wrapper,e.style.width=h+"px",e.style.height="1px",this.s.rtl?
|
21 |
+
(e.style.left=f.y?f.bar+"px":0,e.style.right=""):(e.style.left="",e.style.right=f.y?f.bar+"px":0),b.right.body.style.height=c+"px",b.right.foot&&(b.right.foot.style.top=(f.x?f.bar:0)+"px"),j(b.right.liner,h),b.right.liner.style.height=c+"px",b.right.headBlock.style.display=f.y?"block":"none",b.right.footBlock.style.display=f.y?"block":"none")},_fnDTOverflow:function(){var a=this.s.dt.nTable,b=a.parentNode,c={x:!1,y:!1,bar:this.s.dt.oScroll.iBarWidth};a.offsetWidth>b.clientWidth&&(c.x=!0);a.offsetHeight>
|
22 |
+
b.clientHeight&&(c.y=!0);return c},_fnDraw:function(a){this._fnGridLayout();this._fnCloneLeft(a);this._fnCloneRight(a);null!==this.s.fnDrawCallback&&this.s.fnDrawCallback.call(this,this.dom.clone.left,this.dom.clone.right);d(this).trigger("draw.dtfc",{leftClone:this.dom.clone.left,rightClone:this.dom.clone.right})},_fnCloneRight:function(a){if(!(0>=this.s.iRightColumns)){var b,c=[];for(b=this.s.iTableColumns-this.s.iRightColumns;b<this.s.iTableColumns;b++)this.s.dt.aoColumns[b].bVisible&&c.push(b);
|
23 |
+
this._fnClone(this.dom.clone.right,this.dom.grid.right,c,a)}},_fnCloneLeft:function(a){if(!(0>=this.s.iLeftColumns)){var b,c=[];for(b=0;b<this.s.iLeftColumns;b++)this.s.dt.aoColumns[b].bVisible&&c.push(b);this._fnClone(this.dom.clone.left,this.dom.grid.left,c,a)}},_fnCopyLayout:function(a,b,c){for(var e=[],f=[],g=[],h=0,i=a.length;h<i;h++){var j=[];j.nTr=d(a[h].nTr).clone(c,!1)[0];for(var l=0,o=this.s.iTableColumns;l<o;l++)if(-1!==d.inArray(l,b)){var p=d.inArray(a[h][l].cell,g);-1===p?(p=d(a[h][l].cell).clone(c,
|
24 |
+
!1)[0],f.push(p),g.push(a[h][l].cell),j.push({cell:p,unique:a[h][l].unique})):j.push({cell:f[p],unique:a[h][l].unique})}e.push(j)}return e},_fnClone:function(a,b,c,e){var f=this,g,h,i,j,l,o,p,n,m,k=this.s.dt;if(e){d(a.header).remove();a.header=d(this.dom.header).clone(!0,!1)[0];a.header.className+=" DTFC_Cloned";a.header.style.width="100%";b.head.appendChild(a.header);n=this._fnCopyLayout(k.aoHeader,c,!0);j=d(">thead",a.header);j.empty();g=0;for(h=n.length;g<h;g++)j[0].appendChild(n[g].nTr);k.oApi._fnDrawHead(k,
|
25 |
+
n,!0)}else{n=this._fnCopyLayout(k.aoHeader,c,!1);m=[];k.oApi._fnDetectHeader(m,d(">thead",a.header)[0]);g=0;for(h=n.length;g<h;g++){i=0;for(j=n[g].length;i<j;i++)m[g][i].cell.className=n[g][i].cell.className,d("span.DataTables_sort_icon",m[g][i].cell).each(function(){this.className=d("span.DataTables_sort_icon",n[g][i].cell)[0].className})}}this._fnEqualiseHeights("thead",this.dom.header,a.header);"auto"==this.s.sHeightMatch&&d(">tbody>tr",f.dom.body).css("height","auto");null!==a.body&&(d(a.body).remove(),
|
26 |
+
a.body=null);a.body=d(this.dom.body).clone(!0)[0];a.body.className+=" DTFC_Cloned";a.body.style.paddingBottom=k.oScroll.iBarWidth+"px";a.body.style.marginBottom=2*k.oScroll.iBarWidth+"px";null!==a.body.getAttribute("id")&&a.body.removeAttribute("id");d(">thead>tr",a.body).empty();d(">tfoot",a.body).remove();var q=d("tbody",a.body)[0];d(q).empty();if(0<k.aiDisplay.length){h=d(">thead>tr",a.body)[0];for(p=0;p<c.length;p++)l=c[p],o=d(k.aoColumns[l].nTh).clone(!0)[0],o.innerHTML="",j=o.style,j.paddingTop=
|
27 |
+
"0",j.paddingBottom="0",j.borderTopWidth="0",j.borderBottomWidth="0",j.height=0,j.width=f.s.aiInnerWidths[l]+"px",h.appendChild(o);d(">tbody>tr",f.dom.body).each(function(a){var a=f.s.dt.oFeatures.bServerSide===false?f.s.dt.aiDisplay[f.s.dt._iDisplayStart+a]:a,b=f.s.dt.aoData[a].anCells||d(this).children("td, th"),e=this.cloneNode(false);e.removeAttribute("id");e.setAttribute("data-dt-row",a);for(p=0;p<c.length;p++){l=c[p];if(b.length>0){o=d(b[l]).clone(true,true)[0];o.setAttribute("data-dt-row",
|
28 |
+
a);o.setAttribute("data-dt-column",p);e.appendChild(o)}}q.appendChild(e)})}else d(">tbody>tr",f.dom.body).each(function(){o=this.cloneNode(true);o.className=o.className+" DTFC_NoData";d("td",o).html("");q.appendChild(o)});a.body.style.width="100%";a.body.style.margin="0";a.body.style.padding="0";k.oScroller!==t&&(h=k.oScroller.dom.force,b.forcer?b.forcer.style.height=h.style.height:(b.forcer=h.cloneNode(!0),b.liner.appendChild(b.forcer)));b.liner.appendChild(a.body);this._fnEqualiseHeights("tbody",
|
29 |
+
f.dom.body,a.body);if(null!==k.nTFoot){if(e){null!==a.footer&&a.footer.parentNode.removeChild(a.footer);a.footer=d(this.dom.footer).clone(!0,!0)[0];a.footer.className+=" DTFC_Cloned";a.footer.style.width="100%";b.foot.appendChild(a.footer);n=this._fnCopyLayout(k.aoFooter,c,!0);b=d(">tfoot",a.footer);b.empty();g=0;for(h=n.length;g<h;g++)b[0].appendChild(n[g].nTr);k.oApi._fnDrawHead(k,n,!0)}else{n=this._fnCopyLayout(k.aoFooter,c,!1);b=[];k.oApi._fnDetectHeader(b,d(">tfoot",a.footer)[0]);g=0;for(h=n.length;g<
|
30 |
+
h;g++){i=0;for(j=n[g].length;i<j;i++)b[g][i].cell.className=n[g][i].cell.className}}this._fnEqualiseHeights("tfoot",this.dom.footer,a.footer)}b=k.oApi._fnGetUniqueThs(k,d(">thead",a.header)[0]);d(b).each(function(a){l=c[a];this.style.width=f.s.aiInnerWidths[l]+"px"});null!==f.s.dt.nTFoot&&(b=k.oApi._fnGetUniqueThs(k,d(">tfoot",a.footer)[0]),d(b).each(function(a){l=c[a];this.style.width=f.s.aiInnerWidths[l]+"px"}))},_fnGetTrNodes:function(a){for(var b=[],c=0,d=a.childNodes.length;c<d;c++)"TR"==a.childNodes[c].nodeName.toUpperCase()&&
|
31 |
+
b.push(a.childNodes[c]);return b},_fnEqualiseHeights:function(a,b,c){if(!("none"==this.s.sHeightMatch&&"thead"!==a&&"tfoot"!==a)){var e,f,g=b.getElementsByTagName(a)[0],c=c.getElementsByTagName(a)[0],a=d(">"+a+">tr:eq(0)",b).children(":first");a.outerHeight();a.height();for(var g=this._fnGetTrNodes(g),b=this._fnGetTrNodes(c),h=[],c=0,a=b.length;c<a;c++)e=g[c].offsetHeight,f=b[c].offsetHeight,e=f>e?f:e,"semiauto"==this.s.sHeightMatch&&(g[c]._DTTC_iHeight=e),h.push(e);c=0;for(a=b.length;c<a;c++)b[c].style.height=
|
32 |
+
h[c]+"px",g[c].style.height=h[c]+"px"}},_firefoxScrollError:function(){if(u===t){var a=d("<div/>").css({position:"absolute",top:0,left:0,height:10,width:50,overflow:"scroll"}).appendTo("body");u=a[0].clientWidth===a[0].offsetWidth&&0!==this._fnDTOverflow().bar;a.remove()}return u}});m.defaults={iLeftColumns:1,iRightColumns:0,fnDrawCallback:null,sHeightMatch:"semiauto"};m.version="3.2.2";s.Api.register("fixedColumns()",function(){return this});s.Api.register("fixedColumns().update()",function(){return this.iterator("table",
|
33 |
+
function(a){a._oFixedColumns&&a._oFixedColumns.fnUpdate()})});s.Api.register("fixedColumns().relayout()",function(){return this.iterator("table",function(a){a._oFixedColumns&&a._oFixedColumns.fnRedrawLayout()})});s.Api.register("rows().recalcHeight()",function(){return this.iterator("row",function(a,b){a._oFixedColumns&&a._oFixedColumns.fnRecalculateHeight(this.row(b).node())})});s.Api.register("fixedColumns().rowIndex()",function(a){a=d(a);return a.parents(".DTFC_Cloned").length?this.rows({page:"current"}).indexes()[a.index()]:
|
34 |
+
this.row(a).index()});s.Api.register("fixedColumns().cellIndex()",function(a){a=d(a);if(a.parents(".DTFC_Cloned").length){var b=a.parent().index(),b=this.rows({page:"current"}).indexes()[b],a=a.parents(".DTFC_LeftWrapper").length?a.index():this.columns().flatten().length-this.context[0]._oFixedColumns.s.iRightColumns+a.index();return{row:b,column:this.column.index("toData",a),columnVisible:a}}return this.cell(a).index()});d(r).on("init.dt.fixedColumns",function(a,b){if("dt"===a.namespace){var c=b.oInit.fixedColumns,
|
35 |
+
e=s.defaults.fixedColumns;if(c||e)e=d.extend({},c,e),!1!==c&&new m(b,e)}});d.fn.dataTable.FixedColumns=m;return d.fn.DataTable.FixedColumns=m});
|
src/SupsysticTables/Core/assets/js/lib/dataTables.fixedHeader.min.js
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
FixedHeader 3.1.2
|
3 |
+
©2009-2016 SpryMedia Ltd - datatables.net/license
|
4 |
+
*/
|
5 |
+
(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(g){return d(g,window,document)}):"object"===typeof exports?module.exports=function(g,h){g||(g=window);if(!h||!h.fn.dataTable)h=require("datatables.net")(g,h).$;return d(h,g,g.document)}:d(jQuery,window,document)})(function(d,g,h,k){var j=d.fn.dataTable,l=0,i=function(b,a){if(!(this instanceof i))throw"FixedHeader must be initialised with the 'new' keyword.";!0===a&&(a={});b=new j.Api(b);this.c=d.extend(!0,
|
6 |
+
{},i.defaults,a);this.s={dt:b,position:{theadTop:0,tbodyTop:0,tfootTop:0,tfootBottom:0,width:0,left:0,tfootHeight:0,theadHeight:0,windowHeight:d(g).height(),visible:!0},headerMode:null,footerMode:null,autoWidth:b.settings()[0].oFeatures.bAutoWidth,namespace:".dtfc"+l++,scrollLeft:{header:-1,footer:-1},enable:!0};this.dom={floatingHeader:null,thead:d(b.table().header()),tbody:d(b.table().body()),tfoot:d(b.table().footer()),header:{host:null,floating:null,placeholder:null},footer:{host:null,floating:null,
|
7 |
+
placeholder:null}};this.dom.header.host=this.dom.thead.parent();this.dom.footer.host=this.dom.tfoot.parent();var e=b.settings()[0];if(e._fixedHeader)throw"FixedHeader already initialised on table "+e.nTable.id;e._fixedHeader=this;this._constructor()};d.extend(i.prototype,{enable:function(b){this.s.enable=b;this.c.header&&this._modeChange("in-place","header",!0);this.c.footer&&this.dom.tfoot.length&&this._modeChange("in-place","footer",!0);this.update()},headerOffset:function(b){b!==k&&(this.c.headerOffset=
|
8 |
+
b,this.update());return this.c.headerOffset},footerOffset:function(b){b!==k&&(this.c.footerOffset=b,this.update());return this.c.footerOffset},update:function(){this._positions();this._scroll(!0)},_constructor:function(){var b=this,a=this.s.dt;d(g).on("scroll"+this.s.namespace,function(){b._scroll()}).on("resize"+this.s.namespace,function(){b.s.position.windowHeight=d(g).height();b.update()});var e=d(".fh-fixedHeader");!this.c.headerOffset&&e.length&&(this.c.headerOffset=e.outerHeight());e=d(".fh-fixedFooter");
|
9 |
+
!this.c.footerOffset&&e.length&&(this.c.footerOffset=e.outerHeight());a.on("column-reorder.dt.dtfc column-visibility.dt.dtfc draw.dt.dtfc column-sizing.dt.dtfc",function(){b.update()});a.on("destroy.dtfc",function(){a.off(".dtfc");d(g).off(b.s.namespace)});this._positions();this._scroll()},_clone:function(b,a){var e=this.s.dt,c=this.dom[b],f="header"===b?this.dom.thead:this.dom.tfoot;!a&&c.floating?c.floating.removeClass("fixedHeader-floating fixedHeader-locked"):(c.floating&&(c.placeholder.remove(),
|
10 |
+
this._unsize(b),c.floating.children().detach(),c.floating.remove()),c.floating=d(e.table().node().cloneNode(!1)).css("table-layout","fixed").removeAttr("id").append(f).appendTo("body"),c.placeholder=f.clone(!1),c.host.prepend(c.placeholder),this._matchWidths(c.placeholder,c.floating))},_matchWidths:function(b,a){var e=function(a){return d(a,b).map(function(){return d(this).width()}).toArray()},c=function(b,c){d(b,a).each(function(a){d(this).css({width:c[a],minWidth:c[a]})})},f=e("th"),e=e("td");c("th",
|
11 |
+
f);c("td",e)},_unsize:function(b){var a=this.dom[b].floating;a&&("footer"===b||"header"===b&&!this.s.autoWidth)?d("th, td",a).css({width:"",minWidth:""}):a&&"header"===b&&d("th, td",a).css("min-width","")},_horizontal:function(b,a){var e=this.dom[b],c=this.s.position,d=this.s.scrollLeft;e.floating&&d[b]!==a&&(e.floating.css("left",c.left-a),d[b]=a)},_modeChange:function(b,a,e){var c=this.dom[a],f=this.s.position,g=d.contains(this.dom["footer"===a?"tfoot":"thead"][0],h.activeElement)?h.activeElement:
|
12 |
+
null;if("in-place"===b){if(c.placeholder&&(c.placeholder.remove(),c.placeholder=null),this._unsize(a),"header"===a?c.host.prepend(this.dom.thead):c.host.append(this.dom.tfoot),c.floating)c.floating.remove(),c.floating=null}else"in"===b?(this._clone(a,e),c.floating.addClass("fixedHeader-floating").css("header"===a?"top":"bottom",this.c[a+"Offset"]).css("left",f.left+"px").css("width",f.width+"px"),"footer"===a&&c.floating.css("top","")):"below"===b?(this._clone(a,e),c.floating.addClass("fixedHeader-locked").css("top",
|
13 |
+
f.tfootTop-f.theadHeight).css("left",f.left+"px").css("width",f.width+"px")):"above"===b&&(this._clone(a,e),c.floating.addClass("fixedHeader-locked").css("top",f.tbodyTop).css("left",f.left+"px").css("width",f.width+"px"));g&&g!==h.activeElement&&g.focus();this.s.scrollLeft.header=-1;this.s.scrollLeft.footer=-1;this.s[a+"Mode"]=b},_positions:function(){var b=this.s.dt.table(),a=this.s.position,e=this.dom,b=d(b.node()),c=b.children("thead"),f=b.children("tfoot"),e=e.tbody;a.visible=b.is(":visible");
|
14 |
+
a.width=b.outerWidth();a.left=b.offset().left;a.theadTop=c.offset().top;a.tbodyTop=e.offset().top;a.theadHeight=a.tbodyTop-a.theadTop;f.length?(a.tfootTop=f.offset().top,a.tfootBottom=a.tfootTop+f.outerHeight(),a.tfootHeight=a.tfootBottom-a.tfootTop):(a.tfootTop=a.tbodyTop+e.outerHeight(),a.tfootBottom=a.tfootTop,a.tfootHeight=a.tfootTop)},_scroll:function(b){var a=d(h).scrollTop(),e=d(h).scrollLeft(),c=this.s.position,f;if(this.s.enable&&(this.c.header&&(f=!c.visible||a<=c.theadTop-this.c.headerOffset?
|
15 |
+
"in-place":a<=c.tfootTop-c.theadHeight-this.c.headerOffset?"in":"below",(b||f!==this.s.headerMode)&&this._modeChange(f,"header",b),this._horizontal("header",e)),this.c.footer&&this.dom.tfoot.length))a=!c.visible||a+c.windowHeight>=c.tfootBottom+this.c.footerOffset?"in-place":c.windowHeight+a>c.tbodyTop+c.tfootHeight+this.c.footerOffset?"in":"above",(b||a!==this.s.footerMode)&&this._modeChange(a,"footer",b),this._horizontal("footer",e)}});i.version="3.1.2";i.defaults={header:!0,footer:!1,headerOffset:0,
|
16 |
+
footerOffset:0};d.fn.dataTable.FixedHeader=i;d.fn.DataTable.FixedHeader=i;d(h).on("init.dt.dtfh",function(b,a){if("dt"===b.namespace){var e=a.oInit.fixedHeader,c=j.defaults.fixedHeader;if((e||c)&&!a._fixedHeader)c=d.extend({},c,e),!1!==e&&new i(a,c)}});j.Api.register("fixedHeader()",function(){});j.Api.register("fixedHeader.adjust()",function(){return this.iterator("table",function(b){(b=b._fixedHeader)&&b.update()})});j.Api.register("fixedHeader.enable()",function(b){return this.iterator("table",
|
17 |
+
function(a){(a=a._fixedHeader)&&a.enable(b!==k?b:!0)})});j.Api.register("fixedHeader.disable()",function(){return this.iterator("table",function(b){(b=b._fixedHeader)&&b.enable(!1)})});d.each(["header","footer"],function(b,a){j.Api.register("fixedHeader."+a+"Offset()",function(b){var c=this.context;return b===k?c.length&&c[0]._fixedHeader?c[0]._fixedHeader[a+"Offset"]():k:this.iterator("table",function(c){if(c=c._fixedHeader)c[a+"Offset"](b)})})});return i});
|
src/SupsysticTables/Core/assets/js/lib/dataTables.responsive.min.js
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
Responsive 2.0.2
|
3 |
+
2014-2016 SpryMedia Ltd - datatables.net/license
|
4 |
+
*/
|
5 |
+
(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(j){return c(j,window,document)}):"object"===typeof exports?module.exports=function(j,k){j||(j=window);if(!k||!k.fn.dataTable)k=require("datatables.net")(j,k).$;return c(k,j,j.document)}:c(jQuery,window,document)})(function(c,j,k,p){var n=c.fn.dataTable,l=function(a,b){if(!n.versionCheck||!n.versionCheck("1.10.3"))throw"DataTables Responsive requires DataTables 1.10.3 or newer";this.s={dt:new n.Api(a),columns:[],
|
6 |
+
current:[]};this.s.dt.settings()[0].responsive||(b&&"string"===typeof b.details?b.details={type:b.details}:b&&!1===b.details?b.details={type:!1}:b&&!0===b.details&&(b.details={type:"inline"}),this.c=c.extend(!0,{},l.defaults,n.defaults.responsive,b),a.responsive=this,this._constructor())};c.extend(l.prototype,{_constructor:function(){var a=this,b=this.s.dt,d=b.settings()[0],e=c(j).width();b.settings()[0]._responsive=this;c(j).on("resize.dtr orientationchange.dtr",n.util.throttle(function(){var b=
|
7 |
+
c(j).width();b!==e&&(a._resize(),e=b)}));d.oApi._fnCallbackReg(d,"aoRowCreatedCallback",function(e){-1!==c.inArray(!1,a.s.current)&&c("td, th",e).each(function(e){e=b.column.index("toData",e);!1===a.s.current[e]&&c(this).css("display","none")})});b.on("destroy.dtr",function(){b.off(".dtr");c(b.table().body()).off(".dtr");c(j).off("resize.dtr orientationchange.dtr");c.each(a.s.current,function(b,e){!1===e&&a._setColumnVis(b,!0)})});this.c.breakpoints.sort(function(a,b){return a.width<b.width?1:a.width>
|
8 |
+
b.width?-1:0});this._classLogic();this._resizeAuto();d=this.c.details;!1!==d.type&&(a._detailsInit(),b.on("column-visibility.dtr",function(){a._classLogic();a._resizeAuto();a._resize()}),b.on("draw.dtr",function(){a._redrawChildren()}),c(b.table().node()).addClass("dtr-"+d.type));b.on("column-reorder.dtr",function(){a._classLogic();a._resizeAuto();a._resize()});b.on("column-sizing.dtr",function(){a._resize()});b.on("init.dtr",function(){a._resizeAuto();a._resize();c.inArray(false,a.s.current)&&b.columns.adjust()});
|
9 |
+
this._resize()},_columnsVisiblity:function(a){var b=this.s.dt,d=this.s.columns,e,f,g=d.map(function(a,b){return{columnIdx:b,priority:a.priority}}).sort(function(a,b){return a.priority!==b.priority?a.priority-b.priority:a.columnIdx-b.columnIdx}),h=c.map(d,function(b){return b.auto&&null===b.minWidth?!1:!0===b.auto?"-":-1!==c.inArray(a,b.includeIn)}),m=0;e=0;for(f=h.length;e<f;e++)!0===h[e]&&(m+=d[e].minWidth);e=b.settings()[0].oScroll;e=e.sY||e.sX?e.iBarWidth:0;b=b.table().container().offsetWidth-
|
10 |
+
e-m;e=0;for(f=h.length;e<f;e++)d[e].control&&(b-=d[e].minWidth);m=!1;e=0;for(f=g.length;e<f;e++){var i=g[e].columnIdx;"-"===h[i]&&(!d[i].control&&d[i].minWidth)&&(m||0>b-d[i].minWidth?(m=!0,h[i]=!1):h[i]=!0,b-=d[i].minWidth)}g=!1;e=0;for(f=d.length;e<f;e++)if(!d[e].control&&!d[e].never&&!h[e]){g=!0;break}e=0;for(f=d.length;e<f;e++)d[e].control&&(h[e]=g);-1===c.inArray(!0,h)&&(h[0]=!0);return h},_classLogic:function(){var a=this,b=this.c.breakpoints,d=this.s.dt,e=d.columns().eq(0).map(function(b){var a=
|
11 |
+
this.column(b),e=a.header().className,b=d.settings()[0].aoColumns[b].responsivePriority;b===p&&(a=c(a.header()).data("priority"),b=a!==p?1*a:1E4);return{className:e,includeIn:[],auto:!1,control:!1,never:e.match(/\bnever\b/)?!0:!1,priority:b}}),f=function(b,a){var d=e[b].includeIn;-1===c.inArray(a,d)&&d.push(a)},g=function(c,d,i,g){if(i)if("max-"===i){g=a._find(d).width;d=0;for(i=b.length;d<i;d++)b[d].width<=g&&f(c,b[d].name)}else if("min-"===i){g=a._find(d).width;d=0;for(i=b.length;d<i;d++)b[d].width>=
|
12 |
+
g&&f(c,b[d].name)}else{if("not-"===i){d=0;for(i=b.length;d<i;d++)-1===b[d].name.indexOf(g)&&f(c,b[d].name)}}else e[c].includeIn.push(d)};e.each(function(a,e){for(var d=a.className.split(" "),f=!1,j=0,l=d.length;j<l;j++){var k=c.trim(d[j]);if("all"===k){f=!0;a.includeIn=c.map(b,function(a){return a.name});return}if("none"===k||a.never){f=!0;return}if("control"===k){f=!0;a.control=!0;return}c.each(b,function(a,b){var d=b.name.split("-"),c=k.match(RegExp("(min\\-|max\\-|not\\-)?("+d[0]+")(\\-[_a-zA-Z0-9])?"));
|
13 |
+
c&&(f=!0,c[2]===d[0]&&c[3]==="-"+d[1]?g(e,b.name,c[1],c[2]+c[3]):c[2]===d[0]&&!c[3]&&g(e,b.name,c[1],c[2]))})}f||(a.auto=!0)});this.s.columns=e},_detailsDisplay:function(a,b){var d=this,e=this.s.dt,f=this.c.details;if(f&&f.type){var g=f.display(a,b,function(){return f.renderer(e,a[0],d._detailsObj(a[0]))});(!0===g||!1===g)&&c(e.table().node()).triggerHandler("responsive-display.dt",[e,a,g,b])}},_detailsInit:function(){var a=this,b=this.s.dt,d=this.c.details;"inline"===d.type&&(d.target="td:first-child, th:first-child");
|
14 |
+
b.on("draw.dtr",function(){a._tabIndexes()});a._tabIndexes();c(b.table().body()).on("keyup.dtr","td, th",function(a){a.keyCode===13&&c(this).data("dtr-keyboard")&&c(this).click()});var e=d.target;c(b.table().body()).on("click.dtr mousedown.dtr mouseup.dtr","string"===typeof e?e:"td, th",function(d){if(c(b.table().node()).hasClass("collapsed")&&b.row(c(this).closest("tr")).length){if(typeof e==="number"){var g=e<0?b.columns().eq(0).length+e:e;if(b.cell(this).index().column!==g)return}g=b.row(c(this).closest("tr"));
|
15 |
+
d.type==="click"?a._detailsDisplay(g,false):d.type==="mousedown"?c(this).css("outline","none"):d.type==="mouseup"&&c(this).blur().css("outline","")}})},_detailsObj:function(a){var b=this,d=this.s.dt;return c.map(this.s.columns,function(e,c){if(!e.never)return{title:d.settings()[0].aoColumns[c].sTitle,data:d.cell(a,c).render(b.c.orthogonal),hidden:d.column(c).visible()&&!b.s.current[c],columnIndex:c,rowIndex:a}})},_find:function(a){for(var b=this.c.breakpoints,d=0,c=b.length;d<c;d++)if(b[d].name===
|
16 |
+
a)return b[d]},_redrawChildren:function(){var a=this,b=this.s.dt;b.rows({page:"current"}).iterator("row",function(d,c){b.row(c);a._detailsDisplay(b.row(c),!0)})},_resize:function(){var a=this,b=this.s.dt,d=c(j).width(),e=this.c.breakpoints,f=e[0].name,g=this.s.columns,h,m=this.s.current.slice();for(h=e.length-1;0<=h;h--)if(d<=e[h].width){f=e[h].name;break}var i=this._columnsVisiblity(f);this.s.current=i;e=!1;h=0;for(d=g.length;h<d;h++)if(!1===i[h]&&!g[h].never&&!g[h].control){e=!0;break}c(b.table().node()).toggleClass("collapsed",
|
17 |
+
e);var k=!1;b.columns().eq(0).each(function(b,c){i[c]!==m[c]&&(k=!0,a._setColumnVis(b,i[c]))});k&&(this._redrawChildren(),c(b.table().node()).trigger("responsive-resize.dt",[b,this.s.current]))},_resizeAuto:function(){var a=this.s.dt,b=this.s.columns;if(this.c.auto&&-1!==c.inArray(!0,c.map(b,function(a){return a.auto}))){a.table().node();var d=a.table().node().cloneNode(!1),e=c(a.table().header().cloneNode(!1)).appendTo(d),f=c(a.table().body()).clone(!1,!1).empty().appendTo(d),g=a.columns().header().filter(function(b){return a.column(b).visible()}).to$().clone(!1).css("display",
|
18 |
+
"table-cell");c(f).append(c(a.rows({page:"current"}).nodes()).clone(!1)).find("th, td").css("display","");if(f=a.table().footer()){var f=c(f.cloneNode(!1)).appendTo(d),h=a.columns().header().filter(function(b){return a.column(b).visible()}).to$().clone(!1).css("display","table-cell");c("<tr/>").append(h).appendTo(f)}c("<tr/>").append(g).appendTo(e);"inline"===this.c.details.type&&c(d).addClass("dtr-inline collapsed");d=c("<div/>").css({width:1,height:1,overflow:"hidden"}).append(d);d.insertBefore(a.table().node());
|
19 |
+
g.each(function(c){c=a.column.index("fromVisible",c);b[c].minWidth=this.offsetWidth||0});d.remove()}},_setColumnVis:function(a,b){var d=this.s.dt,e=b?"":"none";c(d.column(a).header()).css("display",e);c(d.column(a).footer()).css("display",e);d.column(a).nodes().to$().css("display",e)},_tabIndexes:function(){var a=this.s.dt,b=a.cells({page:"current"}).nodes().to$(),d=a.settings()[0],e=this.c.details.target;b.filter("[data-dtr-keyboard]").removeData("[data-dtr-keyboard]");c("number"===typeof e?":eq("+
|
20 |
+
e+")":e,a.rows({page:"current"}).nodes()).attr("tabIndex",d.iTabIndex).data("dtr-keyboard",1)}});l.breakpoints=[{name:"desktop",width:Infinity},{name:"tablet-l",width:1024},{name:"tablet-p",width:768},{name:"mobile-l",width:480},{name:"mobile-p",width:320}];l.display={childRow:function(a,b,d){if(b){if(c(a.node()).hasClass("parent"))return a.child(d(),"child").show(),!0}else{if(a.child.isShown())return a.child(!1),c(a.node()).removeClass("parent"),!1;a.child(d(),"child").show();c(a.node()).addClass("parent");
|
21 |
+
return!0}},childRowImmediate:function(a,b,d){if(!b&&a.child.isShown()||!a.responsive.hasHidden())return a.child(!1),c(a.node()).removeClass("parent"),!1;a.child(d(),"child").show();c(a.node()).addClass("parent");return!0},modal:function(a){return function(b,d,e){if(d)c("div.dtr-modal-content").empty().append(e());else{var f=function(){g.remove();c(k).off("keypress.dtr")},g=c('<div class="dtr-modal"/>').append(c('<div class="dtr-modal-display"/>').append(c('<div class="dtr-modal-content"/>').append(e())).append(c('<div class="dtr-modal-close">×</div>').click(function(){f()}))).append(c('<div class="dtr-modal-background"/>').click(function(){f()})).appendTo("body");
|
22 |
+
c(k).on("keyup.dtr",function(a){27===a.keyCode&&(a.stopPropagation(),f())})}a&&a.header&&c("div.dtr-modal-content").prepend("<h2>"+a.header(b)+"</h2>")}}};l.defaults={breakpoints:l.breakpoints,auto:!0,details:{display:l.display.childRow,renderer:function(a,b,d){return(a=c.map(d,function(a){return a.hidden?'<li data-dtr-index="'+a.columnIndex+'" data-dt-row="'+a.rowIndex+'" data-dt-column="'+a.columnIndex+'"><span class="dtr-title">'+a.title+'</span> <span class="dtr-data">'+a.data+"</span></li>":
|
23 |
+
""}).join(""))?c('<ul data-dtr-index="'+b+'"/>').append(a):!1},target:0,type:"inline"},orthogonal:"display"};var o=c.fn.dataTable.Api;o.register("responsive()",function(){return this});o.register("responsive.index()",function(a){a=c(a);return{column:a.data("dtr-index"),row:a.parent().data("dtr-index")}});o.register("responsive.rebuild()",function(){return this.iterator("table",function(a){a._responsive&&a._responsive._classLogic()})});o.register("responsive.recalc()",function(){return this.iterator("table",
|
24 |
+
function(a){a._responsive&&(a._responsive._resizeAuto(),a._responsive._resize())})});o.register("responsive.hasHidden()",function(){var a=this.context[0];return a._responsive?-1!==c.inArray(!1,a._responsive.s.current):!1});l.version="2.0.2";c.fn.dataTable.Responsive=l;c.fn.DataTable.Responsive=l;c(k).on("preInit.dt.dtr",function(a,b){if("dt"===a.namespace&&(c(b.nTable).hasClass("responsive")||c(b.nTable).hasClass("dt-responsive")||b.oInit.responsive||n.defaults.responsive)){var d=b.oInit.responsive;
|
25 |
+
!1!==d&&new l(b,c.isPlainObject(d)?d:{})}});return l});
|
src/SupsysticTables/Core/assets/js/lib/jquery.dataTables.min.js
ADDED
@@ -0,0 +1,166 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
DataTables 1.10.12
|
3 |
+
©2008-2015 SpryMedia Ltd - datatables.net/license
|
4 |
+
*/
|
5 |
+
(function(h){"function"===typeof define&&define.amd?define(["jquery"],function(D){return h(D,window,document)}):"object"===typeof exports?module.exports=function(D,I){D||(D=window);I||(I="undefined"!==typeof window?require("jquery"):require("jquery")(D));return h(I,D,D.document)}:h(jQuery,window,document)})(function(h,D,I,k){function X(a){var b,c,d={};h.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()),
|
6 |
+
d[c]=e,"o"===b[1]&&X(a[e])});a._hungarianMap=d}function K(a,b,c){a._hungarianMap||X(a);var d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==k&&(c||b[d]===k))"o"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),K(a[d],b[d],c)):b[d]=b[e]})}function Da(a){var b=m.defaults.oLanguage,c=a.sZeroRecords;!a.sEmptyTable&&(c&&"No data available in table"===b.sEmptyTable)&&E(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&E(a,a,"sZeroRecords","sLoadingRecords");
|
7 |
+
a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&db(a)}function eb(a){A(a,"ordering","bSort");A(a,"orderMulti","bSortMulti");A(a,"orderClasses","bSortClasses");A(a,"orderCellsTop","bSortCellsTop");A(a,"order","aaSorting");A(a,"orderFixed","aaSortingFixed");A(a,"paging","bPaginate");A(a,"pagingType","sPaginationType");A(a,"pageLength","iDisplayLength");A(a,"searching","bFilter");"boolean"===typeof a.sScrollX&&(a.sScrollX=a.sScrollX?"100%":"");"boolean"===typeof a.scrollX&&(a.scrollX=
|
8 |
+
a.scrollX?"100%":"");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&K(m.models.oSearch,a[b])}function fb(a){A(a,"orderable","bSortable");A(a,"orderData","aDataSort");A(a,"orderSequence","asSorting");A(a,"orderDataType","sortDataType");var b=a.aDataSort;b&&!h.isArray(b)&&(a.aDataSort=[b])}function gb(a){if(!m.__browser){var b={};m.__browser=b;var c=h("<div/>").css({position:"fixed",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(h("<div/>").css({position:"absolute",top:1,left:1,
|
9 |
+
width:100,overflow:"scroll"}).append(h("<div/>").css({width:"100%",height:10}))).appendTo("body"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}h.extend(a.oBrowser,m.__browser);a.oScroll.iBarWidth=m.__browser.barWidth}function hb(a,b,c,d,e,f){var g,j=!1;c!==k&&(g=c,j=!0);for(;d!==e;)a.hasOwnProperty(d)&&
|
10 |
+
(g=j?b(g,a[d],d,a):a[d],j=!0,d+=f);return g}function Ea(a,b){var c=m.defaults.column,d=a.aoColumns.length,c=h.extend({},m.models.oColumn,c,{nTh:b?b:I.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=h.extend({},m.models.oSearch,c[d]);ja(a,d,h(b).data())}function ja(a,b,c){var b=a.aoColumns[b],d=a.oClasses,e=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f=
|
11 |
+
(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(fb(c),K(m.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),h.extend(b,c),E(b,c,"sWidth","sWidthOrig"),c.iDataSort!==k&&(b.aDataSort=[c.iDataSort]),E(b,c,"aDataSort"));var g=b.mData,j=Q(g),i=b.mRender?Q(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&
|
12 |
+
(c(g.sort)||c(g.type)||c(g.filter));b._setter=null;b.fnGetData=function(a,b,c){var d=j(a,b,k,c);return i&&b?i(d,b,a,c):d};b.fnSetData=function(a,b,c){return R(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):
|
13 |
+
!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI)}function Y(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Fa(a);for(var c=0,d=b.length;c<d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&ka(a);u(a,null,"column-sizing",[a])}function Z(a,b){var c=la(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function $(a,b){var c=la(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}
|
14 |
+
function aa(a){var b=0;h.each(a.aoColumns,function(a,d){d.bVisible&&"none"!==h(d.nTh).css("display")&&b++});return b}function la(a,b){var c=[];h.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function Ga(a){var b=a.aoColumns,c=a.aoData,d=m.ext.type.detect,e,f,g,j,i,h,l,q,t;e=0;for(f=b.length;e<f;e++)if(l=b[e],t=[],!l.sType&&l._sManualType)l.sType=l._sManualType;else if(!l.sType){g=0;for(j=d.length;g<j;g++){i=0;for(h=c.length;i<h;i++){t[i]===k&&(t[i]=B(a,i,e,"type"));q=d[g](t[i],a);if(!q&&
|
15 |
+
g!==d.length-1)break;if("html"===q)break}if(q){l.sType=q;break}}l.sType||(l.sType="string")}}function ib(a,b,c,d){var e,f,g,j,i,n,l=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){n=b[e];var q=n.targets!==k?n.targets:n.aTargets;h.isArray(q)||(q=[q]);f=0;for(g=q.length;f<g;f++)if("number"===typeof q[f]&&0<=q[f]){for(;l.length<=q[f];)Ea(a);d(q[f],n)}else if("number"===typeof q[f]&&0>q[f])d(l.length+q[f],n);else if("string"===typeof q[f]){j=0;for(i=l.length;j<i;j++)("_all"==q[f]||h(l[j].nTh).hasClass(q[f]))&&
|
16 |
+
d(j,n)}}if(c){e=0;for(a=c.length;e<a;e++)d(e,c[e])}}function N(a,b,c,d){var e=a.aoData.length,f=h.extend(!0,{},m.models.oRow,{src:c?"dom":"data",idx:e});f._aData=b;a.aoData.push(f);for(var g=a.aoColumns,j=0,i=g.length;j<i;j++)g[j].sType=null;a.aiDisplayMaster.push(e);b=a.rowIdFn(b);b!==k&&(a.aIds[b]=f);(c||!a.oFeatures.bDeferRender)&&Ha(a,e,c,d);return e}function ma(a,b){var c;b instanceof h||(b=h(b));return b.map(function(b,e){c=Ia(a,e);return N(a,c.data,e,c.cells)})}function B(a,b,c,d){var e=a.iDraw,
|
17 |
+
f=a.aoColumns[c],g=a.aoData[b]._aData,j=f.sDefaultContent,i=f.fnGetData(g,d,{settings:a,row:b,col:c});if(i===k)return a.iDrawError!=e&&null===j&&(L(a,0,"Requested unknown parameter "+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row "+b+", column "+c,4),a.iDrawError=e),j;if((i===g||null===i)&&null!==j&&d!==k)i=j;else if("function"===typeof i)return i.call(g);return null===i&&"display"==d?"":i}function jb(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}
|
18 |
+
function Ja(a){return h.map(a.match(/(\\.|[^\.])+/g)||[""],function(a){return a.replace(/\\./g,".")})}function Q(a){if(h.isPlainObject(a)){var b={};h.each(a,function(a,c){c&&(b[a]=Q(c))});return function(a,c,f,g){var j=b[c]||b._;return j!==k?j(a,c,f,g):a}}if(null===a)return function(a){return a};if("function"===typeof a)return function(b,c,f,g){return a(b,c,f,g)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var c=function(a,b,f){var g,j;if(""!==f){j=Ja(f);
|
19 |
+
for(var i=0,n=j.length;i<n;i++){f=j[i].match(ba);g=j[i].match(U);if(f){j[i]=j[i].replace(ba,"");""!==j[i]&&(a=a[j[i]]);g=[];j.splice(0,i+1);j=j.join(".");if(h.isArray(a)){i=0;for(n=a.length;i<n;i++)g.push(c(a[i],b,j))}a=f[0].substring(1,f[0].length-1);a=""===a?g:g.join(a);break}else if(g){j[i]=j[i].replace(U,"");a=a[j[i]]();continue}if(null===a||a[j[i]]===k)return k;a=a[j[i]]}}return a};return function(b,e){return c(b,e,a)}}return function(b){return b[a]}}function R(a){if(h.isPlainObject(a))return R(a._);
|
20 |
+
if(null===a)return function(){};if("function"===typeof a)return function(b,d,e){a(b,"set",d,e)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,d,e){var e=Ja(e),f;f=e[e.length-1];for(var g,j,i=0,n=e.length-1;i<n;i++){g=e[i].match(ba);j=e[i].match(U);if(g){e[i]=e[i].replace(ba,"");a[e[i]]=[];f=e.slice();f.splice(0,i+1);g=f.join(".");if(h.isArray(d)){j=0;for(n=d.length;j<n;j++)f={},b(f,d[j],g),a[e[i]].push(f)}else a[e[i]]=d;return}j&&(e[i]=e[i].replace(U,
|
21 |
+
""),a=a[e[i]](d));if(null===a[e[i]]||a[e[i]]===k)a[e[i]]={};a=a[e[i]]}if(f.match(U))a[f.replace(U,"")](d);else a[f.replace(ba,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Ka(a){return G(a.aoData,"_aData")}function na(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0;a.aIds={}}function oa(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===k&&a.splice(d,1)}function ca(a,b,c,d){var e=a.aoData[b],f,g=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);
|
22 |
+
c.innerHTML=B(a,b,d,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=Ia(a,e,d,d===k?k:e._aData).data;else{var j=e.anCells;if(j)if(d!==k)g(j[d],d);else{c=0;for(f=j.length;c<f;c++)g(j[c],c)}}e._aSortData=null;e._aFilterData=null;g=a.aoColumns;if(d!==k)g[d].sType=null;else{c=0;for(f=g.length;c<f;c++)g[c].sType=null;La(a,e)}}function Ia(a,b,c,d){var e=[],f=b.firstChild,g,j,i=0,n,l=a.aoColumns,q=a._rowReadObject,d=d!==k?d:q?{}:[],t=function(a,b){if("string"===typeof a){var c=a.indexOf("@");
|
23 |
+
-1!==c&&(c=a.substring(c+1),R(a)(d,b.getAttribute(c)))}},S=function(a){if(c===k||c===i)j=l[i],n=h.trim(a.innerHTML),j&&j._bAttrSrc?(R(j.mData._)(d,n),t(j.mData.sort,a),t(j.mData.type,a),t(j.mData.filter,a)):q?(j._setter||(j._setter=R(j.mData)),j._setter(d,n)):d[i]=n;i++};if(f)for(;f;){g=f.nodeName.toUpperCase();if("TD"==g||"TH"==g)S(f),e.push(f);f=f.nextSibling}else{e=b.anCells;f=0;for(g=e.length;f<g;f++)S(e[f])}if(b=b.firstChild?b:b.nTr)(b=b.getAttribute("id"))&&R(a.rowId)(d,b);return{data:d,cells:e}}
|
24 |
+
function Ha(a,b,c,d){var e=a.aoData[b],f=e._aData,g=[],j,i,n,l,q;if(null===e.nTr){j=c||I.createElement("tr");e.nTr=j;e.anCells=g;j._DT_RowIndex=b;La(a,e);l=0;for(q=a.aoColumns.length;l<q;l++){n=a.aoColumns[l];i=c?d[l]:I.createElement(n.sCellType);i._DT_CellIndex={row:b,column:l};g.push(i);if((!c||n.mRender||n.mData!==l)&&(!h.isPlainObject(n.mData)||n.mData._!==l+".display"))i.innerHTML=B(a,b,l,"display");n.sClass&&(i.className+=" "+n.sClass);n.bVisible&&!c?j.appendChild(i):!n.bVisible&&c&&i.parentNode.removeChild(i);
|
25 |
+
n.fnCreatedCell&&n.fnCreatedCell.call(a.oInstance,i,B(a,b,l),f,b,l)}u(a,"aoRowCreatedCallback",null,[j,f,b])}e.nTr.setAttribute("role","row")}function La(a,b){var c=b.nTr,d=b._aData;if(c){var e=a.rowIdFn(d);e&&(c.id=e);d.DT_RowClass&&(e=d.DT_RowClass.split(" "),b.__rowc=b.__rowc?pa(b.__rowc.concat(e)):e,h(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass));d.DT_RowAttr&&h(c).attr(d.DT_RowAttr);d.DT_RowData&&h(c).data(d.DT_RowData)}}function kb(a){var b,c,d,e,f,g=a.nTHead,j=a.nTFoot,i=0===
|
26 |
+
h("th, td",g).length,n=a.oClasses,l=a.aoColumns;i&&(e=h("<tr/>").appendTo(g));b=0;for(c=l.length;b<c;b++)f=l[b],d=h(f.nTh).addClass(f.sClass),i&&d.appendTo(e),a.oFeatures.bSort&&(d.addClass(f.sSortingClass),!1!==f.bSortable&&(d.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Ma(a,f.nTh,b))),f.sTitle!=d[0].innerHTML&&d.html(f.sTitle),Na(a,"header")(a,d,f,n);i&&da(a.aoHeader,g);h(g).find(">tr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(n.sHeaderTH);h(j).find(">tr>th, >tr>td").addClass(n.sFooterTH);
|
27 |
+
if(null!==j){a=a.aoFooter[0];b=0;for(c=a.length;b<c;b++)f=l[b],f.nTf=a[b].cell,f.sClass&&h(f.nTf).addClass(f.sClass)}}function ea(a,b,c){var d,e,f,g=[],j=[],i=a.aoColumns.length,n;if(b){c===k&&(c=!1);d=0;for(e=b.length;d<e;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=i-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);j.push([])}d=0;for(e=g.length;d<e;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(n=i=1,j[d][f]===k){a.appendChild(g[d][f].cell);
|
28 |
+
for(j[d][f]=1;g[d+i]!==k&&g[d][f].cell==g[d+i][f].cell;)j[d+i][f]=1,i++;for(;g[d][f+n]!==k&&g[d][f].cell==g[d][f+n].cell;){for(c=0;c<i;c++)j[d+c][f+n]=1;n++}h(g[d][f].cell).attr("rowspan",i).attr("colspan",n)}}}}function O(a){var b=u(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))C(a,!1);else{var b=[],c=0,d=a.asStripeClasses,e=d.length,f=a.oLanguage,g=a.iInitDisplayStart,j="ssp"==y(a),i=a.aiDisplay;a.bDrawing=!0;g!==k&&-1!==g&&(a._iDisplayStart=j?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=
|
29 |
+
-1);var g=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(j){if(!a.bDestroying&&!lb(a))return}else a.iDraw++;if(0!==i.length){f=j?a.aoData.length:n;for(j=j?0:g;j<f;j++){var l=i[j],q=a.aoData[l];null===q.nTr&&Ha(a,l);l=q.nTr;if(0!==e){var t=d[c%e];q._sRowStripe!=t&&(h(l).removeClass(q._sRowStripe).addClass(t),q._sRowStripe=t)}u(a,"aoRowCallback",null,[l,q._aData,c,j]);b.push(l);c++}}else c=f.sZeroRecords,1==a.iDraw&&"ajax"==y(a)?c=f.sLoadingRecords:
|
30 |
+
f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=h("<tr/>",{"class":e?d[0]:""}).append(h("<td />",{valign:"top",colSpan:aa(a),"class":a.oClasses.sRowEmpty}).html(c))[0];u(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ka(a),g,n,i]);u(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],Ka(a),g,n,i]);d=h(a.nTBody);d.children().detach();d.append(h(b));u(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function T(a,b){var c=a.oFeatures,d=c.bFilter;
|
31 |
+
c.bSort&&mb(a);d?fa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;O(a);a._drawHold=!1}function nb(a){var b=a.oClasses,c=h(a.nTable),c=h("<div/>").insertBefore(c),d=a.oFeatures,e=h("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,j,i,n,l,q,t=0;t<f.length;t++){g=null;j=f[t];if("<"==j){i=h("<div/>")[0];
|
32 |
+
n=f[t+1];if("'"==n||'"'==n){l="";for(q=2;f[t+q]!=n;)l+=f[t+q],q++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(n=l.split("."),i.id=n[0].substr(1,n[0].length-1),i.className=n[1]):"#"==l.charAt(0)?i.id=l.substr(1,l.length-1):i.className=l;t+=q}e.append(i);e=h(i)}else if(">"==j)e=e.parent();else if("l"==j&&d.bPaginate&&d.bLengthChange)g=ob(a);else if("f"==j&&d.bFilter)g=pb(a);else if("r"==j&&d.bProcessing)g=qb(a);else if("t"==j)g=rb(a);else if("i"==j&&d.bInfo)g=sb(a);else if("p"==
|
33 |
+
j&&d.bPaginate)g=tb(a);else if(0!==m.ext.feature.length){i=m.ext.feature;q=0;for(n=i.length;q<n;q++)if(j==i[q].cFeature){g=i[q].fnInit(a);break}}g&&(i=a.aanFeatures,i[j]||(i[j]=[]),i[j].push(g),e.append(g))}c.replaceWith(e);a.nHolding=null}function da(a,b){var c=h(b).children("tr"),d,e,f,g,j,i,n,l,q,t;a.splice(0,a.length);f=0;for(i=c.length;f<i;f++)a.push([]);f=0;for(i=c.length;f<i;f++){d=c[f];for(e=d.firstChild;e;){if("TD"==e.nodeName.toUpperCase()||"TH"==e.nodeName.toUpperCase()){l=1*e.getAttribute("colspan");
|
34 |
+
q=1*e.getAttribute("rowspan");l=!l||0===l||1===l?1:l;q=!q||0===q||1===q?1:q;g=0;for(j=a[f];j[g];)g++;n=g;t=1===l?!0:!1;for(j=0;j<l;j++)for(g=0;g<q;g++)a[f+g][n+j]={cell:e,unique:t},a[f+g].nTr=d}e=e.nextSibling}}}function qa(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],da(c,b)));for(var b=0,e=c.length;b<e;b++)for(var f=0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function ra(a,b,c){u(a,"aoServerParams","serverParams",[b]);if(b&&h.isArray(b)){var d={},
|
35 |
+
e=/(.*?)\[\]$/;h.each(b,function(a,b){var c=b.name.match(e);c?(c=c[0],d[c]||(d[c]=[]),d[c].push(b.value)):d[b.name]=b.value});b=d}var f,g=a.ajax,j=a.oInstance,i=function(b){u(a,null,"xhr",[a,b,a.jqXHR]);c(b)};if(h.isPlainObject(g)&&g.data){f=g.data;var n=h.isFunction(f)?f(b,a):f,b=h.isFunction(f)&&n?n:h.extend(!0,b,n);delete g.data}n={data:b,success:function(b){var c=b.error||b.sError;c&&L(a,0,c);a.json=b;i(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var d=u(a,null,"xhr",
|
36 |
+
[a,null,a.jqXHR]);-1===h.inArray(!0,d)&&("parsererror"==c?L(a,0,"Invalid JSON response",1):4===b.readyState&&L(a,0,"Ajax error",7));C(a,!1)}};a.oAjaxData=b;u(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(j,a.sAjaxSource,h.map(b,function(a,b){return{name:b,value:a}}),i,a):a.sAjaxSource||"string"===typeof g?a.jqXHR=h.ajax(h.extend(n,{url:g||a.sAjaxSource})):h.isFunction(g)?a.jqXHR=g.call(j,b,i,a):(a.jqXHR=h.ajax(h.extend(n,g)),g.data=f)}function lb(a){return a.bAjaxDataGet?(a.iDraw++,C(a,
|
37 |
+
!0),ra(a,ub(a),function(b){vb(a,b)}),!1):!0}function ub(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g,j=[],i,n,l,q=V(a);g=a._iDisplayStart;i=!1!==d.bPaginate?a._iDisplayLength:-1;var k=function(a,b){j.push({name:a,value:b})};k("sEcho",a.iDraw);k("iColumns",c);k("sColumns",G(b,"sName").join(","));k("iDisplayStart",g);k("iDisplayLength",i);var S={draw:a.iDraw,columns:[],order:[],start:g,length:i,search:{value:e.sSearch,regex:e.bRegex}};for(g=0;g<c;g++)n=b[g],
|
38 |
+
l=f[g],i="function"==typeof n.mData?"function":n.mData,S.columns.push({data:i,name:n.sName,searchable:n.bSearchable,orderable:n.bSortable,search:{value:l.sSearch,regex:l.bRegex}}),k("mDataProp_"+g,i),d.bFilter&&(k("sSearch_"+g,l.sSearch),k("bRegex_"+g,l.bRegex),k("bSearchable_"+g,n.bSearchable)),d.bSort&&k("bSortable_"+g,n.bSortable);d.bFilter&&(k("sSearch",e.sSearch),k("bRegex",e.bRegex));d.bSort&&(h.each(q,function(a,b){S.order.push({column:b.col,dir:b.dir});k("iSortCol_"+a,b.col);k("sSortDir_"+
|
39 |
+
a,b.dir)}),k("iSortingCols",q.length));b=m.ext.legacy.ajax;return null===b?a.sAjaxSource?j:S:b?j:S}function vb(a,b){var c=sa(a,b),d=b.sEcho!==k?b.sEcho:b.draw,e=b.iTotalRecords!==k?b.iTotalRecords:b.recordsTotal,f=b.iTotalDisplayRecords!==k?b.iTotalDisplayRecords:b.recordsFiltered;if(d){if(1*d<a.iDraw)return;a.iDraw=1*d}na(a);a._iRecordsTotal=parseInt(e,10);a._iRecordsDisplay=parseInt(f,10);d=0;for(e=c.length;d<e;d++)N(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;O(a);a._bInitComplete||
|
40 |
+
ta(a,b);a.bAjaxDataGet=!0;C(a,!1)}function sa(a,b){var c=h.isPlainObject(a.ajax)&&a.ajax.dataSrc!==k?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===c?b.aaData||b[c]:""!==c?Q(c)(b):b}function pb(a){var b=a.oClasses,c=a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,f=a.aanFeatures,g='<input type="search" class="'+b.sFilterInput+'"/>',j=d.sSearch,j=j.match(/_INPUT_/)?j.replace("_INPUT_",g):j+g,b=h("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("<label/>").append(j)),f=function(){var b=!this.value?
|
41 |
+
"":this.value;b!=e.sSearch&&(fa(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,O(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===y(a)?400:0,i=h("input",b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).bind("keyup.DT search.DT input.DT paste.DT cut.DT",g?Oa(f,g):f).bind("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",c);h(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{i[0]!==I.activeElement&&i.val(e.sSearch)}catch(d){}});
|
42 |
+
return b[0]}function fa(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};Ga(a);if("ssp"!=y(a)){wb(a,b.sSearch,c,b.bEscapeRegex!==k?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<e.length;b++)xb(a,e[b].sSearch,b,e[b].bEscapeRegex!==k?!e[b].bEscapeRegex:e[b].bRegex,e[b].bSmart,e[b].bCaseInsensitive);yb(a)}else f(b);a.bFiltered=!0;u(a,null,"search",[a])}function yb(a){for(var b=
|
43 |
+
m.ext.search,c=a.aiDisplay,d,e,f=0,g=b.length;f<g;f++){for(var j=[],i=0,n=c.length;i<n;i++)e=c[i],d=a.aoData[e],b[f](a,d._aFilterData,e,d._aData,i)&&j.push(e);c.length=0;h.merge(c,j)}}function xb(a,b,c,d,e,f){if(""!==b)for(var g=a.aiDisplay,d=Pa(b,d,e,f),e=g.length-1;0<=e;e--)b=a.aoData[g[e]]._aFilterData[c],d.test(b)||g.splice(e,1)}function wb(a,b,c,d,e,f){var d=Pa(b,d,e,f),e=a.oPreviousSearch.sSearch,f=a.aiDisplayMaster,g;0!==m.ext.search.length&&(c=!0);g=zb(a);if(0>=b.length)a.aiDisplay=f.slice();
|
44 |
+
else{if(g||c||e.length>b.length||0!==b.indexOf(e)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)d.test(a.aoData[b[c]]._sFilterRow)||b.splice(c,1)}}function Pa(a,b,c,d){a=b?a:Qa(a);c&&(a="^(?=.*?"+h.map(a.match(/"[^"]+"|[^ ]+/g)||[""],function(a){if('"'===a.charAt(0))var b=a.match(/^"(.*)"$/),a=b?b[1]:a;return a.replace('"',"")}).join(")(?=.*?")+").*$");return RegExp(a,d?"i":"")}function zb(a){var b=a.aoColumns,c,d,e,f,g,j,i,h,l=m.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d<
|
45 |
+
f;d++)if(h=a.aoData[d],!h._aFilterData){j=[];e=0;for(g=b.length;e<g;e++)c=b[e],c.bSearchable?(i=B(a,d,e,"filter"),l[c.sType]&&(i=l[c.sType](i)),null===i&&(i=""),"string"!==typeof i&&i.toString&&(i=i.toString())):i="",i.indexOf&&-1!==i.indexOf("&")&&(ua.innerHTML=i,i=Zb?ua.textContent:ua.innerText),i.replace&&(i=i.replace(/[\r\n]/g,"")),j.push(i);h._aFilterData=j;h._sFilterRow=j.join(" ");c=!0}return c}function Ab(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}
|
46 |
+
function Bb(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function sb(a){var b=a.sTableId,c=a.aanFeatures.i,d=h("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Cb,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",b+"_info"));return d[0]}function Cb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),
|
47 |
+
g=a.fnRecordsDisplay(),j=g?c.sInfo:c.sInfoEmpty;g!==f&&(j+=" "+c.sInfoFiltered);j+=c.sInfoPostFix;j=Db(a,j);c=c.fnInfoCallback;null!==c&&(j=c.call(a.oInstance,a,d,e,f,g,j));h(b).html(j)}}function Db(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===e;return b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(d/
|
48 |
+
e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/e)))}function ga(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;var g=a.bDeferLoading;if(a.bInitialised){nb(a);kb(a);ea(a,a.aoHeader);ea(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Fa(a);b=0;for(c=e.length;b<c;b++)f=e[b],f.sWidth&&(f.nTh.style.width=x(f.sWidth));u(a,null,"preInit",[a]);T(a);e=y(a);if("ssp"!=e||g)"ajax"==e?ra(a,[],function(c){var f=sa(a,c);for(b=0;b<f.length;b++)N(a,f[b]);a.iInitDisplayStart=d;T(a);C(a,!1);ta(a,c)},a):(C(a,!1),
|
49 |
+
ta(a))}else setTimeout(function(){ga(a)},200)}function ta(a,b){a._bInitComplete=!0;(b||a.oInit.aaData)&&Y(a);u(a,null,"plugin-init",[a,b]);u(a,"aoInitComplete","init",[a,b])}function Ra(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Sa(a);u(a,null,"length",[a,c])}function ob(a){for(var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=h.isArray(d[0]),f=e?d[0]:d,d=e?d[1]:d,e=h("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),g=0,j=f.length;g<j;g++)e[0][g]=new Option(d[g],f[g]);var i=
|
50 |
+
h("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(i[0].id=c+"_length");i.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));h("select",i).val(a._iDisplayLength).bind("change.DT",function(){Ra(a,h(this).val());O(a)});h(a.nTable).bind("length.dt.DT",function(b,c,d){a===c&&h("select",i).val(d)});return i[0]}function tb(a){var b=a.sPaginationType,c=m.ext.pager[b],d="function"===typeof c,e=function(a){O(a)},b=h("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;
|
51 |
+
d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,i=a._iDisplayLength,h=a.fnRecordsDisplay(),l=-1===i,b=l?0:Math.ceil(b/i),i=l?1:Math.ceil(h/i),h=c(b,i),k,l=0;for(k=f.p.length;l<k;l++)Na(a,"pageButton")(a,f.p[l],l,h,b,i)}else c.fnUpdate(a,e)},sName:"pagination"}));return b}function Ta(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:"number"===typeof b?(d=b*e,d>f&&(d=0)):"first"==b?d=0:
|
52 |
+
"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:L(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(u(a,null,"page",[a]),c&&O(a));return b}function qb(a){return h("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function C(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display",b?"block":"none");u(a,null,"processing",
|
53 |
+
[a,b])}function rb(a){var b=h(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),j=g.length?g[0]._captionSide:null,i=h(b[0].cloneNode(!1)),n=h(b[0].cloneNode(!1)),l=b.children("tfoot");l.length||(l=null);i=h("<div/>",{"class":f.sScrollWrapper}).append(h("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?!d?null:x(d):"100%"}).append(h("<div/>",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",
|
54 |
+
width:c.sXInner||"100%"}).append(i.removeAttr("id").css("margin-left",0).append("top"===j?g:null).append(b.children("thead"))))).append(h("<div/>",{"class":f.sScrollBody}).css({position:"relative",overflow:"auto",width:!d?null:x(d)}).append(b));l&&i.append(h("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?!d?null:x(d):"100%"}).append(h("<div/>",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",0).append("bottom"===j?g:null).append(b.children("tfoot")))));
|
55 |
+
var b=i.children(),k=b[0],f=b[1],t=l?b[2]:null;if(d)h(f).on("scroll.DT",function(){var a=this.scrollLeft;k.scrollLeft=a;l&&(t.scrollLeft=a)});h(f).css(e&&c.bCollapse?"max-height":"height",e);a.nScrollHead=k;a.nScrollBody=f;a.nScrollFoot=t;a.aoDrawCallback.push({fn:ka,sName:"scrolling"});return i[0]}function ka(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,b=b.iBarWidth,f=h(a.nScrollHead),g=f[0].style,j=f.children("div"),i=j[0].style,n=j.children("table"),j=a.nScrollBody,l=h(j),q=j.style,t=h(a.nScrollFoot).children("div"),
|
56 |
+
m=t.children("table"),o=h(a.nTHead),F=h(a.nTable),p=F[0],r=p.style,u=a.nTFoot?h(a.nTFoot):null,Eb=a.oBrowser,Ua=Eb.bScrollOversize,s=G(a.aoColumns,"nTh"),P,v,w,y,z=[],A=[],B=[],C=[],D,E=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};v=j.scrollHeight>j.clientHeight;if(a.scrollBarVis!==v&&a.scrollBarVis!==k)a.scrollBarVis=v,Y(a);else{a.scrollBarVis=v;F.children("thead, tfoot").remove();u&&(w=u.clone().prependTo(F),P=u.find("tr"),w=
|
57 |
+
w.find("tr"));y=o.clone().prependTo(F);o=o.find("tr");v=y.find("tr");y.find("th, td").removeAttr("tabindex");c||(q.width="100%",f[0].style.width="100%");h.each(qa(a,y),function(b,c){D=Z(a,b);if(a.aoColumns[D]) {c.style.width=a.aoColumns[D].sWidth;}});u&&J(function(a){a.style.width=""},w);f=F.outerWidth();if(""===c){r.width="100%";if(Ua&&(F.find("tbody").height()>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=x(F.outerWidth()-b);f=F.outerWidth()}else""!==d&&(r.width=x(d),f=F.outerWidth());J(E,v);J(function(a){B.push(a.innerHTML);
|
58 |
+
z.push(x(h(a).css("width")))},v);J(function(a,b){if(h.inArray(a,s)!==-1)a.style.width=z[b]},o);h(v).height(0);u&&(J(E,w),J(function(a){C.push(a.innerHTML);A.push(x(h(a).css("width")))},w),J(function(a,b){a.style.width=A[b]},P),h(w).height(0));J(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+B[b]+"</div>";a.style.width=z[b]},v);u&&J(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+C[b]+"</div>";a.style.width=
|
59 |
+
A[b]},w);if(F.outerWidth()<f){P=j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")?f+b:f;if(Ua&&(j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=x(P-b);(""===c||""!==d)&&L(a,1,"Possible column misalignment",6)}else P="100%";q.width=x(P);g.width=x(P);u&&(a.nScrollFoot.style.width=x(P));!e&&Ua&&(q.height=x(p.offsetHeight+b));c=F.outerWidth();n[0].style.width=x(c);i.width=x(c);d=F.height()>j.clientHeight||"scroll"==l.css("overflow-y");e="padding"+(Eb.bScrollbarLeft?"Left":
|
60 |
+
"Right");i[e]=d?b+"px":"0px";u&&(m[0].style.width=x(c),t[0].style.width=x(c),t[0].style[e]=d?b+"px":"0px");F.children("colgroup").insertBefore(F.children("thead"));l.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}}function J(a,b,c){for(var d=0,e=0,f=b.length,g,j;e<f;){g=b[e].firstChild;for(j=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,j,d):a(g,d),d++),g=g.nextSibling,j=c?j.nextSibling:null;e++}}function Fa(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,f=d.sX,g=d.sXInner,
|
61 |
+
j=c.length,i=la(a,"bVisible"),n=h("th",a.nTHead),l=b.getAttribute("width"),k=b.parentNode,t=!1,m,o,p=a.oBrowser,d=p.bScrollOversize;(m=b.style.width)&&-1!==m.indexOf("%")&&(l=m);for(m=0;m<i.length;m++)o=c[i[m]],null!==o.sWidth&&(o.sWidth=Fb(o.sWidthOrig,k),t=!0);if(d||!t&&!f&&!e&&j==aa(a)&&j==n.length)for(m=0;m<j;m++)i=Z(a,m),null!==i&&(c[i].sWidth=x(n.eq(m).width()));else{j=h(b).clone().css("visibility","hidden").removeAttr("id");j.find("tbody tr").remove();var r=h("<tr/>").appendTo(j.find("tbody"));
|
62 |
+
j.find("thead, tfoot").remove();j.append(h(a.nTHead).clone()).append(h(a.nTFoot).clone());j.find("tfoot th, tfoot td").css("width","");n=qa(a,j.find("thead")[0]);for(m=0;m<i.length;m++)o=c[i[m]],n[m].style.width=null!==o.sWidthOrig&&""!==o.sWidthOrig?x(o.sWidthOrig):"",o.sWidthOrig&&f&&h(n[m]).append(h("<div/>").css({width:o.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(m=0;m<i.length;m++)t=i[m],o=c[t],h(Gb(a,t)).clone(!1).append(o.sContentPadding).appendTo(r);h("[name]",
|
63 |
+
j).removeAttr("name");o=h("<div/>").css(f||e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(j).appendTo(k);f&&g?j.width(g):f?(j.css("width","auto"),j.removeAttr("width"),j.width()<k.clientWidth&&l&&j.width(k.clientWidth)):e?j.width(k.clientWidth):l&&j.width(l);for(m=e=0;m<i.length;m++)k=h(n[m]),g=k.outerWidth()-k.width(),k=p.bBounding?Math.ceil(n[m].getBoundingClientRect().width):k.outerWidth(),e+=k,c[i[m]].sWidth=x(k-g);b.style.width=x(e);o.remove()}l&&(b.style.width=
|
64 |
+
x(l));if((l||f)&&!a._reszEvt)b=function(){h(D).bind("resize.DT-"+a.sInstance,Oa(function(){Y(a)}))},d?setTimeout(b,1E3):b(),a._reszEvt=!0}function Fb(a,b){if(!a)return 0;var c=h("<div/>").css("width",x(a)).appendTo(b||I.body),d=c[0].offsetWidth;c.remove();return d}function Gb(a,b){var c=Hb(a,b);if(0>c)return null;var d=a.aoData[c];return!d.nTr?h("<td/>").html(B(a,c,b,"display"))[0]:d.anCells[b]}function Hb(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;f<g;f++)c=B(a,f,b,"display")+"",c=c.replace($b,
|
65 |
+
""),c=c.replace(/ /g," "),c.length>d&&(d=c.length,e=f);return e}function x(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function V(a){var b,c,d=[],e=a.aoColumns,f,g,j,i;b=a.aaSortingFixed;c=h.isPlainObject(b);var n=[];f=function(a){a.length&&!h.isArray(a[0])?n.push(a):h.merge(n,a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<n.length;a++){i=n[a][0];f=e[i].aDataSort;b=0;for(c=f.length;b<c;b++)g=f[b],j=e[g].sType||
|
66 |
+
"string",n[a]._idx===k&&(n[a]._idx=h.inArray(n[a][1],e[g].asSorting)),d.push({src:i,col:g,dir:n[a][1],index:n[a]._idx,type:j,formatter:m.ext.type.order[j+"-pre"]})}return d}function mb(a){var b,c,d=[],e=m.ext.type.order,f=a.aoData,g=0,j,i=a.aiDisplayMaster,h;Ga(a);h=V(a);b=0;for(c=h.length;b<c;b++)j=h[b],j.formatter&&g++,Ib(a,j.col);if("ssp"!=y(a)&&0!==h.length){b=0;for(c=i.length;b<c;b++)d[i[b]]=b;g===h.length?i.sort(function(a,b){var c,e,g,j,i=h.length,k=f[a]._aSortData,m=f[b]._aSortData;for(g=
|
67 |
+
0;g<i;g++)if(j=h[g],c=k[j.col],e=m[j.col],c=c<e?-1:c>e?1:0,0!==c)return"asc"===j.dir?c:-c;c=d[a];e=d[b];return c<e?-1:c>e?1:0}):i.sort(function(a,b){var c,g,j,i,k=h.length,m=f[a]._aSortData,p=f[b]._aSortData;for(j=0;j<k;j++)if(i=h[j],c=m[i.col],g=p[i.col],i=e[i.type+"-"+i.dir]||e["string-"+i.dir],c=i(c,g),0!==c)return c;c=d[a];g=d[b];return c<g?-1:c>g?1:0})}a.bSorted=!0}function Jb(a){for(var b,c,d=a.aoColumns,e=V(a),a=a.oLanguage.oAria,f=0,g=d.length;f<g;f++){c=d[f];var j=c.asSorting;b=c.sTitle.replace(/<.*?>/g,
|
68 |
+
"");var i=c.nTh;i.removeAttribute("aria-sort");c.bSortable&&(0<e.length&&e[0].col==f?(i.setAttribute("aria-sort","asc"==e[0].dir?"ascending":"descending"),c=j[e[0].index+1]||j[0]):c=j[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);i.setAttribute("aria-label",b)}}function Va(a,b,c,d){var e=a.aaSorting,f=a.aoColumns[b].asSorting,g=function(a,b){var c=a._idx;c===k&&(c=h.inArray(a[1],f));return c+1<f.length?c+1:b?null:0};"number"===typeof e[0]&&(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=h.inArray(b,
|
69 |
+
G(e,"0")),-1!==c?(b=g(e[c],!0),null===b&&1===e.length&&(b=0),null===b?e.splice(c,1):(e[c][1]=f[b],e[c]._idx=b)):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);T(a);"function"==typeof d&&d(a)}function Ma(a,b,c,d){var e=a.aoColumns[c];Wa(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(C(a,!0),setTimeout(function(){Va(a,c,b.shiftKey,d);"ssp"!==y(a)&&C(a,!1)},0)):Va(a,c,b.shiftKey,d))})}
|
70 |
+
function va(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=V(a),e=a.oFeatures,f,g;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e<f;e++)g=b[e].src,h(G(a.aoData,"anCells",g)).removeClass(c+(2>e?e+1:3));e=0;for(f=d.length;e<f;e++)g=d[e].src,h(G(a.aoData,"anCells",g)).addClass(c+(2>e?e+1:3))}a.aLastSort=d}function Ib(a,b){var c=a.aoColumns[b],d=m.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,$(a,b)));for(var f,g=m.ext.type.order[c.sType+"-pre"],j=0,i=a.aoData.length;j<i;j++)if(c=a.aoData[j],
|
71 |
+
c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[j]:B(a,j,b,"sort"),c._aSortData[b]=g?g(f):f}function wa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:h.extend(!0,[],a.aaSorting),search:Ab(a.oPreviousSearch),columns:h.map(a.aoColumns,function(b,d){return{visible:b.bVisible,search:Ab(a.aoPreSearchCols[d])}})};u(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,
|
72 |
+
b)}}function Kb(a){var b,c,d=a.aoColumns;if(a.oFeatures.bStateSave){var e=a.fnStateLoadCallback.call(a.oInstance,a);if(e&&e.time&&(b=u(a,"aoStateLoadParams","stateLoadParams",[a,e]),-1===h.inArray(!1,b)&&(b=a.iStateDuration,!(0<b&&e.time<+new Date-1E3*b)&&d.length===e.columns.length))){a.oLoadedState=h.extend(!0,{},e);e.start!==k&&(a._iDisplayStart=e.start,a.iInitDisplayStart=e.start);e.length!==k&&(a._iDisplayLength=e.length);e.order!==k&&(a.aaSorting=[],h.each(e.order,function(b,c){a.aaSorting.push(c[0]>=
|
73 |
+
d.length?[0,c[1]]:c)}));e.search!==k&&h.extend(a.oPreviousSearch,Bb(e.search));b=0;for(c=e.columns.length;b<c;b++){var f=e.columns[b];f.visible!==k&&(d[b].bVisible=f.visible);f.search!==k&&h.extend(a.aoPreSearchCols[b],Bb(f.search))}u(a,"aoStateLoaded","stateLoaded",[a,e])}}}function xa(a){var b=m.settings,a=h.inArray(a,G(b,"nTable"));return-1!==a?b[a]:null}function L(a,b,c,d){c="DataTables warning: "+(a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+
|
74 |
+
d);if(b)D.console&&console.log&&console.log(c);else if(b=m.ext,b=b.sErrMode||b.errMode,a&&u(a,null,"error",[a,d,c]),"alert"==b)alert(c);else{if("throw"==b)throw Error(c);"function"==typeof b&&b(a,d,c)}}function E(a,b,c,d){h.isArray(c)?h.each(c,function(c,d){h.isArray(d)?E(a,b,d[0],d[1]):E(a,b,d)}):(d===k&&(d=c),b[c]!==k&&(a[d]=b[c]))}function Lb(a,b,c){var d,e;for(e in b)b.hasOwnProperty(e)&&(d=b[e],h.isPlainObject(d)?(h.isPlainObject(a[e])||(a[e]={}),h.extend(!0,a[e],d)):a[e]=c&&"data"!==e&&"aaData"!==
|
75 |
+
e&&h.isArray(d)?d.slice():d);return a}function Wa(a,b,c){h(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13===a.which&&(a.preventDefault(),c(a))}).bind("selectstart.DT",function(){return!1})}function z(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function u(a,b,c,d){var e=[];b&&(e=h.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,d)}));null!==c&&(b=h.Event(c+".dt"),h(a.nTable).trigger(b,d),e.push(b.result));return e}function Sa(a){var b=a._iDisplayStart,
|
76 |
+
c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function Na(a,b){var c=a.renderer,d=m.ext.renderer[b];return h.isPlainObject(c)&&c[b]?d[c[b]]||d._:"string"===typeof c?d[c]||d._:d._}function y(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function ya(a,b){var c=[],c=Mb.numbers_length,d=Math.floor(c/2);b<=c?c=W(0,b):a<=d?(c=W(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=W(b-(c-2),b):(c=W(a-d+2,a+d-1),c.push("ellipsis"),
|
77 |
+
c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function db(a){h.each({num:function(b){return za(b,a)},"num-fmt":function(b){return za(b,a,Xa)},"html-num":function(b){return za(b,a,Aa)},"html-num-fmt":function(b){return za(b,a,Aa,Xa)}},function(b,c){v.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(v.type.search[b+a]=v.type.search.html)})}function Nb(a){return function(){var b=[xa(this[m.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return m.ext.internal[a].apply(this,
|
78 |
+
b)}}var m=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new r(xa(this[v.iApiIndex])):new r(this)};this.fnAddData=function(a,b){var c=this.api(!0),d=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===k||b)&&c.draw();return d.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===k||a?b.draw(!1):
|
79 |
+
(""!==d.sX||""!==d.sY)&&ka(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===k||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var d=this.api(!0),a=d.rows(a),e=a.settings()[0],h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===k||c)&&d.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(a)};this.fnFilter=function(a,b,c,d,e,h){e=this.api(!0);null===b||b===k?e.search(a,
|
80 |
+
c,d,h):e.column(b).search(a,c,d,h);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==k||"td"==d||"th"==d?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==k?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),
|
81 |
+
[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===k||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===k||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return xa(this[v.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=
|
82 |
+
function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===k||e)&&h.columns.adjust();(d===k||d)&&h.draw();return 0};this.fnVersionCheck=v.fnVersionCheck;var b=this,c=a===k,d=this.length;c&&(a={});this.oApi=this.internal=v.internal;for(var e in m.ext.internal)e&&(this[e]=Nb(e));this.each(function(){var e={},e=1<d?Lb(e,a,!0):a,g=0,j,i=this.getAttribute("id"),n=!1,l=m.defaults,q=h(this);if("table"!=
|
83 |
+
this.nodeName.toLowerCase())L(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{eb(l);fb(l.column);K(l,l,!0);K(l.column,l.column,!0);K(l,h.extend(e,q.data()));var t=m.settings,g=0;for(j=t.length;g<j;g++){var p=t[g];if(p.nTable==this||p.nTHead.parentNode==this||p.nTFoot&&p.nTFoot.parentNode==this){g=e.bRetrieve!==k?e.bRetrieve:l.bRetrieve;if(c||g)return p.oInstance;if(e.bDestroy!==k?e.bDestroy:l.bDestroy){p.oInstance.fnDestroy();break}else{L(p,0,"Cannot reinitialise DataTable",3);
|
84 |
+
return}}if(p.sTableId==this.id){t.splice(g,1);break}}if(null===i||""===i)this.id=i="DataTables_Table_"+m.ext._unique++;var o=h.extend(!0,{},m.models.oSettings,{sDestroyWidth:q[0].style.width,sInstance:i,sTableId:i});o.nTable=this;o.oApi=b.internal;o.oInit=e;t.push(o);o.oInstance=1===b.length?b:q.dataTable();eb(e);e.oLanguage&&Da(e.oLanguage);e.aLengthMenu&&!e.iDisplayLength&&(e.iDisplayLength=h.isArray(e.aLengthMenu[0])?e.aLengthMenu[0][0]:e.aLengthMenu[0]);e=Lb(h.extend(!0,{},l),e);E(o.oFeatures,
|
85 |
+
e,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));E(o,e,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay","rowId",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols",
|
86 |
+
"aoPreSearchCols"],["iDisplayLength","_iDisplayLength"],["bJQueryUI","bJUI"]]);E(o.oScroll,e,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);E(o.oLanguage,e,"fnInfoCallback");z(o,"aoDrawCallback",e.fnDrawCallback,"user");z(o,"aoServerParams",e.fnServerParams,"user");z(o,"aoStateSaveParams",e.fnStateSaveParams,"user");z(o,"aoStateLoadParams",e.fnStateLoadParams,"user");z(o,"aoStateLoaded",e.fnStateLoaded,"user");z(o,"aoRowCallback",e.fnRowCallback,
|
87 |
+
"user");z(o,"aoRowCreatedCallback",e.fnCreatedRow,"user");z(o,"aoHeaderCallback",e.fnHeaderCallback,"user");z(o,"aoFooterCallback",e.fnFooterCallback,"user");z(o,"aoInitComplete",e.fnInitComplete,"user");z(o,"aoPreDrawCallback",e.fnPreDrawCallback,"user");o.rowIdFn=Q(e.rowId);gb(o);i=o.oClasses;e.bJQueryUI?(h.extend(i,m.ext.oJUIClasses,e.oClasses),e.sDom===l.sDom&&"lfrtip"===l.sDom&&(o.sDom='<"H"lfr>t<"F"ip>'),o.renderer)?h.isPlainObject(o.renderer)&&!o.renderer.header&&(o.renderer.header="jqueryui"):
|
88 |
+
o.renderer="jqueryui":h.extend(i,m.ext.classes,e.oClasses);q.addClass(i.sTable);o.iInitDisplayStart===k&&(o.iInitDisplayStart=e.iDisplayStart,o._iDisplayStart=e.iDisplayStart);null!==e.iDeferLoading&&(o.bDeferLoading=!0,g=h.isArray(e.iDeferLoading),o._iRecordsDisplay=g?e.iDeferLoading[0]:e.iDeferLoading,o._iRecordsTotal=g?e.iDeferLoading[1]:e.iDeferLoading);var r=o.oLanguage;h.extend(!0,r,e.oLanguage);""!==r.sUrl&&(h.ajax({dataType:"json",url:r.sUrl,success:function(a){Da(a);K(l.oLanguage,a);h.extend(true,
|
89 |
+
r,a);ga(o)},error:function(){ga(o)}}),n=!0);null===e.asStripeClasses&&(o.asStripeClasses=[i.sStripeOdd,i.sStripeEven]);var g=o.asStripeClasses,v=q.children("tbody").find("tr").eq(0);-1!==h.inArray(!0,h.map(g,function(a){return v.hasClass(a)}))&&(h("tbody tr",this).removeClass(g.join(" ")),o.asDestroyStripes=g.slice());t=[];g=this.getElementsByTagName("thead");0!==g.length&&(da(o.aoHeader,g[0]),t=qa(o));if(null===e.aoColumns){p=[];g=0;for(j=t.length;g<j;g++)p.push(null)}else p=e.aoColumns;g=0;for(j=
|
90 |
+
p.length;g<j;g++)Ea(o,t?t[g]:null);ib(o,e.aoColumnDefs,p,function(a,b){ja(o,a,b)});if(v.length){var s=function(a,b){return a.getAttribute("data-"+b)!==null?b:null};h(v[0]).children("th, td").each(function(a,b){var c=o.aoColumns[a];if(c.mData===a){var d=s(b,"sort")||s(b,"order"),e=s(b,"filter")||s(b,"search");if(d!==null||e!==null){c.mData={_:a+".display",sort:d!==null?a+".@data-"+d:k,type:d!==null?a+".@data-"+d:k,filter:e!==null?a+".@data-"+e:k};ja(o,a)}}})}var w=o.oFeatures;e.bStateSave&&(w.bStateSave=
|
91 |
+
!0,Kb(o,e),z(o,"aoDrawCallback",wa,"state_save"));if(e.aaSorting===k){t=o.aaSorting;g=0;for(j=t.length;g<j;g++)t[g][1]=o.aoColumns[g].asSorting[0]}va(o);w.bSort&&z(o,"aoDrawCallback",function(){if(o.bSorted){var a=V(o),b={};h.each(a,function(a,c){b[c.src]=c.dir});u(o,null,"order",[o,a,b]);Jb(o)}});z(o,"aoDrawCallback",function(){(o.bSorted||y(o)==="ssp"||w.bDeferRender)&&va(o)},"sc");g=q.children("caption").each(function(){this._captionSide=q.css("caption-side")});j=q.children("thead");0===j.length&&
|
92 |
+
(j=h("<thead/>").appendTo(this));o.nTHead=j[0];j=q.children("tbody");0===j.length&&(j=h("<tbody/>").appendTo(this));o.nTBody=j[0];j=q.children("tfoot");if(0===j.length&&0<g.length&&(""!==o.oScroll.sX||""!==o.oScroll.sY))j=h("<tfoot/>").appendTo(this);0===j.length||0===j.children().length?q.addClass(i.sNoFooter):0<j.length&&(o.nTFoot=j[0],da(o.aoFooter,o.nTFoot));if(e.aaData)for(g=0;g<e.aaData.length;g++)N(o,e.aaData[g]);else(o.bDeferLoading||"dom"==y(o))&&ma(o,h(o.nTBody).children("tr"));o.aiDisplay=
|
93 |
+
o.aiDisplayMaster.slice();o.bInitialised=!0;!1===n&&ga(o)}});b=null;return this},v,r,p,s,Ya={},Ob=/[\r\n]/g,Aa=/<.*?>/g,ac=/^[\w\+\-]/,bc=/[\w\+\-]$/,cc=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Xa=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi,M=function(a){return!a||!0===a||"-"===a?!0:!1},Pb=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Qb=function(a,b){Ya[b]||(Ya[b]=RegExp(Qa(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,
|
94 |
+
"").replace(Ya[b],"."):a},Za=function(a,b,c){var d="string"===typeof a;if(M(a))return!0;b&&d&&(a=Qb(a,b));c&&d&&(a=a.replace(Xa,""));return!isNaN(parseFloat(a))&&isFinite(a)},Rb=function(a,b,c){return M(a)?!0:!(M(a)||"string"===typeof a)?null:Za(a.replace(Aa,""),b,c)?!0:null},G=function(a,b,c){var d=[],e=0,f=a.length;if(c!==k)for(;e<f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else for(;e<f;e++)a[e]&&d.push(a[e][b]);return d},ha=function(a,b,c,d){var e=[],f=0,g=b.length;if(d!==k)for(;f<g;f++)a[b[f]][c]&&
|
95 |
+
e.push(a[b[f]][c][d]);else for(;f<g;f++)e.push(a[b[f]][c]);return e},W=function(a,b){var c=[],d;b===k?(b=0,d=a):(d=b,b=a);for(var e=b;e<d;e++)c.push(e);return c},Sb=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&b.push(a[c]);return b},pa=function(a){var b=[],c,d,e=a.length,f,g=0;d=0;a:for(;d<e;d++){c=a[d];for(f=0;f<g;f++)if(b[f]===c)continue a;b.push(c);g++}return b};m.util={throttle:function(a,b){var c=b!==k?b:200,d,e;return function(){var b=this,g=+new Date,h=arguments;d&&g<d+c?(clearTimeout(e),
|
96 |
+
e=setTimeout(function(){d=k;a.apply(b,h)},c)):(d=g,a.apply(b,h))}},escapeRegex:function(a){return a.replace(cc,"\\$1")}};var A=function(a,b,c){a[b]!==k&&(a[c]=a[b])},ba=/\[.*?\]$/,U=/\(\)$/,Qa=m.util.escapeRegex,ua=h("<div>")[0],Zb=ua.textContent!==k,$b=/<.*?>/g,Oa=m.util.throttle,Tb=[],w=Array.prototype,dc=function(a){var b,c,d=m.settings,e=h.map(d,function(a){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return b=h.inArray(a,e),-1!==b?[d[b]]:
|
97 |
+
null;if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?c=h(a):a instanceof h&&(c=a)}else return[];if(c)return c.map(function(){b=h.inArray(this,e);return-1!==b?d[b]:null}).toArray()};r=function(a,b){if(!(this instanceof r))return new r(a,b);var c=[],d=function(a){(a=dc(a))&&(c=c.concat(a))};if(h.isArray(a))for(var e=0,f=a.length;e<f;e++)d(a[e]);else d(a);this.context=pa(c);b&&h.merge(this,b);this.selector={rows:null,cols:null,opts:null};r.extend(this,this,Tb)};
|
98 |
+
m.Api=r;h.extend(r.prototype,{any:function(){return 0!==this.count()},concat:w.concat,context:[],count:function(){return this.flatten().length},each:function(a){for(var b=0,c=this.length;b<c;b++)a.call(this,this[b],b,this);return this},eq:function(a){var b=this.context;return b.length>a?new r(b[a],this[a]):null},filter:function(a){var b=[];if(w.filter)b=w.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new r(this.context,b)},flatten:function(){var a=
|
99 |
+
[];return new r(this.context,a.concat.apply(a,this.toArray()))},join:w.join,indexOf:w.indexOf||function(a,b){for(var c=b||0,d=this.length;c<d;c++)if(this[c]===a)return c;return-1},iterator:function(a,b,c,d){var e=[],f,g,h,i,n,l=this.context,m,t,p=this.selector;"string"===typeof a&&(d=c,c=b,b=a,a=!1);g=0;for(h=l.length;g<h;g++){var o=new r(l[g]);if("table"===b)f=c.call(o,l[g],g),f!==k&&e.push(f);else if("columns"===b||"rows"===b)f=c.call(o,l[g],this[g],g),f!==k&&e.push(f);else if("column"===b||"column-rows"===
|
100 |
+
b||"row"===b||"cell"===b){t=this[g];"column-rows"===b&&(m=Ba(l[g],p.opts));i=0;for(n=t.length;i<n;i++)f=t[i],f="cell"===b?c.call(o,l[g],f.row,f.column,g,i):c.call(o,l[g],f,g,i,m),f!==k&&e.push(f)}}return e.length||d?(a=new r(l,a?e.concat.apply([],e):e),b=a.selector,b.rows=p.rows,b.cols=p.cols,b.opts=p.opts,a):this},lastIndexOf:w.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(w.map)b=w.map.call(this,a,this);else for(var c=
|
101 |
+
0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new r(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:w.pop,push:w.push,reduce:w.reduce||function(a,b){return hb(this,a,b,0,this.length,1)},reduceRight:w.reduceRight||function(a,b){return hb(this,a,b,this.length-1,-1,-1)},reverse:w.reverse,selector:null,shift:w.shift,sort:w.sort,splice:w.splice,toArray:function(){return w.slice.call(this)},to$:function(){return h(this)},toJQuery:function(){return h(this)},
|
102 |
+
unique:function(){return new r(this.context,pa(this))},unshift:w.unshift});r.extend=function(a,b,c){if(c.length&&b&&(b instanceof r||b.__dt_wrapper)){var d,e,f,g=function(a,b,c){return function(){var d=b.apply(a,arguments);r.extend(d,d,c.methodExt);return d}};d=0;for(e=c.length;d<e;d++)f=c[d],b[f.name]="function"===typeof f.val?g(a,f.val,f):h.isPlainObject(f.val)?{}:f.val,b[f.name].__dt_wrapper=!0,r.extend(a,b[f.name],f.propExt)}};r.register=p=function(a,b){if(h.isArray(a))for(var c=0,d=a.length;c<
|
103 |
+
d;c++)r.register(a[c],b);else for(var e=a.split("."),f=Tb,g,j,c=0,d=e.length;c<d;c++){g=(j=-1!==e[c].indexOf("()"))?e[c].replace("()",""):e[c];var i;a:{i=0;for(var n=f.length;i<n;i++)if(f[i].name===g){i=f[i];break a}i=null}i||(i={name:g,val:{},methodExt:[],propExt:[]},f.push(i));c===d-1?i.val=b:f=j?i.methodExt:i.propExt}};r.registerPlural=s=function(a,b,c){r.register(a,c);r.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof r?a.length?h.isArray(a[0])?new r(a.context,
|
104 |
+
a[0]):a[0]:k:a})};p("tables()",function(a){var b;if(a){b=r;var c=this.context;if("number"===typeof a)a=[c[a]];else var d=h.map(c,function(a){return a.nTable}),a=h(d).filter(a).map(function(){var a=h.inArray(this,d);return c[a]}).toArray();b=new b(a)}else b=this;return b});p("table()",function(a){var a=this.tables(a),b=a.context;return b.length?new r(b[0]):a});s("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});s("tables().body()","table().body()",
|
105 |
+
function(){return this.iterator("table",function(a){return a.nTBody},1)});s("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});s("tables().footer()","table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot},1)});s("tables().containers()","table().container()",function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});p("draw()",function(a){return this.iterator("table",function(b){"page"===
|
106 |
+
a?O(b):("string"===typeof a&&(a="full-hold"===a?!1:!0),T(b,!1===a))})});p("page()",function(a){return a===k?this.page.info().page:this.iterator("table",function(b){Ta(b,a)})});p("page.info()",function(){if(0===this.context.length)return k;var a=this.context[0],b=a._iDisplayStart,c=a.oFeatures.bPaginate?a._iDisplayLength:-1,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:d,
|
107 |
+
serverSide:"ssp"===y(a)}});p("page.len()",function(a){return a===k?0!==this.context.length?this.context[0]._iDisplayLength:k:this.iterator("table",function(b){Ra(b,a)})});var Ub=function(a,b,c){if(c){var d=new r(a);d.one("draw",function(){c(d.ajax.json())})}if("ssp"==y(a))T(a,b);else{C(a,!0);var e=a.jqXHR;e&&4!==e.readyState&&e.abort();ra(a,[],function(c){na(a);for(var c=sa(a,c),d=0,e=c.length;d<e;d++)N(a,c[d]);T(a,b);C(a,!1)})}};p("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});
|
108 |
+
p("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});p("ajax.reload()",function(a,b){return this.iterator("table",function(c){Ub(c,!1===b,a)})});p("ajax.url()",function(a){var b=this.context;if(a===k){if(0===b.length)return k;b=b[0];return b.ajax?h.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",function(b){h.isPlainObject(b.ajax)?b.ajax.url=a:b.ajax=a})});p("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Ub(c,
|
109 |
+
!1===b,a)})});var $a=function(a,b,c,d,e){var f=[],g,j,i,n,l,m;i=typeof b;if(!b||"string"===i||"function"===i||b.length===k)b=[b];i=0;for(n=b.length;i<n;i++){j=b[i]&&b[i].split?b[i].split(","):[b[i]];l=0;for(m=j.length;l<m;l++)(g=c("string"===typeof j[l]?h.trim(j[l]):j[l]))&&g.length&&(f=f.concat(g))}a=v.selector[a];if(a.length){i=0;for(n=a.length;i<n;i++)f=a[i](d,e,f)}return pa(f)},ab=function(a){a||(a={});a.filter&&a.search===k&&(a.search=a.filter);return h.extend({search:"none",order:"current",
|
110 |
+
page:"all"},a)},bb=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a[0].length=1,a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Ba=function(a,b){var c,d,e,f=[],g=a.aiDisplay;c=a.aiDisplayMaster;var j=b.search;d=b.order;e=b.page;if("ssp"==y(a))return"removed"===j?[]:W(0,c.length);if("current"==e){c=a._iDisplayStart;for(d=a.fnDisplayEnd();c<d;c++)f.push(g[c])}else if("current"==d||"applied"==d)f="none"==j?c.slice():"applied"==j?g.slice():h.map(c,function(a){return-1===
|
111 |
+
h.inArray(a,g)?a:null});else if("index"==d||"original"==d){c=0;for(d=a.aoData.length;c<d;c++)"none"==j?f.push(c):(e=h.inArray(c,g),(-1===e&&"removed"==j||0<=e&&"applied"==j)&&f.push(c))}return f};p("rows()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=ab(b),c=this.iterator("table",function(c){var e=b;return $a("row",a,function(a){var b=Pb(a);if(b!==null&&!e)return[b];var j=Ba(c,e);if(b!==null&&h.inArray(b,j)!==-1)return[b];if(!a)return j;if(typeof a==="function")return h.map(j,function(b){var e=
|
112 |
+
c.aoData[b];return a(b,e._aData,e.nTr)?b:null});b=Sb(ha(c.aoData,j,"nTr"));if(a.nodeName){if(a._DT_RowIndex!==k)return[a._DT_RowIndex];if(a._DT_CellIndex)return[a._DT_CellIndex.row];b=h(a).closest("*[data-dt-row]");return b.length?[b.data("dt-row")]:[]}if(typeof a==="string"&&a.charAt(0)==="#"){j=c.aIds[a.replace(/^#/,"")];if(j!==k)return[j.idx]}return h(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()},c,e)},1);c.selector.rows=a;c.selector.opts=b;return c});p("rows().nodes()",function(){return this.iterator("row",
|
113 |
+
function(a,b){return a.aoData[b].nTr||k},1)});p("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return ha(a.aoData,b,"_aData")},1)});s("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var d=b.aoData[c];return"search"===a?d._aFilterData:d._aSortData},1)});s("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){ca(b,c,a)})});s("rows().indexes()","row().index()",function(){return this.iterator("row",
|
114 |
+
function(a,b){return b},1)});s("rows().ids()","row().id()",function(a){for(var b=[],c=this.context,d=0,e=c.length;d<e;d++)for(var f=0,g=this[d].length;f<g;f++){var h=c[d].rowIdFn(c[d].aoData[this[d][f]]._aData);b.push((!0===a?"#":"")+h)}return new r(c,b)});s("rows().remove()","row().remove()",function(){var a=this;this.iterator("row",function(b,c,d){var e=b.aoData,f=e[c],g,h,i,n,l;e.splice(c,1);g=0;for(h=e.length;g<h;g++)if(i=e[g],l=i.anCells,null!==i.nTr&&(i.nTr._DT_RowIndex=g),null!==l){i=0;for(n=
|
115 |
+
l.length;i<n;i++)l[i]._DT_CellIndex.row=g}oa(b.aiDisplayMaster,c);oa(b.aiDisplay,c);oa(a[d],c,!1);Sa(b);c=b.rowIdFn(f._aData);c!==k&&delete b.aIds[c]});this.iterator("table",function(a){for(var c=0,d=a.aoData.length;c<d;c++)a.aoData[c].idx=c});return this});p("rows.add()",function(a){var b=this.iterator("table",function(b){var c,f,g,h=[];f=0;for(g=a.length;f<g;f++)c=a[f],c.nodeName&&"TR"===c.nodeName.toUpperCase()?h.push(ma(b,c)[0]):h.push(N(b,c));return h},1),c=this.rows(-1);c.pop();h.merge(c,b);
|
116 |
+
return c});p("row()",function(a,b){return bb(this.rows(a,b))});p("row().data()",function(a){var b=this.context;if(a===k)return b.length&&this.length?b[0].aoData[this[0]]._aData:k;b[0].aoData[this[0]]._aData=a;ca(b[0],this[0],"data");return this});p("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});p("row.add()",function(a){a instanceof h&&a.length&&(a=a[0]);var b=this.iterator("table",function(b){return a.nodeName&&"TR"===a.nodeName.toUpperCase()?
|
117 |
+
ma(b,a)[0]:N(b,a)});return this.row(b[0])});var cb=function(a,b){var c=a.context;if(c.length&&(c=c[0].aoData[b!==k?b:a[0]])&&c._details)c._details.remove(),c._detailsShow=k,c._details=k},Vb=function(a,b){var c=a.context;if(c.length&&a.length){var d=c[0].aoData[a[0]];if(d._details){(d._detailsShow=b)?d._details.insertAfter(d.nTr):d._details.detach();var e=c[0],f=new r(e),g=e.aoData;f.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");0<G(g,"_details").length&&(f.on("draw.dt.DT_details",
|
118 |
+
function(a,b){e===b&&f.rows({page:"current"}).eq(0).each(function(a){a=g[a];a._detailsShow&&a._details.insertAfter(a.nTr)})}),f.on("column-visibility.dt.DT_details",function(a,b){if(e===b)for(var c,d=aa(b),f=0,h=g.length;f<h;f++)c=g[f],c._details&&c._details.children("td[colspan]").attr("colspan",d)}),f.on("destroy.dt.DT_details",function(a,b){if(e===b)for(var c=0,d=g.length;c<d;c++)g[c]._details&&cb(f,c)}))}}};p("row().child()",function(a,b){var c=this.context;if(a===k)return c.length&&this.length?
|
119 |
+
c[0].aoData[this[0]]._details:k;if(!0===a)this.child.show();else if(!1===a)cb(this);else if(c.length&&this.length){var d=c[0],c=c[0].aoData[this[0]],e=[],f=function(a,b){if(h.isArray(a)||a instanceof h)for(var c=0,k=a.length;c<k;c++)f(a[c],b);else a.nodeName&&"tr"===a.nodeName.toLowerCase()?e.push(a):(c=h("<tr><td/></tr>").addClass(b),h("td",c).addClass(b).html(a)[0].colSpan=aa(d),e.push(c[0]))};f(a,b);c._details&&c._details.remove();c._details=h(e);c._detailsShow&&c._details.insertAfter(c.nTr)}return this});
|
120 |
+
p(["row().child.show()","row().child().show()"],function(){Vb(this,!0);return this});p(["row().child.hide()","row().child().hide()"],function(){Vb(this,!1);return this});p(["row().child.remove()","row().child().remove()"],function(){cb(this);return this});p("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var ec=/^(.+):(name|visIdx|visible)$/,Wb=function(a,b,c,d,e){for(var c=[],d=0,f=e.length;d<f;d++)c.push(B(a,e[d],b));
|
121 |
+
return c};p("columns()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=ab(b),c=this.iterator("table",function(c){var e=a,f=b,g=c.aoColumns,j=G(g,"sName"),i=G(g,"nTh");return $a("column",e,function(a){var b=Pb(a);if(a==="")return W(g.length);if(b!==null)return[b>=0?b:g.length+b];if(typeof a==="function"){var e=Ba(c,f);return h.map(g,function(b,f){return a(f,Wb(c,f,0,0,e),i[f])?f:null})}var k=typeof a==="string"?a.match(ec):"";if(k)switch(k[2]){case "visIdx":case "visible":b=parseInt(k[1],
|
122 |
+
10);if(b<0){var m=h.map(g,function(a,b){return a.bVisible?b:null});return[m[m.length+b]]}return[Z(c,b)];case "name":return h.map(j,function(a,b){return a===k[1]?b:null});default:return[]}if(a.nodeName&&a._DT_CellIndex)return[a._DT_CellIndex.column];b=h(i).filter(a).map(function(){return h.inArray(this,i)}).toArray();if(b.length||!a.nodeName)return b;b=h(a).closest("*[data-dt-column]");return b.length?[b.data("dt-column")]:[]},c,f)},1);c.selector.cols=a;c.selector.opts=b;return c});s("columns().header()",
|
123 |
+
"column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});s("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});s("columns().data()","column().data()",function(){return this.iterator("column-rows",Wb,1)});s("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});s("columns().cache()","column().cache()",
|
124 |
+
function(a){return this.iterator("column-rows",function(b,c,d,e,f){return ha(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});s("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return ha(a.aoData,e,"anCells",b)},1)});s("columns().visible()","column().visible()",function(a,b){var c=this.iterator("column",function(b,c){if(a===k)return b.aoColumns[c].bVisible;var f=b.aoColumns,g=f[c],j=b.aoData,i,n,l;if(a!==k&&g.bVisible!==a){if(a){var m=
|
125 |
+
h.inArray(!0,G(f,"bVisible"),c+1);i=0;for(n=j.length;i<n;i++)l=j[i].nTr,f=j[i].anCells,l&&l.insertBefore(f[c],f[m]||null)}else h(G(b.aoData,"anCells",c)).detach();g.bVisible=a;ea(b,b.aoHeader);ea(b,b.aoFooter);wa(b)}});a!==k&&(this.iterator("column",function(c,e){u(c,null,"column-visibility",[c,e,a,b])}),(b===k||b)&&this.columns.adjust());return c});s("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?$(b,c):c},1)});p("columns.adjust()",
|
126 |
+
function(){return this.iterator("table",function(a){Y(a)},1)});p("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return Z(c,b);if("fromData"===a||"toVisible"===a)return $(c,b)}});p("column()",function(a,b){return bb(this.columns(a,b))});p("cells()",function(a,b,c){h.isPlainObject(a)&&(a.row===k?(c=a,a=null):(c=b,b=null));h.isPlainObject(b)&&(c=b,b=null);if(null===b||b===k)return this.iterator("table",function(b){var d=a,e=ab(c),f=
|
127 |
+
b.aoData,g=Ba(b,e),j=Sb(ha(f,g,"anCells")),i=h([].concat.apply([],j)),l,n=b.aoColumns.length,m,p,r,u,v,s;return $a("cell",d,function(a){var c=typeof a==="function";if(a===null||a===k||c){m=[];p=0;for(r=g.length;p<r;p++){l=g[p];for(u=0;u<n;u++){v={row:l,column:u};if(c){s=f[l];a(v,B(b,l,u),s.anCells?s.anCells[u]:null)&&m.push(v)}else m.push(v)}}return m}if(h.isPlainObject(a))return[a];c=i.filter(a).map(function(a,b){return{row:b._DT_CellIndex.row,column:b._DT_CellIndex.column}}).toArray();if(c.length||
|
128 |
+
!a.nodeName)return c;s=h(a).closest("*[data-dt-row]");return s.length?[{row:s.data("dt-row"),column:s.data("dt-column")}]:[]},b,e)});var d=this.columns(b,c),e=this.rows(a,c),f,g,j,i,n,l=this.iterator("table",function(a,b){f=[];g=0;for(j=e[b].length;g<j;g++){i=0;for(n=d[b].length;i<n;i++)f.push({row:e[b][g],column:d[b][i]})}return f},1);h.extend(l.selector,{cols:b,rows:a,opts:c});return l});s("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(a,b,c){return(a=a.aoData[b])&&
|
129 |
+
a.anCells?a.anCells[c]:k},1)});p("cells().data()",function(){return this.iterator("cell",function(a,b,c){return B(a,b,c)},1)});s("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,d){return b.aoData[c][a][d]},1)});s("cells().render()","cell().render()",function(a){return this.iterator("cell",function(b,c,d){return B(b,c,d,a)},1)});s("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,
|
130 |
+
b,c){return{row:b,column:c,columnVisible:$(a,c)}},1)});s("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(b,c,d){ca(b,c,a,d)})});p("cell()",function(a,b,c){return bb(this.cells(a,b,c))});p("cell().data()",function(a){var b=this.context,c=this[0];if(a===k)return b.length&&c.length?B(b[0],c[0].row,c[0].column):k;jb(b[0],c[0].row,c[0].column,a);ca(b[0],c[0].row,"data",c[0].column);return this});p("order()",function(a,b){var c=this.context;if(a===k)return 0!==
|
131 |
+
c.length?c[0].aaSorting:k;"number"===typeof a?a=[[a,b]]:a.length&&!h.isArray(a[0])&&(a=Array.prototype.slice.call(arguments));return this.iterator("table",function(b){b.aaSorting=a.slice()})});p("order.listener()",function(a,b,c){return this.iterator("table",function(d){Ma(d,a,b,c)})});p("order.fixed()",function(a){if(!a){var b=this.context,b=b.length?b[0].aaSortingFixed:k;return h.isArray(b)?{pre:b}:b}return this.iterator("table",function(b){b.aaSortingFixed=h.extend(!0,{},a)})});p(["columns().order()",
|
132 |
+
"column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];h.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});p("search()",function(a,b,c,d){var e=this.context;return a===k?0!==e.length?e[0].oPreviousSearch.sSearch:k:this.iterator("table",function(e){e.oFeatures.bFilter&&fa(e,h.extend({},e.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});s("columns().search()","column().search()",function(a,
|
133 |
+
b,c,d){return this.iterator("column",function(e,f){var g=e.aoPreSearchCols;if(a===k)return g[f].sSearch;e.oFeatures.bFilter&&(h.extend(g[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),fa(e,e.oPreviousSearch,1))})});p("state()",function(){return this.context.length?this.context[0].oSavedState:null});p("state.clear()",function(){return this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});p("state.loaded()",function(){return this.context.length?
|
134 |
+
this.context[0].oLoadedState:null});p("state.save()",function(){return this.iterator("table",function(a){wa(a)})});m.versionCheck=m.fnVersionCheck=function(a){for(var b=m.version.split("."),a=a.split("."),c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};m.isDataTable=m.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;h.each(m.settings,function(a,e){var f=e.nScrollHead?h("table",e.nScrollHead)[0]:null,g=e.nScrollFoot?h("table",e.nScrollFoot)[0]:
|
135 |
+
null;if(e.nTable===b||f===b||g===b)c=!0});return c};m.tables=m.fnTables=function(a){var b=!1;h.isPlainObject(a)&&(b=a.api,a=a.visible);var c=h.map(m.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return b.nTable});return b?new r(c):c};m.camelToHungarian=K;p("$()",function(a,b){var c=this.rows(b).nodes(),c=h(c);return h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each(["on","one","off"],function(a,b){p(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0].match(/\.dt\b/)||
|
136 |
+
(a[0]+=".dt");var d=h(this.tables().nodes());d[b].apply(d,a);return this})});p("clear()",function(){return this.iterator("table",function(a){na(a)})});p("settings()",function(){return new r(this.context,this.context)});p("init()",function(){var a=this.context;return a.length?a[0].oInit:null});p("data()",function(){return this.iterator("table",function(a){return G(a.aoData,"_aData")}).flatten()});p("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,
|
137 |
+
d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,j=b.nTFoot,i=h(e),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),p;b.bDestroying=!0;u(b,"aoDestroyCallback","destroy",[b]);a||(new r(b)).columns().visible(!0);k.unbind(".DT").find(":not(tbody *)").unbind(".DT");h(D).unbind(".DT-"+b.sInstance);e!=g.parentNode&&(i.children("thead").detach(),i.append(g));j&&e!=j.parentNode&&(i.children("tfoot").detach(),i.append(j));b.aaSorting=[];b.aaSortingFixed=[];va(b);h(l).removeClass(b.asStripeClasses.join(" "));
|
138 |
+
h("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);b.bJUI&&(h("th span."+d.sSortIcon+", td span."+d.sSortIcon,g).detach(),h("th, td",g).each(function(){var a=h("div."+d.sSortJUIWrapper,this);h(this).append(a.contents());a.detach()}));f.children().detach();f.append(l);g=a?"remove":"detach";i[g]();k[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),i.css("width",b.sDestroyWidth).removeClass(d.sTable),(p=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%
|
139 |
+
p])}));c=h.inArray(b,m.settings);-1!==c&&m.settings.splice(c,1)})});h.each(["column","row","cell"],function(a,b){p(b+"s().every()",function(a){var d=this.selector.opts,e=this;return this.iterator(b,function(f,g,h,i,n){a.call(e[b](g,"cell"===b?h:d,"cell"===b?d:k),g,h,i,n)})})});p("i18n()",function(a,b,c){var d=this.context[0],a=Q(a)(d.oLanguage);a===k&&(a=b);c!==k&&h.isPlainObject(a)&&(a=a[c]!==k?a[c]:a._);return a.replace("%d",c)});m.version="1.10.12";m.settings=[];m.models={};m.models.oSearch={bCaseInsensitive:!0,
|
140 |
+
sSearch:"",bRegex:!1,bSmart:!0};m.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1};m.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,
|
141 |
+
sTitle:null,sType:null,sWidth:null,sWidthOrig:null};m.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,
|
142 |
+
fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===
|
143 |
+
a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",
|
144 |
+
sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},m.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",
|
145 |
+
renderer:null,rowId:"DT_RowId"};X(m.defaults);m.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};X(m.defaults.column);m.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,
|
146 |
+
bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],
|
147 |
+
aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,
|
148 |
+
fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==y(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==y(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=
|
149 |
+
this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};m.ext=v={buttons:{},classes:{},builder:"-source-",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},
|
150 |
+
header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:m.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:m.version};h.extend(v,{afnFiltering:v.search,aTypes:v.type.detect,ofnSearch:v.type.search,oSort:v.type.order,afnSortData:v.order,aoFeatures:v.feature,oApi:v.internal,oStdClasses:v.classes,oPagination:v.pager});h.extend(m.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",
|
151 |
+
sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",
|
152 |
+
sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var Ca="",Ca="",H=Ca+"ui-state-default",ia=Ca+"css_right ui-icon ui-icon-",Xb=Ca+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";h.extend(m.ext.oJUIClasses,
|
153 |
+
m.ext.classes,{sPageButton:"fg-button ui-button "+H,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:H+" sorting_asc",sSortDesc:H+" sorting_desc",sSortable:H+" sorting",sSortableAsc:H+" sorting_asc_disabled",sSortableDesc:H+" sorting_desc_disabled",sSortableNone:H+" sorting_disabled",sSortJUIAsc:ia+"triangle-1-n",sSortJUIDesc:ia+"triangle-1-s",sSortJUI:ia+"carat-2-n-s",
|
154 |
+
sSortJUIAscAllowed:ia+"carat-1-n",sSortJUIDescAllowed:ia+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+H,sScrollFoot:"dataTables_scrollFoot "+H,sHeaderTH:H,sFooterTH:H,sJUIHeader:Xb+" ui-corner-tl ui-corner-tr",sJUIFooter:Xb+" ui-corner-bl ui-corner-br"});var Mb=m.ext.pager;h.extend(Mb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},numbers:function(a,b){return[ya(a,
|
155 |
+
b)]},simple_numbers:function(a,b){return["previous",ya(a,b),"next"]},full_numbers:function(a,b){return["first","previous",ya(a,b),"next","last"]},_numbers:ya,numbers_length:7});h.extend(!0,m.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var g=a.oClasses,j=a.oLanguage.oPaginate,i=a.oLanguage.oAria.paginate||{},k,l,m=0,p=function(b,d){var o,r,u,s,v=function(b){Ta(a,b.data.action,true)};o=0;for(r=d.length;o<r;o++){s=d[o];if(h.isArray(s)){u=h("<"+(s.DT_el||"div")+"/>").appendTo(b);p(u,s)}else{k=null;
|
156 |
+
l="";switch(s){case "ellipsis":b.append('<span class="ellipsis">…</span>');break;case "first":k=j.sFirst;l=s+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":k=j.sPrevious;l=s+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":k=j.sNext;l=s+(e<f-1?"":" "+g.sPageButtonDisabled);break;case "last":k=j.sLast;l=s+(e<f-1?"":" "+g.sPageButtonDisabled);break;default:k=s+1;l=e===s?g.sPageButtonActive:""}if(k!==null){u=h("<a>",{"class":g.sPageButton+" "+l,"aria-controls":a.sTableId,"aria-label":i[s],
|
157 |
+
"data-dt-idx":m,tabindex:a.iTabIndex,id:c===0&&typeof s==="string"?a.sTableId+"_"+s:null}).html(k).appendTo(b);Wa(u,{action:s},v);m++}}}},r;try{r=h(b).find(I.activeElement).data("dt-idx")}catch(o){}p(h(b).empty(),d);r&&h(b).find("[data-dt-idx="+r+"]").focus()}}});h.extend(m.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;return Za(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&(!ac.test(a)||!bc.test(a)))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||M(a)?"date":
|
158 |
+
null},function(a,b){var c=b.oLanguage.sDecimal;return Za(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Rb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Rb(a,c,!0)?"html-num-fmt"+c:null},function(a){return M(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);h.extend(m.ext.type.search,{html:function(a){return M(a)?a:"string"===typeof a?a.replace(Ob," ").replace(Aa,""):""},string:function(a){return M(a)?a:"string"===typeof a?a.replace(Ob,
|
159 |
+
" "):a}});var za=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Qb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};h.extend(v.type.order,{"date-pre":function(a){return Date.parse(a)||0},"html-pre":function(a){return M(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return M(a)?"":"string"===typeof a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,b){return a<b?-1:a>b?1:0},"string-desc":function(a,
|
160 |
+
b){return a<b?1:a>b?-1:0}});db("");h.extend(!0,m.ext.renderer,{header:{_:function(a,b,c,d){h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass)}})},jqueryui:function(a,b,c,d){h("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(h("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(e,
|
161 |
+
f,g,h){if(a===f){e=c.idx;b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass(h[e]=="asc"?d.sSortJUIAsc:h[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)}})}}});var Yb=function(a){return"string"===typeof a?a.replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""):a};m.render={number:function(a,
|
162 |
+
b,c,d,e){return{display:function(f){if("number"!==typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return Yb(f);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+f+(e||"")}}},text:function(){return{display:Yb}}};h.extend(m.ext.internal,{_fnExternApiFunc:Nb,_fnBuildAjax:ra,_fnAjaxUpdate:lb,_fnAjaxParameters:ub,_fnAjaxUpdateDraw:vb,_fnAjaxDataSrc:sa,_fnAddColumn:Ea,_fnColumnOptions:ja,
|
163 |
+
_fnAdjustColumnSizing:Y,_fnVisibleToColumnIndex:Z,_fnColumnIndexToVisible:$,_fnVisbleColumns:aa,_fnGetColumns:la,_fnColumnTypes:Ga,_fnApplyColumnDefs:ib,_fnHungarianMap:X,_fnCamelToHungarian:K,_fnLanguageCompat:Da,_fnBrowserDetect:gb,_fnAddData:N,_fnAddTr:ma,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==k?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:B,_fnSetCellData:jb,_fnSplitObjNotation:Ja,_fnGetObjectDataFn:Q,_fnSetObjectDataFn:R,
|
164 |
+
_fnGetDataMaster:Ka,_fnClearTable:na,_fnDeleteIndex:oa,_fnInvalidate:ca,_fnGetRowElements:Ia,_fnCreateTr:Ha,_fnBuildHead:kb,_fnDrawHead:ea,_fnDraw:O,_fnReDraw:T,_fnAddOptionsHtml:nb,_fnDetectHeader:da,_fnGetUniqueThs:qa,_fnFeatureHtmlFilter:pb,_fnFilterComplete:fa,_fnFilterCustom:yb,_fnFilterColumn:xb,_fnFilter:wb,_fnFilterCreateSearch:Pa,_fnEscapeRegex:Qa,_fnFilterData:zb,_fnFeatureHtmlInfo:sb,_fnUpdateInfo:Cb,_fnInfoMacros:Db,_fnInitialise:ga,_fnInitComplete:ta,_fnLengthChange:Ra,_fnFeatureHtmlLength:ob,
|
165 |
+
_fnFeatureHtmlPaginate:tb,_fnPageChange:Ta,_fnFeatureHtmlProcessing:qb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:rb,_fnScrollDraw:ka,_fnApplyToChildren:J,_fnCalculateColumnWidths:Fa,_fnThrottle:Oa,_fnConvertToWidth:Fb,_fnGetWidestNode:Gb,_fnGetMaxLenString:Hb,_fnStringToCss:x,_fnSortFlatten:V,_fnSort:mb,_fnSortAria:Jb,_fnSortListener:Va,_fnSortAttachListener:Ma,_fnSortingClasses:va,_fnSortData:Ib,_fnSaveState:wa,_fnLoadState:Kb,_fnSettingsFromNode:xa,_fnLog:L,_fnMap:E,_fnBindAction:Wa,_fnCallbackReg:z,
|
166 |
+
_fnCallbackFire:u,_fnLengthOverflow:Sa,_fnRenderer:Na,_fnDataSource:y,_fnRowAttributes:La,_fnCalculateEnd:function(){}});h.fn.dataTable=m;m.$=h;h.fn.dataTableSettings=m.settings;h.fn.dataTableExt=m.ext;h.fn.DataTable=function(a){return h(this).dataTable(a).api()};h.each(m,function(a,b){h.fn.DataTable[a]=b});return h.fn.dataTable});
|
src/SupsysticTables/Core/assets/js/lib/natural.js
ADDED
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Data can often be a complicated mix of numbers and letters (file names
|
3 |
+
* are a common example) and sorting them in a natural manner is quite a
|
4 |
+
* difficult problem.
|
5 |
+
*
|
6 |
+
* Fortunately a deal of work has already been done in this area by other
|
7 |
+
* authors - the following plug-in uses the [naturalSort() function by Jim
|
8 |
+
* Palmer](http://www.overset.com/2008/09/01/javascript-natural-sort-algorithm-with-unicode-support) to provide natural sorting in DataTables.
|
9 |
+
*
|
10 |
+
* @name Natural sorting
|
11 |
+
* @summary Sort data with a mix of numbers and letters _naturally_.
|
12 |
+
* @author [Jim Palmer](http://www.overset.com/2008/09/01/javascript-natural-sort-algorithm-with-unicode-support)
|
13 |
+
* @author [Michael Buehler] (https://github.com/AnimusMachina)
|
14 |
+
*
|
15 |
+
* @example
|
16 |
+
* $('#example').dataTable( {
|
17 |
+
* columnDefs: [
|
18 |
+
* { type: 'natural', targets: 0 }
|
19 |
+
* ]
|
20 |
+
* } );
|
21 |
+
*
|
22 |
+
* Html can be stripped from sorting by using 'natural-nohtml' such as
|
23 |
+
*
|
24 |
+
* $('#example').dataTable( {
|
25 |
+
* columnDefs: [
|
26 |
+
* { type: 'natural-nohtml', targets: 0 }
|
27 |
+
* ]
|
28 |
+
* } );
|
29 |
+
*
|
30 |
+
*/
|
31 |
+
|
32 |
+
(function() {
|
33 |
+
|
34 |
+
/*
|
35 |
+
* Natural Sort algorithm for Javascript - Version 0.7 - Released under MIT license
|
36 |
+
* Author: Jim Palmer (based on chunking idea from Dave Koelle)
|
37 |
+
* Contributors: Mike Grier (mgrier.com), Clint Priest, Kyle Adams, guillermo
|
38 |
+
* See: http://js-naturalsort.googlecode.com/svn/trunk/naturalSort.js
|
39 |
+
*/
|
40 |
+
function naturalSort (a, b, html) {
|
41 |
+
var re = /(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,
|
42 |
+
sre = /(^[ ]*|[ ]*$)/g,
|
43 |
+
dre = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,
|
44 |
+
hre = /^0x[0-9a-f]+$/i,
|
45 |
+
ore = /^0/,
|
46 |
+
htmre = /(<([^>]+)>)/ig,
|
47 |
+
// convert all to strings and trim()
|
48 |
+
x = a.toString().replace(sre, '') || '',
|
49 |
+
y = b.toString().replace(sre, '') || '';
|
50 |
+
// remove html from strings if desired
|
51 |
+
if (!html) {
|
52 |
+
x = x.replace(htmre, '');
|
53 |
+
y = y.replace(htmre, '');
|
54 |
+
}
|
55 |
+
// chunk/tokenize
|
56 |
+
var xN = x.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'),
|
57 |
+
yN = y.replace(re, '\0$1\0').replace(/\0$/,'').replace(/^\0/,'').split('\0'),
|
58 |
+
// numeric, hex or date detection
|
59 |
+
xD = parseInt(x.match(hre), 10) || (xN.length !== 1 && x.match(dre) && Date.parse(x)),
|
60 |
+
yD = parseInt(y.match(hre), 10) || xD && y.match(dre) && Date.parse(y) || null;
|
61 |
+
|
62 |
+
// first try and sort Hex codes or Dates
|
63 |
+
if (yD) {
|
64 |
+
if ( xD < yD ) {
|
65 |
+
return -1;
|
66 |
+
}
|
67 |
+
else if ( xD > yD ) {
|
68 |
+
return 1;
|
69 |
+
}
|
70 |
+
}
|
71 |
+
|
72 |
+
// natural sorting through split numeric strings and default strings
|
73 |
+
for(var cLoc=0, numS=Math.max(xN.length, yN.length); cLoc < numS; cLoc++) {
|
74 |
+
// find floats not starting with '0', string or 0 if not defined (Clint Priest)
|
75 |
+
var oFxNcL = !(xN[cLoc] || '').match(ore) && parseFloat(xN[cLoc], 10) || xN[cLoc] || 0;
|
76 |
+
var oFyNcL = !(yN[cLoc] || '').match(ore) && parseFloat(yN[cLoc], 10) || yN[cLoc] || 0;
|
77 |
+
// handle numeric vs string comparison - number < string - (Kyle Adams)
|
78 |
+
if (isNaN(oFxNcL) !== isNaN(oFyNcL)) {
|
79 |
+
return (isNaN(oFxNcL)) ? 1 : -1;
|
80 |
+
}
|
81 |
+
// rely on string comparison if different types - i.e. '02' < 2 != '02' < '2'
|
82 |
+
else if (typeof oFxNcL !== typeof oFyNcL) {
|
83 |
+
oFxNcL += '';
|
84 |
+
oFyNcL += '';
|
85 |
+
}
|
86 |
+
if (oFxNcL < oFyNcL) {
|
87 |
+
return -1;
|
88 |
+
}
|
89 |
+
if (oFxNcL > oFyNcL) {
|
90 |
+
return 1;
|
91 |
+
}
|
92 |
+
}
|
93 |
+
return 0;
|
94 |
+
}
|
95 |
+
|
96 |
+
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
|
97 |
+
"natural-asc": function ( a, b ) {
|
98 |
+
return naturalSort(a,b,true);
|
99 |
+
},
|
100 |
+
|
101 |
+
"natural-desc": function ( a, b ) {
|
102 |
+
return naturalSort(a,b,true) * -1;
|
103 |
+
},
|
104 |
+
|
105 |
+
"natural-nohtml-asc": function( a, b ) {
|
106 |
+
return naturalSort(a,b,false);
|
107 |
+
},
|
108 |
+
|
109 |
+
"natural-nohtml-desc": function( a, b ) {
|
110 |
+
return naturalSort(a,b,false) * -1;
|
111 |
+
}
|
112 |
+
} );
|
113 |
+
|
114 |
+
}());
|
src/SupsysticTables/Settings/Module.php
CHANGED
@@ -15,6 +15,7 @@ class SupsysticTables_Settings_Module extends SupsysticTables_Core_BaseModule
|
|
15 |
|
16 |
public function registerAssets() {
|
17 |
$modulePath = untrailingslashit(plugin_dir_url(__FILE__));
|
|
|
18 |
|
19 |
wp_register_script(
|
20 |
'supsystic-tables-settings-index-js',
|
@@ -32,8 +33,8 @@ class SupsysticTables_Settings_Module extends SupsysticTables_Core_BaseModule
|
|
32 |
);
|
33 |
|
34 |
wp_register_script(
|
35 |
-
'supsystic-settings-chosen',
|
36 |
-
|
37 |
array(),
|
38 |
$this->config('plugin_version'),
|
39 |
true
|
15 |
|
16 |
public function registerAssets() {
|
17 |
$modulePath = untrailingslashit(plugin_dir_url(__FILE__));
|
18 |
+
$appPath = untrailingslashit(plugin_dir_url(dirname(dirname(dirname(__FILE__)))) . 'app');
|
19 |
|
20 |
wp_register_script(
|
21 |
'supsystic-tables-settings-index-js',
|
33 |
);
|
34 |
|
35 |
wp_register_script(
|
36 |
+
'supsystic-settings-chosen',
|
37 |
+
$appPath . '/assets/js/plugins/chosen.jquery.min.js',
|
38 |
array(),
|
39 |
$this->config('plugin_version'),
|
40 |
true
|
src/SupsysticTables/Settings/views/index.twig
CHANGED
@@ -21,8 +21,8 @@
|
|
21 |
|
22 |
<div class="table-search-option table-option">
|
23 |
<div class="setting-description">
|
24 |
-
<label>{{ environment.translate('
|
25 |
-
{{ tooltip.icon(environment.translate('
|
26 |
</div>
|
27 |
<div class="setting-control">
|
28 |
<input type="checkbox" name="settings[table_search]" {% if settings.table_search == 'on' %} checked {% endif %}>
|
@@ -31,7 +31,7 @@
|
|
31 |
<div class="table-step-option table-option">
|
32 |
<div class="setting-description">
|
33 |
<label>{{ environment.translate('Rows Count per Request') }}</label>
|
34 |
-
{{ tooltip.icon(environment.translate('Set count of table rows, which will be
|
35 |
</div>
|
36 |
<div class="setting-control">
|
37 |
<input type="text" name="settings[table_step]" value="{{ settings.table_step | default(400) }}">
|
@@ -40,7 +40,7 @@
|
|
40 |
<div class="table-roles-option table-option">
|
41 |
<div class="setting-description">
|
42 |
<label>{{ environment.translate('Roles') }}</label>
|
43 |
-
{{ tooltip.icon(environment.translate('
|
44 |
|
45 |
{% if environment.isPro() == false %}
|
46 |
<a target="_blank" href="{{ build_pro_url({ 'utm_medium': 'manage_roles' }) }}">
|
21 |
|
22 |
<div class="table-search-option table-option">
|
23 |
<div class="setting-description">
|
24 |
+
<label>{{ environment.translate('Include to Global Search') }}</label>
|
25 |
+
{{ tooltip.icon(environment.translate('Enable this option if you want to include the tables data to global site search'), 'top', true) }} </label>
|
26 |
</div>
|
27 |
<div class="setting-control">
|
28 |
<input type="checkbox" name="settings[table_search]" {% if settings.table_search == 'on' %} checked {% endif %}>
|
31 |
<div class="table-step-option table-option">
|
32 |
<div class="setting-description">
|
33 |
<label>{{ environment.translate('Rows Count per Request') }}</label>
|
34 |
+
{{ tooltip.icon(environment.translate('Set the count of table rows, which will be put into the one saving request. If your table has more rows - as many requests will be sent as need to completely save all table data.<br /><br /> It can be useful if you have a large table and can not improuve your server settings to save the table per single request.<br /><br /> If you do not have problems with saving of tables it is better to left the default value - 400.'), 'top', true) }} </label>
|
35 |
</div>
|
36 |
<div class="setting-control">
|
37 |
<input type="text" name="settings[table_step]" value="{{ settings.table_step | default(400) }}">
|
40 |
<div class="table-roles-option table-option">
|
41 |
<div class="setting-description">
|
42 |
<label>{{ environment.translate('Roles') }}</label>
|
43 |
+
{{ tooltip.icon(environment.translate('Set the users roles, to add permission to use the plugin. The Administrator role has set by default.'), 'top', true) }}
|
44 |
|
45 |
{% if environment.isPro() == false %}
|
46 |
<a target="_blank" href="{{ build_pro_url({ 'utm_medium': 'manage_roles' }) }}">
|
src/SupsysticTables/Tables/Controller.php
CHANGED
@@ -115,6 +115,9 @@ class SupsysticTables_Tables_Controller extends SupsysticTables_Core_BaseControl
|
|
115 |
{
|
116 |
$this->getEnvironment()->getModule('tables')->setIniLimits();
|
117 |
|
|
|
|
|
|
|
118 |
try {
|
119 |
wp_enqueue_media();
|
120 |
$id = $request->query->get('id');
|
@@ -125,9 +128,6 @@ class SupsysticTables_Tables_Controller extends SupsysticTables_Core_BaseControl
|
|
125 |
if(isset($table->settings['features']['after_table_loaded_script']) && !empty($table->settings['features']['after_table_loaded_script'])) {
|
126 |
$table->settings['features']['after_table_loaded_script'] = base64_decode($table->settings['features']['after_table_loaded_script']);
|
127 |
}
|
128 |
-
/** @var SupsysticTables_Tables_Model_Languages $languages */
|
129 |
-
$languages = $this->getModel('languages', 'tables');
|
130 |
-
$config = $this->getEnvironment()->getConfig();
|
131 |
|
132 |
return $this->response(
|
133 |
'@tables/view.twig',
|
@@ -137,10 +137,7 @@ class SupsysticTables_Tables_Controller extends SupsysticTables_Core_BaseControl
|
|
137 |
'cols' => $request->query->get('cols', 5),
|
138 |
'rows' => $request->query->get('rows', 5)
|
139 |
),
|
140 |
-
|
141 |
-
'shortcode_value_name' => $config->get('shortcode_value_name'),
|
142 |
-
'shortcode_cell_name' => $config->get('shortcode_cell_name'),
|
143 |
-
'translations' => $languages->getLanguages(),
|
144 |
)
|
145 |
);
|
146 |
}
|
115 |
{
|
116 |
$this->getEnvironment()->getModule('tables')->setIniLimits();
|
117 |
|
118 |
+
/** @var SupsysticTables_Tables_Model_Languages $languages */
|
119 |
+
$languages = $this->getModel('languages', 'tables');
|
120 |
+
|
121 |
try {
|
122 |
wp_enqueue_media();
|
123 |
$id = $request->query->get('id');
|
128 |
if(isset($table->settings['features']['after_table_loaded_script']) && !empty($table->settings['features']['after_table_loaded_script'])) {
|
129 |
$table->settings['features']['after_table_loaded_script'] = base64_decode($table->settings['features']['after_table_loaded_script']);
|
130 |
}
|
|
|
|
|
|
|
131 |
|
132 |
return $this->response(
|
133 |
'@tables/view.twig',
|
137 |
'cols' => $request->query->get('cols', 5),
|
138 |
'rows' => $request->query->get('rows', 5)
|
139 |
),
|
140 |
+
'translations' => $languages->getTranslations(),
|
|
|
|
|
|
|
141 |
)
|
142 |
);
|
143 |
}
|
src/SupsysticTables/Tables/Model/History.php
ADDED
@@ -0,0 +1,228 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class SupsysticTables_Tables_Model_History extends SupsysticTables_Core_BaseModel
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* For this model is important to create the mirror functions in SupsysticTables_Tables_Model_Tables
|
6 |
+
* @see SupsysticTables_Tables_Model_Tables::getAllTableHistory and ets.
|
7 |
+
*/
|
8 |
+
|
9 |
+
public function getAllTableHistory($tableId)
|
10 |
+
{
|
11 |
+
$query = $this->getQueryBuilder()
|
12 |
+
->select('*')
|
13 |
+
->from($this->getTable('rows_history'))
|
14 |
+
->where('table_id', '=', (int)$tableId);
|
15 |
+
|
16 |
+
$history = $this->db->get_results($query->build());
|
17 |
+
|
18 |
+
if ($this->db->last_error) {
|
19 |
+
throw new RuntimeException($this->db->last_error);
|
20 |
+
}
|
21 |
+
for($i = 0; $i < count($history); $i++) {
|
22 |
+
$history[$i] = $this->_afterSimpleGet($history[$i]);
|
23 |
+
}
|
24 |
+
|
25 |
+
return $history;
|
26 |
+
}
|
27 |
+
|
28 |
+
public function getUserTableHistory($userId, $tableId, $period = null)
|
29 |
+
{
|
30 |
+
$query = $this->getQueryBuilder()
|
31 |
+
->select('*')
|
32 |
+
->from($this->getTable('rows_history'))
|
33 |
+
->where('table_id', '=', (int)$tableId)
|
34 |
+
->andWhere('user_id', '=', (int)$userId);
|
35 |
+
$history = $this->db->get_results($query->build());
|
36 |
+
|
37 |
+
if ($this->db->last_error) {
|
38 |
+
throw new RuntimeException($this->db->last_error);
|
39 |
+
}
|
40 |
+
$historyTable = $this->_checkUserTableHistoryByPeriod($tableId, $history, $period);
|
41 |
+
|
42 |
+
if(!$history || ($history && !$historyTable)) {
|
43 |
+
$historyTable = $this->createUserTableHistory($userId, $tableId);
|
44 |
+
}
|
45 |
+
$historyTable = $this->_afterSimpleGet($historyTable);
|
46 |
+
|
47 |
+
return $historyTable;
|
48 |
+
}
|
49 |
+
|
50 |
+
public function _checkUserTableHistoryByPeriod($tableId, $history, $period = null)
|
51 |
+
{
|
52 |
+
$history = array_reverse($history);
|
53 |
+
$settings = $this->getHistorySettings($tableId);
|
54 |
+
$historyTable = array();
|
55 |
+
|
56 |
+
if(!empty($settings['history']['period'])) {
|
57 |
+
if(!function_exists('date_create')) {
|
58 |
+
throw new RuntimeException($this->environment->translate('You should to use PHP v.5.2.0 or greater to use the period feature for history table.'));
|
59 |
+
}
|
60 |
+
$today = date_create();
|
61 |
+
$needCreate = empty($period);
|
62 |
+
$period = !empty($period) ? $period : $today;
|
63 |
+
$periodFormat = '';
|
64 |
+
$include = false;
|
65 |
+
|
66 |
+
for($i = 0; $i < count($history); $i++) {
|
67 |
+
$created = date_create($history[$i]->created);
|
68 |
+
|
69 |
+
switch($settings['history']['period']) {
|
70 |
+
case 'day':
|
71 |
+
$format = 'Y-m-d';
|
72 |
+
break;
|
73 |
+
case 'week':
|
74 |
+
$format = 'W';
|
75 |
+
break;
|
76 |
+
case 'month':
|
77 |
+
$format = 'Y-m';
|
78 |
+
break;
|
79 |
+
case 'year':
|
80 |
+
$format = 'Y';
|
81 |
+
break;
|
82 |
+
default:
|
83 |
+
$format = '';
|
84 |
+
break;
|
85 |
+
}
|
86 |
+
$periodFormat = date_format($period, $format);
|
87 |
+
$include = $periodFormat == date_format($created, $format);
|
88 |
+
$needCreate = date_format($period, $format) == date_format($today, $format);
|
89 |
+
|
90 |
+
if($include) {
|
91 |
+
// It is a table which has included for needed period
|
92 |
+
$historyTable = $history[$i];
|
93 |
+
break;
|
94 |
+
}
|
95 |
+
}
|
96 |
+
if(!$include && !$needCreate) {
|
97 |
+
throw new RuntimeException(sprintf('The table with ID %d not exists for %s period.', $tableId, $periodFormat));
|
98 |
+
}
|
99 |
+
} else {
|
100 |
+
$count = count($history);
|
101 |
+
$index = $count > 0 ? $count - 1 : 0;
|
102 |
+
$historyTable = $count ? $history[$index] : $historyTable;
|
103 |
+
}
|
104 |
+
|
105 |
+
return $historyTable;
|
106 |
+
}
|
107 |
+
|
108 |
+
public function updateUserTableHistory($userId, $tableId, $data, $period = null)
|
109 |
+
{
|
110 |
+
for($i = 0; $i < count($data); $i++) {
|
111 |
+
$data[$i] = $this->prepareRowsData($data[$i], true);
|
112 |
+
}
|
113 |
+
$history = array(
|
114 |
+
'data' => serialize($data),
|
115 |
+
//'updated' => date('Y-m-d H:i:s'),
|
116 |
+
);
|
117 |
+
$historyTable = $this->getUserTableHistory($userId, $tableId, $period);
|
118 |
+
|
119 |
+
if($historyTable) {
|
120 |
+
$query = $this->getQueryBuilder()
|
121 |
+
->update($this->getTable('rows_history'))
|
122 |
+
->fields(array_keys($history))
|
123 |
+
->values(array_values($history))
|
124 |
+
->where('id', '=', (int) $historyTable->id);
|
125 |
+
$this->db->get_results($query->build());
|
126 |
+
|
127 |
+
if ($this->db->last_error) {
|
128 |
+
throw new RuntimeException($this->db->last_error);
|
129 |
+
}
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
+
public function createUserTableHistory($userId, $tableId)
|
134 |
+
{
|
135 |
+
$query = $this->getQueryBuilder()
|
136 |
+
->select('data')
|
137 |
+
->from($this->getTable('rows'))
|
138 |
+
->where('table_id', '=', (int)$tableId);
|
139 |
+
$rows = $this->db->get_results($query->build());
|
140 |
+
|
141 |
+
if($this->db->last_error) {
|
142 |
+
throw new RuntimeException($this->db->last_error);
|
143 |
+
}
|
144 |
+
if(!$rows) {
|
145 |
+
throw new RuntimeException(sprintf('The table with ID %d not exists.', $tableId));
|
146 |
+
}
|
147 |
+
|
148 |
+
$history = array(
|
149 |
+
'user_id' => $userId,
|
150 |
+
'table_id' => $tableId,
|
151 |
+
'data' => array()
|
152 |
+
);
|
153 |
+
for($i = 0; $i < count($rows); $i++) {
|
154 |
+
array_push($history['data'], unserialize($rows[$i]->data));
|
155 |
+
}
|
156 |
+
$history['data'] = serialize($history['data']);
|
157 |
+
|
158 |
+
$query = $this->getQueryBuilder()
|
159 |
+
->insertInto($this->getTable('rows_history'))
|
160 |
+
->fields(array_keys($history))
|
161 |
+
->values(array_values($history));
|
162 |
+
$this->db->get_results($query->build());
|
163 |
+
|
164 |
+
if ($this->db->last_error) {
|
165 |
+
throw new RuntimeException($this->db->last_error);
|
166 |
+
}
|
167 |
+
|
168 |
+
$query = $this->getQueryBuilder()
|
169 |
+
->select('*')
|
170 |
+
->from($this->getTable('rows_history'))
|
171 |
+
->where('id', '=', (int)$this->db->insert_id);
|
172 |
+
$table = $this->db->get_row($query->build());
|
173 |
+
|
174 |
+
if ($this->db->last_error) {
|
175 |
+
throw new RuntimeException($this->db->last_error);
|
176 |
+
}
|
177 |
+
|
178 |
+
return $table;
|
179 |
+
}
|
180 |
+
|
181 |
+
public function _afterSimpleGet($historyTable) {
|
182 |
+
$historyTable->data = unserialize($historyTable->data);
|
183 |
+
|
184 |
+
for($i = 0; $i < count($historyTable->data); $i++) {
|
185 |
+
$historyTable->data[$i] = $this->prepareRowsData($historyTable->data[$i], false);
|
186 |
+
}
|
187 |
+
|
188 |
+
return $historyTable;
|
189 |
+
}
|
190 |
+
|
191 |
+
public function getHistorySettings($id) {
|
192 |
+
$query = $this->getQueryBuilder()
|
193 |
+
->select('history_settings')
|
194 |
+
->from($this->getTable('tables'))
|
195 |
+
->where('id', '=', (int)$id);
|
196 |
+
$settings = $this->db->get_row($query->build());
|
197 |
+
|
198 |
+
if ($this->db->last_error) {
|
199 |
+
throw new RuntimeException($this->db->last_error);
|
200 |
+
}
|
201 |
+
if(!$settings) {
|
202 |
+
throw new RuntimeException(sprintf('The table with ID %d not exists.', $id));
|
203 |
+
}
|
204 |
+
$settings->history_settings = unserialize($settings->history_settings);
|
205 |
+
|
206 |
+
return $settings->history_settings;
|
207 |
+
}
|
208 |
+
|
209 |
+
public function setHistorySettings($id, $settings) {
|
210 |
+
$query = $this->getQueryBuilder()
|
211 |
+
->update($this->getTable('tables'))
|
212 |
+
->where('id', '=', (int)$id)
|
213 |
+
->set(array('history_settings' => serialize($settings)));
|
214 |
+
|
215 |
+
$this->db->query($query->build());
|
216 |
+
|
217 |
+
if ($this->db->last_error) {
|
218 |
+
throw new RuntimeException($this->db->last_error);
|
219 |
+
}
|
220 |
+
}
|
221 |
+
|
222 |
+
public function prepareRowsData($data, $compress = true)
|
223 |
+
{
|
224 |
+
$core = $this->environment->getModule('core');
|
225 |
+
$tables = $core->getModelsFactory()->get('tables');
|
226 |
+
return $tables->prepareRowsData($data, $compress);
|
227 |
+
}
|
228 |
+
}
|
src/SupsysticTables/Tables/Model/Languages.php
CHANGED
@@ -3,78 +3,90 @@
|
|
3 |
|
4 |
class SupsysticTables_Tables_Model_Languages extends SupsysticTables_Core_BaseModel
|
5 |
{
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
|
|
|
|
|
|
|
|
10 |
public function getDefaultLanguages()
|
11 |
{
|
12 |
return array(
|
13 |
-
'default',
|
14 |
-
'
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
'
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
);
|
79 |
}
|
80 |
|
@@ -86,23 +98,19 @@ class SupsysticTables_Tables_Model_Languages extends SupsysticTables_Core_BaseMo
|
|
86 |
{
|
87 |
$url = 'https://api.github.com/repos/DataTables/Plugins/contents/i18n';
|
88 |
$languages = array();
|
89 |
-
|
90 |
$response = wp_remote_get($url);
|
91 |
|
92 |
if (is_wp_error($response)) {
|
93 |
return null;
|
94 |
}
|
95 |
-
|
96 |
if (200 !== wp_remote_retrieve_response_code($response)) {
|
97 |
return null;
|
98 |
}
|
99 |
-
|
100 |
$files = json_decode($response['body']);
|
101 |
|
102 |
if (!is_array($files)) {
|
103 |
return null;
|
104 |
}
|
105 |
-
|
106 |
foreach ($files as $file) {
|
107 |
$languages[] = str_replace('.lang', '', $file->name);
|
108 |
}
|
@@ -126,78 +134,24 @@ class SupsysticTables_Tables_Model_Languages extends SupsysticTables_Core_BaseMo
|
|
126 |
return $languages;
|
127 |
}
|
128 |
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
'
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
'en'=> 'default',
|
149 |
-
'et'=> 'Estonian',
|
150 |
-
'fil'=> 'Filipino',
|
151 |
-
'fi'=> 'Finnish',
|
152 |
-
'fr'=> 'French',
|
153 |
-
'gl'=> 'Galician',
|
154 |
-
'ka'=> 'Georgian',
|
155 |
-
'de'=> 'German',
|
156 |
-
'el'=> 'Greek',
|
157 |
-
'gu'=> 'Gujarati',
|
158 |
-
'he'=> 'Hebrew',
|
159 |
-
'hi'=> 'Hindi',
|
160 |
-
'hu'=> 'Hungarian',
|
161 |
-
'is'=> 'Icelandic',
|
162 |
-
//''=> 'Indonesian-Alternative',
|
163 |
-
'id'=> 'Indonesian',
|
164 |
-
'ga'=> 'Irish',
|
165 |
-
'it'=> 'Italian',
|
166 |
-
'ja'=> 'Japanese',
|
167 |
-
'kk'=> 'Kazakh',
|
168 |
-
'ko'=> 'Korean',
|
169 |
-
'ky'=> 'Kyrgyz',
|
170 |
-
'lv'=> 'Latvian',
|
171 |
-
'lt'=> 'Lithuanian',
|
172 |
-
'mk'=> 'Macedonian',
|
173 |
-
'ms'=> 'Malay',
|
174 |
-
'mn'=> 'Mongolian',
|
175 |
-
'ne'=> 'Nepali',
|
176 |
-
'nb'=> 'Norwegian-Bokmal',
|
177 |
-
'nn'=> 'Norwegian-Nynorsk',
|
178 |
-
'ps'=> 'Pashto',
|
179 |
-
'fa'=> 'Persian',
|
180 |
-
'pl'=> 'Polish',
|
181 |
-
'pt-BR'=> 'Portuguese-Brasil',
|
182 |
-
'pt'=> 'Portuguese',
|
183 |
-
'ro'=> 'Romanian',
|
184 |
-
'ru'=> 'Russian',
|
185 |
-
'sr'=> 'Serbian',
|
186 |
-
'si'=> 'Sinhala',
|
187 |
-
'sk'=> 'Slovak',
|
188 |
-
'sl'=> 'Slovenian',
|
189 |
-
'es'=> 'Spanish',
|
190 |
-
'sw'=> 'Swahili',
|
191 |
-
'sv'=> 'Swedish',
|
192 |
-
'ta'=> 'Tamil',
|
193 |
-
'th'=> 'Thai',
|
194 |
-
'tr'=> 'Turkish',
|
195 |
-
'uk'=> 'Ukrainian',
|
196 |
-
'ur'=> 'Urdu',
|
197 |
-
'uz'=> 'Uzbek',
|
198 |
-
'vi'=> 'Vietnamese',
|
199 |
-
'cy'=> 'Welsh',
|
200 |
-
'te'=> 'telugu',
|
201 |
-
);
|
202 |
}
|
203 |
}
|
3 |
|
4 |
class SupsysticTables_Tables_Model_Languages extends SupsysticTables_Core_BaseModel
|
5 |
{
|
6 |
+
private $_langData = array();
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Returns an associative array of DataTables translation.
|
10 |
+
* The array keys is language name in browser.
|
11 |
+
* The array values is name of language for connecting of language data.
|
12 |
+
* @return array
|
13 |
+
*/
|
14 |
public function getDefaultLanguages()
|
15 |
{
|
16 |
return array(
|
17 |
+
'default' => 'default',
|
18 |
+
'browser' => 'browser',
|
19 |
+
'af' => 'Afrikaans',
|
20 |
+
'sq' => 'Albanian',
|
21 |
+
'Amharic',
|
22 |
+
'ar' => 'Arabic',
|
23 |
+
'hy' => 'Armenian',
|
24 |
+
'az' => 'Azerbaijan',
|
25 |
+
'bn' => 'Bangla',
|
26 |
+
'eu' => 'Basque',
|
27 |
+
'be' => 'Belarusian',
|
28 |
+
'bg' => 'Bulgarian',
|
29 |
+
'ca' => 'Catalan',
|
30 |
+
'zh-TW' => 'Chinese-traditional',
|
31 |
+
'zh' => 'Chinese',
|
32 |
+
'hr' => 'Croatian',
|
33 |
+
'cs' => 'Czech',
|
34 |
+
'da' => 'Danish',
|
35 |
+
'nl' => 'Dutch',
|
36 |
+
//'English', // it is default language
|
37 |
+
'et' => 'Estonian',
|
38 |
+
'fil' => 'Filipino',
|
39 |
+
'fi' => 'Finnish',
|
40 |
+
'fr' => 'French',
|
41 |
+
'gl' => 'Galician',
|
42 |
+
'ka' => 'Georgian',
|
43 |
+
'de' => 'German',
|
44 |
+
'el' => 'Greek',
|
45 |
+
'gu' => 'Gujarati',
|
46 |
+
'he' => 'Hebrew',
|
47 |
+
'hi' => 'Hindi',
|
48 |
+
'hu' => 'Hungarian',
|
49 |
+
'is' => 'Icelandic',
|
50 |
+
'Indonesian-Alternative',
|
51 |
+
'id' => 'Indonesian',
|
52 |
+
'ga' => 'Irish',
|
53 |
+
'it' => 'Italian',
|
54 |
+
'ja' => 'Japanese',
|
55 |
+
'kk'=> 'Kazakh',
|
56 |
+
'ko' => 'Korean',
|
57 |
+
'ky' => 'Kyrgyz',
|
58 |
+
'lv' => 'Latvian',
|
59 |
+
'lt' => 'Lithuanian',
|
60 |
+
'mk' => 'Macedonian',
|
61 |
+
'ms' => 'Malay',
|
62 |
+
'mn' => 'Mongolian',
|
63 |
+
'ne' => 'Nepali',
|
64 |
+
'nb' => 'Norwegian-Bokmal',
|
65 |
+
'nn' => 'Norwegian-Nynorsk',
|
66 |
+
'ps' => 'Pashto',
|
67 |
+
'fa' => 'Persian',
|
68 |
+
'pl' => 'Polish',
|
69 |
+
'pt-BR' => 'Portuguese-Brasil',
|
70 |
+
'pt' => 'Portuguese',
|
71 |
+
'ro' => 'Romanian',
|
72 |
+
'ru' => 'Russian',
|
73 |
+
'sr' => 'Serbian',
|
74 |
+
'si' => 'Sinhala',
|
75 |
+
'sk' => 'Slovak',
|
76 |
+
'sl' => 'Slovenian',
|
77 |
+
'es' => 'Spanish',
|
78 |
+
'sw' => 'Swahili',
|
79 |
+
'sv' => 'Swedish',
|
80 |
+
'ta' => 'Tamil',
|
81 |
+
'te' => 'telugu',
|
82 |
+
'te-IN' => 'telugu',
|
83 |
+
'th' => 'Thai',
|
84 |
+
'tr' => 'Turkish',
|
85 |
+
'uk' => 'Ukrainian',
|
86 |
+
'ur' => 'Urdu',
|
87 |
+
'uz' => 'Uzbek',
|
88 |
+
'vi' => 'Vietnamese',
|
89 |
+
'cy' => 'Welsh',
|
90 |
);
|
91 |
}
|
92 |
|
98 |
{
|
99 |
$url = 'https://api.github.com/repos/DataTables/Plugins/contents/i18n';
|
100 |
$languages = array();
|
|
|
101 |
$response = wp_remote_get($url);
|
102 |
|
103 |
if (is_wp_error($response)) {
|
104 |
return null;
|
105 |
}
|
|
|
106 |
if (200 !== wp_remote_retrieve_response_code($response)) {
|
107 |
return null;
|
108 |
}
|
|
|
109 |
$files = json_decode($response['body']);
|
110 |
|
111 |
if (!is_array($files)) {
|
112 |
return null;
|
113 |
}
|
|
|
114 |
foreach ($files as $file) {
|
115 |
$languages[] = str_replace('.lang', '', $file->name);
|
116 |
}
|
134 |
return $languages;
|
135 |
}
|
136 |
|
137 |
+
/**
|
138 |
+
* Returns the list of translation data for all available languages.
|
139 |
+
* @return array|mixed
|
140 |
+
*/
|
141 |
+
public function getLanguagesData()
|
142 |
+
{
|
143 |
+
if(empty($this->_langData)) {
|
144 |
+
$this->_langData = include_once $this->environment->getModule('tables')->getLocation() . '/assets/languagesData.php';
|
145 |
+
}
|
146 |
+
return $this->_langData;
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Returns the names list of languages, available for translation.
|
151 |
+
* @return array
|
152 |
+
*/
|
153 |
+
public function getTranslations()
|
154 |
+
{
|
155 |
+
return array_unique(array_values($this->getDefaultLanguages()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
}
|
157 |
}
|
src/SupsysticTables/Tables/Model/Tables.php
CHANGED
@@ -3,7 +3,9 @@
|
|
3 |
|
4 |
class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
5 |
{
|
6 |
-
|
|
|
|
|
7 |
* Returns table column by index.
|
8 |
* @param int $id Table id
|
9 |
* @param int $index Column index
|
@@ -221,10 +223,13 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
221 |
$keys = array(
|
222 |
'd' => 'data',
|
223 |
'cv' => 'calculatedValue',
|
|
|
224 |
'h' => 'hidden',
|
225 |
'hc' => 'hiddenCell',
|
|
|
226 |
't' => 'type',
|
227 |
'f' => 'format',
|
|
|
228 |
'ft' => 'formatType',
|
229 |
'do' => 'dateOrder',
|
230 |
'm' => 'meta',
|
@@ -459,6 +464,20 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
459 |
return $table;
|
460 |
}
|
461 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
462 |
/**
|
463 |
* Filter for SupsysticTables_Tables_Model_Tables::getAll()
|
464 |
* @see SupsysticTables_Tables_Model_Tables::getAll()
|
@@ -520,144 +539,6 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
520 |
return $result;
|
521 |
}
|
522 |
|
523 |
-
// Hisoty methods for PRO version
|
524 |
-
public function getAllTableHistory($tableId)
|
525 |
-
{
|
526 |
-
$query = $this->getQueryBuilder()
|
527 |
-
->select('*')
|
528 |
-
->from($this->getTable('rows_history'))
|
529 |
-
->where('table_id', '=', (int)$tableId);
|
530 |
-
|
531 |
-
$history = $this->db->get_results($query->build());
|
532 |
-
|
533 |
-
if ($this->db->last_error) {
|
534 |
-
throw new RuntimeException($this->db->last_error);
|
535 |
-
}
|
536 |
-
for($i = 0; $i < count($history); $i++) {
|
537 |
-
$history[$i] = $this->_afterSimpleGet($history[$i]);
|
538 |
-
}
|
539 |
-
|
540 |
-
return $history;
|
541 |
-
}
|
542 |
-
|
543 |
-
public function getUserTableHistory($userId, $tableId)
|
544 |
-
{
|
545 |
-
$query = $this->getQueryBuilder()
|
546 |
-
->select('data')
|
547 |
-
->from($this->getTable('rows_history'))
|
548 |
-
->where('table_id', '=', (int)$tableId)
|
549 |
-
->andWhere('user_id', '=', (int)$userId);
|
550 |
-
|
551 |
-
$history = $this->db->get_row($query->build());
|
552 |
-
|
553 |
-
if ($this->db->last_error) {
|
554 |
-
throw new RuntimeException($this->db->last_error);
|
555 |
-
}
|
556 |
-
if(!$history) {
|
557 |
-
$this->createUserTableHistory($userId, $tableId);
|
558 |
-
|
559 |
-
}
|
560 |
-
$history = $this->db->get_row($query->build());
|
561 |
-
$history = $this->_afterSimpleGet($history);
|
562 |
-
|
563 |
-
return $history;
|
564 |
-
}
|
565 |
-
|
566 |
-
public function updateUserTableHistory($userId, $tableId, $data)
|
567 |
-
{
|
568 |
-
for($i = 0; $i < count($data); $i++) {
|
569 |
-
$data[$i] = $this->prepareRowsData($data[$i], true);
|
570 |
-
}
|
571 |
-
$history = array(
|
572 |
-
'data' => serialize($data),
|
573 |
-
'created' => date('Y-m-d H:i:s')
|
574 |
-
);
|
575 |
-
$query = $this->getQueryBuilder()
|
576 |
-
->update($this->getTable('rows_history'))
|
577 |
-
->fields(array_keys($history))
|
578 |
-
->values(array_values($history))
|
579 |
-
->where('user_id', '=', (int) $userId)
|
580 |
-
->andWhere('table_id', '=', (int) $tableId);
|
581 |
-
$this->db->get_results($query->build());
|
582 |
-
|
583 |
-
if ($this->db->last_error) {
|
584 |
-
throw new RuntimeException($this->db->last_error);
|
585 |
-
}
|
586 |
-
}
|
587 |
-
|
588 |
-
public function createUserTableHistory($userId, $tableId)
|
589 |
-
{
|
590 |
-
$history = array(
|
591 |
-
'user_id' => $userId,
|
592 |
-
'table_id' => $tableId,
|
593 |
-
'data' => array()
|
594 |
-
);
|
595 |
-
$query = $this->getQueryBuilder()
|
596 |
-
->select('data')
|
597 |
-
->from($this->getTable('rows'))
|
598 |
-
->where('table_id', '=', (int)$tableId);
|
599 |
-
$rows = $this->db->get_results($query->build());
|
600 |
-
|
601 |
-
if ($this->db->last_error) {
|
602 |
-
throw new RuntimeException($this->db->last_error);
|
603 |
-
}
|
604 |
-
if (!$rows) {
|
605 |
-
throw new RuntimeException(sprintf('The table with ID %d not exists.', $tableId));
|
606 |
-
}
|
607 |
-
|
608 |
-
for($i = 0; $i < count($rows); $i++) {
|
609 |
-
array_push($history['data'], unserialize($rows[$i]->data));
|
610 |
-
}
|
611 |
-
$history['data'] = serialize($history['data']);
|
612 |
-
|
613 |
-
$query = $this->getQueryBuilder()
|
614 |
-
->insertInto($this->getTable('rows_history'))
|
615 |
-
->fields(array_keys($history))
|
616 |
-
->values(array_values($history));
|
617 |
-
$this->db->get_results($query->build());
|
618 |
-
|
619 |
-
if ($this->db->last_error) {
|
620 |
-
throw new RuntimeException($this->db->last_error);
|
621 |
-
}
|
622 |
-
}
|
623 |
-
|
624 |
-
public function _afterSimpleGet($history) {
|
625 |
-
$history->data = unserialize($history->data);
|
626 |
-
|
627 |
-
for($i = 0; $i < count($history->data); $i++) {
|
628 |
-
$history->data[$i] = $this->prepareRowsData($history->data[$i], false);
|
629 |
-
}
|
630 |
-
|
631 |
-
return $history;
|
632 |
-
}
|
633 |
-
|
634 |
-
public function setHistorySettings($id, $settings) {
|
635 |
-
$query = $this->getQueryBuilder()
|
636 |
-
->update($this->getTable())
|
637 |
-
->where('id', '=', (int)$id)
|
638 |
-
->set(array('history_settings' => serialize($settings)));
|
639 |
-
|
640 |
-
|
641 |
-
$this->db->query($query->build());
|
642 |
-
|
643 |
-
if ($this->db->last_error) {
|
644 |
-
throw new RuntimeException($this->db->last_error);
|
645 |
-
}
|
646 |
-
}
|
647 |
-
public function onTablesGetPro($table)
|
648 |
-
{
|
649 |
-
// This method load twice all rows in backend second call go via ajax.
|
650 |
-
// Need to fix.
|
651 |
-
if (null === $table) {
|
652 |
-
return $table;
|
653 |
-
}
|
654 |
-
if(!empty($table->history_settings)) {
|
655 |
-
$table->historySettings = unserialize(htmlspecialchars_decode($table->history_settings));
|
656 |
-
}
|
657 |
-
|
658 |
-
return $table;
|
659 |
-
}
|
660 |
-
|
661 |
/**
|
662 |
* @param $tableIds
|
663 |
*
|
@@ -745,4 +626,53 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
745 |
}
|
746 |
return $rows;
|
747 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
748 |
}
|
3 |
|
4 |
class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
5 |
{
|
6 |
+
private $tableHistoryModel = null;
|
7 |
+
|
8 |
+
/**
|
9 |
* Returns table column by index.
|
10 |
* @param int $id Table id
|
11 |
* @param int $index Column index
|
223 |
$keys = array(
|
224 |
'd' => 'data',
|
225 |
'cv' => 'calculatedValue',
|
226 |
+
'fv' => 'formattedValue',
|
227 |
'h' => 'hidden',
|
228 |
'hc' => 'hiddenCell',
|
229 |
+
'ic' => 'invisibleCell',
|
230 |
't' => 'type',
|
231 |
'f' => 'format',
|
232 |
+
'bt' => 'baseType',
|
233 |
'ft' => 'formatType',
|
234 |
'do' => 'dateOrder',
|
235 |
'm' => 'meta',
|
464 |
return $table;
|
465 |
}
|
466 |
|
467 |
+
public function onTablesGetPro($table)
|
468 |
+
{
|
469 |
+
// This method load twice all rows in backend second call go via ajax.
|
470 |
+
// Need to fix.
|
471 |
+
if (null === $table) {
|
472 |
+
return $table;
|
473 |
+
}
|
474 |
+
if(!empty($table->history_settings)) {
|
475 |
+
$table->historySettings = unserialize(htmlspecialchars_decode($table->history_settings));
|
476 |
+
}
|
477 |
+
|
478 |
+
return $table;
|
479 |
+
}
|
480 |
+
|
481 |
/**
|
482 |
* Filter for SupsysticTables_Tables_Model_Tables::getAll()
|
483 |
* @see SupsysticTables_Tables_Model_Tables::getAll()
|
539 |
return $result;
|
540 |
}
|
541 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
542 |
/**
|
543 |
* @param $tableIds
|
544 |
*
|
626 |
}
|
627 |
return $rows;
|
628 |
}
|
629 |
+
|
630 |
+
// Fix for compatibility with old pro versions
|
631 |
+
private function getTableHistoryModel() {
|
632 |
+
if(!$this->tableHistoryModel) {
|
633 |
+
$core = $this->environment->getModule('core');
|
634 |
+
$this->tableHistoryModel = $core->getModelsFactory()->get('history', 'tables');
|
635 |
+
}
|
636 |
+
return $this->tableHistoryModel;
|
637 |
+
}
|
638 |
+
|
639 |
+
public function getAllTableHistory($tableId)
|
640 |
+
{
|
641 |
+
return $this->getTableHistoryModel()->getAllTableHistory($tableId);
|
642 |
+
}
|
643 |
+
|
644 |
+
public function getUserTableHistory($userId, $tableId, $period = null)
|
645 |
+
{
|
646 |
+
return $this->getTableHistoryModel()->getUserTableHistory($userId, $tableId, $period = null);
|
647 |
+
}
|
648 |
+
|
649 |
+
public function _checkUserTableHistoryByPeriod($tableId, $history, $period = null)
|
650 |
+
{
|
651 |
+
return $this->getTableHistoryModel()->_checkUserTableHistoryByPeriod($tableId, $history, $period = null);
|
652 |
+
}
|
653 |
+
|
654 |
+
public function updateUserTableHistory($userId, $tableId, $data, $period = null)
|
655 |
+
{
|
656 |
+
return $this->getTableHistoryModel()->updateUserTableHistory($userId, $tableId, $data, $period = null);
|
657 |
+
}
|
658 |
+
|
659 |
+
public function createUserTableHistory($userId, $tableId)
|
660 |
+
{
|
661 |
+
return $this->getTableHistoryModel()->createUserTableHistory($userId, $tableId);
|
662 |
+
}
|
663 |
+
|
664 |
+
public function _afterSimpleGet($historyTable)
|
665 |
+
{
|
666 |
+
return $this->getTableHistoryModel()->_afterSimpleGet($historyTable);
|
667 |
+
}
|
668 |
+
|
669 |
+
public function getHistorySettings($id)
|
670 |
+
{
|
671 |
+
return $this->getTableHistoryModel()->getHistorySettings($id);
|
672 |
+
}
|
673 |
+
|
674 |
+
public function setHistorySettings($id, $settings)
|
675 |
+
{
|
676 |
+
return $this->getTableHistoryModel()->setHistorySettings($id, $settings);
|
677 |
+
}
|
678 |
}
|
src/SupsysticTables/Tables/Module.php
CHANGED
@@ -3,13 +3,16 @@
|
|
3 |
class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
4 |
{
|
5 |
/**
|
6 |
-
* Data for render table with single selected cell
|
7 |
*/
|
8 |
protected $isSingleCell = array();
|
|
|
|
|
9 |
/**
|
10 |
* Data for loading tables' rows from history
|
11 |
*/
|
12 |
-
|
|
|
13 |
/**
|
14 |
* Check for auto import data from Google Spreadsheet
|
15 |
*/
|
@@ -26,9 +29,13 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
26 |
{
|
27 |
parent::onInit();
|
28 |
|
|
|
|
|
|
|
29 |
$this->registerShortcode();
|
30 |
$this->registerValueShortcode();
|
31 |
$this->registerCellShortcode();
|
|
|
32 |
$this->registerTwigTableRender();
|
33 |
$this->registerMenuItem();
|
34 |
$this->addTwigHighlighter();
|
@@ -177,7 +184,7 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
177 |
$tables = $core->getModelsFactory()->get('tables'); // @var SupsysticTables_Tables_Model_Tables $tables
|
178 |
$table = null;
|
179 |
|
180 |
-
if(!$this->isSingleCell) {
|
181 |
foreach($this->_tablesObj as $view_id => $tbl) {
|
182 |
if($tbl->id == $id && !$tbl->isDisplayed) {
|
183 |
$this->_tablesObj[$view_id]->isDisplayed = true;
|
@@ -196,8 +203,11 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
196 |
&& isset($table->settings['features']['import']['google']['automatically_update'])
|
197 |
&& isset($table->settings['features']['import']['google']['link']);
|
198 |
|
199 |
-
if (!$this->isSingleCell && !$this->checkSpreadsheet && !$this->isFromHistory && file_exists($cachePath) && $this->getEnvironment()->isProd()) {
|
200 |
-
|
|
|
|
|
|
|
201 |
}
|
202 |
if ($this->checkSpreadsheet) {
|
203 |
try {
|
@@ -217,8 +227,8 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
217 |
}
|
218 |
}
|
219 |
}
|
220 |
-
if($this->isSingleCell) {
|
221 |
-
// Unset
|
222 |
unset($table->settings['elements']['head']);
|
223 |
unset($table->settings['elements']['foot']);
|
224 |
unset($table->settings['elements']['caption']);
|
@@ -226,7 +236,8 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
226 |
unset($table->settings['features']['paging']);
|
227 |
unset($table->settings['features']['searching']);
|
228 |
unset($table->settings['features']['after_table_loaded_script']);
|
229 |
-
|
|
|
230 |
$table->meta['css'] = $table->meta['css'] .
|
231 |
'#supsystic-table-' . $table->view_id . ' #supsystic-table-' . $id . ' { margin-left: 0; }' .
|
232 |
'#supsystic-table-' . $table->view_id . ' #supsystic-table-' . $id . ',
|
@@ -236,10 +247,10 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
236 |
foreach($table->rows as $key => $row) {
|
237 |
if ($this->isSingleCell['row'] === $key + 1) {
|
238 |
foreach($row['cells'] as $index => $cell) {
|
239 |
-
if($
|
240 |
// For correct work of saving data through editable fields
|
241 |
-
$table->rows[$key]['cells'][$index]['row'] = $
|
242 |
-
$table->rows[$key]['cells'][$index]['col'] = $
|
243 |
|
244 |
// Because we can not calculate value after removing all unneeded cells
|
245 |
if(!empty($table->rows[$key]['cells'][$index]['calculatedValue'])) {
|
@@ -254,6 +265,28 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
254 |
}
|
255 |
}
|
256 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
foreach($table->rows as $key => $row) {
|
258 |
if(isset($row['cells']) && !empty($row['cells'])) {
|
259 |
foreach($row['cells'] as $index => $cell) {
|
@@ -270,18 +303,24 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
270 |
}
|
271 |
}
|
272 |
$table->history = (bool) $this->isFromHistory;
|
|
|
273 |
$table->encoded_title = htmlspecialchars($table->title, ENT_QUOTES);
|
274 |
-
|
|
|
|
|
|
|
|
|
|
|
275 |
$renderData = preg_replace('/\s+/', ' ', trim($renderData));
|
276 |
|
277 |
if(!in_array($table->view_id, $this->_tablesStyles)) {
|
278 |
$renderData = $this->addDataTableStyles($table) . $renderData;
|
279 |
}
|
280 |
-
if (!$this->isSingleCell && !$this->checkSpreadsheet && !$this->isFromHistory && isset($this->cacheDirectory)) {
|
281 |
file_put_contents($cachePath, $renderData);
|
282 |
}
|
283 |
// clean variables for correct render of other tables on the page
|
284 |
-
$this->isSingleCell = $this->isFromHistory = array();
|
285 |
$this->checkSpreadsheet = false;
|
286 |
|
287 |
return $renderData;
|
@@ -330,20 +369,6 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
330 |
return $value;
|
331 |
}
|
332 |
|
333 |
-
/**
|
334 |
-
* Renders the table with single cell
|
335 |
-
* @param int $tableId
|
336 |
-
* @param int $tableRowId
|
337 |
-
* @param int $tableColId
|
338 |
-
* @return string
|
339 |
-
*/
|
340 |
-
public function renderCellSingle($tableId, $tableRowId, $tableColId)
|
341 |
-
{
|
342 |
-
$this->isSingleCell = array('row' => $tableRowId, 'col' => $tableColId);
|
343 |
-
|
344 |
-
return $this->render((int) $tableId);
|
345 |
-
}
|
346 |
-
|
347 |
/**
|
348 |
* Returns shortcode template name.
|
349 |
* @return string
|
@@ -364,15 +389,14 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
364 |
$config->get('shortcode_name')
|
365 |
);
|
366 |
}
|
367 |
-
$ui = $environment->getModule('ui');
|
368 |
-
$assets = array_filter($ui->getAssets(), array($this, 'filterAssets'));
|
369 |
|
370 |
if (count($assets) > 0) {
|
371 |
foreach ($assets as $asset) {
|
372 |
add_action('wp_footer', array($asset, 'load'));
|
373 |
}
|
374 |
}
|
375 |
-
|
376 |
return $this->render((int)$attributes['id']);
|
377 |
}
|
378 |
|
@@ -388,14 +412,10 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
388 |
$config = $environment->getConfig();
|
389 |
$shortcode = $config->get('shortcode_value_name');
|
390 |
|
391 |
-
if (!array_key_exists('id', $attributes)
|
392 |
-
|| !array_key_exists('row', $attributes)
|
393 |
-
|| !array_key_exists('col', $attributes)
|
394 |
-
) {
|
395 |
return $environment->translate('There are not all shortcode\'s attributes specified. Usage example') . ':<br />'
|
396 |
. sprintf('[%s id="{table id}" row="{row number}" col="{column number}"]', $shortcode);
|
397 |
}
|
398 |
-
|
399 |
return $this->renderCellValue((int)$attributes['id'], (int)$attributes['row'], (int)$attributes['col']);
|
400 |
}
|
401 |
|
@@ -411,17 +431,39 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
411 |
$config = $environment->getConfig();
|
412 |
$shortcode = $config->get('shortcode_cell_name');
|
413 |
|
414 |
-
if (!array_key_exists('id', $attributes)
|
415 |
-
|
416 |
-
|| !array_key_exists('col', $attributes)
|
417 |
-
) {
|
418 |
-
return $environment->translate('There are not all shortcode\'s attributes specified. Usage example') . ':<br />'
|
419 |
. sprintf('[%s id="{table id}" row="{row number}" col="{column number}"]', $shortcode);
|
420 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
421 |
|
422 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
$ui = $environment->getModule('ui');
|
424 |
-
/** @var SupsysticTables_Ui_Asset[] $assets */
|
425 |
$assets = array_filter($ui->getAssets(), array($this, 'filterAssets'));
|
426 |
|
427 |
if (count($assets) > 0) {
|
@@ -429,8 +471,12 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
429 |
add_action('wp_footer', array($asset, 'load'));
|
430 |
}
|
431 |
}
|
|
|
|
|
|
|
|
|
432 |
|
433 |
-
return $this->
|
434 |
}
|
435 |
|
436 |
private function registerShortcode()
|
@@ -438,10 +484,7 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
438 |
$config = $this->getEnvironment()->getConfig();
|
439 |
$callable = array($this, 'doShortcode');
|
440 |
|
441 |
-
add_shortcode(
|
442 |
-
$config->get('shortcode_name'),
|
443 |
-
$callable
|
444 |
-
);
|
445 |
}
|
446 |
|
447 |
public function registerWidget() {
|
@@ -482,21 +525,18 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
482 |
parent::afterUiLoaded($ui);
|
483 |
|
484 |
$environment = $this->getEnvironment();
|
485 |
-
$hookName = 'admin_enqueue_scripts';
|
486 |
-
$dynamicHookName = is_admin() ? $hookName : 'wp_enqueue_scripts';
|
487 |
-
|
488 |
$version = $environment->getConfig()->get('plugin_version');
|
489 |
$cachingAllowed = $environment->isProd();
|
490 |
-
|
491 |
-
$
|
492 |
|
493 |
// Styles
|
494 |
$ui->add(
|
495 |
-
$ui->createStyle('supsystic-tables-
|
496 |
->setHookName($dynamicHookName)
|
497 |
-
->
|
498 |
-
->setVersion('1.
|
499 |
-
->setCachingAllowed(
|
500 |
);
|
501 |
|
502 |
$ui->add(
|
@@ -507,77 +547,18 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
507 |
->setCachingAllowed($cachingAllowed)
|
508 |
);
|
509 |
|
510 |
-
|
511 |
-
|
512 |
-
->setHookName($dynamicHookName)
|
513 |
-
->setModuleSource($this, 'css/loaders.css')
|
514 |
-
->setVersion('1.1.0')
|
515 |
-
->setCachingAllowed($cachingAllowed)
|
516 |
-
);
|
517 |
|
518 |
-
$
|
519 |
-
$ui->createStyle('supsystic-tables-datatables-responsive-css')
|
520 |
-
->setHookName('wp_enqueue_scripts')
|
521 |
-
->setExternalSource('//cdn.datatables.net/responsive/2.0.2/css/responsive.dataTables.min.css')
|
522 |
-
->setVersion('2.0.2')
|
523 |
-
->setCachingAllowed(true)
|
524 |
-
);
|
525 |
|
526 |
-
$
|
527 |
-
$ui->createStyle('supsystic-tables-datatables-fixed-columns-css')
|
528 |
-
->setHookName($dynamicHookName)
|
529 |
-
->setExternalSource('//cdn.datatables.net/fixedcolumns/3.2.2/css/fixedColumns.dataTables.min.css')
|
530 |
-
->setVersion('3.2.2')
|
531 |
-
->setCachingAllowed(true)
|
532 |
-
);
|
533 |
|
534 |
-
$
|
535 |
-
$ui->createStyle('supsystic-tables-datatables-fixed-headers-css')
|
536 |
-
->setHookName($dynamicHookName)
|
537 |
-
->setExternalSource('//cdn.datatables.net/fixedheader/3.1.2/css/fixedHeader.dataTables.min.css')
|
538 |
-
->setVersion('3.1.2')
|
539 |
-
->setCachingAllowed(true)
|
540 |
-
);
|
541 |
|
542 |
-
|
543 |
-
$ui->add(
|
544 |
-
$ui->createScript('supsystic-tables-datatables-js')
|
545 |
-
->setHookName($dynamicHookName)
|
546 |
-
->setExternalSource('//cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js')
|
547 |
-
->setVersion('1.10.12')
|
548 |
-
->setCachingAllowed(true)
|
549 |
-
->addDependency('jquery')
|
550 |
-
);
|
551 |
|
552 |
-
$
|
553 |
-
$ui->createScript('supsystic-tables-datatables-responsive-js')
|
554 |
-
->setHookName('wp_enqueue_scripts')
|
555 |
-
->setExternalSource('//cdn.datatables.net/responsive/2.0.2/js/dataTables.responsive.min.js')
|
556 |
-
->setVersion('2.0.2')
|
557 |
-
->setCachingAllowed(true)
|
558 |
-
->addDependency('jquery')
|
559 |
-
->addDependency('supsystic-tables-datatables-js')
|
560 |
-
);
|
561 |
-
|
562 |
-
$ui->add(
|
563 |
-
$ui->createScript('supsystic-tables-datatables-fixed-columns-js')
|
564 |
-
->setHookName($dynamicHookName)
|
565 |
-
->setExternalSource('//cdn.datatables.net/fixedcolumns/3.2.2/js/dataTables.fixedColumns.min.js')
|
566 |
-
->setVersion('3.2.2')
|
567 |
-
->setCachingAllowed(true)
|
568 |
-
->addDependency('jquery')
|
569 |
-
->addDependency('supsystic-tables-datatables-js')
|
570 |
-
);
|
571 |
-
|
572 |
-
$ui->add(
|
573 |
-
$ui->createScript('supsystic-tables-datatables-fixed-headers-js')
|
574 |
-
->setHookName($dynamicHookName)
|
575 |
-
->setExternalSource('//cdn.datatables.net/fixedheader/3.1.2/js/dataTables.fixedHeader.min.js')
|
576 |
-
->setVersion('3.2.2')
|
577 |
-
->setCachingAllowed(true)
|
578 |
-
->addDependency('jquery')
|
579 |
-
->addDependency('supsystic-tables-datatables-js')
|
580 |
-
);
|
581 |
|
582 |
$ui->add(
|
583 |
$ui->createScript('supsystic-tables-datatables-numeral')
|
@@ -590,34 +571,21 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
590 |
);
|
591 |
|
592 |
$ui->add(
|
593 |
-
$ui->createScript('supsystic-tables-
|
594 |
->setHookName($dynamicHookName)
|
595 |
-
->
|
596 |
-
->setVersion(
|
597 |
-
->setCachingAllowed(
|
598 |
->addDependency('jquery')
|
599 |
->addDependency('supsystic-tables-datatables-js')
|
|
|
600 |
);
|
601 |
|
602 |
-
/* RuleJS */
|
603 |
-
$this->loadRuleJS($ui);
|
604 |
-
|
605 |
/* Backend scripts */
|
606 |
if ($environment->isModule('tables')) {
|
607 |
-
$ui->add(
|
608 |
-
$ui->createScript('jquery-ui-dialog')
|
609 |
-
);
|
610 |
-
|
611 |
$ui->add(
|
612 |
$ui->createScript('jquery-ui-autocomplete')
|
613 |
-
);
|
614 |
-
|
615 |
-
$ui->add(
|
616 |
-
$ui->createScript('supsystic-tables-tables-model')
|
617 |
->setHookName($hookName)
|
618 |
-
->setModuleSource($this, 'js/tables.model.js')
|
619 |
-
->setCachingAllowed($cachingAllowed)
|
620 |
-
->setVersion($version)
|
621 |
);
|
622 |
|
623 |
if ($environment->isAction('index')) {
|
@@ -632,14 +600,7 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
632 |
}
|
633 |
|
634 |
if ($environment->isAction('view')) {
|
635 |
-
|
636 |
-
// DataTables language selector
|
637 |
-
// $ui->add(
|
638 |
-
// $ui->createScript('supsystic-tables-dt-lang-selector')
|
639 |
-
// ->setHookName($hookName)
|
640 |
-
// ->setModuleSource($this, 'js/dt.lang-selector.js')
|
641 |
-
// );
|
642 |
-
|
643 |
$ui->add(
|
644 |
$ui->createStyle('supsystic-tables-tables-editor-css')
|
645 |
->setHookName($hookName)
|
@@ -648,60 +609,29 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
648 |
->setVersion($version)
|
649 |
);
|
650 |
|
651 |
-
/* Color Picker */
|
652 |
-
$ui->add(
|
653 |
-
$ui->createStyle('supsystic-tables-colorpicker-css')
|
654 |
-
->setHookName($hookName)
|
655 |
-
->setModuleSource($this, 'libraries/colorpicker/colorpicker.css')
|
656 |
-
->setCachingAllowed(true)
|
657 |
-
);
|
658 |
-
|
659 |
-
$ui->add(
|
660 |
-
$ui->createScript('supsystic-tables-colorpicker-js')
|
661 |
-
->setHookName($hookName)
|
662 |
-
->setModuleSource($this, 'libraries/colorpicker/colorpicker.js')
|
663 |
-
->setCachingAllowed(true)
|
664 |
-
);
|
665 |
-
|
666 |
-
/* Toolbar */
|
667 |
-
$ui->add(
|
668 |
-
$ui->createStyle('supsystic-tables-toolbar-css')
|
669 |
-
->setHookName($hookName)
|
670 |
-
->setModuleSource($this, 'libraries/toolbar/jquery.toolbars.css')
|
671 |
-
->setCachingAllowed(true)
|
672 |
-
);
|
673 |
-
|
674 |
-
$ui->add(
|
675 |
-
$ui->createScript('supsystic-tables-toolbar-js')
|
676 |
-
->setHookName($hookName)
|
677 |
-
->setModuleSource($this, 'libraries/toolbar/jquery.toolbar.js')
|
678 |
-
->setCachingAllowed(true)
|
679 |
-
);
|
680 |
-
|
681 |
-
/* Handsontable */
|
682 |
$ui->add(
|
683 |
-
$ui->createStyle('supsystic-tables-
|
684 |
->setHookName($hookName)
|
685 |
-
->
|
686 |
-
->setCachingAllowed(
|
687 |
-
->setVersion(
|
688 |
);
|
689 |
|
|
|
690 |
$ui->add(
|
691 |
-
$ui->createScript('supsystic-tables-
|
692 |
->setHookName($hookName)
|
693 |
-
->
|
694 |
-
//->setModuleSource($this, 'libraries/handsontable/handsontable.full.min.js')
|
695 |
->setCachingAllowed(true)
|
696 |
-
->setVersion('
|
697 |
);
|
698 |
|
699 |
$ui->add(
|
700 |
-
$ui->createScript('supsystic-tables-
|
701 |
->setHookName($hookName)
|
702 |
-
->setModuleSource($this, '
|
703 |
-
->setCachingAllowed(
|
704 |
-
->setVersion(
|
705 |
);
|
706 |
|
707 |
$ui->add(
|
@@ -730,14 +660,6 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
730 |
->addDependency('jquery-ui-autocomplete')
|
731 |
);
|
732 |
|
733 |
-
$ui->add(
|
734 |
-
$ui->createStyle('supsystic-tables-tables-view')
|
735 |
-
->setHookName($hookName)
|
736 |
-
->setModuleSource($this, 'css/tables.view.css')
|
737 |
-
->setCachingAllowed($cachingAllowed)
|
738 |
-
->setVersion($version)
|
739 |
-
);
|
740 |
-
|
741 |
$ui->add(
|
742 |
$ui->createScript('supsystic-tables-tables-view')
|
743 |
->setHookName($hookName)
|
@@ -746,41 +668,289 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
746 |
->setCachingAllowed($cachingAllowed)
|
747 |
->setVersion($version)
|
748 |
);
|
|
|
|
|
|
|
749 |
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
$ui->add(
|
757 |
-
$ui->createScript('supsystic-tables-ace-editor-mode-js')
|
758 |
-
->setHookName($hookName)
|
759 |
-
->setModuleSource($this, 'js/ace/mode-css.js')
|
760 |
-
->addDependency('supsystic-tables-ace-editor-js')
|
761 |
-
);
|
762 |
|
763 |
-
|
764 |
-
|
765 |
-
->setHookName($hookName)
|
766 |
-
->setModuleSource($this, 'js/ace/theme-monokai.js')
|
767 |
-
->addDependency('supsystic-tables-ace-editor-js')
|
768 |
-
);
|
769 |
-
}
|
770 |
}
|
771 |
|
772 |
$ui->add(
|
773 |
-
$ui->
|
774 |
->setHookName($dynamicHookName)
|
775 |
-
->
|
776 |
-
->setVersion(
|
777 |
-
->setCachingAllowed(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
778 |
->addDependency('jquery')
|
779 |
->addDependency('supsystic-tables-datatables-js')
|
780 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
781 |
);
|
782 |
}
|
783 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
784 |
public function addFontsData() {
|
785 |
$standardFontsList = array();
|
786 |
if($this->getEnvironment()->isPro()) {
|
@@ -797,50 +967,6 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
797 |
return array("Georgia","Palatino Linotype","Times New Roman","Arial","Helvetica","Arial Black","Gadget","Comic Sans MS","Impact","Charcoal","Lucida Sans Unicode","Lucida Grande","Tahoma","Geneva","Trebuchet MS","Verdana","Geneva","Courier New","Courier","Lucida Console","Monaco");
|
798 |
}
|
799 |
|
800 |
-
private function loadRuleJS(SupsysticTables_Ui_Module $ui)
|
801 |
-
{
|
802 |
-
$hookName = 'admin_enqueue_scripts';
|
803 |
-
$dynamicHookName = is_admin() ? $hookName : 'wp_enqueue_scripts';
|
804 |
-
|
805 |
-
if (is_admin() && !$this->getEnvironment()->isModule('tables', 'view')) {
|
806 |
-
return;
|
807 |
-
}
|
808 |
-
|
809 |
-
/* External Libraries */
|
810 |
-
$ui->add(
|
811 |
-
$ui->createScript('supsystic-tables-rulejs-libs-js')
|
812 |
-
->setHookName($dynamicHookName)
|
813 |
-
->setModuleSource($this, 'libraries/ruleJS/ruleJS.lib.full.js')
|
814 |
-
);
|
815 |
-
|
816 |
-
/* RuleJS */
|
817 |
-
$ui->add(
|
818 |
-
$ui->createScript('supsystic-tables-rulejs-parser-js')
|
819 |
-
->setHookName($dynamicHookName)
|
820 |
-
->setModuleSource($this, 'libraries/ruleJS/parser.js')
|
821 |
-
);
|
822 |
-
|
823 |
-
$ui->add(
|
824 |
-
$ui->createScript('supsystic-tables-rulejs-js')
|
825 |
-
->setHookName($dynamicHookName)
|
826 |
-
->setModuleSource($this, 'libraries/ruleJS/ruleJS.js')
|
827 |
-
);
|
828 |
-
|
829 |
-
/* Handsontable Module */
|
830 |
-
$ui->add(
|
831 |
-
$ui->createScript('supsystic-tables-rulejs-hot-js')
|
832 |
-
->setHookName($hookName)
|
833 |
-
->setModuleSource($this, 'libraries/ruleJS/handsontable.formula.js')
|
834 |
-
->addDependency('supsystic-tables-handsontable-js')
|
835 |
-
);
|
836 |
-
|
837 |
-
$ui->add(
|
838 |
-
$ui->createStyle('supsystic-tables-rulejs-hot-css')
|
839 |
-
->setHookName($hookName)
|
840 |
-
->setModuleSource($this, 'libraries/ruleJS/handsontable.formula.css')
|
841 |
-
);
|
842 |
-
}
|
843 |
-
|
844 |
private function registerMenuItem()
|
845 |
{
|
846 |
$environment = $this->getEnvironment();
|
@@ -984,6 +1110,44 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
984 |
$dispatcher->apply('table_history_tabs_content_data', array(array( 'table' => $table )))
|
985 |
);
|
986 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
987 |
}
|
988 |
|
989 |
require_once('Model/widget.php');
|
3 |
class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
4 |
{
|
5 |
/**
|
6 |
+
* Data for render table with single selected cell, rows or columns
|
7 |
*/
|
8 |
protected $isSingleCell = array();
|
9 |
+
protected $isTablePart = array();
|
10 |
+
|
11 |
/**
|
12 |
* Data for loading tables' rows from history
|
13 |
*/
|
14 |
+
public $isFromHistory = array();
|
15 |
+
public $historyData = array();
|
16 |
/**
|
17 |
* Check for auto import data from Google Spreadsheet
|
18 |
*/
|
29 |
{
|
30 |
parent::onInit();
|
31 |
|
32 |
+
$dispatcher = $this->getEnvironment()->getDispatcher();
|
33 |
+
$dispatcher->on('before_table_render', array($this, 'loadLanguageData'));
|
34 |
+
|
35 |
$this->registerShortcode();
|
36 |
$this->registerValueShortcode();
|
37 |
$this->registerCellShortcode();
|
38 |
+
$this->registerTablePartShortcode();
|
39 |
$this->registerTwigTableRender();
|
40 |
$this->registerMenuItem();
|
41 |
$this->addTwigHighlighter();
|
184 |
$tables = $core->getModelsFactory()->get('tables'); // @var SupsysticTables_Tables_Model_Tables $tables
|
185 |
$table = null;
|
186 |
|
187 |
+
if(!$this->isSingleCell && !$this->isTablePart) {
|
188 |
foreach($this->_tablesObj as $view_id => $tbl) {
|
189 |
if($tbl->id == $id && !$tbl->isDisplayed) {
|
190 |
$this->_tablesObj[$view_id]->isDisplayed = true;
|
203 |
&& isset($table->settings['features']['import']['google']['automatically_update'])
|
204 |
&& isset($table->settings['features']['import']['google']['link']);
|
205 |
|
206 |
+
if (!$this->isSingleCell && !$this->isTablePart && !$this->checkSpreadsheet && !$this->isFromHistory && file_exists($cachePath) && $this->getEnvironment()->isProd()) {
|
207 |
+
// Connect scripts and styles depending on table settings and table's cells settings for table cache
|
208 |
+
$dispatcher = $this->getEnvironment()->getDispatcher();
|
209 |
+
$dispatcher->apply('before_table_render', array($table));
|
210 |
+
return file_get_contents($cachePath);
|
211 |
}
|
212 |
if ($this->checkSpreadsheet) {
|
213 |
try {
|
227 |
}
|
228 |
}
|
229 |
}
|
230 |
+
if($this->isSingleCell || $this->isTablePart) {
|
231 |
+
// Unset unneeded elements and features
|
232 |
unset($table->settings['elements']['head']);
|
233 |
unset($table->settings['elements']['foot']);
|
234 |
unset($table->settings['elements']['caption']);
|
236 |
unset($table->settings['features']['paging']);
|
237 |
unset($table->settings['features']['searching']);
|
238 |
unset($table->settings['features']['after_table_loaded_script']);
|
239 |
+
}
|
240 |
+
if($this->isSingleCell) {
|
241 |
$table->meta['css'] = $table->meta['css'] .
|
242 |
'#supsystic-table-' . $table->view_id . ' #supsystic-table-' . $id . ' { margin-left: 0; }' .
|
243 |
'#supsystic-table-' . $table->view_id . ' #supsystic-table-' . $id . ',
|
247 |
foreach($table->rows as $key => $row) {
|
248 |
if ($this->isSingleCell['row'] === $key + 1) {
|
249 |
foreach($row['cells'] as $index => $cell) {
|
250 |
+
if($this->isSingleCell['col'] === $index + 1) {
|
251 |
// For correct work of saving data through editable fields
|
252 |
+
$table->rows[$key]['cells'][$index]['row'] = $key + 1;
|
253 |
+
$table->rows[$key]['cells'][$index]['col'] = $index;
|
254 |
|
255 |
// Because we can not calculate value after removing all unneeded cells
|
256 |
if(!empty($table->rows[$key]['cells'][$index]['calculatedValue'])) {
|
265 |
}
|
266 |
}
|
267 |
}
|
268 |
+
if($this->isTablePart) {
|
269 |
+
foreach($table->rows as $key => $row) {
|
270 |
+
if(empty($this->isTablePart['row']) || in_array($key + 1, $this->isTablePart['row'])) {
|
271 |
+
foreach($row['cells'] as $index => $cell) {
|
272 |
+
if(empty($this->isTablePart['col']) || in_array($index + 1, $this->isTablePart['col'])) {
|
273 |
+
// For correct work of saving data through editable fields
|
274 |
+
$table->rows[$key]['cells'][$index]['row'] = $key + 1;
|
275 |
+
$table->rows[$key]['cells'][$index]['col'] = $index;
|
276 |
+
|
277 |
+
// Because we can not calculate value after removing all unneeded cells
|
278 |
+
if(!empty($table->rows[$key]['cells'][$index]['calculatedValue'])) {
|
279 |
+
$table->rows[$key]['cells'][$index]['data'] = $table->rows[$key]['cells'][$index]['calculatedValue'];
|
280 |
+
}
|
281 |
+
} else if(!empty($this->isTablePart['col'])) {
|
282 |
+
unset($table->rows[$key]['cells'][$index]);
|
283 |
+
}
|
284 |
+
}
|
285 |
+
} else if(!empty($this->isTablePart['row'])) {
|
286 |
+
unset($table->rows[$key]);
|
287 |
+
}
|
288 |
+
}
|
289 |
+
}
|
290 |
foreach($table->rows as $key => $row) {
|
291 |
if(isset($row['cells']) && !empty($row['cells'])) {
|
292 |
foreach($row['cells'] as $index => $cell) {
|
303 |
}
|
304 |
}
|
305 |
$table->history = (bool) $this->isFromHistory;
|
306 |
+
$table->history_data = $this->historyData;
|
307 |
$table->encoded_title = htmlspecialchars($table->title, ENT_QUOTES);
|
308 |
+
|
309 |
+
// Connect scripts and styles depending on table settings and table's cells settings
|
310 |
+
$dispatcher = $this->getEnvironment()->getDispatcher();
|
311 |
+
$dispatcher->apply('before_table_render', array($table));
|
312 |
+
|
313 |
+
$renderData = $twig->render($this->getShortcodeTemplate(), array('table' => $table, 'is_feed' => is_feed()));
|
314 |
$renderData = preg_replace('/\s+/', ' ', trim($renderData));
|
315 |
|
316 |
if(!in_array($table->view_id, $this->_tablesStyles)) {
|
317 |
$renderData = $this->addDataTableStyles($table) . $renderData;
|
318 |
}
|
319 |
+
if (!$this->isSingleCell && !$this->isTablePart && !$this->checkSpreadsheet && !$this->isFromHistory && isset($this->cacheDirectory)) {
|
320 |
file_put_contents($cachePath, $renderData);
|
321 |
}
|
322 |
// clean variables for correct render of other tables on the page
|
323 |
+
$this->isSingleCell = $this->isTablePart = $this->isFromHistory = $this->historyData = array();
|
324 |
$this->checkSpreadsheet = false;
|
325 |
|
326 |
return $renderData;
|
369 |
return $value;
|
370 |
}
|
371 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
372 |
/**
|
373 |
* Returns shortcode template name.
|
374 |
* @return string
|
389 |
$config->get('shortcode_name')
|
390 |
);
|
391 |
}
|
392 |
+
$ui = $environment->getModule('ui');
|
393 |
+
$assets = array_filter($ui->getAssets(), array($this, 'filterAssets'));
|
394 |
|
395 |
if (count($assets) > 0) {
|
396 |
foreach ($assets as $asset) {
|
397 |
add_action('wp_footer', array($asset, 'load'));
|
398 |
}
|
399 |
}
|
|
|
400 |
return $this->render((int)$attributes['id']);
|
401 |
}
|
402 |
|
412 |
$config = $environment->getConfig();
|
413 |
$shortcode = $config->get('shortcode_value_name');
|
414 |
|
415 |
+
if (!array_key_exists('id', $attributes) || !array_key_exists('row', $attributes) || !array_key_exists('col', $attributes)) {
|
|
|
|
|
|
|
416 |
return $environment->translate('There are not all shortcode\'s attributes specified. Usage example') . ':<br />'
|
417 |
. sprintf('[%s id="{table id}" row="{row number}" col="{column number}"]', $shortcode);
|
418 |
}
|
|
|
419 |
return $this->renderCellValue((int)$attributes['id'], (int)$attributes['row'], (int)$attributes['col']);
|
420 |
}
|
421 |
|
431 |
$config = $environment->getConfig();
|
432 |
$shortcode = $config->get('shortcode_cell_name');
|
433 |
|
434 |
+
if (!array_key_exists('id', $attributes) || !array_key_exists('row', $attributes) || !array_key_exists('col', $attributes)) {
|
435 |
+
return $environment->translate('There are not all shortcode attributes specified. Usage example') . ':<br />'
|
|
|
|
|
|
|
436 |
. sprintf('[%s id="{table id}" row="{row number}" col="{column number}"]', $shortcode);
|
437 |
}
|
438 |
+
$ui = $environment->getModule('ui');
|
439 |
+
$assets = array_filter($ui->getAssets(), array($this, 'filterAssets'));
|
440 |
+
|
441 |
+
if (count($assets) > 0) {
|
442 |
+
foreach ($assets as $asset) {
|
443 |
+
add_action('wp_footer', array($asset, 'load'));
|
444 |
+
}
|
445 |
+
}
|
446 |
+
$this->isSingleCell = array('row' => (int)$attributes['row'], 'col' => (int)$attributes['col']);
|
447 |
+
|
448 |
+
return $this->render((int) (int)$attributes['id']);
|
449 |
+
}
|
450 |
+
|
451 |
+
private function registerTablePartShortcode() {
|
452 |
+
$config = $this->getEnvironment()->getConfig();
|
453 |
+
|
454 |
+
add_shortcode($config->get('shortcode_part_name'), array($this, 'doTablePartShortcode'));
|
455 |
+
}
|
456 |
|
457 |
+
public function doTablePartShortcode($attributes) {
|
458 |
+
$environment = $this->getEnvironment();
|
459 |
+
$config = $environment->getConfig();
|
460 |
+
$shortcode = $config->get('shortcode_row_name');
|
461 |
+
|
462 |
+
if (!array_key_exists('id', $attributes) || (!array_key_exists('row', $attributes) && !array_key_exists('col', $attributes))) {
|
463 |
+
return $environment->translate('There are not all shortcode attributes specified. Usage example') . ':<br />'
|
464 |
+
. sprintf('[%s id="{table id}" row="{row numbers splitted by comma}" col="{column numbers splitted by comma}"]', $shortcode);
|
465 |
+
}
|
466 |
$ui = $environment->getModule('ui');
|
|
|
467 |
$assets = array_filter($ui->getAssets(), array($this, 'filterAssets'));
|
468 |
|
469 |
if (count($assets) > 0) {
|
471 |
add_action('wp_footer', array($asset, 'load'));
|
472 |
}
|
473 |
}
|
474 |
+
$this->isTablePart = array(
|
475 |
+
'row' => array_key_exists('row', $attributes) ? array_filter(explode(',', $attributes['row'])) : array(),
|
476 |
+
'col' => array_key_exists('col', $attributes) ? array_filter(explode(',', $attributes['col'])) : array(),
|
477 |
+
);
|
478 |
|
479 |
+
return $this->render((int)$attributes['id']);
|
480 |
}
|
481 |
|
482 |
private function registerShortcode()
|
484 |
$config = $this->getEnvironment()->getConfig();
|
485 |
$callable = array($this, 'doShortcode');
|
486 |
|
487 |
+
add_shortcode($config->get('shortcode_name'), $callable);
|
|
|
|
|
|
|
488 |
}
|
489 |
|
490 |
public function registerWidget() {
|
525 |
parent::afterUiLoaded($ui);
|
526 |
|
527 |
$environment = $this->getEnvironment();
|
|
|
|
|
|
|
528 |
$version = $environment->getConfig()->get('plugin_version');
|
529 |
$cachingAllowed = $environment->isProd();
|
530 |
+
$hookName = 'admin_enqueue_scripts';
|
531 |
+
$dynamicHookName = is_admin() ? $hookName : 'wp_enqueue_scripts';
|
532 |
|
533 |
// Styles
|
534 |
$ui->add(
|
535 |
+
$ui->createStyle('supsystic-tables-tables-loaders-css')
|
536 |
->setHookName($dynamicHookName)
|
537 |
+
->setModuleSource($this, 'css/loaders.css')
|
538 |
+
->setVersion('1.1.0')
|
539 |
+
->setCachingAllowed($cachingAllowed)
|
540 |
);
|
541 |
|
542 |
$ui->add(
|
547 |
->setCachingAllowed($cachingAllowed)
|
548 |
);
|
549 |
|
550 |
+
// Scripts
|
551 |
+
$this->loadRuleJS($ui);
|
|
|
|
|
|
|
|
|
|
|
552 |
|
553 |
+
$this->loadHandsontable($ui);
|
|
|
|
|
|
|
|
|
|
|
|
|
554 |
|
555 |
+
$this->loadEyeconColorpicker($ui);
|
|
|
|
|
|
|
|
|
|
|
|
|
556 |
|
557 |
+
$this->loadJqueryToolbar($ui);
|
|
|
|
|
|
|
|
|
|
|
|
|
558 |
|
559 |
+
$this->loadAceCssEditor($ui);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
560 |
|
561 |
+
$this->loadDataTables($ui);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
562 |
|
563 |
$ui->add(
|
564 |
$ui->createScript('supsystic-tables-datatables-numeral')
|
571 |
);
|
572 |
|
573 |
$ui->add(
|
574 |
+
$ui->createScript('supsystic-tables-shortcode')
|
575 |
->setHookName($dynamicHookName)
|
576 |
+
->setModuleSource($this, 'js/tables.shortcode.js')
|
577 |
+
->setVersion($version)
|
578 |
+
->setCachingAllowed($cachingAllowed)
|
579 |
->addDependency('jquery')
|
580 |
->addDependency('supsystic-tables-datatables-js')
|
581 |
+
->addDependency('supsystic-tables-datatables-numeral')
|
582 |
);
|
583 |
|
|
|
|
|
|
|
584 |
/* Backend scripts */
|
585 |
if ($environment->isModule('tables')) {
|
|
|
|
|
|
|
|
|
586 |
$ui->add(
|
587 |
$ui->createScript('jquery-ui-autocomplete')
|
|
|
|
|
|
|
|
|
588 |
->setHookName($hookName)
|
|
|
|
|
|
|
589 |
);
|
590 |
|
591 |
if ($environment->isAction('index')) {
|
600 |
}
|
601 |
|
602 |
if ($environment->isAction('view')) {
|
603 |
+
// Styles
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
604 |
$ui->add(
|
605 |
$ui->createStyle('supsystic-tables-tables-editor-css')
|
606 |
->setHookName($hookName)
|
609 |
->setVersion($version)
|
610 |
);
|
611 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
612 |
$ui->add(
|
613 |
+
$ui->createStyle('supsystic-tables-tables-view')
|
614 |
->setHookName($hookName)
|
615 |
+
->setModuleSource($this, 'css/tables.view.css')
|
616 |
+
->setCachingAllowed($cachingAllowed)
|
617 |
+
->setVersion($version)
|
618 |
);
|
619 |
|
620 |
+
// Scripts
|
621 |
$ui->add(
|
622 |
+
$ui->createScript('supsystic-tables-moment-duration-js')
|
623 |
->setHookName($hookName)
|
624 |
+
->setModuleSource($this, 'libraries/moment-duration-format.js')
|
|
|
625 |
->setCachingAllowed(true)
|
626 |
+
->setVersion('1.3.0')
|
627 |
);
|
628 |
|
629 |
$ui->add(
|
630 |
+
$ui->createScript('supsystic-tables-tables-model')
|
631 |
->setHookName($hookName)
|
632 |
+
->setModuleSource($this, 'js/tables.model.js')
|
633 |
+
->setCachingAllowed($cachingAllowed)
|
634 |
+
->setVersion($version)
|
635 |
);
|
636 |
|
637 |
$ui->add(
|
660 |
->addDependency('jquery-ui-autocomplete')
|
661 |
);
|
662 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
663 |
$ui->add(
|
664 |
$ui->createScript('supsystic-tables-tables-view')
|
665 |
->setHookName($hookName)
|
668 |
->setCachingAllowed($cachingAllowed)
|
669 |
->setVersion($version)
|
670 |
);
|
671 |
+
}
|
672 |
+
}
|
673 |
+
}
|
674 |
|
675 |
+
private function loadDataTables(SupsysticTables_Ui_Module $ui)
|
676 |
+
{
|
677 |
+
$hookName = 'admin_enqueue_scripts';
|
678 |
+
$frontendHookName = 'wp_enqueue_scripts';
|
679 |
+
$dynamicHookName = is_admin() ? $hookName : $frontendHookName;
|
680 |
+
$coreModulePath = untrailingslashit(plugin_dir_url(dirname(__FILE__)) . 'Core');
|
|
|
|
|
|
|
|
|
|
|
|
|
681 |
|
682 |
+
if (is_admin() && !$this->getEnvironment()->isModule('tables')) {
|
683 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
684 |
}
|
685 |
|
686 |
$ui->add(
|
687 |
+
$ui->createStyle('supsystic-tables-datatables-css')
|
688 |
->setHookName($dynamicHookName)
|
689 |
+
->setSource($coreModulePath . '/assets/css/lib/jquery.dataTables.min.css')
|
690 |
+
->setVersion('1.10.12')
|
691 |
+
->setCachingAllowed(true)
|
692 |
+
);
|
693 |
+
|
694 |
+
$ui->add(
|
695 |
+
$ui->createStyle('supsystic-tables-datatables-responsive-css')
|
696 |
+
->setHookName($frontendHookName)
|
697 |
+
->setSource($coreModulePath . '/assets/css/lib/responsive.dataTables.min.css')
|
698 |
+
->setVersion('2.0.2')
|
699 |
+
->setCachingAllowed(true)
|
700 |
+
);
|
701 |
+
|
702 |
+
$ui->add(
|
703 |
+
$ui->createStyle('supsystic-tables-datatables-fixed-columns-css')
|
704 |
+
->setHookName($dynamicHookName)
|
705 |
+
->setSource($coreModulePath . '/assets/css/lib/fixedColumns.dataTables.min.css')
|
706 |
+
->setVersion('3.2.2')
|
707 |
+
->setCachingAllowed(true)
|
708 |
+
);
|
709 |
+
|
710 |
+
$ui->add(
|
711 |
+
$ui->createStyle('supsystic-tables-datatables-fixed-headers-css')
|
712 |
+
->setHookName($dynamicHookName)
|
713 |
+
->setSource($coreModulePath . '/assets/css/lib/fixedHeader.dataTables.min.css')
|
714 |
+
->setVersion('3.1.2')
|
715 |
+
->setCachingAllowed(true)
|
716 |
+
);
|
717 |
+
|
718 |
+
$ui->add(
|
719 |
+
$ui->createScript('supsystic-tables-datatables-js')
|
720 |
+
->setHookName($dynamicHookName)
|
721 |
+
->setSource($coreModulePath . '/assets/js/lib/jquery.dataTables.min.js')
|
722 |
+
->setVersion('1.10.12')
|
723 |
+
->setCachingAllowed(true)
|
724 |
+
->addDependency('jquery')
|
725 |
+
);
|
726 |
+
|
727 |
+
$ui->add(
|
728 |
+
$ui->createScript('supsystic-tables-datatables-responsive-js')
|
729 |
+
->setHookName($frontendHookName)
|
730 |
+
->setSource($coreModulePath . '/assets/js/lib/dataTables.responsive.min.js')
|
731 |
+
->setVersion('2.0.2')
|
732 |
+
->setCachingAllowed(true)
|
733 |
->addDependency('jquery')
|
734 |
->addDependency('supsystic-tables-datatables-js')
|
735 |
+
);
|
736 |
+
|
737 |
+
$ui->add(
|
738 |
+
$ui->createScript('supsystic-tables-datatables-fixed-columns-js')
|
739 |
+
->setHookName($dynamicHookName)
|
740 |
+
->setSource($coreModulePath . '/assets/js/lib/dataTables.fixedColumns.min.js')
|
741 |
+
->setVersion('3.2.2')
|
742 |
+
->setCachingAllowed(true)
|
743 |
+
->addDependency('jquery')
|
744 |
+
->addDependency('supsystic-tables-datatables-js')
|
745 |
+
);
|
746 |
+
|
747 |
+
$ui->add(
|
748 |
+
$ui->createScript('supsystic-tables-datatables-fixed-headers-js')
|
749 |
+
->setHookName($dynamicHookName)
|
750 |
+
->setSource($coreModulePath . '/assets/js/lib/dataTables.fixedHeader.min.js')
|
751 |
+
->setVersion('3.2.2')
|
752 |
+
->setCachingAllowed(true)
|
753 |
+
->addDependency('jquery')
|
754 |
+
->addDependency('supsystic-tables-datatables-js')
|
755 |
+
);
|
756 |
+
|
757 |
+
$ui->add(
|
758 |
+
$ui->createScript('supsystic-tables-datatables-extensions-js')
|
759 |
+
->setHookName($dynamicHookName)
|
760 |
+
->setSource($coreModulePath . '/assets/js/lib/dataTables.customExtensions.js')
|
761 |
+
->setVersion('1.10.11')
|
762 |
+
->setCachingAllowed(true)
|
763 |
+
->addDependency('jquery')
|
764 |
+
->addDependency('supsystic-tables-datatables-js')
|
765 |
+
);
|
766 |
+
|
767 |
+
/*$ui->add(
|
768 |
+
$ui->createScript('supsystic-tables-datatables-natural-sort-js')
|
769 |
+
->setHookName($dynamicHookName)
|
770 |
+
->setSource($coreModulePath . '/assets/js/lib/natural.js')
|
771 |
+
->setVersion('1.10.11')
|
772 |
+
->setCachingAllowed(true)
|
773 |
+
->addDependency('jquery')
|
774 |
+
->addDependency('supsystic-tables-datatables-js')
|
775 |
+
);*/
|
776 |
+
}
|
777 |
+
|
778 |
+
private function loadRuleJS(SupsysticTables_Ui_Module $ui)
|
779 |
+
{
|
780 |
+
$hookName = 'admin_enqueue_scripts';
|
781 |
+
$dynamicHookName = is_admin() ? $hookName : 'wp_enqueue_scripts';
|
782 |
+
|
783 |
+
if (is_admin() && !$this->getEnvironment()->isModule('tables', 'view')) {
|
784 |
+
return;
|
785 |
+
}
|
786 |
+
|
787 |
+
$ui->add(
|
788 |
+
$ui->createScript('supsystic-tables-rulejs-libs-js')
|
789 |
+
->setHookName($dynamicHookName)
|
790 |
+
->setModuleSource($this, 'libraries/ruleJS/ruleJS.lib.full.js')
|
791 |
+
);
|
792 |
+
|
793 |
+
$ui->add(
|
794 |
+
$ui->createScript('supsystic-tables-rulejs-parser-js')
|
795 |
+
->setHookName($dynamicHookName)
|
796 |
+
->setModuleSource($this, 'libraries/ruleJS/parser.js')
|
797 |
+
);
|
798 |
+
|
799 |
+
$ui->add(
|
800 |
+
$ui->createScript('supsystic-tables-rulejs-js')
|
801 |
+
->setHookName($dynamicHookName)
|
802 |
+
->setModuleSource($this, 'libraries/ruleJS/ruleJS.js')
|
803 |
);
|
804 |
}
|
805 |
|
806 |
+
private function loadHandsontable(SupsysticTables_Ui_Module $ui)
|
807 |
+
{
|
808 |
+
$hookName = 'admin_enqueue_scripts';
|
809 |
+
|
810 |
+
if (!is_admin() || (is_admin() && !$this->getEnvironment()->isModule('tables', 'view'))) {
|
811 |
+
return;
|
812 |
+
}
|
813 |
+
|
814 |
+
// Styles
|
815 |
+
$ui->add(
|
816 |
+
$ui->createStyle('supsystic-tables-handsontable-css')
|
817 |
+
->setHookName($hookName)
|
818 |
+
->setExternalSource('https://cdnjs.cloudflare.com/ajax/libs/handsontable/0.31.1/handsontable.full.min.css')
|
819 |
+
->setCachingAllowed(true)
|
820 |
+
->setVersion('0.31.1')
|
821 |
+
);
|
822 |
+
|
823 |
+
$ui->add(
|
824 |
+
$ui->createStyle('supsystic-tables-rulejs-hot-css')
|
825 |
+
->setHookName($hookName)
|
826 |
+
->setModuleSource($this, 'libraries/ruleJS/handsontable.formula.css')
|
827 |
+
);
|
828 |
+
|
829 |
+
// Scripts
|
830 |
+
$ui->add(
|
831 |
+
$ui->createScript('supsystic-tables-handsontable-js')
|
832 |
+
->setHookName($hookName)
|
833 |
+
->setExternalSource('https://cdnjs.cloudflare.com/ajax/libs/handsontable/0.31.1/handsontable.full.min.js')
|
834 |
+
->setCachingAllowed(true)
|
835 |
+
->setVersion('0.31.1')
|
836 |
+
);
|
837 |
+
|
838 |
+
$ui->add(
|
839 |
+
$ui->createScript('supsystic-tables-rulejs-hot-js')
|
840 |
+
->setHookName($hookName)
|
841 |
+
->setModuleSource($this, 'libraries/ruleJS/handsontable.formula.js')
|
842 |
+
->addDependency('supsystic-tables-handsontable-js')
|
843 |
+
);
|
844 |
+
}
|
845 |
+
|
846 |
+
private function loadEyeconColorpicker(SupsysticTables_Ui_Module $ui) {
|
847 |
+
$hookName = 'admin_enqueue_scripts';
|
848 |
+
|
849 |
+
if (!is_admin() || (is_admin() && !$this->getEnvironment()->isModule('tables', 'view'))) {
|
850 |
+
return;
|
851 |
+
}
|
852 |
+
|
853 |
+
$ui->add(
|
854 |
+
$ui->createStyle('supsystic-tables-colorpicker-css')
|
855 |
+
->setHookName($hookName)
|
856 |
+
->setModuleSource($this, 'libraries/colorpicker/colorpicker.css')
|
857 |
+
->setCachingAllowed(true)
|
858 |
+
);
|
859 |
+
|
860 |
+
$ui->add(
|
861 |
+
$ui->createScript('supsystic-tables-colorpicker-js')
|
862 |
+
->setHookName($hookName)
|
863 |
+
->setModuleSource($this, 'libraries/colorpicker/colorpicker.js')
|
864 |
+
->setCachingAllowed(true)
|
865 |
+
);
|
866 |
+
}
|
867 |
+
|
868 |
+
private function loadJqueryToolbar(SupsysticTables_Ui_Module $ui) {
|
869 |
+
$hookName = 'admin_enqueue_scripts';
|
870 |
+
|
871 |
+
if (!is_admin() || (is_admin() && !$this->getEnvironment()->isModule('tables', 'view'))) {
|
872 |
+
return;
|
873 |
+
}
|
874 |
+
|
875 |
+
$ui->add(
|
876 |
+
$ui->createStyle('supsystic-tables-toolbar-css')
|
877 |
+
->setHookName($hookName)
|
878 |
+
->setModuleSource($this, 'libraries/toolbar/jquery.toolbars.css')
|
879 |
+
->setCachingAllowed(true)
|
880 |
+
);
|
881 |
+
|
882 |
+
$ui->add(
|
883 |
+
$ui->createScript('supsystic-tables-toolbar-js')
|
884 |
+
->setHookName($hookName)
|
885 |
+
->setModuleSource($this, 'libraries/toolbar/jquery.toolbar.js')
|
886 |
+
->setCachingAllowed(true)
|
887 |
+
);
|
888 |
+
}
|
889 |
+
|
890 |
+
private function loadAceCssEditor(SupsysticTables_Ui_Module $ui)
|
891 |
+
{
|
892 |
+
$hookName = 'admin_enqueue_scripts';
|
893 |
+
|
894 |
+
if (!is_admin() || (is_admin() && !$this->getEnvironment()->isModule('tables', 'view'))) {
|
895 |
+
return;
|
896 |
+
}
|
897 |
+
|
898 |
+
$ui->add(
|
899 |
+
$ui->createScript('supsystic-tables-ace-editor-js')
|
900 |
+
->setHookName($hookName)
|
901 |
+
->setModuleSource($this, 'js/ace/ace.js')
|
902 |
+
);
|
903 |
+
|
904 |
+
$ui->add(
|
905 |
+
$ui->createScript('supsystic-tables-ace-editor-mode-js')
|
906 |
+
->setHookName($hookName)
|
907 |
+
->setModuleSource($this, 'js/ace/mode-css.js')
|
908 |
+
->addDependency('supsystic-tables-ace-editor-js')
|
909 |
+
);
|
910 |
+
|
911 |
+
$ui->add(
|
912 |
+
$ui->createScript('supsystic-tables-ace-editor-theme-js')
|
913 |
+
->setHookName($hookName)
|
914 |
+
->setModuleSource($this, 'js/ace/theme-monokai.js')
|
915 |
+
->addDependency('supsystic-tables-ace-editor-js')
|
916 |
+
);
|
917 |
+
}
|
918 |
+
|
919 |
+
public function loadLanguageData($table) {
|
920 |
+
if(isset($table->settings['language']['file'])) {
|
921 |
+
$tableLang = !empty($table->settings['language']['file']) ? $table->settings['language']['file'] : 'default';
|
922 |
+
$langModel = $this->getModule('tables')->getController()->getModel('languages', 'tables');
|
923 |
+
$langList = $langModel->getDefaultLanguages();
|
924 |
+
$langData = $langModel->getLanguagesData();
|
925 |
+
|
926 |
+
if ($tableLang == 'browser') {
|
927 |
+
$browserLangs = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
|
928 |
+
|
929 |
+
foreach ($browserLangs as $locale) {
|
930 |
+
$lang = substr($locale, 0, 2);
|
931 |
+
|
932 |
+
if(!empty($langList[$locale])) {
|
933 |
+
$tableLang = $langList[$locale];
|
934 |
+
break;
|
935 |
+
}
|
936 |
+
if(!empty($langList[$lang])) {
|
937 |
+
$tableLang = $langList[$lang];
|
938 |
+
break;
|
939 |
+
}
|
940 |
+
}
|
941 |
+
}
|
942 |
+
if(!empty($langData[$tableLang])) {
|
943 |
+
if(is_admin()) {
|
944 |
+
$table->settings['translation'] = $langData[$tableLang];
|
945 |
+
} else {
|
946 |
+
wp_localize_script('tables-core', 'g_stbTblLangData', $langData[$tableLang]);
|
947 |
+
}
|
948 |
+
}
|
949 |
+
}
|
950 |
+
|
951 |
+
return $table;
|
952 |
+
}
|
953 |
+
|
954 |
public function addFontsData() {
|
955 |
$standardFontsList = array();
|
956 |
if($this->getEnvironment()->isPro()) {
|
967 |
return array("Georgia","Palatino Linotype","Times New Roman","Arial","Helvetica","Arial Black","Gadget","Comic Sans MS","Impact","Charcoal","Lucida Sans Unicode","Lucida Grande","Tahoma","Geneva","Trebuchet MS","Verdana","Geneva","Courier New","Courier","Lucida Console","Monaco");
|
968 |
}
|
969 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
970 |
private function registerMenuItem()
|
971 |
{
|
972 |
$environment = $this->getEnvironment();
|
1110 |
$dispatcher->apply('table_history_tabs_content_data', array(array( 'table' => $table )))
|
1111 |
);
|
1112 |
}
|
1113 |
+
public function getShortcodesList()
|
1114 |
+
{
|
1115 |
+
$environment = $this->getEnvironment();
|
1116 |
+
$config = $environment->getConfig();
|
1117 |
+
$dispatcher = $environment->getDispatcher();
|
1118 |
+
|
1119 |
+
return $dispatcher->apply('table-shortcodes-list',
|
1120 |
+
array(
|
1121 |
+
array(
|
1122 |
+
'shortcode' => array(
|
1123 |
+
'name' => $config->get('shortcode_name'),
|
1124 |
+
'label' => $environment->translate('Table Shortcode'),
|
1125 |
+
'attrs' => '',
|
1126 |
+
),
|
1127 |
+
'part_shortcode' => array(
|
1128 |
+
'name' => $config->get('shortcode_part_name'),
|
1129 |
+
'label' => $environment->translate('Table Part Shortcode'),
|
1130 |
+
'attrs' => 'row=1,2 col=1,2',
|
1131 |
+
),
|
1132 |
+
'cell_shortcode' => array(
|
1133 |
+
'name' => $config->get('shortcode_part_name'),
|
1134 |
+
'label' => $environment->translate('Cell Shortcode'),
|
1135 |
+
'attrs' => 'row=1 col=1',
|
1136 |
+
),
|
1137 |
+
'value_shortcode' => array(
|
1138 |
+
'name' => $config->get('shortcode_value_name'),
|
1139 |
+
'label' => $environment->translate('Value Shortcode'),
|
1140 |
+
'attrs' => 'row=1 col=1',
|
1141 |
+
),
|
1142 |
+
'php_code' => array(
|
1143 |
+
'name' => $config->get('shortcode_name'),
|
1144 |
+
'label' => $environment->translate('PHP code'),
|
1145 |
+
'attrs' => '',
|
1146 |
+
),
|
1147 |
+
)
|
1148 |
+
)
|
1149 |
+
);
|
1150 |
+
}
|
1151 |
}
|
1152 |
|
1153 |
require_once('Model/widget.php');
|
src/SupsysticTables/Tables/assets/css/tables.editor.css
CHANGED
@@ -42,7 +42,7 @@
|
|
42 |
}
|
43 |
#tableToolbar > ul > li {
|
44 |
margin: 0;
|
45 |
-
display: inline;
|
46 |
}
|
47 |
#tableToolbar > ul > li .toolbar-content {
|
48 |
display: none;
|
@@ -56,21 +56,33 @@
|
|
56 |
font-weight: 100;
|
57 |
}*/
|
58 |
#tableToolbar button, #tableToolbar .toolContainer {
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
}
|
70 |
#tableToolbar button:hover {
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
}
|
75 |
#tableToolbar .inactive {
|
76 |
color: #8e8d8d;
|
@@ -140,8 +152,9 @@ i.toolbar-word-wrap.word-wrap-visible {
|
|
140 |
max-width: 0;
|
141 |
}
|
142 |
|
143 |
-
#tableEditor .editable, #tableEditor .selectable, #tableEditor .
|
144 |
-
|
|
|
145 |
}
|
146 |
|
147 |
#tableEditor .editable:after {
|
@@ -172,6 +185,20 @@ i.toolbar-word-wrap.word-wrap-visible {
|
|
172 |
border-bottom: 7px solid transparent;
|
173 |
}
|
174 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
#tableEditor .hiddenCell:before {
|
176 |
content: '';
|
177 |
display: block;
|
@@ -200,6 +227,57 @@ i.toolbar-word-wrap.word-wrap-visible {
|
|
200 |
border-bottom: 0 solid transparent;
|
201 |
}
|
202 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
.tool-container.list {
|
204 |
height: auto!important;
|
205 |
}
|
42 |
}
|
43 |
#tableToolbar > ul > li {
|
44 |
margin: 0;
|
45 |
+
display: inline-block;
|
46 |
}
|
47 |
#tableToolbar > ul > li .toolbar-content {
|
48 |
display: none;
|
56 |
font-weight: 100;
|
57 |
}*/
|
58 |
#tableToolbar button, #tableToolbar .toolContainer {
|
59 |
+
display: inline-block;
|
60 |
+
min-width: 35px;
|
61 |
+
min-height: 38px;
|
62 |
+
border: none;
|
63 |
+
background-color: transparent;
|
64 |
+
border-top: 5px solid transparent;
|
65 |
+
border-right: 1px solid #cac4c4;
|
66 |
+
border-bottom: 5px solid transparent;
|
67 |
+
outline: 0;
|
68 |
+
vertical-align: middle;
|
69 |
+
}
|
70 |
+
#tableToolbar button {
|
71 |
+
padding: 4px 7px;
|
72 |
+
}
|
73 |
+
#tableToolbar .toolContainer {
|
74 |
+
padding: 0 7px;
|
75 |
+
}
|
76 |
+
#tableToolbar .toolContainer #fontFamily {
|
77 |
+
width: 195px;
|
78 |
+
}
|
79 |
+
#tableToolbar .toolContainer #fontSize {
|
80 |
+
width: 90px;
|
81 |
}
|
82 |
#tableToolbar button:hover {
|
83 |
+
-webkit-box-shadow: 0px 0px 1px 2px #beb7b7;
|
84 |
+
-moz-box-shadow: 0px 0px 1px 2px #beb7b7;
|
85 |
+
box-shadow: 0px 0px 1px 2px #beb7b7;
|
86 |
}
|
87 |
#tableToolbar .inactive {
|
88 |
color: #8e8d8d;
|
152 |
max-width: 0;
|
153 |
}
|
154 |
|
155 |
+
#tableEditor .editable, #tableEditor .selectable, #tableEditor .datefield, #tableEditor .unescapeHTML,
|
156 |
+
#tableEditor .hiddenCell, #tableEditor .invisibleCell, #tableEditor .collapsibleCell, #tableEditor .tooltipCell {
|
157 |
+
position: relative;
|
158 |
}
|
159 |
|
160 |
#tableEditor .editable:after {
|
185 |
border-bottom: 7px solid transparent;
|
186 |
}
|
187 |
|
188 |
+
#tableEditor .datefield:after {
|
189 |
+
content: '';
|
190 |
+
display: block;
|
191 |
+
position: absolute;
|
192 |
+
top: 0;
|
193 |
+
right: 0;
|
194 |
+
width: 0;
|
195 |
+
height: 0;
|
196 |
+
border-top: 0 solid transparent;
|
197 |
+
border-left: 0 solid transparent;
|
198 |
+
border-right: 7px solid #ff9406;
|
199 |
+
border-bottom: 7px solid transparent;
|
200 |
+
}
|
201 |
+
|
202 |
#tableEditor .hiddenCell:before {
|
203 |
content: '';
|
204 |
display: block;
|
227 |
border-bottom: 0 solid transparent;
|
228 |
}
|
229 |
|
230 |
+
#tableEditor .unescapeHTML:after {
|
231 |
+
content: '';
|
232 |
+
display: block;
|
233 |
+
position: absolute;
|
234 |
+
top: 0;
|
235 |
+
left: 0;
|
236 |
+
width: 0;
|
237 |
+
height: 0;
|
238 |
+
border-top: 7px solid #95109a;
|
239 |
+
border-left: 0 solid transparent;
|
240 |
+
border-right: 7px solid transparent;
|
241 |
+
border-bottom: 0 solid transparent;
|
242 |
+
/*border-top: 0 solid transparent;
|
243 |
+
border-left: 7px solid transparent;
|
244 |
+
border-right: 0 solid transparent;
|
245 |
+
border-bottom: 7px solid #95109a;*/
|
246 |
+
}
|
247 |
+
|
248 |
+
#tableEditor .collapsibleCell:before {
|
249 |
+
content: '';
|
250 |
+
display: block;
|
251 |
+
position: absolute;
|
252 |
+
top: 0;
|
253 |
+
left: 0;
|
254 |
+
width: 0;
|
255 |
+
height: 0;
|
256 |
+
border-top: 7px solid #f03cf0;
|
257 |
+
border-left: 0 solid transparent;
|
258 |
+
border-right: 7px solid transparent;
|
259 |
+
border-bottom: 0 solid transparent;
|
260 |
+
}
|
261 |
+
|
262 |
+
#tableEditor .tooltipCell:before {
|
263 |
+
content: '';
|
264 |
+
display: block;
|
265 |
+
position: absolute;
|
266 |
+
top: 0;
|
267 |
+
left: 0;
|
268 |
+
width: 0;
|
269 |
+
height: 0;
|
270 |
+
border-top: 7px solid #50CDFE;
|
271 |
+
border-left: 0 solid transparent;
|
272 |
+
border-right: 7px solid transparent;
|
273 |
+
border-bottom: 0 solid transparent;
|
274 |
+
}
|
275 |
+
|
276 |
+
.handsontableInputHolder .handsontableInput {
|
277 |
+
background-color: #ffffff !important;
|
278 |
+
color: #000000 !important;
|
279 |
+
}
|
280 |
+
|
281 |
.tool-container.list {
|
282 |
height: auto!important;
|
283 |
}
|
src/SupsysticTables/Tables/assets/css/tables.shortcode.css
CHANGED
@@ -227,8 +227,5 @@ table.oneColumnWithLabels td:after {
|
|
227 |
|
228 |
/* Fix for using autowidth for tables with Fixed Header or Horizontal scroll responsive mode */
|
229 |
.supsystic-tables-wrap .dataTables_scrollHeadInner, .supsystic-tables-wrap .dataTables_scrollFootInner {
|
230 |
-
|
231 |
-
}
|
232 |
-
.supsystic-tables-wrap .dataTables_scrollHeadInner table, .supsystic-tables-wrap .dataTables_scrollFootInner table {
|
233 |
-
margin-left: auto !important;
|
234 |
}
|
227 |
|
228 |
/* Fix for using autowidth for tables with Fixed Header or Horizontal scroll responsive mode */
|
229 |
.supsystic-tables-wrap .dataTables_scrollHeadInner, .supsystic-tables-wrap .dataTables_scrollFootInner {
|
230 |
+
margin: 0 auto !important;
|
|
|
|
|
|
|
231 |
}
|
src/SupsysticTables/Tables/assets/css/tables.view.css
CHANGED
@@ -199,7 +199,7 @@
|
|
199 |
.tables-view .row-settings-tab.active {
|
200 |
display: block;
|
201 |
}
|
202 |
-
.tables-view #settings input, .tables-view #settings select {
|
203 |
width: 100% !important;
|
204 |
}
|
205 |
.tables-view #settings textarea {
|
@@ -232,6 +232,16 @@
|
|
232 |
.setting-item + .setting-item {
|
233 |
text-align: right;
|
234 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
235 |
.sub-input, .tables-view #settings .sub-input {
|
236 |
width: 100px !important;
|
237 |
margin-right: 8px;
|
@@ -262,19 +272,12 @@
|
|
262 |
.tables-view .row-settings-tab .icheckbox_minimal, .tables-view .row-settings-tab .iradio_minimal {
|
263 |
float: left;
|
264 |
}
|
|
|
|
|
|
|
265 |
|
266 |
#tableLoaderColorContainer {
|
267 |
-
display: inline-block;
|
268 |
float: left;
|
269 |
-
width: 36px;
|
270 |
-
height: 36px;
|
271 |
-
padding: 3px;
|
272 |
-
border: 1px solid;
|
273 |
-
}
|
274 |
-
.tableLoaderColorArea {
|
275 |
-
display: inline-block;
|
276 |
-
width: 100%;
|
277 |
-
height: 100%;
|
278 |
}
|
279 |
.selectTableLoaderIcon {
|
280 |
float: left;
|
@@ -339,6 +342,21 @@
|
|
339 |
margin-bottom: 5px;
|
340 |
}
|
341 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
342 |
@media (max-width: 810px) {
|
343 |
.wp-core-ui .button {
|
344 |
margin-bottom: 4px;
|
199 |
.tables-view .row-settings-tab.active {
|
200 |
display: block;
|
201 |
}
|
202 |
+
.tables-view #settings input, .tables-view #settings select, .history-settings input, .history-settings select {
|
203 |
width: 100% !important;
|
204 |
}
|
205 |
.tables-view #settings textarea {
|
232 |
.setting-item + .setting-item {
|
233 |
text-align: right;
|
234 |
}
|
235 |
+
.setting-item label {
|
236 |
+
height: 33px;
|
237 |
+
line-height: 33px;
|
238 |
+
}
|
239 |
+
.setting-item select {
|
240 |
+
height: 33px;
|
241 |
+
}
|
242 |
+
.setting-item .fa-question.supsystic-tooltip {
|
243 |
+
margin-top: 8px;
|
244 |
+
}
|
245 |
.sub-input, .tables-view #settings .sub-input {
|
246 |
width: 100px !important;
|
247 |
margin-right: 8px;
|
272 |
.tables-view .row-settings-tab .icheckbox_minimal, .tables-view .row-settings-tab .iradio_minimal {
|
273 |
float: left;
|
274 |
}
|
275 |
+
.tables-view .row-settings-tab .icheckbox_minimal {
|
276 |
+
margin-top: 8px;
|
277 |
+
}
|
278 |
|
279 |
#tableLoaderColorContainer {
|
|
|
280 |
float: left;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
}
|
282 |
.selectTableLoaderIcon {
|
283 |
float: left;
|
342 |
margin-bottom: 5px;
|
343 |
}
|
344 |
|
345 |
+
/* styles for colorpicker elements */
|
346 |
+
.colorPickerShell {
|
347 |
+
display: inline-block;
|
348 |
+
width: 36px;
|
349 |
+
height: 36px;
|
350 |
+
padding: 3px;
|
351 |
+
border: 1px solid;
|
352 |
+
}
|
353 |
+
.colorPickerArea {
|
354 |
+
display: inline-block;
|
355 |
+
width: 100%;
|
356 |
+
height: 100%;
|
357 |
+
border: 1px solid;
|
358 |
+
}
|
359 |
+
|
360 |
@media (max-width: 810px) {
|
361 |
.wp-core-ui .button {
|
362 |
margin-bottom: 4px;
|
src/SupsysticTables/Tables/assets/img/conditional_formatting_dialog.png
ADDED
Binary file
|
src/SupsysticTables/Tables/assets/js/editor/tables.editor.formula.js
CHANGED
@@ -72,6 +72,6 @@
|
|
72 |
})();
|
73 |
|
74 |
app.Editor = app.Editor || {};
|
75 |
-
app.Editor.
|
76 |
|
77 |
}(window.jQuery, window.supsystic.Tables));
|
72 |
})();
|
73 |
|
74 |
app.Editor = app.Editor || {};
|
75 |
+
app.Editor._Formula = Formula;
|
76 |
|
77 |
}(window.jQuery, window.supsystic.Tables));
|
src/SupsysticTables/Tables/assets/js/editor/tables.editor.js
CHANGED
@@ -4,6 +4,7 @@ g_stbWindowHeight = 0;
|
|
4 |
g_stbWindowHeight = $(window).width() > 810 ? $(window).height() * 0.7 : $(window).height(); // 810px is mobile responsive width
|
5 |
|
6 |
var tableId = app.getParameterByName('id'),
|
|
|
7 |
editor = new Handsontable(document.getElementById('tableEditor'), {
|
8 |
height: g_stbWindowHeight,
|
9 |
renderAllRows: false, // To prevent losing of rows for huge tables (need to check in future is it all right now?)
|
@@ -18,19 +19,21 @@ g_stbWindowHeight = 0;
|
|
18 |
/*fillHandle: {
|
19 |
autoInsertRow: false // Disable adding of new row during drag-down cell via right bottom corner
|
20 |
},*/
|
21 |
-
manualColumnResize: true,
|
22 |
manualRowResize: true,
|
|
|
|
|
|
|
23 |
mergeCells: true,
|
24 |
outsideClickDeselects: false,
|
25 |
undo: true,
|
26 |
-
renderer:
|
27 |
startCols: app.getParameterByName('cols') || 5,
|
28 |
startRows: app.getParameterByName('rows') || 5,
|
29 |
currentRowClassName: 'current',
|
30 |
currentColClassName: 'current'
|
31 |
}),
|
32 |
toolbar = new app.Editor.Toolbar('#tableToolbar', editor),
|
33 |
-
formula = new app.Editor.
|
34 |
|
35 |
window.editor = editor;
|
36 |
app.Editor.Hot = editor;
|
@@ -156,6 +159,12 @@ g_stbWindowHeight = 0;
|
|
156 |
generateWidthData();
|
157 |
editor.allWidths.splice(column, 1, width);
|
158 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
editor.addHook('afterCopy', function (changes, copyCoords) {
|
160 |
collectCellsMetaData(changes, copyCoords);
|
161 |
});
|
@@ -176,6 +185,28 @@ g_stbWindowHeight = 0;
|
|
176 |
j = 0;
|
177 |
}
|
178 |
if(g_stbCopyPasteCellsMetaData[j]) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
editor.setCellMetaObject(row, col, g_stbCopyPasteCellsMetaData[j]);
|
180 |
j++;
|
181 |
}
|
@@ -193,44 +224,47 @@ g_stbWindowHeight = 0;
|
|
193 |
}
|
194 |
};
|
195 |
Handsontable.renderers.DefaultRenderer = function(instance,td,row,col,prop,value,cellProperties) {
|
196 |
-
var cellMeta = instance.getCellMeta(row,
|
197 |
|
198 |
-
if(
|
199 |
Handsontable.TextCell.renderer.apply(this,arguments);
|
200 |
-
value =
|
201 |
}
|
202 |
-
|
203 |
-
|
|
|
|
|
|
|
204 |
Handsontable.renderers.NumberRenderer.call(this,instance,td,row,col,prop,value,cellProperties);
|
205 |
} else {
|
206 |
Handsontable.renderers.CustomHtmlRenderer.call(this,instance,td,row,col,prop,value,cellProperties);
|
207 |
}
|
208 |
};
|
209 |
Handsontable.renderers.NumberRenderer = function(instance,td,row,col,prop,value,cellProperties) {
|
210 |
-
value =
|
211 |
|
212 |
Handsontable.renderers.CustomHtmlRenderer.call(this,instance,td,row,col,prop,value,cellProperties);
|
213 |
};
|
214 |
Handsontable.renderers.CurrencyRenderer = function(instance,td,row,col,prop,value,cellProperties) {
|
215 |
if(value) {
|
216 |
-
if(
|
217 |
Handsontable.TextCell.renderer.apply(this,arguments);
|
218 |
-
value =
|
219 |
}
|
220 |
|
221 |
-
value =
|
222 |
}
|
223 |
|
224 |
Handsontable.renderers.CustomHtmlRenderer.call(this,instance,td,row,col,prop,value,cellProperties);
|
225 |
};
|
226 |
Handsontable.renderers.PercentRenderer = function(instance,td,row,col,prop,value,cellProperties) {
|
227 |
if(value) {
|
228 |
-
if(
|
229 |
Handsontable.TextCell.renderer.apply(this,arguments);
|
230 |
-
value =
|
231 |
}
|
232 |
|
233 |
-
value =
|
234 |
}
|
235 |
|
236 |
Handsontable.renderers.CustomHtmlRenderer.call(this,instance,td,row,col,prop,value,cellProperties);
|
@@ -242,7 +276,7 @@ g_stbWindowHeight = 0;
|
|
242 |
// To show percents as is if it is pure number
|
243 |
var formatType = this.cellProperties.formatType || '',value = this.originalValue;
|
244 |
|
245 |
-
if(
|
246 |
if(formatType == 'percent') {
|
247 |
value = (value * 100).toString();
|
248 |
}
|
@@ -256,7 +290,7 @@ g_stbWindowHeight = 0;
|
|
256 |
// Correct save of percent values
|
257 |
var type = this.cellProperties.type || '',formatType = this.cellProperties.formatType || '',value = val[0][0];
|
258 |
|
259 |
-
if(
|
260 |
if(formatType == 'percent' && type != 'dropdown') {
|
261 |
value = (value / 100).toString();
|
262 |
}
|
@@ -288,7 +322,7 @@ g_stbWindowHeight = 0;
|
|
288 |
var formatType = this.cellProperties.formatType || '',source = this.cellProperties.source || [];
|
289 |
|
290 |
for(var i = 0; i < source.length; i++) {
|
291 |
-
if(
|
292 |
if(formatType == 'percent') {
|
293 |
source[i] = (source[i] * 100).toString();
|
294 |
}
|
@@ -301,13 +335,13 @@ g_stbWindowHeight = 0;
|
|
301 |
// Correct save of percent values
|
302 |
var type = this.cellProperties.type || '',formatType = this.cellProperties.formatType || '',source = this.cellProperties.source || [],value = val[0][0];
|
303 |
|
304 |
-
if(
|
305 |
if(formatType == 'percent') {
|
306 |
value = (value / 100).toString();
|
307 |
}
|
308 |
}
|
309 |
for(var i = 0; i < source.length; i++) {
|
310 |
-
if(
|
311 |
if(formatType == 'percent') {
|
312 |
source[i] = (source[i] / 100).toString();
|
313 |
}
|
@@ -320,181 +354,10 @@ g_stbWindowHeight = 0;
|
|
320 |
|
321 |
// Load table data to editor
|
322 |
$.when(
|
323 |
-
|
324 |
-
|
325 |
).done(function (metaResponse, rowsResponse) {
|
326 |
-
|
327 |
-
meta = metaResponse[0].meta,
|
328 |
-
comments = [];
|
329 |
-
|
330 |
-
// Set merged cells
|
331 |
-
if (typeof meta === 'object' && 'mergedCells' in meta && meta.mergedCells.length) {
|
332 |
-
editor.updateSettings({
|
333 |
-
mergeCells: meta.mergedCells
|
334 |
-
});
|
335 |
-
}
|
336 |
-
|
337 |
-
// Set rows data
|
338 |
-
if (rows.length > 0) {
|
339 |
-
var data = [],
|
340 |
-
cellMeta = [],
|
341 |
-
heights = [],
|
342 |
-
widths = [],
|
343 |
-
$style = getAdminCellStylesElem();
|
344 |
-
|
345 |
-
$.each(rows, function (x, row) {
|
346 |
-
var cells = [];
|
347 |
-
|
348 |
-
heights.push(row.height || undefined);
|
349 |
-
|
350 |
-
$.each(row.cells, function (y, cell) {
|
351 |
-
var metaData = {};
|
352 |
-
|
353 |
-
if ('meta' in cell && cell.meta !== undefined) {
|
354 |
-
var classes = classesRegexp(),
|
355 |
-
color = classes.color.exec(cell.meta),
|
356 |
-
background = classes.background.exec(cell.meta),
|
357 |
-
fontFamily = classes.fontFamily.exec(cell.meta),
|
358 |
-
fontSize = classes.fontSize.exec(cell.meta);
|
359 |
-
|
360 |
-
if (null !== color && $style.html().indexOf(color[0]) == -1) {
|
361 |
-
$style.html($style.html() + ' .'+color[0]+' {color:#'+color[1]+' !important}');
|
362 |
-
}
|
363 |
-
if (null !== background && $style.html().indexOf(background[0]) == -1) {
|
364 |
-
$style.html($style.html() + ' .'+background[0]+' {background-color:#'+background[1]+' !important}');
|
365 |
-
}
|
366 |
-
if (null !== fontFamily && $style.html().indexOf(fontFamily[0]) == -1) {
|
367 |
-
var family = fontFamily[1].replace(/_/g, ' '),
|
368 |
-
familyName = fontFamily[1].replace(/_/g, '+'),
|
369 |
-
url = '';
|
370 |
-
|
371 |
-
if(g_stbStandartFontsList && toeInArray(family, g_stbStandartFontsList) == -1) {
|
372 |
-
url = '@import url("//fonts.googleapis.com/css?family=' + familyName + '"); ';
|
373 |
-
}
|
374 |
-
$style.html(url + $style.html() + ' .'+fontFamily[0]+' {font-family:"'+family+'" !important}');
|
375 |
-
}
|
376 |
-
if (null !== fontSize && $style.html().indexOf(fontSize[0]) == -1) {
|
377 |
-
var lineHeight = +fontSize[1] + 6;
|
378 |
-
$style.html($style.html() + ' .'+fontSize[0]+' {font-size:'+fontSize[1]+'px !important; line-height:'+lineHeight+'px !important;}');
|
379 |
-
}
|
380 |
-
metaData = $.extend(metaData, { row: x, col: y, className: cell.meta.join(' ') });
|
381 |
-
}
|
382 |
-
if (cell.formatType) {
|
383 |
-
metaData = $.extend(metaData, {
|
384 |
-
type: cell.type == 'numeric' ? 'text' : cell.type, // To remove numeric renderer
|
385 |
-
format: cell.type == 'numeric' ? '' : cell.format,
|
386 |
-
formatType: cell.type == 'numeric' ? '' : cell.formatType
|
387 |
-
});
|
388 |
-
} else {
|
389 |
-
if(app.Models.Tables.isNumber(cell.data)) {
|
390 |
-
metaData = $.extend(metaData, {
|
391 |
-
type: 'text',
|
392 |
-
format: '',
|
393 |
-
formatType: 'number'
|
394 |
-
});
|
395 |
-
}
|
396 |
-
}
|
397 |
-
// selectable cell data source
|
398 |
-
if(cell.source && cell.source.length) {
|
399 |
-
metaData.source = cell.source;
|
400 |
-
metaData.baseType = cell.baseType;
|
401 |
-
}
|
402 |
-
switch(cell.formatType) {
|
403 |
-
case 'currency':
|
404 |
-
metaData.renderer = Handsontable.renderers.CurrencyRenderer;
|
405 |
-
break;
|
406 |
-
case 'percent':
|
407 |
-
metaData.renderer = Handsontable.renderers.PercentRenderer;
|
408 |
-
break;
|
409 |
-
case 'date':
|
410 |
-
//one table can contain multiple date formats
|
411 |
-
metaData.format = cell.format;
|
412 |
-
metaData.dateFormat = cell.format;
|
413 |
-
metaData.correctFormat = true;
|
414 |
-
|
415 |
-
if(cell.reformat) {
|
416 |
-
var newDate = moment(cell.data, cell.format);
|
417 |
-
|
418 |
-
if (newDate.isValid()) {
|
419 |
-
cell.data = newDate.format($('input[name="dateFormat"]').val());
|
420 |
-
}
|
421 |
-
}
|
422 |
-
break;
|
423 |
-
case 'time_duration':
|
424 |
-
if(cell.reformat) {
|
425 |
-
var cellFormat = $('input[name="timeDurationFormat"]').val(),
|
426 |
-
newTime = moment(cell.data, cell.format);
|
427 |
-
|
428 |
-
if (newTime.isValid()) {
|
429 |
-
cell.data = newTime.format(cellFormat);
|
430 |
-
} else {
|
431 |
-
var duration = cell.data.match(/.{1,2}/g);
|
432 |
-
|
433 |
-
newTime = moment.duration({
|
434 |
-
seconds: duration[2] || 0,
|
435 |
-
minutes: duration[1] || 0,
|
436 |
-
hours: duration[0] || 0,
|
437 |
-
days: 0,
|
438 |
-
weeks: 0,
|
439 |
-
months: 0,
|
440 |
-
years: 0
|
441 |
-
});
|
442 |
-
|
443 |
-
if (newTime._milliseconds || cell.data == 0) {
|
444 |
-
cell.data = newTime.format(cellFormat);
|
445 |
-
}
|
446 |
-
}
|
447 |
-
}
|
448 |
-
break;
|
449 |
-
default:
|
450 |
-
metaData.renderer = Handsontable.renderers.DefaultRenderer;
|
451 |
-
break;
|
452 |
-
}
|
453 |
-
cellMeta.push(metaData);
|
454 |
-
|
455 |
-
if (x === 0 && meta.columnsWidth) {
|
456 |
-
widths.push(meta.columnsWidth[y] > 0 ? meta.columnsWidth[y] : 62);
|
457 |
-
} else if (x === 0 ) {
|
458 |
-
// Old
|
459 |
-
widths.push(cell.width === undefined ? 62 : cell.width);
|
460 |
-
}
|
461 |
-
g_stbFixedColumnsWidth = meta.columnsFixedWidth || g_stbFixedColumnsWidth;
|
462 |
-
g_stbMultipleColumnsSorting = meta.columnsSortOrder || g_stbMultipleColumnsSorting;
|
463 |
-
g_stbDisableColumnsSorting = meta.columnsDisableSorting || g_stbDisableColumnsSorting;
|
464 |
-
|
465 |
-
if (typeof(cell.comment) != 'undefined') {
|
466 |
-
comments.push({
|
467 |
-
col: y,
|
468 |
-
row: x,
|
469 |
-
comment: cell.comment
|
470 |
-
});
|
471 |
-
}
|
472 |
-
cells.push(cell.data);
|
473 |
-
});
|
474 |
-
data.push(cells);
|
475 |
-
});
|
476 |
-
|
477 |
-
// Height & width
|
478 |
-
editor.updateSettings({
|
479 |
-
rowHeights: heights,
|
480 |
-
colWidths: widths
|
481 |
-
});
|
482 |
-
|
483 |
-
// Load extracted data
|
484 |
-
editor.loadData(data);
|
485 |
-
|
486 |
-
// Comments. Note: comments need to be loaded after editor.loadData() call.
|
487 |
-
if (comments.length) {
|
488 |
-
editor.updateSettings({
|
489 |
-
cell: comments
|
490 |
-
});
|
491 |
-
}
|
492 |
-
|
493 |
-
// Load extracted metadata
|
494 |
-
$.each(cellMeta, function (i, meta) {
|
495 |
-
editor.setCellMetaObject(meta.row, meta.col, meta);
|
496 |
-
});
|
497 |
-
}
|
498 |
}).fail(function (error) {
|
499 |
alert('Failed to load table data: ' + error);
|
500 |
}).always(function (response) {
|
4 |
g_stbWindowHeight = $(window).width() > 810 ? $(window).height() * 0.7 : $(window).height(); // 810px is mobile responsive width
|
5 |
|
6 |
var tableId = app.getParameterByName('id'),
|
7 |
+
tablesModel = app.Models.Tables,
|
8 |
editor = new Handsontable(document.getElementById('tableEditor'), {
|
9 |
height: g_stbWindowHeight,
|
10 |
renderAllRows: false, // To prevent losing of rows for huge tables (need to check in future is it all right now?)
|
19 |
/*fillHandle: {
|
20 |
autoInsertRow: false // Disable adding of new row during drag-down cell via right bottom corner
|
21 |
},*/
|
|
|
22 |
manualRowResize: true,
|
23 |
+
manualColumnResize: true,
|
24 |
+
manualRowMove: true,
|
25 |
+
manualColumnMove: true,
|
26 |
mergeCells: true,
|
27 |
outsideClickDeselects: false,
|
28 |
undo: true,
|
29 |
+
renderer: tablesModel.getDefaultRenderer(),
|
30 |
startCols: app.getParameterByName('cols') || 5,
|
31 |
startRows: app.getParameterByName('rows') || 5,
|
32 |
currentRowClassName: 'current',
|
33 |
currentColClassName: 'current'
|
34 |
}),
|
35 |
toolbar = new app.Editor.Toolbar('#tableToolbar', editor),
|
36 |
+
formula = new app.Editor._Formula(editor);
|
37 |
|
38 |
window.editor = editor;
|
39 |
app.Editor.Hot = editor;
|
159 |
generateWidthData();
|
160 |
editor.allWidths.splice(column, 1, width);
|
161 |
});
|
162 |
+
editor.addHook('afterRowMove', function (rows, target) {
|
163 |
+
editor.render();
|
164 |
+
});
|
165 |
+
editor.addHook('afterColumnMove', function (columns, target) {
|
166 |
+
editor.render();
|
167 |
+
});
|
168 |
editor.addHook('afterCopy', function (changes, copyCoords) {
|
169 |
collectCellsMetaData(changes, copyCoords);
|
170 |
});
|
185 |
j = 0;
|
186 |
}
|
187 |
if(g_stbCopyPasteCellsMetaData[j]) {
|
188 |
+
var value = editor.getDataAtCell(row, col),
|
189 |
+
deltaRow = row - g_stbCopyPasteCellsMetaData[j].row,
|
190 |
+
deltaCol = col - g_stbCopyPasteCellsMetaData[j].col,
|
191 |
+
direction = '';
|
192 |
+
|
193 |
+
if(deltaRow) {
|
194 |
+
if(deltaRow > 0) {
|
195 |
+
direction = 'down';
|
196 |
+
} else {
|
197 |
+
direction = 'up';
|
198 |
+
}
|
199 |
+
value = editor.plugin.utils.updateFormula(value, direction, Math.abs(deltaRow));
|
200 |
+
}
|
201 |
+
if(deltaCol) {
|
202 |
+
if(deltaCol > 0) {
|
203 |
+
direction = 'right';
|
204 |
+
} else {
|
205 |
+
direction = 'left';
|
206 |
+
}
|
207 |
+
value = editor.plugin.utils.updateFormula(value, direction, Math.abs(deltaCol));
|
208 |
+
}
|
209 |
+
editor.setDataAtCell(row, col, value);
|
210 |
editor.setCellMetaObject(row, col, g_stbCopyPasteCellsMetaData[j]);
|
211 |
j++;
|
212 |
}
|
224 |
}
|
225 |
};
|
226 |
Handsontable.renderers.DefaultRenderer = function(instance,td,row,col,prop,value,cellProperties) {
|
227 |
+
var cellMeta = instance.getCellMeta(row, col);
|
228 |
|
229 |
+
if(tablesModel.isFormula(value)) {
|
230 |
Handsontable.TextCell.renderer.apply(this,arguments);
|
231 |
+
value = tablesModel.getFormulaResult(value,row,col);
|
232 |
}
|
233 |
+
if(cellProperties && cellProperties.formatType == 'currency') {
|
234 |
+
Handsontable.renderers.CurrencyRenderer.call(this,instance,td,row,col,prop,value,cellProperties);
|
235 |
+
} else if(cellProperties && cellProperties.formatType == 'percent') {
|
236 |
+
Handsontable.renderers.PercentRenderer.call(this,instance,td,row,col,prop,value,cellProperties);
|
237 |
+
} else if(instance.useNumberFormat && (tablesModel.isNumber(value) || cellMeta.formatType == 'number')) {
|
238 |
Handsontable.renderers.NumberRenderer.call(this,instance,td,row,col,prop,value,cellProperties);
|
239 |
} else {
|
240 |
Handsontable.renderers.CustomHtmlRenderer.call(this,instance,td,row,col,prop,value,cellProperties);
|
241 |
}
|
242 |
};
|
243 |
Handsontable.renderers.NumberRenderer = function(instance,td,row,col,prop,value,cellProperties) {
|
244 |
+
value = tablesModel.setCellFormat(value,'number');
|
245 |
|
246 |
Handsontable.renderers.CustomHtmlRenderer.call(this,instance,td,row,col,prop,value,cellProperties);
|
247 |
};
|
248 |
Handsontable.renderers.CurrencyRenderer = function(instance,td,row,col,prop,value,cellProperties) {
|
249 |
if(value) {
|
250 |
+
if(tablesModel.isFormula(value)) {
|
251 |
Handsontable.TextCell.renderer.apply(this,arguments);
|
252 |
+
value = tablesModel.getFormulaResult(value,row,col);
|
253 |
}
|
254 |
|
255 |
+
value = tablesModel.setCellFormat(value,'currency');
|
256 |
}
|
257 |
|
258 |
Handsontable.renderers.CustomHtmlRenderer.call(this,instance,td,row,col,prop,value,cellProperties);
|
259 |
};
|
260 |
Handsontable.renderers.PercentRenderer = function(instance,td,row,col,prop,value,cellProperties) {
|
261 |
if(value) {
|
262 |
+
if(tablesModel.isFormula(value)) {
|
263 |
Handsontable.TextCell.renderer.apply(this,arguments);
|
264 |
+
value = tablesModel.getFormulaResult(value,row,col);
|
265 |
}
|
266 |
|
267 |
+
value = tablesModel.setCellFormat(value,'percent');
|
268 |
}
|
269 |
|
270 |
Handsontable.renderers.CustomHtmlRenderer.call(this,instance,td,row,col,prop,value,cellProperties);
|
276 |
// To show percents as is if it is pure number
|
277 |
var formatType = this.cellProperties.formatType || '',value = this.originalValue;
|
278 |
|
279 |
+
if(tablesModel.isNumber(value) && !tablesModel.isFormula(value)) {
|
280 |
if(formatType == 'percent') {
|
281 |
value = (value * 100).toString();
|
282 |
}
|
290 |
// Correct save of percent values
|
291 |
var type = this.cellProperties.type || '',formatType = this.cellProperties.formatType || '',value = val[0][0];
|
292 |
|
293 |
+
if(tablesModel.isNumber(value) && !tablesModel.isFormula(value)) {
|
294 |
if(formatType == 'percent' && type != 'dropdown') {
|
295 |
value = (value / 100).toString();
|
296 |
}
|
322 |
var formatType = this.cellProperties.formatType || '',source = this.cellProperties.source || [];
|
323 |
|
324 |
for(var i = 0; i < source.length; i++) {
|
325 |
+
if(tablesModel.isNumber(source[i]) && !tablesModel.isFormula(source[i])) {
|
326 |
if(formatType == 'percent') {
|
327 |
source[i] = (source[i] * 100).toString();
|
328 |
}
|
335 |
// Correct save of percent values
|
336 |
var type = this.cellProperties.type || '',formatType = this.cellProperties.formatType || '',source = this.cellProperties.source || [],value = val[0][0];
|
337 |
|
338 |
+
if(tablesModel.isNumber(value) && !tablesModel.isFormula(value)) {
|
339 |
if(formatType == 'percent') {
|
340 |
value = (value / 100).toString();
|
341 |
}
|
342 |
}
|
343 |
for(var i = 0; i < source.length; i++) {
|
344 |
+
if(tablesModel.isNumber(source[i]) && !tablesModel.isFormula(source[i])) {
|
345 |
if(formatType == 'percent') {
|
346 |
source[i] = (source[i] / 100).toString();
|
347 |
}
|
354 |
|
355 |
// Load table data to editor
|
356 |
$.when(
|
357 |
+
tablesModel.getMeta(tableId),
|
358 |
+
tablesModel.getRows(tableId)
|
359 |
).done(function (metaResponse, rowsResponse) {
|
360 |
+
tablesModel.setTableData(metaResponse, rowsResponse);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
}).fail(function (error) {
|
362 |
alert('Failed to load table data: ' + error);
|
363 |
}).always(function (response) {
|
src/SupsysticTables/Tables/assets/js/editor/tables.editor.toolbar.js
CHANGED
@@ -178,7 +178,7 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
178 |
open: function() {
|
179 |
var textForPopup = selectedText ? selectedText : cellText;
|
180 |
|
181 |
-
textForPopup = $('<div>' + textForPopup + '</div>').
|
182 |
$(this).find('.link-text').val(textForPopup);
|
183 |
},
|
184 |
close: function() {
|
@@ -310,13 +310,20 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
310 |
undo: function() {
|
311 |
this.getEditor().undo();
|
312 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
313 |
setColumnWidth: function() {
|
314 |
if(app.Editor.Hot.getSelectedRange()) {
|
315 |
g_stbColumnWidthDialog.dialog('open');
|
316 |
} else {
|
317 |
alert('You must select at least one cell in column.');
|
318 |
}
|
319 |
-
|
320 |
},
|
321 |
setMultipleColumnsSorting: function() {
|
322 |
if(app.Editor.Hot.getSelectedRange()) {
|
@@ -380,7 +387,7 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
380 |
var cell = editor.getCellMeta(row, col),
|
381 |
newClassName;
|
382 |
|
383 |
-
cell.className = cell.className
|
384 |
|
385 |
if (cell.className.match(classNamePattern)) {
|
386 |
newClassName = cell.className.replace(className, '');
|
@@ -436,9 +443,7 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
436 |
for (var row = startRow; row <= endRow; row++) {
|
437 |
for (var col = startCol; col <= endCol; col++) {
|
438 |
var cell = editor.getCellMeta(row, col);
|
439 |
-
|
440 |
-
editor.setCellMeta(row, col, 'className', cell.className.replace(className, ' ')
|
441 |
-
);
|
442 |
}
|
443 |
}
|
444 |
};
|
@@ -455,7 +460,8 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
455 |
return text;
|
456 |
};
|
457 |
Toolbar.prototype.setFormat = function (formatType, format) {
|
458 |
-
var
|
|
|
459 |
range = this.getValidRange(editor.getSelectedRange());
|
460 |
|
461 |
if (range === undefined) {
|
@@ -475,26 +481,26 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
475 |
|
476 |
// Fix cell value if we switch cell type from Percent to Another One
|
477 |
if (formatType != 'percent' && cell.formatType == 'percent') {
|
478 |
-
if (!
|
479 |
data = data * 100;
|
480 |
}
|
481 |
}
|
482 |
switch(formatType) {
|
483 |
case 'currency':
|
484 |
-
cell.renderer =
|
485 |
cellFormat = format.replace(editor.currencySymbol, '$');
|
486 |
break;
|
487 |
case 'percent':
|
488 |
-
cell.renderer =
|
489 |
|
490 |
-
if (!
|
491 |
data = String(data).replace(/[^\d.-]/g, '');
|
492 |
}
|
493 |
break;
|
494 |
case 'percent-convert':
|
495 |
-
cell.renderer =
|
496 |
|
497 |
-
if (!
|
498 |
data = String(data).replace(/[^\d.-]/g, '');
|
499 |
|
500 |
// Fix cell value for Percent format
|
@@ -528,7 +534,7 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
528 |
}
|
529 |
break;
|
530 |
default:
|
531 |
-
cell.renderer =
|
532 |
break;
|
533 |
}
|
534 |
|
178 |
open: function() {
|
179 |
var textForPopup = selectedText ? selectedText : cellText;
|
180 |
|
181 |
+
textForPopup = $('<div>' + textForPopup + '</div>').html();
|
182 |
$(this).find('.link-text').val(textForPopup);
|
183 |
},
|
184 |
close: function() {
|
310 |
undo: function() {
|
311 |
this.getEditor().undo();
|
312 |
},
|
313 |
+
addUnescapeHtml: function() {
|
314 |
+
this.replaceClass('unescapeHTML', ['unescapeHTML']);
|
315 |
+
this.getEditor().render();
|
316 |
+
},
|
317 |
+
removeUnescapeHtml: function() {
|
318 |
+
this.removeClass('unescapeHTML');
|
319 |
+
this.getEditor().render();
|
320 |
+
},
|
321 |
setColumnWidth: function() {
|
322 |
if(app.Editor.Hot.getSelectedRange()) {
|
323 |
g_stbColumnWidthDialog.dialog('open');
|
324 |
} else {
|
325 |
alert('You must select at least one cell in column.');
|
326 |
}
|
|
|
327 |
},
|
328 |
setMultipleColumnsSorting: function() {
|
329 |
if(app.Editor.Hot.getSelectedRange()) {
|
387 |
var cell = editor.getCellMeta(row, col),
|
388 |
newClassName;
|
389 |
|
390 |
+
cell.className = typeof cell.className == 'string' ? cell.className : '';
|
391 |
|
392 |
if (cell.className.match(classNamePattern)) {
|
393 |
newClassName = cell.className.replace(className, '');
|
443 |
for (var row = startRow; row <= endRow; row++) {
|
444 |
for (var col = startCol; col <= endCol; col++) {
|
445 |
var cell = editor.getCellMeta(row, col);
|
446 |
+
editor.setCellMeta(row, col, 'className', cell.className.replace(className, ' '));
|
|
|
|
|
447 |
}
|
448 |
}
|
449 |
};
|
460 |
return text;
|
461 |
};
|
462 |
Toolbar.prototype.setFormat = function (formatType, format) {
|
463 |
+
var tablesModel = app.Models.Tables,
|
464 |
+
editor = this.getEditor(),
|
465 |
range = this.getValidRange(editor.getSelectedRange());
|
466 |
|
467 |
if (range === undefined) {
|
481 |
|
482 |
// Fix cell value if we switch cell type from Percent to Another One
|
483 |
if (formatType != 'percent' && cell.formatType == 'percent') {
|
484 |
+
if (!tablesModel.isFormula(data)) {
|
485 |
data = data * 100;
|
486 |
}
|
487 |
}
|
488 |
switch(formatType) {
|
489 |
case 'currency':
|
490 |
+
cell.renderer = tablesModel.getDefaultRenderer();
|
491 |
cellFormat = format.replace(editor.currencySymbol, '$');
|
492 |
break;
|
493 |
case 'percent':
|
494 |
+
cell.renderer = tablesModel.getDefaultRenderer();
|
495 |
|
496 |
+
if (!tablesModel.isFormula(data)) {
|
497 |
data = String(data).replace(/[^\d.-]/g, '');
|
498 |
}
|
499 |
break;
|
500 |
case 'percent-convert':
|
501 |
+
cell.renderer = tablesModel.getDefaultRenderer();
|
502 |
|
503 |
+
if (!tablesModel.isFormula(data)) {
|
504 |
data = String(data).replace(/[^\d.-]/g, '');
|
505 |
|
506 |
// Fix cell value for Percent format
|
534 |
}
|
535 |
break;
|
536 |
default:
|
537 |
+
cell.renderer = tablesModel.getDefaultRenderer();
|
538 |
break;
|
539 |
}
|
540 |
|
src/SupsysticTables/Tables/assets/js/tables.model.js
CHANGED
@@ -1,14 +1,16 @@
|
|
|
|
|
|
1 |
(function ($, app) {
|
2 |
|
3 |
var TablesModel = (function () {
|
4 |
-
function TablesModel() {
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
TablesModel.prototype.request = function (action, data) {
|
13 |
return app.request({
|
14 |
module: 'tables',
|
@@ -29,26 +31,7 @@
|
|
29 |
}, data);
|
30 |
};
|
31 |
|
32 |
-
|
33 |
-
* Removes table by id.
|
34 |
-
* @param {int} id
|
35 |
-
* @returns {jQuery.Deferred.promise}
|
36 |
-
*/
|
37 |
-
TablesModel.prototype.remove = function (id) {
|
38 |
-
if (isNaN(id = parseInt(id))) {
|
39 |
-
throw new Error('Invalid table id.');
|
40 |
-
}
|
41 |
-
|
42 |
-
return this.request('remove', { id: id });
|
43 |
-
};
|
44 |
-
|
45 |
-
/**
|
46 |
-
* Renames table.
|
47 |
-
* @param {int} id
|
48 |
-
* @param {string} title
|
49 |
-
* @returns {jQuery.Deferred.promise}
|
50 |
-
*/
|
51 |
-
TablesModel.prototype.rename = function (id, title) {
|
52 |
if (isNaN(id = parseInt(id))) {
|
53 |
throw new Error('Invalid table id.');
|
54 |
}
|
@@ -80,10 +63,6 @@
|
|
80 |
return this.request('getRows', { id: id });
|
81 |
};
|
82 |
|
83 |
-
TablesModel.prototype.getTablesSettings = function () {
|
84 |
-
return this.settingsRequest('getSettings',{});
|
85 |
-
};
|
86 |
-
|
87 |
TablesModel.prototype.setRows = function (id, rows, byPart, preview) {
|
88 |
if (isNaN(id = parseInt(id))) {
|
89 |
throw new Error('Invalid table id.');
|
@@ -104,7 +83,7 @@
|
|
104 |
id: id,
|
105 |
step: step,
|
106 |
last: i == rowsChunks.length - 1 ? 1 : 0,
|
107 |
-
rows: this.
|
108 |
}
|
109 |
|
110 |
$.each(rowsData, function (index, data) {
|
@@ -127,7 +106,7 @@
|
|
127 |
});
|
128 |
}
|
129 |
} else {
|
130 |
-
return this.request('updateRows', { id: id, rows: this.
|
131 |
}
|
132 |
};
|
133 |
|
@@ -144,7 +123,26 @@
|
|
144 |
throw new Error('Invalid table id.');
|
145 |
}
|
146 |
|
147 |
-
return this.request('updateMeta', { id: id, meta: this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
};
|
149 |
|
150 |
TablesModel.prototype.setHistorySettings = function (id, settings) {
|
@@ -157,66 +155,402 @@
|
|
157 |
}
|
158 |
};
|
159 |
|
160 |
-
TablesModel.prototype.
|
161 |
-
|
162 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
}
|
164 |
|
165 |
-
|
166 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
|
168 |
-
|
169 |
-
|
170 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
|
172 |
-
|
173 |
-
|
|
|
|
|
|
|
174 |
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
|
|
|
|
180 |
});
|
|
|
|
|
|
|
|
|
|
|
181 |
});
|
182 |
}
|
183 |
};
|
184 |
|
185 |
-
TablesModel.prototype.
|
186 |
-
|
187 |
-
|
188 |
|
189 |
-
|
190 |
-
|
|
|
|
|
|
|
191 |
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
});
|
|
|
|
|
|
|
|
|
|
|
198 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
}
|
200 |
};
|
201 |
|
202 |
-
TablesModel.prototype.
|
203 |
-
|
204 |
|
205 |
-
|
206 |
-
|
|
|
|
|
|
|
207 |
|
208 |
-
|
209 |
-
|
210 |
-
var newStr = dataToJson.substr(0, maxLength);
|
211 |
|
212 |
-
|
213 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
}
|
215 |
-
|
|
|
216 |
|
217 |
-
|
218 |
-
|
219 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
}
|
221 |
};
|
222 |
|
@@ -228,7 +562,7 @@
|
|
228 |
return this.request('render', { id: id });
|
229 |
};
|
230 |
|
231 |
-
TablesModel.prototype.
|
232 |
if (isNaN(userId = parseInt(userId))) {
|
233 |
throw new Error('Invalid user id.');
|
234 |
}
|
@@ -236,7 +570,40 @@
|
|
236 |
throw new Error('Invalid table id.');
|
237 |
}
|
238 |
|
239 |
-
return this.request('renderFromHistory', { user_id: userId, table_id: tableId });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
};
|
241 |
|
242 |
TablesModel.prototype.isNumber = function (value) {
|
@@ -248,6 +615,7 @@
|
|
248 |
|
249 |
return false;
|
250 |
};
|
|
|
251 |
TablesModel.prototype.isFormula = function (value) {
|
252 |
if (value) {
|
253 |
if (value[0] === '=') {
|
@@ -256,22 +624,37 @@
|
|
256 |
}
|
257 |
return false;
|
258 |
};
|
|
|
259 |
TablesModel.prototype.getFormulaResult = function (value, row, col) {
|
260 |
-
var
|
|
|
261 |
formula = value.substr(1).toUpperCase(),
|
262 |
-
|
263 |
-
newValue;
|
264 |
|
265 |
-
|
266 |
-
|
267 |
|
268 |
-
if(
|
269 |
-
|
270 |
-
|
271 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
}
|
273 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
};
|
|
|
275 |
TablesModel.prototype.setCellFormat = function(value, formatType) {
|
276 |
if(value && this.isNumber(value) && !isNaN(value)) {
|
277 |
var languageData = numeral.languageData(),
|
@@ -342,40 +725,68 @@
|
|
342 |
return value;
|
343 |
};
|
344 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
345 |
return TablesModel;
|
346 |
})();
|
347 |
|
348 |
app.Models = app.Models || {};
|
|
|
349 |
app.Models.Tables = new TablesModel();
|
350 |
-
$.when( app.Models.Tables.getTablesSettings() ).then(function( data, textStatus, jqXHR ) {
|
351 |
-
if(data.success) {
|
352 |
-
app.Models.Tables.step = data.settings.table_step;
|
353 |
-
}
|
354 |
-
});
|
355 |
-
|
356 |
-
function afterTablePreview(table) {
|
357 |
-
if(SDT_DATA.isPro && typeof(app.createEditableFields) != 'function') { // for compatibility with old pro versions
|
358 |
-
$.getScript(SDT_DATA.pluginsUrl + '/tables-generator-pro/src/SupsysticTablesPro/Tables/assets/js/frontend.pro.js');
|
359 |
-
}
|
360 |
-
|
361 |
-
// Fix of conflict with handsontable library - it triggers error if user makes click on link without href attribute
|
362 |
-
var features = table.data('features');
|
363 |
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
$(this).attr('onclick', 'return false');
|
368 |
-
});
|
369 |
-
table.on('page.dt', function() {
|
370 |
-
setTimeout(function() {
|
371 |
-
$('.dataTables_paginate .paginate_button').each(function() {
|
372 |
-
$(this).attr('href', '#');
|
373 |
-
$(this).attr('onclick', 'return false');
|
374 |
-
});
|
375 |
-
}, 50);
|
376 |
-
|
377 |
-
});
|
378 |
}
|
379 |
-
}
|
380 |
-
|
381 |
}(window.jQuery, window.supsystic.Tables));
|
1 |
+
var g_stbDoSaving = false;
|
2 |
+
var g_stbPreviewTimeoutSet = false;
|
3 |
(function ($, app) {
|
4 |
|
5 |
var TablesModel = (function () {
|
6 |
+
function TablesModel() {
|
7 |
+
this.getEditor = function() {
|
8 |
+
return app.Editor.Hot;
|
9 |
+
};
|
10 |
+
this.getCssEditor = function() {
|
11 |
+
return window.ace.edit("css-editor");
|
12 |
+
};
|
13 |
+
}
|
14 |
TablesModel.prototype.request = function (action, data) {
|
15 |
return app.request({
|
16 |
module: 'tables',
|
31 |
}, data);
|
32 |
};
|
33 |
|
34 |
+
TablesModel.prototype.renameTableRequest = function (id, title) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
if (isNaN(id = parseInt(id))) {
|
36 |
throw new Error('Invalid table id.');
|
37 |
}
|
63 |
return this.request('getRows', { id: id });
|
64 |
};
|
65 |
|
|
|
|
|
|
|
|
|
66 |
TablesModel.prototype.setRows = function (id, rows, byPart, preview) {
|
67 |
if (isNaN(id = parseInt(id))) {
|
68 |
throw new Error('Invalid table id.');
|
83 |
id: id,
|
84 |
step: step,
|
85 |
last: i == rowsChunks.length - 1 ? 1 : 0,
|
86 |
+
rows: this._prepareData(rowsChunks[i]) })
|
87 |
}
|
88 |
|
89 |
$.each(rowsData, function (index, data) {
|
106 |
});
|
107 |
}
|
108 |
} else {
|
109 |
+
return this.request('updateRows', { id: id, rows: this._prepareData(rows) });
|
110 |
}
|
111 |
};
|
112 |
|
123 |
throw new Error('Invalid table id.');
|
124 |
}
|
125 |
|
126 |
+
return this.request('updateMeta', { id: id, meta: this._prepareData(meta) })
|
127 |
+
};
|
128 |
+
|
129 |
+
TablesModel.prototype.getSettings = function () {
|
130 |
+
return app.request({
|
131 |
+
module: 'settings',
|
132 |
+
action: 'getSettings'
|
133 |
+
}, {});
|
134 |
+
};
|
135 |
+
|
136 |
+
TablesModel.prototype.getTablesSettings = function () {
|
137 |
+
return this.settingsRequest('getSettings',{});
|
138 |
+
};
|
139 |
+
|
140 |
+
TablesModel.prototype.setSettings = function (id, settings) {
|
141 |
+
if (isNaN(id = parseInt(id))) {
|
142 |
+
throw new Error('Invalid table id.');
|
143 |
+
}
|
144 |
+
|
145 |
+
return this.request('saveSettings', { id: id, settings: settings.serialize() })
|
146 |
};
|
147 |
|
148 |
TablesModel.prototype.setHistorySettings = function (id, settings) {
|
155 |
}
|
156 |
};
|
157 |
|
158 |
+
TablesModel.prototype.getDefaultRenderer = function(preview) {
|
159 |
+
return Handsontable.renderers.DefaultRenderer;
|
160 |
+
};
|
161 |
+
|
162 |
+
TablesModel.prototype.setTableData = function(metaResponse, rowsResponse) {
|
163 |
+
var self = this,
|
164 |
+
editor = self.getEditor(),
|
165 |
+
rows = rowsResponse[0].rows,
|
166 |
+
meta = metaResponse[0].meta,
|
167 |
+
comments = [];
|
168 |
+
|
169 |
+
// Set merged cells
|
170 |
+
if (typeof meta === 'object' && 'mergedCells' in meta && meta.mergedCells.length) {
|
171 |
+
editor.updateSettings({
|
172 |
+
mergeCells: meta.mergedCells
|
173 |
+
});
|
174 |
}
|
175 |
|
176 |
+
// Set rows data
|
177 |
+
if (rows.length > 0) {
|
178 |
+
var data = [],
|
179 |
+
cellsMeta = [],
|
180 |
+
heights = [],
|
181 |
+
widths = [],
|
182 |
+
$style = getAdminCellStylesElem();
|
183 |
+
|
184 |
+
$.each(rows, function (x, row) {
|
185 |
+
var cells = [];
|
186 |
+
|
187 |
+
heights.push(row.height || undefined);
|
188 |
+
|
189 |
+
$.each(row.cells, function (y, cell) {
|
190 |
+
var metaData = {};
|
191 |
+
|
192 |
+
if ('meta' in cell && cell.meta !== undefined) {
|
193 |
+
var classes = classesRegexp(),
|
194 |
+
color = classes.color.exec(cell.meta),
|
195 |
+
background = classes.background.exec(cell.meta),
|
196 |
+
fontFamily = classes.fontFamily.exec(cell.meta),
|
197 |
+
fontSize = classes.fontSize.exec(cell.meta);
|
198 |
+
|
199 |
+
if (null !== color && $style.html().indexOf(color[0]) == -1) {
|
200 |
+
$style.html($style.html() + ' .'+color[0]+' {color:#'+color[1]+' !important}');
|
201 |
+
}
|
202 |
+
if (null !== background && $style.html().indexOf(background[0]) == -1) {
|
203 |
+
$style.html($style.html() + ' .'+background[0]+' {background-color:#'+background[1]+' !important}');
|
204 |
+
}
|
205 |
+
if (null !== fontFamily && $style.html().indexOf(fontFamily[0]) == -1) {
|
206 |
+
var family = fontFamily[1].replace(/_/g, ' '),
|
207 |
+
familyName = fontFamily[1].replace(/_/g, '+'),
|
208 |
+
url = '';
|
209 |
+
|
210 |
+
if(g_stbStandartFontsList && toeInArray(family, g_stbStandartFontsList) == -1) {
|
211 |
+
url = '@import url("//fonts.googleapis.com/css?family=' + familyName + '"); ';
|
212 |
+
}
|
213 |
+
$style.html(url + $style.html() + ' .'+fontFamily[0]+' {font-family:"'+family+'" !important}');
|
214 |
+
}
|
215 |
+
if (null !== fontSize && $style.html().indexOf(fontSize[0]) == -1) {
|
216 |
+
var lineHeight = +fontSize[1] + 6;
|
217 |
+
$style.html($style.html() + ' .'+fontSize[0]+' {font-size:'+fontSize[1]+'px !important; line-height:'+lineHeight+'px !important;}');
|
218 |
+
}
|
219 |
+
metaData = $.extend(metaData, { row: x, col: y, className: cell.meta.join(' ') });
|
220 |
+
}
|
221 |
+
if (cell.formatType) {
|
222 |
+
metaData = $.extend(metaData, {
|
223 |
+
type: cell.type == 'numeric' ? 'text' : cell.type, // To remove numeric renderer
|
224 |
+
format: cell.type == 'numeric' ? '' : cell.format,
|
225 |
+
formatType: cell.type == 'numeric' ? '' : cell.formatType
|
226 |
+
});
|
227 |
+
} else {
|
228 |
+
if(app.Models.Tables.isNumber(cell.data)) {
|
229 |
+
metaData = $.extend(metaData, {
|
230 |
+
type: 'text',
|
231 |
+
format: '',
|
232 |
+
formatType: 'number'
|
233 |
+
});
|
234 |
+
}
|
235 |
+
}
|
236 |
+
// selectable cell data source
|
237 |
+
if(cell.source && cell.source.length) {
|
238 |
+
metaData.type = cell.type;
|
239 |
+
metaData.source = cell.source;
|
240 |
+
metaData.baseType = cell.baseType;
|
241 |
+
}
|
242 |
+
switch(cell.formatType) {
|
243 |
+
/*case 'currency':
|
244 |
+
metaData.renderer = Handsontable.renderers.CurrencyRenderer;
|
245 |
+
break;
|
246 |
+
case 'percent':
|
247 |
+
metaData.renderer = Handsontable.renderers.PercentRenderer;
|
248 |
+
break;*/
|
249 |
+
case 'date':
|
250 |
+
//one table can contain multiple date formats
|
251 |
+
metaData.format = cell.format;
|
252 |
+
metaData.dateFormat = cell.format;
|
253 |
+
metaData.correctFormat = true;
|
254 |
+
|
255 |
+
if(cell.reformat) {
|
256 |
+
var newDate = moment(cell.data, cell.format);
|
257 |
+
|
258 |
+
if (newDate.isValid()) {
|
259 |
+
cell.data = newDate.format($('input[name="dateFormat"]').val());
|
260 |
+
}
|
261 |
+
}
|
262 |
+
break;
|
263 |
+
case 'time_duration':
|
264 |
+
if(cell.reformat) {
|
265 |
+
var cellFormat = $('input[name="timeDurationFormat"]').val(),
|
266 |
+
newTime = moment(cell.data, cell.format);
|
267 |
+
|
268 |
+
if (newTime.isValid()) {
|
269 |
+
cell.data = newTime.format(cellFormat);
|
270 |
+
} else {
|
271 |
+
var duration = cell.data.match(/.{1,2}/g);
|
272 |
+
|
273 |
+
newTime = moment.duration({
|
274 |
+
seconds: duration[2] || 0,
|
275 |
+
minutes: duration[1] || 0,
|
276 |
+
hours: duration[0] || 0,
|
277 |
+
days: 0,
|
278 |
+
weeks: 0,
|
279 |
+
months: 0,
|
280 |
+
years: 0
|
281 |
+
});
|
282 |
+
|
283 |
+
if (newTime._milliseconds || cell.data == 0) {
|
284 |
+
cell.data = newTime.format(cellFormat);
|
285 |
+
}
|
286 |
+
}
|
287 |
+
}
|
288 |
+
break;
|
289 |
+
default:
|
290 |
+
metaData.renderer = self.getDefaultRenderer();
|
291 |
+
break;
|
292 |
+
}
|
293 |
+
cellsMeta.push(metaData);
|
294 |
|
295 |
+
if (x === 0 && meta.columnsWidth) {
|
296 |
+
widths.push(meta.columnsWidth[y] > 0 ? meta.columnsWidth[y] : 62);
|
297 |
+
} else if (x === 0 ) {
|
298 |
+
// Old
|
299 |
+
widths.push(cell.width === undefined ? 62 : cell.width);
|
300 |
+
}
|
301 |
+
g_stbFixedColumnsWidth = meta.columnsFixedWidth || g_stbFixedColumnsWidth;
|
302 |
+
g_stbMultipleColumnsSorting = meta.columnsSortOrder || g_stbMultipleColumnsSorting;
|
303 |
+
g_stbDisableColumnsSorting = meta.columnsDisableSorting || g_stbDisableColumnsSorting;
|
304 |
+
|
305 |
+
if (typeof(cell.comment) != 'undefined') {
|
306 |
+
comments.push({
|
307 |
+
col: y,
|
308 |
+
row: x,
|
309 |
+
comment: cell.comment
|
310 |
+
});
|
311 |
+
}
|
312 |
+
cells.push(cell.data);
|
313 |
+
});
|
314 |
+
data.push(cells);
|
315 |
+
});
|
316 |
|
317 |
+
// Height & width
|
318 |
+
editor.updateSettings({
|
319 |
+
rowHeights: heights,
|
320 |
+
colWidths: widths
|
321 |
+
});
|
322 |
|
323 |
+
// Load extracted data
|
324 |
+
editor.loadData(data);
|
325 |
+
|
326 |
+
// Comments. Note: comments need to be loaded after editor.loadData() call.
|
327 |
+
if (comments.length) {
|
328 |
+
editor.updateSettings({
|
329 |
+
cell: comments
|
330 |
});
|
331 |
+
}
|
332 |
+
|
333 |
+
// Load extracted metadata
|
334 |
+
$.each(cellsMeta, function (i, meta) {
|
335 |
+
editor.setCellMetaObject(meta.row, meta.col, meta);
|
336 |
});
|
337 |
}
|
338 |
};
|
339 |
|
340 |
+
TablesModel.prototype.saveTable = function(preview) {
|
341 |
+
this._saveTable(preview);
|
342 |
+
};
|
343 |
|
344 |
+
TablesModel.prototype._saveTable = function(preview) {
|
345 |
+
preview = typeof(preview) != 'undefined' ? preview : false;
|
346 |
+
var self = this,
|
347 |
+
editor = self.getEditor(),
|
348 |
+
id = app.getParameterByName('id');
|
349 |
|
350 |
+
if(!g_stbDoSaving) {
|
351 |
+
g_stbDoSaving = true;
|
352 |
+
app.createSpinner($('#buttonSave'));
|
353 |
+
|
354 |
+
var formData = $('form#settings'),
|
355 |
+
byPart = true,
|
356 |
+
metaData = [],
|
357 |
+
mergeData = [],
|
358 |
+
rowsData = [],
|
359 |
+
columnsWidth = [];
|
360 |
+
|
361 |
+
// Put textareas data into the hidden fields before the saving of table settings
|
362 |
+
formData.find('input[name="elements[descriptionText]"]').val( formData.find('#descriptionText').val() );
|
363 |
+
formData.find('input[name="elements[signatureText]"]').val( formData.find('#signatureText').val() );
|
364 |
+
formData.find('input[name="features[after_table_loaded_script]"]').val(this._b64EncodeUnicode(formData.find('#after-table-loaded-script-text').val()));
|
365 |
+
|
366 |
+
if(preview) {
|
367 |
+
var tableInstance = app.getTableInstanceById(id);
|
368 |
+
|
369 |
+
if(tableInstance) {
|
370 |
+
tableInstance.api().destroy();
|
371 |
+
$(preview).empty();
|
372 |
+
}
|
373 |
+
}
|
374 |
+
$.each(editor.getData(), function (x, row) {
|
375 |
+
var currentRow = { cells: [] };
|
376 |
+
|
377 |
+
$.each(row, function (y, cell) {
|
378 |
+
var meta = editor.getCellMeta(x, y),
|
379 |
+
cellHtml = $(editor.getCell(x, y)),
|
380 |
+
classes = [],
|
381 |
+
rowData = {
|
382 |
+
data: cell,
|
383 |
+
calculatedValue: null,
|
384 |
+
hidden: false,
|
385 |
+
hiddenCell: meta.className && meta.className.match('hiddenCell') !== null,
|
386 |
+
invisibleCell: meta.className && meta.className.match('invisibleCell') !== null
|
387 |
+
},
|
388 |
+
mergeCell = editor.mergeCells.mergedCellInfoCollection.getInfo(x, y);
|
389 |
+
|
390 |
+
// set merged params
|
391 |
+
if(mergeCell !== undefined) {
|
392 |
+
mergeData.push(mergeCell);
|
393 |
+
rowData.hidden = true;
|
394 |
+
}
|
395 |
+
// set formatted value
|
396 |
+
cellHtml = cellHtml.clone();
|
397 |
+
cellHtml.find('.htAutocompleteArrow').remove();
|
398 |
+
rowData.formattedValue = cellHtml.text();
|
399 |
+
|
400 |
+
// selectable cell data source
|
401 |
+
if(meta.source && meta.source.length) {
|
402 |
+
meta.type = 'dropdown';
|
403 |
+
rowData.source = meta.source;
|
404 |
+
}
|
405 |
+
|
406 |
+
// Set cell format
|
407 |
+
rowData.type = meta.type ? meta.type : 'text';
|
408 |
+
rowData.baseType = meta.baseType ? meta.baseType : 'text';
|
409 |
+
rowData.formatType = meta.formatType ? meta.formatType : '';
|
410 |
+
|
411 |
+
switch(rowData.formatType) {
|
412 |
+
case 'currency':
|
413 |
+
rowData.format = formData.find('[name="currencyFormat"]').val();
|
414 |
+
break;
|
415 |
+
case 'percent':
|
416 |
+
rowData.format = formData.find('[name="percentFormat"]').val();
|
417 |
+
break;
|
418 |
+
case 'date':
|
419 |
+
//one table can contain multiple date formats
|
420 |
+
rowData.format = meta.format != 'undefined'
|
421 |
+
? meta.format
|
422 |
+
: formData.find('[name="dateFormat"]').val();
|
423 |
+
|
424 |
+
var date = moment(rowData.data, rowData.format);
|
425 |
+
|
426 |
+
if (date.isValid()) {
|
427 |
+
rowData.dateOrder = date.format('x');
|
428 |
+
}
|
429 |
+
break;
|
430 |
+
default:
|
431 |
+
rowData.format = meta.format;
|
432 |
+
break;
|
433 |
+
}
|
434 |
+
|
435 |
+
// Set calculated value for cells with formulas
|
436 |
+
if (self.isFormula(cell)) {
|
437 |
+
var value = self.getFormulaResult(cell, x, y);
|
438 |
+
|
439 |
+
if (value !== undefined) {
|
440 |
+
if (!isNaN(value) && value !== '0' && value !== 0 && value % 1 !== 0) { // round float
|
441 |
+
var floatValue = parseFloat(value);
|
442 |
+
|
443 |
+
if (floatValue.toString().indexOf('.') !== -1) {
|
444 |
+
var afterPointSybolsLength = floatValue.toString().split('.')[1].length;
|
445 |
+
|
446 |
+
if (afterPointSybolsLength > 4) {
|
447 |
+
value = floatValue.toFixed(4);
|
448 |
+
}
|
449 |
+
}
|
450 |
+
}
|
451 |
+
rowData.calculatedValue = value;
|
452 |
+
}
|
453 |
+
}
|
454 |
+
|
455 |
+
// Set classes for cell
|
456 |
+
if (meta.className !== undefined) {
|
457 |
+
$.each(meta.className.split(' '), function (index, element) {
|
458 |
+
if (element.length) {
|
459 |
+
classes.push($.trim(element));
|
460 |
+
}
|
461 |
+
});
|
462 |
+
}
|
463 |
+
rowData.meta = classes;
|
464 |
+
|
465 |
+
// Set comments for cell
|
466 |
+
if (typeof(meta.comment) != 'undefined') {
|
467 |
+
rowData.comment = meta.comment;
|
468 |
+
}
|
469 |
+
|
470 |
+
// Set column width by cells of first table row
|
471 |
+
if (x == 0) {
|
472 |
+
columnsWidth.push(editor.getColWidth(y));
|
473 |
+
}
|
474 |
+
|
475 |
+
currentRow.cells.push(rowData);
|
476 |
});
|
477 |
+
|
478 |
+
// Row height
|
479 |
+
currentRow.height = editor.getRowHeight(x);
|
480 |
+
|
481 |
+
rowsData.push(currentRow);
|
482 |
});
|
483 |
+
|
484 |
+
metaData = {
|
485 |
+
mergedCells: mergeData,
|
486 |
+
columnsWidth: columnsWidth,
|
487 |
+
columnsFixedWidth: g_stbFixedColumnsWidth,
|
488 |
+
columnsSortOrder: g_stbMultipleColumnsSorting,
|
489 |
+
columnsDisableSorting: g_stbDisableColumnsSorting,
|
490 |
+
css: this.getCssEditor().getValue()
|
491 |
+
};
|
492 |
+
|
493 |
+
// Request to save settings, meta and rows
|
494 |
+
$.when(
|
495 |
+
self.setSettings(id, formData),
|
496 |
+
self.setHistorySettings(id, $('form#history-settings')),
|
497 |
+
self.setMeta(id, metaData)
|
498 |
+
).then(
|
499 |
+
function() {
|
500 |
+
self.setRows(id, rowsData, byPart, preview);
|
501 |
+
}
|
502 |
+
);
|
503 |
+
} else {
|
504 |
+
if(preview && !g_stbPreviewTimeoutSet) {
|
505 |
+
this.getPreview(id, preview);
|
506 |
+
}
|
507 |
}
|
508 |
};
|
509 |
|
510 |
+
TablesModel.prototype.getPreview = function (id, preview) {
|
511 |
+
var self = this;
|
512 |
|
513 |
+
if(g_stbDoSaving) {
|
514 |
+
g_stbPreviewTimeoutSet = true;
|
515 |
+
setTimeout(function() {
|
516 |
+
self.getPreview(id, preview);
|
517 |
+
}, 50);
|
518 |
|
519 |
+
} else {
|
520 |
+
g_stbPreviewTimeoutSet = false;
|
|
|
521 |
|
522 |
+
var container = preview instanceof $ ? preview : $(preview),
|
523 |
+
table;
|
524 |
+
|
525 |
+
if(container.length) {
|
526 |
+
container.html(app.createSpinner());
|
527 |
+
|
528 |
+
return this.render(app.getParameterByName('id')).done(function(response) {
|
529 |
+
container.empty().append($(response.table));
|
530 |
+
table = container.find('table');
|
531 |
+
app.initializeTable(table, app.showTable, function(table) {
|
532 |
+
self._afterTablePreview(table);
|
533 |
+
});
|
534 |
+
});
|
535 |
}
|
536 |
+
}
|
537 |
+
};
|
538 |
|
539 |
+
TablesModel.prototype.getPreviewHistoryTable = function (userId, preview, period) {
|
540 |
+
var self = this,
|
541 |
+
container = preview instanceof $ ? preview : $(preview),
|
542 |
+
table;
|
543 |
+
|
544 |
+
if(container.length) {
|
545 |
+
container.html(app.createSpinner());
|
546 |
+
|
547 |
+
return this.renderFromHistory(userId, app.getParameterByName('id'), period).done(function(response) {
|
548 |
+
container.empty().append($(response.table));
|
549 |
+
table = container.find('table');
|
550 |
+
app.initializeTable(table, app.showTable, function(table) {
|
551 |
+
self._afterTablePreview(table);
|
552 |
+
});
|
553 |
+
});
|
554 |
}
|
555 |
};
|
556 |
|
562 |
return this.request('render', { id: id });
|
563 |
};
|
564 |
|
565 |
+
TablesModel.prototype.renderFromHistory = function (userId, tableId, period) {
|
566 |
if (isNaN(userId = parseInt(userId))) {
|
567 |
throw new Error('Invalid user id.');
|
568 |
}
|
570 |
throw new Error('Invalid table id.');
|
571 |
}
|
572 |
|
573 |
+
return this.request('renderFromHistory', { user_id: userId, table_id: tableId, period: period });
|
574 |
+
};
|
575 |
+
|
576 |
+
TablesModel.prototype.renameTable = function (id, title) {
|
577 |
+
var $labelShell = $('#stbTableTitleShell'),
|
578 |
+
$labelHtml = $('#stbTableTitleLabel'),
|
579 |
+
$labelTxt = $('#stbTableTitleTxt');
|
580 |
+
|
581 |
+
if($labelShell.data('sending')) return;
|
582 |
+
if(!$labelTxt.data('ready')) return;
|
583 |
+
$labelShell.data('sending', 1);
|
584 |
+
app.createSpinner($labelShell);
|
585 |
+
this.renameTableRequest(app.getParameterByName('id'), $labelTxt.val())
|
586 |
+
.done(function (res) {
|
587 |
+
if(!res.error) {
|
588 |
+
$labelHtml.html( $.trim($labelTxt.val()) );
|
589 |
+
$labelTxt.hide( g_stbAnimationSpeed ).data('ready', 0);
|
590 |
+
$labelHtml.show( g_stbAnimationSpeed );
|
591 |
+
$labelShell.data('edit-on', 0);
|
592 |
+
}
|
593 |
+
$labelShell.data('sending', 0);
|
594 |
+
app.deleteSpinner($labelShell);
|
595 |
+
})
|
596 |
+
.fail(function (error) {
|
597 |
+
$('#stbTableTitleEditMsg').html('Failed to rename table: ' + error);
|
598 |
+
});
|
599 |
+
};
|
600 |
+
|
601 |
+
TablesModel.prototype.remove = function (id) {
|
602 |
+
if (isNaN(id = parseInt(id))) {
|
603 |
+
throw new Error('Invalid table id.');
|
604 |
+
}
|
605 |
+
|
606 |
+
return this.request('remove', { id: id });
|
607 |
};
|
608 |
|
609 |
TablesModel.prototype.isNumber = function (value) {
|
615 |
|
616 |
return false;
|
617 |
};
|
618 |
+
|
619 |
TablesModel.prototype.isFormula = function (value) {
|
620 |
if (value) {
|
621 |
if (value[0] === '=') {
|
624 |
}
|
625 |
return false;
|
626 |
};
|
627 |
+
|
628 |
TablesModel.prototype.getFormulaResult = function (value, row, col) {
|
629 |
+
var plugin = app.Editor.Hot.plugin,
|
630 |
+
cellId = plugin.utils.translateCellCoords({row: row, col: col}),
|
631 |
formula = value.substr(1).toUpperCase(),
|
632 |
+
newValue = plugin.parse(formula, {row: row, col: col, id: cellId});
|
|
|
633 |
|
634 |
+
// check if update needed
|
635 |
+
var needUpdate = (newValue.error === '#NEED_UPDATE');
|
636 |
|
637 |
+
if (newValue.error && formula.indexOf('IFERROR') > -1) {
|
638 |
+
var matches = formula.match(/\((\(*.*\)*),(\(*.*\)*)\)$/);
|
639 |
+
|
640 |
+
if (matches) {
|
641 |
+
var secondParse = plugin.parse(matches[2], {row: row, col: col, id: cellId});
|
642 |
+
|
643 |
+
if (!secondParse.error) {
|
644 |
+
newValue.error = null;
|
645 |
+
newValue.result = secondParse.result;
|
646 |
+
}
|
647 |
+
}
|
648 |
}
|
649 |
+
// update item value and error
|
650 |
+
plugin.matrix.updateItem(
|
651 |
+
plugin.matrix.addItem({ id: cellId, formula: formula }),
|
652 |
+
{ value: newValue.result, error: newValue.error, needUpdate: needUpdate }
|
653 |
+
);
|
654 |
+
// update cell value in hot
|
655 |
+
return newValue.error ? newValue.error : newValue.result;
|
656 |
};
|
657 |
+
|
658 |
TablesModel.prototype.setCellFormat = function(value, formatType) {
|
659 |
if(value && this.isNumber(value) && !isNaN(value)) {
|
660 |
var languageData = numeral.languageData(),
|
725 |
return value;
|
726 |
};
|
727 |
|
728 |
+
TablesModel.prototype._prepareData = function (data, maxLength) {
|
729 |
+
maxLength = maxLength ? maxLength : 200000;
|
730 |
+
|
731 |
+
var dataToJson = JSON.stringify(data)
|
732 |
+
, dataArray = [];
|
733 |
+
|
734 |
+
if(dataToJson.length > maxLength) {
|
735 |
+
while(dataToJson.length > maxLength) {
|
736 |
+
var newStr = dataToJson.substr(0, maxLength);
|
737 |
+
|
738 |
+
dataArray.push(newStr);
|
739 |
+
dataToJson = dataToJson.replace(newStr, '');
|
740 |
+
}
|
741 |
+
dataArray.push(dataToJson);
|
742 |
+
|
743 |
+
return dataArray;
|
744 |
+
} else {
|
745 |
+
return dataToJson;
|
746 |
+
}
|
747 |
+
};
|
748 |
+
|
749 |
+
TablesModel.prototype._afterTablePreview = function(table) {
|
750 |
+
if(SDT_DATA.isPro && typeof(app.createEditableFields) != 'function') { // for compatibility with old pro versions
|
751 |
+
$.getScript(SDT_DATA.pluginsUrl + '/tables-generator-pro/src/SupsysticTablesPro/Tables/assets/js/frontend.pro.js');
|
752 |
+
}
|
753 |
+
|
754 |
+
// Fix of conflict with handsontable library - it triggers error if user makes click on link without href attribute
|
755 |
+
var features = table.data('features');
|
756 |
+
|
757 |
+
if(toeInArray('paging', features) != -1) {
|
758 |
+
$('.dataTables_paginate .paginate_button').each(function() {
|
759 |
+
$(this).attr('href', '#');
|
760 |
+
$(this).attr('onclick', 'return false');
|
761 |
+
});
|
762 |
+
table.on('page.dt', function() {
|
763 |
+
setTimeout(function() {
|
764 |
+
$('.dataTables_paginate .paginate_button').each(function() {
|
765 |
+
$(this).attr('href', '#');
|
766 |
+
$(this).attr('onclick', 'return false');
|
767 |
+
});
|
768 |
+
}, 50);
|
769 |
+
|
770 |
+
});
|
771 |
+
}
|
772 |
+
};
|
773 |
+
|
774 |
+
TablesModel.prototype._b64EncodeUnicode = function(str) {
|
775 |
+
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
|
776 |
+
return String.fromCharCode('0x' + p1);
|
777 |
+
}));
|
778 |
+
};
|
779 |
+
|
780 |
return TablesModel;
|
781 |
})();
|
782 |
|
783 |
app.Models = app.Models || {};
|
784 |
+
app.Models._Tables = TablesModel;
|
785 |
app.Models.Tables = new TablesModel();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
786 |
|
787 |
+
$.when( app.Models.Tables.getTablesSettings() ).then(function( data, textStatus, jqXHR ) {
|
788 |
+
if(data.success) {
|
789 |
+
app.Models.Tables.step = data.settings.table_step;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
790 |
}
|
791 |
+
});
|
|
|
792 |
}(window.jQuery, window.supsystic.Tables));
|
src/SupsysticTables/Tables/assets/js/tables.shortcode.js
CHANGED
@@ -49,9 +49,15 @@
|
|
49 |
});
|
50 |
}
|
51 |
}
|
|
|
|
|
|
|
|
|
|
|
52 |
});
|
53 |
});
|
54 |
});
|
|
|
55 |
function getOriginalImageSizes(img) {
|
56 |
var tempImage = new Image(),
|
57 |
width,
|
49 |
});
|
50 |
}
|
51 |
}
|
52 |
+
if(typeof app.getTableInstanceById(table.data('id')).fnAdjustColumnSizing == 'function' ) {
|
53 |
+
setTimeout(function(){
|
54 |
+
app.getTableInstanceById(table.data('id')).fnAdjustColumnSizing();
|
55 |
+
}, 350);
|
56 |
+
}
|
57 |
});
|
58 |
});
|
59 |
});
|
60 |
+
|
61 |
function getOriginalImageSizes(img) {
|
62 |
var tempImage = new Image(),
|
63 |
width,
|
src/SupsysticTables/Tables/assets/js/tables.view.js
CHANGED
@@ -1,22 +1,27 @@
|
|
1 |
-
var g_stbDoSaving = false;
|
2 |
-
var g_stbPreviewTimeoutSet = false;
|
3 |
var g_stbAnimationSpeed = 300;
|
|
|
|
|
|
|
4 |
var g_stbFixedColumnsWidth = [];
|
|
|
|
|
5 |
var g_stbMultipleColumnsSorting = [];
|
6 |
var g_stbDisableColumnsSorting = [];
|
7 |
-
var g_stbTableLoaderBgColorTimeoutSet = false;
|
8 |
-
var g_stbTableLoaderBgColorLast = '';
|
9 |
-
var g_stbColumnWidthDialog;
|
10 |
var g_stbMultipleColumnsSortingDialog;
|
|
|
11 |
var g_stbTableLoaderIconDialog;
|
12 |
-
|
|
|
|
|
|
|
13 |
var g_stbCopyPasteCellsMetaData = [];
|
14 |
var g_stbCopyPasteRowsCount = [];
|
15 |
var g_stbCopyPasteColsCount = [];
|
16 |
(function ($, app, undefined) {
|
17 |
$(document).ready(function () {
|
18 |
-
var
|
19 |
-
editor =
|
|
|
20 |
|
21 |
// Initialize Main Tabs
|
22 |
var $mainTabsContent = $('.row-tab'),
|
@@ -24,7 +29,6 @@ var g_stbCopyPasteColsCount = [];
|
|
24 |
$currentTab = $mainTabs.filter('.current').attr('href');
|
25 |
|
26 |
$mainTabsContent.filter($currentTab).addClass('active');
|
27 |
-
|
28 |
$mainTabs.on('click', function (e) {
|
29 |
e.preventDefault();
|
30 |
|
@@ -41,7 +45,7 @@ var g_stbCopyPasteColsCount = [];
|
|
41 |
editor.render();
|
42 |
break;
|
43 |
case '#row-tab-preview':
|
44 |
-
saveTable('#table-preview');
|
45 |
break;
|
46 |
default:
|
47 |
break;
|
@@ -76,8 +80,8 @@ var g_stbCopyPasteColsCount = [];
|
|
76 |
});
|
77 |
|
78 |
// Configure CSS Editor
|
79 |
-
|
80 |
-
|
81 |
|
82 |
// Make editors responsive for window height
|
83 |
$('#tableEditor, #css-editor').css({
|
@@ -114,10 +118,10 @@ var g_stbCopyPasteColsCount = [];
|
|
114 |
}
|
115 |
});
|
116 |
$('#stbTableTitleTxt').blur(function(){
|
117 |
-
|
118 |
}).keydown(function(e){
|
119 |
if(e.keyCode == 13) { // Enter pressed
|
120 |
-
|
121 |
}
|
122 |
});
|
123 |
|
@@ -148,7 +152,7 @@ var g_stbCopyPasteColsCount = [];
|
|
148 |
$this.find('input[name="columnWidth"]').val('');
|
149 |
},
|
150 |
buttons: {
|
151 |
-
Apply: function (
|
152 |
var $this = $(this),
|
153 |
editor = window.editor,
|
154 |
selection = editor.getSelectedRange(),
|
@@ -161,7 +165,7 @@ var g_stbCopyPasteColsCount = [];
|
|
161 |
}
|
162 |
$(this).dialog('close');
|
163 |
},
|
164 |
-
'Clear Fixed Width': function (
|
165 |
if (confirm('Are you sure you want to clear wixed width for all columns?')) {
|
166 |
g_stbFixedColumnsWidth = [];
|
167 |
$(this).dialog('close');
|
@@ -207,7 +211,7 @@ var g_stbCopyPasteColsCount = [];
|
|
207 |
$this.find('#disableSortOrderData').html(disableSortOrder);
|
208 |
},
|
209 |
buttons: {
|
210 |
-
Apply: function (
|
211 |
var $this = $(this),
|
212 |
editor = window.editor,
|
213 |
selection = editor.getSelectedRange(),
|
@@ -233,13 +237,13 @@ var g_stbCopyPasteColsCount = [];
|
|
233 |
|
234 |
$(this).dialog('close');
|
235 |
},
|
236 |
-
'Clear Multiple Sorting': function (
|
237 |
if (confirm('Are you sure you want to clear multiple sorting for all columns?')) {
|
238 |
g_stbMultipleColumnsSorting = [];
|
239 |
$(this).dialog('close');
|
240 |
}
|
241 |
},
|
242 |
-
'Clear Disable Sorting': function (
|
243 |
if (confirm('Are you sure you want to clear disable sorting for all columns?')) {
|
244 |
g_stbDisableColumnsSorting = [];
|
245 |
$(this).dialog('close');
|
@@ -278,18 +282,18 @@ var g_stbCopyPasteColsCount = [];
|
|
278 |
dialog.next().find('button:first-of-type').html('Clone').show();
|
279 |
},
|
280 |
buttons: {
|
281 |
-
Clone: function (
|
282 |
var $dialog = $(this),
|
283 |
-
$button = $(
|
284 |
|
285 |
$button.attr('disabled', true);
|
286 |
$button.html(app.createSpinner());
|
287 |
-
|
288 |
id: app.getParameterByName('id'),
|
289 |
title: $(this).find('input').val()
|
290 |
}).done(function(response) {
|
291 |
if (response.success) {
|
292 |
-
var html = '<a href="' + app.replaceParameterByName(window.location.href, 'id', response.id) + '" class="ui-button" style="
|
293 |
|
294 |
$button.hide();
|
295 |
$dialog.find('.input-group').hide();
|
@@ -308,7 +312,7 @@ var g_stbCopyPasteColsCount = [];
|
|
308 |
g_stbCloneDialog.dialog('open');
|
309 |
});
|
310 |
$('#buttonSave').on('click', function () {
|
311 |
-
saveTable();
|
312 |
});
|
313 |
$('#buttonDelete').on('click', function () {
|
314 |
var $button = $(this);
|
@@ -317,7 +321,7 @@ var g_stbCopyPasteColsCount = [];
|
|
317 |
return;
|
318 |
}
|
319 |
app.createSpinner($button);
|
320 |
-
|
321 |
.done(function () {
|
322 |
window.location.href = $('#menuItem_tables').attr('href');
|
323 |
})
|
@@ -345,49 +349,43 @@ var g_stbCopyPasteColsCount = [];
|
|
345 |
// Set numbers
|
346 |
formSettings.find('[name="useNumberFormat"]').on('change ifChanged', function() {
|
347 |
if($(this).is(':checked')) {
|
348 |
-
|
349 |
$('.use-number-format-options').show();
|
350 |
} else {
|
351 |
-
|
352 |
$('.use-number-format-options').hide();
|
353 |
}
|
354 |
editor.render();
|
355 |
}).trigger('change');
|
356 |
-
formSettings.find('[name="numberFormat"]').on('change', function(
|
357 |
-
|
358 |
-
var value = $.trim($(this).val());
|
359 |
-
setFormatToDiagramsAxis(value, 'number');
|
360 |
editor.render();
|
361 |
});
|
362 |
|
363 |
// Set currency
|
364 |
-
formSettings.find('[name="currencyFormat"]').on('change', function(
|
365 |
-
|
366 |
-
var value = $.trim($(this).val());
|
367 |
-
$('.currency-format').attr('data-format', value);
|
368 |
-
setFormatToDiagramsAxis(value, 'currency');
|
369 |
editor.render();
|
370 |
});
|
371 |
|
372 |
// Set percent
|
373 |
-
formSettings.find('[name="percentFormat"]').on('change', function(
|
374 |
-
|
375 |
var value = $.trim($(this).val());
|
376 |
$('.percent-format').attr('data-format', value);
|
377 |
$('.percent-convert-format').attr('data-format', value);
|
378 |
-
setFormatToDiagramsAxis(value, 'percent');
|
379 |
editor.render();
|
380 |
});
|
381 |
|
382 |
// Set date
|
383 |
-
formSettings.find('[name="dateFormat"]').on('change', function(
|
384 |
-
|
385 |
$('.date-format').attr('data-format', $.trim($(this).val()));
|
386 |
});
|
387 |
|
388 |
// Set time / duration
|
389 |
-
formSettings.find('[name="timeDurationFormat"]').on('change', function(
|
390 |
-
|
391 |
$('.time_duration-format').attr('data-format', $.trim($(this).val()));
|
392 |
});
|
393 |
|
@@ -508,65 +506,29 @@ var g_stbCopyPasteColsCount = [];
|
|
508 |
});
|
509 |
|
510 |
// Pro Notifications and Dialog Windows
|
511 |
-
var $
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
buttons: {
|
526 |
-
Close: function () {
|
527 |
-
$(this).dialog('close');
|
528 |
-
}
|
529 |
-
}
|
530 |
-
}),
|
531 |
-
$selectableFieldProFeatureDialog = $('#selectableFieldProFeatureDialog').dialog({
|
532 |
-
autoOpen: false,
|
533 |
-
width: 480,
|
534 |
-
modal: true,
|
535 |
-
buttons: {
|
536 |
-
Close: function () {
|
537 |
-
$(this).dialog('close');
|
538 |
-
}
|
539 |
-
}
|
540 |
-
}),
|
541 |
-
$addDiagramProFeatureDialog = $('#addDiagramProFeatureDialog').dialog({
|
542 |
-
autoOpen: false,
|
543 |
-
width: 913,
|
544 |
-
height: 'auto',
|
545 |
-
modal: true,
|
546 |
-
buttons: {
|
547 |
-
Close: function () {
|
548 |
-
$(this).dialog('close');
|
549 |
}
|
550 |
-
}
|
551 |
});
|
552 |
-
|
553 |
-
|
554 |
-
$
|
555 |
-
});
|
556 |
-
$('#editableFieldProFeature').on('click', function(event) {
|
557 |
-
event.preventDefault();
|
558 |
-
$editableFieldProFeatureDialog.dialog('open');
|
559 |
-
});
|
560 |
-
$('#selectableFieldProFeature').on('click', function(event) {
|
561 |
-
event.preventDefault();
|
562 |
-
$selectableFieldProFeatureDialog.dialog('open');
|
563 |
-
});
|
564 |
-
$('#addDiagramProFeature').on('click', function(event) {
|
565 |
-
event.preventDefault();
|
566 |
-
$addDiagramProFeatureDialog.dialog('open');
|
567 |
});
|
568 |
-
$('#previewDiagramProFeature [data-tabs] a').on('click', function(
|
569 |
-
|
570 |
|
571 |
var dialog = $('#previewDiagramProFeature');
|
572 |
|
@@ -576,219 +538,5 @@ var g_stbCopyPasteColsCount = [];
|
|
576 |
$(this).addClass('active');
|
577 |
dialog.find('[data-tab="' + $(this).attr('href') + '"]').addClass('active');
|
578 |
});
|
579 |
-
|
580 |
-
// Functions
|
581 |
-
function saveTable(preview) {
|
582 |
-
preview = typeof(preview) != 'undefined' ? preview : false;
|
583 |
-
var id = app.getParameterByName('id');
|
584 |
-
|
585 |
-
if(!g_stbDoSaving) {
|
586 |
-
g_stbDoSaving = true;
|
587 |
-
|
588 |
-
var byPart = true,
|
589 |
-
formData = $('form#settings'),
|
590 |
-
metaData = [],
|
591 |
-
mergeData = [],
|
592 |
-
rowsData = [],
|
593 |
-
columnsWidth = [],
|
594 |
-
afterTableLoadedScript = b64EncodeUnicode(formData.find('input[name="features[after_table_loaded_script]"]').val());
|
595 |
-
|
596 |
-
if(preview) {
|
597 |
-
var tableInstance = app.getTableInstanceById(id);
|
598 |
-
|
599 |
-
if(tableInstance) {
|
600 |
-
tableInstance.api().destroy();
|
601 |
-
$(preview).empty();
|
602 |
-
}
|
603 |
-
}
|
604 |
-
app.createSpinner($('#buttonSave'));
|
605 |
-
|
606 |
-
// Put textareas data into the hidden fields before the saving of table settings
|
607 |
-
formData.find('input[name="elements[descriptionText]"]').val( formData.find('#descriptionText').val() );
|
608 |
-
formData.find('input[name="elements[signatureText]"]').val( formData.find('#signatureText').val() );
|
609 |
-
formData.find('input[name="features[after_table_loaded_script]"]').val(afterTableLoadedScript);
|
610 |
-
|
611 |
-
$.each(editor.getData(), function (x, row) {
|
612 |
-
var currentRow = { cells: [] };
|
613 |
-
|
614 |
-
$.each(row, function (y, cell) {
|
615 |
-
var meta = editor.getCellMeta(x, y),
|
616 |
-
cellHtml = $(editor.getCell(x, y)),
|
617 |
-
classes = [],
|
618 |
-
rowData = {
|
619 |
-
data: cell,
|
620 |
-
calculatedValue: null,
|
621 |
-
hidden: false,
|
622 |
-
hiddenCell: meta.className && meta.className.match('hiddenCell') !== null,
|
623 |
-
invisibleCell: meta.className && meta.className.match('invisibleCell') !== null
|
624 |
-
},
|
625 |
-
mergeCell = editor.mergeCells.mergedCellInfoCollection.getInfo(x, y);
|
626 |
-
|
627 |
-
// set merged params
|
628 |
-
if(mergeCell !== undefined) {
|
629 |
-
mergeData.push(mergeCell);
|
630 |
-
rowData.hidden = true;
|
631 |
-
}
|
632 |
-
// set formatted value
|
633 |
-
cellHtml = cellHtml.clone();
|
634 |
-
cellHtml.find('.htAutocompleteArrow').remove();
|
635 |
-
rowData.formattedValue = cellHtml.text();
|
636 |
-
|
637 |
-
// selectable cell data source
|
638 |
-
if(meta.source && meta.source.length) {
|
639 |
-
meta.type = 'dropdown';
|
640 |
-
rowData.source = meta.source;
|
641 |
-
}
|
642 |
-
|
643 |
-
// Set cell format
|
644 |
-
rowData.type = meta.type ? meta.type : 'text';
|
645 |
-
rowData.baseType = meta.baseType ? meta.baseType : 'text';
|
646 |
-
rowData.formatType = meta.formatType ? meta.formatType : '';
|
647 |
-
|
648 |
-
switch(rowData.formatType) {
|
649 |
-
case 'currency':
|
650 |
-
rowData.format = formData.find('[name="currencyFormat"]').val();
|
651 |
-
break;
|
652 |
-
case 'percent':
|
653 |
-
rowData.format = formData.find('[name="percentFormat"]').val();
|
654 |
-
break;
|
655 |
-
case 'date':
|
656 |
-
//one table can contain multiple date formats
|
657 |
-
rowData.format = meta.format != 'undefined'
|
658 |
-
? meta.format
|
659 |
-
: formData.find('[name="dateFormat"]').val();
|
660 |
-
|
661 |
-
var date = moment(rowData.data, rowData.format);
|
662 |
-
|
663 |
-
if (date.isValid()) {
|
664 |
-
rowData.dateOrder = date.format('x');
|
665 |
-
}
|
666 |
-
break;
|
667 |
-
default:
|
668 |
-
rowData.format = meta.format;
|
669 |
-
break;
|
670 |
-
}
|
671 |
-
|
672 |
-
// Set calculated value for cells with formulas
|
673 |
-
if (app.Models.Tables.isFormula(cell)) {
|
674 |
-
var value = app.Models.Tables.getFormulaResult(cell, x, y);
|
675 |
-
|
676 |
-
if (value !== undefined) {
|
677 |
-
if (!isNaN(value) && value !== '0' && value !== 0 && value % 1 !== 0) { // round float
|
678 |
-
var floatValue = parseFloat(value);
|
679 |
-
|
680 |
-
if (floatValue.toString().indexOf('.') !== -1) {
|
681 |
-
var afterPointSybolsLength = floatValue.toString().split('.')[1].length;
|
682 |
-
|
683 |
-
if (afterPointSybolsLength > 4) {
|
684 |
-
value = floatValue.toFixed(4);
|
685 |
-
}
|
686 |
-
}
|
687 |
-
}
|
688 |
-
rowData.calculatedValue = value;
|
689 |
-
}
|
690 |
-
}
|
691 |
-
|
692 |
-
// Set classes for cell
|
693 |
-
if (meta.className !== undefined) {
|
694 |
-
$.each(meta.className.split(' '), function (index, element) {
|
695 |
-
if (element.length) {
|
696 |
-
classes.push($.trim(element));
|
697 |
-
}
|
698 |
-
});
|
699 |
-
}
|
700 |
-
rowData.meta = classes;
|
701 |
-
|
702 |
-
// Set comments for cell
|
703 |
-
if (typeof(meta.comment) != 'undefined') {
|
704 |
-
rowData.comment = meta.comment;
|
705 |
-
}
|
706 |
-
|
707 |
-
// Set column width by cells of first table row
|
708 |
-
if (x == 0) {
|
709 |
-
columnsWidth.push(editor.getColWidth(y));
|
710 |
-
}
|
711 |
-
|
712 |
-
currentRow.cells.push(rowData);
|
713 |
-
});
|
714 |
-
|
715 |
-
// Row height
|
716 |
-
currentRow.height = editor.getRowHeight(x);
|
717 |
-
|
718 |
-
rowsData.push(currentRow);
|
719 |
-
});
|
720 |
-
|
721 |
-
metaData = {
|
722 |
-
mergedCells: mergeData,
|
723 |
-
columnsWidth: columnsWidth,
|
724 |
-
columnsFixedWidth: g_stbFixedColumnsWidth,
|
725 |
-
columnsSortOrder: g_stbMultipleColumnsSorting,
|
726 |
-
columnsDisableSorting: g_stbDisableColumnsSorting,
|
727 |
-
css: ace.getValue()
|
728 |
-
};
|
729 |
-
|
730 |
-
// Request to save settings, meta and rows
|
731 |
-
$.when(
|
732 |
-
app.Models.Tables.setSettings(id, formData),
|
733 |
-
app.Models.Tables.setHistorySettings(id, $('form#history-settings')),
|
734 |
-
app.Models.Tables.setMeta(id, metaData)
|
735 |
-
).then(
|
736 |
-
function() {
|
737 |
-
app.Models.Tables.setRows(id, rowsData, byPart, preview);
|
738 |
-
}
|
739 |
-
);
|
740 |
-
} else {
|
741 |
-
if(preview && !g_stbPreviewTimeoutSet) {
|
742 |
-
getPreview(id, preview);
|
743 |
-
}
|
744 |
-
}
|
745 |
-
}
|
746 |
-
function getPreview(id, preview) {
|
747 |
-
if(g_stbDoSaving) {
|
748 |
-
setTimeout(function() {
|
749 |
-
getPreview(id, preview);
|
750 |
-
}, 50);
|
751 |
-
g_stbPreviewTimeoutSet = true;
|
752 |
-
} else {
|
753 |
-
app.Models.Tables.getPreview(id, preview);
|
754 |
-
g_stbPreviewTimeoutSet = false;
|
755 |
-
}
|
756 |
-
}
|
757 |
-
function b64EncodeUnicode(str) {
|
758 |
-
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
|
759 |
-
return String.fromCharCode('0x' + p1);
|
760 |
-
}));
|
761 |
-
}
|
762 |
-
function stbRenameTable(label) {
|
763 |
-
var $labelShell = $('#stbTableTitleShell'),
|
764 |
-
$labelHtml = $('#stbTableTitleLabel'),
|
765 |
-
$labelTxt = $('#stbTableTitleTxt');
|
766 |
-
|
767 |
-
if($labelShell.data('sending')) return;
|
768 |
-
if(!$labelTxt.data('ready')) return;
|
769 |
-
$labelShell.data('sending', 1);
|
770 |
-
app.createSpinner($labelShell);
|
771 |
-
app.Models.Tables.rename(app.getParameterByName('id'), $labelTxt.val())
|
772 |
-
.done(function (res) {
|
773 |
-
if(!res.error) {
|
774 |
-
$labelHtml.html( $.trim($labelTxt.val()) );
|
775 |
-
$labelTxt.hide( g_stbAnimationSpeed ).data('ready', 0);
|
776 |
-
$labelHtml.show( g_stbAnimationSpeed );
|
777 |
-
$labelShell.data('edit-on', 0);
|
778 |
-
}
|
779 |
-
$labelShell.data('sending', 0);
|
780 |
-
app.deleteSpinner($labelShell);
|
781 |
-
})
|
782 |
-
.fail(function (error) {
|
783 |
-
$('#stbTableTitleEditMsg').html('Failed to rename table: ' + error);
|
784 |
-
});
|
785 |
-
}
|
786 |
-
function setFormatToDiagramsAxis(value, type) {
|
787 |
-
if(SDT_DATA.isPro) {
|
788 |
-
value = value.replace(/[0-9]{1}/g, '#').replace(/\s+/g, '');
|
789 |
-
$('select[name="hAxis[format]"] option[data-type="' + type + '"]').attr('value', value);
|
790 |
-
$('select[name="vAxis[format]"] option[data-type="' + type + '"]').attr('value', value);
|
791 |
-
}
|
792 |
-
}
|
793 |
});
|
794 |
}(window.jQuery, window.supsystic.Tables));
|
|
|
|
|
1 |
var g_stbAnimationSpeed = 300;
|
2 |
+
|
3 |
+
var g_stbCloneDialog;
|
4 |
+
|
5 |
var g_stbFixedColumnsWidth = [];
|
6 |
+
var g_stbColumnWidthDialog;
|
7 |
+
|
8 |
var g_stbMultipleColumnsSorting = [];
|
9 |
var g_stbDisableColumnsSorting = [];
|
|
|
|
|
|
|
10 |
var g_stbMultipleColumnsSortingDialog;
|
11 |
+
|
12 |
var g_stbTableLoaderIconDialog;
|
13 |
+
|
14 |
+
var g_stbTableLoaderBgColorTimeoutSet = false;
|
15 |
+
var g_stbTableLoaderBgColorLast = '';
|
16 |
+
|
17 |
var g_stbCopyPasteCellsMetaData = [];
|
18 |
var g_stbCopyPasteRowsCount = [];
|
19 |
var g_stbCopyPasteColsCount = [];
|
20 |
(function ($, app, undefined) {
|
21 |
$(document).ready(function () {
|
22 |
+
var tablesModel = app.Models.Tables,
|
23 |
+
editor = app.Editor.Hot,
|
24 |
+
cssEditor = tablesModel.getCssEditor();
|
25 |
|
26 |
// Initialize Main Tabs
|
27 |
var $mainTabsContent = $('.row-tab'),
|
29 |
$currentTab = $mainTabs.filter('.current').attr('href');
|
30 |
|
31 |
$mainTabsContent.filter($currentTab).addClass('active');
|
|
|
32 |
$mainTabs.on('click', function (e) {
|
33 |
e.preventDefault();
|
34 |
|
45 |
editor.render();
|
46 |
break;
|
47 |
case '#row-tab-preview':
|
48 |
+
tablesModel.saveTable('#table-preview');
|
49 |
break;
|
50 |
default:
|
51 |
break;
|
80 |
});
|
81 |
|
82 |
// Configure CSS Editor
|
83 |
+
cssEditor.setTheme("ace/theme/monokai");
|
84 |
+
cssEditor.getSession().setMode("ace/mode/css");
|
85 |
|
86 |
// Make editors responsive for window height
|
87 |
$('#tableEditor, #css-editor').css({
|
118 |
}
|
119 |
});
|
120 |
$('#stbTableTitleTxt').blur(function(){
|
121 |
+
tablesModel.renameTable( $(this).val() );
|
122 |
}).keydown(function(e){
|
123 |
if(e.keyCode == 13) { // Enter pressed
|
124 |
+
tablesModel.renameTable( $(this).val() );
|
125 |
}
|
126 |
});
|
127 |
|
152 |
$this.find('input[name="columnWidth"]').val('');
|
153 |
},
|
154 |
buttons: {
|
155 |
+
Apply: function () {
|
156 |
var $this = $(this),
|
157 |
editor = window.editor,
|
158 |
selection = editor.getSelectedRange(),
|
165 |
}
|
166 |
$(this).dialog('close');
|
167 |
},
|
168 |
+
'Clear Fixed Width': function () {
|
169 |
if (confirm('Are you sure you want to clear wixed width for all columns?')) {
|
170 |
g_stbFixedColumnsWidth = [];
|
171 |
$(this).dialog('close');
|
211 |
$this.find('#disableSortOrderData').html(disableSortOrder);
|
212 |
},
|
213 |
buttons: {
|
214 |
+
Apply: function () {
|
215 |
var $this = $(this),
|
216 |
editor = window.editor,
|
217 |
selection = editor.getSelectedRange(),
|
237 |
|
238 |
$(this).dialog('close');
|
239 |
},
|
240 |
+
'Clear Multiple Sorting': function () {
|
241 |
if (confirm('Are you sure you want to clear multiple sorting for all columns?')) {
|
242 |
g_stbMultipleColumnsSorting = [];
|
243 |
$(this).dialog('close');
|
244 |
}
|
245 |
},
|
246 |
+
'Clear Disable Sorting': function () {
|
247 |
if (confirm('Are you sure you want to clear disable sorting for all columns?')) {
|
248 |
g_stbDisableColumnsSorting = [];
|
249 |
$(this).dialog('close');
|
282 |
dialog.next().find('button:first-of-type').html('Clone').show();
|
283 |
},
|
284 |
buttons: {
|
285 |
+
Clone: function (e) {
|
286 |
var $dialog = $(this),
|
287 |
+
$button = $(e.target).closest('button');
|
288 |
|
289 |
$button.attr('disabled', true);
|
290 |
$button.html(app.createSpinner());
|
291 |
+
tablesModel.request('cloneTable', {
|
292 |
id: app.getParameterByName('id'),
|
293 |
title: $(this).find('input').val()
|
294 |
}).done(function(response) {
|
295 |
if (response.success) {
|
296 |
+
var html = '<a href="' + app.replaceParameterByName(window.location.href, 'id', response.id) + '" class="ui-button" style="text-decoration: none !important;">Open cloned table</a><div style="float: right; margin-top: 5px;">Done!</div>';
|
297 |
|
298 |
$button.hide();
|
299 |
$dialog.find('.input-group').hide();
|
312 |
g_stbCloneDialog.dialog('open');
|
313 |
});
|
314 |
$('#buttonSave').on('click', function () {
|
315 |
+
tablesModel.saveTable();
|
316 |
});
|
317 |
$('#buttonDelete').on('click', function () {
|
318 |
var $button = $(this);
|
321 |
return;
|
322 |
}
|
323 |
app.createSpinner($button);
|
324 |
+
tablesModel.remove(app.getParameterByName('id'))
|
325 |
.done(function () {
|
326 |
window.location.href = $('#menuItem_tables').attr('href');
|
327 |
})
|
349 |
// Set numbers
|
350 |
formSettings.find('[name="useNumberFormat"]').on('change ifChanged', function() {
|
351 |
if($(this).is(':checked')) {
|
352 |
+
editor.useNumberFormat = true;
|
353 |
$('.use-number-format-options').show();
|
354 |
} else {
|
355 |
+
editor.useNumberFormat = false;
|
356 |
$('.use-number-format-options').hide();
|
357 |
}
|
358 |
editor.render();
|
359 |
}).trigger('change');
|
360 |
+
formSettings.find('[name="numberFormat"]').on('change', function(e) {
|
361 |
+
e.preventDefault();
|
|
|
|
|
362 |
editor.render();
|
363 |
});
|
364 |
|
365 |
// Set currency
|
366 |
+
formSettings.find('[name="currencyFormat"]').on('change', function(e) {
|
367 |
+
e.preventDefault();
|
|
|
|
|
|
|
368 |
editor.render();
|
369 |
});
|
370 |
|
371 |
// Set percent
|
372 |
+
formSettings.find('[name="percentFormat"]').on('change', function(e) {
|
373 |
+
e.preventDefault();
|
374 |
var value = $.trim($(this).val());
|
375 |
$('.percent-format').attr('data-format', value);
|
376 |
$('.percent-convert-format').attr('data-format', value);
|
|
|
377 |
editor.render();
|
378 |
});
|
379 |
|
380 |
// Set date
|
381 |
+
formSettings.find('[name="dateFormat"]').on('change', function(e) {
|
382 |
+
e.preventDefault();
|
383 |
$('.date-format').attr('data-format', $.trim($(this).val()));
|
384 |
});
|
385 |
|
386 |
// Set time / duration
|
387 |
+
formSettings.find('[name="timeDurationFormat"]').on('change', function(e) {
|
388 |
+
e.preventDefault();
|
389 |
$('.time_duration-format').attr('data-format', $.trim($(this).val()));
|
390 |
});
|
391 |
|
506 |
});
|
507 |
|
508 |
// Pro Notifications and Dialog Windows
|
509 |
+
var $proNotify = $('.pro-notify');
|
510 |
+
|
511 |
+
$proNotify.each(function() {
|
512 |
+
var $this = $(this);
|
513 |
+
|
514 |
+
$($this.data('dialog')).dialog({
|
515 |
+
autoOpen: false,
|
516 |
+
title: $this.data('dtitle'),
|
517 |
+
width: $this.data('dwidth'),
|
518 |
+
modal: true,
|
519 |
+
buttons: {
|
520 |
+
Close: function () {
|
521 |
+
$(this).dialog('close');
|
522 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
523 |
}
|
524 |
+
})
|
525 |
});
|
526 |
+
$proNotify.on('click', function (e) {
|
527 |
+
e.preventDefault();
|
528 |
+
$($(this).data('dialog')).dialog('open');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
529 |
});
|
530 |
+
$('#previewDiagramProFeature [data-tabs] a').on('click', function(e) {
|
531 |
+
e.preventDefault();
|
532 |
|
533 |
var dialog = $('#previewDiagramProFeature');
|
534 |
|
538 |
$(this).addClass('active');
|
539 |
dialog.find('[data-tab="' + $(this).attr('href') + '"]').addClass('active');
|
540 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
541 |
});
|
542 |
}(window.jQuery, window.supsystic.Tables));
|
src/SupsysticTables/Tables/assets/languagesData.php
ADDED
@@ -0,0 +1,1502 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
return array(
|
3 |
+
'Afrikaans' => '{
|
4 |
+
"sEmptyTable": "Geen data beskikbaar in tabel",
|
5 |
+
"sInfo": "uitstalling _START_ to _END_ of _TOTAL_ inskrywings",
|
6 |
+
"sInfoEmpty": "uitstalling 0 to 0 of 0 inskrywings",
|
7 |
+
"sInfoFiltered": "(gefiltreer uit _MAX_ totaal inskrywings)",
|
8 |
+
"sInfoPostFix": "",
|
9 |
+
"sInfoThousands": ",",
|
10 |
+
"sLengthMenu": "uitstal _MENU_ inskrywings",
|
11 |
+
"sLoadingRecords": "laai...",
|
12 |
+
"sProcessing": "verwerking...",
|
13 |
+
"sSearch": "soektog:",
|
14 |
+
"sZeroRecords": "Geen treffers gevind",
|
15 |
+
"oPaginate": {
|
16 |
+
"sFirst": "eerste",
|
17 |
+
"sLast": "laaste",
|
18 |
+
"sNext": "volgende",
|
19 |
+
"sPrevious": "vorige"
|
20 |
+
},
|
21 |
+
"oAria": {
|
22 |
+
"sSortAscending": ": aktiveer kolom stygende te sorteer",
|
23 |
+
"sSortDescending": ": aktiveer kolom orde te sorteer"
|
24 |
+
}
|
25 |
+
}',
|
26 |
+
'Albanian' => '{
|
27 |
+
"sEmptyTable": "Nuk ka asnjë të dhënë në tabele",
|
28 |
+
"sInfo": "Duke treguar _START_ deri _END_ prej _TOTAL_ reshtave",
|
29 |
+
"sInfoEmpty": "Duke treguar 0 deri 0 prej 0 reshtave",
|
30 |
+
"sInfoFiltered": "(të filtruara nga gjithësej _MAX_ reshtave)",
|
31 |
+
"sInfoPostFix": "",
|
32 |
+
"sInfoThousands": ",",
|
33 |
+
"sLengthMenu": "Shiko _MENU_ reshta",
|
34 |
+
"sLoadingRecords": "Duke punuar...",
|
35 |
+
"sProcessing": "Duke procesuar...",
|
36 |
+
"sSearch": "Kërkoni:",
|
37 |
+
"sZeroRecords": "Asnjë e dhënë nuk u gjet",
|
38 |
+
"oPaginate": {
|
39 |
+
"sFirst": "E para",
|
40 |
+
"sLast": "E Fundit",
|
41 |
+
"sNext": "Tjetra",
|
42 |
+
"sPrevious": "E Kaluara"
|
43 |
+
},
|
44 |
+
"oAria": {
|
45 |
+
"sSortAscending": ": aktivizo për të sortuar kolumnin me vlera në ngritje",
|
46 |
+
"sSortDescending": ": aktivizo për të sortuar kolumnin me vlera në zbritje"
|
47 |
+
}
|
48 |
+
}',
|
49 |
+
'Amharic' => '
|
50 |
+
{
|
51 |
+
"sEmptyTable": "ባዶ ሰንጠረዥ",
|
52 |
+
"sInfo": "ከጠቅላላው _TOTAL_ ዝርዝሮች ውስጥ ከ _START_ እስከ _END_ ያሉት ዝርዝር",
|
53 |
+
"sInfoEmpty": "ከጠቅላላው 0 ዝርዝሮች ውስጥ ከ 0 እስከ 0 ያሉት ዝርዝር",
|
54 |
+
"sInfoFiltered": "(ከጠቅላላው _MAX_ የተመረጡ ዝርዝሮች)",
|
55 |
+
"sInfoPostFix": "",
|
56 |
+
"sInfoThousands": ",",
|
57 |
+
"sLengthMenu": "የዝርዝሮች ብዛት _MENU_",
|
58 |
+
"sLoadingRecords": "በማቅረብ ላይ...",
|
59 |
+
"sProcessing": "በማቀናበር ላይ...",
|
60 |
+
"sSearch": "ፈልግ:",
|
61 |
+
"sZeroRecords": "ከሚፈለገው ጋር የሚሚሳሰል ዝርዝር አልተገኘም",
|
62 |
+
"oPaginate": {
|
63 |
+
"sFirst": "መጀመሪያ",
|
64 |
+
"sLast": "መጨረሻ",
|
65 |
+
"sNext": "ቀጣዩ",
|
66 |
+
"sPrevious": "የበፊቱ"
|
67 |
+
},
|
68 |
+
"oAria": {
|
69 |
+
"sSortAscending": ": ከመጀመሪያ ወደ መጨረሻ(ወጪ) አደራደር",
|
70 |
+
"sSortDescending": ": ከመጨረሻ ወደ መጀመሪያ(ወራጅ) አደራደር"
|
71 |
+
}
|
72 |
+
}',
|
73 |
+
'Arabic' => '{
|
74 |
+
"sProcessing": "جارٍ التحميل...",
|
75 |
+
"sLengthMenu": "أظهر _MENU_ مدخلات",
|
76 |
+
"sZeroRecords": "لم يعثر على أية سجلات",
|
77 |
+
"sInfo": "إظهار _START_ إلى _END_ من أصل _TOTAL_ مدخل",
|
78 |
+
"sInfoEmpty": "يعرض 0 إلى 0 من أصل 0 سجل",
|
79 |
+
"sInfoFiltered": "(منتقاة من مجموع _MAX_ مُدخل)",
|
80 |
+
"sInfoPostFix": "",
|
81 |
+
"sSearch": "ابحث:",
|
82 |
+
"sUrl": "",
|
83 |
+
"oPaginate": {
|
84 |
+
"sFirst": "الأول",
|
85 |
+
"sPrevious": "السابق",
|
86 |
+
"sNext": "التالي",
|
87 |
+
"sLast": "الأخير"
|
88 |
+
}
|
89 |
+
}',
|
90 |
+
'Armenian' => '{
|
91 |
+
"sEmptyTable": "Տվյալները բացակայում են",
|
92 |
+
"sProcessing": "Կատարվում է...",
|
93 |
+
"sInfoThousands": ",",
|
94 |
+
"sLengthMenu": "Ցուցադրել _MENU_ արդյունքներ մեկ էջում",
|
95 |
+
"sLoadingRecords": "Բեռնվում է ...",
|
96 |
+
"sZeroRecords": "Հարցմանը համապատասխանող արդյունքներ չկան",
|
97 |
+
"sInfo": "Ցուցադրված են _START_-ից _END_ արդյունքները ընդհանուր _TOTAL_-ից",
|
98 |
+
"sInfoEmpty": "Արդյունքներ գտնված չեն",
|
99 |
+
"sInfoFiltered": "(ֆիլտրվել է ընդհանուր _MAX_ արդյունքներից)",
|
100 |
+
"sInfoPostFix": "",
|
101 |
+
"sSearch": "Փնտրել",
|
102 |
+
"oPaginate": {
|
103 |
+
"sFirst": "Առաջին էջ",
|
104 |
+
"sPrevious": "Նախորդ էջ",
|
105 |
+
"sNext": "Հաջորդ էջ",
|
106 |
+
"sLast": "Վերջին էջ"
|
107 |
+
},
|
108 |
+
"oAria": {
|
109 |
+
"sSortAscending": ": ակտիվացրեք աճման կարգով դասավորելու համար",
|
110 |
+
"sSortDescending": ": ակտիվացրեք նվազման կարգով դասավորելու համար"
|
111 |
+
}
|
112 |
+
}',
|
113 |
+
'Azerbaijan' => '{
|
114 |
+
"sEmptyTable": "Cədvəldə heç bir məlumat yoxdur",
|
115 |
+
"sInfo": " _TOTAL_ Nəticədən _START_ - _END_ Arası Nəticələr",
|
116 |
+
"sInfoEmpty": "Nəticə Yoxdur",
|
117 |
+
"sInfoFiltered": "( _MAX_ Nəticə İçindən Tapılanlar)",
|
118 |
+
"sInfoPostFix": "",
|
119 |
+
"sInfoThousands": ",",
|
120 |
+
"sLengthMenu": "Səhifədə _MENU_ Nəticə Göstər",
|
121 |
+
"sLoadingRecords": "Yüklənir...",
|
122 |
+
"sProcessing": "Gözləyin...",
|
123 |
+
"sSearch": "Axtarış:",
|
124 |
+
"sZeroRecords": "Nəticə Tapılmadı.",
|
125 |
+
"oPaginate": {
|
126 |
+
"sFirst": "İlk",
|
127 |
+
"sLast": "Axırıncı",
|
128 |
+
"sNext": "Sonraki",
|
129 |
+
"sPrevious": "Öncəki"
|
130 |
+
},
|
131 |
+
"oAria": {
|
132 |
+
"sSortAscending": ": sütunu artma sırası üzərə aktiv etmək",
|
133 |
+
"sSortDescending": ": sütunu azalma sırası üzərə aktiv etmək"
|
134 |
+
}
|
135 |
+
}',
|
136 |
+
'Bangla' => '{
|
137 |
+
"sProcessing": "প্রসেসিং হচ্ছে...",
|
138 |
+
"sLengthMenu": "_MENU_ টা এন্ট্রি দেখাও",
|
139 |
+
"sZeroRecords": "আপনি যা অনুসন্ধান করেছেন তার সাথে মিলে যাওয়া কোন রেকর্ড খুঁজে পাওয়া যায় নাই",
|
140 |
+
"sInfo": "_TOTAL_ টা এন্ট্রির মধ্যে _START_ থেকে _END_ পর্যন্ত দেখানো হচ্ছে",
|
141 |
+
"sInfoEmpty": "কোন এন্ট্রি খুঁজে পাওয়া যায় নাই",
|
142 |
+
"sInfoFiltered": "(মোট _MAX_ টা এন্ট্রির মধ্যে থেকে বাছাইকৃত)",
|
143 |
+
"sInfoPostFix": "",
|
144 |
+
"sSearch": "অনুসন্ধান:",
|
145 |
+
"sUrl": "",
|
146 |
+
"oPaginate": {
|
147 |
+
"sFirst": "প্রথমটা",
|
148 |
+
"sPrevious": "আগেরটা",
|
149 |
+
"sNext": "পরবর্তীটা",
|
150 |
+
"sLast": "শেষেরটা"
|
151 |
+
}
|
152 |
+
}',
|
153 |
+
'Basque' => '{
|
154 |
+
"sProcessing": "Prozesatzen...",
|
155 |
+
"sLengthMenu": "Erakutsi _MENU_ erregistro",
|
156 |
+
"sZeroRecords": "Ez da emaitzarik aurkitu",
|
157 |
+
"sEmptyTable": "Taula hontan ez dago inongo datu erabilgarririk",
|
158 |
+
"sInfo": "_START_ -etik _END_ -erako erregistroak erakusten, guztira _TOTAL_ erregistro",
|
159 |
+
"sInfoEmpty": "0tik 0rako erregistroak erakusten, guztira 0 erregistro",
|
160 |
+
"sInfoFiltered": "(guztira _MAX_ erregistro iragazten)",
|
161 |
+
"sInfoPostFix": "",
|
162 |
+
"sSearch": "Aurkitu:",
|
163 |
+
"sUrl": "",
|
164 |
+
"sInfoThousands": ",",
|
165 |
+
"sLoadingRecords": "Abiarazten...",
|
166 |
+
"oPaginate": {
|
167 |
+
"sFirst": "Lehena",
|
168 |
+
"sLast": "Azkena",
|
169 |
+
"sNext": "Hurrengoa",
|
170 |
+
"sPrevious": "Aurrekoa"
|
171 |
+
},
|
172 |
+
"oAria": {
|
173 |
+
"sSortAscending": ": Zutabea goranzko eran ordenatzeko aktibatu ",
|
174 |
+
"sSortDescending": ": Zutabea beheranzko eran ordenatzeko aktibatu"
|
175 |
+
}
|
176 |
+
}',
|
177 |
+
'Belarusian' => '{
|
178 |
+
"sProcessing": "Пачакайце...",
|
179 |
+
"sLengthMenu": "Паказваць _MENU_ запісаў",
|
180 |
+
"sZeroRecords": "Запісы адсутнічаюць.",
|
181 |
+
"sInfo": "Запісы з _START_ па _END_ з _TOTAL_ запісаў",
|
182 |
+
"sInfoEmpty": "Запісы з 0 па 0 з 0 запісаў",
|
183 |
+
"sInfoFiltered": "(адфільтравана з _MAX_ запісаў)",
|
184 |
+
"sInfoPostFix": "",
|
185 |
+
"sSearch": "Пошук:",
|
186 |
+
"sUrl": "",
|
187 |
+
"oPaginate": {
|
188 |
+
"sFirst": "Першая",
|
189 |
+
"sPrevious": "Папярэдняя",
|
190 |
+
"sNext": "Наступная",
|
191 |
+
"sLast": "Апошняя"
|
192 |
+
},
|
193 |
+
"oAria": {
|
194 |
+
"sSortAscending": ": актываваць для сартавання слупка па ўзрастанні",
|
195 |
+
"sSortDescending": ": актываваць для сартавання слупка па змяншэнні"
|
196 |
+
}
|
197 |
+
}',
|
198 |
+
'Bulgarian' => '{
|
199 |
+
"sProcessing": "Обработка на резултатите...",
|
200 |
+
"sLengthMenu": "Показване на _MENU_ резултата",
|
201 |
+
"sZeroRecords": "Няма намерени резултати",
|
202 |
+
"sInfo": "Показване на резултати от _START_ до _END_ от общо _TOTAL_",
|
203 |
+
"sInfoEmpty": "Показване на резултати от 0 до 0 от общо 0",
|
204 |
+
"sInfoFiltered": "(филтрирани от общо _MAX_ резултата)",
|
205 |
+
"sInfoPostFix": "",
|
206 |
+
"sSearch": "Търсене във всички колони:",
|
207 |
+
"sUrl": "",
|
208 |
+
"oPaginate": {
|
209 |
+
"sFirst": "Първа",
|
210 |
+
"sPrevious": "Предишна",
|
211 |
+
"sNext": "Следваща",
|
212 |
+
"sLast": "Последна"
|
213 |
+
}
|
214 |
+
}',
|
215 |
+
'Catalan' => '{
|
216 |
+
"sProcessing": "Processant...",
|
217 |
+
"sLengthMenu": "Mostra _MENU_ registres",
|
218 |
+
"sZeroRecords": "No s\'han trobat registres.",
|
219 |
+
"sInfo": "Mostrant de _START_ a _END_ de _TOTAL_ registres",
|
220 |
+
"sInfoEmpty": "Mostrant de 0 a 0 de 0 registres",
|
221 |
+
"sInfoFiltered": "(filtrat de _MAX_ total registres)",
|
222 |
+
"sInfoPostFix": "",
|
223 |
+
"sSearch": "Filtrar:",
|
224 |
+
"sUrl": "",
|
225 |
+
"oPaginate": {
|
226 |
+
"sFirst": "Primer",
|
227 |
+
"sPrevious": "Anterior",
|
228 |
+
"sNext": "Següent",
|
229 |
+
"sLast": "Últim"
|
230 |
+
}
|
231 |
+
}',
|
232 |
+
'Chinese-traditional' => '{
|
233 |
+
"processing": "處理中...",
|
234 |
+
"loadingRecords": "載入中...",
|
235 |
+
"lengthMenu": "顯示 _MENU_ 項結果",
|
236 |
+
"zeroRecords": "沒有符合的結果",
|
237 |
+
"info": "顯示第 _START_ 至 _END_ 項結果,共 _TOTAL_ 項",
|
238 |
+
"infoEmpty": "顯示第 0 至 0 項結果,共 0 項",
|
239 |
+
"infoFiltered": "(從 _MAX_ 項結果中過濾)",
|
240 |
+
"infoPostFix": "",
|
241 |
+
"search": "搜尋:",
|
242 |
+
"paginate": {
|
243 |
+
"first": "第一頁",
|
244 |
+
"previous": "上一頁",
|
245 |
+
"next": "下一頁",
|
246 |
+
"last": "最後一頁"
|
247 |
+
},
|
248 |
+
"aria": {
|
249 |
+
"sortAscending": ": 升冪排列",
|
250 |
+
"sortDescending": ": 降冪排列"
|
251 |
+
}
|
252 |
+
}',
|
253 |
+
'Chinese' => '{
|
254 |
+
"sProcessing": "处理中...",
|
255 |
+
"sLengthMenu": "显示 _MENU_ 项结果",
|
256 |
+
"sZeroRecords": "没有匹配结果",
|
257 |
+
"sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
|
258 |
+
"sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
|
259 |
+
"sInfoFiltered": "(由 _MAX_ 项结果过滤)",
|
260 |
+
"sInfoPostFix": "",
|
261 |
+
"sSearch": "搜索:",
|
262 |
+
"sUrl": "",
|
263 |
+
"sEmptyTable": "表中数据为空",
|
264 |
+
"sLoadingRecords": "载入中...",
|
265 |
+
"sInfoThousands": ",",
|
266 |
+
"oPaginate": {
|
267 |
+
"sFirst": "首页",
|
268 |
+
"sPrevious": "上页",
|
269 |
+
"sNext": "下页",
|
270 |
+
"sLast": "末页"
|
271 |
+
},
|
272 |
+
"oAria": {
|
273 |
+
"sSortAscending": ": 以升序排列此列",
|
274 |
+
"sSortDescending": ": 以降序排列此列"
|
275 |
+
}
|
276 |
+
}',
|
277 |
+
'Croatian' => '{
|
278 |
+
"sEmptyTable": "Nema podataka u tablici",
|
279 |
+
"sInfo": "Prikazano _START_ do _END_ od _TOTAL_ rezultata",
|
280 |
+
"sInfoEmpty": "Prikazano 0 do 0 od 0 rezultata",
|
281 |
+
"sInfoFiltered": "(filtrirano iz _MAX_ ukupnih rezultata)",
|
282 |
+
"sInfoPostFix": "",
|
283 |
+
"sInfoThousands": ",",
|
284 |
+
"sLengthMenu": "Prikaži _MENU_ rezultata po stranici",
|
285 |
+
"sLoadingRecords": "Dohvaćam...",
|
286 |
+
"sProcessing": "Obrađujem...",
|
287 |
+
"sSearch": "Pretraži:",
|
288 |
+
"sZeroRecords": "Ništa nije pronađeno",
|
289 |
+
"oPaginate": {
|
290 |
+
"sFirst": "Prva",
|
291 |
+
"sPrevious": "Nazad",
|
292 |
+
"sNext": "Naprijed",
|
293 |
+
"sLast": "Zadnja"
|
294 |
+
},
|
295 |
+
"oAria": {
|
296 |
+
"sSortAscending": ": aktiviraj za rastući poredak",
|
297 |
+
"sSortDescending": ": aktiviraj za padajući poredak"
|
298 |
+
}
|
299 |
+
}',
|
300 |
+
'Czech' => '{
|
301 |
+
"sEmptyTable": "Tabulka neobsahuje žádná data",
|
302 |
+
"sInfo": "Zobrazuji _START_ až _END_ z celkem _TOTAL_ záznamů",
|
303 |
+
"sInfoEmpty": "Zobrazuji 0 až 0 z 0 záznamů",
|
304 |
+
"sInfoFiltered": "(filtrováno z celkem _MAX_ záznamů)",
|
305 |
+
"sInfoPostFix": "",
|
306 |
+
"sInfoThousands": " ",
|
307 |
+
"sLengthMenu": "Zobraz záznamů _MENU_",
|
308 |
+
"sLoadingRecords": "Načítám...",
|
309 |
+
"sProcessing": "Provádím...",
|
310 |
+
"sSearch": "Hledat:",
|
311 |
+
"sZeroRecords": "Žádné záznamy nebyly nalezeny",
|
312 |
+
"oPaginate": {
|
313 |
+
"sFirst": "První",
|
314 |
+
"sLast": "Poslední",
|
315 |
+
"sNext": "Další",
|
316 |
+
"sPrevious": "Předchozí"
|
317 |
+
},
|
318 |
+
"oAria": {
|
319 |
+
"sSortAscending": ": aktivujte pro řazení sloupce vzestupně",
|
320 |
+
"sSortDescending": ": aktivujte pro řazení sloupce sestupně"
|
321 |
+
}
|
322 |
+
}',
|
323 |
+
'Danish' => '{
|
324 |
+
"sProcessing": "Henter...",
|
325 |
+
"sLengthMenu": "Vis _MENU_ linjer",
|
326 |
+
"sZeroRecords": "Ingen linjer matcher søgningen",
|
327 |
+
"sInfo": "Viser _START_ til _END_ af _TOTAL_ linjer",
|
328 |
+
"sInfoEmpty": "Viser 0 til 0 af 0 linjer",
|
329 |
+
"sInfoFiltered": "(filtreret fra _MAX_ linjer)",
|
330 |
+
"sInfoPostFix": "",
|
331 |
+
"sSearch": "Søg:",
|
332 |
+
"sUrl": "",
|
333 |
+
"oPaginate": {
|
334 |
+
"sFirst": "Første",
|
335 |
+
"sPrevious": "Forrige",
|
336 |
+
"sNext": "Næste",
|
337 |
+
"sLast": "Sidste"
|
338 |
+
}
|
339 |
+
}',
|
340 |
+
'Dutch' => '{
|
341 |
+
"sProcessing": "Bezig...",
|
342 |
+
"sLengthMenu": "_MENU_ resultaten weergeven",
|
343 |
+
"sZeroRecords": "Geen resultaten gevonden",
|
344 |
+
"sInfo": "_START_ tot _END_ van _TOTAL_ resultaten",
|
345 |
+
"sInfoEmpty": "Geen resultaten om weer te geven",
|
346 |
+
"sInfoFiltered": " (gefilterd uit _MAX_ resultaten)",
|
347 |
+
"sInfoPostFix": "",
|
348 |
+
"sSearch": "Zoeken:",
|
349 |
+
"sEmptyTable": "Geen resultaten aanwezig in de tabel",
|
350 |
+
"sInfoThousands": ".",
|
351 |
+
"sLoadingRecords": "Een moment geduld aub - bezig met laden...",
|
352 |
+
"oPaginate": {
|
353 |
+
"sFirst": "Eerste",
|
354 |
+
"sLast": "Laatste",
|
355 |
+
"sNext": "Volgende",
|
356 |
+
"sPrevious": "Vorige"
|
357 |
+
},
|
358 |
+
"oAria": {
|
359 |
+
"sSortAscending": ": activeer om kolom oplopend te sorteren",
|
360 |
+
"sSortDescending": ": activeer om kolom aflopend te sorteren"
|
361 |
+
}
|
362 |
+
}',
|
363 |
+
'Estonian' => '{
|
364 |
+
"sProcessing": "Palun oodake, koostan kuvamiseks nimekirja!",
|
365 |
+
"sLengthMenu": "Näita kirjeid _MENU_ kaupa",
|
366 |
+
"sZeroRecords": "Otsitavat vastet ei leitud.",
|
367 |
+
"sInfo": "Kuvatud: _TOTAL_ kirjet (_START_-_END_)",
|
368 |
+
"sInfoEmpty": "Otsinguvasteid ei leitud",
|
369 |
+
"sInfoFiltered": " - filteeritud _MAX_ kirje seast.",
|
370 |
+
"sInfoPostFix": "Kõik kuvatud kirjed põhinevad reaalsetel tulemustel.",
|
371 |
+
"sSearch": "Otsi kõikide tulemuste seast:",
|
372 |
+
"oPaginate": {
|
373 |
+
"sFirst": "Algus",
|
374 |
+
"sPrevious": "Eelmine",
|
375 |
+
"sNext": "Järgmine",
|
376 |
+
"sLast": "Viimane"
|
377 |
+
}
|
378 |
+
}',
|
379 |
+
'Filipino' => '{
|
380 |
+
"sProcessing": "Pagproseso...",
|
381 |
+
"sLengthMenu": "Ipakita _MENU_ entries",
|
382 |
+
"sZeroRecords": "Walang katugmang mga talaan na natagpuan",
|
383 |
+
"sInfo": "Ipinapakita ang _START_ sa _END_ ng _TOTAL_ entries",
|
384 |
+
"sInfoEmpty": "Ipinapakita ang 0-0 ng 0 entries",
|
385 |
+
"sInfoFiltered": "(na-filter mula _MAX_ kabuuang entries)",
|
386 |
+
"sInfoPostFix": "",
|
387 |
+
"sSearch": "Paghahanap:",
|
388 |
+
"sUrl": "",
|
389 |
+
"oPaginate": {
|
390 |
+
"sFirst": "Unang",
|
391 |
+
"sPrevious": "Nakaraan",
|
392 |
+
"sNext": "Susunod",
|
393 |
+
"sLast": "Huli"
|
394 |
+
}
|
395 |
+
}',
|
396 |
+
'Finnish' => '{
|
397 |
+
"sEmptyTable": "Ei näytettäviä tuloksia.",
|
398 |
+
"sInfo": "Näytetään rivit _START_ - _END_ (yhteensä _TOTAL_ )",
|
399 |
+
"sInfoEmpty": "Näytetään 0 - 0 (yhteensä 0)",
|
400 |
+
"sInfoFiltered": "(suodatettu _MAX_ tuloksen joukosta)",
|
401 |
+
"sInfoPostFix": "",
|
402 |
+
"sLengthMenu": "Näytä kerralla _MENU_ riviä",
|
403 |
+
"sLoadingRecords": "Ladataan...",
|
404 |
+
"sProcessing": "Hetkinen...",
|
405 |
+
"sSearch": "Etsi:",
|
406 |
+
"sZeroRecords": "Tietoja ei löytynyt",
|
407 |
+
"oPaginate": {
|
408 |
+
"sFirst": "Ensimmäinen",
|
409 |
+
"sLast": "Viimeinen",
|
410 |
+
"sNext": "Seuraava",
|
411 |
+
"sPrevious": "Edellinen"
|
412 |
+
},
|
413 |
+
"oAria": {
|
414 |
+
"sSortAscending": ": lajittele sarake nousevasti",
|
415 |
+
"sSortDescending": ": lajittele sarake laskevasti"
|
416 |
+
},
|
417 |
+
"select": {
|
418 |
+
"rows": {
|
419 |
+
"_": "Valittuna %d riviä",
|
420 |
+
"0": "Klikkaa riviä valitaksesi sen",
|
421 |
+
"1": "Valittuna vain yksi rivi"
|
422 |
+
}
|
423 |
+
},
|
424 |
+
"buttons": {
|
425 |
+
"copy": "Kopioi",
|
426 |
+
"copySuccess": {
|
427 |
+
"1": "Yksi rivi kopioitu leikepöydälle",
|
428 |
+
"_": "%d riviä kopioitu leikepöydälle"
|
429 |
+
},
|
430 |
+
"copyTitle": "Kopioi leikepöydälle",
|
431 |
+
"copyKeys": "Paina <i>ctrl</i> tai <i>\u2318</i> + <i>C</i> kopioidaksesi taulukon arvot<br>järjestelmäsi leikepöydälle. <br><br>Peruuttaaksesi paina tätä viestiä tai Esc."
|
432 |
+
}
|
433 |
+
}',
|
434 |
+
'French' => '{
|
435 |
+
"sProcessing": "Traitement en cours...",
|
436 |
+
"sSearch": "Rechercher :",
|
437 |
+
"sLengthMenu": "Afficher _MENU_ éléments",
|
438 |
+
"sInfo": "Affichage de l\'élément _START_ à _END_ sur _TOTAL_ éléments",
|
439 |
+
"sInfoEmpty": "Affichage de l\'élément 0 à 0 sur 0 élément",
|
440 |
+
"sInfoFiltered": "(filtré de _MAX_ éléments au total)",
|
441 |
+
"sInfoPostFix": "",
|
442 |
+
"sLoadingRecords": "Chargement en cours...",
|
443 |
+
"sZeroRecords": "Aucun élément à afficher",
|
444 |
+
"sEmptyTable": "Aucune donnée disponible dans le tableau",
|
445 |
+
"oPaginate": {
|
446 |
+
"sFirst": "Premier",
|
447 |
+
"sPrevious": "Précédent",
|
448 |
+
"sNext": "Suivant",
|
449 |
+
"sLast": "Dernier"
|
450 |
+
},
|
451 |
+
"oAria": {
|
452 |
+
"sSortAscending": ": activer pour trier la colonne par ordre croissant",
|
453 |
+
"sSortDescending": ": activer pour trier la colonne par ordre décroissant"
|
454 |
+
}
|
455 |
+
}',
|
456 |
+
'Galician' => '{
|
457 |
+
"sProcessing": "Procesando...",
|
458 |
+
"sLengthMenu": "Mostrar _MENU_ rexistros",
|
459 |
+
"sZeroRecords": "Non se atoparon resultados",
|
460 |
+
"sEmptyTable": "Ningún dato dispoñible nesta táboa",
|
461 |
+
"sInfo": "Mostrando rexistros do _START_ ao _END_ dun total de _TOTAL_ rexistros",
|
462 |
+
"sInfoEmpty": "Mostrando rexistros do 0 ao 0 dun total de 0 rexistros",
|
463 |
+
"sInfoFiltered": "(filtrado dun total de _MAX_ rexistros)",
|
464 |
+
"sInfoPostFix": "",
|
465 |
+
"sSearch": "Buscar:",
|
466 |
+
"sUrl": "",
|
467 |
+
"sInfoThousands": ",",
|
468 |
+
"sLoadingRecords": "Cargando...",
|
469 |
+
"oPaginate": {
|
470 |
+
"sFirst": "Primeiro",
|
471 |
+
"sLast": "Último",
|
472 |
+
"sNext": "Seguinte",
|
473 |
+
"sPrevious": "Anterior"
|
474 |
+
},
|
475 |
+
"oAria": {
|
476 |
+
"sSortAscending": ": Activar para ordenar a columna de maneira ascendente",
|
477 |
+
"sSortDescending": ": Activar para ordenar a columna de maneira descendente"
|
478 |
+
}
|
479 |
+
}',
|
480 |
+
'Georgian' => '{
|
481 |
+
"sEmptyTable": "ცხრილში არ არის მონაცემები",
|
482 |
+
"sInfo": "ნაჩვენებია ჩანაწერები _START_–დან _END_–მდე, _TOTAL_ ჩანაწერიდან",
|
483 |
+
"sInfoEmpty": "ნაჩვენებია ჩანაწერები 0–დან 0–მდე, 0 ჩანაწერიდან",
|
484 |
+
"sInfoFiltered": "(გაფილტრული შედეგი _MAX_ ჩანაწერიდან)",
|
485 |
+
"sInfoPostFix": "",
|
486 |
+
"sInfoThousands": ".",
|
487 |
+
"sLengthMenu": "აჩვენე _MENU_ ჩანაწერი",
|
488 |
+
"sLoadingRecords": "იტვირთება...",
|
489 |
+
"sProcessing": "მუშავდება...",
|
490 |
+
"sSearch": "ძიება:",
|
491 |
+
"sZeroRecords": "არაფერი მოიძებნა",
|
492 |
+
"oPaginate": {
|
493 |
+
"sFirst": "პირველი",
|
494 |
+
"sLast": "ბოლო",
|
495 |
+
"sNext": "შემდეგი",
|
496 |
+
"sPrevious": "წინა"
|
497 |
+
},
|
498 |
+
"oAria": {
|
499 |
+
"sSortAscending": ": სვეტის დალაგება ზრდის მიხედვით",
|
500 |
+
"sSortDescending": ": სვეტის დალაგება კლების მიხედვით"
|
501 |
+
}
|
502 |
+
}',
|
503 |
+
'German' => '{
|
504 |
+
"sEmptyTable": "Keine Daten in der Tabelle vorhanden",
|
505 |
+
"sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen",
|
506 |
+
"sInfoEmpty": "0 bis 0 von 0 Einträgen",
|
507 |
+
"sInfoFiltered": "(gefiltert von _MAX_ Einträgen)",
|
508 |
+
"sInfoPostFix": "",
|
509 |
+
"sInfoThousands": ".",
|
510 |
+
"sLengthMenu": "_MENU_ Einträge anzeigen",
|
511 |
+
"sLoadingRecords": "Wird geladen...",
|
512 |
+
"sProcessing": "Bitte warten...",
|
513 |
+
"sSearch": "Suchen",
|
514 |
+
"sZeroRecords": "Keine Einträge vorhanden.",
|
515 |
+
"oPaginate": {
|
516 |
+
"sFirst": "Erste",
|
517 |
+
"sPrevious": "Zurück",
|
518 |
+
"sNext": "Nächste",
|
519 |
+
"sLast": "Letzte"
|
520 |
+
},
|
521 |
+
"oAria": {
|
522 |
+
"sSortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren",
|
523 |
+
"sSortDescending": ": aktivieren, um Spalte absteigend zu sortieren"
|
524 |
+
},
|
525 |
+
"select": {
|
526 |
+
"rows": {
|
527 |
+
"_": "%d Zeilen ausgewählt",
|
528 |
+
"0": "Zum Auswählen auf eine Zeile klicken",
|
529 |
+
"1": "1 Zeile ausgewählt"
|
530 |
+
}
|
531 |
+
}
|
532 |
+
}',
|
533 |
+
'Greek' => '{
|
534 |
+
"sDecimal": ",",
|
535 |
+
"sEmptyTable": "Δεν υπάρχουν δεδομένα στον πίνακα",
|
536 |
+
"sInfo": "Εμφανίζονται _START_ έως _END_ από _TOTAL_ εγγραφές",
|
537 |
+
"sInfoEmpty": "Εμφανίζονται 0 έως 0 από 0 εγγραφές",
|
538 |
+
"sInfoFiltered": "(φιλτραρισμένες από _MAX_ συνολικά εγγραφές)",
|
539 |
+
"sInfoPostFix": "",
|
540 |
+
"sInfoThousands": ".",
|
541 |
+
"sLengthMenu": "Δείξε _MENU_ εγγραφές",
|
542 |
+
"sLoadingRecords": "Φόρτωση...",
|
543 |
+
"sProcessing": "Επεξεργασία...",
|
544 |
+
"sSearch": "Αναζήτηση:",
|
545 |
+
"sSearchPlaceholder": "Αναζήτηση",
|
546 |
+
"sThousands": ".",
|
547 |
+
"sUrl": "",
|
548 |
+
"sZeroRecords": "Δεν βρέθηκαν εγγραφές που να ταιριάζουν",
|
549 |
+
"oPaginate": {
|
550 |
+
"sFirst": "Πρώτη",
|
551 |
+
"sPrevious": "Προηγούμενη",
|
552 |
+
"sNext": "Επόμενη",
|
553 |
+
"sLast": "Τελευταία"
|
554 |
+
},
|
555 |
+
"oAria": {
|
556 |
+
"sSortAscending": ": ενεργοποιήστε για αύξουσα ταξινόμηση της στήλης",
|
557 |
+
"sSortDescending": ": ενεργοποιήστε για φθίνουσα ταξινόμηση της στήλης"
|
558 |
+
}
|
559 |
+
}',
|
560 |
+
'Gujarati' => '{
|
561 |
+
"sEmptyTable": "કોષ્ટકમાં કોઈ ડેટા ઉપલબ્ધ નથી",
|
562 |
+
"sInfo": "કુલ_પ્રવેશો_અંત_પ્રારંભ_દર્શાવે_છે",
|
563 |
+
"sInfoEmpty": "0 પ્રવેશો 0 0 બતાવી રહ્યું છે",
|
564 |
+
"sInfoFiltered": "(_MAX_ કુલ પ્રવેશો માંથી ફિલ્ટર)",
|
565 |
+
"sInfoPostFix": "",
|
566 |
+
"sInfoThousands": ",",
|
567 |
+
"sLengthMenu": "બતાવો _MENU_ પ્રવેશો",
|
568 |
+
"sLoadingRecords": "લોડ કરી રહ્યું છે ...",
|
569 |
+
"sProcessing": "પ્રક્રિયા ...",
|
570 |
+
"sSearch": "શોધો:",
|
571 |
+
"sZeroRecords": "કોઈ મેળ ખાતા રેકોર્ડ મળી",
|
572 |
+
"oPaginate": {
|
573 |
+
"sFirst": "પ્રથમ",
|
574 |
+
"sLast": "અંતિમ",
|
575 |
+
"sNext": "આગામી",
|
576 |
+
"sPrevious": "ગત"
|
577 |
+
},
|
578 |
+
"oAria": {
|
579 |
+
"sSortAscending": ": સ્તંભ ચડતા ક્રમમાં ગોઠવવા માટે સક્રિય",
|
580 |
+
"sSortDescending": ": કૉલમ ઉતરતા ક્રમમાં ગોઠવવા માટે સક્રિય"
|
581 |
+
}
|
582 |
+
}',
|
583 |
+
'Hebrew' => '{
|
584 |
+
"processing": "מעבד...",
|
585 |
+
"lengthMenu": "הצג _MENU_ פריטים",
|
586 |
+
"zeroRecords": "לא נמצאו רשומות מתאימות",
|
587 |
+
"emptyTable": "לא נמצאו רשומות מתאימות",
|
588 |
+
"info": "_START_ עד _END_ מתוך _TOTAL_ רשומות" ,
|
589 |
+
"infoEmpty": "0 עד 0 מתוך 0 רשומות",
|
590 |
+
"infoFiltered": "(מסונן מסך _MAX_ רשומות)",
|
591 |
+
"infoPostFix": "",
|
592 |
+
"search": "חפש:",
|
593 |
+
"url": "",
|
594 |
+
"paginate": {
|
595 |
+
"first": "ראשון",
|
596 |
+
"previous": "קודם",
|
597 |
+
"next": "הבא",
|
598 |
+
"last": "אחרון"
|
599 |
+
}
|
600 |
+
}',
|
601 |
+
'Hindi' => '{
|
602 |
+
"sProcessing": "प्रगति पे हैं ...",
|
603 |
+
"sLengthMenu": " _MENU_ प्रविष्टियां दिखाएं ",
|
604 |
+
"sZeroRecords": "रिकॉर्ड्स का मेल नहीं मिला",
|
605 |
+
"sInfo": "_START_ to _END_ of _TOTAL_ प्रविष्टियां दिखा रहे हैं",
|
606 |
+
"sInfoEmpty": "0 में से 0 से 0 प्रविष्टियां दिखा रहे हैं",
|
607 |
+
"sInfoFiltered": "(_MAX_ कुल प्रविष्टियों में से छठा हुआ)",
|
608 |
+
"sInfoPostFix": "",
|
609 |
+
"sSearch": "खोजें:",
|
610 |
+
"sUrl": "",
|
611 |
+
"oPaginate": {
|
612 |
+
"sFirst": "प्रथम",
|
613 |
+
"sPrevious": "पिछला",
|
614 |
+
"sNext": "अगला",
|
615 |
+
"sLast": "अंतिम"
|
616 |
+
}
|
617 |
+
}',
|
618 |
+
'Hungarian' => '{
|
619 |
+
"sEmptyTable": "Nincs rendelkezésre álló adat",
|
620 |
+
"sInfo": "Találatok: _START_ - _END_ Összesen: _TOTAL_",
|
621 |
+
"sInfoEmpty": "Nulla találat",
|
622 |
+
"sInfoFiltered": "(_MAX_ összes rekord közül szűrve)",
|
623 |
+
"sInfoPostFix": "",
|
624 |
+
"sInfoThousands": " ",
|
625 |
+
"sLengthMenu": "_MENU_ találat oldalanként",
|
626 |
+
"sLoadingRecords": "Betöltés...",
|
627 |
+
"sProcessing": "Feldolgozás...",
|
628 |
+
"sSearch": "Keresés:",
|
629 |
+
"sZeroRecords": "Nincs a keresésnek megfelelő találat",
|
630 |
+
"oPaginate": {
|
631 |
+
"sFirst": "Első",
|
632 |
+
"sPrevious": "Előző",
|
633 |
+
"sNext": "Következő",
|
634 |
+
"sLast": "Utolsó"
|
635 |
+
},
|
636 |
+
"oAria": {
|
637 |
+
"sSortAscending": ": aktiválja a növekvő rendezéshez",
|
638 |
+
"sSortDescending": ": aktiválja a csökkenő rendezéshez"
|
639 |
+
}
|
640 |
+
}',
|
641 |
+
'Icelandic' => '{
|
642 |
+
"sEmptyTable": "Engin gögn eru í þessari töflu",
|
643 |
+
"sInfo": "Sýni _START_ til _END_ af _TOTAL_ færslum",
|
644 |
+
"sInfoEmpty": "Sýni 0 til 0 af 0 færslum",
|
645 |
+
"sInfoFiltered": "(síað út frá _MAX_ færslum)",
|
646 |
+
"sInfoPostFix": "",
|
647 |
+
"sInfoThousands": ".",
|
648 |
+
"sLengthMenu": "Sýna _MENU_ færslur",
|
649 |
+
"sLoadingRecords": "Hleð...",
|
650 |
+
"sProcessing": "Úrvinnsla...",
|
651 |
+
"sSearch": "Leita:",
|
652 |
+
"sZeroRecords": "Engar færslur fundust",
|
653 |
+
"oPaginate": {
|
654 |
+
"sFirst": "Fyrsta",
|
655 |
+
"sLast": "Síðasta",
|
656 |
+
"sNext": "Næsta",
|
657 |
+
"sPrevious": "Fyrri"
|
658 |
+
},
|
659 |
+
"oAria": {
|
660 |
+
"sSortAscending": ": virkja til að raða dálki í hækkandi röð",
|
661 |
+
"sSortDescending": ": virkja til að raða dálki lækkandi í röð"
|
662 |
+
}
|
663 |
+
}',
|
664 |
+
'Indonesian-Alternative' => '{
|
665 |
+
"sProcessing": "Sedang proses...",
|
666 |
+
"sLengthMenu": "Tampilan _MENU_ entri",
|
667 |
+
"sZeroRecords": "Tidak ditemukan data yang sesuai",
|
668 |
+
"sInfo": "Tampilan _START_ sampai _END_ dari _TOTAL_ entri",
|
669 |
+
"sInfoEmpty": "Tampilan 0 hingga 0 dari 0 entri",
|
670 |
+
"sInfoFiltered": "(disaring dari _MAX_ entri keseluruhan)",
|
671 |
+
"sInfoPostFix": "",
|
672 |
+
"sSearch": "Cari:",
|
673 |
+
"sUrl": "",
|
674 |
+
"oPaginate": {
|
675 |
+
"sFirst": "Awal",
|
676 |
+
"sPrevious": "Balik",
|
677 |
+
"sNext": "Lanjut",
|
678 |
+
"sLast": "Akhir"
|
679 |
+
}
|
680 |
+
}',
|
681 |
+
'Indonesian' => '{
|
682 |
+
"sProcessing": "Sedang memproses...",
|
683 |
+
"sLengthMenu": "Tampilkan _MENU_ entri",
|
684 |
+
"sZeroRecords": "Tidak ditemukan data yang sesuai",
|
685 |
+
"sInfo": "Menampilkan _START_ sampai _END_ dari _TOTAL_ entri",
|
686 |
+
"sInfoEmpty": "Menampilkan 0 sampai 0 dari 0 entri",
|
687 |
+
"sInfoFiltered": "(disaring dari _MAX_ entri keseluruhan)",
|
688 |
+
"sInfoPostFix": "",
|
689 |
+
"sSearch": "Cari:",
|
690 |
+
"sUrl": "",
|
691 |
+
"oPaginate": {
|
692 |
+
"sFirst": "Pertama",
|
693 |
+
"sPrevious": "Sebelumnya",
|
694 |
+
"sNext": "Selanjutnya",
|
695 |
+
"sLast": "Terakhir"
|
696 |
+
}
|
697 |
+
}',
|
698 |
+
'Irish' => '{
|
699 |
+
"sProcessing": "Próiseáil...",
|
700 |
+
"sLengthMenu": "Taispeáin iontrálacha _MENU_",
|
701 |
+
"sZeroRecords": "Gan aon taifead meaitseáil aimsithe",
|
702 |
+
"sInfo": "_START_ Showing a _END_ na n-iontrálacha _TOTAL_",
|
703 |
+
"sInfoEmpty": "Showing 0-0 na n-iontrálacha 0",
|
704 |
+
"sInfoFiltered": "(scagtha ó _MAX_ iontrálacha iomlán)",
|
705 |
+
"sInfoPostFix": "",
|
706 |
+
"sSearch": "Cuardaigh:",
|
707 |
+
"sUrl": "",
|
708 |
+
"oPaginate": {
|
709 |
+
"sFirst": "An Chéad",
|
710 |
+
"sPrevious": "Roimhe Seo",
|
711 |
+
"sNext": "Ar Aghaidh",
|
712 |
+
"sLast": "Last"
|
713 |
+
}
|
714 |
+
}',
|
715 |
+
'Italian' => '{
|
716 |
+
"sEmptyTable": "Nessun dato presente nella tabella",
|
717 |
+
"sInfo": "Vista da _START_ a _END_ di _TOTAL_ elementi",
|
718 |
+
"sInfoEmpty": "Vista da 0 a 0 di 0 elementi",
|
719 |
+
"sInfoFiltered": "(filtrati da _MAX_ elementi totali)",
|
720 |
+
"sInfoPostFix": "",
|
721 |
+
"sInfoThousands": ".",
|
722 |
+
"sLengthMenu": "Visualizza _MENU_ elementi",
|
723 |
+
"sLoadingRecords": "Caricamento...",
|
724 |
+
"sProcessing": "Elaborazione...",
|
725 |
+
"sSearch": "Cerca:",
|
726 |
+
"sZeroRecords": "La ricerca non ha portato alcun risultato.",
|
727 |
+
"oPaginate": {
|
728 |
+
"sFirst": "Inizio",
|
729 |
+
"sPrevious": "Precedente",
|
730 |
+
"sNext": "Successivo",
|
731 |
+
"sLast": "Fine"
|
732 |
+
},
|
733 |
+
"oAria": {
|
734 |
+
"sSortAscending": ": attiva per ordinare la colonna in ordine crescente",
|
735 |
+
"sSortDescending": ": attiva per ordinare la colonna in ordine decrescente"
|
736 |
+
}
|
737 |
+
}',
|
738 |
+
'Japanese' => '{
|
739 |
+
"sEmptyTable": "テーブルにデータがありません",
|
740 |
+
"sInfo": " _TOTAL_ 件中 _START_ から _END_ まで表示",
|
741 |
+
"sInfoEmpty": " 0 件中 0 から 0 まで表示",
|
742 |
+
"sInfoFiltered": "(全 _MAX_ 件より抽出)",
|
743 |
+
"sInfoPostFix": "",
|
744 |
+
"sInfoThousands": ",",
|
745 |
+
"sLengthMenu": "_MENU_ 件表示",
|
746 |
+
"sLoadingRecords": "読み込み中...",
|
747 |
+
"sProcessing": "処理中...",
|
748 |
+
"sSearch": "検索:",
|
749 |
+
"sZeroRecords": "一致するレコードがありません",
|
750 |
+
"oPaginate": {
|
751 |
+
"sFirst": "先頭",
|
752 |
+
"sLast": "最終",
|
753 |
+
"sNext": "次",
|
754 |
+
"sPrevious": "前"
|
755 |
+
},
|
756 |
+
"oAria": {
|
757 |
+
"sSortAscending": ": 列を昇順に並べ替えるにはアクティブにする",
|
758 |
+
"sSortDescending": ": 列を降順に並べ替えるにはアクティブにする"
|
759 |
+
}
|
760 |
+
}',
|
761 |
+
'Kazakh' => '{
|
762 |
+
"processing": "Күте тұрыңыз...",
|
763 |
+
"search": "Іздеу:",
|
764 |
+
"lengthMenu": "Жазбалар _MENU_ көрсету",
|
765 |
+
"info": "_TOTAL_ жазбалары бойынша _START_ бастап _END_ дейінгі жазбалар",
|
766 |
+
"infoEmpty": "0 жазбалары бойынша 0 бастап 0 дейінгі жазбалар",
|
767 |
+
"infoFiltered": "(_MAX_ жазбасынан сұрыпталды)",
|
768 |
+
"infoPostFix": "",
|
769 |
+
"loadingRecords": "Жазбалар жүктемесі...",
|
770 |
+
"zeroRecords": "Жазбалар жоқ",
|
771 |
+
"emptyTable": "Кестеде деректер жоқ",
|
772 |
+
"paginate": {
|
773 |
+
"first": "Бірінші",
|
774 |
+
"previous": "Алдыңғысы",
|
775 |
+
"next": "Келесі",
|
776 |
+
"last": "Соңғы"
|
777 |
+
},
|
778 |
+
"aria": {
|
779 |
+
"sortAscending": ": өсімі бойынша бағанды сұрыптау үшін активациялау",
|
780 |
+
"sortDescending": ": кемуі бойынша бағанды сұрыптау үшін активациялау"
|
781 |
+
}
|
782 |
+
}',
|
783 |
+
'Korean' => '{
|
784 |
+
"sEmptyTable": "데이터가 없습니다",
|
785 |
+
"sInfo": "_START_ - _END_ / _TOTAL_",
|
786 |
+
"sInfoEmpty": "0 - 0 / 0",
|
787 |
+
"sInfoFiltered": "(총 _MAX_ 개)",
|
788 |
+
"sInfoPostFix": "",
|
789 |
+
"sInfoThousands": ",",
|
790 |
+
"sLengthMenu": "페이지당 줄수 _MENU_",
|
791 |
+
"sLoadingRecords": "읽는중...",
|
792 |
+
"sProcessing": "처리중...",
|
793 |
+
"sSearch": "검색:",
|
794 |
+
"sZeroRecords": "검색 결과가 없습니다",
|
795 |
+
"oPaginate": {
|
796 |
+
"sFirst": "처음",
|
797 |
+
"sLast": "마지막",
|
798 |
+
"sNext": "다음",
|
799 |
+
"sPrevious": "이전"
|
800 |
+
},
|
801 |
+
"oAria": {
|
802 |
+
"sSortAscending": ": 오름차순 정렬",
|
803 |
+
"sSortDescending": ": 내림차순 정렬"
|
804 |
+
}
|
805 |
+
}',
|
806 |
+
'Kyrgyz' => '{
|
807 |
+
"sEmptyTable": "Таблицада эч кандай берилиш жок",
|
808 |
+
"sInfo": "Жалпы _TOTAL_ саптын ичинен _START_-саптан _END_-сапка чейинкилер",
|
809 |
+
"sInfoEmpty": "Жалпы 0 саптын ичинен 0-саптан 0-сапка чейинкилер",
|
810 |
+
"sInfoFiltered": "(жалпы _MAX_ саптан фильтрленди)",
|
811 |
+
"sInfoPostFix": "",
|
812 |
+
"sInfoThousands": " ",
|
813 |
+
"sLengthMenu": "_MENU_ саптан көрсөт",
|
814 |
+
"sLoadingRecords": "Жүктөлүүдө...",
|
815 |
+
"sProcessing": "Иштеп жатат...",
|
816 |
+
"sSearch": "Издөө:",
|
817 |
+
"sZeroRecords": "Туура келген бир да сап жок",
|
818 |
+
"oPaginate": {
|
819 |
+
"sFirst": "Биринчи",
|
820 |
+
"sLast": "Акыркы",
|
821 |
+
"sNext": "Кийинки",
|
822 |
+
"sPrevious": "Мурунку"
|
823 |
+
},
|
824 |
+
"oAria": {
|
825 |
+
"sSortAscending": ": иретте",
|
826 |
+
"sSortDescending": ": тескери иретте"
|
827 |
+
}
|
828 |
+
}',
|
829 |
+
'Latvian' => '{
|
830 |
+
"processing": "Uzgaidiet...",
|
831 |
+
"search": "Meklēt:",
|
832 |
+
"lengthMenu": "Rādīt _MENU_ ierakstus",
|
833 |
+
"info": "Parādīti _START_. līdz _END_. no _TOTAL_ ierakstiem",
|
834 |
+
"infoEmpty": "Nav ierakstu",
|
835 |
+
"infoFiltered": "(atlasīts no pavisam _MAX_ ierakstiem)",
|
836 |
+
"infoPostFix": "",
|
837 |
+
"loadingRecords": "Iekraušanas ieraksti ...",
|
838 |
+
"zeroRecords": "Nav atrasti vaicājumam atbilstoši ieraksti",
|
839 |
+
"emptyTable:": "Tabula nav datu",
|
840 |
+
"paginate": {
|
841 |
+
"first": "Pirmā",
|
842 |
+
"previous": "Iepriekšējā",
|
843 |
+
"next": "Nākošā",
|
844 |
+
"last": "Pēdējā"
|
845 |
+
},
|
846 |
+
"aria": {
|
847 |
+
"sortAscending": ": aktivizēt kolonnu, lai kārtotu augošā",
|
848 |
+
"sortDescending": ": aktivizēt kolonnu, lai kārtotu dilstošā"
|
849 |
+
}
|
850 |
+
}',
|
851 |
+
'Lithuanian' => '{
|
852 |
+
"sEmptyTable": "No data in the table",
|
853 |
+
"sInfo": "Showing entries from _START_ to _END_ of _TOTAL_ entries",
|
854 |
+
"sInfoEmpty": "Showing entries 0 to 0 of 0",
|
855 |
+
"sInfoFiltered": "(selected from _MAX_ records)",
|
856 |
+
"sInfoPostFix": "",
|
857 |
+
"sInfoThousands": "",
|
858 |
+
"sLengthMenu": "Show _MENU_ entries",
|
859 |
+
"sLoadingRecords": "Loading ...",
|
860 |
+
"sProcessing": "Processing ...",
|
861 |
+
"sSearch": "Search for:",
|
862 |
+
"sThousands": "",
|
863 |
+
"sUrl": "",
|
864 |
+
"sZeroRecords": "No Records Found",
|
865 |
+
|
866 |
+
"oPaginate": {
|
867 |
+
"sFirst": "First",
|
868 |
+
"sPrevious": "Previous",
|
869 |
+
"sNext": "Next",
|
870 |
+
"sLast": "Last"
|
871 |
+
}
|
872 |
+
}',
|
873 |
+
'Macedonian' => '{
|
874 |
+
"sProcessing": "Процесирање...",
|
875 |
+
"sLengthMenu": "Прикажи _MENU_ записи",
|
876 |
+
"sZeroRecords": "Не се пронајдени записи",
|
877 |
+
"sEmptyTable": "Нема податоци во табелата",
|
878 |
+
"sLoadingRecords": "Вчитување...",
|
879 |
+
"sInfo": "Прикажани _START_ до _END_ од _TOTAL_ записи",
|
880 |
+
"sInfoEmpty": "Прикажани 0 до 0 од 0 записи",
|
881 |
+
"sInfoFiltered": "(филтрирано од вкупно _MAX_ записи)",
|
882 |
+
"sInfoPostFix": "",
|
883 |
+
"sSearch": "Барај",
|
884 |
+
"sUrl": "",
|
885 |
+
"oPaginate": {
|
886 |
+
"sFirst": "Почетна",
|
887 |
+
"sPrevious": "Претходна",
|
888 |
+
"sNext": "Следна",
|
889 |
+
"sLast": "Последна"
|
890 |
+
}
|
891 |
+
}',
|
892 |
+
'Malay' => '{
|
893 |
+
"sEmptyTable": "Tiada data",
|
894 |
+
"sInfo": "Paparan dari _START_ hingga _END_ dari _TOTAL_ rekod",
|
895 |
+
"sInfoEmpty": "Paparan 0 hingga 0 dari 0 rekod",
|
896 |
+
"sInfoFiltered": "(Ditapis dari jumlah _MAX_ rekod)",
|
897 |
+
"sInfoPostFix": "",
|
898 |
+
"sInfoThousands": ",",
|
899 |
+
"sLengthMenu": "Papar _MENU_ rekod",
|
900 |
+
"sLoadingRecords": "Diproses...",
|
901 |
+
"sProcessing": "Sedang diproses...",
|
902 |
+
"sSearch": "Carian:",
|
903 |
+
"sZeroRecords": "Tiada padanan rekod yang dijumpai.",
|
904 |
+
"oPaginate": {
|
905 |
+
"sFirst": "Pertama",
|
906 |
+
"sPrevious": "Sebelum",
|
907 |
+
"sNext": "Kemudian",
|
908 |
+
"sLast": "Akhir"
|
909 |
+
},
|
910 |
+
"oAria": {
|
911 |
+
"sSortAscending": ": diaktifkan kepada susunan lajur menaik",
|
912 |
+
"sSortDescending": ": diaktifkan kepada susunan lajur menurun"
|
913 |
+
}
|
914 |
+
}',
|
915 |
+
'Mongolian' => '{
|
916 |
+
"sEmptyTable": "Хүснэгт хоосон байна",
|
917 |
+
"sInfo": "Нийт _TOTAL_ бичлэгээс _START_ - _END_ харуулж байна",
|
918 |
+
"sInfoEmpty": "Тохирох үр дүн алга",
|
919 |
+
"sInfoFiltered": "(нийт _MAX_ бичлэгээс шүүв)",
|
920 |
+
"sInfoPostFix": "",
|
921 |
+
"sInfoThousands": ",",
|
922 |
+
"sLengthMenu": "Дэлгэцэд _MENU_ бичлэг харуулна",
|
923 |
+
"sLoadingRecords": "Ачааллаж байна...",
|
924 |
+
"sProcessing": "Боловсруулж байна...",
|
925 |
+
"sSearch": "Хайлт:",
|
926 |
+
"sZeroRecords": "Тохирох бичлэг олдсонгүй",
|
927 |
+
"oPaginate": {
|
928 |
+
"sFirst": "Эхнийх",
|
929 |
+
"sLast": "Сүүлийнх",
|
930 |
+
"sNext": "Өмнөх",
|
931 |
+
"sPrevious": "Дараах"
|
932 |
+
},
|
933 |
+
"oAria": {
|
934 |
+
"sSortAscending": ": цагаан толгойн дарааллаар эрэмбэлэх",
|
935 |
+
"sSortDescending": ": цагаан толгойн эсрэг дарааллаар эрэмбэлэх"
|
936 |
+
}
|
937 |
+
}',
|
938 |
+
'Nepali' => '{
|
939 |
+
"sEmptyTable": "टेबलमा डाटा उपलब्ध भएन",
|
940 |
+
"sInfo": "_TOTAL_ रेकर्ड मध्य _START_ देखि _END_ रेकर्ड देखाउंदै",
|
941 |
+
"sInfoEmpty": "0 मध्य 0 देखि 0 रेकर्ड देखाउंदै",
|
942 |
+
"sInfoFiltered": "(_MAX_ कुल रेकर्डबाट छनौट गरिएको)",
|
943 |
+
"sInfoPostFix": "",
|
944 |
+
"sInfoThousands": ",",
|
945 |
+
"sLengthMenu": " _MENU_ रेकर्ड देखाउने ",
|
946 |
+
"sLoadingRecords": "लोड हुँदैछ...",
|
947 |
+
"sProcessing": "प्रगति हुदैंछ ...",
|
948 |
+
"sSearch": "खोजी:",
|
949 |
+
"sUrl": "",
|
950 |
+
"sZeroRecords": "कुनै मिल्ने रेकर्ड फेला परेन",
|
951 |
+
"oPaginate": {
|
952 |
+
"sFirst": "प्रथम",
|
953 |
+
"sPrevious": "पछिल्लो",
|
954 |
+
"sNext": "अघिल्लो",
|
955 |
+
"sLast": "अन्तिम"
|
956 |
+
},
|
957 |
+
"oAria": {
|
958 |
+
"sSortAscending": ": अगाडिबाट अक्षरात्मक रूपमा क्रमबद्ध गराउने",
|
959 |
+
"sSortDescending": ": पछाडिबाट अक्षरात्मक रूपमा क्रमबद्ध गराउने"
|
960 |
+
}
|
961 |
+
}',
|
962 |
+
'Norwegian-Bokmal' => '{
|
963 |
+
"sEmptyTable": "Ingen data tilgjengelig i tabellen",
|
964 |
+
"sInfo": "Viser _START_ til _END_ av _TOTAL_ linjer",
|
965 |
+
"sInfoEmpty": "Viser 0 til 0 av 0 linjer",
|
966 |
+
"sInfoFiltered": "(filtrert fra _MAX_ totalt antall linjer)",
|
967 |
+
"sInfoPostFix": "",
|
968 |
+
"sInfoThousands": " ",
|
969 |
+
"sLoadingRecords": "Laster...",
|
970 |
+
"sLengthMenu": "Vis _MENU_ linjer",
|
971 |
+
"sLoadingRecords": "Laster...",
|
972 |
+
"sProcessing": "Laster...",
|
973 |
+
"sSearch": "Søk:",
|
974 |
+
"sUrl": "",
|
975 |
+
"sZeroRecords": "Ingen linjer matcher søket",
|
976 |
+
"oPaginate": {
|
977 |
+
"sFirst": "Første",
|
978 |
+
"sPrevious": "Forrige",
|
979 |
+
"sNext": "Neste",
|
980 |
+
"sLast": "Siste"
|
981 |
+
},
|
982 |
+
"oAria": {
|
983 |
+
"sSortAscending": ": aktiver for å sortere kolonnen stigende",
|
984 |
+
"sSortDescending": ": aktiver for å sortere kolonnen synkende"
|
985 |
+
}
|
986 |
+
}',
|
987 |
+
'Norwegian-Nynorsk' => '{
|
988 |
+
"sEmptyTable": "Inga data tilgjengeleg i tabellen",
|
989 |
+
"sInfo": "Syner _START_ til _END_ av _TOTAL_ linjer",
|
990 |
+
"sInfoEmpty": "Syner 0 til 0 av 0 linjer",
|
991 |
+
"sInfoFiltered": "(filtrert frå _MAX_ totalt antal linjer)",
|
992 |
+
"sInfoPostFix": "",
|
993 |
+
"sInfoThousands": " ",
|
994 |
+
"sLoadingRecords": "Lastar...",
|
995 |
+
"sLengthMenu": "Syn _MENU_ linjer",
|
996 |
+
"sLoadingRecords": "Lastar...",
|
997 |
+
"sProcessing": "Lastar...",
|
998 |
+
"sSearch": "Søk:",
|
999 |
+
"sUrl": "",
|
1000 |
+
"sZeroRecords": "Inga linjer treff på søket",
|
1001 |
+
"oPaginate": {
|
1002 |
+
"sFirst": "Fyrste",
|
1003 |
+
"sPrevious": "Forrige",
|
1004 |
+
"sNext": "Neste",
|
1005 |
+
"sLast": "Siste"
|
1006 |
+
},
|
1007 |
+
"oAria": {
|
1008 |
+
"sSortAscending": ": aktiver for å sortere kolonna stigande",
|
1009 |
+
"sSortDescending": ": aktiver for å sortere kolonna synkande"
|
1010 |
+
}
|
1011 |
+
}',
|
1012 |
+
'Pashto' => '{
|
1013 |
+
"sEmptyTable": "جدول خالي دی",
|
1014 |
+
"sInfo": "د _START_ څخه تر _END_ پوري، له ټولو _TOTAL_ څخه",
|
1015 |
+
"sInfoEmpty": "د 0 څخه تر 0 پوري، له ټولو 0 څخه",
|
1016 |
+
"sInfoFiltered": "(لټول سوي له ټولو _MAX_ څخه)",
|
1017 |
+
"sInfoPostFix": "",
|
1018 |
+
"sInfoThousands": ",",
|
1019 |
+
"sLengthMenu": "_MENU_ کتاره وښايه",
|
1020 |
+
"sLoadingRecords": "منتظر اوسئ...",
|
1021 |
+
"sProcessing": "منتظر اوسئ...",
|
1022 |
+
"sSearch": "لټون:",
|
1023 |
+
"sZeroRecords": "د لټون مطابق معلومات و نه موندل سول",
|
1024 |
+
"oPaginate": {
|
1025 |
+
"sFirst": "لومړۍ",
|
1026 |
+
"sLast": "وروستۍ",
|
1027 |
+
"sNext": "بله",
|
1028 |
+
"sPrevious": "شاته"
|
1029 |
+
},
|
1030 |
+
"oAria": {
|
1031 |
+
"sSortAscending": ": په صعودي ډول مرتبول",
|
1032 |
+
"sSortDescending": ": په نزولي ډول مرتبول"
|
1033 |
+
}
|
1034 |
+
}',
|
1035 |
+
'Persian' => '{
|
1036 |
+
"sEmptyTable": "هیچ داده ای در جدول وجود ندارد",
|
1037 |
+
"sInfo": "نمایش _START_ تا _END_ از _TOTAL_ رکورد",
|
1038 |
+
"sInfoEmpty": "نمایش 0 تا 0 از 0 رکورد",
|
1039 |
+
"sInfoFiltered": "(فیلتر شده از _MAX_ رکورد)",
|
1040 |
+
"sInfoPostFix": "",
|
1041 |
+
"sInfoThousands": ",",
|
1042 |
+
"sLengthMenu": "نمایش _MENU_ رکورد",
|
1043 |
+
"sLoadingRecords": "در حال بارگزاری...",
|
1044 |
+
"sProcessing": "در حال پردازش...",
|
1045 |
+
"sSearch": "جستجو:",
|
1046 |
+
"sZeroRecords": "رکوردی با این مشخصات پیدا نشد",
|
1047 |
+
"oPaginate": {
|
1048 |
+
"sFirst": "ابتدا",
|
1049 |
+
"sLast": "انتها",
|
1050 |
+
"sNext": "بعدی",
|
1051 |
+
"sPrevious": "قبلی"
|
1052 |
+
},
|
1053 |
+
"oAria": {
|
1054 |
+
"sSortAscending": ": فعال سازی نمایش به صورت صعودی",
|
1055 |
+
"sSortDescending": ": فعال سازی نمایش به صورت نزولی"
|
1056 |
+
}
|
1057 |
+
}',
|
1058 |
+
'Polish' => '{
|
1059 |
+
"processing": "Przetwarzanie...",
|
1060 |
+
"search": "Szukaj:",
|
1061 |
+
"lengthMenu": "Pokaż _MENU_ pozycji",
|
1062 |
+
"info": "Pozycje od _START_ do _END_ z _TOTAL_ łącznie",
|
1063 |
+
"infoEmpty": "Pozycji 0 z 0 dostępnych",
|
1064 |
+
"infoFiltered": "(filtrowanie spośród _MAX_ dostępnych pozycji)",
|
1065 |
+
"infoPostFix": "",
|
1066 |
+
"loadingRecords": "Wczytywanie...",
|
1067 |
+
"zeroRecords": "Nie znaleziono pasujących pozycji",
|
1068 |
+
"emptyTable": "Brak danych",
|
1069 |
+
"paginate": {
|
1070 |
+
"first": "Pierwsza",
|
1071 |
+
"previous": "Poprzednia",
|
1072 |
+
"next": "Następna",
|
1073 |
+
"last": "Ostatnia"
|
1074 |
+
},
|
1075 |
+
"aria": {
|
1076 |
+
"sortAscending": ": aktywuj, by posortować kolumnę rosnąco",
|
1077 |
+
"sortDescending": ": aktywuj, by posortować kolumnę malejąco"
|
1078 |
+
}
|
1079 |
+
}',
|
1080 |
+
'Portuguese-Brasil' => '{
|
1081 |
+
"sEmptyTable": "Nenhum registro encontrado",
|
1082 |
+
"sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros",
|
1083 |
+
"sInfoEmpty": "Mostrando 0 até 0 de 0 registros",
|
1084 |
+
"sInfoFiltered": "(Filtrados de _MAX_ registros)",
|
1085 |
+
"sInfoPostFix": "",
|
1086 |
+
"sInfoThousands": ".",
|
1087 |
+
"sLengthMenu": "_MENU_ resultados por página",
|
1088 |
+
"sLoadingRecords": "Carregando...",
|
1089 |
+
"sProcessing": "Processando...",
|
1090 |
+
"sZeroRecords": "Nenhum registro encontrado",
|
1091 |
+
"sSearch": "Pesquisar",
|
1092 |
+
"oPaginate": {
|
1093 |
+
"sNext": "Próximo",
|
1094 |
+
"sPrevious": "Anterior",
|
1095 |
+
"sFirst": "Primeiro",
|
1096 |
+
"sLast": "Último"
|
1097 |
+
},
|
1098 |
+
"oAria": {
|
1099 |
+
"sSortAscending": ": Ordenar colunas de forma ascendente",
|
1100 |
+
"sSortDescending": ": Ordenar colunas de forma descendente"
|
1101 |
+
}
|
1102 |
+
}',
|
1103 |
+
'Portuguese' => '{
|
1104 |
+
"sProcessing": "A processar...",
|
1105 |
+
"sLengthMenu": "Mostrar _MENU_ registos",
|
1106 |
+
"sZeroRecords": "Não foram encontrados resultados",
|
1107 |
+
"sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registos",
|
1108 |
+
"sInfoEmpty": "Mostrando de 0 até 0 de 0 registos",
|
1109 |
+
"sInfoFiltered": "(filtrado de _MAX_ registos no total)",
|
1110 |
+
"sInfoPostFix": "",
|
1111 |
+
"sSearch": "Procurar:",
|
1112 |
+
"sUrl": "",
|
1113 |
+
"oPaginate": {
|
1114 |
+
"sFirst": "Primeiro",
|
1115 |
+
"sPrevious": "Anterior",
|
1116 |
+
"sNext": "Seguinte",
|
1117 |
+
"sLast": "Último"
|
1118 |
+
}
|
1119 |
+
}',
|
1120 |
+
'Romanian' => '{
|
1121 |
+
"sProcessing": "Procesează...",
|
1122 |
+
"sLengthMenu": "Afișează _MENU_ înregistrări pe pagină",
|
1123 |
+
"sZeroRecords": "Nu am găsit nimic - ne pare rău",
|
1124 |
+
"sInfo": "Afișate de la _START_ la _END_ din _TOTAL_ înregistrări",
|
1125 |
+
"sInfoEmpty": "Afișate de la 0 la 0 din 0 înregistrări",
|
1126 |
+
"sInfoFiltered": "(filtrate dintr-un total de _MAX_ înregistrări)",
|
1127 |
+
"sInfoPostFix": "",
|
1128 |
+
"sSearch": "Caută:",
|
1129 |
+
"sUrl": "",
|
1130 |
+
"oPaginate": {
|
1131 |
+
"sFirst": "Prima",
|
1132 |
+
"sPrevious": "Precedenta",
|
1133 |
+
"sNext": "Următoarea",
|
1134 |
+
"sLast": "Ultima"
|
1135 |
+
}
|
1136 |
+
}',
|
1137 |
+
'Russian' => '{
|
1138 |
+
"processing": "Подождите...",
|
1139 |
+
"search": "Поиск:",
|
1140 |
+
"lengthMenu": "Показать _MENU_ записей",
|
1141 |
+
"info": "Записи с _START_ до _END_ из _TOTAL_ записей",
|
1142 |
+
"infoEmpty": "Записи с 0 до 0 из 0 записей",
|
1143 |
+
"infoFiltered": "(отфильтровано из _MAX_ записей)",
|
1144 |
+
"infoPostFix": "",
|
1145 |
+
"loadingRecords": "Загрузка записей...",
|
1146 |
+
"zeroRecords": "Записи отсутствуют.",
|
1147 |
+
"emptyTable": "В таблице отсутствуют данные",
|
1148 |
+
"paginate": {
|
1149 |
+
"first": "Первая",
|
1150 |
+
"previous": "Предыдущая",
|
1151 |
+
"next": "Следующая",
|
1152 |
+
"last": "Последняя"
|
1153 |
+
},
|
1154 |
+
"aria": {
|
1155 |
+
"sortAscending": ": активировать для сортировки столбца по возрастанию",
|
1156 |
+
"sortDescending": ": активировать для сортировки столбца по убыванию"
|
1157 |
+
}
|
1158 |
+
}',
|
1159 |
+
'Serbian' => '{
|
1160 |
+
"sProcessing": "Procesiranje u toku...",
|
1161 |
+
"sLengthMenu": "Prikaži _MENU_ elemenata",
|
1162 |
+
"sZeroRecords": "Nije pronađen nijedan rezultat",
|
1163 |
+
"sInfo": "Prikaz _START_ do _END_ od ukupno _TOTAL_ elemenata",
|
1164 |
+
"sInfoEmpty": "Prikaz 0 do 0 od ukupno 0 elemenata",
|
1165 |
+
"sInfoFiltered": "(filtrirano od ukupno _MAX_ elemenata)",
|
1166 |
+
"sInfoPostFix": "",
|
1167 |
+
"sSearch": "Pretraga:",
|
1168 |
+
"sUrl": "",
|
1169 |
+
"oPaginate": {
|
1170 |
+
"sFirst": "Početna",
|
1171 |
+
"sPrevious": "Prethodna",
|
1172 |
+
"sNext": "Sledeća",
|
1173 |
+
"sLast": "Poslednja"
|
1174 |
+
}
|
1175 |
+
}',
|
1176 |
+
'Sinhala' => '{
|
1177 |
+
"sEmptyTable": "වගුවේ දත්ත කිසිවක් නොමැත",
|
1178 |
+
"sInfo": "_TOTAL_ න් _START_ සිට _END_ දක්වා",
|
1179 |
+
"sInfoEmpty": "0 න් 0 සිට 0 දක්වා",
|
1180 |
+
"sInfoFiltered": "(_MAX_ න් තෝරාගත් )",
|
1181 |
+
"sInfoPostFix": "",
|
1182 |
+
"sInfoThousands": ",",
|
1183 |
+
"sLengthMenu": "_MENU_ ක් පෙන්වන්න",
|
1184 |
+
"sLoadingRecords": "පූරණය වෙමින් පවතී...",
|
1185 |
+
"sProcessing": "සැකසෙමින් පවතී...",
|
1186 |
+
"sSearch": "සොයන්න :",
|
1187 |
+
"sZeroRecords": "ගැලපෙන වාර්තා නොමැත.",
|
1188 |
+
"oPaginate": {
|
1189 |
+
"sFirst": "පළමු",
|
1190 |
+
"sLast": "අන්තිම",
|
1191 |
+
"sNext": "ඊළග",
|
1192 |
+
"sPrevious": "පසුගිය"
|
1193 |
+
},
|
1194 |
+
"oAria": {
|
1195 |
+
"sSortAscending": ": තීරුව ආරෝහනව තෝරන්න",
|
1196 |
+
"sSortDescending": ": තීරුව අවරෝහනව තෝරන්න"
|
1197 |
+
}
|
1198 |
+
}',
|
1199 |
+
'Slovak' => '{
|
1200 |
+
"sEmptyTable": "Nie sú k dispozícii žiadne dáta",
|
1201 |
+
"sInfo": "Záznamy _START_ až _END_ z celkom _TOTAL_",
|
1202 |
+
"sInfoEmpty": "Záznamy 0 až 0 z celkom 0 ",
|
1203 |
+
"sInfoFiltered": "(vyfiltrované spomedzi _MAX_ záznamov)",
|
1204 |
+
"sInfoPostFix": "",
|
1205 |
+
"sInfoThousands": ",",
|
1206 |
+
"sLengthMenu": "Zobraz _MENU_ záznamov",
|
1207 |
+
"sLoadingRecords": "Načítavam...",
|
1208 |
+
"sProcessing": "Spracúvam...",
|
1209 |
+
"sSearch": "Hľadať:",
|
1210 |
+
"sZeroRecords": "Nenašli sa žiadne vyhovujúce záznamy",
|
1211 |
+
"oPaginate": {
|
1212 |
+
"sFirst": "Prvá",
|
1213 |
+
"sLast": "Posledná",
|
1214 |
+
"sNext": "Nasledujúca",
|
1215 |
+
"sPrevious": "Predchádzajúca"
|
1216 |
+
},
|
1217 |
+
"oAria": {
|
1218 |
+
"sSortAscending": ": aktivujte na zoradenie stĺpca vzostupne",
|
1219 |
+
"sSortDescending": ": aktivujte na zoradenie stĺpca zostupne"
|
1220 |
+
}
|
1221 |
+
}',
|
1222 |
+
'Slovenian' => '{
|
1223 |
+
"sEmptyTable": "Nobenih podatkov ni na voljo",
|
1224 |
+
"sInfo": "Prikazujem _START_ do _END_ od _TOTAL_ zapisov",
|
1225 |
+
"sInfoEmpty": "Prikazujem 0 do 0 od 0 zapisov",
|
1226 |
+
"sInfoFiltered": "(filtrirano od _MAX_ vseh zapisov)",
|
1227 |
+
"sInfoPostFix": "",
|
1228 |
+
"sInfoThousands": ",",
|
1229 |
+
"sLengthMenu": "Prikaži _MENU_ zapisov",
|
1230 |
+
"sLoadingRecords": "Nalagam...",
|
1231 |
+
"sProcessing": "Obdelujem...",
|
1232 |
+
"sSearch": "Išči:",
|
1233 |
+
"sZeroRecords": "Nobeden zapis ne ustreza",
|
1234 |
+
"oPaginate": {
|
1235 |
+
"sFirst": "Prvi",
|
1236 |
+
"sLast": "Zadnji",
|
1237 |
+
"sNext": "Nasl.",
|
1238 |
+
"sPrevious": "Pred."
|
1239 |
+
},
|
1240 |
+
"oAria": {
|
1241 |
+
"sSortAscending": ": vključite za naraščujoči sort",
|
1242 |
+
"sSortDescending": ": vključite za padajoči sort"
|
1243 |
+
}
|
1244 |
+
}',
|
1245 |
+
'Spanish' => '{
|
1246 |
+
"sProcessing": "Procesando...",
|
1247 |
+
"sLengthMenu": "Mostrar _MENU_ registros",
|
1248 |
+
"sZeroRecords": "No se encontraron resultados",
|
1249 |
+
"sEmptyTable": "Ningún dato disponible en esta tabla",
|
1250 |
+
"sInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
|
1251 |
+
"sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros",
|
1252 |
+
"sInfoFiltered": "(filtrado de un total de _MAX_ registros)",
|
1253 |
+
"sInfoPostFix": "",
|
1254 |
+
"sSearch": "Buscar:",
|
1255 |
+
"sUrl": "",
|
1256 |
+
"sInfoThousands": ",",
|
1257 |
+
"sLoadingRecords": "Cargando...",
|
1258 |
+
"oPaginate": {
|
1259 |
+
"sFirst": "Primero",
|
1260 |
+
"sLast": "Último",
|
1261 |
+
"sNext": "Siguiente",
|
1262 |
+
"sPrevious": "Anterior"
|
1263 |
+
},
|
1264 |
+
"oAria": {
|
1265 |
+
"sSortAscending": ": Activar para ordenar la columna de manera ascendente",
|
1266 |
+
"sSortDescending": ": Activar para ordenar la columna de manera descendente"
|
1267 |
+
}
|
1268 |
+
}',
|
1269 |
+
'Swahili' => '{
|
1270 |
+
"sEmptyTable": "Hakuna data iliyo patikana",
|
1271 |
+
"sInfo": "Inaonyesha _START_ mpaka _END_ ya matokeo _TOTAL_",
|
1272 |
+
"sInfoEmpty": "Inaonyesha 0 hadi 0 ya matokeo 0",
|
1273 |
+
"sInfoFiltered": "(uschujo kutoka matokeo idadi _MAX_)",
|
1274 |
+
"sInfoPostFix": "",
|
1275 |
+
"sInfoThousands": ",",
|
1276 |
+
"sLengthMenu": "Onyesha _MENU_ matokeo",
|
1277 |
+
"sLoadingRecords": "Inapakia...",
|
1278 |
+
"sProcessing": "Processing...",
|
1279 |
+
"sSearch": "Tafuta:",
|
1280 |
+
"sZeroRecords": "Rekodi vinavyolingana haziku patikana",
|
1281 |
+
"oPaginate": {
|
1282 |
+
"sFirst": "Mwanzo",
|
1283 |
+
"sLast": "Mwisho",
|
1284 |
+
"sNext": "Ijayo",
|
1285 |
+
"sPrevious": "Kabla"
|
1286 |
+
},
|
1287 |
+
"oAria": {
|
1288 |
+
"sSortAscending": ": seti kulainisha sanjari kwa mtindo wa upandaji",
|
1289 |
+
"sSortDescending": ": seti kulainisha sanjari kwa mtindo wa mteremko"
|
1290 |
+
}
|
1291 |
+
}',
|
1292 |
+
'Swedish' => '{
|
1293 |
+
"sEmptyTable": "Tabellen innehåller ingen data",
|
1294 |
+
"sInfo": "Visar _START_ till _END_ av totalt _TOTAL_ rader",
|
1295 |
+
"sInfoEmpty": "Visar 0 till 0 av totalt 0 rader",
|
1296 |
+
"sInfoFiltered": "(filtrerade från totalt _MAX_ rader)",
|
1297 |
+
"sInfoPostFix": "",
|
1298 |
+
"sInfoThousands": " ",
|
1299 |
+
"sLengthMenu": "Visa _MENU_ rader",
|
1300 |
+
"sLoadingRecords": "Laddar...",
|
1301 |
+
"sProcessing": "Bearbetar...",
|
1302 |
+
"sSearch": "Sök:",
|
1303 |
+
"sZeroRecords": "Hittade inga matchande resultat",
|
1304 |
+
"oPaginate": {
|
1305 |
+
"sFirst": "Första",
|
1306 |
+
"sLast": "Sista",
|
1307 |
+
"sNext": "Nästa",
|
1308 |
+
"sPrevious": "Föregående"
|
1309 |
+
},
|
1310 |
+
"oAria": {
|
1311 |
+
"sSortAscending": ": aktivera för att sortera kolumnen i stigande ordning",
|
1312 |
+
"sSortDescending": ": aktivera för att sortera kolumnen i fallande ordning"
|
1313 |
+
}
|
1314 |
+
}',
|
1315 |
+
'Tamil' => '{
|
1316 |
+
"sEmptyTable": "அட்டவணையில் தரவு கிடைக்கவில்லை",
|
1317 |
+
"sInfo": "உள்ளீடுகளை் _START_ முதல _END_ உள்ள _TOTAL_ காட்டும்",
|
1318 |
+
"sInfoEmpty": "0 உள்ளீடுகளை 0 0 காட்டும்",
|
1319 |
+
"sInfoFiltered": "(_MAX_ மொத்த உள்ளீடுகளை இருந்து வடிகட்டி)",
|
1320 |
+
"sInfoPostFix": "",
|
1321 |
+
"sInfoThousands": ",",
|
1322 |
+
"sLengthMenu": "_MENU_ காண்பி",
|
1323 |
+
"sLoadingRecords": "ஏற்றுகிறது ...",
|
1324 |
+
"sProcessing": "செயலாக்க ...",
|
1325 |
+
"sSearch": "தேடல்:",
|
1326 |
+
"sZeroRecords": "பொருத்தமான பதிவுகள் இல்லை",
|
1327 |
+
"oPaginate": {
|
1328 |
+
"sFirst": "முதல்",
|
1329 |
+
"sLast": "இறுதி",
|
1330 |
+
"sNext": "அடுத்து",
|
1331 |
+
"sPrevious": "முந்தைய"
|
1332 |
+
},
|
1333 |
+
"oAria": {
|
1334 |
+
"sSortAscending": ": நிரலை ஏறுவரிசையில் வரிசைப்படுத்த செயல்படுத்த",
|
1335 |
+
"sSortDescending": ": நிரலை இறங்கு வரிசைப்படுத்த செயல்படுத்த"
|
1336 |
+
}
|
1337 |
+
}',
|
1338 |
+
'telugu' => '{
|
1339 |
+
"sEmptyTable": "పట్టికలో డేటా లేదు.",
|
1340 |
+
"sInfo": "మొత్తం _TOTAL_ ఎంట్రీలులో _START_ నుండి _END_ వరకు చూపిస్తున్నాం",
|
1341 |
+
"sInfoEmpty": "చూపిస్తున్నాం 0 నుండి 0 వరకు 0 ఎంట్రీలు లో",
|
1342 |
+
"sInfoFiltered": "( _MAX_ ఎంట్రీలులో నుండి వడపోయాబడినవి)",
|
1343 |
+
"sInfoPostFix": "",
|
1344 |
+
"sInfoThousands": ",",
|
1345 |
+
"sLengthMenu": " _MENU_ ఎంట్రీలు చూపించు",
|
1346 |
+
"sLoadingRecords": "లోడ్ అవుతుంది ...",
|
1347 |
+
"sProcessing": "ప్రాసెస్ చేయబడుతుంది...",
|
1348 |
+
"sSearch": "వెతుకు:",
|
1349 |
+
"sZeroRecords": "మ్యాచింగ్ రికార్డులు లేవు",
|
1350 |
+
"oPaginate": {
|
1351 |
+
"sFirst": "మొదటి",
|
1352 |
+
"sLast": "చివరి",
|
1353 |
+
"sNext": "తర్వాత",
|
1354 |
+
"sPrevious": "మునుపటి"
|
1355 |
+
},
|
1356 |
+
"oAria": {
|
1357 |
+
"sSortAscending": ": నిలువరుసను ఆరోహణ క్రమం అమర్చండి",
|
1358 |
+
"sSortDescending": ": నిలువరుసను అవరోహణ క్రమం అమర్చండి"
|
1359 |
+
}
|
1360 |
+
}',
|
1361 |
+
'Thai' => '{
|
1362 |
+
"sProcessing": "กำลังดำเนินการ...",
|
1363 |
+
"sLengthMenu": "แสดง _MENU_ แถว",
|
1364 |
+
"sZeroRecords": "ไม่พบข้อมูล",
|
1365 |
+
"sInfo": "แสดง _START_ ถึง _END_ จาก _TOTAL_ แถว",
|
1366 |
+
"sInfoEmpty": "แสดง 0 ถึง 0 จาก 0 แถว",
|
1367 |
+
"sInfoFiltered": "(กรองข้อมูล _MAX_ ทุกแถว)",
|
1368 |
+
"sInfoPostFix": "",
|
1369 |
+
"sSearch": "ค้นหา: ",
|
1370 |
+
"sUrl": "",
|
1371 |
+
"oPaginate": {
|
1372 |
+
"sFirst": "หน้าแรก",
|
1373 |
+
"sPrevious": "ก่อนหน้า",
|
1374 |
+
"sNext": "ถัดไป",
|
1375 |
+
"sLast": "หน้าสุดท้าย"
|
1376 |
+
}
|
1377 |
+
}',
|
1378 |
+
'Turkish' => '{
|
1379 |
+
"sDecimal": ",",
|
1380 |
+
"sEmptyTable": "Tabloda herhangi bir veri mevcut değil",
|
1381 |
+
"sInfo": "_TOTAL_ kayıttan _START_ - _END_ arasındaki kayıtlar gösteriliyor",
|
1382 |
+
"sInfoEmpty": "Kayıt yok",
|
1383 |
+
"sInfoFiltered": "(_MAX_ kayıt içerisinden bulunan)",
|
1384 |
+
"sInfoPostFix": "",
|
1385 |
+
"sInfoThousands": ".",
|
1386 |
+
"sLengthMenu": "Sayfada _MENU_ kayıt göster",
|
1387 |
+
"sLoadingRecords": "Yükleniyor...",
|
1388 |
+
"sProcessing": "İşleniyor...",
|
1389 |
+
"sSearch": "Ara:",
|
1390 |
+
"sZeroRecords": "Eşleşen kayıt bulunamadı",
|
1391 |
+
"oPaginate": {
|
1392 |
+
"sFirst": "İlk",
|
1393 |
+
"sLast": "Son",
|
1394 |
+
"sNext": "Sonraki",
|
1395 |
+
"sPrevious": "Önceki"
|
1396 |
+
},
|
1397 |
+
"oAria": {
|
1398 |
+
"sSortAscending": ": artan sütun sıralamasını aktifleştir",
|
1399 |
+
"sSortDescending": ": azalan sütun sıralamasını aktifleştir"
|
1400 |
+
}
|
1401 |
+
}',
|
1402 |
+
'Ukrainian' => '{
|
1403 |
+
"sProcessing": "Зачекайте...",
|
1404 |
+
"sLengthMenu": "Показати _MENU_ записів",
|
1405 |
+
"sZeroRecords": "Записи відсутні.",
|
1406 |
+
"sInfo": "Записи з _START_ по _END_ із _TOTAL_ записів",
|
1407 |
+
"sInfoEmpty": "Записи з 0 по 0 із 0 записів",
|
1408 |
+
"sInfoFiltered": "(відфільтровано з _MAX_ записів)",
|
1409 |
+
"sInfoPostFix": "",
|
1410 |
+
"sSearch": "Пошук:",
|
1411 |
+
"sUrl": "",
|
1412 |
+
"oPaginate": {
|
1413 |
+
"sFirst": "Перша",
|
1414 |
+
"sPrevious": "Попередня",
|
1415 |
+
"sNext": "Наступна",
|
1416 |
+
"sLast": "Остання"
|
1417 |
+
},
|
1418 |
+
"oAria": {
|
1419 |
+
"sSortAscending": ": активувати для сортування стовпців за зростанням",
|
1420 |
+
"sSortDescending": ": активувати для сортування стовпців за спаданням"
|
1421 |
+
}
|
1422 |
+
}',
|
1423 |
+
'Urdu' => '{
|
1424 |
+
"sProcessing": "ہے جاري عملدرامد...",
|
1425 |
+
"sLengthMenu": "دکہائين شقيں کي (_MENU_) فہرست",
|
1426 |
+
"sZeroRecords": "ملے نہيں مفروضات جلتے ملتے کوئ",
|
1427 |
+
"sInfo": "فہرست کي تک _END_ سے _START_ سے ميں _TOTAL_ فہرست پوري ہے نظر پيش",
|
1428 |
+
"sInfoEmpty": "فہرست کي تک 0 سے 0 سے ميں 0 قل ہے نظر پيشّ",
|
1429 |
+
"sInfoFiltered": "(فہرست ہوئ چھني سے ميں _MAX_ قل)",
|
1430 |
+
"sInfoPostFix": "",
|
1431 |
+
"sSearch": "کرو تلاش:",
|
1432 |
+
"sUrl": "",
|
1433 |
+
"oPaginate": {
|
1434 |
+
"sFirst": "پہلا",
|
1435 |
+
"sPrevious": "پچہلا",
|
1436 |
+
"sNext": "اگلا",
|
1437 |
+
"sLast": "آخري"
|
1438 |
+
}
|
1439 |
+
}',
|
1440 |
+
'Uzbek' => '{
|
1441 |
+
"sEmptyTable": "Ma\'lumot yo\'q",
|
1442 |
+
"sInfo": "Umumiy _TOTAL_ yozuvlarlardan _START_ dan _END_ gachasi ko\'rsatilmoqda",
|
1443 |
+
"sInfoEmpty": "Umumiy 0 yozuvlardan 0 dan 0 gachasi ko\'rsatilmoqda",
|
1444 |
+
"sInfoFiltered": "(_MAX_ yozuvlardan filtrlandi)",
|
1445 |
+
"sInfoPostFix": "",
|
1446 |
+
"sLengthMenu": "_MENU_ ta yozuvlarni ko\'rsat",
|
1447 |
+
"sLoadingRecords": "Yozuvlar yuklanmoqda...",
|
1448 |
+
"sProcessing": "Ishlayapman...",
|
1449 |
+
"sSearch": "Izlash:",
|
1450 |
+
"sZeroRecords": "Ma\'lumot yo\'q.",
|
1451 |
+
"oPaginate": {
|
1452 |
+
"sFirst": "Birinchi",
|
1453 |
+
"sPrevious": "Avvalgi",
|
1454 |
+
"sNext": "Keyingi",
|
1455 |
+
"sLast": "Son\'ggi"
|
1456 |
+
},
|
1457 |
+
"oAria": {
|
1458 |
+
"sSortAscending": ": to\'g\'ri tartiblash",
|
1459 |
+
"sSortDescending": ": teskari tartiblash"
|
1460 |
+
}
|
1461 |
+
}',
|
1462 |
+
'Vietnamese' => '{
|
1463 |
+
"sProcessing": "Đang xử lý...",
|
1464 |
+
"sLengthMenu": "Xem _MENU_ mục",
|
1465 |
+
"sZeroRecords": "Không tìm thấy dòng nào phù hợp",
|
1466 |
+
"sInfo": "Đang xem _START_ đến _END_ trong tổng số _TOTAL_ mục",
|
1467 |
+
"sInfoEmpty": "Đang xem 0 đến 0 trong tổng số 0 mục",
|
1468 |
+
"sInfoFiltered": "(được lọc từ _MAX_ mục)",
|
1469 |
+
"sInfoPostFix": "",
|
1470 |
+
"sSearch": "Tìm:",
|
1471 |
+
"sUrl": "",
|
1472 |
+
"oPaginate": {
|
1473 |
+
"sFirst": "Đầu",
|
1474 |
+
"sPrevious": "Trước",
|
1475 |
+
"sNext": "Tiếp",
|
1476 |
+
"sLast": "Cuối"
|
1477 |
+
}
|
1478 |
+
}',
|
1479 |
+
'Welsh' => '{
|
1480 |
+
"sEmptyTable": "Dim data ar gael yn y tabl",
|
1481 |
+
"sInfo": "Dangos _START_ i _END_ o _TOTAL_ cofnod",
|
1482 |
+
"sInfoEmpty": "Dangos 0 i 0 o 0 cofnod",
|
1483 |
+
"sInfoFiltered": "(wedi hidlo o gyfanswm o _MAX_ cofnod)",
|
1484 |
+
"sInfoPostFix": "",
|
1485 |
+
"sInfoThousands": ",",
|
1486 |
+
"sLengthMenu": "Dangos _MENU_ cofnod",
|
1487 |
+
"sLoadingRecords": "Wrthi\'n llwytho...",
|
1488 |
+
"sProcessing": "Wrthi\'n prosesu...",
|
1489 |
+
"sSearch": "Chwilio:",
|
1490 |
+
"sZeroRecords": "Heb ddod o hyd i gofnodion sy\'n cyfateb",
|
1491 |
+
"oPaginate": {
|
1492 |
+
"sFirst": "Cyntaf",
|
1493 |
+
"sLast": "Olaf",
|
1494 |
+
"sNext": "Nesaf",
|
1495 |
+
"sPrevious": "Blaenorol"
|
1496 |
+
},
|
1497 |
+
"oAria": {
|
1498 |
+
"sSortAscending": ": rhoi ar waith i drefnu colofnau o\'r lleiaf i\'r mwyaf",
|
1499 |
+
"sSortDescending": ": rhoi ar waith i drefnu colofnau o\'r mwyaf i\'r lleiaf"
|
1500 |
+
}
|
1501 |
+
}',
|
1502 |
+
);
|
src/SupsysticTables/Tables/assets/libraries/ruleJS/handsontable.formula.js
CHANGED
@@ -186,102 +186,166 @@
|
|
186 |
};
|
187 |
|
188 |
var beforeAutofillInsidePopulate = function (index, direction, data, deltas, iterators, selected) {
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
279 |
};
|
280 |
|
281 |
var afterCreateRow = function (row, amount, auto) {
|
282 |
-
|
283 |
-
|
284 |
-
|
|
|
|
|
|
|
285 |
|
286 |
var instance = this;
|
287 |
|
@@ -293,13 +357,13 @@
|
|
293 |
|
294 |
var direction = (selectedRow >= row) ? 'before' : 'after',
|
295 |
items = instance.plugin.matrix.getRefItemsToRow(row),
|
296 |
-
counter =
|
297 |
changes = [];
|
298 |
|
299 |
items.forEach(function (id) {
|
300 |
|
301 |
var item = instance.plugin.matrix.getItem(id),
|
302 |
-
formula = instance.plugin.utils.changeFormula(item.formula,
|
303 |
newId = id;
|
304 |
|
305 |
if (formula !== item.formula) { // formula updated
|
@@ -331,7 +395,8 @@
|
|
331 |
}
|
332 |
};
|
333 |
|
334 |
-
var afterCreateCol = function (col) {
|
|
|
335 |
var instance = this;
|
336 |
|
337 |
var selectedCol = instance.plugin.utils.isArray(instance.getSelected()) ? instance.getSelected()[1] : undefined;
|
@@ -341,14 +406,14 @@
|
|
341 |
}
|
342 |
|
343 |
var items = instance.plugin.matrix.getRefItemsToColumn(col),
|
344 |
-
counter =
|
345 |
direction = (selectedCol >= col) ? 'before' : 'after',
|
346 |
changes = [];
|
347 |
|
348 |
items.forEach(function (id) {
|
349 |
|
350 |
var item = instance.plugin.matrix.getItem(id),
|
351 |
-
formula = instance.plugin.utils.changeFormula(item.formula,
|
352 |
newId = id;
|
353 |
|
354 |
if (formula !== item.formula) { // formula updated
|
@@ -379,6 +444,108 @@
|
|
379 |
}
|
380 |
};
|
381 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
382 |
var formulaCell = {
|
383 |
renderer: formulaRenderer,
|
384 |
editor: Handsontable.editors.TextEditor,
|
@@ -415,17 +582,26 @@
|
|
415 |
Handsontable.NumericCell.renderer = formulaRenderer;
|
416 |
|
417 |
instance.addHook('afterChange', afterChange);
|
418 |
-
|
419 |
|
420 |
instance.addHook('afterCreateRow', afterCreateRow);
|
421 |
instance.addHook('afterCreateCol', afterCreateCol);
|
422 |
|
|
|
|
|
|
|
|
|
423 |
} else {
|
424 |
instance.removeHook('afterChange', afterChange);
|
425 |
-
|
426 |
|
427 |
instance.removeHook('afterCreateRow', afterCreateRow);
|
428 |
instance.removeHook('afterCreateCol', afterCreateCol);
|
|
|
|
|
|
|
|
|
|
|
429 |
}
|
430 |
};
|
431 |
}
|
186 |
};
|
187 |
|
188 |
var beforeAutofillInsidePopulate = function (index, direction, data, deltas, iterators, selected) {
|
189 |
+
var instance = this,
|
190 |
+
r = index.row,
|
191 |
+
c = index.col,
|
192 |
+
value = 0,
|
193 |
+
delta = 0,
|
194 |
+
rlength = selected.row, // rows
|
195 |
+
clength = selected.col; //cols
|
196 |
+
|
197 |
+
if (['down', 'up'].indexOf(direction) !== -1) {
|
198 |
+
value = data[data.length - 1][c];
|
199 |
+
} else if (['right', 'left'].indexOf(direction) !== -1) {
|
200 |
+
value = data[r][data[r].length - 1];
|
201 |
+
}
|
202 |
+
if (value[0] === '=') { // formula
|
203 |
+
switch(direction) {
|
204 |
+
case 'up':
|
205 |
+
delta = rlength - r;
|
206 |
+
break;
|
207 |
+
case 'down':
|
208 |
+
delta = r + 1;
|
209 |
+
break;
|
210 |
+
case 'right':
|
211 |
+
delta = c + 1;
|
212 |
+
break;
|
213 |
+
case 'left':
|
214 |
+
delta = clength - c;
|
215 |
+
break;
|
216 |
+
default:
|
217 |
+
break;
|
218 |
+
}
|
219 |
+
value = instance.plugin.utils.updateFormula(value, direction, delta);
|
220 |
+
} else { // other value
|
221 |
+
if (rlength >= 2 || clength >= 2) { // increment or decrement values for more than 2 selected cells
|
222 |
+
value = instance.plugin.helper.number(value);
|
223 |
+
|
224 |
+
if (instance.plugin.utils.isNumber(value)) {
|
225 |
+
if (['down', 'up'].indexOf(direction) !== -1) {
|
226 |
+
delta = deltas[0][c];
|
227 |
+
|
228 |
+
if (direction === 'up') {
|
229 |
+
value = instance.plugin.helper.number(data[0][c]);
|
230 |
+
value += delta * (rlength - r);
|
231 |
+
} else {
|
232 |
+
value += delta * (r + 1);
|
233 |
+
}
|
234 |
+
} else if (['right', 'left'].indexOf(direction) !== -1) {
|
235 |
+
delta = deltas[r][0];
|
236 |
+
|
237 |
+
if (direction === 'left') {
|
238 |
+
value = instance.plugin.helper.number(data[r][0]);
|
239 |
+
value += delta * (clength - c);
|
240 |
+
} else {
|
241 |
+
value += delta * (c + 1);
|
242 |
+
}
|
243 |
+
}
|
244 |
+
}
|
245 |
+
}
|
246 |
+
}
|
247 |
+
return {
|
248 |
+
value: value
|
249 |
+
}
|
250 |
+
/*var instance = this;
|
251 |
+
|
252 |
+
var r = index.row,
|
253 |
+
c = index.col,
|
254 |
+
value = data[r][c],
|
255 |
+
delta = 0,
|
256 |
+
rlength = data.length, // rows
|
257 |
+
clength = data ? data[0].length : 0; //cols
|
258 |
+
|
259 |
+
if (value[0] === '=') { // formula
|
260 |
+
|
261 |
+
if (['down', 'up'].indexOf(direction) !== -1) {
|
262 |
+
delta = rlength * iterators.row;
|
263 |
+
} else if (['right', 'left'].indexOf(direction) !== -1) {
|
264 |
+
delta = clength * iterators.col;
|
265 |
+
}
|
266 |
+
|
267 |
+
return {
|
268 |
+
value: instance.plugin.utils.updateFormula(value, direction, delta),
|
269 |
+
iterators: iterators
|
270 |
+
}
|
271 |
+
|
272 |
+
} else { // other value
|
273 |
+
|
274 |
+
// increment or decrement values for more than 2 selected cells
|
275 |
+
if (rlength >= 2 || clength >= 2) {
|
276 |
+
|
277 |
+
var newValue = instance.plugin.helper.number(value),
|
278 |
+
ii,
|
279 |
+
start;
|
280 |
+
|
281 |
+
if (instance.plugin.utils.isNumber(newValue)) {
|
282 |
+
|
283 |
+
if (['down', 'up'].indexOf(direction) !== -1) {
|
284 |
+
|
285 |
+
delta = deltas[0][c];
|
286 |
+
|
287 |
+
if (direction === 'down') {
|
288 |
+
newValue += (delta * rlength * iterators.row);
|
289 |
+
} else {
|
290 |
+
|
291 |
+
ii = (selected.row - r) % rlength;
|
292 |
+
start = ii > 0 ? rlength - ii : 0;
|
293 |
+
|
294 |
+
newValue = instance.plugin.helper.number(data[start][c]);
|
295 |
+
|
296 |
+
newValue += (delta * rlength * iterators.row);
|
297 |
+
|
298 |
+
// last element in array -> decrement iterator
|
299 |
+
// iterator cannot be less than 1
|
300 |
+
if (iterators.row > 1 && (start + 1) === rlength) {
|
301 |
+
iterators.row--;
|
302 |
+
}
|
303 |
+
}
|
304 |
+
|
305 |
+
} else if (['right', 'left'].indexOf(direction) !== -1) {
|
306 |
+
delta = deltas[r][0];
|
307 |
+
|
308 |
+
if (direction === 'right') {
|
309 |
+
newValue += (delta * clength * iterators.col);
|
310 |
+
} else {
|
311 |
+
|
312 |
+
ii = (selected.col - c) % clength;
|
313 |
+
start = ii > 0 ? clength - ii : 0;
|
314 |
+
|
315 |
+
newValue = instance.plugin.helper.number(data[r][start]);
|
316 |
+
|
317 |
+
newValue += (delta * clength * (iterators.col || 1));
|
318 |
+
|
319 |
+
// last element in array -> decrement iterator
|
320 |
+
// iterator cannot be less than 1
|
321 |
+
if (iterators.col > 1 && (start + 1) === clength) {
|
322 |
+
iterators.col--;
|
323 |
+
}
|
324 |
+
}
|
325 |
+
}
|
326 |
+
|
327 |
+
return {
|
328 |
+
value: newValue,
|
329 |
+
iterators: iterators
|
330 |
+
}
|
331 |
+
}
|
332 |
+
}
|
333 |
+
|
334 |
+
}
|
335 |
+
|
336 |
+
return {
|
337 |
+
value: value,
|
338 |
+
iterators: iterators
|
339 |
+
};*/
|
340 |
};
|
341 |
|
342 |
var afterCreateRow = function (row, amount, auto) {
|
343 |
+
//console.log(row, amount, auto);
|
344 |
+
/*supsystic*/
|
345 |
+
//if (auto) {
|
346 |
+
// return;
|
347 |
+
//}
|
348 |
+
/*****/
|
349 |
|
350 |
var instance = this;
|
351 |
|
357 |
|
358 |
var direction = (selectedRow >= row) ? 'before' : 'after',
|
359 |
items = instance.plugin.matrix.getRefItemsToRow(row),
|
360 |
+
counter = amount,
|
361 |
changes = [];
|
362 |
|
363 |
items.forEach(function (id) {
|
364 |
|
365 |
var item = instance.plugin.matrix.getItem(id),
|
366 |
+
formula = instance.plugin.utils.changeFormula(item.formula, counter, {row: row}), // update formula if needed
|
367 |
newId = id;
|
368 |
|
369 |
if (formula !== item.formula) { // formula updated
|
395 |
}
|
396 |
};
|
397 |
|
398 |
+
var afterCreateCol = function (col, amount) {
|
399 |
+
//console.log(col, amount);
|
400 |
var instance = this;
|
401 |
|
402 |
var selectedCol = instance.plugin.utils.isArray(instance.getSelected()) ? instance.getSelected()[1] : undefined;
|
406 |
}
|
407 |
|
408 |
var items = instance.plugin.matrix.getRefItemsToColumn(col),
|
409 |
+
counter = amount,
|
410 |
direction = (selectedCol >= col) ? 'before' : 'after',
|
411 |
changes = [];
|
412 |
|
413 |
items.forEach(function (id) {
|
414 |
|
415 |
var item = instance.plugin.matrix.getItem(id),
|
416 |
+
formula = instance.plugin.utils.changeFormula(item.formula, counter, {col: col}), // update formula if needed
|
417 |
newId = id;
|
418 |
|
419 |
if (formula !== item.formula) { // formula updated
|
444 |
}
|
445 |
};
|
446 |
|
447 |
+
// custom supsystic functions
|
448 |
+
/*supsystic*/
|
449 |
+
var afterRemoveRow = function (row, amount, auto) {
|
450 |
+
//console.log(row, amount, auto);
|
451 |
+
var instance = this;
|
452 |
+
|
453 |
+
var selectedRow = instance.plugin.utils.isArray(instance.getSelected()) ? instance.getSelected()[0] : undefined;
|
454 |
+
|
455 |
+
if (instance.plugin.utils.isUndefined(selectedRow)) {
|
456 |
+
return;
|
457 |
+
}
|
458 |
+
|
459 |
+
var direction = (selectedRow >= row) ? 'before' : 'after',
|
460 |
+
items = instance.plugin.matrix.getRefItemsToRow(row),
|
461 |
+
counter = -amount,
|
462 |
+
changes = [];
|
463 |
+
|
464 |
+
items.forEach(function (id) {
|
465 |
+
|
466 |
+
var item = instance.plugin.matrix.getItem(id),
|
467 |
+
formula = instance.plugin.utils.changeFormula(item.formula, counter, {row: row}), // update formula if needed
|
468 |
+
newId = id;
|
469 |
+
|
470 |
+
if (formula !== item.formula) { // formula updated
|
471 |
+
|
472 |
+
// change row index and get new coordinates
|
473 |
+
if ((direction === 'before' && selectedRow <= item.row) || (direction === 'after' && selectedRow < item.row)) {
|
474 |
+
newId = instance.plugin.utils.changeRowIndex(id, counter);
|
475 |
+
}
|
476 |
+
|
477 |
+
var cellCoords = instance.plugin.utils.cellCoords(newId);
|
478 |
+
|
479 |
+
if (newId !== id) {
|
480 |
+
// remove current item from matrix
|
481 |
+
instance.plugin.matrix.removeItem(id);
|
482 |
+
}
|
483 |
+
|
484 |
+
// set updated formula in new cell
|
485 |
+
changes.push([cellCoords.row, cellCoords.col, '=' + formula]);
|
486 |
+
|
487 |
+
}
|
488 |
+
});
|
489 |
+
|
490 |
+
if (items) {
|
491 |
+
instance.plugin.matrix.removeItemsBelowRow(row);
|
492 |
+
}
|
493 |
+
|
494 |
+
if (changes) {
|
495 |
+
instance.setDataAtCell(changes);
|
496 |
+
}
|
497 |
+
};
|
498 |
+
|
499 |
+
var afterRemoveCol = function (col, amount) {
|
500 |
+
//console.log(col, amount);
|
501 |
+
var instance = this;
|
502 |
+
|
503 |
+
var selectedCol = instance.plugin.utils.isArray(instance.getSelected()) ? instance.getSelected()[1] : undefined;
|
504 |
+
|
505 |
+
if (instance.plugin.utils.isUndefined(selectedCol)) {
|
506 |
+
return;
|
507 |
+
}
|
508 |
+
|
509 |
+
var items = instance.plugin.matrix.getRefItemsToColumn(col),
|
510 |
+
counter = -amount,
|
511 |
+
direction = (selectedCol <= col) ? 'before' : 'after',
|
512 |
+
changes = [];
|
513 |
+
|
514 |
+
items.forEach(function (id) {
|
515 |
+
|
516 |
+
var item = instance.plugin.matrix.getItem(id),
|
517 |
+
formula = instance.plugin.utils.changeFormula(item.formula, counter, {col: col}), // update formula if needed
|
518 |
+
newId = id;
|
519 |
+
|
520 |
+
if (formula !== item.formula) { // formula updated
|
521 |
+
|
522 |
+
// change col index and get new coordinates
|
523 |
+
if ((direction === 'before' && selectedCol <= item.col) || (direction === 'after' && selectedCol < item.col)) {
|
524 |
+
newId = instance.plugin.utils.changeColIndex(id, counter);
|
525 |
+
}
|
526 |
+
|
527 |
+
var cellCoords = instance.plugin.utils.cellCoords(newId);
|
528 |
+
|
529 |
+
if (newId !== id) {
|
530 |
+
// remove current item from matrix if id changed
|
531 |
+
instance.plugin.matrix.removeItem(id);
|
532 |
+
}
|
533 |
+
|
534 |
+
// set updated formula in new cell
|
535 |
+
changes.push([cellCoords.row, cellCoords.col, '=' + formula]);
|
536 |
+
}
|
537 |
+
});
|
538 |
+
|
539 |
+
if (items) {
|
540 |
+
instance.plugin.matrix.removeItemsBelowCol(col);
|
541 |
+
}
|
542 |
+
|
543 |
+
if (changes) {
|
544 |
+
instance.setDataAtCell(changes);
|
545 |
+
}
|
546 |
+
};
|
547 |
+
/*****/
|
548 |
+
|
549 |
var formulaCell = {
|
550 |
renderer: formulaRenderer,
|
551 |
editor: Handsontable.editors.TextEditor,
|
582 |
Handsontable.NumericCell.renderer = formulaRenderer;
|
583 |
|
584 |
instance.addHook('afterChange', afterChange);
|
585 |
+
instance.addHook('beforeAutofillInsidePopulate', beforeAutofillInsidePopulate);
|
586 |
|
587 |
instance.addHook('afterCreateRow', afterCreateRow);
|
588 |
instance.addHook('afterCreateCol', afterCreateCol);
|
589 |
|
590 |
+
/*supsystic*/
|
591 |
+
instance.addHook('afterRemoveRow', afterRemoveRow);
|
592 |
+
instance.addHook('afterRemoveCol', afterRemoveCol);
|
593 |
+
/*****/
|
594 |
} else {
|
595 |
instance.removeHook('afterChange', afterChange);
|
596 |
+
instance.removeHook('beforeAutofillInsidePopulate', beforeAutofillInsidePopulate);
|
597 |
|
598 |
instance.removeHook('afterCreateRow', afterCreateRow);
|
599 |
instance.removeHook('afterCreateCol', afterCreateCol);
|
600 |
+
|
601 |
+
/*supsystic*/
|
602 |
+
instance.removeHook('afterRemoveRow', afterRemoveRow);
|
603 |
+
instance.removeHook('afterRemoveCol', afterRemoveCol);
|
604 |
+
/*****/
|
605 |
}
|
606 |
};
|
607 |
}
|
src/SupsysticTables/Tables/assets/libraries/ruleJS/ruleJS.js
CHANGED
@@ -399,7 +399,6 @@ var ruleJS = (function (root) {
|
|
399 |
* @returns {Object}
|
400 |
*/
|
401 |
var calculateElementFormula = function (formula, element) {
|
402 |
-
window.supsystic.Tables._currentFormula = jQuery(element).data('formula'); // to calculate custom supsystic formulas on frontend
|
403 |
// to avoid double translate formulas, update item data in parser
|
404 |
var parsed = parse(formula, element),
|
405 |
value = parsed.result,
|
@@ -1065,6 +1064,9 @@ var ruleJS = (function (root) {
|
|
1065 |
if (!isNaN(num)) {
|
1066 |
return num.indexOf('.') > -1 ? parseFloat(num) : parseInt(num, 10);
|
1067 |
}
|
|
|
|
|
|
|
1068 |
}
|
1069 |
|
1070 |
return num;
|
@@ -1158,6 +1160,8 @@ var ruleJS = (function (root) {
|
|
1158 |
*/
|
1159 |
mathMatch: function (type, number1, number2) {
|
1160 |
var result;
|
|
|
|
|
1161 |
|
1162 |
number1 = helper.number(number1);
|
1163 |
number2 = helper.number(number2);
|
@@ -1166,35 +1170,74 @@ var ruleJS = (function (root) {
|
|
1166 |
if (number1[0] === '=' || number2[0] === '=') {
|
1167 |
throw Error('NEED_UPDATE');
|
1168 |
}
|
1169 |
-
|
1170 |
-
|
1171 |
-
|
|
|
|
|
|
|
|
|
1172 |
}
|
1173 |
if (isNaN(number2)) {
|
1174 |
-
|
|
|
|
|
|
|
|
|
1175 |
}
|
1176 |
}
|
1177 |
-
|
1178 |
switch (type) {
|
1179 |
case '+':
|
1180 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1181 |
break;
|
1182 |
case '-':
|
1183 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1184 |
break;
|
1185 |
case '/':
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
|
|
|
|
|
|
|
|
1192 |
break;
|
1193 |
case '*':
|
1194 |
-
|
|
|
|
|
|
|
|
|
1195 |
break;
|
1196 |
case '^':
|
1197 |
-
|
|
|
|
|
|
|
|
|
1198 |
break;
|
1199 |
}
|
1200 |
|
@@ -1372,7 +1415,21 @@ var ruleJS = (function (root) {
|
|
1372 |
end = end.replace(/\$/g, '');
|
1373 |
|
1374 |
return instance.helper.cellRangeValue.call(this, start, end);
|
1375 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1376 |
};
|
1377 |
|
1378 |
/**
|
@@ -1382,6 +1439,26 @@ var ruleJS = (function (root) {
|
|
1382 |
* @param element
|
1383 |
*/
|
1384 |
var parse = function (formula, element) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1385 |
var result = null,
|
1386 |
error = null;
|
1387 |
|
@@ -1414,7 +1491,8 @@ var ruleJS = (function (root) {
|
|
1414 |
}
|
1415 |
|
1416 |
} catch (ex) {
|
1417 |
-
|
|
|
1418 |
|
1419 |
if (message) {
|
1420 |
error = message;
|
@@ -1569,6 +1647,7 @@ var ruleJS = (function (root) {
|
|
1569 |
|
1570 |
if (rootElement) {
|
1571 |
instance.matrix.scan();
|
|
|
1572 |
}
|
1573 |
};
|
1574 |
|
399 |
* @returns {Object}
|
400 |
*/
|
401 |
var calculateElementFormula = function (formula, element) {
|
|
|
402 |
// to avoid double translate formulas, update item data in parser
|
403 |
var parsed = parse(formula, element),
|
404 |
value = parsed.result,
|
1064 |
if (!isNaN(num)) {
|
1065 |
return num.indexOf('.') > -1 ? parseFloat(num) : parseInt(num, 10);
|
1066 |
}
|
1067 |
+
if (!num) {
|
1068 |
+
return 0;
|
1069 |
+
}
|
1070 |
}
|
1071 |
|
1072 |
return num;
|
1160 |
*/
|
1161 |
mathMatch: function (type, number1, number2) {
|
1162 |
var result;
|
1163 |
+
var moment1 = null;
|
1164 |
+
var moment2 = null;
|
1165 |
|
1166 |
number1 = helper.number(number1);
|
1167 |
number2 = helper.number(number2);
|
1170 |
if (number1[0] === '=' || number2[0] === '=') {
|
1171 |
throw Error('NEED_UPDATE');
|
1172 |
}
|
1173 |
+
|
1174 |
+
if (isNaN(number1)) {
|
1175 |
+
moment1 = moment(number1, window.supsystic.Tables._dateFormat);
|
1176 |
+
if(moment1 && moment1._pf && moment1._pf.empty) {
|
1177 |
+
moment1 = null;
|
1178 |
+
number1 = 0;
|
1179 |
+
}
|
1180 |
}
|
1181 |
if (isNaN(number2)) {
|
1182 |
+
moment2 = moment(number2, window.supsystic.Tables._dateFormat);
|
1183 |
+
if(moment2 && moment2._pf && moment2._pf.empty) {
|
1184 |
+
moment2 = null;
|
1185 |
+
number2 = 0;
|
1186 |
+
}
|
1187 |
}
|
1188 |
}
|
|
|
1189 |
switch (type) {
|
1190 |
case '+':
|
1191 |
+
if(moment1 || moment2) {
|
1192 |
+
if(moment1 && moment2) {
|
1193 |
+
throw Error('VALUE');
|
1194 |
+
} else if(moment1 && !moment2) {
|
1195 |
+
result = moment1.add(number2, 'days').format(window.supsystic.Tables._dateFormat);
|
1196 |
+
} else if(!moment1 && moment2) {
|
1197 |
+
result = moment2.add(number1, 'days').format(window.supsystic.Tables._dateFormat);
|
1198 |
+
}
|
1199 |
+
} else {
|
1200 |
+
result = number1 + number2;
|
1201 |
+
}
|
1202 |
break;
|
1203 |
case '-':
|
1204 |
+
if(moment1 || moment2) {
|
1205 |
+
if(moment1 && moment2) {
|
1206 |
+
result = moment1.diff(moment2, 'days');
|
1207 |
+
} else if(moment1 && !moment2) {
|
1208 |
+
result = moment1.add(-number2, 'days').format(window.supsystic.Tables._dateFormat);
|
1209 |
+
} else if(!moment1 && moment2) {
|
1210 |
+
throw Error('VALUE');
|
1211 |
+
}
|
1212 |
+
} else {
|
1213 |
+
result = number1 - number2;
|
1214 |
+
}
|
1215 |
break;
|
1216 |
case '/':
|
1217 |
+
if(moment1 || moment2) {
|
1218 |
+
throw Error('VALUE');
|
1219 |
+
} else {
|
1220 |
+
result = number1 / number2;
|
1221 |
+
if (result == Infinity) {
|
1222 |
+
throw Error('DIV_ZERO');
|
1223 |
+
} else if (isNaN(result)) {
|
1224 |
+
throw Error('VALUE');
|
1225 |
+
}
|
1226 |
+
}
|
1227 |
break;
|
1228 |
case '*':
|
1229 |
+
if(moment1 || moment2) {
|
1230 |
+
throw Error('VALUE');
|
1231 |
+
} else {
|
1232 |
+
result = number1 * number2;
|
1233 |
+
}
|
1234 |
break;
|
1235 |
case '^':
|
1236 |
+
if(moment1 || moment2) {
|
1237 |
+
throw Error('VALUE');
|
1238 |
+
} else {
|
1239 |
+
result = Math.pow(number1, number2);
|
1240 |
+
}
|
1241 |
break;
|
1242 |
}
|
1243 |
|
1415 |
end = end.replace(/\$/g, '');
|
1416 |
|
1417 |
return instance.helper.cellRangeValue.call(this, start, end);
|
1418 |
+
},
|
1419 |
+
|
1420 |
+
/**
|
1421 |
+
* Unescape HTML in the selectsd cells for formulas result.
|
1422 |
+
* @param $table
|
1423 |
+
*/
|
1424 |
+
unescapeHTML: function($table) {
|
1425 |
+
$table = $table instanceof jQuery ? $table : jQuery($table);
|
1426 |
+
$table.find('.unescapeHTML').each(function() {
|
1427 |
+
var cell = jQuery(this),
|
1428 |
+
cellContent = cell.html().replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
|
1429 |
+
|
1430 |
+
cell.html(cellContent);
|
1431 |
+
});
|
1432 |
+
}
|
1433 |
};
|
1434 |
|
1435 |
/**
|
1439 |
* @param element
|
1440 |
*/
|
1441 |
var parse = function (formula, element) {
|
1442 |
+
window.supsystic.Tables._currentFormula = formula; // to calculate custom supsystic formulas
|
1443 |
+
window.supsystic.Tables._dateFormat = '';
|
1444 |
+
window.supsystic.Tables._timeFormat = '';
|
1445 |
+
|
1446 |
+
if(SDT_DATA && SDT_DATA.isAdmin && typeof element.row != 'undefined' && typeof element.col != 'undefined') {
|
1447 |
+
var cellMeta = window.editor.getCellMeta(element.row, element.col);
|
1448 |
+
|
1449 |
+
window.supsystic.Tables._dateFormat = cellMeta && cellMeta.dateFormat
|
1450 |
+
? cellMeta.dateFormat
|
1451 |
+
: jQuery('#editor-set-date-format').val();
|
1452 |
+
window.supsystic.Tables._timeFormat = cellMeta && cellMeta.formatType == "time_duration"
|
1453 |
+
? cellMeta.format
|
1454 |
+
: jQuery('#editor-set-time-duration-format').val();
|
1455 |
+
} else {
|
1456 |
+
var elem = jQuery(element);
|
1457 |
+
|
1458 |
+
window.supsystic.Tables._dateFormat = elem.data('cell-format') || elem.parents('.supsystic-table:first').data('date-format');
|
1459 |
+
window.supsystic.Tables._timeFormat = elem.data('cell-format') || elem.parents('.supsystic-table:first').data('time-format');
|
1460 |
+
}
|
1461 |
+
|
1462 |
var result = null,
|
1463 |
error = null;
|
1464 |
|
1491 |
}
|
1492 |
|
1493 |
} catch (ex) {
|
1494 |
+
// Formulas errors!!!
|
1495 |
+
var message = Exception.get(ex.message);
|
1496 |
|
1497 |
if (message) {
|
1498 |
error = message;
|
1647 |
|
1648 |
if (rootElement) {
|
1649 |
instance.matrix.scan();
|
1650 |
+
helper.unescapeHTML(rootElement);
|
1651 |
}
|
1652 |
};
|
1653 |
|
src/SupsysticTables/Tables/assets/libraries/ruleJS/ruleJS.lib.full.js
CHANGED
@@ -15426,7 +15426,17 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
15426 |
|
15427 |
// Date functions
|
15428 |
Formula.DATE = function () {
|
15429 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15430 |
return new Date();
|
15431 |
}
|
15432 |
|
@@ -15437,24 +15447,29 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
15437 |
var args = arguments;
|
15438 |
args[1] = args[1] - 1; // Monthes are between 0 and 11.
|
15439 |
|
15440 |
-
return new (Date.bind.apply(Date, [Date].concat([].splice.call(args, 0))))()
|
15441 |
};
|
15442 |
|
15443 |
Formula.DATEVALUE = function (date_text) {
|
15444 |
-
|
|
|
15445 |
};
|
15446 |
|
15447 |
Formula.DAY = function (date) {
|
15448 |
-
return
|
|
|
15449 |
};
|
15450 |
|
15451 |
Formula.DAYS = function (end_date, start_date) {
|
15452 |
-
|
|
|
15453 |
};
|
15454 |
|
15455 |
Formula.DAYS360 = function (start_date, end_date, method) {
|
15456 |
-
var start = moment(new Date(start_date));
|
15457 |
-
var end = moment(new Date(end_date));
|
|
|
|
|
15458 |
var smd = 31;
|
15459 |
var emd = 31;
|
15460 |
var sd = start.date();
|
@@ -15479,12 +15494,17 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
15479 |
};
|
15480 |
|
15481 |
Formula.EDATE = function (start_date, months) {
|
15482 |
-
return moment(
|
|
|
15483 |
};
|
15484 |
|
15485 |
Formula.EOMONTH = function (start_date, months) {
|
15486 |
-
|
15487 |
-
|
|
|
|
|
|
|
|
|
15488 |
};
|
15489 |
|
15490 |
Formula.FROMNOW = function (timestamp, nosuffix) {
|
@@ -15492,19 +15512,35 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
15492 |
};
|
15493 |
|
15494 |
Formula.HOUR = function (timestamp) {
|
15495 |
-
|
|
|
|
|
|
|
|
|
|
|
15496 |
};
|
15497 |
|
15498 |
Formula.MINUTE = function (timestamp) {
|
15499 |
-
|
|
|
|
|
|
|
|
|
|
|
15500 |
};
|
15501 |
|
15502 |
Formula.ISOWEEKNUM = function (date) {
|
15503 |
-
return moment(
|
|
|
15504 |
};
|
15505 |
|
15506 |
Formula.MONTH = function (timestamp) {
|
15507 |
-
|
|
|
|
|
|
|
|
|
|
|
15508 |
};
|
15509 |
|
15510 |
Formula.NETWORKDAYS = function (start_date, end_date, holidays) {
|
@@ -15544,7 +15580,7 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
15544 |
};
|
15545 |
|
15546 |
Formula.NOW = function () {
|
15547 |
-
return
|
15548 |
};
|
15549 |
|
15550 |
Formula.SECOND = function (timestamp) {
|
@@ -19142,7 +19178,85 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
19142 |
};
|
19143 |
|
19144 |
Formula.SUBTOTAL = function (function_code) {
|
19145 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19146 |
for (var i = 1; i < arguments.length; i++) {
|
19147 |
switch (function_code) {
|
19148 |
case 1:
|
@@ -19180,7 +19294,7 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
19180 |
break;
|
19181 |
}
|
19182 |
}
|
19183 |
-
return result
|
19184 |
};
|
19185 |
|
19186 |
Formula.SUM = function () {
|
@@ -20712,7 +20826,7 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
20712 |
|
20713 |
var chunkArr = Formula._CHUNK(arrayValues); // it is transposed array - array of arrays of columns values, not rows
|
20714 |
|
20715 |
-
if(!Formula.ISERROR(chunkArr)) {
|
20716 |
var chunkArrColsCount = chunkArr.length,
|
20717 |
chunkArrRowsCount = typeof chunkArr[0] != 'undefined' ? chunkArr[0].length : 0;
|
20718 |
if (rowNum > chunkArrRowsCount || colNum > chunkArrColsCount) {
|
@@ -20788,16 +20902,20 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
20788 |
|
20789 |
// Additional formulas (not for users)
|
20790 |
Formula._CHUNK = function(array) {
|
20791 |
-
var formula = window.supsystic.Tables._currentFormula
|
20792 |
-
|
20793 |
-
|
20794 |
-
|
20795 |
-
|
20796 |
-
|
20797 |
-
|
20798 |
-
|
|
|
|
|
|
|
|
|
20799 |
}
|
20800 |
-
return
|
20801 |
};
|
20802 |
Formula._GETCHUNKARRAY = function(arr, len) {
|
20803 |
var chunks = [],
|
15426 |
|
15427 |
// Date functions
|
15428 |
Formula.DATE = function () {
|
15429 |
+
var args = arguments;
|
15430 |
+
|
15431 |
+
if (!args.length) {
|
15432 |
+
return moment().format(window.supsystic.Tables._dateFormat);
|
15433 |
+
}
|
15434 |
+
if (args.length === 3) {
|
15435 |
+
args[1] = args[1] - 1; // Monthes are between 0 and 11.
|
15436 |
+
return moment(new Date(args[0], args[1], args[2])).format(window.supsystic.Tables._dateFormat);
|
15437 |
+
}
|
15438 |
+
return 'N/A';
|
15439 |
+
/*if (!arguments.length) {
|
15440 |
return new Date();
|
15441 |
}
|
15442 |
|
15447 |
var args = arguments;
|
15448 |
args[1] = args[1] - 1; // Monthes are between 0 and 11.
|
15449 |
|
15450 |
+
return new (Date.bind.apply(Date, [Date].concat([].splice.call(args, 0))))();*/
|
15451 |
};
|
15452 |
|
15453 |
Formula.DATEVALUE = function (date_text) {
|
15454 |
+
return Math.ceil((moment(date_text, window.supsystic.Tables._dateFormat) - moment('1900-01-01', 'YYYY-MM-DD')) / 86400000) + 2;
|
15455 |
+
//return Math.ceil((moment(date_text) - moment('1900-01-01')) / 86400000) + 2;
|
15456 |
};
|
15457 |
|
15458 |
Formula.DAY = function (date) {
|
15459 |
+
return moment(date, window.supsystic.Tables._dateFormat).date();
|
15460 |
+
//return new Date(date).getDate();
|
15461 |
};
|
15462 |
|
15463 |
Formula.DAYS = function (end_date, start_date) {
|
15464 |
+
return moment(end_date, window.supsystic.Tables._dateFormat).diff(moment(start_date, window.supsystic.Tables._dateFormat), 'days');
|
15465 |
+
//return moment(new Date(end_date)).diff(moment(new Date(start_date)), 'days');
|
15466 |
};
|
15467 |
|
15468 |
Formula.DAYS360 = function (start_date, end_date, method) {
|
15469 |
+
//var start = moment(new Date(start_date));
|
15470 |
+
//var end = moment(new Date(end_date));
|
15471 |
+
var start = moment(start_date, window.supsystic.Tables._dateFormat);
|
15472 |
+
var end = moment(end_date, window.supsystic.Tables._dateFormat);
|
15473 |
var smd = 31;
|
15474 |
var emd = 31;
|
15475 |
var sd = start.date();
|
15494 |
};
|
15495 |
|
15496 |
Formula.EDATE = function (start_date, months) {
|
15497 |
+
return moment(start_date, window.supsystic.Tables._dateFormat).add(months, 'months').format(window.supsystic.Tables._dateFormat);
|
15498 |
+
//return moment(new Date(start_date)).add('months', months).toDate();
|
15499 |
};
|
15500 |
|
15501 |
Formula.EOMONTH = function (start_date, months) {
|
15502 |
+
var edate = moment(start_date, window.supsystic.Tables._dateFormat).add(months, 'months').toDate(),
|
15503 |
+
ndate = new Date(edate.getFullYear(), edate.getMonth(), new Date(edate.getFullYear(), edate.getMonth() + 1, 0).getDate());
|
15504 |
+
|
15505 |
+
return moment(ndate).format(window.supsystic.Tables._dateFormat);
|
15506 |
+
//var edate = moment(new Date(start_date)).add('months', months);
|
15507 |
+
//return new Date(edate.year(), edate.month(), edate.daysInMonth());
|
15508 |
};
|
15509 |
|
15510 |
Formula.FROMNOW = function (timestamp, nosuffix) {
|
15512 |
};
|
15513 |
|
15514 |
Formula.HOUR = function (timestamp) {
|
15515 |
+
if(isNaN(timestamp)) {
|
15516 |
+
return moment(timestamp, window.supsystic.Tables._timeFormat).hours();
|
15517 |
+
} else {
|
15518 |
+
return (timestamp <= 1) ? Math.floor(24 * timestamp) : new Date(timestamp).getHours();
|
15519 |
+
}
|
15520 |
+
//return (timestamp <= 1) ? Math.floor(24 * timestamp) : new Date(timestamp).getHours();
|
15521 |
};
|
15522 |
|
15523 |
Formula.MINUTE = function (timestamp) {
|
15524 |
+
if(isNaN(timestamp)) {
|
15525 |
+
return moment(timestamp, window.supsystic.Tables._timeFormat).minutes();
|
15526 |
+
} else {
|
15527 |
+
return (timestamp <= 1) ? Math.floor(24 * 60 * timestamp) - 60 * Math.floor(24 * timestamp) : new Date(timestamp).getMinutes();
|
15528 |
+
}
|
15529 |
+
//return (timestamp <= 1) ? Math.floor(24 * 60 * timestamp) - 60 * Math.floor(24 * timestamp) : new Date(timestamp).getMinutes();
|
15530 |
};
|
15531 |
|
15532 |
Formula.ISOWEEKNUM = function (date) {
|
15533 |
+
return moment(date, window.supsystic.Tables._dateFormat).isoWeek();
|
15534 |
+
//return moment(new Date(date)).format('w');
|
15535 |
};
|
15536 |
|
15537 |
Formula.MONTH = function (timestamp) {
|
15538 |
+
if(isNaN(timestamp)) {
|
15539 |
+
return moment(timestamp, window.supsystic.Tables._dateFormat).month() + 1;
|
15540 |
+
} else {
|
15541 |
+
return new Date(timestamp).getMonth() + 1;
|
15542 |
+
}
|
15543 |
+
//return new Date(timestamp).getMonth() + 1;
|
15544 |
};
|
15545 |
|
15546 |
Formula.NETWORKDAYS = function (start_date, end_date, holidays) {
|
15580 |
};
|
15581 |
|
15582 |
Formula.NOW = function () {
|
15583 |
+
return moment().format(window.supsystic.Tables._dateFormat);
|
15584 |
};
|
15585 |
|
15586 |
Formula.SECOND = function (timestamp) {
|
19178 |
};
|
19179 |
|
19180 |
Formula.SUBTOTAL = function (function_code) {
|
19181 |
+
var result = [];
|
19182 |
+
for (var i = 1; i < arguments.length; i++) {
|
19183 |
+
switch (function_code) {
|
19184 |
+
case 1:case 101:
|
19185 |
+
result[i - 1] = Formula.AVERAGE(arguments[i]);
|
19186 |
+
break;
|
19187 |
+
case 2:case 102:
|
19188 |
+
result[i - 1] = Formula.COUNT(arguments[i]);
|
19189 |
+
break;
|
19190 |
+
case 3:case 103:
|
19191 |
+
result[i - 1] = Formula.COUNTA(arguments[i]);
|
19192 |
+
break;
|
19193 |
+
case 4:case 104:
|
19194 |
+
result[i - 1] = Formula.MAX(arguments[i]);
|
19195 |
+
break;
|
19196 |
+
case 5:case 105:
|
19197 |
+
result[i - 1] = Formula.MIN(arguments[i]);
|
19198 |
+
break;
|
19199 |
+
case 6:case 106:
|
19200 |
+
result[i - 1] = Formula.PRODUCT(arguments[i]);
|
19201 |
+
break;
|
19202 |
+
case 7:case 107:
|
19203 |
+
result[i - 1] = Formula.STDEV(arguments[i]);
|
19204 |
+
break;
|
19205 |
+
case 8:case 108:
|
19206 |
+
result[i - 1] = Formula.STDEVP(arguments[i]);
|
19207 |
+
break;
|
19208 |
+
case 9:case 109:
|
19209 |
+
result[i - 1] = Formula.SUM(arguments[i]);
|
19210 |
+
break;
|
19211 |
+
case 10:case 110:
|
19212 |
+
result[i - 1] = Formula.VAR(arguments[i]);
|
19213 |
+
break;
|
19214 |
+
case 11:case 111:
|
19215 |
+
result[i - 1] = Formula.VARP(arguments[i]);
|
19216 |
+
break;
|
19217 |
+
default:
|
19218 |
+
break;
|
19219 |
+
}
|
19220 |
+
}
|
19221 |
+
switch (function_code) {
|
19222 |
+
case 1:case 101:
|
19223 |
+
return Formula.AVERAGE(result);
|
19224 |
+
break;
|
19225 |
+
case 2:case 102:
|
19226 |
+
return Formula.COUNT(result);
|
19227 |
+
break;
|
19228 |
+
case 3:case 103:
|
19229 |
+
return Formula.COUNTA(result);
|
19230 |
+
break;
|
19231 |
+
case 4:case 104:
|
19232 |
+
return Formula.MAX(result);
|
19233 |
+
break;
|
19234 |
+
case 5:case 105:
|
19235 |
+
return Formula.MIN(result);
|
19236 |
+
break;
|
19237 |
+
case 6:case 106:
|
19238 |
+
return Formula.PRODUCT(result);
|
19239 |
+
break;
|
19240 |
+
case 7:case 107:
|
19241 |
+
return Formula.STDEV(result);
|
19242 |
+
break;
|
19243 |
+
case 8:case 108:
|
19244 |
+
return Formula.STDEVP(result);
|
19245 |
+
break;
|
19246 |
+
case 9:case 109:
|
19247 |
+
return Formula.SUM(result);
|
19248 |
+
break;
|
19249 |
+
case 10:case 110:
|
19250 |
+
return Formula.VAR(result);
|
19251 |
+
break;
|
19252 |
+
case 11:case 111:
|
19253 |
+
return Formula.VARP(result);
|
19254 |
+
break;
|
19255 |
+
default:
|
19256 |
+
break;
|
19257 |
+
}
|
19258 |
+
return '#VALUE!';
|
19259 |
+
/*var result = [];
|
19260 |
for (var i = 1; i < arguments.length; i++) {
|
19261 |
switch (function_code) {
|
19262 |
case 1:
|
19294 |
break;
|
19295 |
}
|
19296 |
}
|
19297 |
+
return result;*/
|
19298 |
};
|
19299 |
|
19300 |
Formula.SUM = function () {
|
20826 |
|
20827 |
var chunkArr = Formula._CHUNK(arrayValues); // it is transposed array - array of arrays of columns values, not rows
|
20828 |
|
20829 |
+
if(chunkArr && !Formula.ISERROR(chunkArr)) {
|
20830 |
var chunkArrColsCount = chunkArr.length,
|
20831 |
chunkArrRowsCount = typeof chunkArr[0] != 'undefined' ? chunkArr[0].length : 0;
|
20832 |
if (rowNum > chunkArrRowsCount || colNum > chunkArrColsCount) {
|
20902 |
|
20903 |
// Additional formulas (not for users)
|
20904 |
Formula._CHUNK = function(array) {
|
20905 |
+
var formula = window.supsystic.Tables._currentFormula;
|
20906 |
+
|
20907 |
+
if(formula) {
|
20908 |
+
var regexp = new RegExp(/([a-z]+([0-9]+)):?([a-z]+([0-9]+))?/, 'gi'),
|
20909 |
+
rangeData = regexp.exec(formula),
|
20910 |
+
start = rangeData && typeof rangeData[2] != 'undefined' ? rangeData[2] : 0,
|
20911 |
+
end = rangeData && typeof rangeData[4] != 'undefined' ? rangeData[4] : start,
|
20912 |
+
chunkStep = end - start + 1;
|
20913 |
+
if(chunkStep < 1) {
|
20914 |
+
return '#REF!';
|
20915 |
+
}
|
20916 |
+
return Formula._GETCHUNKARRAY(array, chunkStep);
|
20917 |
}
|
20918 |
+
return array;
|
20919 |
};
|
20920 |
Formula._GETCHUNKARRAY = function(arr, len) {
|
20921 |
var chunks = [],
|
src/SupsysticTables/Tables/views/shortcode.twig
CHANGED
@@ -56,7 +56,7 @@
|
|
56 |
|
57 |
data-original-value="{{ data | e }}"
|
58 |
|
59 |
-
{% if cell.source
|
60 |
data-source="{{ cell.source | json_encode | e }}"
|
61 |
{% endif %}
|
62 |
|
@@ -67,13 +67,13 @@
|
|
67 |
{% endif %}
|
68 |
|
69 |
{% if 'auto_width' not in context.table.settings.features | keys
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
%}
|
74 |
{% if context.table.meta.columnsFixedWidth is defined
|
75 |
-
|
76 |
-
|
77 |
%}
|
78 |
style="min-width: {{ context.table.meta.columnsFixedWidth[cellIndex] }}; width: {{ context.table.meta.columnsFixedWidth[cellIndex] }};"
|
79 |
{% elseif context.table.meta.columnsWidth is defined %}
|
@@ -130,20 +130,20 @@
|
|
130 |
disable-responsive
|
131 |
{% endif %}"
|
132 |
style="
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
{% endif %}
|
137 |
-
width: {{ tableWidth }};
|
138 |
{% endif %}
|
|
|
|
|
139 |
{% if is_feed == false %}
|
140 |
-
|
141 |
{% endif %}
|
142 |
-
|
143 |
|
144 |
-
|
145 |
|
146 |
-
|
147 |
id="supsystic-table-{{ table.id }}"
|
148 |
class="supsystic-table {{ table.settings.styling | keys | join(' ') }}
|
149 |
{% if 'border' in table.settings.styling | keys %}
|
@@ -152,44 +152,23 @@
|
|
152 |
data-id="{{ table.id }}"
|
153 |
data-view-id="{{ table.view_id }}"
|
154 |
data-title="{{ table.encoded_title }}"
|
155 |
-
data-merged="{{ table.meta.mergedCells | json_encode | e }}"
|
156 |
-
data-features="{{ table.settings.features | keys | json_encode | e }}"
|
157 |
-
data-pagination-length="{{ table.settings.paginationMenuLength }}"
|
158 |
-
{% if 'auto_width' not in table.settings.features | keys %}
|
159 |
-
data-align-by-first-table="{{ table.settings.alignByFirstTable | default('') }}"
|
160 |
-
{% endif %}
|
161 |
-
data-lang="{{ table.settings.language.file }}"
|
162 |
-
data-override="{{ table.settings.language | json_encode | e }}"
|
163 |
-
data-auto-index="{{ table.settings.autoIndex }}"
|
164 |
-
data-searching-settings="{{ table.settings.searching | json_encode | e }}"
|
165 |
-
{% if 'useNumberFormat' in table.settings | keys %}
|
166 |
-
data-number-format="{{ table.settings.numberFormat | default('1,0.00') }}"
|
167 |
-
{% endif %}
|
168 |
data-currency-format="{{ table.settings.currencyFormat | default('$1,0.00') }}"
|
169 |
data-percent-format="{{ table.settings.percentFormat | default('1.00%') }}"
|
170 |
data-date-format="{{ table.settings.dateFormat | default('DD.MM.YYYY') }}"
|
171 |
data-time-format="{{ table.settings.timeFormat | default('HH:mm') }}"
|
172 |
-
data-
|
173 |
-
{% if '
|
174 |
-
data-
|
175 |
-
data-sort-order="{{ table.settings.sortingOrder }}"
|
176 |
-
data-multiple-sorting="{{ table.meta.columnsSortOrder | json_encode | e }}"
|
177 |
-
data-disable-sorting="{{ table.meta.columnsDisableSorting | json_encode | e }}"
|
178 |
-
{% endif %}
|
179 |
-
{% if 'after_table_loaded_script' in table.settings.features | keys
|
180 |
-
and 'enable_after_table_loaded_script' in table.settings.features | keys
|
181 |
-
and table.settings.features.enable_after_table_loaded_script == 'on'
|
182 |
-
%}
|
183 |
-
data-after-table-loaded-script="{{ table.settings.features.after_table_loaded_script | json_encode | e }}"
|
184 |
{% endif %}
|
185 |
-
data-head="{{ table.settings.elements.head }}"
|
186 |
{% if 'headerRowsCount' in table.settings | keys %}
|
187 |
data-head-rows-count="{{ table.settings.headerRowsCount | default(1) }}"
|
188 |
{% endif %}
|
189 |
{% if 'fixedHeader' in table.settings | keys %}
|
190 |
data-fixed-head="{{ table.settings.fixedHeader }}"
|
191 |
{% endif %}
|
192 |
-
|
|
|
|
|
193 |
{% if 'fixedFooter' in table.settings | keys %}
|
194 |
data-fixed-foot="{{ table.settings.fixedFooter }}"
|
195 |
{% endif %}
|
@@ -201,188 +180,231 @@
|
|
201 |
data-fixed-left="{{ table.settings.fixedLeftColumnsCount }}"
|
202 |
data-fixed-right="{{ table.settings.fixedRightColumnsCount }}"
|
203 |
{% endif %}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
data-responsive-mode="{{ table.settings.responsiveMode|default(1) }}"
|
205 |
data-from-history="{{ table.history|default(0) }}"
|
|
|
|
|
|
|
206 |
{% block table_attributes %}{% endblock %}
|
207 |
{% if tableWidth is defined and tableWidth == 'auto' %}
|
208 |
style="width: {{ tableWidth }};"
|
209 |
{% endif %}
|
210 |
-
|
211 |
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
{% endif %}
|
218 |
-
{% if table.settings.elements.description is defined and table.settings.elements.descriptionText is defined %}
|
219 |
-
<div class="table-desc">{{ table.settings.elements.descriptionText | raw }}</div>
|
220 |
-
{% endif %}
|
221 |
-
</caption>
|
222 |
{% endif %}
|
223 |
-
|
224 |
-
|
225 |
-
{% set head = false %}
|
226 |
-
{% set headRowsCount = 0 %}
|
227 |
-
{% set headRows = table.rows | slice(0, 1) %} {# there is must be at least one header row #}
|
228 |
-
{% if table.settings.elements.head is defined %}
|
229 |
-
{% set head = true %}
|
230 |
-
{% set headRowsCount = table.settings.headerRowsCount | default(1) %}
|
231 |
-
{% set headRows = table.rows | slice(0, headRowsCount) %}
|
232 |
-
{% endif %}
|
233 |
-
|
234 |
-
{% set foot = false %}
|
235 |
-
{% set footRowsCount = 0 %}
|
236 |
-
{% if table.settings.elements.foot is defined %}
|
237 |
-
{% set foot = true %}
|
238 |
-
{% if table.settings.customFooter is defined %}
|
239 |
-
{% set footRowsCount = table.settings.footerRowsCount | default(1) %}
|
240 |
-
{% set footRows = table.rows | slice('-' ~ footRowsCount, footRowsCount) %}
|
241 |
-
{% else %}
|
242 |
-
{% set footRows = headRows | reverse %}
|
243 |
{% endif %}
|
244 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
245 |
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
{% set headRowNumber = loop.index %}
|
256 |
-
{% set existHeaderRow = false %}
|
257 |
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
|
|
263 |
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
{% endif %}
|
270 |
-
|
271 |
-
{% for cellIndex, cell in row.cells %}
|
272 |
-
{% if head %}
|
273 |
-
{{ m.cell(cell, headRowNumber, cellIndex, 'th', _context) }}
|
274 |
-
{% if cols[cellIndex] == 'Z' %}
|
275 |
-
{% set countIter = countIter + 1 %}
|
276 |
-
{% set cellIter = -1 %} {# set 0 because next step is cellIter = cellIter + 1 #}
|
277 |
-
{% endif %}
|
278 |
-
{% set cellIter = cellIter + 1 %}
|
279 |
-
{% else %}
|
280 |
-
{% if cell.hiddenCell != true%}
|
281 |
-
<th style="width:{{ table.meta.columnsWidth[cellIndex] }}%; padding: 0 !important;"></th>
|
282 |
-
{% endif %}
|
283 |
-
{% endif %}
|
284 |
-
{% endfor %}
|
285 |
-
{% set countIter = -1 %}
|
286 |
-
{% set cellIter = 0 %}
|
287 |
-
</tr>
|
288 |
-
{% endif %}
|
289 |
-
{% endfor %}
|
290 |
-
</thead>
|
291 |
-
{% endblock %}
|
292 |
|
293 |
-
{%
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
|
|
298 |
|
299 |
{% for cellIndex, cell in row.cells %}
|
300 |
-
{% if
|
301 |
-
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
302 |
{% endif %}
|
303 |
{% endfor %}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
304 |
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
>
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
{% endif %}
|
333 |
{% endfor %}
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
{%
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
{% set existFooterRow = true %}
|
350 |
-
{% endif %}
|
351 |
-
{% endfor %}
|
352 |
-
|
353 |
-
{% if existFooterRow == true %}
|
354 |
-
<tr>
|
355 |
-
{% if table.settings.autoIndex == 'new' and addFooterAutoIndex == true %}
|
356 |
-
<th width="0" rowspan="{{ footRowsCount }}"></th>
|
357 |
-
{% set addFooterAutoIndex = false %}
|
358 |
-
{% endif %}
|
359 |
-
|
360 |
-
{% for cellIndex, cell in row.cells %}
|
361 |
-
{{ m.cell(cell, footRowNumber, cellIndex, 'th', _context) }}
|
362 |
-
{% if cols[cellIndex] == 'Z' %}
|
363 |
-
{% set countIter = countIter + 1 %}
|
364 |
-
{% set cellIter = -1 %} {# set 0 because next step is cellIter = cellIter + 1 #}
|
365 |
-
{% endif %}
|
366 |
-
{% set cellIter = cellIter + 1 %}
|
367 |
-
{% endfor %}
|
368 |
-
{% set countIter = -1 %}
|
369 |
-
{% set cellIter = 0 %}
|
370 |
-
</tr>
|
371 |
-
{% endif %}
|
372 |
{% endfor %}
|
373 |
-
|
|
|
|
|
374 |
{% endif %}
|
375 |
-
{%
|
376 |
-
|
377 |
-
|
|
|
|
|
|
|
378 |
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
|
385 |
-
|
386 |
</div>
|
387 |
<!-- /.supsystic-tables-wrap -->
|
388 |
|
56 |
|
57 |
data-original-value="{{ data | e }}"
|
58 |
|
59 |
+
{% if cell.source is iterable %}
|
60 |
data-source="{{ cell.source | json_encode | e }}"
|
61 |
{% endif %}
|
62 |
|
67 |
{% endif %}
|
68 |
|
69 |
{% if 'auto_width' not in context.table.settings.features | keys
|
70 |
+
and (context.table.settings.styling.compact is not defined
|
71 |
+
or (context.table.settings.styling.compact is defined and context.table.settings.tableWidthType != 'auto'))
|
72 |
+
and rowIndex == '1'
|
73 |
%}
|
74 |
{% if context.table.meta.columnsFixedWidth is defined
|
75 |
+
and context.table.meta.columnsFixedWidth[cellIndex] is defined
|
76 |
+
and context.table.meta.columnsFixedWidth[cellIndex] is not empty
|
77 |
%}
|
78 |
style="min-width: {{ context.table.meta.columnsFixedWidth[cellIndex] }}; width: {{ context.table.meta.columnsFixedWidth[cellIndex] }};"
|
79 |
{% elseif context.table.meta.columnsWidth is defined %}
|
130 |
disable-responsive
|
131 |
{% endif %}"
|
132 |
style="
|
133 |
+
{% if tableWidth is defined %}
|
134 |
+
{% if tableWidth == 'auto' %}
|
135 |
+
display: inline-block;
|
|
|
|
|
136 |
{% endif %}
|
137 |
+
width: {{ tableWidth }};
|
138 |
+
{% endif %}
|
139 |
{% if is_feed == false %}
|
140 |
+
visibility: hidden;
|
141 |
{% endif %}
|
142 |
+
">
|
143 |
|
144 |
+
{% block before_table %}{% endblock %}
|
145 |
|
146 |
+
<table
|
147 |
id="supsystic-table-{{ table.id }}"
|
148 |
class="supsystic-table {{ table.settings.styling | keys | join(' ') }}
|
149 |
{% if 'border' in table.settings.styling | keys %}
|
152 |
data-id="{{ table.id }}"
|
153 |
data-view-id="{{ table.view_id }}"
|
154 |
data-title="{{ table.encoded_title }}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
data-currency-format="{{ table.settings.currencyFormat | default('$1,0.00') }}"
|
156 |
data-percent-format="{{ table.settings.percentFormat | default('1.00%') }}"
|
157 |
data-date-format="{{ table.settings.dateFormat | default('DD.MM.YYYY') }}"
|
158 |
data-time-format="{{ table.settings.timeFormat | default('HH:mm') }}"
|
159 |
+
data-features="{{ table.settings.features | keys | json_encode | e }}"
|
160 |
+
{% if 'head' in table.settings.elements | keys %}
|
161 |
+
data-head="{{ table.settings.elements.head }}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
{% endif %}
|
|
|
163 |
{% if 'headerRowsCount' in table.settings | keys %}
|
164 |
data-head-rows-count="{{ table.settings.headerRowsCount | default(1) }}"
|
165 |
{% endif %}
|
166 |
{% if 'fixedHeader' in table.settings | keys %}
|
167 |
data-fixed-head="{{ table.settings.fixedHeader }}"
|
168 |
{% endif %}
|
169 |
+
{% if 'foot' in table.settings.elements | keys %}
|
170 |
+
data-foot="{{ table.settings.elements.foot }}"
|
171 |
+
{% endif %}
|
172 |
{% if 'fixedFooter' in table.settings | keys %}
|
173 |
data-fixed-foot="{{ table.settings.fixedFooter }}"
|
174 |
{% endif %}
|
180 |
data-fixed-left="{{ table.settings.fixedLeftColumnsCount }}"
|
181 |
data-fixed-right="{{ table.settings.fixedRightColumnsCount }}"
|
182 |
{% endif %}
|
183 |
+
{% if 'paginationMenuLength' in table.settings | keys %}
|
184 |
+
data-pagination-length="{{ table.settings.paginationMenuLength | default('') }}"
|
185 |
+
{% endif %}
|
186 |
+
{% if 'alignByFirstTable' in table.settings | keys and 'auto_width' not in table.settings.features | keys %}
|
187 |
+
data-align-by-first-table="{{ table.settings.alignByFirstTable | default('') }}"
|
188 |
+
{% endif %}
|
189 |
+
{% if 'autoIndex' in table.settings | keys %}
|
190 |
+
data-auto-index="{{ table.settings.autoIndex }}"
|
191 |
+
{% endif %}
|
192 |
+
{% if 'searching' in table.settings | keys %}
|
193 |
+
data-searching-settings="{{ table.settings.searching | json_encode | e }}"
|
194 |
+
{% endif %}
|
195 |
+
{% if 'useNumberFormat' in table.settings | keys %}
|
196 |
+
data-number-format="{{ table.settings.numberFormat | default('1,0.00') }}"
|
197 |
+
{% endif %}
|
198 |
+
{% if 'useCommaAsDelimiter' in table.settings | keys %}
|
199 |
+
data-use-comma-as-delimiter="{{ table.settings.useCommaAsDelimiter | default('') }}"
|
200 |
+
{% endif %}
|
201 |
+
{% if 'ordering' in table.settings.features | keys %}
|
202 |
+
data-sort-column="{{ table.settings.sortingOrderColumn }}"
|
203 |
+
data-sort-order="{{ table.settings.sortingOrder }}"
|
204 |
+
data-multiple-sorting="{{ table.meta.columnsSortOrder | json_encode | e }}"
|
205 |
+
data-disable-sorting="{{ table.meta.columnsDisableSorting | json_encode | e }}"
|
206 |
+
{% endif %}
|
207 |
+
{% if 'after_table_loaded_script' in table.settings.features | keys
|
208 |
+
and 'enable_after_table_loaded_script' in table.settings.features | keys
|
209 |
+
and table.settings.features.enable_after_table_loaded_script == 'on'
|
210 |
+
%}
|
211 |
+
data-after-table-loaded-script="{{ table.settings.features.after_table_loaded_script | json_encode | e }}"
|
212 |
+
{% endif %}
|
213 |
+
data-lang="{{ table.settings.language.file | default('default') }}"
|
214 |
+
{% if 'language' in table.settings | keys %}
|
215 |
+
data-override="{{ table.settings.language | json_encode | e }}"
|
216 |
+
{% endif %}
|
217 |
+
{% if 'translation' in table.settings | keys %}
|
218 |
+
data-translation="{{ table.settings.translation | e }}" {# it is already json string #}
|
219 |
+
{% endif %}
|
220 |
+
{% if 'mergedCells' in table.meta | keys %}
|
221 |
+
data-merged="{{ table.meta.mergedCells | json_encode | e }}"
|
222 |
+
{% endif %}
|
223 |
data-responsive-mode="{{ table.settings.responsiveMode|default(1) }}"
|
224 |
data-from-history="{{ table.history|default(0) }}"
|
225 |
+
{% if 'attr_period' in table.history_data | keys %}
|
226 |
+
data-history-period="{{ table.history_data.attr_period }}"
|
227 |
+
{% endif %}
|
228 |
{% block table_attributes %}{% endblock %}
|
229 |
{% if tableWidth is defined and tableWidth == 'auto' %}
|
230 |
style="width: {{ tableWidth }};"
|
231 |
{% endif %}
|
232 |
+
>
|
233 |
|
234 |
+
{% block caption %}
|
235 |
+
{% if table.settings.elements.caption is defined or (table.settings.elements.description is defined and table.settings.elements.descriptionText is defined) %}
|
236 |
+
<caption>
|
237 |
+
{% if table.settings.elements.caption is defined %}
|
238 |
+
<div class="table-title">{{ table.title }}</div>
|
|
|
|
|
|
|
|
|
|
|
239 |
{% endif %}
|
240 |
+
{% if table.settings.elements.description is defined and table.settings.elements.descriptionText is defined %}
|
241 |
+
<div class="table-desc">{{ table.settings.elements.descriptionText | raw }}</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
242 |
{% endif %}
|
243 |
+
</caption>
|
244 |
+
{% endif %}
|
245 |
+
{% endblock %}
|
246 |
+
|
247 |
+
{% set head = false %}
|
248 |
+
{% set headRowsCount = 0 %}
|
249 |
+
{% set headRows = table.rows | slice(0, 1) %} {# there is must be at least one header row #}
|
250 |
+
{% if table.settings.elements.head is defined %}
|
251 |
+
{% set head = true %}
|
252 |
+
{% set headRowsCount = table.settings.headerRowsCount | default(1) %}
|
253 |
+
{% set headRows = table.rows | slice(0, headRowsCount) %}
|
254 |
+
{% endif %}
|
255 |
|
256 |
+
{% set foot = false %}
|
257 |
+
{% set footRowsCount = 0 %}
|
258 |
+
{% if table.settings.elements.foot is defined %}
|
259 |
+
{% set foot = true %}
|
260 |
+
{% if table.settings.customFooter is defined %}
|
261 |
+
{% set footRowsCount = table.settings.footerRowsCount | default(1) %}
|
262 |
+
{% set footRows = table.rows | slice('-' ~ footRowsCount, footRowsCount) %}
|
263 |
+
{% else %}
|
264 |
+
{% set footRows = headRows | reverse %}
|
265 |
+
{% endif %}
|
266 |
+
{% endif %}
|
267 |
|
268 |
+
{% set bodyRows = table.rows | slice(head ? headRowsCount : 0) %}
|
269 |
+
{% if foot %}
|
270 |
+
{% set bodyRows = bodyRows | slice(0, bodyRows | length - footRowsCount) %}
|
271 |
+
{% endif %}
|
|
|
|
|
272 |
|
273 |
+
{% block thead %}
|
274 |
+
<thead> {# header must be always to set columns width #}
|
275 |
+
{% set addHeaderAutoIndex = true %}
|
276 |
+
{% for row in headRows %}
|
277 |
+
{% set headRowNumber = loop.index %}
|
278 |
+
{% set existHeaderRow = false %}
|
279 |
|
280 |
+
{% for cellIndex, cell in row.cells %}
|
281 |
+
{% if cell.hiddenCell == false %}
|
282 |
+
{% set existHeaderRow = true %}
|
283 |
+
{% endif %}
|
284 |
+
{% endfor %}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
|
286 |
+
{% if existHeaderRow == true %}
|
287 |
+
<tr>
|
288 |
+
{% if table.settings.autoIndex == 'new' and addHeaderAutoIndex == true %}
|
289 |
+
<th width="0" rowspan="{{ headRowsCount }}"></th>
|
290 |
+
{% set addHeaderAutoIndex = false %}
|
291 |
+
{% endif %}
|
292 |
|
293 |
{% for cellIndex, cell in row.cells %}
|
294 |
+
{% if head %}
|
295 |
+
{{ m.cell(cell, headRowNumber, cellIndex, 'th', _context) }}
|
296 |
+
{% if cols[cellIndex] == 'Z' %}
|
297 |
+
{% set countIter = countIter + 1 %}
|
298 |
+
{% set cellIter = -1 %} {# set 0 because next step is cellIter = cellIter + 1 #}
|
299 |
+
{% endif %}
|
300 |
+
{% set cellIter = cellIter + 1 %}
|
301 |
+
{% else %}
|
302 |
+
{% if cell.hiddenCell != true%}
|
303 |
+
<th style="width:{{ table.meta.columnsWidth[cellIndex] }}%; padding: 0 !important;"></th>
|
304 |
+
{% endif %}
|
305 |
{% endif %}
|
306 |
{% endfor %}
|
307 |
+
{% set countIter = -1 %}
|
308 |
+
{% set cellIter = 0 %}
|
309 |
+
</tr>
|
310 |
+
{% endif %}
|
311 |
+
{% endfor %}
|
312 |
+
</thead>
|
313 |
+
{% endblock %}
|
314 |
+
|
315 |
+
{% block tbody %}
|
316 |
+
<tbody>
|
317 |
+
{% for row in bodyRows %}
|
318 |
+
{% set rowNumber = loop.index + (head ? headRowsCount : 0) %}
|
319 |
+
{% set existBodyRow = false %}
|
320 |
+
|
321 |
+
{% for cellIndex, cell in row.cells %}
|
322 |
+
{% if cell.hiddenCell == false %}
|
323 |
+
{% set existBodyRow = true %}
|
324 |
+
{% endif %}
|
325 |
+
{% endfor %}
|
326 |
|
327 |
+
{% if existBodyRow == true %}
|
328 |
+
<tr
|
329 |
+
{% if row.height != 'NaN' and row.height matches '/^[0-9]*\\.?[0-9]+$/' %}
|
330 |
+
style="height: {{ row.height }}px"
|
331 |
+
{% endif %}
|
332 |
>
|
333 |
+
{% if table.settings.autoIndex == 'new' %}
|
334 |
+
<td></td>
|
335 |
+
{% endif %}
|
336 |
|
337 |
+
{% for cellIndex, cell in row.cells %}
|
338 |
+
{% if cell.row is not empty %}
|
339 |
+
{% set rowNumber = cell.row %}
|
340 |
+
{% endif %}
|
341 |
+
{% if cell.col is not empty %}
|
342 |
+
{% set cellIndex = cell.col %}
|
343 |
+
{% endif %}
|
344 |
+
{{ m.cell(cell, rowNumber, cellIndex, 'td', _context) }}
|
345 |
+
{% if cols[cellIndex] == 'Z' %}
|
346 |
+
{% set countIter = countIter + 1 %}
|
347 |
+
{% set cellIter = -1 %} {# set 0 because next step is cellIter = cellIter + 1 #}
|
348 |
+
{% endif %}
|
349 |
+
{% set cellIter = cellIter + 1 %}
|
350 |
+
{% endfor %}
|
351 |
+
{% set countIter = -1 %}
|
352 |
+
{% set cellIter = 0 %}
|
353 |
+
</tr>
|
354 |
+
{% endif %}
|
355 |
+
{% endfor %}
|
356 |
+
</tbody>
|
357 |
+
{% endblock %}
|
358 |
+
|
359 |
+
{% block tfoot %}
|
360 |
+
{% if foot %}
|
361 |
+
<tfoot>
|
362 |
+
{% set addFooterAutoIndex = true %}
|
363 |
+
{% for row in footRows %}
|
364 |
+
{% set footRowNumber = table.settings.customFooter is defined
|
365 |
+
? headRowsCount + bodyRows | length + loop.index
|
366 |
+
: footRows | length + 1 - loop.index %}
|
367 |
+
{% set existFooterRow = false %}
|
368 |
+
|
369 |
+
{% for cellIndex, cell in row.cells %}
|
370 |
+
{% if cell.hiddenCell == false %}
|
371 |
+
{% set existFooterRow = true %}
|
372 |
{% endif %}
|
373 |
{% endfor %}
|
374 |
+
|
375 |
+
{% if existFooterRow == true %}
|
376 |
+
<tr>
|
377 |
+
{% if table.settings.autoIndex == 'new' and addFooterAutoIndex == true %}
|
378 |
+
<th width="0" rowspan="{{ footRowsCount }}"></th>
|
379 |
+
{% set addFooterAutoIndex = false %}
|
380 |
+
{% endif %}
|
381 |
+
|
382 |
+
{% for cellIndex, cell in row.cells %}
|
383 |
+
{{ m.cell(cell, footRowNumber, cellIndex, 'th', _context) }}
|
384 |
+
{% if cols[cellIndex] == 'Z' %}
|
385 |
+
{% set countIter = countIter + 1 %}
|
386 |
+
{% set cellIter = -1 %} {# set 0 because next step is cellIter = cellIter + 1 #}
|
387 |
+
{% endif %}
|
388 |
+
{% set cellIter = cellIter + 1 %}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
389 |
{% endfor %}
|
390 |
+
{% set countIter = -1 %}
|
391 |
+
{% set cellIter = 0 %}
|
392 |
+
</tr>
|
393 |
{% endif %}
|
394 |
+
{% endfor %}
|
395 |
+
</tfoot>
|
396 |
+
{% endif %}
|
397 |
+
{% endblock %}
|
398 |
+
</table>
|
399 |
+
<!-- /#supsystic-table-{{ table.id }}.supsystic-table -->
|
400 |
|
401 |
+
{% block signature %}
|
402 |
+
{% if table.settings.elements.signature is defined and table.settings.elements.signatureText is defined %}
|
403 |
+
<div class="table-signature">{{ table.settings.elements.signatureText | raw }}</div>
|
404 |
+
{% endif %}
|
405 |
+
{% endblock %}
|
406 |
|
407 |
+
{% block after_table %}{% endblock %}
|
408 |
</div>
|
409 |
<!-- /.supsystic-tables-wrap -->
|
410 |
|
src/SupsysticTables/Tables/views/view.twig
CHANGED
@@ -17,6 +17,7 @@
|
|
17 |
|
18 |
{% import _self as checkbox %}
|
19 |
{% import '@ui/tooltip.twig' as tooltip %}
|
|
|
20 |
|
21 |
<div class="supsystic-item tables-view">
|
22 |
<div class="container-fluid">
|
@@ -25,16 +26,8 @@
|
|
25 |
<div class="row">
|
26 |
<div class="col-md-3 col-sm-5 col-xs-10">
|
27 |
<select name="shortcode_example" id="stbCopyTextCodeExamples">
|
28 |
-
{% for
|
29 |
-
|
30 |
-
'value_shortcode': 'Value Shortcode',
|
31 |
-
'cell_shortcode': 'Cell Shortcode',
|
32 |
-
'history_shortcode': 'History Shortcode',
|
33 |
-
'php_code': 'Table PHP code',
|
34 |
-
} %}
|
35 |
-
<option value="{{ value }}">
|
36 |
-
{{ option }}
|
37 |
-
</option>
|
38 |
{% endfor %}
|
39 |
</select>
|
40 |
</div>
|
@@ -47,31 +40,20 @@
|
|
47 |
<b>Table PHP code:</b> lets display the table through themes/plugins files (for example in the site footer). You can use any shortcode in this way.', 'top', true)
|
48 |
}}
|
49 |
</div>
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
</div>
|
65 |
-
<div class="col-md-8 col-sm-6 col-xs-10 stbCopyTextCodeShowBlock" data-for="history_shortcode" style="display: none;">
|
66 |
-
{% set shortcode_history = '[' ~ shortcode_name ~ ' id=' ~ table.id ~ ' use_history=1]' %}
|
67 |
-
<input type="text" name="stbCopyTextCode" value="{{ shortcode_history }}"
|
68 |
-
class="stbCopyTextCode supsystic-tooltip-right tooltipstered" readonly="readonly">
|
69 |
-
</div>
|
70 |
-
<div class="col-md-8 col-sm-6 col-xs-10 stbCopyTextCodeShowBlock" data-for="php_code" style="display: none;">
|
71 |
-
{% set php_code = '<?php echo do_shortcode("[' ~ shortcode_name ~ ' id=' ~ table.id ~ ']"); ?>' %}
|
72 |
-
<input type="text" name="stbCopyTextCode" value="{{ php_code }}"
|
73 |
-
class="stbCopyTextCode supsystic-tooltip-right tooltipstered" readonly="readonly">
|
74 |
-
</div>
|
75 |
<div class="clear"></div>
|
76 |
</div>
|
77 |
</div>
|
@@ -91,13 +73,23 @@
|
|
91 |
</li>
|
92 |
{{ environment.getDispatcher().dispatch('tables-view-buttons-left') }}
|
93 |
<li>
|
94 |
-
<button id="export"
|
|
|
|
|
|
|
|
|
|
|
95 |
<i class="fa fa-fw fa-upload"></i>
|
96 |
<span>{{ environment.translate('Export') }}</span>
|
97 |
</button>
|
98 |
</li>
|
99 |
<li>
|
100 |
-
<button id="import"
|
|
|
|
|
|
|
|
|
|
|
101 |
<i class="fa fa-fw fa-download"></i>
|
102 |
<span>{{ environment.translate('Import') }}</span>
|
103 |
</button>
|
@@ -969,8 +961,8 @@
|
|
969 |
(toolbar on Editor tab) or calculated depending on the columns width in the table editor.<br /><br />
|
970 |
If you do not want to apply columns width at all - you should uncheck "Auto Table Width" option, set "Fixed Table Width"
|
971 |
option to "auto" and check "Compact Table" option.')) }}
|
972 |
-
|
973 |
-
|
974 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
975 |
<input type="checkbox" name="features[auto_width]"
|
976 |
{{ checkbox.checked(table.settings.features.auto_width) }}
|
@@ -1199,8 +1191,8 @@
|
|
1199 |
</label>
|
1200 |
</div>
|
1201 |
<div class="setting-item sub-options col-md-6 col-sm-6 col-xs-12">
|
1202 |
-
<div id="tableLoaderColorContainer">
|
1203 |
-
<div class="tableLoaderColorArea" style="background-color: {{ tblLoaderColor }};"></div>
|
1204 |
<input type="hidden" name="tableLoader[color]" value="{{ tblLoaderColor }}" />
|
1205 |
</div>
|
1206 |
</div>
|
@@ -1221,6 +1213,7 @@
|
|
1221 |
'info': {
|
1222 |
'default': translate('Showing _START_ to _END_ of _TOTAL_ entries'),
|
1223 |
'label': translate('Table info text'),
|
|
|
1224 |
},
|
1225 |
'infoEmpty': {
|
1226 |
'default': translate('Showing 0 to 0 of 0 entries'),
|
@@ -1229,10 +1222,12 @@
|
|
1229 |
'infoFiltered': {
|
1230 |
'default': translate('(filtered from _MAX_ total entries)'),
|
1231 |
'label': translate('Filtered info text'),
|
|
|
1232 |
},
|
1233 |
'lengthMenu': {
|
1234 |
'default': translate('Show _MENU_ entries'),
|
1235 |
'label': translate('Length text'),
|
|
|
1236 |
},
|
1237 |
'search': {
|
1238 |
'default': translate('Search:'),
|
@@ -1272,24 +1267,18 @@
|
|
1272 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1273 |
<label for="language-file">
|
1274 |
{{ environment.translate('Table Language') }}
|
1275 |
-
{{ tooltip.icon(environment.translate('Allows to choose language for the table\'s labels (pagination, search ets.)')) }}
|
1276 |
</label>
|
1277 |
</div>
|
1278 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1279 |
<select name="language[file]" id="language-file">
|
1280 |
-
<option value="browser" {% if table.settings.language.file == 'browser' %} selected="selected"{% endif %}>
|
1281 |
-
{{ environment.translate('Get Browser Language') }}
|
1282 |
-
</option>
|
1283 |
-
<option value="default"
|
1284 |
-
{% if table.settings.language.file is not defined or table.settings.language.file == 'default' or translations | length < 1 %}
|
1285 |
-
selected="selected"
|
1286 |
-
{% endif %}>
|
1287 |
-
English
|
1288 |
-
</option>
|
1289 |
{% for supportedLanguage in translations %}
|
1290 |
-
<option value="{{ supportedLanguage }}"
|
1291 |
-
|
1292 |
-
|
|
|
|
|
|
|
1293 |
</option>
|
1294 |
{% endfor %}
|
1295 |
</select>
|
@@ -1386,26 +1375,6 @@
|
|
1386 |
<i class="fa-fw background-fill-icon"></i>
|
1387 |
</button>
|
1388 |
</li>
|
1389 |
-
{% if environment.isPro() == false %}
|
1390 |
-
<li>
|
1391 |
-
<span class="toolContainer" {{ tooltip.attr(environment.translate('Font family changing available only in PRO version.')) }}>
|
1392 |
-
<select disabled="disabled">
|
1393 |
-
<option value="">{{ environment.translate('Font Family') }}</option>
|
1394 |
-
</select>
|
1395 |
-
</span>
|
1396 |
-
</li>
|
1397 |
-
{% endif %}
|
1398 |
-
{{ environment.getDispatcher().dispatch('toolbar_fonts_list', [table]) }}
|
1399 |
-
<li>
|
1400 |
-
<span class="toolContainer">
|
1401 |
-
<select id="fontSize" class="tool" data-method="size" data-event="change" {{ tooltip.attr(environment.translate('Font Size')) }}>
|
1402 |
-
<option value="default">{{ environment.translate('Default') }}</option>
|
1403 |
-
{% for i in 6..100 %}
|
1404 |
-
<option value="{{ i }}">{{ i }}</option>
|
1405 |
-
{% endfor %}
|
1406 |
-
</select>
|
1407 |
-
</span>
|
1408 |
-
</li>
|
1409 |
<li>
|
1410 |
<button {{ tooltip.attr(environment.translate('Alignment')) }} data-toolbar="#toolbar-alignment">
|
1411 |
<i class="fa fa-fw fa-align-left"></i>
|
@@ -1455,6 +1424,41 @@
|
|
1455 |
</a>
|
1456 |
</div>
|
1457 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1458 |
<li>
|
1459 |
<button {{ tooltip.attr(environment.translate('Insert link')) }} data-method="link">
|
1460 |
<i class="fa fa-fw fa-link"></i>
|
@@ -1478,47 +1482,69 @@
|
|
1478 |
</a>
|
1479 |
</div>
|
1480 |
</li>
|
1481 |
-
<li>
|
1482 |
-
<button {{ tooltip.attr(environment.translate('Formats for cells value. All formats convert cell values to appropriate format types.
|
1483 |
-
<b>Percent with Convert</b> format sets percent format and convert cells value to percentage by division by 100.
|
1484 |
-
')) }} data-toolbar="#toolbar-formats-list" id="toolbar-formats" data-style="list">
|
1485 |
-
<i class="fa fa-eur" aria-hidden="true"></i>
|
1486 |
-
</button>
|
1487 |
-
<div id="toolbar-formats-list" class="toolbar-content">
|
1488 |
-
<a href="#" class="cell-format text-format" data-method="setFormat" data-type="text" data-format="">{{ environment.translate('Plain') }}</a>
|
1489 |
-
<a href="#" class="cell-format currency-format" data-method="setFormat" data-type="currency" data-format="{{ table.settings.currencyFormat | default('$1,0.00') }}">{{ environment.translate('Currency') }} ($1,000.00)</a>
|
1490 |
-
<a href="#" class="cell-format percent-format" data-method="setFormat" data-type="percent" data-format="{{ table.settings.percentFormat | default('0.00%') }}">{{ environment.translate('Percent') }} (10.02%)</a>
|
1491 |
-
<a href="#" class="cell-format percent-convert-format" data-method="setFormat" data-type="percent-convert" data-format="{{ table.settings.percentFormat | default('0.00%') }}">{{ environment.translate('Percent with Convert') }} (10.02%)</a>
|
1492 |
-
<a href="#" class="cell-format date-format" data-method="setFormat" data-type="date" data-format="{{ table.settings.dateFormat | default('DD.MM.YYYY') }}">{{ environment.translate('Date') }} (25.10.2016)</a>
|
1493 |
-
<a href="#" class="cell-format time_duration-format" data-method="setFormat" data-type="time_duration" data-format="{{ table.settings.timeDurationFormat | default('hh:mm') }}">{{ environment.translate('Time / Duration') }} (18:05 / 34:18)</a>
|
1494 |
-
</div>
|
1495 |
-
</li>
|
1496 |
</ul>
|
1497 |
-
{
|
1498 |
-
|
|
|
|
|
1499 |
<li>
|
1500 |
-
<button {{ tooltip.attr(environment.translate('Add diagram')) }}
|
1501 |
<i class="fa fa-fw fa-bar-chart"></i>
|
1502 |
</button>
|
1503 |
</li>
|
1504 |
<li>
|
1505 |
-
<button
|
1506 |
-
<i class="fa fa-fw fa-
|
1507 |
</button>
|
1508 |
</li>
|
1509 |
<li>
|
1510 |
-
<button {{ tooltip.attr(environment.translate('Add
|
1511 |
-
|
|
|
|
|
|
|
1512 |
</button>
|
1513 |
</li>
|
1514 |
-
|
1515 |
-
|
1516 |
-
|
1517 |
-
|
1518 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1519 |
<li>
|
1520 |
-
<button {{ tooltip.attr(environment.translate('
|
1521 |
-
|
|
|
|
|
|
|
1522 |
</button>
|
1523 |
<div id="toolbar-invisibleCell" class="toolbar-content">
|
1524 |
<a href="#" data-method="addInvisibleCell"><i class="fa fa-fw fa-plus"></i></a>
|
@@ -1526,14 +1552,29 @@
|
|
1526 |
</div>
|
1527 |
</li>
|
1528 |
<li>
|
1529 |
-
<button {{ tooltip.attr(environment.translate('
|
1530 |
-
|
|
|
|
|
|
|
1531 |
</button>
|
1532 |
<div id="toolbar-hiddenCell" class="toolbar-content">
|
1533 |
<a href="#" data-method="addHiddenCell"><i class="fa fa-fw fa-plus"></i></a>
|
1534 |
<a href="#" data-method="removeHiddenCell"><i class="fa fa-fw fa-trash-o"></i></a>
|
1535 |
</div>
|
1536 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1537 |
</ul>
|
1538 |
</div>
|
1539 |
<!-- /#tableToolbar -->
|
@@ -1575,15 +1616,6 @@ for example:
|
|
1575 |
<!-- /.container-fluid -->
|
1576 |
{{ environment.getDispatcher().dispatch('tables-view-footer', [table]) }}
|
1577 |
|
1578 |
-
<div id="proPopup" style="display: none;" title="{{ environment.translate('Get PRO version') }}">
|
1579 |
-
<p>
|
1580 |
-
Please be advised that this option is available only in
|
1581 |
-
<a target="_blank" href="{{ build_pro_url({ 'utm_medium': 'import_export' }) }}" style="color: #000;">PRO
|
1582 |
-
version</a>. You can
|
1583 |
-
<a target="_blank" href="{{ build_pro_url({ 'utm_medium': 'import_export' }) }}" class="button supsystic-button"><span class="ui-button-text">Get PRO</span></a> today and get this and other PRO option for your tables!
|
1584 |
-
</p>
|
1585 |
-
</div>
|
1586 |
-
|
1587 |
<div id="cloneDialog" style="display: none;" title="Clone Table">
|
1588 |
<div class="input-group">
|
1589 |
<label>{{ environment.translate('Name of Cloned Table') }}</label>
|
@@ -1607,6 +1639,7 @@ for example:
|
|
1607 |
<h3 class="fixedColumnWidthDataLabel">{{ environment.translate('List of width sizes, set for table columns:') }}</h3>
|
1608 |
<div id="fixedColumnWidthData" class="dataContainer"></div>
|
1609 |
</div>
|
|
|
1610 |
<div id="setMultipleColumnsSortingDialog" style="display: none;" title="Multiple Columns Sorting">
|
1611 |
<p style="margin-top: 0;">{{ environment.translate('Set multiple column sorting for selected columns. Press "Clear Multiple Sorting" to clear multiple sorting for all table columns. All changes will be applied after table saving.') }}</p>
|
1612 |
<p style="margin-top: 0;">{{ environment.translate('If multiple sorting for columns is not set - the table will be sorted in the specified order by the column set in the table settings: Settings-> Features-> Sorting Order / Sorting Column. Otherwise - table will be sorted by the specified custom columns in sequense, in which they are listed.') }}</p>
|
@@ -1631,47 +1664,6 @@ for example:
|
|
1631 |
<div id="disableSortOrderData" class="dataContainer"></div>
|
1632 |
</div>
|
1633 |
|
1634 |
-
<div id="editableFieldProFeatureDialog" style="display: none;" title="{{ environment.translate('Editable fields') }}">
|
1635 |
-
{% set url = '<a target="_blank" href="' ~ build_pro_url({ 'utm_medium': 'editable_fields' }) ~ '" style="color: #000;">' ~ environment.translate('PRO version') ~ '</a>' %}
|
1636 |
-
{% set url2 = '<a target="_blank" href="' ~ build_pro_url({ 'utm_medium': 'editable_fields' }) ~ '" style="color: #000;" class="button supsystic-button"><span class="ui-button-text">' ~ environment.translate('Get PRO') ~ '</span></a>' %}
|
1637 |
-
<p>
|
1638 |
-
{{ environment.translate('Please be advised that this option is available only in %s. You can %s today and get this and other PRO option for your tables!')|format(url, url2)|raw }}
|
1639 |
-
</p>
|
1640 |
-
</div>
|
1641 |
-
|
1642 |
-
<div id="selectableFieldProFeatureDialog" style="display: none;" title="{{ environment.translate('Selectable fields') }}">
|
1643 |
-
{% set url = '<a target="_blank" href="' ~ build_pro_url({ 'utm_medium': 'selectable_fields' }) ~ '" style="color: #000;">' ~ environment.translate('PRO version') ~ '</a>' %}
|
1644 |
-
{% set url2 = '<a target="_blank" href="' ~ build_pro_url({ 'utm_medium': 'selectable_fields' }) ~ '" style="color: #000;" class="button supsystic-button"><span class="ui-button-text">' ~ environment.translate('Get PRO') ~ '</span></a>' %}
|
1645 |
-
<p>
|
1646 |
-
{{ environment.translate('Please be advised that this option is available only in %s. You can %s today and get this and other PRO option for your tables!')|format(url, url2)|raw }}
|
1647 |
-
</p>
|
1648 |
-
</div>
|
1649 |
-
|
1650 |
-
<div id="addDiagramProFeatureDialog" class="supsystic-plugin" style="display: none;" title="{{ environment.translate('Diagram') }}">
|
1651 |
-
{% set url = build_pro_url({ 'utm_medium': 'diagrams' }) %}
|
1652 |
-
<a href="{{ url }}" class="button button-hero" style="position: absolute; top: 63px; right: 20px; padding-top: 1px !important;" target="_blank">
|
1653 |
-
{{ environment.translate('Get PRO') }}
|
1654 |
-
</a>
|
1655 |
-
<div id="previewDiagramProFeature" style="z-index: 10;" title="{{ environment.translate('Diagram') }}">
|
1656 |
-
<div class="tab-switch" data-tabs>
|
1657 |
-
<a class="active" href="#typeProFeature">{{ environment.translate('Type') }}</a>
|
1658 |
-
<a href="#settingsProFeature">{{ environment.translate('Settings') }}</a>
|
1659 |
-
</div>
|
1660 |
-
<div class="tabs">
|
1661 |
-
<div id="typeTabProFeature" class="tab active" data-tab="#typeProFeature">
|
1662 |
-
<a href="{{ url }}" target="_blank">
|
1663 |
-
<img src="{{ environment.getModule('diagram').getLocationUrl() }}/assets/img/diagrams_dialog_type_tab.png" alt="Diagrams" title="diagrams_dialog_tab_1 Tab Content" style="width: 100%; height: auto;"/>
|
1664 |
-
</a>
|
1665 |
-
</div>
|
1666 |
-
<div id="settingsTabProFeature" class="tab" data-tab="#settingsProFeature">
|
1667 |
-
<a href="{{ url }}" target="_blank">
|
1668 |
-
<img src="{{ environment.getModule('diagram').getLocationUrl() }}/assets/img/diagrams_dialog_settings_tab.png" alt="Diagrams" title="Settings Tab Content" style="width: 100%; height: auto;"/>
|
1669 |
-
</a>
|
1670 |
-
</div>
|
1671 |
-
</div>
|
1672 |
-
</div>
|
1673 |
-
</div>
|
1674 |
-
|
1675 |
<div id="insertUrlDialog" style="display: none;" title="{{ environment.translate('Insert Link') }}">
|
1676 |
<div class="input-group">
|
1677 |
<label>{{ environment.translate('Url') }}</label>
|
@@ -1741,6 +1733,51 @@ for example:
|
|
1741 |
</div>
|
1742 |
</div>
|
1743 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1744 |
</div>
|
1745 |
<!-- /.supsystic-item -->
|
1746 |
<div style="clear: both;"></div>
|
17 |
|
18 |
{% import _self as checkbox %}
|
19 |
{% import '@ui/tooltip.twig' as tooltip %}
|
20 |
+
{% set shortcodeOptions = environment.getModule('tables').getShortcodesList() %}
|
21 |
|
22 |
<div class="supsystic-item tables-view">
|
23 |
<div class="container-fluid">
|
26 |
<div class="row">
|
27 |
<div class="col-md-3 col-sm-5 col-xs-10">
|
28 |
<select name="shortcode_example" id="stbCopyTextCodeExamples">
|
29 |
+
{% for index, option in shortcodeOptions %}
|
30 |
+
<option value="{{ index }}">{{ option.label }}</option>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
{% endfor %}
|
32 |
</select>
|
33 |
</div>
|
40 |
<b>Table PHP code:</b> lets display the table through themes/plugins files (for example in the site footer). You can use any shortcode in this way.', 'top', true)
|
41 |
}}
|
42 |
</div>
|
43 |
+
{% for index, option in shortcodeOptions %}
|
44 |
+
<div class="col-md-8 col-sm-6 col-xs-10 stbCopyTextCodeShowBlock ShortCodeFirstBlock" data-for="{{ index }}" style="display: none;">
|
45 |
+
{% set attrs = ' id=' ~ table.id %}
|
46 |
+
{% if option.attrs is not empty %}
|
47 |
+
{% set attrs = attrs ~ ' ' ~ option.attrs %}
|
48 |
+
{% endif %}
|
49 |
+
{% set shortcode = '[' ~ option.name ~ attrs ~ ']' %}
|
50 |
+
{% if index == 'php_code' %}
|
51 |
+
{% set shortcode = '<?php echo do_shortcode("[' ~ option.name ~ ' id=' ~ table.id ~ ']"); ?>' %}
|
52 |
+
{% endif %}
|
53 |
+
<input type="text" name="stbCopyTextCode" value="{{ shortcode }}"
|
54 |
+
class="stbCopyTextCode supsystic-tooltip-right tooltipstered" readonly="readonly">
|
55 |
+
</div>
|
56 |
+
{% endfor %}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
<div class="clear"></div>
|
58 |
</div>
|
59 |
</div>
|
73 |
</li>
|
74 |
{{ environment.getDispatcher().dispatch('tables-view-buttons-left') }}
|
75 |
<li>
|
76 |
+
<button id="export"
|
77 |
+
class="button {% if environment.isPro() == false %}pro-notify{% endif %}"
|
78 |
+
data-dialog="#import_exportProFeatureDialog"
|
79 |
+
data-dtitle="{{ environment.translate('Import / Export') }}"
|
80 |
+
data-dwidth="480"
|
81 |
+
>
|
82 |
<i class="fa fa-fw fa-upload"></i>
|
83 |
<span>{{ environment.translate('Export') }}</span>
|
84 |
</button>
|
85 |
</li>
|
86 |
<li>
|
87 |
+
<button id="import"
|
88 |
+
class="button {% if environment.isPro() == false %}pro-notify{% endif %}"
|
89 |
+
data-dialog="#import_exportProFeatureDialog"
|
90 |
+
data-dtitle="{{ environment.translate('Import / Export') }}"
|
91 |
+
data-dwidth="480"
|
92 |
+
>
|
93 |
<i class="fa fa-fw fa-download"></i>
|
94 |
<span>{{ environment.translate('Import') }}</span>
|
95 |
</button>
|
961 |
(toolbar on Editor tab) or calculated depending on the columns width in the table editor.<br /><br />
|
962 |
If you do not want to apply columns width at all - you should uncheck "Auto Table Width" option, set "Fixed Table Width"
|
963 |
option to "auto" and check "Compact Table" option.')) }}
|
964 |
+
</label>
|
965 |
+
</div>
|
966 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
967 |
<input type="checkbox" name="features[auto_width]"
|
968 |
{{ checkbox.checked(table.settings.features.auto_width) }}
|
1191 |
</label>
|
1192 |
</div>
|
1193 |
<div class="setting-item sub-options col-md-6 col-sm-6 col-xs-12">
|
1194 |
+
<div id="tableLoaderColorContainer" class="colorPickerShell">
|
1195 |
+
<div class="tableLoaderColorArea colorPickerArea" style="background-color: {{ tblLoaderColor }};"></div>
|
1196 |
<input type="hidden" name="tableLoader[color]" value="{{ tblLoaderColor }}" />
|
1197 |
</div>
|
1198 |
</div>
|
1213 |
'info': {
|
1214 |
'default': translate('Showing _START_ to _END_ of _TOTAL_ entries'),
|
1215 |
'label': translate('Table info text'),
|
1216 |
+
'info': translate('Variables: _START_, _END_, _TOTAL_<br />Example: Showing _START_ to _END_ of _TOTAL_ entries'),
|
1217 |
},
|
1218 |
'infoEmpty': {
|
1219 |
'default': translate('Showing 0 to 0 of 0 entries'),
|
1222 |
'infoFiltered': {
|
1223 |
'default': translate('(filtered from _MAX_ total entries)'),
|
1224 |
'label': translate('Filtered info text'),
|
1225 |
+
'info': translate('Variables: _MAX_<br />Example: (filtered from _MAX_ total entries)'),
|
1226 |
},
|
1227 |
'lengthMenu': {
|
1228 |
'default': translate('Show _MENU_ entries'),
|
1229 |
'label': translate('Length text'),
|
1230 |
+
'info': translate('Variables: _MENU_<br />Example: Show _MENU_ entries'),
|
1231 |
},
|
1232 |
'search': {
|
1233 |
'default': translate('Search:'),
|
1267 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1268 |
<label for="language-file">
|
1269 |
{{ environment.translate('Table Language') }}
|
1270 |
+
{{ tooltip.icon(environment.translate('Allows to choose language for the table\'s labels (pagination, search ets.). The dafault language is English.')) }}
|
1271 |
</label>
|
1272 |
</div>
|
1273 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1274 |
<select name="language[file]" id="language-file">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1275 |
{% for supportedLanguage in translations %}
|
1276 |
+
<option value="{{ supportedLanguage }}" {% if table.settings.language.file == supportedLanguage %}selected="selected"{% endif %}>
|
1277 |
+
{% if supportedLanguage == 'browser' %}
|
1278 |
+
{{ environment.translate('Get Browser Language') }}
|
1279 |
+
{% else %}
|
1280 |
+
{{ supportedLanguage }}
|
1281 |
+
{% endif %}
|
1282 |
</option>
|
1283 |
{% endfor %}
|
1284 |
</select>
|
1375 |
<i class="fa-fw background-fill-icon"></i>
|
1376 |
</button>
|
1377 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1378 |
<li>
|
1379 |
<button {{ tooltip.attr(environment.translate('Alignment')) }} data-toolbar="#toolbar-alignment">
|
1380 |
<i class="fa fa-fw fa-align-left"></i>
|
1424 |
</a>
|
1425 |
</div>
|
1426 |
</li>
|
1427 |
+
<li>
|
1428 |
+
<button {{ tooltip.attr(environment.translate('Formats for cells value. All formats convert cell values to appropriate format types.
|
1429 |
+
<b>Percent with Convert</b> format sets percent format and convert cells value to percentage by division by 100.
|
1430 |
+
')) }} data-toolbar="#toolbar-formats-list" id="toolbar-formats" data-style="list">
|
1431 |
+
<i class="fa fa-eur" aria-hidden="true"></i>
|
1432 |
+
</button>
|
1433 |
+
<div id="toolbar-formats-list" class="toolbar-content">
|
1434 |
+
<a href="#" class="cell-format text-format" data-method="setFormat" data-type="text" data-format="">{{ environment.translate('Plain') }}</a>
|
1435 |
+
<a href="#" class="cell-format currency-format" data-method="setFormat" data-type="currency" data-format="{{ table.settings.currencyFormat | default('$1,0.00') }}">{{ environment.translate('Currency') }} ($1,000.00)</a>
|
1436 |
+
<a href="#" class="cell-format percent-format" data-method="setFormat" data-type="percent" data-format="{{ table.settings.percentFormat | default('0.00%') }}">{{ environment.translate('Percent') }} (10.02%)</a>
|
1437 |
+
<a href="#" class="cell-format percent-convert-format" data-method="setFormat" data-type="percent-convert" data-format="{{ table.settings.percentFormat | default('0.00%') }}">{{ environment.translate('Percent with Convert') }} (10.02%)</a>
|
1438 |
+
<a href="#" class="cell-format date-format" data-method="setFormat" data-type="date" data-format="{{ table.settings.dateFormat | default('DD.MM.YYYY') }}">{{ environment.translate('Date') }} (25.10.2016)</a>
|
1439 |
+
<a href="#" class="cell-format time_duration-format" data-method="setFormat" data-type="time_duration" data-format="{{ table.settings.timeDurationFormat | default('hh:mm') }}">{{ environment.translate('Time / Duration') }} (18:05 / 34:18)</a>
|
1440 |
+
</div>
|
1441 |
+
</li>
|
1442 |
+
{% if environment.isPro() == false %}
|
1443 |
+
<li>
|
1444 |
+
<span class="toolContainer" {{ tooltip.attr(environment.translate('Font family changing available only in PRO version.')) }}>
|
1445 |
+
<select id="fontFamily" disabled="disabled">
|
1446 |
+
<option value="">{{ environment.translate('Font Family') }}</option>
|
1447 |
+
</select>
|
1448 |
+
</span>
|
1449 |
+
</li>
|
1450 |
+
{% endif %}
|
1451 |
+
{{ environment.getDispatcher().dispatch('toolbar_fonts_list', [table]) }}
|
1452 |
+
<li>
|
1453 |
+
<span class="toolContainer">
|
1454 |
+
<select id="fontSize" class="tool" data-method="size" data-event="change" {{ tooltip.attr(environment.translate('Font Size')) }}>
|
1455 |
+
<option value="default">{{ environment.translate('Default') }}</option>
|
1456 |
+
{% for i in 6..100 %}
|
1457 |
+
<option value="{{ i }}">{{ i }}</option>
|
1458 |
+
{% endfor %}
|
1459 |
+
</select>
|
1460 |
+
</span>
|
1461 |
+
</li>
|
1462 |
<li>
|
1463 |
<button {{ tooltip.attr(environment.translate('Insert link')) }} data-method="link">
|
1464 |
<i class="fa fa-fw fa-link"></i>
|
1482 |
</a>
|
1483 |
</div>
|
1484 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1485 |
</ul>
|
1486 |
+
{{ environment.getDispatcher().dispatch('toolbar_rendered', [table]) }}
|
1487 |
+
<br />
|
1488 |
+
<ul>
|
1489 |
+
{% if environment.isPro() == false %}
|
1490 |
<li>
|
1491 |
+
<button class="pro-notify" data-dialog="#diagramsProFeatureDialog" data-dtitle="{{ environment.translate('Diagram') }}" data-dwidth="913" {{ tooltip.attr(environment.translate('Add diagram')) }}>
|
1492 |
<i class="fa fa-fw fa-bar-chart"></i>
|
1493 |
</button>
|
1494 |
</li>
|
1495 |
<li>
|
1496 |
+
<button class="pro-notify" data-dialog="#сonditional_formattingProFeatureDialog" data-dtitle="{{ environment.translate('Conditional Formatting') }}" data-dwidth="615" {{ tooltip.attr(environment.translate('Add conditional formatting to cells.')) }}>
|
1497 |
+
<i class="fa fa-fw fa-balance-scale"></i>
|
1498 |
</button>
|
1499 |
</li>
|
1500 |
<li>
|
1501 |
+
<button class="pro-notify" data-dialog="#editable_fieldsProFeatureDialog" data-dtitle="{{ environment.translate('Editable Fields') }}" data-dwidth="480" {{ tooltip.attr(environment.translate('Add <a href="%s" target="_blank">editable field</a> for selected cells to edit cell value on frontend. Enjoy the <a href="%s" target="_blank">practical example</a>.') | format('//supsystic.com/documentation/editable-fields/', '//supsystic.com/blog/growing-your-business-with-data-table-plugin/')) }}>
|
1502 |
+
<span class="fa-stack">
|
1503 |
+
<i class="fa fa-fw fa-square-o fa-stack-2x"></i>
|
1504 |
+
<i class="fa fa-fw fa-pencil fa-stack-1x"></i>
|
1505 |
+
</span>
|
1506 |
</button>
|
1507 |
</li>
|
1508 |
+
<li>
|
1509 |
+
<button class="pro-notify" data-dialog="#selectable_fieldsProFeatureDialog" data-dtitle="{{ environment.translate('Selectable Fields') }}" data-dwidth="480" {{ tooltip.attr(environment.translate('Add dropdown list for highlighted cell to change cell value on frontend.')) }}>
|
1510 |
+
<span class="fa-stack">
|
1511 |
+
<i class="fa fa-fw fa-square-o fa-stack-2x"></i>
|
1512 |
+
<i class="fa fa-fw fa-list-ul fa-stack-1x"></i>
|
1513 |
+
</span>
|
1514 |
+
</button>
|
1515 |
+
</li>
|
1516 |
+
<li>
|
1517 |
+
<button class="pro-notify" data-dialog="#datepicker_fieldsProFeatureDialog" data-dtitle="{{ environment.translate('Datepicker Fields') }}" data-dwidth="480" {{ tooltip.attr(environment.translate('Add datepicker for selected cells to edit their values on frontend.')) }}>
|
1518 |
+
<span class="fa-stack">
|
1519 |
+
<i class="fa fa-fw fa-square-o fa-stack-2x"></i>
|
1520 |
+
<i class="fa fa-fw fa-calendar fa-stack-1x"></i>
|
1521 |
+
</span>
|
1522 |
+
</button>
|
1523 |
+
</li>
|
1524 |
+
<li>
|
1525 |
+
<button class="pro-notify" data-dialog="#collapsible_fieldsProFeatureDialog" data-dtitle="{{ environment.translate('Collapsible Rows') }}" data-dwidth="480" {{ tooltip.attr(environment.translate('Make the rows collapsible. First collapsible row become the "main" row with control button. Other collapsible rows will be hidden by default - user might show / hide them by pressing on control button of "main" row.')) }}>
|
1526 |
+
<span class="fa-stack">
|
1527 |
+
<i class="fa fa-fw fa-square-o fa-stack-2x"></i>
|
1528 |
+
<i class="fa fa-fw fa-compress fa-stack-1x"></i>
|
1529 |
+
</span>
|
1530 |
+
</button>
|
1531 |
+
</li>
|
1532 |
+
<li>
|
1533 |
+
<button class="pro-notify" data-dialog="#tooltip_fieldsProFeatureDialog" data-dtitle="{{ environment.translate('Create Tooltip') }}" data-dwidth="480" {{ tooltip.attr(environment.translate('Convert the cell content into icon with tooltip.')) }}>
|
1534 |
+
<span class="fa-stack">
|
1535 |
+
<i class="fa fa-fw fa-square-o fa-stack-2x"></i>
|
1536 |
+
<i class="fa fa-fw fa-info fa-stack-1x"></i>
|
1537 |
+
</span>
|
1538 |
+
</button>
|
1539 |
+
</li>
|
1540 |
+
{% endif %}
|
1541 |
+
{{ environment.getDispatcher().dispatch('toolbar_frontend_fields', [table]) }}
|
1542 |
<li>
|
1543 |
+
<button {{ tooltip.attr(environment.translate('Hide the selected cells on frontend. Can be useful for placing intermediate calculations. <br /><br />To display the table correctly, please, add this property for the whole row or the whole column of table.')) }} data-toolbar="#toolbar-invisibleCell">
|
1544 |
+
<span class="fa-stack">
|
1545 |
+
<i class="fa fa-fw fa-square-o fa-stack-2x"></i>
|
1546 |
+
<i class="fa fa-fw fa-low-vision fa-stack-1x"></i>
|
1547 |
+
</span>
|
1548 |
</button>
|
1549 |
<div id="toolbar-invisibleCell" class="toolbar-content">
|
1550 |
<a href="#" data-method="addInvisibleCell"><i class="fa fa-fw fa-plus"></i></a>
|
1552 |
</div>
|
1553 |
</li>
|
1554 |
<li>
|
1555 |
+
<button {{ tooltip.attr(environment.translate('Remove the selected cells on frontend. Can be useful for placing information for admin side only. <br /><br />Importanr! To display the table correctly, please, add this property for the whole row or the whole column of table.')) }} data-toolbar="#toolbar-hiddenCell">
|
1556 |
+
<span class="fa-stack">
|
1557 |
+
<i class="fa fa-fw fa-square-o fa-stack-2x"></i>
|
1558 |
+
<i class="fa fa-fw fa-ban fa-stack-1x"></i>
|
1559 |
+
</span>
|
1560 |
</button>
|
1561 |
<div id="toolbar-hiddenCell" class="toolbar-content">
|
1562 |
<a href="#" data-method="addHiddenCell"><i class="fa fa-fw fa-plus"></i></a>
|
1563 |
<a href="#" data-method="removeHiddenCell"><i class="fa fa-fw fa-trash-o"></i></a>
|
1564 |
</div>
|
1565 |
</li>
|
1566 |
+
<li>
|
1567 |
+
<button {{ tooltip.attr(environment.translate("Remove the escaping of HTML in the selected cells. Can be useful for convert formula result to pure HTML. For example: =CONCATENATE('<a href="';A1;'">';B1;'</a>')")) }} data-toolbar="#toolbar-unescapeHtml">
|
1568 |
+
<span class="fa-stack">
|
1569 |
+
<i class="fa fa-fw fa-square-o fa-stack-2x"></i>
|
1570 |
+
<i class="fa fa-fw fa-code fa-stack-1x"></i>
|
1571 |
+
</span>
|
1572 |
+
</button>
|
1573 |
+
<div id="toolbar-unescapeHtml" class="toolbar-content">
|
1574 |
+
<a href="#" data-method="addUnescapeHtml"><i class="fa fa-fw fa-plus"></i></a>
|
1575 |
+
<a href="#" data-method="removeUnescapeHtml"><i class="fa fa-fw fa-trash-o"></i></a>
|
1576 |
+
</div>
|
1577 |
+
</li>
|
1578 |
</ul>
|
1579 |
</div>
|
1580 |
<!-- /#tableToolbar -->
|
1616 |
<!-- /.container-fluid -->
|
1617 |
{{ environment.getDispatcher().dispatch('tables-view-footer', [table]) }}
|
1618 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1619 |
<div id="cloneDialog" style="display: none;" title="Clone Table">
|
1620 |
<div class="input-group">
|
1621 |
<label>{{ environment.translate('Name of Cloned Table') }}</label>
|
1639 |
<h3 class="fixedColumnWidthDataLabel">{{ environment.translate('List of width sizes, set for table columns:') }}</h3>
|
1640 |
<div id="fixedColumnWidthData" class="dataContainer"></div>
|
1641 |
</div>
|
1642 |
+
|
1643 |
<div id="setMultipleColumnsSortingDialog" style="display: none;" title="Multiple Columns Sorting">
|
1644 |
<p style="margin-top: 0;">{{ environment.translate('Set multiple column sorting for selected columns. Press "Clear Multiple Sorting" to clear multiple sorting for all table columns. All changes will be applied after table saving.') }}</p>
|
1645 |
<p style="margin-top: 0;">{{ environment.translate('If multiple sorting for columns is not set - the table will be sorted in the specified order by the column set in the table settings: Settings-> Features-> Sorting Order / Sorting Column. Otherwise - table will be sorted by the specified custom columns in sequense, in which they are listed.') }}</p>
|
1664 |
<div id="disableSortOrderData" class="dataContainer"></div>
|
1665 |
</div>
|
1666 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1667 |
<div id="insertUrlDialog" style="display: none;" title="{{ environment.translate('Insert Link') }}">
|
1668 |
<div class="input-group">
|
1669 |
<label>{{ environment.translate('Url') }}</label>
|
1733 |
</div>
|
1734 |
</div>
|
1735 |
|
1736 |
+
{# PRO notification dialogs #}
|
1737 |
+
{% set notifications = [ 'import_export', 'editable_fields', 'selectable_fields', 'datepicker_fields', 'collapsible_fields', 'tooltip_fields' ] %}
|
1738 |
+
|
1739 |
+
{% for notify in notifications %}
|
1740 |
+
<div id="{{ notify }}ProFeatureDialog" class="supsystic-plugin" style="display: none;">
|
1741 |
+
{% set url = '<a target="_blank" href="' ~ build_pro_url({ 'utm_medium': notify }) ~ '" style="color: #000;">' ~ environment.translate('PRO version') ~ '</a>' %}
|
1742 |
+
{% set url2 = '<a target="_blank" href="' ~ build_pro_url({ 'utm_medium': notify }) ~ '" style="color: #000;" class="button supsystic-button"><span class="ui-button-text">' ~ environment.translate('Get PRO') ~ '</span></a>' %}
|
1743 |
+
<p>{{ environment.translate('Please be advised that this feature available only in %s.')|format(url)|raw }}</p>
|
1744 |
+
<p>{{ environment.translate('You can %s today and have all PRO features of data tables!')|format(url2)|raw }}</p>
|
1745 |
+
</div>
|
1746 |
+
{% endfor %}
|
1747 |
+
|
1748 |
+
<div id="diagramsProFeatureDialog" class="supsystic-plugin" style="display: none;">
|
1749 |
+
{% set url = build_pro_url({ 'utm_medium': 'diagrams' }) %}
|
1750 |
+
<a href="{{ url }}" class="button button-hero" style="position: absolute; top: 63px; right: 20px; padding-top: 1px !important;" target="_blank">
|
1751 |
+
{{ environment.translate('Get PRO') }}
|
1752 |
+
</a>
|
1753 |
+
<div id="previewDiagramProFeature" style="z-index: 10;" title="{{ environment.translate('Diagram') }}">
|
1754 |
+
<div class="tab-switch" data-tabs>
|
1755 |
+
<a class="active" href="#typeProFeature">{{ environment.translate('Type') }}</a>
|
1756 |
+
<a href="#settingsProFeature">{{ environment.translate('Settings') }}</a>
|
1757 |
+
</div>
|
1758 |
+
<div class="tabs">
|
1759 |
+
<div id="typeTabProFeature" class="tab active" data-tab="#typeProFeature">
|
1760 |
+
<a href="{{ url }}" target="_blank">
|
1761 |
+
<img src="{{ environment.getModule('diagram').getLocationUrl() }}/assets/img/diagrams_dialog_type_tab.png" alt="Diagrams" title="diagrams_dialog_tab_1 Tab Content" style="width: 100%; height: auto;"/>
|
1762 |
+
</a>
|
1763 |
+
</div>
|
1764 |
+
<div id="settingsTabProFeature" class="tab" data-tab="#settingsProFeature">
|
1765 |
+
<a href="{{ url }}" target="_blank">
|
1766 |
+
<img src="{{ environment.getModule('diagram').getLocationUrl() }}/assets/img/diagrams_dialog_settings_tab.png" alt="Diagrams" title="Settings Tab Content" style="width: 100%; height: auto;"/>
|
1767 |
+
</a>
|
1768 |
+
</div>
|
1769 |
+
</div>
|
1770 |
+
</div>
|
1771 |
+
</div>
|
1772 |
+
|
1773 |
+
<div id="сonditional_formattingProFeatureDialog" class="supsystic-plugin" style="display: none;" title="{{ environment.translate('Conditional Formatting') }}">
|
1774 |
+
{% set url = build_pro_url({ 'utm_medium': 'conditional_formatting' }) %}
|
1775 |
+
<a href="{{ url }}" class="button button-hero" style="position: absolute; top: 63px; right: 20px; padding-top: 1px !important;" target="_blank">{{ environment.translate('Get PRO') }}</a>
|
1776 |
+
<a href="{{ url }}" target="_blank">
|
1777 |
+
<img src="{{ environment.getModule('tables').getLocationUrl() }}/assets/img/conditional_formatting_dialog.png" alt="Conditional Formatting" title="Conditional Formatting" style="width: 100%; height: auto;"/>
|
1778 |
+
</a>
|
1779 |
+
</div>
|
1780 |
+
|
1781 |
</div>
|
1782 |
<!-- /.supsystic-item -->
|
1783 |
<div style="clear: both;"></div>
|
vendor/Rsc/Environment.php
CHANGED
@@ -75,7 +75,7 @@ class Rsc_Environment
|
|
75 |
* @var Rsc_Dispatcher
|
76 |
*/
|
77 |
protected $dispatcher;
|
78 |
-
|
79 |
protected $adminAreaMenus = array();
|
80 |
|
81 |
protected $baseModInited = false;
|
@@ -113,7 +113,7 @@ class Rsc_Environment
|
|
113 |
|
114 |
add_action('init', array($this, 'wpInitCallback'));
|
115 |
}
|
116 |
-
|
117 |
public function setBaseModInited( $newVal ) {
|
118 |
$this->baseModInited = $newVal;
|
119 |
}
|
@@ -218,7 +218,7 @@ class Rsc_Environment
|
|
218 |
// $this->fc320fde997f9bea5c39d56e094bfb99();
|
219 |
add_action('plugins_loaded', array($this, 'extend'));
|
220 |
}
|
221 |
-
|
222 |
public function setAdminAreaMenus( $menus ) {
|
223 |
$this->adminAreaMenus = $menus;
|
224 |
}
|
@@ -243,7 +243,7 @@ class Rsc_Environment
|
|
243 |
$this->resolver->init();
|
244 |
if($this->menu) {
|
245 |
$this->menu->register();
|
246 |
-
|
247 |
}
|
248 |
|
249 |
public function isPro()
|
@@ -379,9 +379,9 @@ class Rsc_Environment
|
|
379 |
}
|
380 |
|
381 |
if (!empty($parameters)) {
|
382 |
-
$url .= '&' . http_build_query($parameters);
|
383 |
}
|
384 |
-
|
385 |
if(!empty($hash)) {
|
386 |
$url .= '#'. $hash;
|
387 |
}
|
@@ -621,7 +621,7 @@ class Rsc_Environment
|
|
621 |
public function getLangCode2Letter() {
|
622 |
$langCode = $this->getLangCode();
|
623 |
return strlen($langCode) > 2 ? substr($langCode, 0, 2) : $langCode;
|
624 |
-
}
|
625 |
public function getLangCode() {
|
626 |
return get_locale();
|
627 |
}
|
75 |
* @var Rsc_Dispatcher
|
76 |
*/
|
77 |
protected $dispatcher;
|
78 |
+
|
79 |
protected $adminAreaMenus = array();
|
80 |
|
81 |
protected $baseModInited = false;
|
113 |
|
114 |
add_action('init', array($this, 'wpInitCallback'));
|
115 |
}
|
116 |
+
|
117 |
public function setBaseModInited( $newVal ) {
|
118 |
$this->baseModInited = $newVal;
|
119 |
}
|
218 |
// $this->fc320fde997f9bea5c39d56e094bfb99();
|
219 |
add_action('plugins_loaded', array($this, 'extend'));
|
220 |
}
|
221 |
+
|
222 |
public function setAdminAreaMenus( $menus ) {
|
223 |
$this->adminAreaMenus = $menus;
|
224 |
}
|
243 |
$this->resolver->init();
|
244 |
if($this->menu) {
|
245 |
$this->menu->register();
|
246 |
+
}
|
247 |
}
|
248 |
|
249 |
public function isPro()
|
379 |
}
|
380 |
|
381 |
if (!empty($parameters)) {
|
382 |
+
$url .= '&' . http_build_query($parameters, '', '&');
|
383 |
}
|
384 |
+
|
385 |
if(!empty($hash)) {
|
386 |
$url .= '#'. $hash;
|
387 |
}
|
621 |
public function getLangCode2Letter() {
|
622 |
$langCode = $this->getLangCode();
|
623 |
return strlen($langCode) > 2 ? substr($langCode, 0, 2) : $langCode;
|
624 |
+
}
|
625 |
public function getLangCode() {
|
626 |
return get_locale();
|
627 |
}
|
vendor/Rsc/Http/Parameters.php
CHANGED
@@ -3,5 +3,11 @@
|
|
3 |
|
4 |
class Rsc_Http_Parameters extends Rsc_Common_Collection
|
5 |
{
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
7 |
}
|
3 |
|
4 |
class Rsc_Http_Parameters extends Rsc_Common_Collection
|
5 |
{
|
6 |
+
public function get_esc_html($key, $default = null)
|
7 |
+
{
|
8 |
+
$default = parent::get($key, $default);
|
9 |
+
$default = esc_html($default);
|
10 |
|
11 |
+
return $default;
|
12 |
+
}
|
13 |
}
|
vendor/Rsc/Menu/Page.php
CHANGED
@@ -66,7 +66,7 @@ class Rsc_Menu_Page
|
|
66 |
*/
|
67 |
public function getCapability()
|
68 |
{
|
69 |
-
|
70 |
}
|
71 |
|
72 |
/**
|
@@ -225,7 +225,7 @@ class Rsc_Menu_Page
|
|
225 |
public function register()
|
226 |
{
|
227 |
add_action('admin_menu', array($this, 'addMenuPage'));
|
228 |
-
|
229 |
usort($this->submenu, array($this, 'sortSubMenuItemsClb'));
|
230 |
/** @var Rsc_Menu_Item $submenu */
|
231 |
foreach ($this->submenu as $submenu) {
|
@@ -233,7 +233,7 @@ class Rsc_Menu_Page
|
|
233 |
}
|
234 |
}
|
235 |
}
|
236 |
-
|
237 |
public function sortSubMenuItemsClb($a, $b) {
|
238 |
$sortOrderA = $a->getSortOrder();
|
239 |
$sortOrderB = $b->getSortOrder();
|
@@ -256,7 +256,7 @@ class Rsc_Menu_Page
|
|
256 |
$parameters = array(
|
257 |
$this->pageTitle,
|
258 |
$this->menuTitle,
|
259 |
-
$this->
|
260 |
$this->menuSlug,
|
261 |
array($this->resolver, 'resolve'),
|
262 |
$this->iconUrl,
|
66 |
*/
|
67 |
public function getCapability()
|
68 |
{
|
69 |
+
return apply_filters(sprintf('%s_menu_capability', $this->resolver->getEnvironment()->getConfig()->get('plugin_name')), $this->capability);
|
70 |
}
|
71 |
|
72 |
/**
|
225 |
public function register()
|
226 |
{
|
227 |
add_action('admin_menu', array($this, 'addMenuPage'));
|
228 |
+
if(is_array($this->submenu) && count($this->submenu) > 0) {
|
229 |
usort($this->submenu, array($this, 'sortSubMenuItemsClb'));
|
230 |
/** @var Rsc_Menu_Item $submenu */
|
231 |
foreach ($this->submenu as $submenu) {
|
233 |
}
|
234 |
}
|
235 |
}
|
236 |
+
|
237 |
public function sortSubMenuItemsClb($a, $b) {
|
238 |
$sortOrderA = $a->getSortOrder();
|
239 |
$sortOrderB = $b->getSortOrder();
|
256 |
$parameters = array(
|
257 |
$this->pageTitle,
|
258 |
$this->menuTitle,
|
259 |
+
$this->getCapability(),
|
260 |
$this->menuSlug,
|
261 |
array($this->resolver, 'resolve'),
|
262 |
$this->iconUrl,
|
vendor/Rsc/Mvc/Controller.php
CHANGED
@@ -119,4 +119,8 @@ class Rsc_Mvc_Controller
|
|
119 |
{
|
120 |
return $this->request;
|
121 |
}
|
|
|
|
|
|
|
|
|
122 |
}
|
119 |
{
|
120 |
return $this->request;
|
121 |
}
|
122 |
+
|
123 |
+
public function requireNonces() {
|
124 |
+
return array();
|
125 |
+
}
|
126 |
}
|
vendor/Rsc/Mvc/Module.php
CHANGED
@@ -99,12 +99,11 @@ class Rsc_Mvc_Module
|
|
99 |
* Returns the URL to the module location
|
100 |
* @return string
|
101 |
*/
|
102 |
-
|
103 |
-
|
104 |
$path = plugin_basename($this->location);
|
105 |
-
|
106 |
return plugins_url($path);
|
107 |
-
|
108 |
|
109 |
/**
|
110 |
* Returns the name of the current module
|
@@ -148,32 +147,35 @@ class Rsc_Mvc_Module
|
|
148 |
return $this;
|
149 |
}
|
150 |
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
|
|
|
|
|
|
177 |
|
178 |
/**
|
179 |
* Triggered when the resolver doing initialization of module
|
99 |
* Returns the URL to the module location
|
100 |
* @return string
|
101 |
*/
|
102 |
+
public function getLocationUrl()
|
103 |
+
{
|
104 |
$path = plugin_basename($this->location);
|
|
|
105 |
return plugins_url($path);
|
106 |
+
}
|
107 |
|
108 |
/**
|
109 |
* Returns the name of the current module
|
147 |
return $this;
|
148 |
}
|
149 |
|
150 |
+
public function handle()
|
151 |
+
{
|
152 |
+
$action = $this->request->query->get('action', 'index') . 'Action';
|
153 |
+
$welcomePageShowed = $this->environment->getConfig()->get('welcome_page_was_showed');
|
154 |
+
$promoController = $this->environment->getConfig()->get('promo_controller');
|
155 |
+
|
156 |
+
if ($promoController && class_exists($promoController) && !$welcomePageShowed) {
|
157 |
+
$promoController = new $promoController($this->environment, $this->request);
|
158 |
+
if (method_exists($promoController, 'indexAction')) {
|
159 |
+
return call_user_func_array(
|
160 |
+
array($promoController, 'indexAction'),
|
161 |
+
array($this->request)
|
162 |
+
);
|
163 |
+
}
|
164 |
+
} else {
|
165 |
+
if (method_exists($this->getController(), $action)) {
|
166 |
+
return call_user_func_array(array($this->getController(), $action), array(
|
167 |
+
$this->request
|
168 |
+
));
|
169 |
+
}
|
170 |
+
}
|
171 |
+
|
172 |
+
$twig = $this->environment->getTwig();
|
173 |
+
|
174 |
+
return Rsc_Http_Response::create()->setContent($twig->render('404.twig', array(
|
175 |
+
'controller' => $this->getModuleName(),
|
176 |
+
'action' => $action,
|
177 |
+
)));
|
178 |
+
}
|
179 |
|
180 |
/**
|
181 |
* Triggered when the resolver doing initialization of module
|
vendor/Twig/Extension/Core.php
CHANGED
@@ -1272,7 +1272,13 @@ if (function_exists('mb_get_info')) {
|
|
1272 |
return mb_strlen((string) $thing, $env->getCharset());
|
1273 |
}
|
1274 |
|
1275 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1276 |
}
|
1277 |
|
1278 |
/**
|
1272 |
return mb_strlen((string) $thing, $env->getCharset());
|
1273 |
}
|
1274 |
|
1275 |
+
if($thing == null) {
|
1276 |
+
return 0;
|
1277 |
+
}
|
1278 |
+
if(!is_array($thing)) {
|
1279 |
+
return 1;
|
1280 |
+
}
|
1281 |
+
return count($thing);
|
1282 |
}
|
1283 |
|
1284 |
/**
|