diff --git a/packages/fineui/dist/font/iconfont.eot b/packages/fineui/dist/font/iconfont.eot
index 1869759e5..044b77bf6 100644
Binary files a/packages/fineui/dist/font/iconfont.eot and b/packages/fineui/dist/font/iconfont.eot differ
diff --git a/packages/fineui/dist/font/iconfont.svg b/packages/fineui/dist/font/iconfont.svg
index cc9ca8397..cfaa0c400 100644
--- a/packages/fineui/dist/font/iconfont.svg
+++ b/packages/fineui/dist/font/iconfont.svg
@@ -14,6 +14,14 @@
/>
+
+
+
+
+
+
+
+
@@ -654,7 +662,7 @@
-
+
@@ -702,7 +710,7 @@
-
+
diff --git a/packages/fineui/dist/font/iconfont.ttf b/packages/fineui/dist/font/iconfont.ttf
index 9fd8ae7ef..c0b1a2247 100644
Binary files a/packages/fineui/dist/font/iconfont.ttf and b/packages/fineui/dist/font/iconfont.ttf differ
diff --git a/packages/fineui/dist/font/iconfont.woff b/packages/fineui/dist/font/iconfont.woff
index a442eb7d8..b5741e03d 100644
Binary files a/packages/fineui/dist/font/iconfont.woff and b/packages/fineui/dist/font/iconfont.woff differ
diff --git a/packages/fineui/dist/font/iconfont.woff2 b/packages/fineui/dist/font/iconfont.woff2
index ba94e1622..31c1eb2ef 100644
Binary files a/packages/fineui/dist/font/iconfont.woff2 and b/packages/fineui/dist/font/iconfont.woff2 differ
diff --git a/packages/fineui/src/base/layer/layer.popover.js b/packages/fineui/src/base/layer/layer.popover.js
index d7649c389..0f08ac097 100644
--- a/packages/fineui/src/base/layer/layer.popover.js
+++ b/packages/fineui/src/base/layer/layer.popover.js
@@ -198,11 +198,11 @@ export class Popover extends Widget {
mounted() {
this.startX = 0;
this.startY = 0;
- const bodyDom = getOuterBody();
this.tracker = new MouseMoveTracker(
(deltaX, deltaY) => {
- const W = Widget._renderEngine.createElement(bodyDom).width();
- const H = Widget._renderEngine.createElement(bodyDom).height();
+ const el = Widget._renderEngine.createElement(getOuterBody())[0];
+ const W = el.clientWidth;
+ const H = el.clientHeight;
this.startX += deltaX;
this.startY += deltaY;
this.element.css({
@@ -246,7 +246,7 @@ export class Popover extends Widget {
}
_getSuitableWidth(width) {
- return clamp(width, 0, Widget._renderEngine.createElement(getOuterBody()).width());
+ return clamp(width, 0, Widget._renderEngine.createElement(getOuterBody())[0].clientWidth);
}
_calculateSize() {
diff --git a/packages/fineui/src/case/button/treeitem/item.icon.treeleaf.js b/packages/fineui/src/case/button/treeitem/item.icon.treeleaf.js
index 186dacd2d..b6a254974 100644
--- a/packages/fineui/src/case/button/treeitem/item.icon.treeleaf.js
+++ b/packages/fineui/src/case/button/treeitem/item.icon.treeleaf.js
@@ -1,6 +1,9 @@
import { CenterAdaptLayout, shortcut, extend, createWidget, LogicFactory, Direction } from "@/core";
import { Icon, Label, BasicButton } from "@/base";
+/**
+ * @deprecated
+ */
@shortcut()
export class IconTreeLeafItem extends BasicButton {
static xtype = "bi.icon_tree_leaf_item";
diff --git a/packages/fineui/src/case/button/treeitem/item.multilayer.icon.treeleaf.js b/packages/fineui/src/case/button/treeitem/item.multilayer.icon.treeleaf.js
index cd2eb820d..97763ca35 100644
--- a/packages/fineui/src/case/button/treeitem/item.multilayer.icon.treeleaf.js
+++ b/packages/fineui/src/case/button/treeitem/item.multilayer.icon.treeleaf.js
@@ -1,9 +1,14 @@
-import { IconTreeLeafItem } from "./item.icon.treeleaf";
-import { Layout, HorizontalAdaptLayout, shortcut, extend, createWidget, Controller, makeArray, count, Events } from "@/core";
-import { BasicButton } from "@/base";
-
+import {
+ shortcut,
+ extend,
+} from "@/core";
+import { BasicTreeItem } from "./treeitem";
+
+/**
+ * @deprecated
+ */
@shortcut()
-export class MultiLayerIconTreeLeafItem extends BasicButton {
+export class MultiLayerIconTreeLeafItem extends BasicTreeItem {
static xtype = "bi.multilayer_icon_tree_leaf_item";
_defaultConfig() {
@@ -14,89 +19,8 @@ export class MultiLayerIconTreeLeafItem extends BasicButton {
iconCls: "",
iconHeight: 16,
iconWidth: 16,
+ showLine: false,
+ indentWidth: 0
});
}
-
- _init() {
- super._init(...arguments);
- const o = this.options;
- this.item = createWidget({
- type: IconTreeLeafItem.xtype,
- cls: "bi-list-item-none",
- iconCls: o.iconCls,
- id: o.id,
- pId: o.pId,
- isFront: true,
- height: o.height,
- hgap: o.hgap,
- text: o.text,
- value: o.value,
- py: o.py,
- keyword: o.keyword,
- iconWidth: o.iconWidth,
- iconHeight: o.iconHeight,
- });
- this.item.on(Controller.EVENT_CHANGE, (...args) => {
- const [type] = args;
- if (type === Events.CLICK) {
- // 本身实现click功能
- return;
- }
- this.fireEvent(Controller.EVENT_CHANGE, ...args);
- });
-
- const items = [];
- count(0, o.layer, () => {
- items.push({
- type: Layout.xtype,
- width: 15,
- height: o.height,
- });
- });
- items.push(this.item);
- createWidget({
- type: HorizontalAdaptLayout.xtype,
- element: this,
- columnSize: makeArray(o.layer, 15),
- items,
- });
- }
-
- doRedMark() {
- this.item.doRedMark(...arguments);
- }
-
- unRedMark() {
- this.item.unRedMark(...arguments);
- }
-
- doHighLight() {
- this.item.doHighLight(...arguments);
- }
-
- unHighLight() {
- this.item.unHighLight(...arguments);
- }
-
- getId() {
- return this.options.id;
- }
-
- getPId() {
- return this.options.pId;
- }
-
- doClick() {
- super.doClick(...arguments);
- this.item.setSelected(this.isSelected());
- }
-
- setSelected(v) {
- super.setSelected(...arguments);
- this.item.setSelected(v);
- }
-
- getValue() {
- return this.options.value;
- }
}
diff --git a/packages/fineui/src/case/button/treeitem/treeitem.js b/packages/fineui/src/case/button/treeitem/treeitem.js
index 722694d34..73b792ad1 100644
--- a/packages/fineui/src/case/button/treeitem/treeitem.js
+++ b/packages/fineui/src/case/button/treeitem/treeitem.js
@@ -20,6 +20,8 @@ export class BasicTreeItem extends NodeButton {
iconWidth: null,
iconHeight: null,
iconCls: "",
+ showLine: true,
+ indentWidth: null,
});
}
@@ -37,14 +39,16 @@ export class BasicTreeItem extends NodeButton {
py,
keyword,
iconCls,
+ showLine,
+ indentWidth
} = this.options;
const indent = {
el: {
type: Layout.xtype,
height,
- width: height,
- cls: this.getLineCls(),
+ width: indentWidth ?? height,
+ cls: showLine ? this.getLineCls() : "",
},
lgap: layer * SIZE_CONSANTS.LIST_ITEM_HEIGHT / 2, // 偏移公式为每一层的偏移量为节点高度的一半
width: "",
diff --git a/packages/fineui/src/core/controller/controller.popover.js b/packages/fineui/src/core/controller/controller.popover.js
index c4b8337b8..d8a800780 100644
--- a/packages/fineui/src/core/controller/controller.popover.js
+++ b/packages/fineui/src/core/controller/controller.popover.js
@@ -38,7 +38,7 @@ export class PopoverController extends Controller {
type: "bi.popover",
}, context);
this.add(name, popover, options, context);
-
+
return this;
}
@@ -58,8 +58,8 @@ export class PopoverController extends Controller {
const popover = this.get(name);
popover.show && popover.show();
const render = this.getRender();
- const W = Widget._renderEngine.createElement(render).width(),
- H = Widget._renderEngine.createElement(render).height();
+ const el = Widget._renderEngine.createElement(render)[0];
+ const W = el.clientWidth, H = el.clientHeight;
const w = popover.element.width(), h = popover.element.height();
let left = (W - w) / 2, top = (H - h) / 2;
if (left < 0) {
@@ -74,7 +74,7 @@ export class PopoverController extends Controller {
top: `${top}px`,
});
}
-
+
return this;
}
@@ -87,7 +87,7 @@ export class PopoverController extends Controller {
this.floatContainer[name].invisible();
this.modal && this.floatContainer[name].element.__releaseZIndexMask__(this.zindexMap[name]);
}
-
+
return this;
}
@@ -135,7 +135,7 @@ export class PopoverController extends Controller {
bottom: 0,
}],
});
-
+
return this;
}
@@ -167,7 +167,7 @@ export class PopoverController extends Controller {
delete this.zindexMap[name];
delete this.floatContainer[name];
delete this.floatOpened[name];
-
+
return this;
}
@@ -181,7 +181,7 @@ export class PopoverController extends Controller {
this.floatContainer = {};
this.floatOpened = {};
this.zindexMap = {};
-
+
return this;
}
diff --git a/packages/fineui/src/core/utils/dom.js b/packages/fineui/src/core/utils/dom.js
index fbee6b287..1be70de14 100644
--- a/packages/fineui/src/core/utils/dom.js
+++ b/packages/fineui/src/core/utils/dom.js
@@ -744,10 +744,11 @@ export function getComboPosition(combo, popup, extraWidth, extraHeight, needAdap
if (needAdaptHeight === true && popup.resetHeight) {
const comboRect = combo.element[0].getBoundingClientRect();
const relativeOffset = positionRelativeElement ? positionRelativeElement.getBoundingClientRect().top : 0;
- if (position.top < comboRect.top) {
- popup.resetHeight(Math.min(viewportBounds.height - position.top - relativeOffset, comboRect.top, maxHeight));
- } else if (position.top >= comboRect.bottom) {
- popup.resetHeight(Math.min(viewportBounds.height - position.top - relativeOffset, viewportBounds.height - comboRect.bottom, maxHeight));
+ const positionTop = position.top + relativeOffset;
+ if (positionTop < comboRect.top) {
+ popup.resetHeight(Math.min(viewportBounds.height - positionTop, comboRect.top, maxHeight));
+ } else if (positionTop >= comboRect.bottom) {
+ popup.resetHeight(Math.min(viewportBounds.height - positionTop, viewportBounds.height - comboRect.bottom, maxHeight));
}
}
diff --git a/packages/fineui/webpack/webpack.dev.js b/packages/fineui/webpack/webpack.dev.js
index 3b795e02d..1f80646d2 100644
--- a/packages/fineui/webpack/webpack.dev.js
+++ b/packages/fineui/webpack/webpack.dev.js
@@ -6,7 +6,7 @@ const dirs = require("./dirs");
module.exports = merge(common, {
mode: "development",
- devtool: "inline-source-map",
+ devtool: "eval-source-map",
output: {
path: dirs.DEST,
@@ -14,14 +14,14 @@ module.exports = merge(common, {
},
devServer: {
+ headers: {
+ "Access-Control-Allow-Origin": "*",
+ },
port: 9001,
// liveReload: true,
client: {
logging: 'error',
- overlay: {
- errors: true,
- warnings: false,
- },
+ overlay: false,
},
}
});