Browse Source

Merge remote-tracking branch 'origin/master'

master
Rex 3 months ago
parent
commit
224adfb287
  1. 18
      packages/fineui/bi.lessconfig.json
  2. BIN
      packages/fineui/dist/font/iconfont.eot
  3. 272
      packages/fineui/dist/font/iconfont.svg
  4. BIN
      packages/fineui/dist/font/iconfont.ttf
  5. BIN
      packages/fineui/dist/font/iconfont.woff
  6. BIN
      packages/fineui/dist/font/iconfont.woff2
  7. 4
      packages/fineui/package.json
  8. 9
      packages/fineui/src/base/combination/tab.js
  9. 9
      packages/fineui/src/base/single/input/radio/radio.js
  10. 5
      packages/fineui/src/base/tree/customtree.js
  11. 1
      packages/fineui/src/case/toolbar/toolbar.multiselect.js
  12. 4
      packages/fineui/src/case/ztree/asynctree.js
  13. 2
      packages/fineui/src/core/2.base.js
  14. 4
      packages/fineui/src/core/5.inject.js
  15. 11
      packages/fineui/src/core/constant/writable.var.js
  16. 2
      packages/fineui/src/core/controller/controller.layer.js
  17. 7
      packages/fineui/src/core/func/alias.js
  18. 10
      packages/fineui/src/core/utils/dom.js
  19. 8
      packages/fineui/src/less/base/colorchooser/colorpicker/button.colorshow.less
  20. 12
      packages/fineui/src/less/base/single/button/button.less
  21. 2
      packages/fineui/src/less/base/single/button/switch.less
  22. 7
      packages/fineui/src/less/base/tree/ztree.less
  23. 6
      packages/fineui/src/less/core/utils/common.less
  24. 6
      packages/fineui/src/less/core/utils/list-item.less
  25. 3
      packages/fineui/src/less/lib/colors.less
  26. 4
      packages/fineui/src/less/lib/theme.less
  27. 7
      packages/fineui/src/widget/downlist/combo.downlist.js
  28. 24
      packages/fineui/src/widget/dynamicdate/dynamicdate.combo.js
  29. 28
      packages/fineui/src/widget/dynamicdatetime/dynamicdatetime.combo.js
  30. 6
      packages/fineui/src/widget/multiselect/loader.js
  31. 33
      packages/fineui/src/widget/multiselect/multiselect.insert.combo.js
  32. 7
      packages/fineui/src/widget/multiselect/multiselect.insert.combo.nobar.js
  33. 2
      packages/fineui/src/widget/multiselect/multiselect.insert.trigger.js
  34. 2
      packages/fineui/src/widget/multiselect/multiselect.trigger.js
  35. 11
      packages/fineui/src/widget/multiselect/trigger/searcher.multiselect.insert.js
  36. 4
      packages/fineui/src/widget/multiselect/trigger/switcher.checkselected.js
  37. 9
      packages/fineui/src/widget/multiselectlist/multiselectlist.insert.js
  38. 9
      packages/fineui/src/widget/multiselectlist/multiselectlist.insert.nobar.js
  39. 57
      packages/fineui/src/widget/multitree/multi.tree.combo.js
  40. 4
      packages/fineui/src/widget/multitree/multi.tree.popup.js
  41. 4
      packages/fineui/src/widget/multitree/trigger/searcher.multi.tree.js
  42. 25
      packages/fineui/src/widget/singleselect/singleselect.insert.combo.js
  43. 4
      packages/fineui/src/widget/singleselect/trigger/searcher.singleselect.js
  44. 11
      packages/fineui/src/widget/textvaluedownlistcombo/combo.textvaluedownlist.js
  45. 18
      packages/fineui/src/widget/timeinterval/dateinterval.js
  46. 18
      packages/fineui/src/widget/timeinterval/timeinterval.js
  47. 24
      packages/fineui/src/widget/year/combo.year.js
  48. 24
      packages/fineui/src/widget/yearmonth/combo.yearmonth.js
  49. 18
      packages/fineui/src/widget/yearmonthinterval/yearmonthinterval.js
  50. 24
      packages/fineui/src/widget/yearquarter/combo.yearquarter.js
  51. 2
      packages/fineui/typescript/core/var.ts
  52. 1
      packages/fineui/typescript/index.ts
  53. 3
      packages/fineui/typescript/widget/downlist/combo.downlist.ts
  54. 6
      packages/fineui/typescript/widget/dynamicdate/dynamicdate.combo.ts
  55. 4
      packages/fineui/typescript/widget/dynamicdatetime/dynamicdatetime.combo.ts
  56. 10
      packages/fineui/typescript/widget/multiselect/multiselect.insert.combo.ts
  57. 19
      packages/fineui/typescript/widget/multiselect/switcher.checkselected.ts
  58. 12
      packages/fineui/typescript/widget/multitree/multi.tree.combo.ts
  59. 3
      packages/fineui/typescript/widget/multitree/multi.tree.popup.ts
  60. 5
      packages/fineui/typescript/widget/singleselect/singleselect.insert.combo.ts
  61. 9
      packages/fineui/typescript/widget/textvaluedownlistcombo/combo.textvaluedownlist.ts
  62. 13
      packages/fineui/typescript/widget/timeinterval/dateinterval.ts
  63. 11
      packages/fineui/typescript/widget/timeinterval/timeinterval.ts
  64. 7
      packages/fineui/typescript/widget/year/combo.year.ts
  65. 7
      packages/fineui/typescript/widget/yearmonth/combo.yearmonth.ts
  66. 11
      packages/fineui/typescript/widget/yearmonthinterval/yearmonthinterval.ts
  67. 7
      packages/fineui/typescript/widget/yearquarter/combo.yearquarter.ts
  68. 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"
} }

BIN
packages/fineui/dist/font/iconfont.eot vendored

Binary file not shown.

272
packages/fineui/dist/font/iconfont.svg vendored

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
packages/fineui/dist/font/iconfont.ttf vendored

Binary file not shown.

BIN
packages/fineui/dist/font/iconfont.woff vendored

Binary file not shown.

BIN
packages/fineui/dist/font/iconfont.woff2 vendored

Binary file not shown.

4
packages/fineui/package.json

@ -57,7 +57,7 @@
"jquery": "3.6.3" "jquery": "3.6.3"
}, },
"devDependencies": { "devDependencies": {
"core-js": "^3.30.2", "core-js": "^3.37.1",
"cross-env": "^7.0.3" "cross-env": "^7.0.3"
} }
} }

9
packages/fineui/src/base/combination/tab.js

