Browse Source

Pull request #9: Feature/x

Merge in ~DAILER/fineui from ~DAILER/fineui-decision:feature/x to master

* commit 'd5ee4e67f938bd50982eb22127287d7aa1aaa04a':
  BI-150695 fix: 兼容当前元素无parentNode的情况
  BI-150395 fix: safari下拉搜索框定位不对
  BI-149124 refactor: 粘贴限制变成参数
  BI-147036 feat: 更新图标
  REPORT-122294 lodash 低版本安全漏洞
  BI-143733 fix: 深色预览样式调整
  REPORT-121158 fix:控制台报错
  BI-148724 fix: 树控件查看已选项连发两次请求
  Uploaded files
  REPORT-121158 fix:控制台报错
  BI-148724 fix: 树控件查看已选项连发两次请求
  Uploaded files
  BI-148103 fix: 6.0.18过滤组件下拉框异常变小
  BI-138636 fix: 文本、动态时间支持按钮组
  BI-138679 feat: 更新图标
  BI-147341 fix:contentFormat未考虑时区问题
  FDL-10490 fix:demo平台权限管理api列表显示空白
  BI-146095 fix:文本下拉加载最后一次缓存时cachegroup新增了
master
Dailer-刘荣歆 5 months ago
parent
commit
039ec622c4
  1. 18
      packages/fineui/bi.lessconfig.json
  2. 5
      packages/fineui/src/base/tree/customtree.js
  3. 2
      packages/fineui/src/core/5.inject.js
  4. 11
      packages/fineui/src/core/constant/writable.var.js
  5. 2
      packages/fineui/src/core/controller/controller.layer.js
  6. 7
      packages/fineui/src/core/func/alias.js
  7. 9
      packages/fineui/src/core/utils/dom.js
  8. 8
      packages/fineui/src/less/base/colorchooser/colorpicker/button.colorshow.less
  9. 12
      packages/fineui/src/less/base/single/button/button.less
  10. 2
      packages/fineui/src/less/base/single/button/switch.less
  11. 6
      packages/fineui/src/less/core/utils/common.less
  12. 6
      packages/fineui/src/less/core/utils/list-item.less
  13. 3
      packages/fineui/src/less/lib/colors.less
  14. 4
      packages/fineui/src/less/lib/theme.less
  15. 6
      packages/fineui/src/widget/multiselect/loader.js
  16. 5
      packages/fineui/src/widget/multiselect/multiselect.insert.combo.js
  17. 7
      packages/fineui/src/widget/multiselect/multiselect.insert.combo.nobar.js
  18. 7
      packages/fineui/src/widget/multiselect/trigger/searcher.multiselect.insert.js
  19. 2
      packages/fineui/src/widget/multiselect/trigger/switcher.checkselected.js
  20. 9
      packages/fineui/src/widget/multiselectlist/multiselectlist.insert.js
  21. 9
      packages/fineui/src/widget/multiselectlist/multiselectlist.insert.nobar.js
  22. 15
      packages/fineui/src/widget/multitree/multi.tree.combo.js
  23. 2
      packages/fineui/typescript/core/var.ts
  24. 1
      scripts/lib/fui.export.txt

18
packages/fineui/bi.lessconfig.json

