Commit Graph

3445 Commits

Author SHA1 Message Date
nathan
41c6ec6100 Et2Select: Fix all tags popup causes siblings to move / resize 2023-11-24 08:34:28 -07:00
ralf
8236b03d45 using single link.svg from api and use it by default for all link* buttons 2023-11-24 07:26:49 +02:00
nathan
47d97d1367 Et2SelectEmail: Update for recent Et2Select changes, move draggable into its own method 2023-11-23 15:28:32 -07:00
nathan
2bd5f58836 Et2Select: Fix show all tags on hover popup needed z-index set 2023-11-23 14:29:50 -07:00
nathan
38dcda2a01 Et2Select: Fix/re-add hidden tag flag when multiple,readonly & rows=1 2023-11-23 13:45:23 -07:00
nathan
7dad9b69a7 Fix print did not work with forced hidden columns 2023-11-22 16:24:10 -07:00
nathan
51937b032e Et2Select: Not showing new freeEntry in select options immediately after adding it 2023-11-22 16:03:01 -07:00
nathan
76428946a1 Et2Select: Pressing tab on empty search moves focus to next element 2023-11-22 11:53:23 -07:00
nathan
399a0c1171 Et2Select: Fix unwanted tag scrollbars for some multiple selects 2023-11-22 09:32:42 -07:00
nathan
f68b1aae25 Et2Select: Fix email (& other values with spaces) did not show initial value 2023-11-22 09:21:38 -07:00
nathan
3fd2cacf57 Et2Select: Fix overflow / row limit 2023-11-21 14:54:14 -07:00
nathan
519306c8d5 Et2Select: Better fix for 80ad5dddb2 which caused problems with selecting options in Et2SelectEmail 2023-11-21 13:57:24 -07:00
nathan
80ad5dddb2 Et2Select: Fix selects with options from file were not showing their initial set value 2023-11-21 12:01:25 -07:00
nathan
6fcbf87a10 Fix Et2SelectEmail and pass email tags again
Still doesn't work though
2023-11-17 14:31:23 -07:00
nathan
d07af215c1 Fix nm column resize grabs mousedown, blocking filter selection 2023-11-17 11:56:24 -07:00
nathan
032035ae5f Et2Listbox: Fix options were not shown
Fixes merge placeholders not shown in Collabora
2023-11-17 11:16:35 -07:00
hadi
dfd3d6beda Fix size property does not get applied for Et2Select widget anymore 2023-11-17 12:15:11 +01:00
nathan
9f46ee5e62 Et2Select fixes
- Fix sometimes not shown emptyLabel
 - Fix LinkSearch result count
