aboutsummaryrefslogtreecommitdiff
path: root/src/components/settings_modal/helpers/unit_setting.vue
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/settings_modal/helpers/unit_setting.vue')
-rw-r--r--src/components/settings_modal/helpers/unit_setting.vue62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/components/settings_modal/helpers/unit_setting.vue b/src/components/settings_modal/helpers/unit_setting.vue
new file mode 100644
index 00000000..40ab6880
--- /dev/null
+++ b/src/components/settings_modal/helpers/unit_setting.vue
@@ -0,0 +1,62 @@
+<template>
+ <span
+ v-if="matchesExpertLevel"
+ class="UnitSetting"
+ >
+ <label
+ :for="path"
+ class="size-label"
+ >
+ <slot />
+ </label>
+ {{ ' ' }}
+ <input
+ :id="path"
+ class="input number-input"
+ type="number"
+ :step="step"
+ :disabled="disabled"
+ :min="min || 0"
+ :value="stateValue"
+ @change="updateValue"
+ >
+ <Select
+ :id="path"
+ :model-value="stateUnit"
+ :disabled="disabled"
+ class="unit-input unstyled"
+ @change="updateUnit"
+ >
+ <option
+ v-for="option in units"
+ :key="option"
+ :value="option"
+ >
+ {{ getUnitString(option) }}
+ </option>
+ </Select>
+ {{ ' ' }}
+ <ModifiedIndicator
+ :changed="isChanged"
+ :onclick="reset"
+ />
+ </span>
+</template>
+
+<script src="./unit_setting.js"></script>
+
+<style lang="scss">
+.UnitSetting {
+ .number-input {
+ max-width: 6.5em;
+ text-align: right;
+ }
+
+ .unit-input,
+ .unit-input select {
+ min-width: 4em;
+ width: auto;
+ }
+}
+
+</style>