Commit Graph

296 Commits

Author SHA1 Message Date
Ralf Becker
173192f879 remove 0=off in NM column-selection, to show empty-label "Refresh" instead 2014-12-08 13:16:51 +00:00
Nathan Gray
2d149394ae * Add clear button to nextmatch search box for Firefox 2014-10-28 16:37:55 +00:00
Ralf Becker
4acbbf81c1 fix IDE warnings 2014-10-23 12:47:51 +00:00
Ralf Becker
5549dd1fd2 * InfoLog: "No filter" favorite was not resetting filters anymore 2014-10-23 12:42:24 +00:00
Ralf Becker
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
Nathan Gray
2ca305b5cc Remove auto refresh options for 30 seconds and 1 minute, as apparently they cause problems with mail.
Add auto refresh options for 15 and 30 minutes.
2014-10-08 17:27:39 +00:00
Nathan Gray
3843109dff Avoid error if filter has no options. 2014-09-30 14:47:54 +00:00
Hadi Nategh
3f54a33fda Make sure nm row_ids are string in order to address them as string, seems some ids are not 2014-09-25 08:45:06 +00:00
Nathan Gray
c5d5260d8b Drag and drop nextmatch rows to link between entries 2014-09-23 21:25:46 +00:00
Nathan Gray
4e6c5c3a1f Warn about legacy function calls using too many arguments 2014-09-08 23:01:55 +00:00
Nathan Gray
4031e2b5a1 Fix customfield column size preference not used 2014-09-08 20:09:21 +00:00
Nathan Gray
f3c15f87b1 Infolog lists embedded as action can have their own separate column preferences. 2014-08-25 23:18:09 +00:00
Nathan Gray
28d2fad14a * Change nextmatch column size calculations so extra size is allocated better. 2014-08-19 23:33:06 +00:00
Nathan Gray
976c7e55ac - Adjust default columns to exclude resolution, completion, timesheets, votes and bounties. They can still be turned on manually, just hidden by default.
- Set some more default column widths
2014-08-18 19:44:37 +00:00
Nathan Gray
f7589316e0 Make sure options are there before looking inside, avoids a potential error in filter options 2014-08-11 20:27:56 +00:00
Nathan Gray
795e2cdb9c Refine cache check conditions, rows is always empty by this point. 2014-07-29 21:46:01 +00:00
Nathan Gray
8a70df4df8 Handle num_rows set by application:
- Don't overwrite num_rows setting if the application sets it for some reason
- If num_rows is 0, don't get the initial rows server side
- If num_rows is 0 and the initial rows are missing, trigger an update right away to get them asyncronously.
2014-07-28 21:00:39 +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
Nathan Gray
ed6013605e If a custom field is added to the column list, invalidate known columns to get all new data back, in case app did not send custom fields in the first request. Fixes needing to reload after displaying custom fields in nextmatch 2014-07-08 04:21:02 +00:00
Nathan Gray
4c5e36500a Fix (?) the tough bug where app tab is closed, and nextmatch autorefresh generates an error after "this.getInstanceManager() is null" 2014-07-02 15:58:00 +00:00
Hadi Nategh
545b35de5b Declare a non declared variable which was messing with app global object 2014-06-24 12:40:25 +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
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
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
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
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
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
d828eefaeb Fix missing column filters after loading template(s) 2014-04-29 19:05:55 +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
5720af761a Avoid warnings about not listening for deferred loadingFinished 2014-04-08 21:22:07 +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
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
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
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
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
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
2f90f3d427 Fix changed actions only partially updated, missed _actionLinks in controller 2014-03-25 18:34:00 +00:00
Nathan Gray
b16c32714a - Some documentation
- Fix bug ignoring nextmatch-sortheader's sortmode attribute
2014-03-24 19:30:29 +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
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
5f1dcfea57 Unbind handler used to toggle autorefresh 2014-03-12 17:09:56 +00:00
Ralf Becker
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
Nathan Gray
e7de92519a - Restructure nextmatch header markup
- Add new attribute header_row to place custom template inline inside nextmatch header
2014-03-11 21:54:19 +00:00
Ralf Becker
94f468095d disable favories dropdown button if not called from infolog (eg. CRM view) 2014-03-10 19:47:09 +00:00
Nathan Gray
96bc660ee3 Clear filters before applying header changes, to handle the case of nulled input, which would otherwise be skipped, and the old value filled in. 2014-03-06 22:09:40 +00:00
Nathan Gray
dbbad57f90 Fix selecting next entry when there are no others 2014-03-06 18:07:47 +00:00
Ralf Becker
99e97d2bfc fixed Selecting an InfoLog category does not show this cat but "Loading" 2014-03-04 17:27:19 +00:00
Ralf Becker
947c2f0462 not visible nextmatch will run refresh when it becomes visible again (not just ignoring it) 2014-03-04 16:05:38 +00:00
Ralf Becker
ef7c2e5faa fix IDE warnings 2014-03-04 15:08:34 +00:00
Ralf Becker
5af397132a fixed opening of addressbook entries sometimes fails after searching: caused by not detected filter change and kept, but no longer displayed selection
JSON.stringify(this.controller._filters) == JSON.stringify(this.activeFilters) seems always true, like if it is a reference and not the old state
changed code not to change activeFilters only by calling applyFilters with requested change and detecting there if we have a change
2014-03-04 13:49:33 +00:00
Nathan Gray
e6d6c3c270 Fix nextmatch sort header does not indicate sorted column after reload. 2014-03-03 21:25:00 +00:00
Nathan Gray
b7c989adf8 Use grid's deleteRow() in combination with setTotalCount().
Fixes deleted row remaining, breaking grid after update(), (first row remains after changing filter)
2014-03-03 17:32:12 +00:00
Nathan Gray
a7c306d649 Prefer custom dataStorePrefix, if set, over appname for UID 2014-02-27 19:38:30 +00:00
Nathan Gray
2a43a12492 Keep selection if applyFilters() does not actually change filters.
This happens for several refresh conditions.
2014-02-25 22:26:55 +00:00
Nathan Gray
b598a6ffcc Use controller.update() instead of refresh() for autorefresh to preserve selection & scroll 2014-02-25 19:40:31 +00:00
Nathan Gray
4cd4297299 Fix wrong row count after delete 2014-02-25 17:51:36 +00:00
Nathan Gray
bec852fed2 - Avoid error if something tries to refresh a destroy()ed nextmatch
- Fix not-cleared popup action
- Fix timing bug where nextmatch could display old data after an action
2014-02-19 22:02:09 +00:00
Nathan Gray
153c4b7e8d Fix lost focus, and remove unneeded stuff 2014-02-12 21:25:59 +00:00
Nathan Gray
3158cbf915 Only trigger immediate refresh if the tab has been hidden longer than refresh time, prevents refresh when clicking around between tabs. 2014-02-11 20:59:07 +00:00
Nathan Gray
9cd9f22026 Use framework events to stop and start autorefresh if tab is hidden or shown 2014-02-10 18:47:51 +00:00
Nathan Gray
9ef38e33dc Fix some internal UID <-> entry references not being updated when deleting.
Fixes mail splitter docking after deleting 2 rows.
2014-02-05 19:46:02 +00:00
Nathan Gray
0af573a3e1 Stop setting value.ignore flag in nm headers, it was changing it for all subsequent selectboxes, and doesn't appear needed anymore.
Fixes selectboxes in left/right headers missing values.
2014-02-05 16:33:49 +00:00
Nathan Gray
c4a01a3de9 Implement set_actions() so they can be updated from server-size assign 2014-02-03 20:05:56 +00:00
Nathan Gray
d5acb5f888 Don't try to refresh a not-fully-initialized nextmatch.
Fixes type error when switching to an open app that was loaded on login.
2014-02-03 16:03:32 +00:00
Ralf Becker
d383373ffe skip empty, undefined or null labels when generating captions for column selection, eg. timesheet 2014-01-31 08:14:49 +00:00
Nathan Gray
12fc2ba8d0 Fix some more bugs in egw_refresh() delete:
- Fix selecting next row selecting current row instead
- Fix subsequent deletes not removing row
2014-01-30 17:10:28 +00:00
Klaus Leithoff
398ca817d4 handle condition for no next found, to avoid java script errors 2014-01-29 09:58:29 +00:00
Ralf Becker
ba5254040d fixed "can not access attribute 0 of undefined" caused by automatic nextmatch refresh loosing context 2014-01-27 16:26:00 +00:00
Nathan Gray
c5e1ed231a Fix deleting multiple rows by storing grid row ID first, otherwise grid row IDs change as we delete rows 2014-01-22 16:43:31 +00:00
Nathan Gray
b4ad250438 Fix rows staying after deleting by preventing automatic grid stuff while deleting 2014-01-22 15:22:29 +00:00
Nathan Gray
4d997bf7c8 Fix up caching, clearing and filtering, so we cache what we need and clear only what we have to when filtering
Selection still needs work.
2014-01-21 15:21:42 +00:00
Nathan Gray
045d1a3b19 Revert r45247, mail has some lingering issues and needs a harsh reset 2014-01-21 09:42:10 +00:00
Nathan Gray
ac0e2f6016 Improve applyFilters(), no longer blanks nextmatch before re-filling 2014-01-18 13:46:33 +00:00
Nathan Gray
f3762d9884 Fix typo causing wrong record count after delete 2014-01-18 11:58:34 +00:00
Nathan Gray
344a63b37c Fix removing (delete) a row from nextmatch
- Fix broken destroy callback
- Fix caching & actions to be removed
- Fix always removing the last row also
- Fix indexing so arrow keys work over sparse indexMap
2014-01-17 17:57:59 +00:00
Nathan Gray
af6b513a54 Wrap search box & button in their own div 2014-01-17 13:35:13 +00:00
Nathan Gray
be0878f883 Use this.egw() to get the correct (app level) data cache, which stores appname internally.
Fixes permission denied popup when updating.
2014-01-13 15:04:30 +00:00
Nathan Gray
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
Nathan Gray
5f12847fb3 Fire a refresh event (from the nextmatch widget) when the nextmatch auto-refresh happens, so apps can update anything else they need to. 2014-01-11 14:14:42 +00:00
Nathan Gray
49ef2c538a Use any row data passed from server in etemplate load call to avoid an extra call to get_rows 2014-01-09 11:25:08 +00:00
Nathan Gray
d000a05b72 Start search if user presses enter in search box 2013-12-30 17:05:03 +00:00
Nathan Gray
fc2d036332 Add ability to turn on/off lettersearch line in column selection dialog (when enabled for app) 2013-12-24 16:54:38 +00:00
Nathan Gray
103515342e Add IDs to search & export buttons. 2013-12-19 15:50:15 +00:00
Nathan Gray
680ce48fef Check to make sure selectionMgr is there before trying to use it 2013-12-12 23:34:42 +00:00
Nathan Gray
6f90cb8fb3 Decrement row count when refreshing a delete 2013-12-04 21:12:25 +00:00
Nathan Gray
834dbe886b Automatically bound change handler returns true to play nice with other change handlers that might be bound. 2013-12-04 19:52:51 +00:00
Nathan Gray
ec118b0839 Nextmatch export button no longer defaults to on, it must now be explicitly set by the application. 2013-12-02 21:27:55 +00:00
Nathan Gray
e623ea8c82 Change minimum height from 150px to 100px, still enough for a small nm 2013-11-20 23:27:53 +00:00
Nathan Gray
3c38cd10c4 Nextmatch update changes:
- Implement "update" as alias for edit
- Comment out handling of edit (handle as add)
2013-11-15 15:28:38 +00:00
Nathan Gray
44f6f55406 Make sure entry header sets activeFilter value when setting nextmatch 2013-11-13 22:41:22 +00:00
Nathan Gray
a10ac05b63 Allow app's custom file drop code to run even if no row data found 2013-11-13 17:18:55 +00:00
Nathan Gray
39c1efc789 Fix up dataview / nm filter changes. Removes extra server call to ajax_get_rows. 2013-11-06 18:55:57 +00:00
Nathan Gray
7c7d6391ab - Automatically add 'Select All' action with Ctrl+A shortcut after first action group
- Implement Select All into selection controller so it works even if all rows aren't loaded
2013-10-24 17:29:11 +00:00
Nathan Gray
ab4873553b - Add in any missing filter/left/right header select options from favorites or other changes instead of rejecting. Server side get_rows is responsible for actually providing the missing option(s)
- Propagate changed exec_id to controller
2013-10-21 22:23:02 +00:00
Nathan Gray
52a7acfc55 - Don't change template if new is the same as current
- Create header in init(), now that not-loaded templates are handled
- Update nm left/right header input widgets' old value when filtering
2013-10-21 18:02:02 +00:00
Nathan Gray
788483043d Set activeFilters to match value in left/right header when binding to change so favorites pick up header values set by server 2013-10-21 17:28:08 +00:00
Nathan Gray
4002907c05 Use jQuery's Deferred to solve the deferred loading problem instead of load events. 2013-10-16 20:48:05 +00:00
Ralf Becker
3c80defe8b fixed setFilter to correctly return all current filter-values in its 1. parameter this.activeFilters 2013-10-11 09:55:12 +00:00
Nathan Gray
398a8eed25 Event handler attributes:
- default to et2_no_init so they don't get processed if not set
- remove some duplication in attributes
2013-10-10 13:17:07 +00:00