Commit Graph

441 Commits

Author SHA1 Message Date
Andreas Stöckel
60a2fd9855 Added calendar module for the client side api, roughly working, needs some further work (currently not shown as popup but at the bottom of the page, months etc. are displayed as 'undefined', year number is screwed up) 2012-03-08 11:29:46 +00:00
Andreas Stöckel
292f18bc1a Window dependant api modules do now get reinstanciated, if the window location changes 2012-03-07 15:20:04 +00:00
Andreas Stöckel
c8bf9ed6ef Fixed design problem in egw_core, which caused window-local modules to be instanciated multiple times if used for multiple applications inside a window. Added egw_css.js as replacement for et2_core_stylesheet.js, which allows to add stylesheet rules at runtime 2012-03-07 14:04:25 +00:00
Andreas Stöckel
d996537c35 Improved error message for exception in JSON plugins 2012-03-06 15:25:27 +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
Ralf Becker
4a88a9558c egw_json plugin "html" replacing document content with send html 2012-03-06 09:50:43 +00:00
Andreas Stöckel
130dc87e83 Concatenated dhtmlxmenu.js and dhtmlxmenu_ext.js to one file, to stop the message 'dhtmlxmenu_ext.js required' 2012-03-06 09:35:54 +00:00
Andreas Stöckel
5f3b572cc9 Changed hash function for egw api instances 2012-03-05 16:05:48 +00:00
Andreas Stöckel
1bc16c1b8e Finished egw json api 2012-03-05 15:02:00 +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
04db17f9e5 Fixed hypothetical problem with certain entries not being updated properly on app instances of egw 2012-03-02 09:02:36 +00:00
Andreas Stöckel
3fdf5fdfd0 Removed unneeded egw_app.js 2012-03-01 16:25:32 +00:00
Andreas Stöckel
1876a5faa1 Splitted the egw object into multiple files, added system for allowing a application specific client-side api (use 'egw' as a function) 2012-03-01 16:24:29 +00:00
Andreas Stöckel
90379afe16 Updated jQuery to version 1.7.1 2012-03-01 12:43:06 +00:00
Nathan Gray
ee98b63c0b Set gantt overflow to auto to hide the scrollbars when not needed. 2011-12-14 17:12:09 +00:00
Nathan Gray
6d17a1a168 Add dhtmlxGantt for gantt charts 2011-11-16 19:31:00 +00:00
Klaus Leithoff
9fad5b84ab * ckeditor/aspell: added check for language availability check on extended dict (Lang_Countrycode) first, then fall back to lang -> e.g.: check on en_GB, if not available try using en 2011-11-16 09:15:41 +00:00
Nathan Gray
f8489c0ed1 Update jqplot to
jquery.jqplot.1.0.0b2_r947
2011-11-07 20:37:55 +00:00
Klaus Leithoff
d844dcdbd5 * API: updating CKEDITOR to version 3.6.2, altering editor modes and availability of toolbar options 2011-10-28 09:12:40 +00:00
Nathan Gray
390bb1f6f0 Get all button images working (in timesheet & infolog list at least) 2011-09-22 21:23:30 +00:00
Nathan Gray
4a3c3cf659 Add fallback handling using typeof when input.constructor fails 2011-09-19 23:19:16 +00:00
Ralf Becker
cea61e2436 fixed typo stalling mail notifications 2011-09-16 16:11:05 +00:00
Ralf Becker
859f83bf39 if nothing left in queue, stop interval-timer to give browser a rest 2011-09-14 14:22:38 +00:00
Ralf Becker
77f2a043fc local caching and queueing of egw.link_title() requests 2011-09-13 19:55:06 +00:00
Ralf Becker
5cadd29d58 Basic egw.link_title(_app,_id,_callback,_context) method.
Plan is to run a clientside cache and own queue for link_titles, as server can query titles for N id's for a given app more effiently then N separeate queries.
2011-09-13 18:23:43 +00:00
Ralf Becker
516b977472 ability to queue ajax requests on the client and send them as a single ajax request every N ms to the server
a) instead of a single request like: new egw_json_request(menuaction, params).sendRequest(true, callback, context); 
b) you call: egw.jsonq(menuaction,params,callback,context)
The server callback is identical for both kinds of requests. All egw_json_response methods can be used and the callback is optional.
2011-09-13 17:27:02 +00:00
Ralf Becker
387be881ee egw.link(_url, _vars) method and using it for JS event handler 2011-09-09 19:41:09 +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
Ralf Becker
ea03c4032b implemented link attributes for image-widget and added them to xulio, some docu for describtion 2011-09-08 20:44:53 +00:00
Nathan Gray
6585ff14e6 Add a place for egroupware to tap into file request before it's sent 2011-09-08 20:32:58 +00:00
Ralf Becker
008f009d80 - implemented new egw.link_app_list(_must_support) and egw.link_get_registry(_app, _name) methodes
- using egw.link_app_list('query') in link widget (no need to transfer it additonally)
- added some more docu to egw object
2011-09-08 12:24:53 +00:00
Nathan Gray
65a37234c4 Add some jquery resources - CSS and icons. 2011-09-07 23:32:03 +00:00
Nathan Gray
8875c94c24 Async file uploads 2011-09-01 22:07:30 +00:00
Ralf Becker
046c0919cc make basic data of current user available via egw.user(_field) 2011-08-31 12:17:34 +00:00
Ralf Becker
1e7b17203f - if image not found, check if it might contain extension and try without (better is not to use extension at all!)
- changed default to current app as in API, but it is not yet working, because egw object runs in framework for jdots :-(
2011-08-31 06:26:05 +00:00
Ralf Becker
ea7ad6318d new clientside image-name to url map: egw.image(_name, _app="phpgwapi")
eg. egw.image('favicon') returns '/egroupware/phpgwapi/templates/default/favicon.ico'
--> pondon to serverside common::image($app,$name) method
2011-08-30 22:19:38 +00:00
Andreas Stöckel
0bb328dc6d Initializing configs variable with empty object, to have code running standalone 2011-08-30 09:15:00 +00:00
Nathan Gray
331cd20bf3 Add base64 functions for communciationg with felamimail 2011-08-29 21:14:09 +00:00
Ralf Becker
4c23b3766e egw API update missed in r36331:
- sending EGroupware configuration (non-sensible stuff) to browser and make it available via egw.config(_name, _app="phpgwapi")
- sending link-registry in the same file
- used javascript file uses etag to ensure there's no need to load it on each request
2011-08-28 08:28:53 +00:00
Ralf Becker
a925764fc4 - dynamical (synchronious) loading preferences (other then "common") from server via egw.preference(_name, _app)
- setting preferences on server via egw.set_preference(_app, _name, _value)
- enable calling of active framework / template class via using egw_framework instead of not known used framework class of user, eg. "home.egw_framework.ajax_func.template" instead of "home.idots_framework.ajax_func.template"
2011-08-26 09:34:18 +00:00
Ralf Becker
d295c17e90 fix for community.egroupware.org bug #3027: Open item in element list no longer working 2011-08-26 07:31:18 +00:00
Andreas Stöckel
55bf8f9570 additional check for existance of application in lang array 2011-08-23 17:11:45 +00:00
Ralf Becker
16c6a8d4f9 got clientside translations working for etemplate2 apps: egw.lang("%1 timesheet(s) %2", 5, egw.lang("deleted")) 2011-08-23 16:15:54 +00:00
Ralf Becker
24e34f7927 new clientside API object currently supporting the following methods:
- egw.preferences(_name, _app='common') return preference _name of _app (only common prefs loaded currently)
- egw.open() allowing to open app-entries utilising the link registry, deprecating egw_open from jsapi.js
- egw.lang(_msg, _arg1, ..., _argN) placeholders are not yet implemented
2011-08-23 14:29:56 +00:00
Nathan Gray
1761ea02db Add in jquery.tools form tools 2011-08-17 21:35:22 +00:00
Andreas Stöckel
c999373490 Added possibility for egw_json plugins to be executed in the context of the creator of the request object 2011-08-15 14:26:37 +00:00
Nathan Gray
a30b864ddd Add jqplot for graphing 2011-08-09 23:10:50 +00:00
Andreas Stöckel
2e9104ecea Added dependencies to the egw_action js files 2011-08-03 14:04:30 +00:00
Ralf Becker
04e032e7af fixed problem "found" on www.autosectools.com 2011-08-03 08:29:53 +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
09963248f1 * API: upgrade ck editor from v3.3.1 to v3.6.1 (latest release as of June 2011) 2011-08-01 11:48:47 +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
Ralf Becker
8e83e41263 - improved mobile template: calendar & email sidebox is showing now, removed most of the former css hidden stuff
- fixes jscalendar to work will in sliding sidebox
2011-07-09 16:35:18 +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
ea6b823bd4 additional parameters _replace and _with for egw_refresh to modify the url, fixed not working update of existing msg parameter 2011-06-24 14:11:37 +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
49ece38c6c Don't send a location header if we currently handle an ajax response/request - use the corresponding json function instead. Doing this on the server side is neccessary as the location header is one of the few ones which is handled by the browser before any XMLHttpRequest event is fired (according to W3C specification) 2011-06-11 21:27:15 +00:00
Ralf Becker
ed8c386a12 using egw_refresh to allow fmail to ignore the saved/deleted message 2011-06-06 15:11:25 +00:00
Ralf Becker
f8d2bd1e6b - introduced preference of type "color"
- modernized color picker a litle to give a visual feedback of the color
2011-06-04 09:30:46 +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
Ralf Becker
2bba68b575 nicer workaround 2011-06-03 10:14:12 +00:00
Ralf Becker
310b22c172 * workaround for Fennec bug https://bugzilla.mozilla.org/show_bug.cgi?format=multiple&id=648250 window.(outerHeight|outerWidth|screenX|screenY) throw exception 2011-06-03 09:50:27 +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
Ralf Becker
423a1d9303 new method egw_appWindowOpen(app,url) 2011-06-02 12:37:49 +00:00
Ralf Becker
47e2764da0 new javascript method egw_open() to open egw_entries using there registered url and popup sizes from the link registry 2011-06-02 11:13:41 +00:00
Andreas Stöckel
9eb51b8b74 Removed accidently commited debug message 2011-05-31 20:12:51 +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
Nathan Gray
19dd8d19bd Send ajax errors to console.error instead of alert 2011-05-10 14:49:25 +00:00
Andreas Stöckel
3906423d4a Fixed problem with context menu opening into the wrong direction if a vertical scrollbar is available. Notified developers. 2011-05-08 19:57:01 +00:00
Andreas Stöckel
b416719eb8 Fixed issue with drag-onExecute handler not being called 2011-05-07 11:22:23 +00:00
Andreas Stöckel
2f99f7ff79 Fixed problem with dhtmlxMenu overflowing at the top in windows with scroll bars - notified the developers, so this fix is most likely to be included in the next dhtmlxmenu release 2011-05-07 10:32:31 +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
Ralf Becker
af75f60ff4 fixed IE(8) javascript error: "null" is null or not an object 2011-04-24 12:40:06 +00:00
Andreas Stöckel
eab7a5fdcc Fixed issue with menu overflowing on the top 2011-04-23 09:24:11 +00:00