From 309afe6491cdffeb14e948138aa5a178aac31738 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Thu, 15 May 2025 12:21:39 +0000 Subject: [PATCH 01/45] =?UTF-8?q?!1610=20fix:=20button-edit=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D=20*=20fix:=20butt?= =?UTF-8?q?on-edit=20=E4=BF=AE=E5=A4=8D=E6=A0=87=E7=AD=BE=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E4=B8=8B=E8=B6=85=E9=95=BF=E6=98=BE=E7=A4=BA=E4=B8=8D?= =?UTF-8?q?=E5=AE=8C=E6=95=B4=E7=9A=84=E9=97=AE=E9=A2=98=20*=20fix:=20?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=BE=93=E5=85=A5=E6=A1=86=E5=8D=A0=E4=BD=8D?= =?UTF-8?q?=E7=AC=A6=E6=96=87=E6=9C=AC=20*=20fix:=20=E6=9B=B4=E6=96=B0docs?= =?UTF-8?q?=20=E6=96=87=E6=A1=A3=E4=BA=8B=E4=BB=B6=E8=AF=B4=E6=98=8E=20*?= =?UTF-8?q?=20fix:=20timepicker=E7=BB=84=E4=BB=B6=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E6=97=B6placeholder=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=80=BC=20*=20fix:=20button-edit=20?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E6=A8=A1=E5=BC=8F=E4=B8=8B=E6=94=AF=E6=8C=81?= =?UTF-8?q?placeholder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/button-edit/button-edit.scss | 13 ++++++ .../ui-vue/components/button-edit/index.ts | 2 + .../button-edit/src/button-edit.component.tsx | 41 +++++++++++++++++-- .../src/components/tag-edit.component.tsx | 21 ++++++++-- .../text-box/composition/use-text-box.ts | 2 +- .../entity-variable.component.tsx | 2 +- .../src/components/extend.component.tsx | 15 +++++-- .../src/composition/use-appended-button.ts | 2 +- .../src/composition/use-text-box.ts | 2 +- packages/ui-vue/components/tags/index.ts | 2 + .../components/tags/src/tags.component.tsx | 11 +++-- .../ui-vue/components/tags/src/tags.props.ts | 1 + packages/ui-vue/components/tags/tags.scss | 21 ++++++++++ .../src/schema/time-picker.schema.json | 2 +- packages/ui-vue/demos/button-edit/clear.vue | 1 + .../ui-vue/demos/button-edit/inputType.vue | 9 ++-- packages/ui-vue/demos/input-group/basic.vue | 4 +- packages/ui-vue/demos/input-group/extend.vue | 24 ++++++++++- .../ui-vue/demos/input-group/placeholder.vue | 4 +- packages/ui-vue/demos/input-group/state.vue | 6 +-- .../docs/components/button-edit/index.md | 31 +++++++------- .../docs/components/input-group/index.md | 32 +++++++-------- 22 files changed, 184 insertions(+), 64 deletions(-) create mode 100644 packages/ui-vue/components/button-edit/button-edit.scss create mode 100644 packages/ui-vue/components/tags/tags.scss diff --git a/packages/ui-vue/components/button-edit/button-edit.scss b/packages/ui-vue/components/button-edit/button-edit.scss new file mode 100644 index 0000000000..b0bfe06433 --- /dev/null +++ b/packages/ui-vue/components/button-edit/button-edit.scss @@ -0,0 +1,13 @@ +.f-button-edit { + &:hover { + .farris-tags{ + height: auto; + } + .more-tags{ + visibility: hidden; + } + } + .more-tags{ + cursor: pointer;align-items: center;color: #2A87FF;font-weight: 600; font-size: 12px; + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/button-edit/index.ts b/packages/ui-vue/components/button-edit/index.ts index fd9ca85633..40f45d50f1 100644 --- a/packages/ui-vue/components/button-edit/index.ts +++ b/packages/ui-vue/components/button-edit/index.ts @@ -17,6 +17,8 @@ import FButtonEdit from './src/button-edit.component'; import { withInstall } from '@farris/ui-vue/components/common'; +import './button-edit.scss'; + export * from './src/button-edit.props'; export { FButtonEdit }; diff --git a/packages/ui-vue/components/button-edit/src/button-edit.component.tsx b/packages/ui-vue/components/button-edit/src/button-edit.component.tsx index 0e267e7b5d..35b0de78ba 100644 --- a/packages/ui-vue/components/button-edit/src/button-edit.component.tsx +++ b/packages/ui-vue/components/button-edit/src/button-edit.component.tsx @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { defineComponent, computed, ref, watch, onMounted, onUnmounted, onBeforeUnmount } from 'vue'; +import { defineComponent, computed, ref, watch, onMounted, onBeforeUnmount, onUpdated } from 'vue'; import type { SetupContext } from 'vue'; import { buttonEditProps, ButtonEditProps } from './button-edit.props'; import { useButton } from './composition/use-button'; @@ -73,9 +73,42 @@ export default defineComponent({ return classObject; }); + const buttonEditStyles = computed(() => { + return { + overflow: props.wrapText ? 'hidden': '' + } + }); + + + function getHeiddenItems() { + if (!props.multiSelect || props.inputType !== 'tag' || !buttonEditRef.value) { + return 0; + } + + let total = 0; + + const items = Array.from(buttonEditRef.value.querySelectorAll('.farris-tag-item')); + if (items && items.length) { + total = items.map((tag: any) => { + return tag.offsetTop; + }).filter(topNum => topNum > 20).length; + } + return total; + } + + const hideTagsCount= ref(getHeiddenItems()); + + onUpdated(() => { + hideTagsCount.value = getHeiddenItems(); + }); + + function getEditorRender() { if (props.multiSelect && props.inputType === 'tag') { - return getTagEditorRender(props, modelValue, useTextBoxComposition); + return () => <> + {getTagEditorRender(props, modelValue, useTextBoxComposition)()} + {!!hideTagsCount.value &&
+{hideTagsCount.value}
} + ; } return getTextEditorRender(props, modelValue, useTextBoxComposition); } @@ -129,8 +162,8 @@ export default defineComponent({ return () => { return ( <> -
-
+
{renderEditor()} {renderButtonGroup()} diff --git a/packages/ui-vue/components/button-edit/src/components/tag-edit.component.tsx b/packages/ui-vue/components/button-edit/src/components/tag-edit.component.tsx index fca1fd86e0..47ce767261 100644 --- a/packages/ui-vue/components/button-edit/src/components/tag-edit.component.tsx +++ b/packages/ui-vue/components/button-edit/src/components/tag-edit.component.tsx @@ -1,4 +1,4 @@ -import { Ref, computed, ref } from 'vue'; +import { Ref, computed, ref, watch } from 'vue'; import FTags from '@farris/ui-vue/components/tags'; import { ButtonEditProps } from '../button-edit.props'; import { UseTextBox } from '../composition/types'; @@ -9,7 +9,7 @@ export default function ( useTextBoxComposition: UseTextBox ) { const separator = ref(props.separator); - const { changeTextBoxValue } = useTextBoxComposition; + const { changeTextBoxValue, onFocusTextBox, onBlurTextBox } = useTextBoxComposition; const tags = computed(() => { return modelValue.value ? @@ -20,8 +20,23 @@ export default function ( changeTextBoxValue(tags.map((tag: any) => tag.name).join(separator.value), true); } + watch(() => props.separator, (newValue) => { + separator.value = newValue; + }); + + const canDeleteTag = ref(!props.disable && !props.readonly); + + watch([() => props.disable, () => props.readonly], ([newDisabled, newReadonly],[oldDisabled, oldReadonly]) => { + canDeleteTag.value = !newDisabled && !newReadonly; + }); + return () => { - return ; }; } diff --git a/packages/ui-vue/components/common/text-box/composition/use-text-box.ts b/packages/ui-vue/components/common/text-box/composition/use-text-box.ts index 66ffbc5e56..b7b2546f92 100644 --- a/packages/ui-vue/components/common/text-box/composition/use-text-box.ts +++ b/packages/ui-vue/components/common/text-box/composition/use-text-box.ts @@ -126,7 +126,7 @@ export function useTextBox( } function onFocus(payload: FocusEvent) { - if (props.disabled) { + if (disabled.value || readonly.value) { return; } if (showBorder.value) { diff --git a/packages/ui-vue/components/expression-editor/src/components/entities-variable/entity-variable.component.tsx b/packages/ui-vue/components/expression-editor/src/components/entities-variable/entity-variable.component.tsx index 8e6d637959..0a82edb446 100644 --- a/packages/ui-vue/components/expression-editor/src/components/entities-variable/entity-variable.component.tsx +++ b/packages/ui-vue/components/expression-editor/src/components/entities-variable/entity-variable.component.tsx @@ -226,7 +226,7 @@ export default defineComponent({ buttonContent={''} enableClear={true} popupOnClick={true} - placeholder={'请输入名称或编码,按回车查询'} + placeholder={'请输入名称或编号,按回车查询'} v-model={searchFieldValue.value} onClickButton={onSearch} onClear={onClearSearchValue} diff --git a/packages/ui-vue/components/input-group/src/components/extend.component.tsx b/packages/ui-vue/components/input-group/src/components/extend.component.tsx index 0bbeeb6e24..0943e45a47 100644 --- a/packages/ui-vue/components/input-group/src/components/extend.component.tsx +++ b/packages/ui-vue/components/input-group/src/components/extend.component.tsx @@ -1,13 +1,20 @@ -import { SetupContext, computed, reactive } from 'vue'; +import { SetupContext, computed, reactive, ref, watch } from 'vue'; import { InputGroupProps } from '../input-group.props'; export default function ( props: InputGroupProps, context: SetupContext ) { + + const extendInfo = ref(props.extendInfo); + const showExtend = computed(() => props.useExtendInfo && !!props.extendInfo); - const tooltipOption = reactive({ - content: props.extendInfo + const tooltipOption = computed(() => { + return { content: extendInfo.value }; + }); + + watch(() => props.extendInfo, (value) => { + extendInfo.value = value; }); function onMouseOverInExtentInfo() { @@ -15,7 +22,7 @@ export default function ( } return () => showExtend.value && ( - + ); diff --git a/packages/ui-vue/components/input-group/src/composition/use-appended-button.ts b/packages/ui-vue/components/input-group/src/composition/use-appended-button.ts index 008f6ec4c8..7998801e35 100644 --- a/packages/ui-vue/components/input-group/src/composition/use-appended-button.ts +++ b/packages/ui-vue/components/input-group/src/composition/use-appended-button.ts @@ -10,7 +10,7 @@ export function useAppendedButton( const forcedToShowAppendedButton = computed(() => props.showButtonWhenDisabled && (props.readonly || props.disabled)); - const shouldShowAppendedButton = computed(() => props.enableClear || !!props.groupText); + const shouldShowAppendedButton = computed(() => props.type === 'password' || props.enableClear || !!props.groupText || forcedToShowAppendedButton.value); const appendedButtonClass = computed(() => { const classObject = { diff --git a/packages/ui-vue/components/input-group/src/composition/use-text-box.ts b/packages/ui-vue/components/input-group/src/composition/use-text-box.ts index 033bbf16b6..c7196ed74a 100644 --- a/packages/ui-vue/components/input-group/src/composition/use-text-box.ts +++ b/packages/ui-vue/components/input-group/src/composition/use-text-box.ts @@ -78,7 +78,7 @@ export function useTextBox( } function onInputFocus($event: FocusEvent) { - if (!props.disabled) { + if (!props.disabled && !props.readonly) { if (showBorder.value) { document.documentElement.classList.add(focusCls); } diff --git a/packages/ui-vue/components/tags/index.ts b/packages/ui-vue/components/tags/index.ts index ab59dcee87..ee226df600 100644 --- a/packages/ui-vue/components/tags/index.ts +++ b/packages/ui-vue/components/tags/index.ts @@ -7,6 +7,8 @@ import FTagsDesign from './src/designer/tags.design.component'; export * from './src/tags.props'; +import './tags.scss'; + FTags.register = (componentMap: Record, propsResolverMap: Record, configResolverMap: Record, resolverMap: Record): void => { componentMap.tags = FTags; propsResolverMap.tags = propsResolver; diff --git a/packages/ui-vue/components/tags/src/tags.component.tsx b/packages/ui-vue/components/tags/src/tags.component.tsx index 3a19033dc4..e172d2973a 100644 --- a/packages/ui-vue/components/tags/src/tags.component.tsx +++ b/packages/ui-vue/components/tags/src/tags.component.tsx @@ -71,6 +71,11 @@ export default defineComponent({ activeTag.value = newValue; }); + watch(() => props.showClose, (newValue) => { + showClose.value = newValue; + }); + + /** * 监听是否显示添加文本框 */ @@ -364,9 +369,9 @@ export default defineComponent({ return () => { return ( -
-
    onscroll(payload)}>{renderInnerElements()}
+
+ {!!innerElements.value.length &&
    onscroll(payload)}>{renderInnerElements()}
}
); }; diff --git a/packages/ui-vue/components/tags/src/tags.props.ts b/packages/ui-vue/components/tags/src/tags.props.ts index 12ec5b293b..04dcdb91d4 100644 --- a/packages/ui-vue/components/tags/src/tags.props.ts +++ b/packages/ui-vue/components/tags/src/tags.props.ts @@ -35,6 +35,7 @@ export const tagsProps = { wrapText: { type: Boolean, default: false }, draggable: { type: Boolean, default: false }, disable: { type: Boolean,default:false }, + placeholder: { type: String, default: '' }, } as Record; export type TagsProps = ExtractPropTypes; diff --git a/packages/ui-vue/components/tags/tags.scss b/packages/ui-vue/components/tags/tags.scss new file mode 100644 index 0000000000..6c790fa9f0 --- /dev/null +++ b/packages/ui-vue/components/tags/tags.scss @@ -0,0 +1,21 @@ + + .farris-tags::before { + content: attr(data-placeholder); + color: #999; + font-style: italic; + display: none; /* 默认隐藏 */ + padding-left: 5px; + vertical-align: middle; + height: 100%; + align-items: center; +} + + + .farris-tags:empty::before { + display: flex; /* 内容为空时显示 */ + } + + /* 通过 JavaScript 动态控制 */ + .farris-tags.has-content::before { + display: none !important; + } \ No newline at end of file diff --git a/packages/ui-vue/components/time-picker/src/schema/time-picker.schema.json b/packages/ui-vue/components/time-picker/src/schema/time-picker.schema.json index d34a7efeda..90da0cd3c8 100644 --- a/packages/ui-vue/components/time-picker/src/schema/time-picker.schema.json +++ b/packages/ui-vue/components/time-picker/src/schema/time-picker.schema.json @@ -44,7 +44,7 @@ "placeholder": { "description": "", "type": "string", - "default": "" + "default": "请选择时间" }, "readonly": { "description": "", diff --git a/packages/ui-vue/demos/button-edit/clear.vue b/packages/ui-vue/demos/button-edit/clear.vue index a6be71a6cc..c8cbdf268b 100644 --- a/packages/ui-vue/demos/button-edit/clear.vue +++ b/packages/ui-vue/demos/button-edit/clear.vue @@ -9,6 +9,7 @@ const enableClear = ref(true);
显示清空按钮:
+
只读状态: diff --git a/packages/ui-vue/demos/button-edit/inputType.vue b/packages/ui-vue/demos/button-edit/inputType.vue index df37902455..e712918ec4 100644 --- a/packages/ui-vue/demos/button-edit/inputType.vue +++ b/packages/ui-vue/demos/button-edit/inputType.vue @@ -3,6 +3,7 @@ import { ref } from 'vue'; const text = ref('aaa,bbb,ccc'); const text2 = ref('aaa,bbb,ccc'); +const disabled = ref(false); diff --git a/packages/ui-vue/demos/input-group/basic.vue b/packages/ui-vue/demos/input-group/basic.vue index 1f97df66c5..0dfa61d55a 100644 --- a/packages/ui-vue/demos/input-group/basic.vue +++ b/packages/ui-vue/demos/input-group/basic.vue @@ -35,7 +35,7 @@ const textareaValue = ref('我是一个多行文本框,内容比较多,可
-
+
diff --git a/packages/ui-vue/demos/input-group/extend.vue b/packages/ui-vue/demos/input-group/extend.vue index 3b4b86116a..5293b20944 100644 --- a/packages/ui-vue/demos/input-group/extend.vue +++ b/packages/ui-vue/demos/input-group/extend.vue @@ -5,6 +5,8 @@ const groupIcon = '' const groupText = '查询' const bindValue = ref('文本内容') const extendInfo = ref('这是扩展') + +const useExtendInfo = ref(true); function onClickGroupText() { alert('click group text') } @@ -49,7 +51,7 @@ function onUpdateExtendInfo() {
@@ -60,12 +62,30 @@ function onUpdateExtendInfo() {
+
+
+
+
+
+ +
+
+
+ +
+
diff --git a/packages/ui-vue/demos/input-group/placeholder.vue b/packages/ui-vue/demos/input-group/placeholder.vue index 51fda953ae..b056c1ba28 100644 --- a/packages/ui-vue/demos/input-group/placeholder.vue +++ b/packages/ui-vue/demos/input-group/placeholder.vue @@ -22,7 +22,7 @@ const bindDisableValue = ref('');
- +
@@ -32,7 +32,7 @@ const bindDisableValue = ref('');
- +
diff --git a/packages/ui-vue/demos/input-group/state.vue b/packages/ui-vue/demos/input-group/state.vue index a43258c1f4..7786556e44 100644 --- a/packages/ui-vue/demos/input-group/state.vue +++ b/packages/ui-vue/demos/input-group/state.vue @@ -3,7 +3,7 @@ import { ref } from 'vue'; /** 绑定值 */ const bindValue = ref('文本'); -const groupIcon = ''; +const groupIcon = ''; diff --git a/packages/ui-vue/demos/layout/basic.vue b/packages/ui-vue/demos/layout/basic.vue index 51e07ccb6b..3206769b70 100644 --- a/packages/ui-vue/demos/layout/basic.vue +++ b/packages/ui-vue/demos/layout/basic.vue @@ -1,7 +1,7 @@ diff --git a/packages/ui-vue/docs/.vitepress/config/sidebar.ts b/packages/ui-vue/docs/.vitepress/config/sidebar.ts index 46aee5a805..2789ef8611 100644 --- a/packages/ui-vue/docs/.vitepress/config/sidebar.ts +++ b/packages/ui-vue/docs/.vitepress/config/sidebar.ts @@ -56,7 +56,7 @@ const sidebar = [ { text: 'Number Spinner 数字输入框', link: '/components/number-spinner/' }, { text: 'Number Range 数字区间', link: '/components/number-range/' }, { text: 'Order 排序', link: '/components/order/' }, - { text: 'Condition 条件列表', link: '/components/condition/' }, + // { text: 'Condition 条件列表', link: '/components/condition/' }, { text: 'QuerySolution 条件列表', link: '/components/query-solution/' }, { text: 'EnumEditor 枚举数据编辑器', link: '/components/enum-editor/' }, { text: 'FieldSelector 字段选择器', link: '/components/field-selector/' }, @@ -67,7 +67,7 @@ const sidebar = [ { text: '展示数据', items: [ - { text: 'Avatar 头像', link: '/components/avatar/' }, + // { text: 'Avatar 头像', link: '/components/avatar/' }, { text: 'Image Cropper 图像裁剪', link: '/components/image-cropper/' }, { text: 'Calendar 日历', link: 'components/calendar/' }, { text: 'Capsule 胶囊按钮', link: '/components/capsule/' }, diff --git a/packages/ui-vue/docs/components/avatar/index.md b/packages/ui-vue/docs/components/avatar/index.md index 38cf678543..18efe7e4e5 100644 --- a/packages/ui-vue/docs/components/avatar/index.md +++ b/packages/ui-vue/docs/components/avatar/index.md @@ -37,13 +37,12 @@ Avatar 组件用来展示人员头像。 | :----- | :------- | :----- | :------- | | avatarWidth | `number` | 100 | 头像宽度 | | avatarHeight | `number` | 100 | 头像高度 | -| cover | `string` | 100 | 组件标识 | +| cover | `string` | 100 | 封面图片,无需双向绑定时使用 | | readonly | `boolean` | false | 只读 | | shape | `'square' 、 'circle` | `'circle'` | 头像形状 | | maxSize | `number` | 1 | 头像最大尺寸, 单位MB | -| modelValue | `string` | `''` | 组件值 | -| title | `string` | `''` | 组件值 | -| imageType | `string` | `['jpeg']` | 组件值 | +| title | `string` | `''` | 图像说明,仅在readonly为true时生效 | +| imageType | `array` | `['jpeg']` | 支持的图片类型 | ## 插槽 diff --git a/packages/ui-vue/docs/components/condition/index.md b/packages/ui-vue/docs/components/condition/index.md index fc531983ef..92623b3e74 100644 --- a/packages/ui-vue/docs/components/condition/index.md +++ b/packages/ui-vue/docs/components/condition/index.md @@ -105,7 +105,6 @@ interface EditorConfig { | labelCode | `string` | '' | 字段标签 | | name | `string ` | '' | 字段名称 | | editor | `EditorConfig ` | | 组件配置项,见各组件文档中可传参数 | -| defaulValue | `ConditionValue ` | | | ## 事件 @@ -113,8 +112,8 @@ interface EditorConfig { | 事件名 | 类型 | 说明 | | :---------- | :---------------------- | :-------------------- | | valueChange | `EventEmitter` | 筛选值变化事件 | -| labelCodeChange | `EventEmitter` | 筛选条件类型切换事件(高级模式下) | -| compareTypeChange | `EventEmitter` | 筛选条件匹配值变化事件(高级模式下) | +| labelCodeChange | `EventEmitter` | 筛选条件字段切换事件(高级模式下) | +| compareTypeChange | `EventEmitter` | 筛选条件值关系变化事件更合适(高级模式下) | ## 插槽 diff --git a/packages/ui-vue/docs/components/number-spinner/index.md b/packages/ui-vue/docs/components/number-spinner/index.md index 70d1fe7e2f..2b6a902b6c 100644 --- a/packages/ui-vue/docs/components/number-spinner/index.md +++ b/packages/ui-vue/docs/components/number-spinner/index.md @@ -85,15 +85,14 @@ Number Spinner 数字输入框用来展示和录入数字类数据。 | 属性名 | 类型 | 默认值 | 说明 | | :--------- | :--------------- | :----- | :-------------------------------- | -| modelValue | `number/string` | | 组件值 | | disabled | `boolean` | false | 是否禁用 | | readonly | `boolean` | false | 是否只读 | | editable | `boolean` | true | 是否可编辑 | | placeholder | `string` | 请输入数字 | 空白提示文本 | | showButton | `boolean` | true | 是否显示微调按钮 | | textAlign | `string` | left | 文本对齐方式 : 左对齐left; 居中对齐center ;右对齐 right | -| max | `number` | 1 | 最大值 | -| min | `number` | 1 | 最小值 | +| max | `number` | null | 最大值 | +| min | `number` | null | 最小值 | | useThousands | `boolean` | true | 是否使用千分值 | | groupSeparator | `string` | , | 千分位符号 | | groupSize | `number` | 3 | 使用千分位时,每组显示的字符数 | diff --git a/packages/ui-vue/docs/components/order/index.md b/packages/ui-vue/docs/components/order/index.md index 1df5da2761..da565881d9 100644 --- a/packages/ui-vue/docs/components/order/index.md +++ b/packages/ui-vue/docs/components/order/index.md @@ -11,17 +11,25 @@ Order排序组件 ``` ::: - +## 类型 + +```typescript +type OrderedItem { + id: string; + name: string; + order: SortType; +} +``` ## 属性 | 属性名 | 类型 | 默认值 | 说明 | | :--------- | :--------------- | :----- | :-------------------------------- | -| dataSource | `array` | | 排序列数据源 | -| items | `array` | | 当前排序数组 | +| dataSource | `OrderedItem[]` | [] | 排序列数据源 | +| items | `OrderedItem[]` | [] | 当前排序数组 | ## 事件 | 事件名 | 说明 | | :--------- | :-------------------------------- | -| change | 排序列、排序方式、排序顺序发生变更、添加排序列后的变更事件 | +| change | 排序列、排序方式、排序顺序发生变更、添加排序列后的变更事件,返回值格式同`属性` | diff --git a/packages/ui-vue/docs/components/query-solution/index.md b/packages/ui-vue/docs/components/query-solution/index.md index cff91d3a75..9f6bd7bd1d 100644 --- a/packages/ui-vue/docs/components/query-solution/index.md +++ b/packages/ui-vue/docs/components/query-solution/index.md @@ -13,29 +13,27 @@ QuerySolution 组件用来筛选过滤数据。 ::: - -## 类型 - -```typescript - -``` - ## 属性 | 属性名 | 类型 | 默认值 | 说明 | | :----- | :------- | :----- | :------- | | fields | `Array` | [] | 筛选方案筛选项配置,具体可见`condition`组件 | | solutions | `Array`| [] | 筛选方案列表 | +| isControlInline | `boolean`| true | 控间标签同行展示 | ## QuerySolution属性 | 属性名 | 类型 | 默认值 | 说明 | | :----- | :------- | :----- | :------- | | id | `string` | '' | 筛选方案标识 | +| belongId | `string` | '' | 所属表单 | | code | `string` | '' | 筛选方案编号 | | name | `string` | '' | 筛选方案名称 | | conditions | `Array` | [] | 筛选方案筛选项, Condition见`Condition组件` | +| queryConditionString | `string` | '' | 数据存储格式 | | isDefault | `boolean` | false | 是否为默认 | -| mode | `string` | [] | 模式新增字段,1为标准模式,2为高级模式 | +| isSystem | `boolean` | false | 是否系统预置查询方案 | +| mode | `string` | '1' | 模式类型字段,暂时只支持标准模式,值为'1' | +| type | `private|public` |'private' | private个人方案、public系统公共方案、 | ## 事件 @@ -45,7 +43,8 @@ QuerySolution 组件用来筛选过滤数据。 | save | `QuerySolution` | 保存方案 | | saveAs | `QuerySolution` | 另存为方案 | | delete | `QuerySolution` | 删除方案 | -| change | `Condition` | 另存为方案 | +| change | `Condition` | 值变化事件 | +| query | `` | 查询事件 | ## 插槽 diff --git a/packages/ui-vue/docs/components/rate/index.md b/packages/ui-vue/docs/components/rate/index.md index e0a74ff133..c9ce25c1f3 100644 --- a/packages/ui-vue/docs/components/rate/index.md +++ b/packages/ui-vue/docs/components/rate/index.md @@ -101,16 +101,11 @@ ::: -## 类型 - -```typescript -type size = 'small' | 'middle' | 'large' | 'extraLarge'; -``` ## 属性 | 属性名 | 类型 | 默认值 | 说明 | | :--------- | :--------------------- | :-------- | :------------------- | -| size | `string` | 'large' | 可选,星星大小,默认为`large` | +| size | `'small' | 'middle' | 'large' | 'extraLarge'` | 'large' | 可选,星星大小,默认为`large` | | enableHalf | `boolean` | false | 可选,是否启用半选模式 | | enableClear | `boolean` | false | 可选,是否启用再次点击后清除 | | disabled | `boolean` | false | 可选,是否禁用 | @@ -120,8 +115,7 @@ type size = 'small' | 'middle' | 'large' | 'extraLarge'; | iconClass | `string` | 'f-icon-star' | 可选,评分图标样式 | | numOfStar | `number` | 5 | 可选,星星个数 | | toolTipContents | `string[]` | ['很不满意', '不满意', '一般', '满意', '非常满意'] | 默认满意度文案 | -| enableSatisfaction | `boolean` | false | 是否显示满意度信息 | -| value | `number` | 0 | 绑定值 | +| enableSatisfaction | `boolean` | false | 是否针对5分制显示满意度信息 | ## 事件 diff --git a/packages/ui-vue/docs/components/tags/index.md b/packages/ui-vue/docs/components/tags/index.md index d49dd7ed8d..f750adc4c3 100644 --- a/packages/ui-vue/docs/components/tags/index.md +++ b/packages/ui-vue/docs/components/tags/index.md @@ -98,6 +98,21 @@ Tags 组件用来标记事物的属性和维度,对事物进行分类。 ``` ::: + + +## 类型 +```typescript +interface TagDataObkect { + name: string; + checked?: boolean; + closable?: boolean; + color?: string; + selectable?: boolean; + size?: string; + tagType?: string; + value?: string; +} +``` ## 属性 | 属性名 | 类型 | 默认值 | 说明 | @@ -106,15 +121,15 @@ Tags 组件用来标记事物的属性和维度,对事物进行分类。 | addButtonText | `string` | -- | 添加标签的文本 | | customClass | `string` | -- | 为标签添加自定义的样式名 | | customStyle | `string` | | 为标签添加自定义的样式定义 | -| data | `Array` | -- | 标签的数组 | -| enableAddButton | `boolean` | false不启用添加标签按钮 | 是否启用添加标签按钮 | +| data | `TagDataObkect[]` | [] | 标签的数组 | +| enableAddButton | `boolean` | false | 是否启用添加标签按钮 | | selectable | `boolean` | false | 标签是否可选中 | | showAddButton | `boolean` | false | 是否显示添加标签按钮 | -| showClose | `boolean` | true显示关闭按钮 | 标签是否显示关闭按钮 | -| showColor | `boolean` | -- | 是否使用自定义的颜色 | -| tagType | `string` | -- | 标签支持的颜色类型 | -| tagStyle | `'default' | 'capsule'` | default,默认展示方式 | 指定标签是按默认方式还是胶囊方式展示| -| wrapText | `boolean` | false 不折行 | 标签文字是否自动折行 | +| showClose | `boolean` | true | 标签是否显示关闭按钮 | +| showColor | `boolean` | false | 是否使用自定义的颜色 | +| tagType | `success \| warning \| info \| error` | -- | 标签支持的颜色类型 | +| tagStyle | `'default \| capsule'` | default | 指定标签是按默认方式还是胶囊方式展示| +| wrapText | `boolean` | false | 标签文字是否自动折行 | | disable | `boolean` |false | 组件整体的启用禁用状态,默认是启用 | -- Gitee From 0b2bce6826ff62dd2edee48e6c5b94491103903d Mon Sep 17 00:00:00 2001 From: XimenaFan Date: Mon, 19 May 2025 07:15:50 +0000 Subject: [PATCH 07/45] =?UTF-8?q?!1617=20fix:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E9=97=AE=E9=A2=98=20*=20fix:=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=A3=80=E6=9F=A5=E9=97=AE=E9=A2=98=20*=20fix:=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=91=BD=E4=BB=A4=E8=B5=8B=E5=80=BC=E5=90=8E?= =?UTF-8?q?=E5=BD=B1=E5=93=8D=E5=86=85=E7=BD=AE=E5=91=BD=E4=BB=A4=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B=20*=20fix:=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8B=E6=8B=89=E6=8C=89=E9=92=AE=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E5=88=9D=E5=A7=8B=E7=8A=B6=E6=80=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/designer/response-toolbar.design.component.tsx | 3 ++- packages/ui-vue/components/tabs/src/composition/types.ts | 1 + .../ui-vue/components/tabs/src/designer/tabs-use-design.ts | 6 +++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/ui-vue/components/response-toolbar/src/designer/response-toolbar.design.component.tsx b/packages/ui-vue/components/response-toolbar/src/designer/response-toolbar.design.component.tsx index c9ca2c3235..83dd69968d 100644 --- a/packages/ui-vue/components/response-toolbar/src/designer/response-toolbar.design.component.tsx +++ b/packages/ui-vue/components/response-toolbar/src/designer/response-toolbar.design.component.tsx @@ -39,7 +39,8 @@ export default defineComponent({ }, renderDropdownMenu: (item, parent?) => { }, toolbarContext: designItemContext, - changeMenuPosition: (item, buttonElement: Element | null, parent?) => { return {}; } + changeMenuPosition: (item, buttonElement: Element | null, parent?) => { return {}; }, + toolbarPosition:'' }; const designerRulesComposition = useDesignerRules(designItemContext, designerHostService, actionHandlers); const componentInstance = useDesignerComponent(elementRef, designItemContext, designerRulesComposition); diff --git a/packages/ui-vue/components/tabs/src/composition/types.ts b/packages/ui-vue/components/tabs/src/composition/types.ts index 7f0b0cc2f5..34bed3365f 100644 --- a/packages/ui-vue/components/tabs/src/composition/types.ts +++ b/packages/ui-vue/components/tabs/src/composition/types.ts @@ -103,6 +103,7 @@ export interface UseDesignTabs { emitSelectionChange: (tabId: string, componentInstance: DesignerComponentInstance) => void; resetPositionForSelectedElement: (selectElement) => void; setTabsRef: (parentRef) => void; + setScrollToSelectedTabFunction: (scrollFunction: any) => void; } export interface UseNav { 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 8dd3b74ea1..7e81cd9571 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 @@ -451,6 +451,9 @@ export function useDesignTabs( } }); + } + function setScrollToSelectedTabFunction(scrollFunction) { + } return { @@ -475,6 +478,7 @@ export function useDesignTabs( hasInHeadClass, emitSelectionChange, resetPositionForSelectedElement, - setTabsRef + setTabsRef, + setScrollToSelectedTabFunction }; } -- Gitee From 787fd5c1d33d94d1bc0ff3353acbb8f8898681e9 Mon Sep 17 00:00:00 2001 From: wang-xh Date: Mon, 19 May 2025 07:17:29 +0000 Subject: [PATCH 08/45] =?UTF-8?q?!1618=20=E4=BF=AE=E5=A4=8D=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E5=99=A8=E6=9F=A5=E8=AF=A2=E4=B8=AD=EF=BC=8C=E5=BE=AA?= =?UTF-8?q?=E7=8E=AF=E8=B0=83=E7=94=A8=E6=8E=A5=E5=8F=A3=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20*=20fix:=20=E4=BF=AE=E5=A4=8D=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E5=99=A8=E8=B6=85=E8=BF=871000=E6=97=B6=EF=BC=8C=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=8D=A1=E6=AD=BB=E7=9A=84=E9=97=AE=E9=A2=98=20*=20fi?= =?UTF-8?q?x:=20=E7=AE=A1=E7=90=86=E5=88=97=E8=A1=A8=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E6=8B=96=E6=8B=BD=E6=A0=87=E7=AD=BE=E9=A1=B5=E5=B9=B6=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=A0=87=E7=AD=BE=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/src/components/composition/metadata.service.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/designer/src/components/composition/metadata.service.ts b/packages/designer/src/components/composition/metadata.service.ts index c87dcd0c2a..5ece93469a 100644 --- a/packages/designer/src/components/composition/metadata.service.ts +++ b/packages/designer/src/components/composition/metadata.service.ts @@ -94,12 +94,12 @@ export class MetadataService { * @returns */ public getAllMetadataList(relativePath: string, metaddataType: string, pageSize = 1000) { - const url = this.metadataServicePath + '/unionmdlist?pageIndex=1&pageSize=1000' + + const url = `${this.metadataServicePath}/unionmdlist?pageIndex=1&pageSize=${pageSize}` + '&path=' + relativePath + '&metadataTypeList=' + metaddataType; return axios.get(url).then((res: any) => { const totalNum = res.data['page']['total'] || 0; - if (totalNum > 1000) { + if (pageSize !== totalNum && totalNum > 1000) { return this.getAllMetadataList(relativePath, metaddataType, totalNum); } return res; @@ -133,7 +133,7 @@ export class MetadataService { }); } // 初始化元数据实体 - public initializeMetadataEntity(metadataDto:any) { + public initializeMetadataEntity(metadataDto: any) { let name_chs = metadataDto.name; let name_en = ""; let name_cht = ""; -- Gitee From 66123e9f7cde9e8c0b55e676472924c3777aae0e Mon Sep 17 00:00:00 2001 From: wangjinzhe77 <464984407@qq.com> Date: Mon, 19 May 2025 10:01:29 +0000 Subject: [PATCH 09/45] =?UTF-8?q?!1620=20querysolution=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9A=B4=E9=9C=B2=E5=B1=9E=E6=80=A7=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=AD=9B=E9=80=89=E6=9D=A1=E4=BB=B6=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=20*=20feature:=20querysolution=E7=BB=84=E4=BB=B6=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=9A=B4=E9=9C=B2=E5=B1=9E=E6=80=A7=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E6=9D=A1=E4=BB=B6=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../query-solution/src/query-solution.component.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/ui-vue/components/query-solution/src/query-solution.component.tsx b/packages/ui-vue/components/query-solution/src/query-solution.component.tsx index 2fe7ab0db3..cec15d26fb 100644 --- a/packages/ui-vue/components/query-solution/src/query-solution.component.tsx +++ b/packages/ui-vue/components/query-solution/src/query-solution.component.tsx @@ -121,6 +121,14 @@ export default defineComponent({ >; } + function getConditions() { + return currentSolution.value?.conditions || []; + } + + context.expose({ + getConditions + }); + return () => (
{renderHeader()} -- Gitee From 6a5409170a8c973dd6ec1cd8c75e889f78151af1 Mon Sep 17 00:00:00 2001 From: aalizzwell Date: Tue, 20 May 2025 06:20:45 +0000 Subject: [PATCH 10/45] =?UTF-8?q?!1622=20=E4=BF=AE=E5=A4=8D=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E7=A6=81=E7=94=A8=E8=A1=A8=E8=BE=BE=E5=BC=8F=E6=97=A0?= =?UTF-8?q?=E6=95=88=E9=97=AE=E9=A2=98=20*=20fix:=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=A1=A8=E8=BE=BE=E5=BC=8F=E9=85=8D=E7=BD=AE=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E9=A1=B5=E9=9D=A2=E6=97=A0=E6=B3=95=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E6=95=B0=E6=8D=AE=E9=87=8D=E6=96=B0=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E5=90=8E=E5=BD=93=E5=89=8D=E8=A1=8C=E5=8F=98=E4=B8=BA?= =?UTF-8?q?=E7=AC=AC=E4=B8=80=E8=A1=8C=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=A1=A8=E6=A0=BC=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E5=8F=98=E4=B8=BA=E7=A9=BA=E5=90=8E=E4=BE=9D=E7=84=B6=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E6=95=B0=E6=8D=AE=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B?= =?UTF-8?q?=20*=20fix:=20=E4=BF=AE=E5=A4=8D=E6=8C=89=E9=92=AE=E7=A6=81?= =?UTF-8?q?=E7=94=A8=E8=A1=A8=E8=BE=BE=E5=BC=8F=E6=97=A0=E6=95=88=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../change-handler/abstract-change-handler.ts | 2 +- .../entity-store-current-change-handler.ts | 7 +- ...entity-store-load-entity-change-handler.ts | 2 +- .../lib/expression/expression-engine-proxy.ts | 12 +- packages/devkit/lib/expression/types.ts | 2 +- .../lib/compositions/use-data-grid-binding.ts | 9 +- .../src/dynamic-view.component.tsx | 8 +- .../composition/editors/use-json-editor.ts | 2 +- pnpm-lock.yaml | 1032 +++++++++++++---- 9 files changed, 851 insertions(+), 225 deletions(-) diff --git a/packages/devkit/lib/change-handler/abstract-change-handler.ts b/packages/devkit/lib/change-handler/abstract-change-handler.ts index ccab960566..f0cf88a460 100644 --- a/packages/devkit/lib/change-handler/abstract-change-handler.ts +++ b/packages/devkit/lib/change-handler/abstract-change-handler.ts @@ -61,7 +61,7 @@ export abstract class AbstractChangeHandler implements ChangeHandler { return expressionObject && expressionObject.type === ExpressionType.Visible && expressionObject.bindingType === ExpressionBindingType.Button; } private isButtonDisabledExpression(expressionObject: ExpressionObject): boolean { - return expressionObject && expressionObject.type === ExpressionType.Disable && expressionObject.bindingType === ExpressionBindingType.Button; + return expressionObject && expressionObject.type === ExpressionType.Disabled && expressionObject.bindingType === ExpressionBindingType.Button; } private isContainerVisibleExpression(expressionObject: ExpressionObject): boolean { return expressionObject && expressionObject.type === ExpressionType.Visible && expressionObject.bindingType === ExpressionBindingType.Container; diff --git a/packages/devkit/lib/change-handler/entity-store-current-change-handler.ts b/packages/devkit/lib/change-handler/entity-store-current-change-handler.ts index 8a4cc80017..b2f3c26559 100644 --- a/packages/devkit/lib/change-handler/entity-store-current-change-handler.ts +++ b/packages/devkit/lib/change-handler/entity-store-current-change-handler.ts @@ -105,7 +105,12 @@ export class EntityStoreCurrentChangeHandler extends AbstractChangeHandler { const { entityPaths: changePaths } = this.resolveChangePath(change); const index = expressionObject.deps?.findIndex((dependency: string) => { const dependencyPaths = dependency.split('/').slice(1); - return isEqual(dependencyPaths, changePaths); + const resolvedDependencyPaths = this.resolvePath(dependencyPaths); + if(!resolvedDependencyPaths){ + return false; + } + const { entityPaths: dependencyEntityPaths } = resolvedDependencyPaths; + return isEqual(dependencyEntityPaths, changePaths); }); return index !== -1; } diff --git a/packages/devkit/lib/change-handler/entity-store-load-entity-change-handler.ts b/packages/devkit/lib/change-handler/entity-store-load-entity-change-handler.ts index 399f944dcd..47fc4db47d 100644 --- a/packages/devkit/lib/change-handler/entity-store-load-entity-change-handler.ts +++ b/packages/devkit/lib/change-handler/entity-store-load-entity-change-handler.ts @@ -61,7 +61,7 @@ export class EntityStoreLoadEntityChangeHandler extends AbstractChangeHandler { } return expressionObjects.filter((expressionObject: ExpressionObject) => { // 重新加载实体时不计算计算、校验表达式,只处理只读、必填、可见表达式 - if (expressionObject.ns !== change.ns || (expressionObject.type !== ExpressionType.Readonly && expressionObject.type !== ExpressionType.Visible && expressionObject.type !== ExpressionType.Required)) { + if (expressionObject.ns !== change.ns || (expressionObject.type !== ExpressionType.Readonly && expressionObject.type !== ExpressionType.Visible && expressionObject.type !== ExpressionType.Required && expressionObject.type !== ExpressionType.Disabled)) { return false; } // 计算事件表路径 diff --git a/packages/devkit/lib/expression/expression-engine-proxy.ts b/packages/devkit/lib/expression/expression-engine-proxy.ts index 0ce721841e..1700890d23 100644 --- a/packages/devkit/lib/expression/expression-engine-proxy.ts +++ b/packages/devkit/lib/expression/expression-engine-proxy.ts @@ -56,9 +56,13 @@ export class ExpressionEngineProxy { private evaluateExpression(expressionObject: ExpressionObject) { const expressionContextBuilder = new ExpressionContextBuilder(); const expressionContext = expressionContextBuilder.buildContext(this.viewModel); - const result = this.expressionExccutor.compile(expressionObject, expressionContext); - const convertedResult = this.convertBooleanTypeExpressionResult(expressionObject, result); - this.expressionResult.set(expressionObject.id, convertedResult); + try { + const result = this.expressionExccutor.compile(expressionObject, expressionContext); + const convertedResult = this.convertBooleanTypeExpressionResult(expressionObject, result); + this.expressionResult.set(expressionObject.id, convertedResult); + } catch (error) { + console.error(error); + } } protected convertBooleanTypeExpressionResult(expressionObject: ExpressionObject, result: any) { if (this.isBooleanTypeExpression(expressionObject)) { @@ -90,7 +94,7 @@ export class ExpressionEngineProxy { return expressionObject && expressionObject.type === ExpressionType.Visible && expressionObject.bindingType === ExpressionBindingType.Button; } private isButtonDisabledExpression(expressionObject: ExpressionObject): boolean { - return expressionObject && expressionObject.type === ExpressionType.Disable && expressionObject.bindingType === ExpressionBindingType.Button; + return expressionObject && expressionObject.type === ExpressionType.Disabled && expressionObject.bindingType === ExpressionBindingType.Button; } private isContainerVisibleExpression(expressionObject: ExpressionObject): boolean { return expressionObject && expressionObject.type === ExpressionType.Visible && expressionObject.bindingType === ExpressionBindingType.Container; diff --git a/packages/devkit/lib/expression/types.ts b/packages/devkit/lib/expression/types.ts index 778c71bde3..5437883e3f 100644 --- a/packages/devkit/lib/expression/types.ts +++ b/packages/devkit/lib/expression/types.ts @@ -47,7 +47,7 @@ export enum ExpressionType { /** * 禁用 */ - Disable = 'disable', + Disabled = 'disabled', } export enum ExpressionMessageType { error = 'error', diff --git a/packages/ui-binding/lib/compositions/use-data-grid-binding.ts b/packages/ui-binding/lib/compositions/use-data-grid-binding.ts index 9864df5a49..c7ed4dfe64 100644 --- a/packages/ui-binding/lib/compositions/use-data-grid-binding.ts +++ b/packages/ui-binding/lib/compositions/use-data-grid-binding.ts @@ -140,8 +140,15 @@ export function useDataGridBinding(elementRef: ElementRef, options: BindingOptio }, patch); row.updateCell(patch, propertyName); } else if (change.type === EntityChangeType.Update) { + const componentCurrentId = componentRef.value.getCurrentRowId(); + const entityList = viewModel.entityStore?.getEntityListByPath(options.entityPath); + const componentCurrentEntity = entityList?.getEntityById(componentCurrentId); + const currentEntity = viewModel.entityStore?.getEntityListByPath(options.entityPath).getCurrentEntity(); + const entity = componentCurrentEntity || currentEntity; componentRef.value.updateDataSource(datas); - const entity = viewModel.entityStore?.getEntityListByPath(options.entityPath).getCurrentEntity(); + if (componentCurrentEntity?.idValue !== currentEntity?.idValue) { + viewModel.entityStore?.changeCurrentEntityByPath(options.entityPath, entity?.idValue); + } selectItemById(entity?.idValue); updateIdsState(entity?.idValue); const index = getEntityIndexById(entities, entity?.idValue); diff --git a/packages/ui-vue/components/dynamic-view/src/dynamic-view.component.tsx b/packages/ui-vue/components/dynamic-view/src/dynamic-view.component.tsx index d8cbcf4dc8..f654b4c412 100644 --- a/packages/ui-vue/components/dynamic-view/src/dynamic-view.component.tsx +++ b/packages/ui-vue/components/dynamic-view/src/dynamic-view.component.tsx @@ -291,7 +291,6 @@ const FDynamicView = defineComponent({ } else { merge(currentState?.props, props); } - // state.set(viewSchema.id, reactive({ props: { ...currentProps, ...props } })); } if (!viewSchema.contents || !Array.isArray(viewSchema.contents)) { @@ -325,7 +324,12 @@ const FDynamicView = defineComponent({ if (!currentState) { state.set(viewSchema.id, reactive({ props: modelProps })); } else { - merge(currentState?.props, modelProps); + mergeWith(currentState?.props, modelProps, (objValue, srcValue) => { + if (Array.isArray(srcValue)) { + return srcValue; + } + return undefined; + }); } // state.set(viewSchema.id, reactive({ props: { ...currentProps, ...modelProps } })); } diff --git a/packages/ui-vue/components/event-parameter/src/composition/editors/use-json-editor.ts b/packages/ui-vue/components/event-parameter/src/composition/editors/use-json-editor.ts index 2d5ed688d8..284237996f 100644 --- a/packages/ui-vue/components/event-parameter/src/composition/editors/use-json-editor.ts +++ b/packages/ui-vue/components/event-parameter/src/composition/editors/use-json-editor.ts @@ -14,7 +14,7 @@ export default function ( try { const paramDescriptors = JSON.parse(schemaValue); if (Array.isArray(paramDescriptors)) { - return paramDescriptors; + return paramDescriptors.filter((item) => item.id !== 'sync'); } return []; } catch (error) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d0050322c..5e6fbd3e48 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -293,7 +293,7 @@ importers: version: 5.1.0(vue@3.5.12(typescript@5.6.3)) vitepress: specifier: ^1.0.0-alpha.8 - version: 1.0.0-alpha.10(@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@5.6.3) + version: 1.0.0-alpha.10(@types/node@18.19.57)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(sass@1.80.3)(terser@5.36.0)(typescript@5.6.3) 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@5.6.3) @@ -408,7 +408,7 @@ importers: version: 9.3.7 jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + version: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -480,10 +480,10 @@ importers: version: 9.0.7 '@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)) commander: specifier: ^9.4.0 version: 9.5.0 @@ -504,13 +504,13 @@ importers: version: 4.9.5 vite: specifier: ^4.4.1 - 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-css-injected-by-js: specifier: ^3.5.2 - version: 3.5.2(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0)) + version: 3.5.2(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0)) vite-plugin-dts: specifier: ^3.9.1 - version: 3.9.1(@types/node@18.19.57)(rollup@4.24.0)(typescript@4.9.5)(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0)) + version: 3.9.1(@types/node@20.5.1)(rollup@4.24.0)(typescript@4.9.5)(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0)) devDependencies: rimraf: specifier: ^5.0.7 @@ -599,10 +599,10 @@ importers: version: 7.18.0(eslint@9.19.0(jiti@1.21.6))(typescript@5.6.3) '@vitejs/plugin-vue': specifier: ^4.2.3 - version: 4.6.2(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)) + version: 4.6.2(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) '@vitejs/plugin-vue-jsx': specifier: ^3.0.1 - version: 3.1.0(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)) + version: 3.1.0(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) '@vue/babel-plugin-jsx': specifier: ^1.1.1 version: 1.2.5(@babel/core@7.25.8) @@ -638,7 +638,7 @@ importers: version: 9.3.7 jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) ora: specifier: ^6.1.2 version: 6.3.1 @@ -659,28 +659,28 @@ importers: version: 5.6.3 vite: specifier: ^5.3.3 - version: 5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) + version: 5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) vite-plugin-banner: specifier: ^0.8.0 version: 0.8.0 vite-plugin-dts: specifier: 3.9.1 - version: 3.9.1(@types/node@18.19.57)(rollup@4.24.0)(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)) + version: 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)) vite-plugin-md: specifier: ^0.21.5 - version: 0.21.5(@vitejs/plugin-vue@4.6.2(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@8.9.0)(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)) + version: 0.21.5(@vitejs/plugin-vue@4.6.2(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)))(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)) vite-svg-loader: specifier: ^5.1.0 version: 5.1.0(vue@3.5.12(typescript@5.6.3)) vitepress: specifier: ^1.0.0-alpha.8 - version: 1.0.0-alpha.10(@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@5.6.3) + version: 1.0.0-alpha.10(@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@5.6.3) 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@5.6.3) vitest: specifier: ^1.4.0 - version: 1.6.0(@types/node@18.19.57)(happy-dom@8.9.0)(jsdom@20.0.3)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) + version: 1.6.0(@types/node@20.5.1)(happy-dom@8.9.0)(jsdom@20.0.3)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) vue-tsc: specifier: ^2.0.0 version: 2.1.6(typescript@5.6.3) @@ -738,7 +738,7 @@ importers: version: 0.4.4(rollup@4.24.0) '@vitejs/plugin-vue': specifier: ^5.1.2 - version: 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)) + version: 5.1.4(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) core-js: specifier: ^3.38.1 version: 3.39.0 @@ -762,10 +762,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.1 - version: 5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) + version: 5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(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@5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)) + version: 2.3.0(@types/node@20.5.1)(rollup@4.24.0)(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)) vue-tsc: specifier: ^2.0.29 version: 2.1.6(typescript@5.6.3) @@ -805,7 +805,7 @@ importers: version: 7.25.7 '@commitlint/cli': specifier: ^19.3.0 - version: 19.5.0(@types/node@18.19.57)(typescript@4.9.5) + version: 19.5.0(@types/node@20.5.1)(typescript@4.9.5) '@commitlint/config-conventional': specifier: ^19.2.0 version: 19.5.0 @@ -835,10 +835,10 @@ importers: version: 7.18.0(eslint@9.19.0(jiti@1.21.6))(typescript@4.9.5) '@vitejs/plugin-vue': specifier: ^4.2.3 - 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.1 - 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) @@ -874,7 +874,7 @@ importers: version: 9.3.7 jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)) + version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)) ora: specifier: ^6.1.2 version: 6.3.1 @@ -892,19 +892,19 @@ importers: version: 4.9.5 vite: specifier: ^4.4.1 - 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(@vitejs/plugin-vue@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)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@20.5.1)(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) @@ -992,10 +992,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) @@ -1034,7 +1034,7 @@ importers: version: 9.3.7 jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -1070,19 +1070,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(@vitejs/plugin-vue@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)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@20.5.1)(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) @@ -1121,17 +1121,17 @@ importers: version: 9.29.1(eslint@9.19.0(jiti@1.21.6)) vite-plugin-dts: specifier: ^2.1.0 - version: 2.3.0(@types/node@18.19.57)(rollup@4.24.0)(vite@3.2.11(@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@3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0)) vue: specifier: ^3.2.37 version: 3.5.12(typescript@4.9.5) devDependencies: '@vitejs/plugin-vue': specifier: ^3.1.0 - version: 3.2.0(vite@3.2.11(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)) + version: 3.2.0(vite@3.2.11(@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: ^2.0.1 - version: 2.1.1(vite@3.2.11(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)) + version: 2.1.1(vite@3.2.11(@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) @@ -1143,7 +1143,7 @@ importers: version: 4.9.5 vite: specifier: ^3.1.0 - version: 3.2.11(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0) + version: 3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0) vue-tsc: specifier: ^0.40.4 version: 0.40.13(typescript@4.9.5) @@ -1213,7 +1213,7 @@ importers: version: 7.25.7 '@commitlint/cli': specifier: ^19.3.0 - version: 19.5.0(@types/node@18.19.57)(typescript@4.9.5) + version: 19.5.0(@types/node@20.5.1)(typescript@4.9.5) '@commitlint/config-conventional': specifier: ^19.2.0 version: 19.5.0 @@ -1243,10 +1243,10 @@ importers: version: 7.18.0(eslint@9.19.0(jiti@1.21.6))(typescript@4.9.5) '@vitejs/plugin-vue': specifier: ^4.2.3 - 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.1 - 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) @@ -1282,7 +1282,7 @@ importers: version: 9.3.7 jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5)) + version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)) ora: specifier: ^6.1.2 version: 6.3.1 @@ -1300,19 +1300,19 @@ importers: version: 4.9.5 vite: specifier: ^4.4.1 - 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(@vitejs/plugin-vue@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)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@20.5.1)(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) @@ -1446,10 +1446,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) @@ -1488,7 +1488,7 @@ importers: version: 9.3.7 jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -1521,19 +1521,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(@vitejs/plugin-vue@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)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@20.5.1)(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) @@ -1606,10 +1606,10 @@ importers: version: 7.18.0(eslint@8.57.1)(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) @@ -1660,7 +1660,7 @@ importers: version: 9.3.7 jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)) ora: specifier: ^6.1.2 version: 6.3.1 @@ -1678,22 +1678,22 @@ 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-banner: specifier: ^0.8.0 version: 0.8.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(@vitejs/plugin-vue@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)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@20.5.1)(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) @@ -1766,7 +1766,7 @@ importers: version: 2.2.2 jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)) patch-vue-directive-ssr: specifier: ^0.0.1 version: 0.0.1 @@ -1778,7 +1778,7 @@ importers: version: 4.9.5 vitepress: specifier: 1.0.0-alpha.10 - version: 1.0.0-alpha.10(@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.10(@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) @@ -1791,6 +1791,9 @@ importers: packages/renderer: dependencies: + '@edp-bif/runtime-api-vue': + specifier: 0.0.1 + version: 0.0.1(@algolia/client-search@4.24.0)(@types/node@20.5.1)(monaco-editor@0.52.2)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(rollup@4.24.0)(search-insights@2.17.2)(typescript@4.9.5)(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0)) '@farris/bef-vue': specifier: workspace:^ version: link:../bef @@ -1809,6 +1812,9 @@ importers: '@farris/ui-vue': specifier: workspace:^ version: link:../ui-vue + '@gsp-wf/wf-task-handler-vue': + specifier: 0.0.1 + version: 0.0.1(@algolia/client-search@4.24.0)(@types/node@20.5.1)(monaco-editor@0.52.2)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(rollup@4.24.0)(search-insights@2.17.2)(typescript@4.9.5)(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0)) '@types/lodash-es': specifier: ^4.17.4 version: 4.17.12 @@ -1881,10 +1887,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) @@ -1920,7 +1926,7 @@ importers: version: 9.3.7 jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)) ora: specifier: ^6.1.2 version: 6.3.1 @@ -1938,22 +1944,22 @@ 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-banner: specifier: ^0.8.0 version: 0.8.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(@vitejs/plugin-vue@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)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@20.5.1)(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) @@ -2014,7 +2020,7 @@ importers: version: 0.4.4(rollup@4.24.0) '@vitejs/plugin-vue': specifier: ^5.1.2 - version: 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)) + version: 5.1.4(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) core-js: specifier: ^3.38.1 version: 3.39.0 @@ -2038,10 +2044,10 @@ importers: version: 5.6.3 vite: specifier: ^5.4.1 - version: 5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) + version: 5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(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@5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)) + version: 2.3.0(@types/node@20.5.1)(rollup@4.24.0)(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)) vue-tsc: specifier: ^2.0.29 version: 2.1.6(typescript@5.6.3) @@ -2089,7 +2095,7 @@ importers: version: 7.8.1 vite-plugin-dts: specifier: ^2.1.0 - version: 2.3.0(@types/node@18.19.57)(rollup@4.24.0)(vite@5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)) + version: 2.3.0(@types/node@20.5.1)(rollup@4.24.0)(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)) vue: specifier: ^3.2.37 version: 3.5.12(typescript@5.6.3) @@ -2138,10 +2144,10 @@ importers: version: 7.18.0(eslint@9.19.0(jiti@1.21.6))(typescript@5.6.3) '@vitejs/plugin-vue': specifier: ^4.2.3 - version: 4.6.2(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)) + version: 4.6.2(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) '@vitejs/plugin-vue-jsx': specifier: ^3.0.1 - version: 3.1.0(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)) + version: 3.1.0(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) '@vue/babel-plugin-jsx': specifier: ^1.1.1 version: 1.2.5(@babel/core@7.25.8) @@ -2177,7 +2183,7 @@ importers: version: 9.3.7 jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + version: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) ora: specifier: ^6.1.2 version: 6.3.1 @@ -2195,25 +2201,25 @@ importers: version: 5.6.3 vite: specifier: ^5.3.3 - version: 5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) + version: 5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) vite-plugin-banner: specifier: ^0.8.0 version: 0.8.0 vite-plugin-md: specifier: ^0.21.5 - version: 0.21.5(@vitejs/plugin-vue@4.6.2(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@8.9.0)(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)) + version: 0.21.5(@vitejs/plugin-vue@4.6.2(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)))(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)) vite-svg-loader: specifier: ^5.1.0 version: 5.1.0(vue@3.5.12(typescript@5.6.3)) vitepress: specifier: ^1.0.0-alpha.8 - version: 1.0.0-alpha.10(@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@5.6.3) + version: 1.0.0-alpha.10(@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@5.6.3) 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@5.6.3) vitest: specifier: ^1.4.0 - version: 1.6.0(@types/node@18.19.57)(happy-dom@8.9.0)(jsdom@20.0.3)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) + version: 1.6.0(@types/node@20.5.1)(happy-dom@8.9.0)(jsdom@20.0.3)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) vue-tsc: specifier: ^2.0.0 version: 2.1.6(typescript@5.6.3) @@ -3207,6 +3213,20 @@ packages: '@dual-bundle/import-meta-resolve@4.1.0': resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==} + '@edp-aif/common-api@1.1.0': + resolution: {integrity: sha512-22ZBNyqGO9bpTqAE4/GrY7j/lvMdyxYT0nRA2vwQPkBTJzA17E6pgOtP79/RFHesJN6kjT+TpsCBp4i8p2qdmw==} + + '@edp-bif/common-api@1.2.2': + resolution: {integrity: sha512-8T9avgKBCuY1HB8t3WO0YuNTHbYdaBTdW3iR4BJnhvxEW+SlJ0afin/NCK//vXD/TOQjqjNKmHgzr2OX7le0tA==} + peerDependencies: + '@edp-aif/common-api': ^1.1.0 + + '@edp-bif/runtime-api-vue@0.0.1': + resolution: {integrity: sha512-aWAEf1u1QJiAn1GMofB57aA5iKjlW/wEBxDOHGRgqdtSxIP2y2kWM5cpEvlvQtfexOvlILxoXvyZBLsM2cgzmA==} + + '@edp-pmf/mxgraph-ts@0.0.7': + resolution: {integrity: sha512-sdbLGZoz7ksDaSTV8ztDyYggmnvO0H45s+fja6Z8bu7zZaGOlbw8aj3n8QzrHQbytqM9o7W62pX1r3SMrJLVvw==} + '@eggjs/yauzl@2.11.0': resolution: {integrity: sha512-Jq+k2fCZJ3i3HShb0nxLUiAgq5pwo8JTT1TrH22JoehZQ0Nm2dvByGIja1NYfNyuE4Tx5/Dns5nVsBN/mlC8yg==} @@ -3688,12 +3708,30 @@ packages: resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@farris/bef-vue@0.0.2': + resolution: {integrity: sha512-dS9an3YejuhW5nDRE/2yKePIpYKLNHf4iY95XwEACML8zMC8s5H5wYSbxP5IhnMzYsWeNYE2kDOIkzLL+hzm3A==} + + '@farris/bef-vue@0.0.3': + resolution: {integrity: sha512-puEkx3MHR7jPaEt9xYHvxsPLyr4LicR4MQJF+kMobPUt0Fiih5T5bbikHi95W9aC7JTw7FKViQ0DMz5iHf8G7Q==} + + '@farris/command-services-vue@0.0.3': + resolution: {integrity: sha512-ip3Ciw6smSwpNvfJ51uHM00adr/6gyHdGhlmhnYKkZ9Jr8+j1gshdsAPe+Xwc3CebH6JxQjAIzEbDNYwnI3Amw==} + '@farris/designer-dragula@0.0.5': resolution: {integrity: sha512-Y9lUkoXO0EFc5kJXEr5q2BcU6XKeJLJc00cSoeZOFSiup5j+UeFaJz+GSgwGu46ZegGbR8wjZ20OMSNTDEGKFA==} + '@farris/devkit-vue@0.0.4': + resolution: {integrity: sha512-Mi+8qdU7zkUsijniQjQUfTRzIC3gTYqucmeUOpU9oQg2UBdG3bWadcLNG94evmGHli733MXfakOtkKFnJyD/Jg==} + + '@farris/devkit-vue@0.0.5': + resolution: {integrity: sha512-YFBsFNK63FErbqbIinWCJEgXvosySNCExp75tgila3VSDA0S2zRCXjgK8f3T0dStOFYXgGkHRIeW3xwZ64XmGQ==} + '@farris/mobile-ui-vue@0.0.1-beta.3': resolution: {integrity: sha512-499FnKEf5OwEX+5w++AEi7KqpCASNJ0aVoLO6TOW82Rin9UKh8u36+4GdDwLjQiqW/qjoYXFItP21dZXcA/kCA==} + '@farris/ui-vue@1.5.3': + resolution: {integrity: sha512-36IAUj2KLd4kLtzMYRZFx/qWTeXueefMfhf+pmMWIt/I8Ni1X+X1T6EkqaBUYA3S5ltnWf4gHG/Z2YePfgHKWg==} + '@floating-ui/core@1.6.9': resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==} @@ -3709,6 +3747,9 @@ packages: '@francoischalifour/autocomplete-preset-algolia@1.0.0-alpha.28': resolution: {integrity: sha512-bprfNmYt1opFUFEtD2XfY/kEsm13bzHQgU80uMjhuK0DJ914IjolT1GytpkdM6tJ4MBvyiJPP+bTtWO+BZ7c7w==} + '@gsp-wf/wf-task-handler-vue@0.0.1': + resolution: {integrity: sha512-1zFiP9WpmCspZ3atmGxhDSHvETmmcdTTLgCkDnertw/OaQGojJMAKsyUct4a0toVjaTtsfmcWRsQ+PCL8dyRCg==} + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -7213,7 +7254,7 @@ packages: resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} engines: {node: '>= 4.0'} os: [darwin] - deprecated: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2 + deprecated: Upgrade to fsevents v2 to mitigate potential security issues fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} @@ -8934,6 +8975,10 @@ packages: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + mxgraph@4.2.2: + resolution: {integrity: sha512-FrJc5AxzXSqiQNF+8CyJk6VxuKO4UVPgw32FZuFZ3X9W+JqOAQBTokZhh0ZkEqGpEOyp3z778ssmBTvdrTAdqw==} + deprecated: Package no longer supported. Use at your own risk + nan@2.22.0: resolution: {integrity: sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==} @@ -12734,11 +12779,11 @@ snapshots: - '@swc/core' - '@swc/wasm' - '@commitlint/cli@19.5.0(@types/node@18.19.57)(typescript@4.9.5)': + '@commitlint/cli@19.5.0(@types/node@18.19.57)(typescript@5.6.3)': dependencies: '@commitlint/format': 19.5.0 '@commitlint/lint': 19.5.0 - '@commitlint/load': 19.5.0(@types/node@18.19.57)(typescript@4.9.5) + '@commitlint/load': 19.5.0(@types/node@18.19.57)(typescript@5.6.3) '@commitlint/read': 19.5.0 '@commitlint/types': 19.5.0 tinyexec: 0.3.1 @@ -12747,11 +12792,11 @@ snapshots: - '@types/node' - typescript - '@commitlint/cli@19.5.0(@types/node@18.19.57)(typescript@5.6.3)': + '@commitlint/cli@19.5.0(@types/node@20.5.1)(typescript@4.9.5)': dependencies: '@commitlint/format': 19.5.0 '@commitlint/lint': 19.5.0 - '@commitlint/load': 19.5.0(@types/node@18.19.57)(typescript@5.6.3) + '@commitlint/load': 19.5.0(@types/node@20.5.1)(typescript@4.9.5) '@commitlint/read': 19.5.0 '@commitlint/types': 19.5.0 tinyexec: 0.3.1 @@ -12843,27 +12888,27 @@ snapshots: '@commitlint/types': 17.8.1 '@types/node': 20.5.1 chalk: 4.1.2 - cosmiconfig: 8.3.6(typescript@4.9.5) + cosmiconfig: 8.3.6(typescript@5.6.3) cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.6.3))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3))(typescript@5.6.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 resolve-from: 5.0.0 - ts-node: 10.9.2(@types/node@18.19.57)(typescript@4.9.5) + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.6.3) typescript: 5.6.3 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - '@commitlint/load@19.5.0(@types/node@18.19.57)(typescript@4.9.5)': + '@commitlint/load@19.5.0(@types/node@18.19.57)(typescript@5.6.3)': dependencies: '@commitlint/config-validator': 19.5.0 '@commitlint/execute-rule': 19.5.0 '@commitlint/resolve-extends': 19.5.0 '@commitlint/types': 19.5.0 chalk: 5.3.0 - cosmiconfig: 9.0.0(typescript@4.9.5) - cosmiconfig-typescript-loader: 5.1.0(@types/node@18.19.57)(cosmiconfig@9.0.0(typescript@4.9.5))(typescript@4.9.5) + cosmiconfig: 9.0.0(typescript@5.6.3) + cosmiconfig-typescript-loader: 5.1.0(@types/node@18.19.57)(cosmiconfig@9.0.0(typescript@5.6.3))(typescript@5.6.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -12871,15 +12916,15 @@ snapshots: - '@types/node' - typescript - '@commitlint/load@19.5.0(@types/node@18.19.57)(typescript@5.6.3)': + '@commitlint/load@19.5.0(@types/node@20.5.1)(typescript@4.9.5)': dependencies: '@commitlint/config-validator': 19.5.0 '@commitlint/execute-rule': 19.5.0 '@commitlint/resolve-extends': 19.5.0 '@commitlint/types': 19.5.0 chalk: 5.3.0 - cosmiconfig: 9.0.0(typescript@5.6.3) - cosmiconfig-typescript-loader: 5.1.0(@types/node@18.19.57)(cosmiconfig@9.0.0(typescript@5.6.3))(typescript@5.6.3) + cosmiconfig: 9.0.0(typescript@4.9.5) + cosmiconfig-typescript-loader: 5.1.0(@types/node@20.5.1)(cosmiconfig@9.0.0(typescript@4.9.5))(typescript@4.9.5) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -13073,6 +13118,54 @@ snapshots: '@dual-bundle/import-meta-resolve@4.1.0': {} + '@edp-aif/common-api@1.1.0': + dependencies: + tslib: 1.14.1 + + '@edp-bif/common-api@1.2.2(@edp-aif/common-api@1.1.0)': + dependencies: + '@edp-aif/common-api': 1.1.0 + tslib: 1.14.1 + + '@edp-bif/runtime-api-vue@0.0.1(@algolia/client-search@4.24.0)(@types/node@20.5.1)(monaco-editor@0.52.2)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(rollup@4.24.0)(search-insights@2.17.2)(typescript@4.9.5)(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0))': + dependencies: + '@edp-aif/common-api': 1.1.0 + '@edp-bif/common-api': 1.2.2(@edp-aif/common-api@1.1.0) + '@edp-pmf/mxgraph-ts': 0.0.7 + '@farris/bef-vue': 0.0.3 + '@farris/command-services-vue': 0.0.3(typescript@4.9.5) + '@farris/devkit-vue': 0.0.5(typescript@4.9.5) + '@farris/ui-vue': 1.5.3(@algolia/client-search@4.24.0)(@types/node@20.5.1)(monaco-editor@0.52.2)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(rollup@4.24.0)(search-insights@2.17.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)) + '@vue/shared': 3.5.12 + '@vueuse/core': 9.2.0(vue@3.5.12(typescript@4.9.5)) + async-validator: 4.2.5 + bignumber.js: 9.1.2 + lodash: 4.17.21 + lodash-es: 4.17.21 + moment: 2.30.1 + mxgraph: 4.2.2 + rxjs: 7.8.1 + vue: 3.5.12(typescript@4.9.5) + vue-router: 4.4.5(vue@3.5.12(typescript@4.9.5)) + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - debug + - monaco-editor + - react + - react-dom + - rollup + - search-insights + - supports-color + - typescript + - vite + + '@edp-pmf/mxgraph-ts@0.0.7': + dependencies: + mxgraph: 4.2.2 + '@eggjs/yauzl@2.11.0': dependencies: buffer-crc32: 0.2.13 @@ -13359,14 +13452,79 @@ snapshots: '@eslint/core': 0.10.0 levn: 0.4.1 + '@farris/bef-vue@0.0.2': {} + + '@farris/bef-vue@0.0.3': {} + + '@farris/command-services-vue@0.0.3(typescript@4.9.5)': + dependencies: + '@farris/bef-vue': 0.0.2 + '@farris/devkit-vue': 0.0.4(typescript@4.9.5) + '@farris/ui-vue': link:packages/ui-vue + lodash: 4.17.21 + moment: 2.30.1 + vue: 3.5.12(typescript@4.9.5) + vue-router: 4.4.5(vue@3.5.12(typescript@4.9.5)) + transitivePeerDependencies: + - debug + - typescript + '@farris/designer-dragula@0.0.5': {} + '@farris/devkit-vue@0.0.4(typescript@4.9.5)': + dependencies: + axios: 1.7.7 + vue: 3.5.12(typescript@4.9.5) + vue-router: 4.4.5(vue@3.5.12(typescript@4.9.5)) + transitivePeerDependencies: + - debug + - typescript + + '@farris/devkit-vue@0.0.5(typescript@4.9.5)': + dependencies: + axios: 1.7.7 + vue: 3.5.12(typescript@4.9.5) + vue-router: 4.4.5(vue@3.5.12(typescript@4.9.5)) + transitivePeerDependencies: + - debug + - typescript + '@farris/mobile-ui-vue@0.0.1-beta.3(typescript@4.9.5)': dependencies: vue: 3.5.12(typescript@4.9.5) transitivePeerDependencies: - typescript + '@farris/ui-vue@1.5.3(@algolia/client-search@4.24.0)(@types/node@20.5.1)(monaco-editor@0.52.2)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(rollup@4.24.0)(search-insights@2.17.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))': + dependencies: + '@docsearch/js': 3.6.0(@algolia/client-search@4.24.0)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(search-insights@2.17.2) + '@monaco-editor/loader': 1.4.0(monaco-editor@0.52.2) + '@types/lodash-es': 4.17.12 + '@vue/shared': 3.5.12 + '@vueuse/core': 9.2.0(vue@3.5.12(typescript@4.9.5)) + async-validator: 4.2.5 + bignumber.js: 9.1.2 + date-fns: 3.6.0 + echarts: 5.5.1 + jsonp: 0.2.1 + lodash: 4.17.21 + lodash-es: 4.17.21 + rxjs: 7.8.1 + vite-plugin-dts: 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)) + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - monaco-editor + - react + - react-dom + - rollup + - search-insights + - supports-color + - vite + - vue + '@floating-ui/core@1.6.9': dependencies: '@floating-ui/utils': 0.2.9 @@ -13382,6 +13540,37 @@ snapshots: '@francoischalifour/autocomplete-preset-algolia@1.0.0-alpha.28': {} + '@gsp-wf/wf-task-handler-vue@0.0.1(@algolia/client-search@4.24.0)(@types/node@20.5.1)(monaco-editor@0.52.2)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(rollup@4.24.0)(search-insights@2.17.2)(typescript@4.9.5)(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0))': + dependencies: + '@farris/bef-vue': 0.0.3 + '@farris/devkit-vue': 0.0.5(typescript@4.9.5) + '@farris/ui-vue': 1.5.3(@algolia/client-search@4.24.0)(@types/node@20.5.1)(monaco-editor@0.52.2)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(rollup@4.24.0)(search-insights@2.17.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)) + '@vue/shared': 3.5.12 + '@vueuse/core': 9.2.0(vue@3.5.12(typescript@4.9.5)) + async-validator: 4.2.5 + bignumber.js: 9.1.2 + lodash: 4.17.21 + lodash-es: 4.17.21 + moment: 2.30.1 + mxgraph: 4.2.2 + rxjs: 7.8.1 + vue: 3.5.12(typescript@4.9.5) + vue-router: 4.4.5(vue@3.5.12(typescript@4.9.5)) + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - debug + - monaco-editor + - react + - react-dom + - rollup + - search-insights + - supports-color + - typescript + - vite + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.6': @@ -13509,7 +13698,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3))': + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -13523,7 +13712,7 @@ snapshots: 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@20.5.1)(typescript@5.6.3)) + jest-config: 29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -13730,6 +13919,14 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@microsoft/api-extractor-model@7.28.13(@types/node@20.5.1)': + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@20.5.1) + transitivePeerDependencies: + - '@types/node' + '@microsoft/api-extractor-model@7.29.8(@types/node@18.19.57)': dependencies: '@microsoft/tsdoc': 0.15.0 @@ -13738,6 +13935,14 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@microsoft/api-extractor-model@7.29.8(@types/node@20.5.1)': + dependencies: + '@microsoft/tsdoc': 0.15.0 + '@microsoft/tsdoc-config': 0.17.0 + '@rushstack/node-core-library': 5.9.0(@types/node@20.5.1) + transitivePeerDependencies: + - '@types/node' + '@microsoft/api-extractor@7.43.0(@types/node@18.19.57)': dependencies: '@microsoft/api-extractor-model': 7.28.13(@types/node@18.19.57) @@ -13756,6 +13961,24 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@microsoft/api-extractor@7.43.0(@types/node@20.5.1)': + dependencies: + '@microsoft/api-extractor-model': 7.28.13(@types/node@20.5.1) + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 4.0.2(@types/node@20.5.1) + '@rushstack/rig-package': 0.5.2 + '@rushstack/terminal': 0.10.0(@types/node@20.5.1) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.5.1) + lodash: 4.17.21 + minimatch: 3.0.8 + resolve: 1.22.8 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.4.2 + transitivePeerDependencies: + - '@types/node' + '@microsoft/api-extractor@7.47.11(@types/node@18.19.57)': dependencies: '@microsoft/api-extractor-model': 7.29.8(@types/node@18.19.57) @@ -13774,6 +13997,24 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@microsoft/api-extractor@7.47.11(@types/node@20.5.1)': + dependencies: + '@microsoft/api-extractor-model': 7.29.8(@types/node@20.5.1) + '@microsoft/tsdoc': 0.15.0 + '@microsoft/tsdoc-config': 0.17.0 + '@rushstack/node-core-library': 5.9.0(@types/node@20.5.1) + '@rushstack/rig-package': 0.5.3 + '@rushstack/terminal': 0.14.2(@types/node@20.5.1) + '@rushstack/ts-command-line': 4.23.0(@types/node@20.5.1) + lodash: 4.17.21 + minimatch: 3.0.8 + resolve: 1.22.8 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.4.2 + transitivePeerDependencies: + - '@types/node' + '@microsoft/tsdoc-config@0.16.2': dependencies: '@microsoft/tsdoc': 0.14.2 @@ -14007,6 +14248,18 @@ snapshots: optionalDependencies: '@types/node': 18.19.57 + '@rushstack/node-core-library@3.66.1(@types/node@20.5.1)': + dependencies: + colors: 1.2.5 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + optionalDependencies: + '@types/node': 20.5.1 + '@rushstack/node-core-library@4.0.2(@types/node@18.19.57)': dependencies: fs-extra: 7.0.1 @@ -14018,6 +14271,17 @@ snapshots: optionalDependencies: '@types/node': 18.19.57 + '@rushstack/node-core-library@4.0.2(@types/node@20.5.1)': + dependencies: + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + optionalDependencies: + '@types/node': 20.5.1 + '@rushstack/node-core-library@5.9.0(@types/node@18.19.57)': dependencies: ajv: 8.13.0 @@ -14031,6 +14295,19 @@ snapshots: optionalDependencies: '@types/node': 18.19.57 + '@rushstack/node-core-library@5.9.0(@types/node@20.5.1)': + dependencies: + ajv: 8.13.0 + ajv-draft-04: 1.0.0(ajv@8.13.0) + ajv-formats: 3.0.1(ajv@8.13.0) + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + optionalDependencies: + '@types/node': 20.5.1 + '@rushstack/rig-package@0.5.2': dependencies: resolve: 1.22.8 @@ -14048,6 +14325,13 @@ snapshots: optionalDependencies: '@types/node': 18.19.57 + '@rushstack/terminal@0.10.0(@types/node@20.5.1)': + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@20.5.1) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 20.5.1 + '@rushstack/terminal@0.14.2(@types/node@18.19.57)': dependencies: '@rushstack/node-core-library': 5.9.0(@types/node@18.19.57) @@ -14055,6 +14339,13 @@ snapshots: optionalDependencies: '@types/node': 18.19.57 + '@rushstack/terminal@0.14.2(@types/node@20.5.1)': + dependencies: + '@rushstack/node-core-library': 5.9.0(@types/node@20.5.1) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 20.5.1 + '@rushstack/ts-command-line@4.19.1(@types/node@18.19.57)': dependencies: '@rushstack/terminal': 0.10.0(@types/node@18.19.57) @@ -14064,6 +14355,15 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@rushstack/ts-command-line@4.19.1(@types/node@20.5.1)': + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.5.1) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + '@rushstack/ts-command-line@4.23.0(@types/node@18.19.57)': dependencies: '@rushstack/terminal': 0.14.2(@types/node@18.19.57) @@ -14073,13 +14373,22 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@sentry/core@5.30.0': + '@rushstack/ts-command-line@4.23.0(@types/node@20.5.1)': dependencies: - '@sentry/hub': 5.30.0 - '@sentry/minimal': 5.30.0 - '@sentry/types': 5.30.0 - '@sentry/utils': 5.30.0 - tslib: 1.14.1 + '@rushstack/terminal': 0.14.2(@types/node@20.5.1) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + + '@sentry/core@5.30.0': + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/minimal': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 '@sentry/hub@5.30.0': dependencies: @@ -14644,12 +14953,12 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-vue-jsx@2.1.1(vite@3.2.11(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5))': + '@vitejs/plugin-vue-jsx@2.1.1(vite@3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5))': dependencies: '@babel/core': 7.25.8 '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.25.8) '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.8) - vite: 3.2.11(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0) + vite: 3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0) vue: 3.5.12(typescript@4.9.5) transitivePeerDependencies: - supports-color @@ -14664,12 +14973,22 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue-jsx@3.1.0(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))': + '@vitejs/plugin-vue-jsx@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))': dependencies: '@babel/core': 7.25.8 '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.25.8) '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.8) - vite: 5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.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) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))': + dependencies: + '@babel/core': 7.25.8 + '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.25.8) + '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.8) + vite: 5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - supports-color @@ -14698,14 +15017,29 @@ snapshots: vite: 3.2.11(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0) vue: 3.5.12(typescript@5.6.3) + '@vitejs/plugin-vue@3.2.0(vite@3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5))': + dependencies: + vite: 3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0) + vue: 3.5.12(typescript@4.9.5) + + '@vitejs/plugin-vue@3.2.0(vite@3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))': + dependencies: + vite: 3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0) + vue: 3.5.12(typescript@5.6.3) + '@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))': dependencies: 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) - '@vitejs/plugin-vue@4.6.2(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))': + '@vitejs/plugin-vue@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))': dependencies: - vite: 5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.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) + + '@vitejs/plugin-vue@4.6.2(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))': + dependencies: + vite: 5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) vue: 3.5.12(typescript@5.6.3) '@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))': @@ -14713,6 +15047,11 @@ snapshots: 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) + '@vitejs/plugin-vue@5.1.4(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3))': + dependencies: + vite: 5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) + vue: 3.5.12(typescript@5.6.3) + '@vitest/expect@0.29.8': dependencies: '@vitest/spy': 0.29.8 @@ -15139,14 +15478,14 @@ snapshots: - terser - vite - '@yankeeinlondon/builder-api@1.4.1(@vitejs/plugin-vue@4.6.2(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@8.9.0)(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/builder-api@1.4.1(@vitejs/plugin-vue@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)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0))': dependencies: '@types/markdown-it': 12.2.3 '@yankeeinlondon/happy-wrapper': 2.10.1(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) fp-ts: 2.16.9 inferred-types: 0.37.6(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) markdown-it: 13.0.2 - vite-plugin-md: 0.22.5(@vitejs/plugin-vue@4.6.2(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@8.9.0)(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)) + vite-plugin-md: 0.22.5(@vitejs/plugin-vue@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)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0)) transitivePeerDependencies: - '@edge-runtime/vm' - '@vitejs/plugin-vue' @@ -15164,14 +15503,14 @@ snapshots: - terser - vite - '@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/builder-api@1.4.1(@vitejs/plugin-vue@4.6.2(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)))(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: '@types/markdown-it': 12.2.3 '@yankeeinlondon/happy-wrapper': 2.10.1(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) fp-ts: 2.16.9 - inferred-types: 0.37.6(happy-dom@14.12.3)(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) markdown-it: 13.0.2 - vite-plugin-md: 0.22.5(@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)))(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)) + vite-plugin-md: 0.22.5(@vitejs/plugin-vue@4.6.2(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)))(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)) transitivePeerDependencies: - '@edge-runtime/vm' - '@vitejs/plugin-vue' @@ -15189,42 +15528,21 @@ snapshots: - terser - vite - '@yankeeinlondon/builder-api@1.4.1(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)': - dependencies: - '@types/markdown-it': 12.2.3 - '@yankeeinlondon/happy-wrapper': 2.10.1(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) - fp-ts: 2.16.9 - inferred-types: 0.37.6(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) - markdown-it: 13.0.2 - 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)) - transitivePeerDependencies: - - '@edge-runtime/vm' - - '@vitest/browser' - - '@vitest/ui' - - encoding - - happy-dom - - jsdom - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - - '@yankeeinlondon/builder-api@1.4.1(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)': + '@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))': dependencies: '@types/markdown-it': 12.2.3 '@yankeeinlondon/happy-wrapper': 2.10.1(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) fp-ts: 2.16.9 - inferred-types: 0.37.6 + inferred-types: 0.37.6(happy-dom@14.12.3)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) markdown-it: 13.0.2 vite-plugin-md: 0.22.5(@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)))(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)) transitivePeerDependencies: - '@edge-runtime/vm' + - '@vitejs/plugin-vue' - '@vitest/browser' - '@vitest/ui' - encoding + - happy-dom - jsdom - less - lightningcss @@ -15233,14 +15551,7 @@ snapshots: - sugarss - supports-color - terser - - '@yankeeinlondon/gray-matter@6.2.1': - dependencies: - inferred-types: 0.37.6 - js-yaml: 4.1.0 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 + - vite '@yankeeinlondon/gray-matter@6.2.1(happy-dom@14.12.3)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)': dependencies: @@ -15984,7 +16295,7 @@ snapshots: dependencies: bumpp: 8.2.1 callsites: 4.2.0 - inferred-types: 0.37.6 + inferred-types: 0.37.6(happy-dom@14.12.3)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) vitest: 0.25.8(happy-dom@14.12.3)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) transitivePeerDependencies: - '@edge-runtime/vm' @@ -16004,7 +16315,7 @@ snapshots: dependencies: bumpp: 8.2.1 callsites: 4.2.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) vitest: 0.25.8(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) transitivePeerDependencies: - '@edge-runtime/vm' @@ -16741,17 +17052,10 @@ snapshots: cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.6.3))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3))(typescript@5.6.3): dependencies: '@types/node': 20.5.1 - cosmiconfig: 8.3.6(typescript@4.9.5) - ts-node: 10.9.2(@types/node@18.19.57)(typescript@4.9.5) + cosmiconfig: 8.3.6(typescript@5.6.3) + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.6.3) typescript: 5.6.3 - cosmiconfig-typescript-loader@5.1.0(@types/node@18.19.57)(cosmiconfig@9.0.0(typescript@4.9.5))(typescript@4.9.5): - dependencies: - '@types/node': 18.19.57 - cosmiconfig: 9.0.0(typescript@4.9.5) - jiti: 1.21.6 - typescript: 4.9.5 - cosmiconfig-typescript-loader@5.1.0(@types/node@18.19.57)(cosmiconfig@9.0.0(typescript@5.6.3))(typescript@5.6.3): dependencies: '@types/node': 18.19.57 @@ -16759,14 +17063,21 @@ snapshots: jiti: 1.21.6 typescript: 5.6.3 - cosmiconfig@8.3.6(typescript@4.9.5): + cosmiconfig-typescript-loader@5.1.0(@types/node@20.5.1)(cosmiconfig@9.0.0(typescript@4.9.5))(typescript@4.9.5): + dependencies: + '@types/node': 20.5.1 + cosmiconfig: 9.0.0(typescript@4.9.5) + jiti: 1.21.6 + typescript: 4.9.5 + + cosmiconfig@8.3.6(typescript@5.6.3): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 4.9.5 + typescript: 5.6.3 cosmiconfig@9.0.0(typescript@4.9.5): dependencies: @@ -16838,13 +17149,28 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)): + create-jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(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@20.5.1)(typescript@5.6.3)) + jest-config: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(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@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)): + 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@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -18923,10 +19249,6 @@ snapshots: index-to-position@0.1.2: {} - inferred-types@0.37.6: - dependencies: - brilliant-errors: 0.7.3(happy-dom@14.12.3)(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): dependencies: brilliant-errors: 0.7.3(happy-dom@14.12.3)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) @@ -19402,16 +19724,35 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)): + jest-cli@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(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@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)) + 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@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@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)): + 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@20.5.1)(typescript@5.6.3)) + 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@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + 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 yargs: 17.7.2 @@ -19447,7 +19788,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 18.19.57 - ts-node: 10.9.2(@types/node@18.19.57)(typescript@4.9.5) + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.6.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -19483,7 +19824,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)): + jest-config@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)): dependencies: '@babel/core': 7.25.8 '@jest/test-sequencer': 29.7.0 @@ -19509,7 +19850,69 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 18.19.57 - ts-node: 10.9.2(@types/node@18.19.57)(typescript@4.9.5) + ts-node: 10.9.2(@types/node@20.5.1)(typescript@4.9.5) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-config@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)): + dependencies: + '@babel/core': 7.25.8 + '@jest/test-sequencer': 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 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.5.1 + ts-node: 10.9.2(@types/node@20.5.1)(typescript@4.9.5) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-config@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/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 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.5.1 + ts-node: 10.9.2(@types/node@20.5.1)(typescript@5.6.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -19777,12 +20180,24 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@18.19.57)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)): + jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)) + '@jest/types': 29.6.3 + import-local: 3.2.0 + jest-cli: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest@29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) + '@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@20.5.1)(typescript@5.6.3)) + jest-cli: 29.7.0(@types/node@20.5.1)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -20502,6 +20917,8 @@ snapshots: mute-stream@1.0.0: {} + mxgraph@4.2.2: {} + nan@2.22.0: optional: true @@ -22524,7 +22941,7 @@ snapshots: '@ts-morph/common': 0.19.0 code-block-writer: 12.0.0 - ts-node@10.9.2(@types/node@18.19.57)(typescript@4.9.5): + ts-node@10.9.2(@types/node@18.19.57)(typescript@5.6.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -22538,27 +22955,28 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.5 + typescript: 5.6.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.2(@types/node@18.19.57)(typescript@5.6.3): + ts-node@10.9.2(@types/node@20.5.1)(typescript@4.9.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.19.57 + '@types/node': 20.5.1 acorn: 8.13.0 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.6.3 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + optional: true ts-node@10.9.2(@types/node@20.5.1)(typescript@5.6.3): dependencies: @@ -22901,13 +23319,31 @@ snapshots: - supports-color - terser + vite-node@1.6.0(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0): + dependencies: + cac: 6.7.14 + debug: 4.3.7 + pathe: 1.1.2 + picocolors: 1.1.1 + 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' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + vite-plugin-banner@0.8.0: {} - vite-plugin-css-injected-by-js@3.5.2(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0)): + vite-plugin-css-injected-by-js@3.5.2(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0)): dependencies: - vite: 4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0) + vite: 4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0) - vite-plugin-dts@2.3.0(@types/node@18.19.57)(rollup@4.24.0)(vite@3.2.11(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0)): + vite-plugin-dts@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)): dependencies: '@babel/parser': 7.25.8 '@microsoft/api-extractor': 7.47.11(@types/node@18.19.57) @@ -22919,52 +23355,87 @@ snapshots: kolorist: 1.8.0 magic-string: 0.29.0 ts-morph: 18.0.0 - vite: 3.2.11(@types/node@18.19.57)(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) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-dts@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)): + vite-plugin-dts@2.3.0(@types/node@20.5.1)(rollup@4.24.0)(vite@3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0)): dependencies: '@babel/parser': 7.25.8 - '@microsoft/api-extractor': 7.47.11(@types/node@18.19.57) + '@microsoft/api-extractor': 7.47.11(@types/node@20.5.1) '@rollup/pluginutils': 5.1.2(rollup@4.24.0) - '@rushstack/node-core-library': 3.66.1(@types/node@18.19.57) + '@rushstack/node-core-library': 3.66.1(@types/node@20.5.1) debug: 4.3.7 fast-glob: 3.3.2 fs-extra: 10.1.0 kolorist: 1.8.0 magic-string: 0.29.0 ts-morph: 18.0.0 - vite: 4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0) + vite: 3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-dts@2.3.0(@types/node@18.19.57)(rollup@4.24.0)(vite@5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)): + vite-plugin-dts@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)): dependencies: '@babel/parser': 7.25.8 - '@microsoft/api-extractor': 7.47.11(@types/node@18.19.57) + '@microsoft/api-extractor': 7.47.11(@types/node@20.5.1) '@rollup/pluginutils': 5.1.2(rollup@4.24.0) - '@rushstack/node-core-library': 3.66.1(@types/node@18.19.57) + '@rushstack/node-core-library': 3.66.1(@types/node@20.5.1) debug: 4.3.7 fast-glob: 3.3.2 fs-extra: 10.1.0 kolorist: 1.8.0 magic-string: 0.29.0 ts-morph: 18.0.0 - vite: 5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) + 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@18.19.57)(rollup@4.24.0)(typescript@4.9.5)(vite@4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0)): + vite-plugin-dts@2.3.0(@types/node@20.5.1)(rollup@4.24.0)(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)): + dependencies: + '@babel/parser': 7.25.8 + '@microsoft/api-extractor': 7.47.11(@types/node@20.5.1) + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) + '@rushstack/node-core-library': 3.66.1(@types/node@20.5.1) + debug: 4.3.7 + fast-glob: 3.3.2 + fs-extra: 10.1.0 + kolorist: 1.8.0 + magic-string: 0.29.0 + ts-morph: 18.0.0 + 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-dts@3.9.1(@types/node@18.19.57)(rollup@4.24.0)(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)): dependencies: '@microsoft/api-extractor': 7.43.0(@types/node@18.19.57) '@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@18.19.57)(sass-embedded@1.80.3)(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@4.9.5)(vite@4.5.5(@types/node@20.5.1)(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@4.9.5) debug: 4.3.7 kolorist: 1.8.0 @@ -22972,15 +23443,15 @@ snapshots: typescript: 4.9.5 vue-tsc: 1.8.27(typescript@4.9.5) optionalDependencies: - vite: 4.5.5(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0) + 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@18.19.57)(rollup@4.24.0)(typescript@5.6.3)(vite@5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0)): + 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@18.19.57) + '@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 @@ -22989,7 +23460,7 @@ snapshots: typescript: 5.6.3 vue-tsc: 1.8.27(typescript@5.6.3) optionalDependencies: - vite: 5.4.9(@types/node@18.19.57)(sass-embedded@1.80.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) transitivePeerDependencies: - '@types/node' - rollup @@ -23019,14 +23490,38 @@ snapshots: - terser - vite - vite-plugin-md@0.21.5(@vitejs/plugin-vue@4.6.2(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@8.9.0)(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)): + vite-plugin-md@0.20.6(@vitejs/plugin-vue@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)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0)): dependencies: - '@yankeeinlondon/builder-api': 1.4.1(@vitejs/plugin-vue@4.6.2(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@8.9.0)(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/builder-api': 1.4.1(@vitejs/plugin-vue@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)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@20.5.1)(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 + - happy-dom + - jsdom + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + - vite + + vite-plugin-md@0.21.5(@vitejs/plugin-vue@4.6.2(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)))(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: + '@yankeeinlondon/builder-api': 1.4.1(@vitejs/plugin-vue@4.6.2(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)))(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)) '@yankeeinlondon/gray-matter': 6.2.1(happy-dom@8.9.0)(jsdom@20.0.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) markdown-it: 13.0.2 source-map-js: 1.2.1 - vite: 5.4.9(@types/node@18.19.57)(sass-embedded@1.80.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) transitivePeerDependencies: - '@edge-runtime/vm' - '@vitejs/plugin-vue' @@ -23070,7 +23565,7 @@ snapshots: 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)): 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(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) + '@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)) '@yankeeinlondon/gray-matter': 6.2.1(happy-dom@8.9.0)(jsdom@20.0.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) markdown-it: 13.0.2 @@ -23091,15 +23586,39 @@ snapshots: - supports-color - terser - vite-plugin-md@0.22.5(@vitejs/plugin-vue@4.6.2(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@8.9.0)(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)): + vite-plugin-md@0.22.5(@vitejs/plugin-vue@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)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0)): dependencies: - '@vitejs/plugin-vue': 4.6.2(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)) - '@yankeeinlondon/builder-api': 1.4.1(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) + '@vitejs/plugin-vue': 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)) + '@yankeeinlondon/builder-api': 1.4.1(@vitejs/plugin-vue@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)))(happy-dom@8.9.0)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0)(vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0)) '@yankeeinlondon/gray-matter': 6.2.1(happy-dom@8.9.0)(jsdom@20.0.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) markdown-it: 13.0.2 source-map-js: 1.2.1 - vite: 5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) + vite: 4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0) + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@vitest/browser' + - '@vitest/ui' + - encoding + - happy-dom + - jsdom + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + + vite-plugin-md@0.22.5(@vitejs/plugin-vue@4.6.2(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)))(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@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) + '@yankeeinlondon/builder-api': 1.4.1(@vitejs/plugin-vue@4.6.2(vite@5.4.9(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)))(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)) + '@yankeeinlondon/gray-matter': 6.2.1(happy-dom@8.9.0)(jsdom@20.0.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) + markdown-it: 13.0.2 + source-map-js: 1.2.1 + 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' @@ -23118,8 +23637,8 @@ snapshots: vite-plugin-md@0.22.5(@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)))(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)): dependencies: '@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)) - '@yankeeinlondon/builder-api': 1.4.1(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0) - '@yankeeinlondon/gray-matter': 6.2.1 + '@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/gray-matter': 6.2.1(happy-dom@14.12.3)(jsdom@20.0.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) markdown-it: 13.0.2 source-map-js: 1.2.1 @@ -23170,6 +23689,18 @@ snapshots: sass: 1.80.3 terser: 5.36.0 + vite@3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0): + dependencies: + esbuild: 0.15.18 + postcss: 8.4.47 + resolve: 1.22.8 + rollup: 2.79.2 + optionalDependencies: + '@types/node': 20.5.1 + fsevents: 2.3.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: esbuild: 0.18.20 @@ -23181,6 +23712,17 @@ snapshots: sass: 1.80.3 terser: 5.36.0 + vite@4.5.5(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0): + dependencies: + esbuild: 0.18.20 + postcss: 8.4.47 + rollup: 3.29.5 + optionalDependencies: + '@types/node': 20.5.1 + fsevents: 2.3.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): dependencies: esbuild: 0.21.5 @@ -23193,6 +23735,18 @@ snapshots: sass-embedded: 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: + esbuild: 0.21.5 + postcss: 8.4.47 + rollup: 4.24.0 + optionalDependencies: + '@types/node': 20.5.1 + fsevents: 2.3.3 + sass: 1.80.3 + sass-embedded: 1.80.3 + terser: 5.36.0 + vitepress-theme-demoblock@1.4.2(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(sass@1.80.3)(typescript@4.9.5): dependencies: camelcase: 6.3.0 @@ -23307,16 +23861,16 @@ snapshots: - supports-color - typescript - vitepress@1.0.0-alpha.10(@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): + vitepress@1.0.0-alpha.10(@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): dependencies: '@docsearch/css': 3.6.2 '@docsearch/js': 3.6.0(@algolia/client-search@4.24.0)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(search-insights@2.17.2) - '@vitejs/plugin-vue': 3.2.0(vite@3.2.11(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)) + '@vitejs/plugin-vue': 3.2.0(vite@3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)) '@vue/devtools-api': 6.6.4 '@vueuse/core': 9.2.0(vue@3.5.12(typescript@4.9.5)) body-scroll-lock: 4.0.0-beta.0 shiki: 0.11.1 - vite: 3.2.11(@types/node@18.19.57)(sass@1.80.3)(terser@5.36.0) + vite: 3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0) vue: 3.5.12(typescript@4.9.5) transitivePeerDependencies: - '@algolia/client-search' @@ -23333,7 +23887,33 @@ snapshots: - terser - typescript - vitepress@1.0.0-alpha.10(@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@5.6.3): + vitepress@1.0.0-alpha.10(@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@5.6.3): + dependencies: + '@docsearch/css': 3.6.2 + '@docsearch/js': 3.6.0(@algolia/client-search@4.24.0)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(search-insights@2.17.2) + '@vitejs/plugin-vue': 3.2.0(vite@3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@5.6.3)) + '@vue/devtools-api': 6.6.4 + '@vueuse/core': 9.2.0(vue@3.5.12(typescript@5.6.3)) + body-scroll-lock: 4.0.0-beta.0 + shiki: 0.11.1 + vite: 3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0) + vue: 3.5.12(typescript@5.6.3) + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - less + - react + - react-dom + - sass + - search-insights + - stylus + - sugarss + - terser + - typescript + + vitepress@1.0.0-alpha.10(@types/node@18.19.57)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(sass@1.80.3)(terser@5.36.0)(typescript@5.6.3): dependencies: '@docsearch/css': 3.6.2 '@docsearch/js': 3.6.0(@algolia/client-search@4.24.0)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(search-insights@2.17.2) @@ -23385,6 +23965,32 @@ snapshots: - terser - typescript + vitepress@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): + dependencies: + '@docsearch/css': 3.6.2 + '@docsearch/js': 3.6.2(@algolia/client-search@4.24.0)(react-dom@16.14.0(react@16.14.0))(react@16.14.0)(search-insights@2.17.2) + '@vitejs/plugin-vue': 3.2.0(vite@3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0))(vue@3.5.12(typescript@4.9.5)) + '@vue/devtools-api': 6.6.4 + '@vueuse/core': 9.2.0(vue@3.5.12(typescript@4.9.5)) + body-scroll-lock: 4.0.0-beta.0 + shiki: 0.11.1 + vite: 3.2.11(@types/node@20.5.1)(sass@1.80.3)(terser@5.36.0) + vue: 3.5.12(typescript@4.9.5) + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - less + - react + - react-dom + - sass + - search-insights + - stylus + - sugarss + - terser + - typescript + vitest@0.25.8(happy-dom@14.12.3)(jsdom@20.0.3)(sass@1.80.3)(terser@5.36.0): dependencies: '@types/chai': 4.3.20 @@ -23553,7 +24159,7 @@ snapshots: - supports-color - terser - vitest@1.6.0(@types/node@18.19.57)(happy-dom@8.9.0)(jsdom@20.0.3)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0): + vitest@1.6.0(@types/node@20.5.1)(happy-dom@8.9.0)(jsdom@20.0.3)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -23572,11 +24178,11 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.9(@types/node@18.19.57)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) - vite-node: 1.6.0(@types/node@18.19.57)(sass-embedded@1.80.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) + vite-node: 1.6.0(@types/node@20.5.1)(sass-embedded@1.80.3)(sass@1.80.3)(terser@5.36.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 18.19.57 + '@types/node': 20.5.1 happy-dom: 8.9.0 jsdom: 20.0.3 transitivePeerDependencies: -- Gitee From 774ac27e536ba3e67a50ff9cc6c363f93fb3bed3 Mon Sep 17 00:00:00 2001 From: huyuyang Date: Tue, 20 May 2025 06:23:10 +0000 Subject: [PATCH 11/45] !1611 fix: checkbox and textarea support the props preventScroll * fix: add textarea props lineBreak * fix: optimize textarea keyboard event * fix: optimize textarea keyboard event * fix: data grid restore group panel --- .../change-set/change-set.component.tsx | 30 +++- .../composition/use-parameter-editor-data.ts | 8 + .../theme/components/data-grid.scss | 4 +- .../button-edit/src/button-edit.props.ts | 1 - .../src/components/tag-edit.component.tsx | 8 +- .../src/components/text-edit.component.tsx | 2 +- .../checkbox/src/checkbox.component.tsx | 2 +- .../combo-list/src/combo-list.component.tsx | 19 +- .../src/composition/use-data-source.ts | 20 ++- .../combo-list.property-config.ts | 144 ++++++++++++--- packages/ui-vue/components/common/index.ts | 1 + .../radio-checkbox/radio-checkbox.props.ts | 2 +- .../common/radio-checkbox/use-check.ts | 2 +- .../ui-vue/components/common/utils/type.ts | 7 + .../components/data/data-area.component.tsx | 52 +++++- .../data-grid/src/data-grid.component.tsx | 18 +- .../components/data-grid/src/data-grid.css | 4 + .../column-filter-container.component.tsx | 6 + .../date-filter-editor.component.tsx | 6 +- .../text-filter-editor.component.tsx | 9 +- .../column-header-handler.component.tsx | 6 +- .../column-header/column-header.component.tsx | 65 ++++--- .../column-setting.component.tsx | 32 ++-- .../data-grid-pagination.component.tsx | 1 + .../row/hierarchy-row.component.tsx | 68 +++++--- .../appearance/use-hierarchy-style.ts | 2 +- .../composition/data/use-data-view.ts | 3 +- .../components/data-view/composition/types.ts | 8 +- .../data-view/composition/use-edit.tsx | 31 +++- .../data-view/composition/use-navigation.ts | 2 +- .../data-view/composition/use-selection.ts | 11 ++ .../visualization/use-virtual-scroll.ts | 27 ++- .../visualization/use-visual-data-bound.ts | 12 +- .../date-picker/src/date-picker.component.tsx | 1 - .../src/designer-outline.component.tsx | 2 + .../src/composition/editors/use-combo-tree.ts | 17 +- .../src/event-parameter.component.tsx | 27 +-- .../src/components/text-edit.component.tsx | 2 +- .../input-group/src/input-group.component.tsx | 2 +- .../input-group/src/input-group.props.ts | 10 +- .../src/composition/use-draggable.ts | 1 + .../components/nav/src/nav.component.tsx | 21 ++- .../ui-vue/components/nav/src/nav.props.ts | 11 +- .../src/components/text-box.component.tsx | 4 +- .../src/composition/use-text-box.ts | 1 + .../src/number-spinner.props.ts | 5 +- .../components/pages/page-info.component.tsx | 2 +- .../pagination/src/pagination.components.tsx | 4 +- .../pagination/src/pagination.props.ts | 6 +- .../radio-group/src/radio-group.component.tsx | 9 +- .../radio-group/src/radio-group.props.ts | 4 +- .../components/radio/src/radio.props.ts | 1 + .../tags/src/composition/use-draggable.ts | 9 + .../components/tags/src/tags.component.tsx | 26 +-- .../textarea/src/schema/textarea.schema.json | 5 + .../textarea/src/textarea.component.tsx | 133 +++++++------- .../components/textarea/src/textarea.props.ts | 1 + .../time-picker/src/time-picker.component.tsx | 1 - .../tooltip/src/tooltip.component.tsx | 22 ++- .../tree-grid/src/tree-grid.component.tsx | 17 +- .../components/tree-grid/src/tree-grid.css | 3 + .../tree-view/src/tree-view.component.tsx | 14 +- packages/ui-vue/components/tree-view/style.ts | 2 +- packages/ui-vue/demos/checkbox/basic.vue | 2 +- packages/ui-vue/demos/checkbox/field.vue | 2 +- packages/ui-vue/demos/checkbox/valueType.vue | 2 +- packages/ui-vue/demos/combo-list/multi.vue | 2 +- packages/ui-vue/demos/data-grid/alignment.vue | 2 +- packages/ui-vue/demos/data-grid/basic.vue | 14 +- .../ui-vue/demos/data-grid/header-group.vue | 2 +- .../ui-vue/demos/data-grid/operation_data.vue | 164 ++++++++++++++++++ .../ui-vue/demos/data-grid/pagination.vue | 18 +- .../demos/data-grid/select_and_unselect.vue | 100 +++++++++++ .../ui-vue/demos/data-grid/update-data.vue | 50 ------ .../demos/dynamic-form/dynamic-component.vue | 4 +- packages/ui-vue/demos/nav/vertical.vue | 4 +- packages/ui-vue/demos/radio-group/basic.vue | 2 +- .../demos/radio-group/radio_template.vue | 2 +- packages/ui-vue/demos/tree-grid/basic.vue | 2 +- .../ui-vue/demos/tree-grid/basic_original.vue | 4 +- .../ui-vue/demos/tree-grid/selection_mode.vue | 7 +- .../ui-vue/docs/.vitepress/config/markdown.ts | 3 +- .../ui-vue/docs/components/checkbox/index.md | 2 - .../docs/components/combo-tree/index.md | 2 +- .../ui-vue/docs/components/data-grid/index.md | 153 ++++++++++++---- .../docs/components/input-group/index.md | 3 +- packages/ui-vue/docs/components/nav/index.md | 4 +- .../docs/components/radio-group/index.md | 1 - .../ui-vue/docs/components/textarea/index.md | 22 ++- .../ui-vue/docs/components/tree-grid/index.md | 65 +++++-- .../ui-vue/docs/components/tree-view/index.md | 9 +- packages/ui-vue/docs/vite.config.ts | 3 + packages/ui-vue/public/assets/farris-all.css | 4 +- 93 files changed, 1198 insertions(+), 432 deletions(-) create mode 100644 packages/ui-vue/components/common/utils/type.ts create mode 100644 packages/ui-vue/demos/data-grid/operation_data.vue create mode 100644 packages/ui-vue/demos/data-grid/select_and_unselect.vue diff --git a/packages/designer/src/components/components/change-set/change-set.component.tsx b/packages/designer/src/components/components/change-set/change-set.component.tsx index 200374abce..28e55a03d1 100644 --- a/packages/designer/src/components/components/change-set/change-set.component.tsx +++ b/packages/designer/src/components/components/change-set/change-set.component.tsx @@ -1,5 +1,5 @@ import { computed, defineComponent, inject, onMounted, reactive, ref, Teleport } from "vue"; -import { FCheckbox } from "@farris/ui-vue/components"; +import { FCheckbox, FTooltip } from "@farris/ui-vue/components"; import { FTabs, FTabPage } from "@farris/ui-vue/components"; import { FTreeGrid } from "@farris/ui-vue/components"; import { FRadioGroup } from "@farris/ui-vue/components"; @@ -51,7 +51,7 @@ export default defineComponent({ const columnsOfModificationNavigate = [{ field: 'name', title: '字段名称' }]; /** 变更树表列配置 */ const columnsOfModificationDetails = [ - { field: 'propName', title: '属性名称' }, + { field: 'propName', title: '属性名称', showTips: true }, { field: 'propCode', title: '属性编号' }, { field: 'oldValue', title: '当前值' }, { field: 'newValue', title: '新值' }, @@ -328,7 +328,7 @@ export default defineComponent({
{
- { const isCheckCellInDetail = cell.field === 'select' && row.raw.selectable; const isRichTextContentCellInDetail = row.raw.isObject && (cell.field === 'oldValue' || cell.field === 'newValue'); - return isCheckCellInDetail ? onClickChangeSelectCheckbox(row.raw.fieldId, row.raw.propPath)}> : - (isRichTextContentCellInDetail ? renderToolTipCell(cell.data, cell.field === 'oldValue') : (cell.data != null ? cell.data.toString() : cell.data)); + if (isCheckCellInDetail) { + return onClickChangeSelectCheckbox(row.raw.fieldId, row.raw.propPath)}>; + } + if (isRichTextContentCellInDetail) { + return renderToolTipCell(cell.data, cell.field === 'oldValue'); + } + const cellText = cell.data !== null && cell.data !== undefined ? + cell.data.toString() : + cell.data; + if (cell.showTips) { + return + { + { + default: () => cellText, + contentTemplate: () => cellText + } + } + ; + } + return cellText; + // return isCheckCellInDetail ? onClickChangeSelectCheckbox(row.raw.fieldId, row.raw.propPath)}> : + // (isRichTextContentCellInDetail ? renderToolTipCell(cell.data, cell.field === 'oldValue') : cell.data !== null ? cell.data.toString() : cell.data); }, 'headerCellTemplate': ({ headerCell }) => { const isCheckCellInHeader = headerCell.field === 'select'; diff --git a/packages/designer/src/components/composition/use-parameter-editor-data.ts b/packages/designer/src/components/composition/use-parameter-editor-data.ts index df6a697b2b..cc40bb891b 100644 --- a/packages/designer/src/components/composition/use-parameter-editor-data.ts +++ b/packages/designer/src/components/composition/use-parameter-editor-data.ts @@ -231,6 +231,14 @@ export function useParameterEditorData(useFormSchemaComposition: UseFormSchema) entity.entities.forEach(entity => { resolveEntityTreeData(entity, 1, null, data); }); + data.forEach((dataItem: any) => { + if (!dataItem.parent || !dataItem.parentId) { + dataItem.collapse = false; + } + if (dataItem.$type === 'ComplexField') { + dataItem.collapse = true; + } + }); return data; } diff --git a/packages/farris-theme/theme/components/data-grid.scss b/packages/farris-theme/theme/components/data-grid.scss index 7dc7742fd5..42842d3537 100644 --- a/packages/farris-theme/theme/components/data-grid.scss +++ b/packages/farris-theme/theme/components/data-grid.scss @@ -315,8 +315,8 @@ } .fv-grid-vertical-scroll-thumb { - -webkit-transition: background-color 0.2s linear, width 0.2s ease-in-out; - transition: background-color 0.2s linear, width 0.2s ease-in-out; + -webkit-transition: background-color 0.2s linear; + transition: background-color 0.2s linear; width: 10px; right: 0; background-color: rgba(0, 0, 0, 0.25); diff --git a/packages/ui-vue/components/button-edit/src/button-edit.props.ts b/packages/ui-vue/components/button-edit/src/button-edit.props.ts index 7d5239220a..5c63aabe53 100644 --- a/packages/ui-vue/components/button-edit/src/button-edit.props.ts +++ b/packages/ui-vue/components/button-edit/src/button-edit.props.ts @@ -149,7 +149,6 @@ export const buttonEditProps = { updateOn: { type: String, default: 'change' }, keepWidthWithReference: { type: Boolean, default: true }, placement:{ type: String, default: 'bottom-left' }, - preventScroll: { type: Boolean, default: false}, /** * 根据空间大小重新调整,原下拉面板内容指定的高度 */ diff --git a/packages/ui-vue/components/button-edit/src/components/tag-edit.component.tsx b/packages/ui-vue/components/button-edit/src/components/tag-edit.component.tsx index 47ce767261..8cc352228a 100644 --- a/packages/ui-vue/components/button-edit/src/components/tag-edit.component.tsx +++ b/packages/ui-vue/components/button-edit/src/components/tag-edit.component.tsx @@ -9,6 +9,7 @@ export default function ( useTextBoxComposition: UseTextBox ) { const separator = ref(props.separator); + const disabled = computed(() => props.readonly || props.disable); const { changeTextBoxValue, onFocusTextBox, onBlurTextBox } = useTextBoxComposition; const tags = computed(() => { @@ -31,12 +32,17 @@ export default function ( }); return () => { + // return ; }; } diff --git a/packages/ui-vue/components/button-edit/src/components/text-edit.component.tsx b/packages/ui-vue/components/button-edit/src/components/text-edit.component.tsx index a7dcbd5637..97c879ab66 100644 --- a/packages/ui-vue/components/button-edit/src/components/text-edit.component.tsx +++ b/packages/ui-vue/components/button-edit/src/components/text-edit.component.tsx @@ -17,7 +17,7 @@ export default function ( (inputElementRef.value as HTMLInputElement)?.select(); } if (props.focusOnCreated) { - (inputElementRef.value as HTMLInputElement)?.focus({ preventScroll: props.preventScroll }); + (inputElementRef.value as HTMLInputElement)?.focus({ preventScroll: true }); } }); diff --git a/packages/ui-vue/components/checkbox/src/checkbox.component.tsx b/packages/ui-vue/components/checkbox/src/checkbox.component.tsx index 6878879b6c..40fd215ce5 100644 --- a/packages/ui-vue/components/checkbox/src/checkbox.component.tsx +++ b/packages/ui-vue/components/checkbox/src/checkbox.component.tsx @@ -36,7 +36,7 @@ export default defineComponent({ function allowFocus() { if (props.focusOnCreated) { - (inputElementRef.value as HTMLInputElement)?.focus(); + (inputElementRef.value as HTMLInputElement)?.focus({ preventScroll: true }); } } diff --git a/packages/ui-vue/components/combo-list/src/combo-list.component.tsx b/packages/ui-vue/components/combo-list/src/combo-list.component.tsx index 1409c52195..28a03e2cee 100644 --- a/packages/ui-vue/components/combo-list/src/combo-list.component.tsx +++ b/packages/ui-vue/components/combo-list/src/combo-list.component.tsx @@ -32,7 +32,7 @@ export default defineComponent({ const enableSearch = ref(props.enableSearch); const readonly = ref(props.readonly); let displayTextStore = ''; - const { dataSource, displayText, editable, modelValue, getSelectedItemsByDisplayText } = useDataSource(props); + const { dataSource, displayText, editable, modelValue, getSelectedItemsByDisplayText, getItemsByDisplayText } = useDataSource(props); const isMultiSelect = computed(() => props.multiSelect); @@ -74,7 +74,7 @@ export default defineComponent({ */ function onClickInput() { if (!readonly.value) { - displayTextStore = displayText.value; + displayTextStore = displayText.value; // comboEditorRef.value.togglePopup(); } } @@ -103,6 +103,19 @@ export default defineComponent({ } } + function onChange(text: string) { + if (props.multiSelect) { + const itemList = getItemsByDisplayText(text); + const valueList = itemList.map((item: any) => item[props.idField || props.valueField]); + const value = valueList.join(props.separator); + if (modelValue.value !== value) { + modelValue.value = value; + context.emit('update:modelValue', modelValue.value); + context.emit('change', itemList, modelValue.value); + } + } + } + function getDisplayText() { return displayText.value; } @@ -157,7 +170,7 @@ export default defineComponent({ selectOnCreated={props.selectOnCreated} onClear={onClear} onClick={onClickInput} - // onChange={onDisplayTextChange} + onChange={onChange} onBlur={onClickOutside} onInput={onInput} beforeOpen={props.beforeOpen} diff --git a/packages/ui-vue/components/combo-list/src/composition/use-data-source.ts b/packages/ui-vue/components/combo-list/src/composition/use-data-source.ts index f3d069dfdf..b211165446 100644 --- a/packages/ui-vue/components/combo-list/src/composition/use-data-source.ts +++ b/packages/ui-vue/components/combo-list/src/composition/use-data-source.ts @@ -35,7 +35,7 @@ export function useDataSource(props: ComboListProps): UseDataSource { const displayTextMap = new Map(displayTextArray); return dataSource.value.filter((item: Option) => displayTextMap.has(item[props.textField])); } - return dataSource.value.filter((item: Option) => ''+ item[props.textField] === text); + return dataSource.value.filter((item: Option) => '' + item[props.textField] === text); } function buildSelectedItemByDisplayText(displayTextString: string) { @@ -55,12 +55,12 @@ export function useDataSource(props: ComboListProps): UseDataSource { } function loadRemoteData() { - const { url, method = 'GET', headers = {}, body = null } = props.remote; + const { url, method = 'GET', headers = {'Content-Type': 'application/json;charset=utf-8;'}, body = null } = props.remote; // const requestInfo = { method, headers, body }; const requestInfo = method.toLowerCase() === 'get' ? { method, headers } : { method, headers, body }; let isFromJson = false; - fetch(url, requestInfo) - .then((response) => { + fetch(new Request(url, requestInfo)) + .then((response: Response) => { if (response.status === 200) { // 如果是 JSON 数据,直接解析 isFromJson = !!response.headers?.get('content-type')?.includes('application/json'); @@ -69,8 +69,10 @@ export function useDataSource(props: ComboListProps): UseDataSource { const error = new Error(response.statusText); throw error; }) - .then((data) => { - dataSource.value = isFromJson ? JSON.parse(data) : data; + .then((data: string) => { + if (!data.length) { + dataSource.value = isFromJson ? JSON.parse(data) : data; + } }) .catch((err) => { console.error(err); @@ -96,9 +98,9 @@ export function useDataSource(props: ComboListProps): UseDataSource { }); watch(() => props.modelValue, (newValue) => { - // 开启搜索时,匹配下拉面板 - modelValue.value = newValue; - updateDisplayTextByValue(newValue); + // 开启搜索时,匹配下拉面板 + modelValue.value = newValue; + updateDisplayTextByValue(newValue); }); updateDisplayTextByValue(props.modelValue); diff --git a/packages/ui-vue/components/combo-list/src/property-config/combo-list.property-config.ts b/packages/ui-vue/components/combo-list/src/property-config/combo-list.property-config.ts index 7c5bb94e3c..ce5195c648 100644 --- a/packages/ui-vue/components/combo-list/src/property-config/combo-list.property-config.ts +++ b/packages/ui-vue/components/combo-list/src/property-config/combo-list.property-config.ts @@ -1,4 +1,5 @@ import { FormSchemaEntityFieldType$Type } from "@farris/ui-vue/components/common"; +import { DesignerComponentInstance } from "@farris/ui-vue/components/designer-canvas"; import { FormPropertyChangeObject } from "../../../property-panel"; import { InputBaseProperty } from "../../../property-panel/src/composition/entity/input-base-property"; import { comboListRemoteConverter } from "./converters/combo-list-property.converter"; @@ -21,7 +22,7 @@ export class ComboListProperty extends InputBaseProperty { description: "", title: "允许编辑", type: "boolean", - readonly: fieldType === 'EnumType' + readonly: propertyData.editor.type === 'combo-list' }, enableClear: { description: "", @@ -57,21 +58,21 @@ export class ComboListProperty extends InputBaseProperty { title: "服务端API", type: "string", }, - method: { - visible: propertyData.editor.dataSourceType === "dynamic", - $converter: comboListRemoteConverter, - description: "", - title: "服务端API类型", - type: "enum", - editor: { - default: "GET", - data: [ - { id: "GET", name: "GET" }, - { id: "PUT", name: "PUT" }, - { id: "POST", name: "POST" } - ] - }, - }, + // method: { + // visible: propertyData.editor.dataSourceType === "dynamic", + // $converter: comboListRemoteConverter, + // description: "", + // title: "服务端API类型", + // type: "enum", + // editor: { + // default: "GET", + // data: [ + // { id: "GET", name: "GET" }, + // { id: "PUT", name: "PUT" }, + // { id: "POST", name: "POST" } + // ] + // }, + // }, body: { visible: propertyData.editor.dataSourceType === "dynamic", $converter: comboListRemoteConverter, @@ -95,8 +96,105 @@ export class ComboListProperty extends InputBaseProperty { description: "", title: "启用多选", visible: fieldType === 'StringType', + type: "boolean", + refreshPanelAfterChanged: true, + }, + maxLength: { + description: "", + title: "最大输入长度", + type: "number", + editor: { + nullable: true, + min: 0, + useThousands: false + } + }, + + }, (changeObject: any, propertyData: any) => { + if (!changeObject || !propertyData.editor) { + return; + } + const self = this; + switch (changeObject.propertyID) { + case 'dataSourceType': { + if (changeObject.propertyValue === "static") { + propertyData.editor.valueField = 'value'; + propertyData.editor.textField = 'name'; + propertyData.editor.remote = null; + } else if (changeObject.propertyValue === 'dynamic') { + propertyData.editor.remote = { method: 'GET' }; + propertyData.editor.valueField = 'value'; + propertyData.editor.textField = 'name'; + } + break; + } + case 'data': { + // if (parameters) { + // propertyData.editor.valueField = parameters.valueField; + // propertyData.editor.textField = parameters.nameField; + // } + // 如果可以编辑数据,要同步更新格式化 + if (!self.checkEnumDataReadonly(propertyData) && propertyData.formatter) { + propertyData.formatter.data = [...changeObject.propertyValue]; + } + break; + } + } + }); + + return editorProperties; + } + + public getGridFieldEdtiorProperties(propertyData: any, componentInstance: DesignerComponentInstance | null) { + const self = this; + let fieldType = ''; + if (propertyData?.binding?.type === 'Form') { + const fieldInfo = this.schemaService.getFieldByIDAndVMID(propertyData.binding.field, this.viewModelId); + if (fieldInfo?.schemaField?.type) { + fieldType = fieldInfo.schemaField.type.$type; + } + } + + const editorProperties = self.getComponentConfig(propertyData, { type: "combo-list" }, { + editable: { + description: "", + title: "允许编辑", + type: "boolean", + readonly: propertyData.editor.type === 'combo-list' + }, + enableClear: { + description: "", + title: "启用清空", type: "boolean" }, + data: { + description: "", + title: "数据", + type: "array", + visible: true, + ...self.getItemCollectionEditor(propertyData, propertyData.editor.valueField, propertyData.editor.textField), + // 这个属性,标记当属性变更得时候触发重新更新属性 + refreshPanelAfterChanged: true, + }, + textField: { + description: "", + title: "数据源显示字段", + type: "string", + readonly: true + }, + valueField: { + description: "", + title: "数据源值字段", + type: "string", + readonly: true + }, + multiSelect: { + description: "", + title: "启用多选", + visible: fieldType === 'StringType', + type: "boolean", + refreshPanelAfterChanged: true + }, maxLength: { description: "", title: "最大输入长度", @@ -107,8 +205,8 @@ export class ComboListProperty extends InputBaseProperty { useThousands: false } }, - - }, (changeObject: any, propertyData: any)=>{ + + }, (changeObject: any, propertyData: any) => { if (!changeObject || !propertyData.editor) { return; } @@ -118,7 +216,9 @@ export class ComboListProperty extends InputBaseProperty { if (changeObject.propertyValue === "static") { propertyData.editor.valueField = 'value'; propertyData.editor.textField = 'name'; - propertyData.editor.remote = {}; + propertyData.editor.remote = null; + } else if (changeObject.propertyValue === 'dynamic') { + propertyData.editor.remote = { method: 'GET' }; } break; } @@ -128,14 +228,14 @@ export class ComboListProperty extends InputBaseProperty { // propertyData.editor.textField = parameters.nameField; // } // 如果可以编辑数据,要同步更新格式化 - if(!self.checkEnumDataReadonly(propertyData)&&propertyData.formatter){ - propertyData.formatter.data=[...changeObject.propertyValue]; + if (!self.checkEnumDataReadonly(propertyData) && propertyData.formatter) { + propertyData.formatter.data = [...changeObject.propertyValue]; } break; } } }); - + return editorProperties; } diff --git a/packages/ui-vue/components/common/index.ts b/packages/ui-vue/components/common/index.ts index 52829d9466..41507acfef 100644 --- a/packages/ui-vue/components/common/index.ts +++ b/packages/ui-vue/components/common/index.ts @@ -23,6 +23,7 @@ export * from './utils/use-array-processor'; export * from './utils/use-common-utils'; export * from './utils/use-delayed-ref'; export { default as areaResponseDirective } from './directive/area-response'; +export * from './utils/type'; export default { install(app: App): void { diff --git a/packages/ui-vue/components/common/radio-checkbox/radio-checkbox.props.ts b/packages/ui-vue/components/common/radio-checkbox/radio-checkbox.props.ts index 91048c702a..be3ed8dde7 100644 --- a/packages/ui-vue/components/common/radio-checkbox/radio-checkbox.props.ts +++ b/packages/ui-vue/components/common/radio-checkbox/radio-checkbox.props.ts @@ -41,5 +41,5 @@ export const radioCheckboxCommonProps = { /** * 选项列表 */ - options: { type: Object, default: []} + options: { type: Object} }; diff --git a/packages/ui-vue/components/common/radio-checkbox/use-check.ts b/packages/ui-vue/components/common/radio-checkbox/use-check.ts index ed1d952f43..ab16d3249f 100644 --- a/packages/ui-vue/components/common/radio-checkbox/use-check.ts +++ b/packages/ui-vue/components/common/radio-checkbox/use-check.ts @@ -49,10 +49,10 @@ export function useCheck( // 点击单选框事件 const onClickRadio = (e: MouseEvent) => { - e.stopPropagation(); if (disabled.value) { return; } + e.stopPropagation(); if (parentProps) { // 父组件双向绑定 if (!checked.value) { diff --git a/packages/ui-vue/components/common/utils/type.ts b/packages/ui-vue/components/common/utils/type.ts new file mode 100644 index 0000000000..3d4697a60b --- /dev/null +++ b/packages/ui-vue/components/common/utils/type.ts @@ -0,0 +1,7 @@ +type MaybePromise | any> = T extends Promise ? T: Promise; + +export type { + MaybePromise +}; + + diff --git a/packages/ui-vue/components/data-grid/src/components/data/data-area.component.tsx b/packages/ui-vue/components/data-grid/src/components/data/data-area.component.tsx index a93b11dbd9..96ec6289c1 100644 --- a/packages/ui-vue/components/data-grid/src/components/data/data-area.component.tsx +++ b/packages/ui-vue/components/data-grid/src/components/data/data-area.component.tsx @@ -13,13 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { Fragment, isVNode, Ref, SetupContext, VNodeArrayChildren, Comment } from 'vue'; -import { DataGridProps } from '../../data-grid.props'; +import { Fragment, isVNode, Ref, SetupContext, VNodeArrayChildren, Comment, ref, reactive, watch } from 'vue'; +import FTooltip from '@farris/ui-vue/components/tooltip'; import { - CellMode, DataColumn, UseCellContent, UseCellPosition, UseColumn, UseEdit, UseFitColumn, UseGroupData, + CellMode, DataColumn, DataViewType, UseCellContent, UseCellPosition, UseColumn, UseDataView, UseEdit, UseFitColumn, UseGroupData, UseNavigation, UseRow, UseVirtualScroll, UseVisualData, VisualData, VisualDataCell -} from '../../../../data-view'; +} from '@farris/ui-vue/components/data-view'; +import { useCommonUtils } from '@farris/ui-vue/components/common'; +import { DataGridProps } from '../../data-grid.props'; export default function ( props: DataGridProps, @@ -36,9 +38,12 @@ export default function ( useRowComposition: UseRow, useVisualDataComposition: UseVisualData, useVirtualScrollComposition: UseVirtualScroll, - visibleDatas: Ref + visibleDatas: Ref, + useDataViewComposition: UseDataView ) { + const { isNull, isUndefined } = useCommonUtils(); + const { totalItems, rawView } = useDataViewComposition; const { calculateCellPositionInRow, cellKey, @@ -91,6 +96,25 @@ export default function ( }; }; + const leftFixedColumnClass = reactive({ 'fv-grid-content-left-fixed': true }); + const rightFixedColumnClass = reactive({ 'fv-grid-content-right-fixed': true }); + + watch( + [ + totalItems, + rawView + ], + (newValue: [number, DataViewType['value']]) => { + if (!newValue[0] && !newValue[1].length) { + leftFixedColumnClass['fv-grid-content-left-fixed'] = false; + rightFixedColumnClass['fv-grid-content-right-fixed'] = false; + } else { + leftFixedColumnClass['fv-grid-content-left-fixed'] = true; + rightFixedColumnClass['fv-grid-content-right-fixed'] = true; + } + } + ); + const { gridDataStyle, gridMergedDataStyle, @@ -198,6 +222,7 @@ export default function ( } function renderDefaultCellContent(cell: VisualDataCell, row: VisualData) { + const cellText = !isNull(cell.data) && !isUndefined(cell.data) ? cell.data.toString() : cell.data; return cell.mode === CellMode.editing ?
{cell.getEditor(cell)} @@ -206,7 +231,16 @@ export default function ( { cell.formatter ? cell.formatter(cell, row) : - (cell.data != null ? cell.data.toString() : cell.data) + cell.showTips ? + + { + { + default: () => cellText, + contentTemplate: () => cellText + } + } + : + cellText }
; } @@ -239,7 +273,7 @@ export default function ( onClick={(payload: MouseEvent) => onClickCell(payload, cell, visualDataRow, cell.column as DataColumn)} onKeydown={navigateOnKeyDown} onKeyup={(payload: KeyboardEvent) => navigateOnKeyUp(payload, cell)} - > + >
{ isCellTemplateValidVNode ? @@ -283,7 +317,7 @@ export default function ( function renderLeftFixedGrid() { return ( -
+
{renderGridData(columnContext.value.leftColumns.filter((column: DataColumn) => column.visible), 'left')}
@@ -309,7 +343,7 @@ export default function ( function renderRightFixedGrid() { return ( -
+
{renderGridData(columnContext.value.rightColumns.filter((column: DataColumn) => column.visible), 'right')}
diff --git a/packages/ui-vue/components/data-grid/src/data-grid.component.tsx b/packages/ui-vue/components/data-grid/src/data-grid.component.tsx index 2a97061a86..4cecbb3551 100644 --- a/packages/ui-vue/components/data-grid/src/data-grid.component.tsx +++ b/packages/ui-vue/components/data-grid/src/data-grid.component.tsx @@ -57,7 +57,7 @@ export default defineComponent({ const { showSelectAll, updateSelectAllStatus } = useSelectionComposition; const isDisabled = computed(() => props.disabled); const visibleCapacity = computed(() => { - return Math.min(dataView.dataView.value.length, defaultVisibleCapacity.value); + return props.virtualized ? Math.min(dataView.dataView.value.length, defaultVisibleCapacity.value): dataView.dataView.value.length; }); const loadingMessage = computed(() => props.loadingConfig.message); @@ -119,7 +119,8 @@ export default defineComponent({ useVisualDataComposition, visibleCapacity, preloadCount, - sidebarWidth + sidebarWidth, + useEditComposition ); const { onWheel, dataGridWidth, viewPortHeight, viewPortWidth, resetScroll, updateVisibleRowsOnLatestVisibleScope } = useVirtualScrollComposition; @@ -348,18 +349,26 @@ export default defineComponent({ } else { resetScroll(); } - if (showSidebarCheckBox.value && showSelectAll.value) { // 如果启用全选,更新全选状态,此处用于服务端分页简单的跨页多选场景 updateSelectAllStatus(); } } + // 清空编辑对象,解绑编辑事件 + useEditComposition.clear(); } function updatePagination(pageOptions: Partial) { usePaginationComposition.updatePagination(pageOptions); } + watch(dataView.shouldGroupingData,(newEnableGroup: boolean, oldEnableGroup: boolean) => { + if(newEnableGroup !== oldEnableGroup) { + dataView.updateDataView(); + resetScroll(); + } + }); + // 监听传入数据变化,更新视图,此处可能存在性能问题,需要跟changePolicy属性配合使用 watch(() => props.data, (newDataValue) => { if (props.changePolicy === 'default') { @@ -465,7 +474,8 @@ export default defineComponent({ useRowComposition, useVisualDataComposition, useVirtualScrollComposition, - visibleDatas + visibleDatas, + dataView ); const shouldRenderEmptyContent = computed(() => !visibleDatas.value || !visibleDatas.value.length); diff --git a/packages/ui-vue/components/data-grid/src/data-grid.css b/packages/ui-vue/components/data-grid/src/data-grid.css index 73cc455cac..b804c62805 100644 --- a/packages/ui-vue/components/data-grid/src/data-grid.css +++ b/packages/ui-vue/components/data-grid/src/data-grid.css @@ -40,3 +40,7 @@ .f-checkradio-single .custom-control-label::after, .f-checkradio-single .custom-control-label::before { top: 3px; } + +.fv-grid-header-cell.fv-grid-header-cell-border::after { + background-color: transparent; +} diff --git a/packages/ui-vue/components/data-view/components/column-filter/column-filter-container.component.tsx b/packages/ui-vue/components/data-view/components/column-filter/column-filter-container.component.tsx index a37542ba23..079aa5708f 100644 --- a/packages/ui-vue/components/data-view/components/column-filter/column-filter-container.component.tsx +++ b/packages/ui-vue/components/data-view/components/column-filter/column-filter-container.component.tsx @@ -26,6 +26,7 @@ import { UseVirtualScroll, UseFilter } from '../../composition/types'; +import { Tag } from '@farris/ui-vue/components/tags'; export default function ( useColumnComposition: UseColumn, @@ -70,6 +71,11 @@ export default function ( } useDataViewComposition.removeFilter(`field_filter_${headerCell.field}`); clearSort(headerCell); + if (headerCell.filterHistory) { + headerCell.filterHistory.forEach((history: Tag) => { + history.checked = false; + }); + } } function updateSortStatus(headerCell: HeaderCell) { diff --git a/packages/ui-vue/components/data-view/components/column-filter/date-filter-editor.component.tsx b/packages/ui-vue/components/data-view/components/column-filter/date-filter-editor.component.tsx index 7d4d9d7b88..57809aaf4d 100644 --- a/packages/ui-vue/components/data-view/components/column-filter/date-filter-editor.component.tsx +++ b/packages/ui-vue/components/data-view/components/column-filter/date-filter-editor.component.tsx @@ -31,11 +31,11 @@ export default function (headerCell: HeaderCell) { } return
-
+ {/*
-
+
*/} - + {/* */}
; } diff --git a/packages/ui-vue/components/data-view/components/column-filter/text-filter-editor.component.tsx b/packages/ui-vue/components/data-view/components/column-filter/text-filter-editor.component.tsx index 1f50fd0ce4..dcc34b0853 100644 --- a/packages/ui-vue/components/data-view/components/column-filter/text-filter-editor.component.tsx +++ b/packages/ui-vue/components/data-view/components/column-filter/text-filter-editor.component.tsx @@ -29,7 +29,11 @@ export default function ( } function onSelectHistoryTag(currentTag: Tag) { - filterValue.value = currentTag.name; + if (currentTag.checked) { + filterValue.value = currentTag.name; + } else { + filterValue.value = ''; + } onFilterValueChange(filterValue.value); } @@ -48,7 +52,8 @@ export default function ( return
onFilterValueChange(data)} diff --git a/packages/ui-vue/components/data-view/components/column-header/column-header-handler.component.tsx b/packages/ui-vue/components/data-view/components/column-header/column-header-handler.component.tsx index 46fb1dd09a..65b1f1dc7d 100644 --- a/packages/ui-vue/components/data-view/components/column-header/column-header-handler.component.tsx +++ b/packages/ui-vue/components/data-view/components/column-header/column-header-handler.component.tsx @@ -162,10 +162,10 @@ export default function ( { headerCell.showPopover = false; diff --git a/packages/ui-vue/components/data-view/components/column-header/column-header.component.tsx b/packages/ui-vue/components/data-view/components/column-header/column-header.component.tsx index 31ec656999..3f295f9e55 100644 --- a/packages/ui-vue/components/data-view/components/column-header/column-header.component.tsx +++ b/packages/ui-vue/components/data-view/components/column-header/column-header.component.tsx @@ -90,6 +90,10 @@ export default function ( if (columnContext.value.headerDepth > 1) { styleObject['line-height'] = `${headerCell.depth * gridHeaderCellHeight}px`; } + if(props.showBorder){ + // 如果显示边框,表头应该展示边框 + styleObject.border = '1px solid #e6e9f0'; + } headerCellPositionMap.set(columnIndex + 1, headerCellPosition + (headerCell.actualWidth || defaultColumnHeight)); return styleObject; } @@ -146,10 +150,34 @@ export default function ( useVirtualScrollComposition ); function getHeaderClass(headerCell: HeaderCell) { - const classObject = { "fv-grid-header-cell": true }; + const classObject = { + "fv-grid-header-cell": true, + 'fv-grid-header-cell-border': props.showBorder + }; classObject["text-" + (headerCell.column?.halign || 'left')]=true; return classObject; } + + function onChangeValue(value:boolean) { + // remove indeterminate status + indeterminateStatus.value = false; + const visibleDataItems = visibleDatas.value.map((visualData: VisualData) => visualData.raw); + const inVisibleData = getDifference(dataView.value, visibleDataItems); + if (value) { + // select all visible data + selectAll(); + // select all invisible data + inVisibleData.forEach((dataItem: any) => { + selectDataItem(dataItem); + }); + } else { + unSelectAll(); + inVisibleData.forEach((dataItem: any) => { + unSelectDataItem(dataItem); + }); + } + } + function renderGridHeaderCell(headerCell: HeaderCell, headerCells: HeaderCell[], columnIndex: number) { return (
dragenter(payload, columnIndex)} onDragend={(payload: DragEvent) => dragend(payload, headerCell)} onDragover={(payload: DragEvent) => dragover(payload, columnIndex)}> + { + // 树表第一列全选按钮 + props.hierarchy && columnIndex === 0 && showSelectAll.value && ( + + + + ) + } { context.slots.headerCellTemplate ? context.slots.headerCellTemplate({ headerCell, headerCells, columnIndex }): @@ -210,26 +249,6 @@ export default function ( } - function onChangeValue(value:boolean) { - // remove indeterminate status - indeterminateStatus.value = false; - const visibleDataItems = visibleDatas.value.map((visualData: VisualData) => visualData.raw); - const inVisibleData = getDifference(dataView.value, visibleDataItems); - if (value) { - // select all visible data - selectAll(); - // select all invisible data - inVisibleData.forEach((dataItem: any) => { - selectDataItem(dataItem); - }); - } else { - unSelectAll(); - inVisibleData.forEach((dataItem: any) => { - unSelectDataItem(dataItem); - }); - } - } - const hasSelectedItem = computed(() => { return selectedValues.value.length > 0 && visibleDatas.value.length !== selectedValues.value.length; }); @@ -252,8 +271,8 @@ export default function (
)} {showRowNumer.value && -
-
+
, - - - , - - - + // + // + // + // FConditionList组件功能不完善,先把表格筛选特性隐藏掉 + // + // + // ], headerSuffix: () => (
onCloseSettingPanel()}> @@ -215,8 +216,9 @@ export default function ( const width = 800; const showButtons = true; const showHeader = false; + const dragHandler = '.farris-tabs-header'; modalInstance = modalService.open({ - title, width, showButtons, showHeader, + title, width, showButtons, showHeader, dragHandle:dragHandler, draggable: true, render: renderSettingsPanel, acceptCallback, rejectCallback }); } diff --git a/packages/ui-vue/components/data-view/components/pagination/data-grid-pagination.component.tsx b/packages/ui-vue/components/data-view/components/pagination/data-grid-pagination.component.tsx index 1be3cb10a3..2e6a1b1fd5 100644 --- a/packages/ui-vue/components/data-view/components/pagination/data-grid-pagination.component.tsx +++ b/packages/ui-vue/components/data-view/components/pagination/data-grid-pagination.component.tsx @@ -68,6 +68,7 @@ export default function ( disabled={disabled.value} v-model:currentPage={pageIndex.value} v-model:pageSize={pageSize.value} + showPageInfo={props.pagination?.showPageInfo} showGoButton={showGotoPage.value} showPageList={showPageList.value} showPageNumbers={showPageIndex.value} diff --git a/packages/ui-vue/components/data-view/components/row/hierarchy-row.component.tsx b/packages/ui-vue/components/data-view/components/row/hierarchy-row.component.tsx index 1b393904a1..018a573cb2 100644 --- a/packages/ui-vue/components/data-view/components/row/hierarchy-row.component.tsx +++ b/packages/ui-vue/components/data-view/components/row/hierarchy-row.component.tsx @@ -1,4 +1,4 @@ -import { Ref, SetupContext, ref } from "vue"; +import { Fragment, Ref, SetupContext, VNodeArrayChildren, isVNode, ref } from "vue"; import FTooltip from '@farris/ui-vue/components/tooltip'; import { CellMode, ColumnContext, DataColumn, DataViewOptions, UseDataView, UseEdit, UseHierarchy, UseRow, UseSelectHierarchyItem, UseSelection, UseVirtualScroll, UseVisualData, UseVisualDataBound, VisualData, VisualDataCell } from "../../composition/types"; import { useCellPosition } from "../../composition/appearance/use-cell-position"; @@ -25,7 +25,7 @@ export default function ( ) { const { onClickCell } = useEditComposition; const { gridCellClass, gridHierarchyCellClass, gridRowClass, onClickRow, onMouseoverRow, onMouseoutRow } = useRowComposition; - const { enableMultiSelect, select, unSelect, selectItem } = useSelectionCompostion; + const { enableMultiSelect, select, unSelect, selectItem, updateSelectAllStatus } = useSelectionCompostion; /** 单元格高度 */ const customCellHeight = ref(props.cellHeight); /** 树节点图标 */ @@ -66,6 +66,22 @@ export default function ( // ); // } + function ensureValidVNode(slot: VNodeArrayChildren | null) { + return (slot || []).some(child => { + if (!isVNode(child)) { + return true; + } + if (child.type === Comment) { + return false; + } + if (child.type === Fragment && !ensureValidVNode(child.children as VNodeArrayChildren)) { + return false; + } + return true; + }) + ? slot + : null; + }; function onClickToggleIcon(payload: MouseEvent, visualData: VisualData) { payload.stopPropagation(); toggleTreeNode(visualData); @@ -94,6 +110,7 @@ export default function ( visualData.checked ? select(visualData) : unSelect(visualData); toggleSelectHierarchyItem(visualData); } + updateSelectAllStatus(); } function renderSelectableCheckbox(visualData: VisualData, cell: VisualDataCell) { @@ -105,34 +122,38 @@ export default function ( } function renderCell(visualData: VisualData, cell: VisualDataCell) { - return + const isCellTemplateValidVNode = context.slots.cellTemplate && + ensureValidVNode(context.slots.cellTemplate({ cell, row: visualData })); + const cellText = cell.data !== null && cell.data !== undefined ? + cell.data.toString() : + cell.data; + return { - context.slots.cellTemplate ? - context.slots.cellTemplate({ cell, row: visualData }): + isCellTemplateValidVNode ? + context.slots.cellTemplate?.({ cell, row: visualData }): cell.mode === CellMode.editing ? cell.getEditor(cell) : (cell.formatter ? cell.formatter(cell, visualData) : - (cell.data != null ? - cell.data.toString() : - cell.data)) + cell.showTips? + + { + { + default: () => cellText, + contentTemplate: () => cellText + } + } + : + cellText + ) } ; } function renderCellContentData(visualData: VisualData, cell: VisualDataCell) { return
- { - cell.showTips? - - { - { - default: () => renderCell(visualData,cell), - contentTemplate: () => renderCell(visualData,cell) - } - } - : - renderCell(visualData,cell) + { + renderCell(visualData,cell) }
; } @@ -160,15 +181,6 @@ export default function (
{ - cell.showTips? - - { - { - default: () => renderCell(visualData,cell), - contentTemplate: () => renderCell(visualData,cell) - } - } - : renderCell(visualData,cell) }
diff --git a/packages/ui-vue/components/data-view/composition/appearance/use-hierarchy-style.ts b/packages/ui-vue/components/data-view/composition/appearance/use-hierarchy-style.ts index d798ddd2f4..36914c10d9 100644 --- a/packages/ui-vue/components/data-view/composition/appearance/use-hierarchy-style.ts +++ b/packages/ui-vue/components/data-view/composition/appearance/use-hierarchy-style.ts @@ -118,7 +118,7 @@ export function useHierarchyStyle( display: 'none' }; if (!hasChildren) { - styleObject.paddingLeft = `calc(${paddingLeft} + 2rem)`; + styleObject.paddingLeft = `calc(${paddingLeft} + .9rem)`; } return styleObject; } diff --git a/packages/ui-vue/components/data-view/composition/data/use-data-view.ts b/packages/ui-vue/components/data-view/composition/data/use-data-view.ts index 6bfc87c2fa..a4a57a8177 100644 --- a/packages/ui-vue/components/data-view/composition/data/use-data-view.ts +++ b/packages/ui-vue/components/data-view/composition/data/use-data-view.ts @@ -527,6 +527,7 @@ export function useDataView( totalItems, unFold, updateDataView, - visibleDataItems + visibleDataItems, + shouldGroupingData }; } diff --git a/packages/ui-vue/components/data-view/composition/types.ts b/packages/ui-vue/components/data-view/composition/types.ts index 0d1f241e92..218981a28f 100644 --- a/packages/ui-vue/components/data-view/composition/types.ts +++ b/packages/ui-vue/components/data-view/composition/types.ts @@ -518,6 +518,7 @@ export interface DataViewOptions { /** 自动高度 */ autoHeight: boolean; + showBorder: boolean; } export interface UseDataView { @@ -598,6 +599,8 @@ export interface UseDataView { updateDataView: () => void; visibleDataItems: ComputedRef; + + shouldGroupingData: ComputedRef; } export type DataViewType = UseDataView['dataView']; @@ -647,10 +650,12 @@ export interface UseVisualDataCell { } export interface UseEdit { + clear: () => void; getEditor: (cell: VisualDataCell, column: DataColumn, visualDataRow: VisualData) => any; onClickCell: (payload: MouseEvent, cell: VisualDataCell, row: VisualData, column: DataColumn) => any; + onClickOutOfCell:(payload: MouseEvent) => void; onClickCellByKeyboard: (payload: MouseEvent, cell: VisualDataCell, row: VisualData, column: DataColumn) => any; onMousedownCell: (payload: MouseEvent) => any; @@ -1268,5 +1273,6 @@ export type MappedTypeWithNewProperty = { } export interface UpdateDataOption { - keepScrollTop?: boolean + keepScrollTop?: boolean; + keepScrollPosition?: boolean; } diff --git a/packages/ui-vue/components/data-view/composition/use-edit.tsx b/packages/ui-vue/components/data-view/composition/use-edit.tsx index 6b9d8dbc68..8f457a28a7 100644 --- a/packages/ui-vue/components/data-view/composition/use-edit.tsx +++ b/packages/ui-vue/components/data-view/composition/use-edit.tsx @@ -23,9 +23,9 @@ import { import { cloneDeep, isUndefined } from 'lodash-es'; export function useEdit( - props: DataViewOptions, - context: SetupContext, - useIdentifyComposition: UseIdentify, + props: DataViewOptions, + context: SetupContext, + useIdentifyComposition: UseIdentify, useRowComposition: UseRow, visibleDatas: Ref ): UseEdit { @@ -164,8 +164,8 @@ export function useEdit( return Promise.resolve() .then(() => { const defaultEditorReadonlyStatus = column.editor?.readonly; - if (typeof props.beforeEditCell === 'function') { - return !defaultEditorReadonlyStatus && props.beforeEditCell({ row, cell, rawData: row.raw, column }); + if (!isUndefined(props.beforeEditCell) && typeof props.beforeEditCell === 'function') { + return props.beforeEditCell({ row, cell, rawData: row.raw, column }); } return !defaultEditorReadonlyStatus; }) @@ -290,10 +290,13 @@ export function useEdit( if (editor.type === 'number-spinner') { // editor.keyboard = false; } + if (editor.type === 'textarea') { + editor.lineBreak = 'alt enter'; + } editor.context = { rowData: visualDataRow.raw, column, cell, editor: controlData }; + editor.readonly = false; return onMousedownCell(payload)} onMouseup={(payload: MouseEvent) => onMouseupCell(payload)} @@ -305,7 +308,7 @@ export function useEdit( function onEndEditCell() { allowEndEditing(editingCell); } - + watch( () => props.editable, () => { @@ -318,15 +321,25 @@ export function useEdit( }); // when datasource is changed, editing status should be reset - watch(() => visibleDatas.value, () => { + // watch(() => visibleDatas.value, (newvisibleDatas: VisualData[], oldv) => { + // editingCell = null; + // editingRow = null; + // editingColumn = null; + // mousedownTarget = null; + // document.body.removeEventListener('click', onClickOutOfCell, true); + // }); + + function clear() { editingCell = null; editingRow = null; editingColumn = null; mousedownTarget = null; document.body.removeEventListener('click', onClickOutOfCell, true); - }); + } return { + clear, + onClickOutOfCell, onClickCell, onClickCellByKeyboard, onEditingRow, diff --git a/packages/ui-vue/components/data-view/composition/use-navigation.ts b/packages/ui-vue/components/data-view/composition/use-navigation.ts index a22a5cfafd..376705d95f 100644 --- a/packages/ui-vue/components/data-view/composition/use-navigation.ts +++ b/packages/ui-vue/components/data-view/composition/use-navigation.ts @@ -31,7 +31,7 @@ export function useNavigation( const nextVisualDataRow = visibleDatas.value[currentVisualDataRowIndex + 1]; const nextColumn = columnContext.value.primaryColumns[0]; const nextCell = nextVisualDataRow.data[columnContext.value.primaryColumns[0].field]; - onClickCell(payload, nextCell, currentVisualDataRow, nextColumn); + onClickCell(payload, nextCell, nextVisualDataRow, nextColumn); } if (atLastCell && atLastRow) { if (props.appendOnEnterAtLastCell) { diff --git a/packages/ui-vue/components/data-view/composition/use-selection.ts b/packages/ui-vue/components/data-view/composition/use-selection.ts index 1229e2085a..dceede1863 100644 --- a/packages/ui-vue/components/data-view/composition/use-selection.ts +++ b/packages/ui-vue/components/data-view/composition/use-selection.ts @@ -328,6 +328,13 @@ export function useSelection( }) as VisualData; if (visibleItemToBeSelected) { selectItem(visibleItemToBeSelected); + } else { + const dataItemToBeSelected = dataView.value.find((dataItem: any) => { + return dataItem[idField.value] === dataItemId; + }); + if (dataItemToBeSelected) { + selectDataItem(dataItemToBeSelected); + } } } @@ -344,6 +351,7 @@ export function useSelection( dataItemIds.includes(dataItemId); }); if (visibleItemToBeSelected.length || dataItemToBeSelected.length) { + // todo: should not clear,should append selected values clearSelection(); // if single select row, active current row if (isSingleSelect.value) { @@ -378,6 +386,9 @@ export function useSelection( } } } + selectedValues.value = selectedValues.value.filter((selectedId: string) => + !dataItemIds.includes(selectedId) + ); } diff --git a/packages/ui-vue/components/data-view/composition/visualization/use-virtual-scroll.ts b/packages/ui-vue/components/data-view/composition/visualization/use-virtual-scroll.ts index 8d9bb1b03f..74744c67f7 100644 --- a/packages/ui-vue/components/data-view/composition/visualization/use-virtual-scroll.ts +++ b/packages/ui-vue/components/data-view/composition/visualization/use-virtual-scroll.ts @@ -13,7 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { ColumnContext, DataViewOptions, UseDataView, UseVirtualScroll, UseVisualData, VisualData } from '../types'; +import { + ColumnContext, DataViewOptions, UseDataView, UseEdit, + UseVirtualScroll, UseVisualData, VisualData +} from '../types'; import { DebouncedFunc, throttle } from 'lodash-es'; import { computed, ref, Ref, watch } from 'vue'; @@ -25,7 +28,8 @@ export function useVirtualScroll( visualDataComposition: UseVisualData, visibleCapacity: Ref, preloadCount: number, - sidebarWidth: Ref + sidebarWidth: Ref, + useEditComposition?: UseEdit ): UseVirtualScroll { const { dataView, visibleDataItems } = dataViewComposition; const { getVisualData, maxVisibleRowIndex, minVisibleRowIndex } = visualDataComposition; @@ -140,6 +144,14 @@ export function useVirtualScroll( const { actualStart, actualEnd } = checkVisualizeDataScope(start, end, lastVisibleRowIndexInDataView); const preDataItem = itemsToVisualize[actualStart - 1]; const visualData = getVisualData(actualStart, actualEnd, preDataItem, forceToRefresh); + // if (useEditComposition.getEditingRow()) { + // const editingRow = useEditComposition.getEditingRow(); + // const foundVisualDataItemIndex = visualData.findIndex((visualDataItem: VisualData) => + // visualDataItem.raw[useIdentifyComposition.idField.value] === editingRow?.raw[useIdentifyComposition.idField.value]); + // if (foundVisualDataItemIndex > -1) { + // visualData = [...visualData.slice(0, foundVisualDataItemIndex), editingRow!, ...visualData.slice(foundVisualDataItemIndex + 1)]; + // } + // } if (visualData.length) { visibleDatas.value = [...visualData]; } @@ -279,9 +291,11 @@ export function useVirtualScroll( return; } + payload.preventDefault(); payload.stopPropagation(); - + // 滚轮滚动时不结束编辑 + // useEditComposition.onClickOutOfCell(payload); const { deltaX, deltaY } = getDeltaFromEvent(payload); // const deltaY = ((payload as any).wheelDeltaY || payload.deltaY) / 10; @@ -380,7 +394,8 @@ export function useVirtualScroll( const styleObject = { width: '8px', height: `${scrollThumbHeight.value}px`, - top: `${thumbPositionY.value}px` + top: `${thumbPositionY.value}px`, + backgroundColor: '#cccccc' } as Record; return styleObject; }); @@ -393,7 +408,8 @@ export function useVirtualScroll( const styleObject = { height: '8px', width: `${scrollThumbWidth.value}px`, - left: `${thumbPositionX.value}px` + left: `${thumbPositionX.value}px`, + backgroundColor: '#cccccc' } as Record; return styleObject; }); @@ -448,6 +464,7 @@ export function useVirtualScroll( } function onMouseDownScrollThumb($event: MouseEvent, gridContentRef: Ref, thumbType: 'vertical' | 'horizontal') { + useEditComposition?.onClickOutOfCell($event); onDraggingScrollThumb.value = true; const scrollThumbParent = ($event.target as Element)?.parentElement; diff --git a/packages/ui-vue/components/data-view/composition/visualization/use-visual-data-bound.ts b/packages/ui-vue/components/data-view/composition/visualization/use-visual-data-bound.ts index f599bd1587..0b3d7a4e56 100644 --- a/packages/ui-vue/components/data-view/composition/visualization/use-visual-data-bound.ts +++ b/packages/ui-vue/components/data-view/composition/visualization/use-visual-data-bound.ts @@ -15,13 +15,19 @@ export function useVisualDataBound( let preDataItemHeight = preDataItem.__fv_data_height__; if (isUndefined(preDataItemPosition) || // when virtual loading, position of tree node should recalculate after collapse tree node. - (props.virtualized && preDataItem.__fv_visible_index__ * rowHeight !== preDataItemPosition) + (props.virtualized && props.hierarchy && preDataItem.__fv_visible_index__ * rowHeight !== preDataItemPosition) ) { preDataItemPosition = preDataItem.__fv_visible_index__ * rowHeight; } if (isUndefined(preDataItemHeight)) { preDataItemHeight = rowHeight; } + // const preDataItemPosition = preDataItem ? ( + // preDataItem.__fv_data_position__ !== undefined ? preDataItem.__fv_data_position__ : preDataItem.__fv_index__ * rowHeight + // ) : 0; + // const preDataItemHeight = preDataItem ? ( + // preDataItem.__fv_data_height__ !== undefined ? preDataItem.__fv_data_height__ : rowHeight + // ) : 0; const topPosition = !visualData.visible ? preDataItem.__fv_data_position__ : preDataItemPosition + preDataItemHeight; visualData.top = topPosition; dataItem.__fv_data_position__ = topPosition; @@ -44,6 +50,10 @@ export function useVisualDataBound( } updateRowPosition(visualData, dataItem); } + // 列隐藏时,此时vnode为空,需要重新设置单元格的引用 + if(!vnode && targetCell.ref){ + targetCell.ref = vnode; + } } return { updateRowPosition, updateVisualInfomation }; diff --git a/packages/ui-vue/components/date-picker/src/date-picker.component.tsx b/packages/ui-vue/components/date-picker/src/date-picker.component.tsx index b2d4bb2779..b0fd8a0fe3 100644 --- a/packages/ui-vue/components/date-picker/src/date-picker.component.tsx +++ b/packages/ui-vue/components/date-picker/src/date-picker.component.tsx @@ -182,7 +182,6 @@ export default defineComponent({ editable={editable.value} enableClear={enableClear.value} popupOnClick={true} - preventScroll={true} onClear={onClearDate} onClickButton={onClickButton} focusOnCreated={props.focusOnCreated} diff --git a/packages/ui-vue/components/designer-outline/src/designer-outline.component.tsx b/packages/ui-vue/components/designer-outline/src/designer-outline.component.tsx index 653a6f1dd4..2dd46ae4ac 100644 --- a/packages/ui-vue/components/designer-outline/src/designer-outline.component.tsx +++ b/packages/ui-vue/components/designer-outline/src/designer-outline.component.tsx @@ -74,6 +74,8 @@ export default defineComponent({ if (currentSelectedNodeId) { currentSelectedNodeId.value = selectedItem.originalId; } + // 设置选中当前行 + treeRef.value.activeRowById(selectedItem.id); currentSelectedOutsideNodeId.value = ''; } else if (currentSelectedNodeId) { // 解决在控件树上不存在的节点,不能被选中的问题 diff --git a/packages/ui-vue/components/event-parameter/src/composition/editors/use-combo-tree.ts b/packages/ui-vue/components/event-parameter/src/composition/editors/use-combo-tree.ts index 48bf401a36..33832f5687 100644 --- a/packages/ui-vue/components/event-parameter/src/composition/editors/use-combo-tree.ts +++ b/packages/ui-vue/components/event-parameter/src/composition/editors/use-combo-tree.ts @@ -8,6 +8,20 @@ export default function ( ): UseEditorInput { const shouldRenderAppendButton = computed(() => props.editorType === EditorType.Default); + function checkAndProcessBeforeAssign(modelValue: string) { + const foundDataItem = props.data.find((dataItem: any) => { + const viewModelData = dataItem; + if (viewModelData.children) { + const hasCommand = viewModelData.children.some((child: any) => child.data?.id === modelValue); + return hasCommand; + } + return false; + }); + if (!foundDataItem) { + return ''; + } + return modelValue; + } function createEditorProps(): void { editorMap[props.editorType] = { type: 'combo-tree', @@ -29,7 +43,8 @@ export default function ( } return visualData; } - } + }, + checkAndProcessBeforeAssign }; } diff --git a/packages/ui-vue/components/event-parameter/src/event-parameter.component.tsx b/packages/ui-vue/components/event-parameter/src/event-parameter.component.tsx index 3b34e83791..d1d04525a6 100644 --- a/packages/ui-vue/components/event-parameter/src/event-parameter.component.tsx +++ b/packages/ui-vue/components/event-parameter/src/event-parameter.component.tsx @@ -77,15 +77,19 @@ export default defineComponent({ const textareaModelValue = ref(modelValue.value); watch( - [ - () => props.modelValue, - editorConfig, - ], + () => props.modelValue, () => { const newModelValue = ref(getDefaultValue()); modelValue.value = getModelValue(newModelValue.value); }, ); + + watch( + editorConfig, + () => { + modelValue.value = getModelValue(modelValue.value); + }, + ); watch(() => props.data, () => { modelValue.value = getModelValue(modelValue.value); @@ -99,12 +103,12 @@ export default defineComponent({ const rowOption: Ref> = ref({ customRowStatus: (visualData: VisualData) => { if (visualData.collapse === undefined) { - if (!visualData.raw.parent || !visualData.raw.parentId) { - visualData.collapse = false; - } - if (visualData.raw.data?.$type === 'ComplexField') { - visualData.collapse = true; - } + // if (!visualData.raw.parent || !visualData.raw.parentId) { + // visualData.collapse = false; + // } + // if (visualData.raw.data?.$type === 'ComplexField') { + // visualData.collapse = true; + // } } if (visualData.raw.hasChildren) { visualData.disabled = true; @@ -232,6 +236,9 @@ export default defineComponent({ fitMode: 'expand' }} rowOption={rowOption.value} + hierarchy={{ + collapseField: 'collapse' + }} key={item.treeConfigs.id} data={item.treeConfigs.data} columns={columns.value} diff --git a/packages/ui-vue/components/input-group/src/components/text-edit.component.tsx b/packages/ui-vue/components/input-group/src/components/text-edit.component.tsx index 1ae27f9557..e5731f7baf 100644 --- a/packages/ui-vue/components/input-group/src/components/text-edit.component.tsx +++ b/packages/ui-vue/components/input-group/src/components/text-edit.component.tsx @@ -42,7 +42,7 @@ export default function ( } if (props.focusOnCreated) { // 设置默认 - (inputElementRef.value as HTMLInputElement)?.focus({ preventScroll: props.preventScroll }); + (inputElementRef.value as HTMLInputElement)?.focus({ preventScroll: true }); } }); diff --git a/packages/ui-vue/components/input-group/src/input-group.component.tsx b/packages/ui-vue/components/input-group/src/input-group.component.tsx index e6e41e7b7f..a4a2d17862 100644 --- a/packages/ui-vue/components/input-group/src/input-group.component.tsx +++ b/packages/ui-vue/components/input-group/src/input-group.component.tsx @@ -106,7 +106,7 @@ export default defineComponent({ {renderEditor()} } - {!shouldRenderTextarea.value && + {!shouldRenderTextarea.value && !shouldRenderNumber.value && shouldShowAppendedButton.value && renderAppendedButton()} {shouldRenderTextarea.value && renderClear()} {shouldRenderTextarea.value && renderCount()} diff --git a/packages/ui-vue/components/input-group/src/input-group.props.ts b/packages/ui-vue/components/input-group/src/input-group.props.ts index ed395f7225..7d2c1b491e 100644 --- a/packages/ui-vue/components/input-group/src/input-group.props.ts +++ b/packages/ui-vue/components/input-group/src/input-group.props.ts @@ -77,6 +77,7 @@ export const inputGroupProps = { rows: { type: Number, default: 2 }, /** 展示输入文本数量 */ showCount: { type: Boolean, default: false }, + showZero: { type: Boolean, default: false }, /** * 作为内嵌编辑器被创建后默认获得焦点 */ @@ -91,10 +92,11 @@ export const inputGroupProps = { * - change: 输入时更新 */ updateOn: { type: String, default: 'blur' }, - /** 阻止聚焦滚动 默认是浏览器行为会滚动 */ - preventScroll: { type: Boolean, default: false}, - - formatValidation: { type: Object, default: {} } + formatValidation: { type: Object, default: {} }, + /** + * 是否启用快捷键 + */ + keyboard: { type: Boolean, default: true } } as Record; export type InputGroupProps = ExtractPropTypes; diff --git a/packages/ui-vue/components/list-view/src/composition/use-draggable.ts b/packages/ui-vue/components/list-view/src/composition/use-draggable.ts index c0560c78b9..25aa7d44f5 100644 --- a/packages/ui-vue/components/list-view/src/composition/use-draggable.ts +++ b/packages/ui-vue/components/list-view/src/composition/use-draggable.ts @@ -32,6 +32,7 @@ export function useDraggable( function createDragImage(originalElement: any) { const { left, top } = originalElement.getBoundingClientRect(); const customDragIcon = (originalElement.cloneNode(true)) as any; + // top:${document.documentElement.scrollTop + top}px; customDragIcon.style.cssText = ` position:absolute; left:${left}px; diff --git a/packages/ui-vue/components/nav/src/nav.component.tsx b/packages/ui-vue/components/nav/src/nav.component.tsx index 501682c993..ed562e83e2 100644 --- a/packages/ui-vue/components/nav/src/nav.component.tsx +++ b/packages/ui-vue/components/nav/src/nav.component.tsx @@ -31,6 +31,12 @@ export default defineComponent({ /** 切换前函数 */ const navPicking = ref(props.navPicking); + const navLinkStyle = computed(() => { + return { + paddingTop: '1rem' + }; + }); + // 监听激活id的变化 watch(() => props.activeNavId, (newValue, oldValue) => { if (newValue !== oldValue) { @@ -88,9 +94,16 @@ export default defineComponent({ } function navClick(nav: any) { if (!(nav.disable || nav.id === _activeNavId.value)) { - _activeNavId.value = nav.id; - context.emit('update:activeNavId', nav.id); - context.emit('nav', nav); + Promise.resolve().then(() => { + return navPicking.value(nav); + }) + .then((value: boolean) => { + if (value) { + _activeNavId.value = nav.id; + context.emit('update:activeNavId', nav.id); + context.emit('nav', nav); + } + }); } } @@ -104,7 +117,7 @@ export default defineComponent({ { 'disabled': item[props.disableField] }]} onClick={() => navClick(item)} > -