Version Description
/ 20.12.2018 = * Added option on-off legend labels along with parts of the chart * Small Fix Zing Charts * Fix of exporting of tables with collapsible cells * Fix of formula COUNTIF * Fix of applying of format to cell value * Styles fix for Add New Table popup * Encode cell data before saving in db * Removed slashes from cell after import from Spreadheets
Download this release
Release Info
Developer | supsystic.com |
Plugin | Data Tables Generator by Supsystic |
Version | 1.9.6 |
Comparing to | |
See all releases |
Code changes from version 1.9.3 to 1.9.6
- app/SupsysticTables.php +15 -14
- app/assets/css/jquery-ui.min.css +1 -1
- app/assets/css/jquery-ui.structure.min.css +1 -1
- app/assets/css/jquery-ui.theme.min.css +8 -8
- app/assets/css/supsystic-ui.css +14 -1
- app/assets/js/i18n/{grid.locale-cat.js → grid.locale-ca.js} +0 -0
- app/assets/js/i18n/{grid.locale-mne.js → grid.locale-me.js} +0 -0
- app/assets/js/i18n/grid.locale-sq.js +203 -0
- app/assets/js/i18n/{grid.locale-ua.js → grid.locale-uk.js} +0 -0
- app/assets/js/notify.js +59 -0
- app/assets/js/supsystic.ui.js +7 -1
- app/templates/layout.twig +24 -31
- index.php +9 -7
- readme.txt +83 -13
- screenshot-4.png +0 -0
- src/SupsysticTables/Core/ModelsFactory.php +9 -1
- src/SupsysticTables/Core/Module.php +10 -5
- src/SupsysticTables/Core/assets/js/core.js +130 -85
- src/SupsysticTables/Core/assets/js/create-table.js +3 -3
- src/SupsysticTables/Core/assets/js/lib/jquery.dataTables.min.js +1 -1
- src/SupsysticTables/Core/updates/rev-61.sql +0 -0
- src/SupsysticTables/Settings/assets/css/settings.css +4 -0
- src/SupsysticTables/Settings/views/index.twig +30 -12
- src/SupsysticTables/Tables/Controller.php +29 -12
- src/SupsysticTables/Tables/Model/Tables.php +43 -20
- src/SupsysticTables/Tables/Module.php +67 -32
- src/SupsysticTables/Tables/assets/css/loaders.css +2 -1
- src/SupsysticTables/Tables/assets/css/tables.shortcode.css +9 -1
- src/SupsysticTables/Tables/assets/css/tables.view.css +3 -0
- src/SupsysticTables/Tables/assets/js/editor/tables.editor.toolbar.js +81 -41
- src/SupsysticTables/Tables/assets/js/tables.model.js +23 -6
- src/SupsysticTables/Tables/assets/js/tables.view.js +22 -5
- src/SupsysticTables/Tables/assets/libraries/numeral.min.js +1 -681
- src/SupsysticTables/Tables/assets/libraries/ruleJS/ruleJS.lib.full.js +52 -49
- src/SupsysticTables/Tables/views/notice/review.twig +3 -3
- src/SupsysticTables/Tables/views/notice/wooAds.twig +11 -0
- src/SupsysticTables/Tables/views/shortcode.twig +10 -2
- src/SupsysticTables/Tables/views/view.twig +43 -8
- src/SupsysticTables/Woocommerce/Module.php +63 -0
- src/SupsysticTables/Woocommerce/assets/img/wooadsfool.gif +0 -0
- src/SupsysticTables/Woocommerce/assets/img/woocommerce.jpg +0 -0
- src/SupsysticTables/Woocommerce/views/partials/tab.twig +6 -0
- src/SupsysticTables/Woocommerce/views/partials/tabContent.twig +16 -0
- vendor/Rsc/Environment.php +5 -0
- vendor/Rsc/Mvc/Module.php +16 -8
- vendor/Rsc/Resolver.php +16 -11
app/SupsysticTables.php
CHANGED
@@ -18,7 +18,7 @@ class SupsysticTables
|
|
18 |
|
19 |
$menuSlug = 'supsystic-tables';
|
20 |
$pluginPath = dirname(dirname(__FILE__));
|
21 |
-
$environment = new Rsc_Environment('st', '1.9.
|
22 |
|
23 |
/* Configure */
|
24 |
$environment->configure(
|
@@ -39,19 +39,20 @@ class SupsysticTables
|
|
39 |
'icon_url' => 'dashicons-editor-table',
|
40 |
'position' => '102.2',
|
41 |
),
|
42 |
-
'
|
43 |
-
'
|
44 |
-
'
|
45 |
-
|
46 |
-
|
47 |
-
'
|
48 |
-
|
49 |
-
|
50 |
-
'
|
51 |
-
'
|
52 |
-
'
|
53 |
-
|
54 |
-
'
|
|
|
55 |
)
|
56 |
);
|
57 |
|
18 |
|
19 |
$menuSlug = 'supsystic-tables';
|
20 |
$pluginPath = dirname(dirname(__FILE__));
|
21 |
+
$environment = new Rsc_Environment('st', '1.9.6', $pluginPath);
|
22 |
|
23 |
/* Configure */
|
24 |
$environment->configure(
|
39 |
'icon_url' => 'dashicons-editor-table',
|
40 |
'position' => '102.2',
|
41 |
),
|
42 |
+
'shortcode_prefix' => $menuSlug,
|
43 |
+
'shortcode_name' => defined('SUPSYSTIC_TABLES_SHORTCODE_NAME') ? SUPSYSTIC_TABLES_SHORTCODE_NAME : $menuSlug,
|
44 |
+
'shortcode_part_name' => defined('SUPSYSTIC_TABLES_PART_SHORTCODE_NAME') ? SUPSYSTIC_TABLES_PART_SHORTCODE_NAME : $menuSlug . '-part',
|
45 |
+
'shortcode_cell_name' => defined('SUPSYSTIC_TABLES_CELL_SHORTCODE_NAME') ? SUPSYSTIC_TABLES_CELL_SHORTCODE_NAME : $menuSlug . '-cell-full',
|
46 |
+
'shortcode_value_name' => defined('SUPSYSTIC_TABLES_VALUE_SHORTCODE_NAME') ? SUPSYSTIC_TABLES_VALUE_SHORTCODE_NAME : $menuSlug . '-cell',
|
47 |
+
'db_prefix' => 'supsystic_tbl_',
|
48 |
+
'hooks_prefix' => 'supsystic_tbl_',
|
49 |
+
'ajax_url' => admin_url('admin-ajax.php'),
|
50 |
+
'admin_url' => admin_url(),
|
51 |
+
'plugin_db_update' => true,
|
52 |
+
'revision_key' => '_supsystic_tables_rev',
|
53 |
+
'revision' => 61,
|
54 |
+
'welcome_page_was_showed' => get_option('supsystic_tbl_welcome_page_was_showed'),
|
55 |
+
'promo_controller' => 'SupsysticTables_Promo_Controller'
|
56 |
)
|
57 |
);
|
58 |
|
app/assets/css/jquery-ui.min.css
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* To view and modify this theme, visit http://jqueryui.com/themeroller/?tr%26ffDefault=Helvetica%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=888888&bgTextureHeader=highlight_hard&bgImgOpacityHeader=15&borderColorHeader=404040&fcHeader=ffffff&iconColorHeader=cccccc&bgColorContent=121212&bgTextureContent=gloss_wave&bgImgOpacityContent=16&borderColorContent=404040&fcContent=eeeeee&iconColorContent=bbbbbb&bgColorDefault=adadad&bgTextureDefault=highlight_soft&bgImgOpacityDefault=35&borderColorDefault=cccccc&fcDefault=333333&iconColorDefault=666666&bgColorHover=dddddd&bgTextureHover=highlight_soft&bgImgOpacityHover=60&borderColorHover=dddddd&fcHover=000000&iconColorHover=c98000&bgColorActive=121212&bgTextureActive=inset_soft&bgImgOpacityActive=15&borderColorActive=000000&fcActive=ffffff&iconColorActive=f29a00&bgColorHighlight=555555&bgTextureHighlight=highlight_hard&bgImgOpacityHighlight=55&borderColorHighlight=404040&fcHighlight=cccccc&iconColorHighlight=aaaaaa&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a
|
5 |
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
|
6 |
|
7 |
-
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content a{color:#eee}.ui-widget-header a{color:#fff}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#333;text-decoration:none}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#000;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #000;background:#121212 url("images/ui-bg_inset-soft_15_121212_1x100.png") 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #404040;background:#555 url("images/ui-bg_highlight-hard_55_555555_1x100.png") 50% top repeat-x;color:#ccc}
|
8 |
/*.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#ccc}*/
|
9 |
.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-state-active .ui-icon{background-image:url("images/ui-icons_f29a00_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_aaaaaa_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}
|
10 |
/*.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:5px}
|
4 |
* To view and modify this theme, visit http://jqueryui.com/themeroller/?tr%26ffDefault=Helvetica%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=888888&bgTextureHeader=highlight_hard&bgImgOpacityHeader=15&borderColorHeader=404040&fcHeader=ffffff&iconColorHeader=cccccc&bgColorContent=121212&bgTextureContent=gloss_wave&bgImgOpacityContent=16&borderColorContent=404040&fcContent=eeeeee&iconColorContent=bbbbbb&bgColorDefault=adadad&bgTextureDefault=highlight_soft&bgImgOpacityDefault=35&borderColorDefault=cccccc&fcDefault=333333&iconColorDefault=666666&bgColorHover=dddddd&bgTextureHover=highlight_soft&bgImgOpacityHover=60&borderColorHover=dddddd&fcHover=000000&iconColorHover=c98000&bgColorActive=121212&bgTextureActive=inset_soft&bgImgOpacityActive=15&borderColorActive=000000&fcActive=ffffff&iconColorActive=f29a00&bgColorHighlight=555555&bgTextureHighlight=highlight_hard&bgImgOpacityHighlight=55&borderColorHighlight=404040&fcHighlight=cccccc&iconColorHighlight=aaaaaa&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a
|
5 |
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
|
6 |
|
7 |
+
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content a{color:#eee}.ui-widget-header a{color:#fff}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#333;text-decoration:none}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#000;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #000;background:#121212 url("images/ui-bg_inset-soft_15_121212_1x100.png") 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #404040;background:#555 url("images/ui-bg_highlight-hard_55_555555_1x100.png") 50% top repeat-x;color:#ccc}
|
8 |
/*.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#ccc}*/
|
9 |
.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-state-active .ui-icon{background-image:url("images/ui-icons_f29a00_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_aaaaaa_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}
|
10 |
/*.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:5px}
|
app/assets/css/jquery-ui.structure.min.css
CHANGED
@@ -2,4 +2,4 @@
|
|
2 |
* http://jqueryui.com
|
3 |
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
|
4 |
|
5 |
-
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis;color: white;}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}
|
2 |
* http://jqueryui.com
|
3 |
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
|
4 |
|
5 |
+
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}/*.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis;color: white;}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}*/.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}
|
app/assets/css/jquery-ui.theme.min.css
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
* http://jqueryui.com
|
3 |
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
|
4 |
|
5 |
-
.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content a{color:#000}.ui-widget-header a{color:#fff}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#333;text-decoration:none}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#000;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #000;background:#121212 url("images/ui-bg_inset-soft_15_121212_1x100.png") 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}
|
6 |
.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{
|
7 |
border:1px solid #404040;
|
8 |
background:#555 url("images/ui-bg_highlight-hard_55_555555_1x100.png") 50% top repeat-x;
|
@@ -72,10 +72,6 @@
|
|
72 |
.trash-btn:hover {
|
73 |
opacity: 0.8;
|
74 |
}
|
75 |
-
.ui-widget-header {
|
76 |
-
background: #e8eded !important;
|
77 |
-
padding: 6px !important;
|
78 |
-
}
|
79 |
.ui-jqgrid-title {
|
80 |
font-size: 18px;
|
81 |
color: white;
|
@@ -205,9 +201,13 @@ thead .ui-jqgrid-labels th[id$='_cb'] .s-ico {
|
|
205 |
padding-right: 2%;
|
206 |
}
|
207 |
/*popup dialog*/
|
208 |
-
|
209 |
-
color: black !important
|
210 |
-
}
|
|
|
|
|
|
|
|
|
211 |
/*jquery slider*/
|
212 |
.ui-slider.ui-widget-content:not(.iris-slider-offset) {
|
213 |
background: transparent;
|
2 |
* http://jqueryui.com
|
3 |
* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
|
4 |
|
5 |
+
.ui-widget{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content a{color:#000}.ui-widget-header a{color:#fff}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#333;text-decoration:none}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#000;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #000;background:#121212 url("images/ui-bg_inset-soft_15_121212_1x100.png") 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}
|
6 |
.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{
|
7 |
border:1px solid #404040;
|
8 |
background:#555 url("images/ui-bg_highlight-hard_55_555555_1x100.png") 50% top repeat-x;
|
72 |
.trash-btn:hover {
|
73 |
opacity: 0.8;
|
74 |
}
|
|
|
|
|
|
|
|
|
75 |
.ui-jqgrid-title {
|
76 |
font-size: 18px;
|
77 |
color: white;
|
201 |
padding-right: 2%;
|
202 |
}
|
203 |
/*popup dialog*/
|
204 |
+
/*.ui-dialog .ui-dialog-title {*/
|
205 |
+
/*color: black !important;*/
|
206 |
+
/*}*/
|
207 |
+
/*.ui-widget-header {*/
|
208 |
+
/*background: #e8eded !important;*/
|
209 |
+
/*padding: 6px !important;*/
|
210 |
+
/*}*/
|
211 |
/*jquery slider*/
|
212 |
.ui-slider.ui-widget-content:not(.iris-slider-offset) {
|
213 |
background: transparent;
|
app/assets/css/supsystic-ui.css
CHANGED
@@ -196,6 +196,10 @@ ul.supsystic-bar-controls > li.separator {
|
|
196 |
overflow: hidden;
|
197 |
}
|
198 |
|
|
|
|
|
|
|
|
|
199 |
|
200 |
/* Helpers */
|
201 |
|
@@ -234,7 +238,11 @@ ul.supsystic-bar-controls > li.separator {
|
|
234 |
}
|
235 |
|
236 |
.ui-dialog .ui-dialog-content {
|
237 |
-
|
|
|
|
|
|
|
|
|
238 |
}
|
239 |
|
240 |
.ui-dialog .ui-dialog-buttonpane button {
|
@@ -251,6 +259,11 @@ ul.supsystic-bar-controls > li.separator {
|
|
251 |
font-size: 17px;
|
252 |
}
|
253 |
|
|
|
|
|
|
|
|
|
|
|
254 |
.ui-widget-overlay {
|
255 |
background: #000 !important;
|
256 |
opacity: .3;
|
196 |
overflow: hidden;
|
197 |
}
|
198 |
|
199 |
+
.stbCopyTextCode {
|
200 |
+
text-align: center;
|
201 |
+
}
|
202 |
+
|
203 |
|
204 |
/* Helpers */
|
205 |
|
238 |
}
|
239 |
|
240 |
.ui-dialog .ui-dialog-content {
|
241 |
+
position: relative;
|
242 |
+
border: 0;
|
243 |
+
padding: .5em 1em;
|
244 |
+
background: none;
|
245 |
+
overflow: visible !important;
|
246 |
}
|
247 |
|
248 |
.ui-dialog .ui-dialog-buttonpane button {
|
259 |
font-size: 17px;
|
260 |
}
|
261 |
|
262 |
+
.ui-widget {
|
263 |
+
font-family: Verdana,Arial,Helvetica,sans-serif;
|
264 |
+
font-size: 1.1em;
|
265 |
+
}
|
266 |
+
|
267 |
.ui-widget-overlay {
|
268 |
background: #000 !important;
|
269 |
opacity: .3;
|
app/assets/js/i18n/{grid.locale-cat.js → grid.locale-ca.js}
RENAMED
File without changes
|
app/assets/js/i18n/{grid.locale-mne.js → grid.locale-me.js}
RENAMED
File without changes
|
app/assets/js/i18n/grid.locale-sq.js
ADDED
@@ -0,0 +1,203 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
;(function($){
|
2 |
+
/**
|
3 |
+
* jqGrid Albanian Translation
|
4 |
+
**/
|
5 |
+
$.jgrid = $.jgrid || {};
|
6 |
+
$.extend($.jgrid,{
|
7 |
+
defaults : {
|
8 |
+
recordtext: "Shfaq {0} - {1}/{2}",
|
9 |
+
emptyrecords: "Nuk ka rreshta për të shfaqur",
|
10 |
+
loadtext: "Duke u ngarkuar...",
|
11 |
+
savetext: "Duke ruajtur...",
|
12 |
+
pgtext : "Faqja {0}/{1}",
|
13 |
+
pgfirst : "Faqja e parë",
|
14 |
+
pglast : "Faqja e fundit",
|
15 |
+
pgnext : "Faqja tjetër",
|
16 |
+
pgprev : "Faqja mëparshme",
|
17 |
+
pgrecs : "Rreshta për faqe",
|
18 |
+
showhide: "Shpalos ose mbyll tabelën",
|
19 |
+
// mobile
|
20 |
+
pagerCaption : "Tabela::Kruskoti i faqes",
|
21 |
+
pageText : "Faqja:",
|
22 |
+
recordPage : "Rreshta për faqe",
|
23 |
+
nomorerecs : "Nuk ka rreshta të tjerë...",
|
24 |
+
scrollPullup: "Tërhiq për lart për të tjerë...",
|
25 |
+
scrollPulldown : "Tërqiq për poshtë për rifreskim...",
|
26 |
+
scrollRefresh : "Lësho për rifreskim..."
|
27 |
+
},
|
28 |
+
search : {
|
29 |
+
caption: "Kërko...",
|
30 |
+
Find: "Gjej",
|
31 |
+
Reset: "Pastro",
|
32 |
+
odata: [{ oper:'eq', text:'baraz'},{ oper:'ne', text:'jo baraz'},{ oper:'lt', text:'me e vogel'},{ oper:'le', text:'me e vogel ose baraz'},{ oper:'gt', text:'me e madhe'},{ oper:'ge', text:'me e madhe ose baraz'},{ oper:'bw', text:'fillon me'},{ oper:'bn', text:'nuk fillon me'},{ oper:'in', text:'brenda'},{ oper:'ni', text:'jo brenda'},{ oper:'ew', text:'mbaron me'},{ oper:'en', text:'nuk mbaron me'},{ oper:'cn', text:'permban'},{ oper:'nc', text:'nuk permban'},{ oper:'nu', text:'eshte bosh'},{ oper:'nn', text:'nuk eshte bosh'}, {oper:'bt', text:'between'}],
|
33 |
+
groupOps: [{ op: "AND", text: "te gjithe" },{ op: "OR", text: "cfaredo" }],
|
34 |
+
operandTitle : "Kliko per te zgjedhur veprimin.",
|
35 |
+
resetTitle : "Fshi vlerat e kerkimit",
|
36 |
+
addsubgrup : "Add subgroup",
|
37 |
+
addrule : "Add rule",
|
38 |
+
delgroup : "Delete group",
|
39 |
+
delrule : "Delete rule"
|
40 |
+
|
41 |
+
},
|
42 |
+
edit : {
|
43 |
+
addCaption: "Shto rresht",
|
44 |
+
editCaption: "Fshi rresht",
|
45 |
+
bSubmit: "Vendos",
|
46 |
+
bCancel: "Anullo",
|
47 |
+
bClose: "Mbyll",
|
48 |
+
saveData: "Te dhenat jane ndryshuar! Deshironi ti ruani ndryshimet?",
|
49 |
+
bYes : "Po",
|
50 |
+
bNo : "Jo",
|
51 |
+
bExit : "Anullo",
|
52 |
+
msg: {
|
53 |
+
required:"Kjo fushe eshte e detyrueshme",
|
54 |
+
number:"Ju lutem, vendosni nje numer te vlefshem",
|
55 |
+
minValue:"vlera duhet te jete me e madhe ose e njejte me ",
|
56 |
+
maxValue:"vlera duhet te jete me e vogel ose e njejte me",
|
57 |
+
email: "nuk eshte adrese poste elektronike e vlefshme",
|
58 |
+
integer: "Ju lutem, vendosni nje numer te plote te vlefshem",
|
59 |
+
date: "Ju lutem, vendosni nje date te vlefshme",
|
60 |
+
url: "nuk eshte URL e vlefshme. Nevojitet prefiksi ('http://' ose 'https://')",
|
61 |
+
nodefined : " nuk eshte percaktuar!",
|
62 |
+
novalue : " vlera si pergjigje eshte e detyreshme!",
|
63 |
+
customarray : "Funksioni i personalizuar duhet te ktheje nje array!",
|
64 |
+
customfcheck : "unksioni i personalizuar duhet te egzistoje ne rast kontrolli te personalizuar!"
|
65 |
+
|
66 |
+
}
|
67 |
+
},
|
68 |
+
view : {
|
69 |
+
caption: "Shfaq Rreshtin",
|
70 |
+
bClose: "Mbyll"
|
71 |
+
},
|
72 |
+
del : {
|
73 |
+
caption: "Fshi",
|
74 |
+
msg: "Deshironi te fshini rreshtin/rreshtat e zgjedhur?",
|
75 |
+
bSubmit: "Fshi",
|
76 |
+
bCancel: "Anullo"
|
77 |
+
},
|
78 |
+
nav : {
|
79 |
+
edittext: "",
|
80 |
+
edittitle: "Modifiko rreshtin e zgjedhur",
|
81 |
+
addtext:"",
|
82 |
+
addtitle: "Shto rresht te ri",
|
83 |
+
deltext: "",
|
84 |
+
deltitle: "Fshi rreshtin e zgjedhur",
|
85 |
+
searchtext: "",
|
86 |
+
searchtitle: "Gjej rreshtat",
|
87 |
+
refreshtext: "",
|
88 |
+
refreshtitle: "Ringarko listen",
|
89 |
+
alertcap: "Paralajmerim",
|
90 |
+
alerttext: "Ju lutem, zgjidh nje rresht",
|
91 |
+
viewtext: "",
|
92 |
+
viewtitle: "Shfaq rreshtin e zgjedhur",
|
93 |
+
savetext: "",
|
94 |
+
savetitle: "Ruaj rreshtin",
|
95 |
+
canceltext: "",
|
96 |
+
canceltitle : "Anullo modifikim rreshti",
|
97 |
+
selectcaption : "Veprime..."
|
98 |
+
},
|
99 |
+
col : {
|
100 |
+
caption: "Zgjidh kolona",
|
101 |
+
bSubmit: "Ok",
|
102 |
+
bCancel: "Anullo"
|
103 |
+
},
|
104 |
+
errors : {
|
105 |
+
errcap : "Gabim",
|
106 |
+
nourl : "Nuk eshte percaktuar asnje URL",
|
107 |
+
norecords: "Nuk ka rreshta per perpunim",
|
108 |
+
model : "Gjatesia e emrit te kolones <> modeli i kolones!"
|
109 |
+
},
|
110 |
+
formatter : {
|
111 |
+
integer : {thousandsSeparator: ",", defaultValue: '0'},
|
112 |
+
number : {decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, defaultValue: '0.00'},
|
113 |
+
currency : {decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'},
|
114 |
+
date : {
|
115 |
+
dayNames: [
|
116 |
+
"Dje", "Hën", "Mar", "Mër", "Enj", "Pre", "Sht",
|
117 |
+
"Djelë", "Hënë", "Martë", "Mërkurë", "Enjte", "Premte", "Shtunë"
|
118 |
+
],
|
119 |
+
monthNames: [
|
120 |
+
"Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Kor", "Gus", "Sht", "Tet", "Nën", "Dhj",
|
121 |
+
"Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"
|
122 |
+
],
|
123 |
+
AmPm : ["am","pm","AM","PM"],
|
124 |
+
S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th';},
|
125 |
+
srcformat: 'Y-m-d',
|
126 |
+
newformat: 'n/j/Y',
|
127 |
+
parseRe : /[#%\\\/:_;.,\t\s-]/,
|
128 |
+
masks : {
|
129 |
+
// see http://php.net/manual/en/function.date.php for PHP format used in jqGrid
|
130 |
+
// and see http://docs.jquery.com/UI/Datepicker/formatDate
|
131 |
+
// and https://github.com/jquery/globalize#dates for alternative formats used frequently
|
132 |
+
// one can find on https://github.com/jquery/globalize/tree/master/lib/cultures many
|
133 |
+
// information about date, time, numbers and currency formats used in different countries
|
134 |
+
// one should just convert the information in PHP format
|
135 |
+
ISO8601Long:"Y-m-d H:i:s",
|
136 |
+
ISO8601Short:"Y-m-d",
|
137 |
+
// short date:
|
138 |
+
// n - Numeric representation of a month, without leading zeros
|
139 |
+
// j - Day of the month without leading zeros
|
140 |
+
// Y - A full numeric representation of a year, 4 digits
|
141 |
+
// example: 3/1/2012 which means 1 March 2012
|
142 |
+
ShortDate: "n/j/Y", // in jQuery UI Datepicker: "M/d/yyyy"
|
143 |
+
// long date:
|
144 |
+
// l - A full textual representation of the day of the week
|
145 |
+
// F - A full textual representation of a month
|
146 |
+
// d - Day of the month, 2 digits with leading zeros
|
147 |
+
// Y - A full numeric representation of a year, 4 digits
|
148 |
+
LongDate: "l, F d, Y", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy"
|
149 |
+
// long date with long time:
|
150 |
+
// l - A full textual representation of the day of the week
|
151 |
+
// F - A full textual representation of a month
|
152 |
+
// d - Day of the month, 2 digits with leading zeros
|
153 |
+
// Y - A full numeric representation of a year, 4 digits
|
154 |
+
// g - 12-hour format of an hour without leading zeros
|
155 |
+
// i - Minutes with leading zeros
|
156 |
+
// s - Seconds, with leading zeros
|
157 |
+
// A - Uppercase Ante meridiem and Post meridiem (AM or PM)
|
158 |
+
FullDateTime: "l, F d, Y g:i:s A", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy h:mm:ss tt"
|
159 |
+
// month day:
|
160 |
+
// F - A full textual representation of a month
|
161 |
+
// d - Day of the month, 2 digits with leading zeros
|
162 |
+
MonthDay: "F d", // in jQuery UI Datepicker: "MMMM dd"
|
163 |
+
// short time (without seconds)
|
164 |
+
// g - 12-hour format of an hour without leading zeros
|
165 |
+
// i - Minutes with leading zeros
|
166 |
+
// A - Uppercase Ante meridiem and Post meridiem (AM or PM)
|
167 |
+
ShortTime: "g:i A", // in jQuery UI Datepicker: "h:mm tt"
|
168 |
+
// long time (with seconds)
|
169 |
+
// g - 12-hour format of an hour without leading zeros
|
170 |
+
// i - Minutes with leading zeros
|
171 |
+
// s - Seconds, with leading zeros
|
172 |
+
// A - Uppercase Ante meridiem and Post meridiem (AM or PM)
|
173 |
+
LongTime: "g:i:s A", // in jQuery UI Datepicker: "h:mm:ss tt"
|
174 |
+
SortableDateTime: "Y-m-d\\TH:i:s",
|
175 |
+
UniversalSortableDateTime: "Y-m-d H:i:sO",
|
176 |
+
// month with year
|
177 |
+
// Y - A full numeric representation of a year, 4 digits
|
178 |
+
// F - A full textual representation of a month
|
179 |
+
YearMonth: "F, Y" // in jQuery UI Datepicker: "MMMM, yyyy"
|
180 |
+
},
|
181 |
+
reformatAfterEdit : false,
|
182 |
+
userLocalTime : false
|
183 |
+
},
|
184 |
+
baseLinkUrl: '',
|
185 |
+
showAction: '',
|
186 |
+
target: '',
|
187 |
+
checkbox : {disabled:true},
|
188 |
+
idName : 'id'
|
189 |
+
},
|
190 |
+
colmenu : {
|
191 |
+
sortasc : "Sort Ascending",
|
192 |
+
sortdesc : "Sort Descending",
|
193 |
+
columns : "Columns",
|
194 |
+
filter : "Filter",
|
195 |
+
grouping : "Group By",
|
196 |
+
ungrouping : "Ungroup",
|
197 |
+
searchTitle : "Get items with value that:",
|
198 |
+
freeze : "Freeze",
|
199 |
+
unfreeze : "Unfreeze",
|
200 |
+
reorder : "Move to reorder"
|
201 |
+
}
|
202 |
+
});
|
203 |
+
})(jQuery);
|
app/assets/js/i18n/{grid.locale-ua.js → grid.locale-uk.js}
RENAMED
File without changes
|
app/assets/js/notify.js
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function($) {
|
2 |
+
|
3 |
+
$.sNotify = function(options) {
|
4 |
+
console.log('1');
|
5 |
+
if (!this.length) {
|
6 |
+
return this;
|
7 |
+
}
|
8 |
+
|
9 |
+
var $wrapper = $('<div class="s-notify">').css({
|
10 |
+
position: 'fixed',
|
11 |
+
display: 'none',
|
12 |
+
right: '1.7em',
|
13 |
+
top: '3.3em',
|
14 |
+
padding: '1em',
|
15 |
+
'background-color': 'white',
|
16 |
+
'box-shadow': '0px 0px 6px 0px rgba(0,0,0,0.1)'
|
17 |
+
});
|
18 |
+
|
19 |
+
$wrapper.wrapInner(this);
|
20 |
+
$wrapper.appendTo('body');
|
21 |
+
|
22 |
+
if (options.icon) {
|
23 |
+
$('<i/>').addClass(options.icon).appendTo($wrapper);
|
24 |
+
}
|
25 |
+
|
26 |
+
if (options.content) {
|
27 |
+
$('<div class="notify-content"></div>').css('display', 'inline-block').wrapInner(options.content).appendTo($wrapper);
|
28 |
+
}
|
29 |
+
|
30 |
+
setTimeout(function() {
|
31 |
+
$wrapper.fadeIn();
|
32 |
+
if (options.delay) {
|
33 |
+
setTimeout(function() {
|
34 |
+
$wrapper.fadeOut(function() {
|
35 |
+
$wrapper.remove();
|
36 |
+
});
|
37 |
+
}, options.delay);
|
38 |
+
}
|
39 |
+
}, 200);
|
40 |
+
|
41 |
+
return $.extend($wrapper, {
|
42 |
+
close: function(timeout) {
|
43 |
+
setTimeout(function() {
|
44 |
+
$wrapper.fadeOut(function() {
|
45 |
+
$wrapper.remove();
|
46 |
+
});
|
47 |
+
}, timeout || '0');
|
48 |
+
},
|
49 |
+
update: function(content, icon) {
|
50 |
+
this.find('.notify-content').empty().append(content);
|
51 |
+
if (icon) {
|
52 |
+
this.find('i').removeClass().addClass(icon);
|
53 |
+
}
|
54 |
+
return this;
|
55 |
+
}
|
56 |
+
});
|
57 |
+
};
|
58 |
+
|
59 |
+
})(jQuery);
|
app/assets/js/supsystic.ui.js
CHANGED
@@ -9,13 +9,15 @@
|
|
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 |
|
@@ -51,6 +53,10 @@
|
|
51 |
$target.fadeToggle();
|
52 |
});
|
53 |
|
|
|
|
|
|
|
|
|
54 |
/* Minimum height for the container */
|
55 |
var $autoHeight = $('.supsystic-item'),
|
56 |
naviationHeight = $('.supsystic-navigation').outerHeight();
|
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 |
+
var responseType = jQuery(this).data('response-type');
|
13 |
|
14 |
jQuery('.supsystic-admin-notice .notice-dismiss').trigger('click');
|
15 |
|
16 |
window.supsystic.Tables.request({
|
17 |
module: 'tables',action: 'reviewNoticeResponse'
|
18 |
},{
|
19 |
+
responseCode: responseCode,
|
20 |
+
responseType: responseType
|
21 |
});
|
22 |
});
|
23 |
|
53 |
$target.fadeToggle();
|
54 |
});
|
55 |
|
56 |
+
$('input.stbCopyTextCode').click(function(){
|
57 |
+
this.select();
|
58 |
+
});
|
59 |
+
|
60 |
/* Minimum height for the container */
|
61 |
var $autoHeight = $('.supsystic-item'),
|
62 |
naviationHeight = $('.supsystic-navigation').outerHeight();
|
app/templates/layout.twig
CHANGED
@@ -54,39 +54,32 @@
|
|
54 |
{{ environment.getDispatcher().dispatch('notices') }}
|
55 |
{% block content %}{% endblock %}
|
56 |
|
57 |
-
<div id="dtgAddDialog" style="display: none;" title="{{ environment.translate('Add new table') }}">
|
58 |
-
<
|
59 |
-
<
|
60 |
-
<
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
</label>
|
78 |
-
<input id="dtgAddDialog_rows" class="supsystic-text" type="number" value="5" min="1" max="100" style="width: 100%"/>
|
79 |
-
<!-- /#dtgAddDialog_rows -->
|
80 |
-
</div>
|
81 |
-
<!-- /.col-xs-6 -->
|
82 |
</div>
|
83 |
-
<!-- /.row -->
|
84 |
-
<div style="padding-top: 5px;">{{ environment.translate('You can change number of Columns and Rows later') }}</div>
|
85 |
-
</form>
|
86 |
-
<div id="formError" style="color: red; display: none; float: left;">
|
87 |
-
<p></p>
|
88 |
</div>
|
89 |
-
|
|
|
|
|
|
|
90 |
</div>
|
91 |
</div>
|
92 |
<!-- /#dtgAddDialog -->
|
54 |
{{ environment.getDispatcher().dispatch('notices') }}
|
55 |
{% block content %}{% endblock %}
|
56 |
|
57 |
+
<div id="dtgAddDialog" style="display: none;" title="{{ environment.translate('Add new table') }}" style="min-height: 70px;">
|
58 |
+
<form id="tableForm">
|
59 |
+
<div class="row">
|
60 |
+
<div class="col-xs-12">
|
61 |
+
<label for="dtgAddDialog_title">
|
62 |
+
{{ environment.translate('Table title') }}
|
63 |
+
</label>
|
64 |
+
<input id="dtgAddDialog_title" class="supsystic-text" type="text" style="width:100%;"/>
|
65 |
+
</div>
|
66 |
+
<div class="col-xs-6">
|
67 |
+
<label for="dtgAddDialog_cols">
|
68 |
+
{{ environment.translate('Columns') }}
|
69 |
+
</label>
|
70 |
+
<input id="dtgAddDialog_cols" class="supsystic-text" type="number" value="5" min="1" max="100" style="width: 100%"/>
|
71 |
+
</div>
|
72 |
+
<div class="col-xs-6">
|
73 |
+
<label for="dtgAddDialog_rows">
|
74 |
+
{{ environment.translate('Rows') }}
|
75 |
+
</label>
|
76 |
+
<input id="dtgAddDialog_rows" class="supsystic-text" type="number" value="5" min="1" max="100" style="width: 100%"/>
|
|
|
|
|
|
|
|
|
|
|
77 |
</div>
|
|
|
|
|
|
|
|
|
|
|
78 |
</div>
|
79 |
+
<div style="padding-top: 5px;">{{ environment.translate('You can change number of Columns and Rows later') }}</div>
|
80 |
+
</form>
|
81 |
+
<div id="formError" style="color: red; display: none; float: left;">
|
82 |
+
<p></p>
|
83 |
</div>
|
84 |
</div>
|
85 |
<!-- /#dtgAddDialog -->
|
index.php
CHANGED
@@ -4,26 +4,28 @@
|
|
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.9.
|
8 |
* Author: supsystic.com
|
9 |
* Author URI: http://supsystic.com
|
10 |
*/
|
11 |
|
12 |
include dirname(__FILE__) . '/app/SupsysticTables.php';
|
13 |
|
|
|
|
|
|
|
14 |
if (!defined('SUPSYSTIC_TABLES_SHORTCODE_NAME')) {
|
15 |
define('SUPSYSTIC_TABLES_SHORTCODE_NAME', 'supsystic-tables');
|
16 |
}
|
17 |
-
if (!defined('
|
18 |
-
define('
|
19 |
}
|
20 |
if (!defined('SUPSYSTIC_TABLES_CELL_SHORTCODE_NAME')) {
|
21 |
-
define('SUPSYSTIC_TABLES_CELL_SHORTCODE_NAME', '
|
22 |
}
|
23 |
-
if (!defined('
|
24 |
-
define('
|
25 |
}
|
26 |
-
|
27 |
$supsysticTables = new SupsysticTables();
|
28 |
$supsysticTables->activate(__FILE__);
|
29 |
$supsysticTables->run();
|
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.9.6
|
8 |
* Author: supsystic.com
|
9 |
* Author URI: http://supsystic.com
|
10 |
*/
|
11 |
|
12 |
include dirname(__FILE__) . '/app/SupsysticTables.php';
|
13 |
|
14 |
+
if (!defined('SUPSYSTIC_STB_DEBUG')) {
|
15 |
+
define('SUPSYSTIC_STB_DEBUG', false);
|
16 |
+
}
|
17 |
if (!defined('SUPSYSTIC_TABLES_SHORTCODE_NAME')) {
|
18 |
define('SUPSYSTIC_TABLES_SHORTCODE_NAME', 'supsystic-tables');
|
19 |
}
|
20 |
+
if (!defined('SUPSYSTIC_TABLES_PART_SHORTCODE_NAME')) {
|
21 |
+
define('SUPSYSTIC_TABLES_PART_SHORTCODE_NAME', SUPSYSTIC_TABLES_SHORTCODE_NAME.'-part');
|
22 |
}
|
23 |
if (!defined('SUPSYSTIC_TABLES_CELL_SHORTCODE_NAME')) {
|
24 |
+
define('SUPSYSTIC_TABLES_CELL_SHORTCODE_NAME', SUPSYSTIC_TABLES_SHORTCODE_NAME.'-cell-full');
|
25 |
}
|
26 |
+
if (!defined('SUPSYSTIC_TABLES_VALUE_SHORTCODE_NAME')) {
|
27 |
+
define('SUPSYSTIC_TABLES_VALUE_SHORTCODE_NAME', SUPSYSTIC_TABLES_SHORTCODE_NAME.'-cell');
|
28 |
}
|
|
|
29 |
$supsysticTables = new SupsysticTables();
|
30 |
$supsysticTables->activate(__FILE__);
|
31 |
$supsysticTables->run();
|
readme.txt
CHANGED
@@ -1,28 +1,32 @@
|
|
1 |
-
|
2 |
Contributors: supsystic.com
|
3 |
-
Tags: csv,
|
4 |
-
Tested up to:
|
5 |
-
Stable tag: 1.9.
|
6 |
|
7 |
-
Create data tables with charts and graphs. Custom design, navigation, searching and ordering functions. Export to PDF, CSV, Print. Excel spreadsheet
|
8 |
|
9 |
== Description ==
|
10 |
|
11 |
-
Create and manage tables from the admin panel quickly, easily and effectively. Make data tables responsive with interactive charts and graphs, sorting, pagination, filtering and more. [Data Tables by Supsystic](http://supsystic.com/plugins/data-tables-generator-plugin?utm_source=wordpress&utm_medium=description&utm_campaign=datatables "Data Tables WordPress plugin") plugin features:
|
12 |
|
13 |
* No coding required, responsive tables
|
14 |
* [FrontEnd Table Editing](http://supsystic.com/product/data-tables-generator-plugin/#examples "FrontEnd Data Table Editing Example")
|
15 |
-
* FrontEnd Table export - CSV, Excel, PDF
|
16 |
-
* Diagrams, Charts and Graphs
|
17 |
-
* Formulas support, HTML tables support for data cells
|
|
|
|
|
|
|
|
|
18 |
* Enable table Caption, Header, Footer
|
19 |
* "Bold" and "Italic" font style support for the data table cells
|
20 |
* Change cell and font color
|
21 |
-
* [Navigation with Searching
|
22 |
* Various style setting appropriated for any sites type
|
23 |
* SEO friendly, content of DataTable picked up by search engines
|
24 |
* Build diagrams from the data table
|
25 |
-
* [Google Charts integration](
|
26 |
* [Automatic import from Google Sheetss](https://supsystic.com/documentation/synchronization-table-google-sheet/ "Autoupdates from Google Sheets")
|
27 |
* [Data Table Examples](http://supsystic.com/data-tables-examples?utm_source=wordpress&utm_medium=examples&utm_campaign=datatables "Data Table Examples")
|
28 |
|
@@ -72,15 +76,21 @@ Main Table settings is [here](https://supsystic.com/docs/table-settings/ "Table
|
|
72 |
You can paste HTML elements into our tables. Read [here](https://supsystic.com/documentation/use-html-elements-tables/ "How to use HTML elements in tables?") how to do that
|
73 |
|
74 |
= How to install PRO version of plugin? =
|
|
|
75 |
To install Data Tables Generator by Supsystic PRO follow this [instruction](https://supsystic.com/documentation/data-tables-installation-pro-version/ "Installation of PRO version")
|
|
|
|
|
|
|
|
|
|
|
76 |
|
77 |
== Screenshots ==
|
78 |
|
79 |
1. [Data Table Plugin Admin Area](http://supsystic.com/plugins/data-tables-generator-plugin?utm_source=wordpress&utm_medium=screenshotsfirst&utm_campaign=datatables "Data Tables WordPress plugin")
|
80 |
-
|
81 |
2. Data Table with Images and Links. [More Examples](http://supsystic.com/data-tables-examples?utm_source=wordpress&utm_medium=screenshotssecond&utm_campaign=datatables "Data Table WordPress Plugin Examples") include tables with charts, graphs and diagrams
|
82 |
-
|
83 |
3. [Data Table with Google Charts](http://supsystic.com/table-with-diagram-example/ "Data Table with Google Charts")
|
|
|
|
|
84 |
|
85 |
== Installation ==
|
86 |
|
@@ -192,6 +202,66 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
192 |
|
193 |
== Changelog ==
|
194 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
= 1.9.3 / 01.11.2018 =
|
196 |
* Add integration with Contact Form by Supsystic
|
197 |
* Fix of merging cells for fixed rows / columns. Small code fix and improvement
|
1 |
+
=== Data Tables Generator by Supsystic ===
|
2 |
Contributors: supsystic.com
|
3 |
+
Tags: csv, excel, table, tablesorter,data table, table, database, table generator, builder, generator, cells, chart, charting, charts, column chart, gauge chart, graph, graphs, html5, line chart, pie chart, scatter chart, spreadsheet, visualise data, Woo, Woo Commerce, WooCommerce, product table, woocommerce product, product tables, catalog, product catalog, price list, pricing list, order forms, woocommerce tables, wholesale
|
4 |
+
Tested up to: 5.0.2
|
5 |
+
Stable tag: 1.9.6
|
6 |
|
7 |
+
Create data tables with charts and graphs. WooCommerce Integration. List the products with responsive Product Table. Custom design, navigation, searching and ordering functions. Export to PDF, CSV, Print. Excel spreadsheet.
|
8 |
|
9 |
== Description ==
|
10 |
|
11 |
+
Create and manage tables from the admin panel quickly, easily and effectively. List the products with responsive [WooCommerce Product Table](https://supsystic.com/plugins/woocommerce-product-table "WooCommerce Product Table"). Perfect for product list views, order forms, wholesale, product catalogs. Make data tables responsive with interactive charts and graphs, sorting, pagination, filtering and more. [Data Tables by Supsystic](http://supsystic.com/plugins/data-tables-generator-plugin?utm_source=wordpress&utm_medium=description&utm_campaign=datatables "Data Tables WordPress plugin") plugin features:
|
12 |
|
13 |
* No coding required, responsive tables
|
14 |
* [FrontEnd Table Editing](http://supsystic.com/product/data-tables-generator-plugin/#examples "FrontEnd Data Table Editing Example")
|
15 |
+
* [FrontEnd Table export - CSV, Excel, PDF](https://supsystic.com/example/export-import-of-tables "Export & Import of Tables")
|
16 |
+
* [Diagrams, Charts and Graphs](https://supsystic.com/example/table-with-diagram-example "Data Table With Google Charts")
|
17 |
+
* [Formulas support, HTML tables support for data cells](https://supsystic.com/example/table-with-calculations-example "Table with Calculations")
|
18 |
+
* [WooCommerce Integration](https://supsystic.com/plugins/woocommerce-product-table "WooCommerce Product Table")
|
19 |
+
* WooCommerce Attribute & Category Support
|
20 |
+
* Quantities and Multiple add to cart
|
21 |
+
* [Product Table online builder](https://supsystic.com/feature/product-table-online-builder/ "Product Table online builder")
|
22 |
* Enable table Caption, Header, Footer
|
23 |
* "Bold" and "Italic" font style support for the data table cells
|
24 |
* Change cell and font color
|
25 |
+
* [Navigation with Searching, Sorting, Pagination functions](http://supsystic.com/product/data-tables-generator-plugin/#examples "Data Table navigation with Searching and Ordering functions")
|
26 |
* Various style setting appropriated for any sites type
|
27 |
* SEO friendly, content of DataTable picked up by search engines
|
28 |
* Build diagrams from the data table
|
29 |
+
* [Google Charts integration](https://supsystic.com/example/table-and-diagrams-interaction/ "Google Charts WordPress plugin example")
|
30 |
* [Automatic import from Google Sheetss](https://supsystic.com/documentation/synchronization-table-google-sheet/ "Autoupdates from Google Sheets")
|
31 |
* [Data Table Examples](http://supsystic.com/data-tables-examples?utm_source=wordpress&utm_medium=examples&utm_campaign=datatables "Data Table Examples")
|
32 |
|
76 |
You can paste HTML elements into our tables. Read [here](https://supsystic.com/documentation/use-html-elements-tables/ "How to use HTML elements in tables?") how to do that
|
77 |
|
78 |
= How to install PRO version of plugin? =
|
79 |
+
|
80 |
To install Data Tables Generator by Supsystic PRO follow this [instruction](https://supsystic.com/documentation/data-tables-installation-pro-version/ "Installation of PRO version")
|
81 |
+
= How to create WooCommerce Product Table? =
|
82 |
+
Different tutorials about creating and customizing the Produst Table you can find [here](https://supsystic.com/docs/woocommerce-product-table/ "Product Table Documentation")
|
83 |
+
|
84 |
+
= Which properties and columns can I display in the Product table? =
|
85 |
+
Your WooCommerce product table can include any of the following columns: Product attributes, Categories, SKU, Add to cart button, Summary, Date, Price, Product Thumbnail, Reviews and you can display each type as a separate column in the product table.
|
86 |
|
87 |
== Screenshots ==
|
88 |
|
89 |
1. [Data Table Plugin Admin Area](http://supsystic.com/plugins/data-tables-generator-plugin?utm_source=wordpress&utm_medium=screenshotsfirst&utm_campaign=datatables "Data Tables WordPress plugin")
|
|
|
90 |
2. Data Table with Images and Links. [More Examples](http://supsystic.com/data-tables-examples?utm_source=wordpress&utm_medium=screenshotssecond&utm_campaign=datatables "Data Table WordPress Plugin Examples") include tables with charts, graphs and diagrams
|
|
|
91 |
3. [Data Table with Google Charts](http://supsystic.com/table-with-diagram-example/ "Data Table with Google Charts")
|
92 |
+
4. [WooCommerce Product Table](https://supsystic.com/plugins/woocommerce-product-table/ "WooCommerce Product Table")
|
93 |
+
|
94 |
|
95 |
== Installation ==
|
96 |
|
202 |
|
203 |
== Changelog ==
|
204 |
|
205 |
+
= 1.9.6 / 20.12.2018 =
|
206 |
+
* Added option on-off legend labels along with parts of the chart
|
207 |
+
* Small Fix Zing Charts
|
208 |
+
* Fix of exporting of tables with collapsible cells
|
209 |
+
* Fix of formula COUNTIF
|
210 |
+
* Fix of applying of format to cell value
|
211 |
+
* Styles fix for Add New Table popup
|
212 |
+
* Encode cell data before saving in db
|
213 |
+
* Removed slashes from cell after import from Spreadheets
|
214 |
+
|
215 |
+
|
216 |
+
= 1.9.5 / 12.12.2018 =
|
217 |
+
* Removed urldecode to prevent replace '+' to ' '
|
218 |
+
* Added compability with tables-generator-pro
|
219 |
+
* Fix of SUBSTITUTE formula
|
220 |
+
* Fix of TEXT formula
|
221 |
+
* Work with woo plugin addon
|
222 |
+
* Improved vendor file to compability with other possible addons
|
223 |
+
* Removed unused css
|
224 |
+
* Add of ability to search tables in admin area by id
|
225 |
+
* Add "Mark Last Edited Cell" option
|
226 |
+
* Fixed Google Charts tooltip flickering
|
227 |
+
* Add Global Page Search Form for multiple searching by all tables on page
|
228 |
+
* Fix of integration with Contact Form by Supsystiс
|
229 |
+
* Fix of displaying error if ZipArchive extension is not enabled
|
230 |
+
* Fix of localization of tables' list in admin area
|
231 |
+
* Fix of exporting table to PDF
|
232 |
+
* Fixed fatal error (controller name creation)
|
233 |
+
* Fix of displaying of inserted images in table cells
|
234 |
+
* Fix of dates formatting after automatic import from Google Sheet if Server Side Processing is enabled
|
235 |
+
* Add of shortcode param "search" to preset the search value for table
|
236 |
+
* Fix of exporting of tables with hidden cells to PDF
|
237 |
+
* Fix of displaying of message if export from Google Spreadsheets is denied
|
238 |
+
* Add ability to show full images in lightbox for table images
|
239 |
+
* add new screenshot
|
240 |
+
* Fix of applying of table events for tables with pagination and search features, if Server-side Processing is enabled
|
241 |
+
* Fixed compability free plugin with woo pro addon.
|
242 |
+
* minify numeral.min.js
|
243 |
+
* Added multy products functional
|
244 |
+
* Fix of searching by columns
|
245 |
+
* Fixed cloned table with woo addon data
|
246 |
+
* Fix of exporting of tables with hidden cells to PDF
|
247 |
+
* Fix of using of frontend fields in tables with fixed header / footer / columns
|
248 |
+
* Added server side processing for woo addon
|
249 |
+
* Fix of exporting tables with hidden cells to MS Excel
|
250 |
+
* Fixed woo addon bugs
|
251 |
+
* Fixed javascript error for tables with merged cells
|
252 |
+
* Fixed pagination with 'all' parametr. Fixed draw() table after search event
|
253 |
+
* Fixed add to cart with ssp
|
254 |
+
* Fix of applying of condition formatting
|
255 |
+
* Fixed preview and css
|
256 |
+
* Fix of exporting table to PDF and Excel
|
257 |
+
* Fixed column search
|
258 |
+
* Add advertise for Woo Addon
|
259 |
+
|
260 |
+
= 1.9.4 / 06.11.2018 =
|
261 |
+
* Started integtate woo products in plugin
|
262 |
+
* Add position for column search fields
|
263 |
+
* Fix compatibility with old version of Contact Form plugin
|
264 |
+
|
265 |
= 1.9.3 / 01.11.2018 =
|
266 |
* Add integration with Contact Form by Supsystic
|
267 |
* Fix of merging cells for fixed rows / columns. Small code fix and improvement
|
screenshot-4.png
ADDED
Binary file
|
src/SupsysticTables/Core/ModelsFactory.php
CHANGED
@@ -31,7 +31,7 @@ class SupsysticTables_Core_ModelsFactory
|
|
31 |
{
|
32 |
$className = $this->getClassName($model, $module);
|
33 |
|
34 |
-
if (!class_exists($className) && $this->environment->isPro()) {
|
35 |
$className = $this->getClassName(
|
36 |
$model,
|
37 |
$module,
|
@@ -39,6 +39,14 @@ class SupsysticTables_Core_ModelsFactory
|
|
39 |
);
|
40 |
}
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
if (!class_exists($className)) {
|
43 |
throw new InvalidArgumentException(
|
44 |
sprintf('Cant find class for model %s', $model)
|
31 |
{
|
32 |
$className = $this->getClassName($model, $module);
|
33 |
|
34 |
+
if (!class_exists($className) && $this->environment->isPro() ) {
|
35 |
$className = $this->getClassName(
|
36 |
$model,
|
37 |
$module,
|
39 |
);
|
40 |
}
|
41 |
|
42 |
+
if (!class_exists($className) && $this->environment->isWooPro()) {
|
43 |
+
$className = $this->getClassName(
|
44 |
+
$model,
|
45 |
+
$module,
|
46 |
+
$this->environment->getConfig()->get('pro_woo_modules_prefix')
|
47 |
+
);
|
48 |
+
}
|
49 |
+
|
50 |
if (!class_exists($className)) {
|
51 |
throw new InvalidArgumentException(
|
52 |
sprintf('Cant find class for model %s', $model)
|
src/SupsysticTables/Core/Module.php
CHANGED
@@ -65,6 +65,7 @@ class SupsysticTables_Core_Module extends SupsysticTables_Core_BaseModule
|
|
65 |
);
|
66 |
if(is_admin()) {
|
67 |
$jsData['isPro'] = $environment->isPro();
|
|
|
68 |
}
|
69 |
wp_localize_script('jquery', 'SDT_DATA', $jsData);
|
70 |
}
|
@@ -243,8 +244,10 @@ class SupsysticTables_Core_Module extends SupsysticTables_Core_BaseModule
|
|
243 |
);
|
244 |
|
245 |
if ($environment->isAction('index')) {
|
246 |
-
|
247 |
$locale = $environment->getLangCode2Letter();
|
|
|
|
|
248 |
$ui->add(
|
249 |
$ui->createStyle('jqgrid-css')
|
250 |
->setHookName($hookName)
|
@@ -253,17 +256,17 @@ class SupsysticTables_Core_Module extends SupsysticTables_Core_BaseModule
|
|
253 |
->setVersion('4.7.0')
|
254 |
);
|
255 |
$ui->add(
|
256 |
-
$ui->createScript('jquery-jqGrid')
|
257 |
->setHookName($hookName)
|
258 |
-
->setLocalSource('js/
|
259 |
->addDependency('jquery')
|
260 |
->setCachingAllowed($cachingAllowed)
|
261 |
->setVersion($pluginVersion)
|
262 |
);
|
263 |
$ui->add(
|
264 |
-
$ui->createScript('jquery-jqGrid
|
265 |
->setHookName($hookName)
|
266 |
-
->setLocalSource('js/
|
267 |
->addDependency('jquery')
|
268 |
->setCachingAllowed($cachingAllowed)
|
269 |
->setVersion($pluginVersion)
|
@@ -368,6 +371,8 @@ class SupsysticTables_Core_Module extends SupsysticTables_Core_BaseModule
|
|
368 |
if (array_key_exists('action', $route)) {
|
369 |
$actionName = $route['action'] . 'Action';
|
370 |
}
|
|
|
|
|
371 |
$module = $environment->getModule($moduleName);
|
372 |
|
373 |
if (!$module) {
|
65 |
);
|
66 |
if(is_admin()) {
|
67 |
$jsData['isPro'] = $environment->isPro();
|
68 |
+
$jsData['isWooPro'] = $environment->isWooPro();
|
69 |
}
|
70 |
wp_localize_script('jquery', 'SDT_DATA', $jsData);
|
71 |
}
|
244 |
);
|
245 |
|
246 |
if ($environment->isAction('index')) {
|
247 |
+
$appAssetsPath = plugin_dir_path(dirname(dirname(dirname(__FILE__)))).'app/assets/';
|
248 |
$locale = $environment->getLangCode2Letter();
|
249 |
+
$locale = file_exists($appAssetsPath.'js/i18n/grid.locale-'.$locale.'.js') ? $locale : 'en';
|
250 |
+
|
251 |
$ui->add(
|
252 |
$ui->createStyle('jqgrid-css')
|
253 |
->setHookName($hookName)
|
256 |
->setVersion('4.7.0')
|
257 |
);
|
258 |
$ui->add(
|
259 |
+
$ui->createScript('jquery-jqGrid-locale')
|
260 |
->setHookName($hookName)
|
261 |
+
->setLocalSource('js/i18n/grid.locale-'.$locale.'.js')
|
262 |
->addDependency('jquery')
|
263 |
->setCachingAllowed($cachingAllowed)
|
264 |
->setVersion($pluginVersion)
|
265 |
);
|
266 |
$ui->add(
|
267 |
+
$ui->createScript('jquery-jqGrid')
|
268 |
->setHookName($hookName)
|
269 |
+
->setLocalSource('js/libraries/jqGrid/jquery.jqGrid.min.js')
|
270 |
->addDependency('jquery')
|
271 |
->setCachingAllowed($cachingAllowed)
|
272 |
->setVersion($pluginVersion)
|
371 |
if (array_key_exists('action', $route)) {
|
372 |
$actionName = $route['action'] . 'Action';
|
373 |
}
|
374 |
+
|
375 |
+
|
376 |
$module = $environment->getModule($moduleName);
|
377 |
|
378 |
if (!$module) {
|
src/SupsysticTables/Core/assets/js/core.js
CHANGED
@@ -2,12 +2,14 @@ if(typeof(SDT_DATA) == 'undefined') {
|
|
2 |
var SDT_DATA = {};
|
3 |
}
|
4 |
var g_stbServerSideProcessing = false;
|
|
|
5 |
|
6 |
(function (vendor, $, window) {
|
7 |
|
8 |
var appName = 'Tables';
|
9 |
var dataTableInstances = [];
|
10 |
var ruleJSInstances = [];
|
|
|
11 |
|
12 |
if (!(appName in vendor)) {
|
13 |
vendor[appName] = {};
|
@@ -16,6 +18,10 @@ var g_stbServerSideProcessing = false;
|
|
16 |
return appName;
|
17 |
});
|
18 |
|
|
|
|
|
|
|
|
|
19 |
vendor[appName].getParameterByName = (function(name) {
|
20 |
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
|
21 |
|
@@ -208,7 +214,7 @@ var g_stbServerSideProcessing = false;
|
|
208 |
searching: false,
|
209 |
stateSave: false,
|
210 |
api: true,
|
211 |
-
retrieve: true,
|
212 |
initComplete: callback,
|
213 |
headerCallback: function( thead, data, start, end, display ) {
|
214 |
$(thead).closest('thead').find('th').each(function() {
|
@@ -285,6 +291,9 @@ var g_stbServerSideProcessing = false;
|
|
285 |
var featureName = this.replace(/[-_]([a-z])/g, function (g) { return g[1].toUpperCase(); });
|
286 |
config[featureName] = true;
|
287 |
});
|
|
|
|
|
|
|
288 |
if (toeInArray('searching', features) != -1 && searchingSettings) {
|
289 |
if (searchingSettings.minChars > 0 ||
|
290 |
searchingSettings.resultOnly ||
|
@@ -353,18 +362,31 @@ var g_stbServerSideProcessing = false;
|
|
353 |
}
|
354 |
});
|
355 |
}
|
356 |
-
|
357 |
-
var
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
}
|
367 |
-
|
|
|
|
|
368 |
}
|
369 |
}
|
370 |
}
|
@@ -604,7 +626,10 @@ var g_stbServerSideProcessing = false;
|
|
604 |
return (input.length ? input.val() : '');
|
605 |
},
|
606 |
header: headerRowsCount,
|
607 |
-
footer: footerRowsCount
|
|
|
|
|
|
|
608 |
dataFilter: function(data){
|
609 |
var json = jQuery.parseJSON(data),
|
610 |
rows = $(json.rows).find('tr'),
|
@@ -628,6 +653,7 @@ var g_stbServerSideProcessing = false;
|
|
628 |
}
|
629 |
json.rows = '';
|
630 |
json.data = aData;
|
|
|
631 |
return JSON.stringify(json);
|
632 |
}
|
633 |
},
|
@@ -638,7 +664,7 @@ var g_stbServerSideProcessing = false;
|
|
638 |
});
|
639 |
}
|
640 |
}
|
641 |
-
}
|
642 |
if(typeof(config.aoColumnDefs) == 'undefined') {
|
643 |
config.aoColumnDefs = [];
|
644 |
}
|
@@ -688,11 +714,11 @@ var g_stbServerSideProcessing = false;
|
|
688 |
}
|
689 |
});
|
690 |
}
|
691 |
-
}
|
692 |
});
|
693 |
}
|
694 |
$table.trigger('beforeInitializeTable', $table);
|
695 |
-
|
696 |
tableInstance.table_id = $table.data('id');
|
697 |
tableInstance.table_view_id = $table.data('view-id');
|
698 |
tableInstance.fnFakeRowspan();
|
@@ -702,8 +728,13 @@ var g_stbServerSideProcessing = false;
|
|
702 |
$('.dataTables_processing').css('z-index', '10');
|
703 |
} else {
|
704 |
self.setColumnSearch($table);
|
705 |
-
}
|
706 |
-
|
|
|
|
|
|
|
|
|
|
|
707 |
if(addInstance) {
|
708 |
this.setTableInstance(tableInstance);
|
709 |
}
|
@@ -747,31 +778,27 @@ var g_stbServerSideProcessing = false;
|
|
747 |
// Set formats
|
748 |
self.formatDataAtTable($table, true);
|
749 |
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
}, 50);
|
755 |
-
});
|
756 |
|
757 |
// Show comments on tap
|
758 |
if ('ontouchstart' in window || navigator.msMaxTouchPoints) {
|
759 |
$table.parents('.supsystic-tables-wrap:first').find('td, th').on('click', self.applyMobileTableComments);
|
760 |
-
$table.on('page.dt', function() {
|
761 |
-
var tbl = $(this);
|
762 |
-
setTimeout(function() {
|
763 |
-
tbl.parents('.supsystic-tables-wrap:first').find('td, th').on('click', self.applyMobileTableComments);
|
764 |
-
}, 50);
|
765 |
-
});
|
766 |
}
|
767 |
|
768 |
// Prepare Contact Form by Supsystic buttons
|
769 |
$table.parents('.supsystic-tables-wrap:first').find('th, td').each(self._contactFormBtnCellClb);
|
|
|
|
|
770 |
$table.on('page.dt', function() {
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
|
|
|
|
775 |
});
|
776 |
|
777 |
// Frontend fields
|
@@ -835,7 +862,11 @@ var g_stbServerSideProcessing = false;
|
|
835 |
tBody.removeStyle('border-bottom');
|
836 |
}
|
837 |
if(g_stbServerSideProcessing) {
|
838 |
-
|
|
|
|
|
|
|
|
|
839 |
}
|
840 |
}).trigger('resize');
|
841 |
|
@@ -848,11 +879,11 @@ var g_stbServerSideProcessing = false;
|
|
848 |
$(window).trigger('resize');
|
849 |
}, 200);
|
850 |
}
|
851 |
-
$tHeadTable = $tableWrap.find('.dataTables_scrollHead .supsystic-table');
|
852 |
if($tHeadTable.length) {
|
853 |
self.formatDataAtTable($tHeadTable, true);
|
854 |
}
|
855 |
-
|
856 |
if($tFootTable.length) {
|
857 |
self.formatDataAtTable($tFootTable, true);
|
858 |
}
|
@@ -937,7 +968,7 @@ var g_stbServerSideProcessing = false;
|
|
937 |
if(responsiveMode === 0 || responsiveMode === 2) {
|
938 |
$(window).trigger('resize');
|
939 |
}
|
940 |
-
}).trigger('draw.dt');
|
941 |
}
|
942 |
|
943 |
function b64DecodeUnicode(str) {
|
@@ -947,6 +978,37 @@ var g_stbServerSideProcessing = false;
|
|
947 |
}
|
948 |
});
|
949 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
950 |
vendor[appName].applyMobileTableComments = function(e) {
|
951 |
var $elem = $(this),
|
952 |
title = $elem.attr('title');
|
@@ -1007,46 +1069,24 @@ var g_stbServerSideProcessing = false;
|
|
1007 |
});
|
1008 |
|
1009 |
vendor[appName].setColumnSearch = (function(table) {
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
-
|
1014 |
-
if(inputs.length == 0) {
|
1015 |
return;
|
1016 |
-
|
1017 |
-
|
1018 |
-
|
1019 |
-
|
1020 |
-
|
1021 |
-
|
1022 |
-
|
1023 |
-
|
1024 |
-
|
1025 |
-
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
self = vendor[appName];
|
1031 |
-
|
1032 |
-
if(leftTable.length) {
|
1033 |
-
var leftFoot = div.find('.DTFC_LeftFootWrapper').find('table'),
|
1034 |
-
leftInputs = (leftFoot.length == 0 ? leftTable.find('tfoot tr:last input') : leftFoot.eq(0).find('tfoot tr:last input'));
|
1035 |
-
|
1036 |
-
leftInputs.each( function (colIdx) {
|
1037 |
-
self.setCopyEvents(this, inputs.eq(colIdx).data('events'));
|
1038 |
-
});
|
1039 |
-
}
|
1040 |
-
if(rightTable.length) {
|
1041 |
-
var rightFoot = div.find('.DTFC_RightFootWrapper').find('table'),
|
1042 |
-
rightInputs = (rightFoot.length == 0 ? rightTable.find('tfoot tr:last input') : rightFoot.eq(0).find('tfoot tr:last input')),
|
1043 |
-
cntRight = rightInputs.length,
|
1044 |
-
cntInputs = inputs.length;
|
1045 |
-
|
1046 |
-
rightInputs.each( function (colIdx) {
|
1047 |
-
self.setCopyEvents(this, inputs.eq(cntInputs - cntRight + colIdx).data('events'));
|
1048 |
-
});
|
1049 |
-
}
|
1050 |
});
|
1051 |
|
1052 |
vendor[appName].setCopyEvents = (function(obj, events) {
|
@@ -1116,14 +1156,15 @@ var g_stbServerSideProcessing = false;
|
|
1116 |
generalCurrencyFormat = table.data('currency-format'),
|
1117 |
generalPercentFormat = table.data('percent-format'),
|
1118 |
generalDateFormat = table.data('date-format'),
|
1119 |
-
generalTimeFormat = table.data('time-format')
|
1120 |
-
skipFirstCol = table.data('auto-index') != 'off',
|
1121 |
-
hasCollapsedCells = table.data('responsive-mode') == 1 && table.hasClass('collapsed');
|
1122 |
|
1123 |
table.find('th, td').each(function(index, el) {
|
1124 |
var $this = $(this);
|
1125 |
|
1126 |
-
if((
|
|
|
|
|
|
|
1127 |
// Break current .each iteration
|
1128 |
return;
|
1129 |
}
|
@@ -1169,8 +1210,10 @@ var g_stbServerSideProcessing = false;
|
|
1169 |
$this.data('order',value);
|
1170 |
$this.attr('data-order',value);
|
1171 |
|
1172 |
-
|
1173 |
-
|
|
|
|
|
1174 |
}
|
1175 |
break;
|
1176 |
case 'time_duration':
|
@@ -1198,8 +1241,10 @@ var g_stbServerSideProcessing = false;
|
|
1198 |
$this.data('order',value);
|
1199 |
$this.attr('data-order',value);
|
1200 |
|
1201 |
-
|
1202 |
-
|
|
|
|
|
1203 |
}
|
1204 |
break;
|
1205 |
default:
|
2 |
var SDT_DATA = {};
|
3 |
}
|
4 |
var g_stbServerSideProcessing = false;
|
5 |
+
var g_stbServerSideProcessingIsActive = false;
|
6 |
|
7 |
(function (vendor, $, window) {
|
8 |
|
9 |
var appName = 'Tables';
|
10 |
var dataTableInstances = [];
|
11 |
var ruleJSInstances = [];
|
12 |
+
var extraConfig = {};
|
13 |
|
14 |
if (!(appName in vendor)) {
|
15 |
vendor[appName] = {};
|
18 |
return appName;
|
19 |
});
|
20 |
|
21 |
+
vendor[appName].setExtraConfig = (function(param, value) {
|
22 |
+
extraConfig[param] = value;
|
23 |
+
});
|
24 |
+
|
25 |
vendor[appName].getParameterByName = (function(name) {
|
26 |
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
|
27 |
|
214 |
searching: false,
|
215 |
stateSave: false,
|
216 |
api: true,
|
217 |
+
retrieve: true,
|
218 |
initComplete: callback,
|
219 |
headerCallback: function( thead, data, start, end, display ) {
|
220 |
$(thead).closest('thead').find('th').each(function() {
|
291 |
var featureName = this.replace(/[-_]([a-z])/g, function (g) { return g[1].toUpperCase(); });
|
292 |
config[featureName] = true;
|
293 |
});
|
294 |
+
if($table.data('search-value') && !config['searching']) {
|
295 |
+
config['searching'] = true;
|
296 |
+
}
|
297 |
if (toeInArray('searching', features) != -1 && searchingSettings) {
|
298 |
if (searchingSettings.minChars > 0 ||
|
299 |
searchingSettings.resultOnly ||
|
362 |
}
|
363 |
});
|
364 |
}
|
365 |
+
if (searchingSettings.columnSearch) {
|
366 |
+
var inputTop = (searchingSettings.columnSearchPosition && searchingSettings.columnSearchPosition == 'top'),
|
367 |
+
tPosition = inputTop ? 'thead' : 'tfoot';
|
368 |
+
if(!$table.find('.stbColumnsSearchWrapper').length) {
|
369 |
+
var headerRow = $table.find('thead tr:first').find('th');
|
370 |
+
if(headerRow.length) {
|
371 |
+
var searchRow = '<tr class="stbColumnsSearchWrapper">',
|
372 |
+
func = inputTop ? 'prepend' : 'append';
|
373 |
+
|
374 |
+
for (var i = 0; i < headerRow.length; i++) {
|
375 |
+
var style = '';
|
376 |
+
if(!g_stbServerSideProcessing){
|
377 |
+
var style = $(headerRow[i]).is(':visible') ? '' : 'style="display: none;"';
|
378 |
+
}
|
379 |
+
searchRow += '<th ' + style + '><input class="search-column" type="text" /></th>';
|
380 |
+
}
|
381 |
+
searchRow += '</tr>';
|
382 |
+
if($table.find(tPosition).length == 0) {
|
383 |
+
$table.append($('<' + tPosition + '>'));
|
384 |
+
}
|
385 |
+
$table.find(tPosition)[func](searchRow);
|
386 |
}
|
387 |
+
}
|
388 |
+
if($table.data('auto-index') !== 'off'){
|
389 |
+
$('.stbColumnsSearchWrapper th:first-child input').css({'visibility':'hidden'});
|
390 |
}
|
391 |
}
|
392 |
}
|
626 |
return (input.length ? input.val() : '');
|
627 |
},
|
628 |
header: headerRowsCount,
|
629 |
+
footer: footerRowsCount,
|
630 |
+
beforeSend: function() {
|
631 |
+
g_stbServerSideProcessingIsActive = true;
|
632 |
+
}},
|
633 |
dataFilter: function(data){
|
634 |
var json = jQuery.parseJSON(data),
|
635 |
rows = $(json.rows).find('tr'),
|
653 |
}
|
654 |
json.rows = '';
|
655 |
json.data = aData;
|
656 |
+
g_stbServerSideProcessingIsActive = false;
|
657 |
return JSON.stringify(json);
|
658 |
}
|
659 |
},
|
664 |
});
|
665 |
}
|
666 |
}
|
667 |
+
};
|
668 |
if(typeof(config.aoColumnDefs) == 'undefined') {
|
669 |
config.aoColumnDefs = [];
|
670 |
}
|
714 |
}
|
715 |
});
|
716 |
}
|
717 |
+
}
|
718 |
});
|
719 |
}
|
720 |
$table.trigger('beforeInitializeTable', $table);
|
721 |
+
tableInstance = $table.dataTable($.extend({}, defaultFeatures, config, extraConfig, ajaxSource, reinit));
|
722 |
tableInstance.table_id = $table.data('id');
|
723 |
tableInstance.table_view_id = $table.data('view-id');
|
724 |
tableInstance.fnFakeRowspan();
|
728 |
$('.dataTables_processing').css('z-index', '10');
|
729 |
} else {
|
730 |
self.setColumnSearch($table);
|
731 |
+
}
|
732 |
+
$table.on('draw.dt', function(){
|
733 |
+
var searching = $table.data('searching-settings');
|
734 |
+
if(searching && ('columnSearch' in searching) && searching.columnSearch == 'on') {
|
735 |
+
self.setColumnSearch($table);
|
736 |
+
}
|
737 |
+
});
|
738 |
if(addInstance) {
|
739 |
this.setTableInstance(tableInstance);
|
740 |
}
|
778 |
// Set formats
|
779 |
self.formatDataAtTable($table, true);
|
780 |
|
781 |
+
// Apply shortcode param "search"
|
782 |
+
if($table.data('search-value')) {
|
783 |
+
$table.api().search($table.data('search-value')).draw();
|
784 |
+
}
|
|
|
|
|
785 |
|
786 |
// Show comments on tap
|
787 |
if ('ontouchstart' in window || navigator.msMaxTouchPoints) {
|
788 |
$table.parents('.supsystic-tables-wrap:first').find('td, th').on('click', self.applyMobileTableComments);
|
|
|
|
|
|
|
|
|
|
|
|
|
789 |
}
|
790 |
|
791 |
// Prepare Contact Form by Supsystic buttons
|
792 |
$table.parents('.supsystic-tables-wrap:first').find('th, td').each(self._contactFormBtnCellClb);
|
793 |
+
|
794 |
+
// Page change callback
|
795 |
$table.on('page.dt', function() {
|
796 |
+
if(g_stbServerSideProcessing) {
|
797 |
+
g_stbServerSideProcessingIsActive = true;
|
798 |
+
}
|
799 |
+
var table = $(this),
|
800 |
+
tableSelector = '#supsystic-table-' + table.data('view-id') + ' #supsystic-table-' + table.data('id');
|
801 |
+
self.applyTableEventClb(self.pageEvent, 50, tableSelector);
|
802 |
});
|
803 |
|
804 |
// Frontend fields
|
862 |
tBody.removeStyle('border-bottom');
|
863 |
}
|
864 |
if(g_stbServerSideProcessing) {
|
865 |
+
if(typeof self.getTableInstanceById(viewId).fnAdjustColumnSizing == 'function' ) {
|
866 |
+
setTimeout(function(){
|
867 |
+
self.getTableInstanceById(table.data('id')).fnAdjustColumnSizing(false);
|
868 |
+
}, 350);
|
869 |
+
}
|
870 |
}
|
871 |
}).trigger('resize');
|
872 |
|
879 |
$(window).trigger('resize');
|
880 |
}, 200);
|
881 |
}
|
882 |
+
var $tHeadTable = $tableWrap.find('.dataTables_scrollHead .supsystic-table');
|
883 |
if($tHeadTable.length) {
|
884 |
self.formatDataAtTable($tHeadTable, true);
|
885 |
}
|
886 |
+
var $tFootTable = $tableWrap.find('.dataTables_scrollFoot .supsystic-table');
|
887 |
if($tFootTable.length) {
|
888 |
self.formatDataAtTable($tFootTable, true);
|
889 |
}
|
968 |
if(responsiveMode === 0 || responsiveMode === 2) {
|
969 |
$(window).trigger('resize');
|
970 |
}
|
971 |
+
}).trigger('draw.dt');
|
972 |
}
|
973 |
|
974 |
function b64DecodeUnicode(str) {
|
978 |
}
|
979 |
});
|
980 |
|
981 |
+
vendor[appName].applyTableEventClb = (function(clb, timeout, tableSelector) {
|
982 |
+
timeout = timeout ? timeout : 0;
|
983 |
+
var self = this,
|
984 |
+
args = Array.from(arguments);
|
985 |
+
|
986 |
+
if(g_stbServerSideProcessing && g_stbServerSideProcessingIsActive) {
|
987 |
+
setTimeout(function() {
|
988 |
+
self.applyTableEventClb.apply(self, args);
|
989 |
+
}, 50);
|
990 |
+
} else {
|
991 |
+
if(typeof clb == 'function') {
|
992 |
+
args = args.slice(2);
|
993 |
+
setTimeout(function() {
|
994 |
+
clb.apply(self, args);
|
995 |
+
}, timeout);
|
996 |
+
}
|
997 |
+
}
|
998 |
+
});
|
999 |
+
|
1000 |
+
vendor[appName].pageEvent = (function(tableSelector) {
|
1001 |
+
var table = $(tableSelector),
|
1002 |
+
tableWrapper = table.parents('.supsystic-tables-wrap:first');
|
1003 |
+
|
1004 |
+
this.getRuleJSInstance(table).init();
|
1005 |
+
this.formatDataAtTable(table, true);
|
1006 |
+
if ('ontouchstart' in window || navigator.msMaxTouchPoints) {
|
1007 |
+
tableWrapper.find('td, th').on('click', this.applyMobileTableComments);
|
1008 |
+
}
|
1009 |
+
tableWrapper.find('td, th').each(this._contactFormBtnCellClb);
|
1010 |
+
});
|
1011 |
+
|
1012 |
vendor[appName].applyMobileTableComments = function(e) {
|
1013 |
var $elem = $(this),
|
1014 |
title = $elem.attr('title');
|
1069 |
});
|
1070 |
|
1071 |
vendor[appName].setColumnSearch = (function(table) {
|
1072 |
+
var searchingSettings = table.data('searching-settings'),
|
1073 |
+
inputs = table.parents('.dataTables_wrapper:first').find('.stbColumnsSearchWrapper .search-column');
|
1074 |
+
if(inputs.length == 0) {
|
|
|
|
|
1075 |
return;
|
1076 |
+
}
|
1077 |
+
$(document).off('keyup change', ".dataTables_wrapper:first .stbColumnsSearchWrapper .search-column")
|
1078 |
+
.on('keyup change', ".dataTables_wrapper:first .stbColumnsSearchWrapper .search-column",function () {
|
1079 |
+
var input = $(this),
|
1080 |
+
position = input.parents('th:first').index(),
|
1081 |
+
value = this.value,
|
1082 |
+
column = table.api().column(position);
|
1083 |
+
if (column.search() !== value) {
|
1084 |
+
column.search(value.replace(/;/g, "|"), true, false).draw();
|
1085 |
+
setTimeout(function() {
|
1086 |
+
column.draw();
|
1087 |
+
}, 50);
|
1088 |
+
}
|
1089 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1090 |
});
|
1091 |
|
1092 |
vendor[appName].setCopyEvents = (function(obj, events) {
|
1156 |
generalCurrencyFormat = table.data('currency-format'),
|
1157 |
generalPercentFormat = table.data('percent-format'),
|
1158 |
generalDateFormat = table.data('date-format'),
|
1159 |
+
generalTimeFormat = table.data('time-format');
|
|
|
|
|
1160 |
|
1161 |
table.find('th, td').each(function(index, el) {
|
1162 |
var $this = $(this);
|
1163 |
|
1164 |
+
if((table.data('auto-index') != 'off' && $this.is(':first-child'))
|
1165 |
+
|| (table.data('responsive-mode') == 1 && table.hasClass('collapsed') && $this.hasClass('child'))
|
1166 |
+
|| $this.find('.search-column').length
|
1167 |
+
) {
|
1168 |
// Break current .each iteration
|
1169 |
return;
|
1170 |
}
|
1210 |
$this.data('order',value);
|
1211 |
$this.attr('data-order',value);
|
1212 |
|
1213 |
+
if(!g_stbServerSideProcessing) {
|
1214 |
+
$this.data('cell-reformat',false);
|
1215 |
+
$this.attr('data-cell-reformat',0);
|
1216 |
+
}
|
1217 |
}
|
1218 |
break;
|
1219 |
case 'time_duration':
|
1241 |
$this.data('order',value);
|
1242 |
$this.attr('data-order',value);
|
1243 |
|
1244 |
+
if(!g_stbServerSideProcessing) {
|
1245 |
+
$this.data('cell-reformat',false);
|
1246 |
+
$this.attr('data-cell-reformat',0);
|
1247 |
+
}
|
1248 |
}
|
1249 |
break;
|
1250 |
default:
|
src/SupsysticTables/Core/assets/js/create-table.js
CHANGED
@@ -17,6 +17,9 @@
|
|
17 |
window.location.hash = '';
|
18 |
},
|
19 |
buttons: {
|
|
|
|
|
|
|
20 |
Create: function (event) {
|
21 |
var $button = $(event.target);
|
22 |
if($button.is('span')) $button = $button.parent();
|
@@ -59,9 +62,6 @@
|
|
59 |
$error.find('p').text(message);
|
60 |
$error.fadeIn();
|
61 |
});
|
62 |
-
},
|
63 |
-
Cancel: function () {
|
64 |
-
$dialog.dialog('close');
|
65 |
}
|
66 |
}
|
67 |
});
|
17 |
window.location.hash = '';
|
18 |
},
|
19 |
buttons: {
|
20 |
+
Cancel: function () {
|
21 |
+
$dialog.dialog('close');
|
22 |
+
},
|
23 |
Create: function (event) {
|
24 |
var $button = $(event.target);
|
25 |
if($button.is('span')) $button = $button.parent();
|
62 |
$error.find('p').text(message);
|
63 |
$error.fadeIn();
|
64 |
});
|
|
|
|
|
|
|
65 |
}
|
66 |
}
|
67 |
});
|
src/SupsysticTables/Core/assets/js/lib/jquery.dataTables.min.js
CHANGED
@@ -31,7 +31,7 @@ f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=h("<tr/>",{"class"
|
|
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],
|
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]&&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],
|
src/SupsysticTables/Core/updates/rev-61.sql
ADDED
File without changes
|
src/SupsysticTables/Settings/assets/css/settings.css
CHANGED
@@ -45,6 +45,10 @@
|
|
45 |
.table-option:last-child {
|
46 |
margin-bottom: 0;
|
47 |
}
|
|
|
|
|
|
|
|
|
48 |
.settings-list .setting .setting-description i{
|
49 |
float: inherit;
|
50 |
}
|
45 |
.table-option:last-child {
|
46 |
margin-bottom: 0;
|
47 |
}
|
48 |
+
.table-option input[type="text"] {
|
49 |
+
width: 300px;
|
50 |
+
vertical-align: middle;
|
51 |
+
}
|
52 |
.settings-list .setting .setting-description i{
|
53 |
float: inherit;
|
54 |
}
|
src/SupsysticTables/Settings/views/index.twig
CHANGED
@@ -44,11 +44,14 @@
|
|
44 |
</div>
|
45 |
<div class="setting-control">
|
46 |
<input type="checkbox" name="settings[editor_pagination]" {% if settings.editor_pagination == 'on' %} checked {% endif %}>
|
47 |
-
<
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
|
|
|
|
|
|
52 |
</div>
|
53 |
</div>
|
54 |
<div class="table-step-option table-option">
|
@@ -60,6 +63,21 @@
|
|
60 |
<input type="text" name="settings[table_step]" value="{{ settings.table_step | default(400) }}">
|
61 |
</div>
|
62 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
<div class="table-roles-option table-option">
|
64 |
<div class="setting-description">
|
65 |
<label>{{ environment.translate('Roles') }}</label>
|
@@ -77,13 +95,13 @@
|
|
77 |
<select multiple="multiple" name="settings[access_roles][]" class="chosen-select" data-placeholder="{{ environment.translate('Select avalilable roles to use tables')}}">
|
78 |
<option value="administrator" disabled selected>Administrator</option>
|
79 |
{% for role, title in wpRoles %}
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
{% endif %}
|
88 |
{% endfor %}
|
89 |
</select>
|
44 |
</div>
|
45 |
<div class="setting-control">
|
46 |
<input type="checkbox" name="settings[editor_pagination]" {% if settings.editor_pagination == 'on' %} checked {% endif %}>
|
47 |
+
<div style="margin-top: 10px;">
|
48 |
+
<input type="text"
|
49 |
+
name="settings[editor_pagination_rows]"
|
50 |
+
id="settings_editor_pagination_rows"
|
51 |
+
style="width:60px"
|
52 |
+
value="{{ settings.editor_pagination_rows | default('500') }}" />
|
53 |
+
<label for="settings_editor_pagination_rows"> {{ environment.translate('rows per page') }}</label>
|
54 |
+
</div>
|
55 |
</div>
|
56 |
</div>
|
57 |
<div class="table-step-option table-option">
|
63 |
<input type="text" name="settings[table_step]" value="{{ settings.table_step | default(400) }}">
|
64 |
</div>
|
65 |
</div>
|
66 |
+
<div class="table-global-page-search-option table-option">
|
67 |
+
<div class="setting-description">
|
68 |
+
<label>{{ environment.translate('Global Page Search Form') }}</label>
|
69 |
+
{{ tooltip.icon(environment.translate('Use this form to make global search by all tables on page'), 'top', true) }}
|
70 |
+
|
71 |
+
{% if environment.isPro() == false %}
|
72 |
+
<a target="_blank" href="{{ build_pro_url({ 'utm_medium': 'global_page_search' }) }}">
|
73 |
+
{{ environment.translate('PRO option') }}
|
74 |
+
</a>
|
75 |
+
{% endif %}
|
76 |
+
</div>
|
77 |
+
<div class="setting-control">
|
78 |
+
<input type="text" value="{{ '[supsystic-tables-global-page-search]' }}" class="stbCopyTextCode" readonly="readonly" />
|
79 |
+
</div>
|
80 |
+
</div>
|
81 |
<div class="table-roles-option table-option">
|
82 |
<div class="setting-description">
|
83 |
<label>{{ environment.translate('Roles') }}</label>
|
95 |
<select multiple="multiple" name="settings[access_roles][]" class="chosen-select" data-placeholder="{{ environment.translate('Select avalilable roles to use tables')}}">
|
96 |
<option value="administrator" disabled selected>Administrator</option>
|
97 |
{% for role, title in wpRoles %}
|
98 |
+
{% if role != 'administrator' %}
|
99 |
+
<option value="{{ role }}"
|
100 |
+
{% if role in settings.access_roles %}
|
101 |
+
selected="selected"
|
102 |
+
{% endif %}
|
103 |
+
>{{ title }}
|
104 |
+
</option>
|
105 |
{% endif %}
|
106 |
{% endfor %}
|
107 |
</select>
|
src/SupsysticTables/Tables/Controller.php
CHANGED
@@ -136,7 +136,8 @@ class SupsysticTables_Tables_Controller extends SupsysticTables_Core_BaseControl
|
|
136 |
'install_link' => admin_url('plugin-install.php?s=contact+form+by+supsystic&tab=search&type=term'),
|
137 |
'create_link' => $contactFormIsInstalled ? $contactForm->findModule('options')->getTabUrl('forms_add_new') : '',
|
138 |
'is_installed' => $contactFormIsInstalled,
|
139 |
-
'forms_list' => $contactFormIsInstalled
|
|
|
140 |
'pages_list' => $contactFormIsInstalled ? $this->getPagesListForSelect() : array(),
|
141 |
),
|
142 |
)
|
@@ -186,13 +187,11 @@ class SupsysticTables_Tables_Controller extends SupsysticTables_Core_BaseControl
|
|
186 |
*/
|
187 |
public function getPageRowsAction(Rsc_Http_Request $request)
|
188 |
{
|
189 |
-
|
190 |
$id = (int)$request->post->get('id');
|
191 |
$tables = $this->getModel('tables');
|
192 |
|
193 |
try {
|
194 |
$this->getEnvironment()->getModule('tables')->setIniLimits();
|
195 |
-
|
196 |
$start = $request->post->get('start');
|
197 |
$length = $request->post->get('length');
|
198 |
$searchAll = $request->post->get('search');
|
@@ -202,7 +201,6 @@ class SupsysticTables_Tables_Controller extends SupsysticTables_Core_BaseControl
|
|
202 |
if (isset($searchValue) && $searchValue != '') {
|
203 |
$searchAll['value'] = $searchValue;
|
204 |
}
|
205 |
-
|
206 |
$searchCols = array();
|
207 |
foreach ($columns as $j => $column) {
|
208 |
if (isset($column['search']) && isset($column['search']['value'])) {
|
@@ -220,12 +218,14 @@ class SupsysticTables_Tables_Controller extends SupsysticTables_Core_BaseControl
|
|
220 |
$orderAsc = (isset($order[0]) && isset($order[0]['dir']) && $order[0]['dir'] == 'asc');
|
221 |
$header = (int)$request->post->get('header');
|
222 |
$footer = (int)$request->post->get('footer');
|
|
|
223 |
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
|
|
229 |
$module = $this->getEnvironment()->getModule('tables');
|
230 |
$module->setIniLimits();
|
231 |
$module->setDataForPage($table);
|
@@ -538,11 +538,16 @@ class SupsysticTables_Tables_Controller extends SupsysticTables_Core_BaseControl
|
|
538 |
if (!$this->isValidTitle($title)) {
|
539 |
return $this->ajaxError($this->translate('Title can\'t be empty or more than 255 characters'));
|
540 |
}
|
541 |
-
$
|
542 |
'title' => $title,
|
543 |
'settings' => serialize($clonedTable->settings),
|
544 |
'meta' => serialize($clonedTable->meta)
|
545 |
-
)
|
|
|
|
|
|
|
|
|
|
|
546 |
$newTableMeta = $clonedTable->meta;
|
547 |
$newTableMeta['css'] = preg_replace('/#supsystic-table-(\d+)/', '#supsystic-table-' . $tableId, $clonedTable->meta['css']);
|
548 |
$tablesModel->setMeta($tableId,$newTableMeta);
|
@@ -558,7 +563,19 @@ class SupsysticTables_Tables_Controller extends SupsysticTables_Core_BaseControl
|
|
558 |
|
559 |
public function reviewNoticeResponseAction(Rsc_Http_Request $request) {
|
560 |
$responseCode = $request->post->get('responseCode');
|
561 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
562 |
|
563 |
if ($responseCode === 'later') {
|
564 |
update_option($option, array(
|
136 |
'install_link' => admin_url('plugin-install.php?s=contact+form+by+supsystic&tab=search&type=term'),
|
137 |
'create_link' => $contactFormIsInstalled ? $contactForm->findModule('options')->getTabUrl('forms_add_new') : '',
|
138 |
'is_installed' => $contactFormIsInstalled,
|
139 |
+
'forms_list' => $contactFormIsInstalled && method_exists($contactForm->getModel(), 'getAllForms')
|
140 |
+
? $contactForm->getModel()->getAllForms() : array(),
|
141 |
'pages_list' => $contactFormIsInstalled ? $this->getPagesListForSelect() : array(),
|
142 |
),
|
143 |
)
|
187 |
*/
|
188 |
public function getPageRowsAction(Rsc_Http_Request $request)
|
189 |
{
|
|
|
190 |
$id = (int)$request->post->get('id');
|
191 |
$tables = $this->getModel('tables');
|
192 |
|
193 |
try {
|
194 |
$this->getEnvironment()->getModule('tables')->setIniLimits();
|
|
|
195 |
$start = $request->post->get('start');
|
196 |
$length = $request->post->get('length');
|
197 |
$searchAll = $request->post->get('search');
|
201 |
if (isset($searchValue) && $searchValue != '') {
|
202 |
$searchAll['value'] = $searchValue;
|
203 |
}
|
|
|
204 |
$searchCols = array();
|
205 |
foreach ($columns as $j => $column) {
|
206 |
if (isset($column['search']) && isset($column['search']['value'])) {
|
218 |
$orderAsc = (isset($order[0]) && isset($order[0]['dir']) && $order[0]['dir'] == 'asc');
|
219 |
$header = (int)$request->post->get('header');
|
220 |
$footer = (int)$request->post->get('footer');
|
221 |
+
$table = $tables->getById($id);
|
222 |
|
223 |
+
if($this->getEnvironment()->isWooPro() && isset($table->woo_settings) && $table->woo_settings['woocommerce']['enable'] === 'on'){
|
224 |
+
$rows = $this->getEnvironment()->getModule('woocommerce')->getController()->getRowsByPart($id, array(), $start, $length, $searchAll['value']);
|
225 |
+
}else{
|
226 |
+
$rows = $tables->getRowsByPart($id, ($searchAll['value'] == '' ? false : $searchAll['value']), $searchCols, $orderCol, $orderAsc, $start, $length, $header, $footer, $searchParams, $table);
|
227 |
+
}
|
228 |
+
$table->rows = $rows['data'];
|
229 |
$module = $this->getEnvironment()->getModule('tables');
|
230 |
$module->setIniLimits();
|
231 |
$module->setDataForPage($table);
|
538 |
if (!$this->isValidTitle($title)) {
|
539 |
return $this->ajaxError($this->translate('Title can\'t be empty or more than 255 characters'));
|
540 |
}
|
541 |
+
$tableData = array(
|
542 |
'title' => $title,
|
543 |
'settings' => serialize($clonedTable->settings),
|
544 |
'meta' => serialize($clonedTable->meta)
|
545 |
+
);
|
546 |
+
if($this->getEnvironment()->isWooPro()){
|
547 |
+
$wooSettings = $tablesModel->getWooSettings($id);
|
548 |
+
$tableData['woo_settings'] = $wooSettings;
|
549 |
+
}
|
550 |
+
$tableId = $tablesModel->add($tableData);
|
551 |
$newTableMeta = $clonedTable->meta;
|
552 |
$newTableMeta['css'] = preg_replace('/#supsystic-table-(\d+)/', '#supsystic-table-' . $tableId, $clonedTable->meta['css']);
|
553 |
$tablesModel->setMeta($tableId,$newTableMeta);
|
563 |
|
564 |
public function reviewNoticeResponseAction(Rsc_Http_Request $request) {
|
565 |
$responseCode = $request->post->get('responseCode');
|
566 |
+
$responseType = $request->post->get('responseType');
|
567 |
+
|
568 |
+
$optionname = 'reviewNotice';
|
569 |
+
switch ( $responseType ){
|
570 |
+
case 'wooads':
|
571 |
+
$optionname = 'wooAdsNotice';
|
572 |
+
break;
|
573 |
+
case 'stars':
|
574 |
+
$optionname = 'reviewNotice';
|
575 |
+
break;
|
576 |
+
}
|
577 |
+
|
578 |
+
$option = $this->getConfig()->get('db_prefix') . $optionname;
|
579 |
|
580 |
if ($responseCode === 'later') {
|
581 |
update_option($option, array(
|
src/SupsysticTables/Tables/Model/Tables.php
CHANGED
@@ -48,21 +48,7 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
48 |
$limitStart = isset($params['limitStart']) ? $params['limitStart'] : '';
|
49 |
$search = isset($params['search']) ? $params['search'] : '';
|
50 |
|
51 |
-
|
52 |
-
// $isSearch = $request->get_param('_search');
|
53 |
-
// if($isSearch) {
|
54 |
-
// $searchField = trim($request->get_param('searchField'));
|
55 |
-
// $searchString = trim($request->get_param('searchString'));
|
56 |
-
// if(!empty($searchField) && !empty($searchString)) {
|
57 |
-
// // For some cases - we will need to modify search keys and/or values before put it to the model
|
58 |
-
// $model->addWhere(array(
|
59 |
-
// $this->_prepareSearchField($searchField) => $this->_prepareSearchString($searchString)
|
60 |
-
// ));
|
61 |
-
// }
|
62 |
-
// }
|
63 |
-
|
64 |
-
|
65 |
-
$query = $this->getQueryBuilder()->select('*')
|
66 |
->from($this->db->prefix . 'supsystic_tbl_tables')
|
67 |
->orderBy($orderBy)
|
68 |
->order($sortOrder)
|
@@ -76,11 +62,11 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
76 |
if(empty($v)) continue;
|
77 |
if($k == 'text_like') {
|
78 |
if(!empty($v)) {
|
79 |
-
$query->where( 'title', 'LIKE', '%'.$v.'%' );
|
80 |
|
81 |
}
|
82 |
} else {
|
83 |
-
$query->where( 'title', '=', '%'.$v.'%' );
|
84 |
}
|
85 |
}
|
86 |
}
|
@@ -425,12 +411,20 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
425 |
public function getNeededRows($id, &$settings, $isSSP, $all = false)
|
426 |
{
|
427 |
$source = ($this->environment->isPro() && isset($settings['source']) ? $settings['source'] : '');
|
428 |
-
|
429 |
if (isset($source['database']) && $source['database'] == 'on' && isset($source['dbTable'])){
|
430 |
$core = $this->environment->getModule('core');
|
431 |
$dbTableModel = $core->getModelsFactory()->get('DBTables', 'tables');
|
432 |
return $dbTableModel->getRowsData($settings);
|
433 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
434 |
if (!$all && $isSSP) {
|
435 |
$cntHead = 1;
|
436 |
$footers = array();
|
@@ -446,6 +440,7 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
446 |
}
|
447 |
return array_merge($headers, $footers);
|
448 |
}
|
|
|
449 |
return $this->getRows($id);
|
450 |
}
|
451 |
|
@@ -522,7 +517,7 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
522 |
* Calc rows for AJAX page
|
523 |
* @return array
|
524 |
*/
|
525 |
-
public function getRowsByPart($id, $searchAll, $searchCols, $orderCol, $orderAsc, $start, $length, $header, $footer, $searchParams)
|
526 |
{
|
527 |
$sort = $orderCol !== false;
|
528 |
$sorter = array();
|
@@ -548,7 +543,14 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
548 |
if ($rawData) {
|
549 |
$recordsFiltered = $recordsTotal;
|
550 |
$offset = $header + $start;
|
551 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
552 |
$query->limit($limit)->offset($offset);
|
553 |
} else {
|
554 |
$offset = $bodyStart;
|
@@ -557,15 +559,21 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
557 |
do {
|
558 |
$query->offset($offset);
|
559 |
$rows = $this->db->get_results($query->build());
|
|
|
560 |
if($this->db->last_error) {
|
561 |
throw new RuntimeException($this->db->last_error);
|
562 |
}
|
563 |
|
564 |
foreach ($rows as $i => $row) {
|
565 |
$values = $this->prepareRowsData(@unserialize($row->data), false);
|
|
|
566 |
$cells = $values['cells'];
|
567 |
$filterCols = true;
|
|
|
568 |
foreach ($searchCols as $j => $s) {
|
|
|
|
|
|
|
569 |
if (!$this->searchInValue($cells[$j]['data'], $s)) {
|
570 |
$filterCols = false;
|
571 |
break;
|
@@ -871,6 +879,9 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
871 |
if(!empty($table->history_settings)) {
|
872 |
$table->historySettings = unserialize(htmlspecialchars_decode($table->history_settings));
|
873 |
}
|
|
|
|
|
|
|
874 |
|
875 |
return $table;
|
876 |
}
|
@@ -1123,4 +1134,16 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
1123 |
{
|
1124 |
return $this->getTableHistoryModel()->setHistorySettings($id, $settings);
|
1125 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1126 |
}
|
48 |
$limitStart = isset($params['limitStart']) ? $params['limitStart'] : '';
|
49 |
$search = isset($params['search']) ? $params['search'] : '';
|
50 |
|
51 |
+
$query = $this->getQueryBuilder()->select('id,title')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
->from($this->db->prefix . 'supsystic_tbl_tables')
|
53 |
->orderBy($orderBy)
|
54 |
->order($sortOrder)
|
62 |
if(empty($v)) continue;
|
63 |
if($k == 'text_like') {
|
64 |
if(!empty($v)) {
|
65 |
+
$query->where( 'title', 'LIKE', '%'.$v.'%' )->orWhere( 'id', 'LIKE', '%'.$v.'%' );
|
66 |
|
67 |
}
|
68 |
} else {
|
69 |
+
$query->where( 'title', '=', '%'.$v.'%' )->orWhere( 'id', 'LIKE', '%'.$v.'%' );
|
70 |
}
|
71 |
}
|
72 |
}
|
411 |
public function getNeededRows($id, &$settings, $isSSP, $all = false)
|
412 |
{
|
413 |
$source = ($this->environment->isPro() && isset($settings['source']) ? $settings['source'] : '');
|
|
|
414 |
if (isset($source['database']) && $source['database'] == 'on' && isset($source['dbTable'])){
|
415 |
$core = $this->environment->getModule('core');
|
416 |
$dbTableModel = $core->getModelsFactory()->get('DBTables', 'tables');
|
417 |
return $dbTableModel->getRowsData($settings);
|
418 |
}
|
419 |
+
if($this->environment->isWooPro()){
|
420 |
+
$table = $this->getWooSettings($id);
|
421 |
+
$tableSettings = unserialize($table);
|
422 |
+
if(!empty($tableSettings['woocommerce']['enable']) && $tableSettings['woocommerce']['enable'] === 'on'){
|
423 |
+
if($this->environment->getModule('woocommerce')->getController()->getRows($id, $settings)){
|
424 |
+
return $this->environment->getModule('woocommerce')->getController()->getRows($id, $settings) ;
|
425 |
+
}
|
426 |
+
}
|
427 |
+
}
|
428 |
if (!$all && $isSSP) {
|
429 |
$cntHead = 1;
|
430 |
$footers = array();
|
440 |
}
|
441 |
return array_merge($headers, $footers);
|
442 |
}
|
443 |
+
|
444 |
return $this->getRows($id);
|
445 |
}
|
446 |
|
517 |
* Calc rows for AJAX page
|
518 |
* @return array
|
519 |
*/
|
520 |
+
public function getRowsByPart($id, $searchAll, $searchCols, $orderCol, $orderAsc, $start, $length, $header, $footer, $searchParams, $table)
|
521 |
{
|
522 |
$sort = $orderCol !== false;
|
523 |
$sorter = array();
|
543 |
if ($rawData) {
|
544 |
$recordsFiltered = $recordsTotal;
|
545 |
$offset = $header + $start;
|
546 |
+
|
547 |
+
if( (int)$length === -1 ){
|
548 |
+
//for all option in pagination
|
549 |
+
$limit = $bodyStop;
|
550 |
+
}else{
|
551 |
+
$limit = ($offset + $length - 1 > $bodyStop ? $bodyStop - $offset + 1: $length);
|
552 |
+
}
|
553 |
+
|
554 |
$query->limit($limit)->offset($offset);
|
555 |
} else {
|
556 |
$offset = $bodyStart;
|
559 |
do {
|
560 |
$query->offset($offset);
|
561 |
$rows = $this->db->get_results($query->build());
|
562 |
+
|
563 |
if($this->db->last_error) {
|
564 |
throw new RuntimeException($this->db->last_error);
|
565 |
}
|
566 |
|
567 |
foreach ($rows as $i => $row) {
|
568 |
$values = $this->prepareRowsData(@unserialize($row->data), false);
|
569 |
+
|
570 |
$cells = $values['cells'];
|
571 |
$filterCols = true;
|
572 |
+
|
573 |
foreach ($searchCols as $j => $s) {
|
574 |
+
if($table->settings['autoIndex'] === 'new'){
|
575 |
+
$j = $j - 1;
|
576 |
+
}
|
577 |
if (!$this->searchInValue($cells[$j]['data'], $s)) {
|
578 |
$filterCols = false;
|
579 |
break;
|
879 |
if(!empty($table->history_settings)) {
|
880 |
$table->historySettings = unserialize(htmlspecialchars_decode($table->history_settings));
|
881 |
}
|
882 |
+
if(!empty($table->woo_settings)) {
|
883 |
+
$table->woo_settings = unserialize(htmlspecialchars_decode($table->woo_settings));
|
884 |
+
}
|
885 |
|
886 |
return $table;
|
887 |
}
|
1134 |
{
|
1135 |
return $this->getTableHistoryModel()->setHistorySettings($id, $settings);
|
1136 |
}
|
1137 |
+
|
1138 |
+
public function getWooSettings($id)
|
1139 |
+
{
|
1140 |
+
$query = $this->getQueryBuilder()
|
1141 |
+
->select($this->getField('tables', 'woo_settings'))
|
1142 |
+
->from($this->getTable('tables'))
|
1143 |
+
->where('id', '=', (int)$id);
|
1144 |
+
|
1145 |
+
$rows = $this->db->get_var( $query->build() );
|
1146 |
+
return $rows;
|
1147 |
+
}
|
1148 |
+
|
1149 |
}
|
src/SupsysticTables/Tables/Module.php
CHANGED
@@ -7,7 +7,6 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
7 |
*/
|
8 |
protected $isSingleCell = array();
|
9 |
protected $isTablePart = array();
|
10 |
-
|
11 |
/**
|
12 |
* Data for loading tables' rows from history
|
13 |
*/
|
@@ -17,7 +16,13 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
17 |
* Check for auto import data from Google Spreadsheet
|
18 |
*/
|
19 |
protected $checkSpreadsheet = false;
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
private $_tablesInPosts = array();
|
22 |
private $_tablesObj = array();
|
23 |
private $_tablesStyles = array();
|
@@ -32,10 +37,7 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
32 |
$dispatcher = $this->getEnvironment()->getDispatcher();
|
33 |
$dispatcher->on('before_table_render', array($this, 'loadLanguageData'));
|
34 |
|
35 |
-
$this->
|
36 |
-
$this->registerValueShortcode();
|
37 |
-
$this->registerCellShortcode();
|
38 |
-
$this->registerTablePartShortcode();
|
39 |
$this->registerTwigTableRender();
|
40 |
$this->registerMenuItem();
|
41 |
$this->addTwigHighlighter();
|
@@ -45,6 +47,7 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
45 |
|
46 |
if ($this->isPluginPage()) {
|
47 |
$this->reviewNoticeCheck();
|
|
|
48 |
}
|
49 |
add_action('template_redirect', array($this, 'getDataTablesInPosts'));
|
50 |
add_action('wp_head', array($this, 'setDataTableStyles'));
|
@@ -245,7 +248,16 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
245 |
&& isset($table->settings['features']['import']['google']['automatically_update'])
|
246 |
&& isset($table->settings['features']['import']['google']['link']);
|
247 |
|
248 |
-
if (!$table->isSSP
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
$table->rows = $tables->getNeededRows($id, $table->settings, $table->isSSP);
|
250 |
// Connect scripts and styles depending on table settings and table's cells settings for table cache
|
251 |
$dispatcher = $this->getEnvironment()->getDispatcher();
|
@@ -363,10 +375,18 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
363 |
$dispatcher = $this->getEnvironment()->getDispatcher();
|
364 |
$dispatcher->apply('before_table_render', array($table));
|
365 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
$renderData = $twig->render($this->getShortcodeTemplate(), array('table' => $table, 'is_feed' => is_feed()));
|
367 |
$renderData = preg_replace('/\s+/', ' ', trim($renderData));
|
368 |
|
369 |
-
if(!in_array($table->view_id, $this->_tablesStyles)) {
|
370 |
$renderData = $this->addDataTableStyles($table) . $renderData;
|
371 |
}
|
372 |
if (!$this->isSingleCell && !$this->isTablePart && !$this->checkSpreadsheet && !$this->isFromHistory && isset($this->cacheDirectory)) {
|
@@ -476,6 +496,9 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
476 |
$config->get('shortcode_name')
|
477 |
);
|
478 |
}
|
|
|
|
|
|
|
479 |
$ui = $environment->getModule('ui');
|
480 |
$assets = array_filter($ui->getAssets(), array($this, 'filterAssets'));
|
481 |
|
@@ -487,12 +510,6 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
487 |
return $this->render((int)$attributes['id']);
|
488 |
}
|
489 |
|
490 |
-
private function registerValueShortcode() {
|
491 |
-
$config = $this->getEnvironment()->getConfig();
|
492 |
-
|
493 |
-
add_shortcode($config->get('shortcode_value_name'), array($this, 'doValueShortcode'));
|
494 |
-
}
|
495 |
-
|
496 |
public function doValueShortcode($attributes)
|
497 |
{
|
498 |
$environment = $this->getEnvironment();
|
@@ -506,12 +523,6 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
506 |
return $this->renderCellValue((int)$attributes['id'], (int)$attributes['row'], (int)$this->_lettersToNumbers($attributes['col']));
|
507 |
}
|
508 |
|
509 |
-
private function registerCellShortcode() {
|
510 |
-
$config = $this->getEnvironment()->getConfig();
|
511 |
-
|
512 |
-
add_shortcode($config->get('shortcode_cell_name'), array($this, 'doCellShortcode'));
|
513 |
-
}
|
514 |
-
|
515 |
public function doCellShortcode($attributes)
|
516 |
{
|
517 |
$environment = $this->getEnvironment();
|
@@ -535,12 +546,6 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
535 |
return $this->render((int) (int)$attributes['id']);
|
536 |
}
|
537 |
|
538 |
-
private function registerTablePartShortcode() {
|
539 |
-
$config = $this->getEnvironment()->getConfig();
|
540 |
-
|
541 |
-
add_shortcode($config->get('shortcode_part_name'), array($this, 'doTablePartShortcode'));
|
542 |
-
}
|
543 |
-
|
544 |
public function doTablePartShortcode($attributes) {
|
545 |
$environment = $this->getEnvironment();
|
546 |
$config = $environment->getConfig();
|
@@ -599,12 +604,14 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
599 |
return $this->render((int)$attributes['id']);
|
600 |
}
|
601 |
|
602 |
-
|
603 |
{
|
604 |
$config = $this->getEnvironment()->getConfig();
|
605 |
-
$callable = array($this, 'doShortcode');
|
606 |
|
607 |
-
add_shortcode($config->get('shortcode_name'), $
|
|
|
|
|
|
|
608 |
}
|
609 |
|
610 |
public function registerWidget() {
|
@@ -703,6 +710,17 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
703 |
->addDependency('supsystic-tables-datatables-numeral')
|
704 |
);
|
705 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
706 |
/* Backend scripts */
|
707 |
if ($environment->isModule('tables')) {
|
708 |
$ui->add(
|
@@ -748,13 +766,13 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
748 |
->setCachingAllowed($cachingAllowed)
|
749 |
->setVersion($version)
|
750 |
);
|
751 |
-
|
752 |
$ui->createStyle('jquery-ui-structure')
|
753 |
->setHookName($hookName)
|
754 |
->setLocalSource('css/jquery-ui.structure.min.css')
|
755 |
->setCachingAllowed($cachingAllowed)
|
756 |
->setVersion($version)
|
757 |
-
)
|
758 |
$ui->add(
|
759 |
$ui->createStyle('jquery-ui-theme')
|
760 |
->setHookName($hookName)
|
@@ -1227,6 +1245,23 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
1227 |
print $this->getTwig()->render('@tables/notice/review.twig');
|
1228 |
}
|
1229 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1230 |
public function setIniLimits() {
|
1231 |
// Override local and wp limits
|
1232 |
if(strlen(ini_get('memory_limit')) < 4) {
|
@@ -1310,7 +1345,7 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
1310 |
'part_shortcode' => array(
|
1311 |
'name' => $config->get('shortcode_part_name'),
|
1312 |
'label' => $environment->translate('Table Part Shortcode'),
|
1313 |
-
'attrs' => 'row=1
|
1314 |
),
|
1315 |
'cell_shortcode' => array(
|
1316 |
'name' => $config->get('shortcode_cell_name'),
|
7 |
*/
|
8 |
protected $isSingleCell = array();
|
9 |
protected $isTablePart = array();
|
|
|
10 |
/**
|
11 |
* Data for loading tables' rows from history
|
12 |
*/
|
16 |
* Check for auto import data from Google Spreadsheet
|
17 |
*/
|
18 |
protected $checkSpreadsheet = false;
|
19 |
+
/**
|
20 |
+
* Contains the value of "search" shortcode param for applying it to table
|
21 |
+
*/
|
22 |
+
private $tableSearch = '';
|
23 |
+
/**
|
24 |
+
* Variables for appending of table styles to site header
|
25 |
+
*/
|
26 |
private $_tablesInPosts = array();
|
27 |
private $_tablesObj = array();
|
28 |
private $_tablesStyles = array();
|
37 |
$dispatcher = $this->getEnvironment()->getDispatcher();
|
38 |
$dispatcher->on('before_table_render', array($this, 'loadLanguageData'));
|
39 |
|
40 |
+
$this->registerShortcodes();
|
|
|
|
|
|
|
41 |
$this->registerTwigTableRender();
|
42 |
$this->registerMenuItem();
|
43 |
$this->addTwigHighlighter();
|
47 |
|
48 |
if ($this->isPluginPage()) {
|
49 |
$this->reviewNoticeCheck();
|
50 |
+
$this->wooProAddonAds();
|
51 |
}
|
52 |
add_action('template_redirect', array($this, 'getDataTablesInPosts'));
|
53 |
add_action('wp_head', array($this, 'setDataTableStyles'));
|
248 |
&& isset($table->settings['features']['import']['google']['automatically_update'])
|
249 |
&& isset($table->settings['features']['import']['google']['link']);
|
250 |
|
251 |
+
if (!$table->isSSP
|
252 |
+
&& !isset($table->settings['disableCache'])
|
253 |
+
&& empty($this->tableSearch)
|
254 |
+
&& !$this->isSingleCell
|
255 |
+
&& !$this->isTablePart
|
256 |
+
&& !$this->checkSpreadsheet
|
257 |
+
&& !$this->isFromHistory
|
258 |
+
&& file_exists($cachePath)
|
259 |
+
&& $this->getEnvironment()->isProd()
|
260 |
+
) {
|
261 |
$table->rows = $tables->getNeededRows($id, $table->settings, $table->isSSP);
|
262 |
// Connect scripts and styles depending on table settings and table's cells settings for table cache
|
263 |
$dispatcher = $this->getEnvironment()->getDispatcher();
|
375 |
$dispatcher = $this->getEnvironment()->getDispatcher();
|
376 |
$dispatcher->apply('before_table_render', array($table));
|
377 |
|
378 |
+
$searchValue = '';
|
379 |
+
|
380 |
+
if(!empty($this->tableSearch)) {
|
381 |
+
$table->search_value = $this->tableSearch;
|
382 |
+
// clean variable for correct render of other tables on the page
|
383 |
+
$this->tableSearch = '';
|
384 |
+
}
|
385 |
+
|
386 |
$renderData = $twig->render($this->getShortcodeTemplate(), array('table' => $table, 'is_feed' => is_feed()));
|
387 |
$renderData = preg_replace('/\s+/', ' ', trim($renderData));
|
388 |
|
389 |
+
if(!$table->isSSP && !in_array($table->view_id, $this->_tablesStyles)) {
|
390 |
$renderData = $this->addDataTableStyles($table) . $renderData;
|
391 |
}
|
392 |
if (!$this->isSingleCell && !$this->isTablePart && !$this->checkSpreadsheet && !$this->isFromHistory && isset($this->cacheDirectory)) {
|
496 |
$config->get('shortcode_name')
|
497 |
);
|
498 |
}
|
499 |
+
if(!empty($attributes['search'])) {
|
500 |
+
$this->tableSearch = $attributes['search'];
|
501 |
+
}
|
502 |
$ui = $environment->getModule('ui');
|
503 |
$assets = array_filter($ui->getAssets(), array($this, 'filterAssets'));
|
504 |
|
510 |
return $this->render((int)$attributes['id']);
|
511 |
}
|
512 |
|
|
|
|
|
|
|
|
|
|
|
|
|
513 |
public function doValueShortcode($attributes)
|
514 |
{
|
515 |
$environment = $this->getEnvironment();
|
523 |
return $this->renderCellValue((int)$attributes['id'], (int)$attributes['row'], (int)$this->_lettersToNumbers($attributes['col']));
|
524 |
}
|
525 |
|
|
|
|
|
|
|
|
|
|
|
|
|
526 |
public function doCellShortcode($attributes)
|
527 |
{
|
528 |
$environment = $this->getEnvironment();
|
546 |
return $this->render((int) (int)$attributes['id']);
|
547 |
}
|
548 |
|
|
|
|
|
|
|
|
|
|
|
|
|
549 |
public function doTablePartShortcode($attributes) {
|
550 |
$environment = $this->getEnvironment();
|
551 |
$config = $environment->getConfig();
|
604 |
return $this->render((int)$attributes['id']);
|
605 |
}
|
606 |
|
607 |
+
protected function registerShortcodes()
|
608 |
{
|
609 |
$config = $this->getEnvironment()->getConfig();
|
|
|
610 |
|
611 |
+
add_shortcode($config->get('shortcode_name'), array($this, 'doShortcode'));
|
612 |
+
add_shortcode($config->get('shortcode_part_name'), array($this, 'doTablePartShortcode'));
|
613 |
+
add_shortcode($config->get('shortcode_cell_name'), array($this, 'doCellShortcode'));
|
614 |
+
add_shortcode($config->get('shortcode_value_name'), array($this, 'doValueShortcode'));
|
615 |
}
|
616 |
|
617 |
public function registerWidget() {
|
710 |
->addDependency('supsystic-tables-datatables-numeral')
|
711 |
);
|
712 |
|
713 |
+
$ui->add(
|
714 |
+
$ui->createScript('supsystic-tables-notify')
|
715 |
+
->setHookName($dynamicHookName)
|
716 |
+
->setSource($environment->getConfig()->get('plugin_url') . '/app/assets/js/notify.js')
|
717 |
+
->setVersion($version)
|
718 |
+
->setCachingAllowed($cachingAllowed)
|
719 |
+
->addDependency('jquery')
|
720 |
+
->addDependency('supsystic-tables-datatables-js')
|
721 |
+
->addDependency('supsystic-tables-datatables-numeral')
|
722 |
+
);
|
723 |
+
|
724 |
/* Backend scripts */
|
725 |
if ($environment->isModule('tables')) {
|
726 |
$ui->add(
|
766 |
->setCachingAllowed($cachingAllowed)
|
767 |
->setVersion($version)
|
768 |
);
|
769 |
+
/*$ui->add(
|
770 |
$ui->createStyle('jquery-ui-structure')
|
771 |
->setHookName($hookName)
|
772 |
->setLocalSource('css/jquery-ui.structure.min.css')
|
773 |
->setCachingAllowed($cachingAllowed)
|
774 |
->setVersion($version)
|
775 |
+
);*/
|
776 |
$ui->add(
|
777 |
$ui->createStyle('jquery-ui-theme')
|
778 |
->setHookName($hookName)
|
1245 |
print $this->getTwig()->render('@tables/notice/review.twig');
|
1246 |
}
|
1247 |
|
1248 |
+
public function wooProAddonAds(){
|
1249 |
+
$option = $this->config('db_prefix') . 'wooAdsNotice';
|
1250 |
+
$notice = get_option($option);
|
1251 |
+
if (!$notice) {
|
1252 |
+
update_option($option, array(
|
1253 |
+
'time' => time() - 1000,
|
1254 |
+
'shown' => false
|
1255 |
+
));
|
1256 |
+
} elseif ($notice['shown'] === false && time() > $notice['time']) {
|
1257 |
+
add_action('admin_notices', array($this, 'showWooAdsNotice'));
|
1258 |
+
}
|
1259 |
+
}
|
1260 |
+
|
1261 |
+
public function showWooAdsNotice() {
|
1262 |
+
print $this->getTwig()->render('@tables/notice/wooAds.twig');
|
1263 |
+
}
|
1264 |
+
|
1265 |
public function setIniLimits() {
|
1266 |
// Override local and wp limits
|
1267 |
if(strlen(ini_get('memory_limit')) < 4) {
|
1345 |
'part_shortcode' => array(
|
1346 |
'name' => $config->get('shortcode_part_name'),
|
1347 |
'label' => $environment->translate('Table Part Shortcode'),
|
1348 |
+
'attrs' => 'row=1-3 col=A,B',
|
1349 |
),
|
1350 |
'cell_shortcode' => array(
|
1351 |
'name' => $config->get('shortcode_cell_name'),
|
src/SupsysticTables/Tables/assets/css/loaders.css
CHANGED
@@ -199,4 +199,5 @@
|
|
199 |
transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
|
200 |
-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
|
201 |
}
|
202 |
-
}
|
|
199 |
transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
|
200 |
-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
|
201 |
}
|
202 |
+
}
|
203 |
+
svg > g > g:last-child { pointer-events: none }
|
src/SupsysticTables/Tables/assets/css/tables.shortcode.css
CHANGED
@@ -236,7 +236,7 @@ table.oneColumnWithLabels tr:not(.haveMergedCell) td:after {
|
|
236 |
.supsystic-tables-wrap .dataTables_scroll {
|
237 |
padding-top: 0 !important;
|
238 |
}
|
239 |
-
table.dataTable
|
240 |
width: 100%;
|
241 |
padding: 3px;
|
242 |
box-sizing: border-box;
|
@@ -248,4 +248,12 @@ table.dataTable tfoot input {
|
|
248 |
color:white;
|
249 |
padding:7px;
|
250 |
z-index: 10;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
}
|
236 |
.supsystic-tables-wrap .dataTables_scroll {
|
237 |
padding-top: 0 !important;
|
238 |
}
|
239 |
+
table.dataTable input.search-column {
|
240 |
width: 100%;
|
241 |
padding: 3px;
|
242 |
box-sizing: border-box;
|
248 |
color:white;
|
249 |
padding:7px;
|
250 |
z-index: 10;
|
251 |
+
}
|
252 |
+
.supsystic-table.compact[data-auto-index='new'] tr td:first-child{
|
253 |
+
word-break: normal;
|
254 |
+
}
|
255 |
+
|
256 |
+
.dataTables_wrapper table td,
|
257 |
+
.dataTables_wrapper table th {
|
258 |
+
word-break: unset!important;
|
259 |
}
|
src/SupsysticTables/Tables/assets/css/tables.view.css
CHANGED
@@ -278,6 +278,9 @@
|
|
278 |
.tables-view .row-settings-tab .icheckbox_minimal, .tables-view .row-settings-tab .iradio_minimal {
|
279 |
float: left;
|
280 |
}
|
|
|
|
|
|
|
281 |
.tables-view .row-settings-tab .icheckbox_minimal {
|
282 |
margin-top: 8px;
|
283 |
}
|
278 |
.tables-view .row-settings-tab .icheckbox_minimal, .tables-view .row-settings-tab .iradio_minimal {
|
279 |
float: left;
|
280 |
}
|
281 |
+
#row-tab-woocommerce .icheckbox_minimal{
|
282 |
+
float: left;
|
283 |
+
}
|
284 |
.tables-view .row-settings-tab .icheckbox_minimal {
|
285 |
margin-top: 8px;
|
286 |
}
|
src/SupsysticTables/Tables/assets/js/editor/tables.editor.toolbar.js
CHANGED
@@ -230,8 +230,7 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
230 |
editor = this.getEditor(),
|
231 |
selection = editor.getSelectedRange(),
|
232 |
highlighted = selection === undefined ? { col: 0, row: 0 } : selection.highlight,
|
233 |
-
url
|
234 |
-
media;
|
235 |
|
236 |
if (event.ctrlKey) {
|
237 |
url = prompt('Enter URL of image file:', 'http://');
|
@@ -242,29 +241,19 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
242 |
this.getEditor().setDataAtCell(highlighted.row, highlighted.col, this.getHtmlForAttachment({ url: url, type: 'image' }));
|
243 |
return;
|
244 |
}
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
},
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
if(attachment && attachment.url) {
|
259 |
-
editor.setDataAtCell(highlighted.row, highlighted.col, self.getHtmlForAttachment(attachment));
|
260 |
-
setTimeout(function(){
|
261 |
-
editor.render();
|
262 |
-
}, 200);
|
263 |
-
}
|
264 |
-
});
|
265 |
-
}
|
266 |
-
|
267 |
-
media.open();
|
268 |
},
|
269 |
addEditComment: function () {
|
270 |
var e = this.getEditor(),
|
@@ -585,29 +574,80 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
585 |
|
586 |
return text;
|
587 |
};
|
588 |
-
Toolbar.prototype.getHtmlForAttachment = function(attachment) {
|
589 |
-
var content =
|
590 |
-
|
591 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
592 |
case 'image':
|
593 |
-
content = '<img src="' +
|
|
|
|
|
|
|
594 |
break;
|
595 |
case 'video':
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
|
|
|
|
|
|
|
|
600 |
break;
|
601 |
case 'audio':
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
|
|
|
|
|
|
|
|
606 |
break;
|
607 |
case 'application':
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
break;
|
612 |
default:
|
613 |
break;
|
230 |
editor = this.getEditor(),
|
231 |
selection = editor.getSelectedRange(),
|
232 |
highlighted = selection === undefined ? { col: 0, row: 0 } : selection.highlight,
|
233 |
+
url;
|
|
|
234 |
|
235 |
if (event.ctrlKey) {
|
236 |
url = prompt('Enter URL of image file:', 'http://');
|
241 |
this.getEditor().setDataAtCell(highlighted.row, highlighted.col, this.getHtmlForAttachment({ url: url, type: 'image' }));
|
242 |
return;
|
243 |
}
|
244 |
+
_custom_media = true;
|
245 |
+
wp.media.editor.send.attachment = function(props, attachment) {
|
246 |
+
if( _custom_media ) {
|
247 |
+
editor.setDataAtCell(highlighted.row, highlighted.col, self.getHtmlForAttachment({
|
248 |
+
url: attachment.url,
|
249 |
+
type: attachment.type
|
250 |
+
}, props, attachment));
|
251 |
+
} else {
|
252 |
+
return _orig_send_attachment.apply( this, [props, attachment] );
|
253 |
+
}
|
254 |
+
};
|
255 |
+
wp.media.editor.open();
|
256 |
+
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
},
|
258 |
addEditComment: function () {
|
259 |
var e = this.getEditor(),
|
574 |
|
575 |
return text;
|
576 |
};
|
577 |
+
Toolbar.prototype.getHtmlForAttachment = function(data, props, attachment) {
|
578 |
+
var content = data.url,
|
579 |
+
url = data.url,
|
580 |
+
fullUrl = data.url,
|
581 |
+
type = data.type,
|
582 |
+
link = '',
|
583 |
+
linkHtml = '',
|
584 |
+
classes = '',
|
585 |
+
attrs = 'style="max-width: 100%; height: auto;"',
|
586 |
+
isEmbed = false;
|
587 |
+
|
588 |
+
if(props && attachment) {
|
589 |
+
if (attachment.sizes) {
|
590 |
+
if (attachment.sizes[props.size]) {
|
591 |
+
url = attachment.sizes[props.size].url;
|
592 |
+
classes += 'align' + props.align + ' size-' + props.size;
|
593 |
+
}
|
594 |
+
if (attachment.sizes['full']) {
|
595 |
+
fullUrl = attachment.sizes['full'].url;
|
596 |
+
}
|
597 |
+
}
|
598 |
+
if (type == 'image') {
|
599 |
+
attrs = 'width="' + attachment.sizes[props.size].width + '" height="' + attachment.sizes[props.size].width + '"';
|
600 |
+
}
|
601 |
+
switch(props.link) {
|
602 |
+
case 'file':
|
603 |
+
link = attachment.url;
|
604 |
+
linkHtml = '<a href="'+link+'">'+attachment.title+'</a>';
|
605 |
+
break;
|
606 |
+
case 'post':
|
607 |
+
link = attachment.link;
|
608 |
+
linkHtml = '<a href="'+link+'">'+attachment.title+'</a>';
|
609 |
+
break;
|
610 |
+
case 'custom':
|
611 |
+
link = props.linkUrl;
|
612 |
+
break;
|
613 |
+
case 'embed':
|
614 |
+
isEmbed = true;
|
615 |
+
break;
|
616 |
+
default:
|
617 |
+
break;
|
618 |
+
}
|
619 |
+
}
|
620 |
+
switch(type) {
|
621 |
case 'image':
|
622 |
+
content = '<img src="' + url + '" class="' + classes + '" ' + attrs + ' data-full="' + fullUrl + '" />';
|
623 |
+
if(link) {
|
624 |
+
content = '<a href="' + link + '">' + content + '</a>';
|
625 |
+
}
|
626 |
break;
|
627 |
case 'video':
|
628 |
+
if(isEmbed) {
|
629 |
+
content = '<div class="video-container"><video controls>';
|
630 |
+
content += '<source src="' + url + '" ' +
|
631 |
+
(typeof attachment.mime != 'undefined' ? 'type="' + attachment.mime + '"' : '') + '>';
|
632 |
+
content += '</video></div>';
|
633 |
+
} else if(linkHtml) {
|
634 |
+
content = linkHtml;
|
635 |
+
}
|
636 |
break;
|
637 |
case 'audio':
|
638 |
+
if(isEmbed) {
|
639 |
+
content = '<div class="audio-container"><audio controls>';
|
640 |
+
content += '<source src="' + url + '" ' +
|
641 |
+
(typeof attachment.mime != 'undefined' ? 'type="' + attachment.mime + '"' : '') + '>';
|
642 |
+
content += '</audio></div>';
|
643 |
+
} else if(linkHtml) {
|
644 |
+
content = linkHtml;
|
645 |
+
}
|
646 |
break;
|
647 |
case 'application':
|
648 |
+
if(linkHtml) {
|
649 |
+
content = linkHtml;
|
650 |
+
}
|
651 |
break;
|
652 |
default:
|
653 |
break;
|
src/SupsysticTables/Tables/assets/js/tables.model.js
CHANGED
@@ -185,6 +185,8 @@ var g_stbPreviewTimeoutSet = false;
|
|
185 |
}
|
186 |
};
|
187 |
|
|
|
|
|
188 |
TablesModel.prototype.getDefaultRenderer = function(preview) {
|
189 |
return Handsontable.renderers.DefaultRenderer;
|
190 |
};
|
@@ -642,6 +644,13 @@ var g_stbPreviewTimeoutSet = false;
|
|
642 |
return self.setRows(id, rowsData, byPart, preview);
|
643 |
}
|
644 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
645 |
} else {
|
646 |
if(preview && !g_stbPreviewTimeoutSet) {
|
647 |
this.getPreview(id, preview);
|
@@ -955,25 +964,33 @@ var g_stbPreviewTimeoutSet = false;
|
|
955 |
if(SDT_DATA.isPro && typeof(app.createEditableFields) != 'function') { // for compatibility with old pro versions
|
956 |
$.getScript(SDT_DATA.pluginsUrl + '/tables-generator-pro/src/SupsysticTablesPro/Tables/assets/js/frontend.pro.js');
|
957 |
}
|
958 |
-
|
959 |
// Fix of conflict with handsontable library - it triggers error if user makes click on link without href attribute
|
960 |
var features = table.data('features');
|
961 |
-
|
962 |
if(toeInArray('paging', features) != -1) {
|
963 |
-
$('.dataTables_paginate .paginate_button').each(function() {
|
964 |
$(this).attr('href', '#');
|
965 |
$(this).attr('onclick', 'return false');
|
966 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
967 |
table.on('page.dt', function() {
|
|
|
|
|
|
|
|
|
968 |
setTimeout(function() {
|
969 |
-
$('.dataTables_paginate .paginate_button').each(function() {
|
970 |
$(this).attr('href', '#');
|
971 |
$(this).attr('onclick', 'return false');
|
972 |
});
|
973 |
-
},
|
974 |
-
|
975 |
});
|
976 |
}
|
|
|
977 |
};
|
978 |
|
979 |
TablesModel.prototype._b64EncodeUnicode = function(str) {
|
185 |
}
|
186 |
};
|
187 |
|
188 |
+
|
189 |
+
|
190 |
TablesModel.prototype.getDefaultRenderer = function(preview) {
|
191 |
return Handsontable.renderers.DefaultRenderer;
|
192 |
};
|
644 |
return self.setRows(id, rowsData, byPart, preview);
|
645 |
}
|
646 |
);
|
647 |
+
ajaxPromise = ajaxPromise.then(
|
648 |
+
function() {
|
649 |
+
if(SDT_DATA.isWooPro) {
|
650 |
+
return self.setWooSettings(id, $('form#woocommerce-settings'));
|
651 |
+
}
|
652 |
+
}
|
653 |
+
);
|
654 |
} else {
|
655 |
if(preview && !g_stbPreviewTimeoutSet) {
|
656 |
this.getPreview(id, preview);
|
964 |
if(SDT_DATA.isPro && typeof(app.createEditableFields) != 'function') { // for compatibility with old pro versions
|
965 |
$.getScript(SDT_DATA.pluginsUrl + '/tables-generator-pro/src/SupsysticTablesPro/Tables/assets/js/frontend.pro.js');
|
966 |
}
|
|
|
967 |
// Fix of conflict with handsontable library - it triggers error if user makes click on link without href attribute
|
968 |
var features = table.data('features');
|
|
|
969 |
if(toeInArray('paging', features) != -1) {
|
970 |
+
$('#table-preview').find('.dataTables_paginate .paginate_button').each(function() {
|
971 |
$(this).attr('href', '#');
|
972 |
$(this).attr('onclick', 'return false');
|
973 |
});
|
974 |
+
setTimeout(function() {
|
975 |
+
$('#table-preview').find('.dataTables_paginate .paginate_button').each(function() {
|
976 |
+
$(this).attr('href', '#');
|
977 |
+
$(this).attr('onclick', 'return false');
|
978 |
+
});
|
979 |
+
}, 750);
|
980 |
table.on('page.dt', function() {
|
981 |
+
$('#table-preview').find('.dataTables_paginate .paginate_button').each(function() {
|
982 |
+
$(this).attr('href', '#');
|
983 |
+
$(this).attr('onclick', 'return false');
|
984 |
+
});
|
985 |
setTimeout(function() {
|
986 |
+
$('#table-preview').find('.dataTables_paginate .paginate_button').each(function() {
|
987 |
$(this).attr('href', '#');
|
988 |
$(this).attr('onclick', 'return false');
|
989 |
});
|
990 |
+
}, 750);
|
|
|
991 |
});
|
992 |
}
|
993 |
+
|
994 |
};
|
995 |
|
996 |
TablesModel.prototype._b64EncodeUnicode = function(str) {
|
src/SupsysticTables/Tables/assets/js/tables.view.js
CHANGED
@@ -99,9 +99,6 @@ var g_stbCopyPasteColsCount = [];
|
|
99 |
$('#stbCopyTextCodeExamples').change(function(){
|
100 |
$('.stbCopyTextCodeShowBlock').hide().filter('[data-for="'+ jQuery(this).val()+ '"]').show();
|
101 |
}).trigger('change');
|
102 |
-
$('input[name="stbCopyTextCode"]').click(function(){
|
103 |
-
this.select();
|
104 |
-
});
|
105 |
|
106 |
// Edit Table Title
|
107 |
$('#stbTableTitleShell').click(function(){
|
@@ -338,7 +335,7 @@ var g_stbCopyPasteColsCount = [];
|
|
338 |
var shell = $('#addContactFormBtnDialog'),
|
339 |
url = shell.find('[name="posts_list"]').val(),
|
340 |
urlArr = url.split('?'),
|
341 |
-
text = shell.find('[name="btn_text"]').val(),
|
342 |
classes = shell.find('[name="btn_class"]').val(),
|
343 |
styles = shell.find('[name="btn_style"]').val(),
|
344 |
target = shell.find('[name="btn_target"]').is(':checked'),
|
@@ -350,7 +347,7 @@ var g_stbCopyPasteColsCount = [];
|
|
350 |
var f = $(fields[i]);
|
351 |
if(f.val()) {
|
352 |
var label = f.parents('.contactFormFieldRow').find('[name="field_name"]').val();
|
353 |
-
link += '&'+label+'='+f.val();
|
354 |
}
|
355 |
}
|
356 |
btn += '<a href="'+link+'"';
|
@@ -441,6 +438,16 @@ var g_stbCopyPasteColsCount = [];
|
|
441 |
}
|
442 |
}
|
443 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
444 |
});
|
445 |
|
446 |
// Settings Form Options
|
@@ -551,6 +558,15 @@ var g_stbCopyPasteColsCount = [];
|
|
551 |
}
|
552 |
});
|
553 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
554 |
// Show results only - Show empty table
|
555 |
$('input[name="searching[resultOnly]"]').on('change ifChanged', function() {
|
556 |
if($(this).is(':checked')) {
|
@@ -561,6 +577,7 @@ var g_stbCopyPasteColsCount = [];
|
|
561 |
});
|
562 |
$('input[name="features[searching]"]').on('change ifChanged', function() {
|
563 |
$('input[name="searching[resultOnly]"]').trigger('change');
|
|
|
564 |
});
|
565 |
|
566 |
// Table Loader
|
99 |
$('#stbCopyTextCodeExamples').change(function(){
|
100 |
$('.stbCopyTextCodeShowBlock').hide().filter('[data-for="'+ jQuery(this).val()+ '"]').show();
|
101 |
}).trigger('change');
|
|
|
|
|
|
|
102 |
|
103 |
// Edit Table Title
|
104 |
$('#stbTableTitleShell').click(function(){
|
335 |
var shell = $('#addContactFormBtnDialog'),
|
336 |
url = shell.find('[name="posts_list"]').val(),
|
337 |
urlArr = url.split('?'),
|
338 |
+
text = shell.find('[name="btn_text"]').val() || 'Button',
|
339 |
classes = shell.find('[name="btn_class"]').val(),
|
340 |
styles = shell.find('[name="btn_style"]').val(),
|
341 |
target = shell.find('[name="btn_target"]').is(':checked'),
|
347 |
var f = $(fields[i]);
|
348 |
if(f.val()) {
|
349 |
var label = f.parents('.contactFormFieldRow').find('[name="field_name"]').val();
|
350 |
+
link += '&cfs_'+label+'='+f.val();
|
351 |
}
|
352 |
}
|
353 |
btn += '<a href="'+link+'"';
|
438 |
}
|
439 |
}
|
440 |
}
|
441 |
+
if($('#woocommerce-settings').length){
|
442 |
+
//remove html with options
|
443 |
+
$('input[name="woocommerce[order]"]').val('');
|
444 |
+
$('input[name="woocommerce[productids]"]').val('');
|
445 |
+
$('input[name="woocommerce[enable]"]').prop('checked', false).iCheck('update');
|
446 |
+
tablesModel.saveTable();
|
447 |
+
setTimeout(function() {
|
448 |
+
location.reload();
|
449 |
+
}, 500);
|
450 |
+
}
|
451 |
});
|
452 |
|
453 |
// Settings Form Options
|
558 |
}
|
559 |
});
|
560 |
|
561 |
+
// Search by Columns - Position
|
562 |
+
$('input[name="searching[columnSearch]"]').on('change ifChanged', function() {
|
563 |
+
if($(this).is(':checked')) {
|
564 |
+
$('select[name="searching[columnSearchPosition]"]').parents('.setting-wrapper:first').fadeIn(300);
|
565 |
+
} else {
|
566 |
+
$('select[name="searching[columnSearchPosition]"]').parents('.setting-wrapper:first').fadeOut(300);
|
567 |
+
}
|
568 |
+
});
|
569 |
+
|
570 |
// Show results only - Show empty table
|
571 |
$('input[name="searching[resultOnly]"]').on('change ifChanged', function() {
|
572 |
if($(this).is(':checked')) {
|
577 |
});
|
578 |
$('input[name="features[searching]"]').on('change ifChanged', function() {
|
579 |
$('input[name="searching[resultOnly]"]').trigger('change');
|
580 |
+
$('input[name="searching[columnSearch]"]').trigger('change');
|
581 |
});
|
582 |
|
583 |
// Table Loader
|
src/SupsysticTables/Tables/assets/libraries/numeral.min.js
CHANGED
@@ -1,681 +1 @@
|
|
1 |
-
|
2 |
-
* numeral.js
|
3 |
-
* version : 1.5.3
|
4 |
-
* author : Adam Draper
|
5 |
-
* license : MIT
|
6 |
-
* http://adamwdraper.github.com/Numeral-js/
|
7 |
-
*/
|
8 |
-
|
9 |
-
(function () {
|
10 |
-
|
11 |
-
/************************************
|
12 |
-
Constants
|
13 |
-
************************************/
|
14 |
-
|
15 |
-
var numeral,
|
16 |
-
VERSION = '1.5.3',
|
17 |
-
// internal storage for language config files
|
18 |
-
languages = {},
|
19 |
-
currentLanguage = 'en',
|
20 |
-
zeroFormat = null,
|
21 |
-
defaultFormat = '0,0',
|
22 |
-
// check for nodeJS
|
23 |
-
hasModule = (typeof module !== 'undefined' && module.exports);
|
24 |
-
|
25 |
-
|
26 |
-
/************************************
|
27 |
-
Constructors
|
28 |
-
************************************/
|
29 |
-
|
30 |
-
|
31 |
-
// Numeral prototype object
|
32 |
-
function Numeral (number) {
|
33 |
-
this._value = number;
|
34 |
-
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Implementation of toFixed() that treats floats more like decimals
|
38 |
-
*
|
39 |
-
* Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present
|
40 |
-
* problems for accounting- and finance-related software.
|
41 |
-
*/
|
42 |
-
function toFixed (value, precision, roundingFunction, optionals) {
|
43 |
-
var power = Math.pow(10, precision),
|
44 |
-
optionalsRegExp,
|
45 |
-
output;
|
46 |
-
|
47 |
-
//roundingFunction = (roundingFunction !== undefined ? roundingFunction : Math.round);
|
48 |
-
// Multiply up by precision, round accurately, then divide and use native toFixed():
|
49 |
-
output = (roundingFunction(value * power) / power).toFixed(precision);
|
50 |
-
|
51 |
-
if (optionals) {
|
52 |
-
optionalsRegExp = new RegExp('0{1,' + optionals + '}$');
|
53 |
-
output = output.replace(optionalsRegExp, '');
|
54 |
-
}
|
55 |
-
|
56 |
-
return output;
|
57 |
-
}
|
58 |
-
|
59 |
-
/************************************
|
60 |
-
Formatting
|
61 |
-
************************************/
|
62 |
-
|
63 |
-
// determine what type of formatting we need to do
|
64 |
-
function formatNumeral (n, format, roundingFunction, currencySymbol) {
|
65 |
-
var output;
|
66 |
-
|
67 |
-
// figure out what kind of format we are dealing with
|
68 |
-
if (format.indexOf('$') > -1) { // currency!!!!!
|
69 |
-
output = formatCurrency(n, format, roundingFunction, currencySymbol);
|
70 |
-
} else if (format.indexOf('%') > -1) { // percentage
|
71 |
-
output = formatPercentage(n, format, roundingFunction);
|
72 |
-
} else if (format.indexOf(':') > -1) { // time
|
73 |
-
output = formatTime(n, format);
|
74 |
-
} else { // plain ol' numbers or bytes
|
75 |
-
output = formatNumber(n._value, format, roundingFunction);
|
76 |
-
}
|
77 |
-
|
78 |
-
// return string
|
79 |
-
return output;
|
80 |
-
}
|
81 |
-
|
82 |
-
// revert to number
|
83 |
-
function unformatNumeral (n, string) {
|
84 |
-
var stringOriginal = string,
|
85 |
-
thousandRegExp,
|
86 |
-
millionRegExp,
|
87 |
-
billionRegExp,
|
88 |
-
trillionRegExp,
|
89 |
-
suffixes = ['KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
|
90 |
-
bytesMultiplier = false,
|
91 |
-
power;
|
92 |
-
|
93 |
-
if (string.indexOf(':') > -1) {
|
94 |
-
n._value = unformatTime(string);
|
95 |
-
} else {
|
96 |
-
if (string === zeroFormat) {
|
97 |
-
n._value = 0;
|
98 |
-
} else {
|
99 |
-
if (languages[currentLanguage].delimiters.decimal !== '.') {
|
100 |
-
string = string.replace(/\./g,'').replace(languages[currentLanguage].delimiters.decimal, '.');
|
101 |
-
}
|
102 |
-
|
103 |
-
// see if abbreviations are there so that we can multiply to the correct number
|
104 |
-
thousandRegExp = new RegExp('[^a-zA-Z]' + languages[currentLanguage].abbreviations.thousand + '(?:\\)|(\\' + languages[currentLanguage].currency.symbol + ')?(?:\\))?)?$');
|
105 |
-
millionRegExp = new RegExp('[^a-zA-Z]' + languages[currentLanguage].abbreviations.million + '(?:\\)|(\\' + languages[currentLanguage].currency.symbol + ')?(?:\\))?)?$');
|
106 |
-
billionRegExp = new RegExp('[^a-zA-Z]' + languages[currentLanguage].abbreviations.billion + '(?:\\)|(\\' + languages[currentLanguage].currency.symbol + ')?(?:\\))?)?$');
|
107 |
-
trillionRegExp = new RegExp('[^a-zA-Z]' + languages[currentLanguage].abbreviations.trillion + '(?:\\)|(\\' + languages[currentLanguage].currency.symbol + ')?(?:\\))?)?$');
|
108 |
-
|
109 |
-
// see if bytes are there so that we can multiply to the correct number
|
110 |
-
for (power = 0; power <= suffixes.length; power++) {
|
111 |
-
bytesMultiplier = (string.indexOf(suffixes[power]) > -1) ? Math.pow(1024, power + 1) : false;
|
112 |
-
|
113 |
-
if (bytesMultiplier) {
|
114 |
-
break;
|
115 |
-
}
|
116 |
-
}
|
117 |
-
|
118 |
-
// do some math to create our number
|
119 |
-
n._value = ((bytesMultiplier) ? bytesMultiplier : 1) * ((stringOriginal.match(thousandRegExp)) ? Math.pow(10, 3) : 1) * ((stringOriginal.match(millionRegExp)) ? Math.pow(10, 6) : 1) * ((stringOriginal.match(billionRegExp)) ? Math.pow(10, 9) : 1) * ((stringOriginal.match(trillionRegExp)) ? Math.pow(10, 12) : 1) * ((string.indexOf('%') > -1) ? 0.01 : 1) * (((string.split('-').length + Math.min(string.split('(').length-1, string.split(')').length-1)) % 2)? 1: -1) * Number(string.replace(/[^0-9\.]+/g, ''));
|
120 |
-
|
121 |
-
// round if we are talking about bytes
|
122 |
-
n._value = (bytesMultiplier) ? Math.ceil(n._value) : n._value;
|
123 |
-
}
|
124 |
-
}
|
125 |
-
return n._value;
|
126 |
-
}
|
127 |
-
|
128 |
-
function formatCurrency (n, format, roundingFunction, currencySymbol) {
|
129 |
-
var symbolIndex = format.indexOf('$'),
|
130 |
-
openParenIndex = format.indexOf('('),
|
131 |
-
minusSignIndex = format.indexOf('-'),
|
132 |
-
space = '',
|
133 |
-
spliceIndex,
|
134 |
-
output,
|
135 |
-
symbol = currencySymbol?currencySymbol:languages[currentLanguage].currency.symbol;
|
136 |
-
|
137 |
-
// check for space before or after currency
|
138 |
-
if (format.indexOf(' $') > -1) {
|
139 |
-
space = ' ';
|
140 |
-
format = format.replace(' $', '');
|
141 |
-
} else if (format.indexOf('$ ') > -1) {
|
142 |
-
space = ' ';
|
143 |
-
format = format.replace('$ ', '');
|
144 |
-
} else {
|
145 |
-
format = format.replace('$', '');
|
146 |
-
}
|
147 |
-
|
148 |
-
// format the number
|
149 |
-
output = formatNumber(n._value, format, roundingFunction);
|
150 |
-
|
151 |
-
// position the symbol
|
152 |
-
if (symbolIndex <= 1) {
|
153 |
-
if (output.indexOf('(') > -1 || output.indexOf('-') > -1) {
|
154 |
-
output = output.split('');
|
155 |
-
spliceIndex = 1;
|
156 |
-
if (symbolIndex < openParenIndex || symbolIndex < minusSignIndex){
|
157 |
-
// the symbol appears before the "(" or "-"
|
158 |
-
spliceIndex = 0;
|
159 |
-
}
|
160 |
-
output.splice(spliceIndex, 0, symbol + space);
|
161 |
-
output = output.join('');
|
162 |
-
} else {
|
163 |
-
output = symbol + space + output;
|
164 |
-
}
|
165 |
-
} else {
|
166 |
-
if (output.indexOf(')') > -1) {
|
167 |
-
output = output.split('');
|
168 |
-
output.splice(-1, 0, space + symbol);
|
169 |
-
output = output.join('');
|
170 |
-
} else {
|
171 |
-
output = output + space + symbol;
|
172 |
-
}
|
173 |
-
}
|
174 |
-
|
175 |
-
return output;
|
176 |
-
}
|
177 |
-
|
178 |
-
function formatPercentage (n, format, roundingFunction) {
|
179 |
-
var space = '',
|
180 |
-
output,
|
181 |
-
value = n._value * 100;
|
182 |
-
|
183 |
-
// check for space before %
|
184 |
-
if (format.indexOf(' %') > -1) {
|
185 |
-
space = ' ';
|
186 |
-
format = format.replace(' %', '');
|
187 |
-
} else {
|
188 |
-
format = format.replace('%', '');
|
189 |
-
}
|
190 |
-
|
191 |
-
output = formatNumber(value, format, roundingFunction);
|
192 |
-
|
193 |
-
if (output.indexOf(')') > -1 ) {
|
194 |
-
output = output.split('');
|
195 |
-
output.splice(-1, 0, space + '%');
|
196 |
-
output = output.join('');
|
197 |
-
} else {
|
198 |
-
output = output + space + '%';
|
199 |
-
}
|
200 |
-
|
201 |
-
return output;
|
202 |
-
}
|
203 |
-
|
204 |
-
function formatTime (n) {
|
205 |
-
var hours = Math.floor(n._value/60/60),
|
206 |
-
minutes = Math.floor((n._value - (hours * 60 * 60))/60),
|
207 |
-
seconds = Math.round(n._value - (hours * 60 * 60) - (minutes * 60));
|
208 |
-
return hours + ':' + ((minutes < 10) ? '0' + minutes : minutes) + ':' + ((seconds < 10) ? '0' + seconds : seconds);
|
209 |
-
}
|
210 |
-
|
211 |
-
function unformatTime (string) {
|
212 |
-
var timeArray = string.split(':'),
|
213 |
-
seconds = 0;
|
214 |
-
// turn hours and minutes into seconds and add them all up
|
215 |
-
if (timeArray.length === 3) {
|
216 |
-
// hours
|
217 |
-
seconds = seconds + (Number(timeArray[0]) * 60 * 60);
|
218 |
-
// minutes
|
219 |
-
seconds = seconds + (Number(timeArray[1]) * 60);
|
220 |
-
// seconds
|
221 |
-
seconds = seconds + Number(timeArray[2]);
|
222 |
-
} else if (timeArray.length === 2) {
|
223 |
-
// minutes
|
224 |
-
seconds = seconds + (Number(timeArray[0]) * 60);
|
225 |
-
// seconds
|
226 |
-
seconds = seconds + Number(timeArray[1]);
|
227 |
-
}
|
228 |
-
return Number(seconds);
|
229 |
-
}
|
230 |
-
|
231 |
-
function formatNumber (value, format, roundingFunction) {
|
232 |
-
var negP = false,
|
233 |
-
signed = false,
|
234 |
-
optDec = false,
|
235 |
-
abbr = '',
|
236 |
-
abbrK = false, // force abbreviation to thousands
|
237 |
-
abbrM = false, // force abbreviation to millions
|
238 |
-
abbrB = false, // force abbreviation to billions
|
239 |
-
abbrT = false, // force abbreviation to trillions
|
240 |
-
abbrForce = false, // force abbreviation
|
241 |
-
bytes = '',
|
242 |
-
ord = '',
|
243 |
-
abs = Math.abs(value),
|
244 |
-
suffixes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
|
245 |
-
min,
|
246 |
-
max,
|
247 |
-
power,
|
248 |
-
w,
|
249 |
-
precision,
|
250 |
-
thousands,
|
251 |
-
d = '',
|
252 |
-
neg = false;
|
253 |
-
|
254 |
-
// check if number is zero and a custom zero format has been set
|
255 |
-
if (value === 0 && zeroFormat !== null) {
|
256 |
-
return zeroFormat;
|
257 |
-
} else {
|
258 |
-
// see if we should use parentheses for negative number or if we should prefix with a sign
|
259 |
-
// if both are present we default to parentheses
|
260 |
-
if (format.indexOf('(') > -1) {
|
261 |
-
negP = true;
|
262 |
-
format = format.slice(1, -1);
|
263 |
-
} else if (format.indexOf('+') > -1) {
|
264 |
-
signed = true;
|
265 |
-
format = format.replace(/\+/g, '');
|
266 |
-
}
|
267 |
-
|
268 |
-
// see if abbreviation is wanted
|
269 |
-
if (format.indexOf('a') > -1) {
|
270 |
-
// check if abbreviation is specified
|
271 |
-
abbrK = format.indexOf('aK') >= 0;
|
272 |
-
abbrM = format.indexOf('aM') >= 0;
|
273 |
-
abbrB = format.indexOf('aB') >= 0;
|
274 |
-
abbrT = format.indexOf('aT') >= 0;
|
275 |
-
abbrForce = abbrK || abbrM || abbrB || abbrT;
|
276 |
-
|
277 |
-
// check for space before abbreviation
|
278 |
-
if (format.indexOf(' a') > -1) {
|
279 |
-
abbr = ' ';
|
280 |
-
format = format.replace(' a', '');
|
281 |
-
} else {
|
282 |
-
format = format.replace('a', '');
|
283 |
-
}
|
284 |
-
|
285 |
-
if (abs >= Math.pow(10, 12) && !abbrForce || abbrT) {
|
286 |
-
// trillion
|
287 |
-
abbr = abbr + languages[currentLanguage].abbreviations.trillion;
|
288 |
-
value = value / Math.pow(10, 12);
|
289 |
-
} else if (abs < Math.pow(10, 12) && abs >= Math.pow(10, 9) && !abbrForce || abbrB) {
|
290 |
-
// billion
|
291 |
-
abbr = abbr + languages[currentLanguage].abbreviations.billion;
|
292 |
-
value = value / Math.pow(10, 9);
|
293 |
-
} else if (abs < Math.pow(10, 9) && abs >= Math.pow(10, 6) && !abbrForce || abbrM) {
|
294 |
-
// million
|
295 |
-
abbr = abbr + languages[currentLanguage].abbreviations.million;
|
296 |
-
value = value / Math.pow(10, 6);
|
297 |
-
} else if (abs < Math.pow(10, 6) && abs >= Math.pow(10, 3) && !abbrForce || abbrK) {
|
298 |
-
// thousand
|
299 |
-
abbr = abbr + languages[currentLanguage].abbreviations.thousand;
|
300 |
-
value = value / Math.pow(10, 3);
|
301 |
-
}
|
302 |
-
}
|
303 |
-
|
304 |
-
// see if we are formatting bytes
|
305 |
-
if (format.indexOf('b') > -1) {
|
306 |
-
// check for space before
|
307 |
-
if (format.indexOf(' b') > -1) {
|
308 |
-
bytes = ' ';
|
309 |
-
format = format.replace(' b', '');
|
310 |
-
} else {
|
311 |
-
format = format.replace('b', '');
|
312 |
-
}
|
313 |
-
|
314 |
-
for (power = 0; power <= suffixes.length; power++) {
|
315 |
-
min = Math.pow(1024, power);
|
316 |
-
max = Math.pow(1024, power+1);
|
317 |
-
|
318 |
-
if (value >= min && value < max) {
|
319 |
-
bytes = bytes + suffixes[power];
|
320 |
-
if (min > 0) {
|
321 |
-
value = value / min;
|
322 |
-
}
|
323 |
-
break;
|
324 |
-
}
|
325 |
-
}
|
326 |
-
}
|
327 |
-
|
328 |
-
// see if ordinal is wanted
|
329 |
-
if (format.indexOf('o') > -1) {
|
330 |
-
// check for space before
|
331 |
-
if (format.indexOf(' o') > -1) {
|
332 |
-
ord = ' ';
|
333 |
-
format = format.replace(' o', '');
|
334 |
-
} else {
|
335 |
-
format = format.replace('o', '');
|
336 |
-
}
|
337 |
-
|
338 |
-
ord = ord + languages[currentLanguage].ordinal(value);
|
339 |
-
}
|
340 |
-
|
341 |
-
if (format.indexOf('[.]') > -1) {
|
342 |
-
optDec = true;
|
343 |
-
format = format.replace('[.]', '.');
|
344 |
-
}
|
345 |
-
|
346 |
-
w = value.toString().split('.')[0];
|
347 |
-
precision = format.split('.')[1];
|
348 |
-
thousands = format.indexOf(',');
|
349 |
-
|
350 |
-
if (precision) {
|
351 |
-
if (precision.indexOf('[') > -1) {
|
352 |
-
precision = precision.replace(']', '');
|
353 |
-
precision = precision.split('[');
|
354 |
-
d = toFixed(value, (precision[0].length + precision[1].length), roundingFunction, precision[1].length);
|
355 |
-
} else {
|
356 |
-
d = toFixed(value, precision.length, roundingFunction);
|
357 |
-
}
|
358 |
-
|
359 |
-
w = d.split('.')[0];
|
360 |
-
|
361 |
-
if (d.split('.')[1].length) {
|
362 |
-
d = languages[currentLanguage].delimiters.decimal + d.split('.')[1];
|
363 |
-
} else {
|
364 |
-
d = '';
|
365 |
-
}
|
366 |
-
|
367 |
-
if (optDec && Number(d.slice(1)) === 0) {
|
368 |
-
d = '';
|
369 |
-
}
|
370 |
-
} else {
|
371 |
-
w = toFixed(value, null, roundingFunction);
|
372 |
-
}
|
373 |
-
|
374 |
-
// format number
|
375 |
-
if (w.indexOf('-') > -1) {
|
376 |
-
w = w.slice(1);
|
377 |
-
neg = true;
|
378 |
-
}
|
379 |
-
|
380 |
-
if (thousands > -1) {
|
381 |
-
w = w.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + languages[currentLanguage].delimiters.thousands);
|
382 |
-
}
|
383 |
-
|
384 |
-
if (format.indexOf('.') === 0) {
|
385 |
-
w = '';
|
386 |
-
}
|
387 |
-
|
388 |
-
return ((negP && neg) ? '(' : '') + ((!negP && neg) ? '-' : '') + ((!neg && signed) ? '+' : '') + w + d + ((ord) ? ord : '') + ((abbr) ? abbr : '') + ((bytes) ? bytes : '') + ((negP && neg) ? ')' : '');
|
389 |
-
}
|
390 |
-
}
|
391 |
-
|
392 |
-
/************************************
|
393 |
-
Top Level Functions
|
394 |
-
************************************/
|
395 |
-
|
396 |
-
numeral = function (input) {
|
397 |
-
if (numeral.isNumeral(input)) {
|
398 |
-
input = input.value();
|
399 |
-
} else if (input === 0 || typeof input === 'undefined') {
|
400 |
-
input = 0;
|
401 |
-
} else if (!Number(input)) {
|
402 |
-
input = numeral.fn.unformat(input);
|
403 |
-
}
|
404 |
-
|
405 |
-
return new Numeral(Number(input));
|
406 |
-
};
|
407 |
-
|
408 |
-
// version number
|
409 |
-
numeral.version = VERSION;
|
410 |
-
|
411 |
-
// compare numeral object
|
412 |
-
numeral.isNumeral = function (obj) {
|
413 |
-
return obj instanceof Numeral;
|
414 |
-
};
|
415 |
-
|
416 |
-
// This function will load languages and then set the global language. If
|
417 |
-
// no arguments are passed in, it will simply return the current global
|
418 |
-
// language key.
|
419 |
-
numeral.language = function (key, values) {
|
420 |
-
if (!key) {
|
421 |
-
return currentLanguage;
|
422 |
-
}
|
423 |
-
|
424 |
-
if (key && !values) {
|
425 |
-
if(!languages[key]) {
|
426 |
-
throw new Error('Unknown language : ' + key);
|
427 |
-
}
|
428 |
-
currentLanguage = key;
|
429 |
-
}
|
430 |
-
|
431 |
-
if (values || !languages[key]) {
|
432 |
-
loadLanguage(key, values);
|
433 |
-
}
|
434 |
-
|
435 |
-
return numeral;
|
436 |
-
};
|
437 |
-
|
438 |
-
// This function provides access to the loaded language data. If
|
439 |
-
// no arguments are passed in, it will simply return the current
|
440 |
-
// global language object.
|
441 |
-
numeral.languageData = function (key) {
|
442 |
-
if (!key) {
|
443 |
-
return languages[currentLanguage];
|
444 |
-
}
|
445 |
-
|
446 |
-
if (!languages[key]) {
|
447 |
-
throw new Error('Unknown language : ' + key);
|
448 |
-
}
|
449 |
-
|
450 |
-
return languages[key];
|
451 |
-
};
|
452 |
-
|
453 |
-
numeral.language('en', {
|
454 |
-
delimiters: {
|
455 |
-
thousands: ',',
|
456 |
-
decimal: '.'
|
457 |
-
},
|
458 |
-
abbreviations: {
|
459 |
-
thousand: 'k',
|
460 |
-
million: 'm',
|
461 |
-
billion: 'b',
|
462 |
-
trillion: 't'
|
463 |
-
},
|
464 |
-
ordinal: function (number) {
|
465 |
-
var b = number % 10;
|
466 |
-
return (~~ (number % 100 / 10) === 1) ? 'th' :
|
467 |
-
(b === 1) ? 'st' :
|
468 |
-
(b === 2) ? 'nd' :
|
469 |
-
(b === 3) ? 'rd' : 'th';
|
470 |
-
},
|
471 |
-
currency: {
|
472 |
-
symbol: '$'
|
473 |
-
}
|
474 |
-
});
|
475 |
-
|
476 |
-
numeral.zeroFormat = function (format) {
|
477 |
-
zeroFormat = typeof(format) === 'string' ? format : null;
|
478 |
-
};
|
479 |
-
|
480 |
-
numeral.defaultFormat = function (format) {
|
481 |
-
defaultFormat = typeof(format) === 'string' ? format : '0.0';
|
482 |
-
};
|
483 |
-
|
484 |
-
/************************************
|
485 |
-
Helpers
|
486 |
-
************************************/
|
487 |
-
|
488 |
-
function loadLanguage(key, values) {
|
489 |
-
languages[key] = values;
|
490 |
-
}
|
491 |
-
|
492 |
-
/************************************
|
493 |
-
Floating-point helpers
|
494 |
-
************************************/
|
495 |
-
|
496 |
-
// The floating-point helper functions and implementation
|
497 |
-
// borrows heavily from sinful.js: http://guipn.github.io/sinful.js/
|
498 |
-
|
499 |
-
/**
|
500 |
-
* Array.prototype.reduce for browsers that don't support it
|
501 |
-
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce#Compatibility
|
502 |
-
*/
|
503 |
-
if ('function' !== typeof Array.prototype.reduce) {
|
504 |
-
Array.prototype.reduce = function (callback, opt_initialValue) {
|
505 |
-
'use strict';
|
506 |
-
|
507 |
-
if (null === this || 'undefined' === typeof this) {
|
508 |
-
// At the moment all modern browsers, that support strict mode, have
|
509 |
-
// native implementation of Array.prototype.reduce. For instance, IE8
|
510 |
-
// does not support strict mode, so this check is actually useless.
|
511 |
-
throw new TypeError('Array.prototype.reduce called on null or undefined');
|
512 |
-
}
|
513 |
-
|
514 |
-
if ('function' !== typeof callback) {
|
515 |
-
throw new TypeError(callback + ' is not a function');
|
516 |
-
}
|
517 |
-
|
518 |
-
var index,
|
519 |
-
value,
|
520 |
-
length = this.length >>> 0,
|
521 |
-
isValueSet = false;
|
522 |
-
|
523 |
-
if (1 < arguments.length) {
|
524 |
-
value = opt_initialValue;
|
525 |
-
isValueSet = true;
|
526 |
-
}
|
527 |
-
|
528 |
-
for (index = 0; length > index; ++index) {
|
529 |
-
if (this.hasOwnProperty(index)) {
|
530 |
-
if (isValueSet) {
|
531 |
-
value = callback(value, this[index], index, this);
|
532 |
-
} else {
|
533 |
-
value = this[index];
|
534 |
-
isValueSet = true;
|
535 |
-
}
|
536 |
-
}
|
537 |
-
}
|
538 |
-
|
539 |
-
if (!isValueSet) {
|
540 |
-
throw new TypeError('Reduce of empty array with no initial value');
|
541 |
-
}
|
542 |
-
|
543 |
-
return value;
|
544 |
-
};
|
545 |
-
}
|
546 |
-
|
547 |
-
|
548 |
-
/**
|
549 |
-
* Computes the multiplier necessary to make x >= 1,
|
550 |
-
* effectively eliminating miscalculations caused by
|
551 |
-
* finite precision.
|
552 |
-
*/
|
553 |
-
function multiplier(x) {
|
554 |
-
var parts = x.toString().split('.');
|
555 |
-
if (parts.length < 2) {
|
556 |
-
return 1;
|
557 |
-
}
|
558 |
-
return Math.pow(10, parts[1].length);
|
559 |
-
}
|
560 |
-
|
561 |
-
/**
|
562 |
-
* Given a variable number of arguments, returns the maximum
|
563 |
-
* multiplier that must be used to normalize an operation involving
|
564 |
-
* all of them.
|
565 |
-
*/
|
566 |
-
function correctionFactor() {
|
567 |
-
var args = Array.prototype.slice.call(arguments);
|
568 |
-
return args.reduce(function (prev, next) {
|
569 |
-
var mp = multiplier(prev),
|
570 |
-
mn = multiplier(next);
|
571 |
-
return mp > mn ? mp : mn;
|
572 |
-
}, -Infinity);
|
573 |
-
}
|
574 |
-
|
575 |
-
|
576 |
-
/************************************
|
577 |
-
Numeral Prototype
|
578 |
-
************************************/
|
579 |
-
|
580 |
-
|
581 |
-
numeral.fn = Numeral.prototype = {
|
582 |
-
|
583 |
-
clone : function () {
|
584 |
-
return numeral(this);
|
585 |
-
},
|
586 |
-
|
587 |
-
format : function (inputString, roundingFunction, currencySymbol) {
|
588 |
-
return formatNumeral(this,
|
589 |
-
inputString ? inputString : defaultFormat,
|
590 |
-
(roundingFunction !== undefined) ? roundingFunction : Math.round,
|
591 |
-
currencySymbol ? currencySymbol : null
|
592 |
-
);
|
593 |
-
},
|
594 |
-
|
595 |
-
unformat : function (inputString) {
|
596 |
-
if (Object.prototype.toString.call(inputString) === '[object Number]') {
|
597 |
-
return inputString;
|
598 |
-
}
|
599 |
-
return unformatNumeral(this, inputString ? inputString : defaultFormat);
|
600 |
-
},
|
601 |
-
|
602 |
-
value : function () {
|
603 |
-
return this._value;
|
604 |
-
},
|
605 |
-
|
606 |
-
valueOf : function () {
|
607 |
-
return this._value;
|
608 |
-
},
|
609 |
-
|
610 |
-
set : function (value) {
|
611 |
-
this._value = Number(value);
|
612 |
-
return this;
|
613 |
-
},
|
614 |
-
|
615 |
-
add : function (value) {
|
616 |
-
var corrFactor = correctionFactor.call(null, this._value, value);
|
617 |
-
function cback(accum, curr, currI, O) {
|
618 |
-
return accum + corrFactor * curr;
|
619 |
-
}
|
620 |
-
this._value = [this._value, value].reduce(cback, 0) / corrFactor;
|
621 |
-
return this;
|
622 |
-
},
|
623 |
-
|
624 |
-
subtract : function (value) {
|
625 |
-
var corrFactor = correctionFactor.call(null, this._value, value);
|
626 |
-
function cback(accum, curr, currI, O) {
|
627 |
-
return accum - corrFactor * curr;
|
628 |
-
}
|
629 |
-
this._value = [value].reduce(cback, this._value * corrFactor) / corrFactor;
|
630 |
-
return this;
|
631 |
-
},
|
632 |
-
|
633 |
-
multiply : function (value) {
|
634 |
-
function cback(accum, curr, currI, O) {
|
635 |
-
var corrFactor = correctionFactor(accum, curr);
|
636 |
-
return (accum * corrFactor) * (curr * corrFactor) /
|
637 |
-
(corrFactor * corrFactor);
|
638 |
-
}
|
639 |
-
this._value = [this._value, value].reduce(cback, 1);
|
640 |
-
return this;
|
641 |
-
},
|
642 |
-
|
643 |
-
divide : function (value) {
|
644 |
-
function cback(accum, curr, currI, O) {
|
645 |
-
var corrFactor = correctionFactor(accum, curr);
|
646 |
-
return (accum * corrFactor) / (curr * corrFactor);
|
647 |
-
}
|
648 |
-
this._value = [this._value, value].reduce(cback);
|
649 |
-
return this;
|
650 |
-
},
|
651 |
-
|
652 |
-
difference : function (value) {
|
653 |
-
return Math.abs(numeral(this._value).subtract(value).value());
|
654 |
-
}
|
655 |
-
|
656 |
-
};
|
657 |
-
|
658 |
-
/************************************
|
659 |
-
Exposing Numeral
|
660 |
-
************************************/
|
661 |
-
|
662 |
-
// CommonJS module is defined
|
663 |
-
if (hasModule) {
|
664 |
-
module.exports = numeral;
|
665 |
-
}
|
666 |
-
|
667 |
-
/*global ender:false */
|
668 |
-
if (typeof ender === 'undefined') {
|
669 |
-
// here, `this` means `window` in the browser, or `global` on the server
|
670 |
-
// add `numeral` as a global object via a string identifier,
|
671 |
-
// for Closure Compiler 'advanced' mode
|
672 |
-
this['numeral'] = numeral;
|
673 |
-
}
|
674 |
-
|
675 |
-
/*global define:false */
|
676 |
-
if (typeof define === 'function' && define.amd) {
|
677 |
-
define([], function () {
|
678 |
-
return numeral;
|
679 |
-
});
|
680 |
-
}
|
681 |
-
}).call(this);
|
1 |
+
(function(){var e,n={},t="en",r=null,i="0,0",a="undefined"!=typeof module&&module.exports;function l(e){this._value=e}function u(e,n,t,r){var i,a,l=Math.pow(10,n);return a=(t(e*l)/l).toFixed(n),r&&(i=new RegExp("0{1,"+r+"}$"),a=a.replace(i,"")),a}function o(e,r,i,a){var l,u,o,f,s;return r.indexOf("$")>-1?l=function(e,r,i,a){var l,u,o=r.indexOf("$"),f=r.indexOf("("),s=r.indexOf("-"),h="",d=a||n[t].currency.symbol;r.indexOf(" $")>-1?(h=" ",r=r.replace(" $","")):r.indexOf("$ ")>-1?(h=" ",r=r.replace("$ ","")):r=r.replace("$","");u=c(e._value,r,i),o<=1?u.indexOf("(")>-1||u.indexOf("-")>-1?(u=u.split(""),l=1,(o<f||o<s)&&(l=0),u.splice(l,0,d+h),u=u.join("")):u=d+h+u:u.indexOf(")")>-1?((u=u.split("")).splice(-1,0,h+d),u=u.join("")):u=u+h+d;return u}(e,r,i,a):r.indexOf("%")>-1?l=function(e,n,t){var r,i="",a=100*e._value;n.indexOf(" %")>-1?(i=" ",n=n.replace(" %","")):n=n.replace("%","");(r=c(a,n,t)).indexOf(")")>-1?((r=r.split("")).splice(-1,0,i+"%"),r=r.join("")):r=r+i+"%";return r}(e,r,i):r.indexOf(":")>-1?(u=e,o=Math.floor(u._value/60/60),f=Math.floor((u._value-60*o*60)/60),s=Math.round(u._value-60*o*60-60*f),l=o+":"+(f<10?"0"+f:f)+":"+(s<10?"0"+s:s)):l=c(e._value,r,i),l}function f(e,i){var a,l,u,o,f,c=i,s=["KB","MB","GB","TB","PB","EB","ZB","YB"],h=!1;if(i.indexOf(":")>-1)e._value=function(e){var n=e.split(":"),t=0;3===n.length?(t+=60*Number(n[0])*60,t+=60*Number(n[1]),t+=Number(n[2])):2===n.length&&(t+=60*Number(n[0]),t+=Number(n[1]));return Number(t)}(i);else if(i===r)e._value=0;else{for("."!==n[t].delimiters.decimal&&(i=i.replace(/\./g,"").replace(n[t].delimiters.decimal,".")),a=new RegExp("[^a-zA-Z]"+n[t].abbreviations.thousand+"(?:\\)|(\\"+n[t].currency.symbol+")?(?:\\))?)?$"),l=new RegExp("[^a-zA-Z]"+n[t].abbreviations.million+"(?:\\)|(\\"+n[t].currency.symbol+")?(?:\\))?)?$"),u=new RegExp("[^a-zA-Z]"+n[t].abbreviations.billion+"(?:\\)|(\\"+n[t].currency.symbol+")?(?:\\))?)?$"),o=new RegExp("[^a-zA-Z]"+n[t].abbreviations.trillion+"(?:\\)|(\\"+n[t].currency.symbol+")?(?:\\))?)?$"),f=0;f<=s.length&&!(h=i.indexOf(s[f])>-1&&Math.pow(1024,f+1));f++);e._value=(h||1)*(c.match(a)?Math.pow(10,3):1)*(c.match(l)?Math.pow(10,6):1)*(c.match(u)?Math.pow(10,9):1)*(c.match(o)?Math.pow(10,12):1)*(i.indexOf("%")>-1?.01:1)*((i.split("-").length+Math.min(i.split("(").length-1,i.split(")").length-1))%2?1:-1)*Number(i.replace(/[^0-9\.]+/g,"")),e._value=h?Math.ceil(e._value):e._value}return e._value}function c(e,i,a){var l,o,f,c,s,h,d=!1,p=!1,v=!1,b="",m=!1,g=!1,x=!1,w=!1,y=!1,O="",M="",_=Math.abs(e),B=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],N="",$=!1;if(0===e&&null!==r)return r;if(i.indexOf("(")>-1?(d=!0,i=i.slice(1,-1)):i.indexOf("+")>-1&&(p=!0,i=i.replace(/\+/g,"")),i.indexOf("a")>-1&&(m=i.indexOf("aK")>=0,g=i.indexOf("aM")>=0,x=i.indexOf("aB")>=0,w=i.indexOf("aT")>=0,y=m||g||x||w,i.indexOf(" a")>-1?(b=" ",i=i.replace(" a","")):i=i.replace("a",""),_>=Math.pow(10,12)&&!y||w?(b+=n[t].abbreviations.trillion,e/=Math.pow(10,12)):_<Math.pow(10,12)&&_>=Math.pow(10,9)&&!y||x?(b+=n[t].abbreviations.billion,e/=Math.pow(10,9)):_<Math.pow(10,9)&&_>=Math.pow(10,6)&&!y||g?(b+=n[t].abbreviations.million,e/=Math.pow(10,6)):(_<Math.pow(10,6)&&_>=Math.pow(10,3)&&!y||m)&&(b+=n[t].abbreviations.thousand,e/=Math.pow(10,3))),i.indexOf("b")>-1)for(i.indexOf(" b")>-1?(O=" ",i=i.replace(" b","")):i=i.replace("b",""),f=0;f<=B.length;f++)if(l=Math.pow(1024,f),o=Math.pow(1024,f+1),e>=l&&e<o){O+=B[f],l>0&&(e/=l);break}return i.indexOf("o")>-1&&(i.indexOf(" o")>-1?(M=" ",i=i.replace(" o","")):i=i.replace("o",""),M+=n[t].ordinal(e)),i.indexOf("[.]")>-1&&(v=!0,i=i.replace("[.]",".")),c=e.toString().split(".")[0],s=i.split(".")[1],h=i.indexOf(","),s?(c=(N=s.indexOf("[")>-1?u(e,(s=(s=s.replace("]","")).split("["))[0].length+s[1].length,a,s[1].length):u(e,s.length,a)).split(".")[0],N=N.split(".")[1].length?n[t].delimiters.decimal+N.split(".")[1]:"",v&&0===Number(N.slice(1))&&(N="")):c=u(e,null,a),c.indexOf("-")>-1&&(c=c.slice(1),$=!0),h>-1&&(c=c.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+n[t].delimiters.thousands)),0===i.indexOf(".")&&(c=""),(d&&$?"(":"")+(!d&&$?"-":"")+(!$&&p?"+":"")+c+N+(M||"")+(b||"")+(O||"")+(d&&$?")":"")}function s(e){var n=e.toString().split(".");return n.length<2?1:Math.pow(10,n[1].length)}function h(){return Array.prototype.slice.call(arguments).reduce(function(e,n){var t=s(e),r=s(n);return t>r?t:r},-1/0)}(e=function(n){return e.isNumeral(n)?n=n.value():0===n||void 0===n?n=0:Number(n)||(n=e.fn.unformat(n)),new l(Number(n))}).version="1.5.3",e.isNumeral=function(e){return e instanceof l},e.language=function(r,i){if(!r)return t;if(r&&!i){if(!n[r])throw new Error("Unknown language : "+r);t=r}var a;return!i&&n[r]||(a=i,n[r]=a),e},e.languageData=function(e){if(!e)return n[t];if(!n[e])throw new Error("Unknown language : "+e);return n[e]},e.language("en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){var n=e%10;return 1==~~(e%100/10)?"th":1===n?"st":2===n?"nd":3===n?"rd":"th"},currency:{symbol:"$"}}),e.zeroFormat=function(e){r="string"==typeof e?e:null},e.defaultFormat=function(e){i="string"==typeof e?e:"0.0"},"function"!=typeof Array.prototype.reduce&&(Array.prototype.reduce=function(e,n){"use strict";if(null===this||void 0===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof e)throw new TypeError(e+" is not a function");var t,r,i=this.length>>>0,a=!1;for(1<arguments.length&&(r=n,a=!0),t=0;i>t;++t)this.hasOwnProperty(t)&&(a?r=e(r,this[t],t,this):(r=this[t],a=!0));if(!a)throw new TypeError("Reduce of empty array with no initial value");return r}),e.fn=l.prototype={clone:function(){return e(this)},format:function(e,n,t){return o(this,e||i,void 0!==n?n:Math.round,t||null)},unformat:function(e){return"[object Number]"===Object.prototype.toString.call(e)?e:f(this,e||i)},value:function(){return this._value},valueOf:function(){return this._value},set:function(e){return this._value=Number(e),this},add:function(e){var n=h.call(null,this._value,e);return this._value=[this._value,e].reduce(function(e,t,r,i){return e+n*t},0)/n,this},subtract:function(e){var n=h.call(null,this._value,e);return this._value=[e].reduce(function(e,t,r,i){return e-n*t},this._value*n)/n,this},multiply:function(e){return this._value=[this._value,e].reduce(function(e,n,t,r){var i=h(e,n);return e*i*(n*i)/(i*i)},1),this},divide:function(e){return this._value=[this._value,e].reduce(function(e,n,t,r){var i=h(e,n);return e*i/(n*i)}),this},difference:function(n){return Math.abs(e(this._value).subtract(n).value())}},a&&(module.exports=e),"undefined"==typeof ender&&(this.numeral=e),"function"==typeof define&&define.amd&&define([],function(){return e})}).call(this);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/SupsysticTables/Tables/assets/libraries/ruleJS/ruleJS.lib.full.js
CHANGED
@@ -19650,38 +19650,39 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
19650 |
for (var i = 0; i < range.length; i++) {
|
19651 |
var newCriteria = criteria;
|
19652 |
|
19653 |
-
if
|
19654 |
-
|
19655 |
-
|
19656 |
-
newCriteria
|
19657 |
-
|
19658 |
-
|
19659 |
-
matches++;
|
19660 |
-
}
|
19661 |
-
} else {
|
19662 |
-
range[i] = range[i].toString().toUpperCase();
|
19663 |
-
|
19664 |
-
newCriteria = newCriteria.replace(/\*/g, function(match, contents, offset, s) {
|
19665 |
-
if(offset[contents - 1] != '~') {
|
19666 |
-
return '.*';
|
19667 |
}
|
19668 |
-
|
19669 |
-
|
19670 |
-
|
19671 |
-
|
19672 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19673 |
}
|
19674 |
-
return '?';
|
19675 |
-
});
|
19676 |
-
newCriteria = newCriteria.replace(/~\*/g, '\\*');
|
19677 |
-
newCriteria = newCriteria.replace(/~\?/g, '\\?');
|
19678 |
-
|
19679 |
-
if (range[i].match(new RegExp('^'+newCriteria+'$'))) {
|
19680 |
-
matches++;
|
19681 |
}
|
19682 |
}
|
19683 |
}
|
19684 |
-
|
19685 |
return matches;
|
19686 |
};
|
19687 |
|
@@ -20724,21 +20725,24 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
20724 |
};
|
20725 |
|
20726 |
Formula.SUBSTITUTE = function (text, old_text, new_text, occurrence) {
|
20727 |
-
|
20728 |
-
|
20729 |
-
|
20730 |
-
|
20731 |
-
|
20732 |
-
|
20733 |
-
|
20734 |
-
|
20735 |
-
|
20736 |
-
|
20737 |
-
|
20738 |
-
|
20739 |
-
|
20740 |
-
|
20741 |
-
|
|
|
|
|
|
|
20742 |
};
|
20743 |
|
20744 |
Formula.T = function (value) {
|
@@ -20746,9 +20750,8 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
20746 |
};
|
20747 |
|
20748 |
Formula.TEXT = function (value, format) {
|
20749 |
-
if (!value) {
|
20750 |
-
|
20751 |
-
}
|
20752 |
|
20753 |
if (value instanceof Object) {
|
20754 |
try {
|
@@ -20758,16 +20761,16 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
20758 |
return '';
|
20759 |
}
|
20760 |
}
|
20761 |
-
|
20762 |
if (typeof value === 'string') {
|
20763 |
-
if (!format) { return value; }
|
20764 |
return (format.indexOf('0') >= 0) ? numeral(value).format(format) : moment(new Date(value)).format(format);
|
20765 |
}
|
20766 |
-
|
|
|
|
|
|
|
20767 |
if (value.toString && typeof value.toString === 'function') {
|
20768 |
return value.toString();
|
20769 |
}
|
20770 |
-
|
20771 |
return '';
|
20772 |
};
|
20773 |
|
19650 |
for (var i = 0; i < range.length; i++) {
|
19651 |
var newCriteria = criteria;
|
19652 |
|
19653 |
+
if(range[i] !== null && range[i] !== undefined) {
|
19654 |
+
if (!isNaN(range[i]) && range[i] != '') {
|
19655 |
+
// it is number
|
19656 |
+
if (!/[<>!]/.test(newCriteria)) {
|
19657 |
+
newCriteria = newCriteria.replace('=', '');
|
19658 |
+
newCriteria = '=="'+newCriteria+'"';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19659 |
}
|
19660 |
+
if (eval(range[i]+newCriteria)) {
|
19661 |
+
matches++;
|
19662 |
+
}
|
19663 |
+
} else {
|
19664 |
+
// it is string
|
19665 |
+
range[i] = range[i].toString();
|
19666 |
+
newCriteria = newCriteria.replace(/\*/g, function(match, contents, offset, s) {
|
19667 |
+
if(offset[contents - 1] != '~') {
|
19668 |
+
return '.*';
|
19669 |
+
}
|
19670 |
+
return '*';
|
19671 |
+
});
|
19672 |
+
newCriteria = newCriteria.replace(/\?/g, function(match, contents, offset, s) {
|
19673 |
+
if(offset[contents - 1] != '~') {
|
19674 |
+
return '.{1}';
|
19675 |
+
}
|
19676 |
+
return '?';
|
19677 |
+
});
|
19678 |
+
newCriteria = newCriteria.replace(/~\*/g, '\\*');
|
19679 |
+
newCriteria = newCriteria.replace(/~\?/g, '\\?');
|
19680 |
+
if (range[i].match(new RegExp('^'+newCriteria+'$'), 'i')) {
|
19681 |
+
matches++;
|
19682 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19683 |
}
|
19684 |
}
|
19685 |
}
|
|
|
19686 |
return matches;
|
19687 |
};
|
19688 |
|
20725 |
};
|
20726 |
|
20727 |
Formula.SUBSTITUTE = function (text, old_text, new_text, occurrence) {
|
20728 |
+
if (typeof text === 'undefined' || typeof old_text === 'undefined' || typeof new_text === 'undefined') {
|
20729 |
+
return text;
|
20730 |
+
} else {
|
20731 |
+
old_text = String(old_text);
|
20732 |
+
new_text = String(new_text);
|
20733 |
+
if (typeof occurrence !== 'undefined') {
|
20734 |
+
var index = 0;
|
20735 |
+
var i = 0;
|
20736 |
+
while (i < text.length && text.indexOf(old_text, index) > 0) {
|
20737 |
+
index = text.indexOf(old_text, index + 1);
|
20738 |
+
i++;
|
20739 |
+
if (i === occurrence && index > 0) {
|
20740 |
+
return text.substring(0, index) + new_text + text.substring(index + old_text.length);
|
20741 |
+
}
|
20742 |
+
}
|
20743 |
+
}
|
20744 |
+
return text.replace(new RegExp(old_text, 'g'), new_text);
|
20745 |
+
}
|
20746 |
};
|
20747 |
|
20748 |
Formula.T = function (value) {
|
20750 |
};
|
20751 |
|
20752 |
Formula.TEXT = function (value, format) {
|
20753 |
+
if (!value) { return ''; }
|
20754 |
+
if (!format) { return value; }
|
|
|
20755 |
|
20756 |
if (value instanceof Object) {
|
20757 |
try {
|
20761 |
return '';
|
20762 |
}
|
20763 |
}
|
|
|
20764 |
if (typeof value === 'string') {
|
|
|
20765 |
return (format.indexOf('0') >= 0) ? numeral(value).format(format) : moment(new Date(value)).format(format);
|
20766 |
}
|
20767 |
+
if (typeof value === 'number') { // number or time in milliseconds since January 1, 1970, 00:00:00 UTC
|
20768 |
+
// moment needs time in seconds as it is
|
20769 |
+
return (format.indexOf('0') >= 0) ? numeral(value).format(format) : moment(new Date(value*86400*1000)).utc().format(format);
|
20770 |
+
}
|
20771 |
if (value.toString && typeof value.toString === 'function') {
|
20772 |
return value.toString();
|
20773 |
}
|
|
|
20774 |
return '';
|
20775 |
};
|
20776 |
|
src/SupsysticTables/Tables/views/notice/review.twig
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
<h3>Hey, I noticed you just use Tables by Supsystic over a week – that’s awesome!</h3>
|
3 |
<p>Could you please do me a BIG favor and give it a 5-star rating on WordPress? Just to help us spread the word and boost our motivation.</p>
|
4 |
<p>
|
5 |
-
<a class="button button-primary" href="//wordpress.org/support/view/plugin-reviews/data-tables-generator-by-supsystic?rate=5#postform" target="_blank" data-response-code="hide">Ok, you deserve it</a>
|
6 |
-
<button class="button" href="#" data-response-code="later">Nope, maybe later</button>
|
7 |
-
<button class="button" href="#" data-response-code="done">I already did</button>
|
8 |
</p>
|
9 |
</div>
|
2 |
<h3>Hey, I noticed you just use Tables by Supsystic over a week – that’s awesome!</h3>
|
3 |
<p>Could you please do me a BIG favor and give it a 5-star rating on WordPress? Just to help us spread the word and boost our motivation.</p>
|
4 |
<p>
|
5 |
+
<a class="button button-primary" href="//wordpress.org/support/view/plugin-reviews/data-tables-generator-by-supsystic?rate=5#postform" target="_blank" data-response-code="hide" data-response-type="stars">Ok, you deserve it</a>
|
6 |
+
<button class="button" href="#" data-response-code="later" data-response-type="stars">Nope, maybe later</button>
|
7 |
+
<button class="button" href="#" data-response-code="done" data-response-type="stars">I already did</button>
|
8 |
</p>
|
9 |
</div>
|
src/SupsysticTables/Tables/views/notice/wooAds.twig
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="updated notice supsystic-admin-notice is-dismissible">
|
2 |
+
<h3>Hey, You know, now you can use Tables by Supsystic for WooCommerce. That’s awesome!</h3>
|
3 |
+
<p>To do this, install Pro version - WooCommerce Product Table.
|
4 |
+
This is perfect for online stores and commerce - more info <a href="https://supsystic.com/plugins/woocommerce-product-table/" target="_blank" >here</a>.</p>
|
5 |
+
<p>Sure, if you don't need it - just skip and continue enjoy our software!</p>
|
6 |
+
<p>
|
7 |
+
<a class="button button-primary" href="https://supsystic.com/plugins/woocommerce-product-table/" target="_blank" data-response-code="hide" data-response-type="wooads">Yes, install it</a>
|
8 |
+
<button class="button" href="#" data-response-code="later" data-response-type="wooads">Nope, maybe later</button>
|
9 |
+
<button class="button" href="#" data-response-code="done" data-response-type="wooads">I already did</button>
|
10 |
+
</p>
|
11 |
+
</div>
|
src/SupsysticTables/Tables/views/shortcode.twig
CHANGED
@@ -56,7 +56,6 @@
|
|
56 |
{% else %}
|
57 |
data-order="{{ data | e }}"
|
58 |
{% endif %}
|
59 |
-
|
60 |
{% if 'auto_width' not in context.table.settings.features | keys
|
61 |
and (context.table.settings.styling.compact is not defined
|
62 |
or (context.table.settings.styling.compact is defined and context.table.settings.tableWidthType != 'auto'))
|
@@ -71,7 +70,8 @@
|
|
71 |
and context.table.meta.columnsWidth[cellIndex] is defined
|
72 |
and context.table.meta.columnsWidth[cellIndex] is not empty
|
73 |
%}
|
74 |
-
style="min-width: {{ context.table.meta.columnsWidth[cellIndex] }}%; width: {{ context.table.meta.columnsWidth[cellIndex] }}%;"
|
|
|
75 |
{% else %}
|
76 |
style="width: {{ cell.width }}px"
|
77 |
{% endif %}
|
@@ -172,6 +172,9 @@
|
|
172 |
{% endif %}
|
173 |
>
|
174 |
{% block before_table %}{% endblock %}
|
|
|
|
|
|
|
175 |
{% block caption_fixed %}
|
176 |
{% if fixedRowsCols == true and isCaption %}
|
177 |
<div class="supsystic-table-caption">
|
@@ -198,6 +201,7 @@
|
|
198 |
data-date-format="{{ table.settings.dateFormat | default('DD.MM.YYYY') }}"
|
199 |
data-time-format="{{ table.settings.timeFormat | default('HH:mm') }}"
|
200 |
data-features="{{ table.settings.features | keys | json_encode | e }}"
|
|
|
201 |
{% if 'lightboxImg' in table.settings.styling | keys %}
|
202 |
data-lightbox-img="{{ table.settings.styling.lightboxImg }}"
|
203 |
{% endif %}
|
@@ -279,6 +283,10 @@
|
|
279 |
{% if tableWidth is defined and tableWidth == 'auto' %}
|
280 |
style="width: {{ tableWidth }};"
|
281 |
{% endif %}
|
|
|
|
|
|
|
|
|
282 |
>
|
283 |
|
284 |
{% block caption %}
|
56 |
{% else %}
|
57 |
data-order="{{ data | e }}"
|
58 |
{% endif %}
|
|
|
59 |
{% if 'auto_width' not in context.table.settings.features | keys
|
60 |
and (context.table.settings.styling.compact is not defined
|
61 |
or (context.table.settings.styling.compact is defined and context.table.settings.tableWidthType != 'auto'))
|
70 |
and context.table.meta.columnsWidth[cellIndex] is defined
|
71 |
and context.table.meta.columnsWidth[cellIndex] is not empty
|
72 |
%}
|
73 |
+
{#style="min-width: {{ context.table.meta.columnsWidth[cellIndex] }}%; width: {{ context.table.meta.columnsWidth[cellIndex] }}%;"#}
|
74 |
+
style="min-width: {{ context.table.meta.columnsWidth[cellIndex] }}%; "
|
75 |
{% else %}
|
76 |
style="width: {{ cell.width }}px"
|
77 |
{% endif %}
|
172 |
{% endif %}
|
173 |
>
|
174 |
{% block before_table %}{% endblock %}
|
175 |
+
{% if table.woo_settings is defined and table.woo_settings.woocommerce.multiple_add_cart =='on' %}
|
176 |
+
<div class="stAddMultyWrapper"><button class="button stAddMultyButton stHidden" data-table-id="{{ table.id }}"><span>{{ environment.translate('Add selected to cart') }}</span></button></div>
|
177 |
+
{% endif %}
|
178 |
{% block caption_fixed %}
|
179 |
{% if fixedRowsCols == true and isCaption %}
|
180 |
<div class="supsystic-table-caption">
|
201 |
data-date-format="{{ table.settings.dateFormat | default('DD.MM.YYYY') }}"
|
202 |
data-time-format="{{ table.settings.timeFormat | default('HH:mm') }}"
|
203 |
data-features="{{ table.settings.features | keys | json_encode | e }}"
|
204 |
+
data-search-value="{{ table.search_value }}"
|
205 |
{% if 'lightboxImg' in table.settings.styling | keys %}
|
206 |
data-lightbox-img="{{ table.settings.styling.lightboxImg }}"
|
207 |
{% endif %}
|
283 |
{% if tableWidth is defined and tableWidth == 'auto' %}
|
284 |
style="width: {{ tableWidth }};"
|
285 |
{% endif %}
|
286 |
+
|
287 |
+
{% if table.woo_settings is defined and table.woo_settings.woocommerce.multiple_add_cart =='on' %}
|
288 |
+
data-multiple-add-cart="{{ table.woo_settings.woocommerce.multiple_add_cart }}"
|
289 |
+
{% endif %}
|
290 |
>
|
291 |
|
292 |
{% block caption %}
|
src/SupsysticTables/Tables/views/view.twig
CHANGED
@@ -32,14 +32,7 @@
|
|
32 |
</select>
|
33 |
</div>
|
34 |
<div class="col-md-1 col-sm-1 col-xs-2 stbTooltipInfo">
|
35 |
-
{{ tooltip.icon('
|
36 |
-
<b>Table Shortcode:</b> lets display the table in the site content.<br /><br />
|
37 |
-
<b>Table Part Shortcode:</b> lets display just a part of table in the site content.<br /><br />
|
38 |
-
<b>Value Shortcode:</b> lets display a value of single table cell in the site content.<br /><br />
|
39 |
-
<b>Cell Shortcode:</b> lets display a table with single cell in the site content.<br /><br />
|
40 |
-
<b>History Shortcode:</b> lets display an individual table data for each autorized user. Users can change the table data through editable fields on frontend. All user tables can be shown on Table History tab.<br /><br />
|
41 |
-
<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)
|
42 |
-
}}
|
43 |
</div>
|
44 |
{% for index, option in shortcodeOptions %}
|
45 |
<div class="col-md-8 col-sm-6 col-xs-10 stbCopyTextCodeShowBlock ShortCodeFirstBlock" data-for="{{ index }}" style="display: none;">
|
@@ -786,6 +779,36 @@
|
|
786 |
>
|
787 |
</div>
|
788 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
789 |
<div class="setting-wrapper row searching-options"
|
790 |
{% if table.settings.features.searching is not defined %}
|
791 |
style="display:none"
|
@@ -932,6 +955,18 @@
|
|
932 |
<input type="checkbox" disabled="disabled" id="save-editable-fields-unavailable"/>
|
933 |
</div>
|
934 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
935 |
<div class="setting-wrapper row">
|
936 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
937 |
<label for="editable-fields-logged-in-unavailable">
|
32 |
</select>
|
33 |
</div>
|
34 |
<div class="col-md-1 col-sm-1 col-xs-2 stbTooltipInfo">
|
35 |
+
{{ tooltip.icon("<b>Table Shortcode:</b> lets display the table in the site content.<br /><br /><b>Table Part Shortcode:</b> lets display just a part of table in the site content. You can display several rows or cols, for example, 'row=1,2,3', or set diapazone: 'row=1-3' or 'row=1-3,6'.<br /><br /><b>Value Shortcode:</b> lets display a value of single table cell in the site content.<br /><br /><b>Cell Shortcode:</b> lets display a table with single cell in the site content.<br /><br /><b>History Shortcode:</b> lets display an individual table data for each autorized user. Users can change the table data through editable fields on frontend. All user tables can be shown on Table History tab.<br /><br /><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) }}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
</div>
|
37 |
{% for index, option in shortcodeOptions %}
|
38 |
<div class="col-md-8 col-sm-6 col-xs-10 stbCopyTextCodeShowBlock ShortCodeFirstBlock" data-for="{{ index }}" style="display: none;">
|
779 |
>
|
780 |
</div>
|
781 |
</div>
|
782 |
+
<div class="setting-wrapper row searching-options"
|
783 |
+
{% if table.settings.features.searching is not defined
|
784 |
+
or (table.settings.features.searching is defined and table.settings.searching.columnSearch is not defined)
|
785 |
+
%}
|
786 |
+
style="display:none"
|
787 |
+
{% endif %}
|
788 |
+
>
|
789 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
790 |
+
<label for="features-search-by-column-position">
|
791 |
+
{{ environment.translate('Location of Search Fields') }}
|
792 |
+
{{ tooltip.icon(environment.translate('Here you can choose where the column search fields will be: at the top or bottom of the table.')) }}
|
793 |
+
</label>
|
794 |
+
</div>
|
795 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
796 |
+
<select name="searching[columnSearchPosition]" id="features-search-by-column-position" >
|
797 |
+
{% for value, name in {
|
798 |
+
'bottom': environment.translate('Bottom'),
|
799 |
+
'top': environment.translate('Top'),
|
800 |
+
} %}
|
801 |
+
<option value="{{ value }}"
|
802 |
+
{% if value == table.settings.searching.columnSearchPosition|default('Bottom') %}
|
803 |
+
selected="selected"
|
804 |
+
{% endif %}
|
805 |
+
>
|
806 |
+
{{ name }}
|
807 |
+
</option>
|
808 |
+
{% endfor %}
|
809 |
+
</select>
|
810 |
+
</div>
|
811 |
+
</div>
|
812 |
<div class="setting-wrapper row searching-options"
|
813 |
{% if table.settings.features.searching is not defined %}
|
814 |
style="display:none"
|
955 |
<input type="checkbox" disabled="disabled" id="save-editable-fields-unavailable"/>
|
956 |
</div>
|
957 |
</div>
|
958 |
+
<div class="setting-wrapper row">
|
959 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
960 |
+
<label for="mark-last-edited-cell-unavailable">
|
961 |
+
{{ environment.translate('Mark Last Edited Cell') }}
|
962 |
+
{{ tooltip.icon(environment.translate('Adds a symbol ✓ to last edited cell.')) }}
|
963 |
+
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'mark_last_edited_cell' }) }}">{{ environment.translate('PRO option') }}</a>
|
964 |
+
</label>
|
965 |
+
</div>
|
966 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
967 |
+
<input type="checkbox" disabled="disabled" id="mark-last-edited-cell-unavailable"/>
|
968 |
+
</div>
|
969 |
+
</div>
|
970 |
<div class="setting-wrapper row">
|
971 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
972 |
<label for="editable-fields-logged-in-unavailable">
|
src/SupsysticTables/Woocommerce/Module.php
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Class SupsysticTables_Diagram_Module
|
4 |
+
*/
|
5 |
+
class SupsysticTables_Woocommerce_Module extends SupsysticTables_Core_BaseModule
|
6 |
+
{
|
7 |
+
/**
|
8 |
+
* {@inheritdoc}
|
9 |
+
*/
|
10 |
+
public function onInit()
|
11 |
+
{
|
12 |
+
parent::onInit();
|
13 |
+
|
14 |
+
$this->renderWoocommerceSection();
|
15 |
+
}
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Runs the callbacks after the table editor tabs rendered.
|
19 |
+
*/
|
20 |
+
private function renderWoocommerceSection()
|
21 |
+
{
|
22 |
+
$dispatcher = $this->getEnvironment()->getDispatcher();
|
23 |
+
|
24 |
+
$dispatcher->on('tabs_rendered', array($this, 'afterTabsRendered'));
|
25 |
+
$dispatcher->on('tabs_content_rendered', array($this, 'afterTabsContentRendered'));
|
26 |
+
}
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Renders the "Diagrams" tab.
|
30 |
+
* @param \stdClass $table Current table
|
31 |
+
*/
|
32 |
+
public function afterTabsRendered()
|
33 |
+
{
|
34 |
+
$twig = $this->getEnvironment()->getTwig();
|
35 |
+
$twig->display('@woocommerce/partials/tab.twig', array());
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Renders the "Diagrams" tab content.
|
40 |
+
* @param \stdClass $table Current table
|
41 |
+
*/
|
42 |
+
public function afterTabsContentRendered($table)
|
43 |
+
{
|
44 |
+
$twig = $this->getEnvironment()->getTwig();
|
45 |
+
$dispatcher = $this->getEnvironment()->getDispatcher();
|
46 |
+
|
47 |
+
$twig->display(
|
48 |
+
$dispatcher->apply('woocommerce_tabs_content_template', array('@woocommerce/partials/tabContent.twig')),
|
49 |
+
$dispatcher->apply('woocommerce_tabs_content_data', array(array( 'table' => $table)))
|
50 |
+
);
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @return \SupsysticTables_Core_ModelsFactory
|
55 |
+
*/
|
56 |
+
protected function getModelsFactory()
|
57 |
+
{
|
58 |
+
/** @var SupsysticTables_Core_Module $core */
|
59 |
+
$core = $this->getEnvironment()->getModule('core');
|
60 |
+
|
61 |
+
return $core->getModelsFactory();
|
62 |
+
}
|
63 |
+
}
|
src/SupsysticTables/Woocommerce/assets/img/wooadsfool.gif
ADDED
Binary file
|
src/SupsysticTables/Woocommerce/assets/img/woocommerce.jpg
ADDED
Binary file
|
src/SupsysticTables/Woocommerce/views/partials/tab.twig
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<li>
|
2 |
+
<a href="#row-tab-woocommerce" class="button">
|
3 |
+
<i class="fa fa-fw fa-bar-chart"></i>
|
4 |
+
{{ environment.translate('Woocommerce') }}
|
5 |
+
</a>
|
6 |
+
</li>
|
src/SupsysticTables/Woocommerce/views/partials/tabContent.twig
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="row row-tab" id="row-tab-woocommerce">
|
2 |
+
{% block content %}
|
3 |
+
<div class="col-xs-12">
|
4 |
+
<a href="https://supsystic.com/plugins/woocommerce-product-table/" class="button button-hero" target="_blank">
|
5 |
+
{{ environment.translate('Get Woo PRO') }}
|
6 |
+
</a>
|
7 |
+
<p class="description" style="font-size: 16px;">"WooCommerce" Feature allows you to create flexible, responsive WooCommerce Product Table and gives you full control over the columns properties. </p>
|
8 |
+
<p class="description" style="font-size: 16px; margin-bottom: 10px">List your products in any format: price list, order forms, product catalogs & more.</p>
|
9 |
+
</div>
|
10 |
+
<div class="col-xs-12">
|
11 |
+
<a href="https://supsystic.com/plugins/woocommerce-product-table/" target="_blank">
|
12 |
+
<img src="{{ environment.getModule('woocommerce').getLocationUrl() }}/assets/img/wooadsfool.gif" alt="Woo ads gig" title="Available in PRO version" style="width: 100%; height: auto;">
|
13 |
+
</a>
|
14 |
+
</div>
|
15 |
+
{% endblock %}
|
16 |
+
</div>
|
vendor/Rsc/Environment.php
CHANGED
@@ -251,6 +251,11 @@ class Rsc_Environment
|
|
251 |
return $this->config->get('is_pro', false);
|
252 |
}
|
253 |
|
|
|
|
|
|
|
|
|
|
|
254 |
/**
|
255 |
* Returns an instance of the Twig
|
256 |
* @return Twig_Environment
|
251 |
return $this->config->get('is_pro', false);
|
252 |
}
|
253 |
|
254 |
+
public function isWooPro()
|
255 |
+
{
|
256 |
+
return $this->config->get('is_woo_pro', false);
|
257 |
+
}
|
258 |
+
|
259 |
/**
|
260 |
* Returns an instance of the Twig
|
261 |
* @return Twig_Environment
|
vendor/Rsc/Mvc/Module.php
CHANGED
@@ -239,14 +239,22 @@ class Rsc_Mvc_Module
|
|
239 |
$path = $this->location;
|
240 |
$module = ucfirst($this->getModuleName());
|
241 |
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
|
251 |
$classname = $prefix . '_' . $module . '_Controller';
|
252 |
|
239 |
$path = $this->location;
|
240 |
$module = ucfirst($this->getModuleName());
|
241 |
|
242 |
+
$filterPathName = 'mvc_module_path_' . $this->environment->getPluginName() . '_' . $prefix;
|
243 |
+
$filterPrefixName = 'mvc_module_prefix_' . $this->environment->getPluginName() . '_' . $prefix;
|
244 |
+
|
245 |
+
if($this->overloadController){
|
246 |
+
if(!has_filter($filterPathName) && !has_filter($filterPrefixName)){
|
247 |
+
$prefix = $config->get('pro_modules_prefix');
|
248 |
+
$path = $config->get('pro_modules_path')
|
249 |
+
. '/'
|
250 |
+
. $prefix
|
251 |
+
. '/'
|
252 |
+
. $module;
|
253 |
+
}else{
|
254 |
+
$prefix = apply_filters($filterPrefixName, $prefix);
|
255 |
+
$path = apply_filters($filterPathName, $path);
|
256 |
+
}
|
257 |
+
}
|
258 |
|
259 |
$classname = $prefix . '_' . $module . '_Controller';
|
260 |
|
vendor/Rsc/Resolver.php
CHANGED
@@ -118,18 +118,23 @@ class Rsc_Resolver
|
|
118 |
try {
|
119 |
$loader = $this->environment->getTwig()->getLoader();
|
120 |
$loader->addPath($instance->getLocation() . '/views', strtolower($name));
|
121 |
-
|
122 |
// Add PRO module path to the @namespace.
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
} catch (Twig_Error_Loader $e) { }
|
134 |
|
135 |
$configLoader = $config->getLoader();
|
118 |
try {
|
119 |
$loader = $this->environment->getTwig()->getLoader();
|
120 |
$loader->addPath($instance->getLocation() . '/views', strtolower($name));
|
|
|
121 |
// Add PRO module path to the @namespace.
|
122 |
+
|
123 |
+
if ($instance->getOverloadController()){
|
124 |
+
$actionName = 'resolver_add_path_' . $this->environment->getPluginName() . '_' . $name;
|
125 |
+
if(!has_action($actionName)){
|
126 |
+
$prefix = $config->get('pro_modules_prefix');
|
127 |
+
$location = $config->get('pro_modules_path')
|
128 |
+
. DIRECTORY_SEPARATOR
|
129 |
+
. $prefix
|
130 |
+
. DIRECTORY_SEPARATOR
|
131 |
+
. ucfirst($name);
|
132 |
+
|
133 |
+
$loader->addPath($location . '/views', strtolower($name) . '_pro');
|
134 |
+
}else{
|
135 |
+
do_action($actionName);
|
136 |
+
}
|
137 |
+
}
|
138 |
} catch (Twig_Error_Loader $e) { }
|
139 |
|
140 |
$configLoader = $config->getLoader();
|