Commit Graph

284 Commits

Author SHA1 Message Date
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
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