@ -23,8 +23,8 @@
"@color-bi-border-disabled-radio": "rgba(9, 30, 64, 0.19)", "@color-bi-border-disabled-radio": "rgba(9, 30, 64, 0.19)",
"@color-bi-background-active-radio-content": "#2C60DB", "@color-bi-background-active-radio-content": "#2C60DB",
"@color-bi-border-checkbox-theme-dark": "rgba(255, 255, 255, 0.37)", "@color-bi-border-checkbox-theme-dark": "rgba(255, 255, 255, 0.37)",
"@color-bi-border-hover-active-radio-theme-dark": "#3869DC", "@color-bi-border-hover-active-radio-theme-dark": "#497FFD",
"@color-bi-background-active-radio-content-theme-dark": "#3869DC", "@color-bi-background-active-radio-content-theme-dark": "#497FFD",
"@color-bi-background-disabled-active-radio-content": "#FFFFFF", "@color-bi-background-disabled-active-radio-content": "#FFFFFF",
"@color-bi-background-disabled-active-radio-content-theme-dark": "#606479", "@color-bi-background-disabled-active-radio-content-theme-dark": "#606479",
"@color-bi-background-disabled-active-checkbox-content": "#FFFFFF", "@color-bi-background-disabled-active-checkbox-content": "#FFFFFF",
@ -48,5 +48,17 @@
"@font-solid-bottom": "e905", "@font-solid-bottom": "e905",
"@font-solid-right": "e906", "@font-solid-right": "e906",
"@font-dot": "e762", "@font-dot": "e762",
"@font-down-triangle": "e70b" "@font-down-triangle": "e70b",
"@color-bi-background-theme-dark": "#1B1F31",
"@border-color-light-line-theme-dark": "#30364B",
"@color-bi-background-header-background": "#F8F9FC",
"@color-bi-background-header-background-theme-dark": "#1B1F31",
"@color-bi-background-common-light-button": "#E5EFFF",
"@color-bi-background-common-light-button-theme-dark": "#0F2A62",
"@color-bi-text-highlight-theme-dark": "#497FFD",
"@color-bi-border-active-chooser-show-button-theme-dark": "#497FFD",
"@color-bi-background-button-theme-dark": "#497FFD",
"@color-bi-background-active-switch-theme-dark": "#497FFD",
"@color-bi-text-common-light-button-theme-dark": "#497FFD",
"@color-bi-text-common-light-button": "#2c60db"
} }

5
packages/fineui/src/base/tree/customtree.js

