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
Nathan Gray
d2b9501208
Fix up column selection pref / default / forced to update session & indicate to admin that preference has been forced
2013-06-11 22:50:05 +00:00
Nathan Gray
c8bbf8b582
Add tooltip explination to auto-refresh selectbox
2013-06-10 14:33:09 +00:00
Nathan Gray
d8fcb574a6
Implement csv_fields = false to disable export button
2013-05-28 18:16:22 +00:00
Nathan Gray
681be3af08
I guess template needs to stick around, even though it's freed
2013-05-27 23:34:14 +00:00
Nathan Gray
7c7e100842
Properly remove template so it's not still a child
2013-05-27 23:22:31 +00:00
Nathan Gray
c5c4d92d09
Make sure activeFilter gets set during init
2013-05-06 20:58:59 +00:00
Nathan Gray
5e84ddd935
Change admin column selection to allow setting / clearing / forcing column selection
2013-04-22 22:32:40 +00:00
Nathan Gray
d58a3128e7
Some checking to make sure variables are there, and avoid errors
2013-04-16 18:40:38 +00:00
Ralf Becker
e64c4fbd04
add some JSDoc so Eclipse shows an outline: @memberOf and @augments (not yet understood by Eclipse), also fixed many warnings (mostly missing semicolons)
2013-04-13 19:00:13 +00:00
Nathan Gray
b994f33825
Nextmatch onselect attribute understands app.appname.function directly, and passes nextmatch reference & list of ids
2013-04-12 10:33:29 +00:00
Nathan Gray
7f80c74b59
Add onselect attribute for nextmatch
2013-04-12 09:28:42 +00:00
Nathan Gray
c0e0982b0e
Implement hide_header,header_left & header_right attributes
2013-04-10 14:09:55 +00:00
Nathan Gray
4c54745cbb
Allow favorites from multiple apps to coexist
2013-04-10 08:00:31 +00:00
Nathan Gray
1f754d485b
Tie egw_action system into etemplate widgets - allows actions on widgets
2013-03-26 21:19:17 +00:00
Nathan Gray
d361206090
Always send app:id or just id from nextmatch_entryheader, instead of seperated properties
2013-03-25 22:04:10 +00:00
Nathan Gray
3332eec106
Add a function getSelection() so application code can more easily find the IDs
2013-03-20 22:10:51 +00:00
Nathan Gray
fee50cec99
Fix nm refresh() not working if the ID was a number
2013-03-20 16:17:23 +00:00
Nathan Gray
562ffe972f
Fix some destructors
2013-03-18 20:52:41 +00:00
Nathan Gray
3c69b26525
Add empty row placeholder
2013-03-13 18:42:03 +00:00
Nathan Gray
dee286e2e0
Move favorites js into its own widget, add support for favorites in sidebox when there is no nextmatch on the page
2013-03-12 22:57:42 +00:00
Nathan Gray
e63ea5a1e4
Favorites progress - safe names, delete confirmation, automagic sidebox favorites
2013-03-06 00:02:48 +00:00
Nathan Gray
8703b9a8e8
- Store group inside favorite preference so we know global / group favorites from user favorites
...
- Implement ability to delete favorites from menu
2013-03-04 23:33:58 +00:00
Nathan Gray
9a7f5102cf
Add Favorite filters to nextmatch - W.I.P
2013-02-27 18:13:54 +00:00
Nathan Gray
1202ccb0d1
Fix some bugs in preference storage & refresh
2013-02-26 00:52:05 +00:00
Nathan Gray
643b120195
- Make nextmatch refresh more intelligently
...
- Call nextmatch refresh() from etemplate2.refresh()
- Add autorefresh preference (in column selection)
2013-02-25 20:35:17 +00:00
Ralf Becker
0142da0b5c
fixed typo
2013-02-18 14:46:38 +00:00
Ralf Becker
4ab0aaab9f
function signature for new nextmatch refresh method, already working clientside by calling applyFilters, but should be smarter, serverside will require row-data plugin on clientside
2013-02-18 09:47:39 +00:00