diff --git a/CHANGELOG.md b/CHANGELOG.md index 391c77d2bec4d81b9d91dba95ff0cb6ffae9329d..3108496ec2a2477089e1c0f559ceb2621cdff2b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ ## [Unreleased] +### Change + +- 新增标签编辑器支持编辑器参数REVERSECOLOR,用于控制代码表项的color是否用于代码表项的背景色 +- 新增标签标题支持动态变化 +- 更新多项选择视图选择列表的选择样式 + ## [0.0.21] - 2024-09-25 ### Change diff --git a/src/control/caption-bar/caption-bar.tsx b/src/control/caption-bar/caption-bar.tsx index 734190b527cf97ca97fc1d6abf17dd3248bba5b6..c23b073db885483f88e9e119ee6e49b44f505687 100644 --- a/src/control/caption-bar/caption-bar.tsx +++ b/src/control/caption-bar/caption-bar.tsx @@ -1,5 +1,5 @@ import { useControlController, useNamespace } from '@ibiz-template/vue3-util'; -import { defineComponent, PropType } from 'vue'; +import { defineComponent, onActivated, PropType } from 'vue'; import { ICaptionBar } from '@ibiz/model-core'; import './caption-bar.scss'; import { CaptionBarController } from '@ibiz-template/runtime'; @@ -19,7 +19,13 @@ export const CaptionBarControl = defineComponent({ (...args) => new CaptionBarController(...args), ); const ns = useNamespace(`control-${c.model.controlType!.toLowerCase()}`); + // 初始手动调用一次,因为在控制器里在初始化监听视图onViewInfoChange事件时,视图控制器就已经先抛出了该事件,导致监听不到 + + c.setBrowserTabTitle(); + onActivated(() => { + c.setBrowserTabTitle(); + }); return { c, ns }; }, render() { diff --git a/src/control/list/list-render-util.tsx b/src/control/list/list-render-util.tsx index cdc0803304fda2ae08f28072f1c4537facaba63d..10c3834a57c97dfa08e4f5cad48af51e30227e95 100644 --- a/src/control/list/list-render-util.tsx +++ b/src/control/list/list-render-util.tsx @@ -75,7 +75,8 @@ export function useListRender( const renderPanelItem = (item: IData, modelData: ILayoutPanel): VNode => { const { context, params } = c; const itemClass = calcItemClass(item); - return ( + + const content = ( c.onRowClick(item)} > ); + + if (props.mode === 'SELECT') { + return ( +
+ c.onRowClick(item)} + > + {content} +
+ ); + } + + return content; }; // 绘制默认列表项 const renderItem = (row: IData): VNode | undefined => { const panel = c.model.itemLayoutPanel; - return props.modelData.name !== 'simplelist' && panel ? renderPanelItem(row, panel) : renderItemContent(row); + return props.modelData.name !== 'simplelist' && panel + ? renderPanelItem(row, panel) + : renderItemContent(row); }; const renderNoData = (): VNode | undefined => { diff --git a/src/control/list/md-ctrl/md-ctrl.scss b/src/control/list/md-ctrl/md-ctrl.scss index bc6f8888729b904a306353cd54d3317f2d630908..6826e069bc67a6c688abc17caa74759e93da5451 100644 --- a/src/control/list/md-ctrl/md-ctrl.scss +++ b/src/control/list/md-ctrl/md-ctrl.scss @@ -1,29 +1,36 @@ -$control-mobmdctrl: (text-color: getCssVar(color, text, 0), -hover-bg-color: getCssVar(color, primary), -active-bg-color: #D1D1D5, -active-color: getCssVar(color, bg, 1), -img-width: getCssVar(width-icon, extra-large), -img-radius: getCssVar(border-radius, extra-small), -padding: getCssVar(spacing, base) 0 getCssVar(spacing, base) getCssVar(spacing, base), -group-padding: getCssVar(spacing, tight) getCssVar(spacing, base), -group-font: getCssVar(font-size, regular), -icon-color:#A0A5AA, -group-caption-color:#9A9B9F, -load-more-font-size: getCssVar(font-size, small), -font-size:getCssVar(font-size, header-5), -right-icon-margin-right:rem(21px), -simplelist-height: 250px, +$control-mobmdctrl: ( + text-color: getCssVar(color, text, 0), + hover-bg-color: getCssVar(color, primary), + active-bg-color: #d1d1d5, + active-color: getCssVar(color, bg, 1), + img-width: getCssVar(width-icon, extra-large), + img-radius: getCssVar(border-radius, extra-small), + padding: getCssVar(spacing, base) 0 getCssVar(spacing, base) + getCssVar(spacing, base), + group-padding: getCssVar(spacing, tight) getCssVar(spacing, base), + group-font: getCssVar(font-size, regular), + icon-color: #a0a5aa, + group-caption-color: #9a9b9f, + load-more-font-size: getCssVar(font-size, small), + font-size: getCssVar(font-size, header-5), + right-icon-margin-right: rem(21px), + simplelist-height: 250px, + select-item-padding-bottom: 10px, + select-item-margin: 5px 0 0 10px, + select-item-check-padding: 5px, + select-item-gap: 8px, ); @include b(control-mobmdctrl) { @include set-component-css-var(control-mobmdctrl, $control-mobmdctrl); - --van-cell-font-size:#{getCssVar(control-mobmdctrl, font-size)}; + --van-cell-font-size: #{getCssVar(control-mobmdctrl, font-size)}; height: 100%; .van-list { height: 100%; + overflow-y: auto; .van-cell { padding: getCssVar(control-mobmdctrl, padding); @@ -48,12 +55,6 @@ simplelist-height: 250px, } } -// 限制simplelist在选择视图时的高度 -@include b(control--simplelist){ - max-height: getCssVar(control-mobmdctrl,simplelist-height); - overflow: auto -} - @include b(control-mobmdctrl-item) { @include set-component-css-var(control-mobmdctrl, $control-mobmdctrl); @@ -94,4 +95,15 @@ simplelist-height: 250px, border: 1px solid getCssVar(color, border); border-radius: getCssVar(border, radius, full); } -} \ No newline at end of file +} + +@include b(control-mobmdctrl-select-item) { + display: flex; + margin: getCssVar(control-mobmdctrl, select-item-margin); + gap: getCssVar(control-mobmdctrl, select-item-gap); + border-bottom: 1px solid getCssVar(color, border); + padding-bottom: getCssVar(control-mobmdctrl, select-item-padding-bottom); + > .van-checkbox { + padding: getCssVar(control-mobmdctrl, select-item-check-padding); + } +} diff --git a/src/editor/span/span/span.scss b/src/editor/span/span/span.scss index 77d091a0e3b03facf02f6e7cd6924e9e1a191d06..d0f010123460898a91c58f31991092f714e4de85 100644 --- a/src/editor/span/span/span.scss +++ b/src/editor/span/span/span.scss @@ -14,4 +14,15 @@ @include m(readonly) { color: getCssVar('form-item', 'readonly-color'); } -} \ No newline at end of file + @include e('code-list') { + @include when('reverse-color') { + .#{bem('code-list','item')} { + padding: getCssVar(spacing-extra, tight) + getCssVar(spacing-base, tight); + border-radius: getCssVar(border-radius, large); + color: getCssVar(color, default); + background-color: getCssVar('code-list', 'item-color'); + } + } + } +} diff --git a/src/editor/span/span/span.tsx b/src/editor/span/span/span.tsx index 0c1d2c9110122b8b8be9b3ec2e3d2eed21322e71..1f28b784a5be4dd4ea9fb3d5fb4c8d948d11e76a 100644 --- a/src/editor/span/span/span.tsx +++ b/src/editor/span/span/span.tsx @@ -149,7 +149,10 @@ export const IBizSpan = defineComponent({ if (this.c.codeList && this.items.length > 0) { content = ( { } else { await loadTheme(); } + // 设置浏览器标题 + if (app.model.title) { + ibiz.util.setBrowserTitle(''); + } } } diff --git a/src/panel-component/nav-pos-index/nav-pos-index.controller.ts b/src/panel-component/nav-pos-index/nav-pos-index.controller.ts index 9a9b974027e78da274fc3bfc731b2cc3c43f03e2..39f6424cc2dd69e0a667862c539ddee2a61ae321 100644 --- a/src/panel-component/nav-pos-index/nav-pos-index.controller.ts +++ b/src/panel-component/nav-pos-index/nav-pos-index.controller.ts @@ -260,6 +260,7 @@ export class NavPosIndexController extends PanelItemController { }`; } this.router!.push(indexPath); + ibiz.util.setBrowserTitle(''); } } } diff --git a/src/view-engine/mob-mpickup-view-engine.ts b/src/view-engine/mob-mpickup-view-engine.ts index 435b488cec0067abedc41d08636ee9fc6541e9f1..27e187c706ac2ee582ac3892b126ed75fcd93783 100644 --- a/src/view-engine/mob-mpickup-view-engine.ts +++ b/src/view-engine/mob-mpickup-view-engine.ts @@ -105,6 +105,10 @@ export class MobMPickupViewEngine extends MobPickupViewEngine { this.simpleList.setData(this.selectedData); this.simpleList.setSelection(this.selectedData); this.setOkButtonDisabled(); + // 隐藏simplelist + if (this.simpleList) { + this.view.layoutPanel!.panelItems.simplelist.state.visible = false; + } } /**