Browse Source

Merge pull request #245420 in DEC/fineui from feature/x to bugfix/11.0

* commit '26308f7bb4371657342b393f1f373ad5761a49b9': (42 commits)
  BI-130558 fix: 【6.0.13发散】预览布局和内容缩放,控件下拉搜索,全选和选项的缩放比例不一样
  REPORT-102409 fix:FR11样式-下拉树控件-不勾选“异步展开树节点”,模糊搜索异常
  无JIRA fix调用相关的先放在compact里面,不然会循环引用
  REPORT-102409 fix:FR11样式-下拉树控件-不勾选“异步展开树节点”,模糊搜索异常
  无JIRA 事件名写错了.
  REPORT-101788 && REPORT-101859 fix:【11.0.19冒烟】新前端-控件-下拉树 下拉树搜索失效,输入值没反应 && FR11样式-下拉树控件模糊搜索无反应,控制台报错
  REPORT-101119 fix:新引擎-下拉复选框选中后查看已选选项,一直在加载中出不来
  publicPath 修复, 设计起里面用到了fineui居然
  REPORT-101859 fix:FR11样式-下拉树控件模糊搜索无反应,控制台报错
  BI-131370 && REPORT-102213 fix: 兼容11.0.18的worker资源
  BI-131340 fix: DynamicDateTimeCombo不设置value的默认值
  BI-131340 fix: DynamicDateTimeCombo的value默认值设置为null
  BI-115380 fix: 暗模式下按钮disabled时字体颜色被覆盖
  无JIRA任务 title问题
  BI-115380 fix: 暗模式下按钮disabled时字体颜色被覆盖
  无JIRA任务 提示不对
  无JIRA任务 title 变来变去的
  REPORT-101922 fix:【冒烟】定时调度默认用户组部门树勾选效果异常
  无jira任务 间距
  BI-115380 fix: 暗模式下按钮disabled时字体颜色被覆盖
  ...
research/test
superman 1 year ago
parent
commit
932bea730f
  1. 5
      README
  2. 1
      package.json
  3. 0
      packages/fineui/bi.lessconfig.json
  4. 0
      packages/fineui/jsy.lessconfig.json
  5. 2
      packages/fineui/package.json
  6. 2
      packages/fineui/src/base/combination/loader.js
  7. 2
      packages/fineui/src/base/combination/searcher.js
  8. 1
      packages/fineui/src/base/single/button/button.basic.js
  9. 1
      packages/fineui/src/base/single/button/listitem/icontextitem.js
  10. 2
      packages/fineui/src/base/single/input/file.js
  11. 2
      packages/fineui/src/base/single/input/input.js
  12. 1
      packages/fineui/src/case/combo/bubblecombo/combo.bubble.js
  13. 4
      packages/fineui/src/case/combo/textvaluecombo/combo.textvalue.js
  14. 43
      packages/fineui/src/case/ztree/asynctree.js
  15. 2
      packages/fineui/src/case/ztree/parttree.js
  16. 23
      packages/fineui/src/component/treevaluechooser/abstract.treevaluechooser.list.js
  17. 25
      packages/fineui/src/core/4.widget.js
  18. 2
      packages/fineui/src/core/func/alias.js
  19. 2
      packages/fineui/src/core/structure/cache.js
  20. 21
      packages/fineui/src/fix/fix.compact.js
  21. 2
      packages/fineui/src/index.js
  22. 4
      packages/fineui/src/less/base/single/button/button.less
  23. 1
      packages/fineui/src/third/index.js
  24. 1
      packages/fineui/src/widget/downlist/item.downlist.js
  25. 1
      packages/fineui/src/widget/downlist/item.downlistgroup.js
  26. 1
      packages/fineui/src/widget/downlist/popup.downlist.js
  27. 14
      packages/fineui/src/widget/dynamicdatetime/dynamicdatetime.combo.js
  28. 1
      packages/fineui/src/widget/editor/editor.search.js
  29. 1
      packages/fineui/src/widget/index.js
  30. 2
      packages/fineui/src/widget/multilayerdownlist/combo.downlist.js
  31. 2
      packages/fineui/src/widget/multiselect/multiselect.combo.js
  32. 2
      packages/fineui/src/widget/multiselect/search/multiselect.search.loader.js
  33. 6
      packages/fineui/src/widget/multitree/trigger/multi.tree.search.insert.pane.js
  34. 4
      packages/fineui/src/widget/multitree/trigger/searcher.list.multi.tree.js
  35. 5
      packages/fineui/src/widget/multitree/trigger/searcher.multi.tree.js
  36. 2
      packages/fineui/typescript/case/button/icon/icon.change.ts
  37. 1
      packages/fineui/typescript/widget/timeinterval/timeinterval.ts
  38. 8
      packages/fineui/webpack/attachments.js
  39. 2
      packages/fineui/webpack/webpack.common.js
  40. 2
      packages/fineui/webpack/webpack.css.js
  41. 6
      packages/fineui/webpack/webpack.prod.js
  42. 2293
      pnpm-lock.yaml

