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