Commit Graph

450 Commits

Author SHA1 Message Date
ralf
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
nathan
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
ralf
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
milan
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
nathan
1b3ce756f9 Api: Pre-select opened mail dialog if add email address preference is not set 2023-07-05 08:12:44 -06:00
nathan
0e6f74da02 * Api: When clicking an email address, ask if user wants to add email to existing compose window or start a new mail 2023-07-04 08:27:59 -06:00
ralf
4616fb03d0 * mailto: fix wrong URL registered for on premise installation (you need to delete it in the browser first!)
Chrome: Datenschutz und Sicherheit > Website-Einstellungen > Zusätzliche-Berechtigungen (aufklappen!) > Protokoll-Handler
2023-06-30 11:19:18 +02:00
ralf
dfef4ce0c5 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-06-29 12:50:04 +02:00
hadi
a8a5a14b12 Fix egw message in login page is not removable 2023-05-25 16:34:28 +02:00
nathan
bea2659fe3 Api: Fix egw.copyTextToClipboard() to work in popups too 2023-05-18 13:47:15 -06:00
ralf
e2580aedea * Mail: work around Firefox not offering an option to not ask again installing EGroupware as mail-handler 2023-05-09 10:47:35 +02:00
nathan
7a75f50362 Api: Always resolve jsonq, even if empty array
Fixes callback was not called if response was []
2023-04-25 09:10:33 -06:00
hadi
2e570a0343 Fix toolbar actions not getting their icons displayed when the toolbar is being opened from its none origin apps 2023-04-19 17:50:57 +02:00
nathan
aac751f864 Api: Fix Et2Link did not open PDFs in Collabora, but always downloaded them 2023-04-18 11:48:25 -06:00
nathan
0026591f03 Api: Remove call to jQuery.dialog from app_base.js
Replaced with alert warning to port app to typescript (egw_app.ts)
2023-04-05 13:16:47 -06:00
nathan
8ec449403f Api: Remove call to jQuery.dialog 2023-04-05 11:52:55 -06:00
ralf
b95cdcb3c0 also declare and export app and framework 2023-03-17 08:52:52 +01:00
nathan
0117c4bde3 Move client-side holidays cache to MODULE_GLOBAL egw.holidays(year) 2023-02-27 15:15:36 -07:00
nathan
ab812c8dec Just the timer dialog gets timesheet color, leave others alone 2023-02-23 10:12:21 -07:00
ralf
5cf63cc45e * Timesheet: allow to set preference to never ask again to start working time on login 2023-02-20 12:42:21 +01:00
nathan
570edaa1e0 Et2Favorites: Update sidebox favorite icons when user changes default favorite 2023-02-09 16:47:59 -07:00
nathan
bf764df720 Mail: Multiple attachments changes
- Offer to open in Collabora any file, not just editable (PDF)
- Put collabora option first in the option list if user prefers to open in collabora
- Change label to "Open with Collabora Office" with translation from Birgit
2023-02-09 14:47:43 -07:00
Hadi Nategh
e397e43c1b Fix PGP back/restore dialog 2023-02-01 14:15:56 +01:00
ralf
4e1b31bb37 also legacy-load old phpgwapi JS code like tabs using in KB 2023-01-12 08:43:17 -06:00
nathan
28678c48f4 remove debug 2022-12-19 13:08:21 -07:00
nathan
e756962f86 Change egw.accounts() to always return a Promise 2022-12-15 10:22:19 -07:00
nathan
54498a005c Et2Dialog: Second try waiting on template load
Now creating the template promise immediately on setting template name and using a resolver function to resolve after template is loaded
2022-12-14 10:39:15 -07:00
ralf
26d4082cda fix not working buttons in timer dialog 2022-12-08 20:13:32 +01:00
nathan
390fbf3608 Dialog work
- Switch from LionDialog to SlDialog as base
- First input should get focus
- First button gets set as primary (if no default set), Enter key will act as a click on it
- Escape key closes dialog
2022-11-30 15:59:25 -07:00
nathan
bd584e468c Check if websocket is connected as part of pushAvailable() check 2022-11-11 08:46:34 -07:00
ralf
5f6ab54c83 fix undefined response error caused by empty response body 2022-11-09 11:03:54 +01:00
ralf
5302675aac new method egw.pushAvailable() : bool to check availability of push-server on client-side 2022-11-07 21:31:23 +01:00
Hadi Nategh
8b83ed85d3 Fix egw messages in popup are wrongly positioned 2022-11-07 16:44:00 +01:00
nathan
2659a8ab63 Filemanager: Add copy to clipboard button to share link dialog 2022-10-28 10:05:03 -06:00
ralf
38e7a977d1 when time get overwritten/updated, we need to set last time, to avoid error that time can not be set before last action 2022-10-25 20:16:23 +02:00
nathan
24fb01d190 Filemanager: Add push support 2022-10-24 09:58:11 -06:00
nathan
323e45caf7 Don't show warning when main window is lost 2022-10-18 13:45:06 -06:00
ralf
05b316f7ff move egw_get_file_editor_prefered_mimes() to egw.file_editor_prefered_mimes() as everything in old jsapi.js is deprecated and should be removed
.
2022-10-18 08:30:15 +02:00
nathan
6034702a7c Et2Link: Fix editable files were downloaded instead of opened in Collabora 2022-10-17 14:47:34 -06:00
ralf
2834af46bc WIP timesheet timers: fix overwriting time via clicking on time displayed under the button 2022-10-17 11:39:09 +02:00
ralf
c2fea85c2a WIP timesheet timers: show time under each button and allow overwriting it via a click on the time
ToDo:
- Stop on paused timer does not behave write, overwriting stop needs testing, as timesheet need to be updated too, because it's already stored
- not checks or min/max values and config on overwrite time
2022-10-14 21:59:15 +02:00
ralf
bc9e252da9 WIP timesheet timers: dont ask again to start working time, if user denied it in this session or last 18 hours 2022-10-14 14:26:13 +02:00
ralf
664bb86b2a WIP timesheet timers: create a single working time timesheet per configured periode of day, week or month 2022-10-14 10:12:11 +02:00
ralf
7404cc1119 WIP timesheet timers: do NOT round hours for hh:mm display, as 30min will give 1:30, instead of 0:30 2022-10-13 16:42:37 +02:00
ralf
49f608159c WIP timesheet timer: ask user to start/stop working time with session/login/logout
if working time is not disabled in timesheet config, or asking is disabled in user preferences
2022-10-13 16:31:17 +02:00
ralf
075ba0f330 WIP timesheet timers: do not allow to enter a time before the last time entered
eg. a stop- or pause-time before the start-time or a start-time before the last stop- or pause-time
2022-10-11 16:20:17 +02:00
ralf
65c1233ced WIP timesheet timer: allow to start timer as alternative to add a timesheet directly
timesheet will be added on stopping the timer
2022-10-09 15:30:46 +02:00
ralf
d8e993dc75 WIP timesheet timers: allow to add more time on an existing timesheet with right click "Start timer" 2022-10-07 19:36:57 +02:00
ralf
d6bfa7d9ee WIP timesheet timers: give an error, if user overwrite stop- or pause-time before the start 2022-10-06 13:56:44 +02:00
ralf
ccee240055 WIP timesheet timers: fix overwrite and display overwritten time and time of recording 2022-10-06 09:03:51 +02:00
nathan
ec388c955a Fix open compose windows created new drafts after main window was reloaded 2022-10-05 14:30:43 -06:00
ralf
59da89fe8b WIP timesheet timers: config to disable timers and overwrite of start&stop time 2022-10-05 14:55:42 +02:00
ralf
8fad43b705 WIP timesheet timer: start, pause and stop now via a dialog showing both timers and all buttons 2022-10-05 12:51:59 +02:00
ralf
caef7296ce invalidating/deleting et2-select-cat's cache on adding, updating or deleting categories
Also pushing cat-changes as app "api-cats" to client-side
ToDo: client-side code to update category list in admin or preferences
2022-10-04 12:54:30 +02:00
ralf
0a9526c152 WIP timesheet timer: persistence and opening a new timesheet when stoping the specific timer 2022-09-30 19:07:33 +02:00
Hadi Nategh
b6398c4059 Fix couple of mobile template issues 2022-09-30 11:39:51 +02:00
ralf
780f14b4c5 WIP timesheet timer: add (project, task, ticket) specific timer to existing overall timer 2022-09-29 21:09:35 +02:00
ralf
1308b09493 WIP timesheet timer 2022-09-29 18:04:57 +02:00
Hadi Nategh
2ed1a12617 Fix topmenu dropdowns click handler 2022-09-26 13:36:10 +02:00
ralf
3c79bd4345 WIP timesheet timer
just a prototype for now, no persistence beside the session to test reloads
2022-09-26 08:54:05 +02:00
nathan
79b6cef5fd Switch egw.user(..., async=true) to always return a Promise for consistency
Switch Et2ButtonTimestamper to use egw.user(...,async=true)
2022-09-20 08:05:59 -06:00
nathan
a3e2850b05 Send info to open popups to inform user that main window has been reloaded. 2022-09-15 15:14:16 -06:00
Hadi Nategh
f7c8c09a4b Drop tutorials 2022-09-12 13:24:00 +02:00
Hadi Nategh
3435c475f5 Implement cursor position center for egw_tooltip 2022-09-08 16:16:34 +02:00
ralf
9f4fb1343d fix Mailvelope in infolog.edit 2022-09-08 11:27:02 +02:00
nathan
080dea2378 Fix add favorites
Changed to use a proper template & dialog, now that we have et2-details widget.
2022-08-25 11:47:21 -06:00
ralf
6c3df5ad8b fix not translated quick add
caused by _callback not waiting for promise
2022-08-22 14:24:35 +02:00
ralf
2a7d05a545 fix not camelCase attribute name, sanitize app-names to 16 chars and use "infolog" for CRM-view
still not fully working, as NM controller somehow overwrites it again :(
2022-08-16 10:10:36 +02:00
nathan
d5d6d54902 Avoid error if title widget is not an input widget 2022-08-15 10:40:13 -06:00
ralf
e1c8acddc1 fix egw.request() to return simple / non-json-responses, like egw.json() does 2022-08-08 17:28:51 +02:00
ralf
2017bd8261 remove legacy widgets dropdown_button and favorites 2022-08-07 12:09:02 +02:00
ralf
f699c36a47 fix getAppName sometimes reports "phpgwapi" from this.appName causing eg. attachment icon in filemanager to come from old phpgwapi directory 2022-08-02 14:52:20 +02:00
ralf
ab0bf89d17 fix missing icons in quick_add after move of images
also added invisible emptyLabel to not select first one
2022-08-01 12:02:40 +02:00
ralf
49762fa4dc fix Safari (at least 15.5) gives error link-registry not defined
caused by not implemented navigator.registerProtocolHandler()
2022-07-28 14:23:36 +02:00
ralf
f5cf39f224 allow to disable installing EGroupware as mailto handler globally 2022-07-26 10:05:43 +02:00
ralf
1058347c0a trying to fix FF poping up install mailto-link message constantly, when changing content in an iframe / reading mail 2022-07-25 08:35:34 +02:00
ralf
ec8c38b882 * Mail: register EGroupware as protocol handler for mail, you need to click on the double-diamond in the url bar and confirm it 2022-07-22 09:43:37 +02:00
Hadi Nategh
5038d060fe Use et2-select webcomponent for quick add button 2022-07-19 16:50:02 +02:00
Hadi Nategh
6d1674bc45 Fix egw.tooltip documentation 2022-06-03 17:11:31 +02:00
ralf
5859ce0c37 fix CRM view shown with [object Promise] instead of title 2022-06-03 11:21:09 +02:00
Hadi Nategh
2b85b0b920 Fix options not available 2022-06-02 18:00:34 +02:00
Hadi Nategh
f6340e21d0 Add some options into tooltip 2022-06-02 18:00:34 +02:00
Hadi Nategh
1afcc3ebce Replace all jquery-ui sortable used in fw 2022-05-23 17:45:56 +02:00
nathan
a7940fe4f6 Update declaration signature 2022-05-12 11:03:18 -06:00
ralf
849291889e fix some TypeScript errors displayed by IDE in new ExposeMixing 2022-05-07 11:35:27 +02:00
ralf
3eaed09185 fix not working et2-date-since and rename et2-date-time_today to et2-date-time-today
create a new method egw.getTimezoneOffset() return current offset according to user preferences on server-side, like (new Date).getTimezoneOffset()
2022-05-05 11:38:48 +02:00
ralf
b2044db11e remove jQueryUI date picker 2022-05-03 15:38:47 +02:00
ralf
3777ba7691 fix not working callback syntax with egw.jsonq() and changing callback to promise (after the fix) 2022-05-02 16:22:12 +02:00
ralf
74ad3ba7b0 change egw.jsonq() and egw.link_title() to return promises
* egw.jsonq() now always returns a promise like egw.request(), still supporting old callback syntax
* egw.link_title(_app, _id, _callback, _context, _force_reload) supports boolean values for _callback (to not break existing code)
- false: just a cache lookup (like current call with just 2 parameters), returning null, if no title is cached, or the title
- true: always return a promise, which might already be resolved, if title was cached
- function: also returns a promise and calls the callback
--> calling egw.link_title(_app, _id) without 3rd parameter is deprecated now (gives a console.trace), to be changed in future to always return a promise, unless called with false, to just return a cache-lookup
* Et2SelectAccountReadonly and et2_link_widget is changed to use the new/updated syntax with promises
2022-05-02 11:27:33 +02:00
ralf
e4c2432f4c replace jQuery.ui.keyCode.X with EGW_KEY_X 2022-04-30 10:33:07 +02:00
ralf
c62b305b4a return a Promise from egw.accountData and deprecated, but still support, the use of a callback
egw.accounts can be called with a second parameter async=true to query accounts async and return a Promise
2022-04-27 17:33:07 +02:00
nathan
7d86272b28 CSS / Layout cleanup
- Fix select with tags=true causes hidden WebComponents to display

Chosen wants to do sizing calculations which wasn't working properly on w.c.
2022-04-25 10:46:51 -06:00
Hadi Nategh
8b147bc285 Fix removeSessionItem not working 2022-04-05 10:24:06 +02:00
nathan
9693cfe538 Switch nextmatch print & select all to using Et2Dialog 2022-03-23 13:28:15 -06:00
nathan
96039e0729 egw_open doesn't like the import... 2022-03-17 16:54:43 -06:00
nathan
255add7d98 Api: Switch from et2_dialog to Et2Dialog
Might be some I missed or can't change just yet
2022-03-17 16:18:39 -06:00
nathan
d2020727fe Fix some missing translation problems 2022-02-11 13:02:21 -07:00
nathan
c964ccd584 - Fix 'Forgot password' could not complete due to redirect
- Avoid error if no groups selected in registration configuration
2022-02-08 15:26:52 -07:00
Ralf Becker
1f4cb50e74 use $method parameter of Api\Etemplate::exec() plus new et2_process handler as menuaction GET parameter
allows determining the called function on the URL to eg. send it to different FPM pool
(before the menuaction of et2 was always "EGroupware\Api\Etemplate::ajax_process_content")
2022-01-09 16:38:14 +02:00
nathan
50f4b5cd47 Fix missing calendar participant + button
set_readonly() was missing, getWindowTitle() was using .options.value instead of get_value()
2021-12-07 13:36:53 -07:00