mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2025-10-15 02:12:11 +08:00
feat(editor): 属性配置中的样式面板样式优化
This commit is contained in:
parent
cae11dce12
commit
81aa8f151d
@ -32,7 +32,6 @@
|
|||||||
content="选择数据源"
|
content="选择数据源"
|
||||||
>
|
>
|
||||||
<TMagicButton
|
<TMagicButton
|
||||||
style="margin-left: 5px"
|
|
||||||
:type="showDataSourceFieldSelect ? 'primary' : 'default'"
|
:type="showDataSourceFieldSelect ? 'primary' : 'default'"
|
||||||
:size="size"
|
:size="size"
|
||||||
@click="showDataSourceFieldSelect = !showDataSourceFieldSelect"
|
@click="showDataSourceFieldSelect = !showDataSourceFieldSelect"
|
||||||
|
@ -1,14 +1,19 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="m-fields-style-setter">
|
<TMagicCollapse class="m-fields-style-setter" :model-value="collapseValue">
|
||||||
<TMagicCollapse :model-value="collapseValue">
|
<template v-for="(item, index) in list" :key="index">
|
||||||
<template v-for="(item, index) in list" :key="index">
|
<TMagicCollapseItem :name="`${index}`">
|
||||||
<TMagicCollapseItem :name="`${index}`">
|
<template #title><MIcon :icon="Grid"></MIcon>{{ item.title }}</template>
|
||||||
<template #title><MIcon :icon="Grid"></MIcon>{{ item.title }}</template>
|
<component
|
||||||
<component v-if="item.component" :is="item.component" :values="model[name]" @change="change"></component>
|
v-if="item.component"
|
||||||
</TMagicCollapseItem>
|
:is="item.component"
|
||||||
</template>
|
:values="model[name]"
|
||||||
</TMagicCollapse>
|
:size="size"
|
||||||
</div>
|
:disabled="disabled"
|
||||||
|
@change="change"
|
||||||
|
></component>
|
||||||
|
</TMagicCollapseItem>
|
||||||
|
</template>
|
||||||
|
</TMagicCollapse>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -6,13 +6,21 @@
|
|||||||
:key="index"
|
:key="index"
|
||||||
link
|
link
|
||||||
:class="model[name] === item.value && 'btn-active'"
|
:class="model[name] === item.value && 'btn-active'"
|
||||||
|
:disabled="disabled"
|
||||||
@click="changeHandler(item.value)"
|
@click="changeHandler(item.value)"
|
||||||
>
|
>
|
||||||
<div :class="['position-icon', item.class, model[name] === item.value && 'active']"></div>
|
<div :class="['position-icon', item.class, model[name] === item.value && 'active']"></div>
|
||||||
</TMagicButton>
|
</TMagicButton>
|
||||||
</div>
|
</div>
|
||||||
<div class="custom-value">
|
<div class="custom-value">
|
||||||
<TMagicInput v-model="model[name]" size="small" placeholder="自定义背景位置" clearable @change="changeHandler">
|
<TMagicInput
|
||||||
|
v-model="model[name]"
|
||||||
|
placeholder="自定义背景位置"
|
||||||
|
clearable
|
||||||
|
:size="size"
|
||||||
|
:disabled="disabled"
|
||||||
|
@change="changeHandler"
|
||||||
|
>
|
||||||
</TMagicInput>
|
</TMagicInput>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-value-container">
|
<div class="border-value-container">
|
||||||
<MContainer :config="config" :model="model" @change="change"></MContainer>
|
<MContainer :config="config" :model="model" :size="size" :disabled="disabled" @change="change"></MContainer>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -67,7 +67,6 @@ const config = computed(() => ({
|
|||||||
{
|
{
|
||||||
name: `border${direction.value}Style`,
|
name: `border${direction.value}Style`,
|
||||||
text: '边框样式',
|
text: '边框样式',
|
||||||
|
|
||||||
labelWidth: '68px',
|
labelWidth: '68px',
|
||||||
type: 'data-source-field-select',
|
type: 'data-source-field-select',
|
||||||
fieldConfig: {
|
fieldConfig: {
|
||||||
@ -90,6 +89,8 @@ const emit = defineEmits<{
|
|||||||
withDefaults(
|
withDefaults(
|
||||||
defineProps<{
|
defineProps<{
|
||||||
model: FormValue;
|
model: FormValue;
|
||||||
|
disabled?: boolean;
|
||||||
|
size?: 'large' | 'default' | 'small';
|
||||||
}>(),
|
}>(),
|
||||||
{},
|
{},
|
||||||
);
|
);
|
||||||
|
@ -5,9 +5,10 @@
|
|||||||
<span class="next-input">
|
<span class="next-input">
|
||||||
<input
|
<input
|
||||||
v-model="model[item.name]"
|
v-model="model[item.name]"
|
||||||
:title="model[item.name]"
|
|
||||||
@change="change($event, item.name)"
|
|
||||||
placeholder="0"
|
placeholder="0"
|
||||||
|
:title="model[item.name]"
|
||||||
|
:disabled="disabled"
|
||||||
|
@change="change($event, item.name)"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -60,6 +61,8 @@ const emit = defineEmits<{
|
|||||||
|
|
||||||
withDefaults(
|
withDefaults(
|
||||||
defineProps<{
|
defineProps<{
|
||||||
|
disabled?: boolean;
|
||||||
|
size?: 'large' | 'default' | 'small';
|
||||||
model: FormValue;
|
model: FormValue;
|
||||||
}>(),
|
}>(),
|
||||||
{},
|
{},
|
||||||
|
@ -4,9 +4,10 @@
|
|||||||
<span class="next-input">
|
<span class="next-input">
|
||||||
<input
|
<input
|
||||||
v-model="model[item.name]"
|
v-model="model[item.name]"
|
||||||
:title="model[item.name]"
|
|
||||||
@change="change($event, item.name)"
|
|
||||||
placeholder="0"
|
placeholder="0"
|
||||||
|
:title="model[item.name]"
|
||||||
|
:disabled="disabled"
|
||||||
|
@change="change($event, item.name)"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -42,6 +43,8 @@ const emit = defineEmits<{
|
|||||||
withDefaults(
|
withDefaults(
|
||||||
defineProps<{
|
defineProps<{
|
||||||
model: FormValue;
|
model: FormValue;
|
||||||
|
disabled?: boolean;
|
||||||
|
size?: 'large' | 'default' | 'small';
|
||||||
}>(),
|
}>(),
|
||||||
{},
|
{},
|
||||||
);
|
);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<MContainer :config="config" :model="values" @change="change"></MContainer>
|
<MContainer :config="config" :model="values" :size="size" :disabled="disabled" @change="change"></MContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
@ -11,7 +11,11 @@ import type { StyleSchema } from '@tmagic/schema';
|
|||||||
import BackgroundPosition from '../components/BackgroundPosition.vue';
|
import BackgroundPosition from '../components/BackgroundPosition.vue';
|
||||||
import { BackgroundNoRepeat, BackgroundRepeat, BackgroundRepeatX, BackgroundRepeatY } from '../icons/background-repeat';
|
import { BackgroundNoRepeat, BackgroundRepeat, BackgroundRepeatX, BackgroundRepeatY } from '../icons/background-repeat';
|
||||||
|
|
||||||
defineProps<{ values: Partial<StyleSchema> }>();
|
defineProps<{
|
||||||
|
values: Partial<StyleSchema>;
|
||||||
|
disabled?: boolean;
|
||||||
|
size?: 'large' | 'default' | 'small';
|
||||||
|
}>();
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
change: [v: StyleSchema, eventData: ContainerChangeEventData];
|
change: [v: StyleSchema, eventData: ContainerChangeEventData];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<MContainer :config="config" :model="values" @change="change"></MContainer>
|
<MContainer :config="config" :model="values" :size="size" :disabled="disabled" @change="change"></MContainer>
|
||||||
<Border :model="values" @change="change"></Border>
|
<Border :model="values" :size="size" :disabled="disabled" @change="change"></Border>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
@ -9,7 +9,11 @@ import type { StyleSchema } from '@tmagic/schema';
|
|||||||
|
|
||||||
import Border from '../components/Border.vue';
|
import Border from '../components/Border.vue';
|
||||||
|
|
||||||
defineProps<{ values: Partial<StyleSchema> }>();
|
defineProps<{
|
||||||
|
values: Partial<StyleSchema>;
|
||||||
|
disabled?: boolean;
|
||||||
|
size?: 'large' | 'default' | 'small';
|
||||||
|
}>();
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
change: [v: StyleSchema, eventData: ContainerChangeEventData];
|
change: [v: StyleSchema, eventData: ContainerChangeEventData];
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<MContainer :config="config" :model="values" @change="change"></MContainer>
|
<MContainer :config="config" :model="values" :size="size" :disabled="disabled" @change="change"></MContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
@ -10,7 +10,11 @@ import type { StyleSchema } from '@tmagic/schema';
|
|||||||
|
|
||||||
import { AlignCenter, AlignLeft, AlignRight } from '../icons/text-align';
|
import { AlignCenter, AlignLeft, AlignRight } from '../icons/text-align';
|
||||||
|
|
||||||
defineProps<{ values: Partial<StyleSchema> }>();
|
defineProps<{
|
||||||
|
values: Partial<StyleSchema>;
|
||||||
|
disabled?: boolean;
|
||||||
|
size?: 'large' | 'default' | 'small';
|
||||||
|
}>();
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
change: [v: StyleSchema, eventData: ContainerChangeEventData];
|
change: [v: StyleSchema, eventData: ContainerChangeEventData];
|
||||||
|
@ -1,6 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<MContainer :config="config" :model="values" @change="change"></MContainer>
|
<MContainer :config="config" :model="values" :size="size" :disabled="disabled" @change="change"></MContainer>
|
||||||
<Box v-show="!['fixed', 'absolute'].includes(values.position)" :model="values" @change="change"></Box>
|
<Box
|
||||||
|
v-show="!['fixed', 'absolute'].includes(values.position)"
|
||||||
|
:model="values"
|
||||||
|
:size="size"
|
||||||
|
:disabled="disabled"
|
||||||
|
@change="change"
|
||||||
|
></Box>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
@ -28,6 +34,8 @@ import {
|
|||||||
|
|
||||||
defineProps<{
|
defineProps<{
|
||||||
values: Partial<StyleSchema>;
|
values: Partial<StyleSchema>;
|
||||||
|
disabled?: boolean;
|
||||||
|
size?: 'large' | 'default' | 'small';
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
|
@ -1,12 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<MContainer :config="config" :model="values" @change="change"></MContainer>
|
<MContainer :config="config" :model="values" :size="size" :disabled="disabled" @change="change"></MContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ContainerChangeEventData, MContainer } from '@tmagic/form';
|
import { ContainerChangeEventData, MContainer } from '@tmagic/form';
|
||||||
import type { StyleSchema } from '@tmagic/schema';
|
import type { StyleSchema } from '@tmagic/schema';
|
||||||
|
|
||||||
const props = defineProps<{ values: Partial<StyleSchema> }>();
|
const props = defineProps<{
|
||||||
|
values: Partial<StyleSchema>;
|
||||||
|
disabled?: boolean;
|
||||||
|
size?: 'large' | 'default' | 'small';
|
||||||
|
}>();
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
change: [v: string | StyleSchema, eventData: ContainerChangeEventData];
|
change: [v: string | StyleSchema, eventData: ContainerChangeEventData];
|
||||||
|
@ -13,4 +13,8 @@
|
|||||||
flex: 2;
|
flex: 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.tmagic-design-button {
|
||||||
|
margin-left: 5px;
|
||||||
|
padding: 5px 8px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -72,11 +72,6 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
border-bottom: 2px solid $border-color;
|
border-bottom: 2px solid $border-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tmagic-design-form {
|
|
||||||
padding-right: 10px;
|
|
||||||
padding-left: 10px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.m-editor-props-panel-src-icon {
|
.m-editor-props-panel-src-icon {
|
||||||
|
@ -8,12 +8,25 @@
|
|||||||
.tmagic-design-collapse-item {
|
.tmagic-design-collapse-item {
|
||||||
> .el-collapse-item__header {
|
> .el-collapse-item__header {
|
||||||
background-color: #f2f3f7;
|
background-color: #f2f3f7;
|
||||||
height: 36px;
|
height: 26px;
|
||||||
padding: 10px;
|
min-height: 26px;
|
||||||
|
line-height: 26px;
|
||||||
|
padding: 0 20px;
|
||||||
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-collapse-item__wrap {
|
.el-collapse-item__wrap {
|
||||||
padding: 0 10px;
|
padding: 10px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-collapse-item__title {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-collapse-item__content {
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user