Commit Graph

199 Commits

Author SHA1 Message Date
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
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
fade177f10 Fix first select option was not set 2023-09-14 11:48:30 -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
0b036f49b8 Et2Select: Fix some static option selects did not show their values when readonly 2023-08-28 13:50:09 -06: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
c8d4682672 Fix class case 2023-08-18 08:47:37 -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
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
6ecb2d8cf9 Et2Select: Fix missing options filter to handle option groups too 2023-05-16 11:02:20 -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
01ab3ab85a Et2Select: Fix selection of first option when no value provided, broken by 134cd9d249 2023-05-10 09:19:43 -06: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
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
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
nathan
5a824ef25b Et2Select: Fix doubled tags, long tags missing ellipsis 2023-04-18 10:36:34 -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
aa89bf82af Et2Select: Re-color dropdown icon in darkmode 2023-04-05 11:30:36 -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
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
c4809386e1 Set a max height for select tags 2023-03-31 14:07:30 +02:00
nathan
deefd1e0ea Et2SelectDayOfWeek: Fix missing all days, weekday, weekend options 2023-03-30 08:33:07 -06:00
nathan
b67abdafd1 Fix up recur days 2023-03-28 13:48:26 -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
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
41cbb68de0 Et2Select: Fix extra scrollbar with rows=1, multiple, hover lots (> 8 or so) of rows 2023-02-22 16:23:56 -07:00
nathan
f7d44c63cb Enable disabled select options 2023-02-22 09:51:57 -07:00
nathan
33ca8a47a9 Et2Select: Tweak size calculations for rows setting to work better for all font size preferences 2023-02-16 11:59:34 -07:00
nathan
524a9b3c7b Change how readonly multiple selects with rows=1 show more tags are hidden
Showing total number of values is way easier than showing the number that aren't displayed
2023-02-15 13:23:05 -07:00
nathan
d02a40ee82 Et2Select: Remove any doubled values when setting value 2023-02-13 14:00:52 -07:00
nathan
efa550f251 Et2Select: Add onTagClick property for actions on tag clicks
Fixes unable to detect clicking on individual tags inside readonly et2-select-email
2023-02-08 09:11:33 -07:00
nathan
9cde6a7171 Fix some styling on select-email
- Make +N tag right aligned & look like text, not tag
- Fix popup to open below but covering field
- give popup border & dropshadow
2023-02-07 12:04:05 -07:00
nathan
2a3a8a7371 Et2Select: Fix tags can't be removed 2023-02-07 10:04:56 -07:00
nathan
cd980c78df Limit mail to & cc addresses to 1 row, show all on hover.
Use:
multiple="true" rows="1" maxTagsVisible="1"
to trigger show all on hover
2023-02-06 14:48:55 -07:00
ralf
bd8198d230 missing et2-select-lang widget 2023-02-06 15:52:58 +01:00
nathan
1d8d4f9c72 Fix some readonly issues where widgets were not looking readonly
- Editable tags were still editable if the select was readonly
- LinkTo could still select an app (readonly not passed on)
- Hide the dropdown for multi-select when readonly
2023-02-03 14:09:07 -07:00
nathan
e575c40ff3 Some missed cases where client-side lavatar was not used 2023-01-30 15:26:09 -07:00
nathan
5bab72b8be Use client-side Et2LAvatar for user accounts whenever possible, only using avatar.php when there's a real image.
TODO:
- Need to find a cheap way to determine if there's a real image in Api/src/Accounts.php & class.mail_compose.inc.php

