Commit Graph

548 Commits

Author SHA1 Message Date
Ralf Becker
2a34b88111 fixed not working referesh of ACL list 2014-03-12 13:14:23 +00:00
Ralf Becker
086195c0aa stop event propagation after calling setState, fixes "double sidebox" in CRM view, if called via a favorite (caused 2 identical requests to server, which both added their sidebox) 2014-03-11 08:16:52 +00:00
Hadi Nategh
96a6a7ee1a Adjust width for resized popup windows, since we are trying to use fix width for edit popups 2014-03-10 16:04:01 +00:00
Ralf Becker
79e1b5c9b8 fixed CSP error for multiple eTemplate2s (CRM view), by allways sending etemplate data via et2_container tag (instead etemplate script tag) and create an et2 object for all of them in egw.js 2014-03-10 11:58:49 +00:00
Nathan Gray
e9b5dfde4d Bind key handler to save favorite on Enter 2014-03-03 18:51:58 +00:00
Ralf Becker
11d77f3dab fixed a couple of problems with automatic switch to idots template from mobile browsers: csp-error, wrong icons 2014-03-03 17:35:48 +00:00
Ralf Becker
1ae9925cd5 removed .on("mouse(enter|leave)" (wrapping trash icon), as it stalls delete of favorites in IE11 2014-02-26 15:44:00 +00:00
Ralf Becker
b4a0a18de6 fixing wired IE11 errors ... 2014-02-25 17:16:42 +00:00
Ralf Becker
81818d2bbd fixing wired IE errors: need to clone data in set_preferences, as it gets cleaned up in IE 2014-02-25 17:05:16 +00:00
Nathan Gray
4591fa6e21 Fix TypeError: Cannot call method 'css' of undefined
Fixes blank infolog popup, timesheet index
2014-02-25 16:31:06 +00:00
Ralf Becker
e5aa97e2a0 fix IDE warnings 2014-02-25 16:03:12 +00:00
Ralf Becker
8181772025 do NOT initialise imediatly, as DOM is not yet ready (at least in IE11) 2014-02-25 16:02:46 +00:00
Ralf Becker
308dfdadc7 allow to already use egw.refresh() instead of egw_refresh() and added todo to move code 2014-02-25 09:46:05 +00:00
Ralf Becker
2f3add4ce9 hook to allow apps to add addional domains to CSP frame-src, eg. used by sitemgr to allow access to its sites, also fixed not displayed sidebox menu of old apps 2014-02-21 17:06:11 +00:00
Ralf Becker
796663c2a6 fixed modified translations were not automatic loaded after new login 2014-02-21 11:10:11 +00:00
Ralf Becker
530ebec63f fixed not translated time-labels in datetime picker 2014-02-19 16:40:56 +00:00
Ralf Becker
b692346cce several IE11 fixes avoiding or working around javascript errors 2014-02-19 15:10:39 +00:00
Ralf Becker
bd941f3601 allow to send a redirect from server-side via client-side egw.link_handler(url, app) allowing to specify which tab to use and a top-level (ajax=true) url 2014-02-19 15:08:38 +00:00
Ralf Becker
668bec020b fix display and logging of javascript errors for IE 2014-02-18 17:05:26 +00:00
Ralf Becker
186bdbcb55 running categories and acl in iframe again. If they run top-level their admin/js/app.js objects conflict with other top-level admin/js/app.js object and only one working categories or acl tab can be opened 2014-02-17 15:11:26 +00:00
Ralf Becker
d01d5119ca calling app[appname].et2_ready(et2,name) with template name as second parameter 2014-02-17 14:58:20 +00:00
Ralf Becker
0fa215c9e8 fixed sometimes not deletable favorites 2014-02-14 12:46:49 +00:00
Nathan Gray
bad65780bc Register a JSON handler to show error responses as error message instead of losing them. 2014-02-13 18:47:19 +00:00
Ralf Becker
af1e70ab32 fixed javascript error, if favorite has no href AND make sure all new favorites are created with an href, like they are created server-side 2014-02-13 16:50:49 +00:00
Ralf Becker
3a5ece79a7 fixed creating or deleting favorites in calendar does not work: was caused by sidebox not initialised as not yet loaded, now calling _init_sidebox from framework, also need to add a click handler for favorites as initialising sidebox removes one installed from template 2014-02-13 15:37:49 +00:00
Ralf Becker
f0d7751496 removed caret from group favorites, fixed prefered favorite was not show correct initialy nor updated 2014-02-12 21:51:25 +00:00
Ralf Becker
4a7c0204a0 fixed just added favorite can NOT be used as default for dropdown button (gave alert "No default set") 2014-02-12 20:55:10 +00:00
Ralf Becker
75316761b2 added FF name 2014-02-12 18:40:01 +00:00
Nathan Gray
1ca01da9b0 Fix missing group ID when deleting group favorites, fixes unable to delete group favorites 2014-02-12 17:33:22 +00:00
Ralf Becker
17b8bfcc95 fixed javascript error "max is undefined" 2014-02-12 16:36:51 +00:00
Ralf Becker
22b66c9e3d fix javascript error when clicking on a group favorite (state.state is undefined) 2014-02-12 11:23:04 +00:00
Ralf Becker
3ec6ffe264 deal with situation that storage quota on html5 localstorage is exceeded:
- browser/user can limit quota, we then get an exception which must NOT stall EGroupware!
- we set a smaller MAX_LOGS of 200 instead of current 1000
- if currently more log items stored OR if exception.name=="QuotaExceededError" we clear whole log (trying to clear old limit of 1000 messages)
2014-02-12 10:38:39 +00:00
Ralf Becker
ea9e2569bc fixed not working multiple account trigger after changing html::submit_button() from <input type="submit" to <button 2014-02-11 16:42:02 +00:00
Ralf Becker
a639b42222 translate calendar/timepicker on demand, works around not working call with ready in popup, fixes javascript error when doubleclick a mail 2014-02-11 15:17:43 +00:00
Ralf Becker
195c63a9d3 fixed "undefined is not a function" error originating from egw_message, because jQuery not loaded, when egw_message get initialised 2014-02-10 16:10:01 +00:00
Ralf Becker
9bfc082843 fix not opening infolog popup 2014-02-10 11:49:27 +00:00
Ralf Becker
061a1a07f2 fixed popup detection to deal with main EGw window opened with an opener from a different security context, also made is_popup() a global egw method 2014-02-10 11:21:58 +00:00
Ralf Becker
12666f0f53 fiddeling around with re-throwing event caught by global error-handler 2014-02-10 09:18:08 +00:00
Ralf Becker
1f599abaf6 fix exception for not found image / null passed 2014-02-10 09:16:18 +00:00
Ralf Becker
ca334ad13b moving egw_preferences (handler to call preferenes, acl or categories) from jsapi.js to egw_preferences.js show_preferences() method 2014-02-07 14:04:12 +00:00
Ralf Becker
d90faa7dcc fixed app-header show in wrong tab, caused by framework object being created AFTER egw 2014-02-07 09:11:30 +00:00
Nathan Gray
444d82d1c7 -Unencode favorite search, firefox leaves encoded spaces
-If adding a favorite with same name as existing favorite, old one is removed from the sidebox.
2014-02-06 17:53:29 +00:00
Ralf Becker
b13a7eefb8 calling egw.message() without or with empty argument clears message, installed click handler to hide message and also check for translation of "error" to determine unspecified type 2014-02-06 17:24:40 +00:00
Ralf Becker
6a8802fc35 move egw_(message|app_header) from jsapi.js to egw_message.js available as egw(window).message(_msg, _type) and make it usable in popups too 2014-02-06 15:42:33 +00:00
Nathan Gray
1cb3ac1111 Fix groups in add favorite popup:
- missing options for selectbox
 - saving for group wouldn't work
2014-02-06 00:30:03 +00:00
Nathan Gray
2ece0f771f Use ajax flag to load acl into div, not iframe 2014-02-05 22:39:00 +00:00
Nathan Gray
c771f2fc80 Make sure group is there before trying to set its value 2014-02-05 20:53:08 +00:00
Ralf Becker
4c2e29f960 more styling of calendar edit 2014-02-05 10:04:13 +00:00
Ralf Becker
b8aa28c055 fixed error if argument was a widget, using jQuery.extend instead not existing clone() 2014-02-03 09:59:30 +00:00
Ralf Becker
a659b49f51 silently fix skiped minutes or times with just one digit, as parser is quite pedantic ;-) 2014-01-29 13:10:31 +00:00
Hadi Nategh
fbccbb87a3 Fix wrong styling in egw_tail log 2014-01-28 08:33:28 +00:00
Ralf Becker
99ce5b41f9 allow to optionally specify app for redirect instead of always using current app 2014-01-27 16:28:39 +00:00
Hadi Nategh
ea20648d39 Remove inline-scripts from egw_tail. Additionally, add a new library to jsapi related to egw_tail 2014-01-27 14:29:24 +00:00
Ralf Becker
f0710fbecb fixed et2_dialog static methods like confirm did not show translations: injecting an egw object with loaded translations for current app 2014-01-23 10:52:44 +00:00
Ralf Becker
a788827c1e check if json apply needs a not yet instanciated app.js object and instanciate it in that case 2014-01-23 09:03:30 +00:00
Nathan Gray
e103145a53 Fix JSON to call callback even if server does not return anything in particular. 2014-01-22 09:30:22 +00:00
Ralf Becker
58e13743fc make local storage more robust (deal with gaps) 2014-01-21 15:09:06 +00:00
Ralf Becker
93ae56a9f2 catch exception about circular reference in JSON.stringify, try fixing object by unsetting _parent&_children and if that does not work the whole argument 2014-01-21 11:23:26 +00:00
Nathan Gray
95b51fefea Some UI for client error log, log egw.open() calls 2014-01-21 09:21:46 +00:00
Ralf Becker
658b773dc1 fixed an ide warning 2014-01-20 15:25:43 +00:00
Ralf Becker
595d2a23bf first step of a javascript error notifier and clientside log 2014-01-20 15:23:40 +00:00
Nathan Gray
e276a14be1 Make sure to copy registry settings, not use reference
Fixes mail compose always filling address
2014-01-20 09:48:17 +00:00
Ralf Becker
5a8b145b7f fixed caching in a couple of places:
- user.php was not reloaded if (session-)preferences changed eg. language via select-box in login, because we used Expires header, but did not force a different url
- (user|config|images).php now has etag on url, to force reload by browser as we use an Expires header (changed images still need Admin >> clear cache to rebuild image cache)
- preferences are now loaded via a cachable GET request
2014-01-18 17:43:15 +00:00
Ralf Becker
53c6059d84 fix en translation is always used for common, caused by preferences had a stub default preference for common AND egw.includeJS immediatly called callback for a file just sheduled to be loaded, but not yet arrived 2014-01-15 17:39:07 +00:00
Ralf Becker
0cc75cb3e6 need to strip egw-url from css includes, to not included css-files twice 2014-01-15 15:48:22 +00:00
Nathan Gray
6792b9831c Allow popups to set just a message without refreshing before closing 2014-01-15 14:40:42 +00:00
Ralf Becker
e265874bd7 new method to create object tag for svg and img for all other image types 2014-01-14 16:07:39 +00:00
Hadi Nategh
9dcc4cc00a Map mailto url params to right object in mailto magic function 2014-01-13 17:37:46 +00:00
Nathan Gray
71f0fcdda0 Implement refresh type 'update' to _only_ update the data of a row - sorting is not considered, so make sure to use 'edit' if sorting might be affected. 2014-01-13 09:40:23 +00:00
Nathan Gray
8228b9512d Fix type attribute check to work 2014-01-13 08:58:16 +00:00
Nathan Gray
8e69a1e23b Only call request callback once, when the request is finished.
Callback is not called if the response only has 'data' type responses, since data handler calls callback already.
2014-01-11 14:47:31 +00:00
Ralf Becker
ab490eadc1 extend egw.includeJS to support concatinated/bundled files included and not include contained files again 2014-01-11 12:10:31 +00:00
Nathan Gray
d94fc6b492 Fix not called callback 2014-01-11 11:41:05 +00:00
Nathan Gray
31987e9704 Check result type, if it's not 'data' quietly reject - fixes warning in multi-part responses 2014-01-11 11:40:30 +00:00
Nathan Gray
1742d07374 Use egw.debug function instead of console to warn about missing images. 2014-01-10 15:57:02 +00:00
Nathan Gray
15bc1b3909 Wait until DOM is loaded before trying to load etemplate or set message 2014-01-10 09:13:56 +00:00
Ralf Becker
5ec887d70d fixing the fix: using private var to store config 2014-01-10 08:12:59 +00:00
Klaus Leithoff
4cc93e8ead fix for unexpected not defined this.configs 2014-01-10 08:00:45 +00:00
Ralf Becker
400240f1e4 caching translations for 10days and changing translation url, when translations are changing --> saves server-roundtrip for each translation 2014-01-09 15:32:07 +00:00
Ralf Becker
90edb55ec5 add async include and et2 render times to page-generation-times shown 2014-01-09 12:20:13 +00:00
Ralf Becker
0092addd08 ignore SecurityError exception if opener is different security context / cross-origin 2014-01-08 15:19:04 +00:00
Ralf Becker
911e7d2955 ignore SecurityError exception if opener is different security context / cross-origin 2014-01-08 15:14:10 +00:00
Nathan Gray
271d7a869c Turn debug level down to warning 2014-01-08 14:58:41 +00:00
Nathan Gray
9009ef44bb Pass current app to egw_app_header() so it can set header for correct app. Fixes sometimes wrong app header shown. 2013-12-23 16:13:40 +00:00
Nathan Gray
7381f103e5 Initialize popup flag with window.opener detection, instead of false. 2013-12-19 17:18:01 +00:00
Nathan Gray
89e1757d9e Avoid errors if no email address was provided 2013-12-19 17:16:33 +00:00
Hadi Nategh
1d14ecc80f Remove "drag-and-drop" and "IE dropdownmenu hack" from the common preferences 2013-12-19 10:19:14 +00:00
Hadi Nategh
185237291f Make sure the et2 is not empty before giving up to not refresh the whole page 2013-12-19 08:46:51 +00:00
Nathan Gray
a79f7b87a6 Continue moving most favorite functionality from favorite widget into framework. Favorite widget now uses framework. 2013-12-12 23:45:09 +00:00
Ralf Becker
fef5bb4972 fix error if query parameters contain null 2013-12-12 03:43:17 +00:00
Ralf Becker
2bb7b7565c fix add-favorite method to NOT bubble and giving a CSP warning instead of running 2013-12-12 02:42:08 +00:00
Nathan Gray
e15144c7f9 - Fix name in delete confirm
- Some documentation & cleanup
2013-12-12 00:38:06 +00:00
Nathan Gray
0ecc494cb4 Remove loading class if there is no favorite delete being processed 2013-12-12 00:00:54 +00:00
Nathan Gray
d2e2622b77 Remove reference to sidebox in destructor 2013-12-11 23:54:42 +00:00
Nathan Gray
b9f39dd315 - Use egw.link() instead of string concatenation so it can craft the URL 'properly'
- Load categories in a div instead of an iframe
2013-12-10 22:26:07 +00:00
Nathan Gray
72c3d211be One more fix needed to allow :: inside UIDs 2013-12-09 21:13:59 +00:00
Nathan Gray
443b8ed854 Give some UI feedback if the delete does not work 2013-12-06 23:26:48 +00:00
Nathan Gray
72c37e0849 non-et2 Favorites work in progress
Handle states that are id_data objects for egw.open()
2013-12-06 23:12:05 +00:00
Nathan Gray
d097a0bfa1 non-et2 Favorites work in progress
New states now added to list immediately, can delete states
2013-12-06 21:26:55 +00:00
Nathan Gray
79498c5ae5 non-et2 Favorites work in progress
Can now save & restore state.  Still some UI needed, not fully integrated with et2 favorites.
2013-12-06 18:24:29 +00:00
Ralf Becker
b2c563e5aa restoring current app/tab, if pressing save or cancel, to do so let server know which is current app and run under that appname (otherwise redirect will happen to currently views app 2013-12-06 00:02:16 +00:00
Nathan Gray
cfefedc8f7 non-et2 Favorites work in progress
Add current link shows popup with state details.
2013-12-05 23:22:54 +00:00
Nathan Gray
87936488bf Implement getState() & setState() towards a more universal favorites, but still more to do:
- Need to get favorite widget to use setState()
- Move much code out of etemplate2 widgets into a higher level
2013-12-05 00:00:43 +00:00
Nathan Gray
6f15f0aa4c Make popups 10px bigger 2013-11-29 17:42:20 +00:00
Ralf Becker
4f3f88ae92 fixed not updated sidebox in calendar when using framed template-set, as sidebox is now transported as data attribute, we need to set it in or before header call 2013-11-28 23:18:36 +00:00
Nathan Gray
33b01975b2 Allow :: inside data UIDs 2013-11-28 20:16:33 +00:00
Nathan Gray
b86173ad16 Fix warning to only come when app JS object is missing 2013-11-27 00:13:56 +00:00
Nathan Gray
0502f9326c Make sure ajax flag is at the end so framework finds it 2013-11-26 22:23:08 +00:00
Hadi Nategh
fca35f8127 Revert r44596 about egw_refresh 'cause need more investigation 2013-11-26 08:48:10 +00:00
Nathan Gray
6985c3d61f Resize popups according to their content 2013-11-21 19:09:17 +00:00
Nathan Gray
fd737f10dc Change queued AJAX to go async 2013-11-20 23:40:26 +00:00
Nathan Gray
089144d986 Avoid adding CSS files again if they're already in the header 2013-11-19 23:22:33 +00:00
Hadi Nategh
74d0797904 Make sure only fall into et2 specific reload for egw_refresh when the etemplate2 object has value 2013-11-19 08:36:08 +00:00
Ralf Becker
8e69433829 use template specific images for foldertree, use "template" handler for all calls to template/framework object, NOT instanciating a new one using eg. a parent class 2013-11-15 16:28:24 +00:00
Nathan Gray
fb2c103cef Use current app to get around missing etemplate run rights 2013-11-13 23:57:49 +00:00
Nathan Gray
31a42e3110 Use current app to get around missing etemplate run rights 2013-11-13 23:22:44 +00:00
Ralf Becker
aeb6ebd84c instanciate app.js object from egw.js, so non et2 apps can use it too, get et2_dialog working from app.calendar outside listview 2013-11-05 18:08:07 +00:00
Ralf Becker
6d226a7921 split constructor function and place of instanciation for app.js objects: app[appname] = new app.classes[appname](); 2013-11-04 20:54:23 +00:00
Nathan Gray
07ff17704f Refresh current app or target app too, like it says it's supposed to 2013-11-04 18:57:20 +00:00
Nathan Gray
4d29125c41 Fix some window/scope issues with jquery & plain assign handlers to make sure they operate on the window, not the request context (which can be anything) 2013-10-28 22:22:09 +00:00
Nathan Gray
f6526a30e8 Fix intermittent issue with missing window breaking ajax 2013-10-18 21:01:53 +00:00
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
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