Commit Graph

1550 Commits

Author SHA1 Message Date
Ralf Becker
04f4a327c2 implement date-duration select_unit="false" to show durations like "0:01:20" 2021-02-05 15:57:59 +02:00
Hadi Nategh
62951986ae Add break_title option for link widget in order to be able to break link's title into new line based on a given delimiter 2021-02-03 14:14:22 +01:00
Hadi Nategh
8f28533288 Set initial startitme after the video is loaded 2021-02-02 12:35:28 +01:00
Ralf Becker
bbd9a5a765 allow to set starttime of video 2021-02-02 12:02:52 +02:00
nathangray
a412aa18a4 Etemplate: Export et2_appicon 2021-02-01 16:54:20 -07:00
nathangray
6ab0ad934b Etemplate: Fix tree default icons path was still in phpgwapi 2021-02-01 16:40:10 -07:00
Ralf Becker
2af199f725 new precision option to limit number of counters shown 2021-01-29 20:35:00 +02:00
Ralf Becker
15c72f284f change client-side to only deal with a duration converted server-side from an end-datetime or a duration like "+123seconds" 2021-01-28 19:53:14 +02:00
Ralf Becker
5b4a436ab3 countdown: convert datetime server-side into a duration to avoid problems with wrong time or timezone on client 2021-01-28 16:02:38 +02:00
Ralf Becker
69b33e9288 make countdown a value-widget to get automatic timezone handling by date widgets beforeSendToClient method 2021-01-28 12:08:29 +02: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
nathangray
e980f3a851 Etemplate: if readonly radiobox has the default ro_true=X, we still need the label 2021-01-26 13:09:39 -07:00
nathangray
867fcc17c6 Etemplate: Allow to specify the read only true/false values for checkbox customfields 2021-01-26 10:42:18 -07: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
Ralf Becker
8425f380fe some fixes for int/float widget: server-side was not expanding min/max attribute and client-side considers empty min/max attr as 0 2021-01-22 17:24:55 +02:00
Hadi Nategh
4e95ac86a8 Add some jquery dialog options 2021-01-14 16:57:28 +01:00
nathangray
208817054b * Etemplate: Avoid "Uncaught TypeError: Cannot read property ‘length’ of undefined"
This was happening when an app was open but not currently active and had a push update with no type.
2021-01-13 09:08:53 -07:00
Hadi Nategh
a777610c2d Fix htmlarea resize 2021-01-07 11:46:09 +01:00
Hadi Nategh
85b14052ea Make blockquotes breakable in html editor 2021-01-06 14:06:21 +01:00
nathangray
cf9c366d2b Etemplate: Bugfixes
- Early exit for arrayMgr().getEntry() if nothing is found, avoids returning all data
- Remove debugger from selectbox
2021-01-04 11:00:10 -07:00
nathangray
5c10576b3b Don't event set sort order if it hasn't changed 2021-01-04 09:43:54 -07: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
nathangray
5b5539584a Etemplate: Fix tooltip didn't work on select+tag widget 2020-12-21 10:04:24 -07:00
nathangray
8910983c8e Etemplate: Fix for some attributes not getting set 2020-12-17 09:17:38 -07:00
Hadi Nategh
f21ac58c87 Introduce dark/light mode theme switch into framework 2020-12-15 20:24:25 +01:00
nathangray
c301c1b194 Etemplate: Fix read-only selectAccount would always add new values causing doubles 2020-12-15 09:41:02 -07:00
Alexandros Sigalas
2a333be92d Added tooltip in multiselect selectbox widget 2020-12-10 08:55:05 -07:00
Hadi Nategh
cde6c10e05 Add Segoe font family into HTMLEditor 2020-12-09 13:17:37 +01:00
Hadi Nategh
e317645291 * Addressbook: fix 'undefined' title shown for some contact links opened in CRM view tabs 2020-12-03 18:19:25 +01:00
Hadi Nategh
d957ed41d0 Implement an alarm callback for countdown widget 2020-12-02 16:54:50 +01:00
Hadi Nategh
bd8a78505b Add new option to countdown widget inorder to hide empty values 2020-11-30 14:35:28 +01:00
nathangray
3e371ea51f Etemplate: Don't try to expand src if it is empty 2020-11-24 10:24:36 -07:00
Hadi Nategh
54eb66fd30 Add onFinish callback to countdown widget and style it 2020-11-24 13:46:05 +01:00
Hadi Nategh
65b24440a0 Implement widget countdown timer 2020-11-23 21:11:19 +01:00
nathangray
522fca6344 Etemplate: Apply sort order (to UI) if server sends it 2020-11-23 10:19:11 -07:00
nathangray
9bc4c41941 Api: Clear sorting with 'No filters' favorite 2020-11-16 10:57:04 -07:00
Hadi Nategh
09c0d12f0e Fix error trim is not a function from commit bac5c2e83b 2020-11-13 13:50:53 +01:00
nathangray
bac5c2e83b Etemplate: If key is empty / not set, don't try to explode it 2020-11-12 16:29:57 -07:00
nathangray
eb7a03b191 Etemplate: Limit sortable to just the grid's immediate rows, excluding rows in nested grids 2020-11-10 13:41:24 -07:00
nathangray
1ba23feb9c Etemplate: Fix nextmatch controller destroy() left some references
AJAX responses would then try to use them after the etemplate was destroyed, and fail.
2020-11-09 09:44:40 -07:00
Hadi Nategh
e549b6fcd9 Use replace() instead of replaceAll() as it's not supported in older browser versions 2020-11-09 11:10:18 +01:00
nathangray
8b28d8ffd0 Etemplate: Include etemplate exec_id as sortable parameter 2020-11-04 15:15:31 -07:00
Hadi Nategh
f064ff8242 Make sure the params exists before addressing it 2020-11-03 11:47:26 +01:00
Hadi Nategh
e34e18757e Purify framework tab appname used as dom id 2020-11-02 17:38:35 +01:00
Hadi Nategh
082d7fddad Remove closed tabs from the client-side session 2020-11-02 13:12:43 +01:00
Hadi Nategh
0d68c751bf Keep the open crm view tabs after reload 2020-11-02 12:50:39 +01:00
Ralf Becker
e98e91b9f3 give explicit select-options priority over querying accounts via link-widget, fixes not displayed addressbook for sharing 2020-11-02 09:09:46 +01:00
Hadi Nategh
b0e2e1f1be Open crm view for contact link 2020-10-29 11:47:29 +01:00
Ralf Becker
9021220f14 only return "" for blur-value, if browser does not support html5 placeholder 2020-10-29 11:00:45 +01:00
Ralf Becker
47da0f9bf8 * Addressbook: allow to configure sending fax via email by replacing the number with an email address 2020-10-28 13:30:28 +01:00
nathangray
bf615644d4 Api: Add egw.request() into egw_global.d.ts 2020-10-27 16:17:32 -06:00
nathangray
7cfbf133cd Etemplate: Also expand grids if they're inside a box 2020-10-27 16:17:04 -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
Hadi Nategh
321aebf199 Fix type error not finding app object 2020-10-23 11:11:42 +02:00
nathangray
d16b91c901 Etemplate: Queue refresh() calls made while nextmatch is hidden.
Queue is limited in length, after too many refresh() calls, we throw away the queue and refresh the whole thing when nextmatch is visible again.
2020-10-22 15:53:59 -06:00
nathangray
3b90e1a50d Etemplate: Fix auto-refresh mixed up new rows 2020-10-22 13:40:38 -06:00
Hadi Nategh
7d1cd4c12c WIP Multitabs:
- Fix wrong ids generated for sideboxes
- Fix tab header refresh
2020-10-22 13:52:17 +02: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
c2ca23a071 Do not create application object if already exists simply open the tab 2020-10-20 17:28:14 +02: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
d1955419ee Etemplate: Fix flipping between 2 nextmatch filter values stopped updating results after 2 changes 2020-10-19 13:17:09 -06:00
Hadi Nategh
5288e3a0fd Make sure sender object is there before using it 2020-10-19 16:06:22 +02:00
Ralf Becker
09f95a8e78 manifest scope need a tailing slash eg. "/egroupware/" 2020-10-19 13:42:45 +02:00
Hadi Nategh
644feaffa4 * Filemanager: fix drag and drop a file no longer working from outside of browser into the list 2020-10-19 12:54:16 +02:00
Ralf Becker
fa98eb1071 fix a couple of errors stalling file uploades 2020-10-19 11:45:49 +02:00
Ralf Becker
910329c2e7 * Rocket.Chat: fix not working login with newer desktop clients
there were two problems:
1. Whatever URL you specify, the client removes the path and queries just /, our index.php now detects Rocket.Chat User-Agent header and redirects to /rocketchat/ in that case
2. our manifest.json an webworker registration was not using the individual webserver-URL but as static path
2020-10-19 10:30:08 +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
nathangray
c78c8cc215 Etemplate: Make sure controller has current filters when created. Fixes scrolling to trigger fetching more rows did not pass initial filters. 2020-10-15 14:56:23 -06:00
nathangray
0df6306dc2 Etemplate: Fix multi-select / tags value sometimes got lost if we had to fetch options from the server 2020-10-15 11:22:45 -06: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
nathangray
758934c1e4 Etemplate: Fix printing ruined scrolling in nextmatch 2020-10-15 10:11:24 -06: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
nathangray
90080cc0e6 Etemplate: Fix extra rows stayed hidden after printing 2020-10-14 11:48:57 -06:00
nathangray
52b1cab8e1 Etemplate: Fix drag and drop linking made the rows involved disappear 2020-10-14 10:38:11 -06: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
Hadi Nategh
4f1ce8da48 Add table into toolbar list 2020-10-14 11:38:07 +02:00
Hadi Nategh
43600426c7 * Api: Add table button into html editor's toolbar 2020-10-14 11:05:51 +02:00
Hadi Nategh
2ed6f54e9b Updates tinymce to 5.5.1 and implements toolbar_mode option for htmlarea 2020-10-14 10:40:35 +02:00
Hadi Nategh
71dabcd33b Fix sorting for connectedWidth columns 2020-10-14 10:33:19 +02:00
nathangray
855d6defc9 Etemplate: Fix push add to an empty nextmatch would leave the 'No matches found' and throw errors for row actions 2020-10-09 10:15:17 -06:00
Hadi Nategh
23aea3b42e Make html widget exportable 2020-10-09 14:57:15 +02:00
Ralf Becker
4f2131358f fix Uncaught (in promise) TypeError: this.context.getManager is not a function, causing empty status bar 2020-10-09 14:05:48 +02:00
nathangray
9c4f866382 Fix methods in hidden app objects could not be used as action handlers
Now nextmatch sets the etemplate's EgwApp object as context for the action manager.  Actions now check and will use the set context instead of global when binding to handlers
2020-10-08 14:57:45 -06:00
nathangray
ba0e1240c3 CRM: Fix some list bugs
- Adding an infolog did not show up
- CRM.ts got disconnected if infolog list got reloaded
2020-10-08 11:53:33 -06:00
Hadi Nategh
87b1b05730 Make htmlarea widget exportable 2020-10-08 12:15:08 +02:00
Ralf Becker
1c1ee3a25b execute non-http(s) links eg. tel: like before 2020-10-07 14:06:10 +02:00
Hadi Nategh
588a667137 Make et2_number widget exportable 2020-10-06 10:31:26 +02:00
nathangray
dd015a62a8 Etemplate: Avoid session destruction from PBX integration 2020-10-05 12:58:50 -06: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
nathangray
f07303b321 Etemplate: Fix editing entry so it no longer matched current filters would cause missing rows and incorrect total 2020-10-02 10:39:33 -06:00
Hadi Nategh
81420b2261 WIP multitabs:
- Add a flag to specify app object is a fw tab
2020-09-30 16:03:04 +02:00
Hadi Nategh
7f4535cf1d WIP multitabs and CRM view 2020-09-30 13:19:36 +02:00
nathangray
ba7cbc5d5a Etemplate: Make child nodes protected instead of private for easier extending 2020-09-28 10:05:32 -06:00
nathangray
53577db40c Etemplate: fix for better behaviour if lazy-update pref is not set 2020-09-28 08:51:46 -06:00
Hadi Nategh
cdbc5e3a71 Create new sidemenuEntry for tab target 2020-09-28 15:43:42 +02:00
Hadi Nategh
acbd23a60a * Mail: Add custom html toolbar settings in mail site-configuration in order to be able to add/remove certain actions only for mail-compose dialog. 2020-09-25 14:17:29 +02:00
Hadi Nategh
3956760c23 Add tooltip for Tab's header, it can be set as attribute 'hint' in openTab framework app object too 2020-09-25 11:53:00 +02:00
Hadi Nategh
f88ae4f46a Merge branch 'multitabs' 2020-09-25 11:30:32 +02:00
nathangray
293f9cc446 Etemplate: Different way to download generated files to avoid destroying sessions of not-visible etemplates 2020-09-24 15:18:22 -06: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
6c6759549e Make a copy of app object to not destroy the existing one 2020-09-24 11:13:12 +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
2ef359f0d0 Etemplate: Fix selectAccount deprecated legacy option of putting account type in empty label 2020-09-16 09:14:50 -06:00
Hadi Nategh
c05047728c Push online users into top of the list as soon as they're active 2020-09-16 16:17:57 +02:00
nathangray
39b630d36e Etemplate: Fix some selectAccount bugs when multiple=true 2020-09-15 11:23:02 -06:00
nathangray
f38f61cf1b Correct parameters in TS 2020-09-15 09:05:48 -06:00
nathangray
afb342f66b Etemplate: Ask for new data before we put the row in, then if the entry doesn't match the filters, don't put it in. Should stop most blinking rows. 2020-09-15 09:05:25 -06:00
nathangray
47a1437e1b Etemplate: Consider null as false when parsing boolean values into template attributes 2020-09-14 09:37:37 -06:00
nathangray
459ba3d93c * Etemplate: Fix historylog did not render until you resize the window 2020-09-11 13:12:09 -06:00
Ralf Becker
638da52fa9 fix date-duration fails with only one date-format eg. "m" 2020-09-11 20:22:51 +02:00
nathangray
56e1d3c5e5 Etemplate: Fix some missing includes 2020-09-10 16:59:34 -06:00
nathangray
d6d55c32a9 Etemplate: Fix updated entries were sometimes not flagged, clear color after 3 minutes 2020-09-10 13:42:32 -06:00
nathangray
2dc5616b96 Separate CRM list from infolog list so push updates don't conflict 2020-09-03 09:58:27 -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
b7b4cb31c8 Etemplate: Row count does not depend on data.class 2020-09-01 12:22:47 -06:00
nathangray
df57ea914e Etemplate: Fix another bug in refresh / add / update
This one was found in Infolog, adding a sub to an entry with the show-subs preference set to only while filtering.  The row count would be off by one if the new entry did not match the filter.
2020-09-01 11:54:35 -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
3ff331c22b Etemplate: Avoid trying to repaint datagrid while it's hidden
Avoids an infinite(?) loop and endless "[Violation] 'setTimeout' handler took <N>ms" messages
2020-08-31 14:06:18 -06:00
nathangray
1ad5d321a4 Etemplate: Fix double duration format in timesheet nextmatch header 2020-08-28 13:53:23 -06:00
nathangray
6b5414904f Remove workaround, fix 3 second refresh 2020-08-26 14:39:39 -06:00
nathangray
a013d78947 Partially revert 26a6749 as it's been handled elsewhere
(030dafc0a7c9bdc6677afe87fa69615068acb4c0,d525347275a2268ed9624d35ddbd4e43a345179d)
2020-08-26 13:47:11 -06:00
nathangray
075c44a48b Etemplate: Don't try to delete row if it's not in the nextmatch 2020-08-26 11:24:15 -06:00
nathangray
d525347275 Fix nm displayed row count was not updated when adding a row.
This seems to have resolved the issue of the last row going missing.
2020-08-26 09:26:18 -06:00
nathangray
030dafc0a7 Etemplate: Fix some nm / push bugs
- Handling for sub-grids
- Fix some index issues in selectionMgr causing rows to jump around
2020-08-25 15:57:20 -06:00
nathangray
8cd05c571b Add debug function to log selected nextmatch internals
Example usage:
etemplate2.getByApplication('addressbook')[0].widgetContainer.getDOMWidgetById('nm').spillYourGuts()
2020-08-25 14:01:31 -06:00
Hadi Nategh
6d467e33ed Avoid getting exceptions when user has no access to status app but getting notified by broadcast message 2020-08-25 13:21:53 +02:00
Hadi Nategh
6c9e83b38a Fix set column not working because of using wrong constant variable 2020-08-20 16:47:38 +02:00
Hadi Nategh
71605c0c14 * All Apps: fix print list column selection does not contain customfields 2020-08-20 16:18:39 +02:00
Hadi Nategh
d48efdedd8 Make commit 26a6749b3d condition available only for refresh add 2020-08-20 15:19:15 +02:00
Hadi Nategh
f63a0a6075 Fix radiobox widget calling onchange event infinitely 2020-08-18 13:20:29 +02:00
Ralf Becker
26a6749b3d * All apps: fix last rows was removed when adding new entry to list with only a couple of rows
see ticket #48204, we do a full refresh now to work around this issue until we have a real fix
2020-08-17 12:15:40 +02:00
Ralf Becker
e3434b144d fix sometimes not deleted infologs ("0 selected"), because global var got deleted, using now a closure as for the action 2020-08-16 11:22:16 +02:00
Hadi Nategh
8bbb05a596 Fix clear button in search widget disappears after being reloaded 2020-08-14 13:35:30 +02:00
Hadi Nategh
ed943afdf5 * All apps: fix drag and drop a file from FireFox download list not working 2020-08-13 16:23:07 +02:00
Hadi Nategh
31241227e1 * File Sharing: fix broken file sharing dialog 2020-08-13 14:35:09 +02:00
Hadi Nategh
fe47a2af28 A temporary fix for commit 471741ce12 which breaks nm row update with auto refresh enabled 2020-08-12 12:04:03 +02:00
Hadi Nategh
06e770f469 Fix nm filter onchange no longer sending expected nm widget 2020-08-11 15:45:40 +02:00
nathangray
036ec20769 Fix some nextmatch bugs
- Removed rows could still have jQuery actions bound, resulting in errors
- Focused row was not cleared if it was removed, resulting in errors
- Fixed double get_rows call on refresh(..., update)
2020-08-08 10:51:39 -06:00
nathangray
afec14a17e Fix removing a nm row did not re-index
This caused duplications or holes depending on what you did before or after
2020-08-07 14:12:30 -06:00
nathangray
ff35f58f73 Change addressbook group / template on client side, not server side
Fixes the issue where the nextmatch_controller is part of the context for the request, but the first thing set_template() does when the server tells the nextmatch to change the template is destroy the controller.  This means that when the data is parsed, the context is missing or damaged.
2020-08-07 13:18:41 -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
nathangray
dadf0fe993 Etemplate: Fix et2_selectAccount legacy options were not set 2020-08-06 16:39:59 -06:00
nathangray
29b22e336e Fix CRM view did not add new infolog entries on push 2020-08-06 12:49:33 -06:00
nathangray
2cf0e7732d Fix update was doing full refresh, changed back to previous behaviour
Left 'update-in-place', as discussed, as it's way more clear what it does.
2020-08-06 09:14:41 -06:00
nathangray
faed2f97d4 Etemplate: Add et2_nextmatch.set_disable_autorefresh() to change it dynamically 2020-08-06 08:40:41 -06:00
Hadi Nategh
e3c356b2c2 Add missing compiled js file from commit 13ed300c9c 2020-08-06 10:37:56 +02:00
nathangray
fba4323765 Etemplate: add disable_autorefresh attribute to nextmatch to be able to disable autorefresh 2020-08-05 11:21:33 -06:00
Ralf Becker
3b4d8071e9 improve fix not updated number of nextmatch rows on push type "delete" 2020-08-05 18:48:35 +02:00
nathangray
13ed300c9c * Etemplate: Fix entry widget had wrong ID, so was missing value
Typescript conversion error
2020-08-05 10:36:42 -06: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
nathangray
88b7bccdb9 Etemplate: Password suggest now works if started disabled then enabled via JS 2020-07-30 13:50:12 -06:00
nathangray
5379a0c924 Home using non-global EgwApp instances for portlets 2020-07-30 13:00:53 -06:00
nathangray
80b72bfb3c Etemplate: Fix password widget did not disable suggest dynamically 2020-07-30 09:21:40 -10: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
nathangray
471741ce12 Etemplate: Update controller indexMap when adding a new row
Fixes deleting former top mail that got moved down by a pushed new mail removed both newly added and the selected mail
2020-07-29 13:20:09 -06:00
Ralf Becker
33d983f547 * Calendar: fix not working refresh via push, if Home app is used
Current fix only makes sure global app.calendar created by home get completly destroyed (and newly created by calendar itself), and not just unregistered from the push
We probably want to modify home to create private app objects for its portlets
2020-07-29 18:25:09 +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
631587eab1 Fix notifications stalling login 2020-07-29 12:55:15 +02:00
nathangray
bd8b99f8c1 Try to fix up password with respect to autofill 2020-07-28 10:39:16 -06:00
nathangray
59cd2dcded Etemplate: nm.refresh() with type 'edit' no longer always fully reloads all rows, it now behaves the same as 'update' 2020-07-27 14:07:15 -06:00
nathangray
77a413b66b Etemplate: Fix isDirty() was always false for multi-select (tracker selection) 2020-07-27 13:44:11 -06:00
Hadi Nategh
231312b0aa Implement popup notifications filter based on tab notification's indicator 2020-07-27 14:44:44 +02:00
Hadi Nategh
7900bfd9cd Avoid outputting same message multiple times if it's still alive 2020-07-24 12:46:29 +02:00
Hadi Nategh
ae0349487d Change tab notification indicator 2020-07-24 11:32:52 +02:00
Ralf Becker
8bb9111cd5 fix double message in popup and none in main window 2020-07-24 09:23:44 +02:00
nathangray
b6e47f9b11 Etemplate: Password widget now auto-updates the second 'confirm' password if you have two and suggest a password. 2020-07-23 13:56:14 -06:00
nathangray
6d2af76576 * Infolog: Push updates 2020-07-23 13:34:08 -06:00
Hadi Nategh
0cea328928 Only set notification tab for none active tabs 2020-07-23 17:39:39 +02:00
Hadi Nategh
1815b1e985 Implement framework tab's notification 2020-07-23 15:50:15 +02:00
nathangray
3e9794e526 Etemplate: Do not bother to resize hidden etemplates
Fixes Admin > App > Site config gets resized incorrectly when switching to another app's tab & back
2020-07-22 15:51:42 -06:00
Ralf Becker
4b9be2876e fix new mail rows appear no unseen 2020-07-22 21:32:48 +02: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
Ralf Becker
32043f7a41 trigger full refresh / applyFilters, if app refresh_add returns false 2020-07-22 16:58:40 +02:00
nathangray
32b061919f Etemplate: Change default for password widget suggest to off
Customfields still default to on
2020-07-21 15:36:45 -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
Ralf Becker
8e213a7de5 set id of DOM container, in case server-side returned a different eTemplate 2020-07-21 22:05:08 +02:00
nathangray
bd6b20bae8 Fix home cannot find its portlet templates
This reverts commit ff0cdf8143.
2020-07-20 14:34:10 -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
Hadi Nategh
fcd7a77c44 Fixing none app static functions stopped being called relevant to commit 52eb5ca8e0 2020-07-15 11:01:34 +02:00
nathangray
3dd30b1ee1 Api: Fix multiple action confirmation 2020-07-14 14:19:53 -06:00
Hadi Nategh
b29cce05be Fix searchbox no longer works in mobile template 2020-07-14 12:17:15 +02:00
Ralf Becker
808313c121 set grants if given for push 2020-07-13 19:26:05 +02:00
nathangray
31b7c49fd3 Etemplate: Avoid error if sender is not passed 2020-07-10 13:30:47 -06:00
nathangray
af4fcd7a2d Etemplate: Avoid trying to process regexes by checking for end anchor 2020-07-10 13:27:48 -06:00
nathangray
13842ffb79 * Infolog: Add filter by contact to export filters 2020-07-10 13:13:04 -06:00
nathangray
510a6419c5 Etemplate: Avoid error if file_data.mime is false for some reason
(file missing)
2020-07-10 11:11:05 -06:00
Hadi Nategh
146cba903b Add missing part from commit 4c7709d49f 2020-07-10 13:16:50 +02:00
nathangray
4fc02fbe20 Etemplate: Fix searchbox did not properly manage child DOM nodes 2020-07-08 14:34:50 -06:00
nathangray
9cb143d0d3 Etemplate: Prevent dialogs from destroying parent's request 2020-07-08 11:01:05 -06:00
Ralf Becker
34cbc6880a step attribute for number widget 2020-07-06 18:24:07 +02:00
nathangray
4c7709d49f Etemplate: Get vfsUpload values to use expose so they work like links 2020-07-03 14:23:41 -06:00
nathangray
e80c118aa8 Etemplate: Replace resetDirty(), it's needed for IInput interface 2020-07-02 11:19:11 -06:00
nathangray
7278b30ff0 Actually set the default cf prefix so everything works. 2020-07-02 09:40:09 -06:00
nathangray
5958feb1c3 Etemplate: add customfield prefix as an explicit attribute, importexport filter was using it 2020-06-30 10:43:41 -06:00
nathangray
57d03110e4 Etemplate: If long task response is an object, stringify the object so we can see what it says 2020-06-29 14:08:02 -06:00
nathangray
b057f95a5a Close confirm improvements & fixes
- Toolbars are now always not dirty
2020-06-29 13:23:17 -06:00
nathangray
10846271f1 Close confirm improvements & fixes
- nextmatch is now always not dirty
- Logging the dirty widgets to console
- Fix searchbox did not fully doLoadingFinished()
2020-06-29 11:55:35 -06:00
nathangray
a50ede7967 Avoid errors from close confirm changes if button is not fully created. 2020-06-29 10:54:14 -06:00
nathangray
175c1fe369 Fix selectbox resetDirty() 2020-06-25 10:31:48 -06:00
Hadi Nategh
8863f28e37 Revert it because it has caused a weird issue regarding our nextmatch filters 2020-06-25 14:17:00 +02:00
nathangray
143be4dc98 Etemplate: Cancel buttons do not trigger the change/close prompt 2020-06-24 10:37:57 -06:00
nathangray
74284afc07 Fix htmlarea.isDirty() was using the pre-editor initialization value causing it to always be true 2020-06-24 09:58:18 -06:00
nathangray
10b2eda4ac Fix bug in isDirty() causing error for some widgets, which broke onbeforeclose 2020-06-24 09:40:35 -06:00
Ralf Becker
4959281164 fix optional SAML/Shibboleth login fails when proxying as form field with name "auth=saml" get lost 2020-06-24 08:56:13 +02:00
nathangray
03e08be0e6 Etemplate: Changing the tab doesn't count as making any data dirty 2020-06-23 13:37:31 -06:00
nathangray
52714f0a63 Etemplate: Check dirty before closing, ask if there are changes 2020-06-19 13:27:41 -06:00
Hadi Nategh
b95e9be02a Cleanup widget browser 2020-06-18 14:58:24 +02:00
nathangray
31f20d9783 Etemplate: Fix history widget lost some widgets when converted to TypeScript 2020-06-16 10:58:03 -06:00
nathangray
b56a8f9901 Default password customfield plaintext attribute to false 2020-06-16 09:23:54 -06:00
Ralf Becker
2c489ef5b8 change default for password attribute plaintext back to true, to not break every existing usage of that widget 2020-06-16 08:37:51 +02:00
nathangray
d7d5837ecf Nicer password widget on account edit dialog
- Added plain-text attribute to avoid encrypting password
- Suggest password now fills both fields the same
2020-06-15 16:08:24 -06:00
nathangray
8020464dde Fix column could not be found due to wrong IDs used 2020-06-15 11:42:45 -06:00
nathangray
fb27dc66da * Etemplate: Password widget improvements - suggest password button, added as custom field type (stored encrypted) 2020-06-12 11:03:42 -06:00
nathangray
aab5415873 * Etemplate: Password widget improvements - suggest password button, added as custom field type (stored encrypted) 2020-06-12 10:56:53 -06:00
nathangray
a993938134 Etemplate: Fix VFS & file widgets were not properly handling files 2020-06-10 10:20:30 -06:00
Ralf Becker
4c131c1866 SAML/Shibboleth with multiple IdP or optional on regular login page 2020-06-10 15:19:24 +02:00
Hadi Nategh
06d6887744 Fix error select-account widget is not supported in et2_menulist widget 2020-06-10 13:32:33 +02:00
nathangray
676be91387 Etemplate: Fix TypeScript conversion error in historylog widget
Legacy options could not be accessed
2020-06-09 15:21:34 -06:00
nathangray
03a5620ea9 Api: Fix nm columns disabled via content could break subsequent columns, giving JS error
"Uncaught TypeError: Cannot read property 'getAttribute' of undefined"
2020-06-09 13:56:52 -06:00
Ralf Becker
ff0cdf8143 set id of DOMContainer, in case it changed because server-side send a different template 2020-06-04 17:04:32 +02:00
Ralf Becker
e613a561f6 do NOT show drag-n-drop actions, if we only have the cancel-drop action, added by default 2020-06-03 16:57:51 +02:00
Hadi Nategh
ceccd2a50d Implements stronger check to make sure the object is a regexp 2020-06-03 11:38:10 +02:00
Ralf Becker
25615d7ee0 fix not working file upload, if not mime-type specified 2020-06-02 18:53:33 +02:00
Hadi Nategh
1a91dfab7d Fix not working regexp mime type attribute in file widget 2020-06-02 14:39:43 +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
Hadi Nategh
289f9a0644 Give bound click handlers on widgets a chance to get executed 2020-05-27 12:43:21 +02:00
Hadi Nategh
99693d1ef6 Add singleClick attribute to action popup 2020-05-27 11:54:50 +02:00
Hadi Nategh
bf1ed9a0d6 Remove type restriction for getEntry, the data send to client could have all sort of types 2020-05-27 11:11:06 +02:00
Hadi Nategh
f9e0d9a6c2 Add missing js file from commit da806d33f5 2020-05-27 10:46:34 +02:00
Ralf Becker
064054af82 fix an other case of using window.top directly 2020-05-26 10:23:40 +02:00
nathangray
bdbf28cd2c Change helper function getValueWidgetById() to the more useful getInputWidgetById() 2020-05-25 11:02:12 -06:00
nathangray
82215f292d Api: Fix some favorite widget bugs
- Infolog preferred favorite was not loaded
- Fixed vertical alignment of widget 'Add current' icon
2020-05-22 10:50:58 -06:00
Hadi Nategh
4a4f2a03b9 Make taglist widget exportable 2020-05-22 10:15:24 +02:00
nathangray
866cc19440 Api: Fix favorites widget TypeScript conversion bugs 2020-05-20 15:27:38 -06:00
nathangray
3626679408 Api: Find the current focused object from global instead of app object when handling key presses
Should better handle apps admin where the focused object could be from a different app
2020-05-20 10:31:32 -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
Hadi Nategh
5b8e02fded Add missing file from previous commit 2020-05-18 13:10:31 +02:00
Hadi Nategh
0d52104a68 Make radiobox widget exportable 2020-05-18 12:57:55 +02:00
nathangray
4cf185ce7e Avoid JS error by making sure we have a date format 2020-05-15 14:42:31 -06:00
nathangray
4ba7bac850 Add some convenience functions for faster widget access
These are only available on et2_container, so app.ts can use eg: this.et2.setWidgetById(...)

