Commit Graph

3484 Commits

Author SHA1 Message Date
a89b69528e aggregate Etemplate\Widget\Url::ajax_contact() requests and search for all of them in a single AJAX request and SQL query 2023-07-25 18:18:29 +02:00
2a5d0062dd Api: SearchMixin improvements to work with Et2LinkSearch more efficiently
Moving handling of missing options to overridable method so Et2LinkSearch can use its more efficient method
2023-07-25 09:38:11 -06:00
3aaf0b2b60 Api: More missing changes from SearchMixin.remoteQuery() / static options from json file 2023-07-25 09:14:13 -06:00
df9ec35704 Api: Fix Et2LinkSearch initialization with value failed, giving blank widget 2023-07-25 08:48:51 -06:00
a61445c0d0 fix TypeError if field.values is null causing some nextmatch features like search not to render 2023-07-25 16:39:56 +02:00
a4109439e1 Implement onlyEmail option for UrlEmailReadonly 2023-07-25 11:42:40 +02:00
29d159ea29 Make sure to show only email when using current value as email (avoids getting duplicate name in fullEmail mode) 2023-07-25 11:42:01 +02:00
f35de819a7 adapt Et2LinkSearch.remoteQuery() to Nathans change not run cleanSelectOptions() in Et2Select.processRemoteResults() any more
@Nathan: not sure if this needs to be applied in more places, or your change should detect it needs running ...
2023-07-25 10:39:13 +02:00
edcc260b7b WIP on caching static option file and searching it client-side
Get it working in nextmatch
2023-07-24 15:13:28 -06:00
f04b25089a WIP on caching static option file and searching it client-side
Avoid type error in CalendarOwner
2023-07-24 08:51:27 -06:00
f0be2fcdca WIP on caching static option file and searching it client-side
Still needs file caching & passing correct URL
2023-07-21 16:40:29 -06:00
0dd7616c5e egw_action copy fixes regarding ticket 84314 2023-07-20 16:40:22 +02:00
0632068664 * Api: Customfield selectboxes can read options from a PHP file in the VFS using @[path] ex: @/home/Default/selects.php 2023-07-18 08:20:18 -06:00
43f704f0d5 If customfields has a label and only 1 field, use the label for the widget
This lets us use " " as label to hide the custom field's label
2023-07-18 08:20:12 -06:00
4727b40329 Merge remote-tracking branch 'origin/master' 2023-07-14 15:50:17 +02:00
b00371c7e1 WIP egw_action copy fixes
paste not working
2023-07-14 15:37:20 +02:00
61281ac778 fix not translated context menu 2023-07-14 11:30:19 +02:00
40a4d38776 fix not translated context menu
window.egw with a reference to the main window in a popup, egw(_app, window) gives one with correct window context / translation in a popup (_app does not matter for translations, they are requested to be loaded from server-side)
2023-07-14 10:41:48 +02:00
cae7ff0c01 add Promise<Et2Dialog> return type to openDialog 2023-07-14 09:08:36 +02:00
5b401feb85 Changes for opening etemplate in a dialog
- openDialog() now returns Promise<Et2Dialog>
- fixed etemplate reload
2023-07-14 09:08:35 +02:00
4bb5f9f7b2 WIP Mail REST API: fix reported problems with calendar quick add 2023-07-14 09:08:35 +02:00
e4b128408f Et2Dialog: Fix buttons could not be adopted if dialog contains only arbitrary slotted content 2023-07-14 09:08:35 +02:00
3c732b9caf WIP Mail REST API: fix closing dialog closes popup to because dialog was already removed when response was received 2023-07-14 09:08:35 +02:00
e9b054b025 WIP Mail REST API: change calendar to use new egw.openDialog():
- renamed app.dialogExec() to app.openDialog() or egw.openDialog()
- the later is the nicer place, but fails for lost window context with popups :(
2023-07-14 09:08:35 +02:00
b35e26a7f3 Get calendar quick-add working with Ralf's changes to open an etemplate in a dialog (c63784d7e8), fix buttons from those etemplates weren't adopted 2023-07-14 09:08:35 +02:00
d178087b16 WIP new app.ts method dialogExec(_menuaction) opening a popup into a dialog 2023-07-14 09:08:35 +02:00
f518f61335 WIP new app.ts method dialogExec(_menuaction) opening a popup into a dialog
ToDo: overwrite Framework actions in etemplate2.handle_load() to eg. close dialog, but not window, or refresh window instead of opener
2023-07-14 09:07:06 +02:00
b1a4a45bb1 add Promise<Et2Dialog> return type to openDialog 2023-07-14 08:54:07 +02:00
2858a8a599 WIP REST API for mail
currently we can launch (interactive) compose windows, if user is online
ToDo:
- send mails for a user
- authentication as arbitrary user with an API token
2023-07-14 08:39:58 +02:00
9d61a2ef17 Changes for opening etemplate in a dialog
- openDialog() now returns Promise<Et2Dialog>
- fixed etemplate reload
2023-07-13 16:18:11 -06:00
efaa3ae386 WIP Mail REST API: fix reported problems with calendar quick add 2023-07-13 18:44:00 +02:00
7693d7f012 Api: Fix et2_widget_entry sum & compare
Options property is deprecated for webComponents, and cannot be changed.
2023-07-13 10:40:59 -06:00
15cf0ca1ff Api: Fix et2_widget_entry sum & compare
Options property is deprecated for webComponents, and cannot be changed.
2023-07-13 10:38:58 -06:00
8dee34407e Et2Dialog: Fix buttons could not be adopted if dialog contains only arbitrary slotted content 2023-07-13 08:27:56 -06:00
865d2b3d8d WIP Mail REST API: fix closing dialog closes popup to because dialog was already removed when response was received 2023-07-13 15:36:55 +02:00
3e27def4f9 WIP Mail REST API: change calendar to use new egw.openDialog():
- renamed app.dialogExec() to app.openDialog() or egw.openDialog()
- the later is the nicer place, but fails for lost window context with popups :(
2023-07-13 15:22:21 +02:00
e6f142c7a4 Api: Fix nm columnselection still showed disabled columns 2023-07-12 15:08:31 -06:00
fb6f1654c7 Api: return a Promise from htmlarea.doLoadingFinished() so etemplate can wait for it to be initialized 2023-07-12 09:49:42 -06:00
50e3a1b204 Get calendar quick-add working with Ralf's changes to open an etemplate in a dialog (c63784d7e8), fix buttons from those etemplates weren't adopted 2023-07-11 17:07:51 -06:00
c63784d7e8 WIP new app.ts method dialogExec(_menuaction) opening a popup into a dialog 2023-07-11 22:45:54 +02:00
f6a15f3c94 Api: Swap sparse account array/object for simple list to fix missing options in select account widget 2023-07-11 14:16:10 -06:00
da2ab2004b Api: return a Promise from htmlarea.doLoadingFinished() so etemplate can wait for it to be initialized 2023-07-11 12:02:36 -06:00
6ee5d69e1e Api: Add a timeout for form submit
If a submit takes more than 30s, give a warning and hide the loader so the user can try to salvage their changes.
2023-07-11 08:55:16 -06:00
96bb3a6884 WIP new app.ts method dialogExec(_menuaction) opening a popup into a dialog
ToDo: overwrite Framework actions in etemplate2.handle_load() to eg. close dialog, but not window, or refresh window instead of opener
2023-07-11 13:38:09 +02:00
0c050ad9f3 Api: Add a timeout for form submit
If a submit takes more than 30s, give a warning and hide the loader so the user can try to salvage their changes.
2023-07-10 09:07:22 -06:00
5e3c67a5cf converted egw_action from javascript to typescript
classes are now uppercase and in their own files. lowercase classes are deprecated.
Interfaces are now actual interfaces that should be implemented instead of creating and returning an ai Object every time
2023-07-10 16:54:22 +02:00
2d0976f456 Handle parsing number into boolean expression 2023-07-06 08:46:12 -06:00
186a7d46dd Handle parsing number into boolean expression 2023-07-06 08:29:30 -06:00
dffa51e3dd Api: Pre-select opened mail dialog if add email address preference is not set 2023-07-05 08:20:00 -06:00
e78b33145e * Api: When clicking an email address, ask if user wants to add email to existing compose window or start a new mail 2023-07-05 08:19:44 -06:00