Commit Graph

55 Commits

Author SHA1 Message Date
f57b4580a5 reverting r53406, r53423: using JSON instead of XML for templates on client-side to improve IE performace, as it did not give any performance improvement 2015-08-20 14:57:18 +00:00
ecb972ca66 Etemplate now uses JSON instead of XML for templates on the client side.
XML files are parsed into JSON objects on the server, then sent as JSON.
Etemplate parses the JSON object on the client side instead of the XML file directly.  This is supposed to be faster for IE.
2015-08-18 17:47:40 +00:00
80b2e2b244 Fix for losing actions if they are re-linked to a new actionObject 2015-08-11 15:37:20 +00:00
9903a5f926 Calendar et2 conversion work in progress.
- Home favorites with context menus
2015-08-05 21:24:07 +00:00
e15f9803d2 remove own iterateOver implementation again, as it is already handled in parent class and creates additional problems 2015-05-04 17:24:04 +00:00
0ea5195f2e allow to iterate over grids and set checkboxes readonly (disabled) 2015-05-02 10:42:53 +00:00
63a7af621d allow to submit partial content by passing a container(-widget) to etemplate2.submit()
- not send content is not validated and therefore not passed to server-side callback (currently only implemented for text-, select- and checkbox)
- new method et2_grid.getRow(_widget) to return a fake row container to pass it etemplate2.submit() --> implemented a real row-container for et2_grid
- new output_mode=4 for etemplate_new::exec() to force a json response, like form was submitted from client-side
--> allows to use full server-side validation for ajax like calls submitting only partial content
2015-03-20 02:12:33 +00:00
3d05a43417 implement part attribute with values "header" and "footer" to put rows in thead or tfoot instead of tbody of table 2015-03-17 09:44:14 +00:00
d8ec75d063 Make sure sortable gets send the request to server with correct menuaction, as jsonq always queued the request from home and that may causes wrong redirection. e.g. sortable grid inside an iframe of an application (mail.sieve) 2015-02-23 11:27:22 +00:00
d56b92af8b Fix the grid widget resize handler for grid_wrapper 2015-01-23 14:29:46 +00:00
b34adb3108 Fix vfs upload select-file dialog 2014-12-22 09:42:04 +00:00
1869e94f84 Popup resize handler enhancement:
- Fix multi-line textbox resizing
- Introduce tab_height to tab widget and remove extra height set on tab containers children
- Let mail compose uses its own resize handling as it deals with some special resizing
2014-12-05 17:29:41 +00:00
e8d1c874e6 Implement resize handler callback for widget in order to resize widget properly after the window size changes 2014-12-04 16:38:34 +00:00
28d2fad14a * Change nextmatch column size calculations so extra size is allocated better. 2014-08-19 23:33:06 +00:00
2785aed59c Check if content is there before trying to look inside it.
Fixes "TypeError: Cannot read property 'id' of null" from mail dialog
2014-07-16 14:42:28 +00:00
3b915de4cb Grid row action enhancements:
- If row has a key 'id', set the egwActionObject id to match instead of just row_[i]
- Pass the row content in egwActionObject's data, so it's available during action processing
2014-07-14 20:47:52 +00:00
d849c6797a Switch sorted array and id params position, in sortable gird 2014-05-14 08:29:04 +00:00
a7ee896adb create wrapper only for overflow != "visible", not needed otherwise and can break existing code, eg. name popup in addressbook.edit 2014-02-19 17:18:54 +00:00
8456cd0c9d Implement overflow & height for table
Uses a wrapper div, since tables don't care about height or overflow.
2014-02-18 20:20:35 +00:00
d500e4cc91 Fix actions over grid always return the last row DOMNode, by passing DOMNode to et2_action_object_impl constructor for cases like the infamous loop problem (JS closure) 2014-02-18 13:59:45 +00:00
2685f4d46e fixed AB "looses" name/organisation column after changing sorting, caused by grid not instanciating disabled rows as children and therefore column-name changes with sorting
added _getColumnName implementation to grid, which takes all nextmatch-* widgets into account (like old eTemplate did) and therefore does not change when sorting changed header-order by disabling of rows
2014-01-27 11:06:44 +00:00
77e2849895 Add et2_grid.set_value() to re-create a grid (including auto-repeat).
Pass an object with key/value pairs to update the grid's array managers (content,sel_options,readonlys).
The grid will then be re-created (not updated) using the template.
2013-10-18 23:24:49 +00:00
da42c28e57 Fix grid with auto-repeat rows 2013-10-04 13:03:58 +00:00
871f63a9f2 Additional checks on autorepeat fallback
- Better handling of the different accepted indirect placeholders
- Add a check & error to prevent infinite loops (or crazy large grids)
2013-09-10 23:25:51 +00:00
4996c584b3 Use a different method to avoid special expansion breaking nextmatch - skip it for grids inside a nextmatch. 2013-09-10 16:09:12 +00:00
7b9b5efe7f Apparently expandName() can also return null - handle that too 2013-09-09 21:39:31 +00:00
2087aed7a3 Check to see if the substitution actually got something, or we could wreck the nextmatch rows. 2013-09-09 19:16:05 +00:00
230472d256 Change auto-repeat detection to additionally look through widgets for IDs like const[$row] when there is no row content 2013-09-09 18:52:11 +00:00
fadca5bb6b fix set value for class when there is an assigned content to class= in .xet file 2013-08-16 08:11:06 +00:00
364fbd0f66 fixed wrong call leading to maximum stack size exhaused error 2013-07-22 14:11:58 +00:00
f2906a1052 moved most action "comfort" functions (with exception of nm_action and pagination) from server-side nextmatch class to client-side egwActions.updateActions() method, so they are available for all widgets 2013-07-20 16:47:33 +00:00
85db39ed4e Support row ids from template:
id="$row_cont[field]"
2013-07-16 16:22:20 +00:00
e8c394ed54 Implement egw action system on grid rows.
NB: This is not nm_actions.  See action system (egwAction.prototype.set_onExecute()) for details.
2013-07-05 15:13:05 +00:00
5e90755cd6 Add 'sortable' attribute to grid.
Set it to an AJAX (PHP) callback to enable, and it will be passed the grid ID & new row order whenever the user re-orders the grid rows.
2013-07-03 23:16:15 +00:00
80ae80098e Fix disabled grid rows still being created.
While not ideal (prevents modification / un-disabling after), this prevents some problems with doubled IDs
2013-06-24 20:50:37 +00:00
e64c4fbd04 add some JSDoc so Eclipse shows an outline: @memberOf and @augments (not yet understood by Eclipse), also fixed many warnings (mostly missing semicolons) 2013-04-13 19:00:13 +00:00
7a3b2db0a6 If widget's row / column gets disabled, let widget know too 2013-03-15 17:46:53 +00:00
8a1386ecdb Fix grid auto-repeat. It's always the last row that repeats, if there's data 2013-02-05 08:31:08 +00:00
fa69637b82 Silence some warnings, mostly about attributes 2012-07-23 23:54:16 +00:00
e5c508a609 Move align interface with the rest 2012-07-23 18:01:04 +00:00
4a98ec1a26 Allow grids with names to work 2012-06-26 22:56:35 +00:00
2692ded763 Default table row valign to top 2012-06-11 15:45:37 +00:00
5c0b30bf4f Implement missing vertical align attribute 2012-04-09 21:55:35 +00:00
f53fa79512 If a row is explicitly disabled, it's safe to just skip it 2012-03-30 16:25:30 +00:00
b1d4ec546c Add widget's class to td for backward compatability 2012-03-28 19:21:40 +00:00
d61a9f4a69 Column alignment for grid 2012-03-28 18:57:37 +00:00
c39b76f8a9 Prevent some warnings about attributes 2012-03-23 19:25:50 +00:00
51ba799ed0 Keep looking for row data until next row is missing 2012-03-22 23:15:38 +00:00
ee6e9ef8d8 Get auto-repeat grid rows mostly working 2012-03-21 21:31:47 +00:00
d310b14ecf Client side API now supports modules which are instanciated per application or per window; removed et2_debug function from et2_core_common, now using corresponding API function. 2012-03-05 13:07:38 +00:00