Commit Graph

148 Commits

Author SHA1 Message Date
Nathan Gray
210dea829b Avoid big scary error if server tries to assign on an unloaded etemplate.
Log a little friendly warning instead.
2014-04-01 21:42:06 +00:00
Ralf Becker
ac18b6cc8d changed et2_core_inheritance.js to implement ClassWithAttributes extending Class from egw_inheritance and changed et2 objects to use ClassWithAttributes when required (also fixed lots of IDE warnings / added docu) 2014-03-20 09:40:37 +00:00
Ralf Becker
db1244dc50 put favorites, counter and new header_row into one container (header_row_right) to float them all to the right, also removed lots of unnecessary css and fixed alignment 2014-03-12 09:47:40 +00:00
Nathan Gray
a1ae0bdb83 Add new method etemplate2.getById() to get etemplate object by DOM ID of container node 2014-03-11 15:28:18 +00:00
Ralf Becker
a021f998e0 fixed template was not prepending parent/top-level name, but search for first loaded template which ends in its name eg. "rows" used in "mail.sieve.index" picked "addressbook.index.rows" instead of "mail.sieve.index.rows" 2014-02-25 13:04:28 +00:00
Nathan Gray
1c4b473d6f Make template cache static class level variable, so they're always available & persist for session 2014-02-19 22:30:59 +00:00
Nathan Gray
ac653d6c9a Set top level owner to top level widget.
Fixes error if read-only expansion runs off the top of the tree, and no owner found.
2014-02-19 00:28:38 +00:00
Ralf Becker
d01d5119ca calling app[appname].et2_ready(et2,name) with template name as second parameter 2014-02-17 14:58:20 +00:00
Ralf Becker
61e98b8149 default refresh method for jdots, if no nextmatch available 2014-02-14 15:01:45 +00:00
Ralf Becker
4dab9cba88 if content of template contains data for key "msg", call egw.message() with it and remove it from content 2014-02-06 17:27:01 +00:00
Nathan Gray
66cddfbd61 If thrown does not have a message attribute, use what was thrown instead.
Fixes 'undefined' error message in log when using throw "error"
2014-02-05 17:19:18 +00:00
Ralf Becker
4f30210b03 indention 2014-01-24 09:27:52 +00:00
Ralf Becker
0c2d8f87b9 only bind session/request destroy handler, if we have an etemplate_exec_id. Not the case for pure client-side call like from et2_dialog 2014-01-17 17:51:17 +00:00
Ralf Becker
a0213fd5a3 now calling our session_destroy also for etemplate2.clear(), this way we get also unloads from frameset templates 2014-01-16 12:52:25 +00:00
Ralf Becker
205794f4a7 notify server about closed windows, so we can destroy no longer eT needed session/requests and so keep cache small 2014-01-16 12:13:16 +00:00
Nathan Gray
4eea706aa0 - Return true after window close in et2_load, avoids 'Error while parsing et2_load response'
- Catch trying to set a widget attribute with no set_...() function via JSON assign and warn instead of generic error
2014-01-13 15:07:03 +00:00
Nathan Gray
71f0fcdda0 Implement refresh type 'update' to _only_ update the data of a row - sorting is not considered, so make sure to use 'edit' if sorting might be affected. 2014-01-13 09:40:23 +00:00
Nathan Gray
26b8cae767 Avoid removing all event listeners if the etemplate has no unique ID (happens for dialogs) 2014-01-11 11:42:23 +00:00
Nathan Gray
3b57659536 Defer binding to window resize until after loading is finished. 2014-01-10 15:54:35 +00:00
Nathan Gray
9b4cd3e306 Some more profiling helpers - timeline timestamp at start of rendering, consistently measure to end of app callback 2014-01-10 14:27:21 +00:00
Nathan Gray
f1558bcffb Fix missing bracket 2014-01-09 16:53:42 +00:00
Nathan Gray
c082dec331 Profiling - Automatically profile etemplate2 loading in Chrome 2014-01-09 16:44:34 +00:00
Nathan Gray
13572c472a Profiling - Add some timestamps for timeline 2014-01-09 13:38:32 +00:00
Ralf Becker
90edb55ec5 add async include and et2 render times to page-generation-times shown 2014-01-09 12:20:13 +00:00
Nathan Gray
9009ef44bb Pass current app to egw_app_header() so it can set header for correct app. Fixes sometimes wrong app header shown. 2013-12-23 16:13:40 +00:00
Nathan Gray
a1e5783da6 Make sure data is set before trying to look inside it. 2013-12-16 18:11:53 +00:00
Ralf Becker
374312be3c need to set app_header before message, as app_header is (temp.) replaced by it 2013-12-13 01:15:41 +00:00
Nathan Gray
23fd7066bf Add etemplate into indexed list before starting the load process. This way anything looking for it can find it, even if it's not fully loaded (and bind to the load event if needed) 2013-12-12 23:37:12 +00:00
Ralf Becker
9c3c077314 fixed not updated sidebox in calendar listview 2013-12-12 23:32:30 +00:00
Nathan Gray
698efb3039 Better handling of submitting with passed button to properly process the button ID into the value array. Fixes the case where ID like 'button[delete]', previously wound up in button.button[delete]. 2013-12-04 00:15:50 +00:00
Nathan Gray
4c1c710ba9 Implement display of server-side validation errors 2013-12-02 20:35:32 +00:00
Nathan Gray
092da6a706 Use a fallback menuaction that won't give a permission error 2013-11-26 22:34:32 +00:00
Nathan Gray
ca92b22daf Downgrade error about overwriting value, id exists twice to warning.
Stop warning about duplicate IDs in children of header bar, those values are part of nextmatch.
2013-11-08 16:28:07 +00:00
Nathan Gray
ba9782138c Check for app_callback before trying to call it 2013-11-07 23:21:14 +00:00
Ralf Becker
6d226a7921 split constructor function and place of instanciation for app.js objects: app[appname] = new app.classes[appname](); 2013-11-04 20:54:23 +00:00
Ralf Becker
064baf926a et2.submit(button,async) button can now be widget-id too, new optional async parameter to send request asynchronious (default synchronious), eg. to show an otherwise frozen animation 2013-10-30 14:07:29 +00:00
Nathan Gray
388b2cbceb - Fix etemplate2 assign json plugin so it's on the right egw object
- Add a console debug group (when supported) to make it easier to work with console log
2013-10-28 20:16:49 +00:00
Nathan Gray
4002907c05 Use jQuery's Deferred to solve the deferred loading problem instead of load events. 2013-10-16 20:48:05 +00:00
Ralf Becker
c6a97da311 fixed changes in get_rows method were not send back to client, if PHP mcrypt is available / eTemplate request stored on client 2013-10-11 11:20:21 +00:00
Nathan Gray
26f75a241b Make sure context is the widget when calling setters 2013-10-09 17:15:44 +00:00
Nathan Gray
fde83c834e Register an AJAX handler for assign response type. Needs exec_id, widget ID, attribute name and value. Widget must support setting that attribute. 2013-10-09 12:56:49 +00:00
Ralf Becker
bafcc80e35 fixed translations not loaded on very first request, as postponing ready for waiting on translations did not work, now using a direct callback instead 2013-10-08 08:55:15 +00:00
Ralf Becker
0bb8093426 fixed translations on client-side: server sends now currentapp and langRequire to client, which uses that to translate phrases, langRequire is only stored in egw object for matching app-name and window! 2013-10-07 17:00:03 +00:00
Nathan Gray
7cda6a630b Add a toolbar widget that displays its actions as a toolbar 2013-10-04 07:29:38 +00:00
Ralf Becker
5778c9d964 fixed egw_framework::message($msg, $msg_type) was not displayed on ajax-load, eg. regular et2 submit 2013-10-03 09:09:24 +00:00
Nathan Gray
8f91781933 Change nextmatch actions to use ajax submit, not post 2013-09-16 15:20:22 +00:00
Nathan Gray
02c6f3b108 Remove some more references to phpgwapi/js/egw_json.js 2013-09-10 18:56:50 +00:00
Ralf Becker
1590d02816 new egw_framework::message($msg, $msg_type="success") method and fixing nextmatch filter-change to return app-header 2013-09-05 11:53:25 +00:00
Ralf Becker
1f8e0e9e41 global method egw_message(_msg, _type) to display success-, warning- or error-messages in app-header 2013-09-04 19:02:34 +00:00
Nathan Gray
4fa0370ce4 Avoid error if div has no ID (eg: dialog) 2013-08-26 19:08:02 +00:00