Version Description
/ 25.02.2019 = * Fix of formulas: SUMIF. Fix of applying of current date to datepicker for empty edited cells of Date type * Exclude images it tables from lazy loading by Jetpack
Download this release
Release Info
Developer | supsystic.com |
Plugin | Data Tables Generator by Supsystic |
Version | 1.9.71 |
Comparing to | |
See all releases |
Code changes from version 1.9.6 to 1.9.71
- app/SupsysticTables.php +1 -1
- app/assets/css/supsystic-ui.css +23 -0
- app/assets/img/kinsta_banner.png +0 -0
- index.php +1 -1
- readme.txt +314 -265
- screenshot-1.jpg +0 -0
- screenshot-2.png +0 -0
- screenshot-3.png +0 -0
- screenshot-4.png +0 -0
- src/SupsysticTables/Core/Module.php +8 -0
- src/SupsysticTables/Core/assets/js/core.js +159 -29
- src/SupsysticTables/Core/assets/js/create-table.js +1 -1
- src/SupsysticTables/Diagram/assets/img/diagrams-min.png +0 -0
- src/SupsysticTables/Diagram/views/partials/tabContent.twig +8 -2
- src/SupsysticTables/Featuredplugins/Controller.php +4 -1
- src/SupsysticTables/Featuredplugins/assets/css/admin.featured-plugins.css +4 -0
- src/SupsysticTables/Featuredplugins/views/index.twig +5 -3
- src/SupsysticTables/Overview/Controller.php +2 -2
- src/SupsysticTables/Overview/assets/css/overview.css +13 -17
- src/SupsysticTables/Overview/views/index.twig +21 -24
- src/SupsysticTables/Tables/Controller.php +5 -2
- src/SupsysticTables/Tables/Model/Tables.php +13 -12
- src/SupsysticTables/Tables/Module.php +49 -11
- src/SupsysticTables/Tables/assets/css/tables.shortcode.css +22 -9
- src/SupsysticTables/Tables/assets/css/tables.view.css +40 -7
- src/SupsysticTables/Tables/assets/img/database.gif +0 -0
- src/SupsysticTables/Tables/assets/img/history_table.gif +0 -0
- src/SupsysticTables/Tables/assets/js/editor/tables.editor.js +13 -18
- src/SupsysticTables/Tables/assets/js/editor/tables.editor.toolbar.js +7 -2
- src/SupsysticTables/Tables/assets/js/tables.model.js +76 -57
- src/SupsysticTables/Tables/assets/js/tables.shortcode.js +1 -110
- src/SupsysticTables/Tables/assets/js/tables.view.js +97 -24
- src/SupsysticTables/Tables/assets/libraries/ruleJS/ruleJS.js +2 -2
- src/SupsysticTables/Tables/assets/libraries/ruleJS/ruleJS.lib.full.js +37 -1
- src/SupsysticTables/Tables/assets/libraries/slimscroll.min.js +16 -0
- src/SupsysticTables/Tables/views/partials/historyTabContent.twig +9 -3
- src/SupsysticTables/Tables/views/shortcode.twig +14 -7
- src/SupsysticTables/Tables/views/styles.twig +1 -1
- src/SupsysticTables/Tables/views/view.twig +488 -480
- src/SupsysticTables/Woocommerce/views/partials/tabContent.twig +4 -4
app/SupsysticTables.php
CHANGED
@@ -18,7 +18,7 @@ class SupsysticTables
|
|
18 |
|
19 |
$menuSlug = 'supsystic-tables';
|
20 |
$pluginPath = dirname(dirname(__FILE__));
|
21 |
-
|
22 |
|
23 |
/* Configure */
|
24 |
$environment->configure(
|
18 |
|
19 |
$menuSlug = 'supsystic-tables';
|
20 |
$pluginPath = dirname(dirname(__FILE__));
|
21 |
+
$environment = new Rsc_Environment('st', '1.9.71', $pluginPath);
|
22 |
|
23 |
/* Configure */
|
24 |
$environment->configure(
|
app/assets/css/supsystic-ui.css
CHANGED
@@ -33,6 +33,29 @@
|
|
33 |
font-size: 15px;
|
34 |
}
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
.supsystic-plugin a {
|
37 |
color: #4ae8ea;
|
38 |
}
|
33 |
font-size: 15px;
|
34 |
}
|
35 |
|
36 |
+
/* Helps avoid to conflict with some user themes */
|
37 |
+
.supsystic-plugin .supsystic-content .row {
|
38 |
+
display: block;
|
39 |
+
width: auto;
|
40 |
+
table-layout: unset;
|
41 |
+
}
|
42 |
+
|
43 |
+
.supsystic-plugin .supsystic-content .row > div {
|
44 |
+
display: block;
|
45 |
+
min-height: 1px;
|
46 |
+
padding-left: initial;
|
47 |
+
padding-right: initial;
|
48 |
+
}
|
49 |
+
|
50 |
+
.supsystic-plugin .supsystic-content .row > [class*="col-lg-"],
|
51 |
+
.supsystic-plugin .supsystic-content .row > [class*="col-md-"],
|
52 |
+
.supsystic-plugin .supsystic-content .row > [class*="col-sm-"],
|
53 |
+
.supsystic-plugin .supsystic-content .row > [class*="col-xs-"] {
|
54 |
+
padding-left: 15px;
|
55 |
+
padding-right: 15px;
|
56 |
+
}
|
57 |
+
/* Helps avoid to conflict with some user themes */
|
58 |
+
|
59 |
.supsystic-plugin a {
|
60 |
color: #4ae8ea;
|
61 |
}
|
app/assets/img/kinsta_banner.png
ADDED
Binary file
|
index.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin Name: Data Tables Generator by Supsystic
|
5 |
* Plugin URI: http://supsystic.com
|
6 |
* Description: Create and manage beautiful data tables with custom design. No HTML knowledge is required
|
7 |
-
* Version: 1.9.
|
8 |
* Author: supsystic.com
|
9 |
* Author URI: http://supsystic.com
|
10 |
*/
|
4 |
* Plugin Name: Data Tables Generator by Supsystic
|
5 |
* Plugin URI: http://supsystic.com
|
6 |
* Description: Create and manage beautiful data tables with custom design. No HTML knowledge is required
|
7 |
+
* Version: 1.9.71
|
8 |
* Author: supsystic.com
|
9 |
* Author URI: http://supsystic.com
|
10 |
*/
|
readme.txt
CHANGED
@@ -1,51 +1,55 @@
|
|
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
|
5 |
-
Stable tag: 1.9.
|
6 |
|
7 |
-
Create data tables with charts and graphs.
|
8 |
|
9 |
== Description ==
|
10 |
|
11 |
-
Create and manage tables from the admin panel quickly, easily and effectively.
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
*
|
18 |
-
* [
|
19 |
-
*
|
20 |
-
*
|
21 |
-
* [
|
22 |
-
*
|
|
|
|
|
|
|
|
|
23 |
* "Bold" and "Italic" font style support for the data table cells
|
24 |
-
*
|
25 |
-
* [
|
26 |
-
*
|
|
|
27 |
* SEO friendly, content of DataTable picked up by search engines
|
28 |
-
*
|
29 |
-
* [Google
|
30 |
-
* [
|
31 |
-
* [Data Table Examples](http://supsystic.com/data-tables-examples?utm_source=wordpress&utm_medium=
|
32 |
|
33 |
-
Data Tables Generator
|
34 |
-
|
35 |
-
HTML tables responsive and awesome on all devices
|
36 |
|
37 |
[youtube https://www.youtube.com/watch?v=RZ2I-aCiLZE]
|
38 |
|
39 |
= Data Tables Plugin Support =
|
40 |
|
41 |
-
If you have any
|
42 |
|
43 |
This [guide](https://supsystic.com/make-requests-support-service/ "How to Make Requests to Support Service") helps you provide the right information on your issue.
|
44 |
|
45 |
= Translate Data Table Generator by Supsystic to Your Language =
|
46 |
|
47 |
-
You have an incredible opportunity to get PRO version of the photo gallery for free. Just make translation of the Data Table Generator by Supsystic plugin!
|
48 |
[Contact Us](http://supsystic.com/plugins/data-tables-generator-plugin#contact?utm_source=wordpress&utm_medium=contactus&utm_campaign=datatables "Contact Us") if you are willing to translate the plugin.
|
|
|
49 |
Available data table plugin translations:
|
50 |
|
51 |
* English
|
@@ -66,104 +70,49 @@ Available data table plugin translations:
|
|
66 |
|
67 |
== Frequently Asked Questions ==
|
68 |
|
69 |
-
= How to
|
70 |
-
Different tutorials about data editing you can find [here](https://supsystic.com/docs/data-editor/ "Data editor")
|
71 |
-
|
72 |
-
= How to configure the Table? =
|
73 |
-
Main Table settings is [here](https://supsystic.com/docs/table-settings/ "Table settings")
|
74 |
-
|
75 |
-
= How to use HTML elements in tables? =
|
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
|
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 |
-
|
96 |
-
|
97 |
-
= To install a plugin via FTP, you must =
|
98 |
-
|
99 |
-
1. Download the Data Tables Generator by Supsystic plugin
|
100 |
-
2. Unarchive the plugin data-tables-generator-by-supsystic.zip
|
101 |
-
3. Copy the folder with plugin
|
102 |
-
4. Open ftp \wp-content\plugins\
|
103 |
-
5. Paste the plug-ins folder in the folder
|
104 |
-
6. Go to admin panel => open item "Plugins" => activate the Data Tables Generator plugin
|
105 |
-
|
106 |
-
== Other Notes ==
|
107 |
-
|
108 |
-
How to Create Data Tables in WordPress -
|
109 |
-
|
110 |
-
= Step 1: [Creating Responsive Data Table](https://supsystic.com/documentation/data-tables-getting-started/ "Data Tables Getting Started") =
|
111 |
-
|
112 |
-
1. On the left navigation menu click “Add new table (or spreadsheet)”.
|
113 |
-
2. Enter the title of table, set the number of Rows and Columns.
|
114 |
3. Click “OK”.
|
115 |
|
116 |
-
|
117 |
|
118 |
1. Click “Editor” spreadsheet button.
|
119 |
2. Fill the table.
|
120 |
-
3. [Customize the data](https://supsystic.com/docs/data-editor
|
121 |
-
|
122 |
-
* Add a spreadsheet row and column to the table
|
123 |
-
* set the font of text – bold and italic
|
124 |
-
* choose spreadsheet text and background color
|
125 |
-
* specify spreadsheet horizontal and vertical alignment
|
126 |
|
127 |
-
|
128 |
-
* cancel or restore your actions
|
129 |
-
* insert spreadsheet row or column where you want
|
130 |
-
* remove spreadsheet row or column
|
131 |
-
* enable “Read only” mode for any cells, rows and columns and even for the whole table
|
132 |
-
* set the alignment of text
|
133 |
|
134 |
-
|
135 |
-
=
|
|
|
136 |
|
137 |
-
|
138 |
-
|
139 |
|
140 |
-
|
141 |
|
142 |
-
|
|
|
|
|
143 |
|
144 |
-
|
145 |
-
|
146 |
-
* Footer – display the first row as a footer of a table
|
147 |
|
148 |
-
=
|
|
|
149 |
|
150 |
-
|
151 |
-
* Ordering – sort the table by the desired characteristics
|
152 |
-
* Pagination – enable page control, divide content of the table into discrete pages to let users tap through a series of related pages.
|
153 |
-
* Searching – enable table search.
|
154 |
-
* State saving – restore table state on page reload.
|
155 |
-
* Responsive Modes
|
156 |
-
* CSS Editor
|
157 |
-
* Frontend Export - CSV, Excel, PDF
|
158 |
-
* Save Editable Fields
|
159 |
-
* Export Tables - CSV, Excel, PDF
|
160 |
-
* Import Tables - CSV, Excel, Google Sheets
|
161 |
-
* Auto update from Google Sheets
|
162 |
-
* Diagrams
|
163 |
-
* Table History
|
164 |
|
165 |
-
|
166 |
|
|
|
|
|
|
|
|
|
167 |
* Borders – you can select “Cell” border – inserts a border around all four sides of each cell or “Row” border – inserts a border only above and under each row.
|
168 |
* Compact – reduce the amount of white space.
|
169 |
* Highlighting – enable row highlighting as the mouse pointer hovers over an object.
|
@@ -171,16 +120,72 @@ Important! After changing the plugin settings don’t forget to click “Save”
|
|
171 |
* Highlight the order column – highlight the column that the table data is currently ordered by.
|
172 |
* Row striping – for example – you use a table, but the table’s rows are difficult to separate visually, especially when there are many columns (or multiple lines to a row) – add row striping to a table, it will display rows background in two similar shades of color.
|
173 |
|
174 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
|
176 |
-
|
|
|
177 |
|
178 |
-
=
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
|
180 |
-
1. On the left navigation menu click “Tables”.
|
181 |
-
2. Find the table which you need and copy the shortcode.
|
182 |
-
3. Paste the shortcode into your post or page and Data Tables Generator by Supsystic will automatically create table on your page.
|
183 |
-
Important! Shortcode must be inserted in a text editor page, and not in the visual environment.
|
184 |
|
185 |
= Our plugins =
|
186 |
|
@@ -200,60 +205,104 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
200 |
* [Translate by Supsystic](https://wordpress.org/plugins/translate-by-supsystic/ "Translate by Supsystic")
|
201 |
|
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
|
213 |
-
* Removed slashes from cell after import from
|
214 |
|
215 |
|
216 |
= 1.9.5 / 12.12.2018 =
|
217 |
* Removed urldecode to prevent replace '+' to ' '
|
218 |
-
* Added
|
219 |
* Fix of SUBSTITUTE formula
|
220 |
* Fix of TEXT formula
|
221 |
* Work with woo plugin addon
|
222 |
-
* Improved vendor file to
|
223 |
-
* Removed unused
|
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
|
242 |
* minify numeral.min.js
|
243 |
-
* Added
|
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
|
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'
|
253 |
* Fixed add to cart with ssp
|
254 |
* Fix of applying of condition formatting
|
255 |
-
* Fixed preview and
|
256 |
-
* Fix of exporting table to PDF and Excel
|
257 |
* Fixed column search
|
258 |
* Add advertise for Woo Addon
|
259 |
|
@@ -264,18 +313,18 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
264 |
|
265 |
= 1.9.3 / 01.11.2018 =
|
266 |
* Add integration with Contact Form by Supsystic
|
267 |
-
* Fix of merging cells for fixed rows
|
268 |
-
* Fix of displaying
|
269 |
* Removed deprecated functions
|
270 |
-
* Added option to display col with merge cells in
|
271 |
* Added export only visible data
|
272 |
|
273 |
= 1.9.2 / 17.10.2018 =
|
274 |
* Fix displaying of lightbox popup for tables with fixed rows/columns
|
275 |
* Update of displaying of cell comments on mobile
|
276 |
* Fix displaying of editable fields
|
277 |
-
* Fix of exporting to pdf for tables in standard responsive mode with column for auto index in
|
278 |
-
* Fix position of caption for tables with fixed rows
|
279 |
|
280 |
= 1.9.1 / 09.10.2018 =
|
281 |
* Make correct sort order in History table mode
|
@@ -283,10 +332,10 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
283 |
* Fix minor issue with compatibility for PHP 7.2 or greater
|
284 |
* Fix percents in Header/Footer
|
285 |
* Add diagram option: Axe Х Mode
|
286 |
-
* Fix of applying of conditions data to cloned table
|
287 |
* Fix of multi-exporting of tables
|
288 |
-
* Fix of applying of font families to table
|
289 |
-
* Add ability to set style for chart points
|
290 |
* Fix of import data from CSS
|
291 |
|
292 |
= 1.9.0 / 30.08.2018 =
|
@@ -298,7 +347,7 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
298 |
* Fix creating multiple tables
|
299 |
* Changed CRUD for tables list
|
300 |
* Fix border-bottom for Fixed Columns
|
301 |
-
* Fixed default
|
302 |
* Fixed crud bugs
|
303 |
* Fix editable fields after export
|
304 |
* Fix export to PDF with multiple rows in a cell
|
@@ -313,18 +362,18 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
313 |
* For Source Option added the ability to Export data from an External DB and use SQL Query
|
314 |
* Fixed row headers in Editor Tab
|
315 |
* Added the ability to build a chart based on data from database tables
|
316 |
-
* Added
|
317 |
|
318 |
= 1.8.7 / 24.07.2018 =
|
319 |
* Fix Multisite Installation process
|
320 |
* Fixed the problem: Clicking on the cell raises the table up
|
321 |
-
* Fixes for
|
322 |
* Added the ability to edit database table data through the frontend fields
|
323 |
* Added the ability to create diagrams for cells with shortcodes
|
324 |
* Fix underline position by exporting to pdf
|
325 |
* Fix of dynamically applying of diagram's options to diagram preview
|
326 |
* Add support Strict Matching Option for SSP
|
327 |
-
* Fix of displaying merged cells in table footer
|
328 |
* Fix for GlobalSearch
|
329 |
|
330 |
= 1.8.6 / 03.07.2018 =
|
@@ -342,12 +391,12 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
342 |
* Added Turkish translation
|
343 |
* Add a special parameter Fixed Table Width for mobile devices
|
344 |
* Add option "Export Fonts to PDF"
|
345 |
-
* Fix of creating history for new table and new table user
|
346 |
* Change "Insert picture" toolbar button to "Insert media"
|
347 |
* Minor issues fix
|
348 |
|
349 |
= 1.8.4 / 30.05.2018 =
|
350 |
-
* Add of option to plugin settings: Disable WP Footer Fix
|
351 |
* Implemented automatic updating of diagrams when changing data in a table
|
352 |
* Added import/export Selectable Fields to/from Excel
|
353 |
* Fixed the width of text rows in mobile mode
|
@@ -355,20 +404,20 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
355 |
* Added search by table columns
|
356 |
* Fix header in Elementor tab
|
357 |
* Fix of conflict of dataTables script and http://downloads.mailchimp.com/js/signup-forms/popup/embed.js
|
358 |
-
* Fixed problems with first activation
|
359 |
* Fix of table sorting for empty cells
|
360 |
-
* Add ability to use letters as a column
|
361 |
-
* Fix of displaying column of Auto Index in mode "Create new column"
|
362 |
-
* Fix for displaying of caption for tables with fixed columns
|
363 |
* Fix of using of Frontend Fields this Fixed Columns option. Fix of "Use for Logged In Users Only" option for Frontend Fields
|
364 |
* Fix of Global Table Data Search
|
365 |
-
* Fix of displaying column of Auto Index in mode "Create new column"
|
366 |
* Add Pagination in Editor
|
367 |
* Fix saving ReadOnly for cells
|
368 |
-
* Fix for export table to PDF from admin area
|
369 |
* Fix data params for cells which use formulas, which depended on cells with shortcodes inside
|
370 |
-
* Fix of removing of table rows after
|
371 |
-
* Fix issue with
|
372 |
* Added ability to change the data range in the diagrams without re-creating
|
373 |
* Fix for conditions bug
|
374 |
|
@@ -390,15 +439,15 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
390 |
|
391 |
= 1.8.0 / 12.04.2018 =
|
392 |
* Add of ability to remove the escaping of HTML for the formulas results
|
393 |
-
* Update of way of parsing table formulas on frontend
|
394 |
* Fix of applying text wrapping for cells during table export
|
395 |
* Fix of applying underline text style for cells during table export
|
396 |
-
* Fixed auto width + scroll in frontend
|
397 |
* Fixed the grid offset of the table for Fixed Header
|
398 |
* Fixed the grid offset of the table for Fixed Footer
|
399 |
* Fix of applying underline text style for cells during table import
|
400 |
* Fix of applying text wrapping for cells during table import
|
401 |
-
* Fixed parameter "Save Frontend Fields", when
|
402 |
* Fixed bug with "Save Frontend Fields" param and exporting changed data
|
403 |
* Fixed Export to XSL and XSLX for invisible cells
|
404 |
* Added hidden rows and hidden columns for Excel import
|
@@ -408,22 +457,22 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
408 |
* Fixed javascript error for fnAdjustColumnSizing
|
409 |
* Fixed timing for header resizing
|
410 |
* Add Conditional Formatting feature
|
411 |
-
* Add of shortcode for output only selected rows and
|
412 |
* Fix of using of lower case in indexes of cells and in formulas in the table editor
|
413 |
* Add of ability to move columns and rows in the table editor manually
|
414 |
-
* Add ability to make the rows collapsible on frontend
|
415 |
-
* Add ability to convert content of cells to the icons with tooltips
|
416 |
-
* Update of icons of editor toolbar
|
417 |
* Fix PopUp integration
|
418 |
-
* Add ability to import
|
419 |
-
* Add of check for required extension ZipArchive for import from MS Excel
|
420 |
* Add ability to set period for creating of new table instance in history
|
421 |
-
* Fix of
|
422 |
-
* Update of using of features "removed cells" and "hidden cells" on frontend for tables without headers
|
423 |
* Fix styles for using auto table width with horizontal scroll
|
424 |
* Fix of displaying of diagrams
|
425 |
-
* Fix of displaying of pagination
|
426 |
-
* Update the tooltips for plugin settings page
|
427 |
|
428 |
= 1.7.9 / 09.03.2018 =
|
429 |
* Fix issue for base formulas and empty cells (they should be counted as Zero)
|
@@ -432,13 +481,13 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
432 |
|
433 |
= 1.7.8 / 07.03.2018 =
|
434 |
* Add ability to use simple calculation actions with dates
|
435 |
-
* Update of way to connect of table's translation
|
436 |
-
* Update of tooltips for the "Language and Text" tab in table admin area
|
437 |
* Fix for detecting browser language in Safari
|
438 |
* Fix for Norwegian-Nynorsk translation data
|
439 |
* Fix of formulas updating after rows / columns adding / removing
|
440 |
* Fix of formulas updating after pasting data from another cell
|
441 |
-
* Fix of correction of cells values during cells
|
442 |
* Fix of calculation of DATE formulas: DATE, DAY, DAYS, DAYS360, EDATE, EOMONTH, MONTH, HOUR, MINUTE, ISOWEEKNUM, TODAY, NOW, SUBTOTAL
|
443 |
* Fix of using empty cells in calculations
|
444 |
|
@@ -451,8 +500,8 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
451 |
* Small code fix
|
452 |
|
453 |
= 1.7.5 / 06.02.2018 =
|
454 |
-
* Hotfix of applying cell styles to table
|
455 |
-
* Fix of exporting table to PDF in admin area
|
456 |
* Minor issues fix
|
457 |
|
458 |
= 1.7.4 / 05.02.2018 =
|
@@ -460,23 +509,23 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
460 |
|
461 |
= 1.7.3 / 03.02.2018 =
|
462 |
* Hotfix for import formulas with links to another excel book's sheets
|
463 |
-
* Hotfix for
|
464 |
-
* Fix of displaying of sorting icons for tables with multiple
|
465 |
* Minor issues fix
|
466 |
|
467 |
= 1.7.2 / 29.01.2018 =
|
468 |
-
* Add ability to change
|
469 |
* Add ability to set paper size for PDF export
|
470 |
* Add new table formula: INDEX
|
471 |
* Fix of table header position if Auto Width option is enabled
|
472 |
-
* Fix of formula calculating for empty cell
|
473 |
* Fix of using auto table width with horizontal scroll
|
474 |
-
* Fix for displaying of caption for tables with fixed columns
|
475 |
-
* Fix for displaying of error message for table import
|
476 |
* Fix for displaying of merged cells
|
477 |
* Fix of formulas' parsing during table import from MS Excel
|
478 |
-
* Fix of determination of cell index for tables with large count of columns during exporting table to Excell
|
479 |
-
* Fix for insert link to table via toolbar
|
480 |
* Update the way of table export to PDF
|
481 |
* Update usability for table options in admin area
|
482 |
|
@@ -492,20 +541,20 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
492 |
* Add ability to make cell invisible
|
493 |
* Add option: Use Comma as Delimiter
|
494 |
* Add toolbar buttons: Font Family, Font Size
|
495 |
-
* Add ability to export formatted cell values without
|
496 |
-
* Add ability to applying font family and font size for cell during import and export from MS Excel
|
497 |
* Fix of displaying editable fields in the Automatic Columns Hiding response mode
|
498 |
* Fix of using pagination buttons on table preview
|
499 |
-
* Fix of applying background color to table cells in admin area
|
500 |
-
* Fix for update of rows height in table editor
|
501 |
* Fix of saving selected value of selects in the table cells for printing and exporting table
|
502 |
-
* Fix of determination of cell index on the frontend for tables with large count of columns
|
503 |
-
* Fix of using tab button for switch between editable fields on frontend
|
504 |
-
* Fix of calculating formulas on frontend
|
505 |
* Fix of styles for Diagram dialog window
|
506 |
-
* Fix for export table to PDF
|
507 |
* Fix of import from Google Spreadsheet
|
508 |
-
* Move table styles to page header
|
509 |
* Update tooltips information
|
510 |
|
511 |
= 1.6.9 / 08.11.2017 =
|
@@ -514,14 +563,14 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
514 |
* Added ability to disable or change table loader
|
515 |
* Added ability to disable table sorting by default
|
516 |
* Added ability to disable sorting for some columns
|
517 |
-
* Added ability to sort table by multiple columns
|
518 |
-
* Fixed table displaying through
|
519 |
* Added Custom Footer option
|
520 |
* Fixed table loading from cache
|
521 |
* Added SUPSYSTIC_STB_DEBUG constant
|
522 |
* Added ability to select all table rows and columns by clicking on left table corner
|
523 |
* Fixed displaying header styles to fixed header
|
524 |
-
* Fixed displaying header styles to fixed footer
|
525 |
* Fixed Table Actions History
|
526 |
* Small tooltips fix
|
527 |
|
@@ -530,7 +579,7 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
530 |
* Fixed small issue with our internal messaging system
|
531 |
* Added the table shortcode button to WP editor
|
532 |
* Fixed of displaying the table editor and table options in admin area
|
533 |
-
* Fixed of insert link to table cell
|
534 |
* Added Table History functionality
|
535 |
* Small styles fix
|
536 |
* Fixed of table rename
|
@@ -540,9 +589,9 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
540 |
|
541 |
= 1.6.7 / 05.10.2017 =
|
542 |
* Added new option for searching table contents through standard WordPress search
|
543 |
-
* Fixed bug with table when enabled Automatic column hiding option
|
544 |
* Added new "Table rows saved per request" option
|
545 |
-
* Fixed view of Settings tab
|
546 |
* Minor issues fix
|
547 |
|
548 |
= 1.6.6 / 20.09.2017 =
|
@@ -551,7 +600,7 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
551 |
* Added Persian and Greek language
|
552 |
* Added Spanish (Spain) language
|
553 |
* Fixed styles for Right-To-Left languages
|
554 |
-
* Fixed saving table if current saving process is in action
|
555 |
* Added ability to use browser language to translate table
|
556 |
* Updated of table initializing and translating
|
557 |
* Minor issues fix
|
@@ -574,7 +623,7 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
574 |
* Fixed incorrect insert column position
|
575 |
|
576 |
= 1.6.1 / 22.06.2017 =
|
577 |
-
* Added Catalan language
|
578 |
* Prevent the applying of third-party styles to the color picker
|
579 |
* Fixed Free and Pro plugin install Error message for Clean WP
|
580 |
* Fixed incorrect insert column position
|
@@ -594,14 +643,14 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
594 |
= 1.5.9 / 11.05.2017 =
|
595 |
* Add the History Table feature
|
596 |
* Add ability to choose rows and columns for diagrams' creating
|
597 |
-
* Fix for sorting: case insensitive, sorting of formatted data, sorting data with
|
598 |
* Fix of creating the table for diagrams in database
|
599 |
* Fix and optimize of saving of editable fields
|
600 |
* Updated Hungarian language
|
601 |
|
602 |
= 1.5.8 / 13.04.2017 =
|
603 |
* Added auto import from Google Spreadsheets
|
604 |
-
* Updated the Settings tab in admin area
|
605 |
* Split the table export to Excel on the formats: .xls and .xlsx
|
606 |
* Fix for table's import from MS Excel and Google Spreadsheets
|
607 |
* Fix of detect hyperlinks during import from Google Spreadsheets
|
@@ -611,10 +660,10 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
611 |
* Fix of tables creating in the database
|
612 |
|
613 |
= 1.5.7 / 14.03.2017 =
|
614 |
-
* Add ability to make the link from part of cell data
|
615 |
* Add option for tables import: Append to existing table data
|
616 |
* Update memory limits for PDF export
|
617 |
-
* Optimize displaying of large tables in admin area
|
618 |
* Compress table data keys for saving into database
|
619 |
* Fix of import table from Google Spreadsheets
|
620 |
* Fix of formulas: MID()
|
@@ -627,25 +676,25 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
627 |
* Fix for displaying table caption
|
628 |
|
629 |
= 1.5.6 / 22.02.2017 =
|
630 |
-
*
|
631 |
* Fix for shortcode for output table with single selected cell
|
632 |
* Fix for "Execute JS Script After Table Is Loaded" option
|
633 |
-
* Minor
|
634 |
|
635 |
= 1.5.5 / 21.02.2017 =
|
636 |
-
* Optimization of table's saving process and displaying the table's preview
|
637 |
-
* Add ability to output single cell of table by shortcode
|
638 |
* Add ability to output the cell value by shortcode for cells with formulas
|
639 |
-
* Add ability to execute js scripts after table was initialized
|
640 |
* Add ability to copy the cell styles during creating of rows and columns
|
641 |
* Add support of formulas: POISSON, LOOKUP, MID
|
642 |
-
* Add the highlighting of row and column for current cell in table editor
|
643 |
-
* Add
|
644 |
-
* Add error message for Import dialog if file was not chosen
|
645 |
-
* Add font with support of Cyrillic and Latin Extended characters for PDF export
|
646 |
-
* Fix for
|
647 |
* Fix of save the large tables
|
648 |
-
* Fix the displaying the diagrams on frontend
|
649 |
* Fix of table sorting after changing data on frontend
|
650 |
* Fix of using the cells' coordinates in lowercase in formulas
|
651 |
* Fix of ability to use editable fields when there are many tables on the page
|
@@ -664,10 +713,10 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
664 |
|
665 |
= 1.5.2 / 12.01.2017 =
|
666 |
* Improved Searching functionality: added new settings (min characters to search, empty table by default, strict search)
|
667 |
-
* Fixed of applying format to table cells
|
668 |
* Framework updates
|
669 |
-
* Added Hungarian language
|
670 |
-
* Minor
|
671 |
|
672 |
= 1.5.1 / 22.12.2016 =
|
673 |
* Add ability to set format for cells with formulas
|
@@ -675,14 +724,14 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
675 |
* Fix ability to set formats to empty cells
|
676 |
* Fix of wp_footer call for the broken themes
|
677 |
* Fix of the data formatting at the table on backend and frontend
|
678 |
-
* Update English language
|
679 |
-
* Minor
|
680 |
|
681 |
= 1.5.0 / 15.12.2016 =
|
682 |
* Add ability to set table description
|
683 |
* Add ability to get cell value by shortcode
|
684 |
* Add ability to disable table borders
|
685 |
-
* Add the Pagination Size option to set size of paginate buttons
|
686 |
* Add wp_footer call for the broken themes
|
687 |
* Add ability to enter formulas in editable fields
|
688 |
* Add ability to parse the email links during import from xls/xlsx files
|
@@ -699,45 +748,45 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
699 |
* Added Clear Data button to clear data in the table
|
700 |
* Added ability to create table's header with multiple rows
|
701 |
* Added ability to make the table's cells hidden
|
702 |
-
* Added possibility to dismiss the
|
703 |
* Fix the displaying of diagrams after the removing of table rows or columns
|
704 |
* Fix of automatic creating the columns during paste the content from another table
|
705 |
* Fix styles of table cloning dialog
|
706 |
-
* Update English language
|
707 |
|
708 |
= 1.4.8 / 18.10.2016 =
|
709 |
-
* Add the natural sorting for table in admin area (preview)
|
710 |
* Add ability to use shortcodes in formulas
|
711 |
* Update the styles of Import / Export dialog windows
|
712 |
* Update the detect of background color and font color of the cell during import from xls / xlsx files
|
713 |
-
* Optimize the position of options in the Settings tab of table admin area
|
714 |
-
* Fix of import from xls and xlsx files if the cells from
|
715 |
* Fix of export of the large tables to PDF
|
716 |
-
* Fix the displaying of table in the PDF file
|
717 |
-
* Fix of displaying of
|
718 |
* Fix of work of Disable wrapping option
|
719 |
* Fix for displaying the diagrams if the number of rows or columns of the table was changed
|
720 |
|
721 |
= 1.4.7 / 04.10.2016 =
|
722 |
-
* Add ability to freeze table elements: header, footer, columns to the right and left side of table
|
723 |
* Add Export Page Orientation option for the Export to PDF feature
|
724 |
* Set default measure (px) for width and height of diagram
|
725 |
* Fix of hiding the table until it will be loaded completely
|
726 |
-
* Fix of displaying the admin area of table on mobile devices
|
727 |
-
* Fix of import the styles from old
|
728 |
* Fix of table's id in the CSS styles of cloned table
|
729 |
-
* Fix of
|
730 |
* Correct PRO updater URL
|
731 |
|
732 |
= 1.4.6 / 27.09.2016 =
|
733 |
-
* Add "Underline" button on toolbar
|
734 |
-
* Fix of import data from current sheet of Google Spreadsheets
|
735 |
* Fix for styles of Standart Responsive Mode
|
736 |
* Fix for styles of Standart Responsive Mode
|
737 |
* Minor issues fix
|
738 |
|
739 |
= 1.4.5 / 22.09.2016 =
|
740 |
-
* Added Featured plugins page for admin area
|
741 |
* Added the update of charts data after the table's data was changed
|
742 |
* Added ability to set diagram parameters: width, height, titles of axes, colors of charts
|
743 |
* Added tutorial how to create diagrams in the Diagram tab if it is empty
|
@@ -750,9 +799,9 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
750 |
= 1.4.3 / 10.08.2016 =
|
751 |
* Add Brazilian Portuguese language
|
752 |
* Add Save data in editable fields option
|
753 |
-
* Add table styles for export table in the .xls file
|
754 |
* Fix of displaying the table styles after import from xlsx / xls files
|
755 |
-
* Fix of displaying the cell background color and cell text color in the
|
756 |
* Fix of displaying the value for Sorting column field
|
757 |
|
758 |
= 1.4.2 / 02.08.2016 =
|
@@ -762,28 +811,28 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
762 |
|
763 |
= 1.4.1 / 13.07.2016 =
|
764 |
* Fix of horizontal table scroll for iPhone and Android
|
765 |
-
* Fix jquery-
|
766 |
-
* Fix of data table styles for admin area to prevent overriding them by third
|
767 |
|
768 |
= 1.4.0 / 22.06.2016 =
|
769 |
* Add Welcome page and Step-by-Step tutorial
|
770 |
-
* Add notice to the Add new table dialog
|
771 |
* Show license activation errors - if there are some
|
772 |
* Avoid disabling PRO modules even if license - expired
|
773 |
-
* Move the Settings item under the License item in admin menu
|
774 |
* Hide data table until it will be loaded completely
|
775 |
-
* Add the displaying of spinner loader before the displaying of table on frontend
|
776 |
-
* Add using of the table name as the name of export file
|
777 |
* Update the generating of URL to the module location
|
778 |
-
* Fix of displaying
|
779 |
* Fix of sorting the table's columns
|
780 |
* Fix of displaying the table pagination buttons and some other styles of table
|
781 |
|
782 |
= 1.3.9 / 17.05.2016 =
|
783 |
* Add Paragraph mode
|
784 |
-
* Add replacing "`=" to "=" on frontend to display formulas as text
|
785 |
-
* Add natural sorting to data tables columns if Sorting options
|
786 |
-
* Fix of displaying the
|
787 |
* Fix of standard responsive mode on iOS
|
788 |
* Fix of colors issue for frontend export
|
789 |
* Minor issues fix
|
@@ -803,26 +852,26 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
803 |
= 1.3.6 / 30.03.2016 =
|
804 |
* Fix correct export to pdf format in all browser
|
805 |
* Fixed currency and percent format and as a result pagination
|
806 |
-
* Add place logo in pdf file and for print mode
|
807 |
* Correct insert row in right or left position
|
808 |
-
* Fix bug after adding row
|
809 |
-
* Fix
|
810 |
* Fix print file in ie
|
811 |
|
812 |
= 1.3.5 / 15.03.2016 =
|
813 |
* Spreadsheet Search and pagination position fix
|
814 |
* Add support for spreadsheet excel functions (IFERROR, LARGE)
|
815 |
-
* Fix issue with importing data table when lib cant calculate formula
|
816 |
-
* Fix bug with import from google
|
817 |
|
818 |
= 1.3.4 / 04.03.2016 =
|
819 |
-
* Fix bug with dynamic content in cell when tables in collapsed state
|
820 |
* Fix bug with cell height in standard responsive mode
|
821 |
-
* Fix bug with merging cells after last update
|
822 |
|
823 |
= 1.3.3 / 24.02.2016 =
|
824 |
* Added possibility to have more than one table with formulas and editable data.
|
825 |
-
* Fix bug with
|
826 |
* Added MONTH and YEAR formulas
|
827 |
* Added 2 new responsive modes, and ability to switch between modes
|
828 |
* Fix insert row/column bug
|
@@ -830,9 +879,9 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
830 |
= 1.3.2 / 09.02.2016 =
|
831 |
* Allow table have editable cells without formulas
|
832 |
* Add new features: send table on printer and switch between editable fields by tab
|
833 |
-
* Rework import table feature, added support cell colors, alignment and sizes
|
834 |
-
* Add autoselect cell content when clicking on editable cell
|
835 |
-
* Added styles for table when
|
836 |
* Fixed FireFox bug when images not displaying if the table is hidden
|
837 |
* Fix conflict with lodash and underscore libs
|
838 |
|
@@ -840,16 +889,16 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
840 |
* Added support for PMT formula
|
841 |
* Added cell format type select feature
|
842 |
* Added cell formats currency, percent, date
|
843 |
-
* Add German language
|
844 |
* Added handling for shortcodes in table content
|
845 |
-
* Fix bug with
|
846 |
|
847 |
= 1.3.0 / 29.12.2015 =
|
848 |
* Fix broken contact form
|
849 |
* Fix table editor issues
|
850 |
* Improved add link dialog
|
851 |
-
* Added pro feature to make editable fields with formula on frontend
|
852 |
-
* Add feature to recalculate width in
|
853 |
|
854 |
= 1.2.9 / 14.12.2015 =
|
855 |
* Fix for FF and IE bug not supporting max-width:100% in table cells
|
@@ -874,10 +923,10 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
874 |
* Added Google charts, graphs and diagrams integration
|
875 |
|
876 |
= 1.2.4 / 13.11.2015 =
|
877 |
-
* Added Italian Language
|
878 |
* Added disable bots indexing feature
|
879 |
* Get back old inserting image method when control is pressed
|
880 |
-
* Image now fit in cell
|
881 |
* Reduced scripts sizes
|
882 |
* Minor bug fixes
|
883 |
|
@@ -927,14 +976,14 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
927 |
* Added table multi-language support (translation from the official DataTables repository)
|
928 |
* Added full responsive support for the tables
|
929 |
* Fixed ordering error
|
930 |
-
* Fixed error when user can't create new table
|
931 |
|
932 |
= 1.1.3 / 19.08.2015 =
|
933 |
* Data Table position fixed
|
934 |
* New tooltips and FAQs
|
935 |
|
936 |
= 1.1.2 / 04.08.2015 =
|
937 |
-
* Fixed cells metadata loading when cell has comment
|
938 |
* Fixed Bold and Italic toolbar buttons
|
939 |
* Fixed formulas rendering in the editor
|
940 |
* Added charts support
|
@@ -968,9 +1017,9 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
968 |
|
969 |
= 1.0.4 / 13.05.2015 =
|
970 |
* Fixed not working formulas on the first page of the "Preview" tab
|
971 |
-
* Added
|
972 |
-
* Added ability to change font color
|
973 |
-
* Added ability to change cell background color
|
974 |
* Added "Insert row" and "Insert column" buttons to the toolbar
|
975 |
* Minor bugs fix
|
976 |
|
@@ -979,7 +1028,7 @@ Important! Shortcode must be inserted in a text editor page, and not in the visu
|
|
979 |
* Implemented HTML table metadata collecting and state saving
|
980 |
* Added "Bold" and "Italic" font style support for the cells
|
981 |
* Added alignment options for the data cells
|
982 |
-
* Added ability to change width and height of the rows and columns
|
983 |
* Added ability to sort DataTable without table header
|
984 |
|
985 |
|
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.1.0
|
5 |
+
Stable tag: 1.9.71
|
6 |
|
7 |
+
Create data tables with charts and graphs. Custom design, navigation, searching and ordering functions. Export to PDF, CSV, Print. Excel spreadsheet. WooCommerce Integration.
|
8 |
|
9 |
== Description ==
|
10 |
|
11 |
+
Create and manage tables from the admin panel quickly, easily and effectively. Each Data Table can be used as a data source for creating DIAGRAMS & CHART. Create responsive, interactive data tables using sorting, searching, pagination, filtering and more.
|
12 |
+
List the products with responsive [WooCommerce Product Table](https://supsystic.com/plugins/woocommerce-product-table?utm_source=wordpress&utm_medium=description&utm_campaign=woocommercedatatable "WooCommerce Product Table"). Perfect for product list views, order forms, wholesale, product catalogs.
|
13 |
+
Tables do not require HTML/CSS knowledge, this plugin is really easy for beginners. Definitively the powerful and easy to use Data Tables.
|
14 |
+
|
15 |
+
[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:
|
16 |
+
|
17 |
+
* No coding required, [Responsive Modes](https://supsystic.com/feature/responsive-modes-feature/?utm_source=wordpress&utm_medium=responsivemodes&utm_campaign=datatables "Responsive Modes")
|
18 |
+
* [FrontEnd Table Editing](https://supsystic.com/example/drop-down-bar/?utm_source=wordpress&utm_medium=frontendediting&utm_campaign=datatables "FrontEnd Data Table Editing Example")
|
19 |
+
* [FrontEnd Table export - CSV, Excel, PDF](https://supsystic.com/example/export-import-of-tables?utm_source=wordpress&utm_medium=export&utm_campaign=datatables "Export & Import of Tables")
|
20 |
+
* [Diagrams, Charts and Graphs](https://supsystic.com/example/table-with-diagram-examplehttps://supsystic.com/example/table-with-diagram-example/?utm_source=wordpress&utm_medium=screenshotscharts&utm_campaign=datatables "Data Table With Google Charts")
|
21 |
+
* [Formulas support, HTML tables support for data cells](https://supsystic.com/example/table-with-calculations-example?utm_source=wordpress&utm_medium=calculations&utm_campaign=datatables "Table with Calculations")
|
22 |
+
* [Images, Links & Video support](https://supsystic.com/example/table-with-pictures-and-links-example?utm_source=wordpress&utm_medium=vedeo&utm_campaign=datatables "Images, Links & Video support")
|
23 |
+
* [WooCommerce Integration](https://supsystic.com/plugins/woocommerce-product-table?utm_source=wordpress&utm_medium=description&utm_campaign=woocommercedatatable "WooCommerce Product Table")
|
24 |
+
* [Table Properties Variations](https://woo.supsystic.com/table-properties-variations?utm_source=wordpress&utm_medium=propertiesvariations&utm_campaign=woocommercedatatable "WooCommerce Product Table Properties Variations")
|
25 |
+
* [Quantities and Multiple add to cart](https://supsystic.com/feature/quantities-multiple-add-to-cart?utm_source=wordpress&utm_medium=multipleaddtocart&utm_campaign=woocommercedatatable "Quantities and Multiple add to cart")
|
26 |
+
* [Product Table online builder](https://supsystic.com/feature/product-table-online-builder?utm_source=wordpress&utm_medium=builder&utm_campaign=datatables "Product Table online builder")
|
27 |
* "Bold" and "Italic" font style support for the data table cells
|
28 |
+
* [Navigation with Searching, Sorting, Pagination functions](https://supsystic.com/example/table-with-sorting-and-search-example?utm_source=wordpress&utm_medium=tablenavigation&utm_campaign=datatables "Data Table navigation with Searching and Ordering functions")
|
29 |
+
* [Various style setting appropriated for any sites type](https://supsystic.com/documentation/table-styling?utm_source=wordpress&utm_medium=tabledesign&utm_campaign=datatables "Table Design")
|
30 |
+
* [Collapsible rows on front-end](https://supsystic.com/example/collapsible-rows-on-front-end/?utm_source=wordpress&utm_medium=collapsiblerows&utm_campaign=datatables "Collapsible rows")
|
31 |
+
* [Server-side processing technology](https://supsystic.com/example/tables-with-server-side-processing-example?utm_source=wordpress&utm_medium=serversideprocessing&utm_campaign=datatables "Server-side processing")
|
32 |
* SEO friendly, content of DataTable picked up by search engines
|
33 |
+
* [Table data and Diagrams interaction](https://supsystic.com/example/table-and-diagrams-interaction?utm_source=wordpress&utm_medium=serversideprocessing&utm_campaign=datatables "Table data and Diagrams interaction")
|
34 |
+
* [Automatic import from Google Sheets](https://supsystic.com/documentation/synchronization-table-google-sheet?utm_source=wordpress&utm_medium=featuresgoogle&utm_campaign=datatables "Autoupdates from Google Sheets")
|
35 |
+
* [Database Source](https://supsystic.com/feature/database-source?utm_source=wordpress&utm_medium=featuresgoogle&utm_campaign=datatables "Database Source")
|
36 |
+
* [All Data Table Examples](http://supsystic.com/data-tables-examples?utm_source=wordpress&utm_medium=databasesource&utm_campaign=datatables "Data Table Examples")
|
37 |
|
38 |
+
Data Tables Generator allows you to process and manage SEO friendly data tables quickly and easily. This plugin can structure information and can be adjusted to fit every need. Many ways of functional and visual customization of the tables improve site design and let you modify it to cater to a particular individual or a specific task. The intuitive Settings panel and the responsive Editor save lots of time that you would much rather allocate for other useful things or relaxation. Tables are responsive and awesome on all devices.
|
|
|
|
|
39 |
|
40 |
[youtube https://www.youtube.com/watch?v=RZ2I-aCiLZE]
|
41 |
|
42 |
= Data Tables Plugin Support =
|
43 |
|
44 |
+
If you have any problem or a tailored request for the Data Tables Generator by Supsystic, please [let us know](http://supsystic.com/contact-us/ "Contact Us")!
|
45 |
|
46 |
This [guide](https://supsystic.com/make-requests-support-service/ "How to Make Requests to Support Service") helps you provide the right information on your issue.
|
47 |
|
48 |
= Translate Data Table Generator by Supsystic to Your Language =
|
49 |
|
50 |
+
You have an incredible opportunity to get PRO version of the photo gallery for free. Just make the translation of the Data Table Generator by Supsystic plugin!
|
51 |
[Contact Us](http://supsystic.com/plugins/data-tables-generator-plugin#contact?utm_source=wordpress&utm_medium=contactus&utm_campaign=datatables "Contact Us") if you are willing to translate the plugin.
|
52 |
+
|
53 |
Available data table plugin translations:
|
54 |
|
55 |
* English
|
70 |
|
71 |
== Frequently Asked Questions ==
|
72 |
|
73 |
+
= How to Create Data Tables =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
|
75 |
+
Step 1: [Creating Responsive Data Table](https://supsystic.com/documentation/data-tables-getting-started?utm_source=wordpress&utm_medium=create&utm_campaign=datatables "Data Tables Getting Started") =
|
|
|
|
|
|
|
76 |
|
77 |
+
1. On the left navigation menu click “Add a new table (or spreadsheet)”.
|
78 |
+
2. Enter the title of a table, set the number of Rows and Columns.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
3. Click “OK”.
|
80 |
|
81 |
+
Step 2: Adding data to the Tables by Supsystic
|
82 |
|
83 |
1. Click “Editor” spreadsheet button.
|
84 |
2. Fill the table.
|
85 |
+
3. [Customize the data](https://supsystic.com/docs/data-editor?utm_source=wordpress&utm_medium=editdata&utm_campaign=datatables "Data Editor") – here you can:
|
|
|
|
|
|
|
|
|
|
|
86 |
|
87 |
+
Step 3: Customizing of Data Tables by Supsystic
|
|
|
|
|
|
|
|
|
|
|
88 |
|
89 |
+
1. In order to return to a configuration of tables – click the “Settings” button.
|
90 |
+
2. Here you can manage [all the settings](https://supsystic.com/docs/table-settings?utm_source=wordpress&utm_medium=configure&utm_campaign=datatables "Data Tables Generator plugin") of Data Tables Generator plugin.
|
91 |
+
3. Simply navigate the corresponding section of properties – Table Elements, Features, Styling.
|
92 |
|
93 |
+
Step 4: Preview
|
94 |
+
After you change some settings – with responsive data tables plugin, you can immediately see the result – click the “Preview” button and check the table. Note that the table may look a little different depending on your theme style.
|
95 |
|
96 |
+
Step 5: Add a table into a page/post
|
97 |
|
98 |
+
1. On the left navigation menu click “Tables”.
|
99 |
+
2. Find the table which you need and copy the shortcode.
|
100 |
+
3. Paste the shortcode into your post or page and Data Tables Generator by Supsystic will automatically create a table on your page.
|
101 |
|
102 |
+
= How to edit data in the Table? =
|
103 |
+
Different tutorials about data editing you can find [here](https://supsystic.com/docs/data-editor?utm_source=wordpress&utm_medium=editdata&utm_campaign=datatables "Data Editor")
|
|
|
104 |
|
105 |
+
= How to configure the Table? =
|
106 |
+
Main Table settings is [here](https://supsystic.com/docs/table-settings?utm_source=wordpress&utm_medium=configure&utm_campaign=datatables "Table settings")
|
107 |
|
108 |
+
= How to set a Style for a table? =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
|
110 |
+
If you need to change a visual style of the table, go to Settings of Data Tables Generator by Supsystic and find Appearance Tab.
|
111 |
|
112 |
+
Customize the Table view of the table using the next options:
|
113 |
+
* Auto & Fixed Table Width
|
114 |
+
* Fixed Table Width for mobile.
|
115 |
+
* Light-box
|
116 |
* Borders – you can select “Cell” border – inserts a border around all four sides of each cell or “Row” border – inserts a border only above and under each row.
|
117 |
* Compact – reduce the amount of white space.
|
118 |
* Highlighting – enable row highlighting as the mouse pointer hovers over an object.
|
120 |
* Highlight the order column – highlight the column that the table data is currently ordered by.
|
121 |
* Row striping – for example – you use a table, but the table’s rows are difficult to separate visually, especially when there are many columns (or multiple lines to a row) – add row striping to a table, it will display rows background in two similar shades of color.
|
122 |
|
123 |
+
Read more about [all the design options](https://supsystic.com/documentation/table-styling?utm_source=wordpress&utm_medium=styling&utm_campaign=datatables "Table Styling")in our tutorial.
|
124 |
+
|
125 |
+
= How to export and import the tables? =
|
126 |
+
With Data Tables Generator plugin you have an opportunity to [export and import](https://supsystic.com/documentation/export-import?utm_source=wordpress&utm_medium=exportimport&utm_campaign=datatables "Export and Import") your tables.
|
127 |
+
|
128 |
+
You can export files of four types:
|
129 |
+
* CSV
|
130 |
+
* PDF
|
131 |
+
* XLS
|
132 |
+
* XLSX
|
133 |
+
|
134 |
+
If you already have the table and you need to use it on your site use Import option. You can import files of such formats:
|
135 |
+
* CSV,
|
136 |
+
* XLS,
|
137 |
+
* Google Spreadsheets.
|
138 |
+
|
139 |
+
= How to add a table into a page/post? =
|
140 |
+
There are the different ways to [add table to your website](https://supsystic.com/documentation/add-table-site-content?utm_source=wordpress&utm_medium=addtable&utm_campaign=datatables "Add a table into a site"), using:
|
141 |
+
* Table shortcode
|
142 |
+
* Table Part shortcode
|
143 |
+
* Value shortcode
|
144 |
+
* Cell shortcode
|
145 |
+
* History shortcode
|
146 |
+
* PHP code
|
147 |
+
* Front-end Import Form
|
148 |
+
* Table shortcode and PHP code can be found on the left navigation menu if you click “Tables”. For each table, its own shortcode and PHP code are written here.
|
149 |
|
150 |
+
= How to use HTML elements in tables? =
|
151 |
+
You can paste HTML elements into our tables. Read [here](https://supsystic.com/documentation/use-html-elements-tables?utm_source=wordpress&utm_medium=html&utm_campaign=datatables "How to use HTML elements in tables?") how to do that.
|
152 |
|
153 |
+
= How to use formulas in tables? =
|
154 |
+
|
155 |
+
Go to Editor of Data Table.
|
156 |
+
Select a cell and start typing. In a cell, type an equal sign “=” to start the formula.
|
157 |
+
Fill in the rest of a formula.
|
158 |
+
Save the changes of a table.
|
159 |
+
Check the result of a formula in the table on your site.
|
160 |
+
Learn more about how to use [formulas in tables](https://supsystic.com/documentation/formulas-in-table?utm_source=wordpress&utm_medium=formulas_campaign=datatables "Formulas in tables") here.
|
161 |
+
|
162 |
+
= How to create WooCommerce Product Table? =
|
163 |
+
[This tutorial](https://supsystic.com/docs/woocommerce-product-table?utm_source=wordpress&utm_medium=documentation&utm_campaign=woocommercedatatable "Product Table Documentation") can help you easily get started to use WooCommerce Product Table and create searchable, filterable, responsive product table for your store.
|
164 |
+
|
165 |
+
|
166 |
+
= Which properties and columns can I display in the WooCommerce Product table? =
|
167 |
+
Your [WooCommerce Product table](https://supsystic.com/plugins/woocommerce-product-table "WooCommerce product table") can include any of the following columns: Product attributes, Categories, SKU, Add to cart button, Summary, Date, Price, Product Thumbnail, Reviews.
|
168 |
+
You can display each type as a separate column in the product table. To take full advantage of the WooCommerce Product Table have a look at the [examples with different features](http://woo.supsystic.com "Product Table plugin demo site" and get more information in our tutorial [How to Start using WooCommerce Product Table](https://supsystic.com/documentation/getting-started-woocommerce-product "Getting Started").
|
169 |
+
|
170 |
+
= Where to find additional information? =
|
171 |
+
Plugin has comprehensive [documentation](https://supsystic.com/docs/data-tables?utm_source=wordpress&utm_medium=documentation&utm_campaign=datatables "Data Tables documentation")
|
172 |
+
Also, you can find more answers at [forum](https://supsystic.com/forum/datatable-plugin?utm_source=wordpress&utm_medium=forum&utm_campaign=datatables "Forum") page.
|
173 |
+
|
174 |
+
== Screenshots ==
|
175 |
+
|
176 |
+
1. Data Tables Generator demo.
|
177 |
+
2. Data Tables example on a website. Export/Import
|
178 |
+
3. Data Tables with Sorting, Searchin, Pagination; Images, Video & Links; Collapsible rows on front-end (pro); Front-end Editing (pro) and more.
|
179 |
+
4. Data Tables with Google Charts (pro)
|
180 |
+
5. WooCommerce Product Table example (pro)
|
181 |
+
6. Data Tables Plugin admin panel. Main Settings
|
182 |
+
7. Data Tables Plugin admin panel. Features
|
183 |
+
8. Data Tables Plugin admin panel. Appearance
|
184 |
+
9. Data Tables Plugin admin panel. Database Source (pro)
|
185 |
+
10. Data Tables Plugin admin panel. Editor
|
186 |
+
11. Data Tables Plugin admin panel. Diagrams (pro)
|
187 |
+
12. Data Tables Plugin admin panel. WooCommerce (pro)
|
188 |
|
|
|
|
|
|
|
|
|
189 |
|
190 |
= Our plugins =
|
191 |
|
205 |
* [Translate by Supsystic](https://wordpress.org/plugins/translate-by-supsystic/ "Translate by Supsystic")
|
206 |
|
207 |
|
208 |
+
== Other Notes ==
|
209 |
+
= Tables by Supsystic for WooCommerce =
|
210 |
+
Now you can use Tables by Supsystic for WooCommerce.
|
211 |
+
With [WooCommerce Product Table](https://supsystic.com/plugins/woocommerce-product-table?utm_source=wordpress&utm_medium=description&utm_campaign=woocommercedatatable "WooCommerce Product Table" ) you can create a product tables for your WooCommerce store and list the products with searchable, filterable, responsive table.
|
212 |
+
|
213 |
+
It's perfect for product [Price List](http://woo.supsystic.com/price-list "Price list"), [Order forms](http://woo.supsystic.com/woocommerce-order-form/ "Order Form"), wholesale, [Product catalogs](http://woo.supsystic.com/product-catalog/ "Product catalog") & more:
|
214 |
+
|
215 |
+
* WooCommerce Product Table Plugin has the most flexible and friendly **[Table Online Builder](https://supsystic.com/feature/product-table-online-builder?utm_source=wordpress&utm_medium=builder&utm_campaign=woocommercedatatable "Product table builder")** It’s easy to create responsive, sortable and searchable Product table by 1 click with no coding.
|
216 |
+
* **[Responsive Modes Feature](https://supsystic.com/documentation/responsive-modes?utm_source=wordpress&utm_medium=responsive&utm_campaign=woocommercedatatable "Responsive modes")** resolves all problems by optimizing the table’s layout for different screen sizes through the dynamic insertion and rebuild of columns in the table.
|
217 |
+
* **[Pagination feature](https://supsystic.com/feature/pagination-feature-product-table?utm_source=wordpress&utm_medium=pagination&utm_campaign=woocommercedatatable "Pagination")** provides customers a convenient and fast navigation on website.
|
218 |
+
* **[Sorting option](https://supsystic.com/feature/sorting-option-of-product-table?utm_source=wordpress&utm_medium=sorting&utm_campaign=woocommercedatatable "Sorting")** allows to sort table columns and display data in an exact order you need.
|
219 |
+
* Plugin comes with **[Global Search and Search by columns](https://supsystic.com/feature/searching-product-table?utm_source=wordpress&utm_medium=searching&utm_campaign=woocommercedatatable "Searching")** options. These options make a product table twice more accessible for the users, more understandable and convenient to use.
|
220 |
+
* Includes **[Quantity selector and Multiple add to cart](https://supsystic.com/feature/quantities-multiple-add-to-cart?utm_source=wordpress&utm_medium=Multipleaddtocart&utm_campaign=woocommercedatatable "Multiple add to cart")** options.
|
221 |
+
* Plugin fully supports Product Attributes, Categories, and you can add any column to the table – SKU, Buy, Summary, Date, Price, Thumbnail, Reviews.
|
222 |
+
* All necessary settings to set the table appearance. Customize the **[Table design](https://supsystic.com/documentation/product-table-design?utm_source=wordpress&utm_medium=design&utm_campaign=woocommercedatatable "Table Design")** and make it more attractive for customers.
|
223 |
+
* Works perfectly with hundreds of products and a huge amount of rows by virtue of using **[server-side processing technology](https://supsystic.com/example/tables-with-server-side-processing-example?utm_source=wordpress&utm_medium=serversideprocessing&utm_campaign=datatables "server-side processing").**
|
224 |
+
|
225 |
+
Create custom order forms which increase your conversion rate!
|
226 |
+
|
227 |
== Changelog ==
|
228 |
|
229 |
+
= 1.9.71 / 25.02.2019 =
|
230 |
+
* Fix of formulas: SUMIF. Fix of applying of current date to datepicker for empty edited cells of Date type
|
231 |
+
* Exclude images it tables from lazy loading by Jetpack
|
232 |
+
|
233 |
+
= 1.9.7 / 20.02.2019 =
|
234 |
+
* Screenshots update
|
235 |
+
* Fixed not loading media scripts in the admin area
|
236 |
+
* Added excel import option (import as string)
|
237 |
+
* Fix of exporting the table to PDF in admin area if SSP is enabled
|
238 |
+
* Fix of connecting of media JS APIs in table admin area if it does not
|
239 |
+
* Fix of displaying diagrams and connecting of other assets for tables with SSP
|
240 |
+
* Fixed clean button work with the woo pro addon
|
241 |
+
* Fix Thumbnail width
|
242 |
+
* Fix of displaying of tables with SSP and without header
|
243 |
+
* Fix of using of some crashed logo links during importing table to PDF
|
244 |
+
* Added Pro Adverts for
|
245 |
+
* Fix of displaying tables with collapsible cells and responsive mode: Automatic Column Hiding
|
246 |
+
* Fix of saving table after adding new empty cells
|
247 |
+
* Fix for showing/hiding sun options in admin area
|
248 |
+
* Add new formula: HYPERLINK
|
249 |
+
* Fix of displaying of search fields in columns. Fix of updating of cell indexes in formulas after paste data from another table cells
|
250 |
+
* Fix of conflict with styles of some themes
|
251 |
+
* Add ability to initialize tables on page via third-party scripts
|
252 |
+
* Added variables for sql-query
|
253 |
+
|
254 |
= 1.9.6 / 20.12.2018 =
|
255 |
* Added option on-off legend labels along with parts of the chart
|
256 |
* Small Fix Zing Charts
|
257 |
* Fix of exporting of tables with collapsible cells
|
258 |
* Fix of formula COUNTIF
|
259 |
+
* Fix of applying of format to the cell value
|
260 |
* Styles fix for Add New Table popup
|
261 |
+
* Encode cell data before saving in DB
|
262 |
+
* Removed slashes from the cell after import from Spreadsheets
|
263 |
|
264 |
|
265 |
= 1.9.5 / 12.12.2018 =
|
266 |
* Removed urldecode to prevent replace '+' to ' '
|
267 |
+
* Added compatibility with tables-generator-pro
|
268 |
* Fix of SUBSTITUTE formula
|
269 |
* Fix of TEXT formula
|
270 |
* Work with woo plugin addon
|
271 |
+
* Improved vendor file to compatibility with other possible add-ons
|
272 |
+
* Removed unused CSS
|
273 |
* Add of ability to search tables in admin area by id
|
274 |
* Add "Mark Last Edited Cell" option
|
275 |
* Fixed Google Charts tooltip flickering
|
276 |
* Add Global Page Search Form for multiple searching by all tables on page
|
277 |
* Fix of integration with Contact Form by Supsystiс
|
278 |
+
* Fix of displaying an error if ZipArchive extension is not enabled
|
279 |
* Fix of localization of tables' list in admin area
|
280 |
+
* Fix of exporting the table to PDF
|
281 |
* Fixed fatal error (controller name creation)
|
282 |
* Fix of displaying of inserted images in table cells
|
283 |
* Fix of dates formatting after automatic import from Google Sheet if Server Side Processing is enabled
|
284 |
* Add of shortcode param "search" to preset the search value for table
|
285 |
* Fix of exporting of tables with hidden cells to PDF
|
286 |
+
* Fix of displaying of the message if export from Google Spreadsheets is denied
|
287 |
* Add ability to show full images in lightbox for table images
|
288 |
* add new screenshot
|
289 |
* Fix of applying of table events for tables with pagination and search features, if Server-side Processing is enabled
|
290 |
+
* Fixed compatibility free plugin with the woo pro addon.
|
291 |
* minify numeral.min.js
|
292 |
+
* Added multi products functional
|
293 |
* Fix of searching by columns
|
294 |
* Fixed cloned table with woo addon data
|
295 |
* Fix of exporting of tables with hidden cells to PDF
|
296 |
* Fix of using of frontend fields in tables with fixed header / footer / columns
|
297 |
+
* Added server-side processing for woo addon
|
298 |
* Fix of exporting tables with hidden cells to MS Excel
|
299 |
* Fixed woo addon bugs
|
300 |
* Fixed javascript error for tables with merged cells
|
301 |
+
* Fixed pagination with 'all' parameter. Fixed draw() table after search event
|
302 |
* Fixed add to cart with ssp
|
303 |
* Fix of applying of condition formatting
|
304 |
+
* Fixed preview and CSS
|
305 |
+
* Fix of exporting the table to PDF and Excel
|
306 |
* Fixed column search
|
307 |
* Add advertise for Woo Addon
|
308 |
|
313 |
|
314 |
= 1.9.3 / 01.11.2018 =
|
315 |
* Add integration with Contact Form by Supsystic
|
316 |
+
* Fix of merging cells for fixed rows/columns. Small code fix and improvement
|
317 |
+
* Fix of displaying auto index. Fix of displaying of collapsible cells
|
318 |
* Removed deprecated functions
|
319 |
+
* Added option to display col with merge cells in a responsive mode
|
320 |
* Added export only visible data
|
321 |
|
322 |
= 1.9.2 / 17.10.2018 =
|
323 |
* Fix displaying of lightbox popup for tables with fixed rows/columns
|
324 |
* Update of displaying of cell comments on mobile
|
325 |
* Fix displaying of editable fields
|
326 |
+
* Fix of exporting to pdf for tables in a standard responsive mode with a column for the auto index in newly created column
|
327 |
+
* Fix position of a caption for tables with fixed rows/columns
|
328 |
|
329 |
= 1.9.1 / 09.10.2018 =
|
330 |
* Make correct sort order in History table mode
|
332 |
* Fix minor issue with compatibility for PHP 7.2 or greater
|
333 |
* Fix percents in Header/Footer
|
334 |
* Add diagram option: Axe Х Mode
|
335 |
+
* Fix of applying of conditions data to the cloned table
|
336 |
* Fix of multi-exporting of tables
|
337 |
+
* Fix of applying of font families to the table
|
338 |
+
* Add ability to set the style for chart points
|
339 |
* Fix of import data from CSS
|
340 |
|
341 |
= 1.9.0 / 30.08.2018 =
|
347 |
* Fix creating multiple tables
|
348 |
* Changed CRUD for tables list
|
349 |
* Fix border-bottom for Fixed Columns
|
350 |
+
* Fixed default CSS text in the editor
|
351 |
* Fixed crud bugs
|
352 |
* Fix editable fields after export
|
353 |
* Fix export to PDF with multiple rows in a cell
|
362 |
* For Source Option added the ability to Export data from an External DB and use SQL Query
|
363 |
* Fixed row headers in Editor Tab
|
364 |
* Added the ability to build a chart based on data from database tables
|
365 |
+
* Added possibility to place reduction like 1-4, A-D in part shortcode
|
366 |
|
367 |
= 1.8.7 / 24.07.2018 =
|
368 |
* Fix Multisite Installation process
|
369 |
* Fixed the problem: Clicking on the cell raises the table up
|
370 |
+
* Fixes for option Source - Database
|
371 |
* Added the ability to edit database table data through the frontend fields
|
372 |
* Added the ability to create diagrams for cells with shortcodes
|
373 |
* Fix underline position by exporting to pdf
|
374 |
* Fix of dynamically applying of diagram's options to diagram preview
|
375 |
* Add support Strict Matching Option for SSP
|
376 |
+
* Fix of displaying merged cells in the table footer
|
377 |
* Fix for GlobalSearch
|
378 |
|
379 |
= 1.8.6 / 03.07.2018 =
|
391 |
* Added Turkish translation
|
392 |
* Add a special parameter Fixed Table Width for mobile devices
|
393 |
* Add option "Export Fonts to PDF"
|
394 |
+
* Fix of creating history for a new table and new table user
|
395 |
* Change "Insert picture" toolbar button to "Insert media"
|
396 |
* Minor issues fix
|
397 |
|
398 |
= 1.8.4 / 30.05.2018 =
|
399 |
+
* Add of the option to plugin settings: Disable WP Footer Fix
|
400 |
* Implemented automatic updating of diagrams when changing data in a table
|
401 |
* Added import/export Selectable Fields to/from Excel
|
402 |
* Fixed the width of text rows in mobile mode
|
404 |
* Added search by table columns
|
405 |
* Fix header in Elementor tab
|
406 |
* Fix of conflict of dataTables script and http://downloads.mailchimp.com/js/signup-forms/popup/embed.js
|
407 |
+
* Fixed problems with the first activation
|
408 |
* Fix of table sorting for empty cells
|
409 |
+
* Add ability to use letters as a column index in table's special shortcodes. Fix of using common features for the Table Part Shortcode
|
410 |
+
* Fix of displaying column of Auto Index in mode "Create a new column"
|
411 |
+
* Fix for displaying of a caption for tables with fixed columns
|
412 |
* Fix of using of Frontend Fields this Fixed Columns option. Fix of "Use for Logged In Users Only" option for Frontend Fields
|
413 |
* Fix of Global Table Data Search
|
414 |
+
* Fix of displaying column of Auto Index in mode "Create a new column"
|
415 |
* Add Pagination in Editor
|
416 |
* Fix saving ReadOnly for cells
|
417 |
+
* Fix for an export table to PDF from the admin area
|
418 |
* Fix data params for cells which use formulas, which depended on cells with shortcodes inside
|
419 |
+
* Fix of removing of table rows after removing the table
|
420 |
+
* Fix issue with Cyrillic symbols on export to PDF
|
421 |
* Added ability to change the data range in the diagrams without re-creating
|
422 |
* Fix for conditions bug
|
423 |
|
439 |
|
440 |
= 1.8.0 / 12.04.2018 =
|
441 |
* Add of ability to remove the escaping of HTML for the formulas results
|
442 |
+
* Update of the way of parsing table formulas on the frontend
|
443 |
* Fix of applying text wrapping for cells during table export
|
444 |
* Fix of applying underline text style for cells during table export
|
445 |
+
* Fixed auto width + scroll in the frontend
|
446 |
* Fixed the grid offset of the table for Fixed Header
|
447 |
* Fixed the grid offset of the table for Fixed Footer
|
448 |
* Fix of applying underline text style for cells during table import
|
449 |
* Fix of applying text wrapping for cells during table import
|
450 |
+
* Fixed parameter "Save Frontend Fields", when saving empty values
|
451 |
* Fixed bug with "Save Frontend Fields" param and exporting changed data
|
452 |
* Fixed Export to XSL and XSLX for invisible cells
|
453 |
* Added hidden rows and hidden columns for Excel import
|
457 |
* Fixed javascript error for fnAdjustColumnSizing
|
458 |
* Fixed timing for header resizing
|
459 |
* Add Conditional Formatting feature
|
460 |
+
* Add of shortcode for output only selected rows and/or columns of the table
|
461 |
* Fix of using of lower case in indexes of cells and in formulas in the table editor
|
462 |
* Add of ability to move columns and rows in the table editor manually
|
463 |
+
* Add ability to make the rows collapsible on the frontend
|
464 |
+
* Add ability to convert the content of cells to the icons with tooltips
|
465 |
+
* Update of icons of the editor toolbar
|
466 |
* Fix PopUp integration
|
467 |
+
* Add ability to import/export the rules of conditional formatting from/to MS Excel
|
468 |
+
* Add of a check for required extension ZipArchive for import from MS Excel
|
469 |
* Add ability to set period for creating of new table instance in history
|
470 |
+
* Fix of switching the cell from selectable to editable type
|
471 |
+
* Update of using of features "removed cells" and "hidden cells" on the frontend for tables without headers
|
472 |
* Fix styles for using auto table width with horizontal scroll
|
473 |
* Fix of displaying of diagrams
|
474 |
+
* Fix of displaying of pagination select list for a table
|
475 |
+
* Update the tooltips for the plugin settings page
|
476 |
|
477 |
= 1.7.9 / 09.03.2018 =
|
478 |
* Fix issue for base formulas and empty cells (they should be counted as Zero)
|
481 |
|
482 |
= 1.7.8 / 07.03.2018 =
|
483 |
* Add ability to use simple calculation actions with dates
|
484 |
+
* Update of the way to connect of table's translation
|
485 |
+
* Update of tooltips for the "Language and Text" tab in the table admin area
|
486 |
* Fix for detecting browser language in Safari
|
487 |
* Fix for Norwegian-Nynorsk translation data
|
488 |
* Fix of formulas updating after rows / columns adding / removing
|
489 |
* Fix of formulas updating after pasting data from another cell
|
490 |
+
* Fix of correction of cells values during cells autofill
|
491 |
* Fix of calculation of DATE formulas: DATE, DAY, DAYS, DAYS360, EDATE, EOMONTH, MONTH, HOUR, MINUTE, ISOWEEKNUM, TODAY, NOW, SUBTOTAL
|
492 |
* Fix of using empty cells in calculations
|
493 |
|
500 |
* Small code fix
|
501 |
|
502 |
= 1.7.5 / 06.02.2018 =
|
503 |
+
* Hotfix of applying cell styles to the table
|
504 |
+
* Fix of exporting the table to PDF in the admin area
|
505 |
* Minor issues fix
|
506 |
|
507 |
= 1.7.4 / 05.02.2018 =
|
509 |
|
510 |
= 1.7.3 / 03.02.2018 =
|
511 |
* Hotfix for import formulas with links to another excel book's sheets
|
512 |
+
* Hotfix for data tables with translation
|
513 |
+
* Fix of displaying of sorting icons for tables with multiple headers
|
514 |
* Minor issues fix
|
515 |
|
516 |
= 1.7.2 / 29.01.2018 =
|
517 |
+
* Add ability to change/hide label for table's export buttons
|
518 |
* Add ability to set paper size for PDF export
|
519 |
* Add new table formula: INDEX
|
520 |
* Fix of table header position if Auto Width option is enabled
|
521 |
+
* Fix of formula calculating for an empty cell
|
522 |
* Fix of using auto table width with horizontal scroll
|
523 |
+
* Fix for displaying of a caption for tables with fixed columns
|
524 |
+
* Fix for displaying of the error message for table import
|
525 |
* Fix for displaying of merged cells
|
526 |
* Fix of formulas' parsing during table import from MS Excel
|
527 |
+
* Fix of determination of cell index for tables with a large count of columns during exporting table to Excell
|
528 |
+
* Fix for insert link to the table via the toolbar
|
529 |
* Update the way of table export to PDF
|
530 |
* Update usability for table options in admin area
|
531 |
|
541 |
* Add ability to make cell invisible
|
542 |
* Add option: Use Comma as Delimiter
|
543 |
* Add toolbar buttons: Font Family, Font Size
|
544 |
+
* Add ability to export formatted cell values without HTML on the frontend and in the admin area
|
545 |
+
* Add ability to applying font family and font size for the cell during import and export from MS Excel
|
546 |
* Fix of displaying editable fields in the Automatic Columns Hiding response mode
|
547 |
* Fix of using pagination buttons on table preview
|
548 |
+
* Fix of applying a background color to table cells in the admin area
|
549 |
+
* Fix for an update of rows height in the table editor
|
550 |
* Fix of saving selected value of selects in the table cells for printing and exporting table
|
551 |
+
* Fix of determination of cell index on the frontend for tables with a large count of columns
|
552 |
+
* Fix of using tab button for switch between editable fields on the frontend
|
553 |
+
* Fix of calculating formulas on the frontend
|
554 |
* Fix of styles for Diagram dialog window
|
555 |
+
* Fix for an export table to PDF
|
556 |
* Fix of import from Google Spreadsheet
|
557 |
+
* Move table styles to the page header
|
558 |
* Update tooltips information
|
559 |
|
560 |
= 1.6.9 / 08.11.2017 =
|
563 |
* Added ability to disable or change table loader
|
564 |
* Added ability to disable table sorting by default
|
565 |
* Added ability to disable sorting for some columns
|
566 |
+
* Added ability to sort the table by multiple columns
|
567 |
+
* Fixed table displaying through RSS feed
|
568 |
* Added Custom Footer option
|
569 |
* Fixed table loading from cache
|
570 |
* Added SUPSYSTIC_STB_DEBUG constant
|
571 |
* Added ability to select all table rows and columns by clicking on left table corner
|
572 |
* Fixed displaying header styles to fixed header
|
573 |
+
* Fixed displaying header styles to the fixed footer
|
574 |
* Fixed Table Actions History
|
575 |
* Small tooltips fix
|
576 |
|
579 |
* Fixed small issue with our internal messaging system
|
580 |
* Added the table shortcode button to WP editor
|
581 |
* Fixed of displaying the table editor and table options in admin area
|
582 |
+
* Fixed of insert link to the table cell
|
583 |
* Added Table History functionality
|
584 |
* Small styles fix
|
585 |
* Fixed of table rename
|
589 |
|
590 |
= 1.6.7 / 05.10.2017 =
|
591 |
* Added new option for searching table contents through standard WordPress search
|
592 |
+
* Fixed bug with the table when enabled Automatic column hiding option
|
593 |
* Added new "Table rows saved per request" option
|
594 |
+
* Fixed view of the Settings tab
|
595 |
* Minor issues fix
|
596 |
|
597 |
= 1.6.6 / 20.09.2017 =
|
600 |
* Added Persian and Greek language
|
601 |
* Added Spanish (Spain) language
|
602 |
* Fixed styles for Right-To-Left languages
|
603 |
+
* Fixed saving table if the current saving process is in action
|
604 |
* Added ability to use browser language to translate table
|
605 |
* Updated of table initializing and translating
|
606 |
* Minor issues fix
|
623 |
* Fixed incorrect insert column position
|
624 |
|
625 |
= 1.6.1 / 22.06.2017 =
|
626 |
+
* Added the Catalan language
|
627 |
* Prevent the applying of third-party styles to the color picker
|
628 |
* Fixed Free and Pro plugin install Error message for Clean WP
|
629 |
* Fixed incorrect insert column position
|
643 |
= 1.5.9 / 11.05.2017 =
|
644 |
* Add the History Table feature
|
645 |
* Add ability to choose rows and columns for diagrams' creating
|
646 |
+
* Fix for sorting: case insensitive, sorting of formatted data, sorting data with HTML
|
647 |
* Fix of creating the table for diagrams in database
|
648 |
* Fix and optimize of saving of editable fields
|
649 |
* Updated Hungarian language
|
650 |
|
651 |
= 1.5.8 / 13.04.2017 =
|
652 |
* Added auto import from Google Spreadsheets
|
653 |
+
* Updated the Settings tab in the admin area
|
654 |
* Split the table export to Excel on the formats: .xls and .xlsx
|
655 |
* Fix for table's import from MS Excel and Google Spreadsheets
|
656 |
* Fix of detect hyperlinks during import from Google Spreadsheets
|
660 |
* Fix of tables creating in the database
|
661 |
|
662 |
= 1.5.7 / 14.03.2017 =
|
663 |
+
* Add ability to make the link from the part of cell data
|
664 |
* Add option for tables import: Append to existing table data
|
665 |
* Update memory limits for PDF export
|
666 |
+
* Optimize displaying of large tables in the admin area
|
667 |
* Compress table data keys for saving into database
|
668 |
* Fix of import table from Google Spreadsheets
|
669 |
* Fix of formulas: MID()
|
676 |
* Fix for displaying table caption
|
677 |
|
678 |
= 1.5.6 / 22.02.2017 =
|
679 |
+
* Hotfix for comparability between new FREE and old PRO version
|
680 |
* Fix for shortcode for output table with single selected cell
|
681 |
* Fix for "Execute JS Script After Table Is Loaded" option
|
682 |
+
* Minor issues fix
|
683 |
|
684 |
= 1.5.5 / 21.02.2017 =
|
685 |
+
* Optimization of the table's saving process and displaying the table's preview
|
686 |
+
* Add ability to output single cell of the table by shortcode
|
687 |
* Add ability to output the cell value by shortcode for cells with formulas
|
688 |
+
* Add ability to execute js scripts after the table was initialized
|
689 |
* Add ability to copy the cell styles during creating of rows and columns
|
690 |
* Add support of formulas: POISSON, LOOKUP, MID
|
691 |
+
* Add the highlighting of row and column for current cell in the table editor
|
692 |
+
* Add autosave for newly created tables
|
693 |
+
* Add error message for Import dialog if the file was not chosen
|
694 |
+
* Add font with the support of Cyrillic and Latin Extended characters for PDF export
|
695 |
+
* Fix for autofill table by dragging the cell
|
696 |
* Fix of save the large tables
|
697 |
+
* Fix the displaying the diagrams on the frontend
|
698 |
* Fix of table sorting after changing data on frontend
|
699 |
* Fix of using the cells' coordinates in lowercase in formulas
|
700 |
* Fix of ability to use editable fields when there are many tables on the page
|
713 |
|
714 |
= 1.5.2 / 12.01.2017 =
|
715 |
* Improved Searching functionality: added new settings (min characters to search, empty table by default, strict search)
|
716 |
+
* Fixed of applying the format to table cells
|
717 |
* Framework updates
|
718 |
+
* Added the Hungarian language
|
719 |
+
* Minor issues fix
|
720 |
|
721 |
= 1.5.1 / 22.12.2016 =
|
722 |
* Add ability to set format for cells with formulas
|
724 |
* Fix ability to set formats to empty cells
|
725 |
* Fix of wp_footer call for the broken themes
|
726 |
* Fix of the data formatting at the table on backend and frontend
|
727 |
+
* Update the English language
|
728 |
+
* Minor issues fix
|
729 |
|
730 |
= 1.5.0 / 15.12.2016 =
|
731 |
* Add ability to set table description
|
732 |
* Add ability to get cell value by shortcode
|
733 |
* Add ability to disable table borders
|
734 |
+
* Add the Pagination Size option to set the size of paginate buttons
|
735 |
* Add wp_footer call for the broken themes
|
736 |
* Add ability to enter formulas in editable fields
|
737 |
* Add ability to parse the email links during import from xls/xlsx files
|
748 |
* Added Clear Data button to clear data in the table
|
749 |
* Added ability to create table's header with multiple rows
|
750 |
* Added ability to make the table's cells hidden
|
751 |
+
* Added possibility to dismiss the extent notice of the license
|
752 |
* Fix the displaying of diagrams after the removing of table rows or columns
|
753 |
* Fix of automatic creating the columns during paste the content from another table
|
754 |
* Fix styles of table cloning dialog
|
755 |
+
* Update the English language
|
756 |
|
757 |
= 1.4.8 / 18.10.2016 =
|
758 |
+
* Add the natural sorting for a table in the admin area (preview)
|
759 |
* Add ability to use shortcodes in formulas
|
760 |
* Update the styles of Import / Export dialog windows
|
761 |
* Update the detect of background color and font color of the cell during import from xls / xlsx files
|
762 |
+
* Optimize the position of options in the Settings tab of the table admin area
|
763 |
+
* Fix of import from xls and xlsx files if the cells from other sheets use in the formulas
|
764 |
* Fix of export of the large tables to PDF
|
765 |
+
* Fix the displaying of the table in the PDF file
|
766 |
+
* Fix of displaying of color pickers in the Diagram dialog window
|
767 |
* Fix of work of Disable wrapping option
|
768 |
* Fix for displaying the diagrams if the number of rows or columns of the table was changed
|
769 |
|
770 |
= 1.4.7 / 04.10.2016 =
|
771 |
+
* Add ability to freeze table elements: header, footer, columns to the right and left side of the table
|
772 |
* Add Export Page Orientation option for the Export to PDF feature
|
773 |
* Set default measure (px) for width and height of diagram
|
774 |
* Fix of hiding the table until it will be loaded completely
|
775 |
+
* Fix of displaying the admin area of the table on mobile devices
|
776 |
+
* Fix of import the styles from old/new format of Excell files
|
777 |
* Fix of table's id in the CSS styles of cloned table
|
778 |
+
* Fix of saving data in editable fields
|
779 |
* Correct PRO updater URL
|
780 |
|
781 |
= 1.4.6 / 27.09.2016 =
|
782 |
+
* Add "Underline" button on the toolbar
|
783 |
+
* Fix of import data from a current sheet of Google Spreadsheets
|
784 |
* Fix for styles of Standart Responsive Mode
|
785 |
* Fix for styles of Standart Responsive Mode
|
786 |
* Minor issues fix
|
787 |
|
788 |
= 1.4.5 / 22.09.2016 =
|
789 |
+
* Added Featured plugins page for the admin area
|
790 |
* Added the update of charts data after the table's data was changed
|
791 |
* Added ability to set diagram parameters: width, height, titles of axes, colors of charts
|
792 |
* Added tutorial how to create diagrams in the Diagram tab if it is empty
|
799 |
= 1.4.3 / 10.08.2016 =
|
800 |
* Add Brazilian Portuguese language
|
801 |
* Add Save data in editable fields option
|
802 |
+
* Add table styles for an export table in the .xls file
|
803 |
* Fix of displaying the table styles after import from xlsx / xls files
|
804 |
+
* Fix of displaying the cell background color and cell text color in the color pickers.
|
805 |
* Fix of displaying the value for Sorting column field
|
806 |
|
807 |
= 1.4.2 / 02.08.2016 =
|
811 |
|
812 |
= 1.4.1 / 13.07.2016 =
|
813 |
* Fix of horizontal table scroll for iPhone and Android
|
814 |
+
* Fix jquery-UI theme conflict
|
815 |
+
* Fix of data table styles for admin area to prevent overriding them by third-party styles
|
816 |
|
817 |
= 1.4.0 / 22.06.2016 =
|
818 |
* Add Welcome page and Step-by-Step tutorial
|
819 |
+
* Add a notice to the Add new table dialog
|
820 |
* Show license activation errors - if there are some
|
821 |
* Avoid disabling PRO modules even if license - expired
|
822 |
+
* Move the Settings item under the License item in the admin menu
|
823 |
* Hide data table until it will be loaded completely
|
824 |
+
* Add the displaying of spinner loader before the displaying of the table on the frontend
|
825 |
+
* Add using of the table name as the name of the export file
|
826 |
* Update the generating of URL to the module location
|
827 |
+
* Fix of displaying HTML if Paragraph mode is enabled
|
828 |
* Fix of sorting the table's columns
|
829 |
* Fix of displaying the table pagination buttons and some other styles of table
|
830 |
|
831 |
= 1.3.9 / 17.05.2016 =
|
832 |
* Add Paragraph mode
|
833 |
+
* Add replacing "`=" to "=" on the frontend to display formulas as text
|
834 |
+
* Add natural sorting to data tables columns if Sorting options are enabled
|
835 |
+
* Fix of displaying the DB version on the Overview tab
|
836 |
* Fix of standard responsive mode on iOS
|
837 |
* Fix of colors issue for frontend export
|
838 |
* Minor issues fix
|
852 |
= 1.3.6 / 30.03.2016 =
|
853 |
* Fix correct export to pdf format in all browser
|
854 |
* Fixed currency and percent format and as a result pagination
|
855 |
+
* Add place logo in a pdf file and for print mode
|
856 |
* Correct insert row in right or left position
|
857 |
+
* Fix bug after adding a row
|
858 |
+
* Fix thread padding issue
|
859 |
* Fix print file in ie
|
860 |
|
861 |
= 1.3.5 / 15.03.2016 =
|
862 |
* Spreadsheet Search and pagination position fix
|
863 |
* Add support for spreadsheet excel functions (IFERROR, LARGE)
|
864 |
+
* Fix issue with importing data table when lib cant calculate the formula
|
865 |
+
* Fix bug with import from google spreadsheets generated files
|
866 |
|
867 |
= 1.3.4 / 04.03.2016 =
|
868 |
+
* Fix bug with dynamic content in the cell when tables in the collapsed state
|
869 |
* Fix bug with cell height in standard responsive mode
|
870 |
+
* Fix bug with merging cells after the last update
|
871 |
|
872 |
= 1.3.3 / 24.02.2016 =
|
873 |
* Added possibility to have more than one table with formulas and editable data.
|
874 |
+
* Fix bug with the formatted cell when the table in a collapsed state.
|
875 |
* Added MONTH and YEAR formulas
|
876 |
* Added 2 new responsive modes, and ability to switch between modes
|
877 |
* Fix insert row/column bug
|
879 |
= 1.3.2 / 09.02.2016 =
|
880 |
* Allow table have editable cells without formulas
|
881 |
* Add new features: send table on printer and switch between editable fields by tab
|
882 |
+
* Rework import table feature, added support cell colors, alignment, and sizes
|
883 |
+
* Add autoselect cell content when clicking on the editable cell
|
884 |
+
* Added styles for a table when sending to print or save as pdf
|
885 |
* Fixed FireFox bug when images not displaying if the table is hidden
|
886 |
* Fix conflict with lodash and underscore libs
|
887 |
|
889 |
* Added support for PMT formula
|
890 |
* Added cell format type select feature
|
891 |
* Added cell formats currency, percent, date
|
892 |
+
* Add the German language
|
893 |
* Added handling for shortcodes in table content
|
894 |
+
* Fix bug with nonclickable links in some themes on mobile devices
|
895 |
|
896 |
= 1.3.0 / 29.12.2015 =
|
897 |
* Fix broken contact form
|
898 |
* Fix table editor issues
|
899 |
* Improved add link dialog
|
900 |
+
* Added pro feature to make editable fields with the formula on the frontend
|
901 |
+
* Add feature to recalculate width in hidden tables when they become visible
|
902 |
|
903 |
= 1.2.9 / 14.12.2015 =
|
904 |
* Fix for FF and IE bug not supporting max-width:100% in table cells
|
923 |
* Added Google charts, graphs and diagrams integration
|
924 |
|
925 |
= 1.2.4 / 13.11.2015 =
|
926 |
+
* Added the Italian Language
|
927 |
* Added disable bots indexing feature
|
928 |
* Get back old inserting image method when control is pressed
|
929 |
+
* Image now fit in the cell
|
930 |
* Reduced scripts sizes
|
931 |
* Minor bug fixes
|
932 |
|
976 |
* Added table multi-language support (translation from the official DataTables repository)
|
977 |
* Added full responsive support for the tables
|
978 |
* Fixed ordering error
|
979 |
+
* Fixed error when the user can't create a new table
|
980 |
|
981 |
= 1.1.3 / 19.08.2015 =
|
982 |
* Data Table position fixed
|
983 |
* New tooltips and FAQs
|
984 |
|
985 |
= 1.1.2 / 04.08.2015 =
|
986 |
+
* Fixed cells metadata loading when the cell has a comment
|
987 |
* Fixed Bold and Italic toolbar buttons
|
988 |
* Fixed formulas rendering in the editor
|
989 |
* Added charts support
|
1017 |
|
1018 |
= 1.0.4 / 13.05.2015 =
|
1019 |
* Fixed not working formulas on the first page of the "Preview" tab
|
1020 |
+
* Added color picker
|
1021 |
+
* Added ability to change the font color
|
1022 |
+
* Added ability to change the cell background color
|
1023 |
* Added "Insert row" and "Insert column" buttons to the toolbar
|
1024 |
* Minor bugs fix
|
1025 |
|
1028 |
* Implemented HTML table metadata collecting and state saving
|
1029 |
* Added "Bold" and "Italic" font style support for the cells
|
1030 |
* Added alignment options for the data cells
|
1031 |
+
* Added ability to change the width and height of the rows and columns
|
1032 |
* Added ability to sort DataTable without table header
|
1033 |
|
1034 |
|
screenshot-1.jpg
DELETED
Binary file
|
screenshot-2.png
DELETED
Binary file
|
screenshot-3.png
DELETED
Binary file
|
screenshot-4.png
DELETED
Binary file
|
src/SupsysticTables/Core/Module.php
CHANGED
@@ -572,10 +572,18 @@ class SupsysticTables_Core_Module extends SupsysticTables_Core_BaseModule
|
|
572 |
update_option($config->get('revision_key'), $revision['current']);
|
573 |
}
|
574 |
|
|
|
|
|
|
|
|
|
|
|
575 |
private function registerTwigFunctions()
|
576 |
{
|
577 |
$twig = $this->getEnvironment()->getTwig();
|
578 |
|
|
|
|
|
|
|
579 |
$twig->addFunction(
|
580 |
new Twig_SimpleFunction('build_pro_url', array($this, 'buildProUrl'))
|
581 |
);
|
572 |
update_option($config->get('revision_key'), $revision['current']);
|
573 |
}
|
574 |
|
575 |
+
public function getPluginDirectoryUrl($path)
|
576 |
+
{
|
577 |
+
return plugin_dir_url($this->getEnvironment()->getPluginPath() . '/index.php') . '/' . $path;
|
578 |
+
}
|
579 |
+
|
580 |
private function registerTwigFunctions()
|
581 |
{
|
582 |
$twig = $this->getEnvironment()->getTwig();
|
583 |
|
584 |
+
$twig->addFunction(
|
585 |
+
new Twig_SimpleFunction('plugin_directory_url', array($this, 'getPluginDirectoryUrl'))
|
586 |
+
);
|
587 |
$twig->addFunction(
|
588 |
new Twig_SimpleFunction('build_pro_url', array($this, 'buildProUrl'))
|
589 |
);
|
src/SupsysticTables/Core/assets/js/core.js
CHANGED
@@ -170,6 +170,124 @@ var g_stbServerSideProcessingIsActive = false;
|
|
170 |
return deferred.promise();
|
171 |
});
|
172 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
vendor[appName].createSpinner = (function(elem) {
|
174 |
elem = typeof(elem) != 'undefined' ? elem : false;
|
175 |
|
@@ -227,28 +345,8 @@ var g_stbServerSideProcessingIsActive = false;
|
|
227 |
});
|
228 |
}
|
229 |
};
|
230 |
-
|
231 |
-
|
232 |
-
}
|
233 |
-
|
234 |
-
// Fix of correct displaying of tables with hidden rows / columns for tables without headers.
|
235 |
-
if (!$table.data('head')) {
|
236 |
-
$table.find('thead th').each(function(iter, item) {
|
237 |
-
var th = $(this),
|
238 |
-
itemIndex = iter + 1,
|
239 |
-
hidden = true;
|
240 |
-
|
241 |
-
$table.find('tbody td:nth-child(' + itemIndex + ')').each(function() {
|
242 |
-
if(!$(this).hasClass('invisibleCell')) {
|
243 |
-
hidden = false;
|
244 |
-
return false; // stop current .each() iteration
|
245 |
-
}
|
246 |
-
});
|
247 |
-
if(hidden) {
|
248 |
-
th.addClass('invisibleCell');
|
249 |
-
}
|
250 |
-
});
|
251 |
-
}
|
252 |
|
253 |
// Fix for searching by merged cells
|
254 |
$table.find('tbody td[data-colspan], tbody td[data-rowspan]').each(function(index, item) {
|
@@ -370,13 +468,17 @@ var g_stbServerSideProcessingIsActive = false;
|
|
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
|
|
|
|
|
376 |
if(!g_stbServerSideProcessing){
|
377 |
-
|
|
|
|
|
|
|
378 |
}
|
379 |
-
searchRow += '<th ' +
|
380 |
}
|
381 |
searchRow += '</tr>';
|
382 |
if($table.find(tPosition).length == 0) {
|
@@ -749,6 +851,7 @@ var g_stbServerSideProcessingIsActive = false;
|
|
749 |
var self = vendor[appName], // it is callback so "this" does not equal vendor[appName] object
|
750 |
$table = this instanceof $ ? this : settings, // for compatibility with old pro versions
|
751 |
$tableWrap = $table.closest('.supsystic-tables-wrap'),
|
|
|
752 |
afterTableLoadedScriptString = $table.attr('data-after-table-loaded-script'),
|
753 |
_ruleJS = self.setRuleJSInstance($table),
|
754 |
responsiveMode = $table.data('responsive-mode'),
|
@@ -838,6 +941,8 @@ var g_stbServerSideProcessingIsActive = false;
|
|
838 |
});
|
839 |
}
|
840 |
|
|
|
|
|
841 |
$table.trigger('beforeShowTable', $table);
|
842 |
|
843 |
// Show table
|
@@ -978,7 +1083,8 @@ var g_stbServerSideProcessingIsActive = false;
|
|
978 |
}
|
979 |
});
|
980 |
|
981 |
-
vendor[appName].applyTableEventClb = (function(clb, timeout
|
|
|
982 |
timeout = timeout ? timeout : 0;
|
983 |
var self = this,
|
984 |
args = Array.from(arguments);
|
@@ -1003,13 +1109,37 @@ var g_stbServerSideProcessingIsActive = false;
|
|
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].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1013 |
var $elem = $(this),
|
1014 |
title = $elem.attr('title');
|
1015 |
|
@@ -1036,7 +1166,7 @@ var g_stbServerSideProcessingIsActive = false;
|
|
1036 |
comment.fadeOut('slow');
|
1037 |
}, 2500);
|
1038 |
}
|
1039 |
-
};
|
1040 |
|
1041 |
vendor[appName]._contactFormBtnCellClb = (function(e) {
|
1042 |
var cell = $(this),
|
170 |
return deferred.promise();
|
171 |
});
|
172 |
|
173 |
+
vendor[appName].initTablesOnPage = (function() {
|
174 |
+
this._initTablesOnPage();
|
175 |
+
});
|
176 |
+
|
177 |
+
vendor[appName]._initTablesOnPage = (function() {
|
178 |
+
var self = this,
|
179 |
+
firstTableId = '',
|
180 |
+
firstTableViewId = '',
|
181 |
+
firstTable = '',
|
182 |
+
firstTableWrapper = '',
|
183 |
+
firstTableFirstRow = '';
|
184 |
+
|
185 |
+
if($(window).width() <= 991) {
|
186 |
+
$('div .supsystic-tables-wrap').each(function () {
|
187 |
+
var ssDiv = $(this),
|
188 |
+
widthMobile = ssDiv.data('table-width-mobile');
|
189 |
+
if(typeof(widthMobile) != 'undefined') {
|
190 |
+
ssDiv.css('display', (widthMobile == 'auto' ? 'inline-block' : '')).css('width', widthMobile);
|
191 |
+
}
|
192 |
+
});
|
193 |
+
}
|
194 |
+
$('.supsystic-table').each(function () {
|
195 |
+
self.initializeTable(this, self.showTable, function(table) {
|
196 |
+
// This is used when table is hidden in tabs and can't calculate itself width to adjust on small screens
|
197 |
+
if (table.is(':visible')) {
|
198 |
+
// Fix bug in FF and IE which not supporting max-width 100% for images in td
|
199 |
+
self._calculateImages(table);
|
200 |
+
} else {
|
201 |
+
table.data('isVisible', setInterval(function(){
|
202 |
+
if (table.is(':visible')) {
|
203 |
+
clearInterval(table.data('isVisible'));
|
204 |
+
self._calculateImages(table);
|
205 |
+
}
|
206 |
+
}, 250));
|
207 |
+
}
|
208 |
+
// Align all tables on page by the columns width depending on the columns width of first table on page
|
209 |
+
if(table.data('align-by-first-table')) {
|
210 |
+
firstTableId = firstTableId || $('.supsystic-table:first').data('id');
|
211 |
+
firstTable = firstTable || $('#supsystic-table-' + firstTableId);
|
212 |
+
firstTableViewId = firstTable.data('view-id');
|
213 |
+
firstTableWrapper = firstTableWrapper || firstTable.parents('#supsystic-table-' + firstTableViewId);
|
214 |
+
firstTableFirstRow = firstTable.data('head') ? firstTable.find('thead tr:first-child th') : firstTable.find('tbody tr:first-child td');
|
215 |
+
|
216 |
+
if(firstTableViewId != table.data('view-id')) {
|
217 |
+
var currentTableWrapper = table.parents('#supsystic-table-' + table.data('view-id'));
|
218 |
+
|
219 |
+
currentTableWrapper.css({
|
220 |
+
width: firstTableWrapper.get(0).style.width
|
221 |
+
});
|
222 |
+
table.css({
|
223 |
+
width: firstTable.get(0).style.width
|
224 |
+
});
|
225 |
+
currentTableWrapper.find('.supsystic-table').each(function() {
|
226 |
+
var curTable = $(this),
|
227 |
+
curTableFirstRow = curTable.data('head') ? curTable.find('thead tr:first-child th') : curTable.find('tbody tr:first-child td');
|
228 |
+
|
229 |
+
$.each(curTableFirstRow, function (index, element) {
|
230 |
+
if(firstTableFirstRow[index]) {
|
231 |
+
$(this).width($(firstTableFirstRow[index]).get(0).style.width);
|
232 |
+
}
|
233 |
+
});
|
234 |
+
});
|
235 |
+
}
|
236 |
+
}
|
237 |
+
//if row has merged cells no need place header there
|
238 |
+
if(table.data('merged') && table.hasClass('ColWithMergeCellsAlign')) {
|
239 |
+
var mergedData = table.data('merged');
|
240 |
+
$.each(mergedData, function( index, value ) {
|
241 |
+
var rowNumWithMergeCell = value.row;
|
242 |
+
var numForEq = Number(rowNumWithMergeCell)-1;
|
243 |
+
table.find('tbody tr:eq('+numForEq+')').closest('tr').addClass('haveMergedCell');
|
244 |
+
});
|
245 |
+
self.setCellAttributes(table.parents('.supsystic-tables-wrap:first').find('.DTFC_LeftWrapper, DTFC_RightWrapper, .dataTables_scrollHead, .dataTables_scrollFoot').find('th, td'));
|
246 |
+
}
|
247 |
+
if(typeof self.getTableInstanceById(table.data('id')).fnAdjustColumnSizing == 'function' ) {
|
248 |
+
setTimeout(function(){
|
249 |
+
self.getTableInstanceById(table.data('id')).fnAdjustColumnSizing(false);
|
250 |
+
}, 350);
|
251 |
+
}
|
252 |
+
});
|
253 |
+
});
|
254 |
+
});
|
255 |
+
|
256 |
+
vendor[appName]._getOriginalImageSizes = (function(img) {
|
257 |
+
var tempImage = new Image(),
|
258 |
+
width,
|
259 |
+
height;
|
260 |
+
if ('naturalWidth' in tempImage && 'naturalHeight' in tempImage) {
|
261 |
+
width = img.naturalWidth;
|
262 |
+
height = img.naturalHeight;
|
263 |
+
} else {
|
264 |
+
tempImage.src= img.src;
|
265 |
+
width = tempImage.width;
|
266 |
+
height = tempImage.height;
|
267 |
+
}
|
268 |
+
return {
|
269 |
+
width: width,
|
270 |
+
height: height
|
271 |
+
};
|
272 |
+
});
|
273 |
+
|
274 |
+
vendor[appName]._calculateImages = (function($table) {
|
275 |
+
var self = this,
|
276 |
+
$images = $table.find('img');
|
277 |
+
if ($images.length > 0 && /firefox|trident|msie/i.test(navigator.userAgent)) {
|
278 |
+
$images.hide();
|
279 |
+
$.each($images, function(index, el) {
|
280 |
+
var $img = $(this),
|
281 |
+
originalSizes = self._getOriginalImageSizes(this);
|
282 |
+
if ($img.closest('td, th').width() < originalSizes.width) {
|
283 |
+
$img.css('width', '100%');
|
284 |
+
}
|
285 |
+
});
|
286 |
+
$images.show();
|
287 |
+
|
288 |
+
}
|
289 |
+
});
|
290 |
+
|
291 |
vendor[appName].createSpinner = (function(elem) {
|
292 |
elem = typeof(elem) != 'undefined' ? elem : false;
|
293 |
|
345 |
});
|
346 |
}
|
347 |
};
|
348 |
+
|
349 |
+
g_stbServerSideProcessing = $table.data('server-side-processing') && $table.data('server-side-processing') == 'on';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
|
351 |
// Fix for searching by merged cells
|
352 |
$table.find('tbody td[data-colspan], tbody td[data-rowspan]').each(function(index, item) {
|
468 |
if(headerRow.length) {
|
469 |
var searchRow = '<tr class="stbColumnsSearchWrapper">',
|
470 |
func = inputTop ? 'prepend' : 'append';
|
|
|
471 |
for (var i = 0; i < headerRow.length; i++) {
|
472 |
+
var cellItem = $(headerRow[i]),
|
473 |
+
cellClass = '',
|
474 |
+
cellStyle = '';
|
475 |
if(!g_stbServerSideProcessing){
|
476 |
+
cellStyle = cellItem.is(':visible') ? '' : 'style="display: none;"';
|
477 |
+
}
|
478 |
+
if(cellItem.hasClass('invisibleCell')){
|
479 |
+
cellClass = ' class="invisibleCell"'
|
480 |
}
|
481 |
+
searchRow += '<th ' + cellClass + cellStyle + '><input class="search-column" type="text" /></th>';
|
482 |
}
|
483 |
searchRow += '</tr>';
|
484 |
if($table.find(tPosition).length == 0) {
|
851 |
var self = vendor[appName], // it is callback so "this" does not equal vendor[appName] object
|
852 |
$table = this instanceof $ ? this : settings, // for compatibility with old pro versions
|
853 |
$tableWrap = $table.closest('.supsystic-tables-wrap'),
|
854 |
+
tableSelector = '#supsystic-table-' + $table.data('view-id') + ' #supsystic-table-' + $table.data('id'),
|
855 |
afterTableLoadedScriptString = $table.attr('data-after-table-loaded-script'),
|
856 |
_ruleJS = self.setRuleJSInstance($table),
|
857 |
responsiveMode = $table.data('responsive-mode'),
|
941 |
});
|
942 |
}
|
943 |
|
944 |
+
self.applyTableEventClb(self.fixHeaderOfHiddenColumns, 50, tableSelector);
|
945 |
+
|
946 |
$table.trigger('beforeShowTable', $table);
|
947 |
|
948 |
// Show table
|
1083 |
}
|
1084 |
});
|
1085 |
|
1086 |
+
vendor[appName].applyTableEventClb = (function(clb, timeout) {
|
1087 |
+
// Callback for applying events' actions and other functions to tables with server side processing (SSP)
|
1088 |
timeout = timeout ? timeout : 0;
|
1089 |
var self = this,
|
1090 |
args = Array.from(arguments);
|
1109 |
|
1110 |
this.getRuleJSInstance(table).init();
|
1111 |
this.formatDataAtTable(table, true);
|
1112 |
+
this.fixHeaderOfHiddenColumns(table);
|
1113 |
if ('ontouchstart' in window || navigator.msMaxTouchPoints) {
|
1114 |
tableWrapper.find('td, th').on('click', this.applyMobileTableComments);
|
1115 |
}
|
1116 |
tableWrapper.find('td, th').each(this._contactFormBtnCellClb);
|
1117 |
});
|
1118 |
|
1119 |
+
vendor[appName].fixHeaderOfHiddenColumns = (function($table) {
|
1120 |
+
$table = $table instanceof $ ? $table : $($table);
|
1121 |
+
|
1122 |
+
var tableWrapper = $table.parents('.supsystic-tables-wrap:first');
|
1123 |
+
|
1124 |
+
if(!$table.data('head')) {
|
1125 |
+
tableWrapper.find('thead').each(function() {
|
1126 |
+
var thead = $(this);
|
1127 |
+
thead.find('th').each(function(iter, item) {
|
1128 |
+
var th = $(this),
|
1129 |
+
itemIndex = iter + 1,
|
1130 |
+
columnAllTd = thead.parents('table:first').find('tbody td:nth-child(' + itemIndex + ')'),
|
1131 |
+
columnInvTd = columnAllTd.filter('.invisibleCell'),
|
1132 |
+
hidden = columnAllTd.length > 0 && columnAllTd.length == columnInvTd.length;
|
1133 |
+
if(hidden) {
|
1134 |
+
// Fix of correct displaying of tables with hidden rows / columns for tables without headers
|
1135 |
+
th.addClass('invisibleCell');
|
1136 |
+
}
|
1137 |
+
});
|
1138 |
+
});
|
1139 |
+
}
|
1140 |
+
});
|
1141 |
+
|
1142 |
+
vendor[appName].applyMobileTableComments = (function(e) {
|
1143 |
var $elem = $(this),
|
1144 |
title = $elem.attr('title');
|
1145 |
|
1166 |
comment.fadeOut('slow');
|
1167 |
}, 2500);
|
1168 |
}
|
1169 |
+
});
|
1170 |
|
1171 |
vendor[appName]._contactFormBtnCellClb = (function(e) {
|
1172 |
var cell = $(this),
|
src/SupsysticTables/Core/assets/js/create-table.js
CHANGED
@@ -57,7 +57,7 @@
|
|
57 |
|
58 |
app.request({ module: 'tables', action: 'create'}, { title: $input.val(), rows: $rows.val(), cols: $cols.val() })
|
59 |
.done(function (response) {
|
60 |
-
window.location.href = response.url + '&cols=' + $cols.val() + '&rows=' + $rows.val();
|
61 |
}).fail(function (message) {
|
62 |
$error.find('p').text(message);
|
63 |
$error.fadeIn();
|
57 |
|
58 |
app.request({ module: 'tables', action: 'create'}, { title: $input.val(), rows: $rows.val(), cols: $cols.val() })
|
59 |
.done(function (response) {
|
60 |
+
window.location.href = response.url + '&new=1&cols=' + $cols.val() + '&rows=' + $rows.val();
|
61 |
}).fail(function (message) {
|
62 |
$error.find('p').text(message);
|
63 |
$error.fadeIn();
|
src/SupsysticTables/Diagram/assets/img/diagrams-min.png
ADDED
Binary file
|
src/SupsysticTables/Diagram/views/partials/tabContent.twig
CHANGED
@@ -2,15 +2,21 @@
|
|
2 |
{% set url = build_pro_url({ 'utm_medium': 'diagrams' }) %}
|
3 |
|
4 |
{% block content %}
|
|
|
5 |
<div class="col-xs-12">
|
|
|
|
|
|
|
|
|
|
|
6 |
<a href="{{ url }}" class="button button-hero" target="_blank">
|
7 |
{{ environment.translate('Get PRO') }}
|
8 |
</a>
|
9 |
</div>
|
10 |
<div class="col-xs-12">
|
11 |
<a href="{{ url }}" target="_blank">
|
12 |
-
<img src="{{ environment.getModule('diagram').getLocationUrl() }}/assets/img/diagrams.png" alt="Diagrams" title="Available in PRO version" style="width: 100%; height: auto;">
|
13 |
</a>
|
14 |
</div>
|
15 |
{% endblock %}
|
16 |
-
</div>
|
2 |
{% set url = build_pro_url({ 'utm_medium': 'diagrams' }) %}
|
3 |
|
4 |
{% block content %}
|
5 |
+
{% import '@ui/tooltip.twig' as tooltip %}
|
6 |
<div class="col-xs-12">
|
7 |
+
<h3 style="display:inline-block;">
|
8 |
+
{{ environment.translate('Diagrams') }}
|
9 |
+
{{ tooltip.icon('The Data Table Generator contains all the types of diagrams you need. Сreate, manage and embed interactive charts into your WordPress posts and pages. You can preview the diagram right from a tab on the plugin screen. <a target="_blank" href="https://supsystic.com/example/table-with-diagram-example/"></br>Read more</a>' | raw, 'top', true)}}
|
10 |
+
</h3>
|
11 |
+
</br>
|
12 |
<a href="{{ url }}" class="button button-hero" target="_blank">
|
13 |
{{ environment.translate('Get PRO') }}
|
14 |
</a>
|
15 |
</div>
|
16 |
<div class="col-xs-12">
|
17 |
<a href="{{ url }}" target="_blank">
|
18 |
+
<img src="{{ environment.getModule('diagram').getLocationUrl() }}/assets/img/diagrams-min.png" alt="Diagrams" title="Available in PRO version" style="width: 100%; height: auto;">
|
19 |
</a>
|
20 |
</div>
|
21 |
{% endblock %}
|
22 |
+
</div>
|
src/SupsysticTables/Featuredplugins/Controller.php
CHANGED
@@ -39,9 +39,12 @@ class SupsysticTables_Featuredplugins_Controller extends SupsysticTables_Core_Ba
|
|
39 |
array('label' => $environment->translate('Contact Form Plugin'), 'url' => $pluginsUrl. 'contact-form-plugin/', 'img' => $uploadsUrl. '2016/07/Contact_Form_256.png', 'desc' => $environment->translate('One of the best plugin for creating Contact Forms on your WordPress site. Changeable fonts, backgrounds, an option for adding fields etc.'), 'download' => $downloadsUrl. 'contact-form-by-supsystic.zip'),
|
40 |
array('label' => $environment->translate('Newsletter Plugin'), 'url' => $pluginsUrl. 'newsletter-plugin/', 'img' => $uploadsUrl. '2016/08/icon-256x256.png', 'desc' => $environment->translate('Supsystic Newsletter plugin for automatic mailing of your letters. You will have no need to control it or send them manually. No coding, hard skills or long hours of customizing are required.'), 'download' => $downloadsUrl. 'newsletter-by-supsystic.zip'),
|
41 |
array('label' => $environment->translate('Membership by Supsystic'), 'url' => $pluginsUrl. 'membership-plugin/', 'img' => $uploadsUrl. '2016/09/256.png', 'desc' => $environment->translate('Create online membership community with custom user profiles, roles, FrontEnd registration and login. Members Directory, activity, groups, messages.'), 'download' => $downloadsUrl. 'membership-by-supsystic.zip'),
|
|
|
42 |
);
|
43 |
foreach($pluginsList as $i => $p) {
|
44 |
-
$
|
|
|
|
|
45 |
}
|
46 |
|
47 |
return $this->response(
|
39 |
array('label' => $environment->translate('Contact Form Plugin'), 'url' => $pluginsUrl. 'contact-form-plugin/', 'img' => $uploadsUrl. '2016/07/Contact_Form_256.png', 'desc' => $environment->translate('One of the best plugin for creating Contact Forms on your WordPress site. Changeable fonts, backgrounds, an option for adding fields etc.'), 'download' => $downloadsUrl. 'contact-form-by-supsystic.zip'),
|
40 |
array('label' => $environment->translate('Newsletter Plugin'), 'url' => $pluginsUrl. 'newsletter-plugin/', 'img' => $uploadsUrl. '2016/08/icon-256x256.png', 'desc' => $environment->translate('Supsystic Newsletter plugin for automatic mailing of your letters. You will have no need to control it or send them manually. No coding, hard skills or long hours of customizing are required.'), 'download' => $downloadsUrl. 'newsletter-by-supsystic.zip'),
|
41 |
array('label' => $environment->translate('Membership by Supsystic'), 'url' => $pluginsUrl. 'membership-plugin/', 'img' => $uploadsUrl. '2016/09/256.png', 'desc' => $environment->translate('Create online membership community with custom user profiles, roles, FrontEnd registration and login. Members Directory, activity, groups, messages.'), 'download' => $downloadsUrl. 'membership-by-supsystic.zip'),
|
42 |
+
array('label' => $environment->translate('Kinsta Hosting'), 'url' => 'https://kinsta.com?kaid=MNRQQASUYJRT', 'external' => true, 'img' => $this->getEnvironment()->getModule('core')->getPluginDirectoryUrl('app/assets/img/kinsta_banner.png'), 'desc' => $environment->translate('If you want to host a business site or a blog, Kinsta managed WordPress hosting is the best place to stop on. Without any hesitation, we can say Kinsta is incredible when it comes to uptime and speed.')),
|
43 |
);
|
44 |
foreach($pluginsList as $i => $p) {
|
45 |
+
if(empty($p['external'])) {
|
46 |
+
$pluginsList[ $i ]['url'] = $pluginsList[ $i ]['url']. '?utm_source=plugin&utm_medium=featured_plugins&utm_campaign='. $promoCampaign;
|
47 |
+
}
|
48 |
}
|
49 |
|
50 |
return $this->response(
|
src/SupsysticTables/Featuredplugins/assets/css/admin.featured-plugins.css
CHANGED
@@ -75,6 +75,10 @@
|
|
75 |
font-size: 18px !important;
|
76 |
padding: 12px 0 !important;
|
77 |
}
|
|
|
|
|
|
|
|
|
78 |
.catitem .download-product-item .dp-buttons a.dp-full {
|
79 |
border-color: #e8eded!important;
|
80 |
}
|
75 |
font-size: 18px !important;
|
76 |
padding: 12px 0 !important;
|
77 |
}
|
78 |
+
.catitem .download-product-item .dp-buttons a.btn-center {
|
79 |
+
display: block;
|
80 |
+
margin: 0 auto;
|
81 |
+
}
|
82 |
.catitem .download-product-item .dp-buttons a.dp-full {
|
83 |
border-color: #e8eded!important;
|
84 |
}
|
src/SupsysticTables/Featuredplugins/views/index.twig
CHANGED
@@ -30,12 +30,14 @@
|
|
30 |
</div>
|
31 |
</div>
|
32 |
<div class="dp-buttons">
|
33 |
-
<a href="{{ p.url }}" target="_blank" class="btn btn-full hvr-shutter-out-horizontal">
|
34 |
-
{{ translate('More info'
|
35 |
</a>
|
|
|
36 |
<a href="{{ p.download }}" target="_blank" class="btn btn-full btn-info hvr-shutter-out-horizontal">
|
37 |
-
{{ translate('Download'
|
38 |
</a>
|
|
|
39 |
</div>
|
40 |
</div>
|
41 |
</div>
|
30 |
</div>
|
31 |
</div>
|
32 |
<div class="dp-buttons">
|
33 |
+
<a href="{{ p.url }}" target="_blank" class="btn btn-full hvr-shutter-out-horizontal {% if p.download is empty %}btn-center{% endif %}">
|
34 |
+
{{ translate('More info') }}
|
35 |
</a>
|
36 |
+
{% if p.download is not empty %}
|
37 |
<a href="{{ p.download }}" target="_blank" class="btn btn-full btn-info hvr-shutter-out-horizontal">
|
38 |
+
{{ translate('Download') }}
|
39 |
</a>
|
40 |
+
{% endif %}
|
41 |
</div>
|
42 |
</div>
|
43 |
</div>
|
src/SupsysticTables/Overview/Controller.php
CHANGED
@@ -18,8 +18,8 @@ class SupsysticTables_Overview_Controller extends SupsysticTables_Core_BaseContr
|
|
18 |
'contactForm' => array(
|
19 |
'name' => $current_user->user_firstname,
|
20 |
'email' => $current_user->user_email,
|
21 |
-
'website' => get_bloginfo('url')
|
22 |
-
)
|
23 |
)
|
24 |
);
|
25 |
}
|
18 |
'contactForm' => array(
|
19 |
'name' => $current_user->user_firstname,
|
20 |
'email' => $current_user->user_email,
|
21 |
+
'website' => get_bloginfo('url'),
|
22 |
+
),
|
23 |
)
|
24 |
);
|
25 |
}
|
src/SupsysticTables/Overview/assets/css/overview.css
CHANGED
@@ -18,11 +18,6 @@
|
|
18 |
width: 40%;
|
19 |
}
|
20 |
|
21 |
-
.supsystic-overview .description {
|
22 |
-
padding-bottom: 20px;
|
23 |
-
border-bottom: 1px solid rgba(164, 170, 172, 0.28);
|
24 |
-
}
|
25 |
-
|
26 |
.supsystic-overview .faq-title {
|
27 |
cursor: pointer;
|
28 |
}
|
@@ -32,12 +27,6 @@
|
|
32 |
border: none !important;
|
33 |
}
|
34 |
|
35 |
-
.supsystic-overview .faq-list {
|
36 |
-
padding-bottom: 20px;
|
37 |
-
margin-bottom: 10px;
|
38 |
-
border-bottom: 1px solid rgba(164, 170, 172, 0.28);
|
39 |
-
}
|
40 |
-
|
41 |
.supsystic-overview .faq-title,
|
42 |
.supsystic-overview-news h3 {
|
43 |
padding: 10px 20px;
|
@@ -55,12 +44,6 @@
|
|
55 |
display: block;
|
56 |
}
|
57 |
|
58 |
-
.supsystic-overview .video {
|
59 |
-
padding: 10px 20px;
|
60 |
-
margin-bottom: 10px;
|
61 |
-
border-bottom: 1px solid rgba(164, 170, 172, 0.28);
|
62 |
-
}
|
63 |
-
|
64 |
.supsystic-overview .settings-title {
|
65 |
font-size: 14px;
|
66 |
font-weight: 600;
|
@@ -124,6 +107,19 @@
|
|
124 |
white-space: nowrap;
|
125 |
}
|
126 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
#contact-form-dialog p {
|
128 |
font-size: 15px;
|
129 |
}
|
18 |
width: 40%;
|
19 |
}
|
20 |
|
|
|
|
|
|
|
|
|
|
|
21 |
.supsystic-overview .faq-title {
|
22 |
cursor: pointer;
|
23 |
}
|
27 |
border: none !important;
|
28 |
}
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
.supsystic-overview .faq-title,
|
31 |
.supsystic-overview-news h3 {
|
32 |
padding: 10px 20px;
|
44 |
display: block;
|
45 |
}
|
46 |
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
.supsystic-overview .settings-title {
|
48 |
font-size: 14px;
|
49 |
font-weight: 600;
|
107 |
white-space: nowrap;
|
108 |
}
|
109 |
|
110 |
+
.supsystic-overview .half-page > div {
|
111 |
+
border-bottom: 1px solid rgba(164, 170, 172, 0.28);
|
112 |
+
padding-bottom: 20px;
|
113 |
+
}
|
114 |
+
|
115 |
+
.supsystic-overview .half-page > div:last-child {
|
116 |
+
border-bottom: none;
|
117 |
+
}
|
118 |
+
|
119 |
+
.supsystic-overview .text-block {
|
120 |
+
margin: 10px 0;
|
121 |
+
}
|
122 |
+
|
123 |
#contact-form-dialog p {
|
124 |
font-size: 15px;
|
125 |
}
|
src/SupsysticTables/Overview/views/index.twig
CHANGED
@@ -2,18 +2,17 @@
|
|
2 |
|
3 |
{% block content %}
|
4 |
<div class="supsystic-overview">
|
5 |
-
<div class="half-page-left">
|
6 |
-
<
|
7 |
-
|
8 |
<a href="{{ environment.generateUrl('promo', 'showTutorial') }}" class="button button-primary button-hero">
|
9 |
<i class="fa fa-info-circle"></i>
|
10 |
{{ translate('Begin Step-by-step Tutorial') }}
|
11 |
</a>
|
|
|
12 |
</div>
|
13 |
-
<div class="clear"></div>
|
14 |
-
|
15 |
-
<h3>FAQ and Documentation</h3>
|
16 |
<div class="faq-list">
|
|
|
17 |
<div class="faq-title">
|
18 |
<i class="fa fa-info-circle"></i>
|
19 |
Data Tables Plugin Installation
|
@@ -119,7 +118,6 @@
|
|
119 |
</a>
|
120 |
<div style="clear: both;"></div>
|
121 |
</div>
|
122 |
-
|
123 |
<div class="video">
|
124 |
<h3>Video tutorial</h3>
|
125 |
<iframe type="text/html"
|
@@ -129,7 +127,6 @@
|
|
129 |
frameborder="0">
|
130 |
</iframe>
|
131 |
</div>
|
132 |
-
|
133 |
<div class="server-settings">
|
134 |
<h3>Server Settings</h3>
|
135 |
<ul class="settings-list">
|
@@ -142,18 +139,17 @@
|
|
142 |
</ul>
|
143 |
</div>
|
144 |
</div>
|
145 |
-
<div class="half-page-right">
|
146 |
-
<
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
<a href="http://supsystic.com/plugins/data-tables-generator-plugin/" class="button button-primary button-hero">
|
152 |
-
<i class="fa fa-info-circle"></i>
|
153 |
-
All news
|
154 |
</a>
|
155 |
-
|
156 |
-
|
157 |
<div class="overview-contact-form">
|
158 |
<h3>Contact form</h3>
|
159 |
{#<div class="description">Translate plugin in your language and get a Premium license for FREE</div>#}
|
@@ -163,7 +159,6 @@
|
|
163 |
|
164 |
<table class="contact-form-table" style="width: 100%;">
|
165 |
<thead>
|
166 |
-
|
167 |
{{ form.row(translate('Name') ~ ' *',
|
168 |
form.text('name', contactForm.name, { 'required': '' })) }}
|
169 |
|
@@ -175,7 +170,6 @@
|
|
175 |
|
176 |
{{ form.row(translate('Subject') ~ ' *',
|
177 |
form.text('subject', '', { 'required': '' })) }}
|
178 |
-
|
179 |
<tr>
|
180 |
<th scope="row">
|
181 |
<label for="select-question">{{ translate('Topic') }}</label>
|
@@ -197,7 +191,6 @@
|
|
197 |
</select>
|
198 |
</td>
|
199 |
</tr>
|
200 |
-
|
201 |
<tr>
|
202 |
<th scope="row" style="vertical-align: top;">
|
203 |
<label for="mail-text">{{ translate('Message') ~ ' *' }}</label>
|
@@ -206,17 +199,21 @@
|
|
206 |
<textarea id="mail-text" name="message" cols="50" rows="3" placeholder="{{ translate('Hello Supsystic Team!') }}" required=""></textarea>
|
207 |
</td>
|
208 |
</tr>
|
209 |
-
|
210 |
</thead>
|
211 |
</table>
|
212 |
-
|
213 |
<button id="send-mail" type="submit" class="button button-primary button-hero">
|
214 |
<i class="fa fa-upload"></i>
|
215 |
Send email
|
216 |
</button>
|
217 |
-
|
218 |
<div class="required-notification" style="color: red; float: left;" hidden>Fields with * are required to fill</div>
|
219 |
{{ form.close() }}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
</div>
|
221 |
</div>
|
222 |
<div id="contact-form-dialog" hidden>
|
2 |
|
3 |
{% block content %}
|
4 |
<div class="supsystic-overview">
|
5 |
+
<div class="half-page half-page-left">
|
6 |
+
<div class="tutorial">
|
7 |
+
<h3>{{ translate('Step-by-step Tutorial') }}</h3>
|
8 |
<a href="{{ environment.generateUrl('promo', 'showTutorial') }}" class="button button-primary button-hero">
|
9 |
<i class="fa fa-info-circle"></i>
|
10 |
{{ translate('Begin Step-by-step Tutorial') }}
|
11 |
</a>
|
12 |
+
<div class="clear"></div>
|
13 |
</div>
|
|
|
|
|
|
|
14 |
<div class="faq-list">
|
15 |
+
<h3>FAQ and Documentation</h3>
|
16 |
<div class="faq-title">
|
17 |
<i class="fa fa-info-circle"></i>
|
18 |
Data Tables Plugin Installation
|
118 |
</a>
|
119 |
<div style="clear: both;"></div>
|
120 |
</div>
|
|
|
121 |
<div class="video">
|
122 |
<h3>Video tutorial</h3>
|
123 |
<iframe type="text/html"
|
127 |
frameborder="0">
|
128 |
</iframe>
|
129 |
</div>
|
|
|
130 |
<div class="server-settings">
|
131 |
<h3>Server Settings</h3>
|
132 |
<ul class="settings-list">
|
139 |
</ul>
|
140 |
</div>
|
141 |
</div>
|
142 |
+
<div class="half-page half-page-right">
|
143 |
+
<div class="supsystic-overview-news-container">
|
144 |
+
<h3>News</h3>
|
145 |
+
<div class="supsystic-overview-news">
|
146 |
+
{{ news|raw }}
|
147 |
+
</div>
|
148 |
<a href="http://supsystic.com/plugins/data-tables-generator-plugin/" class="button button-primary button-hero">
|
149 |
+
<i class="fa fa-info-circle"></i>All news
|
|
|
150 |
</a>
|
151 |
+
<div class="clear"></div>
|
152 |
+
</div>
|
153 |
<div class="overview-contact-form">
|
154 |
<h3>Contact form</h3>
|
155 |
{#<div class="description">Translate plugin in your language and get a Premium license for FREE</div>#}
|
159 |
|
160 |
<table class="contact-form-table" style="width: 100%;">
|
161 |
<thead>
|
|
|
162 |
{{ form.row(translate('Name') ~ ' *',
|
163 |
form.text('name', contactForm.name, { 'required': '' })) }}
|
164 |
|
170 |
|
171 |
{{ form.row(translate('Subject') ~ ' *',
|
172 |
form.text('subject', '', { 'required': '' })) }}
|
|
|
173 |
<tr>
|
174 |
<th scope="row">
|
175 |
<label for="select-question">{{ translate('Topic') }}</label>
|
191 |
</select>
|
192 |
</td>
|
193 |
</tr>
|
|
|
194 |
<tr>
|
195 |
<th scope="row" style="vertical-align: top;">
|
196 |
<label for="mail-text">{{ translate('Message') ~ ' *' }}</label>
|
199 |
<textarea id="mail-text" name="message" cols="50" rows="3" placeholder="{{ translate('Hello Supsystic Team!') }}" required=""></textarea>
|
200 |
</td>
|
201 |
</tr>
|
|
|
202 |
</thead>
|
203 |
</table>
|
|
|
204 |
<button id="send-mail" type="submit" class="button button-primary button-hero">
|
205 |
<i class="fa fa-upload"></i>
|
206 |
Send email
|
207 |
</button>
|
|
|
208 |
<div class="required-notification" style="color: red; float: left;" hidden>Fields with * are required to fill</div>
|
209 |
{{ form.close() }}
|
210 |
+
<div class="clear"></div>
|
211 |
+
</div>
|
212 |
+
<div class="banner">
|
213 |
+
<div class="text-block">{{ translate('If you want to host a business site or a blog, Kinsta managed WordPress hosting is the best place to stop on. Without any hesitation, we can say Kinsta is incredible when it comes to uptime and speed.') }}</div>
|
214 |
+
<a href="https://kinsta.com?kaid=MNRQQASUYJRT">
|
215 |
+
<img src="{{ plugin_directory_url('app/assets/img/kinsta_banner.png') }}" style="width: 300px;height: 250px;" />
|
216 |
+
</a>
|
217 |
</div>
|
218 |
</div>
|
219 |
<div id="contact-form-dialog" hidden>
|
src/SupsysticTables/Tables/Controller.php
CHANGED
@@ -108,7 +108,9 @@ class SupsysticTables_Tables_Controller extends SupsysticTables_Core_BaseControl
|
|
108 |
$languages = $this->getModel('languages', 'tables');
|
109 |
|
110 |
try {
|
111 |
-
|
|
|
|
|
112 |
$id = $request->query->get('id');
|
113 |
$table = $this->getModel('tables')->getById($id);
|
114 |
} catch (Exception $e) {
|
@@ -128,7 +130,8 @@ class SupsysticTables_Tables_Controller extends SupsysticTables_Core_BaseControl
|
|
128 |
'table' => $table,
|
129 |
'attributes' => array(
|
130 |
'cols' => $request->query->get('cols', 5),
|
131 |
-
'rows' => $request->query->get('rows', 5)
|
|
|
132 |
),
|
133 |
'translations' => $languages->getTranslations(),
|
134 |
'settings' => $settings,
|
108 |
$languages = $this->getModel('languages', 'tables');
|
109 |
|
110 |
try {
|
111 |
+
add_action('admin_enqueue_scripts', function(){
|
112 |
+
wp_enqueue_media();
|
113 |
+
});
|
114 |
$id = $request->query->get('id');
|
115 |
$table = $this->getModel('tables')->getById($id);
|
116 |
} catch (Exception $e) {
|
130 |
'table' => $table,
|
131 |
'attributes' => array(
|
132 |
'cols' => $request->query->get('cols', 5),
|
133 |
+
'rows' => $request->query->get('rows', 5),
|
134 |
+
'new' => $request->query->get('new', 0)
|
135 |
),
|
136 |
'translations' => $languages->getTranslations(),
|
137 |
'settings' => $settings,
|
src/SupsysticTables/Tables/Model/Tables.php
CHANGED
@@ -408,31 +408,32 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
408 |
* Returns needed table rows
|
409 |
* @return array
|
410 |
*/
|
411 |
-
public function getNeededRows($id, &$settings, $isSSP, $
|
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 |
-
|
424 |
-
return $this->environment->getModule('woocommerce')->getController()->getRows($id, $settings) ;
|
425 |
}
|
426 |
}
|
427 |
}
|
428 |
-
if (
|
429 |
$cntHead = 1;
|
430 |
$footers = array();
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
|
|
436 |
if (isset($settings['elements']['foot']) && $settings['elements']['foot'] == 'on' &&
|
437 |
isset($settings['customFooter']) && $settings['customFooter'] == 'on' &&
|
438 |
isset($settings['footerRowsCount']) && $settings['footerRowsCount'] > 0) {
|
@@ -448,14 +449,14 @@ class SupsysticTables_Tables_Model_Tables extends SupsysticTables_Core_BaseModel
|
|
448 |
* Returns needed table rows
|
449 |
* @return array
|
450 |
*/
|
451 |
-
public function getRowsByIds($id, &$settings, $ids)
|
452 |
{
|
453 |
$source = ($this->environment->isPro() && isset($settings['source']) ? $settings['source'] : '');
|
454 |
|
455 |
if (isset($source['database']) && $source['database'] == 'on' && isset($source['dbTable'])){
|
456 |
$core = $this->environment->getModule('core');
|
457 |
$dbTableModel = $core->getModelsFactory()->get('DBTables', 'tables');
|
458 |
-
return $dbTableModel->getRowsData($settings, $ids);
|
459 |
}
|
460 |
|
461 |
$bodyStop = $this->getCountRows($id);
|
408 |
* Returns needed table rows
|
409 |
* @return array
|
410 |
*/
|
411 |
+
public function getNeededRows($id, &$settings, $isSSP, $attributes = false, $export = 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, false, $attributes);
|
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()){
|
424 |
+
return $this->environment->getModule('woocommerce')->getController()->getRows($id, $settings, false, false, false, $export) ;
|
425 |
}
|
426 |
}
|
427 |
}
|
428 |
+
if ($isSSP) {
|
429 |
$cntHead = 1;
|
430 |
$footers = array();
|
431 |
+
if (isset($settings['elements']['head']) && $settings['elements']['head'] == 'on' &&
|
432 |
+
isset($settings['headerRowsCount']) && $settings['headerRowsCount'] > 0) {
|
433 |
+
$headers = $this->getRows($id, $settings['headerRowsCount']);
|
434 |
+
} else {
|
435 |
+
$headers = $this->getRows($id, $cntHead);
|
436 |
+
}
|
437 |
if (isset($settings['elements']['foot']) && $settings['elements']['foot'] == 'on' &&
|
438 |
isset($settings['customFooter']) && $settings['customFooter'] == 'on' &&
|
439 |
isset($settings['footerRowsCount']) && $settings['footerRowsCount'] > 0) {
|
449 |
* Returns needed table rows
|
450 |
* @return array
|
451 |
*/
|
452 |
+
public function getRowsByIds($id, &$settings, $ids, $attributes = false)
|
453 |
{
|
454 |
$source = ($this->environment->isPro() && isset($settings['source']) ? $settings['source'] : '');
|
455 |
|
456 |
if (isset($source['database']) && $source['database'] == 'on' && isset($source['dbTable'])){
|
457 |
$core = $this->environment->getModule('core');
|
458 |
$dbTableModel = $core->getModelsFactory()->get('DBTables', 'tables');
|
459 |
+
return $dbTableModel->getRowsData($settings, $ids, $attributes);
|
460 |
}
|
461 |
|
462 |
$bodyStop = $this->getCountRows($id);
|
src/SupsysticTables/Tables/Module.php
CHANGED
@@ -20,6 +20,7 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
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 |
*/
|
@@ -57,6 +58,7 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
57 |
$dispatcher->on('after_tables_loaded', array($this, 'onAfterLoaded'));
|
58 |
$this->renderTableHistorySection();
|
59 |
|
|
|
60 |
}
|
61 |
|
62 |
public function getDataTablesInPosts() {
|
@@ -216,6 +218,7 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
216 |
$cachePath = $this->cacheDirectory . DIRECTORY_SEPARATOR . $id;
|
217 |
|
218 |
$environment = $this->getEnvironment();
|
|
|
219 |
$twig = $environment->getTwig();
|
220 |
$core = $environment->getModule('core'); // @var SupsysticTables_Core_Module $core
|
221 |
$tables = $core->getModelsFactory()->get('tables'); // @var SupsysticTables_Tables_Model_Tables $tables
|
@@ -235,14 +238,18 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
235 |
if (!$table) {
|
236 |
return sprintf($environment->translate('The table with ID %d not exists.'), $id);
|
237 |
}
|
238 |
-
|
239 |
-
|
|
|
|
|
|
|
|
|
|
|
240 |
$table->isDB = ($environment->isPro() && !$this->isSingleCell && !$this->isTablePart && isset($table->settings['source']) && isset($table->settings['source']['database']) && $table->settings['source']['database'] == 'on');
|
241 |
|
242 |
if(!isset($table->isPageRows)) {
|
243 |
$table->isPageRows = false;
|
244 |
}
|
245 |
-
|
246 |
$this->checkSpreadsheet = $this->checkSpreadsheet && !$table->isPageRows
|
247 |
&& $environment->isPro()
|
248 |
&& isset($table->settings['features']['import']['google']['automatically_update'])
|
@@ -258,9 +265,7 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
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();
|
264 |
$dispatcher->apply('before_table_render', array($table));
|
265 |
$dispatcher->apply('before_table_render_from_cache', array($table));
|
266 |
return file_get_contents($cachePath);
|
@@ -275,7 +280,8 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
275 |
$table->meta = $tables->getMeta($id);
|
276 |
}
|
277 |
if(!$table->isPageRows) {
|
278 |
-
$table->rows = $tables->getNeededRows($id, $table->settings, $table->isSSP);
|
|
|
279 |
|
280 |
if (isset($table->meta['columnsWidth'])) {
|
281 |
$columnsTotalWidth = array_sum($table->meta['columnsWidth']);
|
@@ -300,8 +306,7 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
300 |
unset($table->settings['features']['paging']);
|
301 |
unset($table->settings['features']['searching']);
|
302 |
unset($table->settings['features']['after_table_loaded_script']);
|
303 |
-
|
304 |
-
if($this->isSingleCell) {
|
305 |
$table->meta['css'] = $table->meta['css'] .
|
306 |
'#supsystic-table-' . $table->view_id . ' #supsystic-table-' . $id . ' { margin-left: 0; }' .
|
307 |
'#supsystic-table-' . $table->view_id . ' #supsystic-table-' . $id . ',
|
@@ -371,10 +376,18 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
371 |
$table->history_data = $this->historyData;
|
372 |
$table->encoded_title = htmlspecialchars($table->title, ENT_QUOTES);
|
373 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
// Connect scripts and styles depending on table settings and table's cells settings
|
375 |
-
$dispatcher = $this->getEnvironment()->getDispatcher();
|
376 |
$dispatcher->apply('before_table_render', array($table));
|
377 |
-
|
|
|
|
|
378 |
$searchValue = '';
|
379 |
|
380 |
if(!empty($this->tableSearch)) {
|
@@ -507,6 +520,7 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
507 |
add_action('wp_footer', array($asset, 'load'));
|
508 |
}
|
509 |
}
|
|
|
510 |
return $this->render((int)$attributes['id']);
|
511 |
}
|
512 |
|
@@ -783,6 +797,9 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
783 |
}
|
784 |
|
785 |
if ($environment->isAction('view')) {
|
|
|
|
|
|
|
786 |
// Styles
|
787 |
$ui->add(
|
788 |
$ui->createStyle('supsystic-tables-tables-editor-css')
|
@@ -808,6 +825,13 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
808 |
->setCachingAllowed(true)
|
809 |
->setVersion('1.3.0')
|
810 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
811 |
|
812 |
$ui->add(
|
813 |
$ui->createScript('supsystic-tables-tables-model')
|
@@ -854,6 +878,10 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
854 |
}
|
855 |
}
|
856 |
|
|
|
|
|
|
|
|
|
857 |
private function loadDataTables(SupsysticTables_Ui_Module $ui)
|
858 |
{
|
859 |
$hookName = 'admin_enqueue_scripts';
|
@@ -1371,6 +1399,11 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
1371 |
'label' => $environment->translate('History Shortcode'),
|
1372 |
'attrs' => 'use_history=1',
|
1373 |
);
|
|
|
|
|
|
|
|
|
|
|
1374 |
}
|
1375 |
|
1376 |
return $dispatcher->apply('table-shortcodes-list', array($shortcodes));
|
@@ -1378,7 +1411,12 @@ class SupsysticTables_Tables_Module extends SupsysticTables_Core_BaseModule
|
|
1378 |
|
1379 |
public function additionalCloningActions($clonedTable, $newTableId) {
|
1380 |
return $clonedTable;
|
1381 |
-
}
|
|
|
|
|
|
|
|
|
|
|
1382 |
}
|
1383 |
|
1384 |
require_once('Model/widget.php');
|
20 |
* Contains the value of "search" shortcode param for applying it to table
|
21 |
*/
|
22 |
private $tableSearch = '';
|
23 |
+
private $shortAttributes = array();
|
24 |
/**
|
25 |
* Variables for appending of table styles to site header
|
26 |
*/
|
58 |
$dispatcher->on('after_tables_loaded', array($this, 'onAfterLoaded'));
|
59 |
$this->renderTableHistorySection();
|
60 |
|
61 |
+
add_filter('jetpack_lazy_images_blacklisted_classes', array($this, 'excludeFromLazyLoad'), 999, 1);
|
62 |
}
|
63 |
|
64 |
public function getDataTablesInPosts() {
|
218 |
$cachePath = $this->cacheDirectory . DIRECTORY_SEPARATOR . $id;
|
219 |
|
220 |
$environment = $this->getEnvironment();
|
221 |
+
$dispatcher = $environment->getDispatcher();
|
222 |
$twig = $environment->getTwig();
|
223 |
$core = $environment->getModule('core'); // @var SupsysticTables_Core_Module $core
|
224 |
$tables = $core->getModelsFactory()->get('tables'); // @var SupsysticTables_Tables_Model_Tables $tables
|
238 |
if (!$table) {
|
239 |
return sprintf($environment->translate('The table with ID %d not exists.'), $id);
|
240 |
}
|
241 |
+
$table->isSSP = (!$this->isSingleCell
|
242 |
+
&& !$this->isTablePart
|
243 |
+
&& isset($table->settings['features']['paging'])
|
244 |
+
&& $table->settings['features']['paging'] == 'on'
|
245 |
+
&& isset($table->settings['serverSideProcessing'])
|
246 |
+
&& $table->settings['serverSideProcessing'] == 'on'
|
247 |
+
);
|
248 |
$table->isDB = ($environment->isPro() && !$this->isSingleCell && !$this->isTablePart && isset($table->settings['source']) && isset($table->settings['source']['database']) && $table->settings['source']['database'] == 'on');
|
249 |
|
250 |
if(!isset($table->isPageRows)) {
|
251 |
$table->isPageRows = false;
|
252 |
}
|
|
|
253 |
$this->checkSpreadsheet = $this->checkSpreadsheet && !$table->isPageRows
|
254 |
&& $environment->isPro()
|
255 |
&& isset($table->settings['features']['import']['google']['automatically_update'])
|
265 |
&& file_exists($cachePath)
|
266 |
&& $this->getEnvironment()->isProd()
|
267 |
) {
|
|
|
268 |
// Connect scripts and styles depending on table settings and table's cells settings for table cache
|
|
|
269 |
$dispatcher->apply('before_table_render', array($table));
|
270 |
$dispatcher->apply('before_table_render_from_cache', array($table));
|
271 |
return file_get_contents($cachePath);
|
280 |
$table->meta = $tables->getMeta($id);
|
281 |
}
|
282 |
if(!$table->isPageRows) {
|
283 |
+
$table->rows = $tables->getNeededRows($id, $table->settings, $table->isSSP, $this->shortAttributes);
|
284 |
+
$this->shortAttributes = array();
|
285 |
|
286 |
if (isset($table->meta['columnsWidth'])) {
|
287 |
$columnsTotalWidth = array_sum($table->meta['columnsWidth']);
|
306 |
unset($table->settings['features']['paging']);
|
307 |
unset($table->settings['features']['searching']);
|
308 |
unset($table->settings['features']['after_table_loaded_script']);
|
309 |
+
|
|
|
310 |
$table->meta['css'] = $table->meta['css'] .
|
311 |
'#supsystic-table-' . $table->view_id . ' #supsystic-table-' . $id . ' { margin-left: 0; }' .
|
312 |
'#supsystic-table-' . $table->view_id . ' #supsystic-table-' . $id . ',
|
376 |
$table->history_data = $this->historyData;
|
377 |
$table->encoded_title = htmlspecialchars($table->title, ENT_QUOTES);
|
378 |
|
379 |
+
// Fix for some crashed logo links
|
380 |
+
if(!empty($table->settings['exportLogo']['src']) && strpos($table->settings['exportLogo']['src'], 'http') === false) {
|
381 |
+
// Try to fix link
|
382 |
+
if(strpos($table->settings['exportLogo']['src'], '/wp-content') === 0) {
|
383 |
+
$table->settings['exportLogo']['src'] = home_url($table->settings['exportLogo']['src']);
|
384 |
+
}
|
385 |
+
}
|
386 |
// Connect scripts and styles depending on table settings and table's cells settings
|
|
|
387 |
$dispatcher->apply('before_table_render', array($table));
|
388 |
+
if($table->isSSP) {
|
389 |
+
$dispatcher->apply('before_table_render_ssp', array($table));
|
390 |
+
}
|
391 |
$searchValue = '';
|
392 |
|
393 |
if(!empty($this->tableSearch)) {
|
520 |
add_action('wp_footer', array($asset, 'load'));
|
521 |
}
|
522 |
}
|
523 |
+
$this->shortAttributes = $attributes;
|
524 |
return $this->render((int)$attributes['id']);
|
525 |
}
|
526 |
|
797 |
}
|
798 |
|
799 |
if ($environment->isAction('view')) {
|
800 |
+
// WordPress Media Library JavaScript APIs
|
801 |
+
add_action($hookName, array($this, 'loadMediaScripts'));
|
802 |
+
|
803 |
// Styles
|
804 |
$ui->add(
|
805 |
$ui->createStyle('supsystic-tables-tables-editor-css')
|
825 |
->setCachingAllowed(true)
|
826 |
->setVersion('1.3.0')
|
827 |
);
|
828 |
+
$ui->add(
|
829 |
+
$ui->createScript('supsystic-tables-slimscroll-js')
|
830 |
+
->setHookName($hookName)
|
831 |
+
->setModuleSource($this, 'libraries/slimscroll.min.js')
|
832 |
+
->setCachingAllowed(true)
|
833 |
+
->setVersion('1.3.8')
|
834 |
+
);
|
835 |
|
836 |
$ui->add(
|
837 |
$ui->createScript('supsystic-tables-tables-model')
|
878 |
}
|
879 |
}
|
880 |
|
881 |
+
public function loadMediaScripts() {
|
882 |
+
wp_enqueue_media();
|
883 |
+
}
|
884 |
+
|
885 |
private function loadDataTables(SupsysticTables_Ui_Module $ui)
|
886 |
{
|
887 |
$hookName = 'admin_enqueue_scripts';
|
1399 |
'label' => $environment->translate('History Shortcode'),
|
1400 |
'attrs' => 'use_history=1',
|
1401 |
);
|
1402 |
+
$shortcodes['sql_shortcode'] = array(
|
1403 |
+
'name' => $config->get('shortcode_name'),
|
1404 |
+
'label' => $environment->translate('SQL Shortcode'),
|
1405 |
+
'attrs' => 'sql1=1 sql2="yes"',
|
1406 |
+
);
|
1407 |
}
|
1408 |
|
1409 |
return $dispatcher->apply('table-shortcodes-list', array($shortcodes));
|
1411 |
|
1412 |
public function additionalCloningActions($clonedTable, $newTableId) {
|
1413 |
return $clonedTable;
|
1414 |
+
}
|
1415 |
+
|
1416 |
+
public function excludeFromLazyLoad($classes) {
|
1417 |
+
array_push($classes, 'stbSkipLazy');
|
1418 |
+
return $classes;
|
1419 |
+
}
|
1420 |
}
|
1421 |
|
1422 |
require_once('Model/widget.php');
|
src/SupsysticTables/Tables/assets/css/tables.shortcode.css
CHANGED
@@ -65,6 +65,9 @@ table.supsystic-table th, table.supsystic-table td {
|
|
65 |
table.supsystic-table.nowrap th, table.supsystic-table.nowrap td {
|
66 |
white-space: nowrap !important;
|
67 |
}
|
|
|
|
|
|
|
68 |
table.supsystic-table img {
|
69 |
max-width:100%;
|
70 |
height:auto;
|
@@ -122,19 +125,25 @@ table.supsystic-table .ww-v {
|
|
122 |
margin-bottom: 10px;
|
123 |
}
|
124 |
|
125 |
-
|
126 |
-
|
|
|
|
|
|
|
|
|
|
|
127 |
background-color: #2B2B2B;
|
128 |
-
|
129 |
-
line-height:
|
130 |
-
font-
|
|
|
|
|
|
|
131 |
}
|
132 |
|
133 |
-
table.
|
134 |
-
table.
|
135 |
background-color: #888;
|
136 |
-
line-height: 16px;
|
137 |
-
font-size: 14px;
|
138 |
}
|
139 |
/* Reset border styles for data tables, because border and border-left, border-right etc. styles are applied on table at the same time */
|
140 |
table.dataTable tbody th, table.dataTable tbody td {
|
@@ -211,6 +220,10 @@ table.oneColumnWithLabels tr:not(.haveMergedCell) td:after {
|
|
211 |
font-weight: 500;
|
212 |
color: #a4aaac;
|
213 |
}
|
|
|
|
|
|
|
|
|
214 |
|
215 |
/* For search by hidden cells and for invisible cells */
|
216 |
.supsystic-tables-wrap table.supsystic-table tr .hiddenCell, .supsystic-tables-wrap table.supsystic-table tr .invisibleCell {
|
65 |
table.supsystic-table.nowrap th, table.supsystic-table.nowrap td {
|
66 |
white-space: nowrap !important;
|
67 |
}
|
68 |
+
table.supsystic-table img.wp-post-image {
|
69 |
+
max-width:none;
|
70 |
+
}
|
71 |
table.supsystic-table img {
|
72 |
max-width:100%;
|
73 |
height:auto;
|
125 |
margin-bottom: 10px;
|
126 |
}
|
127 |
|
128 |
+
.supsystic-tables-features.after_table div {
|
129 |
+
margin-top: 10px;
|
130 |
+
margin-bottom: 0;
|
131 |
+
}
|
132 |
+
|
133 |
+
table.supsystic-table.collapsed > tbody > tr > td:first-child:before,
|
134 |
+
table.supsystic-table.collapsed > tbody > tr > th:first-child:before {
|
135 |
background-color: #2B2B2B;
|
136 |
+
font-size: 16px;
|
137 |
+
line-height: 16px;
|
138 |
+
font-weight: normal;
|
139 |
+
font-style: normal;
|
140 |
+
text-align: center !important;
|
141 |
+
text-indent: 1px !important;
|
142 |
}
|
143 |
|
144 |
+
table.supsystic-table.collapsed > tbody > tr.parent > td:first-child:before,
|
145 |
+
table.supsystic-table.collapsed > tbody > tr.parent > th:first-child:before {
|
146 |
background-color: #888;
|
|
|
|
|
147 |
}
|
148 |
/* Reset border styles for data tables, because border and border-left, border-right etc. styles are applied on table at the same time */
|
149 |
table.dataTable tbody th, table.dataTable tbody td {
|
220 |
font-weight: 500;
|
221 |
color: #a4aaac;
|
222 |
}
|
223 |
+
.supsystic-tables-wrap .supsystic-table.compact .stbColumnsSearchWrapper th,
|
224 |
+
.supsystic-tables-wrap .supsystic-table.compact .stbColumnsSearchWrapper td {
|
225 |
+
padding: 4px;
|
226 |
+
}
|
227 |
|
228 |
/* For search by hidden cells and for invisible cells */
|
229 |
.supsystic-tables-wrap table.supsystic-table tr .hiddenCell, .supsystic-tables-wrap table.supsystic-table tr .invisibleCell {
|
src/SupsysticTables/Tables/assets/css/tables.view.css
CHANGED
@@ -193,12 +193,6 @@
|
|
193 |
-moz-box-shadow: none;
|
194 |
box-shadow: none;
|
195 |
}
|
196 |
-
.tables-view .row-settings-tab {
|
197 |
-
display: none;
|
198 |
-
}
|
199 |
-
.tables-view .row-settings-tab.active {
|
200 |
-
display: block;
|
201 |
-
}
|
202 |
.tables-view #settings input, .tables-view #settings select, .history-settings input, .history-settings select {
|
203 |
width: 100% !important;
|
204 |
}
|
@@ -218,10 +212,23 @@
|
|
218 |
display: block;
|
219 |
padding: 10px;
|
220 |
}
|
221 |
-
.tables-view .
|
|
|
|
|
|
|
222 |
line-height: 40px;
|
|
|
|
|
|
|
|
|
223 |
padding: 0 15px;
|
224 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
.setting-wrapper {
|
226 |
min-height: 30px;
|
227 |
margin: 0 0 10px 0
|
@@ -440,3 +447,29 @@
|
|
440 |
height:0;
|
441 |
overflow:hidden;
|
442 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
-moz-box-shadow: none;
|
194 |
box-shadow: none;
|
195 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
.tables-view #settings input, .tables-view #settings select, .history-settings input, .history-settings select {
|
197 |
width: 100% !important;
|
198 |
}
|
212 |
display: block;
|
213 |
padding: 10px;
|
214 |
}
|
215 |
+
.tables-view .row-settings-tab {
|
216 |
+
padding-bottom: 20px;
|
217 |
+
}
|
218 |
+
.tables-view .title-block {
|
219 |
line-height: 40px;
|
220 |
+
padding: 0 10px !important;
|
221 |
+
}
|
222 |
+
.tables-view .title-place {
|
223 |
+
line-height: 20px;
|
224 |
padding: 0 15px;
|
225 |
}
|
226 |
+
.tables-view .title-place h3 {
|
227 |
+
font-size: 16px;
|
228 |
+
}
|
229 |
+
.tables-view .title-block h3 {
|
230 |
+
margin: 0;
|
231 |
+
}
|
232 |
.setting-wrapper {
|
233 |
min-height: 30px;
|
234 |
margin: 0 0 10px 0
|
447 |
height:0;
|
448 |
overflow:hidden;
|
449 |
}
|
450 |
+
|
451 |
+
.stb-wraper-anchor-nav-links {
|
452 |
+
position: relative;
|
453 |
+
margin-bottom: 10px;
|
454 |
+
text-align: left;
|
455 |
+
z-index: 0;
|
456 |
+
}
|
457 |
+
.stb-wraper-anchor-nav-links .stb-anchor-nav-links {
|
458 |
+
text-decoration: none;
|
459 |
+
color: #777;
|
460 |
+
display: inline-block;
|
461 |
+
font-size: 14px;
|
462 |
+
padding: 0 5px 3px;
|
463 |
+
font-weight: 500;
|
464 |
+
}
|
465 |
+
.stb-wraper-anchor-nav-links .stb-anchor-nav-links:not(:last-child) {
|
466 |
+
border-right: 1px solid #aaa;
|
467 |
+
}
|
468 |
+
.stb-wraper-anchor-nav-links .stb-anchor-nav-links.active,
|
469 |
+
.stb-wraper-anchor-nav-links .stb-anchor-nav-links:hover,
|
470 |
+
.stb-wraper-option-links .stb-option-links.active,
|
471 |
+
.stb-wraper-option-links .stb-option-links:hover,
|
472 |
+
.stb-rename-category:hover {
|
473 |
+
color: #000;
|
474 |
+
text-decoration: underline;
|
475 |
+
}
|
src/SupsysticTables/Tables/assets/img/database.gif
ADDED
Binary file
|
src/SupsysticTables/Tables/assets/img/history_table.gif
ADDED
Binary file
|
src/SupsysticTables/Tables/assets/js/editor/tables.editor.js
CHANGED
@@ -504,26 +504,21 @@ var g_stbRowsPerPage = 1;
|
|
504 |
j = 0;
|
505 |
}
|
506 |
if(g_stbCopyPasteCellsMetaData[j]) {
|
507 |
-
var value = editor.getDataAtCell(row, col)
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
}
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
if(deltaCol > 0) {
|
522 |
-
direction = 'right';
|
523 |
-
} else {
|
524 |
-
direction = 'left';
|
525 |
}
|
526 |
-
value = editor.plugin.utils.updateFormula(value, direction, Math.abs(deltaCol));
|
527 |
}
|
528 |
editor.setDataAtCell(row, col, value);
|
529 |
editor.setCellMetaObject(row, col, g_stbCopyPasteCellsMetaData[j]);
|
504 |
j = 0;
|
505 |
}
|
506 |
if(g_stbCopyPasteCellsMetaData[j]) {
|
507 |
+
var value = editor.getDataAtCell(row, col);
|
508 |
+
|
509 |
+
if(value && value[0] == '=') {
|
510 |
+
var deltaRow = row - g_stbCopyPasteCellsMetaData[j].row,
|
511 |
+
deltaCol = col - g_stbCopyPasteCellsMetaData[j].col,
|
512 |
+
direction;
|
513 |
+
|
514 |
+
if(deltaRow) {
|
515 |
+
direction = deltaRow > 0 ? 'down' : 'up';
|
516 |
+
value = editor.plugin.utils.updateFormula(value, direction, Math.abs(deltaRow));
|
517 |
}
|
518 |
+
if(deltaCol) {
|
519 |
+
direction = deltaCol > 0 ? 'right' : 'left';
|
520 |
+
value = editor.plugin.utils.updateFormula(value, direction, Math.abs(deltaCol));
|
|
|
|
|
|
|
|
|
521 |
}
|
|
|
522 |
}
|
523 |
editor.setDataAtCell(row, col, value);
|
524 |
editor.setCellMetaObject(row, col, g_stbCopyPasteCellsMetaData[j]);
|
src/SupsysticTables/Tables/assets/js/editor/tables.editor.toolbar.js
CHANGED
@@ -278,6 +278,11 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
278 |
comments.removeCommentAtCell(selection.from.row, selection.from.col);
|
279 |
}
|
280 |
},
|
|
|
|
|
|
|
|
|
|
|
281 |
'word-wrap-default': function() {
|
282 |
this.replaceClass('', ['ww-v', 'ww-h']);
|
283 |
this.getEditor().render();
|
@@ -581,7 +586,7 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
581 |
type = data.type,
|
582 |
link = '',
|
583 |
linkHtml = '',
|
584 |
-
classes = '',
|
585 |
attrs = 'style="max-width: 100%; height: auto;"',
|
586 |
isEmbed = false;
|
587 |
|
@@ -589,7 +594,7 @@ var g_stbCellBgColorTimeoutSet = false,
|
|
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;
|
278 |
comments.removeCommentAtCell(selection.from.row, selection.from.col);
|
279 |
}
|
280 |
},
|
281 |
+
merge: function () {
|
282 |
+
var e = this.getEditor();
|
283 |
+
e.mergeCells.mergeOrUnmergeSelection(e.getSelectedRange());
|
284 |
+
e.render();
|
285 |
+
},
|
286 |
'word-wrap-default': function() {
|
287 |
this.replaceClass('', ['ww-v', 'ww-h']);
|
288 |
this.getEditor().render();
|
586 |
type = data.type,
|
587 |
link = '',
|
588 |
linkHtml = '',
|
589 |
+
classes = 'stbSkipLazy', // our custom class to skip lazy loading of images by Jetpack
|
590 |
attrs = 'style="max-width: 100%; height: auto;"',
|
591 |
isEmbed = false;
|
592 |
|
594 |
if (attachment.sizes) {
|
595 |
if (attachment.sizes[props.size]) {
|
596 |
url = attachment.sizes[props.size].url;
|
597 |
+
classes += ' align' + props.align + ' size-' + props.size;
|
598 |
}
|
599 |
if (attachment.sizes['full']) {
|
600 |
fullUrl = attachment.sizes['full'].url;
|
src/SupsysticTables/Tables/assets/js/tables.model.js
CHANGED
@@ -458,7 +458,8 @@ var g_stbPreviewTimeoutSet = false;
|
|
458 |
mergeData = [],
|
459 |
rowsData = [],
|
460 |
columnsWidth = [],
|
461 |
-
rowCounter = 0
|
|
|
462 |
|
463 |
// Put textareas data into the hidden fields before the saving of table settings
|
464 |
formData.find('input[name="elements[descriptionText]"]').val( formData.find('#descriptionText').val() );
|
@@ -579,6 +580,9 @@ var g_stbPreviewTimeoutSet = false;
|
|
579 |
if (metaClasses !== undefined) {
|
580 |
$.each(metaClasses.split(' '), function (index, element) {
|
581 |
if (element.length) {
|
|
|
|
|
|
|
582 |
classes.push($.trim(element));
|
583 |
}
|
584 |
});
|
@@ -594,7 +598,18 @@ var g_stbPreviewTimeoutSet = false;
|
|
594 |
if (x == 0) {
|
595 |
columnsWidth.push(editor.getColWidth(y));
|
596 |
}
|
|
|
|
|
|
|
|
|
|
|
597 |
|
|
|
|
|
|
|
|
|
|
|
|
|
598 |
currentRow.cells.push(cellData);
|
599 |
});
|
600 |
|
@@ -613,6 +628,7 @@ var g_stbPreviewTimeoutSet = false;
|
|
613 |
}
|
614 |
}
|
615 |
metaData = {
|
|
|
616 |
mergedCells: mergeData,
|
617 |
columnsWidth: columnsWidth,
|
618 |
columnsFixedWidth: g_stbFixedColumnsWidth,
|
@@ -876,66 +892,69 @@ var g_stbPreviewTimeoutSet = false;
|
|
876 |
delimiters,
|
877 |
preparedFormat;
|
878 |
|
|
|
|
|
879 |
switch(formatType) {
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
-
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
-
|
923 |
-
|
924 |
-
.replace(
|
925 |
-
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
|
|
933 |
}
|
934 |
-
|
935 |
numeral.language('en', languageData);
|
936 |
-
|
|
|
|
|
937 |
}
|
938 |
-
|
939 |
return value;
|
940 |
};
|
941 |
|
458 |
mergeData = [],
|
459 |
rowsData = [],
|
460 |
columnsWidth = [],
|
461 |
+
rowCounter = 0,
|
462 |
+
requiredAssets = {};
|
463 |
|
464 |
// Put textareas data into the hidden fields before the saving of table settings
|
465 |
formData.find('input[name="elements[descriptionText]"]').val( formData.find('#descriptionText').val() );
|
580 |
if (metaClasses !== undefined) {
|
581 |
$.each(metaClasses.split(' '), function (index, element) {
|
582 |
if (element.length) {
|
583 |
+
if(toeInArray(element, ['datefield', 'tooltipCell', 'collapsibleCell']) != -1 && !requiredAssets[element]) {
|
584 |
+
requiredAssets[element] = true;
|
585 |
+
}
|
586 |
classes.push($.trim(element));
|
587 |
}
|
588 |
});
|
598 |
if (x == 0) {
|
599 |
columnsWidth.push(editor.getColWidth(y));
|
600 |
}
|
601 |
+
var diagramsExists = cell && cell.toString().match(/(\[\s*supsystic-table-diagram[^\]]*\])+?/gi);
|
602 |
+
|
603 |
+
if(diagramsExists) {
|
604 |
+
for(var i = 0; i < diagramsExists.length; i++) {
|
605 |
+
var diagramId = /id=[\'|\"](\d+)[\'|\"]/gi.exec(diagramsExists[i]);
|
606 |
|
607 |
+
if(diagramId && diagramId[1]) {
|
608 |
+
requiredAssets.diagrams = requiredAssets.diagrams ? requiredAssets.diagrams : [];
|
609 |
+
requiredAssets.diagrams.push(diagramId[1]);
|
610 |
+
}
|
611 |
+
}
|
612 |
+
}
|
613 |
currentRow.cells.push(cellData);
|
614 |
});
|
615 |
|
628 |
}
|
629 |
}
|
630 |
metaData = {
|
631 |
+
requiredAssets: requiredAssets,
|
632 |
mergedCells: mergeData,
|
633 |
columnsWidth: columnsWidth,
|
634 |
columnsFixedWidth: g_stbFixedColumnsWidth,
|
892 |
delimiters,
|
893 |
preparedFormat;
|
894 |
|
895 |
+
if(!format && typeof format !== 'string' && !format.match(/\d+/)) return value;
|
896 |
+
|
897 |
switch(formatType) {
|
898 |
+
case 'number':
|
899 |
+
delimiters = (format.match(/[^\d]/g) || [',', '.']).reverse();
|
900 |
+
languageData.delimiters = {
|
901 |
+
decimal: delimiters[0],
|
902 |
+
thousands: delimiters[1] || ''
|
903 |
+
};
|
904 |
+
|
905 |
+
// We need to use dafault delimiters for format string
|
906 |
+
preparedFormat = format
|
907 |
+
.replace(format, format
|
908 |
+
.replace(delimiters[0], '.')
|
909 |
+
.replace(delimiters[1], ',')
|
910 |
+
);
|
911 |
+
break;
|
912 |
+
case 'percent':
|
913 |
+
var clearFormat = format.indexOf('%') > -1 ? format.replace('%', '') : format;
|
914 |
+
|
915 |
+
delimiters = (clearFormat.match(/[^\d]/g) || [',', '.']).reverse();
|
916 |
+
languageData.delimiters = {
|
917 |
+
decimal: delimiters[0],
|
918 |
+
thousands: delimiters[1] || ''
|
919 |
+
};
|
920 |
+
|
921 |
+
// We need to use dafault delimiters for format string
|
922 |
+
preparedFormat = format.replace(
|
923 |
+
clearFormat, clearFormat
|
924 |
+
.replace(delimiters[0], '.')
|
925 |
+
.replace(delimiters[1], ',')
|
926 |
+
);
|
927 |
+
break;
|
928 |
+
case 'currency':
|
929 |
+
var currencySymbolMatch = format.match(/^[^\d]?|[^\d]?$/),
|
930 |
+
currencySymbol = currencySymbolMatch[0] || '$',
|
931 |
+
formatWithoutCurrency = format.replace(currencySymbol, '');
|
932 |
+
|
933 |
+
delimiters = (formatWithoutCurrency.match(/[^\d]/g) || [',', '.']).reverse();
|
934 |
+
languageData.delimiters = {
|
935 |
+
decimal: delimiters[0],
|
936 |
+
thousands: delimiters[1] || ''
|
937 |
+
};
|
938 |
+
languageData.currency.symbol = currencySymbol;
|
939 |
+
|
940 |
+
// We need to use dafault delimiters for format string
|
941 |
+
preparedFormat = format
|
942 |
+
.replace(formatWithoutCurrency, formatWithoutCurrency
|
943 |
+
.replace(delimiters[0], '.')
|
944 |
+
.replace(delimiters[1], ','))
|
945 |
+
.replace(currencySymbol, '$');
|
946 |
+
|
947 |
+
app.Editor.Hot.currencySymbol = currencySymbol;
|
948 |
+
app.Editor.Hot.currencyFormat = preparedFormat;
|
949 |
+
break;
|
950 |
+
default:
|
951 |
+
break;
|
952 |
}
|
|
|
953 |
numeral.language('en', languageData);
|
954 |
+
if(preparedFormat) {
|
955 |
+
value = numeral(value).format(preparedFormat);
|
956 |
+
}
|
957 |
}
|
|
|
958 |
return value;
|
959 |
};
|
960 |
|
src/SupsysticTables/Tables/assets/js/tables.shortcode.js
CHANGED
@@ -1,114 +1,5 @@
|
|
1 |
(function ($, app) {
|
2 |
$(document).ready(function () {
|
3 |
-
|
4 |
-
firstTableViewId = '',
|
5 |
-
firstTable = '',
|
6 |
-
firstTableWrapper = '',
|
7 |
-
firstTableFirstRow = '';
|
8 |
-
|
9 |
-
if($(window).width() <= 991) {
|
10 |
-
$('div .supsystic-tables-wrap').each(function () {
|
11 |
-
ssDiv = $(this);
|
12 |
-
var widthMobile = ssDiv.data('table-width-mobile');
|
13 |
-
if(typeof(widthMobile) != 'undefined') {
|
14 |
-
ssDiv.css('display', (widthMobile == 'auto' ? 'inline-block' : '')).css('width', widthMobile);
|
15 |
-
}
|
16 |
-
});
|
17 |
-
}
|
18 |
-
|
19 |
-
$('.supsystic-table').each(function () {
|
20 |
-
app.initializeTable(this, app.showTable, function(table) {
|
21 |
-
// This is used when table is hidden in tabs and can't calculate itself width to adjust on small screens
|
22 |
-
if (table.is(':visible')) {
|
23 |
-
// Fix bug in FF and IE which not supporting max-width 100% for images in td
|
24 |
-
calculateImages(table);
|
25 |
-
} else {
|
26 |
-
table.data('isVisible', setInterval(function(){
|
27 |
-
if (table.is(':visible')) {
|
28 |
-
clearInterval(table.data('isVisible'));
|
29 |
-
calculateImages(table);
|
30 |
-
}
|
31 |
-
}, 250));
|
32 |
-
}
|
33 |
-
// Align all tables on page by the columns width depending on the columns width of first table on page
|
34 |
-
if(table.data('align-by-first-table')) {
|
35 |
-
firstTableId = firstTableId || $('.supsystic-table:first').data('id');
|
36 |
-
firstTable = firstTable || $('#supsystic-table-' + firstTableId);
|
37 |
-
firstTableViewId = firstTable.data('view-id');
|
38 |
-
firstTableWrapper = firstTableWrapper || firstTable.parents('#supsystic-table-' + firstTableViewId);
|
39 |
-
firstTableFirstRow = firstTable.data('head') ? firstTable.find('thead tr:first-child th') : firstTable.find('tbody tr:first-child td');
|
40 |
-
|
41 |
-
if(firstTableViewId != table.data('view-id')) {
|
42 |
-
var currentTableWrapper = table.parents('#supsystic-table-' + table.data('view-id'));
|
43 |
-
|
44 |
-
currentTableWrapper.css({
|
45 |
-
width: firstTableWrapper.get(0).style.width
|
46 |
-
});
|
47 |
-
table.css({
|
48 |
-
width: firstTable.get(0).style.width
|
49 |
-
});
|
50 |
-
currentTableWrapper.find('.supsystic-table').each(function() {
|
51 |
-
var curTable = $(this),
|
52 |
-
curTableFirstRow = curTable.data('head') ? curTable.find('thead tr:first-child th') : curTable.find('tbody tr:first-child td');
|
53 |
-
|
54 |
-
$.each(curTableFirstRow, function (index, element) {
|
55 |
-
if(firstTableFirstRow[index]) {
|
56 |
-
$(this).width($(firstTableFirstRow[index]).get(0).style.width);
|
57 |
-
}
|
58 |
-
});
|
59 |
-
});
|
60 |
-
}
|
61 |
-
}
|
62 |
-
//if row has merged cells no need place header there
|
63 |
-
if(table.data('merged') && table.hasClass('ColWithMergeCellsAlign')) {
|
64 |
-
var mergedData = table.data('merged');
|
65 |
-
jQuery.each(mergedData, function( index, value ) {
|
66 |
-
var rowNumWithMergeCell = value.row;
|
67 |
-
var numForEq = Number(rowNumWithMergeCell)-1;
|
68 |
-
table.find('tbody tr:eq('+numForEq+')').closest('tr').addClass('haveMergedCell');
|
69 |
-
});
|
70 |
-
app.setCellAttributes(table.parents('.supsystic-tables-wrap:first').find('.DTFC_LeftWrapper, DTFC_RightWrapper, .dataTables_scrollHead, .dataTables_scrollFoot').find('th, td'));
|
71 |
-
}
|
72 |
-
if(typeof app.getTableInstanceById(table.data('id')).fnAdjustColumnSizing == 'function' ) {
|
73 |
-
setTimeout(function(){
|
74 |
-
app.getTableInstanceById(table.data('id')).fnAdjustColumnSizing(false);
|
75 |
-
}, 350);
|
76 |
-
}
|
77 |
-
});
|
78 |
-
});
|
79 |
});
|
80 |
-
|
81 |
-
function getOriginalImageSizes(img) {
|
82 |
-
var tempImage = new Image(),
|
83 |
-
width,
|
84 |
-
height;
|
85 |
-
if ('naturalWidth' in tempImage && 'naturalHeight' in tempImage) {
|
86 |
-
width = img.naturalWidth;
|
87 |
-
height = img.naturalHeight;
|
88 |
-
} else {
|
89 |
-
tempImage.src= img.src;
|
90 |
-
width = tempImage.width;
|
91 |
-
height = tempImage.height;
|
92 |
-
}
|
93 |
-
return {
|
94 |
-
width: width,
|
95 |
-
height: height
|
96 |
-
};
|
97 |
-
}
|
98 |
-
|
99 |
-
function calculateImages($table) {
|
100 |
-
var $images = $table.find('img');
|
101 |
-
if ($images.length > 0 && /firefox|trident|msie/i.test(navigator.userAgent)) {
|
102 |
-
$images.hide();
|
103 |
-
$.each($images, function(index, el) {
|
104 |
-
var $img = $(this),
|
105 |
-
originalSizes = getOriginalImageSizes(this);
|
106 |
-
if ($img.closest('td, th').width() < originalSizes.width) {
|
107 |
-
$img.css('width', '100%');
|
108 |
-
}
|
109 |
-
});
|
110 |
-
$images.show();
|
111 |
-
|
112 |
-
}
|
113 |
-
}
|
114 |
}(window.jQuery, window.supsystic.Tables));
|
1 |
(function ($, app) {
|
2 |
$(document).ready(function () {
|
3 |
+
app.initTablesOnPage();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
}(window.jQuery, window.supsystic.Tables));
|
src/SupsysticTables/Tables/assets/js/tables.view.js
CHANGED
@@ -48,30 +48,94 @@ var g_stbCopyPasteColsCount = [];
|
|
48 |
case '#row-tab-preview':
|
49 |
tablesModel.saveTable('#table-preview');
|
50 |
break;
|
|
|
|
|
|
|
51 |
default:
|
52 |
break;
|
53 |
}
|
54 |
});
|
55 |
|
56 |
// Initialize Sub Tabs
|
57 |
-
var
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
$
|
70 |
-
|
71 |
-
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
});
|
74 |
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
// Fix of conflict with handsontable library - it triggers error if user makes click on link without href attribute
|
76 |
$('select[multiple="multiple"]').on('change', function() {
|
77 |
$('.chosen-container-multi .search-choice-close').each(function() {
|
@@ -438,12 +502,18 @@ var g_stbCopyPasteColsCount = [];
|
|
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
447 |
setTimeout(function() {
|
448 |
location.reload();
|
449 |
}, 500);
|
@@ -559,8 +629,9 @@ var g_stbCopyPasteColsCount = [];
|
|
559 |
});
|
560 |
|
561 |
// Search by Columns - Position
|
562 |
-
$('input[name="searching[columnSearch]"]').on('change ifChanged', function() {
|
563 |
-
|
|
|
564 |
$('select[name="searching[columnSearchPosition]"]').parents('.setting-wrapper:first').fadeIn(300);
|
565 |
} else {
|
566 |
$('select[name="searching[columnSearchPosition]"]').parents('.setting-wrapper:first').fadeOut(300);
|
@@ -568,16 +639,18 @@ var g_stbCopyPasteColsCount = [];
|
|
568 |
});
|
569 |
|
570 |
// Show results only - Show empty table
|
571 |
-
$('input[name="searching[resultOnly]"]').on('change ifChanged', function() {
|
572 |
-
|
|
|
573 |
$('input[name="searching[showTable]"]').parents('.setting-wrapper:first').fadeIn(300);
|
574 |
} else {
|
575 |
$('input[name="searching[showTable]"]').parents('.setting-wrapper:first').fadeOut(300);
|
576 |
}
|
577 |
});
|
578 |
$('input[name="features[searching]"]').on('change ifChanged', function() {
|
579 |
-
$(
|
580 |
-
$('input[name="searching[
|
|
|
581 |
});
|
582 |
|
583 |
// Table Loader
|
48 |
case '#row-tab-preview':
|
49 |
tablesModel.saveTable('#table-preview');
|
50 |
break;
|
51 |
+
case '#row-tab-css':
|
52 |
+
cssEditor.resize();
|
53 |
+
break;
|
54 |
default:
|
55 |
break;
|
56 |
}
|
57 |
});
|
58 |
|
59 |
// Initialize Sub Tabs
|
60 |
+
var linksOyPositions = [],
|
61 |
+
offsetTop2 = Math.floor($("#stb-anl-main").offset().top);
|
62 |
+
linksOyPositions.push({
|
63 |
+
'id': '#stb-anl-main',
|
64 |
+
'offset': 0,
|
65 |
+
});
|
66 |
+
linksOyPositions.push({
|
67 |
+
'id': '#stb-anl-features',
|
68 |
+
'offset': Math.abs(Math.floor($("#stb-anl-features").offset().top) - offsetTop2 - 40),
|
69 |
+
});
|
70 |
+
linksOyPositions.push({
|
71 |
+
'id': '#stb-anl-appearance',
|
72 |
+
'offset': Math.abs(Math.floor($("#stb-anl-appearance").offset().top) - offsetTop2 - 40),
|
73 |
+
});
|
74 |
+
linksOyPositions.push({
|
75 |
+
'id': '#stb-anl-language',
|
76 |
+
'offset': Math.abs(Math.floor($("#stb-anl-language").offset().top) - offsetTop2 - 40),
|
77 |
+
});
|
78 |
+
linksOyPositions.push({
|
79 |
+
'id': '#stb-anl-source',
|
80 |
+
'offset': Math.abs(Math.floor($("#stb-anl-source").offset().top) - offsetTop2 - 40),
|
81 |
+
});
|
82 |
+
|
83 |
+
|
84 |
+
$('.settings-wrap').slimScroll({'height': g_stbWindowHeight+'px'}).off('slimscrolling')
|
85 |
+
.on('slimscrolling', null, { 'oy': linksOyPositions }, function(e, pos){
|
86 |
+
if(e && e.data && e.data.oy) {
|
87 |
+
var ind1 = 0,
|
88 |
+
$activeItem = $('.stb-anchor-nav-links.active'),
|
89 |
+
isFind = false;
|
90 |
+
while(ind1 < (e.data.oy.length - 1) && !isFind) {
|
91 |
+
if(e.data.oy[ind1].offset <= pos && e.data.oy[ind1+1].offset > pos) {
|
92 |
+
isFind = ind1;
|
93 |
+
ind1 = e.data.oy.length;
|
94 |
+
}
|
95 |
+
ind1++;
|
96 |
+
}
|
97 |
+
// if current position at last anchor
|
98 |
+
if(isFind == false && ind1 == 4) {
|
99 |
+
isFind = ind1;
|
100 |
+
}
|
101 |
+
//check curr active item
|
102 |
+
var activeId = $activeItem.attr('href');
|
103 |
+
if(e.data.oy[isFind] && activeId != e.data.oy[isFind].id) {
|
104 |
+
if($activeItem.length) {
|
105 |
+
// remove active class
|
106 |
+
$activeItem.removeClass('active');
|
107 |
+
}
|
108 |
+
// add active class
|
109 |
+
$('.stb-anchor-nav-links[href="' + e.data.oy[isFind].id + '"]').addClass('active');
|
110 |
+
}
|
111 |
+
}
|
112 |
+
});
|
113 |
+
$('.stb-anchor-nav-links').on('click', function(e1, funcParams) {
|
114 |
+
e1.preventDefault();
|
115 |
+
var $settingsWrap = $('.settings-wrap')
|
116 |
+
, urlLink = $(this).attr('href')
|
117 |
+
, $linkItem = $(urlLink)
|
118 |
+
, $topItem = $("#stb-anl-main");
|
119 |
+
if($linkItem.length) {
|
120 |
+
var offsetLink = $linkItem.offset().top
|
121 |
+
, offsetTop = $topItem.offset().top
|
122 |
+
, offsetAbs = Math.abs(offsetLink -offsetTop);
|
123 |
+
// if need to set start position
|
124 |
+
if(funcParams && funcParams.offsetScTop) {
|
125 |
+
offsetAbs = funcParams.offsetScTop;
|
126 |
+
}
|
127 |
+
if(!isNaN(offsetAbs)) {
|
128 |
+
$settingsWrap.slimScroll({ scrollTo: offsetAbs + 'px' });
|
129 |
+
}
|
130 |
+
}
|
131 |
});
|
132 |
|
133 |
+
// init anchor link
|
134 |
+
setTimeout(function() {
|
135 |
+
var slScrollTopPos = parseInt($('#slimScrollStartPos').val());
|
136 |
+
$('.stb-anchor-nav-links[href="#stb-anl-main"]').trigger('click', {'offsetScTop':slScrollTopPos});
|
137 |
+
}, 200);
|
138 |
+
|
139 |
// Fix of conflict with handsontable library - it triggers error if user makes click on link without href attribute
|
140 |
$('select[multiple="multiple"]').on('change', function() {
|
141 |
$('.chosen-container-multi .search-choice-close').each(function() {
|
502 |
}
|
503 |
}
|
504 |
}
|
505 |
+
if($('#woocommerce-settings').length > 0){
|
506 |
//remove html with options
|
507 |
$('input[name="woocommerce[order]"]').val('');
|
508 |
$('input[name="woocommerce[productids]"]').val('');
|
509 |
$('input[name="woocommerce[enable]"]').prop('checked', false).iCheck('update');
|
510 |
+
|
511 |
+
app.request({
|
512 |
+
module: 'woocommerce',
|
513 |
+
action: 'saveWoocommerceSettings'
|
514 |
+
}, { id: app.getParameterByName('id'), settings: '' });
|
515 |
+
|
516 |
+
|
517 |
setTimeout(function() {
|
518 |
location.reload();
|
519 |
}, 500);
|
629 |
});
|
630 |
|
631 |
// Search by Columns - Position
|
632 |
+
$('input[name="searching[columnSearch]"]').on('change ifChanged', function(e, isParentEnabled) {
|
633 |
+
isParentEnabled = typeof isParentEnabled != 'undefined' ? isParentEnabled : true;
|
634 |
+
if($(this).is(':checked') && isParentEnabled) {
|
635 |
$('select[name="searching[columnSearchPosition]"]').parents('.setting-wrapper:first').fadeIn(300);
|
636 |
} else {
|
637 |
$('select[name="searching[columnSearchPosition]"]').parents('.setting-wrapper:first').fadeOut(300);
|
639 |
});
|
640 |
|
641 |
// Show results only - Show empty table
|
642 |
+
$('input[name="searching[resultOnly]"]').on('change ifChanged', function(e, isParentEnabled) {
|
643 |
+
isParentEnabled = typeof isParentEnabled != 'undefined' ? isParentEnabled : true;
|
644 |
+
if($(this).is(':checked') && isParentEnabled) {
|
645 |
$('input[name="searching[showTable]"]').parents('.setting-wrapper:first').fadeIn(300);
|
646 |
} else {
|
647 |
$('input[name="searching[showTable]"]').parents('.setting-wrapper:first').fadeOut(300);
|
648 |
}
|
649 |
});
|
650 |
$('input[name="features[searching]"]').on('change ifChanged', function() {
|
651 |
+
var isChecked = $(this).is(':checked');
|
652 |
+
$('input[name="searching[resultOnly]"]').trigger('change', isChecked);
|
653 |
+
$('input[name="searching[columnSearch]"]').trigger('change', isChecked);
|
654 |
});
|
655 |
|
656 |
// Table Loader
|
src/SupsysticTables/Tables/assets/libraries/ruleJS/ruleJS.js
CHANGED
@@ -1031,7 +1031,7 @@ var ruleJS = (function (root) {
|
|
1031 |
"DOLLAR",
|
1032 |
"EXACT",
|
1033 |
"FIND", "FIXED",
|
1034 |
-
"HTML2TEXT", "HUMANIZE",
|
1035 |
"JOIN",
|
1036 |
"LEFT", "LEN", "LOWER",
|
1037 |
"MID",
|
@@ -1494,7 +1494,7 @@ var ruleJS = (function (root) {
|
|
1494 |
}
|
1495 |
|
1496 |
} catch (ex) {
|
1497 |
-
//
|
1498 |
//console.log(ex);
|
1499 |
var message = Exception.get(ex.message);
|
1500 |
|
1031 |
"DOLLAR",
|
1032 |
"EXACT",
|
1033 |
"FIND", "FIXED",
|
1034 |
+
"HTML2TEXT", "HUMANIZE", "HYPERLINK",
|
1035 |
"JOIN",
|
1036 |
"LEFT", "LEN", "LOWER",
|
1037 |
"MID",
|
1494 |
}
|
1495 |
|
1496 |
} catch (ex) {
|
1497 |
+
// Errors debugging
|
1498 |
//console.log(ex);
|
1499 |
var message = Exception.get(ex.message);
|
1500 |
|
src/SupsysticTables/Tables/assets/libraries/ruleJS/ruleJS.lib.full.js
CHANGED
@@ -19318,10 +19318,27 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
19318 |
sum_range = sum_range || range;
|
19319 |
range = Formula.FLATTEN(range);
|
19320 |
sum_range = Formula.FLATTEN(sum_range);
|
|
|
|
|
19321 |
var result = 0;
|
19322 |
|
19323 |
-
if(range.length
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19324 |
for (var i = 0; i < range.length; i++) {
|
|
|
|
|
19325 |
result += (eval(range[i] + criteria)) ? sum_range[i] : 0;
|
19326 |
}
|
19327 |
} else {
|
@@ -20817,6 +20834,25 @@ this.j$ = this.jStat = (function(Math, undefined) {
|
|
20817 |
};
|
20818 |
|
20819 |
// Custom supsystic formulas
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20820 |
Formula.INDEX = function(arrayValues, rowNum, colNum) {
|
20821 |
if ((rowNum < 0) || (colNum < 0)) {
|
20822 |
return '#VALUE!';
|
19318 |
sum_range = sum_range || range;
|
19319 |
range = Formula.FLATTEN(range);
|
19320 |
sum_range = Formula.FLATTEN(sum_range);
|
19321 |
+
criteria = criteria === null ? '' : criteria;
|
19322 |
+
|
19323 |
var result = 0;
|
19324 |
|
19325 |
+
if(range && sum_range && range.length === sum_range.length && (criteria || criteria === '' || criteria === 0)) {
|
19326 |
+
if(typeof criteria == 'string') {
|
19327 |
+
// string
|
19328 |
+
if(!criteria.match(/^[<>=]/g)) {
|
19329 |
+
criteria = '==="'+ criteria.replace(/\'/g,"\\'").replace(/\"/g,'\\"')+ '"';
|
19330 |
+
} else {
|
19331 |
+
if(criteria[0] == '=' && criteria[1] != '=') {
|
19332 |
+
criteria = criteria.replace(/^=/, '===');
|
19333 |
+
}
|
19334 |
+
}
|
19335 |
+
} else {
|
19336 |
+
// number
|
19337 |
+
criteria = '==='+criteria;
|
19338 |
+
}
|
19339 |
for (var i = 0; i < range.length; i++) {
|
19340 |
+
range[i] = range[i] === null ? '' : range[i];
|
19341 |
+
range[i] = typeof range[i] == 'string' ? '"'+ range[i].replace(/\'/g,"\\'").replace(/\"/g,'\\"')+ '"' : range[i];
|
19342 |
result += (eval(range[i] + criteria)) ? sum_range[i] : 0;
|
19343 |
}
|
19344 |
} else {
|
20834 |
};
|
20835 |
|
20836 |
// Custom supsystic formulas
|
20837 |
+
Formula.HYPERLINK = function(url, linkLabel) {
|
20838 |
+
linkLabel = linkLabel ? linkLabel : url;
|
20839 |
+
|
20840 |
+
var res = linkLabel,
|
20841 |
+
protocols = ['http', 'https', 'mailto', 'aim:', 'ftp', 'gopher', 'telnet'],
|
20842 |
+
linkArr = url.split(':'),
|
20843 |
+
protocolChecked = false;
|
20844 |
+
|
20845 |
+
if(linkArr && linkArr.length > 0) {
|
20846 |
+
if(linkArr.length === 1) {
|
20847 |
+
url = 'http://'+ url;
|
20848 |
+
protocolChecked = true;
|
20849 |
+
}
|
20850 |
+
if(protocols.indexOf(linkArr[0]) !== -1 || protocolChecked) {
|
20851 |
+
res = '<a href="'+ url+ '" target="_blank">'+ linkLabel+ '</a>';
|
20852 |
+
}
|
20853 |
+
}
|
20854 |
+
return res;
|
20855 |
+
};
|
20856 |
Formula.INDEX = function(arrayValues, rowNum, colNum) {
|
20857 |
if ((rowNum < 0) || (colNum < 0)) {
|
20858 |
return '#VALUE!';
|
src/SupsysticTables/Tables/assets/libraries/slimscroll.min.js
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! Copyright (c) 2011 Piotr Rochala (http://rocha.la)
|
2 |
+
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
|
3 |
+
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
|
4 |
+
*
|
5 |
+
* Version: 1.3.8
|
6 |
+
*
|
7 |
+
*/
|
8 |
+
(function(e){e.fn.extend({slimScroll:function(f){var a=e.extend({width:"auto",height:"250px",size:"7px",color:"#000",position:"right",distance:"1px",start:"top",opacity:.4,alwaysVisible:!1,disableFadeOut:!1,railVisible:!1,railColor:"#333",railOpacity:.2,railDraggable:!0,railClass:"slimScrollRail",barClass:"slimScrollBar",wrapperClass:"slimScrollDiv",allowPageScroll:!1,wheelStep:20,touchScrollStep:200,borderRadius:"7px",railBorderRadius:"7px"},f);this.each(function(){function v(d){if(r){d=d||window.event;
|
9 |
+
var c=0;d.wheelDelta&&(c=-d.wheelDelta/120);d.detail&&(c=d.detail/3);e(d.target||d.srcTarget||d.srcElement).closest("."+a.wrapperClass).is(b.parent())&&n(c,!0);d.preventDefault&&!k&&d.preventDefault();k||(d.returnValue=!1)}}function n(d,g,e){k=!1;var f=b.outerHeight()-c.outerHeight();g&&(g=parseInt(c.css("top"))+d*parseInt(a.wheelStep)/100*c.outerHeight(),g=Math.min(Math.max(g,0),f),g=0<d?Math.ceil(g):Math.floor(g),c.css({top:g+"px"}));l=parseInt(c.css("top"))/(b.outerHeight()-c.outerHeight());g=
|
10 |
+
l*(b[0].scrollHeight-b.outerHeight());e&&(g=d,d=g/b[0].scrollHeight*b.outerHeight(),d=Math.min(Math.max(d,0),f),c.css({top:d+"px"}));b.scrollTop(g);b.trigger("slimscrolling",~~g);w();p()}function x(){u=Math.max(b.outerHeight()/b[0].scrollHeight*b.outerHeight(),30);c.css({height:u+"px"});var a=u==b.outerHeight()?"none":"block";c.css({display:a})}function w(){x();clearTimeout(B);l==~~l?(k=a.allowPageScroll,C!=l&&b.trigger("slimscroll",0==~~l?"top":"bottom")):k=!1;C=l;u>=b.outerHeight()?k=!0:(c.stop(!0,
|
11 |
+
!0).fadeIn("fast"),a.railVisible&&m.stop(!0,!0).fadeIn("fast"))}function p(){a.alwaysVisible||(B=setTimeout(function(){a.disableFadeOut&&r||y||z||(c.fadeOut("slow"),m.fadeOut("slow"))},1E3))}var r,y,z,B,A,u,l,C,k=!1,b=e(this);if(b.parent().hasClass(a.wrapperClass)){var q=b.scrollTop(),c=b.siblings("."+a.barClass),m=b.siblings("."+a.railClass);x();if(e.isPlainObject(f)){if("height"in f&&"auto"==f.height){b.parent().css("height","auto");b.css("height","auto");var h=b.parent().parent().height();b.parent().css("height",
|
12 |
+
h);b.css("height",h)}else"height"in f&&(h=f.height,b.parent().css("height",h),b.css("height",h));if("scrollTo"in f)q=parseInt(a.scrollTo);else if("scrollBy"in f)q+=parseInt(a.scrollBy);else if("destroy"in f){c.remove();m.remove();b.unwrap();return}n(q,!1,!0)}}else if(!(e.isPlainObject(f)&&"destroy"in f)){a.height="auto"==a.height?b.parent().height():a.height;q=e("<div></div>").addClass(a.wrapperClass).css({position:"relative",overflow:"hidden",width:a.width,height:a.height});b.css({overflow:"hidden",
|
13 |
+
width:a.width,height:a.height});var m=e("<div></div>").addClass(a.railClass).css({width:a.size,height:"100%",position:"absolute",top:0,display:a.alwaysVisible&&a.railVisible?"block":"none","border-radius":a.railBorderRadius,background:a.railColor,opacity:a.railOpacity,zIndex:90}),c=e("<div></div>").addClass(a.barClass).css({background:a.color,width:a.size,position:"absolute",top:0,opacity:a.opacity,display:a.alwaysVisible?"block":"none","border-radius":a.borderRadius,BorderRadius:a.borderRadius,MozBorderRadius:a.borderRadius,
|
14 |
+
WebkitBorderRadius:a.borderRadius,zIndex:99}),h="right"==a.position?{right:a.distance}:{left:a.distance};m.css(h);c.css(h);b.wrap(q);b.parent().append(c);b.parent().append(m);a.railDraggable&&c.bind("mousedown",function(a){var b=e(document);z=!0;t=parseFloat(c.css("top"));pageY=a.pageY;b.bind("mousemove.slimscroll",function(a){currTop=t+a.pageY-pageY;c.css("top",currTop);n(0,c.position().top,!1)});b.bind("mouseup.slimscroll",function(a){z=!1;p();b.unbind(".slimscroll")});return!1}).bind("selectstart.slimscroll",
|
15 |
+
function(a){a.stopPropagation();a.preventDefault();return!1});m.hover(function(){w()},function(){p()});c.hover(function(){y=!0},function(){y=!1});b.hover(function(){r=!0;w();p()},function(){r=!1;p()});b.bind("touchstart",function(a,b){a.originalEvent.touches.length&&(A=a.originalEvent.touches[0].pageY)});b.bind("touchmove",function(b){k||b.originalEvent.preventDefault();b.originalEvent.touches.length&&(n((A-b.originalEvent.touches[0].pageY)/a.touchScrollStep,!0),A=b.originalEvent.touches[0].pageY)});
|
16 |
+
x();"bottom"===a.start?(c.css({top:b.outerHeight()-c.outerHeight()}),n(0,!0)):"top"!==a.start&&(n(e(a.start).position().top,null,!0),a.alwaysVisible||c.hide());window.addEventListener?(this.addEventListener("DOMMouseScroll",v,!1),this.addEventListener("mousewheel",v,!1)):document.attachEvent("onmousewheel",v)}});return this}});e.fn.extend({slimscroll:e.fn.slimScroll})})(jQuery);
|
src/SupsysticTables/Tables/views/partials/historyTabContent.twig
CHANGED
@@ -2,15 +2,21 @@
|
|
2 |
{% set url = build_pro_url({ 'utm_medium': 'table_history' }) %}
|
3 |
|
4 |
{% block content %}
|
5 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
<a href="{{ url }}" class="button button-hero" target="_blank">
|
7 |
{{ environment.translate('Get PRO') }}
|
8 |
</a>
|
9 |
</div>
|
10 |
<div class="col-xs-12">
|
11 |
<a href="{{ url }}" target="_blank">
|
12 |
-
<img src="{{ environment.getModule('tables').getLocationUrl() }}/assets/img/
|
13 |
</a>
|
14 |
</div>
|
15 |
{% endblock %}
|
16 |
-
</div>
|
2 |
{% set url = build_pro_url({ 'utm_medium': 'table_history' }) %}
|
3 |
|
4 |
{% block content %}
|
5 |
+
{% import '@ui/tooltip.twig' as tooltip %}
|
6 |
+
<div class="col-xs-12">
|
7 |
+
<h3 style="display:inline-block;">
|
8 |
+
{{ environment.translate('Table History') }}
|
9 |
+
{{ tooltip.icon('Сreate editable tables for your logged in users and easily view the changes. Information about table changes will be displayed on this tab, where you can select a user from the available list to check the content, date and time changes.' | raw, 'top', true)}}
|
10 |
+
</h3>
|
11 |
+
</br>
|
12 |
<a href="{{ url }}" class="button button-hero" target="_blank">
|
13 |
{{ environment.translate('Get PRO') }}
|
14 |
</a>
|
15 |
</div>
|
16 |
<div class="col-xs-12">
|
17 |
<a href="{{ url }}" target="_blank">
|
18 |
+
<img style="max-width:800px;" src="{{ environment.getModule('tables').getLocationUrl() }}/assets/img/history_table.gif" alt="Tables History" title="Available in PRO version" style="width: 100%; height: auto;">
|
19 |
</a>
|
20 |
</div>
|
21 |
{% endblock %}
|
22 |
+
</div>
|
src/SupsysticTables/Tables/views/shortcode.twig
CHANGED
@@ -284,9 +284,12 @@
|
|
284 |
style="width: {{ tableWidth }};"
|
285 |
{% endif %}
|
286 |
|
287 |
-
{% if table.woo_settings is defined and table.woo_settings.woocommerce.
|
288 |
-
data-
|
289 |
{% endif %}
|
|
|
|
|
|
|
290 |
>
|
291 |
|
292 |
{% block caption %}
|
@@ -367,14 +370,18 @@
|
|
367 |
{% endif %}
|
368 |
{% if head %}
|
369 |
{{ m.cell(cell, headRowNumber, cellIndex, 'th', _context) }}
|
370 |
-
{% if cols[
|
371 |
{% set countIter = countIter + 1 %}
|
372 |
{% set cellIter = -1 %} {# set 0 because next step is cellIter = cellIter + 1 #}
|
373 |
{% endif %}
|
374 |
{% set cellIter = cellIter + 1 %}
|
375 |
{% else %}
|
376 |
-
{% if cell.hiddenCell != true%}
|
377 |
-
|
|
|
|
|
|
|
|
|
378 |
{% endif %}
|
379 |
{% endif %}
|
380 |
{% endfor %}
|
@@ -424,7 +431,7 @@
|
|
424 |
{% set cellIndex = cell.col %}
|
425 |
{% endif %}
|
426 |
{{ m.cell(cell, rowNumber, cellIndex, 'td', _context) }}
|
427 |
-
{% if cols[
|
428 |
{% set countIter = countIter + 1 %}
|
429 |
{% set cellIter = -1 %} {# set 0 because next step is cellIter = cellIter + 1 #}
|
430 |
{% endif %}
|
@@ -464,7 +471,7 @@
|
|
464 |
{% set addFooterAutoIndex = false %}
|
465 |
{% endif %}
|
466 |
{{ m.cell(cell, footRowNumber, cellIndex, 'th', _context) }}
|
467 |
-
{% if cols[
|
468 |
{% set countIter = countIter + 1 %}
|
469 |
{% set cellIter = -1 %} {# set 0 because next step is cellIter = cellIter + 1 #}
|
470 |
{% endif %}
|
284 |
style="width: {{ tableWidth }};"
|
285 |
{% endif %}
|
286 |
|
287 |
+
{% if table.woo_settings is defined and table.woo_settings.woocommerce.enable == 'on' %}
|
288 |
+
data-woocommerce-table="on"
|
289 |
{% endif %}
|
290 |
+
{% if table.woo_settings is defined and table.woo_settings.woocommerce.multiple_add_cart =='on' %}
|
291 |
+
data-multiple-add-cart="{{ table.woo_settings.woocommerce.multiple_add_cart }}"
|
292 |
+
{% endif %}
|
293 |
>
|
294 |
|
295 |
{% block caption %}
|
370 |
{% endif %}
|
371 |
{% if head %}
|
372 |
{{ m.cell(cell, headRowNumber, cellIndex, 'th', _context) }}
|
373 |
+
{% if cols[cellIter] == 'Z' %}
|
374 |
{% set countIter = countIter + 1 %}
|
375 |
{% set cellIter = -1 %} {# set 0 because next step is cellIter = cellIter + 1 #}
|
376 |
{% endif %}
|
377 |
{% set cellIter = cellIter + 1 %}
|
378 |
{% else %}
|
379 |
+
{% if cell.hiddenCell != true %}
|
380 |
+
{% set fakeCellClass = '' %}
|
381 |
+
{% if cell.invisibleCell == true %}
|
382 |
+
{% set fakeCellClass = 'invisibleCell' %}
|
383 |
+
{% endif %}
|
384 |
+
<th class="{{ fakeCellClass }}" style="width:{{ table.meta.columnsWidth[cellIndex] }}%; padding: 0 !important;"></th>
|
385 |
{% endif %}
|
386 |
{% endif %}
|
387 |
{% endfor %}
|
431 |
{% set cellIndex = cell.col %}
|
432 |
{% endif %}
|
433 |
{{ m.cell(cell, rowNumber, cellIndex, 'td', _context) }}
|
434 |
+
{% if cols[cellIter] == 'Z' %}
|
435 |
{% set countIter = countIter + 1 %}
|
436 |
{% set cellIter = -1 %} {# set 0 because next step is cellIter = cellIter + 1 #}
|
437 |
{% endif %}
|
471 |
{% set addFooterAutoIndex = false %}
|
472 |
{% endif %}
|
473 |
{{ m.cell(cell, footRowNumber, cellIndex, 'th', _context) }}
|
474 |
+
{% if cols[cellIter] == 'Z' %}
|
475 |
{% set countIter = countIter + 1 %}
|
476 |
{% set cellIter = -1 %} {# set 0 because next step is cellIter = cellIter + 1 #}
|
477 |
{% endif %}
|
src/SupsysticTables/Tables/views/styles.twig
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<style type="text/css" id="supsystic-table-{{ tableObj.view_id }}-css">{{ tableObj.meta.css }}</style>
|
1 |
+
<style type="text/css" id="supsystic-table-{{ tableObj.view_id }}-css">{{ tableObj.meta.css | raw }}</style>
|
src/SupsysticTables/Tables/views/view.twig
CHANGED
@@ -32,7 +32,7 @@
|
|
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;">
|
@@ -116,13 +116,21 @@
|
|
116 |
</span>
|
117 |
</li>
|
118 |
<li>
|
119 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
<i class="fa fa-fw fa-wrench"></i>
|
121 |
{{ environment.translate('Settings') }}
|
122 |
</a>
|
123 |
</li>
|
124 |
<li>
|
125 |
-
<a href="#row-tab-editor" class="button">
|
126 |
<i class="fa fa-fw fa-th"></i>
|
127 |
{{ environment.translate('Editor') }}
|
128 |
</a>
|
@@ -146,44 +154,21 @@
|
|
146 |
</div>
|
147 |
|
148 |
<div class="row row-tab" id="row-tab-settings">
|
149 |
-
|
150 |
-
<
|
151 |
-
<
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
<li>
|
159 |
-
<a href="#row-tab-settings-features" class="button">
|
160 |
-
<i class="fa fa-fw fa-cogs"></i>
|
161 |
-
{{ environment.translate('Features') }}
|
162 |
-
</a>
|
163 |
-
</li>
|
164 |
-
<li>
|
165 |
-
<a href="#row-tab-settings-design" class="button">
|
166 |
-
<i class="fa fa-fw fa-picture-o"></i>
|
167 |
-
{{ environment.translate('Appearance') }}
|
168 |
-
</a>
|
169 |
-
</li>
|
170 |
-
<li>
|
171 |
-
<a href="#row-tab-settings-text" class="button">
|
172 |
-
<i class="fa fa-fw fa-language"></i>
|
173 |
-
{{ environment.translate('Language and Text') }}
|
174 |
-
</a>
|
175 |
-
</li>
|
176 |
-
<li>
|
177 |
-
<a href="#row-tab-settings-source" class="button">
|
178 |
-
<i class="fa fa-fw fa-database"></i>
|
179 |
-
{{ environment.translate('Source') }}
|
180 |
-
</a>
|
181 |
-
</li>
|
182 |
-
</ul>
|
183 |
-
</nav>
|
184 |
<form id="settings">
|
185 |
<section class="row-settings-tabs">
|
186 |
-
<section class="row row-settings-tab" id="
|
|
|
|
|
|
|
187 |
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
188 |
<div class="title-place">
|
189 |
<h3>{{ environment.translate('Table Elements') }}</h3>
|
@@ -571,517 +556,523 @@
|
|
571 |
</div>
|
572 |
<!-- /.form-table -->
|
573 |
</section>
|
574 |
-
<section class="row row-settings-tab" id="
|
575 |
-
|
576 |
-
|
577 |
-
<h3>{{ environment.translate('General') }}</h3>
|
578 |
-
</div>
|
579 |
-
<div class="setting-wrapper row">
|
580 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
581 |
-
<label for="features-responsive-mode">
|
582 |
-
{{ environment.translate('Responsive Mode') }}
|
583 |
-
{{ tooltip.icon(
|
584 |
-
environment.translate('Standard Responsive mode - in this mode if table content doesn\'t fit all columns become under each other with one cell per row') ~ '<br>' ~ '<br>' ~
|
585 |
-
environment.translate('Automatic column hiding - in this mode table columns will collapse from right to left if content does not fit to parent container width') ~ '<br>' ~ '<br>' ~
|
586 |
-
environment.translate('Horizontal scroll - in this mode scroll bar will be added if table overflows parent container width') ~ '<br>' ~
|
587 |
-
environment.translate('Disable Responsivity - default table fluid layout') ~ '<br>'
|
588 |
-
) }}
|
589 |
-
</label>
|
590 |
-
</div>
|
591 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
592 |
-
<select name="responsiveMode" id="features-responsive-mode">
|
593 |
-
{% for value, name in {
|
594 |
-
'0': environment.translate('Standard Responsive mode'),
|
595 |
-
'1': environment.translate('Automatic column hiding'),
|
596 |
-
'2': environment.translate('Horizontal scroll'),
|
597 |
-
'3': environment.translate('Disable Responsivity'),
|
598 |
-
} %}
|
599 |
-
<option value="{{ value }}"
|
600 |
-
{% if value == table.settings.responsiveMode|default(0) %}
|
601 |
-
selected="selected"
|
602 |
-
{% endif %}
|
603 |
-
>
|
604 |
-
{{ name }}
|
605 |
-
</option>
|
606 |
-
{% endfor %}
|
607 |
-
</select>
|
608 |
-
</div>
|
609 |
-
</div>
|
610 |
-
<div class="setting-wrapper row">
|
611 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
612 |
-
<label for="features-info">
|
613 |
-
{{ environment.translate('Table Information') }}
|
614 |
-
{{ tooltip.icon(environment.translate('Table information display field. %s') | format('<img src="http://supsystic.com/_assets/tables/tooltip/info.jpg"/>') | raw, 'top', true) }}
|
615 |
-
</label>
|
616 |
-
</div>
|
617 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
618 |
-
<input type="checkbox" name="features[info]" {{ checkbox.checked(table.settings.features.info) }} id="features-info"/>
|
619 |
-
</div>
|
620 |
</div>
|
621 |
-
<div class="
|
622 |
-
<div class="
|
623 |
-
<
|
624 |
-
{{ environment.translate('Sorting') }}
|
625 |
-
{{ tooltip.icon('<p style="width:227px; padding:5px margin:0">To allow dynamic sorting with arrows you must enable Header option.</p><img src="http://supsystic.com/_assets/tables/tooltip/Ordrering.jpg"/>', 'top', true) }}
|
626 |
-
</label>
|
627 |
-
</div>
|
628 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
629 |
-
<input type="checkbox" name="features[ordering]"
|
630 |
-
{{ checkbox.checked(table.settings.features.ordering) }}
|
631 |
-
id="features-ordering"
|
632 |
-
data-target-toggle=".sorting-options"/>
|
633 |
-
<!-- /#features-ordering -->
|
634 |
-
</div>
|
635 |
-
</div>
|
636 |
-
<div class="setting-wrapper row sorting-options"
|
637 |
-
{% if table.settings.features.ordering is not defined %}
|
638 |
-
style="display:none"
|
639 |
-
{% endif %}
|
640 |
-
>
|
641 |
-
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
642 |
-
<label for="features-sorting-order">
|
643 |
-
{{ environment.translate('Sorting Order') }}
|
644 |
-
{{ tooltip.icon(environment.translate('Set sort order by default')) }}
|
645 |
-
</label>
|
646 |
-
</div>
|
647 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
648 |
-
<select name="sortingOrder" id="features-sorting-order">
|
649 |
-
<option value="asc">{{ environment.translate('Ascending') }}</option>
|
650 |
-
<option value="desc"
|
651 |
-
{% if table.settings.sortingOrder == 'desc' %}
|
652 |
-
selected="selected"
|
653 |
-
{% endif %}
|
654 |
-
>{{ environment.translate('Descending') }}</option>
|
655 |
-
</select>
|
656 |
-
</div>
|
657 |
-
</div>
|
658 |
-
<div class="setting-wrapper row sorting-options"
|
659 |
-
{% if table.settings.features.ordering is not defined %}
|
660 |
-
style="display:none"
|
661 |
-
{% endif %}
|
662 |
-
>
|
663 |
-
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
664 |
-
<label for="sorting-order-column">
|
665 |
-
{{ environment.translate('Sorting Column') }}
|
666 |
-
{{ tooltip.icon(environment.translate('Number of column to apply sort order. Set no value to disable table sorting by default.')) }}
|
667 |
-
</label>
|
668 |
</div>
|
669 |
-
<div class="setting-
|
670 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
671 |
</div>
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
</
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
{{ checkbox.checked(table.settings.features.paging) }}
|
683 |
-
id="features-pagination"
|
684 |
-
data-target-toggle=".pagination-options"/>
|
685 |
-
<!-- /#features-pagination -->
|
686 |
</div>
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
<
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
name="paginationMenuLength"
|
702 |
-
value="{{ table.settings.paginationMenuLength | default('50,100,All') }}"
|
703 |
-
id="pagination-length" />
|
704 |
</div>
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
>
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
'pagination-small': environment.translate('Small'),
|
722 |
-
} %}
|
723 |
-
<option value="{{ value }}"
|
724 |
-
{% if value == table.settings.paginationSize|default('large') %}
|
725 |
selected="selected"
|
726 |
{% endif %}
|
727 |
-
>
|
728 |
-
|
729 |
-
|
730 |
-
{% endfor %}
|
731 |
-
</select>
|
732 |
</div>
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
>
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
</
|
|
|
|
|
|
|
744 |
</div>
|
745 |
-
<div class="setting-
|
746 |
-
<
|
747 |
-
|
748 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
749 |
</div>
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
|
|
|
|
|
|
|
|
763 |
</div>
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
>
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
775 |
</div>
|
776 |
-
<div class="setting-
|
777 |
-
|
778 |
-
|
779 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
780 |
</div>
|
781 |
-
|
782 |
-
|
783 |
-
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
>
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
</
|
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 |
-
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
-
>
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
</
|
|
|
|
|
|
|
|
|
|
|
822 |
</div>
|
823 |
-
<div class="setting-
|
824 |
-
|
825 |
-
|
826 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
827 |
</div>
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
>
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
</
|
|
|
|
|
|
|
|
|
|
|
839 |
</div>
|
840 |
-
<div class="setting-
|
841 |
-
|
842 |
-
|
843 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
844 |
</div>
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
|
852 |
-
>
|
853 |
-
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
854 |
|
855 |
-
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
-
|
865 |
-
</div>
|
866 |
-
<div class="setting-wrapper row searching-options"
|
867 |
-
{% if table.settings.features.searching is not defined %}
|
868 |
-
style="display:none"
|
869 |
-
{% endif %}
|
870 |
-
>
|
871 |
-
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
872 |
-
<label for="features-searching-strict-matching">
|
873 |
-
{{ environment.translate('Strict Matching') }}
|
874 |
-
{{ tooltip.icon(environment.translate('Display only entries with matching characters in the beginning of words')) }}
|
875 |
-
</label>
|
876 |
-
</div>
|
877 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
878 |
-
<input type="checkbox" name="searching[strictMatching]" id="features-searching-strict-matching"
|
879 |
-
{{ checkbox.checked(table.settings.searching.strictMatching) }}
|
880 |
-
>
|
881 |
-
</div>
|
882 |
-
</div>
|
883 |
-
<div class="setting-wrapper row searching-options"
|
884 |
-
{% if table.settings.features.searching is not defined %}
|
885 |
-
style="display:none"
|
886 |
-
{% endif %}
|
887 |
-
>
|
888 |
-
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
889 |
-
<label for="features-searching-strict-min-chars">
|
890 |
-
{{ environment.translate('Minimum Count of Characters') }}
|
891 |
-
{{ tooltip.icon(environment.translate('Set minimum count of characters to start search in Search field. Set 0 to make search in any case.')) }}
|
892 |
-
</label>
|
893 |
-
</div>
|
894 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
895 |
-
<input type="text" name="searching[minChars]" id="features-searching-strict-min-chars"
|
896 |
-
value="{{ table.settings.searching.minChars|default('0') }}" />
|
897 |
-
</div>
|
898 |
-
</div>
|
899 |
-
<div class="setting-wrapper row">
|
900 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
901 |
-
<label for="features-disallow-indexing">
|
902 |
-
{{ environment.translate('Disallow Indexing') }}
|
903 |
-
{{ tooltip.icon(environment.translate('Disable indexing table for search bots')) }}
|
904 |
-
</label>
|
905 |
-
</div>
|
906 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
907 |
-
<input type="checkbox" name="disallowIndexing" id="features-disallow-indexing"
|
908 |
-
{{ checkbox.checked(table.settings.disallowIndexing) }} />
|
909 |
-
</div>
|
910 |
-
</div>
|
911 |
-
<div class="setting-wrapper row">
|
912 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
913 |
-
<label for="enable-after-table-loaded-script">
|
914 |
-
{{ environment.translate('Execute JS Script After Table Load') }}
|
915 |
-
{{ tooltip.icon(environment.translate('Allows to execute custom javascript code after table is loaded.')) }}
|
916 |
-
</label>
|
917 |
-
</div>
|
918 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
919 |
-
<input type="checkbox" name="features[enable_after_table_loaded_script]"
|
920 |
-
id="enable-after-table-loaded-script"
|
921 |
-
data-target-toggle=".after-table-loaded-script-options"
|
922 |
-
{{ checkbox.checked(table.settings.features.enable_after_table_loaded_script) }} />
|
923 |
-
</div>
|
924 |
-
</div>
|
925 |
-
<div class="setting-wrapper row after-table-loaded-script-options"
|
926 |
-
{% if table.settings.features.enable_after_table_loaded_script is not defined %}
|
927 |
-
style="display:none"
|
928 |
-
{% endif %}
|
929 |
-
>
|
930 |
-
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
931 |
-
<label for="after-table-loaded-script-text">
|
932 |
-
{{ environment.translate('JS Script Text') }}
|
933 |
-
</label>
|
934 |
-
</div>
|
935 |
-
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
936 |
-
<textarea id="after-table-loaded-script-text" placeholder="{{ environment.translate('Paste script code here')}}" style="margin-top: 10px;">{{ table.settings.features.after_table_loaded_script | default('') }}</textarea>
|
937 |
-
<input type="hidden" name="features[after_table_loaded_script]" value="{{ table.settings.features.after_table_loaded_script | default('') }}" />
|
938 |
</div>
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
|
|
|
|
|
|
947 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
948 |
-
<
|
949 |
-
|
950 |
-
|
951 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
952 |
</label>
|
953 |
</div>
|
954 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
955 |
-
<input type="
|
|
|
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="
|
961 |
-
{{ environment.translate('
|
962 |
-
{{ tooltip.icon(environment.translate('
|
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"
|
|
|
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="
|
973 |
-
{{ environment.translate('
|
974 |
-
{{ tooltip.icon(environment.translate('Allows to
|
975 |
-
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'editable_fields_for_logged_in_only' }) }}">{{ environment.translate('PRO option') }}</a>
|
976 |
</label>
|
977 |
</div>
|
978 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
979 |
-
<input type="checkbox"
|
|
|
|
|
|
|
980 |
</div>
|
981 |
</div>
|
982 |
-
<div class="setting-wrapper row
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
|
|
|
|
988 |
</label>
|
989 |
</div>
|
990 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
991 |
-
<
|
992 |
-
|
993 |
-
</select>
|
994 |
</div>
|
995 |
</div>
|
996 |
-
|
|
|
|
|
|
|
|
|
997 |
{% if environment.isPro() == false %}
|
998 |
-
<div class="title-place">
|
999 |
-
<h3>{{ environment.translate('Export / Import') }}</h3>
|
1000 |
-
</div>
|
1001 |
<div class="setting-wrapper row">
|
1002 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1003 |
-
<label for="
|
1004 |
-
{{ environment.translate('Frontend
|
1005 |
-
{{ tooltip.icon(environment.translate('
|
1006 |
-
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': '
|
1007 |
</label>
|
1008 |
</div>
|
1009 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1010 |
-
<
|
1011 |
-
<option>{{ environment.translate('Select Some Options')}}</option>
|
1012 |
-
</select>
|
1013 |
</div>
|
1014 |
</div>
|
1015 |
<div class="setting-wrapper row">
|
1016 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1017 |
-
<label for="
|
1018 |
-
{{ environment.translate('
|
1019 |
-
{{ tooltip.icon(environment.translate('
|
|
|
1020 |
</label>
|
1021 |
-
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'export_feature_pdf_paper_size' }) }}">{{ environment.translate('PRO option') }}</a>
|
1022 |
</div>
|
1023 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1024 |
-
<
|
1025 |
-
<option>{{ environment.translate('Automatic')}}</option>
|
1026 |
-
</select>
|
1027 |
</div>
|
1028 |
</div>
|
1029 |
<div class="setting-wrapper row">
|
1030 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1031 |
-
<label for="
|
1032 |
-
{{ environment.translate('
|
1033 |
-
{{ tooltip.icon(environment.translate('
|
|
|
1034 |
</label>
|
1035 |
-
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'export_feature_pdf_orientation' }) }}">{{ environment.translate('PRO option') }}</a>
|
1036 |
</div>
|
1037 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1038 |
-
<
|
1039 |
-
<option>{{ environment.translate('Portrait')}}</option>
|
1040 |
-
</select>
|
1041 |
</div>
|
1042 |
</div>
|
1043 |
-
<div class="setting-wrapper row">
|
1044 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1045 |
-
<label for="
|
1046 |
-
{{ environment.translate('
|
1047 |
-
{{ tooltip.icon(environment.translate('Allows
|
|
|
1048 |
</label>
|
1049 |
-
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'export_feature_pdf_export_fonts' }) }}">{{ environment.translate('PRO option') }}</a>
|
1050 |
</div>
|
1051 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1052 |
-
<
|
|
|
|
|
1053 |
</div>
|
1054 |
</div>
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
-
|
1059 |
-
{{ tooltip.icon(environment.translate('Automticaly appends selected logo for output pdf or printing')) }}
|
1060 |
-
</label>
|
1061 |
-
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'export_feature_select_logo' }) }}">{{ environment.translate('PRO option') }}</a>
|
1062 |
</div>
|
1063 |
-
<div class="setting-
|
1064 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1065 |
</div>
|
1066 |
-
|
1067 |
-
|
1068 |
-
|
1069 |
-
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
-
|
|
|
|
|
|
|
|
|
|
|
1074 |
</div>
|
1075 |
-
<div class="setting-
|
1076 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1077 |
</div>
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1083 |
</section>
|
1084 |
-
<section class="row row-settings-tab" id="
|
|
|
|
|
|
|
1085 |
<div class="col-md-6 col-sm-6 col-xs-12">
|
1086 |
<div class="title-place"> </div>
|
1087 |
<div class="setting-wrapper row">
|
@@ -1230,7 +1221,7 @@
|
|
1230 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1231 |
<label for="lightboxImg">
|
1232 |
{{ environment.translate('Lightbox') }}
|
1233 |
-
{{ tooltip.icon(environment.translate('Add Lightbox fo images')) }}
|
1234 |
{% if environment.isPro() == false %}
|
1235 |
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'editable_fields_feature' }) }}">{{ environment.translate('PRO option') }}</a>
|
1236 |
{% endif %}
|
@@ -1398,7 +1389,10 @@
|
|
1398 |
</div>
|
1399 |
<!-- /.col-md-4 col-sm-6 col-xs-12 -->
|
1400 |
</section>
|
1401 |
-
<section class="row row-settings-tab" id="
|
|
|
|
|
|
|
1402 |
<div class="col-md-6 col-sm-6 col-xs-12">
|
1403 |
<div class="title-place">
|
1404 |
<h3>{{ environment.translate('Overwrite Table Text') }}</h3>
|
@@ -1484,7 +1478,10 @@
|
|
1484 |
</div>
|
1485 |
</div>
|
1486 |
</section>
|
1487 |
-
<section class="row row-settings-tab" id="
|
|
|
|
|
|
|
1488 |
{% if environment.isPro() == false %}
|
1489 |
<div class="col-md-6 col-sm-6 col-xs-12">
|
1490 |
<div class="title-place">
|
@@ -1493,15 +1490,19 @@
|
|
1493 |
<div class="setting-wrapper row">
|
1494 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1495 |
<label for="table-source-database-unavailable">
|
|
|
1496 |
{{ environment.translate('Data from Database') }}
|
1497 |
-
{{ tooltip.icon('
|
1498 |
</label>
|
1499 |
-
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'table-source-database' }) }}">{{ environment.translate('PRO option') }}</a>
|
1500 |
</div>
|
1501 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1502 |
<input type="checkbox" disabled="disabled" name="source[database]" id="table-source-database-unavailable" />
|
1503 |
</div>
|
1504 |
-
|
|
|
|
|
|
|
1505 |
</div>
|
1506 |
{% endif %}
|
1507 |
{{ environment.getDispatcher().dispatch('tables-view-source', [table]) }}
|
@@ -1509,6 +1510,7 @@
|
|
1509 |
</section>
|
1510 |
</form>
|
1511 |
</div>
|
|
|
1512 |
|
1513 |
<div class="row row-tab" id="row-tab-editor">
|
1514 |
<div id="loadingProgress">
|
@@ -1531,7 +1533,7 @@
|
|
1531 |
</li>
|
1532 |
<li>
|
1533 |
<button {{ tooltip.attr(environment.translate('Add row above')) }} data-toolbar="#toolbar-rows">
|
1534 |
-
<i class="fa fa-fw fa-th-list"></i><span>
|
1535 |
</button>
|
1536 |
<div id="toolbar-rows" class="toolbar-content">
|
1537 |
<a href="#" data-method="row">
|
@@ -1544,7 +1546,7 @@
|
|
1544 |
</li>
|
1545 |
<li>
|
1546 |
<button {{ tooltip.attr(environment.translate('Add column on the left')) }} data-toolbar="#toolbar-cols">
|
1547 |
-
<i class="fa fa-fw fa-th-large"></i><span>
|
1548 |
</button>
|
1549 |
<div id="toolbar-cols" class="toolbar-content">
|
1550 |
<a href="#" data-method="column">
|
@@ -1703,6 +1705,12 @@
|
|
1703 |
</a>
|
1704 |
</div>
|
1705 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
1706 |
</ul>
|
1707 |
{{ environment.getDispatcher().dispatch('toolbar_rendered', [table]) }}
|
1708 |
<br />
|
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>SQL Shortcode:</b> lets build a table using SQL-query with variables. SQL-query you can set on Settings->Source 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;">
|
116 |
</span>
|
117 |
</li>
|
118 |
<li>
|
119 |
+
{% set settingClass = '' %}
|
120 |
+
{% set editorClass = '' %}
|
121 |
+
{% if attributes is defined and attributes.new == '1' %}
|
122 |
+
{% set editorClass = 'current ' %}
|
123 |
+
{% else %}
|
124 |
+
{% set settingClass = 'current ' %}
|
125 |
+
{% endif %}
|
126 |
+
|
127 |
+
<a href="#row-tab-settings" class="{{ settingClass }}button">
|
128 |
<i class="fa fa-fw fa-wrench"></i>
|
129 |
{{ environment.translate('Settings') }}
|
130 |
</a>
|
131 |
</li>
|
132 |
<li>
|
133 |
+
<a href="#row-tab-editor" class="{{ editorClass }}button">
|
134 |
<i class="fa fa-fw fa-th"></i>
|
135 |
{{ environment.translate('Editor') }}
|
136 |
</a>
|
154 |
</div>
|
155 |
|
156 |
<div class="row row-tab" id="row-tab-settings">
|
157 |
+
|
158 |
+
<div class="stb-wraper-anchor-nav-links">
|
159 |
+
<a href="#stb-anl-main" class="stb-anchor-nav-links">{{ translate('Main')}}</a>
|
160 |
+
<a href="#stb-anl-features" class="stb-anchor-nav-links">{{ translate('Features')}}</a>
|
161 |
+
<a href="#stb-anl-appearance" class="stb-anchor-nav-links">{{ translate('Appearance')}}</a>
|
162 |
+
<a href="#stb-anl-language" class="stb-anchor-nav-links">{{ translate('Language and Text')}}</a>
|
163 |
+
<a href="#stb-anl-source" class="stb-anchor-nav-links">{{ translate('Source')}}</a>
|
164 |
+
</div>
|
165 |
+
<div class="settings-wrap">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
<form id="settings">
|
167 |
<section class="row-settings-tabs">
|
168 |
+
<section class="row row-settings-tab" id="stb-anl-main">
|
169 |
+
<div class="title-block col-xs-12">
|
170 |
+
<h3>{{ environment.translate('Main Settings') }}</h3>
|
171 |
+
</div>
|
172 |
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
|
173 |
<div class="title-place">
|
174 |
<h3>{{ environment.translate('Table Elements') }}</h3>
|
556 |
</div>
|
557 |
<!-- /.form-table -->
|
558 |
</section>
|
559 |
+
<section class="row row-settings-tab" id="stb-anl-features">
|
560 |
+
<div class="title-block col-xs-12">
|
561 |
+
<h3>{{ environment.translate('Features') }}</h3>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
562 |
</div>
|
563 |
+
<div class="col-md-6 col-sm-6 col-xs-12">
|
564 |
+
<div class="title-place">
|
565 |
+
<h3>{{ environment.translate('General') }}</h3>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
566 |
</div>
|
567 |
+
<div class="setting-wrapper row">
|
568 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
569 |
+
<label for="features-responsive-mode">
|
570 |
+
{{ environment.translate('Responsive Mode') }}
|
571 |
+
{{ tooltip.icon(
|
572 |
+
environment.translate('Standard Responsive mode - in this mode if table content doesn\'t fit all columns become under each other with one cell per row') ~ '<br>' ~ '<br>' ~
|
573 |
+
environment.translate('Automatic column hiding - in this mode table columns will collapse from right to left if content does not fit to parent container width') ~ '<br>' ~ '<br>' ~
|
574 |
+
environment.translate('Horizontal scroll - in this mode scroll bar will be added if table overflows parent container width') ~ '<br>' ~
|
575 |
+
environment.translate('Disable Responsivity - default table fluid layout') ~ '<br>'
|
576 |
+
) }}
|
577 |
+
</label>
|
578 |
+
</div>
|
579 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
580 |
+
<select name="responsiveMode" id="features-responsive-mode">
|
581 |
+
{% for value, name in {
|
582 |
+
'0': environment.translate('Standard Responsive mode'),
|
583 |
+
'1': environment.translate('Automatic column hiding'),
|
584 |
+
'2': environment.translate('Horizontal scroll'),
|
585 |
+
'3': environment.translate('Disable Responsivity'),
|
586 |
+
} %}
|
587 |
+
<option value="{{ value }}"
|
588 |
+
{% if value == table.settings.responsiveMode|default(0) %}
|
589 |
+
selected="selected"
|
590 |
+
{% endif %}
|
591 |
+
>
|
592 |
+
{{ name }}
|
593 |
+
</option>
|
594 |
+
{% endfor %}
|
595 |
+
</select>
|
596 |
+
</div>
|
597 |
</div>
|
598 |
+
<div class="setting-wrapper row">
|
599 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
600 |
+
<label for="features-info">
|
601 |
+
{{ environment.translate('Table Information') }}
|
602 |
+
{{ tooltip.icon(environment.translate('Table information display field. %s') | format('<img src="http://supsystic.com/_assets/tables/tooltip/info.jpg"/>') | raw, 'top', true) }}
|
603 |
+
</label>
|
604 |
+
</div>
|
605 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
606 |
+
<input type="checkbox" name="features[info]" {{ checkbox.checked(table.settings.features.info) }} id="features-info"/>
|
607 |
+
</div>
|
|
|
|
|
|
|
|
|
608 |
</div>
|
609 |
+
<div class="setting-wrapper row">
|
610 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
611 |
+
<label for="features-ordering">
|
612 |
+
{{ environment.translate('Sorting') }}
|
613 |
+
{{ tooltip.icon('<p style="width:227px; padding:5px margin:0">To allow dynamic sorting with arrows you must enable Header option.</p><img src="http://supsystic.com/_assets/tables/tooltip/Ordrering.jpg"/>', 'top', true) }}
|
614 |
+
</label>
|
615 |
+
</div>
|
616 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
617 |
+
<input type="checkbox" name="features[ordering]"
|
618 |
+
{{ checkbox.checked(table.settings.features.ordering) }}
|
619 |
+
id="features-ordering"
|
620 |
+
data-target-toggle=".sorting-options"/>
|
621 |
+
<!-- /#features-ordering -->
|
622 |
+
</div>
|
|
|
|
|
|
|
623 |
</div>
|
624 |
+
<div class="setting-wrapper row sorting-options"
|
625 |
+
{% if table.settings.features.ordering is not defined %}
|
626 |
+
style="display:none"
|
627 |
+
{% endif %}
|
628 |
+
>
|
629 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
630 |
+
<label for="features-sorting-order">
|
631 |
+
{{ environment.translate('Sorting Order') }}
|
632 |
+
{{ tooltip.icon(environment.translate('Set sort order by default')) }}
|
633 |
+
</label>
|
634 |
+
</div>
|
635 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
636 |
+
<select name="sortingOrder" id="features-sorting-order">
|
637 |
+
<option value="asc">{{ environment.translate('Ascending') }}</option>
|
638 |
+
<option value="desc"
|
639 |
+
{% if table.settings.sortingOrder == 'desc' %}
|
|
|
|
|
|
|
|
|
640 |
selected="selected"
|
641 |
{% endif %}
|
642 |
+
>{{ environment.translate('Descending') }}</option>
|
643 |
+
</select>
|
644 |
+
</div>
|
|
|
|
|
645 |
</div>
|
646 |
+
<div class="setting-wrapper row sorting-options"
|
647 |
+
{% if table.settings.features.ordering is not defined %}
|
648 |
+
style="display:none"
|
649 |
+
{% endif %}
|
650 |
+
>
|
651 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
652 |
+
<label for="sorting-order-column">
|
653 |
+
{{ environment.translate('Sorting Column') }}
|
654 |
+
{{ tooltip.icon(environment.translate('Number of column to apply sort order. Set no value to disable table sorting by default.')) }}
|
655 |
+
</label>
|
656 |
+
</div>
|
657 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
658 |
+
<input name="sortingOrderColumn" id="sorting-order-column" type="text" value="{{ table.settings.sortingOrderColumn | default(1) }}">
|
659 |
+
</div>
|
660 |
</div>
|
661 |
+
<div class="setting-wrapper row">
|
662 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
663 |
+
<label for="features-pagination">
|
664 |
+
{{ environment.translate('Pagination') }}
|
665 |
+
{{ tooltip.icon('<img src="http://supsystic.com/_assets/tables/tooltip/Pagination.jpg"/>', 'top', true) }}
|
666 |
+
</label>
|
667 |
+
</div>
|
668 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
669 |
+
<input data-toggle="collapse" type="checkbox" name="features[paging]"
|
670 |
+
{{ checkbox.checked(table.settings.features.paging) }}
|
671 |
+
id="features-pagination"
|
672 |
+
data-target-toggle=".pagination-options"/>
|
673 |
+
<!-- /#features-pagination -->
|
674 |
+
</div>
|
675 |
</div>
|
676 |
+
<div class="setting-wrapper row pagination-options"
|
677 |
+
{% if table.settings.features.paging is not defined %}
|
678 |
+
style="display:none"
|
679 |
+
{% endif %}
|
680 |
+
>
|
681 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
682 |
+
<label for="pagination-length">
|
683 |
+
{{ environment.translate('Pagination List Content') }}
|
684 |
+
{{ tooltip.icon('Here you can set the number of rows to display on one Pagination page. Establish several numbers separated by comma to let users choose it personally. First number will be displayed by default. Since that the number of Pagination Pages will be recounted also.', 'top', true) }}
|
685 |
+
</label>
|
686 |
+
</div>
|
687 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
688 |
+
<input type="text"
|
689 |
+
name="paginationMenuLength"
|
690 |
+
value="{{ table.settings.paginationMenuLength | default('50,100,All') }}"
|
691 |
+
id="pagination-length" />
|
692 |
+
</div>
|
693 |
</div>
|
694 |
+
<div class="setting-wrapper row pagination-options"
|
695 |
+
{% if table.settings.features.paging is not defined %}
|
696 |
+
style="display:none"
|
697 |
+
{% endif %}
|
698 |
+
>
|
699 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
700 |
+
<label for="pagination-size">
|
701 |
+
{{ environment.translate('Pagination Size') }}
|
702 |
+
</label>
|
703 |
+
</div>
|
704 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
705 |
+
<select name="paginationSize" id="pagination-size" >
|
706 |
+
{% for value, name in {
|
707 |
+
'pagination-large': environment.translate('Large'),
|
708 |
+
'pagination-medium': environment.translate('Medium'),
|
709 |
+
'pagination-small': environment.translate('Small'),
|
710 |
+
} %}
|
711 |
+
<option value="{{ value }}"
|
712 |
+
{% if value == table.settings.paginationSize|default('large') %}
|
713 |
+
selected="selected"
|
714 |
+
{% endif %}
|
715 |
+
>
|
716 |
+
{{ name }}
|
717 |
+
</option>
|
718 |
+
{% endfor %}
|
719 |
+
</select>
|
720 |
+
</div>
|
721 |
</div>
|
722 |
+
<div class="setting-wrapper row pagination-options"
|
723 |
+
{% if table.settings.features.paging is not defined %}
|
724 |
+
style="display:none"
|
725 |
+
{% endif %}
|
726 |
+
>
|
727 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
728 |
+
<label for="pagination-server-processing">
|
729 |
+
{{ environment.translate('Server-side Processing') }}
|
730 |
+
{{ tooltip.icon(environment.translate('This option is recommended for a large tables that cannot be processed in conventional way. The table will be sequentially loaded by ajax on a per page basis, all filtering, ordering and search clauses is server-side implemented too.')) }}
|
731 |
+
</label>
|
732 |
+
</div>
|
733 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
734 |
+
<input type="checkbox" name="serverSideProcessing" id="server-side-processing"
|
735 |
+
{{ checkbox.checked(table.settings.serverSideProcessing) }}
|
736 |
+
>
|
737 |
+
</div>
|
738 |
</div>
|
739 |
+
<div class="setting-wrapper row">
|
740 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
741 |
+
<label for="features-searching">
|
742 |
+
{{ environment.translate('Searching') }}
|
743 |
+
{{ tooltip.icon('<img src="http://supsystic.com/_assets/tables/tooltip/Searching.jpg"/>', 'top', true) }}
|
744 |
+
</label>
|
745 |
+
</div>
|
746 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
747 |
+
<input type="checkbox" name="features[searching]"
|
748 |
+
{{ checkbox.checked(table.settings.features.searching) }}
|
749 |
+
id="features-searching"
|
750 |
+
data-target-toggle=".searching-options"/>
|
751 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
752 |
</div>
|
753 |
+
<div class="setting-wrapper row searching-options"
|
754 |
+
{% if table.settings.features.searching is not defined %}
|
755 |
+
style="display:none"
|
756 |
+
{% endif %}
|
757 |
+
>
|
758 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
759 |
+
<label for="features-search-by-column">
|
760 |
+
{{ environment.translate('Search by Columns') }}
|
761 |
+
{{ tooltip.icon(environment.translate('Add search by table columns. Use a semicolon as separator for select any of the values.')) }}
|
762 |
+
</label>
|
763 |
+
</div>
|
764 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
765 |
+
<input type="checkbox" name="searching[columnSearch]" id="features-search-by-column"
|
766 |
+
{{ checkbox.checked(table.settings.searching.columnSearch) }}
|
767 |
+
>
|
768 |
+
</div>
|
769 |
</div>
|
770 |
+
<div class="setting-wrapper row searching-options"
|
771 |
+
{% if table.settings.features.searching is not defined
|
772 |
+
or (table.settings.features.searching is defined and table.settings.searching.columnSearch is not defined)
|
773 |
+
%}
|
774 |
+
style="display:none"
|
775 |
+
{% endif %}
|
776 |
+
>
|
777 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
778 |
+
<label for="features-search-by-column-position">
|
779 |
+
{{ environment.translate('Location of Search Fields') }}
|
780 |
+
{{ tooltip.icon(environment.translate('Here you can choose where the column search fields will be: at the top or bottom of the table.')) }}
|
781 |
+
</label>
|
782 |
+
</div>
|
783 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
784 |
+
<select name="searching[columnSearchPosition]" id="features-search-by-column-position" >
|
785 |
+
{% for value, name in {
|
786 |
+
'bottom': environment.translate('Bottom'),
|
787 |
+
'top': environment.translate('Top'),
|
788 |
+
} %}
|
789 |
+
<option value="{{ value }}"
|
790 |
+
{% if value == table.settings.searching.columnSearchPosition|default('Bottom') %}
|
791 |
+
selected="selected"
|
792 |
+
{% endif %}
|
793 |
+
>
|
794 |
+
{{ name }}
|
795 |
+
</option>
|
796 |
+
{% endfor %}
|
797 |
+
</select>
|
798 |
+
</div>
|
799 |
</div>
|
800 |
+
<div class="setting-wrapper row searching-options"
|
801 |
+
{% if table.settings.features.searching is not defined %}
|
802 |
+
style="display:none"
|
803 |
+
{% endif %}
|
804 |
+
>
|
805 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
806 |
+
<label for="features-search-by-hidden-fields">
|
807 |
+
{{ environment.translate('Search by Hidden Fields') }}
|
808 |
+
{{ tooltip.icon(environment.translate('Lets make search by fields, marked as hidden (see appropriate button on editor toolbar)')) }}
|
809 |
+
</label>
|
810 |
+
</div>
|
811 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
812 |
+
<input type="checkbox" name="searching[searchByHiddenField]" id="features-search-by-hidden-fields"
|
813 |
+
{{ checkbox.checked(table.settings.searching.searchByHiddenField) }}
|
814 |
+
>
|
815 |
+
</div>
|
816 |
</div>
|
817 |
+
<div class="setting-wrapper row searching-options"
|
818 |
+
{% if table.settings.features.searching is not defined %}
|
819 |
+
style="display:none"
|
820 |
+
{% endif %}
|
821 |
+
>
|
822 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
823 |
+
<label for="features-searching-result-only">
|
824 |
+
{{ environment.translate('Show Only Search Results') }}
|
825 |
+
{{ tooltip.icon(environment.translate('Hide table by default and show only if search has a result.')) }}
|
826 |
+
</label>
|
827 |
+
</div>
|
828 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
829 |
+
<input type="checkbox" name="searching[resultOnly]" id="features-searching-result-only"
|
830 |
+
{{ checkbox.checked(table.settings.searching.resultOnly) }}
|
831 |
+
>
|
832 |
+
</div>
|
833 |
</div>
|
834 |
+
<div class="setting-wrapper row searching-options"
|
835 |
+
{% if table.settings.features.searching is not defined
|
836 |
+
or (table.settings.features.searching is defined and table.settings.searching.resultOnly is not defined)
|
837 |
+
%}
|
838 |
+
style="display:none"
|
839 |
+
{% endif %}
|
840 |
+
>
|
841 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
|
|
842 |
|
843 |
+
<label for="features-searching-show-table">
|
844 |
+
{{ environment.translate('Show Empty Table') }}
|
845 |
+
{{ tooltip.icon(environment.translate('Table will not be hidden by default , but will be empty.')) }}
|
846 |
+
</label>
|
847 |
+
</div>
|
848 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
849 |
+
<input type="checkbox" name="searching[showTable]" id="features-searching-show-table"
|
850 |
+
{{ checkbox.checked(table.settings.searching.showTable) }}
|
851 |
+
>
|
852 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
853 |
</div>
|
854 |
+
<div class="setting-wrapper row searching-options"
|
855 |
+
{% if table.settings.features.searching is not defined %}
|
856 |
+
style="display:none"
|
857 |
+
{% endif %}
|
858 |
+
>
|
859 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
860 |
+
<label for="features-searching-strict-matching">
|
861 |
+
{{ environment.translate('Strict Matching') }}
|
862 |
+
{{ tooltip.icon(environment.translate('Display only entries with matching characters in the beginning of words')) }}
|
863 |
+
</label>
|
864 |
+
</div>
|
865 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
866 |
+
<input type="checkbox" name="searching[strictMatching]" id="features-searching-strict-matching"
|
867 |
+
{{ checkbox.checked(table.settings.searching.strictMatching) }}
|
868 |
+
>
|
869 |
+
</div>
|
870 |
+
</div>
|
871 |
+
<div class="setting-wrapper row searching-options"
|
872 |
+
{% if table.settings.features.searching is not defined %}
|
873 |
+
style="display:none"
|
874 |
+
{% endif %}
|
875 |
+
>
|
876 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
877 |
+
<label for="features-searching-strict-min-chars">
|
878 |
+
{{ environment.translate('Minimum Count of Characters') }}
|
879 |
+
{{ tooltip.icon(environment.translate('Set minimum count of characters to start search in Search field. Set 0 to make search in any case.')) }}
|
880 |
</label>
|
881 |
</div>
|
882 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
883 |
+
<input type="text" name="searching[minChars]" id="features-searching-strict-min-chars"
|
884 |
+
value="{{ table.settings.searching.minChars|default('0') }}" />
|
885 |
</div>
|
886 |
</div>
|
887 |
<div class="setting-wrapper row">
|
888 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
889 |
+
<label for="features-disallow-indexing">
|
890 |
+
{{ environment.translate('Disallow Indexing') }}
|
891 |
+
{{ tooltip.icon(environment.translate('Disable indexing table for search bots')) }}
|
|
|
892 |
</label>
|
893 |
</div>
|
894 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
895 |
+
<input type="checkbox" name="disallowIndexing" id="features-disallow-indexing"
|
896 |
+
{{ checkbox.checked(table.settings.disallowIndexing) }} />
|
897 |
</div>
|
898 |
</div>
|
899 |
<div class="setting-wrapper row">
|
900 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
901 |
+
<label for="enable-after-table-loaded-script">
|
902 |
+
{{ environment.translate('Execute JS Script After Table Load') }}
|
903 |
+
{{ tooltip.icon(environment.translate('Allows to execute custom javascript code after table is loaded.')) }}
|
|
|
904 |
</label>
|
905 |
</div>
|
906 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
907 |
+
<input type="checkbox" name="features[enable_after_table_loaded_script]"
|
908 |
+
id="enable-after-table-loaded-script"
|
909 |
+
data-target-toggle=".after-table-loaded-script-options"
|
910 |
+
{{ checkbox.checked(table.settings.features.enable_after_table_loaded_script) }} />
|
911 |
</div>
|
912 |
</div>
|
913 |
+
<div class="setting-wrapper row after-table-loaded-script-options"
|
914 |
+
{% if table.settings.features.enable_after_table_loaded_script is not defined %}
|
915 |
+
style="display:none"
|
916 |
+
{% endif %}
|
917 |
+
>
|
918 |
+
<div class="setting-item setting-options col-md-6 col-sm-6 col-xs-12">
|
919 |
+
<label for="after-table-loaded-script-text">
|
920 |
+
{{ environment.translate('JS Script Text') }}
|
921 |
</label>
|
922 |
</div>
|
923 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
924 |
+
<textarea id="after-table-loaded-script-text" placeholder="{{ environment.translate('Paste script code here')}}" style="margin-top: 10px;">{{ table.settings.features.after_table_loaded_script | default('') }}</textarea>
|
925 |
+
<input type="hidden" name="features[after_table_loaded_script]" value="{{ table.settings.features.after_table_loaded_script | default('') }}" />
|
|
|
926 |
</div>
|
927 |
</div>
|
928 |
+
</div>
|
929 |
+
<div class="col-md-6 col-sm-6 col-xs-12">
|
930 |
+
<div class="title-place">
|
931 |
+
<h3>{{ environment.translate('Frontend Fields') }}</h3>
|
932 |
+
</div>
|
933 |
{% if environment.isPro() == false %}
|
|
|
|
|
|
|
934 |
<div class="setting-wrapper row">
|
935 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
936 |
+
<label for="save-editable-fields-unavailable">
|
937 |
+
{{ environment.translate('Save Frontend Fields') }}
|
938 |
+
{{ tooltip.icon(environment.translate('Save table data entered through frontend fields. Refer to the first two buttons on the second row of the editor toolbar:<br />Add editable field<br />Add dropdown list')) }}
|
939 |
+
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'editable_fields_feature' }) }}">{{ environment.translate('PRO option') }}</a>
|
940 |
</label>
|
941 |
</div>
|
942 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
943 |
+
<input type="checkbox" disabled="disabled" id="save-editable-fields-unavailable"/>
|
|
|
|
|
944 |
</div>
|
945 |
</div>
|
946 |
<div class="setting-wrapper row">
|
947 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
948 |
+
<label for="mark-last-edited-cell-unavailable">
|
949 |
+
{{ environment.translate('Mark Last Edited Cell') }}
|
950 |
+
{{ tooltip.icon(environment.translate('Adds a symbol ✓ to last edited cell.')) }}
|
951 |
+
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'mark_last_edited_cell' }) }}">{{ environment.translate('PRO option') }}</a>
|
952 |
</label>
|
|
|
953 |
</div>
|
954 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
955 |
+
<input type="checkbox" disabled="disabled" id="mark-last-edited-cell-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="editable-fields-logged-in-unavailable">
|
961 |
+
{{ environment.translate('Use for Logged In Users Only') }}
|
962 |
+
{{ tooltip.icon(environment.translate('Allows to <a href="%s" target="_blank">use frontend fields only for logged in users</a>. See the next buttons on the editor toolbar:<br />Add editable field<br />Add dropdown list') | format('//supsystic.com/documentation/editable-fields-logged-users/')) }}
|
963 |
+
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'editable_fields_for_logged_in_only' }) }}">{{ 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="editable-fields-logged-in-unavailable"/>
|
|
|
|
|
968 |
</div>
|
969 |
</div>
|
970 |
+
<div class="setting-wrapper row editable-fields-logged-in-options">
|
971 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
972 |
+
<label for="editable-fields-roles-unavailable">
|
973 |
+
{{ environment.translate('Use for Current Roles Only') }}
|
974 |
+
{{ tooltip.icon(environment.translate('Allows to use frontend fields only for users with selected roles. If there are no chosen roles - all logged in users will have ability to use the frontend fields.')) }}
|
975 |
+
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'editable_fields_for_current_roles' }) }}">{{ environment.translate('PRO option') }}</a>
|
976 |
</label>
|
|
|
977 |
</div>
|
978 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
979 |
+
<select name="useEditableFieldsForCurRoles[]" disabled="disabled" id="editable-fields-roles-unavailable" data-placeholder="{{ environment.translate('Select roles')}}">
|
980 |
+
<option>{{ environment.translate('Select roles')}}</option>
|
981 |
+
</select>
|
982 |
</div>
|
983 |
</div>
|
984 |
+
{% endif %}
|
985 |
+
{% if environment.isPro() == false %}
|
986 |
+
<div class="title-place">
|
987 |
+
<h3>{{ environment.translate('Export / Import') }}</h3>
|
|
|
|
|
|
|
988 |
</div>
|
989 |
+
<div class="setting-wrapper row">
|
990 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
991 |
+
<label for="features-export-unavailable">
|
992 |
+
{{ environment.translate('Frontend Export') }}
|
993 |
+
{{ tooltip.icon(environment.translate('Allows to export table in pdf, csv, xls formats from the front-end. Choose needed formats')) }}
|
994 |
+
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'export_feature' }) }}">{{ environment.translate('PRO option') }}</a>
|
995 |
+
</label>
|
996 |
+
</div>
|
997 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
998 |
+
<select name="features[export][]" disabled="disabled" id="features-export-unavailable" data-placeholder="{{ environment.translate('Select Some Options')}}">
|
999 |
+
<option>{{ environment.translate('Select Some Options')}}</option>
|
1000 |
+
</select>
|
1001 |
+
</div>
|
1002 |
</div>
|
1003 |
+
<div class="setting-wrapper row">
|
1004 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1005 |
+
<label for="features-export-pdf-paper-size-unavailable">
|
1006 |
+
{{ environment.translate('PDF Paper Size') }}
|
1007 |
+
{{ tooltip.icon(environment.translate('Choose the paper size for PDF pages')) }}
|
1008 |
+
</label>
|
1009 |
+
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'export_feature_pdf_paper_size' }) }}">{{ environment.translate('PRO option') }}</a>
|
1010 |
+
</div>
|
1011 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1012 |
+
<select name="pdfPaperSize" disabled="disabled" id="features-export-pdf-paper-size-unavailable" data-placeholder="{{ environment.translate('Automatic')}}">
|
1013 |
+
<option>{{ environment.translate('Automatic')}}</option>
|
1014 |
+
</select>
|
1015 |
+
</div>
|
1016 |
</div>
|
1017 |
+
<div class="setting-wrapper row">
|
1018 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1019 |
+
<label for="features-export-pdf-orientation-unavailable">
|
1020 |
+
{{ environment.translate('PDF Page Orientation') }}
|
1021 |
+
{{ tooltip.icon(environment.translate('Choose the orientation for PDF pages')) }}
|
1022 |
+
</label>
|
1023 |
+
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'export_feature_pdf_orientation' }) }}">{{ environment.translate('PRO option') }}</a>
|
1024 |
+
</div>
|
1025 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1026 |
+
<select name="pdfOrientation" disabled="disabled" id="features-export-pdf-orientation-unavailable" data-placeholder="{{ environment.translate('Portrait')}}">
|
1027 |
+
<option>{{ environment.translate('Portrait')}}</option>
|
1028 |
+
</select>
|
1029 |
+
</div>
|
1030 |
</div>
|
1031 |
+
<div class="setting-wrapper row">
|
1032 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1033 |
+
<label for="features-export-pdf-export-fonts-unavailable">
|
1034 |
+
{{ environment.translate('Export Fonts to PDF') }}
|
1035 |
+
{{ tooltip.icon(environment.translate('Allows export to PDF file the fonts, which were set for table content via editor toolbar. Important! Custom fonts might not contain some specific characters (greek, cyrillic etc.), so after importing of fonts your PDF file might lost part of content.')) }}
|
1036 |
+
</label>
|
1037 |
+
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'export_feature_pdf_export_fonts' }) }}">{{ environment.translate('PRO option') }}</a>
|
1038 |
+
</div>
|
1039 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1040 |
+
<input type="checkbox" name="pdfExportFonts" disabled="disabled" id="features-export-pdf-export-fonts-unavailable" />
|
1041 |
+
</div>
|
1042 |
+
</div>
|
1043 |
+
<div class="setting-wrapper row">
|
1044 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1045 |
+
<label for="features-export-select-logo-unavailable">
|
1046 |
+
{{ environment.translate('Export Logo') }}
|
1047 |
+
{{ tooltip.icon(environment.translate('Automticaly appends selected logo for output pdf or printing')) }}
|
1048 |
+
</label>
|
1049 |
+
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'export_feature_select_logo' }) }}">{{ environment.translate('PRO option') }}</a>
|
1050 |
+
</div>
|
1051 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1052 |
+
<button class="button" disabled="disabled" id="features-export-select-logo-unavailable">{{ environment.translate('Select Logo') }}</button>
|
1053 |
+
</div>
|
1054 |
+
</div>
|
1055 |
+
<div class="setting-wrapper row">
|
1056 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1057 |
+
<label for="google-tables-automatically-update-unavailable">
|
1058 |
+
{{ environment.translate('Autoimport from Google Sheet') }}
|
1059 |
+
{{ tooltip.icon(environment.translate('If checked - table data on frontend will be overloaded from selected Google Sheet. <a href="%s" tagget="_blank">Read more</a> about how organize Auto Import form Google Sheets') | format('//supsystic.com/documentation/synchronization-table-google-sheet/')) }}
|
1060 |
+
</label>
|
1061 |
+
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'google_tables_automatically_update' }) }}">{{ environment.translate('PRO option') }}</a>
|
1062 |
+
</div>
|
1063 |
+
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1064 |
+
<input type="checkbox" disabled="disabled" name="features[google_tables_automatically_update]" id="google-tables-automatically-update-unavailable" />
|
1065 |
+
</div>
|
1066 |
+
</div>
|
1067 |
+
{% endif %}
|
1068 |
+
{{ environment.getDispatcher().dispatch('tables-view-features', [table]) }}
|
1069 |
+
<!-- /.form-table -->
|
1070 |
+
</div>
|
1071 |
</section>
|
1072 |
+
<section class="row row-settings-tab" id="stb-anl-appearance">
|
1073 |
+
<div class="title-block col-xs-12">
|
1074 |
+
<h3>{{ environment.translate('Appearance') }}</h3>
|
1075 |
+
</div>
|
1076 |
<div class="col-md-6 col-sm-6 col-xs-12">
|
1077 |
<div class="title-place"> </div>
|
1078 |
<div class="setting-wrapper row">
|
1221 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1222 |
<label for="lightboxImg">
|
1223 |
{{ environment.translate('Lightbox') }}
|
1224 |
+
{{ tooltip.icon(environment.translate('Add Lightbox fo images . <a href="https://supsystic.com/documentation/lightbox-with-full-size-images/">https://supsystic.com/documentation/lightbox-with-full-size-images/</a>')) }}
|
1225 |
{% if environment.isPro() == false %}
|
1226 |
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'editable_fields_feature' }) }}">{{ environment.translate('PRO option') }}</a>
|
1227 |
{% endif %}
|
1389 |
</div>
|
1390 |
<!-- /.col-md-4 col-sm-6 col-xs-12 -->
|
1391 |
</section>
|
1392 |
+
<section class="row row-settings-tab" id="stb-anl-language">
|
1393 |
+
<div class="title-block col-xs-12">
|
1394 |
+
<h3>{{ environment.translate('Language and Text') }}</h3>
|
1395 |
+
</div>
|
1396 |
<div class="col-md-6 col-sm-6 col-xs-12">
|
1397 |
<div class="title-place">
|
1398 |
<h3>{{ environment.translate('Overwrite Table Text') }}</h3>
|
1478 |
</div>
|
1479 |
</div>
|
1480 |
</section>
|
1481 |
+
<section class="row row-settings-tab" id="stb-anl-source">
|
1482 |
+
<div class="title-block col-xs-12">
|
1483 |
+
<h3>{{ environment.translate('Source') }}</h3>
|
1484 |
+
</div>
|
1485 |
{% if environment.isPro() == false %}
|
1486 |
<div class="col-md-6 col-sm-6 col-xs-12">
|
1487 |
<div class="title-place">
|
1490 |
<div class="setting-wrapper row">
|
1491 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1492 |
<label for="table-source-database-unavailable">
|
1493 |
+
{% set urlTables = environment.getModule('tables').getLocationUrl() %}
|
1494 |
{{ environment.translate('Data from Database') }}
|
1495 |
+
{{ tooltip.icon('Database Source Pro feature allows you display table and its fields data from any table of WP database or External databases on the front-end. <a target="_blank" href="https://supsystic.com/documentation/database-source/"></br>Read more</a>' | raw, 'top', true)}}
|
1496 |
</label>
|
1497 |
+
<a target="_blank" class="supsystic-pro-feature" href="{{ build_pro_url({ 'utm_medium': 'table-source-database' }) }}">{{ environment.translate('PRO option') }}</a></br>
|
1498 |
</div>
|
1499 |
<div class="setting-item col-md-6 col-sm-6 col-xs-12">
|
1500 |
<input type="checkbox" disabled="disabled" name="source[database]" id="table-source-database-unavailable" />
|
1501 |
</div>
|
1502 |
+
<div class="setting-item col-md-12 col-sm-12 col-xs-12">
|
1503 |
+
<a target="_blank" href="{{build_pro_url({ 'utm_medium': notify })}}"><img style="max-width:800px" src="{{ environment.getModule('tables').getLocationUrl() }}/assets/img/database.gif"/></a>
|
1504 |
+
</div>
|
1505 |
+
</div>
|
1506 |
</div>
|
1507 |
{% endif %}
|
1508 |
{{ environment.getDispatcher().dispatch('tables-view-source', [table]) }}
|
1510 |
</section>
|
1511 |
</form>
|
1512 |
</div>
|
1513 |
+
</div>
|
1514 |
|
1515 |
<div class="row row-tab" id="row-tab-editor">
|
1516 |
<div id="loadingProgress">
|
1533 |
</li>
|
1534 |
<li>
|
1535 |
<button {{ tooltip.attr(environment.translate('Add row above')) }} data-toolbar="#toolbar-rows">
|
1536 |
+
<i class="fa fa-fw fa-th-list"></i><span> Row</span>
|
1537 |
</button>
|
1538 |
<div id="toolbar-rows" class="toolbar-content">
|
1539 |
<a href="#" data-method="row">
|
1546 |
</li>
|
1547 |
<li>
|
1548 |
<button {{ tooltip.attr(environment.translate('Add column on the left')) }} data-toolbar="#toolbar-cols">
|
1549 |
+
<i class="fa fa-fw fa-th-large"></i><span> Column</span>
|
1550 |
</button>
|
1551 |
<div id="toolbar-cols" class="toolbar-content">
|
1552 |
<a href="#" data-method="column">
|
1705 |
</a>
|
1706 |
</div>
|
1707 |
</li>
|
1708 |
+
<li>
|
1709 |
+
<button {{ tooltip.attr(environment.translate('Merge/unmerge selected cells')) }} data-toolbar="#toolbar-merge" data-method="merge">
|
1710 |
+
<i class="fa fa-expand"></i>
|
1711 |
+
<span> {{ environment.translate('Merge cells') }}</span>
|
1712 |
+
</button>
|
1713 |
+
</li>
|
1714 |
</ul>
|
1715 |
{{ environment.getDispatcher().dispatch('toolbar_rendered', [table]) }}
|
1716 |
<br />
|
src/SupsysticTables/Woocommerce/views/partials/tabContent.twig
CHANGED
@@ -4,13 +4,13 @@
|
|
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;">
|
8 |
-
<p class="description" style="font-size: 16px; margin-bottom: 10px">List your products in any format: price list, order forms, product
|
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>
|
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 Product Table allows you to create flexible, responsive tables 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 catalogues & more.</p>
|
9 |
</div>
|
10 |
<div class="col-xs-12">
|
11 |
<a href="https://supsystic.com/plugins/woocommerce-product-table/" target="_blank">
|
12 |
+
<img style="max-width:800px" 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>
|