Commit Graph

448 Commits

Author SHA1 Message Date
Andreas Stöckel
3ecb7a4eec Added 'langRequire' function which allows to load translations during runtime 2012-03-13 16:05:52 +00:00
Nathan Gray
1d74169848 Add time picker popup 2012-03-12 21:20:46 +00:00
Nathan Gray
da10c03762 Use window's jQuery to make it work 2012-03-12 17:26:33 +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
36314a077e Fixed bug with etemplate2 not working properly especially in idots: JS files only get included if they really have not already been included; egw object gets included before 'lang' in idots 2012-03-12 09:20:24 +00:00
Nathan Gray
f512d1efae Move calendar icon inside input box 2012-03-09 18:46:29 +00:00
Andreas Stöckel
d486e50a57 phpgwapi:
* Changed way of how "webserverUrl" gets set - any type of data can now be
	  injected into the egw object by creating an object with the data and an
	  entry "prefsOnly" set to true. This allows to ensure, that "webserverUrl"
	  is the first thing that is being set in the egw object (as needed when
	  including new JS/CSS files at runtime)

jsapi:
	* Fixed including JS/CSS files at runtime in other windows than the root
	  window
	* Added "ready" function/module, which provides an alternative to the
	  $j("ready") function. The ready module provides the functionality to
	  postpone calling the "ready" until certain events happened.
	* using jQuery calendar object instead of jscalendar in the calendar
	  function.
	* added "jquery" module which takes care of including all jQuery modules
	  in all windows
	* added possibility for modules to update constants using the "constant"
	  function.
	* added possibility for modules to access certain other modules using
	  the "module" function

etemplate:
	* Using new egw(window).ready function to build the template first if
	  loading has finished.
2012-03-09 15:32:29 +00:00
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