Ralf Becker
998d568ef4
for egw.json calls in a popup we need to use jQuery object of that window, as otherwise eg. apply from server with app.$app.method to run in main window instead of popup
2013-10-18 16:14:36 +00:00
Nathan Gray
129eb91b3d
Null is also not OK for icon
2013-10-10 16:15:46 +00:00
Klaus Leithoff
43d73abbcd
test if the required method is available on framework
2013-10-10 15:38:18 +00:00
Ralf Becker
24e3fb2e63
fix "Got invalid title request, by NOT sending empty requests" warnings
2013-10-10 10:49:41 +00:00
Nathan Gray
e0954288dd
Switch to a heartbeat style of tracking open [named] popups. Seems much more consistent.
2013-10-10 09:37:21 +00:00
Ralf Becker
bafcc80e35
fixed translations not loaded on very first request, as postponing ready for waiting on translations did not work, now using a direct callback instead
2013-10-08 08:55:15 +00:00
Ralf Becker
0bb8093426
fixed translations on client-side: server sends now currentapp and langRequire to client, which uses that to translate phrases, langRequire is only stored in egw object for matching app-name and window!
2013-10-07 17:00:03 +00:00
Ralf Becker
a6311fa1a3
creating and using an app-specific egw object
2013-10-07 16:53:13 +00:00
Nathan Gray
746e6ea193
Also accept just the window name to windowClosed(), as sometimes window.name is not available anymore.
2013-10-07 11:20:47 +00:00
Nathan Gray
57c412bd47
Slightly more robust popup handling.
...
It's still not possible to completely track them, but it's a little better.
2013-10-07 10:09:08 +00:00
Nathan Gray
3ca2448f94
Make storage api global
2013-10-07 10:08:24 +00:00
Ralf Becker
43e1bfcc12
switching on Content-Security-Policy: script-src 'self' 'unsafe-eval' for all templates, old non-et2 apps can call egw_framework::csp_script_src_attrs('unsafe-inline') to enable inline scripts in their scope, et2 does it for CK editor which does not support CSP currently and old etemplate does it for all apps using it
2013-10-05 13:33:28 +00:00
Nathan Gray
8a7ffaa182
Restore accidentally removed return of popup window
2013-10-05 09:38:22 +00:00
Nathan Gray
893648e189
Add the ability to track named popups opened using egw.open() or egw.open_link(). Unnamed popups or those opened in other ways are not tracked. You can get the list using egw.getOpenWindows(app, regex_filter), which returns a list of names.
...
Also, a wrapper around session storage.
2013-10-05 09:28:12 +00:00
Nathan Gray
282fb76cb6
Improve error message
2013-10-04 09:40:35 +00:00
Ralf Becker
2f39c7b4dd
fixed not working preferences under idots template
2013-10-03 15:54:19 +00:00
Ralf Becker
66db293a67
missing commit for new preferences
2013-10-03 15:17:14 +00:00
Ralf Becker
6f162f144e
add context sensitive link to ACL/grant access to top-menu, same is to be happen for cats and preferences itself and preferences in sidebox will be removed
2013-10-02 16:29:08 +00:00
Nathan Gray
756b3d3380
Fix app-level redirect affects whole page
2013-09-30 12:34:45 +00:00
Nathan Gray
07b311d495
Enhance error message to actually include the original error message
2013-09-17 20:17:20 +00:00
Nathan Gray
68b1178657
Undefined needs quotes.
2013-09-16 14:35:55 +00:00
Nathan Gray
b4007621f7
When applying (call a function) call it on the request window, not current - they may be different
2013-09-11 15:52:49 +00:00
Nathan Gray
958167b0f7
Add an optional async parameter to sendRequest() to make simple async calls easier
2013-09-10 20:22:47 +00:00
Ralf Becker
1590d02816
new egw_framework::message($msg, $msg_type="success") method and fixing nextmatch filter-change to return app-header
2013-09-05 11:53:25 +00:00
Nathan Gray
eef2235f2e
Merge egw_jsons - change jsonq to use egw.json()
2013-09-04 22:01:33 +00:00
Nathan Gray
467734258c
Merge egw_jsons - change preferences to use egw.json()
2013-09-04 21:51:08 +00:00
Ralf Becker
1f8e0e9e41
global method egw_message(_msg, _type) to display success-, warning- or error-messages in app-header
2013-09-04 19:02:34 +00:00
Ralf Becker
e2cce43bad
fixed not working _self target
2013-09-02 13:25:00 +00:00
Ralf Becker
ccab8e0ac1
fix alert("1"), caused by data-window-close being a string
2013-08-27 16:49:57 +00:00
Ralf Becker
aa8a848871
optional parameter for egw_framework::window_close() to specify an alert message, which get shown/alerted, before closing the window
2013-08-26 10:24:11 +00:00
Nathan Gray
1d9589db99
If et2 object changes, we need the new one, not reject.
2013-08-20 23:20:56 +00:00
Nathan Gray
dca0c40418
Promote some useful common functionality to the app.js parent class
2013-08-20 19:20:10 +00:00
Nathan Gray
dba3bcc2aa
Update timepicker, some work on date-timeonly so it returns a value
2013-08-20 18:37:09 +00:00
Ralf Becker
b5ca4ac505
fixed jdots/Stylite template to contain no more inline scripts
2013-08-20 18:01:49 +00:00
Ralf Becker
73aa652c41
missing egw.js from last commit and egw_framework::window_focus() method
2013-08-20 13:25:36 +00:00
Ralf Becker
8b8faba28c
some docu and jsdoc tags to show the outline
2013-08-20 07:06:59 +00:00
Ralf Becker
cf25e7bae0
get Eclipse to display outline
2013-08-16 09:16:40 +00:00
Ralf Becker
118657ddee
using etemplate_new::ajax_proecess_content to allow to have etemplate still extend etemplate_old, making etemplate_new autoloadable
2013-08-06 18:24:30 +00:00
Ralf Becker
3afd9aaa18
check if quick-add selectbox is alread there, only create it again if not
2013-08-01 09:54:09 +00:00
Ralf Becker
16191d4db4
rendering quick-add menu on clientside and content-security safe, thought not yet in idots template, also removed not used inline javascript from idots
2013-07-22 19:20:13 +00:00
Nathan Gray
cd64ef06dc
Fix copy/paste error initializing app.js object
2013-07-20 14:16:21 +00:00
Nathan Gray
d4880a3351
Load & parse etemplate2 if set in egw.js object's data-attributes
2013-07-20 13:42:23 +00:00
Nathan Gray
26e9792256
Load javascript files before processing other response types, so all JS is available.
2013-07-20 13:41:17 +00:00
Ralf Becker
0d7c5455df
fixed wrong dependency
2013-07-19 15:22:54 +00:00
Ralf Becker
70c56ebab6
one more missing debug
2013-07-19 15:22:37 +00:00
Ralf Becker
d16c426fb6
first step towards content-security by passing parameters to egw.js script via data-attributes of script tag instead of using inline scripts in page
2013-07-19 08:45:26 +00:00
Ralf Becker
792f1b26cc
replacing egw.LAB with egw_LAB, as egw object is shared by all iframes and popups, while LAB has to work on document
2013-07-17 12:47:21 +00:00
Nathan Gray
744345d751
Change egw.open() (which accepts _blank, _self, etc. as targets) to not pass invalid parameters to egw_link_handler() (which only accepts app names).
2013-07-15 16:03:37 +00:00
Nathan Gray
44e96714af
Fix adding distribution list (& maybe some other link issues) by looking for framework's link handler in open_link()
2013-06-12 17:04:42 +00:00
Nathan Gray
04fd3b82a9
If egw_link_handler() is defined, use that instead of window.open()
2013-06-12 16:56:12 +00:00
Nathan Gray
3300e82b27
Implement queue when setting preferences
2013-06-11 22:48:27 +00:00
Nathan Gray
b2cb70f15f
Use egw.LAB object if available
2013-04-12 16:30:30 +00:00
Ralf Becker
34a2f8c6e0
support for non-global func eg. "app.someapp.func" need to be in both egw_json objects (until we fix it so one calls the other)
2013-04-12 16:03:45 +00:00
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