Commit Graph

899 Commits

Author SHA1 Message Date
Hadi Nategh
981a0a1eb9 * All Applications: Get all drag and drop action functionality working cross platform
-Fix drag Out to desktop functionality with Command+Shift keys (for Mac) or Alt+Shift keys (for other platforms)
-Fix content selection functionality with Command key (for Mac only) or Ctrl key (for other platforms)
2014-10-24 11:15:33 +00:00
Hadi Nategh
1d3769939b Apply Ctrl+Alt keys in order to be able to distinguish between content selection and dnd for draggable actions 2014-10-23 16:23:25 +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
Hadi Nategh
f58cb571ef Fix indentation 2014-10-22 15:35:58 +00:00
Hadi Nategh
89a9c860e4 Set hold trigger timer to 600 milliseconds in order to popup the context menu faster for touch devices 2014-10-22 15:21:07 +00:00
Hadi Nategh
fb0059b796 Use jquery-tap-and-hold plugin for taphold event on touch devices 2014-10-22 15:12:48 +00:00
Hadi Nategh
510469e60b Implement to set proper lable for dragging item for the drag helper 2014-10-21 14:31:18 +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
549431fb73 Revert commit r49090, because it breaks special ctrl key and click handling in nm. Need more investigation to solve it 2014-10-21 13:35:19 +00:00
Hadi Nategh
c1c4b7c682 Replace the drag out trigger key from Ctrl (or Command key in Mac) to Shift key.
- Make Ctrl key as a standard dnd action disabling, and being able to select content by holding Ctrl key.
2014-10-21 11:48:25 +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
Hadi Nategh
10eb33cbdd Get drag out action working again 2014-10-20 15:03:31 +00:00
Hadi Nategh
96d9f14d12 More progress of commit r49059 2014-10-20 11:41:59 +00:00
Hadi Nategh
dae1ce6554 Work in progress, standardization of dnd action helper styling for all apps 2014-10-17 16:34:14 +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
Hadi Nategh
55b97699b6 Notify user of how to select content of a draggable item 2014-10-16 14:41:30 +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
Ralf Becker
1c9a14159e * Mail: allow to enter name+mail eg. "Ralf Becker <rb@stylite.de>" in compose, automatic fix unquoted commas in entered mail addresses 2014-10-08 09:01:51 +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
a4d18fdce2 trigger blur on taglist in getValue() to not loose just typed content (previous fix stoped selection of suggestions by mouse) 2014-09-10 10:02:07 +00:00
Ralf Becker
c0877bdaef fix typing of an email-address in compose with direct click on send button (no tab out of taglist) looses just typed email 2014-09-09 11:42:16 +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
Hadi Nategh
220d314cf9 * Calendar: Fix sidebar calendar in pixelegg to not flicking while the mouse is over on dates, and gets expanded with sidebar column resize 2014-08-27 09:46:57 +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
671fec00d4 Delete accidentally added files by commit 47981 2014-08-04 14:12:02 +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
Hadi Nategh
5e8de7f972 Get the socialMedia icons out of table and append it to form if it is pixelegg template 2014-07-25 07:53:30 +00:00
Hadi Nategh
1912a14fe7 Add login.js to phpgwapi in order to make it available for all templates. Implement socialMedia for jdots and idots templates too 2014-07-24 17:13:46 +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
Klaus Leithoff
430cba8991 * API/CKEditor: update to version 4.4.3; add additional skins 2014-07-18 07:56:43 +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
9f9f5184fc If selected egwActionObject(s) contain data, use that over global data store. 2014-07-14 20:29:42 +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
Nathan Gray
08c10a70aa Update Resumable from github, fixes some problems with setting et2_file value to a list of files in firefox. 2014-07-07 20:26:48 +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
Ralf Becker
90214935be reapplied r42638: Add a global ajax callback so the et2 widget can stay in sync with the dhtmlxtree 2014-06-03 08:56:14 +00:00
Ralf Becker
d9c9e06aad reapplied r41681: fixed event handling in tree, added tree specific onSelect and onCheck events, implemented !multiple mode and fixed dhtmlxtree to not trigger onSelect if selection is change via set_value (according to their documentation) 2014-06-03 08:54:46 +00:00
Ralf Becker
85c5468013 fixed old tree stuff to use new dhtmlx locations, allways use dhtmlxtree/codebase/dhtmlxcommon.js 2014-06-03 08:17:43 +00:00
Nathan Gray
3b8bee4d18 Update dhtmlxTree & dhtmlMenu to latest version 2014-06-02 23:32:15 +00:00
Nathan Gray
4b1fc627c4 Update dhtmlxTree & dhtmlMenu to latest version 2014-06-02 23:31:30 +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
61198e3684 Update gantt code 2014-04-30 20:24:50 +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
178fa34031 Implement action system state for trees 2014-04-28 23:11:58 +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
62686e4b2a Enhancement to r45442 so search options provided as a list are still filtered, but server response is accepted unfiltered.
Fixes search options provided as a static list were not being filtered.
2014-04-23 21:42:22 +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
Nathan Gray
c4f56f2c3b New dhtmlxGantt library, and etemplate2 widget to use it (work in progress) 2014-04-16 19:47:29 +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
Nathan Gray
d3c0314b4d Switch AJAX upload library to Resumable for chunked uploads. 2014-04-01 20:48:40 +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