75 lines
1.9 KiB
Vue
Raw Normal View History

2021-11-20 16:10:52 +08:00
<template>
<div class="settings">
<settings-prop label="refresh">
2024-01-09 15:33:34 +08:00
<CCSelect
v-model="refreshType"
:data="refreshOptions"
@change="onCommonSave"
style="flex: 1"
>
</CCSelect>
2021-11-20 16:10:52 +08:00
</settings-prop>
<settings-prop label="refresh time: " v-show="isRefreshAuto()">
2024-01-09 15:33:34 +08:00
<CCInputNumber
2024-01-09 12:02:47 +08:00
style="flex: 1"
:min="100"
v-model="refreshTime"
@change="onCommonSave"
2024-01-09 15:33:34 +08:00
></CCInputNumber>
2021-11-20 16:10:52 +08:00
<span>ms</span>
</settings-prop>
</div>
</template>
<script lang="ts">
2024-01-09 12:02:47 +08:00
import { defineComponent, onMounted, ref, toRaw } from "vue";
import { RefreshType, settings } from "../settings";
import SettingsProp from "./settings-prop.vue";
2024-01-09 15:33:34 +08:00
import { Option } from "@xuyanfeng/cc-ui/types/cc-select/const";
import ccui from "@xuyanfeng/cc-ui";
const { CCInput, CCButton, CCInputNumber, CCSelect, CCCheckBox, CCColor } =
ccui.components;
2024-01-09 12:02:47 +08:00
export default defineComponent({
name: "settings",
2024-01-09 15:33:34 +08:00
components: {
SettingsProp,
CCInput,
CCButton,
CCInputNumber,
CCSelect,
CCCheckBox,
CCColor,
},
2024-01-09 12:02:47 +08:00
props: {},
setup(props, ctx) {
2024-01-09 15:33:34 +08:00
const refreshOptions = ref<Array<Option>>([
2024-01-09 12:02:47 +08:00
{ label: "auto", value: RefreshType.Auto },
{ label: "manual", value: RefreshType.Manual },
]);
const refreshType = ref(settings.data?.refreshType || "");
const refreshTime = ref(settings.data?.refreshTime || 500);
return {
refreshType,
refreshTime,
refreshOptions,
isRefreshAuto() {
return refreshType.value === RefreshType.Auto;
},
onChangeRefreshType() {},
onCommonSave() {
if (settings.data) {
settings.data.refreshType = toRaw(refreshType.value);
settings.data.refreshTime = toRaw(refreshTime.value);
settings.save();
}
},
};
},
});
2021-11-20 16:10:52 +08:00
</script>
<style scoped lang="less">
.settings {
}
</style>