Commit Graph

1678 Commits

Author SHA1 Message Date
Nathan Gray
866fbb65bc - Refresh filter even if it's not dirty, since it changed
- Bind delete prompt to right click on link while avoiding conflict with action system
2014-06-23 17:17:34 +00:00
Ralf Becker
ae19dff1d4 ignore stepMismatch html5 validation errors, the are generated for every float number 2014-06-23 14:31:47 +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
Nathan Gray
ec476a96d7 Fix column selection not saved if columnselection pref setting had 'nextmatch-' prefix already.
Fixes infolog columns not being saved
2014-06-18 18:29:52 +00:00
Nathan Gray
0cffb46eab Handle not existing links passed from server 2014-06-17 17:14:05 +00:00
Nathan Gray
2b1215af8b If history tab is currently active, finish loading historylog widget immediately 2014-06-16 15:17:30 +00:00
Nathan Gray
aa249cb6a2 Add function to get currently active tab index 2014-06-16 15:16:59 +00:00
Hadi Nategh
2ff1107b78 Ignore favorite preferences which are not correctly serialized, and somehow are stroed in database. At the moment we just ignore them, but they stays in database, need to be watched closely to find the cause, though. 2014-06-13 16:03:16 +00:00
Ralf Becker
c0cfe3f320 readonlys was not namespaced in old eTemplate, therefore if we dont find data under current namespace, we look into parent (if there is anything namespaced, we will NOT look for parent!) 2014-06-12 14:22:39 +00:00
Ralf Becker
0b6fa2785b allow to use numbers for attributes of type string, silently convert them to strings, fixes not working blur values for quantity in timesheet 2014-06-12 08:25:31 +00:00
Nathan Gray
f3ba7f692f Use custom field name to toggle row visibility, not order, as order doesn't always work. 2014-06-11 18:03:19 +00:00
Hadi Nategh
6b91baf0cc Make sure fav. sorted list is always an array, and append new favorite added to fav. sorted list 2014-06-11 14:42:27 +00:00
Ralf Becker
5a32a7d622 widgets should NEVER return null (eg. for empty), as server-side $preserv will overwrite it 2014-06-11 09:14:43 +00:00
Ralf Becker
5d3d61e5b0 only care for regular expression starting with /, as everything else is to ambigious eg. "replys[$row][reply_comment]" has a $ followed by an r, which is also first char of that expression 2014-06-11 07:59:45 +00:00
Nathan Gray
22b6084224 Fix link entry clear button not actually clearing the value if the value was entered via code instead of user 2014-06-10 21:35:39 +00:00
Nathan Gray
a4335f01a0 Hide custom field lines from nextmatch if they have no value 2014-06-10 20:22:43 +00:00
Nathan Gray
f8cb222580 Style gantt links as invalid based on if the start/end dates are correct for the link type 2014-06-10 18:52:50 +00:00
Nathan Gray
42547b8153 Gantt chart styling
- Include progress as text on left side of bar
- Highlight weekends
2014-06-10 17:38:02 +00:00
Nathan Gray
315a0d4ac0 Pass along width attribute, so it can be passed to chosen 2014-06-09 22:55:39 +00:00
Nathan Gray
a9e37042cb Use js type for query & select callbacks and implement setter functions 2014-06-09 19:28:31 +00:00
Nathan Gray
fa8963c8b4 Consider "0" (string zero) equal to false instead of true, as some PHP values come as strings. 2014-06-09 19:27:02 +00:00
Ralf Becker
60a32879d4 first try to implement/activate client-side validation for numbers, thought not fully working yet 2014-06-05 15:48:29 +00:00
Ralf Becker
a45525949b implement clientside validation for textbox, stop complaining about $ in regular expressions of validator and fix attribute name from "preg" to "validator" on server-side 2014-06-05 15:47:23 +00:00
Nathan Gray
2e09cf1ab1 - changing column selection preference now works if 'nextmatch-' prefix is included in the columnselection_pref setting
- change column selection popup to reload every time it opens, just in case something changes in the columns
2014-06-04 18:37:58 +00:00
Nathan Gray
001eab9159 If extra data is sent from a get_rows, try to update a matching child widget. 2014-06-04 16:45:19 +00:00
Ralf Becker
2c5ba307b5 convert numbers to string for consistent matching, 0 was never set, because it was treated as already set, which gives wrong result if it is not first option 2014-06-04 09:52:02 +00:00
Nathan Gray
0d9e9553b3 Change date filters:
- End date is now inclusive
 - Task dates must now either start after start date _or_ end before end date to be included, instead of fall completely within the range
