Commit Graph

323 Commits

Author SHA1 Message Date
nathan
171c9c02cb Pressing escape while in search now closes dropdown 2022-09-23 10:40:16 -06:00
nathan
bea34ad403 Fix adding a freeEntry did not trigger change event 2022-09-22 15:18:34 -06:00
nathan
5a8f7c3c70 More fixing of missing search options / tags
Fixes new free entries don't show up after removing a free entry
2022-09-22 11:15:25 -06:00
nathan
8da8c14a00 Et2SelectEmail: Change multiple default to false to match other selects 2022-09-22 08:59:31 -06:00
nathan
2952df2799 Et2Select + SearchMixin: Fix some bugs with display and selecting entries
- Fix clicking on text while editing triggered re-display
- Avoid unneeded node re-creation when editing free entry, handle empty value as removal
multiple=true:
- Fix clearing search removed previously selected remote results
- Fix adding a free entry did not move search down, covering the new value
multiple=false:
- Fix search & edit inputs were shown at the same time
- Fix edit free entry always took over making it impossible to search
2022-09-21 17:13:29 -06:00
nathan
7dd0165cd2 Et2Select + search: Fix position adjustment did not work in all cases
Subsequent searches did not give space for searchbox
2022-09-20 10:07:36 -06:00
nathan
66368c6d3a Et2Select + search: Adjust dropdown position based on if it opens up or down 2022-09-20 09:43:25 -06:00
nathan
606e2688d4 Et2SelectEmail: Do not create image in tag, Et2EmailTag uses CSS for image
Fixes doubled image
2022-09-19 09:23:23 -06:00
nathan
1deeee207f Better way to show "no suggestions" indicator, works with local options now too 2022-09-16 11:17:06 -06:00
nathan
30c3000e87 Et2Select fixes
- Search with no results blocked any futher searches from displaying results
- Only show "no suggestions" after searching
2022-09-16 10:20:47 -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
c8b6a5760b Et2Select: Re-add accidentally removed chunk that sets initial value when initial value is an array
Fixes mail preview didn't show to/from addresses
2022-09-15 08:49:36 -06:00
nathan
1b72eb4a00 Revert "Revert "Et2Search: Fix some UI bugs" as it no longer renders values and therefore easily destroys existing content"
This reverts commit 0287e06df2.
2022-09-15 08:30:50 -06:00
ralf
0287e06df2 Revert "Et2Search: Fix some UI bugs" as it no longer renders values and therefore easily destroys existing content
This reverts commit 56eb4d64ac.
2022-09-15 12:56:12 +02:00
nathan
56eb4d64ac Et2Search: Fix some UI bugs
- Fix missing loading spinner while searching
Clear button was in the way, now hiding clear button when displaying the spinner

