Commit Graph

49 Commits

Author SHA1 Message Date
Ralf Becker
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
Ralf Becker
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
Hadi Nategh
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
Hadi Nategh
d56b92af8b Fix the grid widget resize handler for grid_wrapper 2015-01-23 14:29:46 +00:00
Hadi Nategh
b34adb3108 Fix vfs upload select-file dialog 2014-12-22 09:42:04 +00:00
Hadi Nategh
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
Hadi Nategh
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
Nathan Gray
28d2fad14a * Change nextmatch column size calculations so extra size is allocated better. 2014-08-19 23:33:06 +00:00
Nathan Gray
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
Nathan Gray
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
Hadi Nategh
d849c6797a Switch sorted array and id params position, in sortable gird 2014-05-14 08:29:04 +00:00
Ralf Becker
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
Nathan Gray
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
Hadi Nategh
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
Ralf Becker
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
Nathan Gray
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
Hadi Nategh
da42c28e57 Fix grid with auto-repeat rows 2013-10-04 13:03:58 +00:00
Nathan Gray
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
Nathan Gray
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
Nathan Gray
7b9b5efe7f Apparently expandName() can also return null - handle that too 2013-09-09 21:39:31 +00:00
Nathan Gray
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
Nathan Gray
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
Hadi Nategh
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
Ralf Becker
364fbd0f66 fixed wrong call leading to maximum stack size exhaused error 2013-07-22 14:11:58 +00:00
Ralf Becker
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
Nathan Gray
85db39ed4e Support row ids from template:
id="$row_cont[field]"
2013-07-16 16:22:20 +00:00
Nathan Gray
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
Nathan Gray
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
Nathan Gray
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
Ralf Becker
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
Nathan Gray
7a3b2db0a6 If widget's row / column gets disabled, let widget know too 2013-03-15 17:46:53 +00:00
Nathan Gray
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
Nathan Gray
fa69637b82 Silence some warnings, mostly about attributes 2012-07-23 23:54:16 +00:00
Nathan Gray
e5c508a609 Move align interface with the rest 2012-07-23 18:01:04 +00:00
Nathan Gray
4a98ec1a26 Allow grids with names to work 2012-06-26 22:56:35 +00:00
Nathan Gray
2692ded763 Default table row valign to top 2012-06-11 15:45:37 +00:00
Nathan Gray
5c0b30bf4f Implement missing vertical align attribute 2012-04-09 21:55:35 +00:00
Nathan Gray
f53fa79512 If a row is explicitly disabled, it's safe to just skip it 2012-03-30 16:25:30 +00:00
Nathan Gray
b1d4ec546c Add widget's class to td for backward compatability 2012-03-28 19:21:40 +00:00
Nathan Gray
d61a9f4a69 Column alignment for grid 2012-03-28 18:57:37 +00:00
Nathan Gray
c39b76f8a9 Prevent some warnings about attributes 2012-03-23 19:25:50 +00:00
Nathan Gray
51ba799ed0 Keep looking for row data until next row is missing 2012-03-22 23:15:38 +00:00
Nathan Gray
ee6e9ef8d8 Get auto-repeat grid rows mostly working 2012-03-21 21:31:47 +00:00
Andreas Stöckel
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
Nathan Gray
0238387c5c Return DOM node so name/ID changes can be applied (handled by caller) 2011-10-24 22:52:01 +00:00
Nathan Gray
a2de7dce27 Implement detached interface for grid so sub-widgets get processed 2011-10-24 19:35:04 +00:00
Andreas Stöckel
5c4c175ce2 Checked IE compatibility; dataview columns now resizes correctly; removed event code from etemplate2.js, use interfaces instead (as done with the 'resize' event) 2011-08-26 09:58:25 +00:00
Andreas Stöckel
ec5b162bfa Moved et2 core interfaces to own file; implemented Class.free which cares about calling 'destroy', removing all references the object may hold and rendering the object unusable after 'free' has been called; added 'getMem_freeMem_trace' which helps hunting down memory leaks with objects derriving from Class; added first implementation of the nextmatch widget - currently does nothing else but rendering the header and clicking on the nextmatch_sortheader labels 2011-08-25 13:35:53 +00:00
Andreas Stöckel
53f4064cdc Added some naming scheme to the js files 2011-08-24 10:18:07 +00:00