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
Nathan Gray
eda4d2a3f6
Some extra resize bits to make sure everything gets resized:
...
- Resize the grid (resizes the column headers)
- Re-initialize the dynheight, just in case something changed
2013-10-10 12:25:29 +00:00
Ralf Becker
60049dd085
fixed error stalling filemanager: can not read property _parent of undefined
2013-10-10 11:23:32 +00:00
Nathan Gray
f12ab66b07
Ok, changing nextmatch row template via ajax should work now.
2013-10-09 17:33:29 +00:00
Nathan Gray
17c933cded
Better handling of binding change handlers to async loaded header templates
2013-10-09 15:14:25 +00:00
Ralf Becker
0163442f37
changed signature of on* event handlers: 1. event, 2. widget (context is DOM node), event handlers have now type "js" in attribute description and get automatic converted to a function, no more need to call et2_compileLegacyJS
2013-10-09 14:35:03 +00:00
Nathan Gray
17e8fa094d
Support changing nextmatch template after initial load (ie: in get_rows callback)
2013-10-09 14:11:44 +00:00
Ralf Becker
dad39e1d8a
moved all confirmation to api egw_actions and changed select_all to depend on all visible rows selected (Ctrl-A)
2013-10-03 15:30:27 +00:00
Nathan Gray
29f8a562e2
Better usage for relative column width:
...
- Columns with relative width specified in template are kept relative in resize
- Columns with no width specified in template get any left over space (relative)
- Columns with fixed width specified in template are kept fixed
These three together mean that if the user resizes the window or adds/removes columns, fixed columns don't change and any space is divided among relative columns.
2013-10-02 12:43:30 +00:00
Nathan Gray
9039200578
- Handle complicated/nested IDs in left/right headers (eg col_filter[tr_tracker])
...
- Handle left/right headers loaded async from server when setting up handlers
2013-09-19 20:39:17 +00:00
Nathan Gray
02c6f3b108
Remove some more references to phpgwapi/js/egw_json.js
2013-09-10 18:56:50 +00:00
Nathan Gray
c2c5337bd2
Save a little trouble by using the global egw.preferences() directly
2013-09-04 23:20:44 +00:00
Nathan Gray
4760b5f55e
Keep column filters & sort of different nextmatches separate
2013-08-30 16:26:54 +00:00
Ralf Becker
ee843a5f02
can not set undefined from server side, only null, therefore allowing that as argument for id in egw_refresh
2013-08-28 12:50:49 +00:00
Ralf Becker
c12c53bcb8
support getting app from "app_something::method" get_rows method
2013-08-28 06:59:06 +00:00
Nathan Gray
36021f5d13
Drag & drop files from user's system onto nextmatch row now working with sub-grids too
2013-08-27 20:24:55 +00:00
Nathan Gray
6028ac8eca
Drag & drop files from user's system onto nextmatch row uploads & links file to that row
2013-08-27 17:26:02 +00:00
Nathan Gray
3b65d807ba
Better handling for disabled columns.
...
Disabled grid columns don't create widgets, which caused the nm issues as it expected a widget in each cell.
2013-08-26 16:42:49 +00:00
Nathan Gray
62d42c83da
Some documentation, add ability to set value rather than hacking up getValue() (actions)
2013-08-20 18:49:38 +00:00
Nathan Gray
e4b158be4b
Give nextmatch a real getValue() function instead of faking it all the time.
2013-08-19 20:23:26 +00:00
Nathan Gray
eec6791213
Silence some missing attribute settings warnings and fix warning about not loading app.js when it was already loaded
2013-08-14 18:01:22 +00:00
Ralf Becker
486298a7c9
optional parameter for et2_nextmatch.applyFilters(_set) to certain filters before updating the rows, eg. applyFilters({ filter: '', search: ''}); to reset filter to 'all', remove search and update the rows
2013-07-03 14:29:17 +00:00
Nathan Gray
533f141bc2
nextmatch is always valid too
2013-06-26 22:23:41 +00:00
Nathan Gray
8f2248b6ab
When setting nextmatch filters, accept empty values too
2013-06-26 18:04:51 +00:00