5
README

@ -23,9 +23,12 @@ http://fanruan.design/doc.html?post=0169cf558d
`pnpm run build` `pnpm run build`
## 自定义less变量构建 ## 自定义less变量构建
```
cross-env LESS_CONFIG_PATH=your_less_config.json && pnpm build
```
## 构建自定义的css
``` ```
cd ./packages/fineui
cross-env LESS_CONFIG_PATH=your_less_config.json LESS_FILE_NAME=your_file_name pnpm --filter @fui/core webpack:css cross-env LESS_CONFIG_PATH=your_less_config.json LESS_FILE_NAME=your_file_name pnpm --filter @fui/core webpack:css
``` ```

1
package.json

@ -41,6 +41,7 @@
"less-loader": "^11.1.0", "less-loader": "^11.1.0",
"mini-css-extract-plugin": "^2.7.5", "mini-css-extract-plugin": "^2.7.5",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"prettier": "^3.0.0",
"postcss": "^8.4.21", "postcss": "^8.4.21",
"postcss-loader": "^7.1.0", "postcss-loader": "^7.1.0",
"style-loader": "^3.3.1", "style-loader": "^3.3.1",

0
packages/fineui/lessconfig/bi.lessconfig.json → packages/fineui/bi.lessconfig.json

0
packages/fineui/lessconfig/jsy.lessconfig.json → packages/fineui/jsy.lessconfig.json

2
packages/fineui/package.json

