Commit Graph

424 Commits

Author SHA1 Message Date
Ralf Becker
df7025f879 allow app to specify "availHeight" for its popup height and keep that height in automatic resize, for OS (eg. Linux) does not report an availHeight < height, we subtract 100px 2014-11-10 10:41:23 +00:00
Ralf Becker
6c7c29316a making popup resize a bit more relyable by using an extra timeout and trigger it for every load, not just first one 2014-10-30 11:09:38 +00:00
Hadi Nategh
fed76559fa Fix scrolling of content in iframes for touch devices (applied for iOS) 2014-10-23 13:44:40 +00:00
Ralf Becker
af048109ee adding singular and plural name of app entries to link registry under "entry"/"entries" plus translations for apps which need them different from app-name 2014-10-21 13:51:37 +00:00
Hadi Nategh
23c0285825 Make sure the this object is avaliable before addressing it.
-Fix error in calender views which was happening after dnd
2014-10-21 08:58:33 +00:00
Ralf Becker
2778b48273 fix popup detection to cope with window.opener being a reference to itself --> should NOT be detected as popup 2014-10-17 08:22:28 +00:00
Nathan Gray
5082d8a634 - Better popup resize calculations
- Test new popup size for addressbook
2014-10-15 15:52:07 +00:00
Ralf Becker
424b4c451c fix redirects in a popup and new egw_exception_redirect to be used in hooks/callbacks like for addressbook.edit to redirect to a different location 2014-10-15 14:55:08 +00:00
Ralf Becker
29cae75178 fix IDE warnings / documentation and move "use strict" from global scope to object itself 2014-10-09 09:34:24 +00:00
Nathan Gray
7bcf736f09 Increase popup padding by 20x30 pixels 2014-10-07 23:26:25 +00:00
Hadi Nategh
3404c704a6 Make sure state object exists
-Fix error "Cannot read property 'sort' of undefined" for favorites without state
2014-10-02 09:06:15 +00:00
Nathan Gray
f8540288d8 Check that array entry is there before looking into it.
Prevents error when accessing deleted user.
2014-10-01 15:53:31 +00:00
Ralf Becker
d736d6cb4a fix typo 2014-10-01 10:37:30 +00:00
Ralf Becker
6be491d6eb stop egw.debug("error",...) to show error to user, if LOCAL_LOG_LEVEL=0, which we currently set in source 2014-10-01 10:34:50 +00:00
Ralf Becker
81f68e09d6 switching off Javascript error-handler and -display in GUI 2014-09-30 20:30:46 +00:00
Nathan Gray
70689708a3 Restore favorite's sort order along with filters 2014-09-26 19:15:50 +00:00
Ralf Becker
3093cb6b85 fixed not working refresh of user category list called via top-menu after adding/editing a category 2014-09-25 16:03:28 +00:00
Ralf Becker
4d7f00d0fd nextmatch responses got cached for in meantime changed folder 2014-09-08 15:45:37 +00:00
Ralf Becker
414eeec511 fix javascript error caused by caching using a string context, searching now for a nextmatch one 2014-09-08 14:59:19 +00:00
Ralf Becker
951768885a when refreshing some uids in a nextmatch, we need to send nextmatch filters too, as server-side will merge old version of filters from initial request data otherwise
this can cause rows not to be returned because of different filters or search, or they are returned thought they should not
2014-09-05 09:32:44 +00:00
Ralf Becker
6ec9df222f fixed replay to first mail in newly refreshed or changed folder removes mail when sending
caused by eT exec_id got lost in call to egw.dataRefreshUID
2014-09-03 14:33:13 +00:00
Ralf Becker
6e831aaad9 docu update and fix IDE warnings 2014-09-03 08:11:59 +00:00
Ralf Becker
28d195417c fix error happening in browsers not supporting console object 2014-08-21 08:12:31 +00:00
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
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
Nathan Gray
aa3c0ca7c0 Pass along last modification time to callback 2014-03-18 22:28:50 +00:00
Ralf Becker
f47e38f320 wrong window was used when compiling list of already included scripts or css files, fixes missing css styles for context menu in popups (list of links) 2014-03-13 15:28:42 +00:00
Ralf Becker
2a34b88111 fixed not working referesh of ACL list 2014-03-12 13:14:23 +00:00
Ralf Becker
086195c0aa stop event propagation after calling setState, fixes "double sidebox" in CRM view, if called via a favorite (caused 2 identical requests to server, which both added their sidebox) 2014-03-11 08:16:52 +00:00
Hadi Nategh
96a6a7ee1a Adjust width for resized popup windows, since we are trying to use fix width for edit popups 2014-03-10 16:04:01 +00:00
Ralf Becker
79e1b5c9b8 fixed CSP error for multiple eTemplate2s (CRM view), by allways sending etemplate data via et2_container tag (instead etemplate script tag) and create an et2 object for all of them in egw.js 2014-03-10 11:58:49 +00:00
Nathan Gray
e9b5dfde4d Bind key handler to save favorite on Enter 2014-03-03 18:51:58 +00:00
Ralf Becker
11d77f3dab fixed a couple of problems with automatic switch to idots template from mobile browsers: csp-error, wrong icons 2014-03-03 17:35:48 +00:00
Ralf Becker
1ae9925cd5 removed .on("mouse(enter|leave)" (wrapping trash icon), as it stalls delete of favorites in IE11 2014-02-26 15:44:00 +00:00
Ralf Becker
b4a0a18de6 fixing wired IE11 errors ... 2014-02-25 17:16:42 +00:00
Ralf Becker
81818d2bbd fixing wired IE errors: need to clone data in set_preferences, as it gets cleaned up in IE 2014-02-25 17:05:16 +00:00
Nathan Gray
4591fa6e21 Fix TypeError: Cannot call method 'css' of undefined
Fixes blank infolog popup, timesheet index
2014-02-25 16:31:06 +00:00
Ralf Becker
e5aa97e2a0 fix IDE warnings 2014-02-25 16:03:12 +00:00
Ralf Becker
8181772025 do NOT initialise imediatly, as DOM is not yet ready (at least in IE11) 2014-02-25 16:02:46 +00:00
Ralf Becker
308dfdadc7 allow to already use egw.refresh() instead of egw_refresh() and added todo to move code 2014-02-25 09:46:05 +00:00
Ralf Becker
2f3add4ce9 hook to allow apps to add addional domains to CSP frame-src, eg. used by sitemgr to allow access to its sites, also fixed not displayed sidebox menu of old apps 2014-02-21 17:06:11 +00:00
Ralf Becker
796663c2a6 fixed modified translations were not automatic loaded after new login 2014-02-21 11:10:11 +00:00
Ralf Becker
530ebec63f fixed not translated time-labels in datetime picker 2014-02-19 16:40:56 +00:00
Ralf Becker
b692346cce several IE11 fixes avoiding or working around javascript errors 2014-02-19 15:10:39 +00:00
Ralf Becker
bd941f3601 allow to send a redirect from server-side via client-side egw.link_handler(url, app) allowing to specify which tab to use and a top-level (ajax=true) url 2014-02-19 15:08:38 +00:00
Ralf Becker
668bec020b fix display and logging of javascript errors for IE 2014-02-18 17:05:26 +00:00
Ralf Becker
186bdbcb55 running categories and acl in iframe again. If they run top-level their admin/js/app.js objects conflict with other top-level admin/js/app.js object and only one working categories or acl tab can be opened 2014-02-17 15:11:26 +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
0fa215c9e8 fixed sometimes not deletable favorites 2014-02-14 12:46:49 +00:00
Nathan Gray
bad65780bc Register a JSON handler to show error responses as error message instead of losing them. 2014-02-13 18:47:19 +00:00
Ralf Becker
af1e70ab32 fixed javascript error, if favorite has no href AND make sure all new favorites are created with an href, like they are created server-side 2014-02-13 16:50:49 +00:00