86 Commits

Author SHA1 Message Date
Ben Thomson
2f500ab034
Auto-detect correct postback handler for datatable widget. (#4967)
This change removes the default postback handler for the datatable
widget (onSave) and instead relies on the closest form's request
handler. While `onSave` was a safe default, it did not take into account
the relation widget using other handlers.

The table widget will use an explicitly specified handler first, then it
will try and use the form's request handler, before using `onSave` as a
fallback, although this should really never occur.

Fixes #4776.
2020-03-05 16:37:16 +08:00
Tobias Kündig
a4359c91e9 Explicitly pass focused item along as it is already known (#4807)
If the DataTable widget is loaded in a Popup, the .focus() call does not
seem to focus the target element correctly, which leads to the problem,
that the updateCellFromFocusedItem method fails to find the focused
item.
This commit passes the target item along since it is already known.
2019-12-07 11:33:06 +11:00
Samuel Georges
52e2a838eb Fixes typo, recompile assets 2019-09-11 21:42:02 +10:00
Samuel Georges
3291e07191
Update Deprecated code in October into (event.key) (#4489)
Update Deprecated code in October into (event.key)
2019-09-11 21:35:18 +10:00
Ben Thomson
14c4d1392e Datatable dropdown usability tweaks (#3980)
Adds a couple of usability tweaks to the dropdown cell type in the data table widget, to more closely mimic a native dropdown field.

Pressing the up or down arrow keys when the cell is focused but with the dropdown closed will select the previous or next item automatically and set it as the cell value. This does prevent the usual table function of going to the previous or next row when focused on a dropdown cell, but I think it's a worthwhile trade-off. When the dropdown is open, the up and down arrows work the same as previously implemented.

Typing out characters will initiate a search and select the first matching option automatically and set it as the cell value. For example, for the following options:

Apples
Oranges
Bananas
Typing out o and r on the keyboard will automatically select the Oranges option.

Credit to @bennothommo
2018-12-16 09:30:23 -06:00
Samuel Georges
953336d250 Option "searching" defaults to false 2017-07-15 14:34:53 +10:00
Samuel Georges
db943c077b This doesn't need to be a form 2017-07-15 12:29:20 +10:00
Samuel Georges
4239caf9eb Enable searching via config
Only the ServerEventDataSource supports this for now. This is purely to satisfy https://github.com/rainlab/translate-plugin/pull/272
Clean up and fix net spam
2017-07-15 12:18:11 +10:00
Samuel Georges
3145611150 Add search to table widget
Refs https://github.com/rainlab/translate-plugin/pull/272
Recompile assets
2017-07-15 12:06:50 +10:00
Quezler
cc17b679f1 Code dusting (#2826)
Code cleaning according to PSR-2 w/ exemptions (mostly dust).
2017-04-24 21:38:19 +10:00
Aleksey Bobkov
0d30931045 Minor styling fixes in the table widget. Fixed a bug where empty values in the table widget could be rendered as 'undefined' in Safari. 2017-01-25 20:15:12 -08:00
Pásztor Gábor
039a49979a Style improvements on reportcontainer's manage widget dropdown. 2016-12-21 20:15:07 +01:00
Samuel Georges
7563670c49 Minor styling fixes on the table control 2016-05-23 17:32:20 +10:00
Samuel Georges
f900ed8f62 Reshuffle the base color scheme again
Restyle the component area in the CMS
2016-05-12 04:33:01 +10:00
Samuel Georges
d69053481c Tweak some styles 2016-05-05 17:39:36 +10:00
Samuel Georges
72d3fe3ebd More styling updates 2016-04-23 05:11:02 +10:00
Samuel Georges
e9c7e6b9d1 No it is not safe to share the alias and field name...
The field name could be nested, for example: user[data]
Using this as an alias is user[data]::onDoSomething
Resulting in an invalid AJAX handler name
2016-03-17 19:50:34 +11:00
Samuel Georges
da71a21172 Add oc.tableUpdateData event and readOnly to string processor
Minor tidy
2016-02-20 15:38:29 +11:00
Samuel Georges
18194fa0f9 Complete Table server data source
Recompile assets
2016-02-20 12:45:36 +11:00
Samuel Georges
6d8ec9b4dc Fixes data source polluting base proto
Recompile assets
2016-02-10 20:22:50 +11:00
Samuel Georges
acfb35cbed Merge branch 'develop' into stable 2016-02-10 20:03:51 +11:00
alekseybobkov
f6dec96c86 Improved memory management in the table widget client-side scripts. Minor CSS fixes. 2016-01-22 21:43:45 -08:00
Samuel Georges
6828094252 Lay initial ground work for server data source
- The first server data source (ServerEventDataSource) is event based, so the implementing code is responsible for handling the data maintenance logic explicitly.
- The nature of the server side data source should show the data is maintained automatically with AJAX by individual events triggered on the client side. Records are maintained one-to-one, when you edit it, it updates on the server and so on.
- Only the READ events are implemented at this point.
2016-01-16 17:38:05 +11:00
Samuel Georges
f2699a7039 Fixes bug preventing pagination click 2016-01-16 16:20:33 +11:00
Samuel Georges
3cfc7b6a5d Move widget classes that are exclusive to their own space 2016-01-16 16:02:28 +11:00
alekseybobkov
c72920029e Minor extension in the table widget client-side API. 2015-11-20 21:02:45 -08:00
alekseybobkov
0e2e18af7f Added autocomplete column type to the Table widget 2015-11-17 21:26:03 -08:00
alekseybobkov
a5b217ff0b Merge branch 'develop' into builder-ui
Conflicts:
	modules/backend/widgets/table/assets/js/build-min.js
	modules/backend/widgets/table/assets/js/table.js
2015-10-15 17:32:19 -07:00
Samuel Georges
f97b9a6831 Allows custom toolbar buttons to be injected
Removes the assumption that all anchors are pagination links
Make code easier to read in places
Sorry, had to use jQuery in some places too
2015-10-01 18:13:15 +10:00
Samuel Georges
97595a631e Adds the ability to inject custom buttons + icons 2015-10-01 17:24:12 +10:00
alekseybobkov
fea5d8389f Minor fixes and improvements. 2015-09-10 20:45:07 -07:00
alekseybobkov
c38126ce65 Implemented the oc.tableCellChanged event for the table widget. Added readonly mode support in the code editor widget. 2015-08-25 21:34:21 -07:00
alekseybobkov
35c9e753f4 Table validation messages are translatable now. Fixed a bug where clicking a checkbox in a table row doesn't change its status. 2015-08-14 20:11:55 -07:00
alekseybobkov
a253d6fc57 Added customization options for the Table widget toolbar button labels 2015-08-13 20:26:11 -07:00
Samuel Georges
f47b99d183 Move storm to its own build 2015-07-29 19:13:42 +10:00
Samuel Georges
453d2fda56 Add the links handler to rich editor
Other small fixes
2015-06-24 17:36:59 +10:00
Samuel Georges
bed7d0825f Fixes loading animation in various places 2015-06-03 19:22:18 +10:00
alekseybobkov
f6cf7e9840 Added new back-end control Scrollpad. Added Element and Event utility functions to the Foundation library. Implemented file list scrolling in the Media Manager. Some minor fixes. 2015-03-28 11:42:40 -07:00
Samuel Georges
3c2494aa83 Improve DataTable form widget, fixes vague error in RecordFinder 2015-03-24 20:10:45 +11:00
Samuel Georges
6bf72386ee Can now prune event/request log records, add width definition to list columns 2015-02-21 13:49:32 +11:00
alekseybobkov
3499bbf063 Compiled Table JavaScript files, removed old table-min.js 2015-01-13 21:05:45 -08:00
alekseybobkov
70d3778611 Minor changes in the Table widget validation 2015-01-13 18:44:20 -08:00
Samuel Georges
c4cef299dd Fixes #828 - php artisan october:util compile assets 2015-01-12 20:08:53 +11:00
alekseybobkov
090264e3b9 Minor fixes in the Inspector and Scrollbar classes. Minor updates in the Table widget. 2015-01-11 20:56:17 -08:00
alekseybobkov
cbc808520d Added JS source map extension to the white map in the .htaccess file. Minor fix in the forms styling. Implemented client-side validation for the Table widget. Updated the Table widget readme file. 2015-01-11 13:42:42 -08:00
alekseybobkov
bc287a9559 Minor fix in the drop-down cell procesor. Added some Validation documentation. 2015-01-08 20:39:44 -08:00
alekseybobkov
c26545913c Improvements in the table widget, added new events to the CMS core, form styling, added support for the Table widget in in the CMS area. 2015-01-07 22:21:52 -08:00
alekseybobkov
820ff72149 Automatically initialize a record when the dataset is empty 2015-01-03 18:00:34 -08:00
Samuel Georges
54adc840cb Allow key column to be a string value (like a code). ping @alekseybobkov 2015-01-03 12:07:04 +11:00
Samuel Georges
04c6fdc7f3 Minor 2015-01-03 12:06:12 +11:00