diff --git a/dist/font/iconfont.eot b/dist/font/iconfont.eot index 0acc51b5a..9467079b9 100644 Binary files a/dist/font/iconfont.eot and b/dist/font/iconfont.eot differ diff --git a/dist/font/iconfont.svg b/dist/font/iconfont.svg index b7712b06e..1d370825c 100644 --- a/dist/font/iconfont.svg +++ b/dist/font/iconfont.svg @@ -14,1523 +14,1331 @@ /> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - + - - - + - + - + - + - + - + - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - + - - - - - - - - - + - - - + - + - + - + - + - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - + - + - + + + diff --git a/dist/font/iconfont.ttf b/dist/font/iconfont.ttf index c265fc04e..112a82ca3 100644 Binary files a/dist/font/iconfont.ttf and b/dist/font/iconfont.ttf differ diff --git a/dist/font/iconfont.woff b/dist/font/iconfont.woff index d2079c754..601304710 100644 Binary files a/dist/font/iconfont.woff and b/dist/font/iconfont.woff differ diff --git a/dist/font/iconfont.woff2 b/dist/font/iconfont.woff2 index 12ac9e239..1d2e11a8e 100644 Binary files a/dist/font/iconfont.woff2 and b/dist/font/iconfont.woff2 differ diff --git a/package.json b/package.json index 854e19a85..9341362e9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20220308103259", + "version": "2.0.20220309184345", "description": "fineui", "main": "dist/fineui.min.js", "types": "dist/lib/index.d.ts", diff --git a/src/base/combination/searcher.js b/src/base/combination/searcher.js index e7d16c53e..c4fd29025 100644 --- a/src/base/combination/searcher.js +++ b/src/base/combination/searcher.js @@ -315,6 +315,10 @@ BI.Searcher = BI.inherit(BI.Widget, { blur: function () { this.editor.blur(); + }, + + setWaterMark: function (v) { + this.editor.setWaterMark(v); } }); BI.Searcher.EVENT_CHANGE = "EVENT_CHANGE"; diff --git a/src/base/combination/tab.js b/src/base/combination/tab.js index 0531d16c8..30259e71a 100644 --- a/src/base/combination/tab.js +++ b/src/base/combination/tab.js @@ -15,7 +15,8 @@ BI.Tab = BI.inherit(BI.Widget, { tab: false, cardCreator: function (v) { return BI.createWidget(); - } + }, + keepAlives: [] }); }, @@ -66,7 +67,7 @@ BI.Tab = BI.inherit(BI.Widget, { var self = this, o = this.options; if (o.single === true) { BI.each(this.cardMap, function (name, card) { - if (name !== (currCardName + "")) { + if (name !== (currCardName + "") && self._keepAlive(name) !== true) { self.layout.deleteCardByName(name); delete self.cardMap[name]; } @@ -82,6 +83,12 @@ BI.Tab = BI.inherit(BI.Widget, { } }, + _keepAlive: function (v) { + var o = this.options; + return BI.isFunction(o.keepAlives) ? o.keepAlives(v) : BI.contains(o.keepAlives, v); + + }, + created: function () { var o = this.options; if (o.showIndex !== false) { diff --git a/src/component/treevaluechooser/combo.listtreevaluechooser.js b/src/component/treevaluechooser/combo.listtreevaluechooser.js index e6bebe3d6..fb6b3dfa8 100644 --- a/src/component/treevaluechooser/combo.listtreevaluechooser.js +++ b/src/component/treevaluechooser/combo.listtreevaluechooser.js @@ -110,6 +110,10 @@ BI.ListTreeValueChooserInsertCombo = BI.inherit(BI.AbstractListTreeValueChooser, blur: function () { this.combo.blur(); + }, + + setWaterMark: function (v) { + this.combo.setWaterMark(v); } }); diff --git a/src/component/treevaluechooser/combo.treevaluechooser.insert.js b/src/component/treevaluechooser/combo.treevaluechooser.insert.js index d506dfe8b..ec60a0a4a 100644 --- a/src/component/treevaluechooser/combo.treevaluechooser.insert.js +++ b/src/component/treevaluechooser/combo.treevaluechooser.insert.js @@ -109,6 +109,10 @@ BI.TreeValueChooserInsertCombo = BI.inherit(BI.AbstractTreeValueChooser, { blur: function () { this.combo.blur(); + }, + + setWaterMark: function (v) { + this.combo.setWaterMark(v); } }); diff --git a/src/component/treevaluechooser/combo.treevaluechooser.js b/src/component/treevaluechooser/combo.treevaluechooser.js index 2b6e25282..4eec5d7c4 100644 --- a/src/component/treevaluechooser/combo.treevaluechooser.js +++ b/src/component/treevaluechooser/combo.treevaluechooser.js @@ -113,6 +113,10 @@ BI.TreeValueChooserCombo = BI.inherit(BI.AbstractTreeValueChooser, { blur: function () { this.combo.blur(); + }, + + setWaterMark: function (v) { + this.combo.setWaterMark(v); } }); diff --git a/src/core/func/alias.js b/src/core/func/alias.js index da5af0fb6..3738a83ea 100644 --- a/src/core/func/alias.js +++ b/src/core/func/alias.js @@ -417,16 +417,17 @@ "\"": """, "<": "<", ">": ">", - " ": " " + "\x20": " ", + "\n": " " }; BI.htmlEncode = function (text) { - return BI.isNull(text) ? "" : BI.replaceAll(text + "", "&|\"|<|>|\\s", function (v) { - return SPECIAL_TAGS[v] ? SPECIAL_TAGS[v] : " "; + return BI.isNull(text) ? "" : BI.replaceAll(text + "", BI.keys(SPECIAL_TAGS).join("|"), function (v) { + return SPECIAL_TAGS[v] ? SPECIAL_TAGS[v] : v; }); }; // html decode BI.htmlDecode = function (text) { - return BI.isNull(text) ? "" : BI.replaceAll(text + "", "&|"|<|>| ", function (v) { + return BI.isNull(text) ? "" : BI.replaceAll(text + "", BI.values(SPECIAL_TAGS).join("|"), function (v) { switch (v) { case "&": return "&"; @@ -437,8 +438,11 @@ case ">": return ">"; case " ": - default: return " "; + case " ": + return "\n"; + default: + return v; } }); }; diff --git a/src/router/router.js b/src/router/router.js index 93a661d84..4ee289f88 100644 --- a/src/router/router.js +++ b/src/router/router.js @@ -3179,7 +3179,8 @@ ref: function (_ref) { self.tab = _ref; }, - single: false, // 是不是单页面 + single: o.single, // 是不是单页面 + keepAlives: o.keepAlives, logic: { dynamic: false }, diff --git a/src/widget/multilayerselecttree/multilayerselecttree.combo.js b/src/widget/multilayerselecttree/multilayerselecttree.combo.js index 40621f02c..6365ef484 100644 --- a/src/widget/multilayerselecttree/multilayerselecttree.combo.js +++ b/src/widget/multilayerselecttree/multilayerselecttree.combo.js @@ -250,6 +250,10 @@ BI.MultiLayerSelectTreeCombo = BI.inherit(BI.Widget, { showView: function () { this.combo.showView(); + }, + + setWaterMark: function (v) { + this.trigger.setWaterMark(v); } }); diff --git a/src/widget/multilayerselecttree/multilayerselecttree.trigger.js b/src/widget/multilayerselecttree/multilayerselecttree.trigger.js index 2fd1c96ec..4b66b58f7 100644 --- a/src/widget/multilayerselecttree/multilayerselecttree.trigger.js +++ b/src/widget/multilayerselecttree/multilayerselecttree.trigger.js @@ -245,6 +245,10 @@ BI.MultiLayerSelectTreeTrigger = BI.inherit(BI.Trigger, { blur: function () { this.searcher.blur(); + }, + + setWaterMark: function (v) { + this.searcher.setWaterMark(v); } }); diff --git a/src/widget/multilayersingletree/multilayersingletree.combo.js b/src/widget/multilayersingletree/multilayersingletree.combo.js index df855e227..779e645bf 100644 --- a/src/widget/multilayersingletree/multilayersingletree.combo.js +++ b/src/widget/multilayersingletree/multilayersingletree.combo.js @@ -251,6 +251,10 @@ BI.MultiLayerSingleTreeCombo = BI.inherit(BI.Widget, { showView: function () { this.combo.showView(); + }, + + setWaterMark: function (v) { + this.trigger.setWaterMark(v); } }); diff --git a/src/widget/multilayersingletree/multilayersingletree.trigger.js b/src/widget/multilayersingletree/multilayersingletree.trigger.js index 0812c8029..75a515129 100644 --- a/src/widget/multilayersingletree/multilayersingletree.trigger.js +++ b/src/widget/multilayersingletree/multilayersingletree.trigger.js @@ -247,6 +247,10 @@ BI.MultiLayerSingleTreeTrigger = BI.inherit(BI.Trigger, { blur: function () { this.searcher.blur(); + }, + + setWaterMark: function (v) { + this.searcher.setWaterMark(v); } }); BI.MultiLayerSingleTreeTrigger.EVENT_FOCUS = "EVENT_FOCUS"; diff --git a/src/widget/multiselect/multiselect.trigger.js b/src/widget/multiselect/multiselect.trigger.js index d829fa740..7406bd5ba 100644 --- a/src/widget/multiselect/multiselect.trigger.js +++ b/src/widget/multiselect/multiselect.trigger.js @@ -144,6 +144,10 @@ BI.MultiSelectTrigger = BI.inherit(BI.Trigger, { blur: function () { this.searcher.blur(); + }, + + setWaterMark: function (v) { + this.searcher.setWaterMark(v); } }); diff --git a/src/widget/multiselect/trigger/editor.multiselect.js b/src/widget/multiselect/trigger/editor.multiselect.js index 4541ddbe7..29ee8489b 100644 --- a/src/widget/multiselect/trigger/editor.multiselect.js +++ b/src/widget/multiselect/trigger/editor.multiselect.js @@ -93,6 +93,10 @@ BI.MultiSelectEditor = BI.inherit(BI.Widget, { populate: function (items) { + }, + + setWaterMark: function (v) { + this.editor.setWaterMark(v); } }); diff --git a/src/widget/multitree/multi.tree.combo.js b/src/widget/multitree/multi.tree.combo.js index 908b7002f..40fc91a14 100644 --- a/src/widget/multitree/multi.tree.combo.js +++ b/src/widget/multitree/multi.tree.combo.js @@ -352,6 +352,10 @@ BI.MultiTreeCombo = BI.inherit(BI.Single, { blur: function () { this.trigger.blur(); + }, + + setWaterMark: function (v) { + this.trigger.setWaterMark(v); } }); diff --git a/src/widget/multitree/multi.tree.insert.combo.js b/src/widget/multitree/multi.tree.insert.combo.js index 532f76fe8..76f9c0b5c 100644 --- a/src/widget/multitree/multi.tree.insert.combo.js +++ b/src/widget/multitree/multi.tree.insert.combo.js @@ -368,6 +368,10 @@ BI.MultiTreeInsertCombo = BI.inherit(BI.Single, { blur: function () { this.trigger.blur(); + }, + + setWaterMark: function (v) { + this.trigger.setWaterMark(v); } }); diff --git a/src/widget/multitree/multi.tree.list.combo.js b/src/widget/multitree/multi.tree.list.combo.js index 21b27687c..198eb53fc 100644 --- a/src/widget/multitree/multi.tree.list.combo.js +++ b/src/widget/multitree/multi.tree.list.combo.js @@ -386,6 +386,10 @@ BI.MultiTreeListCombo = BI.inherit(BI.Single, { blur: function () { this.trigger.blur(); + }, + + setWaterMark: function (v) { + this.trigger.setWaterMark(v); } }); diff --git a/src/widget/multitree/trigger/searcher.list.multi.tree.js b/src/widget/multitree/trigger/searcher.list.multi.tree.js index 1661b9575..555d1b783 100644 --- a/src/widget/multitree/trigger/searcher.list.multi.tree.js +++ b/src/widget/multitree/trigger/searcher.list.multi.tree.js @@ -172,6 +172,10 @@ BI.MultiListTreeSearcher = BI.inherit(BI.Widget, { blur: function () { this.editor.blur(); + }, + + setWaterMark: function (v) { + this.editor.setWaterMark(v); } }); diff --git a/src/widget/multitree/trigger/searcher.multi.tree.js b/src/widget/multitree/trigger/searcher.multi.tree.js index ffece8cb9..35d59f200 100644 --- a/src/widget/multitree/trigger/searcher.multi.tree.js +++ b/src/widget/multitree/trigger/searcher.multi.tree.js @@ -192,6 +192,10 @@ BI.MultiTreeSearcher = BI.inherit(BI.Widget, { blur: function () { this.editor.blur(); + }, + + setWaterMark: function (v) { + this.editor.setWaterMark(v); } }); diff --git a/typescript/base/combination/tab.ts b/typescript/base/combination/tab.ts index 611c3e9c0..fa4cc8b25 100644 --- a/typescript/base/combination/tab.ts +++ b/typescript/base/combination/tab.ts @@ -15,6 +15,7 @@ export declare class Tab extends Widget { dynamic: boolean; }; tab?: Obj; + keepAlives?: string[] | ((cardName: string) => boolean) } setSelect(v: string | number, action?: Action, callback?: Function): void; diff --git a/typescript/case/segment/segment.ts b/typescript/case/segment/segment.ts new file mode 100644 index 000000000..721f04b2e --- /dev/null +++ b/typescript/case/segment/segment.ts @@ -0,0 +1,8 @@ +import { Widget } from "../../core/widget"; + +export declare class Segment extends Widget { + static xtype: string; + static EVENT_CHANGE: string; + + setEnabledValue(v: any): void; +} diff --git a/typescript/component/treevaluechooser/combo.listtreevaluechooser.ts b/typescript/component/treevaluechooser/combo.listtreevaluechooser.ts index 6709fd8e3..6a10e929b 100644 --- a/typescript/component/treevaluechooser/combo.listtreevaluechooser.ts +++ b/typescript/component/treevaluechooser/combo.listtreevaluechooser.ts @@ -27,4 +27,6 @@ export declare class ListTreeValueChooserInsertCombo extends AbstractListTreeVal focus(): void; blur(): void; + + setWaterMark(v: string): void; } diff --git a/typescript/component/treevaluechooser/combo.treevaluechooser.insert.ts b/typescript/component/treevaluechooser/combo.treevaluechooser.insert.ts index 971f44022..bb448e0b5 100644 --- a/typescript/component/treevaluechooser/combo.treevaluechooser.insert.ts +++ b/typescript/component/treevaluechooser/combo.treevaluechooser.insert.ts @@ -26,4 +26,6 @@ export declare class TreeValueChooserInsertCombo extends AbstractTreeValueChoose focus(): void; blur(): void; + + setWaterMark(v: string): void; } diff --git a/typescript/component/treevaluechooser/combo.treevaluechooser.ts b/typescript/component/treevaluechooser/combo.treevaluechooser.ts index 859480ce6..a21a8dea1 100644 --- a/typescript/component/treevaluechooser/combo.treevaluechooser.ts +++ b/typescript/component/treevaluechooser/combo.treevaluechooser.ts @@ -28,4 +28,6 @@ export declare class TreeValueChooserCombo extends AbstractTreeValueChooser { focus(): void; blur(): void; + + setWaterMark(v: string): void; } diff --git a/typescript/index.ts b/typescript/index.ts index dae3dfb93..893b66584 100644 --- a/typescript/index.ts +++ b/typescript/index.ts @@ -146,6 +146,7 @@ import { MultiSelectInsertList } from "./widget/multiselectlist/multiselectlist. import { YearMonthInterval } from "./widget/yearmonthinterval/yearmonthinterval"; import { NumberEditor } from "./widget/numbereditor/numbereditor"; import { TextValueCheckCombo } from "./case/combo/textvaluecheckcombo/combo.textvaluecheck"; +import { Segment } from "./case/segment/segment"; import { LinearSegment } from "./case/linersegment/linear.segment"; import { Img } from "./base/single/img/img"; import { EditorIconCheckCombo } from "./case/combo/editoriconcheckcombo/combo.editiconcheck"; @@ -345,6 +346,7 @@ export interface BI extends _func, _i18n, _base, _inject, _var, _web, _utils { YearMonthInterval: typeof YearMonthInterval; TextValueCheckCombo: typeof TextValueCheckCombo; NumberEditor: typeof NumberEditor; + Segment: typeof Segment; LinearSegment: typeof LinearSegment; Img: typeof Img; EditorIconCheckCombo: typeof EditorIconCheckCombo; @@ -534,6 +536,7 @@ export { YearMonthInterval, TextValueCheckCombo, NumberEditor, + Segment, LinearSegment, Img, EditorIconCheckCombo, diff --git a/typescript/widget/multitree/multi.tree.combo.ts b/typescript/widget/multitree/multi.tree.combo.ts index e96ed9808..3fe60ebed 100644 --- a/typescript/widget/multitree/multi.tree.combo.ts +++ b/typescript/widget/multitree/multi.tree.combo.ts @@ -19,4 +19,6 @@ export declare class MultiTreeCombo extends Single { focus(): void; blur(): void; + + setWaterMark(v: string): void; } diff --git a/typescript/widget/multitree/multi.tree.insert.combo.ts b/typescript/widget/multitree/multi.tree.insert.combo.ts index 55f2bbdf6..b7b8e6eac 100644 --- a/typescript/widget/multitree/multi.tree.insert.combo.ts +++ b/typescript/widget/multitree/multi.tree.insert.combo.ts @@ -27,4 +27,6 @@ export declare class MultiTreeInsertCombo extends Single { focus(): void; blur(): void; + + setWaterMark(v: string): void; } diff --git a/typescript/widget/multitree/multi.tree.list.combo.ts b/typescript/widget/multitree/multi.tree.list.combo.ts index 202b8b9b0..f3b09ad64 100644 --- a/typescript/widget/multitree/multi.tree.list.combo.ts +++ b/typescript/widget/multitree/multi.tree.list.combo.ts @@ -26,4 +26,6 @@ export declare class MultiTreeListCombo extends Single { focus(): void; blur(): void; + + setWaterMark(v: string): void; }