@ -13,7 +13,8 @@ import {
contains, contains,
any, any,
isEqual, isEqual,
LogicFactory LogicFactory,
Events,
} from "@/core"; } from "@/core";
/** /**
@ -106,7 +107,11 @@ export class Tab extends Widget {
Widget.execWithContext(this, () => { Widget.execWithContext(this, () => {
this.cardMap[v] = cardCreator(v); this.cardMap[v] = cardCreator(v);
}); });
this.layout.addCardByName(v, this.cardMap[v]); const card = this.layout.addCardByName(v, this.cardMap[v]);
card.on(Events.DESTROY, () => {
this.layout.deleteCardByName(v);
delete this.cardMap[v];
});
} }
} }

9
packages/fineui/src/base/single/input/radio/radio.js

@ -56,13 +56,4 @@ export class Radio extends BasicButton {
this.fireEvent(Radio.EVENT_CHANGE); this.fireEvent(Radio.EVENT_CHANGE);
} }
} }
setSelected(b) {
super.setSelected(b);
if (b) {
this.radio.element.addClass("bi-high-light-background");
} else {
this.radio.element.removeClass("bi-high-light-background");
}
}
} }

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 {

1
packages/fineui/src/case/toolbar/toolbar.multiselect.js

@ -126,6 +126,7 @@ export class MultiSelectBar extends BasicButton {
} }
setSelected(v) { setSelected(v) {
super.setSelected(v);
this.checkbox.setSelected(v); this.checkbox.setSelected(v);
this.setHalfSelected(false); this.setHalfSelected(false);
} }

4
packages/fineui/src/case/ztree/asynctree.js

@ -221,15 +221,11 @@ export class AsyncTree extends TreeView {
{ {
el: { el: {
type: IconLabel.xtype, type: IconLabel.xtype,
width: 20,
height: 20,
cls: "button-loading-font anim-rotate bi-card", cls: "button-loading-font anim-rotate bi-card",
ref: ref => { ref: ref => {
loadingIcon = ref; loadingIcon = ref;
}, },
}, },
left: 5,
top: 5,
}, },
], ],
}); });

2
packages/fineui/src/core/2.base.js

@ -1518,7 +1518,7 @@ export function getTime() {
} }
if (isNotNull(BI.timeZone)) { if (isNotNull(BI.timeZone)) {
// BI-33791 1901年以前的东8区标准是GMT+0805, 统一无论是什么时间,都以整的0800这样的为基准 // BI-33791 1901年以前的东8区标准是GMT+0805, 统一无论是什么时间,都以整的0800这样的为基准
return dt.getTime() + BI.timeZone + new Date().getTimezoneOffset() * 60000; return dt.getTime() - BI.timeZone - new Date().getTimezoneOffset() * 60000;
} }
return dt.getTime(); return dt.getTime();

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

@ -62,7 +62,7 @@ const constantInjection = {};
export function constant(xtype, cls) { export function constant(xtype, cls) {
if (isNotNull(constantInjection[xtype])) { if (isNotNull(constantInjection[xtype])) {
_global.console && console.error(`constant: [${xtype}]already registered`); _global.console && console.warn(`constant: [${xtype}]already registered`);
} else { } else {
constantInjection[xtype] = cls; constantInjection[xtype] = cls;
} }
@ -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)) {

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

@ -743,11 +743,13 @@ 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 scale = comboRect.height === 0 ? 1 : comboRect.height / combo.element.height();
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) / scale, comboRect.top / scale, 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) / scale, (viewportBounds.height - comboRect.bottom) / scale, 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;
} }
} }
} }

7
packages/fineui/src/less/base/tree/ztree.less

@ -335,3 +335,10 @@
margin-right: 2px; margin-right: 2px;
vertical-align: top; vertical-align: top;
} }
.ztree .button-loading-font {
.use-scale(width, 20px);
.use-scale(height, 20px);
.use-scale(left, 5px);
.use-scale(top, 5px);
}

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;

7
packages/fineui/src/widget/downlist/combo.downlist.js

@ -108,6 +108,9 @@ export class DownListCombo extends Widget {
stopPropagation: o.stopPropagation, stopPropagation: o.stopPropagation,
maxHeight: o.maxHeight, maxHeight: o.maxHeight,
minWidth: o.minWidth, minWidth: o.minWidth,
ref: (ref) => {
this.popup = ref;
},
...o.popup, ...o.popup,
}, },
}); });
@ -125,6 +128,10 @@ export class DownListCombo extends Widget {
this.downlistcombo.showView(e); this.downlistcombo.showView(e);
} }
getPopup() {
return this.popup;
}
populate(items) { populate(items) {
this.popupView.populate(items); this.popupView.populate(items);
} }

24
packages/fineui/src/widget/dynamicdate/dynamicdate.combo.js

@ -208,7 +208,7 @@ export class DynamicDateCombo extends Single {
min: opts.minDate, min: opts.minDate,
max: opts.maxDate, max: opts.maxDate,
ref: _ref => { ref: _ref => {
this.popup = _ref; this.popupEl = _ref;
}, },
listeners: [ listeners: [
{ {
@ -238,7 +238,7 @@ export class DynamicDateCombo extends Single {
{ {
eventName: DynamicDatePopup.BUTTON_OK_EVENT_CHANGE, eventName: DynamicDatePopup.BUTTON_OK_EVENT_CHANGE,
action: () => { action: () => {
const value = this.popup.getValue(); const value = this.popupEl.getValue();
if (this._checkValue(value)) { if (this._checkValue(value)) {
this.setValue(value); this.setValue(value);
} }
@ -249,7 +249,7 @@ export class DynamicDateCombo extends Single {
{ {
eventName: DynamicDatePopup.EVENT_CHANGE, eventName: DynamicDatePopup.EVENT_CHANGE,
action: () => { action: () => {
this.setValue(this.popup.getValue()); this.setValue(this.popupEl.getValue());
this.combo.hideView(); this.combo.hideView();
this.fireEvent(DynamicDateCombo.EVENT_CONFIRM); this.fireEvent(DynamicDateCombo.EVENT_CONFIRM);
}, },
@ -262,6 +262,10 @@ export class DynamicDateCombo extends Single {
} }
], ],
}, },
ref: (ref) => {
this.popup = ref;
},
...opts.popup,
}, },
// // DEC-4250 和复选下拉一样,点击triggerBtn不默认收起 // // DEC-4250 和复选下拉一样,点击triggerBtn不默认收起
// hideChecker: function (e) { // hideChecker: function (e) {
@ -271,9 +275,9 @@ export class DynamicDateCombo extends Single {
{ {
eventName: Combo.EVENT_BEFORE_POPUPVIEW, eventName: Combo.EVENT_BEFORE_POPUPVIEW,
action: () => { action: () => {
this.popup.setMinDate(opts.minDate); this.popupEl.setMinDate(opts.minDate);
this.popup.setMaxDate(opts.maxDate); this.popupEl.setMaxDate(opts.maxDate);
this.popup.setValue(this.storeValue); this.popupEl.setValue(this.storeValue);
this.fireEvent(DynamicDateCombo.EVENT_BEFORE_POPUPVIEW); this.fireEvent(DynamicDateCombo.EVENT_BEFORE_POPUPVIEW);
}, },
} }
@ -332,14 +336,14 @@ export class DynamicDateCombo extends Single {
const o = this.options; const o = this.options;
o.minDate = minDate; o.minDate = minDate;
this.trigger.setMinDate(minDate); this.trigger.setMinDate(minDate);
this.popup && this.popup.setMinDate(minDate); this.popupEl && this.popupEl.setMinDate(minDate);
} }
setMaxDate(maxDate) { setMaxDate(maxDate) {
const o = this.options; const o = this.options;
o.maxDate = maxDate; o.maxDate = maxDate;
this.trigger.setMaxDate(maxDate); this.trigger.setMaxDate(maxDate);
this.popup && this.popup.setMaxDate(maxDate); this.popupEl && this.popupEl.setMaxDate(maxDate);
} }
setValue(v) { setValue(v) {
@ -356,6 +360,10 @@ export class DynamicDateCombo extends Single {
return this.trigger.getKey(); return this.trigger.getKey();
} }
getPopup() {
return this.popup;
}
hidePopupView() { hidePopupView() {
this.combo.hideView(); this.combo.hideView();
} }

28
packages/fineui/src/widget/dynamicdatetime/dynamicdatetime.combo.js

@ -216,7 +216,7 @@ export class DynamicDateTimeCombo extends Single {
min: opts.minDate, min: opts.minDate,
max: opts.maxDate, max: opts.maxDate,
ref: _ref => { ref: _ref => {
this.popup = _ref; this.popupEl = _ref;
}, },
listeners: [ listeners: [
{ {
@ -249,7 +249,7 @@ export class DynamicDateTimeCombo extends Single {
{ {
eventName: DynamicDateTimePopup.BUTTON_OK_EVENT_CHANGE, eventName: DynamicDateTimePopup.BUTTON_OK_EVENT_CHANGE,
action: () => { action: () => {
const value = this.popup.getValue(); const value = this.popupEl.getValue();
if (this._checkValue(value)) { if (this._checkValue(value)) {
this.setValue(value); this.setValue(value);
} }
@ -260,7 +260,7 @@ export class DynamicDateTimeCombo extends Single {
{ {
eventName: DynamicDateTimePopup.EVENT_CHANGE, eventName: DynamicDateTimePopup.EVENT_CHANGE,
action: () => { action: () => {
this.setValue(this.popup.getValue()); this.setValue(this.popupEl.getValue());
this.combo.hideView(); this.combo.hideView();
this.fireEvent(DynamicDateTimeCombo.EVENT_CONFIRM); this.fireEvent(DynamicDateTimeCombo.EVENT_CONFIRM);
} }
@ -271,16 +271,20 @@ export class DynamicDateTimeCombo extends Single {
this.fireEvent(DynamicDateTimeCombo.EVENT_BEFORE_YEAR_MONTH_POPUPVIEW); this.fireEvent(DynamicDateTimeCombo.EVENT_BEFORE_YEAR_MONTH_POPUPVIEW);
} }
} }
] ],
} },
ref: (ref) => {
this.popup = ref;
},
...opts.popup,
}, },
listeners: [ listeners: [
{ {
eventName: Combo.EVENT_BEFORE_POPUPVIEW, eventName: Combo.EVENT_BEFORE_POPUPVIEW,
action: () => { action: () => {
this.popup.setMinDate(opts.minDate); this.popupEl.setMinDate(opts.minDate);
this.popup.setMaxDate(opts.maxDate); this.popupEl.setMaxDate(opts.maxDate);
this.popup.setValue(this.storeValue); this.popupEl.setValue(this.storeValue);
this.fireEvent(DynamicDateTimeCombo.EVENT_BEFORE_POPUPVIEW); this.fireEvent(DynamicDateTimeCombo.EVENT_BEFORE_POPUPVIEW);
} }
} }
@ -339,14 +343,14 @@ export class DynamicDateTimeCombo extends Single {
const o = this.options; const o = this.options;
o.minDate = minDate; o.minDate = minDate;
this.trigger.setMinDate(minDate); this.trigger.setMinDate(minDate);
this.popup && this.popup.setMinDate(minDate); this.popupEl && this.popupEl.setMinDate(minDate);
} }
setMaxDate(maxDate) { setMaxDate(maxDate) {
const o = this.options; const o = this.options;
o.maxDate = maxDate; o.maxDate = maxDate;
this.trigger.setMaxDate(maxDate); this.trigger.setMaxDate(maxDate);
this.popup && this.popup.setMaxDate(maxDate); this.popupEl && this.popupEl.setMaxDate(maxDate);
} }
setValue(v) { setValue(v) {
@ -363,6 +367,10 @@ export class DynamicDateTimeCombo extends Single {
return this.trigger.getKey(); return this.trigger.getKey();
} }
getPopup() {
return this.popup;
}
hidePopupView() { hidePopupView() {
this.combo.hideView(); this.combo.hideView();
} }

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;
} }

33
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";
@ -46,12 +47,15 @@ export class MultiSelectInsertCombo extends Single {
static REQ_GET_ALL_DATA = "-1"; static REQ_GET_ALL_DATA = "-1";
static EVENT_FOCUS = "EVENT_FOCUS"; static EVENT_FOCUS = "EVENT_FOCUS";
static EVENT_BLUR = "EVENT_BLUR"; static EVENT_BLUR = "EVENT_BLUR";
static EVENT_START = "EVENT_START";
static EVENT_STOP = "EVENT_STOP"; static EVENT_STOP = "EVENT_STOP";
static EVENT_SEARCHING = "EVENT_SEARCHING"; static EVENT_SEARCHING = "EVENT_SEARCHING";
static EVENT_CLICK_ITEM = "EVENT_CLICK_ITEM"; static EVENT_CLICK_ITEM = "EVENT_CLICK_ITEM";
static EVENT_CONFIRM = "EVENT_CONFIRM"; static EVENT_CONFIRM = "EVENT_CONFIRM";
static EVENT_ADD_ITEM = "EVENT_ADD_ITEM"; static EVENT_ADD_ITEM = "EVENT_ADD_ITEM";
static EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW"; static EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW";
static EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
static EVENT_BEFORE_NUMBER_COUNTER_POPUPVIEW = "EVENT_BEFORE_NUMBER_COUNTER_POPUPVIEW";
_defaultConfig() { _defaultConfig() {
return extend(super._defaultConfig(...arguments), { return extend(super._defaultConfig(...arguments), {
@ -61,6 +65,8 @@ export class MultiSelectInsertCombo extends Single {
height: 24, height: 24,
itemHeight: SIZE_CONSANTS.LIST_ITEM_HEIGHT, itemHeight: SIZE_CONSANTS.LIST_ITEM_HEIGHT,
allowEdit: true, allowEdit: true,
popup: {},
masker: {},
}); });
} }
@ -96,6 +102,8 @@ export class MultiSelectInsertCombo extends Single {
this.trigger = createWidget({ this.trigger = createWidget({
type: MultiSelectInsertTrigger.xtype, type: MultiSelectInsertTrigger.xtype,
popup: o.popup,
masker: o.masker,
allowEdit: o.allowEdit, allowEdit: o.allowEdit,
height: toPix(o.height, o.simple ? 1 : 2), height: toPix(o.height, o.simple ? 1 : 2),
text: o.text, text: o.text,
@ -121,6 +129,7 @@ export class MultiSelectInsertCombo extends Single {
this.trigger.on(MultiSelectInsertTrigger.EVENT_START, function() { this.trigger.on(MultiSelectInsertTrigger.EVENT_START, function() {
self._setStartValue(""); self._setStartValue("");
this.getSearcher().setValue(self.storeValue); this.getSearcher().setValue(self.storeValue);
self.fireEvent(MultiSelectInsertCombo.EVENT_START);
}); });
this.trigger.on(MultiSelectInsertTrigger.EVENT_STOP, () => { this.trigger.on(MultiSelectInsertTrigger.EVENT_STOP, () => {
self._setStartValue(""); self._setStartValue("");
@ -146,8 +155,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);
}); });
@ -240,12 +249,14 @@ export class MultiSelectInsertCombo extends Single {
self.trigger.getSearcher().adjustView(); self.trigger.getSearcher().adjustView();
}); });
}, },
...o.popup,
}, },
value: o.value, value: o.value,
hideChecker(e) { hideChecker(e) {
return ( return (
triggerBtn.element.find(e.target).length === 0 && triggerBtn.element.find(e.target).length === 0 &&
self.numberCounter.element.find(e.target).length === 0 size(self.numberCounter.getView()?.element.find(e.target)) === 0 &&
size(self.trigger.getSearcher().getSearcher().getView()?.element.find(e.target)) === 0
); );
}, },
}); });
@ -258,6 +269,7 @@ export class MultiSelectInsertCombo extends Single {
nextTick(() => { nextTick(() => {
self._populate(); self._populate();
}); });
self.fireEvent(MultiSelectInsertCombo.EVENT_BEFORE_POPUPVIEW);
}); });
// 当退出的时候如果还在处理请求,则等请求结束后再对外发确定事件 // 当退出的时候如果还在处理请求,则等请求结束后再对外发确定事件
this.wants2Quit = false; this.wants2Quit = false;
@ -289,6 +301,8 @@ export class MultiSelectInsertCombo extends Single {
valueFormatter: o.valueFormatter, valueFormatter: o.valueFormatter,
itemsCreator: bind(this._itemsCreator4Trigger, this), itemsCreator: bind(this._itemsCreator4Trigger, this),
value: o.value, value: o.value,
masker: o.masker,
popup: o.popup,
}); });
this.numberCounter.on(MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE, () => { this.numberCounter.on(MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE, () => {
if (!self.combo.isViewVisible()) { if (!self.combo.isViewVisible()) {
@ -297,6 +311,7 @@ export class MultiSelectInsertCombo extends Single {
}); });
this.numberCounter.on(MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW, function() { this.numberCounter.on(MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW, function() {
this.updateSelectedValue(self.storeValue); this.updateSelectedValue(self.storeValue);
self.fireEvent(MultiSelectInsertCombo.EVENT_BEFORE_NUMBER_COUNTER_POPUPVIEW);
}); });
this.numberCounter.on(Events.VIEW, b => { this.numberCounter.on(Events.VIEW, b => {
@ -554,4 +569,16 @@ export class MultiSelectInsertCombo extends Single {
this._populate(...arguments); this._populate(...arguments);
this.numberCounter.populateSwitcher(...arguments); this.numberCounter.populateSwitcher(...arguments);
} }
getPopup() {
return this.popup;
}
getNumberCounter() {
return this.numberCounter;
}
getTrigger() {
return this.trigger;
}
} }

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));
} }
}); });

2
packages/fineui/src/widget/multiselect/multiselect.insert.trigger.js

@ -50,7 +50,7 @@ export class MultiSelectInsertTrigger extends Trigger {
itemFormatter: o.itemFormatter, itemFormatter: o.itemFormatter,
itemHeight: o.itemHeight, itemHeight: o.itemHeight,
watermark: o.watermark, watermark: o.watermark,
popup: {}, popup: o.popup,
adapter: o.adapter, adapter: o.adapter,
masker: o.masker, masker: o.masker,
value: o.value, value: o.value,

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

@ -50,7 +50,7 @@ export class MultiSelectTrigger extends Trigger {
valueFormatter: o.valueFormatter, valueFormatter: o.valueFormatter,
itemFormatter: o.itemFormatter, itemFormatter: o.itemFormatter,
watermark: o.watermark, watermark: o.watermark,
popup: {}, popup: o.popup,
adapter: o.adapter, adapter: o.adapter,
masker: o.masker, masker: o.masker,
value: o.value, value: o.value,

11
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)) {
@ -131,6 +132,10 @@ export class MultiSelectInsertSearcher extends Widget {
} }
} }
getSearcher() {
return this.searcher;
}
adjustView() { adjustView() {
this.searcher.adjustView(); this.searcher.adjustView();
} }
@ -150,7 +155,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);
} }

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

@ -80,6 +80,10 @@ export class MultiSelectCheckSelectedSwitcher extends Widget {
this.switcher.adjustView(); this.switcher.adjustView();
} }
getView() {
return this.switcher.getView();
}
hideView() { hideView() {
this.switcher.empty(); this.switcher.empty();
this.switcher.hideView(); this.switcher.hideView();

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() {

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

@ -10,7 +10,7 @@ import {
VerticalAdaptLayout, VerticalAdaptLayout,
deepClone, deepClone,
Selection, Selection,
SIZE_CONSANTS size
} from "@/core"; } from "@/core";
import { Single, Combo } from "@/base"; import { Single, Combo } from "@/base";
import { MultiTreeSearcher } from "./trigger/searcher.multi.tree"; import { MultiTreeSearcher } from "./trigger/searcher.multi.tree";
@ -27,12 +27,14 @@ export class MultiTreeCombo extends Single {
static EVENT_FOCUS = "EVENT_FOCUS"; static EVENT_FOCUS = "EVENT_FOCUS";
static EVENT_BLUR = "EVENT_BLUR"; static EVENT_BLUR = "EVENT_BLUR";
static EVENT_START = "EVENT_START";
static EVENT_STOP = "EVENT_STOP"; static EVENT_STOP = "EVENT_STOP";
static EVENT_SEARCHING = "EVENT_SEARCHING"; static EVENT_SEARCHING = "EVENT_SEARCHING";
static EVENT_CLICK_ITEM = "EVENT_CLICK_ITEM"; static EVENT_CLICK_ITEM = "EVENT_CLICK_ITEM";
static EVENT_CONFIRM = "EVENT_CONFIRM"; static EVENT_CONFIRM = "EVENT_CONFIRM";
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_BEFORE_NUMBER_COUNTER_POPUPVIEW = "EVENT_BEFORE_NUMBER_COUNTER_POPUPVIEW";
_defaultConfig() { _defaultConfig() {
return extend(super._defaultConfig(...arguments), { return extend(super._defaultConfig(...arguments), {
@ -42,6 +44,8 @@ export class MultiTreeCombo extends Single {
height: 24, height: 24,
allowEdit: true, allowEdit: true,
isNeedAdjustWidth: true, isNeedAdjustWidth: true,
popup: {},
masker: {},
}); });
} }
@ -63,23 +67,20 @@ export class MultiTreeCombo extends Single {
this.storeValue = { value: o.value || {} }; this.storeValue = { value: o.value || {} };
this.trigger = createWidget({ this.trigger = createWidget({
type: "bi.multi_select_trigger", type: MultiSelectTrigger.xtype,
popup: o.popup,
masker: o.masker,
allowEdit: o.allowEdit, allowEdit: o.allowEdit,
height: toPix(o.height, o.simple ? 1 : 2), height: toPix(o.height, o.simple ? 1 : 2),
valueFormatter: o.valueFormatter, valueFormatter: o.valueFormatter,
text: o.text, text: o.text,
defaultText: o.defaultText, defaultText: o.defaultText,
watermark: o.watermark, watermark: o.watermark,
masker: { adapter: () => {
offset: { return this.popup.getView();
left: 0,
top: 0,
right: 0,
bottom: SIZE_CONSANTS.LIST_ITEM_HEIGHT + 1,
},
}, },
searcher: { searcher: {
type: "bi.multi_tree_searcher", type: MultiTreeSearcher.xtype,
itemsCreator: o.itemsCreator, itemsCreator: o.itemsCreator,
listeners: [ listeners: [
{ {
@ -104,8 +105,6 @@ export class MultiTreeCombo extends Single {
type: MultiTreePopup.xtype, type: MultiTreePopup.xtype,
ref() { ref() {
self.popup = this; self.popup = this;
self.trigger.setAdapter(this);
self.numberCounter.setAdapter(this);
}, },
listeners: [ listeners: [
{ {
@ -160,13 +159,16 @@ export class MultiTreeCombo extends Single {
}); });
}, },
maxWidth: o.isNeedAdjustWidth ? "auto" : 500, maxWidth: o.isNeedAdjustWidth ? "auto" : 500,
...o.popup,
}, },
isNeedAdjustWidth: o.isNeedAdjustWidth, isNeedAdjustWidth: o.isNeedAdjustWidth,
value: { value: o.value || {} }, value: { value: o.value || {} },
hideChecker(e) { hideChecker(e) {
return ( return (
triggerBtn.element.find(e.target).length === 0 && triggerBtn.element.find(e.target).length === 0 &&
self.numberCounter.element.find(e.target).length === 0 size(self.numberCounter.getView()?.element.find(e.target)) === 0 &&
size(self.trigger.getSearcher().getSearcher().getView()?.element.find(e.target)) === 0 &&
self.trigger.getSearcher().getSearcher().getView()?.element[0] !== e.target
); );
}, },
}); });
@ -193,6 +195,7 @@ export class MultiTreeCombo extends Single {
self.storeValue = { value: self.combo.getValue() }; self.storeValue = { value: self.combo.getValue() };
this.setValue(self.storeValue); this.setValue(self.storeValue);
self.numberCounter.setValue(self.storeValue); self.numberCounter.setValue(self.storeValue);
self.fireEvent(MultiTreeCombo.EVENT_START);
}); });
this.trigger.on(MultiSelectTrigger.EVENT_STOP, function () { this.trigger.on(MultiSelectTrigger.EVENT_STOP, function () {
self.storeValue = { value: this.getValue() }; self.storeValue = { value: this.getValue() };
@ -295,23 +298,18 @@ export class MultiTreeCombo extends Single {
}); });
this.numberCounter = createWidget({ this.numberCounter = createWidget({
type: "bi.multi_select_check_selected_switcher", type: MultiSelectCheckSelectedSwitcher,
el: { el: {
// type: "bi.multi_tree_check_selected_button",
type: MultiTreeCheckSelectedButton.xtype, type: MultiTreeCheckSelectedButton.xtype,
}, },
popup: { popup: {
// type: "bi.multi_tree_check_pane",
type: MultiTreeCheckPane.xtype, type: MultiTreeCheckPane.xtype,
...o.popup,
}, },
masker: { adapter: () => {
offset: { return this.popup.getView();
left: 0,
top: 0,
right: 0,
bottom: SIZE_CONSANTS.LIST_ITEM_HEIGHT + 1,
},
}, },
masker: o.masker,
itemsCreator: o.itemsCreator, itemsCreator: o.itemsCreator,
valueFormatter: o.valueFormatter, valueFormatter: o.valueFormatter,
value: { value: o.value || {} }, value: { value: o.value || {} },
@ -334,6 +332,7 @@ export class MultiTreeCombo extends Single {
want2showCounter = null; want2showCounter = null;
showCounter(); showCounter();
} }
this.fireEvent(MultiTreeCombo.EVENT_BEFORE_NUMBER_COUNTER_POPUPVIEW);
} }
); );
@ -443,4 +442,16 @@ export class MultiTreeCombo extends Single {
setWaterMark(v) { setWaterMark(v) {
this.trigger.setWaterMark(v); this.trigger.setWaterMark(v);
} }
getPopup() {
return this.popup;
}
getNumberCounter() {
return this.numberCounter;
}
getTrigger() {
return this.trigger;
}
} }

4
packages/fineui/src/widget/multitree/multi.tree.popup.js

@ -105,4 +105,8 @@ export class MultiTreePopup extends Pane {
resetWidth(w) { resetWidth(w) {
this.popupView.resetWidth(w); this.popupView.resetWidth(w);
} }
getView() {
return this.popupView.getView();
}
} }

4
packages/fineui/src/widget/multitree/trigger/searcher.multi.tree.js

@ -220,6 +220,10 @@ export class MultiTreeSearcher extends Widget {
return this.editor.getState(); return this.editor.getState();
} }
getSearcher() {
return this.searcher;
}
setValue(ob) { setValue(ob) {
this.setState(ob); this.setState(ob);
this.searcher.setValue(ob); this.searcher.setValue(ob);

25
packages/fineui/src/widget/singleselect/singleselect.insert.combo.js

@ -10,7 +10,8 @@ import {
isNotNull, isNotNull,
nextTick, nextTick,
AbsoluteLayout, AbsoluteLayout,
makeObject makeObject,
size
} from "@/core"; } from "@/core";
import { Single, Combo } from "@/base"; import { Single, Combo } from "@/base";
import { SingleSelectTrigger } from "./singleselect.trigger"; import { SingleSelectTrigger } from "./singleselect.trigger";
@ -25,10 +26,12 @@ export class SingleSelectInsertCombo extends Single {
static REQ_GET_ALL_DATA = -1; static REQ_GET_ALL_DATA = -1;
static EVENT_FOCUS = "EVENT_FOCUS"; static EVENT_FOCUS = "EVENT_FOCUS";
static EVENT_BLUR = "EVENT_BLUR"; static EVENT_BLUR = "EVENT_BLUR";
static EVENT_START = "EVENT_START";
static EVENT_STOP = "EVENT_STOP"; static EVENT_STOP = "EVENT_STOP";
static EVENT_SEARCHING = "EVENT_SEARCHING"; static EVENT_SEARCHING = "EVENT_SEARCHING";
static EVENT_CLICK_ITEM = "EVENT_CLICK_ITEM"; static EVENT_CLICK_ITEM = "EVENT_CLICK_ITEM";
static EVENT_CONFIRM = "EVENT_CONFIRM"; static EVENT_CONFIRM = "EVENT_CONFIRM";
static EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"
_defaultConfig() { _defaultConfig() {
return extend(super._defaultConfig(...arguments), { return extend(super._defaultConfig(...arguments), {
@ -40,6 +43,8 @@ export class SingleSelectInsertCombo extends Single {
height: 24, height: 24,
allowEdit: true, allowEdit: true,
watermark: i18nText("BI-Basic_Search_And_Patch_Paste"), watermark: i18nText("BI-Basic_Search_And_Patch_Paste"),
popup: {},
masker: {},
}); });
} }
@ -57,6 +62,7 @@ export class SingleSelectInsertCombo extends Single {
this.trigger = createWidget({ this.trigger = createWidget({
type: SingleSelectTrigger.xtype, type: SingleSelectTrigger.xtype,
masker: o.masker,
watermark: o.watermark, watermark: o.watermark,
height: toPix(o.height, o.simple ? 1 : 2), height: toPix(o.height, o.simple ? 1 : 2),
allowNoSelect: o.allowNoSelect, allowNoSelect: o.allowNoSelect,
@ -77,6 +83,7 @@ export class SingleSelectInsertCombo extends Single {
searcher: { searcher: {
popup: { popup: {
type: SingleSelectSearchInsertPane.xtype, type: SingleSelectSearchInsertPane.xtype,
...o.popup,
}, },
}, },
}); });
@ -91,6 +98,7 @@ export class SingleSelectInsertCombo extends Single {
this.trigger.on(SingleSelectTrigger.EVENT_START, function () { this.trigger.on(SingleSelectTrigger.EVENT_START, function () {
self._setStartValue(); self._setStartValue();
this.getSearcher().setValue(self.storeValue); this.getSearcher().setValue(self.storeValue);
self.fireEvent(SingleSelectInsertCombo.EVENT_START);
}); });
this.trigger.on(SingleSelectTrigger.EVENT_STOP, () => { this.trigger.on(SingleSelectTrigger.EVENT_STOP, () => {
self._setStartValue(); self._setStartValue();
@ -156,9 +164,13 @@ export class SingleSelectInsertCombo extends Single {
self.trigger.getSearcher().adjustView(); self.trigger.getSearcher().adjustView();
}); });
}, },
...o.popup,
}, },
hideChecker(e) { hideChecker(e) {
return triggerBtn.element.find(e.target).length === 0; return (
triggerBtn.element.find(e.target).length === 0 &&
size(self.trigger.getSearcher().getSearcher().getView()?.element.find(e.target)) === 0
);
}, },
value: o.value, value: o.value,
}); });
@ -171,6 +183,7 @@ export class SingleSelectInsertCombo extends Single {
nextTick(() => { nextTick(() => {
self.populate(); self.populate();
}); });
self.fireEvent(SingleSelectInsertCombo .EVENT_BEFORE_POPUPVIEW);
}); });
// 当退出的时候如果还在处理请求,则等请求结束后再对外发确定事件 // 当退出的时候如果还在处理请求,则等请求结束后再对外发确定事件
this.wants2Quit = false; this.wants2Quit = false;
@ -261,4 +274,12 @@ export class SingleSelectInsertCombo extends Single {
populate() { populate() {
this.combo.populate(...arguments); this.combo.populate(...arguments);
} }
getPopup() {
return this.popup;
}
getTrigger() {
return this.trigger;
}
} }

4
packages/fineui/src/widget/singleselect/trigger/searcher.singleselect.js

@ -131,6 +131,10 @@ export class SingleSelectSearcher extends Widget {
return this.searcher.getView() && this.searcher.getView().hasChecked(); return this.searcher.getView() && this.searcher.getView().hasChecked();
} }
getSearcher() {
return this.searcher;
}
setAdapter(adapter) { setAdapter(adapter) {
this.searcher.setAdapter(adapter); this.searcher.setAdapter(adapter);
} }

11
packages/fineui/src/widget/textvaluedownlistcombo/combo.textvaluedownlist.js

@ -20,6 +20,7 @@ export class TextValueDownListCombo extends Widget {
static xtype = "bi.text_value_down_list_combo"; static xtype = "bi.text_value_down_list_combo";
static EVENT_CHANGE = "EVENT_CHANGE"; static EVENT_CHANGE = "EVENT_CHANGE";
static EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
_defaultConfig(config) { _defaultConfig(config) {
return extend(super._defaultConfig(...arguments), { return extend(super._defaultConfig(...arguments), {
@ -42,6 +43,7 @@ export class TextValueDownListCombo extends Widget {
this.combo = createWidget({ this.combo = createWidget({
type: DownListCombo.xtype, type: DownListCombo.xtype,
element: this, element: this,
container: o.container,
chooseType: Selection.Single, chooseType: Selection.Single,
adjustLength: 2, adjustLength: 2,
width: toPix(o.width, 2), width: toPix(o.width, 2),
@ -59,6 +61,7 @@ export class TextValueDownListCombo extends Widget {
}, },
value: isNull(value) ? [] : [value], value: isNull(value) ? [] : [value],
items: deepClone(o.items), items: deepClone(o.items),
popup: o.popup,
}); });
this.combo.on(DownListCombo.EVENT_CHANGE, () => { this.combo.on(DownListCombo.EVENT_CHANGE, () => {
@ -76,6 +79,10 @@ export class TextValueDownListCombo extends Widget {
this.fireEvent(TextValueDownListCombo.EVENT_CHANGE); this.fireEvent(TextValueDownListCombo.EVENT_CHANGE);
} }
}); });
this.combo.on(DownListCombo.EVENT_BEFORE_POPUPVIEW, () => {
this.fireEvent(TextValueDownListCombo.EVENT_BEFORE_POPUPVIEW);
});
} }
_createValueMap() { _createValueMap() {
@ -114,4 +121,8 @@ export class TextValueDownListCombo extends Widget {
this.combo.populate(items); this.combo.populate(items);
this._createValueMap(); this._createValueMap();
} }
getPopup() {
return this.combo.getPopup();
}
} }

18
packages/fineui/src/widget/timeinterval/dateinterval.js

@ -30,6 +30,8 @@ export class DateInterval extends Single {
static EVENT_ERROR = "EVENT_ERROR"; static EVENT_ERROR = "EVENT_ERROR";
static EVENT_CHANGE = "EVENT_CHANGE"; static EVENT_CHANGE = "EVENT_CHANGE";
static EVENT_BEFORE_YEAR_MONTH_POPUPVIEW = "EVENT_BEFORE_YEAR_MONTH_POPUPVIEW"; static EVENT_BEFORE_YEAR_MONTH_POPUPVIEW = "EVENT_BEFORE_YEAR_MONTH_POPUPVIEW";
static EVENT_BEFORE_START_POPUPVIEW = "EVENT_BEFORE_START_POPUPVIEW";
static EVENT_BEFORE_END_POPUPVIEW = "EVENT_BEFORE_END_POPUPVIEW";
_defaultConfig() { _defaultConfig() {
const conf = super._defaultConfig(...arguments); const conf = super._defaultConfig(...arguments);
@ -50,6 +52,13 @@ export class DateInterval extends Single {
this.left = this._createCombo(o.value.start, o.watermark?.start); this.left = this._createCombo(o.value.start, o.watermark?.start);
this.right = this._createCombo(o.value.end, o.watermark?.end); this.right = this._createCombo(o.value.end, o.watermark?.end);
this.left.on(DynamicDateCombo.EVENT_BEFORE_POPUPVIEW, () => {
this.fireEvent(DateInterval.EVENT_BEFORE_START_POPUPVIEW);
})
this.right.on(DynamicDateCombo.EVENT_BEFORE_POPUPVIEW, () => {
this.fireEvent(DateInterval.EVENT_BEFORE_END_POPUPVIEW);
})
return { return {
type: HorizontalFillLayout.xtype, type: HorizontalFillLayout.xtype,
columnSize: ["fill", "", "fill"], columnSize: ["fill", "", "fill"],
@ -79,6 +88,8 @@ export class DateInterval extends Single {
const o = this.options; const o = this.options;
const combo = createWidget({ const combo = createWidget({
type: DynamicDateCombo.xtype, type: DynamicDateCombo.xtype,
container: o.container,
popup: o.popup,
isPreview: o.isPreview, isPreview: o.isPreview,
supportDynamic: o.supportDynamic, supportDynamic: o.supportDynamic,
minDate: o.minDate, minDate: o.minDate,
@ -243,4 +254,11 @@ export class DateInterval extends Single {
end: this.right.getValue(), end: this.right.getValue(),
}; };
} }
getPopup() {
return {
start: this.left.getPopup(),
end: this.right.getPopup(),
};
}
} }

18
packages/fineui/src/widget/timeinterval/timeinterval.js

@ -29,6 +29,8 @@ export class TimeInterval extends Single {
static EVENT_VALID = "EVENT_VALID"; static EVENT_VALID = "EVENT_VALID";
static EVENT_ERROR = "EVENT_ERROR"; static EVENT_ERROR = "EVENT_ERROR";
static EVENT_CHANGE = "EVENT_CHANGE"; static EVENT_CHANGE = "EVENT_CHANGE";
static EVENT_BEFORE_START_POPUPVIEW = "EVENT_BEFORE_START_POPUPVIEW";
static EVENT_BEFORE_END_POPUPVIEW = "EVENT_BEFORE_END_POPUPVIEW";
_defaultConfig() { _defaultConfig() {
const conf = super._defaultConfig(...arguments); const conf = super._defaultConfig(...arguments);
@ -48,6 +50,13 @@ export class TimeInterval extends Single {
this.left = this._createCombo(o.value.start, o.watermark?.start); this.left = this._createCombo(o.value.start, o.watermark?.start);
this.right = this._createCombo(o.value.end, o.watermark?.end); this.right = this._createCombo(o.value.end, o.watermark?.end);
this.left.on(DynamicDateTimeCombo.EVENT_BEFORE_POPUPVIEW, () => {
this.fireEvent(TimeInterval.EVENT_BEFORE_START_POPUPVIEW);
})
this.right.on(DynamicDateTimeCombo.EVENT_BEFORE_POPUPVIEW, () => {
this.fireEvent(TimeInterval.EVENT_BEFORE_END_POPUPVIEW);
})
return { return {
type: HorizontalFillLayout.xtype, type: HorizontalFillLayout.xtype,
columnSize: ["fill", "", "fill"], columnSize: ["fill", "", "fill"],
@ -77,6 +86,8 @@ export class TimeInterval extends Single {
const o = this.options; const o = this.options;
const combo = createWidget({ const combo = createWidget({
type: DynamicDateTimeCombo.xtype, type: DynamicDateTimeCombo.xtype,
container: o.container,
popup: o.popup,
isPreview: o.isPreview, isPreview: o.isPreview,
timeSelectTypes: o.timeSelectTypes, timeSelectTypes: o.timeSelectTypes,
simple: o.simple, simple: o.simple,
@ -250,4 +261,11 @@ export class TimeInterval extends Single {
end: this.right.getValue(), end: this.right.getValue(),
}; };
} }
getPopup() {
return {
start: this.left.getPopup(),
end: this.right.getPopup(),
};
}
} }

24
packages/fineui/src/widget/year/combo.year.js

@ -98,13 +98,13 @@ export class DynamicYearCombo extends Widget {
supportDynamic: o.supportDynamic, supportDynamic: o.supportDynamic,
isPreview: o.isPreview, isPreview: o.isPreview,
ref: _ref => { ref: _ref => {
this.popup = _ref; this.popupEl = _ref;
}, },
listeners: [ listeners: [
{ {
eventName: DynamicYearPopup.EVENT_CHANGE, eventName: DynamicYearPopup.EVENT_CHANGE,
action: () => { action: () => {
this.setValue(this.popup.getValue()); this.setValue(this.popupEl.getValue());
this.combo.hideView(); this.combo.hideView();
this.fireEvent(DynamicYearCombo.EVENT_CONFIRM); this.fireEvent(DynamicYearCombo.EVENT_CONFIRM);
}, },
@ -129,7 +129,7 @@ export class DynamicYearCombo extends Widget {
{ {
eventName: DynamicYearPopup.BUTTON_OK_EVENT_CHANGE, eventName: DynamicYearPopup.BUTTON_OK_EVENT_CHANGE,
action: () => { action: () => {
this.setValue(this.popup.getValue()); this.setValue(this.popupEl.getValue());
this.combo.hideView(); this.combo.hideView();
this.fireEvent(DynamicDateCombo.EVENT_CONFIRM); this.fireEvent(DynamicDateCombo.EVENT_CONFIRM);
}, },
@ -140,12 +140,16 @@ export class DynamicYearCombo extends Widget {
max: o.maxDate, max: o.maxDate,
}, },
value: o.value || "", value: o.value || "",
ref: (ref) => {
this.popup = ref;
},
...o.popup,
}, },
}); });
this.combo.on(Combo.EVENT_BEFORE_POPUPVIEW, () => { this.combo.on(Combo.EVENT_BEFORE_POPUPVIEW, () => {
this.popup.setMinDate(o.minDate); this.popupEl.setMinDate(o.minDate);
this.popup.setMaxDate(o.maxDate); this.popupEl.setMaxDate(o.maxDate);
this.popup.setValue(this.storeValue); this.popupEl.setValue(this.storeValue);
this.fireEvent(DynamicYearCombo.EVENT_BEFORE_POPUPVIEW); this.fireEvent(DynamicYearCombo.EVENT_BEFORE_POPUPVIEW);
}); });
@ -205,14 +209,14 @@ export class DynamicYearCombo extends Widget {
const o = this.options; const o = this.options;
o.minDate = minDate; o.minDate = minDate;
this.trigger.setMinDate(minDate); this.trigger.setMinDate(minDate);
this.popup && this.popup.setMinDate(minDate); this.popupEl && this.popupEl.setMinDate(minDate);
} }
setMaxDate(maxDate) { setMaxDate(maxDate) {
const o = this.options; const o = this.options;
o.maxDate = maxDate; o.maxDate = maxDate;
this.trigger.setMaxDate(maxDate); this.trigger.setMaxDate(maxDate);
this.popup && this.popup.setMaxDate(maxDate); this.popupEl && this.popupEl.setMaxDate(maxDate);
} }
hideView() { hideView() {
@ -240,6 +244,10 @@ export class DynamicYearCombo extends Widget {
setWaterMark(v) { setWaterMark(v) {
this.trigger.setWaterMark(v); this.trigger.setWaterMark(v);
} }
getPopup() {
return this.popup;
}
} }
extend(DynamicYearCombo, { extend(DynamicYearCombo, {
Static: 1, Static: 1,

24
packages/fineui/src/widget/yearmonth/combo.yearmonth.js

@ -109,13 +109,13 @@ export class DynamicYearMonthCombo extends Single {
supportDynamic: o.supportDynamic, supportDynamic: o.supportDynamic,
isPreview: o.isPreview, isPreview: o.isPreview,
ref: _ref => { ref: _ref => {
this.popup = _ref; this.popupEl = _ref;
}, },
listeners: [ listeners: [
{ {
eventName: DynamicYearMonthPopup.EVENT_CHANGE, eventName: DynamicYearMonthPopup.EVENT_CHANGE,
action: () => { action: () => {
this.setValue(this.popup.getValue()); this.setValue(this.popupEl.getValue());
this.combo.hideView(); this.combo.hideView();
this.fireEvent(DynamicYearMonthCombo.EVENT_CONFIRM); this.fireEvent(DynamicYearMonthCombo.EVENT_CONFIRM);
}, },
@ -147,7 +147,7 @@ export class DynamicYearMonthCombo extends Single {
{ {
eventName: DynamicYearMonthPopup.BUTTON_OK_EVENT_CHANGE, eventName: DynamicYearMonthPopup.BUTTON_OK_EVENT_CHANGE,
action: () => { action: () => {
const value = this.popup.getValue(); const value = this.popupEl.getValue();
if (this._checkValue(value)) { if (this._checkValue(value)) {
this.setValue(value); this.setValue(value);
} }
@ -161,12 +161,16 @@ export class DynamicYearMonthCombo extends Single {
max: o.maxDate, max: o.maxDate,
}, },
value: o.value || "", value: o.value || "",
ref: (ref) => {
this.popup = ref;
},
...o.popup,
}, },
}); });
this.combo.on(Combo.EVENT_BEFORE_POPUPVIEW, () => { this.combo.on(Combo.EVENT_BEFORE_POPUPVIEW, () => {
this.popup.setMinDate(o.minDate); this.popupEl.setMinDate(o.minDate);
this.popup.setMaxDate(o.maxDate); this.popupEl.setMaxDate(o.maxDate);
this.popup.setValue(this.storeValue); this.popupEl.setValue(this.storeValue);
this.fireEvent(DynamicYearMonthCombo.EVENT_BEFORE_POPUPVIEW); this.fireEvent(DynamicYearMonthCombo.EVENT_BEFORE_POPUPVIEW);
}); });
@ -241,14 +245,18 @@ export class DynamicYearMonthCombo extends Single {
const o = this.options; const o = this.options;
o.minDate = minDate; o.minDate = minDate;
this.trigger.setMinDate(minDate); this.trigger.setMinDate(minDate);
this.popup && this.popup.setMinDate(minDate); this.popupEl && this.popupEl.setMinDate(minDate);
} }
setMaxDate(maxDate) { setMaxDate(maxDate) {
const o = this.options; const o = this.options;
o.maxDate = maxDate; o.maxDate = maxDate;
this.trigger.setMaxDate(maxDate); this.trigger.setMaxDate(maxDate);
this.popup && this.popup.setMaxDate(maxDate); this.popupEl && this.popupEl.setMaxDate(maxDate);
}
getPopup() {
return this.popup;
} }
hideView() { hideView() {

18
packages/fineui/src/widget/yearmonthinterval/yearmonthinterval.js

@ -20,6 +20,8 @@ export class YearMonthInterval extends Single {
static EVENT_ERROR = "EVENT_ERROR"; static EVENT_ERROR = "EVENT_ERROR";
static EVENT_CHANGE = "EVENT_CHANGE"; static EVENT_CHANGE = "EVENT_CHANGE";
static EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; static EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
static EVENT_BEFORE_START_POPUPVIEW = "EVENT_BEFORE_START_POPUPVIEW";
static EVENT_BEFORE_END_POPUPVIEW = "EVENT_BEFORE_END_POPUPVIEW";
constants = { constants = {
width: 25, width: 25,
@ -43,6 +45,13 @@ export class YearMonthInterval extends Single {
this.left = this._createCombo(o.value.start, o.watermark?.start); this.left = this._createCombo(o.value.start, o.watermark?.start);
this.right = this._createCombo(o.value.end, o.watermark?.end); this.right = this._createCombo(o.value.end, o.watermark?.end);
this.left.on(DynamicYearMonthCombo.EVENT_BEFORE_POPUPVIEW, () => {
this.fireEvent(YearMonthInterval.EVENT_BEFORE_START_POPUPVIEW);
})
this.right.on(DynamicYearMonthCombo.EVENT_BEFORE_POPUPVIEW, () => {
this.fireEvent(YearMonthInterval.EVENT_BEFORE_END_POPUPVIEW);
})
return { return {
type: HorizontalFillLayout.xtype, type: HorizontalFillLayout.xtype,
columnSize: ["fill", "", "fill"], columnSize: ["fill", "", "fill"],
@ -72,6 +81,8 @@ export class YearMonthInterval extends Single {
const o = this.options; const o = this.options;
const combo = createWidget({ const combo = createWidget({
type: DynamicYearMonthCombo.xtype, type: DynamicYearMonthCombo.xtype,
container: o.container,
popup: o.popup,
isPreview: o.isPreview, isPreview: o.isPreview,
simple: o.simple, simple: o.simple,
supportDynamic: o.supportDynamic, supportDynamic: o.supportDynamic,
@ -235,4 +246,11 @@ export class YearMonthInterval extends Single {
getValue() { getValue() {
return { start: this.left.getValue(), end: this.right.getValue() }; return { start: this.left.getValue(), end: this.right.getValue() };
} }
getPopup() {
return {
start: this.left.getPopup(),
end: this.right.getPopup(),
};
}
} }

24
packages/fineui/src/widget/yearquarter/combo.yearquarter.js

@ -112,13 +112,13 @@ export class DynamicYearQuarterCombo extends Widget {
supportDynamic: o.supportDynamic, supportDynamic: o.supportDynamic,
isPreview: o.isPreview, isPreview: o.isPreview,
ref: _ref => { ref: _ref => {
this.popup = _ref; this.popupEl = _ref;
}, },
listeners: [ listeners: [
{ {
eventName: DynamicYearQuarterPopup.EVENT_CHANGE, eventName: DynamicYearQuarterPopup.EVENT_CHANGE,
action: () => { action: () => {
this.setValue(this.popup.getValue()); this.setValue(this.popupEl.getValue());
this.combo.hideView(); this.combo.hideView();
this.fireEvent(DynamicYearQuarterCombo.EVENT_CONFIRM); this.fireEvent(DynamicYearQuarterCombo.EVENT_CONFIRM);
}, },
@ -150,7 +150,7 @@ export class DynamicYearQuarterCombo extends Widget {
{ {
eventName: DynamicYearQuarterPopup.BUTTON_OK_EVENT_CHANGE, eventName: DynamicYearQuarterPopup.BUTTON_OK_EVENT_CHANGE,
action: () => { action: () => {
const value = this.popup.getValue(); const value = this.popupEl.getValue();
if (this._checkValue(value)) { if (this._checkValue(value)) {
this.setValue(value); this.setValue(value);
} }
@ -164,12 +164,16 @@ export class DynamicYearQuarterCombo extends Widget {
max: o.maxDate, max: o.maxDate,
}, },
value: o.value || "", value: o.value || "",
ref: (ref) => {
this.popup = ref;
},
...o.popup,
}, },
}); });
this.combo.on(Combo.EVENT_BEFORE_POPUPVIEW, () => { this.combo.on(Combo.EVENT_BEFORE_POPUPVIEW, () => {
this.popup.setMinDate(o.minDate); this.popupEl.setMinDate(o.minDate);
this.popup.setMaxDate(o.maxDate); this.popupEl.setMaxDate(o.maxDate);
this.popup.setValue(this.storeValue); this.popupEl.setValue(this.storeValue);
this.fireEvent(DynamicYearQuarterCombo.EVENT_BEFORE_POPUPVIEW); this.fireEvent(DynamicYearQuarterCombo.EVENT_BEFORE_POPUPVIEW);
}); });
@ -244,14 +248,18 @@ export class DynamicYearQuarterCombo extends Widget {
const o = this.options; const o = this.options;
o.minDate = minDate; o.minDate = minDate;
this.trigger.setMinDate(minDate); this.trigger.setMinDate(minDate);
this.popup && this.popup.setMinDate(minDate); this.popupEl && this.popupEl.setMinDate(minDate);
} }
setMaxDate(maxDate) { setMaxDate(maxDate) {
const o = this.options; const o = this.options;
o.maxDate = maxDate; o.maxDate = maxDate;
this.trigger.setMaxDate(maxDate); this.trigger.setMaxDate(maxDate);
this.popup && this.popup.setMaxDate(maxDate); this.popupEl && this.popupEl.setMaxDate(maxDate);
}
getPopup() {
return this.popup;
} }
hideView() { hideView() {

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
packages/fineui/typescript/index.ts

@ -103,6 +103,7 @@ export { CenterAdaptLayout } from "./core/wrapper/layout/adapt/adapt.center";
export { VerticalAdaptLayout } from "./core/wrapper/layout/adapt/adapt.vertical"; export { VerticalAdaptLayout } from "./core/wrapper/layout/adapt/adapt.vertical";
export { MultiSelectInsertCombo } from "./widget/multiselect/multiselect.insert.combo"; export { MultiSelectInsertCombo } from "./widget/multiselect/multiselect.insert.combo";
export { MultiSelectCombo } from "./widget/multiselect/multiselect.combo"; export { MultiSelectCombo } from "./widget/multiselect/multiselect.combo";
export { MultiSelectCheckSelectedSwitcher } from "./widget/multiselect/switcher.checkselected";
export { SearchEditor } from "./widget/editor/editor.search"; export { SearchEditor } from "./widget/editor/editor.search";
export { MultiLayerSingleLevelTree } from "./widget/multilayersingletree/multilayersingletree.leveltree"; export { MultiLayerSingleLevelTree } from "./widget/multilayersingletree/multilayersingletree.leveltree";
export { SimpleColorChooser } from "./case/colorchooser/colorchooser.simple"; export { SimpleColorChooser } from "./case/colorchooser/colorchooser.simple";

3
packages/fineui/typescript/widget/downlist/combo.downlist.ts

@ -1,3 +1,4 @@
import { PopupView } from "../../base/layer/layer.popup";
import { Widget } from "../../core/widget"; import { Widget } from "../../core/widget";
export declare class DownListCombo extends Widget { export declare class DownListCombo extends Widget {
@ -15,4 +16,6 @@ export declare class DownListCombo extends Widget {
adjustWidth: (e?: MouseEvent) => void; adjustWidth: (e?: MouseEvent) => void;
adjustHeight: (e?: MouseEvent) => void; adjustHeight: (e?: MouseEvent) => void;
getPopup(): PopupView;
} }

6
packages/fineui/typescript/widget/dynamicdate/dynamicdate.combo.ts

@ -1,4 +1,5 @@
import { Single } from '../../base/single/single'; import { PopupView } from "../../base/layer/layer.popup";
import { Single } from "../../base/single/single";
export declare class DynamicDateCombo extends Single { export declare class DynamicDateCombo extends Single {
static xtype: string; static xtype: string;
@ -26,6 +27,7 @@ export declare class DynamicDateCombo extends Single {
}; };
watermark?: string; watermark?: string;
simple?: boolean; simple?: boolean;
popup?: any;
} & Single['props'] } & Single['props']
setMinDate(minDate: string): void; setMinDate(minDate: string): void;
@ -43,6 +45,8 @@ export declare class DynamicDateCombo extends Single {
blur(): void; blur(): void;
setWaterMark(v: string): void; setWaterMark(v: string): void;
getPopup(): PopupView;
} }
export interface DynamicDataComboValue { export interface DynamicDataComboValue {

4
packages/fineui/typescript/widget/dynamicdatetime/dynamicdatetime.combo.ts

@ -1,3 +1,4 @@
import { PopupView } from '../../base/layer/layer.popup';
import { Single } from '../../base/single/single'; import { Single } from '../../base/single/single';
export declare class DynamicDateTimeCombo extends Single { export declare class DynamicDateTimeCombo extends Single {
@ -23,6 +24,7 @@ export declare class DynamicDateTimeCombo extends Single {
tabIndex?: number; tabIndex?: number;
}; };
watermark?: string; watermark?: string;
popup?: any;
} & Single['props']; } & Single['props'];
getValue(): DynamicDateTimeComboValue; getValue(): DynamicDateTimeComboValue;
@ -40,6 +42,8 @@ export declare class DynamicDateTimeCombo extends Single {
blur(): void; blur(): void;
setWaterMark(v: string): void setWaterMark(v: string): void
getPopup(): PopupView;
} }
export interface DynamicDateTimeComboValue { export interface DynamicDateTimeComboValue {

10
packages/fineui/typescript/widget/multiselect/multiselect.insert.combo.ts

@ -1,4 +1,6 @@
import { PopupView } from "../../base/layer/layer.popup";
import { Single } from "../../base/single/single"; import { Single } from "../../base/single/single";
import { MultiSelectCheckSelectedSwitcher } from "./switcher.checkselected";
export declare class MultiSelectInsertCombo extends Single { export declare class MultiSelectInsertCombo extends Single {
static xtype: string; static xtype: string;
@ -12,6 +14,8 @@ export declare class MultiSelectInsertCombo extends Single {
static REQ_GET_DATA_LENGTH: 1; static REQ_GET_DATA_LENGTH: 1;
static REQ_GET_ALL_DATA: -1; static REQ_GET_ALL_DATA: -1;
static EVENT_AFTER_HIDEVIEW: string; static EVENT_AFTER_HIDEVIEW: string;
static EVENT_BEFORE_POPUPVIEW: string;
static EVENT_BEFORE_NUMBER_COUNTER_POPUPVIEW: string;
props: { props: {
itemsCreator?: Function; itemsCreator?: Function;
@ -21,6 +25,8 @@ export declare class MultiSelectInsertCombo extends Single {
text?: string; text?: string;
watermark?: string; watermark?: string;
container?: any; container?: any;
popup?: any;
masker?: any;
} & Single["props"]; } & Single["props"];
_itemsCreator4Trigger(op: any, callback: Function): void; _itemsCreator4Trigger(op: any, callback: Function): void;
@ -67,5 +73,9 @@ export declare class MultiSelectInsertCombo extends Single {
assist: string[]; assist: string[];
}; };
getPopup(): PopupView;
getNumberCounter(): MultiSelectCheckSelectedSwitcher;
populate(...args: any[]): void; populate(...args: any[]): void;
} }

19
packages/fineui/typescript/widget/multiselect/switcher.checkselected.ts

@ -0,0 +1,19 @@
import { Widget } from '../../core/widget';
export declare class MultiSelectCheckSelectedSwitcher extends Widget {
static xtype: string;
static EVENT_TRIGGER_CHANGE: string;
static EVENT_BEFORE_POPUPVIEW: string;
static EVENT_AFTER_HIDEVIEW: string;
props: {
itemsCreator?: Function;
valueFormatter?: Function;
};
adjustView(): void;
hideView(): void;
getView(): Widget;
}

12
packages/fineui/typescript/widget/multitree/multi.tree.combo.ts

@ -1,5 +1,7 @@
import { PopupView } from "../../base/layer/layer.popup";
import { Single } from "../../base/single/single"; import { Single } from "../../base/single/single";
import { Widget } from "../../core/widget"; import { Widget } from "../../core/widget";
import { MultiSelectCheckSelectedSwitcher } from "../multiselect/switcher.checkselected";
export declare class MultiTreeCombo extends Single { export declare class MultiTreeCombo extends Single {
static xtype: string; static xtype: string;
@ -10,6 +12,12 @@ export declare class MultiTreeCombo extends Single {
static EVENT_CLICK_ITEM: string; static EVENT_CLICK_ITEM: string;
static EVENT_CONFIRM: string; static EVENT_CONFIRM: string;
static EVENT_BEFORE_POPUPVIEW: string; static EVENT_BEFORE_POPUPVIEW: string;
static EVENT_BEFORE_NUMBER_COUNTER_POPUPVIEW: string;
props: {
popup?: any;
masker?: any;
} & Single["props"];
showView(): void; showView(): void;
hideView(): void; hideView(): void;
@ -21,4 +29,8 @@ export declare class MultiTreeCombo extends Single {
blur(): void; blur(): void;
setWaterMark(v: string): void; setWaterMark(v: string): void;
getPopup(): PopupView;
getNumberCounter(): MultiSelectCheckSelectedSwitcher;
} }

3
packages/fineui/typescript/widget/multitree/multi.tree.popup.ts

@ -1,3 +1,4 @@
import { ButtonGroup } from "../../base/combination/group.button";
import { Pane } from "../../base/pane"; import { Pane } from "../../base/pane";
export declare class MultiTreePopup extends Pane { export declare class MultiTreePopup extends Pane {
@ -12,4 +13,6 @@ export declare class MultiTreePopup extends Pane {
resetHeight(h: number): void; resetHeight(h: number): void;
resetWidth(w: number): void; resetWidth(w: number): void;
getView(): ButtonGroup;
} }

5
packages/fineui/typescript/widget/singleselect/singleselect.insert.combo.ts

@ -1,3 +1,4 @@
import { PopupView } from "../../base/layer/layer.popup";
import { Single } from "../../base/single/single"; import { Single } from "../../base/single/single";
export declare class SingleSelectInsertCombo extends Single { export declare class SingleSelectInsertCombo extends Single {
@ -8,6 +9,7 @@ export declare class SingleSelectInsertCombo extends Single {
static EVENT_SEARCHING: string; static EVENT_SEARCHING: string;
static EVENT_CLICK_ITEM: string; static EVENT_CLICK_ITEM: string;
static EVENT_CONFIRM: string; static EVENT_CONFIRM: string;
static EVENT_BEFORE_POPUPVIEW: string;
props: { props: {
text?: string, text?: string,
@ -16,5 +18,8 @@ export declare class SingleSelectInsertCombo extends Single {
valueFormatter?: Function, valueFormatter?: Function,
allowEdit?: boolean, allowEdit?: boolean,
watermark?: string, watermark?: string,
popup?: any;
} & Single['props'] } & Single['props']
getPopup(): PopupView;
} }

9
packages/fineui/typescript/widget/textvaluedownlistcombo/combo.textvaluedownlist.ts

@ -1,8 +1,17 @@
import { PopupView } from "../../base/layer/layer.popup";
import { Widget } from "../../core/widget"; import { Widget } from "../../core/widget";
export declare class TextValueDownListCombo extends Widget { export declare class TextValueDownListCombo extends Widget {
static xtype: string; static xtype: string;
static EVENT_CHANGE: string; static EVENT_CHANGE: string;
static EVENT_BEFORE_POPUPVIEW: string;
props: {
container?: string;
popup?: any;
};
getValue<T>(): [T]; getValue<T>(): [T];
getPopup(): PopupView;
} }

13
packages/fineui/typescript/widget/timeinterval/dateinterval.ts

@ -1,5 +1,5 @@
import { Single } from "../../base/single/single"; import { Single } from "../../base/single/single";
import { DynamicDataComboValue } from "../dynamicdate/dynamicdate.combo"; import { DynamicDataComboValue, DynamicDateCombo } from "../dynamicdate/dynamicdate.combo";
export declare class DateInterval extends Single { export declare class DateInterval extends Single {
static xtype: string; static xtype: string;
@ -7,13 +7,17 @@ export declare class DateInterval extends Single {
static EVENT_VALID: string; static EVENT_VALID: string;
static EVENT_ERROR: string; static EVENT_ERROR: string;
static EVENT_BEFORE_YEAR_MONTH_POPUPVIEW: string; static EVENT_BEFORE_YEAR_MONTH_POPUPVIEW: string;
static EVENT_BEFORE_START_POPUPVIEW: string;
static EVENT_BEFORE_END_POPUPVIEW: string;
props: { props: {
minDate?: string; minDate?: string;
maxDate?: string; maxDate?: string;
supportDynamic?: boolean; supportDynamic?: boolean;
watermark?: string; watermark?: string;
} & Single['props'] container?: string;
popup?: any;
} & Single["props"];
getValue(): { getValue(): {
start: DynamicDataComboValue; start: DynamicDataComboValue;
@ -23,4 +27,9 @@ export declare class DateInterval extends Single {
setMinDate(minDate: string): void; setMinDate(minDate: string): void;
setMaxDate(minDate: string): void; setMaxDate(minDate: string): void;
getPopup(): {
start: DynamicDateCombo;
end: DynamicDateCombo;
};
} }

11
packages/fineui/typescript/widget/timeinterval/timeinterval.ts

@ -1,11 +1,13 @@
import { Single } from "../../base/single/single"; import { Single } from "../../base/single/single";
import { DynamicDateTimeComboValue } from "../dynamicdatetime/dynamicdatetime.combo"; import { DynamicDateTimeCombo, DynamicDateTimeComboValue } from "../dynamicdatetime/dynamicdatetime.combo";
export declare class TimeInterval extends Single { export declare class TimeInterval extends Single {
static xtype: string; static xtype: string;
static EVENT_CHANGE: string; static EVENT_CHANGE: string;
static EVENT_VALID: string; static EVENT_VALID: string;
static EVENT_ERROR: string; static EVENT_ERROR: string;
static EVENT_BEFORE_START_POPUPVIEW: string;
static EVENT_BEFORE_END_POPUPVIEW: string;
props: { props: {
minDate?: string; minDate?: string;
@ -13,6 +15,8 @@ export declare class TimeInterval extends Single {
supportDynamic?: boolean; supportDynamic?: boolean;
watermark?: string; watermark?: string;
simple?: boolean; simple?: boolean;
container?: string;
popup?: any;
} & Single['props']; } & Single['props'];
getValue(): { getValue(): {
@ -23,4 +27,9 @@ export declare class TimeInterval extends Single {
setMinDate(minDate: string): void; setMinDate(minDate: string): void;
setMaxDate(minDate: string): void; setMaxDate(minDate: string): void;
getPopup(): {
start: DynamicDateTimeCombo;
end: DynamicDateTimeCombo;
};
} }

7
packages/fineui/typescript/widget/year/combo.year.ts

@ -1,3 +1,4 @@
import { PopupView } from "../../base/layer/layer.popup";
import { Widget } from "../../core/widget"; import { Widget } from "../../core/widget";
export declare class DynamicYearCombo extends Widget { export declare class DynamicYearCombo extends Widget {
@ -7,11 +8,17 @@ export declare class DynamicYearCombo extends Widget {
static EVENT_CONFIRM: string; static EVENT_CONFIRM: string;
static EVENT_BEFORE_POPUPVIEW: string; static EVENT_BEFORE_POPUPVIEW: string;
props: {
popup?: any;
};
getValue(): DynamicYearComboValue; getValue(): DynamicYearComboValue;
setMinDate(minDate: string): void; setMinDate(minDate: string): void;
setMaxDate(maxDate: string): void; setMaxDate(maxDate: string): void;
getPopup(): PopupView;
} }
export interface DynamicYearComboValue { export interface DynamicYearComboValue {

7
packages/fineui/typescript/widget/yearmonth/combo.yearmonth.ts

@ -1,3 +1,4 @@
import { PopupView } from "../../base/layer/layer.popup";
import { Single } from "../../base/single/single"; import { Single } from "../../base/single/single";
export declare class DynamicYearMonthCombo extends Single { export declare class DynamicYearMonthCombo extends Single {
@ -8,6 +9,10 @@ export declare class DynamicYearMonthCombo extends Single {
static EVENT_CONFIRM: string; static EVENT_CONFIRM: string;
static EVENT_BEFORE_POPUPVIEW: string; static EVENT_BEFORE_POPUPVIEW: string;
props: {
popup?: any;
} & Single["props"];
hideView(): void; hideView(): void;
getKey(): string; getKey(): string;
@ -17,6 +22,8 @@ export declare class DynamicYearMonthCombo extends Single {
setMinDate(minDate: string): void; setMinDate(minDate: string): void;
setMaxDate(maxDate: string): void; setMaxDate(maxDate: string): void;
getPopup(): PopupView;
} }
export interface DynamicYearMonthComboValue { export interface DynamicYearMonthComboValue {

11
packages/fineui/typescript/widget/yearmonthinterval/yearmonthinterval.ts

@ -1,5 +1,5 @@
import { Single } from '../../base/single/single'; import { Single } from '../../base/single/single';
import { DynamicYearMonthComboValue } from '../yearmonth/combo.yearmonth'; import { DynamicYearMonthCombo, DynamicYearMonthComboValue } from '../yearmonth/combo.yearmonth';
export declare class YearMonthInterval extends Single { export declare class YearMonthInterval extends Single {
static xtype: string; static xtype: string;
@ -7,9 +7,13 @@ export declare class YearMonthInterval extends Single {
static EVENT_ERROR: string; static EVENT_ERROR: string;
static EVENT_CHANGE: string; static EVENT_CHANGE: string;
static EVENT_BEFORE_POPUPVIEW: string; static EVENT_BEFORE_POPUPVIEW: string;
static EVENT_BEFORE_START_POPUPVIEW: string;
static EVENT_BEFORE_END_POPUPVIEW: string;
props: { props: {
simple?: boolean; simple?: boolean;
container?: string;
popup?: any;
} & Single['props']; } & Single['props'];
getValue(): { getValue(): {
@ -20,4 +24,9 @@ export declare class YearMonthInterval extends Single {
setMinDate(minDate: string): void; setMinDate(minDate: string): void;
setMaxDate(maxDate: string): void; setMaxDate(maxDate: string): void;
getPopup(): {
start: DynamicYearMonthCombo;
end: DynamicYearMonthCombo;
};
} }

7
packages/fineui/typescript/widget/yearquarter/combo.yearquarter.ts

@ -1,3 +1,4 @@
import { PopupView } from "../../base/layer/layer.popup";
import { Widget } from "../../core/widget"; import { Widget } from "../../core/widget";
export declare class DynamicYearQuarterCombo extends Widget { export declare class DynamicYearQuarterCombo extends Widget {
@ -5,11 +6,17 @@ export declare class DynamicYearQuarterCombo extends Widget {
static EVENT_CONFIRM: string; static EVENT_CONFIRM: string;
static EVENT_BEFORE_POPUPVIEW: string; static EVENT_BEFORE_POPUPVIEW: string;
props: {
popup?: any;
};
getValue(): DynamicYearQuarterComboValue; getValue(): DynamicYearQuarterComboValue;
setMinDate(minDate: string): void; setMinDate(minDate: string): void;
setMaxDate(maxDate: string): void; setMaxDate(maxDate: string): void;
getPopup(): PopupView;
} }
export interface DynamicYearQuarterComboValue { export interface DynamicYearQuarterComboValue {

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