diff --git a/packages/ui-vue/components/designer-canvas/index.ts b/packages/ui-vue/components/designer-canvas/index.ts index 59918465f6e20e69e9f33aaf794376f0cf928baf..f4ecd9e79d8875a019e946fddb8dadee7308fc7b 100644 --- a/packages/ui-vue/components/designer-canvas/index.ts +++ b/packages/ui-vue/components/designer-canvas/index.ts @@ -3,7 +3,7 @@ import FDesignerItem from './src/components/designer-item.component'; import FDesignerInnerItem from './src/components/designer-inner-item.component'; import { DgControl } from './src/composition/dg-control'; import type { DesignerHostService, UseDesignerRules, DesignerHTMLElement, DraggingResolveContext } from './src/composition/types'; -import { canvasChanged, setPositionForSelectedElement, setPositionOfButtonGroup } from './src/composition/designer-canvas-changed'; +import { canvasChanged, setPositionForSelectedElement, setPositionOfButtonGroup, setPositionOfSelectedComponentBtnGroup } from './src/composition/designer-canvas-changed'; export * from './src/composition/props/designer-canvas.props'; export * from './src/composition/function/use-designer-component'; @@ -18,6 +18,7 @@ export { canvasChanged, setPositionForSelectedElement, setPositionOfButtonGroup, + setPositionOfSelectedComponentBtnGroup, FDesignerItem, DgControl, UseDesignerRules, diff --git a/packages/ui-vue/components/designer-canvas/src/components/maps.ts b/packages/ui-vue/components/designer-canvas/src/components/maps.ts index dfdb8753ffbfc0c8fa14b4a1bf19d116d750625f..5e58ac5cd4a69652a3e6a574f22b1365b72541fd 100644 --- a/packages/ui-vue/components/designer-canvas/src/components/maps.ts +++ b/packages/ui-vue/components/designer-canvas/src/components/maps.ts @@ -36,7 +36,7 @@ import FResponseToolbar from '@farris/ui-vue/components/response-toolbar/designe import FResponseLayout from '@farris/ui-vue/components/response-layout'; import FResponseLayoutEditorSetting from '@farris/ui-vue/components/response-layout-editor'; import FSearchBox from '@farris/ui-vue/components/search-box'; -import FSection from '@farris/ui-vue/components/section'; +import FSection from '@farris/ui-vue/components/section/designer'; import FSmokeDetector from '@farris/ui-vue/components/smoke-detector'; import FSplitter from '@farris/ui-vue/components/splitter'; import FStep from '@farris/ui-vue/components/step'; diff --git a/packages/ui-vue/components/dynamic-view/src/components/maps.ts b/packages/ui-vue/components/dynamic-view/src/components/maps.ts index d170551550b59534fe9f2006844d71223a0b4b90..953b72299898b8858fa667db8f509b522bdd0c0b 100644 --- a/packages/ui-vue/components/dynamic-view/src/components/maps.ts +++ b/packages/ui-vue/components/dynamic-view/src/components/maps.ts @@ -41,7 +41,7 @@ import FResponseToolbar from '@farris/ui-vue/components/response-toolbar/designe import FResponseLayout from '@farris/ui-vue/components/response-layout'; import FResponseLayoutEditorSetting from '@farris/ui-vue/components/response-layout-editor'; import FSearchBox from '@farris/ui-vue/components/search-box'; -import FSection from '@farris/ui-vue/components/section'; +import FSection from '@farris/ui-vue/components/section/designer'; import FSmokeDetector from '@farris/ui-vue/components/smoke-detector'; import FSplitter from '@farris/ui-vue/components/splitter'; import FStep from '@farris/ui-vue/components/step'; diff --git a/packages/ui-vue/components/page-header/src/designer/page-header.design.component.tsx b/packages/ui-vue/components/page-header/src/designer/page-header.design.component.tsx index 4fadf36de718052c4dfebbc57650218e9b8e21dd..8a7f37ed7357c9c7d833039e768de7fd8bb5a71b 100644 --- a/packages/ui-vue/components/page-header/src/designer/page-header.design.component.tsx +++ b/packages/ui-vue/components/page-header/src/designer/page-header.design.component.tsx @@ -1,10 +1,9 @@ import { computed, defineComponent, inject, onMounted, ref, watch } from 'vue'; -import { responseToolbarResolver } from '@farris/ui-vue/components/response-toolbar/designer'; +import FResponseToolbarDesignComponent, { responseToolbarResolver } from '@farris/ui-vue/components/response-toolbar/designer'; import { PageHeaderDesignerProps, pageHeaderDesignerProps } from '../page-header.props'; import { useDesignerComponent } from '../../../designer-canvas/src/composition/function/use-designer-component'; import { DesignerItemContext } from '../../../designer-canvas/src/types'; import { useDesignerRules } from './use-designer-rules'; -import FResponseToolbarDesignComponent from '../../../response-toolbar/src/designer/response-toolbar.design.component'; import FDesignerInnerItem from '../../../designer-canvas/src/components/designer-inner-item.component'; export default defineComponent({ diff --git a/packages/ui-vue/components/section/designer.ts b/packages/ui-vue/components/section/designer.ts new file mode 100644 index 0000000000000000000000000000000000000000..adecb4e5a1b3f578d21b94ef7443886be80f42d8 --- /dev/null +++ b/packages/ui-vue/components/section/designer.ts @@ -0,0 +1,36 @@ + +/** + * Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import Section from '@farris/ui-vue/components/section'; +import { withInstall } from '@farris/ui-vue/components/common'; +import { FResponseToolbarDesign } from '@farris/ui-vue/components/response-toolbar/designer'; +import { sectionToolbarItemResolver } from './src/designer/section-toolbar-item.design.props'; +import { eventHandlerResolver, propsResolver,sectionToolbarPropsResolver } from './src/designer/section.design.props'; +import SectionDesign from './src/designer/section.design.component'; + +SectionDesign.register = (componentMap: Record, propsResolverMap: Record, configResolverMap: Record, resolverMap: Record) => { + componentMap.section = Section; + propsResolverMap.section = propsResolver; + resolverMap.section = { eventHandlerResolver }; +}; +SectionDesign.registerDesigner = (componentMap: Record, propsResolverMap: Record, configResolverMap: Record) => { + componentMap.section = SectionDesign; + propsResolverMap.section = propsResolver; + propsResolverMap['section-toolbar-item'] = sectionToolbarItemResolver; + componentMap['section-toolbar'] = FResponseToolbarDesign; + propsResolverMap['section-toolbar'] = sectionToolbarPropsResolver; +}; +export default withInstall(SectionDesign); diff --git a/packages/ui-vue/components/section/index.ts b/packages/ui-vue/components/section/index.ts index b03320432bf9998dc9b23dd98640c886516a0d15..0a8210041b2969f82bad22a2a4ae54a4afe78f53 100644 --- a/packages/ui-vue/components/section/index.ts +++ b/packages/ui-vue/components/section/index.ts @@ -15,25 +15,9 @@ * limitations under the License. */ import Section from './src/section.component'; -import SestionDesign from './src/designer/section.design.component'; -import { eventHandlerResolver, propsResolver,sectionToolbarPropsResolver } from './src/section.props'; import { withInstall } from '@farris/ui-vue/components/common'; -import { sectionToolbarItemResolver} from './src/designer/section-toolbar-item.props'; -import FResponseToolbarDesign from '../response-toolbar/src/designer/response-toolbar.design.component'; export * from './src/section.props'; - -Section.register = (componentMap: Record, propsResolverMap: Record, configResolverMap: Record, resolverMap: Record) => { - componentMap.section = Section; - propsResolverMap.section = propsResolver; - resolverMap.section = { eventHandlerResolver }; -}; -Section.registerDesigner = (componentMap: Record, propsResolverMap: Record, configResolverMap: Record) => { - componentMap.section = SestionDesign; - propsResolverMap.section = propsResolver; - propsResolverMap['section-toolbar-item'] = sectionToolbarItemResolver; - componentMap['section-toolbar'] = FResponseToolbarDesign; - propsResolverMap['section-toolbar'] = sectionToolbarPropsResolver; -}; +export * from './src/designer/section-toolbar-item.props'; export { Section }; export default withInstall(Section); diff --git a/packages/ui-vue/components/section/src/components/toolbar.component.tsx b/packages/ui-vue/components/section/src/components/toolbar.component.tsx index 5e615e648367b039e099be8ddd5737e1b8982413..ae276b3885d95cac5b554dfa5e31e1deec99b2d2 100644 --- a/packages/ui-vue/components/section/src/components/toolbar.component.tsx +++ b/packages/ui-vue/components/section/src/components/toolbar.component.tsx @@ -1,6 +1,6 @@ +import FResponseToolbar from '@farris/ui-vue/components/response-toolbar'; import { SetupContext, computed, ref, Ref } from 'vue'; import { SectionProps } from '../section.props'; -import FResponseToolbar from '@farris/ui-vue/components/response-toolbar'; export default function (props: SectionProps, context: SetupContext) { diff --git a/packages/ui-vue/components/section/src/designer/section-header.design.component.tsx b/packages/ui-vue/components/section/src/designer/section-header.design.component.tsx index cf9a9d5672d39b70a265183c69177527d2212773..972332bac97d408a50cfa9225cca164d3eb71049 100644 --- a/packages/ui-vue/components/section/src/designer/section-header.design.component.tsx +++ b/packages/ui-vue/components/section/src/designer/section-header.design.component.tsx @@ -1,9 +1,8 @@ -import { DesignerItemContext } from '../../../designer-canvas/src/types'; -import { SetupContext, computed, Ref, nextTick, watch } from 'vue'; +import { SetupContext, computed, Ref, nextTick } from 'vue'; +import { DesignerItemContext, setPositionOfSelectedComponentBtnGroup } from '@farris/ui-vue/components/designer-canvas'; import { useSectionMaxMin } from '../composition/use-max-min'; -import { SectionDesignProps } from '../section.props'; +import { SectionDesignProps } from './section.design.props'; import renderDesignSectionToolbar from './section-toolbar.design.component'; -import { setPositionOfSelectedComponentBtnGroup } from '../../../designer-canvas/src/composition/designer-canvas-changed'; export default function ( props: SectionDesignProps, diff --git a/packages/ui-vue/components/section/src/designer/section-toolbar-item.design.props.ts b/packages/ui-vue/components/section/src/designer/section-toolbar-item.design.props.ts new file mode 100644 index 0000000000000000000000000000000000000000..d37d83918700ee197cbf99bd52d50212232f413a --- /dev/null +++ b/packages/ui-vue/components/section/src/designer/section-toolbar-item.design.props.ts @@ -0,0 +1,21 @@ + +/** + * Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { SectionToolbarItemProps, sectionToolbarItemProps } from '@farris/ui-vue/components/section'; +import { createPropsResolver } from '@farris/ui-vue/components/dynamic-resolver'; +import sectionToolbarItemSchema from '../schema/section-toolbar-item.schema.json'; +export const sectionToolbarItemResolver = createPropsResolver(sectionToolbarItemProps, sectionToolbarItemSchema); diff --git a/packages/ui-vue/components/section/src/designer/section-toolbar-item.props.ts b/packages/ui-vue/components/section/src/designer/section-toolbar-item.props.ts index b694bcd7caed7e8949f02b9abf094c9a962afb97..05ca428053d2d8cc60831fd499641b8182128fa8 100644 --- a/packages/ui-vue/components/section/src/designer/section-toolbar-item.props.ts +++ b/packages/ui-vue/components/section/src/designer/section-toolbar-item.props.ts @@ -16,8 +16,6 @@ */ import { ExtractPropTypes } from 'vue'; -import { createPropsResolver } from '../../../dynamic-resolver'; -import sectionToolbarItemSchema from '../schema/section-toolbar-item.schema.json'; export const sectionToolbarItemProps = { id: { type: String, default: '' }, @@ -38,4 +36,3 @@ export const sectionToolbarItemProps = { } as Record; export type SectionToolbarItemProps = ExtractPropTypes; -export const sectionToolbarItemResolver = createPropsResolver(sectionToolbarItemProps, sectionToolbarItemSchema); diff --git a/packages/ui-vue/components/section/src/designer/section-toolbar.design.component.tsx b/packages/ui-vue/components/section/src/designer/section-toolbar.design.component.tsx index 0e010f979fde40193296c787d78d361031da4fa8..b9b4eb23ecfc1276d28fcb01a672a9075d199916 100644 --- a/packages/ui-vue/components/section/src/designer/section-toolbar.design.component.tsx +++ b/packages/ui-vue/components/section/src/designer/section-toolbar.design.component.tsx @@ -1,9 +1,8 @@ import { computed, ref } from 'vue'; -import { DesignerItemContext } from '../../../designer-canvas/src/types'; -import FResponseToolbarDesign from '../../../response-toolbar/src/designer/response-toolbar.design.component'; -import FDesignerInnerItem from '../../../designer-canvas/src/components/designer-inner-item.component'; -import { SectionDesignProps } from '../section.props'; +import { DesignerItemContext, FDesignerInnerItem } from '@farris/ui-vue/components/designer-canvas'; +import FResponseToolbarDesign from '@farris/ui-vue/components/response-toolbar'; +import { SectionDesignProps } from './section.design.props'; export default function ( props: SectionDesignProps, diff --git a/packages/ui-vue/components/section/src/designer/section.design.component.tsx b/packages/ui-vue/components/section/src/designer/section.design.component.tsx index d3577e064fa04915feb8dd289f47da2407df86fb..0200f2dd6a3d3c0565307d08b2e416f198516864 100644 --- a/packages/ui-vue/components/section/src/designer/section.design.component.tsx +++ b/packages/ui-vue/components/section/src/designer/section.design.component.tsx @@ -13,16 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { computed, defineComponent, inject, onMounted, ref, SetupContext, watch } from 'vue'; -import { SectionDesignProps, sectionDesignProps } from '../section.props'; - +import { computed, defineComponent, inject, onMounted, ref, SetupContext } from 'vue'; +import { getCustomClass } from '@farris/ui-vue/components/common'; +import { DesignerItemContext, useDesignerComponent, DesignerHostService } from '@farris/ui-vue/components/designer-canvas'; +import { SectionDesignProps, sectionDesignProps } from './section.design.props'; import { useDesignerRules } from './use-designer-rules'; -import { DesignerItemContext } from '../../../designer-canvas/src/types'; -import { useDesignerComponent } from '../../../designer-canvas/src/composition/function/use-designer-component'; import getSectionHeaderRenderDesign from './section-header.design.component'; import renderSectionToolbarDesign from './section-toolbar.design.component'; -import { getCustomClass } from '@farris/ui-vue/components/common'; -import { DesignerHostService } from '../../../designer-canvas/src/composition/types'; export default defineComponent({ name: 'FSectionDesign', diff --git a/packages/ui-vue/components/section/src/designer/section.design.props.ts b/packages/ui-vue/components/section/src/designer/section.design.props.ts new file mode 100644 index 0000000000000000000000000000000000000000..2c3fbb88d9588963cf74fe14aeb48f31c89b225f --- /dev/null +++ b/packages/ui-vue/components/section/src/designer/section.design.props.ts @@ -0,0 +1,18 @@ +import { ExtractPropTypes } from 'vue'; +import { createPropsResolver, createSectionEventHandlerResolver } from '@farris/ui-vue/components/dynamic-resolver'; +import { ResponseToolbarProps, responseToolbarProps } from '@farris/ui-vue/components/response-toolbar'; +import { schemaResolver as responseSchemaResolver } from '@farris/ui-vue/components/response-toolbar/designer'; +import { SectionProps, sectionProps } from '@farris/ui-vue/components/section'; +import { schemaMapper } from '../schema/schema-mapper'; +import { schemaResolver } from '../schema/schema-resolver'; +import sectionSchema from '../schema/section.schema.json'; +import sectionToolbarSchema from '../schema/section-toolbar.schema.json'; + +export const propsResolver = createPropsResolver(sectionProps, sectionSchema, schemaMapper, schemaResolver); +export const eventHandlerResolver = createSectionEventHandlerResolver(); +export const sectionDesignProps = Object.assign({}, sectionProps, { componentId: { type: String, default: '' } }); +export type SectionDesignProps = ExtractPropTypes; +export const sectionToolbarPropsResolver = createPropsResolver( + responseToolbarProps, sectionToolbarSchema, schemaMapper, responseSchemaResolver +); + diff --git a/packages/ui-vue/components/section/src/designer/use-designer-rules.ts b/packages/ui-vue/components/section/src/designer/use-designer-rules.ts index 74693c949bb2f886e53a8978e3cc04edfd2abba4..1873365ce3ba96bbf98df43e3e0839a7903c2960 100644 --- a/packages/ui-vue/components/section/src/designer/use-designer-rules.ts +++ b/packages/ui-vue/components/section/src/designer/use-designer-rules.ts @@ -1,10 +1,15 @@ -import { DesignerHostService, DraggingResolveContext, UseDesignerRules } from "../../../designer-canvas/src/composition/types"; -import { useDragulaCommonRule } from "../../../designer-canvas/src/composition/rule/use-dragula-common-rule"; -import { ComponentSchema, DesignerItemContext } from "../../../designer-canvas/src/types"; +import { + DesignerHostService, + DraggingResolveContext, + UseDesignerRules, + useDragulaCommonRule, + ComponentSchema, + DesignerItemContext, + UseTemplateDragAndDropRules, + DgControl +} from "@farris/ui-vue/components/designer-canvas"; +import { getSchemaByType } from "@farris/ui-vue/components/dynamic-resolver"; import { SectionProperty } from "../property-config/section.property-config"; -import { UseTemplateDragAndDropRules } from "../../../designer-canvas/src/composition/rule/use-template-rule"; -import { DgControl } from "../../../designer-canvas"; -import { getSchemaByType } from "../../../dynamic-resolver"; export function useDesignerRules(designItemContext: DesignerItemContext, designerHostService?: DesignerHostService): UseDesignerRules { diff --git a/packages/ui-vue/components/section/src/property-config/section.property-config.ts b/packages/ui-vue/components/section/src/property-config/section.property-config.ts index 962660c78f3242cfc1c992609494bb751f8974f8..27df49774650f857ef0c4ef86f8cc76b115496b1 100644 --- a/packages/ui-vue/components/section/src/property-config/section.property-config.ts +++ b/packages/ui-vue/components/section/src/property-config/section.property-config.ts @@ -1,5 +1,5 @@ -import { canvasChanged } from "../../../designer-canvas/src/composition/designer-canvas-changed"; -import { BaseControlProperty } from "../../../property-panel/src/composition/entity/base-property"; +import { canvasChanged } from "@farris/ui-vue/components/designer-canvas"; +import { BaseControlProperty } from "@farris/ui-vue/components/property-panel"; export class SectionProperty extends BaseControlProperty { constructor(componentId: string, designerHostService: any) { diff --git a/packages/ui-vue/components/section/src/schema/schema-mapper.ts b/packages/ui-vue/components/section/src/schema/schema-mapper.ts index bbde3b70220ffc3ea43c7786dadb62f35455a232..d7613a6b96d8af80e07ca2aca6ac681fa4499f6d 100644 --- a/packages/ui-vue/components/section/src/schema/schema-mapper.ts +++ b/packages/ui-vue/components/section/src/schema/schema-mapper.ts @@ -1,4 +1,4 @@ -import { resolveAppearance, MapperFunction } from '../../../dynamic-resolver'; +import { resolveAppearance, MapperFunction } from '@farris/ui-vue/components/dynamic-resolver'; import { resolveSectionAccordion } from './accordion-resolver'; import { resolveSectionToolbar } from './toolbar-resolver'; diff --git a/packages/ui-vue/components/section/src/schema/schema-resolver.ts b/packages/ui-vue/components/section/src/schema/schema-resolver.ts index ab718b1661b75600a25e90818e205f35dccfb179..d0e96cd7d41e0c13379cf4de77d284a85d9d48e2 100644 --- a/packages/ui-vue/components/section/src/schema/schema-resolver.ts +++ b/packages/ui-vue/components/section/src/schema/schema-resolver.ts @@ -1,6 +1,5 @@ -import { ComponentSchema, DesignerComponentInstance } from "../../../designer-canvas"; -import { DgControl } from "../../../designer-canvas/src/composition/dg-control"; -import { DynamicResolver } from "../../../dynamic-resolver"; +import { ComponentSchema, DesignerComponentInstance, DgControl } from "@farris/ui-vue/components/designer-canvas"; +import { DynamicResolver } from "@farris/ui-vue/components/dynamic-resolver"; /** * 从工具箱拖拽创建分组面板,自动创建container-section两层结构 diff --git a/packages/ui-vue/components/section/src/section.component.tsx b/packages/ui-vue/components/section/src/section.component.tsx index ffee4475bb4a213b28215387b8be65e4342c40ae..e3416197b56ddb496910f067846c94089ccf11d5 100644 --- a/packages/ui-vue/components/section/src/section.component.tsx +++ b/packages/ui-vue/components/section/src/section.component.tsx @@ -15,10 +15,10 @@ * limitations under the License. */ import { computed, defineComponent, onMounted, ref, SetupContext, watch } from 'vue'; +import { getCustomClass } from '@farris/ui-vue/components/common'; import { SectionProps, sectionProps } from './section.props'; import getSectionHeaderRender from './components/header.component'; import getSectionToolbar from './components/toolbar.component'; -import { getCustomClass } from '@farris/ui-vue/components/common'; export default defineComponent({ name: 'FSection', diff --git a/packages/ui-vue/components/section/src/section.props.ts b/packages/ui-vue/components/section/src/section.props.ts index 1fba53772e18115ee59e7645006ddcc5e124568a..f0d9c373f162cb5f43627f39ee194b54909b53e4 100644 --- a/packages/ui-vue/components/section/src/section.props.ts +++ b/packages/ui-vue/components/section/src/section.props.ts @@ -14,14 +14,6 @@ * limitations under the License. */ import { ExtractPropTypes, PropType } from 'vue'; -import { createPropsResolver, createSectionEventHandlerResolver } from '../../dynamic-resolver'; -import { schemaMapper } from './schema/schema-mapper'; -import { schemaResolver } from './schema/schema-resolver'; -import sectionSchema from './schema/section.schema.json'; -import sectionToolbarSchema from './schema/section-toolbar.schema.json'; -import { ResponseToolbarProps, responseToolbarProps } from '../../response-toolbar/src/response-toolbar.props'; -import { schemaResolver as responseSchemaResolver } from '../../response-toolbar/src/schema/schema-resolver'; - export interface ButtonAppearance { class: string; } @@ -102,11 +94,3 @@ export const sectionProps = { export type SectionProps = ExtractPropTypes; -export const propsResolver = createPropsResolver(sectionProps, sectionSchema, schemaMapper, schemaResolver); -export const eventHandlerResolver = createSectionEventHandlerResolver(); -export const sectionDesignProps = Object.assign({}, sectionProps, { componentId: { type: String, default: '' } }); -export type SectionDesignProps = ExtractPropTypes; -export const sectionToolbarPropsResolver = createPropsResolver( - responseToolbarProps, sectionToolbarSchema, schemaMapper, responseSchemaResolver -); -