@ -16,7 +16,8 @@ import {
isNull, isNull,
createWidget, createWidget,
Controller, Controller,
Events Events,
omit,
} from "@/core"; } from "@/core";
/** /**
@ -104,7 +105,7 @@ export class CustomTree extends Widget {
return itemsCreator.apply(this, args); return itemsCreator.apply(this, args);
}; };
isNull(item.popup.el) && (item.popup.el = deepClone(this.options.el)); isNull(item.popup.el) && (item.popup.el = deepClone(omit(this.options.el, "node")));
item.popup.el.node = item.el; item.popup.el.node = item.el;
items.push(item); items.push(item);
} else { } else {

2
packages/fineui/src/core/5.inject.js

@ -427,7 +427,7 @@ const providers = {},
export const Providers = { export const Providers = {
getProvider: (type, config) => { getProvider: (type, config) => {
if (!providerInjection[type]) { if (!providerInjection[type]) {
_global.console && console.error(`provider: [${type}] undefined`); _global.console && console.warn(`provider: [${type}] undefined`);
} }
runConfigFunction(type); runConfigFunction(type);
if (!providers[type]) { if (!providers[type]) {

11
packages/fineui/src/core/constant/writable.var.js

@ -138,4 +138,13 @@ addDescriptor("DOM", {
addDescriptor("nextTick", { addDescriptor("nextTick", {
get: () => nextTick, get: () => nextTick,
set: setNextTick, set: setNextTick,
}); });
export let PasteLimit = 2000;
export const setPasteLimit = v => {
PasteLimit = v;
};
addDescriptor("PasteLimit", {
get: () => PasteLimit,
set: setPasteLimit,
});

2
packages/fineui/src/core/controller/controller.layer.js

@ -108,7 +108,7 @@ export class LayerController extends Controller {
height: offset.height || (w.outerHeight() - (offset.top || 0) - (offset.bottom || 0)) || "", height: offset.height || (w.outerHeight() - (offset.top || 0) - (offset.bottom || 0)) || "",
}; };
const { top, left, scaleY, scaleX } = getPositionRelativeContainingBlockRect(layout.element[0]); const { top, left, scaleY, scaleX } = getPositionRelativeContainingBlockRect(layout.element[0].parentNode || layout.element[0]);
css.top = (css.top - top) / scaleY; css.top = (css.top - top) / scaleY;
css.left = (css.left - left) / scaleX; css.left = (css.left - left) / scaleX;

7
packages/fineui/src/core/func/alias.js

@ -9,7 +9,8 @@ import {
leftPad, leftPad,
parseDateTime, parseDateTime,
values, values,
isArray isArray,
getDate
} from "../2.base"; } from "../2.base";
import { replaceAll } from "./string"; import { replaceAll } from "./string";
import { getFullDayName, getMonthName, getTimezone } from "./date"; import { getFullDayName, getMonthName, getTimezone } from "./date";
@ -680,10 +681,10 @@ export const contentFormat = function(cv, fmt) {
if (!(cv instanceof Date)) { if (!(cv instanceof Date)) {
if (typeof cv === "number") { if (typeof cv === "number") {
// 毫秒数类型 // 毫秒数类型
cv = new Date(cv); cv = getDate(cv);
} else { } else {
// 字符串类型转化为date类型 // 字符串类型转化为date类型
cv = new Date(Date.parse((`${cv}`).replace(/-|\./g, "/"))); cv = getDate(Date.parse((`${cv}`).replace(/-|\./g, "/")));
} }
} }
if (!isInvalidDate(cv) && !isNull(cv)) { if (!isInvalidDate(cv) && !isNull(cv)) {

9
packages/fineui/src/core/utils/dom.js

@ -744,10 +744,11 @@ export function getComboPosition(combo, popup, extraWidth, extraHeight, needAdap
if (needAdaptHeight === true && popup.resetHeight) { if (needAdaptHeight === true && popup.resetHeight) {
const comboRect = combo.element[0].getBoundingClientRect(); const comboRect = combo.element[0].getBoundingClientRect();
const relativeOffset = positionRelativeElement ? positionRelativeElement.getBoundingClientRect().top : 0; const relativeOffset = positionRelativeElement ? positionRelativeElement.getBoundingClientRect().top : 0;
if (position.top < comboRect.top) { const positionTop = position.top + relativeOffset;
popup.resetHeight(Math.min(viewportBounds.height - position.top - relativeOffset, comboRect.top, maxHeight)); if (positionTop < comboRect.top) {
} else if (position.top >= comboRect.bottom) { popup.resetHeight(Math.min(viewportBounds.height - positionTop, comboRect.top, maxHeight));
popup.resetHeight(Math.min(viewportBounds.height - position.top - relativeOffset, viewportBounds.height - comboRect.bottom, maxHeight)); } else if (positionTop >= comboRect.bottom) {
popup.resetHeight(Math.min(viewportBounds.height - positionTop, viewportBounds.height - comboRect.bottom, maxHeight));
} }
} }

8
packages/fineui/src/less/base/colorchooser/colorpicker/button.colorshow.less

@ -4,4 +4,12 @@
&.active, &:active { &.active, &:active {
border-color: @color-bi-border-active-chooser-show-button; border-color: @color-bi-border-active-chooser-show-button;
} }
}
.bi-theme-dark {
.bi-color-chooser-show-button {
&.active, &:active {
border-color: @color-bi-border-active-chooser-show-button-theme-dark;
}
}
} }

12
packages/fineui/src/less/base/single/button/button.less

@ -578,6 +578,8 @@ body .bi-button, #body .bi-button {
.bi-theme-dark, #body .bi-theme-dark { .bi-theme-dark, #body .bi-theme-dark {
.bi-button { .bi-button {
background-color: @color-bi-background-button-theme-dark;
&.button-ignore { &.button-ignore {
background-color: @color-bi-background-ignore-button-theme-dark; background-color: @color-bi-background-ignore-button-theme-dark;
@ -643,5 +645,15 @@ body .bi-button, #body .bi-button {
} }
} }
} }
&.button-common {
&.light {
background-color: @color-bi-background-common-light-button-theme-dark;
&, & .b-font:before {
color: @color-bi-text-common-light-button-theme-dark;
}
}
}
} }
} }

2
packages/fineui/src/less/base/single/button/switch.less

@ -25,7 +25,7 @@
.bi-switch { .bi-switch {
background-color: @color-bi-background-switch-theme-dark; background-color: @color-bi-background-switch-theme-dark;
&.active { &.active {
background-color: @color-bi-background-active-switch; background-color: @color-bi-background-active-switch-theme-dark;
} }
} }
} }

6
packages/fineui/src/less/core/utils/common.less

@ -104,6 +104,10 @@
.bi-theme-dark { .bi-theme-dark {
.bi-focus-shadow { .bi-focus-shadow {
&:focus, &:hover {
border-color: @color-bi-border-highlight-theme-dark;
}
&.disabled { &.disabled {
&:hover { &:hover {
border-color: @border-color-line-theme-dark; border-color: @border-color-line-theme-dark;
@ -142,7 +146,7 @@
.bi-theme-dark { .bi-theme-dark {
.bi-background { .bi-background {
background-color: @color-bi-background-normal-theme-dark; background-color: @color-bi-background-theme-dark;
color: @color-bi-text-background-theme-dark; color: @color-bi-text-background-theme-dark;
& .bi-input { & .bi-input {

6
packages/fineui/src/less/core/utils/list-item.less

@ -161,12 +161,12 @@
} }
} }
&.active, &:active { &.active, &:active {
color: @color-bi-text-highlight; color: @color-bi-text-highlight-theme-dark;
& .bi-input { & .bi-input {
color: @color-bi-text-highlight; color: @color-bi-text-highlight-theme-dark;
} }
& .bi-textarea { & .bi-textarea {
color: @color-bi-text-highlight; color: @color-bi-text-highlight-theme-dark;
} }
} }
&.disabled { &.disabled {

3
packages/fineui/src/less/lib/colors.less

@ -38,6 +38,7 @@
//基本提亮颜色 //基本提亮颜色
@color-bi-text-highlight: @font-color-highlight; @color-bi-text-highlight: @font-color-highlight;
@color-bi-text-highlight-theme-dark: @font-color-highlight;
//标红色 //标红色
@color-bi-text-redmark: @font-color-warning; @color-bi-text-redmark: @font-color-warning;
@ -50,6 +51,7 @@
@color-bi-background-normal: @background-color-normal; @color-bi-background-normal: @background-color-normal;
//深色主题普通背景 //深色主题普通背景
@color-bi-background-normal-theme-dark: @background-color-normal-theme-dark; @color-bi-background-normal-theme-dark: @background-color-normal-theme-dark;
@color-bi-background-theme-dark: @background-color-normal-theme-dark;
//默认背景 //默认背景
@color-bi-background-default: @background-color-default; @color-bi-background-default: @background-color-default;
//深色主题默认背景 //深色主题默认背景
@ -132,5 +134,6 @@
@color-bi-border-warning: @border-color-warning; @color-bi-border-warning: @border-color-warning;
//边框提亮 //边框提亮
@color-bi-border-highlight: @border-color-highlight; @color-bi-border-highlight: @border-color-highlight;
@color-bi-border-highlight-theme-dark: @border-color-highlight;
@color-bi-alert-warning: @color-bi-orange; @color-bi-alert-warning: @color-bi-orange;

4
packages/fineui/src/less/lib/theme.less

@ -62,6 +62,7 @@
// 按钮 // 按钮
@color-bi-border-button: @color-bi-border-highlight; @color-bi-border-button: @color-bi-border-highlight;
@color-bi-background-button: @color-bi-background-highlight; @color-bi-background-button: @color-bi-background-highlight;
@color-bi-background-button-theme-dark: @color-bi-background-highlight;
@color-bi-text-common-button: @color-bi-text; @color-bi-text-common-button: @color-bi-text;
@color-bi-text-common-clear-button: @color-bi-text-highlight; @color-bi-text-common-clear-button: @color-bi-text-highlight;
@color-bi-text-common-plain-button: @color-bi-text-highlight; @color-bi-text-common-plain-button: @color-bi-text-highlight;
@ -75,7 +76,9 @@
@color-bi-background-hover-common-ghost-button-theme-dark: @color-bi-background-default; @color-bi-background-hover-common-ghost-button-theme-dark: @color-bi-background-default;
@color-bi-text-common-light-button: @color-bi-text-highlight; @color-bi-text-common-light-button: @color-bi-text-highlight;
@color-bi-text-common-light-button-theme-dark: @color-bi-text-highlight;
@color-bi-background-common-light-button: @color-bi-background-light-blue; @color-bi-background-common-light-button: @color-bi-background-light-blue;
@color-bi-background-common-light-button-theme-dark: @color-bi-background-light-blue;
@color-bi-background-hover-common-light-button: @color-bi-background-light-blue; @color-bi-background-hover-common-light-button: @color-bi-background-light-blue;
@color-bi-background-active-common-light-button: @color-bi-background-light-blue; @color-bi-background-active-common-light-button: @color-bi-background-light-blue;
@color-bi-background-hover-plain-button: @color-black-5; @color-bi-background-hover-plain-button: @color-black-5;
@ -202,6 +205,7 @@
@color-bi-border-picker-button-mask: @color-bi-border-black; @color-bi-border-picker-button-mask: @color-bi-border-black;
@color-bi-border-picker-button-mask-theme-dark: @color-bi-border-default; @color-bi-border-picker-button-mask-theme-dark: @color-bi-border-default;
@color-bi-border-active-chooser-show-button: @color-bi-border-highlight; @color-bi-border-active-chooser-show-button: @color-bi-border-highlight;
@color-bi-border-active-chooser-show-button-theme-dark: @color-bi-border-highlight;
@color-bi-background-disabled-chooser-popup-mask: @color-bi-background-default; @color-bi-background-disabled-chooser-popup-mask: @color-bi-background-default;
// combo // combo
@color-bi-border-hover-combo: @color-bi-border-highlight; @color-bi-border-hover-combo: @color-bi-border-highlight;

6
packages/fineui/src/widget/multiselect/loader.js

@ -74,7 +74,7 @@ export class MultiSelectInnerLoader extends Widget {
this.next.setLoaded(); this.next.setLoaded();
const items = this._composeItems(this.cachItems.slice(0, 100)); const items = this._composeItems(this.cachItems.slice(0, 100));
this.cachItems = this.cachItems.slice(100); this.cachItems = this.cachItems.slice(100);
this.addItems(items); this.addItems(items, true);
return; return;
} }
@ -183,7 +183,7 @@ export class MultiSelectInnerLoader extends Widget {
]); ]);
} }
addItems(items) { addItems(items, isFromCache = false) {
this.count += items.length; this.count += items.length;
if (isObject(this.next)) { if (isObject(this.next)) {
if (this.hasNext()) { if (this.hasNext()) {
@ -194,7 +194,7 @@ export class MultiSelectInnerLoader extends Widget {
} }
} }
// cacheGroup渲染的是全量的,如果这次加载更多add的items是从cacheItems里面拿的,那不用再add了 // cacheGroup渲染的是全量的,如果这次加载更多add的items是从cacheItems里面拿的,那不用再add了
if (this.cachItems.length > 0) { if (isFromCache) {
this.button_group.addItems(...arguments); this.button_group.addItems(...arguments);
return; return;
} }

5
packages/fineui/src/widget/multiselect/multiselect.insert.combo.js

@ -33,6 +33,7 @@ import {
SIZE_CONSANTS, SIZE_CONSANTS,
BlankSplitChar, BlankSplitChar,
size, size,
PasteLimit,
} from "@/core"; } from "@/core";
import { Single, Combo, Msg } from "@/base"; import { Single, Combo, Msg } from "@/base";
import { MultiSelectBar, TriggerIconButton } from "@/case"; import { MultiSelectBar, TriggerIconButton } from "@/case";
@ -146,8 +147,8 @@ export class MultiSelectInsertCombo extends Single {
} }
self._dataChange = true; self._dataChange = true;
}); });
this.getSearcher().getKeywordsLength() > 2000 && this.getSearcher().getKeywordsLength() > PasteLimit &&
Msg.alert(i18nText("BI-Basic_Prompt"), i18nText("BI-Basic_Too_Much_Value_Get_Two_Thousand")); Msg.alert(i18nText("BI-Basic_Prompt"), i18nText("BI-Basic_Paste_Too_Much_Value", PasteLimit));
} }
self.fireEvent(MultiSelectInsertCombo.EVENT_SEARCHING); self.fireEvent(MultiSelectInsertCombo.EVENT_SEARCHING);
}); });

7
packages/fineui/src/widget/multiselect/multiselect.insert.combo.nobar.js

@ -29,7 +29,8 @@ import {
pushDistinct, pushDistinct,
Selection, Selection,
BlankSplitChar, BlankSplitChar,
SIZE_CONSANTS SIZE_CONSANTS,
PasteLimit,
} from "@/core"; } from "@/core";
import { Single, Combo, Msg } from "@/base"; import { Single, Combo, Msg } from "@/base";
import { MultiSelectInsertTrigger } from "./multiselect.insert.trigger"; import { MultiSelectInsertTrigger } from "./multiselect.insert.trigger";
@ -134,8 +135,8 @@ export class MultiSelectInsertNoBarCombo extends Single {
} }
self._dataChange = true; self._dataChange = true;
}); });
this.getSearcher().getKeywordsLength() > 2000 && this.getSearcher().getKeywordsLength() > PasteLimit &&
Msg.alert(i18nText("BI-Basic_Prompt"), i18nText("BI-Basic_Too_Much_Value_Get_Two_Thousand")); Msg.alert(i18nText("BI-Basic_Prompt"), i18nText("BI-Basic_Paste_Too_Much_Value", PasteLimit));
} }
}); });

7
packages/fineui/src/widget/multiselect/trigger/searcher.multiselect.insert.js

@ -10,7 +10,8 @@ import {
size, size,
each, each,
BlankSplitChar, BlankSplitChar,
Selection Selection,
PasteLimit,
} from "@/core"; } from "@/core";
import { MultiSelectEditor } from "./editor.multiselect"; import { MultiSelectEditor } from "./editor.multiselect";
import { Searcher } from "@/base"; import { Searcher } from "@/base";
@ -123,7 +124,7 @@ export class MultiSelectInsertSearcher extends Widget {
const keywords = this.getKeywords(); const keywords = this.getKeywords();
self.fireEvent( self.fireEvent(
MultiSelectInsertSearcher.EVENT_SEARCHING, MultiSelectInsertSearcher.EVENT_SEARCHING,
keywords.length > 2000 ? keywords.slice(0, 2000).concat([BlankSplitChar]) : keywords.slice(0, 2000) keywords.length > PasteLimit ? keywords.slice(0, PasteLimit).concat([BlankSplitChar]) : keywords.slice(0, PasteLimit)
); );
}); });
if (isNotNull(o.value)) { if (isNotNull(o.value)) {
@ -150,7 +151,7 @@ export class MultiSelectInsertSearcher extends Widget {
} }
getKeyword() { getKeyword() {
let keywords = this.editor.getKeywords().slice(0, 2000); let keywords = this.editor.getKeywords().slice(0, PasteLimit);
if (keywords[keywords.length - 1] === BlankSplitChar) { if (keywords[keywords.length - 1] === BlankSplitChar) {
keywords = keywords.slice(0, keywords.length - 1); keywords = keywords.slice(0, keywords.length - 1);
} }

2
packages/fineui/src/widget/multiselect/trigger/switcher.checkselected.js

@ -10,6 +10,7 @@ export class MultiSelectCheckSelectedSwitcher extends Widget {
static EVENT_TRIGGER_CHANGE = "EVENT_TRIGGER_CHANGE"; static EVENT_TRIGGER_CHANGE = "EVENT_TRIGGER_CHANGE";
static EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; static EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
static EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW"; static EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW";
static EVENT_TRIGGER_COMBO = "EVENT_TRIGGER_COMBO";
_defaultConfig() { _defaultConfig() {
return extend(super._defaultConfig(...arguments), { return extend(super._defaultConfig(...arguments), {
@ -48,6 +49,7 @@ export class MultiSelectCheckSelectedSwitcher extends Widget {
itemsCreator: o.itemsCreator, itemsCreator: o.itemsCreator,
onClickContinueSelect() { onClickContinueSelect() {
self.switcher.hideView(); self.switcher.hideView();
self.fireEvent(MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_COMBO);
}, },
ref(_ref) { ref(_ref) {
self.checkPane = _ref; self.checkPane = _ref;

9
packages/fineui/src/widget/multiselectlist/multiselectlist.insert.js

@ -28,7 +28,8 @@ import {
isNull, isNull,
VerticalFillLayout, VerticalFillLayout,
SIZE_CONSANTS, SIZE_CONSANTS,
BlankSplitChar BlankSplitChar,
PasteLimit,
} from "@/core"; } from "@/core";
import { Single, Searcher, Msg } from "@/base"; import { Single, Searcher, Msg } from "@/base";
import { MultiSelectBar } from "@/case"; import { MultiSelectBar } from "@/case";
@ -200,10 +201,10 @@ export class MultiSelectInsertList extends Single {
} }
self.fireEvent(MultiSelectInsertList.EVENT_CHANGE); self.fireEvent(MultiSelectInsertList.EVENT_CHANGE);
}); });
self._getKeywordsLength() > 2000 && self._getKeywordsLength() > PasteLimit &&
Msg.alert( Msg.alert(
i18nText("BI-Basic_Prompt"), i18nText("BI-Basic_Prompt"),
i18nText("BI-Basic_Too_Much_Value_Get_Two_Thousand") i18nText("BI-Basic_Paste_Too_Much_Value", PasteLimit)
); );
} }
}, },
@ -266,7 +267,7 @@ export class MultiSelectInsertList extends Single {
keywords = keywords.concat([BlankSplitChar]); keywords = keywords.concat([BlankSplitChar]);
} }
return keywords.length > 2000 ? keywords.slice(0, 2000).concat([BlankSplitChar]) : keywords.slice(0, 2000); return keywords.length > PasteLimit ? keywords.slice(0, PasteLimit).concat([BlankSplitChar]) : keywords.slice(0, PasteLimit);
} }
_getKeywordsLength() { _getKeywordsLength() {

9
packages/fineui/src/widget/multiselectlist/multiselectlist.insert.nobar.js

@ -28,7 +28,8 @@ import {
isNull, isNull,
VTapeLayout, VTapeLayout,
BlankSplitChar, BlankSplitChar,
SIZE_CONSANTS SIZE_CONSANTS,
PasteLimit,
} from "@/core"; } from "@/core";
import { Single, Searcher, Msg } from "@/base"; import { Single, Searcher, Msg } from "@/base";
import { MultiSelectBar } from "@/case"; import { MultiSelectBar } from "@/case";
@ -201,10 +202,10 @@ export class MultiSelectInsertNoBarList extends Single {
} }
self.fireEvent(MultiSelectInsertNoBarList.EVENT_CHANGE); self.fireEvent(MultiSelectInsertNoBarList.EVENT_CHANGE);
}); });
self._getKeywordsLength() > 2000 && self._getKeywordsLength() > PasteLimit &&
Msg.alert( Msg.alert(
i18nText("BI-Basic_Prompt"), i18nText("BI-Basic_Prompt"),
i18nText("BI-Basic_Too_Much_Value_Get_Two_Thousand") i18nText("BI-Basic_Paste_Too_Much_Value", PasteLimit)
); );
} }
}, },
@ -271,7 +272,7 @@ export class MultiSelectInsertNoBarList extends Single {
keywords = keywords.concat([BlankSplitChar]); keywords = keywords.concat([BlankSplitChar]);
} }
return keywords.length > 2000 ? keywords.slice(0, 2000).concat([BlankSplitChar]) : keywords.slice(0, 2000); return keywords.length > PasteLimit ? keywords.slice(0, PasteLimit).concat([BlankSplitChar]) : keywords.slice(0, PasteLimit);
} }
_getKeywordsLength() { _getKeywordsLength() {

15
packages/fineui/src/widget/multitree/multi.tree.combo.js

@ -182,6 +182,7 @@ export class MultiTreeCombo extends Single {
return self.combo.isViewVisible(); return self.combo.isViewVisible();
} }
let shouldComboPopulate = true;
this.trigger.on(MultiSelectTrigger.EVENT_FOCUS, () => { this.trigger.on(MultiSelectTrigger.EVENT_FOCUS, () => {
self.fireEvent(MultiTreeCombo.EVENT_FOCUS); self.fireEvent(MultiTreeCombo.EVENT_FOCUS);
}); });
@ -259,14 +260,14 @@ export class MultiTreeCombo extends Single {
} }
self.combo.setValue(self.storeValue); self.combo.setValue(self.storeValue);
self.numberCounter.setValue(self.storeValue); self.numberCounter.setValue(self.storeValue);
self.populate(); shouldComboPopulate && self.populate();
self.fireEvent(MultiTreeCombo.EVENT_BEFORE_POPUPVIEW); self.fireEvent(MultiTreeCombo.EVENT_BEFORE_POPUPVIEW);
}); });
this.combo.on(Combo.EVENT_BEFORE_HIDEVIEW, () => { this.combo.on(Combo.EVENT_BEFORE_HIDEVIEW, () => {
if (isSearching()) { if (isSearching()) {
self._stopEditing(); self._stopEditing();
self._dataChange && self._dataChange &&
self.fireEvent(MultiTreeCombo.EVENT_CONFIRM); self.fireEvent(MultiTreeCombo.EVENT_CONFIRM);
} else { } else {
if (isPopupView()) { if (isPopupView()) {
self._stopEditing(); self._stopEditing();
@ -275,7 +276,7 @@ export class MultiTreeCombo extends Single {
self.storeValue = { value: {} }; self.storeValue = { value: {} };
} }
self._dataChange && self._dataChange &&
self.fireEvent(MultiTreeCombo.EVENT_CONFIRM); self.fireEvent(MultiTreeCombo.EVENT_CONFIRM);
} }
} }
clear = false; clear = false;
@ -316,10 +317,18 @@ export class MultiTreeCombo extends Single {
valueFormatter: o.valueFormatter, valueFormatter: o.valueFormatter,
value: { value: o.value || {} }, value: { value: o.value || {} },
}); });
this.numberCounter.on(
MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_COMBO,
() => {
self.populate();
shouldComboPopulate = true;
}
);
this.numberCounter.on( this.numberCounter.on(
MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE, MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE,
() => { () => {
if (!self.combo.isViewVisible()) { if (!self.combo.isViewVisible()) {
shouldComboPopulate = false;
self.combo.showView(); self.combo.showView();
} }
} }

2
packages/fineui/typescript/core/var.ts

@ -130,6 +130,7 @@ export declare const VerticalAlign: {
export declare const StartOfWeek: number; export declare const StartOfWeek: number;
export declare const BlankSplitChar: string; export declare const BlankSplitChar: string;
export declare const Events: Record<string, string>; export declare const Events: Record<string, string>;
export declare const PasteLimit: number;
type SetFunc = (value: any) => void; type SetFunc = (value: any) => void;
@ -141,3 +142,4 @@ export declare const setBlankSplitChar: SetFunc;
export declare const setPixFormat: SetFunc; export declare const setPixFormat: SetFunc;
export declare const setToPix: SetFunc; export declare const setToPix: SetFunc;
export declare const setEventBlur: SetFunc; export declare const setEventBlur: SetFunc;
export declare const setPasteLimit: SetFunc;

1
scripts/lib/fui.export.txt

@ -295,6 +295,7 @@ Pager
Pane Pane
Panel Panel
PartTree PartTree
PasteLimit
Plugin Plugin
PlusGroupNode PlusGroupNode
Popover Popover

Loading…
Cancel
Save