- Fix searching for the same thing twice displays no results the second time
repeat() and map() directives were not putting the DOM nodes back in, worked around by using a temp div to render into.  There were some lifecycle mistakes as well leading to collisions & re-doing.
2022-09-14 15:47:36 -06:00
nathan
9096c17348 Et2Select: Tabbing out of search field now closes the dropdown 2022-09-13 09:06:59 -06:00
ralf
d8d8429622 an other fix for 4c00b812ee fixing error when trying to reply 2022-09-13 10:17:59 +02:00
ralf
c00c6f9e07 readonly et2-select-mail caused error with 4c00b812ee eg. in mail.display 2022-09-13 09:15:55 +02:00
nathan
4c00b812ee Fix edit inputbox covered new freeEntries 2022-09-12 12:48:21 -06:00
nathan
43cce1940d Fix selecting search result does not display label
Infolog contact filter still filtered, but did not show label for selected search result.
2022-09-12 10:19:38 -06:00
Hadi Nategh
1489944d49 Fix category border styling 2022-09-12 15:16:04 +02:00
ralf
26824323e5 got mailing lists working again in mail compose using includeLists=true attribute
using "$list_name <$list_id@lists.egroupware.org>" instead of just integer ids for the list, thought et2-select-mail is NOT displaying the mailing-list icon, after a mailing-list is selected
2022-09-12 14:51:13 +02:00
nathan
f85de279c6 Fix some property bugs
- Parse values that should have been objects but came as strings
- Decode SearchMixin.searchUrl
2022-09-08 11:17:34 -06:00
nathan
a10938ab2b Fix select account readonly did not properly show names with CSV 2022-09-07 15:12:06 -06:00
nathan
151df0f76b Et2Select + search fixes
- Fix multiple=false had gap between widget and dropdown
- Add clearSearch() to clear the (remote) search results
2022-09-07 08:40:46 -06:00
nathan
6b4a16357f Et2LinkAppSelect: Fix displayed icon did not change when value changed 2022-09-06 11:11:13 -06:00
ralf
1ec9ef63fe fix Uncaught TypeError: Failed to execute 'getComputedStyle'
thought the image no longer changes, when selecting another one :(
2022-09-05 13:59:07 +02:00
nathan
daf63d9c23 Et2Select: If multiple and no value, overlap the search onto the widget 2022-09-01 11:53:19 -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
1bbcdbfeb7 Fix Et2SelectAccount couldn't have non-account options, so freeEntries didn't show up 2022-09-01 08:30:43 -06:00
nathan
2e319319d1 Fix general free entries did not validate with 0 validators 2022-09-01 08:29:46 -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
234b2c78b9 Et2SelectCountry: Fix limited size of search box
There was a conflict between flag style & search styles.  Now using a specific element for the current value flag instead of styling the whole slot.
2022-08-26 11:48:02 -06:00
nathan
b136958425 Et2Select: (multiple=false) When searching and user selects a value, abort search and show all non-matching entries again 2022-08-25 15:51:15 -06: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
nathan
6e30a68121 Get automatic search when more than 20 select_options working for all cases
StaticOptions, change after init previously didn't work
2022-08-19 11:07:16 -06:00
nathan
d5d9dd6164 Select + search improvements
- Use et2-search widget with clearable for search
- Add focus(), which opens & focuses search
2022-08-16 16:46:20 -06:00
nathan
6095b0e2ae Fix Et2LinkSearch did not always get correct option when it was loaded with a value
SearchMixin was incorrectly allowing it as a free entry, so it wasn't being properly loaded by Et2LinkSearch
2022-08-15 10:38:19 -06:00
nathan
ddee9a2b59 Et2Select: Move option rendering into its own function, call it for Et2SelectAccount. This fixes missing option/label in some cases
eg: Kanban edit column Add/Remove assigned
2022-08-15 10:31:49 -06:00
Hadi Nategh
a456f509f5 Let the tags styling matches the rest of the framework 2022-08-12 12:46:48 +02:00
ralf
429886139b change default remoteQuery to send query and options as parameters and additional as GET parameters
to support old taglist style callbacks and the select callbacks
2022-08-11 11:24:07 +02:00
ralf
75a263a047 automatic enable search for more than 20 options on Birgits request 2022-08-10 13:29:15 +02:00
ralf
a54c100470 fix email selection after changing selects client- and server-side to no longer send id attribute, but value
thought we still accept id, if there is no value
2022-08-10 13:28:48 +02:00
ralf
9ddfba4a24 fix no category was selected (because of numeric value) and color was not shown 2022-08-09 17:24:28 +02:00
ralf
ea0cbd0441 account selection currently only need to use server-side search, for pref "Primary group and search"
for all other types the local search is sufficient, as everything is already local!
fix Taglist::ajax_search for accounts to pass the icon to client-side and always set value instead of id
2022-08-09 10:47:57 +02:00
ralf
e7eb9f42e3 fix many errors around et2-select emulating old taglist:
- preprocessor: translate attributes autocomplete_url -> searchUrl, autocomplete_params -> searchOptions, and allow options
- sending search query as URL/GET parameter with default of app: <appname>
- handle searchUrl like allowFreeEntries by adding selected result to select_options via createFreeEntries, as they otherwise get removed by fix_bad_value not finding the value in select_options
- change taglist validation (again) to not validate search values
- still requires changes in application code, as taglist always behaved like multiple=true (returning and expecting an array of values) and did automatically search from client-side for it's initial value(s)
--> maybe more changes are in order to NOT require changing application code
--> fixes editing Sieve rules
2022-08-08 17:28:51 +02:00
ralf
79a395e3e6 fix missing scrollbar in longer then visible dropdown 2022-08-08 14:44:37 +02:00
nathan
e8a93ab782 Handle initial value sometimes not set after Shoelace version bump 2022-08-05 11:32:59 -06:00
nathan
36d74dd91f Select search term after selecting a search result 2022-08-05 11:10:50 -06: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
ralf
3a92e104da fix TypeError for account-selection type "primary_group" 2022-07-29 09:24:57 +02:00
ralf
dbdb124c1c fix not displayed selected account, caused by egw.accounts() returning value as number, not string 2022-07-27 11:46:45 +02:00
nathan
de73241166 Fix historylog multi-part entries did not actually show values
Also deals with some issues setting and missing cleaning of select_options
2022-07-26 11:41:07 -06:00
ralf
9f15169ced convert hierarchical options / optgroups to a flat list and enable search for more than 100 options automatic
fixes timezone selection in preferences
2022-07-26 18:57:18 +02:00
nathan
df0b4f3afb Fix free entries didn't get added properly for static option selects 2022-07-26 09:15:05 -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
3cb8b1ecce Get select hover border back 2022-07-22 10:44:37 -06: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
ralf
d26ed9bfce fix not displayed r/o et2-select-cat values 2022-07-21 11:50:05 +02:00
nathan
f72b842031 Let search take full size - empty label margin was taking some 2022-07-20 15:03:15 -06:00
nathan
3b147eaa49 Make sure options are clean before trying to merge them. Fixers broken historylog.
Also filter out duplicate options.
2022-07-19 14:20:39 -06:00
nathan
2bcebeed42 Add Et2SelectEmail.full_email property. Set to true when you need to see the full, original value 2022-07-19 13:18:51 -06: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
nathan
5ee60c0af1 Fix option merge unique filter left out some options 2022-07-19 10:31:45 -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
b064b84874 Fix some selects with static options did not render their options after ddd72fd51a 2022-07-18 10:41:48 -06:00
nathan
9ebc1e8f15 Et2Select: Avoid JS error if allowFreeEntries=true but editModeEnabled=false 2022-07-15 13:08:57 -06: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
2571d90691 Follow my own advice and split out content into an overridable sub-template in case we need it 2022-07-15 09:30:12 -06:00
nathan
6d97cb17f4 Et2EmailTag: If email has name in it, or is a known contact, show just the name. Show name + email on hover. 2022-07-14 16:54:18 -06:00
nathan
28a289e5e1 Check if email is known contact immediately, previously waited for a mouseover 2022-07-14 15:34:58 -06:00
nathan
0034a8fe1c Thoroughly remove search icon, not just hide it. 2022-07-14 14:17:50 -06:00
nathan
53e5e45a5d Better handling for options with more properties set (title, icon)
Previously they were being discarded
2022-07-14 13:16:48 -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
d9f094053f Et2Select: Ellipsis on tags that are too long 2022-07-12 11:36:18 -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
19a45164f9 Change static cat select options to always use promise 2022-07-07 10:49:28 -06:00
nathan
dc8809ef87 Et2Select + Search: Always need to bind our own change handler to catch & cancel search textbox changes or they bubble 2022-07-07 10:47:14 -06:00
nathan
4936c0e043 Et2SelectCategory: keep options sent from server
For example, addressbook index does this.
2022-07-07 10:06:41 -06:00
Hadi Nategh
7a4193073b Make sure we don't reevaluate the value when there's already a value set (eg. given object of options with value attribute set) 2022-07-07 11:54:24 +02: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
761b0ee6cc Fix for double-submit caused by change handler bound twice 2022-07-05 13:15:32 -06:00
nathan
5dc1c74167 SearchMixin: Actually pass search options 2022-07-05 10:16:05 -06: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
0842eb4376 Finish missing doc 2022-06-29 09:24:12 -06:00
nathan
4f4b83733c Mail: Re-size header labels in display popup, change mail date widget to date-time-today 2022-06-28 10:18:42 -06:00
nathan
bb48e4ecee Select + search: don't try to open search when readonly 2022-06-24 14:27:49 -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
ralf
8dd6dcf97c remove unnecessary adding of free entries to select_options 2022-06-23 21:28:01 +02:00
nathan
1cc2cd5e3e Et2Select + Search: Fix change event fired while widget still had old value
The search box was firing its own change event, triggering the handler.  Now SearchMixin swallows that event preventing it from triggering.
2022-06-23 10:36:54 -06:00
ralf
f2e20eddba fix addressbook edit for new Et2SelectCountry&State:
- using allowFreeEntries for custom country-names and storing, as before, region-name not the -code
- also fix flags to show nothing for custom / free country-names
Not entirely happy about it, but not willing to spend/waste more time on this tiny feature
2022-06-23 10:06:01 +02:00
ralf
9157a37480 fix URL of flags.css include 2022-06-23 07:19:47 +02:00
nathan
9b3de5db95 Et2SelectCountry: Use CSS for flag images 2022-06-22 16:13:58 -06:00
nathan
e9af38081e Move email-specific D-n-d into Et2SelectEmail class 2022-06-22 14:36:38 -06:00
nathan
874371483a Et2Select: Fix multiple + allowFreeEntries did not work together 2022-06-22 14:28:37 -06:00
nathan
d9400430e5 Mail: Use et2-select-email for displaying addresses in preview 2022-06-21 16:34:57 -06:00
nathan
61f22d67f3 Double thickness of colored category border in Et2SelectCategory 2022-06-21 09:22:39 -06:00
Hadi Nategh
ac171a1076 Implements DND for et2-select-email tags 2022-06-21 16:21:23 +02:00
nathan
261b104875 Looks like SearchMixin no longer needs special handling for change event and it was not working with onchange attribute in some cases. 2022-06-20 11:18:15 -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
ralf
7dc591b2c9 fix TypeError this === undefined 2022-06-17 22:43:35 +02:00
nathan
fdd6f23560 Better readonly styling 2022-06-17 14:06:12 -06:00
nathan
f13bf7b154 Et2SelectThumbnail 2022-06-17 13:07:33 -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
d525918391 SearchMixin: Stick with repeat() over map(), it's slightly more efficient 2022-06-16 11:05:13 -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
6b950900ee SearchMixin: Avoid error if tag can't be found when we go to scroll to it 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
2a79264674 Select / Search CSS:
- Add some spacing
- Fix disappearing images, when they were in the search results
- Pass option classes to tag
- Move tag image to its own method for overriding
2022-06-14 17:31:39 -06:00
nathan
e109b1d85b Always use avatar for user image in Et2SelectAccount tag 2022-06-14 17:29:58 -06:00
nathan
67b9102a69 Et2Select: Allow dropdown option list to be wider than the field 2022-06-14 15:14:17 -06:00
nathan
3f3e7559f1 Select / Search CSS:
- Refocus search when clearing a single value
2022-06-14 10:06:27 -06:00
nathan
5f77d0c644 Select / Search CSS:
- Limit height of tag area (3 lines), use scrollbar if we get too many
2022-06-14 09:37:21 -06:00
nathan
003f1255d7 Select / Search CSS:
- Let search input take full space for single-value search selects
2022-06-14 09:09:11 -06:00
nathan
a7874ecb63 Select / Search CSS:
- Keep tags visible while searching, adding or editing a free entry
- hide selected options from dropdown
- double-click to edit free entries
2022-06-13 17:22:35 -06:00
nathan
a26b775505 Select / Search tag CSS:
- Pill tags
- Keep tag from overflowing
- Fix remove icon cut off
2022-06-13 17:22:35 -06:00
nathan
89a73ac47d Select / Search CSS:
- Hide selected options from dropdown
- Tab & Comma (,) now end a freeEntry, was just Enter before
2022-06-13 09:58:46 -06:00
nathan
8828770c4f Select / Search CSS:
- Fix tag remove button alignment
2022-06-13 08:25:16 -06:00
ralf
980f7cb0df fix first category was always selected in calendar.edit as somehow select_options were set before multiple
removed the deduplicate select-first-option code now in favor of the one in firstUpdate
also automatic convert empty_label for et2-select multiple into a placeholder
2022-06-13 14:39:01 +02:00
ralf
b24b6b42e4 fix ReferenceError: value is not defined 2022-06-13 12:34:25 +02: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
a7cafb590c Et2SelectAccount: Enable searching 2022-06-10 13:56:55 -06:00
nathan
b47d6fc702 Et2SelectAccount: Fix TypeError: Cannot set property select_options of #<Et2SelectAccount> which has only a getter 2022-06-10 10:42:37 -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
nathan
531cc473e2 Et2Select: Implement allowFreeEntries & editModeEnabled properties
Also added Et2SelectEmail, which uses them
2022-06-10 10:11:34 -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
45ccceb1c7 Fix Et2Select was losing options set in template
All JS tests now pass.  yay.
2022-06-08 14:57:26 -06: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