diff --git a/packages/ui-vue/components/date-picker/src/components/date-picker-container/date-picker-container.component.tsx b/packages/ui-vue/components/date-picker/src/components/date-picker-container/date-picker-container.component.tsx index 3da0dfc281a58f49776e8aad305ff94d931e8046..113e5b716930028c06d85fe2680a5dd549673171 100644 --- a/packages/ui-vue/components/date-picker/src/components/date-picker-container/date-picker-container.component.tsx +++ b/packages/ui-vue/components/date-picker/src/components/date-picker-container/date-picker-container.component.tsx @@ -16,7 +16,7 @@ import { computed, defineComponent, onMounted, ref, SetupContext, watch, watchEffect } from "vue"; import { cloneDeep } from "lodash-es"; import { useDateFormat, formatTime, getTimeObject } from '@farris/ui-vue/components/common'; -import { FTimePickerTimeView, TimeValueText } from '@farris/ui-vue/components/time-picker'; +import { FTimePickerTimeView, TimeValueText, convertToDate } from '@farris/ui-vue/components/time-picker'; import { FButton } from "@farris/ui-vue/components/button"; import { datePickerContainerProps, DatePickerContainerProps, DisplayMode } from "./date-picker-container.props"; import FCalenderNavBar from '../calendar-navbar/calendar-navbar.component'; diff --git a/packages/ui-vue/components/dynamic-form/src/designer/response-form-use-designer-rules.ts b/packages/ui-vue/components/dynamic-form/src/designer/response-form-use-designer-rules.ts index e15ff28b4cb3a6e518922d14fb4f000e87d9be61..f86225c2adc80226cd2b96d9d596158b78abb5c5 100644 --- a/packages/ui-vue/components/dynamic-form/src/designer/response-form-use-designer-rules.ts +++ b/packages/ui-vue/components/dynamic-form/src/designer/response-form-use-designer-rules.ts @@ -1,11 +1,17 @@ -import { DesignerHostService, DesignerHTMLElement, DraggingResolveContext, UseDesignerRules } from "@farris/ui-vue/components/designer-canvas"; -import { useDragulaCommonRule, UseTemplateDragAndDropRules } from "@farris/ui-vue/components/designer-canvas"; -import { ComponentSchema, DesignerItemContext } from "@farris/ui-vue/components/designer-canvas"; +import { + DesignerHostService, + DesignerHTMLElement, + DraggingResolveContext, + UseDesignerRules, + useDragulaCommonRule, + UseTemplateDragAndDropRules, + DgControl, + ComponentSchema, + DesignerItemContext } from "@farris/ui-vue/components/designer-canvas"; import { schemaMap } from "@farris/ui-vue/components/dynamic-resolver"; -import { ResponseFormProperty } from "../property-config/response-form.property-config"; -import { DgControl } from "@farris/ui-vue/components/designer-canvas"; import { FormBindingType } from "@farris/ui-vue/components/property-panel"; import { useGuid } from "@farris/ui-vue/components/common"; +import { ResponseFormProperty } from "../property-config/response-form.property-config"; export interface FormUseDesignerRules extends UseDesignerRules { /** 跨组件移动输入类控件,需要同步视图模型中的字段和变量等信息 */ 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 56d23617566b689e288cff73fe538ff088cf8b72..44d6bf5b360025091d6502013e6dd60d098dbeba 100644 --- a/packages/ui-vue/components/dynamic-view/src/components/maps.ts +++ b/packages/ui-vue/components/dynamic-view/src/components/maps.ts @@ -70,7 +70,7 @@ import FExpressionEditor from '@farris/ui-vue/components/expression-editor'; import FCodeEditor from '@farris/ui-vue/components/code-editor'; import FHtmlTemplate from '@farris/ui-vue/components/html-template'; import FCollectionPropertyEditor from '@farris/ui-vue/components/collection-property-editor'; -import FModal from '@farris/ui-vue/components/modal'; +import FModal from '@farris/ui-vue/components/modal/designer'; import FExternalContainer from '@farris/ui-vue/components/external-container'; import FLanguageTextbox from '@farris/ui-vue/components/language-textbox'; diff --git a/packages/ui-vue/components/modal/designer.ts b/packages/ui-vue/components/modal/designer.ts new file mode 100644 index 0000000000000000000000000000000000000000..8af388bab502b1c853cefaf373bbdcf6bab5d561 --- /dev/null +++ b/packages/ui-vue/components/modal/designer.ts @@ -0,0 +1,32 @@ +/** + * 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 FModal, { ModalProps, modalProps } from '@farris/ui-vue/components/modal'; +import { createPropsResolver } from "@farris/ui-vue/components/dynamic-resolver"; +import modalSchema from './src/schema/modal.schema.json'; +import { schemaMapper } from './src/schema/schema-mapper'; +import { schemaResolver } from './src/schema/schema-resolver'; +import { createModalCallbackResolver } from './src/schema/callback-resolvers'; +export const propsResolver = createPropsResolver(modalProps as any, modalSchema, schemaMapper, schemaResolver); +export const callbackResolver = createModalCallbackResolver(); + +export default { + register: (componentMap: Record, propsResolverMap: Record, configResolverMap: Record, resolverMap: Record) => { + componentMap.modal = FModal; + propsResolverMap.modal = propsResolver; + resolverMap.modal = { callbackResolver }; + } +}; + diff --git a/packages/ui-vue/components/modal/index.ts b/packages/ui-vue/components/modal/index.ts index 3fd1ce1beaa6cf9a9450066b21905aa0d9e64bb4..61109136b823f53e375eacff332fc7c2b64e7886 100644 --- a/packages/ui-vue/components/modal/index.ts +++ b/packages/ui-vue/components/modal/index.ts @@ -16,7 +16,6 @@ import type { App, Plugin } from 'vue'; import FModal from './src/modal.component'; import FModalService from './src/composition/modal.service'; -import { propsResolver, callbackResolver } from './src/modal.props'; import { ModalProperty } from './src/property-config/modal.property-config'; export * from './src/composition/type'; @@ -33,11 +32,5 @@ FModal.install = (app: App) => { app.provide('FModalService', modalInstance); }; -FModal.register = (componentMap: Record, propsResolverMap: Record, configResolverMap: Record, resolverMap: Record) => { - componentMap.modal = FModal; - propsResolverMap.modal = propsResolver; - resolverMap.modal = { callbackResolver }; -}; - export { FModal, FModalService, ModalProperty }; export default FModal as typeof FModal & Plugin; diff --git a/packages/ui-vue/components/modal/src/composition/modal.service.tsx b/packages/ui-vue/components/modal/src/composition/modal.service.tsx index 710d76204ba36892ca579b80ef3b6e487dac1500..5c1a03610e5f07709042244a36e5b97f478b1c7c 100644 --- a/packages/ui-vue/components/modal/src/composition/modal.service.tsx +++ b/packages/ui-vue/components/modal/src/composition/modal.service.tsx @@ -1,7 +1,7 @@ import { ref, h, render, VNode, cloneVNode, shallowRef, nextTick, App, AppContext, createApp, onUnmounted, onMounted, computed } from "vue"; +import { LocaleService } from "@farris/ui-vue/components/locale"; import { ModalFunctions, ModalOptions } from "./type"; import FModal from '../modal.component'; -import { LocaleService } from "@farris/ui-vue/components/locale"; // import FarrisPlugin from '../../../plugin'; function getContentRender(props: ModalOptions) { diff --git a/packages/ui-vue/components/modal/src/modal.props.ts b/packages/ui-vue/components/modal/src/modal.props.ts index 281645a4273433a680a4d11f1360bf981a25d0c5..92272db84605dea7796c82f7827ccddf614c7670 100644 --- a/packages/ui-vue/components/modal/src/modal.props.ts +++ b/packages/ui-vue/components/modal/src/modal.props.ts @@ -14,12 +14,7 @@ * limitations under the License. */ import { ExtractPropTypes, PropType } from 'vue'; -import { createPropsResolver } from "@farris/ui-vue/components/dynamic-resolver"; import { ModalButton } from './composition/type'; -import modalSchema from './schema/modal.schema.json'; -import { schemaMapper } from './schema/schema-mapper'; -import { schemaResolver } from './schema/schema-resolver'; -import { createModalCallbackResolver } from './schema/callback-resolvers'; export type DragHandleType = HTMLElement | string; @@ -106,7 +101,3 @@ export const modalProps = { }; export type ModalProps = Partial>; - -export const propsResolver = createPropsResolver(modalProps as any, modalSchema, schemaMapper, schemaResolver); - -export const callbackResolver = createModalCallbackResolver(); diff --git a/packages/ui-vue/components/modal/src/property-config/modal.property-config.ts b/packages/ui-vue/components/modal/src/property-config/modal.property-config.ts index d4669ba11885c8a4b7e7d96f9f41a849e315c228..4d61c8bca679c7a92d82f276b6a9e3ecf4890d59 100644 --- a/packages/ui-vue/components/modal/src/property-config/modal.property-config.ts +++ b/packages/ui-vue/components/modal/src/property-config/modal.property-config.ts @@ -1,4 +1,4 @@ -import { BaseControlProperty } from "../../../property-panel"; +import { BaseControlProperty } from "@farris/ui-vue/components/property-panel"; import { ModalEvents } from "./modal-events"; export class ModalProperty extends BaseControlProperty { private numberEditor = { diff --git a/packages/ui-vue/components/tabs/src/designer/tab-header-item.design.component.tsx b/packages/ui-vue/components/tabs/src/designer/tab-header-item.design.component.tsx index 90bc26b92ea2c0bd678e297d534621a2a8c1bafd..8028a483ea9a33e4e946508e54415f5a4d0767f7 100644 --- a/packages/ui-vue/components/tabs/src/designer/tab-header-item.design.component.tsx +++ b/packages/ui-vue/components/tabs/src/designer/tab-header-item.design.component.tsx @@ -2,7 +2,7 @@ import { computed, Ref, ref, watch, nextTick } from "vue"; import { DesignerComponentInstance } from "@farris/ui-vue/components/designer-canvas"; import { TabPageContext, UseOnePage, UseDesignTabs } from "../composition/types"; -import { TabPageDesignProps } from "../components/tab-page.props"; +import { TabPageDesignProps } from "./tab-page.design.props"; import { TabsProps } from "../tabs.props"; diff --git a/packages/ui-vue/components/tabs/src/designer/tab-page.design.component.tsx b/packages/ui-vue/components/tabs/src/designer/tab-page.design.component.tsx index 1aababf8b4f380b40e2cf1c24bbd5f73354011da..2e002a2b35c62e8af86a264dbe272b0107e2bf5e 100644 --- a/packages/ui-vue/components/tabs/src/designer/tab-page.design.component.tsx +++ b/packages/ui-vue/components/tabs/src/designer/tab-page.design.component.tsx @@ -18,7 +18,7 @@ import { JSX } from 'vue/jsx-runtime'; import { DesignerItemContext, useDesignerComponent, DesignerHostService } from '@farris/ui-vue/components/designer-canvas'; import FSection from '@farris/ui-vue/components/section'; import { TabPageContext, TabsContext } from '../composition/types'; -import { TabPageDesignProps, tabPageDesignProps} from '../components/tab-page.props'; +import { TabPageDesignProps, tabPageDesignProps} from './tab-page.design.props'; import { useDesignerRules } from './tab-page-use-designer-rules'; export default defineComponent({ diff --git a/packages/ui-vue/components/tabs/src/designer/tab-page.design.props.ts b/packages/ui-vue/components/tabs/src/designer/tab-page.design.props.ts index 64672f1bac36ec992d086ddce39c1e4dd72c65db..b31ceb5e5e1f637793a4138de169cb70a5474db2 100644 --- a/packages/ui-vue/components/tabs/src/designer/tab-page.design.props.ts +++ b/packages/ui-vue/components/tabs/src/designer/tab-page.design.props.ts @@ -1,6 +1,14 @@ +import { ExtractPropTypes } from 'vue'; import { tabPageProps, TabPageProps } from '@farris/ui-vue/components/tabs'; import { createPropsResolver } from '@farris/ui-vue/components/dynamic-resolver'; import { schemaMapper } from '../schema/tab-page-schema-mapper'; import tabPageSchema from '../schema/tab-page.schema.json'; + export const tabPagePropsResolver = createPropsResolver(tabPageProps, tabPageSchema, schemaMapper); +export const tabPageDesignProps = Object.assign({}, tabPageProps, + { + titleHtml: { type: String, default: '' }, + }); +export type TabPageDesignProps = ExtractPropTypes; +export const tabPageDesignPropsResolver = createPropsResolver(tabPageDesignProps, tabPageSchema, schemaMapper); \ No newline at end of file