Commit Graph

374 Commits

Author SHA1 Message Date
Nathan Gray
868c41643c Only expire old data if there are no registered callbacks 2013-04-11 10:22:51 +00:00
Nathan Gray
8834d86818 Give a trace on all logs if debug level is 5 to help track things down 2013-04-10 14:14:06 +00:00
Ralf Becker
26f54eb8ce fixed error if get parameter has no equal sign, eg. /some/url?download 2013-04-09 16:17:43 +00:00
Ralf Becker
ff7cf9ff17 propset svn:keywords Id 2013-04-09 12:10:48 +00:00
Nathan Gray
a0d18dc8fb Fix properties 2013-04-09 12:10:09 +00:00
Nathan Gray
f3209731f3 Add inheritance stuff 2013-04-09 12:08:44 +00:00
Nathan Gray
978a90852c Add a base object for application javascript code to contain it, and solve initialization timing issues 2013-04-09 08:45:59 +00:00
Nathan Gray
8e66bc33bf Fix error in window module instanciation 2013-04-01 19:06:47 +00:00
Nathan Gray
19aef757f6 Use window from egw object, if available - still not quite right 2013-03-25 16:58:33 +00:00
Nathan Gray
e685a222dc Avoid JSON error popup by checking for the queue before using it 2013-03-13 19:31:06 +00:00
Klaus Leithoff
9b0623ff3a fix typo/copy and past error on dataGetUIDdata 2013-03-04 16:25:39 +00:00
Nathan Gray
9616e44aff Add ability to get all an application's preferences with '*' 2013-02-27 18:08:03 +00:00
Nathan Gray
987af6b473 Pass along internal lastModification time, and use it 2013-02-27 18:00:15 +00:00
Ralf Becker
139c12821a added method to access data: egw().dataGetUiddata(_uid) 2013-02-27 12:41:19 +00:00
Ralf Becker
52ea94cbee using LABjs to load javascript files in order via egw.includeJS 2013-02-15 15:30:35 +00:00
Nathan Gray
a3647e1b00 Implement refreshing a single UID, limit known UIDs sent to server to 200 2013-02-14 11:22:27 +00:00
Nathan Gray
547d125a30 Check app_refresh to not get an error if an application overrides app_refresh() instead of using register_app_refresh() 2013-02-14 11:11:17 +00:00
Nathan Gray
588c6141c9 Return true to not throw an exception if the plugin worked 2013-02-14 11:01:50 +00:00
Ralf Becker
90370bc387 tracking state of existing script tags and allow to specify multiple callbacks for loading of javascript files 2013-02-13 16:26:42 +00:00
Nathan Gray
33e94d355c Fix app_refresh to support applications that set window.app_refresh instead of calling register_app_refresh() 2013-02-13 12:47:17 +00:00
Nathan Gray
f2fc558e19 - Add static methods to get into etemplate2 widget context from outside. Call etemplate2.getByApplication(app) or etemplate2.getByTemplate(name) for a list of etemplate2 objects
- Add register_app_refresh() function to allow applications to specify a more intelligent way to refresh them
- Change egw_refresh() to call registered refresh function, or if etemplate2 is available try that over reloading the whole page
2013-02-12 15:46:14 +00:00
Nathan Gray
5513df1277 Fix bug in link handling that lost extra vars when extra vars are already in url 2013-02-06 15:04:26 +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
cfa0b7277a Fix for IE overflow from Anthony Messina 2013-01-17 23:29:14 +00:00
Nathan Gray
6c03b0ec39 Try to avoid conflicts between framework's egw_appWindow() & jsapi's egw_appWindow() 2012-12-12 19:45:27 +00:00
Nathan Gray
74931d30a9 Return the result of opening so caller can use it 2012-12-04 00:13:12 +00:00
Nathan Gray
713a78dc96 Add a new debug level that includes a stack trace 2012-12-04 00:12:13 +00:00
Nathan Gray
2ea64a658b Better handling of different hights & open up vs down 2012-11-27 21:32:53 +00:00
Nathan Gray
f72a582532 Use chosen plugin for to get fancy selectboxes. Selectboxes with more than 12 options get it turned on automatically 2012-11-12 19:29:23 +00:00
Nathan Gray
234832d1f0 Make sure lang 'array' is not a real array - that means it's empty, and will return 0 for missing translations. It is supposed to be an object. 2012-06-12 18:47:42 +00:00
Nathan Gray
71456ff8ef Force nextmatch to load affected rows by clearing the data from data store 2012-06-06 21:56:18 +00:00
Frédéric Erpicum
e2cb9b44e7 resolve problems in opening windows for viewing or editing in projectmanager 2012-05-17 09:26:25 +00:00
Klaus Leithoff
e49c5850e5 fix for IE8 using method indexOf as key while iterating over trans 2012-05-09 14:49:24 +00:00
Nathan Gray
55ad5a320b Open in new window if target is not specified 2012-04-25 16:23:27 +00:00
Ralf Becker
dd410d49fb fixed javascript error stalling everything: et2_csvSplit is not yet defined, thought I dont understand why this is needed here anyway: using _name.split("/",2) 2012-04-05 07:38:07 +00:00
Nathan Gray
df2ba7ddd6 Get images named like appname/imagename working again for images outside current app 2012-04-04 19:37:17 +00:00
Nathan Gray
08cb4581ee egw_open wants the whole registry 2012-04-04 19:17:07 +00:00
Nathan Gray
6e103c4c1b Get images named like appname/imagename working again 2012-04-04 19:16:19 +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
0ae151e638 Got selection working; only problem left with popup menus is, that entries don't get focused on rightclick 2012-03-28 15:36:17 +00:00
Ralf Becker
b55250b81a encoding and decoding of vfs special characters 2012-03-28 13:58:18 +00:00
Ralf Becker
2f62d7e3b5 allow to set target in mime-registry: need target _self (instead default _blank) for directories opened in filemanager 2012-03-28 13:01:37 +00:00
Ralf Becker
2630a39651 moved egw_links.js window contect specific parts to egw_open.js: egw().open() and egw().open_link() renamed from egw().call_link() 2012-03-28 12:37:03 +00:00
Ralf Becker
fbdb8f3c55 mime_icon method for vfs-mime widget 2012-03-28 08:10:57 +00:00
Nathan Gray
257f823773 Fix handling of file url for vfs 2012-03-26 23:27:09 +00:00
Nathan Gray
3aa8e64f73 Give a warning & return if you try to translate an object 2012-03-26 23:24:56 +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
Andreas Stöckel
7f57f28f38 Deactivated last commit (slow because pending requests are ignored), lastModification is now set per app in the model 2012-03-23 16:38:08 +00:00
Andreas Stöckel
eadeb57f28 Fixed problem with registered data callbacks, when the window the callback belongs to is closed 2012-03-23 13:39:27 +00:00
Andreas Stöckel
b134b36678 fixed some issues with egw_data, improved egw_json exception handling 2012-03-23 12:45:13 +00:00
Andreas Stöckel
23f221456f Fixed problem with IE, adapted egw_data.js to specification changes 2012-03-23 12:06:52 +00:00
Ralf Becker
2e8d60d5a0 reorganized egw.link methods to call each other (and not dublicate code), using mime-registry to open files, todo: special download url of eg. filesystem stream wrapper 2012-03-21 16:02:50 +00:00
Ralf Becker
514375e2b6 knowUids instead of knowRanges, widgetId and some docu changes 2012-03-20 12:37:45 +00:00
Andreas Stöckel
a45f2d5c69 Commited egw_data.js 2012-03-20 12:05:31 +00:00
Ralf Becker
f74b8264a2 propset svn:keywords Id 2012-03-15 08:38:01 +00:00
Ralf Becker
94f1c840d0 add custom translations 2012-03-14 12:11:19 +00:00
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
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
Nathan Gray
390bb1f6f0 Get all button images working (in timesheet & infolog list at least) 2011-09-22 21:23:30 +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
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
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
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
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
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
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
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
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
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
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
e19cc44fcb Removed base64-encoding from egw_instant_load.html, added code to egw_json which inserts script tags seperately when content is assigned to the innerHTML property 2011-03-17 18:00:24 +00:00
Andreas Stöckel
0d88ac8799 Reversed most changes made for egw-stylite #8295, commited changes proposed by Ingo Ratsdorf in egroupware.org #2834, probably fixes egroupware.org #2831 2011-02-04 14:28:12 +00:00
Andreas Stöckel
0f0e57f398 Got remote applications in the jdots template finally working as they should - this unfortunately required a lot of 'dirty' hacks, as egroupware had not been designed to do this. So e.g. there had to be a litte bit code added to the login page, which prevented it from redirecting to a page with a full framework rebuild. 2011-01-20 14:11:47 +00:00
Ralf Becker
ccfa98ff9f new method to refresh an egroupware applications view, with the possibility for the application to overwrite the default handing of reloading everything 2010-12-28 03:02:49 +00:00
Klaus Leithoff
6476c7af39 allow upper case window names too 2010-11-22 14:47:10 +00:00
Ralf Becker
e68255167e IE fails, if windows name in egw_openWindowCentered2 contains something no a letter, number or underscore --> removing it 2010-11-17 12:31:13 +00:00
Andreas Stöckel
b5e33eab09 - Fixed etemplate input dirty handling
- Now generating an widget object tree in widget.js
- Added generic response to egw_json
- Moved "getFramework" function to jsapi and renamed it to "egw_getFramework"
- Added plugin system to egw_json
- Transformed the jQuery "replaceWith" call form class.etemplate_form.inc.php into an own json plugin
- Fixed label creation for et_html
2010-07-08 12:03:13 +00:00
Andreas Stöckel
0867ed78d8 Added missing console.info dummy function 2010-07-01 13:52:55 +00:00
Andreas Stöckel
7520c468c7 Moved egw_seperateJavaScript to jsapi 2010-06-22 14:39:27 +00:00
Klaus Leithoff
4795658fec for egw_openWindowCentered return a WindowID by default 2010-06-11 12:31:29 +00:00
Andreas Stöckel
4b108026c6 Fixed problem with generation of numerical indices in _egw_json_getFormValue, using the new global parameter of egw_json_response.redirect in json.php 2010-06-11 10:23:13 +00:00
Ralf Becker
bcdc505f5a returning something, replaces whole window in FF, if used in link as "javascript:egw_openWindowCentered2()" 2010-06-10 17:26:00 +00:00
Andreas Stöckel
de5c558015 Fixed errors with non-defined "tree" element in xajax responses in felamimail 2010-06-09 14:41:53 +00:00
Andreas Stöckel
718264c6e7 Added egw_appWindow funtion to jsapi 2010-06-04 12:16:13 +00:00
Klaus Leithoff
c93b76987a enable create of recurreence for weekdays only for recur_type weekly (conditional enabling/disabling weekday selection area) provided by andreas stoeckel 2010-04-16 13:24:58 +00:00
Nathan Gray
af9df0faf4 Fix for possibly undefined variable 2010-03-26 16:47:31 +00:00
Klaus Leithoff
3ac8b33231 move the ie dropdown menu hack to jsapi, make it an preference, so you can switch it off, if it does not work for you 2010-02-12 09:04:44 +00:00
Ralf Becker
a81931ca08 removed not used javascript files 2009-07-07 09:58:20 +00:00
Cornelius Weiß
70e9f4f0bc remove never used spechial ie javascript 2006-10-27 10:05:31 +00:00
Lars Kneschke
99b3049254 removed the unneded 5th parameter 2005-11-20 14:19:29 +00:00
Ralf Becker
8591e3ce8b egw_openWindowCentered2, which allows to specify if you need a status-line or not 2005-10-24 07:29:12 +00:00
Lars Kneschke
4114f10419 added some more useful functions
the IE part still needs some work
2005-08-28 20:32:15 +00:00
viniciuscb
14f993f248 Addition of some javascript files, for functionalities explained earlier. 2005-06-18 22:09:31 +00:00