Commit Graph

150 Commits

Author SHA1 Message Date
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
nathan
91b94a5126 Et2Select: Use same z-index for search box as dropdown 2023-05-10 13:43:46 -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
86dac02826 Calendar: Fix second selected owner in sidemenu went missing 2023-04-27 14:02:41 -06:00
nathan
5a824ef25b Et2Select: Fix doubled tags, long tags missing ellipsis 2023-04-18 10:36:34 -06:00
nathan
8de9ffc240 Et2Select: Fix keyboard navigation in search results & sidebox category closes 2023-03-23 17:21:32 -06:00
nathan
f7d44c63cb Enable disabled select options 2023-02-22 09:51:57 -07:00
nathan
03a237fd7e Et2Select: Turn off browser autocomplete in search 2023-02-13 14:57:55 -07:00
nathan
c4f3ec9840 Et2Select: Fix free entries can get doubled if more free entries added 2023-02-10 14:13:13 -07:00
nathan
193dbfc339 Et2Select: Fix some search weirdness
- Search didn't start until 1 character more than expected
- Search didn't happen on enter because the et2-searchbox inside stopped the key event from bubbling
2023-02-07 16:24:06 -07: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
ab56ad1171 Et2Select: Handle paste of CSV into selects with allowFreeEntries
Special handling for Et2SelectEmail to handle email addresses that may have a name or comma
2023-01-31 09:48:27 -07:00
nathan
e575c40ff3 Some missed cases where client-side lavatar was not used 2023-01-30 15:26:09 -07:00
nathan
9bf0149645 Fix selectbox positioning issue
Tracker owner would open down instead of up with fontsize = 14.  Updating to shoelace 2.0.0-beta.81 fixes it.  Going farther introduces some other issues that I don't want to get into right now
2023-01-24 13:58:38 -07:00
nathan
7518278948 Add edit button to freeEntry selectbox tags 2023-01-23 17:34:37 -07:00
nathan
6177ca0536 SearchMixin: Filter selected remote correctly for single selects too 2022-12-09 13:14:57 -07:00
nathan
4b4d6fe184 Stop scrolling new tag into view, it causes calendar sidemenu to get stuck 2022-12-08 14:47:02 -07:00
nathan
ce64ddf9e0 Fix doubled tags if widget gets select_options after a remote option is selected 2022-12-08 14:28:05 -07:00
nathan
be5125509e SearchMixin: Fix selecting multiple remote values only showed the last 2022-12-08 10:24:49 -07:00
nathan
fb40aedf89 SearchMixin: Use parent set select_otions, no need to duplicate 2022-12-06 11:59:51 -07:00
nathan
fa2375b1a6 SearchMixin: Fix selected remote options got lost if adding a freeEntry 2022-12-05 13:56:31 -07:00
nathan
6eebabe472 SearchMixin: Fix tag edit
Double clicking just cleared the input, edit was immediately stopped due to search blur
2022-12-01 14:54:34 -07:00
nathan
404a29b985 SearchMixin: If user enters a valid free entry then changes focus without pressing Tab or Enter key, accept the free entry 2022-12-01 14:15:40 -07:00
nathan
32bd2a1084 SearchMixin: Make sure dropdown doesn't cover bottom border 2022-11-09 09:30:53 -07:00
nathan
bd62279f55 Et2Select: Cancel search timer on blur and menu close
If we don't, results might come back after we leave/close and re-open
2022-10-17 09:56:58 -06:00
nathan
0004aa5bb4 SearchMixin: Avoid errors if searchInputNode is not created 2022-10-14 15:12:08 -06:00
nathan
f8e56edc20 Limit number of accounts (& other select/taglist search results) sent to client 2022-10-04 15:49:07 -06:00
nathan
ffd6c21ed4 Et2Select: Avoid errors if freeEntry has single quote 2022-09-27 13:55:32 -06:00
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
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
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
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
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
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
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
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
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
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
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
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
df0b4f3afb Fix free entries didn't get added properly for static option selects 2022-07-26 09:15:05 -06:00
nathan
3cb8b1ecce Get select hover border back 2022-07-22 10:44:37 -06:00
nathan
f72b842031 Let search take full size - empty label margin was taking some 2022-07-20 15:03:15 -06:00
nathan
9ebc1e8f15 Et2Select: Avoid JS error if allowFreeEntries=true but editModeEnabled=false 2022-07-15 13:08:57 -06:00
nathan
0034a8fe1c Thoroughly remove search icon, not just hide it. 2022-07-14 14:17:50 -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
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
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
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
bb48e4ecee Select + search: don't try to open search when readonly 2022-06-24 14:27:49 -06: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
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
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
fdd6f23560 Better readonly styling 2022-06-17 14:06:12 -06:00
nathan
f13bf7b154 Et2SelectThumbnail 2022-06-17 13:07:33 -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
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
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
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
531cc473e2 Et2Select: Implement allowFreeEntries & editModeEnabled properties
Also added Et2SelectEmail, which uses them
2022-06-10 10:11:34 -06:00
nathan
f07aacaeaf Work on Search/LinkEntry
- Fix events were messed up after search
2022-06-02 15:45:23 -06:00
nathan
5f7b9bd5f4 Work on LinkEntry
- Show / hide app select depending on has current value
- Hide current value when searching to get more space
2022-06-02 11:52:27 -06:00
nathan
7cb13015ae Fix item class was not correct 2022-06-01 09:41:53 -06: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
ralf
0aa813a0ff got LinkEntry mostly working 2022-06-01 16:05:34 +02:00
nathan
9b0e1b9206 Work on LinkEntry 2022-05-31 13:41:39 -06:00
nathan
bc045bf0da Add SearchMixin
A little clunky and still missing server-side
2022-05-30 17:05:38 -06:00