@ -1,6 +1,6 @@
{ {
"name": "@fui/core", "name": "@fui/core",
"version": "3.0.20230707165537", "version": "3.0.20230727164622",
"description": "fineui", "description": "fineui",
"main": "dist/fineui.min.js", "main": "dist/fineui.min.js",
"module": "dist/lib/index.js", "module": "dist/lib/index.js",

2
packages/fineui/src/base/combination/loader.js

@ -181,7 +181,7 @@ export class Loader extends Widget {
isEmpty(optionsItems) && isEmpty(optionsItems) &&
nextTick( nextTick(
bind(() => { bind(() => {
isDefaultInit && isEmpty(optionsItems) && this._populate(); isDefaultInit && isEmpty(this.options.items) && this._populate();
}, this) }, this)
); );
const items = isFunction(optionsItems) const items = isFunction(optionsItems)

2
packages/fineui/src/base/combination/searcher.js

@ -134,7 +134,7 @@ export class Searcher extends Widget {
this.popupView = createWidget(popup, { this.popupView = createWidget(popup, {
type: SearcherView.xtype, type: SearcherView.xtype,
chooseType, chooseType,
}); }, this);
this.popupView.on(Controller.EVENT_CHANGE, (type, value, obj, ...args) => { this.popupView.on(Controller.EVENT_CHANGE, (type, value, obj, ...args) => {
this.fireEvent(Controller.EVENT_CHANGE, type, value, obj, ...args); this.fireEvent(Controller.EVENT_CHANGE, type, value, obj, ...args);
if (type === Events.CLICK) { if (type === Events.CLICK) {

1
packages/fineui/src/base/single/button/button.basic.js

@ -193,6 +193,7 @@ export class BasicButton extends Single {
trigger: "", trigger: "",
// bubble的提示不需要一直存在在界面上 // bubble的提示不需要一直存在在界面上
destroyWhenHide: true, destroyWhenHide: true,
hideWhenAnotherComboOpen: true,
ref: _ref => { ref: _ref => {
this.combo = _ref; this.combo = _ref;
}, },

1
packages/fineui/src/base/single/button/listitem/icontextitem.js

@ -59,6 +59,7 @@ export class IconTextItem extends BasicButton {
lgap: o.textLgap, lgap: o.textLgap,
rgap: o.textRgap, rgap: o.textRgap,
text: o.text, text: o.text,
title: o.title,
value: o.value, value: o.value,
keyword: o.keyword, keyword: o.keyword,
height: o.height, height: o.height,

2
packages/fineui/src/base/single/input/file.js

@ -541,7 +541,7 @@ export class File extends Widget {
// We can still show some information // We can still show some information
} }
this.fireEvent(File.EVENT_PROGRESS, { this.fireEvent(File.EVENT_PROGRESS, {
file: this.file, file: _wrap.file,
total: rpe.total, total: rpe.total,
loaded: rpe.loaded, loaded: rpe.loaded,
simulation: rpe.simulation, simulation: rpe.simulation,

2
packages/fineui/src/base/single/input/input.js

@ -144,7 +144,7 @@ export class Input extends Single {
_blur() { _blur() {
const blur = () => { const blur = () => {
if (!this.isValid() && this.options.quitChecker.apply(this, [trim(this.getValue())]) !== false) { if (!this.isValid() && this.options.quitChecker.apply(this, [trim(this.getValue())]) !== false) {
this.element.val(this._lastValidValue ? this._lastValidValue : ""); this.element.val(this._lastValidValue ?? this.options.value ?? "");
this._checkValidationOnValueChange(); this._checkValidationOnValueChange();
this._defaultState(); this._defaultState();
} }

1
packages/fineui/src/case/combo/bubblecombo/combo.bubble.js

@ -27,6 +27,7 @@ export class BubbleCombo extends Widget {
destroyWhenHide: false, destroyWhenHide: false,
hideWhenClickOutside: true, hideWhenClickOutside: true,
hideWhenBlur: true, hideWhenBlur: true,
hideWhenAnotherComboOpen: false,
isNeedAdjustHeight: true, // 是否需要高度调整 isNeedAdjustHeight: true, // 是否需要高度调整
isNeedAdjustWidth: true, isNeedAdjustWidth: true,
stopPropagation: false, stopPropagation: false,

4
packages/fineui/src/case/combo/textvaluecombo/combo.textvalue.js

@ -144,8 +144,8 @@ export class TextValueCombo extends Widget {
return { return {
type: Combo.xtype, type: Combo.xtype,
height: toPix(o.height, 2), height: toPix(o.height, o.simple ? 1 : 2),
width: toPix(o.width, 2), width: toPix(o.width, o.simple ? 0 : 2),
ref: ref => (this.combo = ref), ref: ref => (this.combo = ref),
container: o.container, container: o.container,
direction: o.direction, direction: o.direction,

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

@ -1,7 +1,19 @@
import { cjkEncodeDO, deepClone, each, extend, isEmpty, isNotNull, isNull, shortcut } from "@/core"; import {
cjkEncodeDO,
deepClone,
each,
extend,
isEmpty,
isNotNull,
isNull,
shortcut,
AbsoluteLayout,
createWidget,
} from "@/core";
import { TreeView } from "./treeview"; import { TreeView } from "./treeview";
import { TreeRenderPageService } from "./treerender.page.service"; import { TreeRenderPageService } from "./treerender.page.service";
import $ from "jquery"; import $ from "jquery";
import { IconLabel } from "@/base";
@shortcut() @shortcut()
export class AsyncTree extends TreeView { export class AsyncTree extends TreeView {
@ -197,7 +209,34 @@ export class AsyncTree extends TreeView {
}, },
options options
); );
o.itemsCreator(op, complete);
let loadingIcon;
createWidget({
type: AbsoluteLayout.xtype,
element: self.element.find(`#${treeNode.tId}`),
css: {
position: "relative",
},
items: [
{
el: {
type: IconLabel.xtype,
width: 20,
height: 20,
cls: "button-loading-font anim-rotate bi-card",
ref: ref => {
loadingIcon = ref;
},
},
left: 5,
top: 5,
},
],
});
o.itemsCreator(op, (...args) => {
complete.apply(this, args);
loadingIcon.destroy();
});
} }
// 展开节点会将halfCheck置为false以开启自动计算半选, 所以第一次展开节点的时候需要在置为false之前获取配置 // 展开节点会将halfCheck置为false以开启自动计算半选, 所以第一次展开节点的时候需要在置为false之前获取配置

2
packages/fineui/src/case/ztree/parttree.js

@ -24,7 +24,7 @@ export class PartTree extends AsyncTree {
constructor(...args) { constructor(...args) {
super(...args); super(...args);
this.seMethos = super._selectTreeNode; this.seMethos = AsyncTree.superclass._selectTreeNode;
} }
_loadMore() { _loadMore() {

23
packages/fineui/src/component/treevaluechooser/abstract.treevaluechooser.list.js

@ -76,6 +76,7 @@ export class AbstractListTreeValueChooser extends AbstractTreeValueChooser {
} }
_reqInitTreeNode(op, callback) { _reqInitTreeNode(op, callback) {
const self = this;
let result = []; let result = [];
const keyword = op.keyword || ""; const keyword = op.keyword || "";
const selectedValues = op.selectedValues; const selectedValues = op.selectedValues;
@ -89,8 +90,8 @@ export class AbstractListTreeValueChooser extends AbstractTreeValueChooser {
}); });
}); });
const search = () => { function search() {
const children = this._getChildren([]); const children = self._getChildren([]);
let start = children.length; let start = children.length;
if (lastSearchValue !== "") { if (lastSearchValue !== "") {
for (let j = 0, len = start; j < len; j++) { for (let j = 0, len = start; j < len; j++) {
@ -105,22 +106,22 @@ export class AbstractListTreeValueChooser extends AbstractTreeValueChooser {
const output = []; const output = [];
let find; let find;
for (let i = start, len = children.length; i < len; i++) { for (let i = start, len = children.length; i < len; i++) {
if (output.length < this._const.perPage) { if (output.length < self._const.perPage) {
find = nodeSearch(1, [], children[i].value, result); find = nodeSearch(1, [], children[i].value, result);
} else if (output.length === this._const.perPage) { } else if (output.length === self._const.perPage) {
find = nodeSearch(1, [], children[i].value, []); find = nodeSearch(1, [], children[i].value, []);
} }
if (find[0] === true) { if (find[0] === true) {
output.push(children[i].value); output.push(children[i].value);
} }
if (output.length > this._const.perPage) { if (output.length > self._const.perPage) {
break; break;
} }
} }
// 深层嵌套的比较麻烦,这边先实现的是在根节点添加 // 深层嵌套的比较麻烦,这边先实现的是在根节点添加
if (op.times === 1) { if (op.times === 1) {
const nodes = this._getAddedValueNode([], selectedValues); const nodes = self._getAddedValueNode([], selectedValues);
result = concat( result = concat(
filter(nodes, (idx, node) => { filter(nodes, (idx, node) => {
const find = Func.getSearchResult([node.text || node.value], keyword); const find = Func.getSearchResult([node.text || node.value], keyword);
@ -134,8 +135,8 @@ export class AbstractListTreeValueChooser extends AbstractTreeValueChooser {
return output; return output;
}; };
const createOneJson = (parentValues, value, isOpen, checked, flag, result) => { function createOneJson(parentValues, value, isOpen, checked, flag, result) {
const node = this._getTreeNode(parentValues, value); const node = self._getTreeNode(parentValues, value);
result.push({ result.push({
id: node.id, id: node.id,
pId: node.pId, pId: node.pId,
@ -151,9 +152,9 @@ export class AbstractListTreeValueChooser extends AbstractTreeValueChooser {
}); });
}; };
const nodeSearch = (deep, parentValues, current, result) => { function nodeSearch(deep, parentValues, current, result) {
let checked; let checked;
if (this._isMatch(parentValues, current, keyword)) { if (self._isMatch(parentValues, current, keyword)) {
checked = isSelected(parentValues, current); checked = isSelected(parentValues, current);
createOneJson(parentValues, current, false, checked, true, result); createOneJson(parentValues, current, false, checked, true, result);
@ -161,7 +162,7 @@ export class AbstractListTreeValueChooser extends AbstractTreeValueChooser {
} }
const newParents = clone(parentValues); const newParents = clone(parentValues);
newParents.push(current); newParents.push(current);
const children = this._getChildren(newParents); const children = self._getChildren(newParents);
let can = false; let can = false;
checked = false; checked = false;

25
packages/fineui/src/core/4.widget.js

@ -25,7 +25,7 @@ import {
import { OB } from "./3.ob"; import { OB } from "./3.ob";
import { Providers, _lazyCreateWidget } from "./5.inject"; import { Providers, _lazyCreateWidget } from "./5.inject";
import { DOM } from "./utils"; import { DOM } from "./utils";
import { Events, emptyFn, pixFormat } from "./constant"; import { Events, pixFormat } from "./constant";
import { Plugin } from "./6.plugin"; import { Plugin } from "./6.plugin";
import { _global } from "./0.foundation"; import { _global } from "./0.foundation";
import { SystemProvider } from "./system"; import { SystemProvider } from "./system";
@ -336,29 +336,6 @@ export class Widget extends OB {
} }
} }
__watch(getter, handler, options) {
if (_global.Fix) {
this._watchers = this._watchers || [];
const watcher = new Fix.Watcher(
null,
() => getter.call(this, this),
(handler &&
((v) => {
handler.call(this, this, v);
})) ||
emptyFn,
extend({ deep: true }, options)
);
this._watchers.push(() => {
watcher.teardown();
});
return watcher.value;
} else {
return getter();
}
}
/** /**
* 初始化根节点 * 初始化根节点
* @private * @private

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

@ -637,7 +637,7 @@ export const getEncodeURL = function(urlTemplate, param) {
export const encodeURIComponent = function(url) { export const encodeURIComponent = function(url) {
const specialCharsMap = getSpecialCharsMap(); const specialCharsMap = getSpecialCharsMap();
url = url || ""; url = url ?? "";
url = replaceAll(`${url}`, keys(specialCharsMap || []).join("|"), str => { url = replaceAll(`${url}`, keys(specialCharsMap || []).join("|"), str => {
switch (str) { switch (str) {
case "\\": case "\\":

2
packages/fineui/src/core/structure/cache.js

@ -13,7 +13,7 @@ export const Cache = {
return Cache._getKeyPrefix() + (key || ""); return Cache._getKeyPrefix() + (key || "");
}, },
getItem: function (key, opt = {}) { getItem: function (key, opt = {}) {
const { defaultValue, typeConversion } = opt; const { defaultValue = null, typeConversion } = opt;
const storageKey = Cache._generateKey(key); const storageKey = Cache._generateKey(key);
let value = localStorage.getItem(storageKey); let value = localStorage.getItem(storageKey);

21
packages/fineui/src/fix/fix.compact.js

@ -7,7 +7,7 @@ import {
extend, extend,
isFunction, isFunction,
Widget, Widget,
Providers Providers, emptyFn
} from "@/core"; } from "@/core";
import { Fix } from "./fix"; import { Fix } from "./fix";
@ -213,6 +213,25 @@ Widget.prototype.__destroy = function () {
delete this.__cacheStore; delete this.__cacheStore;
}; };
Widget.prototype.__watch = function(getter, handler, options) {
this._watchers = this._watchers || [];
const watcher = new Fix.Watcher(
null,
() => getter.call(this, this),
(handler &&
((v) => {
handler.call(this, this, v);
})) ||
emptyFn,
extend({ deep: true }, options)
);
this._watchers.push(() => {
watcher.teardown();
});
return watcher.value;
};
_.each(["_render", "__afterRender", "_mount", "__afterMount"], (name) => { _.each(["_render", "__afterRender", "_mount", "__afterMount"], (name) => {
const old = Widget.prototype[name]; const old = Widget.prototype[name];
old && old &&

2
packages/fineui/src/index.js

@ -10,10 +10,12 @@ export * from "./widget";
export * from "./component"; export * from "./component";
export * from "./fix"; export * from "./fix";
export * from "./router"; export * from "./router";
export * from "./third";
export * as Popper from "@popperjs/core"; export * as Popper from "@popperjs/core";
export const jQuery = jquery; export const jQuery = jquery;
export const $ = jquery; export const $ = jquery;
import * as D from "@/core/decorator"; import * as D from "@/core/decorator";
import { Fix } from "./fix"; import { Fix } from "./fix";
export const Decorators = { ...D, Model: Fix.Model }; export const Decorators = { ...D, Model: Fix.Model };

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

@ -479,8 +479,8 @@ body .bi-button, #body .bi-button {
} }
} }
.bi-theme-dark { .bi-theme-dark, #body .bi-theme-dark {
.bi-button, #body .bi-button { .bi-button {
&.button-ignore { &.button-ignore {
background-color: @color-bi-background-ignore-button-theme-dark; background-color: @color-bi-background-ignore-button-theme-dark;
&:hover, &:focus { &:hover, &:focus {

1
packages/fineui/src/third/index.js

@ -0,0 +1 @@
export * from "./sort.gb2312";

1
packages/fineui/src/widget/downlist/item.downlist.js

@ -39,6 +39,7 @@ export class DownListItem extends BasicButton {
lgap: o.textLgap, lgap: o.textLgap,
rgap: o.textRgap, rgap: o.textRgap,
text: o.text, text: o.text,
title: o.title,
value: o.value, value: o.value,
keyword: o.keyword, keyword: o.keyword,
height: o.height, height: o.height,

1
packages/fineui/src/widget/downlist/item.downlistgroup.js

@ -42,6 +42,7 @@ export class DownListGroupItem extends BasicButton {
cls: "list-group-item-text", cls: "list-group-item-text",
textAlign: "left", textAlign: "left",
text: o.text, text: o.text,
title: o.title,
value: o.value, value: o.value,
height: o.height, height: o.height,
}); });

1
packages/fineui/src/widget/downlist/popup.downlist.js

@ -1,5 +1,6 @@
import { ButtonTree, Pane } from "@/base"; import { ButtonTree, Pane } from "@/base";
import { import {
Selection,
VerticalLayout, VerticalLayout,
Layout, Layout,
shortcut, shortcut,

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

@ -31,9 +31,7 @@ export class DynamicDateTimeCombo extends Single {
iconWidth: 24 iconWidth: 24
}; };
props = () => { props = {
const date = getDate();
return {
baseCls: "bi-dynamic-date--time-combo", baseCls: "bi-dynamic-date--time-combo",
height: 24, height: 24,
minDate: "1900-01-01", minDate: "1900-01-01",
@ -42,18 +40,10 @@ export class DynamicDateTimeCombo extends Single {
allowEdit: true, allowEdit: true,
supportDynamic: true, supportDynamic: true,
attributes: { attributes: {
tabIndex: -1 tabIndex: -1,
}, },
isNeedAdjustHeight: false, isNeedAdjustHeight: false,
isNeedAdjustWidth: false, isNeedAdjustWidth: false,
value: {
type: DynamicDateTimeCombo.Static,
value: {
year: date.getFullYear(),
month: date.getMonth() + 1
}
}
};
}; };
static EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; static EVENT_KEY_DOWN = "EVENT_KEY_DOWN";

1
packages/fineui/src/widget/editor/editor.search.js

@ -69,6 +69,7 @@ export class SearchEditor extends Widget {
quitChecker: o.quitChecker, quitChecker: o.quitChecker,
value: o.value, value: o.value,
autoTrim: o.autoTrim, autoTrim: o.autoTrim,
autocomplete: o.autocomplete
}); });
this.clear = createWidget({ this.clear = createWidget({
type: IconButton.xtype, type: IconButton.xtype,

1
packages/fineui/src/widget/index.js

@ -7,6 +7,7 @@ export { MultiTreeInsertCombo } from "./multitree/multi.tree.insert.combo";
export { MultiTreeListCombo } from "./multitree/multi.tree.list.combo"; export { MultiTreeListCombo } from "./multitree/multi.tree.list.combo";
export { NumberEditor } from "./numbereditor/number.editor"; export { NumberEditor } from "./numbereditor/number.editor";
export { NumberInterval } from "./numberinterval/numberinterval"; export { NumberInterval } from "./numberinterval/numberinterval";
export { NumberIntervalSingleEidtor } from "./numberinterval/singleeditor/single.editor";
export { YearMonthInterval } from "./yearmonthinterval/yearmonthinterval"; export { YearMonthInterval } from "./yearmonthinterval/yearmonthinterval";
export { YearQuarterInterval } from "./yearquarterinterval/yearquarterinterval"; export { YearQuarterInterval } from "./yearquarterinterval/yearquarterinterval";
export { YearInterval } from "./yearinterval/yearinterval"; export { YearInterval } from "./yearinterval/yearinterval";

2
packages/fineui/src/widget/multilayerdownlist/combo.downlist.js

@ -33,7 +33,7 @@ export class MultiLayerDownListCombo extends Widget {
items: o.items, items: o.items,
chooseType: o.chooseType, chooseType: o.chooseType,
value: o.value, value: o.value,
}); }, this);
this.popupview.on(MultiLayerDownListPopup.EVENT_CHANGE, value => { this.popupview.on(MultiLayerDownListPopup.EVENT_CHANGE, value => {
this.fireEvent(MultiLayerDownListCombo.EVENT_CHANGE, value); this.fireEvent(MultiLayerDownListCombo.EVENT_CHANGE, value);

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

@ -47,7 +47,7 @@ export class MultiSelectCombo extends Single {
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 MultiSelectCombo = "MultiSelectCombo"; static EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW";
_defaultConfig() { _defaultConfig() {
return extend(super._defaultConfig(...arguments), { return extend(super._defaultConfig(...arguments), {

2
packages/fineui/src/widget/multiselect/search/multiselect.search.loader.js

@ -146,7 +146,7 @@ export class MultiSelectSearchLoader extends Widget {
}, },
value: opts.value, value: opts.value,
height: "fill", height: "fill",
}); }, this);
this.button_group.on(Controller.EVENT_CHANGE, function() { this.button_group.on(Controller.EVENT_CHANGE, function() {
self.fireEvent(Controller.EVENT_CHANGE, arguments); self.fireEvent(Controller.EVENT_CHANGE, arguments);
}); });

6
packages/fineui/src/widget/multitree/trigger/multi.tree.search.insert.pane.js

@ -11,6 +11,10 @@ export class MultiTreeSearchInsertPane extends Widget {
el: { type: PartTree.xtype }, el: { type: PartTree.xtype },
}; };
static CONSTANTS = {
height: 24,
};
static EVENT_CHANGE = "EVENT_CHANGE"; static EVENT_CHANGE = "EVENT_CHANGE";
static EVENT_CLICK_CONFIRM = "EVENT_CLICK_CONFIRM"; static EVENT_CLICK_CONFIRM = "EVENT_CLICK_CONFIRM";
static EVENT_CLICK_CLEAR = "EVENT_CLICK_CLEAR"; static EVENT_CLICK_CLEAR = "EVENT_CLICK_CLEAR";
@ -32,7 +36,7 @@ export class MultiTreeSearchInsertPane extends Widget {
self.addTip = _ref; self.addTip = _ref;
}, },
text: i18nText("BI-Basic_Click_To_Add_Text", ""), text: i18nText("BI-Basic_Click_To_Add_Text", ""),
height: this.constants.height, height: MultiTreeSearchInsertPane.CONSTANTS.height,
cls: "bi-high-light", cls: "bi-high-light",
handler() { handler() {
self.fireEvent(MultiTreeSearchInsertPane.EVENT_ADD_ITEM, opts.keywordGetter()); self.fireEvent(MultiTreeSearchInsertPane.EVENT_ADD_ITEM, opts.keywordGetter());

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

@ -1,4 +1,4 @@
import { shortcut, Widget, extend, emptyFn, createWidget, isNotNull, isNumber, size, each, last, Selection } from "@/core"; import { shortcut, Widget, extend, emptyFn, createWidget, isNotNull, isNumber, size, each, last, Selection, isObject } from "@/core";
import { MultiSelectEditor } from "../../multiselect/trigger/editor.multiselect"; import { MultiSelectEditor } from "../../multiselect/trigger/editor.multiselect";
import { MultiSelectSearcher } from "../../multiselect/trigger/searcher.multiselect"; import { MultiSelectSearcher } from "../../multiselect/trigger/searcher.multiselect";
import { Searcher } from "@/base"; import { Searcher } from "@/base";
@ -137,7 +137,7 @@ export class MultiListTreeSearcher extends Widget {
setState(ob) { setState(ob) {
const o = this.options; const o = this.options;
ob || (ob = {}); ob || (ob = {});
ob.value || (ob.value = []); isObject(ob) && (ob.value || (ob.value = []));
let count = 0; let count = 0;
if (isNumber(ob)) { if (isNumber(ob)) {
this.editor.setState(ob); this.editor.setState(ob);

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

@ -11,7 +11,8 @@ import {
each, each,
isEmptyObject, isEmptyObject,
Func, Func,
Selection Selection,
isObject
} from "@/core"; } from "@/core";
import { MultiSelectEditor } from "../../multiselect/trigger/editor.multiselect"; import { MultiSelectEditor } from "../../multiselect/trigger/editor.multiselect";
import { MultiSelectSearcher } from "../../multiselect/trigger/searcher.multiselect"; import { MultiSelectSearcher } from "../../multiselect/trigger/searcher.multiselect";
@ -165,7 +166,7 @@ export class MultiTreeSearcher extends Widget {
setState(ob) { setState(ob) {
const o = this.options; const o = this.options;
ob || (ob = {}); ob || (ob = {});
ob.value || (ob.value = {}); isObject(ob) && (ob.value || (ob.value = {}));
let count = 0; let count = 0;
if (isNumber(ob)) { if (isNumber(ob)) {
this.editor.setState(ob); this.editor.setState(ob);

2
packages/fineui/typescript/case/button/icon/icon.change.ts

@ -6,7 +6,7 @@ export declare class IconChangeButton extends Single {
static EVENT_CHANGE: string; static EVENT_CHANGE: string;
props: { props: {
iconCls: string; iconCls: string | (() => string);
} & IconButton['props'] } & IconButton['props']
isSelected(): boolean; isSelected(): boolean;

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

@ -12,6 +12,7 @@ export declare class TimeInterval extends Single {
maxDate?: string; maxDate?: string;
supportDynamic?: boolean; supportDynamic?: boolean;
watermark?: string; watermark?: string;
simple?: boolean;
} & Single['props'] } & Single['props']
getValue(): { getValue(): {

8
packages/fineui/webpack/attachments.js

@ -10,7 +10,7 @@ const basicAttachmentMap = {
resource: sync(["src/less/resource/**/*.less"]), resource: sync(["src/less/resource/**/*.less"]),
font: sync(["public/less/font.less"]), font: sync(["public/less/font.less"]),
ts: ["./typescript/bundle.ts"], ts: ["./typescript/bundle.ts"],
ui: sync(["ui/less/app.less", "ui/less/**/*.less", "ui/js/**/*.js"]), ui: sync(["ui/less/app.less", "ui/less/**/*.less",]),
less: sync([ less: sync([
"src/less/core/**/*.less", "src/less/core/**/*.less",
"src/less/theme/**/*.less", "src/less/theme/**/*.less",
@ -20,23 +20,21 @@ const basicAttachmentMap = {
"src/less/component/**/*.less" "src/less/component/**/*.less"
]), ]),
js_bundle: sync(["src/bundle.js"]), js_bundle: sync(["src/bundle.js"]),
js_worker: sync(["src/worker.js"]) js_worker: sync(["src/worker.js"]),
}; };
const bundleCss = [].concat(basicAttachmentMap.less, sync(["public/less/app.less", "public/less/**/*.less"])); const bundleCss = uniq([].concat(basicAttachmentMap.less, basicAttachmentMap.ui, sync(["public/less/app.less", "public/less/**/*.less"])));
const fineui = [].concat( const fineui = [].concat(
bundleCss, bundleCss,
basicAttachmentMap.polyfill, basicAttachmentMap.polyfill,
basicAttachmentMap.js_bundle, basicAttachmentMap.js_bundle,
basicAttachmentMap.ui,
basicAttachmentMap.ts, basicAttachmentMap.ts,
configJS configJS
); );
const fineuiForWorker = [].concat( const fineuiForWorker = [].concat(
basicAttachmentMap.js_worker, basicAttachmentMap.js_worker,
basicAttachmentMap.ui,
basicAttachmentMap.ts basicAttachmentMap.ts
); );

2
packages/fineui/webpack/webpack.common.js

@ -14,7 +14,7 @@ let lessVariables = {};
if (process.env.LESS_CONFIG_PATH) { if (process.env.LESS_CONFIG_PATH) {
const lessConfigPath = path.isAbsolute(process.env.LESS_CONFIG_PATH) const lessConfigPath = path.isAbsolute(process.env.LESS_CONFIG_PATH)
? process.env.LESS_CONFIG_PATH ? process.env.LESS_CONFIG_PATH
: path.resolve(__dirname, "../lessconfig", process.env.LESS_CONFIG_PATH); : path.resolve(__dirname, "../", process.env.LESS_CONFIG_PATH);
lessVariables = fs.existsSync(lessConfigPath) ? require(lessConfigPath) || {} : {}; lessVariables = fs.existsSync(lessConfigPath) ? require(lessConfigPath) || {} : {};
} }

2
packages/fineui/webpack/webpack.css.js

@ -6,6 +6,6 @@ prod.entry = {};
module.exports = merge(prod, { module.exports = merge(prod, {
mode: "production", mode: "production",
entry: { entry: {
[`${process.env.LESS_FILE_NAME}.min`]: attachments.bundleCss, [`${process.env.LESS_FILE_NAME || "custom"}.min`]: attachments.bundleCss,
}, },
}); });

6
packages/fineui/webpack/webpack.prod.js

@ -10,12 +10,14 @@ module.exports = merge(common, {
entry: { entry: {
"fineui.min": attachments.fineui, "fineui.min": attachments.fineui,
"fineui.worker.min": attachments.fineuiForWorker, "fineui.worker.min": attachments.fineuiForWorker,
"fineui.worker": attachments.fineuiForWorker "fineui.worker": attachments.fineuiForWorker,
"fineui_without_jquery_polyfill.min":attachments.fineuiForWorker,
}, },
output: { output: {
path: dirs.DEST, path: dirs.DEST,
filename: "[name].js" filename: "[name].js",
publicPath: ""
}, },
devtool: "hidden-source-map" devtool: "hidden-source-map"

2293
pnpm-lock.yaml

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save