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
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