Commit Graph

145 Commits

Author SHA1 Message Date
Nathan Gray
a325583643 Add some overview of how this stuff fits together 2013-02-15 15:55:23 +00:00
Christian Binder
bd270b4010 fix ignored _onExecute attribute 2012-08-25 14:40:48 +00:00
Christian Binder
98d17d7ca4 removed accidentally found typo and logging 2012-08-14 12:02:47 +00:00
Nathan Gray
5eae11346d If possible, include CSS here. Menu does not really work without it. 2012-06-19 18:55:03 +00:00
Andreas Stöckel
cfa9c190bb Implemented keyboard navigation and data retrival for uids 2012-03-29 14:11:22 +00:00
Andreas Stöckel
3a23d4bb21 Fixed bug with Ctrl-Key no longer working 2012-03-27 13:44:38 +00:00
Klaus Leithoff
988373b6c4 fix bug regarding the positioning of the drag n drop context menu popup 2012-03-16 12:30:52 +00:00
Andreas Stöckel
df36138012 Changed loading order of dhtmlxcommon 2011-09-09 14:50:50 +00:00
Andreas Stöckel
50ad9e4ba0 Included dhtmlx js files in egw_menu_dhtmlx.js, fixed problem with removing action objects, improved egw_include_mgr a bit 2011-09-09 14:03:18 +00:00
Andreas Stöckel
2e9104ecea Added dependencies to the egw_action js files 2011-08-03 14:04:30 +00:00
Andreas Stöckel
10e5735e16 Allowing mutliple action-link groups to be defined for grid entries. These must be comma seperated. 2011-08-02 11:51:58 +00:00
Klaus Leithoff
cae37dab26 if there is only a single event in the action, buffer it into/with a window.setTimeout function call, and wait for the trigger to execute and clean up as it does with multiple actions on a target 2011-07-21 10:50:33 +00:00
Andreas Stöckel
44b8c43e1e Fixed keyboard navigation in treeview 2011-07-03 12:33:18 +00:00
Ralf Becker
03e379e570 * jQuery: changed $ to $j to work around mootools use in Joomla templates and other js code in imported projects
required to change $ --> $j:
phpgwapi/*
jdots/*
etemplate/*
stylite/*
felamimail/*
admin/*
news_admin/*
projectmanager/*
importexport/*
infolog/*
ranking/*

required, but not automatic:
importexport/setup/etemplates.inc.php
phpgwapi/js/jquery/*

negative, not to touch or revert later:
phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php:		'(\$(.+))'            => 'print $1',
phpgwapi/js/dhtmlxtree/libCompiler/core.js
sitemgr/*
phpfreechat/*
gallery/*
activesync/include/smb.php:        '^\tIPC\\\$(.*)[ ]+IPC' => 'skip',
etemplate/inc/class.bo_merge.inc.php: if ($this->table_plugins && preg_match_all('/\\$\\$table\\/([A-Za-z0-9_]+)\\$\\$(.*?)\\$\\$endtable\\$\\$/s',$content,$matches,PREG_SET_ORDER))

find phpgwapi jdots etemplate stylite felamimail admin news_admin projectmanager importexport infolog ranking \
	\( -name '*.php' -o -name '*.js' \) -exec grep -q '\$(' {} \; -print \
	-exec sed -i '' 's|\$(|$j(|g' {} \;
svn revert phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php phpgwapi/js/dhtmlxtree/libCompiler/core.js \
	importexport/setup/etemplates.inc.php phpgwapi/js/jquery/jquery.js etemplate/inc/class.bo_merge.inc.php
	
additional changes:
phpgwapi/js/jquery/jquery.js:	window.$ --> window.$j
phpgwapi/js/egw_json.js:291	this.request = $j.ajax({url: this.url,
jdots/templates/jdots/head.tpl:59			$j(document).ready(function() {
phpgwapi/js/egw_action/egw_grid_view.js: $.browser --> $j.browser
importexport/setup/etemplates.inc.php: etemplate editor importexport.wizard_basic_export_csv.choose_fields onclick of check icon changed
phpgwapi/js/egw_action/tests/*.html
phpgwapi/js/egw_action/tests/js/jquery.js:	window.$ --> window.$j
2011-07-03 09:00:36 +00:00
Andreas Stöckel
a81e83a6e6 Prevented grid from loading all data when it is not visible 2011-06-26 15:44:08 +00:00
Andreas Stöckel
18f6a20df4 Included accidently commented out setTimeout commands again 2011-06-26 15:06:39 +00:00
Andreas Stöckel
44f73628e2 Implemented unregistering ActionImplementations when ActionObject.remove is called, ActionObject.clear now calls 'remove' on all child objects. 2011-06-26 14:57:05 +00:00
Andreas Stöckel
49e6780f07 Shotcuts are now generated on the server side, made key codes class constans 2011-06-25 14:27:30 +00:00
Andreas Stöckel
42e0b10797 Fixed bug with two many prefetch request (also doubles) - a part of this was caused by a wrong parameter sequence for the queueTimeout function, the other part was caused by the 'hasColumn' function not working correctly. 2011-06-25 13:45:46 +00:00
Ralf Becker
ba46b54355 improved exception message 2011-06-24 10:26:46 +00:00
Andreas Stöckel
416ff4787f Fixed bug with SHIFT + Arrow keys not working anymore 2011-06-20 19:25:50 +00:00
Andreas Stöckel
4a1d2cd72c Fixed bug with other jquery drag drop stuff (like sorting apps in the sidebox menu in the stylite template) not working correctly 2011-06-19 11:15:37 +00:00
Andreas Stöckel
bf8437551d Implemented egw_action shortcuts 2011-06-19 10:48:51 +00:00
Andreas Stöckel
f3ccd96f03 Grid and nextmatch aoi now reset the input element focus once a row is clicked 2011-06-16 20:43:33 +00:00
Andreas Stöckel
41c4d4cee4 Enabled toggeling the grid selection with CTRL+A 2011-06-16 17:08:32 +00:00
Andreas Stöckel
1706f0fb22 Added function for removing actionObjects 2011-06-16 17:03:39 +00:00
Andreas Stöckel
28e6ff6920 Implemented executing the default action with the return key 2011-06-16 13:43:46 +00:00
Andreas Stöckel
9db8424e15 Implemented default focusing of objects in the tab manager, added new egw_getAppName function on js side, which returns the name of the currently active application - this is needed for the keyboard handler to pass the key events to the correct application object manager. 2011-06-15 20:54:58 +00:00
Andreas Stöckel
1c600b919d Implemented new selectmode in grid, added grid.setSelectmode method to set the selectmode 2011-06-15 16:31:33 +00:00
Andreas Stöckel
085d8bf07f Fixed problem with column header being displayed on checkbox columns, and always disabling the select-cols menu entry for it 2011-06-15 15:26:46 +00:00
Ralf Becker
47439899a5 propset svn:keywords Id 2011-06-14 12:35:36 +00:00
Andreas Stöckel
2e457e4b75 Added forgotten keymanager unit 2011-06-14 10:13:47 +00:00
Andreas Stöckel
e03d416fda Implemented first version of key-board control over action-objects. For now arrow/page up/down and CTRL-A works.
Known Issues:
- Keyboard navigation in egw_grids (like felamimail) may not work correctly when navigating to not-yet loaded items (current implementation for that is more a hack)
- short-cuts not yet implemented
- not tested in IE, Safari, FF 3.6
- felamimail sometimes loads all/many of the emails you were navigating over
2011-06-12 16:41:40 +00:00
Andreas Stöckel
4477efd6dc Added possibility to add/remove css classes from individual grid view rows 2011-06-03 14:08:49 +00:00
Andreas Stöckel
3a8d1e3227 Fixed problem with double click handler not being bound correctly 2011-06-03 11:21:36 +00:00
Andreas Stöckel
0d66fcd9d1 Executing default action on click on mobile devices 2011-06-02 22:53:23 +00:00
Andreas Stöckel
d02c638ca9 Implemented global action manager and object manager, implemented possibility of adding sub-action-managers 2011-06-02 14:48:03 +00:00
Andreas Stöckel
fc622875d4 Added forgotten aoi file for dhtmlx menus 2011-05-31 20:10:30 +00:00
Andreas Stöckel
36d2f605cb Fixed problem with an container object returning 'true' for 'getAllSelected', even if it has no children. 2011-05-31 17:02:51 +00:00
Andreas Stöckel
2e84fb63e2 added clear function to egwActionObject, reverted change done by klaus leithoff in egw_action.js as it caused serveral problems, fixed problem with no actions being executable when all action objects were selected using the setSelectAll function, added iframeFix to egw_action_dragdrop.js, made draggedOver style working for all tables. 2011-05-28 15:24:31 +00:00
Andreas Stöckel
fbb5551dca Fixed problem with requesting already loaded JS and CSS files, fixed problem with icon height not being updated for table rows in IE 2011-05-22 18:42:23 +00:00
Klaus Leithoff
f7cb239a14 if the list is empty/the action object has no children, we do not consider that as allSelected 2011-05-16 12:05:54 +00:00
Andreas Stöckel
b416719eb8 Fixed issue with drag-onExecute handler not being called 2011-05-07 11:22:23 +00:00
Ralf Becker
fb5ea143be - returning checked state of all checkboxes, not only select_all, in $content[nm][checkboxes]
- $content[nm][select_all] is now only reference to $content[nm][checkboxes][select_all]
- checkboxes need no default onExecute, therefore removed nm_select_all method
- improved documentation for action stuff in nextmatch widget
- added egwAction.getActionsByAttr(_attr, _val) method returning all actions with a given attribute and value
2011-04-27 07:49:46 +00:00
Andreas Stöckel
fcaef1ee58 resolved issues with for-in loop and ie 2011-04-23 09:07:31 +00:00
Andreas Stöckel
f2b739e332 Added additional parameters to the 'enabled' callback (1. the action, 2. an array of action object, 3. the current action object) 2011-04-17 20:27:23 +00:00
Andreas Stöckel
cbf233bccd action type now defaults to 'popup' 2011-04-17 19:10:46 +00:00
Andreas Stöckel
8e9279c7b7 passing new checkbox state to underlying menu implementation after action execution 2011-04-17 17:55:37 +00:00
Andreas Stöckel
7a291d01e8 fixed problem with last commit 2011-04-17 17:51:50 +00:00
Andreas Stöckel
9566b032cf menu now automatically updates checked state 2011-04-17 17:46:09 +00:00
Andreas Stöckel
7ae2588e84 dhtmlxmenu now doesn't autohide after clicking on checkboxes/radiobuttons, click handler can specifiy whether the field should be checked/unchecked 2011-04-17 17:42:04 +00:00
Andreas Stöckel
cb9355ac00 Fixed problems with executeActionImplementation when called from a container object, fixed problem with popup menu which did not open in some cases, added the ability to use the 'enabled' property of an action as an callback function (actionObject is passed as parameter), introduced egwFnct-class which consistently handles 'javaScript:fnct' strings, added 'allowOnMultiple':'only' setting, added 'hint', 'checkbox', 'checked', 'radioGroup' properties to popup actions, added 'setDefaultExecute' function to egwAction objects, which applies an handler to all objects which don't have a handler yet 2011-04-17 15:38:46 +00:00
Andreas Stöckel
c5cd3a354b Fixed serious bug in egw_grid_data.js/egw_grid_common.js which caused prefetching not to work - instead a request was sent for each element. Added possibility to specify an array ids instead of a count for creating a range of egw_grid data elements (see comment for the egwGridDataElement.loadData, fixed bug which caused the 'queued' image to be removed immediately after it was shown. 2011-04-14 20:44:29 +00:00
Andreas Stöckel
6361ee4f4b (Hopefully) fixed a few bugs in the grid: Fixed problem with eventQueue, fixed problem in egwGridViewContainer.getHeight() which caused sorting to break the grid, fixed bug with grid not being generated correctly when being generated in an invisible container. 2011-04-07 19:29:07 +00:00
Andreas Stöckel
ca7dfd3370 Added grid styles to the jerryr template (probably the CSS + the images should be kept in the default theme, but I'm not sure what's the best way to do this), added 'evenQueue' object to grid JS code, which allows you to cancle or postpone JS events connected to it. 2011-04-05 20:23:09 +00:00
Andreas Stöckel
a231863ed3 Implemented grid column sorting 2011-04-01 16:38:31 +00:00
Klaus Leithoff
d7d28e75d5 strip html from caption in selectcols popup 2011-04-01 13:17:48 +00:00
Andreas Stöckel
151da7e0bd Updated code for image overlay on grid entries 2011-04-01 12:49:14 +00:00
Andreas Stöckel
888bbd0051 Added sort header click callback, fixed (minor) bug in column width calculation 2011-03-31 15:04:33 +00:00
Andreas Stöckel
bc25b8a102 Only call the selectCallback once, call it when setAllSelected is called and select the whole row when the checkbox is pre-checked 2011-03-31 12:56:47 +00:00
Andreas Stöckel
b424341afe Added selected change event to grid component, reverted change with drag'n'drop and window.top 2011-03-31 12:17:46 +00:00
Andreas Stöckel
a726d95d0b Fixed bug with grid element position calculation in firefox - firefox uses fractional height values internally but returns them rounded when using offsetHeight - using getComputedStyle when using firefox fixed the issue. 2011-03-30 20:52:02 +00:00
Andreas Stöckel
3111c74eda Fixed selection issues in grid and fixed problem with checkbox data being checked with == and not === 2011-03-30 15:05:58 +00:00
Andreas Stöckel
dde3de5195 Added new column type 'EGW_COL_TYPE_CHECKBOX' 2011-03-30 14:28:49 +00:00
Andreas Stöckel
4b23d7bca2 removed egwGridView_outer margin 2011-03-30 12:28:24 +00:00
Andreas Stöckel
01a50945f5 Fixed bugs with Drag&Drop and IE, improved speed of grid view component by adding an timestamp to the data cells and only updating them if the timestamp has changed 2011-03-25 13:12:24 +00:00
Andreas Stöckel
ded17410ba Added new doTriggerEvent aoi method to grid aoi and fixed bug with scrolling in the grid and dragging 2011-03-24 18:17:27 +00:00
Andreas Stöckel
ba92642c5b Added full drag-drop support to the egw action system 2011-03-24 17:06:44 +00:00
Andreas Stöckel
bbe645ee02 Added data property to egwAction, fixed bug in popup menu group generation 2011-03-23 20:08:33 +00:00
Andreas Stöckel
0b2168e924 Fixed bug in egwActionObject.selectAll function which caused the internal 'selectedChildren' array to be a reference to the children array and resulted in the children array being destroyed. 2011-03-23 14:36:25 +00:00
Andreas Stöckel
e0d40e649b Moved most code of the JS actionManager class to the action object itself, so that every action object might have child object if the action implementation allows that. Added support for sub-actions for actions representet as popup menus 2011-03-23 14:05:39 +00:00
Andreas Stöckel
afcf96a3cd Added egw_grid_columns class which is capable of managing the grid columns of a certain grid and to store, load and merge the user columns data into the default column set 2011-03-22 14:00:03 +00:00
Andreas Stöckel
0f5a354a12 Removed forgotten debug messages, added support for maximum column width to egw_grid_columns.js 2011-03-21 17:27:09 +00:00
Andreas Stöckel
67575e1cd1 Added move and copy multiple files functions to egw_vfs, implemented functions needed to reload subtrees of the egw_grid, fixed problems with data fetching in egw_grid_data.js 2011-03-21 16:12:28 +00:00
Andreas Stöckel
07daeda81e Fixed bugs in the grid component with resizing not working properly and column width being not in sync with header width. This has been done by using a dynamic stylesheet for the column properties instead of changing the properties for each element individually. 2011-03-18 18:04:56 +00:00
Andreas Stöckel
ebd6031ecf Small design improvements, fixed horz. scrollbar in grid with chrome, ie compatibility, enabled column selection, fixed prefetch code 2011-03-16 17:50:25 +00:00
Andreas Stöckel
fa12444ae7 Moved contents of egw_vfs_utils to egw_vfs, added 'egwGridViewFullRow' class to the egw_grid_view.js, which is capable of inserting a data row which spans all columns, added egwGridData.clearData method to egw_grid_data.js, which delets all data stored in the data row 2011-03-15 17:52:08 +00:00
Andreas Stöckel
e7bd5a4813 Modernized grid design a bit, added auto triggering of the default action to the popup action, added simple action-binding to the egwGrid 2011-03-14 20:11:08 +00:00
Andreas Stöckel
ece9ad4047 Removed test rule from the CSS 2011-03-14 12:45:28 +00:00
Andreas Stöckel
ae453db400 Fixed thumbnail generation for application folders, added egw_stylesheet.js, which allows the dynamic generation of a stylsheet. This is now used in the egw_grid_view.js to keep the row caption in the same distance from the icon - depending on the maximum icon width. 2011-03-14 12:42:59 +00:00
Andreas Stöckel
c77069d0af Reduced thumbnail filesize limit in egw_vfs_utils.inc.php which was increased for testing purposes, fixed bug with container position calculation in deeper levels in egw_grid_view.js, which affected inserting new grid rows 2011-03-14 09:36:59 +00:00
Andreas Stöckel
943f369cce Fixed bugs in the grid view js code (changes in the test_grid_view.html are for debugging purposes only), added class.egw_vfs_utils.inc.php which will contain high-level vfs functionality which was previously hidden inside etemplate and the filemanager, such as generating the thumbnail url for a file. 2011-03-13 20:54:16 +00:00
Andreas Stöckel
49909211f1 Added forgotten egw_grid_columns.js 2011-03-11 10:20:01 +00:00
Andreas Stöckel
57aaf6d756 Dynamic loading of content tested and optimized, resolved bugs, implemented support for data trees in the view classes. The whole progess can be seen in the test/test_grid_view.html file. 2011-03-10 20:58:35 +00:00
Andreas Stöckel
c7122b1006 Basic grid functionality including dynamic generation of grid rows is now working in all browsers
and performs quite well (just some non-objective data):

Lines    | IE 7/8     | FF        |  Chrome
---------------------------------------------
1000     | fast       | very fast | very fast
10000    | ok         | fast      | very fast
100000   | still ok   | ok        | fast

(Performance might still be optimized but this does not really help right now).

The code for dynamic data loading has been written but still has to be tested.

Work which still has to be done to have a fully functional grid view:
- Data columns have to be generated correctly
- Displaying trees has to be tested, but should work more or less out-of-the-box due to the design of
  the grid containers
- Client side manipulation of data (sorting/filtering...) - most functionality is already there but not
  yet used (will be tested alongside with the filemanager)
2011-03-09 22:16:41 +00:00
Andreas Stöckel
dd8a8eab45 Implemented framework for dynamically inserting grid rows into the DOM tree and a very simple test for it 2011-03-07 16:53:43 +00:00
Andreas Stöckel
ae7987264e - Added working egw_grid component including test and documentation, codebase will be used to replace the nextmatchWidget in etemplate2
- Improved egw_action.js:
	- Bugfixing regaring handling of egwActionObjects organized in trees (hasn't been tested before)
	- Improved egwActionObjectInterface interface and functionality: AOIs can now mark themselves as invisible/visible and request the action objects to reconnect the action implementations
	- Action objects do now automatically register the action implementations
	- Vastly improved speed when working with huge amounts (> 500) of objects organized in trees (as done in the grid test)
	- Improved egwActionObject functionality: Added new functions regarding selecting groups of objects
2011-03-02 21:18:20 +00:00
Andreas Stöckel
419c2af704 Added toggleSelectAll functions, improved egw_action_popup, tested, fixed some bugs 2011-02-26 20:40:27 +00:00
Andreas Stöckel
9e38d4e030 Added some forgotten files 2011-02-26 19:21:55 +00:00
Andreas Stöckel
1f751b452a Implemented egw_popup_action, tested, got it working with IE 2011-02-26 18:04:28 +00:00
Andreas Stöckel
49770971ce First test with egwActionObjectInterface for a listbox-like representation of egwActionObjects (test_action.html), fixed bugs in egw_action.js which occured during testing. 2011-02-24 21:39:05 +00:00
Andreas Stöckel
53a041c488 Finished implementation of the abstract egwAction interface - now going to test it 2011-02-24 19:00:47 +00:00
Andreas Stöckel
e416c61890 Backup of current development stage 2011-02-24 16:10:11 +00:00
Andreas Stöckel
1866dd1c43 (Hopefully) fixed broken SVN Id tags 2011-02-23 20:18:56 +00:00
Andreas Stöckel
e2c9cd49cc Initial commit of the current JS implementation of the egw_action system, which will later be used to create context sensitive menus and drag and drop capabilities. The egw_menu.js/egw_menu_dhtml.js files are fully functional (see test in the test dir), implementation of egw_action.js has just started and not even a single line of that has been tested yet. 2011-02-23 18:24:16 +00:00