Skip to content

Commit c140a98

Browse files
authored
Merge pull request #9 from afonja14755/selected-items
feat: html name attr for search input
2 parents 73dac61 + 70a5be8 commit c140a98

10 files changed

+29
-11
lines changed

dist/css/ux-select.css

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js/ux-select.es.js

+4-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js/ux-select.es.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js/ux-select.iife.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js/ux-select.iife.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package-lock.json

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ux-select",
3-
"version": "2.5.0",
3+
"version": "2.6.0",
44
"description": "UX Select is a lightweight Native JavaScript plugin that replace native select elements with customization",
55
"keywords": [
66
"web",

src/scss/_styles.scss

+2
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@
132132
user-select: none;
133133
flex-grow: 1;
134134
white-space: nowrap;
135+
overflow: hidden;
136+
text-overflow: ellipsis;
135137
}
136138

137139
&__clear {

src/types.d.ts

+4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
export type UxSelectParams = {
22
isSearchable?: boolean
33
isSearchFocus?: boolean
4+
searchName?: string
5+
isDisplaySelectedItems?: boolean
46
isGroupOptions?: boolean
57
hideOnClear?: boolean
68
hideOnSelect?: boolean
@@ -44,6 +46,8 @@ export type UxSelectConfig = Pick<
4446
UxSelectParams,
4547
| 'isSearchable'
4648
| 'isSearchFocus'
49+
| 'searchName'
50+
| 'isDisplaySelectedItems'
4751
| 'isGroupOptions'
4852
| 'hideOnClear'
4953
| 'hideOnSelect'

src/ux-select.ts

+12-2
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,14 @@ export default class UxSelect {
4545
this.el.dataset.isSearchFocus !== undefined
4646
? this.el.dataset.isSearchFocus === 'true'
4747
: (params.isSearchFocus ?? false),
48+
searchName:
49+
this.el.dataset.searchName !== undefined
50+
? this.el.dataset.searchName
51+
: (params.searchName ?? ''),
52+
isDisplaySelectedItems:
53+
this.el.dataset.isDisplaySelectedItems !== undefined
54+
? this.el.dataset.isDisplaySelectedItems === 'true'
55+
: (params.isDisplaySelectedItems ?? false),
4856
isGroupOptions:
4957
this.el.dataset.isGroupOptions !== undefined
5058
? this.el.dataset.isGroupOptions === 'true'
@@ -175,7 +183,9 @@ export default class UxSelect {
175183
if (selectedTexts.length === 1) {
176184
selectTitle.textContent = selectedTexts[0]
177185
} else if (this.state.multiple) {
178-
selectTitle.textContent = `${this.localization.selectedText} ${selectedTexts.length}`
186+
selectTitle.textContent = this.config.isDisplaySelectedItems
187+
? selectedTexts.join(', ')
188+
: `${this.localization.selectedText} ${selectedTexts.length}`
179189
}
180190
this.uxEl.classList.add('-filled')
181191
} else {
@@ -376,7 +386,7 @@ export default class UxSelect {
376386

377387
const selectSearch = document.createElement('input')
378388
selectSearch.type = 'search'
379-
selectSearch.name = 'ux-select-search'
389+
if (this.config.searchName) selectSearch.name = this.config.searchName
380390
selectSearch.classList.add('ux-select-search__input')
381391
selectSearch.placeholder = this.localization.searchText
382392
this.uxSearchInput = selectSearch

0 commit comments

Comments
 (0)