diff options
author | Matjaž Črnko <m.crnko@txt.si> | 2024-01-22 18:25:48 +0100 |
---|---|---|
committer | Matjaž Črnko <m.crnko@txt.si> | 2024-01-22 18:25:48 +0100 |
commit | 19e73a4263d05cba07157d7e6a7f7f971745c662 (patch) | |
tree | c0af4558f6a1a84cdc683f1d0d1401b5fe09f63b | |
parent | 2bd044ecf9fa456e168057acc513bd3b4582d0c6 (diff) | |
download | trackermap-web-19e73a4263d05cba07157d7e6a7f7f971745c662.tar.gz trackermap-web-19e73a4263d05cba07157d7e6a7f7f971745c662.tar.bz2 trackermap-web-19e73a4263d05cba07157d7e6a7f7f971745c662.zip |
fix: SelectField - cleaner approach for Autocomplete value handling
-rw-r--r-- | modern/src/common/components/SelectField.jsx | 3 | ||||
-rw-r--r-- | modern/src/settings/ServerPage.jsx | 1 | ||||
-rw-r--r-- | modern/src/settings/UserPage.jsx | 1 | ||||
-rw-r--r-- | modern/src/settings/components/BaseCommandView.jsx | 1 |
4 files changed, 1 insertions, 5 deletions
diff --git a/modern/src/common/components/SelectField.jsx b/modern/src/common/components/SelectField.jsx index bc0571d5..920c2640 100644 --- a/modern/src/common/components/SelectField.jsx +++ b/modern/src/common/components/SelectField.jsx @@ -14,7 +14,6 @@ const SelectField = ({ onChange, endpoint, data, - keyField = 'id', keyGetter = (item) => item.id, titleGetter = (item) => item.name, }) => { @@ -22,7 +21,7 @@ const SelectField = ({ const getOptionLabel = (option) => { if (typeof option !== 'object') { - option = items.find(obj => keyField ? obj[keyField] === option : obj === option); + option = items.find(obj => keyGetter(obj) === option); } return option ? titleGetter(option) : ''; } diff --git a/modern/src/settings/ServerPage.jsx b/modern/src/settings/ServerPage.jsx index 4dc87887..09a02f91 100644 --- a/modern/src/settings/ServerPage.jsx +++ b/modern/src/settings/ServerPage.jsx @@ -197,7 +197,6 @@ const ServerPage = () => { emptyValue={null} onChange={(e) => setItem({ ...item, attributes: { ...item.attributes, timezone: e.target.value } })} endpoint="/api/server/timezones" - keyField={false} keyGetter={(it) => it} titleGetter={(it) => it} label={t('sharedTimezone')} diff --git a/modern/src/settings/UserPage.jsx b/modern/src/settings/UserPage.jsx index 7411ee64..dee7f2ac 100644 --- a/modern/src/settings/UserPage.jsx +++ b/modern/src/settings/UserPage.jsx @@ -271,7 +271,6 @@ const UserPage = () => { emptyValue={null} onChange={(e) => setItem({ ...item, attributes: { ...item.attributes, timezone: e.target.value } })} endpoint="/api/server/timezones" - keyField={false} keyGetter={(it) => it} titleGetter={(it) => it} label={t('sharedTimezone')} diff --git a/modern/src/settings/components/BaseCommandView.jsx b/modern/src/settings/components/BaseCommandView.jsx index 070ecfed..f4d5d4b2 100644 --- a/modern/src/settings/components/BaseCommandView.jsx +++ b/modern/src/settings/components/BaseCommandView.jsx @@ -31,7 +31,6 @@ const BaseCommandView = ({ deviceId, item, setItem }) => { value={item.type || null} onChange={(e) => setItem({ ...item, type: e.target.value, attributes: {} })} endpoint={deviceId ? `/api/commands/types?${new URLSearchParams({ deviceId }).toString()}` : '/api/commands/types'} - keyField='type' keyGetter={(it) => it.type} titleGetter={(it) => t(prefixString('command', it.type))} label={t('sharedType')} |