08708664b3
If one application uses a template from another, notify the application that loaded the template, not just the application that owns it.
2014-11-18 23:10:41 +00:00
026e93a0c4
use template base url from initial template, to continue using webdav, if that was loaded via webdav
2014-11-05 13:07:13 +00:00
178bca7f7a
fix redirect loop initiated eg. by saving a mail, caused by document.location=url triggering etemplate unload handler and destroying et2 request, identical redirect url detected by jdots framework causes refresh via nextmatch --> next redirect
2014-10-08 20:02:59 +00:00
aa6c36ba3f
Work on app-entry widgets (contact-value)
2014-09-30 21:37:45 +00:00
427956518e
* Etemplate/widget: Introduce video widget.
...
- Add ability to play video media/stream
2014-08-19 10:10:09 +00:00
161734f941
Handle validation_error if widget is children of a tabbox.
...
-Fix widget with validation error does not activate its related tab.
2014-08-18 12:05:04 +00:00
9851a8a6ef
Trigger a clear event on the etemplate DOMContainer when the etemplate is cleared, so app code can listen for it.
...
This allows a 'et2_unload' sort of processing.
2014-07-28 20:51:49 +00:00
296530b320
Fix etemplate2 submit() method for those buttons which they do not have nested ids
2014-07-07 13:25:20 +00:00
34ed2d7290
- Fix missing change handler on some nm header templates
...
- Fix improper usage of jQuery.when() (it doesn't take an array)
- Fix missing filter detection to not break with multiple values
2014-05-26 22:27:57 +00:00
30ffb38bd6
reverted r47030 as it breaks server-side nextmatch actions
...
nextmatch values were in root instead of namespaced "nm", causing all serverside actions (eg. move one contact into an other addressbook) to fail, because validation did not find values placed clientside outside valid namespace
2014-05-23 16:00:17 +00:00
24ee68bdf2
fixed infinit loop for apps running in iframe by refactoring frameworked templates work with client-side api:
...
- moved shared etemplate2 part into static etemplate2.app_refresh() method
- egw_message.refresh() calls framework.refresh() which can return a DOMwindow for egw.refresh() to work on, instead of calling egw.refresh recursive
2014-05-23 08:21:11 +00:00
893091e286
- new app.js observer method which receives update notifications from all apps
...
- app.infolog.observer triggering refresh of InfoLog list, when a timesheet get stored
- moved code of already deprecated egw_refresh() to egw.refresh() and changed etemplate to use that
- framework from jdots/pixelegg template no longer overwrites window.egw_refresh, but egw.refresh calls framework.refresh for regular refreshs if framework is present
2014-05-22 15:29:14 +00:00
ccdb54a366
Gantt chart progress
2014-05-21 22:11:36 +00:00
d80ef84012
Remove div from console, it's no longer useful
2014-05-07 16:35:51 +00:00
c4f56f2c3b
New dhtmlxGantt library, and etemplate2 widget to use it (work in progress)
2014-04-16 19:47:29 +00:00
ce3c5c897f
stop server-side validation errors, if submit was with no_validation
2014-04-02 19:30:33 +00:00
734b5d02f2
Add a parameter for submit() to skip the client-side widget validation
2014-04-02 18:49:43 +00:00
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
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
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
a1ae0bdb83
Add new method etemplate2.getById() to get etemplate object by DOM ID of container node
2014-03-11 15:28:18 +00:00
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
1c4b473d6f
Make template cache static class level variable, so they're always available & persist for session
2014-02-19 22:30:59 +00:00
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
d01d5119ca
calling app[appname].et2_ready(et2,name) with template name as second parameter
2014-02-17 14:58:20 +00:00
61e98b8149
default refresh method for jdots, if no nextmatch available
2014-02-14 15:01:45 +00:00
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
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
4f30210b03
indention
2014-01-24 09:27:52 +00:00
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
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
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
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
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
26b8cae767
Avoid removing all event listeners if the etemplate has no unique ID (happens for dialogs)
2014-01-11 11:42:23 +00:00
3b57659536
Defer binding to window resize until after loading is finished.
2014-01-10 15:54:35 +00:00
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
f1558bcffb
Fix missing bracket
2014-01-09 16:53:42 +00:00
c082dec331
Profiling - Automatically profile etemplate2 loading in Chrome
2014-01-09 16:44:34 +00:00
13572c472a
Profiling - Add some timestamps for timeline
2014-01-09 13:38:32 +00:00
90edb55ec5
add async include and et2 render times to page-generation-times shown
2014-01-09 12:20:13 +00:00
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
a1e5783da6
Make sure data is set before trying to look inside it.
2013-12-16 18:11:53 +00:00
374312be3c
need to set app_header before message, as app_header is (temp.) replaced by it
2013-12-13 01:15:41 +00:00
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
9c3c077314
fixed not updated sidebox in calendar listview
2013-12-12 23:32:30 +00:00
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
4c1c710ba9
Implement display of server-side validation errors
2013-12-02 20:35:32 +00:00
092da6a706
Use a fallback menuaction that won't give a permission error
2013-11-26 22:34:32 +00:00
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