getDOMWidgetById(): Same as getWidgetById() it returns et2_DOMWidget instead of et2_widget
getValueWidgetById(): Same as getWidgetById(), but returns et2_valueWidget
getValueById(): Find a widget, get its value
setValueById(): Find a widget, set its value
setDisabledById(): Find a widget, set its disabled state.
2020-05-15 14:01:02 -06:00
nathangray
52eb5ca8e0 Don't bind context for app functions, they expect their own. 2020-05-15 11:15:30 -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
nathangray
934d309856 Make taglist-state update its own options when country code changes
Fixes bug where options were not properly set if they had to be fetched from server.
2020-05-13 15:21:26 -06:00
Hadi Nategh
f23b5aee82 Fix readonly checkbox not working 2020-05-13 12:00:06 +02:00
Hadi Nategh
0748fba70f Add readonly value to readonly option 2020-05-13 11:56:49 +02:00
Hadi Nategh
1dc1d07dea Implements set_readonly for radiobox 2020-05-13 11:55:22 +02:00
Hadi Nategh
538d25333e Add missing js file from previous commit 2020-05-13 11:39:38 +02:00
Hadi Nategh
b101d2e509 Disable checkbox properly when it contains label 2020-05-13 11:08:42 +02:00
nathangray
66ee6576f1 * Api: Can now select no color with color widget 2020-05-11 14:58:36 -06:00
Ralf Becker
4dc120a6d2 making video position available and a couple of documentation updates 2020-05-10 14:53:06 +02:00
Hadi Nategh
cf8f421c4d Fix radio widget onchange not being called when value is getting set 2020-05-08 15:22:28 +02:00
Ralf Becker
1d6033fb4e allow to use image spec like "api/mime128_video" for poster like for regular images 2020-05-08 12:20:37 +02:00
Hadi Nategh
5e703ab669 Register video widget 2020-05-07 16:14:07 +02:00
Hadi Nategh
c6200f9969 Make video widget extendable 2020-05-06 14:53:02 +02:00
nathangray
da806d33f5 Api: Fix reference to et2_url EMAIL_PREG 2020-05-05 15:12:00 -06:00
nathangray
7f99b750b0 Fix missing appname in check
(see 444babdbc8)
2020-04-29 11:28:17 -06:00
Hadi Nategh
0431911dd1 Add missing js file from previous commit 2020-04-29 12:29:35 +02:00
Hadi Nategh
e9510598d7 Add allow option to iframe widget 2020-04-29 12:23:49 +02:00
nathangray
5a1f642ce2 Make sure there are no parameters before trying nice check for function name 2020-04-24 11:23:03 -06:00
nathangray
eaafd5eb1f Get legacy JS parser to understand functions that don't start with "app." and don't have brackets in the attribute.
This covers widget or other non-app static functions (eg: et2_avatar.uploadAvatar_onFinish)
2020-04-23 11:33:24 -06:00
nathangray
ec6a3881e3 Still need to clear before loading or dialogs get doubled 2020-04-22 14:53:11 -06:00
Hadi Nategh
eb795d523b Alway prefer custom onFinishOne callback if it is set 2020-04-22 14:19:12 +02: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
Hadi Nategh
6e73a2bb66 Fix submit buttons get disabled after file upload 2020-04-21 18:30:25 +02:00
Hadi Nategh
4803e7fcd5 Fix lavatar not generating any image 2020-04-21 15:18:44 +02:00
Ralf Becker
9817d25a47 move who is available via push to push class and backends 2020-04-20 13:07:58 +02:00
nathangray
397fc8a620 Fix missing translation reported by Stefan Unverricht 2020-04-16 11:34:10 -06:00
nathangray
d6a747e36b Fix missing translation reported by Stefan Unverricht
How did you get missed?
2020-04-15 11:47:22 -06:00
nathangray
dbb3b2688e Fix missing translation reported by Stefan Unverricht 2020-04-15 11:21:53 -06:00
nathangray
017fa60870 Fix missing translation reported by Stefan Unverricht 2020-04-15 10:06:09 -06:00
nathangray
8f8c437712 Try to avoid error from missing nodes
I suspect this is from either TypeScript conversion or nm node optimization, but can't duplicate it regularly
2020-04-14 15:03:32 -06:00
nathangray
5b115ec7d5 Try to avoid some errors loading nm by checking before setting 2020-04-14 14:14:29 -06:00
nathangray
821c8474c5 Fix link from VFS dialog did not open 2020-04-14 14:13:36 -06:00
nathangray
eda34d67b3 Fix some typescript bugs
- Don't default dialog width so the automatic calculations run
- Setting etemplate_exec_id after load doesn't work, moved to passing it in.  Fixes several file select issues
2020-04-09 14:26:57 -06:00
nathangray
bac1ff5a1d Port b6020ad from asig2016 to master 2020-04-09 12:39:16 -06:00
Hadi Nategh
99a9513236 Fix positon option in et2_dialog widget 2020-04-07 14:51:46 +02:00
Hadi Nategh
be7d045e1d Add requireInteraction option into notification class 2020-04-06 17:24:48 +02:00
nathangray
abdffc12a0 Fix typescript conversion bug breaking mobile list view 2020-04-01 13:46:05 -04: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
b27387009d Fix toolbar actions with no group were missing 2020-03-30 14:25:24 -06:00
Ralf Becker
3750711cdf * OpenIdConnect/OAuth: manage access and display OAuth apps inside EGroupware 2020-03-30 21:03:19 +02:00
nathangray
c19502ce5b Fix nextmatch row expansion not properly displaying children 2020-03-30 12:28:48 -06:00
nathangray
cd530e6af0 Fix missing column headers after changing nm row template 2020-03-30 12:22:07 -06:00
nathangray
1da1cb7b99 Fix legacy options not being read for some widgets 2020-03-30 10:28:48 -06:00