Skip to content

Commit 36cf9ab

Browse files
committed
ESC-240: Fix null pointer exception in SelectInput getOptionName method
1 parent 797c1ce commit 36cf9ab

File tree

2 files changed

+22
-15
lines changed

2 files changed

+22
-15
lines changed

client/components/forms/SelectInput.vue

+17-15
Original file line numberDiff line numberDiff line change
@@ -101,29 +101,29 @@
101101
</template>
102102

103103
<script>
104-
import {inputProps, useFormInput} from './useFormInput.js'
104+
import { inputProps, useFormInput } from './useFormInput.js'
105105
import InputWrapper from './components/InputWrapper.vue'
106106
107107
/**
108108
* Options: {name,value} objects
109109
*/
110110
export default {
111111
name: 'SelectInput',
112-
components: {InputWrapper},
112+
components: { InputWrapper },
113113
114114
props: {
115115
...inputProps,
116-
options: {type: Array, required: true},
117-
optionKey: {type: String, default: 'value'},
118-
emitKey: {type: String, default: 'value'},
119-
displayKey: {type: String, default: 'name'},
120-
loading: {type: Boolean, default: false},
121-
multiple: {type: Boolean, default: false},
122-
searchable: {type: Boolean, default: false},
123-
clearable: {type: Boolean, default: false},
124-
allowCreation: {type: Boolean, default: false},
125-
dropdownClass: {type: String, default: 'w-full'},
126-
remote: {type: Function, default: null}
116+
options: { type: Array, required: true },
117+
optionKey: { type: String, default: 'value' },
118+
emitKey: { type: String, default: 'value' },
119+
displayKey: { type: String, default: 'name' },
120+
loading: { type: Boolean, default: false },
121+
multiple: { type: Boolean, default: false },
122+
searchable: { type: Boolean, default: false },
123+
clearable: { type: Boolean, default: false },
124+
allowCreation: { type: Boolean, default: false },
125+
dropdownClass: { type: String, default: 'w-full' },
126+
remote: { type: Function, default: null }
127127
},
128128
setup(props, context) {
129129
return {
@@ -160,8 +160,10 @@ export default {
160160
return optionCandidate[this.optionKey] === val ||
161161
(typeof val === 'object' && optionCandidate[this.optionKey] === val[this.optionKey])
162162
})
163-
if (option) return option[this.displayKey]
164-
return null
163+
if (option && option[this.displayKey] !== undefined) {
164+
return option[this.displayKey]
165+
}
166+
return val // Return the original value if no matching option is found
165167
},
166168
getOptionNames(values) {
167169
return values.map(val => {

client/nuxt.config.ts

+5
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ export default defineNuxtConfig({
6060
project: "opnform-vue",
6161
}),
6262
],
63+
server: {
64+
hmr: {
65+
clientPort: 3000
66+
}
67+
}
6368
},
6469
tailwindcss: {
6570
cssPath: ['~/scss/app.scss']

0 commit comments

Comments
 (0)