Browse Source

Merge branch 'master' of ssh://cloud.finedevelop.com:7999/~dailer/fineui

es6
zsmj1994 4 years ago
parent
commit
f1b9825e09
  1. 2
      dist/2.0/fineui.css
  2. 4
      dist/2.0/fineui.ie.min.js
  3. 2
      dist/2.0/fineui.ie.min.js.map
  4. 93
      dist/2.0/fineui.js
  5. 2
      dist/2.0/fineui.js.map
  6. 2
      dist/2.0/fineui.min.css
  7. 4
      dist/2.0/fineui.min.js
  8. 2
      dist/2.0/fineui.min.js.map
  9. 2
      dist/2.0/fineui_without_normalize.css
  10. 2
      dist/2.0/fineui_without_normalize.min.css
  11. 2
      dist/bundle.min.css
  12. 4
      dist/bundle.min.js
  13. 2
      dist/bundle.min.js.map
  14. 2
      dist/demo.css
  15. 93
      dist/demo.js
  16. 2
      dist/demo.js.map
  17. 2
      dist/fineui.css
  18. 4
      dist/fineui.ie.min.js
  19. 2
      dist/fineui.ie.min.js.map
  20. 93
      dist/fineui.js
  21. 2
      dist/fineui.js.map
  22. 2
      dist/fineui.min.css
  23. 4
      dist/fineui.min.js
  24. 2
      dist/fineui.min.js.map
  25. 93
      dist/fineui_without_jquery_polyfill.js
  26. 2
      dist/fineui_without_jquery_polyfill.js.map
  27. 2
      dist/font.css
  28. 2
      dist/utils.js
  29. 2
      dist/utils.min.js
  30. 2
      package.json
  31. 64
      src/core/controller/controller.bubbles.js
  32. 24
      src/widget/multilayerdownlist/combo.downlist.js

2
dist/2.0/fineui.css vendored

File diff suppressed because one or more lines are too long

4
dist/2.0/fineui.ie.min.js vendored

File diff suppressed because one or more lines are too long

2
dist/2.0/fineui.ie.min.js.map vendored

File diff suppressed because one or more lines are too long

93
dist/2.0/fineui.js vendored