- Still some work for me to do in Et2SelectEmail
2023-01-27 10:34:40 -07:00
nathan
7518278948 Add edit button to freeEntry selectbox tags 2023-01-23 17:34:37 -07:00
nathan
a699117b1b Fix hiding server-side messages for selectboxes
Messages were not properly hidden & displayed, and setting handleFocus & handleBlur accidentally overwrote them in Shoelace widgets
2023-01-11 11:11:02 -07:00
nathan
1163f9e31d Hide server-side validation messages while widget has focus. If the value did not change, put messages back 2023-01-09 16:02:59 -07:00
nathan
a9fe524123 Et2Select: Fix value got wrecked by fix_bad_value() when there are option groups 2022-12-15 11:31:56 -07:00
nathan
6a5d189489 Better fix for Et2SelectState not getting country set 2022-11-14 14:41:08 -07:00
nathan
47a48b386f Et2Select: Fix change event got fired too early
Don't need to block the event if we didn't actually change the value.  This fixes changing to common preferences
2022-11-09 15:34:28 -07:00
nathan
4dffd24feb Et2Select: Fix change event got fired too early
Second attempt.  If fix_bad_value() made a change, that was triggering change event before Et2App.et2_ready() had been called.  Now making sure that event does not get fired.
2022-11-08 11:04:03 -07:00
nathan
69ce014aa6 Et2Select: Vertically center multiple tags 2022-10-13 09:33:04 -06:00
nathan
b5a2778168 Fix category did not display value on first load 2022-10-03 09:12:00 -06:00
nathan
086d92e957 Et2Select: All selectboxes now stop scroll event from bubbling to prevent parent (sidemenu) from scrolling too 2022-09-23 10:54:02 -06:00
nathan
9a036b1dfe Et2Select: Fix "required" styling did not show in a better way
Previous method (38e8df2) made widget entirely transparent
2022-09-15 15:26:06 -06:00
nathan
38e8df223d Et2Select: Fix "required" styling did not show 2022-09-15 12:36:31 -06:00
nathan
24daafb9ef Et2Select: If somebody set '' as an option value then '' is not a bad value and doesn't need to be fixed. 2022-09-01 09:58:08 -06:00
nathan
a3d2674757 Et2Select + search: Fix some bugs
- Select a searched value didn't validate due to different attribute name
- et2-searchbox inside et2-select threw an additional change event, needed to catch that
- fix_bad_value() needs different handling when you can search, otherwise it just gets cleared again
2022-08-31 13:28:20 -06:00
nathan
6458511d75 Et2Select: Fix some missing "emptyLabel" bugs
- If there were no select_options, and an invalid value, empty label was not shown (Infolog pricelist)
- Select Number had numeric values for options which did not match string values (Infolog completed)
2022-08-30 14:27:19 -06:00
Hadi Nategh
31e83ddf05 Stop tags being drawn to the max width 2022-08-29 16:47:58 +02:00
nathan
19d4b9a8b6 Make nm filters always the same size (33% each) and show ellipsis when the current value is too long 2022-08-23 11:07:02 -06:00
ralf
79a395e3e6 fix missing scrollbar in longer then visible dropdown 2022-08-08 14:44:37 +02:00
nathan
045f322bf6 Et2Select changes:
- Position search & edit inputs to avoid reflow
- When editing a freeEntry, blurring accepts the current value, before it canceled the edit
2022-08-04 15:50:52 -06:00
nathan
098c2ab3f0 Fix some issues from the shoelace version bump
- SlSelect.getItemLabel() not there anymore
- SlSelect.menuItems is now a real list, and fails when parent tries to write to it
- Tabs didn't hide properly when not active, giving a scrollbar
2022-08-04 13:47:16 -06:00
nathan
aabda23bbd Et2Select: Turn on hoist, we want it on more than off
In particular, ACL dialog, but there's a bunch of other places too.
2022-08-03 16:28:18 -06:00
nathan
f7cf372f09 Et2Select: Better handling for when select_options & value get set one after the other
This caused selectbox to look empty, even though it had a value since the new menu-items hadn't been created when value was set
2022-08-03 16:04:08 -06:00
nathan
c45661bbe4 Et2Select: No horizontal scrollbar on options 2022-07-26 09:12:52 -06:00
ralf
dee28cb53f noLang only affects options, label, statustext, placeholder, emptyLabel get always translated 2022-07-26 15:46:42 +02:00
ralf
aa80b4027a fix not translated tooltip, select options and emptyLabel 2022-07-26 15:06:07 +02:00
nathan
379ceeb3e5 Switch Et2Template to extend SlInput instead of LionInput
Also includes changes to how validation messages are handled to use our own stuff
2022-07-21 12:39:00 -06:00
ralf
b9d96ea3e9 change all attribute-names of new et2-* widgets to camelCase
only exception is select_options, never used in templates
2022-07-21 17:57:50 +02:00
nathan
1a2e691cbb Fix some bugs with static options being repeated
- Select Tab options being sent from server & cached
- Static options not properly set for all selects
2022-07-19 11:47:03 -06:00
ralf
6ab34234f5 fix error changing app in preferences 2022-07-19 18:10:12 +02:00
ralf
bec95a4a9d et2-select-tab widget to fix common preferences not storing and some fixes 2022-07-19 15:17:43 +02:00
nathan
ddd72fd51a Et2Select: Fix selects with static options from the server would not consistently keep any additional options set.
Creation / lifecycle would sometimes set the extra options several times, and depending on the timing of the server response they might get overwritten, or overwrite the server options.  Now keeping them separate to avoid this.
2022-07-15 12:56:24 -06:00
nathan
523c785049 Et2Select: Fix manual message was repeated for each selected value. Once is enough. 2022-07-14 11:33:35 -06:00
nathan
2c08542529 Better handling of select validation 2022-07-12 16:40:38 -06:00
nathan
e8e3d2fc38 Et2Select layout improvements
- Better sizing when row is set
- Always show contact / + for EmailTag instead of just on hover
2022-07-12 10:50:11 -06:00
nathan
ad82ea8faf Et2Select layout improvements
- Added RowLimitedMixin to limit rows
- when multiple=true tags take full width by default, but intelligently resize
- No longer showing search icon
- Move Et2EmailTag add / CRM button to left of remove button
2022-07-11 17:27:17 -06:00
nathan
0ca7508cd3 Select bugfixes
- If value is changed because it's not a valid option, that might need a refresh
- If empty_label is changed, we need to update that
2022-07-11 11:01:42 -06:00
nathan
ed16ce52a2 Change nextmatch headers to use web components 2022-07-07 13:18:42 -06:00
nathan
46b172c88e Et2Select: In some cases the change event from the search input was triggering an extra widget change event 2022-07-06 11:22:10 -06:00
ralf
489eb615ac fix validation in et2-select had problems with value being an array
eg. mail.compose always displayed "Invalid email"
running validator now for each array element or "" for an empty array
2022-07-06 10:33:06 +02:00
nathan
31e476089c Et2Select: Fix missing initial value when initial value is not in select_options
Our custom setter was not being called for some reason so option cleaning was not being done.
2022-07-04 15:09:16 -06:00
nathan
36c6df9685 Remove InvokerMixin from Et2Select, we cover the functionality in other ways.
InvokerMixin still used in other widgets
2022-06-30 09:39:22 -06:00
nathan
7c7b81201f Implement missing validation error for Et2Select 2022-06-29 11:49:24 -06:00
nathan
0f5cb9f9d3 Select styling improvements
- support for Shoelace's size property
- relative sizing for EmailTag's add icon height
2022-06-24 14:12:04 -06:00
nathan
d11be10fa1 Et2SelectEmail: Add button on hover to add a new contact with the email
(multiple)
2022-06-24 12:10:10 -06:00
nathan
9ca78de12f Et2Select: Fix empty label was not being shown for invalid values 2022-06-23 15:56:28 -06:00
nathan
9b3de5db95 Et2SelectCountry: Use CSS for flag images 2022-06-22 16:13:58 -06:00
nathan
d9400430e5 Mail: Use et2-select-email for displaying addresses in preview 2022-06-21 16:34:57 -06:00
nathan
e44ca6183a Promote select category to its own file 2022-06-20 09:35:38 -06:00
ralf
8228104b82 add extra parameter return_promise to StaticOptions.cached_server_side and using that for Et2SelectCountry to add flags and their css class 2022-06-20 17:01:28 +02:00
ralf
96109e0f26 Several account or contact edit fixes
- fix no groups were selected (as they have numeric values)
- fix size of country and state selection
- WIP adding flags to select-country
- WIP fixing selecting a country set country_code for state selection
2022-06-18 15:06:50 +02:00
nathan
fdd6f23560 Better readonly styling 2022-06-17 14:06:12 -06:00
nathan
cfce00f7ea Et2Select: Deal with initial value of multiple set as CSV 2022-06-17 11:41:29 -06:00
nathan
f2c57c5e75 Et2Select: Fix search icon appearing everywhere 2022-06-17 08:53:15 -06:00