Consolidate property control menu into own component

This commit is contained in:
Julian Stirling 2026-07-01 14:57:28 +01:00
parent a2ebed1006
commit 697a121275
6 changed files with 109 additions and 161 deletions

View file

@ -14,30 +14,11 @@
{{ display }}
</option>
</select>
<mini-menu v-slot="{ close }">
<p>
<icon-button
icon="refresh"
:show-label="true"
label="Reset to default"
@click="
resetDefault();
close();
"
/>
</p>
<p>
<icon-button
icon="sync"
:show-label="true"
label="Re-sync value"
@click="
requestUpdate;
close();
"
/>
</p>
</mini-menu>
<property-control-menu
:can-reset="isChangedFomDefault"
@reset-default="resetDefault"
@request-update="requestUpdate"
/>
</div>
</label>
<label v-if="!useDropdown && dataType == 'number'">
@ -69,30 +50,11 @@
</button>
</div>
</div>
<mini-menu v-slot="{ close }">
<p>
<icon-button
icon="refresh"
:show-label="true"
label="Reset to default"
@click="
resetDefault();
close();
"
/>
</p>
<p>
<icon-button
icon="sync"
:show-label="true"
label="Re-sync value"
@click="
requestUpdate;
close();
"
/>
</p>
</mini-menu>
<property-control-menu
:can-reset="isChangedFomDefault"
@reset-default="resetDefault"
@request-update="requestUpdate"
/>
</div>
</label>
<div v-if="!useDropdown && dataType == 'boolean'" class="input-and-buttons-container">
@ -109,30 +71,11 @@
{{ label }}
</span>
</label>
<mini-menu v-slot="{ close }">
<p>
<icon-button
icon="refresh"
:show-label="true"
label="Reset to default"
@click="
resetDefault();
close();
"
/>
</p>
<p>
<icon-button
icon="sync"
:show-label="true"
label="Re-sync value"
@click="
requestUpdate;
close();
"
/>
</p>
</mini-menu>
<property-control-menu
:can-reset="isChangedFomDefault"
@reset-default="resetDefault"
@request-update="requestUpdate"
/>
</div>
<label v-if="!useDropdown && dataType == 'number_array'">
<span class="uk-form-label" :class="{ 'ofm-highlighted-label': isChangedFomDefault }">
@ -152,30 +95,11 @@
@keydown="keyDown"
@animationend="animationEnd"
/>
<mini-menu v-slot="{ close }">
<p>
<icon-button
icon="refresh"
:show-label="true"
label="Reset to default"
@click="
resetDefault();
close();
"
/>
</p>
<p>
<icon-button
icon="sync"
:show-label="true"
label="Re-sync value"
@click="
requestUpdate;
close();
"
/>
</p>
</mini-menu>
<property-control-menu
:can-reset="isChangedFomDefault"
@reset-default="resetDefault"
@request-update="requestUpdate"
/>
</div>
</label>
<label v-if="!useDropdown && dataType == 'number_object'">
@ -196,30 +120,11 @@
@keydown="keyDown"
@animationend="animationEnd"
/>
<mini-menu v-slot="{ close }">
<p>
<icon-button
icon="refresh"
:show-label="true"
label="Reset to default"
@click="
resetDefault();
close();
"
/>
</p>
<p>
<icon-button
icon="sync"
:show-label="true"
label="Re-sync value"
@click="
requestUpdate;
close();
"
/>
</p>
</mini-menu>
<property-control-menu
:can-reset="isChangedFomDefault"
@reset-default="resetDefault"
@request-update="requestUpdate"
/>
</div>
</div>
</label>
@ -238,30 +143,11 @@
@keydown="keyDown"
@animationend="animationEnd"
/>
<mini-menu v-slot="{ close }">
<p>
<icon-button
icon="refresh"
:show-label="true"
label="Reset to default"
@click="
resetDefault();
close();
"
/>
</p>
<p>
<icon-button
icon="sync"
:show-label="true"
label="Re-sync value"
@click="
requestUpdate;
close();
"
/>
</p>
</mini-menu>
<property-control-menu
:can-reset="isChangedFomDefault"
@reset-default="resetDefault"
@request-update="requestUpdate"
/>
</div>
</label>
<label v-if="!useDropdown && dataType == 'other'">
@ -281,15 +167,13 @@
</template>
<script>
import iconButton from "@/components/genericComponents/iconButton.vue";
import MiniMenu from "@/components/genericComponents/miniMenu.vue";
import PropertyControlMenu from "./propertyControlMenu.vue";
export default {
name: "InputFromSchema",
components: {
iconButton,
MiniMenu,
PropertyControlMenu,
},
props: {
dataSchema: {
@ -322,7 +206,7 @@ export default {
},
},
emits: ["requestUpdate", "resetDefault", "sendValue", "animationShown"],
emits: ["requestUpdate", "sendValue", "animationShown"],
compatConfig: { COMPONENT_V_MODEL: false },