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