Commit Graph

240 Commits

Author SHA1 Message Date
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