@ -1,4 +1,4 @@
/*! time: 2020-9-8 15:40:19 */ /*! time: 2020-9-9 18:00:23 */
/******/ (function(modules) { // webpackBootstrap /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache /******/ // The module cache
/******/ var installedModules = {}; /******/ var installedModules = {};
@ -15479,14 +15479,16 @@ BI.BubblesController = BI.inherit(BI.Controller, {
_init: function () { _init: function () {
BI.BubblesController.superclass._init.apply(this, arguments); BI.BubblesController.superclass._init.apply(this, arguments);
var self = this; var self = this;
this.fixedBubblesManager = {};
this.fixedStoreBubbles = {};
this.bubblesManager = {}; this.bubblesManager = {};
this.storeBubbles = {}; this.storeBubbles = {};
BI.Resizers.add("bubbleController" + BI.uniqueId(), function () { BI.Resizers.add("bubbleController" + BI.uniqueId(), function () {
BI.each(self.bubblesManager, function (name) { BI.each(self.fixedBubblesManager, function (name) {
self.remove(name); self.remove(name);
}); });
self.bubblesManager = {}; self.fixedBubblesManager = {};
self.storeBubbles = {}; self.fixedStoreBubbles = {};
}); });
}, },
@ -15577,6 +15579,8 @@ BI.BubblesController = BI.inherit(BI.Controller, {
var adjustYOffset = opt.adjustYOffset || 0; var adjustYOffset = opt.adjustYOffset || 0;
var adjustXOffset = opt.adjustXOffset || 0; var adjustXOffset = opt.adjustXOffset || 0;
var fixed = opt.fixed !== false; var fixed = opt.fixed !== false;
// 如果是非固定位置(fixed)的bubble
if (fixed === false) {
if (!this.storeBubbles[name]) { if (!this.storeBubbles[name]) {
this.storeBubbles[name] = {}; this.storeBubbles[name] = {};
} }
@ -15591,9 +15595,6 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}] }]
}); });
this.set(name, this.storeBubbles[name]["top"]); this.set(name, this.storeBubbles[name]["top"]);
// 如果是非固定位置(fixed)的bubble
if (fixed === false) {
var bubble = this.storeBubbles[name]["top"]; var bubble = this.storeBubbles[name]["top"];
var bounds = bubble.element.bounds(); var bounds = bubble.element.bounds();
if (BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) { if (BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) {
@ -15642,36 +15643,50 @@ BI.BubblesController = BI.inherit(BI.Controller, {
} }
} }
} else { } else {
if (!this.fixedStoreBubbles[name]) {
this.fixedStoreBubbles[name] = {};
}
if (!this.fixedStoreBubbles[name]["top"]) {
this.fixedStoreBubbles[name]["top"] = this._createBubble("top", text, level, null, fixed);
}
BI.createWidget({
type: "bi.absolute",
element: container,
items: [{
el: this.fixedStoreBubbles[name]["top"]
}]
});
this.set(name, this.fixedStoreBubbles[name]["top"]);
var position = this._getTopPosition(name, context, offsetStyle); var position = this._getTopPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left + adjustXOffset, top: position.top - adjustYOffset}); this.get(name).element.css({left: position.left + adjustXOffset, top: position.top - adjustYOffset});
if (!BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) { if (!BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["bottom"]) { if (!this.fixedStoreBubbles[name]["bottom"]) {
this.storeBubbles[name]["bottom"] = this._createBubble("bottom", text, level); this.fixedStoreBubbles[name]["bottom"] = this._createBubble("bottom", text, level);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["bottom"] el: this.fixedStoreBubbles[name]["bottom"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["bottom"]); this.set(name, this.fixedStoreBubbles[name]["bottom"]);
var position = this._getBottomPosition(name, context, offsetStyle); var position = this._getBottomPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left + adjustXOffset, top: position.top + adjustYOffset}); this.get(name).element.css({left: position.left + adjustXOffset, top: position.top + adjustYOffset});
if (!BI.DOM.isBottomSpaceEnough(context, this.get(name), adjustYOffset)) { if (!BI.DOM.isBottomSpaceEnough(context, this.get(name), adjustYOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["right"]) { if (!this.fixedStoreBubbles[name]["right"]) {
this.storeBubbles[name]["right"] = this._createBubble("right", text, level); this.fixedStoreBubbles[name]["right"] = this._createBubble("right", text, level);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["right"] el: this.fixedStoreBubbles[name]["right"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["right"]); this.set(name, this.fixedStoreBubbles[name]["right"]);
var position = this._getRightPosition(name, context, offsetStyle); var position = this._getRightPosition(name, context, offsetStyle);
this.get(name).element.css({ this.get(name).element.css({
left: position.left + adjustXOffset, left: position.left + adjustXOffset,
@ -15679,17 +15694,17 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}); });
if (!BI.DOM.isRightSpaceEnough(context, this.get(name), adjustXOffset)) { if (!BI.DOM.isRightSpaceEnough(context, this.get(name), adjustXOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["left"]) { if (!this.fixedStoreBubbles[name]["left"]) {
this.storeBubbles[name]["left"] = this._createBubble("left", text, level, 30); this.fixedStoreBubbles[name]["left"] = this._createBubble("left", text, level, 30);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["left"] el: this.fixedStoreBubbles[name]["left"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["left"]); this.set(name, this.fixedStoreBubbles[name]["left"]);
var position = this._getLeftPosition(name, context, offsetStyle); var position = this._getLeftPosition(name, context, offsetStyle);
this.get(name).element.css({ this.get(name).element.css({
left: position.left - adjustXOffset, left: position.left - adjustXOffset,
@ -15721,21 +15736,26 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}, },
get: function (name) { get: function (name) {
return this.bubblesManager[name]; return this.fixedBubblesManager[name] || this.bubblesManager[name];
}, },
set: function (name, bubble) { set: function (name, bubble, fixed) {
this.bubblesManager[name] = bubble; fixed === false ? (this.bubblesManager[name] = bubble) : (this.fixedBubblesManager[name] = bubble);
}, },
has: function (name) { has: function (name) {
return this.bubblesManager[name] != null; return this.fixedBubblesManager[name] != null || this.bubblesManager[name] != null;
}, },
remove: function (name) { remove: function (name) {
if (!this.has(name)) { if (!this.has(name)) {
return this; return this;
} }
BI.each(this.fixedStoreBubbles[name], function (dir, bubble) {
bubble.destroy();
});
delete this.fixedStoreBubbles[name];
delete this.fixedBubblesManager[name];
BI.each(this.storeBubbles[name], function (dir, bubble) { BI.each(this.storeBubbles[name], function (dir, bubble) {
bubble.destroy(); bubble.destroy();
}); });
@ -30528,7 +30548,8 @@ BI.Input = BI.inherit(BI.Single, {
.focus(function (e) { // 可以不用冒泡 .focus(function (e) { // 可以不用冒泡
self._focusDebounce(); self._focusDebounce();
}) })
.focusout(function (e) { .blur(function (e) {
// DEC-14919 IE11在浏览器重新获得焦点之后会先触发focusout再触发focus,要保持先获得焦点再失去焦点的顺序不变,因此采用blur
self._blurDebounce(); self._blurDebounce();
}); });
if (BI.isKey(this.options.value) || BI.isEmptyString(this.options.value)) { if (BI.isKey(this.options.value) || BI.isEmptyString(this.options.value)) {
@ -46990,9 +47011,9 @@ BI.AccurateCalculationModel = BI.inherit(BI.Widget, {
/** /**
* Created by roy on 15/8/14. * Created by roy on 15/8/14.
*/ */
BI.DownListCombo = BI.inherit(BI.Widget, { BI.MultiLayerDownListCombo = BI.inherit(BI.Widget, {
_defaultConfig: function () { _defaultConfig: function () {
return BI.extend(BI.DownListCombo.superclass._defaultConfig.apply(this, arguments), { return BI.extend(BI.MultiLayerDownListCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-multilayer-down-list-combo", baseCls: "bi-multilayer-down-list-combo",
height: 24, height: 24,
items: [], items: [],
@ -47006,7 +47027,7 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
}, },
_init: function () { _init: function () {
BI.DownListCombo.superclass._init.apply(this, arguments); BI.MultiLayerDownListCombo.superclass._init.apply(this, arguments);
var self = this, o = this.options; var self = this, o = this.options;
this.popupview = BI.createWidget({ this.popupview = BI.createWidget({
type: "bi.multi_layer_down_list_popup", type: "bi.multi_layer_down_list_popup",
@ -47015,13 +47036,13 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
value: o.value value: o.value
}); });
this.popupview.on(BI.DownListPopup.EVENT_CHANGE, function (value) { this.popupview.on(BI.MultiLayerDownListPopup.EVENT_CHANGE, function (value) {
self.fireEvent(BI.DownListCombo.EVENT_CHANGE, value); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_CHANGE, value);
self.downlistcombo.hideView(); self.downlistcombo.hideView();
}); });
this.popupview.on(BI.DownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) { this.popupview.on(BI.MultiLayerDownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) {
self.fireEvent(BI.DownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue);
self.downlistcombo.hideView(); self.downlistcombo.hideView();
}); });
@ -47049,7 +47070,7 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
}); });
this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () {
self.fireEvent(BI.DownListCombo.EVENT_BEFORE_POPUPVIEW); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_BEFORE_POPUPVIEW);
}); });
}, },
@ -47072,11 +47093,11 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
return this.popupview.getValue(); return this.popupview.getValue();
} }
}); });
BI.DownListCombo.EVENT_CHANGE = "EVENT_CHANGE"; BI.MultiLayerDownListCombo.EVENT_CHANGE = "EVENT_CHANGE";
BI.DownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE"; BI.MultiLayerDownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE";
BI.DownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; BI.MultiLayerDownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
BI.shortcut("bi.multi_layer_down_list_combo", BI.DownListCombo); BI.shortcut("bi.multi_layer_down_list_combo", BI.MultiLayerDownListCombo);
/***/ }), /***/ }),
/* 553 */ /* 553 */

2
dist/2.0/fineui.js.map vendored

File diff suppressed because one or more lines are too long

2
dist/2.0/fineui.min.css vendored

File diff suppressed because one or more lines are too long

4
dist/2.0/fineui.min.js vendored

File diff suppressed because one or more lines are too long

2
dist/2.0/fineui.min.js.map vendored

File diff suppressed because one or more lines are too long

2
dist/2.0/fineui_without_normalize.css vendored

File diff suppressed because one or more lines are too long

2
dist/2.0/fineui_without_normalize.min.css vendored

File diff suppressed because one or more lines are too long

2
dist/bundle.min.css vendored

File diff suppressed because one or more lines are too long

4
dist/bundle.min.js vendored

File diff suppressed because one or more lines are too long

2
dist/bundle.min.js.map vendored

File diff suppressed because one or more lines are too long

2
dist/demo.css vendored

File diff suppressed because one or more lines are too long

93
dist/demo.js vendored

@ -1,4 +1,4 @@
/*! time: 2020-9-8 15:40:19 */ /*! time: 2020-9-9 18:00:23 */
/******/ (function(modules) { // webpackBootstrap /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache /******/ // The module cache
/******/ var installedModules = {}; /******/ var installedModules = {};
@ -15479,14 +15479,16 @@ BI.BubblesController = BI.inherit(BI.Controller, {
_init: function () { _init: function () {
BI.BubblesController.superclass._init.apply(this, arguments); BI.BubblesController.superclass._init.apply(this, arguments);
var self = this; var self = this;
this.fixedBubblesManager = {};
this.fixedStoreBubbles = {};
this.bubblesManager = {}; this.bubblesManager = {};
this.storeBubbles = {}; this.storeBubbles = {};
BI.Resizers.add("bubbleController" + BI.uniqueId(), function () { BI.Resizers.add("bubbleController" + BI.uniqueId(), function () {
BI.each(self.bubblesManager, function (name) { BI.each(self.fixedBubblesManager, function (name) {
self.remove(name); self.remove(name);
}); });
self.bubblesManager = {}; self.fixedBubblesManager = {};
self.storeBubbles = {}; self.fixedStoreBubbles = {};
}); });
}, },
@ -15577,6 +15579,8 @@ BI.BubblesController = BI.inherit(BI.Controller, {
var adjustYOffset = opt.adjustYOffset || 0; var adjustYOffset = opt.adjustYOffset || 0;
var adjustXOffset = opt.adjustXOffset || 0; var adjustXOffset = opt.adjustXOffset || 0;
var fixed = opt.fixed !== false; var fixed = opt.fixed !== false;
// 如果是非固定位置(fixed)的bubble
if (fixed === false) {
if (!this.storeBubbles[name]) { if (!this.storeBubbles[name]) {
this.storeBubbles[name] = {}; this.storeBubbles[name] = {};
} }
@ -15591,9 +15595,6 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}] }]
}); });
this.set(name, this.storeBubbles[name]["top"]); this.set(name, this.storeBubbles[name]["top"]);
// 如果是非固定位置(fixed)的bubble
if (fixed === false) {
var bubble = this.storeBubbles[name]["top"]; var bubble = this.storeBubbles[name]["top"];
var bounds = bubble.element.bounds(); var bounds = bubble.element.bounds();
if (BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) { if (BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) {
@ -15642,36 +15643,50 @@ BI.BubblesController = BI.inherit(BI.Controller, {
} }
} }
} else { } else {
if (!this.fixedStoreBubbles[name]) {
this.fixedStoreBubbles[name] = {};
}
if (!this.fixedStoreBubbles[name]["top"]) {
this.fixedStoreBubbles[name]["top"] = this._createBubble("top", text, level, null, fixed);
}
BI.createWidget({
type: "bi.absolute",
element: container,
items: [{
el: this.fixedStoreBubbles[name]["top"]
}]
});
this.set(name, this.fixedStoreBubbles[name]["top"]);
var position = this._getTopPosition(name, context, offsetStyle); var position = this._getTopPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left + adjustXOffset, top: position.top - adjustYOffset}); this.get(name).element.css({left: position.left + adjustXOffset, top: position.top - adjustYOffset});
if (!BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) { if (!BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["bottom"]) { if (!this.fixedStoreBubbles[name]["bottom"]) {
this.storeBubbles[name]["bottom"] = this._createBubble("bottom", text, level); this.fixedStoreBubbles[name]["bottom"] = this._createBubble("bottom", text, level);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["bottom"] el: this.fixedStoreBubbles[name]["bottom"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["bottom"]); this.set(name, this.fixedStoreBubbles[name]["bottom"]);
var position = this._getBottomPosition(name, context, offsetStyle); var position = this._getBottomPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left + adjustXOffset, top: position.top + adjustYOffset}); this.get(name).element.css({left: position.left + adjustXOffset, top: position.top + adjustYOffset});
if (!BI.DOM.isBottomSpaceEnough(context, this.get(name), adjustYOffset)) { if (!BI.DOM.isBottomSpaceEnough(context, this.get(name), adjustYOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["right"]) { if (!this.fixedStoreBubbles[name]["right"]) {
this.storeBubbles[name]["right"] = this._createBubble("right", text, level); this.fixedStoreBubbles[name]["right"] = this._createBubble("right", text, level);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["right"] el: this.fixedStoreBubbles[name]["right"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["right"]); this.set(name, this.fixedStoreBubbles[name]["right"]);
var position = this._getRightPosition(name, context, offsetStyle); var position = this._getRightPosition(name, context, offsetStyle);
this.get(name).element.css({ this.get(name).element.css({
left: position.left + adjustXOffset, left: position.left + adjustXOffset,
@ -15679,17 +15694,17 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}); });
if (!BI.DOM.isRightSpaceEnough(context, this.get(name), adjustXOffset)) { if (!BI.DOM.isRightSpaceEnough(context, this.get(name), adjustXOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["left"]) { if (!this.fixedStoreBubbles[name]["left"]) {
this.storeBubbles[name]["left"] = this._createBubble("left", text, level, 30); this.fixedStoreBubbles[name]["left"] = this._createBubble("left", text, level, 30);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["left"] el: this.fixedStoreBubbles[name]["left"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["left"]); this.set(name, this.fixedStoreBubbles[name]["left"]);
var position = this._getLeftPosition(name, context, offsetStyle); var position = this._getLeftPosition(name, context, offsetStyle);
this.get(name).element.css({ this.get(name).element.css({
left: position.left - adjustXOffset, left: position.left - adjustXOffset,
@ -15721,21 +15736,26 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}, },
get: function (name) { get: function (name) {
return this.bubblesManager[name]; return this.fixedBubblesManager[name] || this.bubblesManager[name];
}, },
set: function (name, bubble) { set: function (name, bubble, fixed) {
this.bubblesManager[name] = bubble; fixed === false ? (this.bubblesManager[name] = bubble) : (this.fixedBubblesManager[name] = bubble);
}, },
has: function (name) { has: function (name) {
return this.bubblesManager[name] != null; return this.fixedBubblesManager[name] != null || this.bubblesManager[name] != null;
}, },
remove: function (name) { remove: function (name) {
if (!this.has(name)) { if (!this.has(name)) {
return this; return this;
} }
BI.each(this.fixedStoreBubbles[name], function (dir, bubble) {
bubble.destroy();
});
delete this.fixedStoreBubbles[name];
delete this.fixedBubblesManager[name];
BI.each(this.storeBubbles[name], function (dir, bubble) { BI.each(this.storeBubbles[name], function (dir, bubble) {
bubble.destroy(); bubble.destroy();
}); });
@ -30528,7 +30548,8 @@ BI.Input = BI.inherit(BI.Single, {
.focus(function (e) { // 可以不用冒泡 .focus(function (e) { // 可以不用冒泡
self._focusDebounce(); self._focusDebounce();
}) })
.focusout(function (e) { .blur(function (e) {
// DEC-14919 IE11在浏览器重新获得焦点之后会先触发focusout再触发focus,要保持先获得焦点再失去焦点的顺序不变,因此采用blur
self._blurDebounce(); self._blurDebounce();
}); });
if (BI.isKey(this.options.value) || BI.isEmptyString(this.options.value)) { if (BI.isKey(this.options.value) || BI.isEmptyString(this.options.value)) {
@ -46990,9 +47011,9 @@ BI.AccurateCalculationModel = BI.inherit(BI.Widget, {
/** /**
* Created by roy on 15/8/14. * Created by roy on 15/8/14.
*/ */
BI.DownListCombo = BI.inherit(BI.Widget, { BI.MultiLayerDownListCombo = BI.inherit(BI.Widget, {
_defaultConfig: function () { _defaultConfig: function () {
return BI.extend(BI.DownListCombo.superclass._defaultConfig.apply(this, arguments), { return BI.extend(BI.MultiLayerDownListCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-multilayer-down-list-combo", baseCls: "bi-multilayer-down-list-combo",
height: 24, height: 24,
items: [], items: [],
@ -47006,7 +47027,7 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
}, },
_init: function () { _init: function () {
BI.DownListCombo.superclass._init.apply(this, arguments); BI.MultiLayerDownListCombo.superclass._init.apply(this, arguments);
var self = this, o = this.options; var self = this, o = this.options;
this.popupview = BI.createWidget({ this.popupview = BI.createWidget({
type: "bi.multi_layer_down_list_popup", type: "bi.multi_layer_down_list_popup",
@ -47015,13 +47036,13 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
value: o.value value: o.value
}); });
this.popupview.on(BI.DownListPopup.EVENT_CHANGE, function (value) { this.popupview.on(BI.MultiLayerDownListPopup.EVENT_CHANGE, function (value) {
self.fireEvent(BI.DownListCombo.EVENT_CHANGE, value); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_CHANGE, value);
self.downlistcombo.hideView(); self.downlistcombo.hideView();
}); });
this.popupview.on(BI.DownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) { this.popupview.on(BI.MultiLayerDownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) {
self.fireEvent(BI.DownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue);
self.downlistcombo.hideView(); self.downlistcombo.hideView();
}); });
@ -47049,7 +47070,7 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
}); });
this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () {
self.fireEvent(BI.DownListCombo.EVENT_BEFORE_POPUPVIEW); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_BEFORE_POPUPVIEW);
}); });
}, },
@ -47072,11 +47093,11 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
return this.popupview.getValue(); return this.popupview.getValue();
} }
}); });
BI.DownListCombo.EVENT_CHANGE = "EVENT_CHANGE"; BI.MultiLayerDownListCombo.EVENT_CHANGE = "EVENT_CHANGE";
BI.DownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE"; BI.MultiLayerDownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE";
BI.DownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; BI.MultiLayerDownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
BI.shortcut("bi.multi_layer_down_list_combo", BI.DownListCombo); BI.shortcut("bi.multi_layer_down_list_combo", BI.MultiLayerDownListCombo);
/***/ }), /***/ }),
/* 553 */ /* 553 */

2
dist/demo.js.map vendored

File diff suppressed because one or more lines are too long

2
dist/fineui.css vendored

File diff suppressed because one or more lines are too long

4
dist/fineui.ie.min.js vendored

File diff suppressed because one or more lines are too long

2
dist/fineui.ie.min.js.map vendored

File diff suppressed because one or more lines are too long

93
dist/fineui.js vendored

@ -1,4 +1,4 @@
/*! time: 2020-9-8 15:40:19 */ /*! time: 2020-9-9 18:00:23 */
/******/ (function(modules) { // webpackBootstrap /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache /******/ // The module cache
/******/ var installedModules = {}; /******/ var installedModules = {};
@ -15479,14 +15479,16 @@ BI.BubblesController = BI.inherit(BI.Controller, {
_init: function () { _init: function () {
BI.BubblesController.superclass._init.apply(this, arguments); BI.BubblesController.superclass._init.apply(this, arguments);
var self = this; var self = this;
this.fixedBubblesManager = {};
this.fixedStoreBubbles = {};
this.bubblesManager = {}; this.bubblesManager = {};
this.storeBubbles = {}; this.storeBubbles = {};
BI.Resizers.add("bubbleController" + BI.uniqueId(), function () { BI.Resizers.add("bubbleController" + BI.uniqueId(), function () {
BI.each(self.bubblesManager, function (name) { BI.each(self.fixedBubblesManager, function (name) {
self.remove(name); self.remove(name);
}); });
self.bubblesManager = {}; self.fixedBubblesManager = {};
self.storeBubbles = {}; self.fixedStoreBubbles = {};
}); });
}, },
@ -15577,6 +15579,8 @@ BI.BubblesController = BI.inherit(BI.Controller, {
var adjustYOffset = opt.adjustYOffset || 0; var adjustYOffset = opt.adjustYOffset || 0;
var adjustXOffset = opt.adjustXOffset || 0; var adjustXOffset = opt.adjustXOffset || 0;
var fixed = opt.fixed !== false; var fixed = opt.fixed !== false;
// 如果是非固定位置(fixed)的bubble
if (fixed === false) {
if (!this.storeBubbles[name]) { if (!this.storeBubbles[name]) {
this.storeBubbles[name] = {}; this.storeBubbles[name] = {};
} }
@ -15591,9 +15595,6 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}] }]
}); });
this.set(name, this.storeBubbles[name]["top"]); this.set(name, this.storeBubbles[name]["top"]);
// 如果是非固定位置(fixed)的bubble
if (fixed === false) {
var bubble = this.storeBubbles[name]["top"]; var bubble = this.storeBubbles[name]["top"];
var bounds = bubble.element.bounds(); var bounds = bubble.element.bounds();
if (BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) { if (BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) {
@ -15642,36 +15643,50 @@ BI.BubblesController = BI.inherit(BI.Controller, {
} }
} }
} else { } else {
if (!this.fixedStoreBubbles[name]) {
this.fixedStoreBubbles[name] = {};
}
if (!this.fixedStoreBubbles[name]["top"]) {
this.fixedStoreBubbles[name]["top"] = this._createBubble("top", text, level, null, fixed);
}
BI.createWidget({
type: "bi.absolute",
element: container,
items: [{
el: this.fixedStoreBubbles[name]["top"]
}]
});
this.set(name, this.fixedStoreBubbles[name]["top"]);
var position = this._getTopPosition(name, context, offsetStyle); var position = this._getTopPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left + adjustXOffset, top: position.top - adjustYOffset}); this.get(name).element.css({left: position.left + adjustXOffset, top: position.top - adjustYOffset});
if (!BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) { if (!BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["bottom"]) { if (!this.fixedStoreBubbles[name]["bottom"]) {
this.storeBubbles[name]["bottom"] = this._createBubble("bottom", text, level); this.fixedStoreBubbles[name]["bottom"] = this._createBubble("bottom", text, level);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["bottom"] el: this.fixedStoreBubbles[name]["bottom"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["bottom"]); this.set(name, this.fixedStoreBubbles[name]["bottom"]);
var position = this._getBottomPosition(name, context, offsetStyle); var position = this._getBottomPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left + adjustXOffset, top: position.top + adjustYOffset}); this.get(name).element.css({left: position.left + adjustXOffset, top: position.top + adjustYOffset});
if (!BI.DOM.isBottomSpaceEnough(context, this.get(name), adjustYOffset)) { if (!BI.DOM.isBottomSpaceEnough(context, this.get(name), adjustYOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["right"]) { if (!this.fixedStoreBubbles[name]["right"]) {
this.storeBubbles[name]["right"] = this._createBubble("right", text, level); this.fixedStoreBubbles[name]["right"] = this._createBubble("right", text, level);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["right"] el: this.fixedStoreBubbles[name]["right"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["right"]); this.set(name, this.fixedStoreBubbles[name]["right"]);
var position = this._getRightPosition(name, context, offsetStyle); var position = this._getRightPosition(name, context, offsetStyle);
this.get(name).element.css({ this.get(name).element.css({
left: position.left + adjustXOffset, left: position.left + adjustXOffset,
@ -15679,17 +15694,17 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}); });
if (!BI.DOM.isRightSpaceEnough(context, this.get(name), adjustXOffset)) { if (!BI.DOM.isRightSpaceEnough(context, this.get(name), adjustXOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["left"]) { if (!this.fixedStoreBubbles[name]["left"]) {
this.storeBubbles[name]["left"] = this._createBubble("left", text, level, 30); this.fixedStoreBubbles[name]["left"] = this._createBubble("left", text, level, 30);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["left"] el: this.fixedStoreBubbles[name]["left"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["left"]); this.set(name, this.fixedStoreBubbles[name]["left"]);
var position = this._getLeftPosition(name, context, offsetStyle); var position = this._getLeftPosition(name, context, offsetStyle);
this.get(name).element.css({ this.get(name).element.css({
left: position.left - adjustXOffset, left: position.left - adjustXOffset,
@ -15721,21 +15736,26 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}, },
get: function (name) { get: function (name) {
return this.bubblesManager[name]; return this.fixedBubblesManager[name] || this.bubblesManager[name];
}, },
set: function (name, bubble) { set: function (name, bubble, fixed) {
this.bubblesManager[name] = bubble; fixed === false ? (this.bubblesManager[name] = bubble) : (this.fixedBubblesManager[name] = bubble);
}, },
has: function (name) { has: function (name) {
return this.bubblesManager[name] != null; return this.fixedBubblesManager[name] != null || this.bubblesManager[name] != null;
}, },
remove: function (name) { remove: function (name) {
if (!this.has(name)) { if (!this.has(name)) {
return this; return this;
} }
BI.each(this.fixedStoreBubbles[name], function (dir, bubble) {
bubble.destroy();
});
delete this.fixedStoreBubbles[name];
delete this.fixedBubblesManager[name];
BI.each(this.storeBubbles[name], function (dir, bubble) { BI.each(this.storeBubbles[name], function (dir, bubble) {
bubble.destroy(); bubble.destroy();
}); });
@ -30528,7 +30548,8 @@ BI.Input = BI.inherit(BI.Single, {
.focus(function (e) { // 可以不用冒泡 .focus(function (e) { // 可以不用冒泡
self._focusDebounce(); self._focusDebounce();
}) })
.focusout(function (e) { .blur(function (e) {
// DEC-14919 IE11在浏览器重新获得焦点之后会先触发focusout再触发focus,要保持先获得焦点再失去焦点的顺序不变,因此采用blur
self._blurDebounce(); self._blurDebounce();
}); });
if (BI.isKey(this.options.value) || BI.isEmptyString(this.options.value)) { if (BI.isKey(this.options.value) || BI.isEmptyString(this.options.value)) {
@ -46990,9 +47011,9 @@ BI.AccurateCalculationModel = BI.inherit(BI.Widget, {
/** /**
* Created by roy on 15/8/14. * Created by roy on 15/8/14.
*/ */
BI.DownListCombo = BI.inherit(BI.Widget, { BI.MultiLayerDownListCombo = BI.inherit(BI.Widget, {
_defaultConfig: function () { _defaultConfig: function () {
return BI.extend(BI.DownListCombo.superclass._defaultConfig.apply(this, arguments), { return BI.extend(BI.MultiLayerDownListCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-multilayer-down-list-combo", baseCls: "bi-multilayer-down-list-combo",
height: 24, height: 24,
items: [], items: [],
@ -47006,7 +47027,7 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
}, },
_init: function () { _init: function () {
BI.DownListCombo.superclass._init.apply(this, arguments); BI.MultiLayerDownListCombo.superclass._init.apply(this, arguments);
var self = this, o = this.options; var self = this, o = this.options;
this.popupview = BI.createWidget({ this.popupview = BI.createWidget({
type: "bi.multi_layer_down_list_popup", type: "bi.multi_layer_down_list_popup",
@ -47015,13 +47036,13 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
value: o.value value: o.value
}); });
this.popupview.on(BI.DownListPopup.EVENT_CHANGE, function (value) { this.popupview.on(BI.MultiLayerDownListPopup.EVENT_CHANGE, function (value) {
self.fireEvent(BI.DownListCombo.EVENT_CHANGE, value); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_CHANGE, value);
self.downlistcombo.hideView(); self.downlistcombo.hideView();
}); });
this.popupview.on(BI.DownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) { this.popupview.on(BI.MultiLayerDownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) {
self.fireEvent(BI.DownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue);
self.downlistcombo.hideView(); self.downlistcombo.hideView();
}); });
@ -47049,7 +47070,7 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
}); });
this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () {
self.fireEvent(BI.DownListCombo.EVENT_BEFORE_POPUPVIEW); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_BEFORE_POPUPVIEW);
}); });
}, },
@ -47072,11 +47093,11 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
return this.popupview.getValue(); return this.popupview.getValue();
} }
}); });
BI.DownListCombo.EVENT_CHANGE = "EVENT_CHANGE"; BI.MultiLayerDownListCombo.EVENT_CHANGE = "EVENT_CHANGE";
BI.DownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE"; BI.MultiLayerDownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE";
BI.DownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; BI.MultiLayerDownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
BI.shortcut("bi.multi_layer_down_list_combo", BI.DownListCombo); BI.shortcut("bi.multi_layer_down_list_combo", BI.MultiLayerDownListCombo);
/***/ }), /***/ }),
/* 553 */ /* 553 */

2
dist/fineui.js.map vendored

File diff suppressed because one or more lines are too long

2
dist/fineui.min.css vendored

File diff suppressed because one or more lines are too long

4
dist/fineui.min.js vendored

File diff suppressed because one or more lines are too long

2
dist/fineui.min.js.map vendored

File diff suppressed because one or more lines are too long

93
dist/fineui_without_jquery_polyfill.js vendored

@ -1,4 +1,4 @@
/*! time: 2020-9-8 15:40:19 */ /*! time: 2020-9-9 18:00:23 */
/******/ (function(modules) { // webpackBootstrap /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache /******/ // The module cache
/******/ var installedModules = {}; /******/ var installedModules = {};
@ -11506,14 +11506,16 @@ BI.BubblesController = BI.inherit(BI.Controller, {
_init: function () { _init: function () {
BI.BubblesController.superclass._init.apply(this, arguments); BI.BubblesController.superclass._init.apply(this, arguments);
var self = this; var self = this;
this.fixedBubblesManager = {};
this.fixedStoreBubbles = {};
this.bubblesManager = {}; this.bubblesManager = {};
this.storeBubbles = {}; this.storeBubbles = {};
BI.Resizers.add("bubbleController" + BI.uniqueId(), function () { BI.Resizers.add("bubbleController" + BI.uniqueId(), function () {
BI.each(self.bubblesManager, function (name) { BI.each(self.fixedBubblesManager, function (name) {
self.remove(name); self.remove(name);
}); });
self.bubblesManager = {}; self.fixedBubblesManager = {};
self.storeBubbles = {}; self.fixedStoreBubbles = {};
}); });
}, },
@ -11604,6 +11606,8 @@ BI.BubblesController = BI.inherit(BI.Controller, {
var adjustYOffset = opt.adjustYOffset || 0; var adjustYOffset = opt.adjustYOffset || 0;
var adjustXOffset = opt.adjustXOffset || 0; var adjustXOffset = opt.adjustXOffset || 0;
var fixed = opt.fixed !== false; var fixed = opt.fixed !== false;
// 如果是非固定位置(fixed)的bubble
if (fixed === false) {
if (!this.storeBubbles[name]) { if (!this.storeBubbles[name]) {
this.storeBubbles[name] = {}; this.storeBubbles[name] = {};
} }
@ -11618,9 +11622,6 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}] }]
}); });
this.set(name, this.storeBubbles[name]["top"]); this.set(name, this.storeBubbles[name]["top"]);
// 如果是非固定位置(fixed)的bubble
if (fixed === false) {
var bubble = this.storeBubbles[name]["top"]; var bubble = this.storeBubbles[name]["top"];
var bounds = bubble.element.bounds(); var bounds = bubble.element.bounds();
if (BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) { if (BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) {
@ -11669,36 +11670,50 @@ BI.BubblesController = BI.inherit(BI.Controller, {
} }
} }
} else { } else {
if (!this.fixedStoreBubbles[name]) {
this.fixedStoreBubbles[name] = {};
}
if (!this.fixedStoreBubbles[name]["top"]) {
this.fixedStoreBubbles[name]["top"] = this._createBubble("top", text, level, null, fixed);
}
BI.createWidget({
type: "bi.absolute",
element: container,
items: [{
el: this.fixedStoreBubbles[name]["top"]
}]
});
this.set(name, this.fixedStoreBubbles[name]["top"]);
var position = this._getTopPosition(name, context, offsetStyle); var position = this._getTopPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left + adjustXOffset, top: position.top - adjustYOffset}); this.get(name).element.css({left: position.left + adjustXOffset, top: position.top - adjustYOffset});
if (!BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) { if (!BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["bottom"]) { if (!this.fixedStoreBubbles[name]["bottom"]) {
this.storeBubbles[name]["bottom"] = this._createBubble("bottom", text, level); this.fixedStoreBubbles[name]["bottom"] = this._createBubble("bottom", text, level);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["bottom"] el: this.fixedStoreBubbles[name]["bottom"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["bottom"]); this.set(name, this.fixedStoreBubbles[name]["bottom"]);
var position = this._getBottomPosition(name, context, offsetStyle); var position = this._getBottomPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left + adjustXOffset, top: position.top + adjustYOffset}); this.get(name).element.css({left: position.left + adjustXOffset, top: position.top + adjustYOffset});
if (!BI.DOM.isBottomSpaceEnough(context, this.get(name), adjustYOffset)) { if (!BI.DOM.isBottomSpaceEnough(context, this.get(name), adjustYOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["right"]) { if (!this.fixedStoreBubbles[name]["right"]) {
this.storeBubbles[name]["right"] = this._createBubble("right", text, level); this.fixedStoreBubbles[name]["right"] = this._createBubble("right", text, level);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["right"] el: this.fixedStoreBubbles[name]["right"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["right"]); this.set(name, this.fixedStoreBubbles[name]["right"]);
var position = this._getRightPosition(name, context, offsetStyle); var position = this._getRightPosition(name, context, offsetStyle);
this.get(name).element.css({ this.get(name).element.css({
left: position.left + adjustXOffset, left: position.left + adjustXOffset,
@ -11706,17 +11721,17 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}); });
if (!BI.DOM.isRightSpaceEnough(context, this.get(name), adjustXOffset)) { if (!BI.DOM.isRightSpaceEnough(context, this.get(name), adjustXOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["left"]) { if (!this.fixedStoreBubbles[name]["left"]) {
this.storeBubbles[name]["left"] = this._createBubble("left", text, level, 30); this.fixedStoreBubbles[name]["left"] = this._createBubble("left", text, level, 30);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["left"] el: this.fixedStoreBubbles[name]["left"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["left"]); this.set(name, this.fixedStoreBubbles[name]["left"]);
var position = this._getLeftPosition(name, context, offsetStyle); var position = this._getLeftPosition(name, context, offsetStyle);
this.get(name).element.css({ this.get(name).element.css({
left: position.left - adjustXOffset, left: position.left - adjustXOffset,
@ -11748,21 +11763,26 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}, },
get: function (name) { get: function (name) {
return this.bubblesManager[name]; return this.fixedBubblesManager[name] || this.bubblesManager[name];
}, },
set: function (name, bubble) { set: function (name, bubble, fixed) {
this.bubblesManager[name] = bubble; fixed === false ? (this.bubblesManager[name] = bubble) : (this.fixedBubblesManager[name] = bubble);
}, },
has: function (name) { has: function (name) {
return this.bubblesManager[name] != null; return this.fixedBubblesManager[name] != null || this.bubblesManager[name] != null;
}, },
remove: function (name) { remove: function (name) {
if (!this.has(name)) { if (!this.has(name)) {
return this; return this;
} }
BI.each(this.fixedStoreBubbles[name], function (dir, bubble) {
bubble.destroy();
});
delete this.fixedStoreBubbles[name];
delete this.fixedBubblesManager[name];
BI.each(this.storeBubbles[name], function (dir, bubble) { BI.each(this.storeBubbles[name], function (dir, bubble) {
bubble.destroy(); bubble.destroy();
}); });
@ -26555,7 +26575,8 @@ BI.Input = BI.inherit(BI.Single, {
.focus(function (e) { // 可以不用冒泡 .focus(function (e) { // 可以不用冒泡
self._focusDebounce(); self._focusDebounce();
}) })
.focusout(function (e) { .blur(function (e) {
// DEC-14919 IE11在浏览器重新获得焦点之后会先触发focusout再触发focus,要保持先获得焦点再失去焦点的顺序不变,因此采用blur
self._blurDebounce(); self._blurDebounce();
}); });
if (BI.isKey(this.options.value) || BI.isEmptyString(this.options.value)) { if (BI.isKey(this.options.value) || BI.isEmptyString(this.options.value)) {
@ -43017,9 +43038,9 @@ BI.AccurateCalculationModel = BI.inherit(BI.Widget, {
/** /**
* Created by roy on 15/8/14. * Created by roy on 15/8/14.
*/ */
BI.DownListCombo = BI.inherit(BI.Widget, { BI.MultiLayerDownListCombo = BI.inherit(BI.Widget, {
_defaultConfig: function () { _defaultConfig: function () {
return BI.extend(BI.DownListCombo.superclass._defaultConfig.apply(this, arguments), { return BI.extend(BI.MultiLayerDownListCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-multilayer-down-list-combo", baseCls: "bi-multilayer-down-list-combo",
height: 24, height: 24,
items: [], items: [],
@ -43033,7 +43054,7 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
}, },
_init: function () { _init: function () {
BI.DownListCombo.superclass._init.apply(this, arguments); BI.MultiLayerDownListCombo.superclass._init.apply(this, arguments);
var self = this, o = this.options; var self = this, o = this.options;
this.popupview = BI.createWidget({ this.popupview = BI.createWidget({
type: "bi.multi_layer_down_list_popup", type: "bi.multi_layer_down_list_popup",
@ -43042,13 +43063,13 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
value: o.value value: o.value
}); });
this.popupview.on(BI.DownListPopup.EVENT_CHANGE, function (value) { this.popupview.on(BI.MultiLayerDownListPopup.EVENT_CHANGE, function (value) {
self.fireEvent(BI.DownListCombo.EVENT_CHANGE, value); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_CHANGE, value);
self.downlistcombo.hideView(); self.downlistcombo.hideView();
}); });
this.popupview.on(BI.DownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) { this.popupview.on(BI.MultiLayerDownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) {
self.fireEvent(BI.DownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue);
self.downlistcombo.hideView(); self.downlistcombo.hideView();
}); });
@ -43076,7 +43097,7 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
}); });
this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () {
self.fireEvent(BI.DownListCombo.EVENT_BEFORE_POPUPVIEW); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_BEFORE_POPUPVIEW);
}); });
}, },
@ -43099,11 +43120,11 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
return this.popupview.getValue(); return this.popupview.getValue();
} }
}); });
BI.DownListCombo.EVENT_CHANGE = "EVENT_CHANGE"; BI.MultiLayerDownListCombo.EVENT_CHANGE = "EVENT_CHANGE";
BI.DownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE"; BI.MultiLayerDownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE";
BI.DownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; BI.MultiLayerDownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
BI.shortcut("bi.multi_layer_down_list_combo", BI.DownListCombo); BI.shortcut("bi.multi_layer_down_list_combo", BI.MultiLayerDownListCombo);
/***/ }), /***/ }),
/* 553 */ /* 553 */

2
dist/fineui_without_jquery_polyfill.js.map vendored

File diff suppressed because one or more lines are too long

2
dist/font.css vendored

File diff suppressed because one or more lines are too long

2
dist/utils.js vendored

@ -1,4 +1,4 @@
/*! time: 2020-9-8 15:40:19 */ /*! time: 2020-9-9 18:00:23 */
/******/ (function(modules) { // webpackBootstrap /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache /******/ // The module cache
/******/ var installedModules = {}; /******/ var installedModules = {};

2
dist/utils.min.js vendored

File diff suppressed because one or more lines are too long

2
package.json

@ -1,6 +1,6 @@
{ {
"name": "fineui", "name": "fineui",
"version": "2.0.20200908154118", "version": "2.0.20200909180255",
"description": "fineui", "description": "fineui",
"main": "dist/fineui.min.js", "main": "dist/fineui.min.js",
"types": "dist/lib/index.d.ts", "types": "dist/lib/index.d.ts",

64
src/core/controller/controller.bubbles.js

@ -17,14 +17,16 @@ BI.BubblesController = BI.inherit(BI.Controller, {
_init: function () { _init: function () {
BI.BubblesController.superclass._init.apply(this, arguments); BI.BubblesController.superclass._init.apply(this, arguments);
var self = this; var self = this;
this.fixedBubblesManager = {};
this.fixedStoreBubbles = {};
this.bubblesManager = {}; this.bubblesManager = {};
this.storeBubbles = {}; this.storeBubbles = {};
BI.Resizers.add("bubbleController" + BI.uniqueId(), function () { BI.Resizers.add("bubbleController" + BI.uniqueId(), function () {
BI.each(self.bubblesManager, function (name) { BI.each(self.fixedBubblesManager, function (name) {
self.remove(name); self.remove(name);
}); });
self.bubblesManager = {}; self.fixedBubblesManager = {};
self.storeBubbles = {}; self.fixedStoreBubbles = {};
}); });
}, },
@ -115,6 +117,8 @@ BI.BubblesController = BI.inherit(BI.Controller, {
var adjustYOffset = opt.adjustYOffset || 0; var adjustYOffset = opt.adjustYOffset || 0;
var adjustXOffset = opt.adjustXOffset || 0; var adjustXOffset = opt.adjustXOffset || 0;
var fixed = opt.fixed !== false; var fixed = opt.fixed !== false;
// 如果是非固定位置(fixed)的bubble
if (fixed === false) {
if (!this.storeBubbles[name]) { if (!this.storeBubbles[name]) {
this.storeBubbles[name] = {}; this.storeBubbles[name] = {};
} }
@ -129,9 +133,6 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}] }]
}); });
this.set(name, this.storeBubbles[name]["top"]); this.set(name, this.storeBubbles[name]["top"]);
// 如果是非固定位置(fixed)的bubble
if (fixed === false) {
var bubble = this.storeBubbles[name]["top"]; var bubble = this.storeBubbles[name]["top"];
var bounds = bubble.element.bounds(); var bounds = bubble.element.bounds();
if (BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) { if (BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) {
@ -180,36 +181,50 @@ BI.BubblesController = BI.inherit(BI.Controller, {
} }
} }
} else { } else {
if (!this.fixedStoreBubbles[name]) {
this.fixedStoreBubbles[name] = {};
}
if (!this.fixedStoreBubbles[name]["top"]) {
this.fixedStoreBubbles[name]["top"] = this._createBubble("top", text, level, null, fixed);
}
BI.createWidget({
type: "bi.absolute",
element: container,
items: [{
el: this.fixedStoreBubbles[name]["top"]
}]
});
this.set(name, this.fixedStoreBubbles[name]["top"]);
var position = this._getTopPosition(name, context, offsetStyle); var position = this._getTopPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left + adjustXOffset, top: position.top - adjustYOffset}); this.get(name).element.css({left: position.left + adjustXOffset, top: position.top - adjustYOffset});
if (!BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) { if (!BI.DOM.isTopSpaceEnough(context, this.get(name), adjustYOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["bottom"]) { if (!this.fixedStoreBubbles[name]["bottom"]) {
this.storeBubbles[name]["bottom"] = this._createBubble("bottom", text, level); this.fixedStoreBubbles[name]["bottom"] = this._createBubble("bottom", text, level);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["bottom"] el: this.fixedStoreBubbles[name]["bottom"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["bottom"]); this.set(name, this.fixedStoreBubbles[name]["bottom"]);
var position = this._getBottomPosition(name, context, offsetStyle); var position = this._getBottomPosition(name, context, offsetStyle);
this.get(name).element.css({left: position.left + adjustXOffset, top: position.top + adjustYOffset}); this.get(name).element.css({left: position.left + adjustXOffset, top: position.top + adjustYOffset});
if (!BI.DOM.isBottomSpaceEnough(context, this.get(name), adjustYOffset)) { if (!BI.DOM.isBottomSpaceEnough(context, this.get(name), adjustYOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["right"]) { if (!this.fixedStoreBubbles[name]["right"]) {
this.storeBubbles[name]["right"] = this._createBubble("right", text, level); this.fixedStoreBubbles[name]["right"] = this._createBubble("right", text, level);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["right"] el: this.fixedStoreBubbles[name]["right"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["right"]); this.set(name, this.fixedStoreBubbles[name]["right"]);
var position = this._getRightPosition(name, context, offsetStyle); var position = this._getRightPosition(name, context, offsetStyle);
this.get(name).element.css({ this.get(name).element.css({
left: position.left + adjustXOffset, left: position.left + adjustXOffset,
@ -217,17 +232,17 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}); });
if (!BI.DOM.isRightSpaceEnough(context, this.get(name), adjustXOffset)) { if (!BI.DOM.isRightSpaceEnough(context, this.get(name), adjustXOffset)) {
this.get(name).invisible(); this.get(name).invisible();
if (!this.storeBubbles[name]["left"]) { if (!this.fixedStoreBubbles[name]["left"]) {
this.storeBubbles[name]["left"] = this._createBubble("left", text, level, 30); this.fixedStoreBubbles[name]["left"] = this._createBubble("left", text, level, 30);
} }
BI.createWidget({ BI.createWidget({
type: "bi.absolute", type: "bi.absolute",
element: container, element: container,
items: [{ items: [{
el: this.storeBubbles[name]["left"] el: this.fixedStoreBubbles[name]["left"]
}] }]
}); });
this.set(name, this.storeBubbles[name]["left"]); this.set(name, this.fixedStoreBubbles[name]["left"]);
var position = this._getLeftPosition(name, context, offsetStyle); var position = this._getLeftPosition(name, context, offsetStyle);
this.get(name).element.css({ this.get(name).element.css({
left: position.left - adjustXOffset, left: position.left - adjustXOffset,
@ -259,21 +274,26 @@ BI.BubblesController = BI.inherit(BI.Controller, {
}, },
get: function (name) { get: function (name) {
return this.bubblesManager[name]; return this.fixedBubblesManager[name] || this.bubblesManager[name];
}, },
set: function (name, bubble) { set: function (name, bubble, fixed) {
this.bubblesManager[name] = bubble; fixed === false ? (this.bubblesManager[name] = bubble) : (this.fixedBubblesManager[name] = bubble);
}, },
has: function (name) { has: function (name) {
return this.bubblesManager[name] != null; return this.fixedBubblesManager[name] != null || this.bubblesManager[name] != null;
}, },
remove: function (name) { remove: function (name) {
if (!this.has(name)) { if (!this.has(name)) {
return this; return this;
} }
BI.each(this.fixedStoreBubbles[name], function (dir, bubble) {
bubble.destroy();
});
delete this.fixedStoreBubbles[name];
delete this.fixedBubblesManager[name];
BI.each(this.storeBubbles[name], function (dir, bubble) { BI.each(this.storeBubbles[name], function (dir, bubble) {
bubble.destroy(); bubble.destroy();
}); });

24
src/widget/multilayerdownlist/combo.downlist.js

@ -1,9 +1,9 @@
/** /**
* Created by roy on 15/8/14. * Created by roy on 15/8/14.
*/ */
BI.DownListCombo = BI.inherit(BI.Widget, { BI.MultiLayerDownListCombo = BI.inherit(BI.Widget, {
_defaultConfig: function () { _defaultConfig: function () {
return BI.extend(BI.DownListCombo.superclass._defaultConfig.apply(this, arguments), { return BI.extend(BI.MultiLayerDownListCombo.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-multilayer-down-list-combo", baseCls: "bi-multilayer-down-list-combo",
height: 24, height: 24,
items: [], items: [],
@ -17,7 +17,7 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
}, },
_init: function () { _init: function () {
BI.DownListCombo.superclass._init.apply(this, arguments); BI.MultiLayerDownListCombo.superclass._init.apply(this, arguments);
var self = this, o = this.options; var self = this, o = this.options;
this.popupview = BI.createWidget({ this.popupview = BI.createWidget({
type: "bi.multi_layer_down_list_popup", type: "bi.multi_layer_down_list_popup",
@ -26,13 +26,13 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
value: o.value value: o.value
}); });
this.popupview.on(BI.DownListPopup.EVENT_CHANGE, function (value) { this.popupview.on(BI.MultiLayerDownListPopup.EVENT_CHANGE, function (value) {
self.fireEvent(BI.DownListCombo.EVENT_CHANGE, value); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_CHANGE, value);
self.downlistcombo.hideView(); self.downlistcombo.hideView();
}); });
this.popupview.on(BI.DownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) { this.popupview.on(BI.MultiLayerDownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) {
self.fireEvent(BI.DownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue);
self.downlistcombo.hideView(); self.downlistcombo.hideView();
}); });
@ -60,7 +60,7 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
}); });
this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () {
self.fireEvent(BI.DownListCombo.EVENT_BEFORE_POPUPVIEW); self.fireEvent(BI.MultiLayerDownListCombo.EVENT_BEFORE_POPUPVIEW);
}); });
}, },
@ -83,8 +83,8 @@ BI.DownListCombo = BI.inherit(BI.Widget, {
return this.popupview.getValue(); return this.popupview.getValue();
} }
}); });
BI.DownListCombo.EVENT_CHANGE = "EVENT_CHANGE"; BI.MultiLayerDownListCombo.EVENT_CHANGE = "EVENT_CHANGE";
BI.DownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE"; BI.MultiLayerDownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE";
BI.DownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; BI.MultiLayerDownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW";
BI.shortcut("bi.multi_layer_down_list_combo", BI.DownListCombo); BI.shortcut("bi.multi_layer_down_list_combo", BI.MultiLayerDownListCombo);
Loading…
Cancel
Save