diff --git a/package.json b/package.json index 917ab54db..650135d75 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "fineui", - "version": "2.0.20230413101426", + "version": "2.0.20230518101454", "description": "fineui", "main": "dist/fineui_without_conflict.min.js", "types": "dist/lib/index.d.ts", diff --git a/src/case/combo/textvaluecombo/popup.textvalue.js b/src/case/combo/textvaluecombo/popup.textvalue.js index aed1b0979..9d3e3d004 100644 --- a/src/case/combo/textvaluecombo/popup.textvalue.js +++ b/src/case/combo/textvaluecombo/popup.textvalue.js @@ -1,4 +1,4 @@ -BI.TextValueComboPopup = BI.inherit(BI.Pane, { +BI.TextValueComboPopup = BI.inherit(BI.Widget, { _defaultConfig: function () { return BI.extend(BI.TextValueComboPopup.superclass._defaultConfig.apply(this, arguments), { baseCls: "bi-text-icon-popup", @@ -15,17 +15,20 @@ BI.TextValueComboPopup = BI.inherit(BI.Pane, { vgap: 5, items: [ { - type: "bi.button_group", + type: "bi.list_pane", ref: (_ref) => { this.popup = _ref; }, items: this._formatItems(o.items), - chooseType: o.chooseType, - layouts: [ - { - type: "bi.vertical" - } - ], + el: { + type: "bi.button_group", + chooseType: o.chooseType, + layouts: [ + { + type: "bi.vertical" + } + ], + }, value: o.value, listeners: [ { @@ -131,12 +134,6 @@ BI.TextValueComboPopup = BI.inherit(BI.Pane, { }; }, - beforeMount: function () { - if (this.options.chooseType !== BI.ButtonGroup.CHOOSE_TYPE_MULTI) { - this.check(); - } - }, - _formatItems: function (items) { var o = this.options; return BI.map(items, function (i, item) { @@ -150,7 +147,6 @@ BI.TextValueComboPopup = BI.inherit(BI.Pane, { }, populate: function (items) { - BI.TextValueComboPopup.superclass.populate.apply(this, arguments); this.popup.populate(this._formatItems(items)); }, diff --git a/src/widget/intervalslider/intervalslider.js b/src/widget/intervalslider/intervalslider.js index 59b1e1676..6c70c33a3 100644 --- a/src/widget/intervalslider/intervalslider.js +++ b/src/widget/intervalslider/intervalslider.js @@ -103,7 +103,7 @@ BI.IntervalSlider = BI.inherit(BI.Single, { var oldValueTwo = self.valueTwo; var v = BI.parseFloat(this.getValue()); self.valueTwo = v; - var percent = self._getPercentByValue(v); + var percent = self._getPercentByValue(v, true); var significantPercent = BI.parseFloat(percent.toFixed(1)); self._setSliderTwoPosition(significantPercent); self._setBlueTrack(); @@ -381,7 +381,7 @@ BI.IntervalSlider = BI.inherit(BI.Single, { _setBlueTrack: function () { var percentOne = this._getPercentByValue(this.labelOne.getValue()); - var percentTwo = this._getPercentByValue(this.labelTwo.getValue()); + var percentTwo = this._getPercentByValue(this.labelTwo.getValue(), true); if (percentOne <= percentTwo) { this._setBlueTrackLeft(percentOne); this._setBlueTrackWidth(percentTwo - percentOne); @@ -435,7 +435,11 @@ BI.IntervalSlider = BI.inherit(BI.Single, { }, - _getPercentByValue: function (v) { + _getPercentByValue: function (v, isLast) { + if (this.max === this.min) { + return isLast ? 100 : 0; + } + return (v - this.min) * 100 / (this.max - this.min); }, @@ -545,7 +549,7 @@ BI.IntervalSlider = BI.inherit(BI.Single, { if ((BI.isNumeric(this.valueOne) || BI.isNotEmptyString(this.valueOne)) && (BI.isNumeric(this.valueTwo) || BI.isNotEmptyString(this.valueTwo))) { this.labelOne.setValue(o.digit === false ? this.valueOne : BI.parseFloat(this.valueOne).toFixed(o.digit)); this.labelTwo.setValue(o.digit === false ? this.valueTwo : BI.parseFloat(this.valueTwo).toFixed(o.digit)); - this._setAllPosition(this._getPercentByValue(this.valueOne), this._getPercentByValue(this.valueTwo)); + this._setAllPosition(this._getPercentByValue(this.valueOne), this._getPercentByValue(this.valueTwo, true)); } else { this.labelOne.setValue(this.min); this.labelTwo.setValue(this.max);