Commit Graph

351 Commits

Author SHA1 Message Date
Nathan Gray
a09fae5f43 Data improvements:
- pass UID as additional parameter to data callbacks
- cache actual data separately from cached fetch response to avoid duplication
- use callbacks to keep localStorage data consistent with data in memory
- use callback to update cached fetch response if a record is removed (set to null)
2014-08-06 21:00:31 +00:00
Nathan Gray
f361373455 - Use timestamp to give cached dataFetch data a lifetime, currently 29 seconds.
- Add another callback for cache registration, called whenever the cache is used.
2014-08-04 17:04:11 +00:00
Hadi Nategh
22d6d80aae Add browser popup blocker checker for open_link method.
-Fix not poping up the emailadminWizard popup when an IMAP error occurrs, because of the browser blocks the popup.
2014-08-04 14:02:05 +00:00
Nathan Gray
ffb986f560 Handle if ID is not a string instead of erroring. 2014-07-28 23:11:22 +00:00
Nathan Gray
2fe7b34081 Smarter cache expiry based on age 2014-07-28 22:07:47 +00:00
Nathan Gray
df76846b37 Allow for long-term client side caching of dataFetch responses. 2014-07-28 21:17:06 +00:00
Ralf Becker
f337b33502 * eTemplate2: fixed popups eg. tracker open empty, not rendering popup content 2014-07-21 13:38:23 +00:00
Ralf Becker
9712e625db * Admin/API: remove no longer fully supported method to not "store session-id in cookie", it is the safer default anyway 2014-07-18 10:02:51 +00:00
Hadi Nategh
a2bac6e07a Make sure _with value is not null when trying to replace it into url, it causes broken url while using _replace argument from refresh_opener 2014-07-18 09:16:41 +00:00
Ralf Becker
f49bbab26f fix an other CSP error, caused by json-responses send eg. from get_rows method on a GET request, filemanager opened in iframe from tracker 2014-07-17 17:26:00 +00:00
Nathan Gray
8a36e40b10 Call applyFilters() function instead of setting directly, which skipped change detection.
Fixes selection not cleared when applying a favorite.
2014-07-14 09:59:02 +00:00
Ralf Becker
017ffe5e15 fixed javascript error "undefined attribute length" 2014-07-08 14:26:15 +00:00
Nathan Gray
a3a1d500ee set_preference now accepts an additional callback parameter, passed on to jsonq 2014-07-08 03:34:05 +00:00
Ralf Becker
d399e01ce8 new client-side API methods egw.dataSearchUIDs() and egw.dataRefreshUIDs() search for a given uid or regular expression and refreshing matching nextmatch rows, if somethings found 2014-07-04 08:55:37 +00:00
Ralf Becker
23cbc01e2c activating observer for admin instead of app_refresh and using it to invalidate client-side account-cache 2014-06-26 08:23:02 +00:00
Ralf Becker
d4bb8a00a9 move et2_call method to egw.js to have it always available at window scope (it is NOT et2 specific), maybe we find a better/nicer place for it 2014-06-23 08:10:40 +00:00
Ralf Becker
ff00c695ca new API method egw_framework::popup($link, $target="_blank", $popup="640x480") to open a popup independent of running a regular or a JSON request 2014-06-18 13:57:15 +00:00
Nathan Gray
715bbf9abe If a refresh of a particular UID is requested and server doesn't give it then remove it.
Fixes refresh where the row no longer match filters, but is still there.
2014-06-17 19:23:14 +00:00
Nathan Gray
2bc3ad43c0 Avoid undefined error when links is not provided 2014-06-10 15:27:11 +00:00
Ralf Becker
6d6e9d8a43 also replace p tags 2014-06-05 09:54:21 +00:00
Nathan Gray
07ec496a8e Decode stored favorite before parsing it, fixes missing umlauts 2014-05-27 18:52:44 +00:00
Nathan Gray
eaccfdfe1d Enhance error message to include request info 2014-05-27 14:53:34 +00:00
Ralf Becker
ddc17e8e0d allow null as well as undefined for message-type-detection 2014-05-26 15:39:21 +00:00
Ralf Becker
28b45639be to give observer method of other apps more information about what to refresh, server-side adds now links to refresh-opener and therefore observer calls 2014-05-26 13:29:35 +00:00
Ralf Becker
b1603f4fd3 support <br/> and a single <a href="...">Text</a> (no further attributes!) in egw.message() 2014-05-26 13:05:40 +00:00
Ralf Becker
ddc1b2d673 docu update about how to stop regular refresh 2014-05-23 09:20:42 +00:00
Ralf Becker
7edd12d251 run observers in main window (eg. not iframe, which might be opener!) 2014-05-23 09:19:46 +00:00
Ralf Becker
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
Ralf Becker
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
Hadi Nategh
b3ee7bc605 Make sure if the refresh is done, then give up not to reload the whole page 2014-05-22 11:27:29 +00:00
Nathan Gray
33f264346a Fix error deleting a favorite 2014-05-13 21:39:23 +00:00
Ralf Becker
19fc7acb7f top.egw is a function not an object 2014-05-13 08:48:27 +00:00
Ralf Becker
ac220a6e82 using egw.is_popup() which deals with situation of egw main-window having an opener (eg. bookmark) 2014-05-13 06:44:50 +00:00
Nathan Gray
9a8182480f Stop popups from re-initializing sidebox. Fixes favorites causing whole application to reload after saving a popup. 2014-05-12 20:36:18 +00:00
Ralf Becker
194606b196 public method to translate between PHP and jQuery date(Time)Picker date/time-format 2014-05-08 15:57:07 +00:00
Ralf Becker
b111f5005b fixed select-accounts show only part of users, caused by previously trying to extend now used array 2014-05-07 15:51:45 +00:00
Nathan Gray
140a0746d1 Make sure top actually has app before calling it.
Fixes error in calendar where non-list views are still in an iframe, but top window has no app.js
2014-04-30 16:25:05 +00:00
Nathan Gray
4d016169e7 Precautions for iframes + sidebox
- Unbind any existing events on existing sidebox, if _init_sidebox() is called again
- Only call _init_sidebox() on top-level window's app.js, fixes some iframe issues with admin
2014-04-29 16:51:57 +00:00
Nathan Gray
5c19f99d9d Remove no longer needed AJAX call for groups, API now provides them directly to the widget 2014-04-29 16:15:23 +00:00
Nathan Gray
21e5eb79dd Fix bug where if no additional apps were requested, no translation was done.
Was visible in ACL edit dialog.
2014-04-28 16:17:41 +00:00
Hadi Nategh
c912849bd5 Apply favorites sortable feature to sidebox fav. menu 2014-04-25 07:37:11 +00:00
Nathan Gray
48fa6611f3 Use a single client-side cache for account selection so we don't have to send it for every widget 2014-04-23 19:00:59 +00:00
Ralf Becker
554789e9ff 2 new message types "help" and "info" and displaying now all message types but "success" until next message or user explicitly closes them 2014-04-02 19:02:49 +00:00
Ralf Becker
6fdf8c98d1 open preferences and ACL in a popup (ACL still needs a little more work: use et2_dialog to add/edit instead of an other popup) 2014-04-01 15:49:08 +00:00
Ralf Becker
d28583a3a4 fix Array has no method match, if egw_framework::message() is called in GET request 2014-04-01 14:16:11 +00:00
Ralf Becker
13ad291696 need to init apps too 2014-03-28 13:15:11 +00:00
Ralf Becker
115aabf21a fixed error because using (by loading order sometimes) uninitialised class-variable instead of documented and initialies private var 2014-03-28 08:06:30 +00:00
Nathan Gray
e7fd500006 Store the jQuery jqXHR request object in the json_request, and return it from sendRequest() so caller can access it, if needed. 2014-03-26 17:53:09 +00:00
Ralf Becker
a4b27d286d * FireFox/all apps: fixed in recent FF version popups opened always in a single popup (overwritting previous opened one) 2014-03-26 10:32:17 +00:00
Ralf Becker
7d7436e54b fixed javascript errors happening if config was not loaded 2014-03-25 12:23:06 +00:00