2014-06-03 23:29:46 +00:00
Ralf Becker
c6fe901b56 fixed infinit loop, if string to active starts with url right away, eg. "https://domain.com/" 2014-06-03 07:22:34 +00:00
Nathan Gray
3b8bee4d18 Update dhtmlxTree & dhtmlMenu to latest version 2014-06-02 23:32:15 +00:00
Hadi Nategh
87d3a0bf28 Set date-duration display_format default to day/hour/minute 2014-05-30 13:40:13 +00:00
Nathan Gray
10d7a3f579 If a filter changed, explicitly clear the selection to prevent confusion if selected rows are in the new results 2014-05-29 16:21:41 +00:00
Nathan Gray
bb5b1163cb Progress on gantt chart
- Fixed error from projects with no constraints
- Got ajax expansion working
2014-05-27 23:27:30 +00:00
Nathan Gray
1224439431 Fix reversed path when namespaced widgets were nested 2014-05-27 20:22:23 +00:00
Nathan Gray
bff821e300 Move special path handling from nextmatch up to top level so it can work for all widgets with a namespace and their own value 2014-05-27 20:16:02 +00:00
Nathan Gray
7af73c91c4 Avoid infinite loop looking up accounts 2014-05-27 15:33:26 +00:00
Nathan Gray
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
Ralf Becker
086501bc30 fixed .5 hours entered in infolog (PM tab) is displayed after saving as 30 days, caused by automatic transformation to minutes and not recognising that display_format does NOT support minutes 2014-05-26 13:44:24 +00:00
Hadi Nategh
ba1141f0cc Set value for date-timeonly when it's string and NaN 2014-05-26 07:46:30 +00:00
Ralf Becker
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
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
Nathan Gray
1f4c8a0c03 Fix blank list on refresh, related to r47042 2014-05-22 16:32:58 +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
Nathan Gray
84e20433b6 Attempt to get rows in the direction of need, rather than centered on the missing rows 2014-05-22 14:48:22 +00:00
Nathan Gray
ccdb54a366 Gantt chart progress 2014-05-21 22:11:36 +00:00
Ralf Becker
5825c8df18 new button attribute "novalidate" to skip validation 2014-05-21 17:24:56 +00:00
Ralf Becker
6ee8b47d7a fixed javascript error when setting a validation error on a widget not on a tab 2014-05-21 09:07:14 +00:00
Ralf Becker
281863ac29 get customfield_list to respect readonlys of single fields 2014-05-15 16:49:53 +00:00
Ralf Becker
2b3a9cd1b5 * eTemplate2: fixed accounts got lost, if account-selection did not show all accounts
if accounts need to be fetched from server, callback is called async --> calling set_value again for last callback
2014-05-14 10:00:31 +00:00
Hadi Nategh
d849c6797a Switch sorted array and id params position, in sortable gird 2014-05-14 08:29:04 +00:00
Nathan Gray
33f264346a Fix error deleting a favorite 2014-05-13 21:39:23 +00:00
Nathan Gray
18bf4a4ebd Fix typo 2014-05-13 18:44:59 +00:00
Nathan Gray
51c73ddf89 Make sure all account options are present. Was on server side, now needs to be client side. See r46713 2014-05-13 18:40:31 +00:00
Nathan Gray
1ccc8f9e0d Fix label DOM nodes so it works in columns other than the first one 2014-05-13 00:36:32 +00:00
Nathan Gray
777e1bec1e Better handling for detached label, fixes errors if there is no label 2014-05-12 22:16:05 +00:00
Nathan Gray
b4b1eee57a Expand what is accepted as a CSV for multi-select. Fixes Permanent time zone preference does not get saved. 2014-05-12 22:03:38 +00:00
Nathan Gray
34a382be2b Implement detached labels 2014-05-12 21:49:48 +00:00
Nathan Gray
f5010b880b Preserve expanded sub-grids across refresh 2014-05-12 19:29:00 +00:00
Hadi Nategh
e8e3de984a Wrap content in link-add with span 2014-05-09 15:54:11 +00:00
Hadi Nategh
5b80563707 Consider other date widgets for date initialization as they could have fixed data_format too 2014-05-09 09:48:10 +00:00
Hadi Nategh
fbd35cba3f No need to check oldValue as check for customfields condition is good enough, and it may cause other date widgets do not get parsed 2014-05-09 08:48:26 +00:00
Hadi Nategh
b6e2460e91 Set customfields "date" and "date-time" widgets value correctly when they get initiated by storage value 2014-05-08 17:48:54 +00:00
Hadi Nategh
82e259c407 Setup data_format customfileds "date" and "date-time" in client-side 2014-05-08 17:45:09 +00:00
Nathan Gray
c886f46122 - Listen to sub-template deferred to allow children of children to finish initializing (allows more complex sub-templates)
- Special case for sub-template filter having null value
- On sub-template input change, only update changed values instead of resetting & re-generating filters
Fixes some sub-template filters & col_filters conflicting and overwriting each other
2014-05-08 16:25:28 +00:00
Nathan Gray
609d1df763 Expose key splitting publicly, so other code can use it 2014-05-08 16:14:41 +00:00
Nathan Gray
6ec24b1b50 Make sure app ObjectManager is there before trying to use it 2014-05-07 20:55:34 +00:00
Nathan Gray
d80ef84012 Remove div from console, it's no longer useful 2014-05-07 16:35:51 +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
354c030520 Work in progress on gantt chart:
- Gantt widget now supports context menu
2014-05-07 14:41:15 +00:00
Nathan Gray
30b300201e Clear action manager, if present 2014-05-07 14:38:44 +00:00
Hadi Nategh
0691903105 Still need to translate empty_label in selectbox widget for cases like when we do have "options" as an extra item for select_options 2014-05-07 13:03:14 +00:00
Hadi Nategh
b3ebc04ae5 Fix missing "translate" sub-attribute for some other widgets "empty_label" attribute. 2014-05-07 12:23:02 +00:00
Hadi Nategh
c35968d4a6 No need to translate empty_label explicitly, as we have a "translate" sub-attribute to triger translation for an attribute 2014-05-07 12:12:25 +00:00
Hadi Nategh
a8278017ed Fix missing translation for taglist's empty_label attribute 2014-05-07 11:06:47 +00:00
Nathan Gray
4f2504aafc Fix typo 2014-05-06 20:05:08 +00:00
Nathan Gray
b76ace01f5 Revert r46820 as it causes some widgets (tag list) problems.
Fix select account changing selectbox default instead.
2014-05-06 19:56:02 +00:00
Nathan Gray
c99f0ee32d Fix bug in last select option fallback option, was getting value instead of options 2014-05-05 22:17:23 +00:00
Nathan Gray
4053d1a204 - Move function to find selectbox options to public, static so other widgets (read only selectAccount) can use it
- Fix selectAccount missing extra app-specific options
2014-05-05 17:25:01 +00:00
Nathan Gray
e004e23c31 If the default is an object, use a clone of the default value to prevent widget from accidentally changing the default by reference 2014-05-05 17:22:25 +00:00
Hadi Nategh
62fa190439 Handle converting string date/time formats to Date object for date-time widget 2014-05-05 14:09:47 +00:00
Hadi Nategh
e85816cce9 Add button caption to vfs-select widget 2014-04-30 10:52:27 +00:00
Nathan Gray
d828eefaeb Fix missing column filters after loading template(s) 2014-04-29 19:05:55 +00:00
Nathan Gray
785ed4e4c1 Round dates to grid scale, avoids potential infinite loop in the other method 2014-04-28 23:05:26 +00:00
Nathan Gray
1aee6f3bed Enhance auto-popup to only show visible buttons 2014-04-28 20:20:54 +00:00
Hadi Nategh
c912849bd5 Apply favorites sortable feature to sidebox fav. menu 2014-04-25 07:37:11 +00:00
Hadi Nategh
334c66d203 Set select_options for <listbox> widget type of "select-account" with egw->accounts client-side method 2014-04-24 11:49:39 +00:00
Nathan Gray
ba8bfa1b6a Gantt chart work in progress
Filters, ajax fetching, double click (edit) callback
2014-04-23 22:18:05 +00:00
Nathan Gray
4f2f64fcbe Automatically disable custom field column if there are no custom fields 2014-04-23 20:39: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
f5297f17a7 Add a get_value() function to allow access to values outside of callback 2014-04-23 16:44:01 +00:00
Hadi Nategh
54e241f468 Update instantly the sideBox fav. menu when sort items from nm fav. menu 2014-04-23 13:58:32 +00:00
Hadi Nategh
9805f019a1 * Favorites: Make favorites item sortable and store their orders as user preference 2014-04-23 11:42:48 +00:00
Nathan Gray
a8a73683b4 Fix missing explicitly supplied select options 2014-04-22 16:56:27 +00:00
Nathan Gray
7a674ff8aa Don't add empty label as option for tags or search (chosen), it's registered as a real option. 2014-04-22 15:47:22 +00:00
Ralf Becker
f26a140a01 fixed search returns users, even if limited to groups 2014-04-17 12:24:03 +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
Hadi Nategh
8fb542465f Remove extra comment field from link widget, as we have another one in context menu 2014-04-15 11:34:50 +00:00
Nathan Gray
5720af761a Avoid warnings about not listening for deferred loadingFinished 2014-04-08 21:22:07 +00:00
Nathan Gray
683310ba94 Add a new function activateTab(widget) to activate a tab containing a given widget, move previous code inside tab widget to properly encapsulate it. Fixes broken tab selection with deferred tab loading, wrong tab shown if a widget has a validation error. 2014-04-08 17:11:35 +00:00
Nathan Gray
8ca9f9a469 Store internal reference to CKEDITOR instance, fixes Uncaught TypeError: Cannot read property 'on' of undefined 2014-04-07 22:20:30 +00:00
Nathan Gray
1ca9b134f9 Fix typo causing extra selection after delete 2014-04-07 20:57:59 +00:00
Nathan Gray
2e72b12452 Only email addresses in mail app need the hover popup, so move it into mail app. 2014-04-07 19:25:17 +00:00
Nathan Gray
76357f3451 Fix no_filter[2] nextmatch attribute not applied when set in template 2014-04-07 19:07:10 +00:00
Nathan Gray
0f94764857 Don't do an email address hover in addressbook - they're already a contact if they're in addressbook 2014-04-07 16:18:56 +00:00
Nathan Gray
0c220389fb Remove click handler from read-only account widget 2014-04-07 14:59:01 +00:00
Nathan Gray
99023a7812 If initial rows has no rows, add an empty row placeholder.
This way add context menu items work without clicking search first.
2014-04-07 14:44:52 +00:00
Nathan Gray
f6f2a883f0 If UID prefix is not set by the application, set dataStorePrefix automatically once and use it, instead of calculating it (different ways) each time. 2014-04-03 15:23:05 +00:00
Nathan Gray
1dcb1a9065 Fix bug causing long task to fetch the same 200 ids repeatedly 2014-04-03 14:33:01 +00:00
Nathan Gray
68ee717d0f Fix occasionally missing click handler 2014-04-02 23:31:01 +00:00
Ralf Becker
ce3c5c897f stop server-side validation errors, if submit was with no_validation 2014-04-02 19:30:33 +00:00
Nathan Gray
734b5d02f2 Add a parameter for submit() to skip the client-side widget validation 2014-04-02 18:49:43 +00:00
Nathan Gray
d5c810d5c4 If nextmatch starts hidden (or disabled) it won't size correctly.
Added a resize if enabling a disabled nextmatch so it re-calculates its size.
2014-04-02 15:16:12 +00:00
Nathan Gray
ad3e1e5021 Cast legacy options to string, in case someone passed in a number or something.
Fixes error loading tracker configuration with queue other than all.
2014-04-02 14:43:23 +00:00
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
Nathan Gray
0377dbe076 Use tree's ActionManager for new ObjectManager, fixes "Action object with id 'mail_drop_move' does not exist" 2014-04-01 21:32:06 +00:00
Nathan Gray
d3c0314b4d Switch AJAX upload library to Resumable for chunked uploads. 2014-04-01 20:48:40 +00:00
Ralf Becker
e30adcba12 indention 2014-04-01 14:14:56 +00:00
Nathan Gray
de2f05ee27 If link is for just 1 id (normal case), then don't use an array for ID 2014-03-31 18:20:54 +00:00
Nathan Gray
dcf0cf4e95 If link is for just 1 id (normal case), then don't use an array for ID 2014-03-31 18:20:38 +00:00
Nathan Gray
9d8304a70e Fix typo preventing proper display of custom field column for some templates 2014-03-31 17:26:10 +00:00
Nathan Gray
ae940d9174 Fix for nextmatch header setFilters()
- Add flag to prevent widget change events from triggering an applyFilters() call
Fixes custom date filters causing extra calls and resetting other column filters.
2014-03-31 15:49:36 +00:00
Ralf Becker
dfc5a8222e using !egw.app(appname) to check if user has no run-rights for appname 2014-03-28 13:09:21 +00:00
Ralf Becker
61f25c05ff fixed direct access to (not longer existing) egw.userData.apps[app] by using method egw.app(app) 2014-03-28 08:46:54 +00:00
Nathan Gray
5e6d19568d Add a popup on hover to every read-only url-email widget.
Popup gives an option to add the email to a new contact
2014-03-26 23:25:43 +00:00
Nathan Gray
24fd900626 Fix multiple request problem
- actually pass delay to autocomplete, it works better that way
- track previous request, and abort it if another one needs to be started
2014-03-26 17:55:50 +00:00
Nathan Gray
869bf62108 Improve handling of changing actions in a nextmatch response:
- Also (re)set default action on new actions
- Avoid extra actionManagers
2014-03-26 14:55:06 +00:00
Nathan Gray
b93286a467 Don't call finish or change callbacks if upload fails 2014-03-25 21:03:35 +00:00
Nathan Gray
2f90f3d427 Fix changed actions only partially updated, missed _actionLinks in controller 2014-03-25 18:34:00 +00:00
Nathan Gray
7ef65b30d6 Fix expand_multiple_rows button to only be added once 2014-03-25 15:20:05 +00:00
Ralf Becker
7d7436e54b fixed javascript errors happening if config was not loaded 2014-03-25 12:23:06 +00:00
Nathan Gray
2e6dea62d6 Fix some bugs in selectAccount with rows not set, but multiple on
- Fix opening single select search dialog instead of multiple (cleared previous selection on OK)
- Fix double user / groups in selected list
2014-03-24 20:20:25 +00:00
Nathan Gray
b16c32714a - Some documentation
- Fix bug ignoring nextmatch-sortheader's sortmode attribute
2014-03-24 19:30:29 +00:00
Ralf Becker
bfac67cc17 fixed et2_number was not reacting on size attribute 2014-03-24 18:43:45 +00:00
Nathan Gray
b6cf2762c3 egw tooltips aren't supported in nextmatch rows, so set field title for custom field list when not shown as separate column. Also set data attributes, if anyone wants to try some fancy styling. 2014-03-24 18:00:09 +00:00
Klaus Leithoff
94ff3e1966 handle special egw-open param for nextmatch action when from=merge is involved (params meet different preconditions then) 2014-03-24 08:23:22 +00:00
Hadi Nategh
dd95ab16cc * etemplate|widget_file: Make widget_file stylable 2014-03-21 16:27:09 +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
69f4d67d38 Test that the autorefresh timer is still going before binding, tab may have been closed 2014-03-19 20:11:03 +00:00
Nathan Gray
133c4a317c Fix bug in using knownUIDs where empty rows were left or too many removed when the count changed 2014-03-19 19:19:34 +00:00
Ralf Becker
f2e997d445 replace first parameter "%1" with "%s", to allow to use regular lang syntax as well as eTemplate one 2014-03-19 12:39:10 +00:00
Nathan Gray
4a5d906e48 Enable using knownUIDs and lastModification timestamp to avoid sending unchanged rows back to client 2014-03-18 22:54:14 +00:00
Nathan Gray
3f49db5fb9 Handle values set but not in select_options 2014-03-18 14:52:31 +00:00
Ralf Becker
f1d7dd7a0e fixed readonly selecbox not always found options, caused by it not expecting options to be an array. Now we always preserv type of options (array or object) and correctly iterate over them when trying to find an option by its value 2014-03-18 14:41:23 +00:00
Ralf Becker
eaaad85521 reverted r42883: Make sure there is a "None" option if the select-account is not required so user is not forced to pick an account
--> if "None" option is wanted, it should be added to template, that is the logic in regular select box too
2014-03-18 13:22:15 +00:00
Nathan Gray
b0db615411 - Fix taglist account infinite loop when looking for accounts (using link title system instead of data source)
- Don't search server side if there's no query string
2014-03-17 23:03:24 +00:00
Nathan Gray
f337d45b29 Fix taglist-account not suggesting anything by making sure select_options don't get set. 2014-03-17 20:24:34 +00:00
Ralf Becker
250d2f813a fixed wrong autocomple url cauased by webserver_url just "/egroupware" and set more reasonable default of allowFreeEntries: false for taglist-accounts 2014-03-17 15:29:58 +00:00
Nathan Gray
fe21f0fd74 Enhance nextmatch entryheader to return full value if it's anything more than a simple, single selection so we can handle it server side. 2014-03-13 18:58:59 +00:00
Nathan Gray
a0caff3b6a Javascript split() doesn't work like PHP explode() - fixed to not lose extras 2014-03-13 18:56:51 +00:00
Ralf Becker
5e74e836f7 fixed wrong augmented class 2014-03-12 18:49:50 +00:00
Ralf Becker
6b09e93768 adding et2_url_span class to surrounding span 2014-03-12 18:48:59 +00:00