Commit Graph

250 Commits

Author SHA1 Message Date
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
Nathan Gray
a9b4bfdaba Move column selection popup to nextmatch 2011-10-04 21:45:54 +00:00
Nathan Gray
4c593038b0 Update nm query when column selection changes, re-query only when columns added 2011-10-03 17:14:17 +00:00
Nathan Gray
43e75da558 Start of column resizing. Works OK in chrome, FF needs some work. 2011-09-29 22:57:42 +00:00
Nathan Gray
c956d6571b Column selection using default or preference 2011-09-29 19:35:20 +00:00
Nathan Gray
a1d344077e Set current column filter values 2011-09-27 23:16:54 +00:00
Nathan Gray
36c39cf4b8 Get filterheaders working 2011-09-27 17:58:10 +00:00
Nathan Gray
4e8fe1bb2c Layout & some functionallity for nm header 2011-09-27 00:16:00 +00:00
Nathan Gray
c5237863c2 Get filter options into nm header 2011-09-26 19:11:01 +00:00
Nathan Gray
29501fc027 Add set_value() so selectbox can show current value 2011-09-26 16:01:42 +00:00
Nathan Gray
0ace096701 Start nextmatch header 2011-09-23 19:09:52 +00:00
Ralf Becker
ad99ce981f getting server supplied actions working, thought actions submitting the form do not yet work 2011-09-14 14:25:09 +00:00
Andreas Stöckel
2290b04102 Loading data from server in nextmatch widget - readonlys is not processed as it is not so easy to handle 2011-09-09 14:32:55 +00:00
Andreas Stöckel
58bc3367df Implemented server-side callback function 2011-09-09 11:29:07 +00:00
Andreas Stöckel
45d02dfeb9 Fixed dataview dependencies and got nextmatch-widget load in timesheet.index 2011-09-09 09:57:59 +00:00
Andreas Stöckel
87c0db7be1 Fixed correct expanding of names and implemented the dataProvider class 2011-09-08 18:36:09 +00:00
Andreas Stöckel
d037187234 Added code for creating widget-rows in the dataview 2011-09-05 14:35:28 +00:00
Andreas Stöckel
7457315ea4 Fixed problem with calculated values diverging from actual height values 2011-09-02 16:15:57 +00:00
Andreas Stöckel
035a4d369f First version of the dataview which does... well... 'something' at least (currently shows dummy rows with non-etemplate content) Need to cleanup code and test auto hiding of rows (code is actually there) 2011-08-31 15:39:24 +00:00
Andreas Stöckel
5c4c175ce2 Checked IE compatibility; dataview columns now resizes correctly; removed event code from etemplate2.js, use interfaces instead (as done with the 'resize' event) 2011-08-26 09:58:25 +00:00
Andreas Stöckel
4114068cb3 Added et2_extension_nextmatch_dynheight.js which cares about resizing a div to the maximum possible height - this is needed because the new grid has to be explicitily sized to a given width and height 2011-08-25 15:54:15 +00:00
Andreas Stöckel
ec5b162bfa Moved et2 core interfaces to own file; implemented Class.free which cares about calling 'destroy', removing all references the object may hold and rendering the object unusable after 'free' has been called; added 'getMem_freeMem_trace' which helps hunting down memory leaks with objects derriving from Class; added first implementation of the nextmatch widget - currently does nothing else but rendering the header and clicking on the nextmatch_sortheader labels 2011-08-25 13:35:53 +00:00