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
Nathan Gray
eb3665aa95
Add in dragdrop actions
2013-02-14 16:48:12 +00:00
Nathan Gray
13816aae70
Better check on global_data type before using it - null too
2013-02-08 12:26:41 +00:00
Nathan Gray
834832b87e
Better check on global_data type before using it
2013-02-08 12:22:19 +00:00
Nathan Gray
aa07a243c1
Fix widget not allowed / DOM error in nextmatch-accountfilter
2013-02-08 10:38:09 +00:00
Nathan Gray
ca3536bf25
If no column display settings from app or preferences, display all columns
2013-02-07 15:46:36 +00:00
Nathan Gray
e094b35394
Get nextmatch_customfilter working
2013-02-07 14:36:19 +00:00
Nathan Gray
616e94a7b4
Add the ability to specify the client-side data cache prefix, to avoid collisions in applications where there can be more than one type of data
2013-02-06 10:49:46 +00:00
Nathan Gray
417b22e071
Make sure there's an action_var, use 'action' if not set
2013-02-05 09:34:54 +00:00
Nathan Gray
fa69637b82
Silence some warnings, mostly about attributes
2012-07-23 23:54:16 +00:00
Nathan Gray
4c41c36251
Add 'All' option to category filter if missing to match old etemplate
2012-07-11 20:10:20 +00:00
Nathan Gray
7e77eff672
More involved searching for where sel_options could be. Added nm[rows][sel_options][ID] as an option
2012-07-10 22:23:44 +00:00
Nathan Gray
f1ea3db040
Remove debug
2012-07-04 22:39:08 +00:00
Nathan Gray
4d101be606
Make filter headers resize so they are no bigger than their column
2012-06-25 17:25:11 +00:00
Nathan Gray
8a2eb38369
Use widget's getValue() instead of using val() on an attribute which might not exist
2012-06-18 22:45:21 +00:00
Nathan Gray
5732ee7033
Fix parent / hierarchy view
2012-06-18 17:43:39 +00:00
Nathan Gray
0446c2e0ea
No longer need to override, should be properly set now
2012-06-13 17:37:57 +00:00
Nathan Gray
321814260f
Update row's visible custom fields to match selected custom fields
2012-06-12 20:54:05 +00:00
Nathan Gray
e9abe385dc
- Fix action column not being skipped
...
- Add nextmatch-accountfilter
2012-06-05 21:10:18 +00:00
Nathan Gray
2b3686540f
Fix action column removal to handle action columns that are not the last column
2012-05-29 17:22:18 +00:00
Nathan Gray
efd5bacc7a
Make sure value gets set before applying filters, or it won't stay
2012-05-08 18:02:56 +00:00
Nathan Gray
debcd059bc
Remove action column - no action columns in et2
2012-05-08 17:27:38 +00:00
Nathan Gray
8c77cb1bcb
Handle captions on selectboxes with no label by using the empty option
2012-05-08 17:02:06 +00:00
Nathan Gray
2f9118779b
Store column width as reported by column manager
2012-05-08 16:39:17 +00:00
Nathan Gray
4684f25530
Use the widget type to prevent infinitely creating the same thing
2012-04-30 23:25:42 +00:00
Nathan Gray
afb14a532b
Get nm changing selectbox options / filters working
2012-04-30 17:00:50 +00:00
Nathan Gray
b2e9b07af8
Get most submit actions working
2012-04-10 20:27:37 +00:00
Nathan Gray
cdbe049f21
Get updates to sel-options in row results working
2012-04-09 18:19:43 +00:00
Nathan Gray
8049c3d7f5
Fix updating row count when filter changes
2012-04-09 15:09:40 +00:00
Nathan Gray
a5e6dd855b
Layout & spacing for nm customfield header and link widget
2012-04-05 22:30:06 +00:00
Nathan Gray
fc14dba964
Implement customfilter to work with link-entry at least
2012-04-05 20:03:43 +00:00
Nathan Gray
e88585c8e0
Implement legacy options for link-entry - lets infolog parent work
2012-04-04 20:17:38 +00:00
Nathan Gray
d5532c361d
Hide customfield column if there are not custom fields
2012-04-04 19:52:28 +00:00
Nathan Gray
5dcdc58f50
Get nextmatch filters with legacy JS working
2012-03-30 20:17:53 +00:00
Andreas Stöckel
f50b880c19
Fixed selection and getSelected() function; controllers and selection managers are now hirachical
2012-03-30 14:20:11 +00:00
Ralf Becker
8874134221
setting subgrid callback and disabling use of regular data (only callback)
2012-03-30 12:17:52 +00:00
Andreas Stöckel
a8ed2af938
Added subgrid support to nm
2012-03-30 12:00:59 +00:00
Ralf Becker
cedb8e3f6c
add this.form.submit() to legacy functions and use regular nextmatch filter-change, if onchange="this.form.submit()" is set, some more changes etemplate_new --> etemplate
2012-03-29 15:10:25 +00:00
Andreas Stöckel
cfa9c190bb
Implemented keyboard navigation and data retrival for uids
2012-03-29 14:11:22 +00:00
Nathan Gray
47a2858f7a
Add column alignment in nm
2012-03-28 19:00:12 +00:00
Andreas Stöckel
8dced05f23
nextmatch widget now loads the data that was passed to it in the settings array
2012-03-27 14:51:16 +00:00
Andreas Stöckel
83a6d40b5c
Actions basically working again, do not work properly yet, as the global uid is passed to the nm_action function
2012-03-27 10:18:42 +00:00
Andreas Stöckel
34a43e8869
Various bug fixes in the grid, implemented prefetching, workaround for performance issues regarding update, removed _lastModification
2012-03-26 15:28:02 +00:00
Nathan Gray
c39b76f8a9
Prevent some warnings about attributes
2012-03-23 19:25:50 +00:00
Andreas Stöckel
1dec823e45
Implemented consolidation and extension of requests, code does currently not check which range requests are still pending
2012-03-23 16:30:29 +00:00
Andreas Stöckel
00cd1f1e2f
Bugfixes for dataview
2012-03-23 13:38:30 +00:00
Andreas Stöckel
a9c1112dc1
New dataview version and integration into the nextmatch widget
2012-03-23 12:20:57 +00:00
Nathan Gray
8c161056b5
Make sure column exists before trying to access its widget
2012-03-22 23:17:00 +00:00
Nathan Gray
91f6ff4384
Override nm header input widgets' onChange to update nm filters, and if original change returned true, refresh inm data
2012-03-20 17:47:00 +00:00
Nathan Gray
67418adcbc
Fix formatting / layout of nextmatch header templates
2012-03-19 22:33:40 +00:00
Nathan Gray
b89f39785d
Use global visibility settings, handle skipped columns in the middle
2012-03-19 20:30:38 +00:00
Nathan Gray
e567e6d0bf
Update visible custom fields
2012-03-19 19:57:02 +00:00
Nathan Gray
1257ab5e7c
Fix up nextmatch column / custom field selection in header
2012-03-19 19:23:23 +00:00
Nathan Gray
f88776416c
Make sure headers is defined, even if no templates specified
2012-03-15 23:16:41 +00:00
Nathan Gray
3a865977ff
Pretty checkboxed multi-select widget
2012-03-15 22:57:55 +00:00
Nathan Gray
570b933331
Restructure nm header to be a real widget, add header templates - not quite right, but they're there
2012-03-14 22:57:54 +00:00
Nathan Gray
0aa4c66803
Don't proxy template, just don't load it until asked for
2012-03-14 21:27:23 +00:00
Andreas Stöckel
dc017ed889
Now again using a local etemplate2 instance on the client
2012-03-12 12:05:14 +00:00
Andreas Stöckel
c0db2e36a9
Fixed a lot of problems regarding centralized JavaScript code; et2_dataview_view_resizeable is current WIP; now building etemplate2 DOM-Tree to a DocumentFragment first, which brings a significant performance gain
2012-03-07 15:33:21 +00:00
Andreas Stöckel
69c7697e61
Fixed problem with infolog-image 'not-started' not found in grid; causes new problem with some buttons being displayed twice (caused by this.image=null in et2_widget_button.js::180)
2012-03-06 16:29:18 +00:00
Andreas Stöckel
e4ed4399cf
Attempt of fixing legacy JavaScript functions, only tested for simple cases
2012-03-06 15:26:11 +00:00
Andreas Stöckel
049cbd88dc
Now using the etemplate code from the root instance (etemplate2.js acts as a egw api plugin); fixed egw.json plugins; fixed problem with 'instanceof Object', which does not work when sharing code over multiple windows
2012-03-06 13:22:01 +00:00
Andreas Stöckel
d310b14ecf
Client side API now supports modules which are instanciated per application or per window; removed et2_debug function from et2_core_common, now using corresponding API function.
2012-03-05 13:07:38 +00:00
Andreas Stöckel
14e6ceecb6
Integrated application specifig egw api into etemplate2 code
2012-03-02 10:44:56 +00:00
Nathan Gray
9feb7e22bf
Avoid fatal error breaking nm if fields is null
2012-02-28 01:00:50 +00:00
Nathan Gray
0136c6292c
Fix custom field preference handling when previous columns disabled
2011-10-19 17:13:27 +00:00
Nathan Gray
3ff03ca92f
Get custom field entries to other apps working in nextmatch, sort of
2011-10-18 20:09:48 +00:00
Nathan Gray
40054c6a01
Implement select header and select entry header for custom field headers
2011-10-18 19:24:56 +00:00
Nathan Gray
b704db187f
List each cf as a separate column when sending to server, apps expect it
2011-10-17 20:40:18 +00:00
Nathan Gray
a8531017bd
Update selected custom fields when column selection changes
2011-10-17 16:43:34 +00:00
Nathan Gray
e100d0ce5f
Get nextmatch-customfields header working
2011-10-14 17:59:57 +00:00
Nathan Gray
5b26a5faed
Get nextmatch header down to one line, hopefully looking a little nicer
2011-10-12 19:06:52 +00:00
Nathan Gray
5cab1f7811
Get filter labels into header
2011-10-12 16:42:22 +00:00
Nathan Gray
d88d25b704
Use namespace for nextmatch so children can get their data in the standard way
2011-10-06 23:10:08 +00:00
Nathan Gray
08f5e28d00
Override getPath() to push nextmatch's ID in
2011-10-06 16:38:51 +00:00
Nathan Gray
dfe5d21ea4
Save as default checkbox - still a problem getting value on server
2011-10-05 16:12:40 +00:00