diff --git a/packages/designer/src/components/composition/control-creator/use-mobile-control-creator.ts b/packages/designer/src/components/composition/control-creator/use-mobile-control-creator.ts index 447f33c544f3867852f5ba20178c87be9ab3122e..1c39f7e01cd22bddd574446b5094611780fad601 100644 --- a/packages/designer/src/components/composition/control-creator/use-mobile-control-creator.ts +++ b/packages/designer/src/components/composition/control-creator/use-mobile-control-creator.ts @@ -13,7 +13,6 @@ export function useMobileControlCreator(): UseControlCreator { function setFormFieldProperty(field: EntityObjectField, editorType?: string, controlClass = ''): any { const formGroupMetadata = getSchemaByTypeForDesigner('form-group') || {}; - console.log(111) formGroupMetadata.id = field.id.length > 8 ? field.id.slice(0, 8) : field.id; formGroupMetadata.id = field.bindingField + '_' + formGroupMetadata.id.replace(/-/g, '_') + '_' + Math.random().toString(36).substr(2, 4); formGroupMetadata.label = field.name; diff --git a/packages/designer/src/components/types/toolbox/pc-toolbox.json b/packages/designer/src/components/types/toolbox/pc-toolbox.json index 75acc33f0a4cbc25dfcb379026e680a69b3dbc0e..37a76ad4852e2de90621995114c1021945d6ee93 100644 --- a/packages/designer/src/components/types/toolbox/pc-toolbox.json +++ b/packages/designer/src/components/types/toolbox/pc-toolbox.json @@ -147,6 +147,12 @@ "type": "page-header", "name": "页头", "category": "container" + },{ + "id": "Step", + "type": "step", + "name": "步骤条", + "category": "container", + "icon": "steps" } ] }, diff --git a/packages/ui-vue/components/binding-selector/src/composition/use-field-selection.ts b/packages/ui-vue/components/binding-selector/src/composition/use-field-selection.ts index 2df21ae508fda1a30134fd2e824819c529f1bf2f..5bb10a3a606666b20bd2d1cb9e2557d1c52995f5 100644 --- a/packages/ui-vue/components/binding-selector/src/composition/use-field-selection.ts +++ b/packages/ui-vue/components/binding-selector/src/composition/use-field-selection.ts @@ -129,11 +129,11 @@ export function useFieldSelection(props: BindingSelectorProps) { if (originalBinding && originalBinding.field === bindingData.id) { return; } - if (formSchemaUtils.expressions && formSchemaUtils.expressions.length) { + if (pageSchema.expressions && pageSchema.expressions.length) { const { propertyData } = props.editorParams; - const expFieldIndex = formSchemaUtils.expressions.findIndex(e => e.target === originalBinding.field); + const expFieldIndex = pageSchema.expressions.findIndex(e => e.target === originalBinding.field); if (expFieldIndex > -1) { - formSchemaUtils.expressions.splice(expFieldIndex, 1); + pageSchema.expressions.splice(expFieldIndex, 1); notifyService.warning('切换绑定后,请重新配置表达式'); // 切换绑定后涉及到了表达式的移除,需要触发属性面板的更新 Object.keys(propertyData).forEach(propertyID => { diff --git a/packages/ui-vue/components/capsule/src/capsule-item.component.tsx b/packages/ui-vue/components/capsule/src/capsule-item.component.tsx index 6518cf9a1b58baed8d46573fde9cee18a8fd5e29..3ebe73290fe09ed839e40cb859ca4a9ae9de55f6 100644 --- a/packages/ui-vue/components/capsule/src/capsule-item.component.tsx +++ b/packages/ui-vue/components/capsule/src/capsule-item.component.tsx @@ -24,7 +24,7 @@ export default defineComponent({ }); onMounted(() => { - context.emit('mounted', capsuleItemRef, props.value); + context.emit('mounted', capsuleItemRef.value, props.value); }); function onClickCapsuleItem($event: MouseEvent) { diff --git a/packages/ui-vue/components/component/src/property-config/component.property-config.ts b/packages/ui-vue/components/component/src/property-config/component.property-config.ts index 314c7f1f35e714faa7ba05744471f6d3f181539e..4754c98995b40c562e596e19ad2e3c19d0ff8a6b 100644 --- a/packages/ui-vue/components/component/src/property-config/component.property-config.ts +++ b/packages/ui-vue/components/component/src/property-config/component.property-config.ts @@ -80,7 +80,7 @@ export class ComponentProperty extends BaseControlProperty { getBehaviorConfig(propertyData: any) { // 是否启用校验是保存到ViewModel上的,不是保存到Component上,所以这里复制一份属性值 const viewModel = this.pageSchema.getViewModelById(this.viewModelId); - propertyData.enableValidation = viewModel ? viewModel.enableValidation : null; + const enableValidation = viewModel ? viewModel.enableValidation : null; const self = this; this.propertyConfig.categories['behavior'] = { title: "行为", diff --git a/packages/ui-vue/components/data-grid/src/designer/grid-field-editor.component.tsx b/packages/ui-vue/components/data-grid/src/designer/grid-field-editor.component.tsx index 19386dd7018c49dbd7e824f3ca14a30e9b5049fb..75e40d8edfe0a9532010a510a2b7422dee409b48 100644 --- a/packages/ui-vue/components/data-grid/src/designer/grid-field-editor.component.tsx +++ b/packages/ui-vue/components/data-grid/src/designer/grid-field-editor.component.tsx @@ -103,8 +103,8 @@ export default defineComponent({ * 检查表达式是否在其他控件上被重复使用,若有,则不删除表达式 */ function checkExpressionOccupiedRepeated(bindingFieldId: string, expresssionRule: any, gridFieldId: string) { - const targetComponent = formSchemaUtils.getComponents().find(component => { - let controls = formSchemaUtils.getControlsInCmpWidthBinding(component.viewModel, bindingFieldId); + const targetComponent = pageSchema.getComponents().find(component => { + let controls = pageSchema.getControlsInCmpWidthBinding(component.viewModel, bindingFieldId); controls = controls.filter(control => { if (control.id === gridFieldId) { return false; @@ -128,8 +128,8 @@ export default defineComponent({ function removeExpression(fieldIds: string[]) { fieldIds.map(fieldId => { const gridFieldData = fieldColumns.find(column => column.binding?.field === fieldId); - if (gridFieldData && formSchemaUtils.getExpressions().length) { - const expressions = formSchemaUtils.getExpressions(); + if (gridFieldData && pageSchema.getExpressions().length) { + const expressions = pageSchema.getExpressions(); const expFieldIndex = expressions.findIndex(e => e.target === fieldId); if (expFieldIndex > -1) { expressions[expFieldIndex].rules?.map(expresssionRule => { diff --git a/packages/ui-vue/components/data-grid/src/property-config/data-grid-column.property-config.ts b/packages/ui-vue/components/data-grid/src/property-config/data-grid-column.property-config.ts index d48c87b8e7f64434dbf1607ceb0bc88e47bd2f73..93cfa34af9e098de0a3e477b966102468f534f49 100644 --- a/packages/ui-vue/components/data-grid/src/property-config/data-grid-column.property-config.ts +++ b/packages/ui-vue/components/data-grid/src/property-config/data-grid-column.property-config.ts @@ -380,8 +380,8 @@ export class DataGriColumnProperty extends BaseControlProperty { if (!propertyData || !schemaField) { return; } - propertyData.dataType = this.controlCreatorUtils.mapControlType2GridFieldType(schemaField); - this.controlCreatorUtils.setGridFieldFormatter(propertyData.dataType, propertyData, schemaField); + propertyData.dataType = this.controlCreator.mapControlType2GridFieldType(schemaField); + this.controlCreator.setGridFieldFormatter(propertyData.dataType, propertyData, schemaField); } } diff --git a/packages/ui-vue/components/designer-canvas/src/composition/dg-control.ts b/packages/ui-vue/components/designer-canvas/src/composition/dg-control.ts index 65284aaf0ff0abb7383b8a487fdbdaec5912587a..9b1525bada779f915e7411d6ebc1f9f12de3e12f 100644 --- a/packages/ui-vue/components/designer-canvas/src/composition/dg-control.ts +++ b/packages/ui-vue/components/designer-canvas/src/composition/dg-control.ts @@ -85,5 +85,7 @@ export const DgControl = { 'list-nav': { type: 'list-nav', name: '列表导航' }, - 'filter-bar': { type: 'filter-bar', name: '筛选条' } + 'filter-bar': { type: 'filter-bar', name: '筛选条' }, + + 'step': { type: 'step', name: '步骤条' } }; diff --git a/packages/ui-vue/components/designer-canvas/src/composition/function/drag-resolve.tsx b/packages/ui-vue/components/designer-canvas/src/composition/function/drag-resolve.tsx index 67767a11d13b0574791d17255331e0a14e7ce40e..0ed9c7f5596cdcc721f9ff55c9f2449c2f24876c 100644 --- a/packages/ui-vue/components/designer-canvas/src/composition/function/drag-resolve.tsx +++ b/packages/ui-vue/components/designer-canvas/src/composition/function/drag-resolve.tsx @@ -296,7 +296,6 @@ export function dragResolveService(designerHostService: DesignerHost) { */ async function resolveBindingSource() { const { componentCategory } = componentResolveContext; - switch (componentCategory) { case 'input': { await triggerBindingField(); @@ -322,7 +321,6 @@ export function dragResolveService(designerHostService: DesignerHost) { } await resolveBindingSource(); - // 若返回 undefined 代表终止后续生成 if (componentResolveContext.bindingSourceContext === undefined) { return null; diff --git a/packages/ui-vue/components/designer-canvas/src/composition/function/use-designer-component.ts b/packages/ui-vue/components/designer-canvas/src/composition/function/use-designer-component.ts index 6a537dd522ec0bbaabe319daae5ca1eadb7ed714..177899016c0038840b33dd40ab8dac7dae0a6db6 100644 --- a/packages/ui-vue/components/designer-canvas/src/composition/function/use-designer-component.ts +++ b/packages/ui-vue/components/designer-canvas/src/composition/function/use-designer-component.ts @@ -135,7 +135,6 @@ export function useDesignerComponent( if (designerRules && designerRules.onResolveNewComponentSchema) { componentSchema = designerRules.onResolveNewComponentSchema(resolveContext, componentSchema); } - const typePrefix = componentType.toLowerCase().replace(/-/g, '_'); if (componentSchema && !componentSchema.id && componentSchema.type === componentType) { componentSchema.id = `${typePrefix}_${Math.random().toString().slice(2, 6)}`; diff --git a/packages/ui-vue/components/designer-canvas/src/composition/function/use-designer-inner-component.ts b/packages/ui-vue/components/designer-canvas/src/composition/function/use-designer-inner-component.ts index fe78a6b5c6f44b189bf9f4300761858c1a724365..18531eb87fdc6ef0d29ef781176bc4373296c8cb 100644 --- a/packages/ui-vue/components/designer-canvas/src/composition/function/use-designer-inner-component.ts +++ b/packages/ui-vue/components/designer-canvas/src/composition/function/use-designer-inner-component.ts @@ -123,7 +123,7 @@ export function useDesignerInnerComponent( function addNewChildComponentSchema(resolveContext: DraggingResolveContext) { const { componentType } = resolveContext; const designerHostService = inject('designer-host-service') as DesignerHost; - let componentSchema = getSchemaByType(componentType, resolveContext, designerHostService) as ComponentSchema; + let componentSchema = getSchemaByTypeForDesigner(componentType, resolveContext, designerHostService) as ComponentSchema; if (designerRules && designerRules.onResolveNewComponentSchema) { componentSchema = designerRules.onResolveNewComponentSchema(resolveContext, componentSchema); } 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 9efb06f3cf781d8fb7c5a0d2ad21700de063ef59..70415028ddc9fd2318ca96d56eab366d460432d5 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 @@ -149,18 +149,20 @@ export function useDesignerRules(designItemContext: DesignerItemContext, designe * @param sourceViewModelId 源控件所属视图模型id * @param dgViewModelService 视图模型服务类 */ - function moveFieldBetweenViewModel(sourceBindingFieldId: string, sourceViewModelId: string, currentViewmodelId: string) { - const designViewModel = designerHostService?.designViewModel; - const sourceDgViewModel = designViewModel.getDgViewModel(sourceViewModelId); + function moveFieldBetweenViewModel(sourceBindingFieldId: string, sourceViewModel: any, currentViewmodelId: string) { + const sourceFieldInViewmodel = sourceViewModel.fields.find(field => field.id === sourceBindingFieldId); + const dgViewModelUtil = designerHostService?.designViewModelUtils; + const sourceDgViewModel = dgViewModelUtil.getDgViewModel(sourceViewModel.id); const sourceVMField = sourceDgViewModel.fields.find(f => f.id === sourceBindingFieldId); sourceDgViewModel.removeField([sourceBindingFieldId]); - const currentDgViewModel = designViewModel.getDgViewModel(currentViewmodelId); + const currentDgViewModel = dgViewModelUtil.getDgViewModel(currentViewmodelId); currentDgViewModel.addField(sourceVMField); if (sourceFieldInViewmodel.fieldSchema) { currentDgViewModel.changeField(sourceVMField.id, sourceFieldInViewmodel.fieldSchema); } + } /** * 源控件绑定变量,需要将绑定信息移动到新VM,并且将绑定变量拷贝到新VM diff --git a/packages/ui-vue/components/dynamic-resolver/src/resolver/schema/use-schema-resolver.ts b/packages/ui-vue/components/dynamic-resolver/src/resolver/schema/use-schema-resolver.ts index f1654b900b54f3a455cdb9b8a95041a4251ff04e..0530a5a9333877b4e08f9c68bd31ffba03f8ccef 100644 --- a/packages/ui-vue/components/dynamic-resolver/src/resolver/schema/use-schema-resolver.ts +++ b/packages/ui-vue/components/dynamic-resolver/src/resolver/schema/use-schema-resolver.ts @@ -1,6 +1,6 @@ import { cloneDeep, isPlainObject } from "lodash-es"; import { MapperFunction, SchemaResolverFunction } from "../../types"; -import { DesignerHostService } from "@farris/ui-vue/components/designer-canvas"; +import { DesignerHost } from "@farris/ui-vue/components/designer-canvas"; export function useSchemaResolver(schemaMap: Record, schemaResolverMap: Record) { @@ -28,7 +28,6 @@ export function useSchemaResolver(schemaMap: Record, schemaResolver const { properties, title, required: requiredProperty } = defaultSchema as Record; if (requiredProperty && Array.isArray(requiredProperty)) { const resolvedSchema = requiredProperty.reduce((propsObject: Record, propKey: string) => { - propsObject[propKey] = (properties[propKey].type === 'object' && !!properties[propKey].properties) ? getSchemaValueByDefault(properties[propKey]) : cloneDeep(properties[propKey].default); @@ -46,7 +45,7 @@ export function useSchemaResolver(schemaMap: Record, schemaResolver } - function getSchemaByType(componentType: string, resolveContext: Record = {}, designerHostService?: DesignerHostService) + function getSchemaByType(componentType: string, resolveContext: Record = {}, designerHostService?: DesignerHost) : Record | null { const defaultSchema = schemaMap[componentType]; if (defaultSchema) { diff --git a/packages/ui-vue/components/events-editor/src/components/combine-form/combine-form.component.tsx b/packages/ui-vue/components/events-editor/src/components/combine-form/combine-form.component.tsx index 6d081ed2addd6c0aad63fc4f726199ef843eb7e5..340601dde240dc0ac2bb6148c9157e48461c7999 100644 --- a/packages/ui-vue/components/events-editor/src/components/combine-form/combine-form.component.tsx +++ b/packages/ui-vue/components/events-editor/src/components/combine-form/combine-form.component.tsx @@ -23,6 +23,10 @@ export default defineComponent({ const { saveCommunication, resolveCommunication } = useCommunication(pageSchema); const communication = ref() as Ref; communication.value = resolveCommunication(props); + const parameterRef = ref(); + const shouldShowSourceControl = ref(props.sourceCommunication?.needSelectSourceControl); + const shouldShowTargetPanel = computed(() => communication.value?.source?.componentId && communication.value?.source?.event); + onMounted(() => { }); diff --git a/packages/ui-vue/components/events-editor/src/components/combine-form/select-parameter.component.tsx b/packages/ui-vue/components/events-editor/src/components/combine-form/select-parameter.component.tsx index 3bc728e87645f57e641e8593dcf94ed5b4d9c01f..9bffdd951f0b11647929ca8eb6d4a69888bb9340 100644 --- a/packages/ui-vue/components/events-editor/src/components/combine-form/select-parameter.component.tsx +++ b/packages/ui-vue/components/events-editor/src/components/combine-form/select-parameter.component.tsx @@ -3,8 +3,11 @@ import { SetupContext, defineComponent, ref, inject, computed, onMounted, watch, import { combineFormProps, CombineFormProps } from './combine-form.props'; import { useGuid } from "@farris/ui-vue/components/common"; import { VisualData } from "../../../../data-view"; -import { Communication } from "../../types"; +import { Communication, CommunicationParameter } from "../../types"; import { DesignerHost } from "../../../../designer-canvas"; +import { FNotifyService } from "@farris/ui-vue/components/components"; +import { cloneDeep } from "lodash-es"; +import FEventParameter from "@farris/ui-vue/components/event-parameter"; /** diff --git a/packages/ui-vue/components/events-editor/src/components/interaction-item/interaction-item.component.tsx b/packages/ui-vue/components/events-editor/src/components/interaction-item/interaction-item.component.tsx index abbc3c4f2b34ec6a4b9e6b2bc2274e3974a0dfa5..011a2419c0af7248a2ce9140efb251d464386e6b 100644 --- a/packages/ui-vue/components/events-editor/src/components/interaction-item/interaction-item.component.tsx +++ b/packages/ui-vue/components/events-editor/src/components/interaction-item/interaction-item.component.tsx @@ -1,6 +1,6 @@ import { SetupContext, computed, defineComponent, inject, ref } from "vue"; import { InteractionItemProps, interactionItemProps } from "./interaction-item.props"; -import { Command, CommandItem, InteractionItem, MethodChangedEventArgs } from "../../types"; +import { Command, CommandItem, Communication, InteractionItem, MethodChangedEventArgs } from "../../types"; import FCommandSource from '../command-source/command-source.component'; import FParameterEditor from '../parameter-editor/parameter-editor.component'; import { UseMethods } from "../../composition/types"; diff --git a/packages/ui-vue/components/events-editor/src/types.ts b/packages/ui-vue/components/events-editor/src/types.ts index 539abad2ca85c5de7f56e3e0bb3bbc4c1e824385..f650b6bbaf191e9afbe410f8abd725bc7e7a5abb 100644 --- a/packages/ui-vue/components/events-editor/src/types.ts +++ b/packages/ui-vue/components/events-editor/src/types.ts @@ -1,5 +1,5 @@ import { Communication } from "./components/combine-form/types"; - +export * from "./components/combine-form/types"; export interface PropertyItem { /** 参数名 */ name: string; diff --git a/packages/ui-vue/components/filter-bar/src/composition/build-filter-bar.ts b/packages/ui-vue/components/filter-bar/src/composition/build-filter-bar.ts index 0ec6eae2589298c2a8d6031e88e69acd84c3f253..f575f59d56f77ba4c1c37b3280269b5346db3af6 100644 --- a/packages/ui-vue/components/filter-bar/src/composition/build-filter-bar.ts +++ b/packages/ui-vue/components/filter-bar/src/composition/build-filter-bar.ts @@ -1,11 +1,11 @@ import { getSchemaByType } from "@farris/ui-vue/components/dynamic-resolver"; -import { DesignerHostService, DgControl } from "@farris/ui-vue/components/designer-canvas"; +import { DesignerHost, DgControl } from "@farris/ui-vue/components/designer-canvas"; import { useGuid } from "@farris/ui-vue/components/common"; /** * 创建筛选条 */ -export function buildFilterBar(context: Record, designerHostService?: DesignerHostService) { +export function buildFilterBar(context: Record, designerHostService?: DesignerHost) { const formSchemaUtils = designerHostService?.formSchemaUtils; const targetComponentInstance = context.parentComponentInstance; diff --git a/packages/ui-vue/components/filter-bar/src/property-config/filter-bar.property-config.ts b/packages/ui-vue/components/filter-bar/src/property-config/filter-bar.property-config.ts index 9b3482eba5b9c005e70302945b30fa59048f763a..86516333bd13ad54f0ceff73086260df6d1eb3c9 100644 --- a/packages/ui-vue/components/filter-bar/src/property-config/filter-bar.property-config.ts +++ b/packages/ui-vue/components/filter-bar/src/property-config/filter-bar.property-config.ts @@ -33,7 +33,7 @@ export class FilterBarPropertyConfig extends InputBaseProperty { } private getFilterBarConfig(propertyData: any) { - const allFields = this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId); + const allFields = this.designViewModel.getAllFields2TreeByVMId(this.viewModelId); const self = this; this.propertyConfig.categories['control'] = { description: "Basic Infomation", @@ -47,11 +47,11 @@ export class FilterBarPropertyConfig extends InputBaseProperty { editor: { type: "filter-bar-config", fieldsConfig: allFields, - formSchemaUtils: this.formSchemaUtils, + formSchemaUtils: this.pageSchema, metadataService: this.metadataService, viewModelId: this.viewModelId, - designViewModelUtils: this.designViewModelUtils, - eventsEditorUtils: this.eventsEditorUtils + designViewModelUtils: this.designViewModel, + eventsEditorUtils: this.eventEditor }, }, visible: { @@ -86,7 +86,7 @@ export class FilterBarPropertyConfig extends InputBaseProperty { } ]; const self = this; - const initialData = self.eventsEditorUtils['formProperties'](propertyData, self.viewModelId, events); + const initialData = self.eventEditor['formProperties'](propertyData, self.viewModelId, events); const properties = {}; properties[self.viewModelId] = { type: 'events-editor', @@ -107,7 +107,7 @@ export class FilterBarPropertyConfig extends InputBaseProperty { delete propertyData[self.viewModelId]; if (parameters) { parameters.setPropertyRelates = this.setPropertyRelates; // 添加自定义方法后,调用此回调方法,用于处理联动属性 - self.eventsEditorUtils.saveRelatedParameters(propertyData, self.viewModelId, parameters['events'], parameters); + self.eventEditor.saveRelatedParameters(propertyData, self.viewModelId, parameters['events'], parameters); } // 联动修改排序开关 propertyData.remoteSort = propertyData.columnSorted ? true : false; diff --git a/packages/ui-vue/components/filter-bar/src/schema/schema-resolver.ts b/packages/ui-vue/components/filter-bar/src/schema/schema-resolver.ts index 909ae7f31d22c523369612266ba5ad7153fc063c..f2aa3c6b2f26a37e3880c5011756e9a39e729aec 100644 --- a/packages/ui-vue/components/filter-bar/src/schema/schema-resolver.ts +++ b/packages/ui-vue/components/filter-bar/src/schema/schema-resolver.ts @@ -1,8 +1,8 @@ -import { DesignerComponentInstance, DesignerHostService } from "@farris/ui-vue/components/designer-canvas"; +import { DesignerComponentInstance, DesignerHost } from "@farris/ui-vue/components/designer-canvas"; import { DynamicResolver } from "@farris/ui-vue/components/dynamic-resolver"; import { buildFilterBar } from '../composition/build-filter-bar'; -export function schemaResolver(resolver: DynamicResolver, schema: Record, context: Record, designerHostService?: DesignerHostService): Record { +export function schemaResolver(resolver: DynamicResolver, schema: Record, context: Record, designerHostService?: DesignerHost): Record { const parentComponentInstance = context.parentComponentInstance as DesignerComponentInstance; if (parentComponentInstance && designerHostService) { const filterBarCreator = buildFilterBar(context, designerHostService); diff --git a/packages/ui-vue/components/query-solution/src/property-config/query-solution.property-config.ts b/packages/ui-vue/components/query-solution/src/property-config/query-solution.property-config.ts index 8a62066f50775fef323d2a27b62bb16dc336c986..bd26320525f2b448545294271eb353fde290bcbb 100644 --- a/packages/ui-vue/components/query-solution/src/property-config/query-solution.property-config.ts +++ b/packages/ui-vue/components/query-solution/src/property-config/query-solution.property-config.ts @@ -55,7 +55,7 @@ export class QuerySolutionPropertyConfig extends InputBaseProperty { private getQuerySolutionConfig(propertyData: any) { const allFields = this.designViewModel.getAllFields2TreeByVMId(this.viewModelId); const flatData = new Map([]); - this.getFlatFields(allFields, flatData); + // this.getFlatFields(allFields, flatData); const self = this; this.propertyConfig.categories['control'] = { description: "Basic Infomation", diff --git a/packages/ui-vue/components/radio-group/src/designer/item-collection-editor-inner.component.tsx b/packages/ui-vue/components/radio-group/src/designer/item-collection-editor-inner.component.tsx index 294c11e1ccb0bf4d51ee7b1360ce8a93b8d05f47..9203654b1cab6c181a8e16fcebb6c601b2ddecf6 100644 --- a/packages/ui-vue/components/radio-group/src/designer/item-collection-editor-inner.component.tsx +++ b/packages/ui-vue/components/radio-group/src/designer/item-collection-editor-inner.component.tsx @@ -155,17 +155,60 @@ export default defineComponent({ * 删除当 */ function removeItem() { - // 获取选中行 + // 获取选中行 const selectedItems = gridComponentInstance.value.getSelectedItems(); - if(!selectedItems||selectedItems.length === 0){ - notifyService.warning({ position: 'top-center', message:'请先选中行!'}); + if (!selectedItems || selectedItems.length === 0) { + notifyService.warning({ position: 'top-center', message: '请先选中行!' }); return; } - const otherDatas = datagridDatas.filter(item => item.hId!==selectedItems[0].hId); + const otherDatas = datagridDatas.filter(item => item.hId !== selectedItems[0].hId); datagridDatas = [...otherDatas]; gridComponentInstance.value.updateDataSource(datagridDatas); setGridSelectedItem(); } + // 实现上移 + function upItem() { + // 获取选中行 + const selectedItems = gridComponentInstance.value.getSelectedItems(); + if (!selectedItems || selectedItems.length === 0) { + notifyService.warning({ position: 'top-center', message: '请先选中行!' }); + return; + } + const currentIndex = datagridDatas.findIndex(item => item.hId === selectedItems[0].hId); + if (currentIndex === 0) { + // 已经是第一行,不能上移 + notifyService.warning({ position: 'top-center', message: '已经是第一行,无法上移!' }); + return; + } + // 交换当前行和上一行 + [datagridDatas[currentIndex - 1], datagridDatas[currentIndex]] = [datagridDatas[currentIndex], datagridDatas[currentIndex - 1]]; + // 更新数据源 + gridComponentInstance.value.updateDataSource(datagridDatas); + // 重新选中该行 + gridComponentInstance.value.selectItemById(selectedItems[0].hId); + } + + // 实现下移 + function downItem() { + // 获取选中行 + const selectedItems = gridComponentInstance.value.getSelectedItems(); + if (!selectedItems || selectedItems.length === 0) { + notifyService.warning({ position: 'top-center', message: '请先选中行!' }); + return; + } + const currentIndex = datagridDatas.findIndex(item => item.hId === selectedItems[0].hId); + if (currentIndex === datagridDatas.length - 1) { + // 已经是最后一行,不能下移 + notifyService.warning({ position: 'top-center', message: '已经是最后一行,无法下移!' }); + return; + } + // 交换当前行和下一行 + [datagridDatas[currentIndex], datagridDatas[currentIndex + 1]] = [datagridDatas[currentIndex + 1], datagridDatas[currentIndex]]; + // 更新数据源 + gridComponentInstance.value.updateDataSource(datagridDatas); + // 重新选中该行 + gridComponentInstance.value.selectItemById(selectedItems[0].hId); + } /** * 按照指定的字段名转换value和name * @param latestData @@ -207,7 +250,7 @@ export default defineComponent({ function clickConfirm() { // 获取最新数组 let latestData = getItems(); - + // 校验 if (!checkBeforeSave(latestData)) { return false; @@ -226,7 +269,7 @@ export default defineComponent({ return true; } - + context.expose({ clickConfirm, getItems }); onMounted(() => { @@ -238,6 +281,8 @@ export default defineComponent({ {!props.readonly &&
+ +
}
('designer-host-service'); const designItemContext = inject('design-item-context') as DesignerItemContext; - const componentInstance = useDesignerComponent(elementRef, designItemContext); + const designerRulesComposition = useDesignerRulesForStep(designItemContext,designerHostService); + const componentInstance = useDesignerComponent(elementRef, designItemContext,designerRulesComposition); onMounted(() => { elementRef.value.componentInstance = componentInstance; @@ -35,6 +38,10 @@ export default defineComponent({ return classObject; }); + watch(() => props.steps, (newDatas) => { + steps.value =newDatas + }); + const stepsStyle = computed(() => { const styleObject = { height: direction.value === 'vertical' ? `${height.value}px` : '' diff --git a/packages/ui-vue/components/step/src/designer/use-designer-rules.ts b/packages/ui-vue/components/step/src/designer/use-designer-rules.ts new file mode 100644 index 0000000000000000000000000000000000000000..39205a0c5823196d7bb1e387d468a7d018ad8ef8 --- /dev/null +++ b/packages/ui-vue/components/step/src/designer/use-designer-rules.ts @@ -0,0 +1,24 @@ +import { DesignerHost, 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 { UseTemplateDragAndDropRules } from "../../../designer-canvas/src/composition/rule/use-template-rule"; +import { DgControl } from "../../../designer-canvas"; +import { StepProperty } from "../property-config/step.property-config"; + +export function useDesignerRulesForStep(designItemContext: DesignerItemContext, designerHostService?: DesignerHost): UseDesignerRules { + /** + * 获取属性配置 + */ + function getPropsConfig(componentId: string){ + const StepProp = new StepProperty(componentId, designerHostService); + const { schema } = designItemContext; + return StepProp.getPropertyConfig(schema); + } + function canAccepts(draggingContext: DraggingResolveContext): boolean { + return false; + } + return { + getPropsConfig, + canAccepts + }; +} diff --git a/packages/ui-vue/components/step/src/property-config/step.property-config.json b/packages/ui-vue/components/step/src/property-config/step.property-config.json deleted file mode 100644 index db5e5603bd50de15c9602b4bd497129ac4ad0120..0000000000000000000000000000000000000000 --- a/packages/ui-vue/components/step/src/property-config/step.property-config.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "title": "step", - "description": "A Farris Component", - "type": "object", - "categories": { - "basic": { - "description": "Basic Infomation", - "title": "基本信息", - "properties": { - "id": { - "description": "组件标识", - "title": "标识", - "type": "string", - "readonly": true - }, - "type": { - "description": "组件类型", - "title": "控件类型", - "type": "select", - "editor": { - "type": "waiting for modification", - "enum": [] - } - } - } - } - } -} \ No newline at end of file diff --git a/packages/ui-vue/components/step/src/property-config/step.property-config.ts b/packages/ui-vue/components/step/src/property-config/step.property-config.ts new file mode 100644 index 0000000000000000000000000000000000000000..b6f929a4c2417f9eeb5fdc1d351fb72e571c8a46 --- /dev/null +++ b/packages/ui-vue/components/step/src/property-config/step.property-config.ts @@ -0,0 +1,45 @@ +import { PropertyChangeObject } from "../../../../components/property-panel"; +import step from "../.."; +import { BaseControlProperty } from "../../../property-panel/src/composition/entity/base-property"; +import { InputBaseProperty } from "../../../property-panel/src/composition/entity/input-base-property"; + +export class StepProperty extends InputBaseProperty { + constructor(componentId: string, designerHostService: any) { + super(componentId, designerHostService); + } + public getPropertyConfig(propertyData: any) { + // 基本信息 + this.propertyConfig.categories['basic'] = this.getBasicPropConfig(propertyData); + // 编辑器 + this.propertyConfig.categories['template'] = this.getEditorProperties(propertyData); + + return this.propertyConfig; + } + + getEditorProperties(propertyData) { + return { + description: 'Basic Information', + title: '基本信息', + properties: { + steps: { + description: "", + title: "步骤条数据", + type: "array", + editor: { + columns: [ + { field: 'id', title: '值', dataType: 'string' }, + { field: 'title', title: '名称', dataType: 'string' }, + { field: 'description', title: '描述', dataType: 'string' }, + ], + type: "item-collection-editor", + valueField: 'id', + nameField: 'title', + requiredFields: ['id', 'title'], + uniqueFields: ['id', 'title'], + }, + } + + }, + }; + } +} diff --git a/packages/ui-vue/components/step/src/schema/step.schema.json b/packages/ui-vue/components/step/src/schema/step.schema.json index 43fd61a59bc8d0d6e4a6d465b4fdad7e3b648abd..b9be7ce1d1d3dddb05425062c21a6340f6bcafde 100644 --- a/packages/ui-vue/components/step/src/schema/step.schema.json +++ b/packages/ui-vue/components/step/src/schema/step.schema.json @@ -65,6 +65,10 @@ "description": "", "type": "boolean", "default": true + }, + "steps": { + "description": "", + "type": "array" } }, "required": [ diff --git a/packages/ui-vue/components/step/src/step.props.ts b/packages/ui-vue/components/step/src/step.props.ts index e8a424e2cd59bbfd0891f2c9a4b36df5cca1f432..a1cba6d28a489b5e9a4667e8acb1b26e5177144d 100644 --- a/packages/ui-vue/components/step/src/step.props.ts +++ b/packages/ui-vue/components/step/src/step.props.ts @@ -3,7 +3,6 @@ import { createPropsResolver } from '../../dynamic-resolver'; import { schemaMapper } from './schema/schema-mapper'; import { schemaResolver } from './schema/schema-resolver'; import stepSchema from './schema/step.schema.json'; -import propertyConfig from './property-config/step.property-config.json'; export type StepDirectionType = 'horizontal' | 'vertical'; export type StepStatus = 'active' | 'finish' | ''; @@ -55,4 +54,4 @@ export const stepProps = { export type StepProps = ExtractPropTypes; -export const propsResolver = createPropsResolver(stepProps, stepSchema, schemaMapper, schemaResolver, propertyConfig); +export const propsResolver = createPropsResolver(stepProps, stepSchema, schemaMapper, schemaResolver); diff --git a/packages/ui-vue/components/tabs/src/designer/tabs-use-design.ts b/packages/ui-vue/components/tabs/src/designer/tabs-use-design.ts index 38b79aa3e6298affe7f4025a9343658976e71d6a..7bc48cf237438cb4a66e4bd04e0f4eb72613d8ca 100644 --- a/packages/ui-vue/components/tabs/src/designer/tabs-use-design.ts +++ b/packages/ui-vue/components/tabs/src/designer/tabs-use-design.ts @@ -19,7 +19,7 @@ import { TabPageContext, ToolbarItemService, UseDesignTabs } from '../compositio import { ComponentSchema, DesignerComponentInstance, DesignerItemContext } from '../../../designer-canvas/src/types'; import { getSchemaByTypeForDesigner } from '../../../dynamic-resolver/src/resolver/schema/schema-resolver-design'; import { canvasChanged, setPositionForSelectedElement, setPositionOfButtonGroup } from '../../../designer-canvas/src/composition/designer-canvas-changed'; -import { DesignerHostService, DesignerHTMLElement } from '../../../designer-canvas/src/composition/types'; +import { DesignerHost, DesignerHTMLElement } from '../../../designer-canvas/src/composition/types'; export function useDesignTabs( props: TabsProps, @@ -27,7 +27,7 @@ export function useDesignTabs( tabNavigationElementRef: ShallowRef, designerItemContext: DesignerItemContext, toolbarItemService: ToolbarItemService, - designerHostService: DesignerHostService + designerHostService?: DesignerHost ): UseDesignTabs { // 存储tab的props数组 const tabPages = ref([]); @@ -261,7 +261,8 @@ export function useDesignTabs( * 删除标签页中按钮涉及的表达式 */ function removeToolbarExpressions(tabId: string) { - const expressionList = designerHostService['formSchemaUtils'].getExpressions(); + if(!designerHostService?.pageSchema?.getExpressions){return;} + const expressionList = designerHostService.pageSchema?.getExpressions(); if (!expressionList || !expressionList.length) { return; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dbf9893f63c35b17484a6b729424d237ddffef39..f5f3dfe613770e6c2298d75118fdf92f2dc360da 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,9 +11,18 @@ importers: '@eslint/js': specifier: ^9.19.0 version: 9.19.0 + '@types/stats.js': + specifier: ^0.17.4 + version: 0.17.4 + '@types/three': + specifier: ^0.152.1 + version: 0.152.1 axios: specifier: ^1.7.2 version: 1.7.7 + draco3dgltf: + specifier: ^1.5.7 + version: 1.5.7 echarts: specifier: ^5.5.0 version: 5.5.1 @@ -29,6 +38,9 @@ importers: markdown-it-container: specifier: ^4.0.0 version: 4.0.0 + three: + specifier: ^0.152.2 + version: 0.152.2 ts-jest: specifier: ^29.1.2 version: 29.2.5(@babel/core@7.25.8)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.8))(esbuild@0.23.1)(jest@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@5.6.3)))(typescript@5.6.3) @@ -366,10 +378,10 @@ importers: version: 7.18.0(eslint@9.19.0(jiti@1.21.6))(typescript@4.9.5) '@vitejs/plugin-vue': specifier: ^4.0.0 - version: 4.6.2(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)) + version: 4.6.2(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)) '@vitejs/plugin-vue-jsx': specifier: ^3.0.0 - version: 3.1.0(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)) + version: 3.1.0(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)) '@vue/babel-plugin-jsx': specifier: ^1.1.1 version: 1.2.5(@babel/core@7.25.8) @@ -444,19 +456,19 @@ importers: version: 4.9.5 vite: specifier: ^4.1.4 - version: 4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0) + version: 4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0) vite-plugin-dts: specifier: ^2.1.0 - version: 2.3.0(@types/node@18.19.57)(rollup@4.24.0)(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0)) + version: 2.3.0(@types/node@20.5.1)(rollup@4.24.0)(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0)) vite-plugin-md: specifier: ^0.20.0 - version: 0.20.6(@vitejs/plugin-vue@4.6.2(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0)) + version: 0.20.6(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) vite-svg-loader: specifier: ^4.0.0 version: 4.0.0 vitepress: specifier: 1.0.0-alpha.8 - version: 1.0.0-alpha.8(@algolia/client-search@4.24.0)(@types/node@18.19.57)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(sass@1.80.3)(search-insights@2.17.2)(terser@5.36.0)(typescript@4.9.5) + version: 1.0.0-alpha.8(@algolia/client-search@4.24.0)(@types/node@20.5.1)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(sass@1.80.3)(search-insights@2.17.2)(terser@5.36.0)(typescript@4.9.5) vitepress-theme-demoblock: specifier: 1.4.2 version: 1.4.2(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(sass@1.80.3)(typescript@4.9.5) @@ -4516,6 +4528,9 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@tweenjs/tween.js@18.6.4': + resolution: {integrity: sha512-lB9lMjuqjtuJrx7/kOkqQBtllspPIN+96OvTCeJ2j5FEzinoAXTdAMFnDAQT1KVPRlnYfBrqxtqP66vDM40xxQ==} + '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} @@ -4648,6 +4663,12 @@ packages: '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/stats.js@0.17.4': + resolution: {integrity: sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==} + + '@types/three@0.152.1': + resolution: {integrity: sha512-PMOCQnx9JRmq+2OUGTPoY9h1hTWD2L7/nmuW/SyNq1Vbq3Lwt3MNdl3wYSa4DvLTGv62NmIXD9jYdAOwohwJyw==} + '@types/through@0.0.33': resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} @@ -4663,6 +4684,9 @@ packages: '@types/web-bluetooth@0.0.15': resolution: {integrity: sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==} + '@types/webxr@0.5.22': + resolution: {integrity: sha512-Vr6Stjv5jPRqH690f5I5GLjVk8GSsoQSYJ2FVd/3jJF7KaqfwPi3ehfBS96mlQ2kPCwZaX6U0rG2+NGHBKkA/A==} + '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -6500,6 +6524,9 @@ packages: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} + draco3dgltf@1.5.7: + resolution: {integrity: sha512-LeqcpmoHIyYUi0z70/H3tMkGj8QhqVxq6FJGPjlzR24BNkQ6jyMheMvFKJBI0dzGZrEOUyQEmZ8axM1xRrbRiw==} + duplexer2@0.0.2: resolution: {integrity: sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==} @@ -7217,6 +7244,9 @@ packages: picomatch: optional: true + fflate@0.6.10: + resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -8601,6 +8631,9 @@ packages: resolution: {integrity: sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==} engines: {node: '>= 0.8'} + lil-gui@0.17.0: + resolution: {integrity: sha512-MVBHmgY+uEbmJNApAaPbtvNh1RCAeMnKym82SBjtp5rODTYKWtM+MXHCifLe2H2Ti1HuBGBtK/5SyG4ShQ3pUQ==} + lilconfig@3.1.2: resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} @@ -9814,6 +9847,7 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} deprecated: |- You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) qs@6.13.0: @@ -13840,41 +13874,6 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5))': - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 18.19.57 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@18.19.57)(typescript@5.6.3))': dependencies: '@jest/console': 29.7.0 @@ -14708,6 +14707,8 @@ snapshots: '@tsconfig/node16@1.0.4': {} + '@tweenjs/tween.js@18.6.4': {} + '@types/argparse@1.0.38': {} '@types/aria-query@5.0.4': {} @@ -14855,6 +14856,16 @@ snapshots: '@types/stack-utils@2.0.3': {} + '@types/stats.js@0.17.4': {} + + '@types/three@0.152.1': + dependencies: + '@tweenjs/tween.js': 18.6.4 + '@types/stats.js': 0.17.4 + '@types/webxr': 0.5.22 + fflate: 0.6.10 + lil-gui: 0.17.0 + '@types/through@0.0.33': dependencies: '@types/node': 18.19.57 @@ -14870,6 +14881,8 @@ snapshots: '@types/web-bluetooth@0.0.15': {} + '@types/webxr@0.5.22': {} + '@types/yargs-parser@21.0.3': {} '@types/yargs@15.0.19': @@ -17224,21 +17237,6 @@ snapshots: p-filter: 3.0.0 p-map: 6.0.0 - create-jest@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)): - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - create-jest@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@5.6.3)): dependencies: '@jest/types': 29.6.3 @@ -17590,6 +17588,8 @@ snapshots: dependencies: is-obj: 2.0.0 + draco3dgltf@1.5.7: {} + duplexer2@0.0.2: dependencies: readable-stream: 1.1.14 @@ -18502,6 +18502,8 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fflate@0.6.10: {} + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -19722,25 +19724,6 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)): - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)) - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - chalk: 4.1.2 - create-jest: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)) - exit: 0.1.2 - import-local: 3.2.0 - jest-config: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)) - jest-util: 29.7.0 - jest-validate: 29.7.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - jest-cli@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@5.6.3)): dependencies: '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@18.19.57)(typescript@5.6.3)) @@ -19798,23 +19781,16 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)): + jest-cli@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)): dependencies: - '@babel/core': 7.25.8 - '@jest/test-sequencer': 29.7.0 + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.25.8) chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 + create-jest: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + exit: 0.1.2 + import-local: 3.2.0 + jest-config: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) jest-util: 29.7.0 jest-validate: 29.7.0 micromatch: 4.0.8 @@ -19826,8 +19802,10 @@ snapshots: '@types/node': 18.19.57 ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.6.3) transitivePeerDependencies: + - '@types/node' - babel-plugin-macros - supports-color + - ts-node jest-config@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@5.6.3)): dependencies: @@ -20192,18 +20170,6 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)): - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)) - '@jest/types': 29.6.3 - import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - jest@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@5.6.3)): dependencies: '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@18.19.57)(typescript@5.6.3)) @@ -20421,6 +20387,8 @@ snapshots: transitivePeerDependencies: - supports-color + lil-gui@0.17.0: {} + lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} @@ -20979,7 +20947,7 @@ snapshots: native-dash@1.25.0(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0): dependencies: brilliant-errors: 0.7.3(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) - inferred-types: 0.37.6(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) + inferred-types: 0.37.6(happy-dom@14.12.3)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) transitivePeerDependencies: - '@edge-runtime/vm' - '@vitest/browser' @@ -23504,14 +23472,47 @@ snapshots: vite-plugin-md@0.20.6(@vitejs/plugin-vue@4.6.2(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0)): dependencies: - '@yankeeinlondon/builder-api': 1.4.1(@vitejs/plugin-vue@4.6.2(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0)) + '@microsoft/api-extractor': 7.43.0(@types/node@20.5.1) + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) + '@vue/language-core': 1.8.27(typescript@4.9.5) + debug: 4.3.7 + kolorist: 1.8.0 + magic-string: 0.30.12 + typescript: 4.9.5 + vue-tsc: 1.8.27(typescript@4.9.5) + optionalDependencies: + vite: 4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + + vite-plugin-dts@3.9.1(@types/node@20.5.1)(rollup@4.24.0)(typescript@5.6.3)(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)): + dependencies: + '@microsoft/api-extractor': 7.43.0(@types/node@20.5.1) + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) + '@vue/language-core': 1.8.27(typescript@5.6.3) + debug: 4.3.7 + kolorist: 1.8.0 + magic-string: 0.30.12 + typescript: 5.6.3 + vue-tsc: 1.8.27(typescript@5.6.3) + optionalDependencies: + vite: 5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + + vite-plugin-md@0.20.6(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0): + dependencies: + '@yankeeinlondon/builder-api': 1.4.1(@vitejs/plugin-vue@5.1.4(vite@5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)))(happy-dom@14.12.3)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)) '@yankeeinlondon/happy-wrapper': 2.10.1(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) gray-matter: 4.0.3 markdown-it: 13.0.2 source-map-js: 1.2.1 transitivePeerDependencies: - '@edge-runtime/vm' - - '@vitejs/plugin-vue' - '@vitest/browser' - '@vitest/ui' - encoding @@ -23593,7 +23594,7 @@ snapshots: - supports-color - terser - vite-plugin-md@0.22.5(@vitejs/plugin-vue@4.6.2(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0)): + vite-plugin-md@0.21.5(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)): dependencies: '@vitejs/plugin-vue': 4.6.2(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)) '@yankeeinlondon/builder-api': 1.4.1(@vitejs/plugin-vue@4.6.2(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0)) @@ -23601,7 +23602,7 @@ snapshots: '@yankeeinlondon/happy-wrapper': 2.10.1(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) markdown-it: 13.0.2 source-map-js: 1.2.1 - vite: 4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0) + vite: 5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) transitivePeerDependencies: - '@edge-runtime/vm' - '@vitest/browser' diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index c288af42c6bfbdf46b93967ab3900889707a79cf..42ff43e708b8edb22b91f32f09c7ffbd4e032849 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -10,10 +10,10 @@ packages: - 'packages/mobile-ui-vue' - 'packages/renderer' - 'packages/ui-vue' - - 'packages/charts-vue' - 'packages/command-services' - 'packages/ui-binding' - 'packages/farris-admin' - 'packages/code-editor' - 'packages/mobile-render' - 'packages/expression-engine' + - 'packages/charts-vue'