Commit Graph

178 Commits

Author SHA1 Message Date
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
nathan
851a054599 Select / Search bugs:
- search result would only be shown once even if next search included it
- selected values disappear when starting a new search
- loading spinner was not shown
2022-06-16 11:05:13 -06:00
nathan
260d8f523a Get category icons & colors working for select category
Also some refactoring of things to where they should be
2022-06-15 16:43:39 -06:00
nathan
67b9102a69 Et2Select: Allow dropdown option list to be wider than the field 2022-06-14 15:14:17 -06:00
nathan
1215626473 Select / Search CSS:
- Promote image styling from Et2LinkAppSelect to all Selects
- fix double scrollbar if there are a lot of options
- different cursor for editable tags
- align +# right to make it stand out a little more
2022-06-10 14:11:57 -06:00
nathan
cf151afff8 Clean up some TypeScript type issues
Putting the constructor type fixes some complaints about our widgets not being LitElements
2022-06-10 10:25:31 -06:00
ralf
d98978ddd3 fix current user in timesheet not selected (was a numeric value) and empty_label not used, if no matching option for the value 2022-06-10 13:07:27 +02:00
nathan
b7258692a4 Et2Select: Fix double change event
Caused double submit (which failed) in infolog when you changed type
2022-06-08 14:01:00 -06:00
nathan
94d534d897 Et2Select bugs:
- multiple always had the first option selected
- removing multiple options did not trigger change event
2022-06-06 16:41:29 -06:00
nathan
796c0a33df Et2SelectCat: Add in category colors & icons 2022-06-06 16:09:08 -06:00
nathan
e9d3db9b6d Et2Select: Add missing support for options on static type options (number, percent) 2022-06-03 10:19:05 -06:00
nathan
23f9015331 Fix Et2Select / Et2LinkEntry clear button did nothing
Automatic select first entry was re-setting the value after clearing
2022-06-02 09:59:08 -06:00
ralf
a720a7f48a remove unnecessary getValue() 2022-06-02 16:31:27 +02:00
ralf
a9e180a9fb fix mixup of this.value, Lion this.modelValue and old get/set_value
causing eg. numeric values not to be cast to string and therefore not selecting their option
2022-06-02 16:12:38 +02:00
nathan
2b68b6cbbe Work on LinkEntry
- fix missing app select
- add clear button
- use request() instead of json() to query server
- add optional class property to SelectOption
- move cleaning select options to its own function so we can use it anywhere
- Use separate render to keep local / remote options separate.  Local options stay in select_options.
2022-06-01 09:25:11 -06:00
nathan
bc045bf0da Add SearchMixin
A little clunky and still missing server-side
2022-05-30 17:05:38 -06:00
ralf
0b547c921d fix error for typeof this.value !== 'string', eg. number, undefined, ... 2022-05-29 09:53:41 +02:00
nathan
7f1cd117a7 Fix select change event not firing, initial value not showing 2022-05-27 15:39:51 -06:00
nathan
c212734618 Switch Et2Select to be based on Shoelace select instead of LionSelect 2022-05-27 14:12:31 -06:00
nathan
4f17302bb1 CSS / Layout cleanup - better autosize
- More consistent sizing/position for invoker
2022-04-22 15:22:31 -06:00
nathan
f8f04071be CSS / Layout cleanup
- Remove margin from input,button,select
- Fix some spacing issues
- Switch selects from display:inline-block to display:block so they take up all parent's space
- Let background (required) color show through select tag
- Some layout tweaks on mail account template
2022-04-22 13:07:22 -06:00
nathan
0c8824c496 Fix addressbook contact type filter was sometimes 'D' after being initialized to 'n'
When nextmatch moved the template in the DOM, we were re-adding already existing options which re-set the value.
2022-04-01 11:12:19 -06:00