2023-11-16 15:05:38 -07:00
nathan
2b7f4ae5ee Revert "Et2Select: Even better handling of false invalid value", it was too strict leaving blanks instead of emptyLabel
This reverts commit 7db80d066f.
2023-11-16 13:46:30 -07:00
nathan
7db80d066f Et2Select: Even better handling of false invalid value 2023-11-16 13:33:05 -07:00
nathan
2e2c3fb0b6 Fix validation messages after Shoelace update
- some messages (textbox) were out of position
- Selectboxes did not show validation message
- Selectbox considered false a valid value for required, even if that wasn't an option
2023-11-16 13:13:36 -07:00
nathan
3cf4cbab9a Fix missing value in some static option selects
Shoelace select initially rejects the value due to missing option, and needs to be re-set once our options have arrived
2023-11-16 10:09:20 -07:00
ralf
8c4ca8701d more renames of Et2Dialog attribute modal to isModal 2023-11-16 13:42:44 +02:00
ralf
5ffdbf7341 fix audio files wont play (modal attribute renamed to isModal) 2023-11-16 13:36:01 +02:00
nathan
9c8ec0d872 Et2SelectEmail: Fix incorrect total result, wrongly shown "No results" 2023-11-15 15:25:53 -07:00
nathan
ff97c1b90f Api: Fix client side validation failure when widget value was null
Happens for readonlys, disabled, selects with no valid options
2023-11-15 11:57:46 -07:00
nathan
5a02959468 Et2Select: Let select option list get as big as it needs 2023-11-15 09:38:54 -07:00
nathan
a9fcf05fab Home: Fix portlet broken by Shoelace update to 1.8
They made HasSlotController internal only
2023-11-15 09:02:12 -07:00
ralf
8814f55ff3 fix error, if this.editor is not (or no longer) set 2023-11-15 17:27:50 +02:00
hadi
b0bd89591b Fix js error of Cannot read properties of null (reading '0') 2023-11-13 13:26:18 +01:00
hadi
415cbdf5b2 Fix set video src and duration not working 2023-11-13 12:50:23 +01:00
nathan
45f9801df8 Code documentation 2023-11-09 11:12:16 -07:00
nathan
da92471920 Add default keyboard shortcuts for save & cancel buttons 2023-11-08 14:37:30 -07:00
nathan
6a5697eab8 More Drag helper style adjustments
- height adjustments for mail so we can see address & subject
- Change how avatar is sized so we can override it via CSS
2023-11-08 09:54:00 -07:00
nathan
cfd628e87f Slightly better rendering for description contents
Uses the litElement lifecycle better, updated() is called after render()
2023-11-03 16:15:53 -06:00
nathan
1bc26101cd Fix default drag & drop helper did not work well with webcomponents
It doesn't let us do async, so was not waiting for widgets to be updated
2023-11-03 16:13:45 -06:00
hadi
d89646df27 Fix Editable Avatar's edit/delete icons are no longer displayed 2023-11-03 11:32:14 +01:00
nathan
454ab3fb98 Fix spacing & sizing
- Move option group titles to the left more
- Fix calendarowner dropdown would not size properly in sidebox
2023-11-02 17:29:50 -06:00
nathan
c2623dcb55 Fix some issues when search results have option groups
- Options sometimes disappeared when selected
- Count was off if one of the results was already selected
2023-11-02 16:58:38 -06:00
nathan
ba04abd1b4 Et2Dialog: Fix height attribute was not setting dialog height 2023-11-02 13:04:32 -06:00
ralf
a9aefd6a32 disable user-password popup for plaintext passwords (no need) and set disabled, if password field is readonly from server-side 2023-11-02 17:16:34 +02:00
nathan
a7396cab69 Fix Uncaught (in promise) TypeError: et2_selectbox.find_select_options is not a function from et2_widget_ajaxSelect 2023-11-02 08:15:30 -06:00
nathan
5d705c3b79 Calendar: Group calendar owner / participant search results by resource type 2023-11-01 13:26:23 -06:00
nathan
d1e7040011 Fix email tag always shows "not-allowed" cursor for read-only 2023-10-31 09:02:03 -06:00
nathan
b3899e86dd Et2Select: Stop sidemenu scrolling when scrolling through options 2023-10-30 09:10:21 -06:00
hadi
9b2d208e8e Implements load method for multi-video widget 2023-10-30 13:27:38 +01:00
nathan
d15c63198c Docs: Get the ETemplate2 webComponent widets working on doc site
Sort of.  This breaks shoelace images due to them not being imported / copied, and not using the CDN
2023-10-27 11:50:51 -06:00
nathan
4ab788acc1 Et2SelectEmail: Fix pasting in merge placeholders didn't do anything 2023-10-26 10:09:44 -06:00
nathan
4a48fc74c7 Et2Select: Fix placeholder could not be shown 2023-10-25 10:11:44 -06:00
hadi
8fa2f565b6 Set duration time for webm files based on provided duration url param 2023-10-23 09:49:01 +02:00
nathan
f7e1dedac9 Pass options on if sent from server 2023-10-19 16:11:12 -06:00
nathan
85cef367e2 Move Et2SelectAccount initial options to its own method, fix options were sometimes missing 2023-10-19 15:03:16 -06:00
nathan
a6d3a87c75 Doc: Get class doc into docs 2023-10-16 13:34:29 -06:00
nathan
173b9bdfda Api: Fix missing country returned object directly instead of Promise
Fixes JS error loading date widgets in registration
2023-10-16 09:42:28 -06:00
nathan
136c302c15 Fix cf customised setting check if there's no ID 2023-10-13 10:01:24 -06:00
nathan
5601b99c97 Et2Select: Add tabindex to options to avoid focus stealing in sidemenu, other event handling cleanup 2023-10-12 11:25:23 -06:00
nathan
f15cbd186f Docs: Better handling for deprecated properties & methods 2023-10-11 16:48:53 -06:00
nathan
65bf573f88 All etemplate widgets in component list 2023-10-11 14:48:58 -06:00
nathan
04ad3651a4 Api: Let legacy custom JS return
Legacy JS in the form app.appname.function where we _couldn't_ find the actual function now return.  Fixes some custom click handlers couldn't submit
2023-10-10 15:24:05 -06:00
nathan
235ff7a2cf Et2SelectAccount improvements
- Fix always including all accounts
- Limit included accounts to 100 to avoid breaking
- Let repeat() cache
- Improved "more results" count
- Reduce repeats & iteration needed
2023-10-06 11:37:46 -06:00
hadi
58d486e6ba Fix switch widget not setting the initial state correctly 2023-10-06 16:06:23 +02:00
nathan
a4ee20b3ee Api: Fix unneeded reloads in nm when applying favourite 2023-10-04 15:13:25 -06:00
nathan
3088d168f4 More select tests
- finds options from DOM / template
- finds static options
- combinations with other option sources
2023-10-04 10:45:41 -06:00
nathan
d5139d41fb Api: Show nm columns from favourites
Need to update preferences before submitting
2023-10-03 11:53:14 -06:00
nathan
e24b5578a3 Api: Show nm columns from favourites, automatically reloading if needed to get missing columns 2023-10-03 11:40:38 -06:00
nathan
efe0eff776 Calendar: Fix sidebox owner could not select options 2023-10-02 16:06:25 -06:00
nathan
72112023e8 Et2Select: Fix link search lost selected item, showing ?? instead 2023-10-02 13:11:48 -06:00
nathan
795160301b Et2Select: Unit test update
- Added check to see if it actually shows the options
- Fix "Selected multiple remote results in value" failed
2023-10-02 08:39:22 -06:00
nathan
6c06a5311f Et2Select: Fix select options were only visible as search results 2023-10-02 08:04:19 -06:00
nathan
4f575894a2 Et2Select: Fix selecting a second search result could remove first one 2023-09-29 13:43:12 -06:00
nathan
124b6b1f96 Fix link-to would close & clear immediately after selecting a result 2023-09-28 11:00:30 -06:00
nathan
d5f56b8bae Fix duration would not store days or hours, only minutes 2023-09-28 09:39:53 -06:00
nathan
2b66ca8ba6 Docs: Get avatar widget in list, remove Et2 prefix from widget names 2023-09-27 14:29:19 -06:00
nathan
54b38cab8c Fix favourites did not show customfield column if needed 2023-09-27 13:22:57 -06:00
nathan
bbf676597f Et2Select: Fix selected search results sometimes disappeared 2023-09-27 11:15:13 -06:00
Milan
aa228dad42 WIP sl-Tree 2023-09-27 13:05:48 +02:00
Milan
e3ca0bfacd Merge remote-tracking branch 'origin/master' 2023-09-27 12:59:53 +02:00
nathan
d7b6306d32 Fix column selection 2023-09-26 15:47:16 -06:00
nathan
70be19cdfb Et2Select: Fix change event did not fire when free entry was added 2023-09-25 10:16:32 -06:00
nathan
d33377e17d Fix date-duration did not show selected properly 2023-09-25 09:51:06 -06:00
nathan
735b52b38b Remove block_change_event
It doesn't seem to be needed now, and is actually stopping the first user change from firing (change alarm time in calendar edit)
2023-09-25 09:37:48 -06:00
nathan
5601897dbb Put additonal options to static select before the static options 2023-09-25 08:50:36 -06:00
hadi
8b5819094d Fix broken fullEmail feature 2023-09-25 14:35:18 +02:00
nathan
054d124afe Initial attempt at a nice dev reference.
Many thanks to all the other developers who made this possible, especially Shoelace
2023-09-22 13:51:38 -06:00
hadi
a00fdb9eb2 Clean up etemplate2 sessions before closing the top level window 2023-09-22 16:11:14 +02:00
ralf
e3138fe886 fix calendar.edit wont open, caused by new hidden attribute:
- parent can be undefined
- typo parent.getArr(a)yMgr()
- parseBoolExpression() does NOT support boolean values
- returning null gives errors later on, commented it out for now :(
2023-09-22 10:28:00 +02:00
nathan
92cf528fe8 Introduce widget.hidden to hide widgets, and widget.set_disabled() now also hides widgets. 2023-09-21 10:43:09 -06:00
nathan
0f66624047 Get some more automatic tests working again, remove JS files 2023-09-21 08:18:09 -06:00
nathan
e2d3c5f1e8 Get some automatic tests working again 2023-09-20 14:24:01 -06:00
nathan
5349c7a966 Fix selects with no emptyLabel but an option with value="" did not return a value 2023-09-20 08:20:22 -06:00
nathan
cdd13e5109 Fix doubled options with freeEntries 2023-09-19 16:04:19 -06:00
nathan
a4b0a2a1f0 Get country flags showing again 2023-09-19 15:20:36 -06:00
nathan
36f42f77db Fix quick add did not always work the second time 2023-09-19 13:53:15 -06:00
nathan
cb484c8f6c Fix some selectbox non-values causing issues 2023-09-19 13:01:49 -06:00
nathan
dc9736260a Fix textarea did not take vertical space 2023-09-19 10:08:18 -06:00
nathan
3b54165468 Fix textarea did not take vertical space 2023-09-19 10:00:08 -06:00
nathan
368c9fae63 Fix link to did not link 2023-09-19 08:46:41 -06:00
hadi
e72671bc20 Fix styling of readonly selectbox 2023-09-19 14:03:26 +02:00
nathan
f75567a863 Select improvements
- Add _styleTemplate for easier extension
- re-organize file
- Fix weird tag style
- some cleanup
2023-09-18 16:09:43 -06:00
nathan
01797f071d Fix mail attachment dropdown actions did nothing 2023-09-18 13:57:34 -06:00
nathan
19552059b3 Fix no results sometimes showed even if there were results 2023-09-15 08:09:55 -06:00
nathan
1d1b3f5947 Avoid JS error on blur 2023-09-14 14:33:16 -06:00
nathan
472ee73dda Improve styling & behaviour of Et2SelectEmail 2023-09-14 14:30:20 -06:00
nathan
01375295fe Fix widget label positioning 2023-09-14 11:56:25 -06:00
nathan
fade177f10 Fix first select option was not set 2023-09-14 11:48:30 -06:00
Milan
0f1f45a0cc WIP sl-Tree 2023-09-14 17:36:28 +02:00
nathan
4a7f775a97 Hide tooltips when context menu opens 2023-09-13 14:05:50 -06:00
Nathan Gray
e323cd1d79
Feature/shoelace 2.4 upgrade (#135)
Update shoelace to 2.9.0
2023-09-13 11:55:33 -06:00
nathan
0f77eca5c4 Api: Fix custom date & datetime fields with data format set caused a JS error
TypeError: Cannot set property format of #<Et2DateTime> which has only a getter
2023-09-13 09:08:00 -06:00
nathan
d80078893e Api: Fix customfield with no data sent breaks entire customfield tab 2023-09-08 08:41:54 -06:00
nathan
896f77f2fd Fix date & time formatting on mobile
- Date & DateTimeOnly did not show value
- timesheet view was missing start time
2023-09-05 11:21:09 -06:00
nathan
b5758a2268 Fix addressbook list type filter gave error when changing 2023-09-05 08:35:58 -06:00
nathan
e4e270da2a Api: Fix legacy onchange in nextmatch got nextmatch instead of changed widget 2023-08-30 10:30:07 -06:00
nathan
0b036f49b8 Et2Select: Fix some static option selects did not show their values when readonly 2023-08-28 13:50:09 -06:00
hadi
b34789e676 Fix properties do not get set for inherited widgets from Et2Button 2023-08-28 12:19:18 +02:00
hadi
b33f0fa8cf Fix js error happens when there's no label set on select options 2023-08-28 12:17:42 +02:00
nathan
8a1869dcdc passwordToggle - Get the attribute right for Shoelace 2.0.0
It's togglePassword in the current version
2023-08-21 11:54:24 -06:00
nathan
c8d4682672 Fix class case 2023-08-18 08:47:37 -06:00
nathan
9a53dc3ffd Fix canceled close still destroyed session 2023-08-16 10:23:58 -06:00
ralf
fdad8b3e40 fix TypeError in et2_dialog.handleClose because the Lion container was not found 2023-08-16 14:15:52 +02:00
nathan
7512e105da Projectmanager: Fix context menu 'Project element' did not work
egw_links.js:66 Uncaught array of value needs a prefix
2023-08-15 14:31:22 -06:00
nathan
2c5170f15b * Api: Store recoverable password (encrypted) for shares so you don't have to change it when you forget 2023-08-14 13:42:00 -06:00
milan
9cfb44529f cleanup for backport to 23 2023-08-09 17:18:28 +02:00
milan
b9a723a16f fix use selection instead of drag/drop while pressing crt/alt
egwPreventSelect on mousedown seems to be no longer necessary in nextmatch
2023-08-09 16:56:15 +02:00
nathan
dfc30a37d1 Pass event along from deprecated et2_dialog to Et2Dialog 2023-08-04 13:07:24 -06:00
nathan
7a17dcc7cb Fix handling of email addresses with names
- read-only was leaving out quotes on name, failing validation
- Commas in name caused problems when adding in to existing values due to simplistic CSV splitting
2023-08-03 16:57:53 -06:00
nathan
1393fb6921 Et2Dialog: Fix dialog open event was fired if a selectbox opened
Fixes flickering field in Collabora insert address dialog
2023-08-03 14:39:47 -06:00
nathan
b2e1cef233 SearchMixin: If the value is changed while the search / options are open, recalculate positioning
Fixes bug where it looks like the value hasn't changed, until the dropdown closes.
2023-08-03 14:05:10 -06:00
nathan
afdca98629 Fix up password customfield
- passwd->et2-password custom field type
- passwordToggle attribute (changed name, icon didn't change)
2023-08-02 15:05:33 -06:00
nathan
b92d45c44a Api: make longTask (merge to email) more robust
Should continue in the face of network error
2023-08-02 14:08:59 -06:00
nathan
c5e4af397a Api: Fix adding links did not always work after triggering a form reload 2023-08-01 16:49:16 -06:00
nathan
63e71dc96b Etemplate: If countdown time changes, avoid multiple updates / alarms 2023-08-01 11:20:51 -06:00
nathan
583072ce9d Fix insert multiple entries into email document failed at "Please wait ... loading" 2023-08-01 09:11:09 -06:00
nathan
6b183db6e0 SearchMixin: Limit number of JSON search results 2023-07-31 10:11:04 -06:00
hadi
3dbdbc0596 Fix click handling on grid's row no longer works 2023-07-28 15:21:09 +02:00
nathan
8335281787 Fix email tags marked as invalid 2023-07-27 13:19:43 -06:00
nathan
46795ec108 SearchMixin: Fix select option not having class causes JS error
Fixes addressbook edit popup does not resize
2023-07-27 10:04:58 -06:00
ralf
0f692fbb74 fix lavatar shows same letters for every contact not having a photo
caused by wrongly falling back to the contact with contact_id equal to account_id of current user
also fix TypeError if remote search does not return an array
2023-07-27 12:45:40 +02:00
ralf
322fefa62c Revert "Et2SelectEmail: Pass email to lavatar to get contact picture in email select option"
This reverts commit 5de789f7f7.
2023-07-27 11:08:23 +02:00
nathan
5de789f7f7 Et2SelectEmail: Pass email to lavatar to get contact picture in email select option 2023-07-26 13:39:00 -06:00
nathan
575c8fa976 SearchMixin: Move missing value check after update so select_options gets a chance to populate first
This should speed up the initialization a little, avoiding some unneeded checks
2023-07-26 08:32:00 -06:00
ralf
d071757bb9 fix TypeError: Cannot read properties of null (reading 'trim') 2023-07-26 14:20:13 +02:00
nathan
e0d284d3ae Calendar: Fix group calendar could be missing events under some circumstances
Static account options added to CalendarOwner were blocking the group data needed, fixed by using sent options over account options
2023-07-25 11:15:51 -06:00
nathan
b44ea1b2b0 Api: Fix doubled link on open and missing link app select 2023-07-25 10:27:05 -06:00
ralf
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
nathan
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
nathan
3aaf0b2b60 Api: More missing changes from SearchMixin.remoteQuery() / static options from json file 2023-07-25 09:14:13 -06:00
nathan
df9ec35704 Api: Fix Et2LinkSearch initialization with value failed, giving blank widget 2023-07-25 08:48:51 -06:00
ralf
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
ralf
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
nathan
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
nathan
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
nathan
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
Milan
0dd7616c5e egw_action copy fixes regarding ticket 84314 2023-07-20 16:40:22 +02:00
Milan
4727b40329 Merge remote-tracking branch 'origin/master' 2023-07-14 15:50:17 +02:00
Milan
b00371c7e1 WIP egw_action copy fixes
paste not working
2023-07-14 15:37:20 +02:00
ralf
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
ralf
b1a4a45bb1 add Promise<Et2Dialog> return type to openDialog 2023-07-14 08:54:07 +02:00
nathan
9d61a2ef17 Changes for opening etemplate in a dialog
- openDialog() now returns Promise<Et2Dialog>
- fixed etemplate reload
2023-07-13 16:18:11 -06:00
ralf
efaa3ae386 WIP Mail REST API: fix reported problems with calendar quick add 2023-07-13 18:44:00 +02:00
nathan
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
nathan
8dee34407e Et2Dialog: Fix buttons could not be adopted if dialog contains only arbitrary slotted content 2023-07-13 08:27:56 -06:00
ralf
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
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
e6f142c7a4 Api: Fix nm columnselection still showed disabled columns 2023-07-12 15:08:31 -06:00
nathan
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
ralf
c63784d7e8 WIP new app.ts method dialogExec(_menuaction) opening a popup into a dialog 2023-07-11 22:45:54 +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
nathan
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
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
nathan
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
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
186a7d46dd Handle parsing number into boolean expression 2023-07-06 08:29:30 -06: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
nathan
f4699543c3 Et2Dialog fixes
- Fix noCloseButton attribute was not implemented
- Fix hideOnExcape=false still allowed closing on escape
- Fix using Et2Dialog.BUTTONS_OK showed no buttons
2023-06-30 11:02:04 -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
nathan
3cfdca0ae9 * Api: Customfield selectboxes can read options from a PHP file in the VFS using @[path] ex: @/home/Default/selects.php 2023-06-29 13:36:28 -06:00
nathan
85cc2a33cd 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-06-29 10:52:20 -06: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
ralf
acfcebce4a fix regular expression 2023-06-28 07:29:38 +02:00
nathan
d994f3f92e Api: Fix avatar images were not loaded 2023-06-27 09:46:30 -06:00
ralf
23895c94be WIP improve avatar loading in mail app
currently ET2Avatar is NOT correctly handling contactId=email:<email>
2023-06-27 08:59:59 +02:00
nathan
325fdcb02c Api: User selection = none fixes
- Fix display was 'false' instead of blank
- Fix widget type check was not preserving original value
2023-06-26 10:49:25 -06:00
nathan
cfcd56fd00 Projectmanager: Fix hoursPerDay was not properly considered for durations 2023-06-23 14:35:04 -06:00
hadi
3ecb093d35 Implement onlyEmail option for UrlEmailReadonly 2023-06-22 14:37:15 +02:00
hadi
0d60d3baf4 Make sure to show only email when using current value as email (avoids getting duplicate name in fullEmail mode) 2023-06-22 12:34:56 +02:00
nathan
bb0436661d Home: Fix missing portlet settings button 2023-06-19 09:16:32 -06:00
nathan
b83887d44a Api: All images lazy load
Try to stop when lots of images block the rest of the rendering
2023-06-15 09:28:38 -06:00
nathan
e2f82ca985 Fix link delete button to show on row hover again 2023-06-12 09:30:17 -06:00
hadi
9c4d1a9fb7 Let the contextmenu be activated from tapandhold in regular template in order to be able to get the contextmenu in some touch devices 2023-06-09 10:44:26 +02:00
nathan
dd4a2de988 API: Fix incorrect updateComplete override 2023-06-05 10:43:52 -06:00
nathan
0f145323b2 Et2Date: Fix timeonly does not update value the first time when manually typing a new value 2023-06-02 09:50:59 -06:00
nathan
846852ca22 Et2Link: Wait for link title before we say update is complete
Overriding _getUpdateComplete() lets us wait for whatever conditions we want, so we can wait on the Promise from link_title()
2023-06-02 09:05:14 -06:00
nathan
2eeff5ca38 Et2Link: If only breaking on a certain character, don't break on dash either (in addition to space) 2023-06-01 09:19:05 -06:00
hadi
8e0a3a2755 Fix swipe and popup contextmenu being triggered accidentally in touch devices 2023-06-01 15:28:42 +02:00
hadi
9dfd6f0766 Attempt to keep all touch devices happy for touch/swipe actions in mobile view(specifically in listviews) 2023-05-30 16:33:29 +02:00
nathan
27cd57d428 Et2Link: Fix unwanted indent in front of et2-link-string, fix expose in et2-link-list 2023-05-26 11:36:25 -06:00
hadi
a8a5a14b12 Fix egw message in login page is not removable 2023-05-25 16:34:28 +02:00
hadi
7f8909ebd4 Make ellipsis link titles used in link-list readable by using hover tooltip 2023-05-25 14:07:58 +02:00
hadi
b2dd9f65b6 Apply nowrap white-space only to et2-link used in et2-link-list in order to let its content be shown in multiple lines 2023-05-25 13:14:28 +02:00
nathan
9a5ed1efa3 Api: Wait for et2-link-strings to finish updating before we continue with the print
Avoids printing before the link titles are loaded
2023-05-24 15:54:36 -06:00
hadi
10d3f40973 Fix links styling to get correctly ellipsis text overflow 2023-05-24 14:40:19 +02:00
hadi
023e45ebc0 Fix null being represented into remark's column in links 2023-05-24 13:38:13 +02:00
hadi
f23c562105 Do not activate statustext for mobile template 2023-05-23 12:36:04 +02:00
hadi
1d7d73e8e7 Add more hints for file drag out 2023-05-22 16:46:43 +02:00
hadi
26e52d6692 Fix the title for file drag out 2023-05-22 15:22:11 +02:00
hadi
b5f46c1bad Make et2link file type draggable 2023-05-22 11:45:56 +02:00
hadi
58fd61ad31 Cleanup hover color after drag action ended 2023-05-22 11:45:17 +02:00
nathan
79d22e17a0 Fix missing spinner icons in date 2023-05-19 08:16:02 -06:00
ralf
8b22a258c6 fixing the fix, item is a regular (not DOM-)object and not undefined 2023-05-19 09:26:21 +02:00
ralf
71278c8041 fix TypeError: item.querySelector is not a function 2023-05-19 09:20:47 +02:00
nathan
bea2659fe3 Api: Fix egw.copyTextToClipboard() to work in popups too 2023-05-18 13:47:15 -06:00
nathan
be25869a1d Et2Select: If the value contains something that does not pass validation, show it as an invalid tag so it can be removed. 2023-05-18 10:48:33 -06:00
nathan
ab3a75a7b3 Focus test WIP 2023-05-18 08:08:18 -06:00
nathan
8da10cf863 Reconfigure Link to include icon & comment for easier drag & drop 2023-05-17 16:55:05 -06:00
nathan
89483d80d3 Api: Fix missing spinner icons 2023-05-17 10:08:34 -06:00
hadi
d4e9de9cfa Fix typo 2023-05-17 16:31:11 +02:00
hadi
7caa6ad4ac Make files in link list draggable 2023-05-17 16:30:09 +02:00
hadi
65eff6de91 * Filemanager: Fix drag out files to desktop 2023-05-17 14:19:51 +02:00
nathan
ffb9fa706a Filemanager: Fix new file button stopped working after being readonly
Moved option render inside render() since we have it, simplifys things a lot
2023-05-16 15:01:24 -06:00
nathan
6ecb2d8cf9 Et2Select: Fix missing options filter to handle option groups too 2023-05-16 11:02:20 -06:00
nathan
eddcc97163 Et2ButtonIcon: Fix missing icons
There was a conflict between Et2InputWidget setting the widget name & image
2023-05-16 10:02:34 -06:00
hadi
60643d86b2 Fix toolbar icons are no longer shown in mobile theme 2023-05-15 17:29:13 +02:00
nathan
3bd2ee5aad Fix confirm dialog sometimes mis-placed initiating button in value 2023-05-12 10:06:55 -06:00
nathan
d5d217c589 Some "invalid option" fixes:
- Don't notify user, just log it to the console
- Fix calendar owner filtered out not loaded options
2023-05-11 10:56:42 -06:00
nathan
91b94a5126 Et2Select: Use same z-index for search box as dropdown 2023-05-10 13:43:46 -06:00
nathan
01ab3ab85a Et2Select: Fix selection of first option when no value provided, broken by 134cd9d249 2023-05-10 09:19:43 -06:00
hadi
104ecb2732 Make sure that we are literally marking the row's content before deactivating drag action 2023-05-10 14:56:53 +02:00
nathan
820bd35689 Fix filtered out invalid values were still left in value 2023-05-09 14:28:02 -06:00
nathan
3e1b1e56dc Fix focussed select does not close when it loses focus
Mail reply moves focus from To: to body, and To dropdown stayed open
2023-05-09 14:04:02 -06:00
nathan
134cd9d249 Fix invalid option check did not work for multiple 2023-05-09 08:57:55 -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
4ce6bb3f3d Et2Select: Remove values that use options that aren't there to avoid the validation error 2023-05-05 11:08:47 -06:00
hadi
a8e83ad59f Fix readonly links styling 2023-05-04 12:41:30 +02:00
nathan
9aa4c6f403 Et2DateDuration: Fix value of "" caused NaN 2023-05-03 08:42:15 -06:00
hadi
6588759497 Fix typo related to the commit 8e8c664e95 2023-05-03 15:33:23 +02:00
ralf
d11c74f0bc fix error trying to submit 2023-05-03 11:16:47 +02:00
nathan
46b7c5258b Skip disabled widgets in iterateOver
This fixes disabled widgets returning their value unexpectedly, and ID collisions when we have 2 widgets with the same ID, but disable one.
2023-05-02 14:21:03 -06:00
nathan
ab195097f5 Et2DateDuration: Use integers for duration when we have a separate box for each duration, float when there's one box 2023-05-02 14:17:40 -06:00
hadi
8e8c664e95 Fix broken 3dots menu for nm in mobile theme 2023-05-02 18:53:42 +02:00
nathan
05e262d5ee Some tests for Et2EmailTag 2023-05-01 15:27:17 -06:00
nathan
5cb6415fef Et2Link: Fix projectmanager did not open in pm tab
Broken by 12e42d6
2023-05-01 10:28:36 -06:00
nathan
2fc44da034 Api: Fix clicking Select dropdown button while open did not close dropdown 2023-05-01 08:55:25 -06:00
nathan
8e9071acc8 Calendar: More sidebox owner fixes
- another instance of remote class causing problems
- remove duplicates to avoid warning message
2023-04-28 11:27:26 -06:00
nathan
96c66eeaf8 Fix LinkEntry change caused double change event 2023-04-28 09:27:17 -06:00
nathan
86dac02826 Calendar: Fix second selected owner in sidemenu went missing 2023-04-27 14:02:41 -06:00
ralf
a50fa29419 null and undefined are objects too
fixes TypeError: Cannot read properties of null (reading 'length')
2023-04-26 09:22:30 +02:00
nathan
7d86d69b49 Add statustext to list of detached attributes 2023-04-25 13:53:16 -06:00
nathan
12e42d6396 Fix Et2Link always opening in the same popup 2023-04-25 09:54:05 -06: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
nathan
5b9cf0ae0b Et2InputWidget: Give clones of object values so receiver cannot use the reference
Fixes failing change detection in EgwApp.update_state, since the value was the same object
2023-04-25 09:09:18 -06:00
hadi
92724b727d Fix js error causes stop execution for apps with no favorites 2023-04-25 16:46:06 +02:00
hadi
998039b464 Do not translate category names 2023-04-25 12:02:35 +02:00
nathan
8fdfcc5c61 Fix missing entry values 2023-04-24 13:27:57 -06:00
nathan
027fc4dfab Always strip comma regardless of number preference so parse float always works. 2023-04-24 09:42:09 -06:00
hadi
69e06ca501 Make content marking possible on nm rows 2023-04-24 14:52:07 +02:00
nathan
61deaad2a2 Fix et2container.getValueById() failed with error on (some) webcomponents 2023-04-19 11:30:37 -06:00
nathan
5c1c31e2a5 Fix typo in 5a824ef 2023-04-19 10:25:49 -06:00
nathan
9e8bc6e1ee Let change event bubble so it can be caught by parents 2023-04-19 10:03:54 -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
5a824ef25b Et2Select: Fix doubled tags, long tags missing ellipsis 2023-04-18 10:36:34 -06:00
nathan
6db4bdbac0 Preferences: Add a preference option for if select multiple dropdowns stay open, excluding email selection
Also, German translations from Birgit
2023-04-18 08:52:06 -06:00
nathan
5358bb5f6f Don't validate inputs that are disabled, in addition to readonly 2023-04-17 14:47:06 -06:00
nathan
358cc70d66 Preferences: Add a preference for if select multiple dropdowns stay open or closes immediately after selection 2023-04-17 09:28:27 -06:00
nathan
5781542cab Fix multi-select in headers did not trigger update when a tag was removed
Value got passed around by reference, so as soon as the value was changed, activeFilters had the updated value.  Now just leaving applyFilters() to do the check.
2023-04-14 15:22:58 -06:00
nathan
43873af7bc Add implicit preference to remember user's last sort order.
Sort stored in favorites override this when the favorite is used.
2023-04-14 10:28:16 -06:00
nathan
8d1055c5c7 Api: Include webcomponents even if they don't have variable attributes, or any event handlers get lost 2023-04-14 09:35:06 -06:00
nathan
f28771e22b Api: Let box onclick also be detached attribute 2023-04-14 09:07:05 -06:00
nathan
3423e680b8 Validation changes:
- Fix multiplying messages on focus/blur
- Server-side (Manual) messages do not block submit.  Server set it, we'll let server check it.
2023-04-13 15:06:31 -06:00
nathan
e4592e822e Api: If widget has autocomplete="on", set the name attribute for autocomplete 2023-04-12 15:14:35 -06:00
nathan
9f20a89306 Et2DateDurationReadonly: Fix value change did not update, so displayed value was unchanged 2023-04-11 17:09:36 -06:00
nathan
32ce18b832 Et2NumberReadonly: If value is null, just show nothing 2023-04-11 17:08:18 -06:00
nathan
f8904ef126 Fix et2-vbox center alignment 2023-04-11 11:58:56 -06:00
ralf
b3ea3c89cf implement onlyEmail attribute for et2-select-mail to only display email address, even if we have a full rfc822 address and use it for aliases and forwards in admin mail 2023-04-11 18:19:17 +02:00
ralf
f957656f92 also allow / and # in every position of placeholder name 2023-04-11 17:11:56 +02:00
ralf
649645ab0f * Mail: allow placeholders in compose instead of email-addresses to be able to create mail templates 2023-04-11 15:01:40 +02:00
nathan
4708c19665 Fix vfsSelectUI path closed dialog if you pressed enter 2023-04-06 16:14:09 -06:00
nathan
713c0ce21b Et2Dialog: Move enter handler to keyUp so input event handlers can fire first 2023-04-06 16:13:42 -06:00
hadi
9a1593b154 * Filemanager: fix broken expose view for filename click&open action 2023-04-06 17:46:59 +02:00
hadi
a09c0bad38 * Filemanager: fix after opening and closing the gallery in filemanager the list is no longer accessible 2023-04-06 14:56:39 +02: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
nathan
aa89bf82af Et2Select: Re-color dropdown icon in darkmode 2023-04-05 11:30:36 -06:00
nathan
24bb8ffebf Et2Description: Fix urls from activateLinks did not open properly 2023-04-04 14:08:24 -06:00
nathan
55116c7b49 Et2Select: Fix select closes immediately after opening
If you click to open then click again to close, select wouldn't stay open after that.
2023-04-04 10:12:48 -06:00
nathan
98ae5aac1c Et2Select: It was impossible to have "," in an option value, as it would get split by set_value()
see a9d2a3972c
2023-04-03 14:55:04 -06:00
nathan
886de143d4 Fix "Uncaught (in promise) TypeError: Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element'." 2023-04-03 11:57:57 -06:00
nathan
1702269b65 Api: Fix readonly category select did not load application categories
Categories were loaded before attributes & application was not used
2023-04-03 10:21:46 -06:00
nathan
a9d2a3972c Et2Select: It was impossible to have "," as an option value, as it would get split by fix_bad_value() 2023-04-03 08:52:31 -06:00
hadi
44d4b70aaf Add autocomplete attribute to input widgets 2023-04-03 12:29:50 +02:00
hadi
c4809386e1 Set a max height for select tags 2023-03-31 14:07:30 +02:00
nathan
73723eff5a Don't try to load disabled templates
Allows us to disable / not load templates even if they have template / ID
2023-03-30 10:49:56 -06:00
nathan
deefd1e0ea Et2SelectDayOfWeek: Fix missing all days, weekday, weekend options 2023-03-30 08:33:07 -06:00
hadi
1aa0528642 Fix broken vfsPath widget 2023-03-30 16:04:52 +02:00
nathan
2446c3823f Et2TabsMobile: Fix double values when submitting.
Render was making multiple copies of the sub-template
2023-03-29 11:02:28 -06:00
nathan
7d71246ff0 Et2Date: Fix incorrect validation error for empty dates on mobile 2023-03-29 10:22:35 -06:00
hadi
09560a325a Fix some dialog's buttons are not getting fit into the dialog initiated size 2023-03-29 17:21:41 +02:00
nathan
46af0265fa Et2CheckboxReadonly: Fix checkbox was not visible if selectedValue attribute was not set 2023-03-28 14:20:47 -06:00
nathan
b67abdafd1 Fix up recur days 2023-03-28 13:48:26 -06:00
nathan
70db89b2f6 Et2DateReadonly: Fix readonly date did not re-render when value changed 2023-03-28 08:30:45 -06:00
nathan
e0e074a4b1 Et2SelectEmail: Fix keyboard navigation in search results 2023-03-27 08:51:20 -06:00
nathan
af66c63714 Keep select tag icons their original color 2023-03-24 11:45:55 -06:00
nathan
8de9ffc240 Et2Select: Fix keyboard navigation in search results & sidebox category closes 2023-03-23 17:21:32 -06:00
nathan
5614870a29 Et2Select: Always close the dropdown after an option is selected, even if multiple=true. Now for keypresses too.
see 62402f39ae
2023-03-23 16:02:09 -06:00
nathan
62402f39ae Et2Select: Always close the dropdown after an option is selected, even if multiple=true 2023-03-23 15:23:32 -06:00
ralf
23fea7cfb1 nicer than window.setTimeout() 2023-03-23 21:50:35 +01:00
ralf
5818d4bfc0 * NewsAdmin: fix creating of new categories
deferring setting the label, if parentNode is not yet there
2023-03-23 21:42:34 +01:00
nathan
5e6b11e73c Et2UrlEmail: Use default mail app when preference says to 2023-03-22 13:03:23 -06:00
nathan
d2e23876f1 Et2Checkbox: Use normal color even when required
Preveiously check was white, which was hard to see on yellow required background
2023-03-22 11:18:56 -06:00
nathan
e034557f60 Api: Fix number could not handle comma as decimal separator if different from browser's region. 2023-03-22 10:59:05 -06:00
nathan
59ea901cf9 Et2DateDuration: Fix widget did not fire change event when value changed 2023-03-20 14:50:45 -06:00
nathan
60e4e17fad Fix DateRange UI did not fill in start date properly 2023-03-20 13:43:03 -06:00
ralf
d3eed5b738 merge transpiling branch into master 2023-03-20 20:32:09 +01:00
ralf
dd43a3dc7a same for _linkCallback (give method and attribute a different name to fix transpiling) 2023-03-20 20:26:51 +01:00
nathan
53984a270f Get nm rows showing 2023-03-20 13:11:00 -06:00
nathan
be4506fa3b Fix DateRange UI did not fill in start date properly 2023-03-20 10:33:26 -06:00
ralf
2eaa4bb038 fix Resumable import for transpiling 2023-03-20 13:48:35 +01:00
ralf
05a8882681 using ESM module from SortableJS (link in two other places already)
could probably go to master and work with old RollupJS config
2023-03-20 13:47:36 +01:00
ralf
1015f057f4 fix Flatpicker plugin imports for et2-date* widgets 2023-03-20 13:41:25 +01:00
nathan
4f40ef01da Home: Fix single entry did not save correctly 2023-03-17 10:27:27 -06:00
nathan
fd253b10f5 Only wait for nm header widgets, not all the rows that just get removed.
see 0b8c108279
2023-03-17 08:26:58 -06:00
ralf
b95cdcb3c0 also declare and export app and framework 2023-03-17 08:52:52 +01:00
nathan
0b8c108279 Fix weird nm column sizing in infolog.
Depending on favorite settings, changing favorite (or 'No filters') caused incorrect column sizing in nm list
2023-03-16 16:15:35 -06:00
nathan
7c229e1df3 Home: Immediately apply property changes to portlet
Server can override if needed, but this is a little more responsive and fixes some non webComponent portlets (eg: single entry) still needing a reload before they can stay up to date
2023-03-16 11:48:50 -06:00
nathan
ae265c9b52 Fix select all did not respect some filters
Certain sequence of applying filters could trigger long task & get all IDs, which failed.
2023-03-16 11:21:27 -06:00
nathan
17018a7a24 Home: Better initial load of new favorites
Less server requests, shows data without reload, favorite select populated immediately
2023-03-15 10:16:08 -06:00
nathan
0f1866eb19 Home: Fix birthdays lost range option 2023-03-14 15:02:02 -06:00
nathan
c0680a006d Home: Make resize less jumpy 2023-03-14 11:22:38 -06:00
nathan
b09c6e804f Home: Restore ability to manually add to list portlet
Now just using the properties dialog to add
2023-03-14 09:15:02 -06:00
ralf
096981ea3f WIP transpiling: only import as type as only used as such 2023-03-14 09:07:02 +01:00
nathan
9a8375fa33 Revert "fixes for transpiling:"
This reverts commit f5a1fce8bc.
2023-03-13 14:32:31 -06:00
ralf
f5a1fce8bc fixes for transpiling:
- importing Instance and HTMLElementWithValue types only as type
- import flatpicker plugins with: import {default as <PluginName>} from <file>
2023-03-13 19:41:00 +01:00
ralf
43dfaa6bc2 fixes for transpiling: import instantiated StaticOptions object, not the type
has also the benefit of using a single instance
2023-03-13 19:38:36 +01:00
nathan
ca17161f4a Remove action WIP 2023-03-10 14:50:05 -07:00
nathan
5cfe1cef58 Home: Weather portlet improvements 2023-03-10 14:44:41 -07:00
Hadi Nategh
665dcc18da Fix links in infolog description getting into a new line 2023-03-10 20:17:48 +01:00
Hadi Nategh
87a055e7bd Fix tree's actions no longer available after refreshing the root node 2023-03-09 13:05:57 +01:00
ralf
2543a011cb fix wrong import path stalling Babel transpiling 2023-03-09 08:48:01 +01:00
nathan
e7f10c711c Fix numeric validator on a Et2Number would not pass 2023-03-08 13:28:04 -07:00
nathan
5ebad31675 Fix description label did not get row value in nextmatch
Fixes projectmanager price list showed "5 / $row_cont[pl_unit]" instead of "5 / h"
2023-03-08 11:53:48 -07:00
nathan
0492c92352 Et2Colorpicker: Let popup panel auto-position
Fixes color picker goes offscreen in kanban board edit
2023-03-08 11:26:47 -07:00
nathan
b703e2bfe5 Fix required validator went missing if a regex validator was added 2023-03-08 11:00:27 -07:00
nathan
9f95db7ad8 Home WIP: Fix changing portlet width would not stick for some types 2023-03-07 16:16:01 -07:00
nathan
d9e12ecf4a Home WIP: Better re-layout calcs, use correct portlet type (if possible) when adding 2023-03-07 16:02:29 -07:00
nathan
5760c5049f Et2InputWidget: Split label around widget if it has %s in it 2023-03-07 10:51:33 -07:00
Hadi Nategh
9f9c988c14 Fix error Cannot read properties of undefined (reading 'implements') 2023-03-07 16:16:57 +01:00
nathan
bb67507223 Et2DateDuration: Don't error & break everything for a bad display format, just log it and continue 2023-03-06 15:02:45 -07:00
nathan
1538496df1 Home WIP: Get calendar working 2023-03-06 14:47:48 -07:00