Commit Graph

451 Commits

Author SHA1 Message Date
Ralf Becker
1035ff31ec fix async loading caused et2 widgets calling api before loaded
using a strict order now:
1. legacy stuff like jquery and dhtmlx
2. client-side api / egw-object
3. et2 and rest
2021-06-14 14:16:07 +02:00
Ralf Becker
685a0d3328 handel empty objects like empty array 2021-06-14 10:35:54 +02:00
Ralf Becker
ee508c50b9 filter out legacy JS code from importmap and sort it
also only add extension-less includes for .ts files (was accidentally commented out) and fix some .js imports without extension
2021-06-12 11:44:28 +02:00
nathangray
2c2563eccf Fix PUSH new entries did not show if filter had multiple values
(cherry picked from commit 0caabaf516)
2021-06-11 13:17:27 -06:00
Ralf Becker
f503f7139a EgwApp object need to be global / assigned to window.EgwApp
as that's how we iterate through all EgwApp instances for observer and push
2021-06-11 15:21:18 +02:00
Ralf Becker
78e30f1a27 load egw_ready.js again 2021-06-11 15:05:44 +02:00
Ralf Becker
89967336e2 removed app_base.js from egw.js requirement to not pull in etemplate, but had to move app to egw.js too 2021-06-11 13:48:09 +02:00
Ralf Becker
771d6c727f got mail app.js incl. jsapi/app_base.js working
plus marking et2 methods returning promisses as async and removing cache-buster from includeJS calls in egw_action_common.js as it causes double loads
2021-06-11 10:11:13 +02:00
Ralf Becker
1f4ba0156a remove (unused) etemplate2 import causing login page to constantly reload 2021-06-11 09:11:28 +02:00
Ralf Becker
e18832e110 defer calls to app.* after et2_load is finished
changing et2_load egw_json plugin to return a promise for that
2021-06-11 09:05:57 +02:00
Ralf Becker
5298336886 include jquery and other legacy js files via script tag 2021-06-10 11:38:54 +02:00
Ralf Becker
38cb855017 fixing a couple more imports to get addressbook list show up 2021-06-09 11:11:34 +02:00
Ralf Becker
027c087a06 remove egw_app dependency and only import et2, if there is an eTemplate on the page
stops login-page from loading eT2 stuff
2021-06-09 10:13:51 +02:00
Ralf Becker
bfea641321 fix async loading caused app.js not being loaded before et2.load() tried to instantiate it 2021-06-08 17:13:30 +02:00
Ralf Becker
8fa2bb466b fixed includeJS causing jQuery to be included twice and breaking plugins 2021-06-08 15:11:37 +02:00
Ralf Becker
304dbb95ab got empty nextmatch in timesheet working 2021-06-08 14:11:59 +02:00
Ralf Becker
f91bca83e1 got et2 mostly working: timesheet.edit renders 2021-06-07 17:33:53 +02:00
Ralf Becker
592b7fb97d replace LAB.js with native es5 loading 2021-06-05 20:39:39 +02:00
Ralf Becker
069cf4c3ac fix security exception if opener is from a different security context eg. LTI opening in a new window 2021-05-20 16:44:35 +02:00
Ralf Becker
450febb623 fix security exeception if opener is from a different security context eg. LTI opening in a new window 2021-05-20 16:35:54 +02:00
nathangray
aad2a77666 JS quality improvement
- add missing declaration
2021-05-19 10:01:07 -06:00
Hadi Nategh
67fb220778 Check popup blocker for when trying to open mail compose popup from filemamanger/Collabora 2021-05-17 16:27:51 +02:00
Ralf Becker
eefd8ed972 improve egw.langRequire to return a Promise, if no callback specified 2021-04-29 09:45:16 +02:00
nathangray
8fb0048c17 Fix linking an image/svg+xml image to an unsaved entry would give an error
An error happened! (EGroupware\Api\Exception\AssertionFailed): File 'true' is not an absolute path!
was generated because we tried to use webdav.phptrue as the thumbnail
2021-04-28 12:00:02 -06:00
Hadi Nategh
c370941c51 Keep private app objects if dialog gets destroyed 2021-04-20 15:30:46 +02:00
nathangray
d5aacd190d Add 'no_quick_add' link registry setting so apps can opt out of the quick add 2021-03-30 10:12:29 -06:00
nathangray
87ff6842ea Api: Stop annoying "column saved" message that kept coming up 2021-03-24 10:21:02 -06:00
Ralf Becker
fa0e7715c1 mark context as optional parameter 2021-03-15 08:57:45 +02:00
Ralf Becker
46c4e0e118 add daily cache-buster to client-side included app.js files for applyFunc 2021-03-12 11:23:26 +02:00
Hadi Nategh
e5674bbc5d Fix missing mailvelope readonly properties from egw_app object 2021-03-09 15:19:27 +01:00
Ralf Becker
d2626085f6 fix wrong context causing eg. attachments to mail to no longer work 2021-03-08 21:20:11 +02:00
nathangray
19bd3a03b0 Addressbook: Update CRM view contact info in sidebox if it's changed by push message 2021-03-04 13:53:52 -07:00
nathangray
df54dcace4 Apply client-side push refactoring to calendar, infolog, timesheet 2021-03-04 11:27:35 -07:00
Ralf Becker
58ae23c74c allow "app.<appname>.<method>" in link registry and use it to open CRM view 2021-03-04 11:50:13 +02:00
Ralf Becker
7e4ccc8311 fix some points in top-menu and probably some other stuff using et2_call were not working 2021-03-03 19:13:45 +02:00
Ralf Becker
a467bab01f return hashed appName of opened tab eg. to set notifcation counter 2021-03-02 21:00:59 +02:00
Ralf Becker
7a060b205b not overwriting call and apply method of egw function/object using callFunc and applyFunc instead, fixes several problems 2021-03-02 12:16:47 +02:00
Ralf Becker
e36c6c4cec move global et2_call function to egw.call and egw.apply methods, ensuring app.js is loaded, if not yet loaded, also using that as apply plugin for egw.json 2021-03-01 11:50:41 +02:00
nathangray
1eb174d3f7 For push update filter, consider empty array as having no value 2021-02-25 13:59:32 -07:00
nathangray
158e65fc90 Take contact shares into account for push ACL checks 2021-02-25 09:11:39 -07:00
Hadi Nategh
1f41bba904 Fix youtube API loading player after initiation 2021-02-25 13:51:20 +01:00
nathangray
3c72462b5e Enable push for addressbook
Refactor EgwApp.push() to cover more common stuff for simpler app code
2021-02-24 09:18:42 -07:00
Hadi Nategh
2a2f0bf390 Keep darkmode state in serverside session too. Fix darkmode state in egroupware iframes. 2021-02-24 12:22:27 +01:00
Ralf Becker
cf9e3ae4e1 WIP to display calls in calendar 2021-02-23 00:16:51 +02:00
Hadi Nategh
dc2f80c39c Some TypeScript definitions 2021-02-10 14:12:27 +01:00
Hadi Nategh
b9570b9b60 Some fixes for darkmode:
- Fix darkmode not switched in popups
- Fix a quick white page shown before switching to darkmode when it's set to 'auto'
2021-01-27 12:26:37 +01:00
Hadi Nategh
dad82bf1f1 Implement auto color-scheme in order to respect browser's selected prefers-color-scheme 2021-01-26 17:04:37 +01:00
nathangray
6af3e37bed * Etemplate: Add context menu action on linked files to copy them somewhere else
Also, update vfsSelect to use request(), so it processes the additional stuff in response so we can have a success message.
2020-12-21 13:53:24 -07:00
Hadi Nategh
f21ac58c87 Introduce dark/light mode theme switch into framework 2020-12-15 20:24:25 +01:00
nathangray
9bc4c41941 Api: Clear sorting with 'No filters' favorite 2020-11-16 10:57:04 -07:00
Hadi Nategh
f064ff8242 Make sure the params exists before addressing it 2020-11-03 11:47:26 +01:00
Hadi Nategh
b0e2e1f1be Open crm view for contact link 2020-10-29 11:47:29 +01:00
nathangray
bf615644d4 Api: Add egw.request() into egw_global.d.ts 2020-10-27 16:17:32 -06:00
Ralf Becker
086771ee66 try to fix race-condition in reconnecting a "lost" websocket connection 2020-10-27 14:19:25 +01:00
Ralf Becker
82d7a103a9 try to fix race-condition in reconnecting a "lost" websocket connection 2020-10-27 14:16:11 +01:00
Ralf Becker
765b545697 * SmallPART: fix not working LTI launch after last maintenance release
checking if we are about to load required files, before redirecting to cd=popup to load them
2020-10-22 10:00:27 +02:00
Hadi Nategh
d4d63d382e Fix error message still remains even after connection is up again 2020-10-21 11:54:45 +02:00
nathangray
5bf4d4866f WIP on sharing prompt to ask about mounting new share 2020-10-20 16:47:26 -06:00
Hadi Nategh
a8c136f1cc No longer need to send ajax=true at the end of url 2020-10-20 16:04:32 +02:00
nathangray
38ff63f778 Api: New JavaScript API method egw.request(menuaction : string, parameters : any[]) : Promise
Does an AJAX request, and resolves the returned Promise with just the data (no piggybacks) when it arrives from the server.  Any registered data handlers are run before resolving the Promise.
2020-10-16 10:33:13 -06:00
Ralf Becker
83eabe4d8e login page does NOT need client-side api and redirect with cd=popup shows as message 2020-10-16 09:45:30 +02:00
Ralf Becker
1ef16c9c55 closing websocket explicit, before reopening it, to not end up with multiple connections and doublicated messages 2020-10-15 18:17:31 +02:00
Ralf Becker
663816769e fix TypeError this.openWebSocket() is not a function 2020-10-14 22:28:32 +02:00
Ralf Becker
313a378539 * Swoolepush: periodically pinging server from browser to detect lost websocket connection and reconnect 2020-10-14 20:16:13 +02:00
Ralf Becker
175d94f3e3 * Api: detect if framework data is missing for popups too and redirect to cd=popup to load it 2020-10-14 17:31:36 +02:00
nathangray
857943720e Api: Make sure we don't add any unwanted data to account store
Push fallback can piggy-back some data, we don't want it
2020-10-05 10:55:34 -06:00
Ralf Becker
7db25dce5e * Admin: push server test to diagnose problems and improved recovery from failed requests / network problems 2020-10-02 20:28:02 +02:00
Hadi Nategh
2ed186079e Implement openTab for egw_open object and make tab attributes configurable 2020-09-24 16:19:56 +02:00
Hadi Nategh
4bf65486ef WIP of framework's multitab implementation 2020-09-23 16:55:35 +02:00
Hadi Nategh
c01beef108 We can't use let in js files as we still supporting old devices with es5 only 2020-09-17 15:36:02 +02:00
nathangray
f38f61cf1b Correct parameters in TS 2020-09-15 09:05:48 -06:00
nathangray
210c54b689 Etemplate: More fixes for row count when updating / adding
Now fixed the situation where 1 row was updated & 1 added, but the added one did not match filter and was not returned when server was asked.  Now removed blank row waiting for it, and keeping row count consistent
2020-09-01 14:49:06 -06:00
nathangray
b43f51b52e Api: Handle refreshing multiple UIDs but not getting them all back.
Previously we were assuming only 1 was requested, now properly handling multiple UIDs in a single request and not all of them being returned (eg ACL or doesn't match filters)
2020-08-31 14:57:22 -06:00
nathangray
bec67d63ee Etemplate: Change how nextmatch handles update & refresh push messages 2020-08-07 09:19:15 -06:00
Hadi Nategh
c43d0684cc Do not show close button on success message and dismiss it on container click handler 2020-08-07 13:29:30 +02:00
Ralf Becker
3b4d8071e9 improve fix not updated number of nextmatch rows on push type "delete" 2020-08-05 18:48:35 +02:00
Ralf Becker
321cd60fb5 fix not updated number of nextmatch rows on push type "delete" 2020-08-05 18:26:40 +02:00
Hadi Nategh
70e8a1b3ae Fix errors happening in mobile framework 2020-08-03 15:21:11 +02:00
Ralf Becker
33e88d25ae * Preferences: use push to ask every affected client to reload preferences, if affected 2020-07-31 09:47:49 +02:00
Hadi Nategh
1624ceae07 Return an object for egw message in order to have access to it after display 2020-07-30 15:01:50 +02:00
Hadi Nategh
14c908de78 Do not include egw message in print 2020-07-29 15:45:25 +02:00
Ralf Becker
08acad038c * Mail: replying to a mail should only update icon, not move it to top of list 2020-07-29 13:58:15 +02:00
Hadi Nategh
7900bfd9cd Avoid outputting same message multiple times if it's still alive 2020-07-24 12:46:29 +02:00
nathangray
6d2af76576 * Infolog: Push updates 2020-07-23 13:34:08 -06:00
nathangray
a6688ab3f8 Etemplate: Allow app to specify a new row index for updated rows as well. 2020-07-22 12:00:01 -06:00
nathangray
f0b924008b Etemplate: Add a callback so apps can decide where to put new push rows 2020-07-21 15:32:22 -06:00
nathangray
69420c19ad Api: Handle add push messages in the nextmatch list 2020-07-20 13:43:26 -06:00
Ralf Becker
bf44ee753a WIP push for mail (currently only Dovecot with further configuration!) 2020-07-20 12:09:08 +02:00
Hadi Nategh
1f066dee26 Implement new egw messaging (keeps not deliberately dismissed messages) 2020-07-17 14:09:37 +02:00
Ralf Becker
ab1e59c0df register and deregister old JavaScript based app objects with new TypeScript registry to receive observer and push calls 2020-07-15 19:15:54 +02:00
Ralf Becker
808313c121 set grants if given for push 2020-07-13 19:26:05 +02:00
nathangray
ce393e0803 Remove et2_types 2020-05-29 11:21:17 -06:00
nathangray
b5dceda99c Fix js packaging by switching from uglify-es to terser 2020-05-28 11:48:44 -06:00
Ralf Becker
588cd10043 track top EGroupware window in egw object to be used as egw.top instead of window.top, which can throw a security exception 2020-05-18 20:55:57 +02:00
nathangray
4cf185ce7e Avoid JS error by making sure we have a date format 2020-05-15 14:42:31 -06:00
nathangray
242d435252 Fix a few remaining usages of free(), which was removed as part of the TypeScript conversion 2020-05-15 09:50:38 -06:00
Ralf Becker
4dc120a6d2 making video position available and a couple of documentation updates 2020-05-10 14:53:06 +02:00
nathangray
7f99b750b0 Fix missing appname in check
(see 444babdbc8)
2020-04-29 11:28:17 -06:00
nathangray
444babdbc8 Api: Take care of private app.js instances, make sure they're included in iteration.
Iterate over all app.js instances (public & private) using:
for (var app_obj of window.EgwApp) {...}
2020-04-21 15:36:17 -06:00
Ralf Becker
9817d25a47 move who is available via push to push class and backends 2020-04-20 13:07:58 +02:00
Hadi Nategh
be7d045e1d Add requireInteraction option into notification class 2020-04-06 17:24:48 +02:00
nathangray
d24c6f2b7d Avoid error if extra parameter is not set 2020-03-31 10:21:26 -06:00
Ralf Becker
038c1c811c fix not closed spinner for application names with a dot 2020-03-31 13:03:31 +02:00
nathangray
7163acfe1d * Add action to share filemanager folder (readonly) with hidden upload folder 2020-03-24 20:34:04 -06:00
nathangray
34ec346821 Fix favourites (& probably some more inherited stuff) broken by TypeScript conversion
Note that any properties declared in a sub-class aren't generally available until after the super() call is done, i.e. in the super constructor they're undefined.
2020-03-20 11:38:38 -06:00
Hadi Nategh
d6c2a4aa0b Convert tracker app.js to TS 2020-03-09 16:12:49 +01:00
Hadi Nategh
0cc7ce12d0 merge master 2020-03-05 14:45:25 +01:00
Ralf Becker
65294a3e19 fix error on window closing in Chrome 80+
caused by Chrome 80+ no longer allowing to send a synchronious ajax request from beforeunload handler, using sendBeacon (async request with keepalive=true) instead
2020-03-02 10:43:19 +01:00
Hadi Nategh
2cc2f198d4 Some fixes for egw_action and egw_global 2020-02-28 14:41:17 +01:00
nathangray
b03e8d167e Update some parameter types 2020-02-27 11:44:34 -07:00
nathangray
49493a6af8 Convert etemplate2 to typescript 2020-02-24 15:16:40 -07:00
Ralf Becker
20a3dd9fd0 use super.<name>(<arguments>) instead of super.<name>.apply(this, arguments) 2020-02-12 10:37:29 +01:00
Ralf Becker
5f804dd661 use super.<name>(<arguments>) instead of super.<name>.apply(this, arguments) 2020-02-11 17:40:33 +01:00
Ralf Becker
d053a72a17 some fixes on the TS interface of client-side api and TS conversation tool 2020-02-10 10:02:04 +01:00
Ralf Becker
fc48878558 added (generated) TS declarations for egw_action 2020-02-10 10:00:35 +01:00
Ralf Becker
362063e542 added (generated) TS declarations for egw_action 2020-02-09 13:09:11 +01:00
Ralf Becker
8dd03e3d07 some fixes on the TS interface of client-side api and TS conversation tool 2020-02-09 12:27:39 +01:00
Hadi Nategh
d88854b467 Convert et2_widget_file, et2_widget_vfs and fixes couple of definitions in other widgets 2020-02-07 17:41:51 +01:00
Ralf Becker
025b2cc431 moving webserverUrl property to IegwGlobal interface from global egw object 2020-02-04 18:32:58 +01:00
Ralf Becker
8b2f04607e moving webserverUrl property to IegwGlobal interface from global egw object 2020-02-04 18:30:37 +01:00
Ralf Becker
2fc0666762 merged master into typescript 2020-02-03 15:16:51 +00:00
Ralf Becker
e0f38dfb94 migrated infolog app.js to typescript 2020-02-03 16:05:40 +01:00
Ralf Becker
3575f06501 fix JS error from cropper, stalling eTemplate with minified JS 2020-02-02 10:32:12 +01:00
nathangray
4eca12001a Mark some optional parameters 2020-01-31 09:25:11 -07:00
Hadi Nategh
ffae3f2e17 Remove all map files 2020-01-29 17:14:32 +01:00
Hadi Nategh
c8da07b460 Rebase onto Master 2020-01-29 15:31:57 +01:00
nathangray
812f6a0ef7 ts->js maps 2020-01-29 15:12:43 +01:00
Ralf Becker
8b3f9947e6 baseWidget in TS 2020-01-29 15:08:42 +01:00
Ralf Becker
a4ce103d7e WIP with TypeScript 2020-01-29 15:08:42 +01:00
Ralf Becker
9f574b4a38 some egw object interface changes and using it in app.ts base object 2020-01-27 13:43:13 +01:00
Ralf Becker
5b5c2a6cff full TypeScript Interface for client-side API 2020-01-26 13:58:10 +01:00
Ralf Becker
e9c4d3f07e complete push implementation for timesheet incl. ACL check 2020-01-24 13:31:56 +01:00
nathangray
76a5793a0a New push method, with base implementation of delete client side 2020-01-23 11:03:29 -07:00
nathangray
ff50df67d0 Use correct refresh methods for delete so app can handle it 2020-01-23 09:21:41 -07:00
Ralf Becker
6e0936bd98 first take on pushing app-changes to all clients 2020-01-23 11:26:44 +01:00
Ralf Becker
901825bcfa first try with TypeScript: timesheet app.js incl. new egw_app base-class 2020-01-23 09:14:58 +01:00
nathangray
b1c094ca47 ts->js maps 2020-01-22 02:04:45 -07:00
Ralf Becker
630797f127 baseWidget in TS 2020-01-21 12:22:41 +01:00
Ralf Becker
68f9d4c0cf WIP with TypeScript 2020-01-21 10:12:39 +01:00
Ralf Becker
8d5893d515 a couple of small fixes from the conversation to TypeScript 2020-01-15 08:52:49 +01:00
Ralf Becker
55ae9c1c7b first try with TypeScript: timesheet app.js incl. new egw_app base-class 2020-01-15 08:47:33 +01:00
Hadi Nategh
edd8be4355 * All apps favorites: fix issue add favorites popup dialog no longer works after add/remove columns from list 2019-11-13 11:50:30 +01:00
Ralf Becker
bf844b7598 support for new Swoole push server 2019-11-04 09:29:49 +01:00
nathangray
87501bb2a9 * Api: Fix bug where some links opened in the application's main tab instead of popups
Now keeping addressbook & projectmanager opening in main tab
2019-10-17 15:05:55 -06:00
Hadi Nategh
798823ab6e Make sure excluded mime types are type of string before splitting them, avoid js error "Uncaught typeError: ex_mime.split is not a function" 2019-10-02 13:52:48 +02:00
nathangray
2f1dfcc3d8 Calendar - Fix another case of group events not showing properly 2019-09-11 13:29:07 -06:00
nathangray
a49e3a3c15 Api - Add a Share filemanager directory context menu action 2019-08-22 15:18:40 -06:00
nathangray
890cd4e4a4 Api - give error if share path is missing 2019-07-31 10:31:13 -06:00
Ralf Becker
672c407804 egw.(de|en)codePath to correctly encode % and # 2019-03-21 12:46:22 +01:00
Hadi Nategh
2126fca1b4 * Api: Fix mobile template not working with iOS < 10 anymore (iOS < 10 is not compatible with JS ES6) 2019-03-18 16:22:39 +01:00
Hadi Nategh
72cad447b0 Do not check jsonp since we are not using it and it might cause errors by setting dataType to script falsely 2019-02-20 13:24:43 +01:00
Hadi Nategh
b16e93bfe3 Make sure we have a match before using it 2019-02-20 10:41:04 +01:00
nathangray
098fcbf918 Fix (remove) vertical scrollbar on popups with CKEDITOR 2019-01-23 16:01:50 -07:00
Ralf Becker
de27dd3ed3 fix only-send-changed-preferences check for objects
before preference values which are objects have been always send again
trying to fix "storm" of set_preference() calls by mail splitter
2019-01-22 10:10:24 +01:00
Ralf Becker
5531844c0d use correct window of includeJS and alert, also fixed in wrong order included first JS file 2019-01-15 14:34:52 +01:00
nathangray
0d75e05369 Fix accountData failed if a request for a different field is made while waiting for the server 2019-01-11 10:22:29 -07:00
nathangray
01dfdd9b1d Handle javascript as a link registry type target 2019-01-10 14:58:40 -07:00
nathangray
00ea499559 Calendar - open add into a dialog widget 2019-01-09 16:48:04 -07:00
nathangray
6892c4508e Keep a queue of callbacks for the same account and call them all back when we get it 2018-12-19 15:31:44 -07:00
nathangray
e089093b89 User data request has to be synchronous or we can get many identical requests 2018-12-12 16:37:48 -07:00
Ralf Becker
2f1333a116 return and show in browser JSON parsing errors maybe caused by network problems
server sends HTTP status "400 Bad Request" with JSON payload with "error" and "errno" attributes.
error is json_last_error_msg() prefixed with "JSON ".
Not yet implemented is resending the request (max. twice) for JSON parsing errors to try to work around network problems
2018-11-01 12:00:08 +01:00
Hadi Nategh
b39bcc8c36 Remove unintentional commited part from commit a9a303a 2018-10-19 14:59:20 +02:00
nathangray
117b559a5e Entry share changes
- Writable share is now a checkbox
- Add Sharing -> Merge entry into email template, share gets selected options
- Add {{share}} placeholder which creates (by default) read only share
2018-10-11 12:54:17 -06:00
Hadi Nategh
970fb80675 Respect async flag with set false value 2018-10-11 14:14:21 +02:00
Hadi Nategh
c3c887da98 Fix set_account_data turns into an infinite loop because of async ajax call 2018-10-09 17:41:38 +02:00
nathangray
c197d15a28 Explicitly set async to false for user list 2018-10-04 16:09:42 -06:00
nathangray
20956c4966 Explicitly set async to false for user list 2018-10-04 16:01:44 -06:00
Hadi Nategh
cceba01f87 Change default value for async json_request to true 2018-10-04 17:48:13 +02:00
Hadi Nategh
d022e555d5 Fix xhr url in Offline options 2018-10-02 10:12:40 +02:00
Hadi Nategh
54cafd15d7 Implement Online/Offline connection indicator 2018-10-01 15:54:42 +02:00
Hadi Nategh
08b9138ae6 Fix tutorials json feed and PGP Installation tutorial video 2018-08-23 14:54:37 +02:00
Hadi Nategh
36a6efe837 Fix missing translations for PGP Back/restore feature 2018-08-23 13:47:04 +02:00
Ralf Becker
bbe551d4cc sending appliction/json aka JSON as direct payload for all POST ajax requests
instead of additionally encoding them as form-data
2018-08-16 11:07:50 +02:00
Ralf Becker
5e7ef5386c allow additional "UPDATED" success message to keyring.importPublicKey 2018-08-14 11:33:28 +02:00
Hadi Nategh
73b6ab8128 IE 11 and below does not support ES6 syntax we need to use some polyfills 2018-08-10 10:31:40 +02:00
Ralf Becker
e53482289a fix not displayed requrested and comment 2018-08-03 15:38:34 +02:00
Hadi Nategh
a9a303a6ff Add new preference to control default action of editing a document (open with:Collabora|CollabEditor|Download) 2018-08-03 11:08:00 +02:00
Ralf Becker
250b56589c WIP allow to document admin actions, if EPL policy app is installed 2018-08-02 11:43:56 +02:00
Hadi Nategh
e9f4a72031 Do not add the loading prompt container if it's already there 2018-07-13 16:32:44 +02:00
Hadi Nategh
cc3e00f9f1 * Mail: take opened compose dialogs into account when trying to forward attachment, share files into mail or vcard attachment from addressbook 2018-07-11 14:39:40 +02:00
Hadi Nategh
03fd308d00 Remove comma from personal part since comma is preserved as address separator 2018-07-05 14:29:49 +02:00
Hadi Nategh
9317cdd216 Fix contacts with ampersands in their name will fail in mailto function 2018-07-05 11:28:12 +02:00
Hadi Nategh
ad913ff93d Do not push popup windows if we are in mobile framework 2018-06-29 10:05:28 +02:00
Hadi Nategh
ce52dd10ad * Addressbook: Inform the user about number of contacts adding to mail compose dialog via Email action 2018-06-07 14:45:42 +02:00
nathangray
0582f2347f Fix a few issues from Scrutinizer
- Remove debug code
- Remove some unused variables
- Add get_ui() to base class that gives error message (should always be a subclass)
2018-06-06 09:54:49 -06:00
nathangray
4a9df7ef33 Got link creation via context menu working 2018-06-05 14:31:04 -06:00
nathangray
d0a50d8d45 Changes needed to just get the screenshots, much more work needed for proper functionallity since I faked the permissions 2018-06-05 14:31:04 -06:00
Ralf Becker
430368eab9 new JSON response method "message" to call egw.message eg. in a popup, by using the context from the egw.json call 2018-06-05 12:29:51 +02:00
Hadi Nategh
5d128cc43b * Addressbook: Fix send all contact's emails/vcards to compose dialog does not work 2018-04-09 16:42:08 +02:00
Hadi Nategh
2d71cdf0f5 Fix tracking of opened popups not working after framework reload 2018-03-12 17:04:17 +01:00
Hadi Nategh
a8e10cdc64 WIP framework's popup storage/restore:
- Keep tracking of popup's window object and restore it when needed
- Implement a method to check an already opened popup and execute a method in the selected popup context
- Fix vcard import into opened compose windows not working
2018-03-09 17:48:09 +01:00
Hadi Nategh
7510a94e11 Add closing timer on notifications 2018-02-19 17:17:24 +01:00
Hadi Nategh
9c4b26f4fb Make sure the original link_registry values of filemanager-editor are not touched 2018-02-07 12:38:07 +01:00
Hadi Nategh
8e0243294c Implement proposed filemanager mime type open handler based on user preferences 2018-02-06 18:00:36 +01:00
Hadi Nategh
2bf7597647 Fix a bug notifications sidebar in client-side not being translated 2018-01-11 17:23:58 +01:00
Hadi Nategh
f42801236a Override the globalEval to mitigate potential execution of script tag 2017-10-27 17:42:44 +02:00
Hadi Nategh
f9aec1bf46 Take respective window object into account while building loading_prompt 2017-10-11 15:03:34 +02:00
Hadi Nategh
0ececf8c78 Set statustext value as text by default
- Introduce new boolean attribute called statustext_html in case we want
explicitly statustext gets rendered as html
- Fix Calendar tooltip with new statustext_html attribute
2017-09-05 19:04:45 +02:00
Hadi Nategh
163b6b6522 Give preferences popup bigger size plus show fulltext of selectboxes 2017-04-18 14:57:04 +02:00
Ralf Becker
e63cb7c849 same story tutorial popup: ignore security exception if window.top is in a different security context
eg. because SiteMgr contact-form is running in an iframe
2017-03-08 14:25:52 +01:00
Ralf Becker
f0925ef32c same story for framework: ignore security exception if window.top is in a different security context
eg. because SiteMgr contact-form is running in an iframe
2017-03-08 14:21:29 +01:00
Ralf Becker
d1b963c98b ignore security exception if window.top is in a different security context
eg. because SiteMgr contact-form is running in an iframe
2017-03-08 14:14:16 +01:00
nathangray
d0913cb309 Fix title & description in calendar events were not escaped 2017-03-01 10:52:38 -07:00
Hadi Nategh
e3bacb3565 * Mobile template: Fix "info message regarding fullscreen" does not respect the discard checkbox 2017-02-01 18:12:35 +01:00
nathangray
ceea2cb976 Some more code cleanup:
- Remove some unexecutable code
- Fix some variable declarations
(to satisfy Scrutenizer)
2017-01-31 08:29:00 -07:00
nathangray
017e45ffd4 Fix some missing / incorrect icons
- Addressbook advanced search was from default
- Add favorite dialog had no icons on buttons
- All dialogs using standard button sets were either missing or from default theme
- Mail confirm all was missing Yes icon
2016-10-27 09:04:47 -06:00
Hadi Nategh
84207e9a5a Keep the default behavior for opening tel-url and make call_popup felixable to be able to get target 2016-10-27 14:17:42 +02:00
Hadi Nategh
b59b44d29d Open phonecall window target as _self instead of new tab 2016-10-27 11:07:59 +02:00
Hadi Nategh
9d1fca0710 Make sure html property of html object in egw_seperateJavascript is type of string 2016-08-02 12:17:16 +02:00
Ralf Becker
96caf6effd * Admin/APC(u): fix error in clear cache: if APC(u) runs out of memory clearing just instance cache clear whole cache 2016-07-28 12:02:21 +02:00
Ralf Becker
58d2e49843 fix two more cases in which "show_generation_time" is queried and should never trigger a request to server, see 1c6c930312 2016-07-21 10:51:17 +02:00
Ralf Becker
45111b8cd9 if "common" prefs are not loaded, do not display page generation time
Before we queried page_generation_time common preference without a callback, which send a synchronious request to server to fetch common preferences, when it returned it looked for the preference again and send the next synchronious request to the server, in an infinit loop. Now setting _callback parameter of egw.preference() to false, just returns undefined, if common preferences are not yet loaded, but dont try to query them from server
2016-07-20 17:15:41 +02:00
Hadi Nategh
1fcbb03153 Evaluate show_generation_time preference value before calling for pageGenTime 2016-07-15 17:25:07 +02:00
Hadi Nategh
9d054b9437 Fix asyncIncludetime in genPageTime repeats itself into DOM instead of updating the value 2016-07-15 09:35:02 +02:00
Hadi Nategh
eba29d3541 Create DOM node for pageGenTime data 2016-07-14 17:21:51 +02:00
Hadi Nategh
b1e666245a Check and ask for the notification permission if nothing yet set 2016-07-11 12:24:59 +02:00
Hadi Nategh
f01d6bc404 Add a method to egw.notification to check API availability 2016-07-11 12:01:29 +02:00
nathangray
9b80a7d133 Fix favorite delete confirm dialog header was not translated 2016-07-07 10:19:13 -06:00
Hadi Nategh
e98bf91347 Take other objects (like sel_options) from arrayMgrs into account regarding feeding content to view template 2016-07-04 14:28:39 +02:00
Ralf Becker
82c4eecfa3 change wording of error message on server-side ajax requests 2016-06-28 20:40:11 +02:00
Hadi Nategh
14935780ce Fix PGP Encryption backup:
- Rename the backup file, still will check the previous backup file though
- Close backup dialog from mailvelope after the backup process is finished
2016-06-21 12:54:50 +02:00
Ralf Becker
f86c1934eb * PGP: using following (hidden) files in users home-directory: .PGP-Key-Backup and .PGP-Keychain 2016-06-20 15:13:37 +02:00
Ralf Becker
4cbe7dffa3 fix not working tail popup 2016-06-18 10:22:34 +02:00
Ralf Becker
d40a3aa34f revert jQuery.noConflict() stuff as current aproach fails if minified 2016-06-14 21:42:12 +02:00
Ralf Becker
7bb87c2615 stop jQuery from setting $ as early as possible and added more checks for calendar running in frameworked template 2016-06-14 21:17:46 +02:00
Ralf Becker
9d12c2a9a5 tell jQuery to remove $, as EGroupware does NOT use it and it conflicts with eg. mootools 2016-06-14 19:12:19 +02:00
Hadi Nategh
885ed833e1 Fix resources categories shown in iframe 2016-06-13 17:31:43 +02:00
Hadi Nategh
5e4412aea5 Run applications categories with ajax=true
- Fix categories colors not showing up
- Fix categories list refresh does not work
2016-06-13 12:30:21 +02:00
nathangray
9c7c53606a Still accept old style favorites on the client side, as they're still handled on the server side.
Better fix than previous handling
2016-06-09 12:37:30 -06:00
Hadi Nategh
feb09667ae Fix tutorial stops calendar sidebox from loading, happens only in FF 2016-06-09 17:40:16 +02:00
nathangray
dd0e541605 Still accept old style favorites on the client side, as they're still handled on the server side. 2016-06-08 11:48:14 -06:00
Hadi Nategh
93217a149d jQuery libraries updates via composer 2016-06-06 17:38:20 +02:00
Hadi Nategh
87fb94a496 Deprecate $j global variable and replace them all with standard jQuery 2016-06-02 16:52:01 +02:00
nathangray
a46f418fb6 Fix unwanted highlight matching when favorite had additional filters 2016-05-25 13:28:27 -06:00
Hadi Nategh
dea9c260b0 Deselect rows after return action from view template 2016-05-25 17:40:44 +02:00
Hadi Nategh
60bc400313 Fix modified view templates are not getting updated because of no cache-buster modification timestamp 2016-05-25 16:44:36 +02:00
nathangray
8dec95e4fc Remove highlight clicked favorite, it was conflicting with highlighting matching favorite if the clicked favorite was not valid for the results. 2016-05-24 16:27:27 -06:00
Ralf Becker
00b898bb2e fix tooltips for displaying lots of content 2016-05-07 16:56:18 +00:00
Ralf Becker
22b785c5a6 do not request translations empty or undefined app name from server 2016-05-05 09:23:06 +00:00
Ralf Becker
5353072052 mv template specific images from "phpgwapi" to "api" and search "api" also on client-side for image, added debug GET parameter to images.php to JSON pretty-print instead of one line javascript 2016-05-05 09:16:27 +00:00
Ralf Becker
4af0e7cb1c WIP EGroupware without phpgwapi&etemplate 2016-05-04 19:07:54 +00:00
Ralf Becker
760c8193fb fix image with name filter is not found, because empty vfs store returns empty array having a method filter, now we check that attribute is of type string 2016-05-04 13:57:26 +00:00
Hadi Nategh
d6d9a076ae Check Notification API is supported by browser before using it 2016-05-04 13:04:55 +00:00
Hadi Nategh
c6bda1524f Mobile theme:
- Replace 'Edit' caption in view template with an icon, makes it similar to other dialogs
2016-05-04 08:23:48 +00:00
Hadi Nategh
9d03e085ed Ask for notification permission only when it gets called 2016-05-04 08:12:51 +00:00
Ralf Becker
429177686a make home a regular application, which can eg. disabled, incl. moving all services using "home" as appname to "api" and moved some other forgotten stuff from phpgwapi&etemplate to api 2016-05-01 09:57:48 +00:00
Hadi Nategh
6260d948a7 Implement Web Notification API into egw_notification 2016-04-29 14:25:07 +00:00
Hadi Nategh
45e7536a8b Mobile theme:
- Fix back button state and a confirmation to logout action
2016-04-28 13:53:44 +00:00
Nathan Gray
ad4e9f6770 Translate week header in date picker 2016-04-27 22:31:05 +00:00
Ralf Becker
8325963b06 fixed ckeditor problems if minifying was switched off, caused by egw.js loaded twice, removed old file-name based workaround on client-side in favor of not requesting it from server-side 2016-04-08 10:38:44 +00:00