vxe-pc-ui 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/button/src/button.js +3 -0
- package/es/carousel/index.js +12 -0
- package/es/carousel/src/carousel-item.js +100 -0
- package/es/carousel/src/carousel.js +418 -0
- package/es/carousel/src/util.js +17 -0
- package/es/carousel/style.css +185 -0
- package/es/carousel/style.min.css +1 -0
- package/es/carousel-item/index.js +12 -0
- package/es/carousel-item/style.css +0 -0
- package/es/carousel-item/style.min.css +0 -0
- package/es/checkbox/index.js +12 -0
- package/es/checkbox/src/checkbox.js +159 -0
- package/es/checkbox/src/group.js +154 -0
- package/es/checkbox/style.css +117 -0
- package/es/checkbox/style.min.css +1 -0
- package/es/checkbox-group/index.js +12 -0
- package/es/checkbox-group/style.css +0 -0
- package/es/checkbox-group/style.min.css +0 -0
- package/es/components.js +39 -39
- package/es/date-picker/src/date-picker.js +3 -0
- package/es/icon/style.css +1 -1
- package/es/icon-picker/index.js +12 -0
- package/es/icon-picker/src/icon-picker.js +668 -0
- package/es/icon-picker/style.css +207 -0
- package/es/icon-picker/style.min.css +1 -0
- package/es/input/index.js +12 -0
- package/es/input/src/input.js +2892 -0
- package/es/input/style.css +941 -0
- package/es/input/style.min.css +1 -0
- package/es/layout-footer/src/layout-footer.js +2 -1
- package/es/layout-header/src/layout-header.js +2 -1
- package/es/optgroup/index.js +12 -0
- package/es/optgroup/style.css +0 -0
- package/es/optgroup/style.min.css +0 -0
- package/es/option/index.js +12 -0
- package/es/option/style.css +0 -0
- package/es/option/style.min.css +0 -0
- package/es/pager/index.js +12 -0
- package/es/pager/src/pager.js +687 -0
- package/es/password-input/index.js +12 -0
- package/es/password-input/src/password-input.js +388 -0
- package/es/password-input/style.css +604 -0
- package/es/password-input/style.min.css +1 -0
- package/es/pulldown/src/pulldown.js +5 -1
- package/es/select/index.js +12 -0
- package/es/select/src/optgroup.js +90 -0
- package/es/select/src/option-info.js +16 -0
- package/es/select/src/option.js +86 -0
- package/es/select/src/select.js +1269 -0
- package/es/select/src/util.js +35 -0
- package/es/select/style.css +207 -0
- package/es/select/style.min.css +1 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tab-pane/index.js +12 -0
- package/es/tab-pane/style.css +0 -0
- package/es/tab-pane/style.min.css +0 -0
- package/es/tabs/index.js +12 -0
- package/es/tabs/src/tab-pane.js +119 -0
- package/es/tabs/src/tabs.js +593 -0
- package/es/tabs/src/util.js +17 -0
- package/es/tabs/style.css +342 -0
- package/es/tabs/style.min.css +1 -0
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-carousel/index.js +3 -0
- package/es/vxe-carousel/style.css +185 -0
- package/es/vxe-carousel/style.min.css +1 -0
- package/es/vxe-carousel-item/index.js +3 -0
- package/es/vxe-carousel-item/style.css +0 -0
- package/es/vxe-carousel-item/style.min.css +0 -0
- package/es/vxe-checkbox/index.js +3 -0
- package/es/vxe-checkbox/style.css +117 -0
- package/es/vxe-checkbox/style.min.css +1 -0
- package/es/vxe-checkbox-group/index.js +3 -0
- package/es/vxe-checkbox-group/style.css +0 -0
- package/es/vxe-checkbox-group/style.min.css +0 -0
- package/es/vxe-icon-picker/index.js +3 -0
- package/es/vxe-icon-picker/style.css +207 -0
- package/es/vxe-icon-picker/style.min.css +1 -0
- package/es/vxe-input/index.js +3 -0
- package/es/vxe-input/style.css +941 -0
- package/es/vxe-input/style.min.css +1 -0
- package/es/vxe-optgroup/index.js +3 -0
- package/es/vxe-optgroup/style.css +0 -0
- package/es/vxe-optgroup/style.min.css +0 -0
- package/es/vxe-option/index.js +3 -0
- package/es/vxe-option/style.css +0 -0
- package/es/vxe-option/style.min.css +0 -0
- package/es/vxe-password-input/index.js +3 -0
- package/es/vxe-password-input/style.css +604 -0
- package/es/vxe-password-input/style.min.css +1 -0
- package/es/vxe-select/index.js +3 -0
- package/es/vxe-select/style.css +207 -0
- package/es/vxe-select/style.min.css +1 -0
- package/es/vxe-tab-pane/index.js +3 -0
- package/es/vxe-tab-pane/style.css +0 -0
- package/es/vxe-tab-pane/style.min.css +0 -0
- package/es/vxe-tabs/index.js +3 -0
- package/es/vxe-tabs/style.css +342 -0
- package/es/vxe-tabs/style.min.css +1 -0
- package/lib/button/src/button.js +3 -0
- package/lib/button/src/button.min.js +1 -1
- package/lib/carousel/index.js +19 -0
- package/lib/carousel/index.min.js +1 -0
- package/lib/carousel/src/carousel-item.js +107 -0
- package/lib/carousel/src/carousel-item.min.js +1 -0
- package/lib/carousel/src/carousel.js +437 -0
- package/lib/carousel/src/carousel.min.js +1 -0
- package/lib/carousel/src/util.js +27 -0
- package/lib/carousel/src/util.min.js +1 -0
- package/lib/carousel/style/index.js +1 -0
- package/lib/carousel/style/style.css +185 -0
- package/lib/carousel/style/style.min.css +1 -0
- package/lib/carousel-item/index.js +19 -0
- package/lib/carousel-item/index.min.js +1 -0
- package/lib/carousel-item/style/index.js +1 -0
- package/lib/carousel-item/style/style.css +0 -0
- package/lib/carousel-item/style/style.min.css +0 -0
- package/lib/checkbox/index.js +19 -0
- package/lib/checkbox/index.min.js +1 -0
- package/lib/checkbox/src/checkbox.js +169 -0
- package/lib/checkbox/src/checkbox.min.js +1 -0
- package/lib/checkbox/src/group.js +164 -0
- package/lib/checkbox/src/group.min.js +1 -0
- package/lib/checkbox/style/index.js +1 -0
- package/lib/checkbox/style/style.css +117 -0
- package/lib/checkbox/style/style.min.css +1 -0
- package/lib/checkbox-group/index.js +19 -0
- package/lib/checkbox-group/index.min.js +1 -0
- package/lib/checkbox-group/style/index.js +1 -0
- package/lib/checkbox-group/style/style.css +0 -0
- package/lib/checkbox-group/style/style.min.css +0 -0
- package/lib/components.js +159 -60
- package/lib/components.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +3 -0
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/index.js +19 -0
- package/lib/icon-picker/index.min.js +1 -0
- package/lib/icon-picker/src/icon-picker.js +646 -0
- package/lib/icon-picker/src/icon-picker.min.js +1 -0
- package/lib/icon-picker/style/index.js +1 -0
- package/lib/icon-picker/style/style.css +207 -0
- package/lib/icon-picker/style/style.min.css +1 -0
- package/lib/index.umd.js +15870 -7738
- package/lib/index.umd.min.js +1 -1
- package/lib/input/index.js +19 -0
- package/lib/input/index.min.js +1 -0
- package/lib/input/src/input.js +2897 -0
- package/lib/input/src/input.min.js +1 -0
- package/lib/input/style/index.js +1 -0
- package/lib/input/style/style.css +941 -0
- package/lib/input/style/style.min.css +1 -0
- package/lib/layout-footer/src/layout-footer.js +2 -1
- package/lib/layout-header/src/layout-header.js +2 -1
- package/lib/optgroup/index.js +19 -0
- package/lib/optgroup/index.min.js +1 -0
- package/lib/optgroup/style/index.js +1 -0
- package/lib/optgroup/style/style.css +0 -0
- package/lib/optgroup/style/style.min.css +0 -0
- package/lib/option/index.js +19 -0
- package/lib/option/index.min.js +1 -0
- package/lib/option/style/index.js +1 -0
- package/lib/option/style/style.css +0 -0
- package/lib/option/style/style.min.css +0 -0
- package/lib/pager/index.js +19 -0
- package/lib/pager/index.min.js +1 -0
- package/lib/pager/src/pager.js +714 -0
- package/lib/pager/src/pager.min.js +1 -0
- package/lib/password-input/index.js +19 -0
- package/lib/password-input/index.min.js +1 -0
- package/lib/password-input/src/password-input.js +398 -0
- package/lib/password-input/src/password-input.min.js +1 -0
- package/lib/password-input/style/index.js +1 -0
- package/lib/password-input/style/style.css +604 -0
- package/lib/password-input/style/style.min.css +1 -0
- package/lib/pulldown/src/pulldown.js +5 -1
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/select/index.js +19 -0
- package/lib/select/index.min.js +1 -0
- package/lib/select/src/optgroup.js +97 -0
- package/lib/select/src/optgroup.min.js +1 -0
- package/lib/select/src/option-info.js +33 -0
- package/lib/select/src/option-info.min.js +1 -0
- package/lib/select/src/option.js +93 -0
- package/lib/select/src/option.min.js +1 -0
- package/lib/select/src/select.js +1315 -0
- package/lib/select/src/select.min.js +1 -0
- package/lib/select/src/util.js +50 -0
- package/lib/select/src/util.min.js +1 -0
- package/lib/select/style/index.js +1 -0
- package/lib/select/style/style.css +207 -0
- package/lib/select/style/style.min.css +1 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tab-pane/index.js +19 -0
- package/lib/tab-pane/index.min.js +1 -0
- package/lib/tab-pane/style/index.js +1 -0
- package/lib/tab-pane/style/style.css +0 -0
- package/lib/tab-pane/style/style.min.css +0 -0
- package/lib/tabs/index.js +19 -0
- package/lib/tabs/index.min.js +1 -0
- package/lib/tabs/src/tab-pane.js +128 -0
- package/lib/tabs/src/tab-pane.min.js +1 -0
- package/lib/tabs/src/tabs.js +630 -0
- package/lib/tabs/src/tabs.min.js +1 -0
- package/lib/tabs/src/util.js +29 -0
- package/lib/tabs/src/util.min.js +1 -0
- package/lib/tabs/style/index.js +1 -0
- package/lib/tabs/style/style.css +342 -0
- package/lib/tabs/style/style.min.css +1 -0
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-carousel/index.js +23 -0
- package/lib/vxe-carousel/index.min.js +1 -0
- package/lib/vxe-carousel/style/index.js +1 -0
- package/lib/vxe-carousel/style/style.css +185 -0
- package/lib/vxe-carousel/style/style.min.css +1 -0
- package/lib/vxe-carousel-item/index.js +23 -0
- package/lib/vxe-carousel-item/index.min.js +1 -0
- package/lib/vxe-carousel-item/style/index.js +1 -0
- package/lib/vxe-carousel-item/style/style.css +0 -0
- package/lib/vxe-carousel-item/style/style.min.css +0 -0
- package/lib/vxe-checkbox/index.js +23 -0
- package/lib/vxe-checkbox/index.min.js +1 -0
- package/lib/vxe-checkbox/style/index.js +1 -0
- package/lib/vxe-checkbox/style/style.css +117 -0
- package/lib/vxe-checkbox/style/style.min.css +1 -0
- package/lib/vxe-checkbox-group/index.js +23 -0
- package/lib/vxe-checkbox-group/index.min.js +1 -0
- package/lib/vxe-checkbox-group/style/index.js +1 -0
- package/lib/vxe-checkbox-group/style/style.css +0 -0
- package/lib/vxe-checkbox-group/style/style.min.css +0 -0
- package/lib/vxe-icon-picker/index.js +23 -0
- package/lib/vxe-icon-picker/index.min.js +1 -0
- package/lib/vxe-icon-picker/style/index.js +1 -0
- package/lib/vxe-icon-picker/style/style.css +207 -0
- package/lib/vxe-icon-picker/style/style.min.css +1 -0
- package/lib/vxe-input/index.js +23 -0
- package/lib/vxe-input/index.min.js +1 -0
- package/lib/vxe-input/style/index.js +1 -0
- package/lib/vxe-input/style/style.css +941 -0
- package/lib/vxe-input/style/style.min.css +1 -0
- package/lib/vxe-optgroup/index.js +23 -0
- package/lib/vxe-optgroup/index.min.js +1 -0
- package/lib/vxe-optgroup/style/index.js +1 -0
- package/lib/vxe-optgroup/style/style.css +0 -0
- package/lib/vxe-optgroup/style/style.min.css +0 -0
- package/lib/vxe-option/index.js +23 -0
- package/lib/vxe-option/index.min.js +1 -0
- package/lib/vxe-option/style/index.js +1 -0
- package/lib/vxe-option/style/style.css +0 -0
- package/lib/vxe-option/style/style.min.css +0 -0
- package/lib/vxe-password-input/index.js +23 -0
- package/lib/vxe-password-input/index.min.js +1 -0
- package/lib/vxe-password-input/style/index.js +1 -0
- package/lib/vxe-password-input/style/style.css +604 -0
- package/lib/vxe-password-input/style/style.min.css +1 -0
- package/lib/vxe-select/index.js +23 -0
- package/lib/vxe-select/index.min.js +1 -0
- package/lib/vxe-select/style/index.js +1 -0
- package/lib/vxe-select/style/style.css +207 -0
- package/lib/vxe-select/style/style.min.css +1 -0
- package/lib/vxe-tab-pane/index.js +23 -0
- package/lib/vxe-tab-pane/index.min.js +1 -0
- package/lib/vxe-tab-pane/style/index.js +1 -0
- package/lib/vxe-tab-pane/style/style.css +0 -0
- package/lib/vxe-tab-pane/style/style.min.css +0 -0
- package/lib/vxe-tabs/index.js +23 -0
- package/lib/vxe-tabs/index.min.js +1 -0
- package/lib/vxe-tabs/style/index.js +1 -0
- package/lib/vxe-tabs/style/style.css +342 -0
- package/lib/vxe-tabs/style/style.min.css +1 -0
- package/package.json +1 -1
- package/packages/button/src/button.ts +3 -0
- package/packages/carousel/index.ts +16 -0
- package/packages/carousel/src/carousel-item.ts +114 -0
- package/packages/carousel/src/carousel.ts +449 -0
- package/packages/carousel/src/util.ts +21 -0
- package/packages/carousel-item/index.ts +16 -0
- package/packages/checkbox/index.ts +16 -0
- package/packages/checkbox/src/checkbox.ts +176 -0
- package/packages/checkbox/src/group.ts +178 -0
- package/packages/checkbox-group/index.ts +16 -0
- package/packages/components.ts +39 -39
- package/packages/date-picker/src/date-picker.ts +3 -0
- package/packages/icon-picker/index.ts +16 -0
- package/packages/icon-picker/src/icon-picker.ts +711 -0
- package/packages/input/index.ts +16 -0
- package/packages/input/src/input.ts +2995 -0
- package/packages/layout-footer/src/layout-footer.ts +4 -3
- package/packages/layout-header/src/layout-header.ts +2 -1
- package/packages/optgroup/index.ts +16 -0
- package/packages/option/index.ts +16 -0
- package/packages/pager/index.ts +16 -0
- package/packages/pager/src/pager.ts +743 -0
- package/packages/password-input/index.ts +16 -0
- package/packages/password-input/src/password-input.ts +427 -0
- package/packages/pulldown/src/pulldown.ts +5 -1
- package/packages/select/index.ts +16 -0
- package/packages/select/src/optgroup.ts +107 -0
- package/packages/select/src/option-info.ts +20 -0
- package/packages/select/src/option.ts +103 -0
- package/packages/select/src/select.ts +1325 -0
- package/packages/select/src/util.ts +46 -0
- package/packages/tab-pane/index.ts +16 -0
- package/packages/tabs/index.ts +16 -0
- package/packages/tabs/src/tab-pane.ts +136 -0
- package/packages/tabs/src/tabs.ts +630 -0
- package/packages/tabs/src/util.ts +21 -0
- package/types/components/carousel.d.ts +5 -0
- package/types/components/icon-picker.d.ts +4 -0
- package/types/components/input.d.ts +9 -1
- package/types/components/optgroup.d.ts +10 -4
- package/types/components/tabs.d.ts +4 -0
- /package/es/icon/style/{iconfont.1725630285930.ttf → iconfont.1725723159302.ttf} +0 -0
- /package/es/icon/style/{iconfont.1725630285930.woff → iconfont.1725723159302.woff} +0 -0
- /package/es/icon/style/{iconfont.1725630285930.woff2 → iconfont.1725723159302.woff2} +0 -0
- /package/es/{iconfont.1725630285930.ttf → iconfont.1725723159302.ttf} +0 -0
- /package/es/{iconfont.1725630285930.woff → iconfont.1725723159302.woff} +0 -0
- /package/es/{iconfont.1725630285930.woff2 → iconfont.1725723159302.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1725630285930.ttf → iconfont.1725723159302.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1725630285930.woff → iconfont.1725723159302.woff} +0 -0
- /package/lib/icon/style/{iconfont.1725630285930.woff2 → iconfont.1725723159302.woff2} +0 -0
- /package/lib/{iconfont.1725630285930.ttf → iconfont.1725723159302.ttf} +0 -0
- /package/lib/{iconfont.1725630285930.woff → iconfont.1725723159302.woff} +0 -0
- /package/lib/{iconfont.1725630285930.woff2 → iconfont.1725723159302.woff2} +0 -0
|
@@ -0,0 +1,2897 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _comp = require("../../ui/src/comp");
|
|
9
|
+
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
10
|
+
var _ui = require("../../ui");
|
|
11
|
+
var _utils = require("../../ui/src/utils");
|
|
12
|
+
var _dom = require("../../ui/src/dom");
|
|
13
|
+
var _util = require("../../date-picker/src/util");
|
|
14
|
+
var _util2 = require("../../number-input/src/util");
|
|
15
|
+
var _vn = require("../..//ui/src/vn");
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
18
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
19
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
20
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
21
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
22
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
23
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
24
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
25
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
26
|
+
var _default2 = exports.default = (0, _comp.defineVxeComponent)({
|
|
27
|
+
name: 'VxeInput',
|
|
28
|
+
mixins: [_ui.globalMixins.sizeMixin],
|
|
29
|
+
model: {
|
|
30
|
+
prop: 'value',
|
|
31
|
+
event: 'modelValue'
|
|
32
|
+
},
|
|
33
|
+
props: {
|
|
34
|
+
value: [String, Number, Date],
|
|
35
|
+
immediate: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
default: true
|
|
38
|
+
},
|
|
39
|
+
name: String,
|
|
40
|
+
type: {
|
|
41
|
+
type: String,
|
|
42
|
+
default: 'text'
|
|
43
|
+
},
|
|
44
|
+
clearable: {
|
|
45
|
+
type: Boolean,
|
|
46
|
+
default: function _default() {
|
|
47
|
+
return (0, _ui.getConfig)().input.clearable;
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
readonly: {
|
|
51
|
+
type: Boolean,
|
|
52
|
+
default: null
|
|
53
|
+
},
|
|
54
|
+
disabled: {
|
|
55
|
+
type: Boolean,
|
|
56
|
+
default: null
|
|
57
|
+
},
|
|
58
|
+
placeholder: String,
|
|
59
|
+
maxLength: [String, Number],
|
|
60
|
+
autoComplete: {
|
|
61
|
+
type: String,
|
|
62
|
+
default: 'off'
|
|
63
|
+
},
|
|
64
|
+
align: String,
|
|
65
|
+
form: String,
|
|
66
|
+
className: String,
|
|
67
|
+
size: {
|
|
68
|
+
type: String,
|
|
69
|
+
default: function _default() {
|
|
70
|
+
return (0, _ui.getConfig)().input.size || (0, _ui.getConfig)().size;
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
multiple: Boolean,
|
|
74
|
+
// text
|
|
75
|
+
showWordCount: Boolean,
|
|
76
|
+
countMethod: Function,
|
|
77
|
+
// number、integer、float
|
|
78
|
+
min: {
|
|
79
|
+
type: [String, Number],
|
|
80
|
+
default: null
|
|
81
|
+
},
|
|
82
|
+
max: {
|
|
83
|
+
type: [String, Number],
|
|
84
|
+
default: null
|
|
85
|
+
},
|
|
86
|
+
step: [String, Number],
|
|
87
|
+
exponential: {
|
|
88
|
+
type: Boolean,
|
|
89
|
+
default: function _default() {
|
|
90
|
+
return (0, _ui.getConfig)().input.exponential;
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
// number、integer、float、password
|
|
94
|
+
controls: {
|
|
95
|
+
type: Boolean,
|
|
96
|
+
default: function _default() {
|
|
97
|
+
return (0, _ui.getConfig)().input.controls;
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
// float
|
|
101
|
+
digits: {
|
|
102
|
+
type: [String, Number],
|
|
103
|
+
default: function _default() {
|
|
104
|
+
return (0, _ui.getConfig)().input.digits;
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
// date、week、month、quarter、year
|
|
108
|
+
startDate: {
|
|
109
|
+
type: [String, Number, Date],
|
|
110
|
+
default: function _default() {
|
|
111
|
+
return (0, _ui.getConfig)().input.startDate;
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
endDate: {
|
|
115
|
+
type: [String, Number, Date],
|
|
116
|
+
default: function _default() {
|
|
117
|
+
return (0, _ui.getConfig)().input.endDate;
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
minDate: [String, Number, Date],
|
|
121
|
+
maxDate: [String, Number, Date],
|
|
122
|
+
// 已废弃 startWeek,被 startDay 替换
|
|
123
|
+
startWeek: Number,
|
|
124
|
+
startDay: {
|
|
125
|
+
type: [String, Number],
|
|
126
|
+
default: function _default() {
|
|
127
|
+
return (0, _ui.getConfig)().input.startDay;
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
labelFormat: String,
|
|
131
|
+
valueFormat: String,
|
|
132
|
+
editable: {
|
|
133
|
+
type: Boolean,
|
|
134
|
+
default: true
|
|
135
|
+
},
|
|
136
|
+
festivalMethod: {
|
|
137
|
+
type: Function,
|
|
138
|
+
default: function _default() {
|
|
139
|
+
return (0, _ui.getConfig)().input.festivalMethod;
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
disabledMethod: {
|
|
143
|
+
type: Function,
|
|
144
|
+
default: function _default() {
|
|
145
|
+
return (0, _ui.getConfig)().input.disabledMethod;
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
// week
|
|
149
|
+
selectDay: {
|
|
150
|
+
type: [String, Number],
|
|
151
|
+
default: function _default() {
|
|
152
|
+
return (0, _ui.getConfig)().input.selectDay;
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
prefixIcon: String,
|
|
156
|
+
suffixIcon: String,
|
|
157
|
+
placement: String,
|
|
158
|
+
transfer: {
|
|
159
|
+
type: Boolean,
|
|
160
|
+
default: null
|
|
161
|
+
},
|
|
162
|
+
// 已废弃
|
|
163
|
+
maxlength: [String, Number],
|
|
164
|
+
// 已废弃
|
|
165
|
+
autocomplete: String
|
|
166
|
+
},
|
|
167
|
+
inject: {
|
|
168
|
+
$xeModal: {
|
|
169
|
+
default: null
|
|
170
|
+
},
|
|
171
|
+
$xeDrawer: {
|
|
172
|
+
default: null
|
|
173
|
+
},
|
|
174
|
+
$xeTable: {
|
|
175
|
+
default: null
|
|
176
|
+
},
|
|
177
|
+
$xeForm: {
|
|
178
|
+
default: null
|
|
179
|
+
},
|
|
180
|
+
formItemInfo: {
|
|
181
|
+
from: 'xeFormItemInfo',
|
|
182
|
+
default: null
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
provide: function provide() {
|
|
186
|
+
var $xeSelect = this;
|
|
187
|
+
return {
|
|
188
|
+
$xeSelect: $xeSelect
|
|
189
|
+
};
|
|
190
|
+
},
|
|
191
|
+
data: function data() {
|
|
192
|
+
var xID = _xeUtils.default.uniqueId();
|
|
193
|
+
var reactData = {
|
|
194
|
+
initialized: false,
|
|
195
|
+
panelIndex: 0,
|
|
196
|
+
showPwd: false,
|
|
197
|
+
visiblePanel: false,
|
|
198
|
+
isAniVisible: false,
|
|
199
|
+
panelStyle: {},
|
|
200
|
+
panelPlacement: '',
|
|
201
|
+
isActivated: false,
|
|
202
|
+
inputValue: '',
|
|
203
|
+
datetimePanelValue: null,
|
|
204
|
+
datePanelValue: null,
|
|
205
|
+
datePanelLabel: '',
|
|
206
|
+
datePanelType: 'day',
|
|
207
|
+
selectMonth: null,
|
|
208
|
+
currentDate: null
|
|
209
|
+
};
|
|
210
|
+
var internalData = {
|
|
211
|
+
yearSize: 12,
|
|
212
|
+
monthSize: 20,
|
|
213
|
+
quarterSize: 8,
|
|
214
|
+
hpTimeout: undefined,
|
|
215
|
+
dnTimeout: undefined
|
|
216
|
+
};
|
|
217
|
+
return {
|
|
218
|
+
xID: xID,
|
|
219
|
+
reactData: reactData,
|
|
220
|
+
internalData: internalData
|
|
221
|
+
};
|
|
222
|
+
},
|
|
223
|
+
computed: Object.assign(Object.assign({}, {}), {
|
|
224
|
+
computeBtnTransfer: function computeBtnTransfer() {
|
|
225
|
+
var $xeInput = this;
|
|
226
|
+
var props = $xeInput;
|
|
227
|
+
var $xeTable = $xeInput.$xeTable;
|
|
228
|
+
var $xeModal = $xeInput.$xeModal;
|
|
229
|
+
var $xeDrawer = $xeInput.$xeDrawer;
|
|
230
|
+
var $xeForm = $xeInput.$xeForm;
|
|
231
|
+
var transfer = props.transfer;
|
|
232
|
+
if (transfer === null) {
|
|
233
|
+
var globalTransfer = (0, _ui.getConfig)().input.transfer;
|
|
234
|
+
if (_xeUtils.default.isBoolean(globalTransfer)) {
|
|
235
|
+
return globalTransfer;
|
|
236
|
+
}
|
|
237
|
+
if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
|
|
238
|
+
return true;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return transfer;
|
|
242
|
+
},
|
|
243
|
+
computeFormReadonly: function computeFormReadonly() {
|
|
244
|
+
var $xeInput = this;
|
|
245
|
+
var $xeForm = $xeInput.$xeForm;
|
|
246
|
+
if ($xeForm) {
|
|
247
|
+
return $xeForm.readonly;
|
|
248
|
+
}
|
|
249
|
+
return false;
|
|
250
|
+
},
|
|
251
|
+
computeIsReadonly: function computeIsReadonly() {
|
|
252
|
+
var $xeInput = this;
|
|
253
|
+
var props = $xeInput;
|
|
254
|
+
var readonly = props.readonly;
|
|
255
|
+
return readonly;
|
|
256
|
+
},
|
|
257
|
+
computeIsDisabled: function computeIsDisabled() {
|
|
258
|
+
var $xeInput = this;
|
|
259
|
+
var props = $xeInput;
|
|
260
|
+
var $xeForm = $xeInput.$xeForm;
|
|
261
|
+
var disabled = props.disabled;
|
|
262
|
+
if (disabled === null) {
|
|
263
|
+
if ($xeForm) {
|
|
264
|
+
return $xeForm.disabled;
|
|
265
|
+
}
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
return disabled;
|
|
269
|
+
},
|
|
270
|
+
computeInpMaxLength: function computeInpMaxLength() {
|
|
271
|
+
var $xeInput = this;
|
|
272
|
+
var props = $xeInput;
|
|
273
|
+
var maxLength = props.maxLength,
|
|
274
|
+
maxlength = props.maxlength;
|
|
275
|
+
var maxLen = maxLength || maxlength;
|
|
276
|
+
var isNumType = $xeInput.computeIsNumType;
|
|
277
|
+
// 数值最大长度限制 16 位,包含小数
|
|
278
|
+
if (isNumType) {
|
|
279
|
+
if (!_xeUtils.default.toNumber(maxLen)) {
|
|
280
|
+
return 16;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
return maxLen;
|
|
284
|
+
},
|
|
285
|
+
computeIsDateTimeType: function computeIsDateTimeType() {
|
|
286
|
+
var $xeInput = this;
|
|
287
|
+
var props = $xeInput;
|
|
288
|
+
var type = props.type;
|
|
289
|
+
return type === 'time' || type === 'datetime';
|
|
290
|
+
},
|
|
291
|
+
computeIsNumType: function computeIsNumType() {
|
|
292
|
+
var $xeInput = this;
|
|
293
|
+
var props = $xeInput;
|
|
294
|
+
return ['number', 'integer', 'float'].indexOf(props.type) > -1;
|
|
295
|
+
},
|
|
296
|
+
computeInputCount: function computeInputCount() {
|
|
297
|
+
var $xeInput = this;
|
|
298
|
+
var reactData = $xeInput.reactData;
|
|
299
|
+
return _xeUtils.default.getSize(reactData.inputValue);
|
|
300
|
+
},
|
|
301
|
+
computeIsCountError: function computeIsCountError() {
|
|
302
|
+
var $xeInput = this;
|
|
303
|
+
var inputCount = $xeInput.computeInputCount;
|
|
304
|
+
var inpMaxLength = $xeInput.computeInpMaxLength;
|
|
305
|
+
return inpMaxLength && inputCount > _xeUtils.default.toNumber(inpMaxLength);
|
|
306
|
+
},
|
|
307
|
+
computeIsDatePickerType: function computeIsDatePickerType() {
|
|
308
|
+
var $xeInput = this;
|
|
309
|
+
var props = $xeInput;
|
|
310
|
+
var isDateTimeType = $xeInput.computeIsDateTimeType;
|
|
311
|
+
return isDateTimeType || ['date', 'week', 'month', 'quarter', 'year'].indexOf(props.type) > -1;
|
|
312
|
+
},
|
|
313
|
+
computeIsPawdType: function computeIsPawdType() {
|
|
314
|
+
var $xeInput = this;
|
|
315
|
+
var props = $xeInput;
|
|
316
|
+
return props.type === 'password';
|
|
317
|
+
},
|
|
318
|
+
computeIsSearchType: function computeIsSearchType() {
|
|
319
|
+
var $xeInput = this;
|
|
320
|
+
var props = $xeInput;
|
|
321
|
+
return props.type === 'search';
|
|
322
|
+
},
|
|
323
|
+
computeDigitsValue: function computeDigitsValue() {
|
|
324
|
+
var $xeInput = this;
|
|
325
|
+
var props = $xeInput;
|
|
326
|
+
return _xeUtils.default.toInteger(props.digits) || 1;
|
|
327
|
+
},
|
|
328
|
+
computeStepValue: function computeStepValue() {
|
|
329
|
+
var $xeInput = this;
|
|
330
|
+
var props = $xeInput;
|
|
331
|
+
var type = props.type;
|
|
332
|
+
var digitsValue = $xeInput.computeDigitsValue;
|
|
333
|
+
var step = props.step;
|
|
334
|
+
if (type === 'integer') {
|
|
335
|
+
return _xeUtils.default.toInteger(step) || 1;
|
|
336
|
+
} else if (type === 'float') {
|
|
337
|
+
return _xeUtils.default.toNumber(step) || 1 / Math.pow(10, digitsValue);
|
|
338
|
+
}
|
|
339
|
+
return _xeUtils.default.toNumber(step) || 1;
|
|
340
|
+
},
|
|
341
|
+
computeIsClearable: function computeIsClearable() {
|
|
342
|
+
var $xeInput = this;
|
|
343
|
+
var props = $xeInput;
|
|
344
|
+
var type = props.type;
|
|
345
|
+
var isNumType = $xeInput.computeIsNumType;
|
|
346
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
347
|
+
var isPawdType = $xeInput.computeIsPawdType;
|
|
348
|
+
return props.clearable && (isPawdType || isNumType || isDatePickerType || type === 'text' || type === 'search');
|
|
349
|
+
},
|
|
350
|
+
computeDateStartTime: function computeDateStartTime() {
|
|
351
|
+
var $xeInput = this;
|
|
352
|
+
var props = $xeInput;
|
|
353
|
+
return props.startDate ? _xeUtils.default.toStringDate(props.startDate) : null;
|
|
354
|
+
},
|
|
355
|
+
computeDateEndTime: function computeDateEndTime() {
|
|
356
|
+
var $xeInput = this;
|
|
357
|
+
var props = $xeInput;
|
|
358
|
+
return props.endDate ? _xeUtils.default.toStringDate(props.endDate) : null;
|
|
359
|
+
},
|
|
360
|
+
computeSupportMultiples: function computeSupportMultiples() {
|
|
361
|
+
var $xeInput = this;
|
|
362
|
+
var props = $xeInput;
|
|
363
|
+
return ['date', 'week', 'month', 'quarter', 'year'].indexOf(props.type) > -1;
|
|
364
|
+
},
|
|
365
|
+
computeDateListValue: function computeDateListValue() {
|
|
366
|
+
var $xeInput = this;
|
|
367
|
+
var props = $xeInput;
|
|
368
|
+
var value = props.value,
|
|
369
|
+
multiple = props.multiple;
|
|
370
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
371
|
+
var dateValueFormat = $xeInput.computeDateValueFormat;
|
|
372
|
+
if (multiple && value && isDatePickerType) {
|
|
373
|
+
return _xeUtils.default.toValueString(value).split(',').map(function (item) {
|
|
374
|
+
var date = $xeInput.parseDate(item, dateValueFormat);
|
|
375
|
+
if (_xeUtils.default.isValidDate(date)) {
|
|
376
|
+
return date;
|
|
377
|
+
}
|
|
378
|
+
return date;
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
return [];
|
|
382
|
+
},
|
|
383
|
+
computeDateMultipleValue: function computeDateMultipleValue() {
|
|
384
|
+
var $xeInput = this;
|
|
385
|
+
var dateListValue = $xeInput.computeDateListValue;
|
|
386
|
+
var dateValueFormat = $xeInput.computeDateValueFormat;
|
|
387
|
+
return dateListValue.map(function (date) {
|
|
388
|
+
return _xeUtils.default.toDateString(date, dateValueFormat);
|
|
389
|
+
});
|
|
390
|
+
},
|
|
391
|
+
computeDateMultipleLabel: function computeDateMultipleLabel() {
|
|
392
|
+
var $xeInput = this;
|
|
393
|
+
var dateListValue = $xeInput.computeDateListValue;
|
|
394
|
+
var dateLabelFormat = $xeInput.computeDateLabelFormat;
|
|
395
|
+
return dateListValue.map(function (date) {
|
|
396
|
+
return _xeUtils.default.toDateString(date, dateLabelFormat);
|
|
397
|
+
}).join(', ');
|
|
398
|
+
},
|
|
399
|
+
computeDateValueFormat: function computeDateValueFormat() {
|
|
400
|
+
var $xeInput = this;
|
|
401
|
+
var props = $xeInput;
|
|
402
|
+
var type = props.type,
|
|
403
|
+
valueFormat = props.valueFormat;
|
|
404
|
+
if (valueFormat) {
|
|
405
|
+
return valueFormat;
|
|
406
|
+
}
|
|
407
|
+
if (type === 'time') {
|
|
408
|
+
return 'HH:mm:ss';
|
|
409
|
+
}
|
|
410
|
+
if (type === 'datetime') {
|
|
411
|
+
return 'yyyy-MM-dd HH:mm:ss';
|
|
412
|
+
}
|
|
413
|
+
return 'yyyy-MM-dd';
|
|
414
|
+
},
|
|
415
|
+
computeDateValue: function computeDateValue() {
|
|
416
|
+
var $xeInput = this;
|
|
417
|
+
var props = $xeInput;
|
|
418
|
+
var value = props.value;
|
|
419
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
420
|
+
var dateValueFormat = $xeInput.computeDateValueFormat;
|
|
421
|
+
var val = null;
|
|
422
|
+
if (value && isDatePickerType) {
|
|
423
|
+
var date = $xeInput.parseDate(value, dateValueFormat);
|
|
424
|
+
if (_xeUtils.default.isValidDate(date)) {
|
|
425
|
+
val = date;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
return val;
|
|
429
|
+
},
|
|
430
|
+
computeIsDisabledPrevDateBtn: function computeIsDisabledPrevDateBtn() {
|
|
431
|
+
var $xeInput = this;
|
|
432
|
+
var reactData = $xeInput.reactData;
|
|
433
|
+
var dateStartTime = $xeInput.computeDateStartTime;
|
|
434
|
+
var selectMonth = reactData.selectMonth;
|
|
435
|
+
if (selectMonth && dateStartTime) {
|
|
436
|
+
return selectMonth <= dateStartTime;
|
|
437
|
+
}
|
|
438
|
+
return false;
|
|
439
|
+
},
|
|
440
|
+
computeIsDisabledNextDateBtn: function computeIsDisabledNextDateBtn() {
|
|
441
|
+
var $xeInput = this;
|
|
442
|
+
var reactData = $xeInput.reactData;
|
|
443
|
+
var dateEndTime = $xeInput.computeDateEndTime;
|
|
444
|
+
var selectMonth = reactData.selectMonth;
|
|
445
|
+
if (selectMonth && dateEndTime) {
|
|
446
|
+
return selectMonth >= dateEndTime;
|
|
447
|
+
}
|
|
448
|
+
return false;
|
|
449
|
+
},
|
|
450
|
+
computeDateTimeLabel: function computeDateTimeLabel() {
|
|
451
|
+
var $xeInput = this;
|
|
452
|
+
var reactData = $xeInput.reactData;
|
|
453
|
+
var datetimePanelValue = reactData.datetimePanelValue;
|
|
454
|
+
var hasTimeSecond = $xeInput.computeHasTimeSecond;
|
|
455
|
+
if (datetimePanelValue) {
|
|
456
|
+
return _xeUtils.default.toDateString(datetimePanelValue, hasTimeSecond ? 'HH:mm:ss' : 'HH:mm');
|
|
457
|
+
}
|
|
458
|
+
return '';
|
|
459
|
+
},
|
|
460
|
+
computeDateHMSTime: function computeDateHMSTime() {
|
|
461
|
+
var $xeInput = this;
|
|
462
|
+
var dateValue = $xeInput.computeDateValue;
|
|
463
|
+
var isDateTimeType = $xeInput.computeIsDateTimeType;
|
|
464
|
+
return dateValue && isDateTimeType ? (dateValue.getHours() * 3600 + dateValue.getMinutes() * 60 + dateValue.getSeconds()) * 1000 : 0;
|
|
465
|
+
},
|
|
466
|
+
computeDateLabelFormat: function computeDateLabelFormat() {
|
|
467
|
+
var $xeInput = this;
|
|
468
|
+
var props = $xeInput;
|
|
469
|
+
var labelFormat = props.labelFormat;
|
|
470
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
471
|
+
var dateValueFormat = $xeInput.computeDateValueFormat;
|
|
472
|
+
if (isDatePickerType) {
|
|
473
|
+
return labelFormat || dateValueFormat || (0, _ui.getI18n)("vxe.input.date.labelFormat.".concat(props.type));
|
|
474
|
+
}
|
|
475
|
+
return '';
|
|
476
|
+
},
|
|
477
|
+
computeYearList: function computeYearList() {
|
|
478
|
+
var $xeInput = this;
|
|
479
|
+
var reactData = $xeInput.reactData;
|
|
480
|
+
var internalData = $xeInput.internalData;
|
|
481
|
+
var selectMonth = reactData.selectMonth,
|
|
482
|
+
currentDate = reactData.currentDate;
|
|
483
|
+
var yearSize = internalData.yearSize;
|
|
484
|
+
var years = [];
|
|
485
|
+
if (selectMonth && currentDate) {
|
|
486
|
+
var currFullYear = currentDate.getFullYear();
|
|
487
|
+
var selectFullYear = selectMonth.getFullYear();
|
|
488
|
+
var startYearDate = new Date(selectFullYear - selectFullYear % yearSize, 0, 1);
|
|
489
|
+
for (var index = -4; index < yearSize + 4; index++) {
|
|
490
|
+
var date = _xeUtils.default.getWhatYear(startYearDate, index, 'first');
|
|
491
|
+
var itemFullYear = date.getFullYear();
|
|
492
|
+
years.push({
|
|
493
|
+
date: date,
|
|
494
|
+
isCurrent: true,
|
|
495
|
+
isPrev: index < 0,
|
|
496
|
+
isNow: currFullYear === itemFullYear,
|
|
497
|
+
isNext: index >= yearSize,
|
|
498
|
+
year: itemFullYear
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
return years;
|
|
503
|
+
},
|
|
504
|
+
computeSelectDatePanelLabel: function computeSelectDatePanelLabel() {
|
|
505
|
+
var $xeInput = this;
|
|
506
|
+
var reactData = $xeInput.reactData;
|
|
507
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
508
|
+
if (isDatePickerType) {
|
|
509
|
+
var datePanelType = reactData.datePanelType,
|
|
510
|
+
selectMonth = reactData.selectMonth;
|
|
511
|
+
var yearList = $xeInput.computeYearList;
|
|
512
|
+
var year = '';
|
|
513
|
+
var month;
|
|
514
|
+
if (selectMonth) {
|
|
515
|
+
year = selectMonth.getFullYear();
|
|
516
|
+
month = selectMonth.getMonth() + 1;
|
|
517
|
+
}
|
|
518
|
+
if (datePanelType === 'quarter') {
|
|
519
|
+
return (0, _ui.getI18n)('vxe.input.date.quarterLabel', [year]);
|
|
520
|
+
} else if (datePanelType === 'month') {
|
|
521
|
+
return (0, _ui.getI18n)('vxe.input.date.monthLabel', [year]);
|
|
522
|
+
} else if (datePanelType === 'year') {
|
|
523
|
+
return yearList.length ? "".concat(yearList[0].year, " - ").concat(yearList[yearList.length - 1].year) : '';
|
|
524
|
+
}
|
|
525
|
+
return (0, _ui.getI18n)('vxe.input.date.dayLabel', [year, month ? (0, _ui.getI18n)("vxe.input.date.m".concat(month)) : '-']);
|
|
526
|
+
}
|
|
527
|
+
return '';
|
|
528
|
+
},
|
|
529
|
+
computeFirstDayOfWeek: function computeFirstDayOfWeek() {
|
|
530
|
+
var $xeInput = this;
|
|
531
|
+
var props = $xeInput;
|
|
532
|
+
var startDay = props.startDay,
|
|
533
|
+
startWeek = props.startWeek;
|
|
534
|
+
return _xeUtils.default.toNumber(_xeUtils.default.isNumber(startDay) || _xeUtils.default.isString(startDay) ? startDay : startWeek);
|
|
535
|
+
},
|
|
536
|
+
computeWeekDatas: function computeWeekDatas() {
|
|
537
|
+
var $xeInput = this;
|
|
538
|
+
var weeks = [];
|
|
539
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
540
|
+
if (isDatePickerType) {
|
|
541
|
+
var sWeek = $xeInput.computeFirstDayOfWeek;
|
|
542
|
+
weeks.push(sWeek);
|
|
543
|
+
for (var index = 0; index < 6; index++) {
|
|
544
|
+
if (sWeek >= 6) {
|
|
545
|
+
sWeek = 0;
|
|
546
|
+
} else {
|
|
547
|
+
sWeek++;
|
|
548
|
+
}
|
|
549
|
+
weeks.push(sWeek);
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
return weeks;
|
|
553
|
+
},
|
|
554
|
+
computeDateHeaders: function computeDateHeaders() {
|
|
555
|
+
var $xeInput = this;
|
|
556
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
557
|
+
if (isDatePickerType) {
|
|
558
|
+
var weekDatas = $xeInput.computeWeekDatas;
|
|
559
|
+
return weekDatas.map(function (day) {
|
|
560
|
+
return {
|
|
561
|
+
value: day,
|
|
562
|
+
label: (0, _ui.getI18n)("vxe.input.date.weeks.w".concat(day))
|
|
563
|
+
};
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
return [];
|
|
567
|
+
},
|
|
568
|
+
computeWeekHeaders: function computeWeekHeaders() {
|
|
569
|
+
var $xeInput = this;
|
|
570
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
571
|
+
if (isDatePickerType) {
|
|
572
|
+
var dateHeaders = $xeInput.computeDateHeaders;
|
|
573
|
+
return [{
|
|
574
|
+
label: (0, _ui.getI18n)('vxe.input.date.weeks.w')
|
|
575
|
+
}].concat(dateHeaders);
|
|
576
|
+
}
|
|
577
|
+
return [];
|
|
578
|
+
},
|
|
579
|
+
computeYearDatas: function computeYearDatas() {
|
|
580
|
+
var $xeInput = this;
|
|
581
|
+
var yearList = $xeInput.computeYearList;
|
|
582
|
+
return _xeUtils.default.chunk(yearList, 4);
|
|
583
|
+
},
|
|
584
|
+
computeQuarterList: function computeQuarterList() {
|
|
585
|
+
var $xeInput = this;
|
|
586
|
+
var reactData = $xeInput.reactData;
|
|
587
|
+
var internalData = $xeInput.internalData;
|
|
588
|
+
var selectMonth = reactData.selectMonth,
|
|
589
|
+
currentDate = reactData.currentDate;
|
|
590
|
+
var quarterSize = internalData.quarterSize;
|
|
591
|
+
var quarters = [];
|
|
592
|
+
if (selectMonth && currentDate) {
|
|
593
|
+
var currFullYear = currentDate.getFullYear();
|
|
594
|
+
var currQuarter = (0, _util.getDateQuarter)(currentDate);
|
|
595
|
+
var firstYear = _xeUtils.default.getWhatYear(selectMonth, 0, 'first');
|
|
596
|
+
var selFullYear = firstYear.getFullYear();
|
|
597
|
+
for (var index = -2; index < quarterSize - 2; index++) {
|
|
598
|
+
var date = _xeUtils.default.getWhatQuarter(firstYear, index);
|
|
599
|
+
var itemFullYear = date.getFullYear();
|
|
600
|
+
var itemQuarter = (0, _util.getDateQuarter)(date);
|
|
601
|
+
var isPrev = itemFullYear < selFullYear;
|
|
602
|
+
quarters.push({
|
|
603
|
+
date: date,
|
|
604
|
+
isPrev: isPrev,
|
|
605
|
+
isCurrent: itemFullYear === selFullYear,
|
|
606
|
+
isNow: itemFullYear === currFullYear && itemQuarter === currQuarter,
|
|
607
|
+
isNext: !isPrev && itemFullYear > selFullYear,
|
|
608
|
+
quarter: itemQuarter
|
|
609
|
+
});
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
return quarters;
|
|
613
|
+
},
|
|
614
|
+
computeQuarterDatas: function computeQuarterDatas() {
|
|
615
|
+
var $xeInput = this;
|
|
616
|
+
var quarterList = $xeInput.computeQuarterList;
|
|
617
|
+
return _xeUtils.default.chunk(quarterList, 2);
|
|
618
|
+
},
|
|
619
|
+
computeMonthList: function computeMonthList() {
|
|
620
|
+
var $xeInput = this;
|
|
621
|
+
var reactData = $xeInput.reactData;
|
|
622
|
+
var internalData = $xeInput.internalData;
|
|
623
|
+
var selectMonth = reactData.selectMonth,
|
|
624
|
+
currentDate = reactData.currentDate;
|
|
625
|
+
var monthSize = internalData.monthSize;
|
|
626
|
+
var months = [];
|
|
627
|
+
if (selectMonth && currentDate) {
|
|
628
|
+
var currFullYear = currentDate.getFullYear();
|
|
629
|
+
var currMonth = currentDate.getMonth();
|
|
630
|
+
var selFullYear = _xeUtils.default.getWhatYear(selectMonth, 0, 'first').getFullYear();
|
|
631
|
+
for (var index = -4; index < monthSize - 4; index++) {
|
|
632
|
+
var date = _xeUtils.default.getWhatYear(selectMonth, 0, index);
|
|
633
|
+
var itemFullYear = date.getFullYear();
|
|
634
|
+
var itemMonth = date.getMonth();
|
|
635
|
+
var isPrev = itemFullYear < selFullYear;
|
|
636
|
+
months.push({
|
|
637
|
+
date: date,
|
|
638
|
+
isPrev: isPrev,
|
|
639
|
+
isCurrent: itemFullYear === selFullYear,
|
|
640
|
+
isNow: itemFullYear === currFullYear && itemMonth === currMonth,
|
|
641
|
+
isNext: !isPrev && itemFullYear > selFullYear,
|
|
642
|
+
month: itemMonth
|
|
643
|
+
});
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
return months;
|
|
647
|
+
},
|
|
648
|
+
computeMonthDatas: function computeMonthDatas() {
|
|
649
|
+
var $xeInput = this;
|
|
650
|
+
var monthList = $xeInput.computeMonthList;
|
|
651
|
+
return _xeUtils.default.chunk(monthList, 4);
|
|
652
|
+
},
|
|
653
|
+
computeDayList: function computeDayList() {
|
|
654
|
+
var $xeInput = this;
|
|
655
|
+
var reactData = $xeInput.reactData;
|
|
656
|
+
var selectMonth = reactData.selectMonth,
|
|
657
|
+
currentDate = reactData.currentDate;
|
|
658
|
+
var days = [];
|
|
659
|
+
if (selectMonth && currentDate) {
|
|
660
|
+
var dateHMSTime = $xeInput.computeDateHMSTime;
|
|
661
|
+
var weekDatas = $xeInput.computeWeekDatas;
|
|
662
|
+
var currFullYear = currentDate.getFullYear();
|
|
663
|
+
var currMonth = currentDate.getMonth();
|
|
664
|
+
var currDate = currentDate.getDate();
|
|
665
|
+
var selFullYear = selectMonth.getFullYear();
|
|
666
|
+
var selMonth = selectMonth.getMonth();
|
|
667
|
+
var selDay = selectMonth.getDay();
|
|
668
|
+
var prevOffsetDate = -weekDatas.indexOf(selDay);
|
|
669
|
+
var startDayDate = new Date(_xeUtils.default.getWhatDay(selectMonth, prevOffsetDate).getTime() + dateHMSTime);
|
|
670
|
+
for (var index = 0; index < 42; index++) {
|
|
671
|
+
var date = _xeUtils.default.getWhatDay(startDayDate, index);
|
|
672
|
+
var itemFullYear = date.getFullYear();
|
|
673
|
+
var itemMonth = date.getMonth();
|
|
674
|
+
var itemDate = date.getDate();
|
|
675
|
+
var isPrev = date < selectMonth;
|
|
676
|
+
days.push({
|
|
677
|
+
date: date,
|
|
678
|
+
isPrev: isPrev,
|
|
679
|
+
isCurrent: itemFullYear === selFullYear && itemMonth === selMonth,
|
|
680
|
+
isNow: itemFullYear === currFullYear && itemMonth === currMonth && itemDate === currDate,
|
|
681
|
+
isNext: !isPrev && selMonth !== itemMonth,
|
|
682
|
+
label: itemDate
|
|
683
|
+
});
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
return days;
|
|
687
|
+
},
|
|
688
|
+
computeDayDatas: function computeDayDatas() {
|
|
689
|
+
var $xeInput = this;
|
|
690
|
+
var dayList = $xeInput.computeDayList;
|
|
691
|
+
return _xeUtils.default.chunk(dayList, 7);
|
|
692
|
+
},
|
|
693
|
+
computeWeekDates: function computeWeekDates() {
|
|
694
|
+
var $xeInput = this;
|
|
695
|
+
var dayDatas = $xeInput.computeDayDatas;
|
|
696
|
+
var firstDayOfWeek = $xeInput.computeFirstDayOfWeek;
|
|
697
|
+
return dayDatas.map(function (list) {
|
|
698
|
+
var firstItem = list[0];
|
|
699
|
+
var item = {
|
|
700
|
+
date: firstItem.date,
|
|
701
|
+
isWeekNumber: true,
|
|
702
|
+
isPrev: false,
|
|
703
|
+
isCurrent: false,
|
|
704
|
+
isNow: false,
|
|
705
|
+
isNext: false,
|
|
706
|
+
label: _xeUtils.default.getYearWeek(firstItem.date, firstDayOfWeek)
|
|
707
|
+
};
|
|
708
|
+
return [item].concat(list);
|
|
709
|
+
});
|
|
710
|
+
},
|
|
711
|
+
computeHourList: function computeHourList() {
|
|
712
|
+
var $xeInput = this;
|
|
713
|
+
var list = [];
|
|
714
|
+
var isDateTimeType = $xeInput.computeIsDateTimeType;
|
|
715
|
+
if (isDateTimeType) {
|
|
716
|
+
for (var index = 0; index < 24; index++) {
|
|
717
|
+
list.push({
|
|
718
|
+
value: index,
|
|
719
|
+
label: ('' + index).padStart(2, '0')
|
|
720
|
+
});
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
return list;
|
|
724
|
+
},
|
|
725
|
+
computeMinuteList: function computeMinuteList() {
|
|
726
|
+
var $xeInput = this;
|
|
727
|
+
var list = [];
|
|
728
|
+
var isDateTimeType = $xeInput.computeIsDateTimeType;
|
|
729
|
+
if (isDateTimeType) {
|
|
730
|
+
for (var index = 0; index < 60; index++) {
|
|
731
|
+
list.push({
|
|
732
|
+
value: index,
|
|
733
|
+
label: ('' + index).padStart(2, '0')
|
|
734
|
+
});
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
return list;
|
|
738
|
+
},
|
|
739
|
+
computeHasTimeMinute: function computeHasTimeMinute() {
|
|
740
|
+
var $xeInput = this;
|
|
741
|
+
var dateValueFormat = $xeInput.computeDateValueFormat;
|
|
742
|
+
return !/HH/.test(dateValueFormat) || /mm/.test(dateValueFormat);
|
|
743
|
+
},
|
|
744
|
+
computeHasTimeSecond: function computeHasTimeSecond() {
|
|
745
|
+
var $xeInput = this;
|
|
746
|
+
var dateValueFormat = $xeInput.computeDateValueFormat;
|
|
747
|
+
return !/HH/.test(dateValueFormat) || /ss/.test(dateValueFormat);
|
|
748
|
+
},
|
|
749
|
+
computeSecondList: function computeSecondList() {
|
|
750
|
+
var $xeInput = this;
|
|
751
|
+
var minuteList = $xeInput.computeMinuteList;
|
|
752
|
+
return minuteList;
|
|
753
|
+
},
|
|
754
|
+
computeInputReadonly: function computeInputReadonly() {
|
|
755
|
+
var $xeInput = this;
|
|
756
|
+
var props = $xeInput;
|
|
757
|
+
var type = props.type,
|
|
758
|
+
editable = props.editable,
|
|
759
|
+
multiple = props.multiple;
|
|
760
|
+
var isReadonly = $xeInput.computeIsReadonly;
|
|
761
|
+
return isReadonly || multiple || !editable || type === 'week' || type === 'quarter';
|
|
762
|
+
},
|
|
763
|
+
computeInputType: function computeInputType() {
|
|
764
|
+
var $xeInput = this;
|
|
765
|
+
var props = $xeInput;
|
|
766
|
+
var reactData = $xeInput.reactData;
|
|
767
|
+
var type = props.type;
|
|
768
|
+
var showPwd = reactData.showPwd;
|
|
769
|
+
var isNumType = $xeInput.computeIsNumType;
|
|
770
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
771
|
+
var isPawdType = $xeInput.computeIsPawdType;
|
|
772
|
+
if (isDatePickerType || isNumType || isPawdType && showPwd || type === 'number') {
|
|
773
|
+
return 'text';
|
|
774
|
+
}
|
|
775
|
+
return type;
|
|
776
|
+
},
|
|
777
|
+
computeInpPlaceholder: function computeInpPlaceholder() {
|
|
778
|
+
var $xeInput = this;
|
|
779
|
+
var props = $xeInput;
|
|
780
|
+
var placeholder = props.placeholder;
|
|
781
|
+
if (placeholder) {
|
|
782
|
+
return (0, _utils.getFuncText)(placeholder);
|
|
783
|
+
}
|
|
784
|
+
var globalPlaceholder = (0, _ui.getConfig)().input.placeholder;
|
|
785
|
+
if (globalPlaceholder) {
|
|
786
|
+
return (0, _utils.getFuncText)(globalPlaceholder);
|
|
787
|
+
}
|
|
788
|
+
return (0, _ui.getI18n)('vxe.base.pleaseInput');
|
|
789
|
+
},
|
|
790
|
+
computeInpImmediate: function computeInpImmediate() {
|
|
791
|
+
var $xeInput = this;
|
|
792
|
+
var props = $xeInput;
|
|
793
|
+
var type = props.type,
|
|
794
|
+
immediate = props.immediate;
|
|
795
|
+
return immediate || !(type === 'text' || type === 'number' || type === 'integer' || type === 'float');
|
|
796
|
+
},
|
|
797
|
+
computeNumValue: function computeNumValue() {
|
|
798
|
+
var $xeInput = this;
|
|
799
|
+
var props = $xeInput;
|
|
800
|
+
var reactData = $xeInput.reactData;
|
|
801
|
+
var type = props.type;
|
|
802
|
+
var inputValue = reactData.inputValue;
|
|
803
|
+
var isNumType = $xeInput.computeIsNumType;
|
|
804
|
+
if (isNumType) {
|
|
805
|
+
return type === 'integer' ? _xeUtils.default.toInteger((0, _util2.handleNumber)(inputValue)) : _xeUtils.default.toNumber((0, _util2.handleNumber)(inputValue));
|
|
806
|
+
}
|
|
807
|
+
return 0;
|
|
808
|
+
},
|
|
809
|
+
computeIsDisabledSubtractNumber: function computeIsDisabledSubtractNumber() {
|
|
810
|
+
var $xeInput = this;
|
|
811
|
+
var props = $xeInput;
|
|
812
|
+
var reactData = $xeInput.reactData;
|
|
813
|
+
var min = props.min;
|
|
814
|
+
var inputValue = reactData.inputValue;
|
|
815
|
+
var isNumType = $xeInput.computeIsNumType;
|
|
816
|
+
var numValue = $xeInput.computeNumValue;
|
|
817
|
+
// 当有值时再进行判断
|
|
818
|
+
if ((inputValue || inputValue === 0) && isNumType && min !== null) {
|
|
819
|
+
return numValue <= _xeUtils.default.toNumber(min);
|
|
820
|
+
}
|
|
821
|
+
return false;
|
|
822
|
+
},
|
|
823
|
+
computeIsDisabledAddNumber: function computeIsDisabledAddNumber() {
|
|
824
|
+
var $xeInput = this;
|
|
825
|
+
var props = $xeInput;
|
|
826
|
+
var reactData = $xeInput.reactData;
|
|
827
|
+
var max = props.max;
|
|
828
|
+
var inputValue = reactData.inputValue;
|
|
829
|
+
var isNumType = $xeInput.computeIsNumType;
|
|
830
|
+
var numValue = $xeInput.computeNumValue;
|
|
831
|
+
// 当有值时再进行判断
|
|
832
|
+
if ((inputValue || inputValue === 0) && isNumType && max !== null) {
|
|
833
|
+
return numValue >= _xeUtils.default.toNumber(max);
|
|
834
|
+
}
|
|
835
|
+
return false;
|
|
836
|
+
}
|
|
837
|
+
}),
|
|
838
|
+
methods: {
|
|
839
|
+
//
|
|
840
|
+
// Method
|
|
841
|
+
//
|
|
842
|
+
dispatchEvent: function dispatchEvent(type, params, evnt) {
|
|
843
|
+
var $xeInput = this;
|
|
844
|
+
$xeInput.$emit(type, (0, _ui.createEvent)(evnt, {
|
|
845
|
+
$input: $xeInput
|
|
846
|
+
}, params));
|
|
847
|
+
},
|
|
848
|
+
focus: function focus() {
|
|
849
|
+
var $xeInput = this;
|
|
850
|
+
var reactData = $xeInput.reactData;
|
|
851
|
+
var inputElem = $xeInput.$refs.refInputTarget;
|
|
852
|
+
reactData.isActivated = true;
|
|
853
|
+
inputElem.focus();
|
|
854
|
+
return $xeInput.$nextTick();
|
|
855
|
+
},
|
|
856
|
+
blur: function blur() {
|
|
857
|
+
var $xeInput = this;
|
|
858
|
+
var reactData = $xeInput.reactData;
|
|
859
|
+
var inputElem = $xeInput.$refs.refInputTarget;
|
|
860
|
+
inputElem.blur();
|
|
861
|
+
reactData.isActivated = false;
|
|
862
|
+
return $xeInput.$nextTick();
|
|
863
|
+
},
|
|
864
|
+
select: function select() {
|
|
865
|
+
var $xeInput = this;
|
|
866
|
+
var reactData = $xeInput.reactData;
|
|
867
|
+
var inputElem = $xeInput.$refs.refInputTarget;
|
|
868
|
+
inputElem.select();
|
|
869
|
+
reactData.isActivated = false;
|
|
870
|
+
return $xeInput.$nextTick();
|
|
871
|
+
},
|
|
872
|
+
parseDate: function parseDate(value, format) {
|
|
873
|
+
var $xeInput = this;
|
|
874
|
+
var props = $xeInput;
|
|
875
|
+
var type = props.type;
|
|
876
|
+
if (type === 'time') {
|
|
877
|
+
return (0, _util.toStringTimeDate)(value);
|
|
878
|
+
}
|
|
879
|
+
return _xeUtils.default.toStringDate(value, format);
|
|
880
|
+
},
|
|
881
|
+
getNumberValue: function getNumberValue(val) {
|
|
882
|
+
var $xeInput = this;
|
|
883
|
+
var props = $xeInput;
|
|
884
|
+
var type = props.type,
|
|
885
|
+
exponential = props.exponential;
|
|
886
|
+
var inpMaxLength = $xeInput.computeInpMaxLength;
|
|
887
|
+
var digitsValue = $xeInput.computeDigitsValue;
|
|
888
|
+
var restVal = type === 'float' ? (0, _util2.toFloatValueFixed)(val, digitsValue) : _xeUtils.default.toValueString(val);
|
|
889
|
+
if (exponential && (val === restVal || _xeUtils.default.toValueString(val).toLowerCase() === _xeUtils.default.toNumber(restVal).toExponential())) {
|
|
890
|
+
return val;
|
|
891
|
+
}
|
|
892
|
+
return restVal.slice(0, inpMaxLength);
|
|
893
|
+
},
|
|
894
|
+
triggerEvent: function triggerEvent(evnt) {
|
|
895
|
+
var $xeInput = this;
|
|
896
|
+
var reactData = $xeInput.reactData;
|
|
897
|
+
var inputValue = reactData.inputValue;
|
|
898
|
+
$xeInput.dispatchEvent(evnt.type, {
|
|
899
|
+
value: inputValue
|
|
900
|
+
}, evnt);
|
|
901
|
+
},
|
|
902
|
+
emitModel: function emitModel(value, evnt) {
|
|
903
|
+
var $xeInput = this;
|
|
904
|
+
var props = $xeInput;
|
|
905
|
+
var reactData = $xeInput.reactData;
|
|
906
|
+
var $xeForm = $xeInput.$xeForm;
|
|
907
|
+
var formItemInfo = $xeInput.formItemInfo;
|
|
908
|
+
reactData.inputValue = value;
|
|
909
|
+
$xeInput.$emit('modelValue', value);
|
|
910
|
+
$xeInput.dispatchEvent('input', {
|
|
911
|
+
value: value
|
|
912
|
+
}, evnt);
|
|
913
|
+
if (_xeUtils.default.toValueString(props.value) !== value) {
|
|
914
|
+
$xeInput.dispatchEvent('change', {
|
|
915
|
+
value: value
|
|
916
|
+
}, evnt);
|
|
917
|
+
// 自动更新校验状态
|
|
918
|
+
if ($xeForm && formItemInfo) {
|
|
919
|
+
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
},
|
|
923
|
+
emitInputEvent: function emitInputEvent(value, evnt) {
|
|
924
|
+
var $xeInput = this;
|
|
925
|
+
var reactData = $xeInput.reactData;
|
|
926
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
927
|
+
var inpImmediate = $xeInput.computeInpImmediate;
|
|
928
|
+
reactData.inputValue = value;
|
|
929
|
+
if (!isDatePickerType) {
|
|
930
|
+
if (inpImmediate) {
|
|
931
|
+
$xeInput.emitModel(value, evnt);
|
|
932
|
+
} else {
|
|
933
|
+
$xeInput.dispatchEvent('input', {
|
|
934
|
+
value: value
|
|
935
|
+
}, evnt);
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
},
|
|
939
|
+
inputEvent: function inputEvent(evnt) {
|
|
940
|
+
var $xeInput = this;
|
|
941
|
+
var inputElem = evnt.target;
|
|
942
|
+
var value = inputElem.value;
|
|
943
|
+
$xeInput.emitInputEvent(value, evnt);
|
|
944
|
+
},
|
|
945
|
+
changeEvent: function changeEvent(evnt) {
|
|
946
|
+
var $xeInput = this;
|
|
947
|
+
var inpImmediate = $xeInput.computeInpImmediate;
|
|
948
|
+
if (!inpImmediate) {
|
|
949
|
+
$xeInput.triggerEvent(evnt);
|
|
950
|
+
}
|
|
951
|
+
},
|
|
952
|
+
focusEvent: function focusEvent(evnt) {
|
|
953
|
+
var $xeInput = this;
|
|
954
|
+
var reactData = $xeInput.reactData;
|
|
955
|
+
reactData.isActivated = true;
|
|
956
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
957
|
+
if (isDatePickerType) {
|
|
958
|
+
$xeInput.datePickerOpenEvent(evnt);
|
|
959
|
+
}
|
|
960
|
+
$xeInput.triggerEvent(evnt);
|
|
961
|
+
},
|
|
962
|
+
clickPrefixEvent: function clickPrefixEvent(evnt) {
|
|
963
|
+
var $xeInput = this;
|
|
964
|
+
var reactData = $xeInput.reactData;
|
|
965
|
+
var isDisabled = $xeInput.computeIsDisabled;
|
|
966
|
+
if (!isDisabled) {
|
|
967
|
+
var inputValue = reactData.inputValue;
|
|
968
|
+
$xeInput.dispatchEvent('prefix-click', {
|
|
969
|
+
value: inputValue
|
|
970
|
+
}, evnt);
|
|
971
|
+
}
|
|
972
|
+
},
|
|
973
|
+
hidePanel: function hidePanel() {
|
|
974
|
+
var $xeInput = this;
|
|
975
|
+
var reactData = $xeInput.reactData;
|
|
976
|
+
var internalData = $xeInput.internalData;
|
|
977
|
+
return new Promise(function (resolve) {
|
|
978
|
+
reactData.visiblePanel = false;
|
|
979
|
+
internalData.hpTimeout = window.setTimeout(function () {
|
|
980
|
+
reactData.isAniVisible = false;
|
|
981
|
+
resolve();
|
|
982
|
+
}, 350);
|
|
983
|
+
});
|
|
984
|
+
},
|
|
985
|
+
clearValueEvent: function clearValueEvent(evnt, value) {
|
|
986
|
+
var $xeInput = this;
|
|
987
|
+
var props = $xeInput;
|
|
988
|
+
var type = props.type;
|
|
989
|
+
var isNumType = $xeInput.computeIsNumType;
|
|
990
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
991
|
+
if (isDatePickerType) {
|
|
992
|
+
$xeInput.hidePanel();
|
|
993
|
+
}
|
|
994
|
+
if (isNumType || ['text', 'search', 'password'].indexOf(type) > -1) {
|
|
995
|
+
$xeInput.focus();
|
|
996
|
+
}
|
|
997
|
+
$xeInput.emitModel('', evnt);
|
|
998
|
+
$xeInput.dispatchEvent('clear', {
|
|
999
|
+
value: value
|
|
1000
|
+
}, evnt);
|
|
1001
|
+
},
|
|
1002
|
+
clickSuffixEvent: function clickSuffixEvent(evnt) {
|
|
1003
|
+
var $xeInput = this;
|
|
1004
|
+
var reactData = $xeInput.reactData;
|
|
1005
|
+
var isDisabled = $xeInput.computeIsDisabled;
|
|
1006
|
+
if (!isDisabled) {
|
|
1007
|
+
var inputValue = reactData.inputValue;
|
|
1008
|
+
$xeInput.dispatchEvent('suffix-click', {
|
|
1009
|
+
value: inputValue
|
|
1010
|
+
}, evnt);
|
|
1011
|
+
}
|
|
1012
|
+
},
|
|
1013
|
+
dateParseValue: function dateParseValue(value) {
|
|
1014
|
+
var $xeInput = this;
|
|
1015
|
+
var props = $xeInput;
|
|
1016
|
+
var reactData = $xeInput.reactData;
|
|
1017
|
+
var type = props.type;
|
|
1018
|
+
var dateLabelFormat = $xeInput.computeDateLabelFormat;
|
|
1019
|
+
var dateValueFormat = $xeInput.computeDateValueFormat;
|
|
1020
|
+
var firstDayOfWeek = $xeInput.computeFirstDayOfWeek;
|
|
1021
|
+
var dValue = null;
|
|
1022
|
+
var dLabel = '';
|
|
1023
|
+
if (value) {
|
|
1024
|
+
dValue = $xeInput.parseDate(value, dateValueFormat);
|
|
1025
|
+
}
|
|
1026
|
+
if (_xeUtils.default.isValidDate(dValue)) {
|
|
1027
|
+
dLabel = _xeUtils.default.toDateString(dValue, dateLabelFormat, {
|
|
1028
|
+
firstDay: firstDayOfWeek
|
|
1029
|
+
});
|
|
1030
|
+
// 由于年份和第几周是冲突的行为,所以需要特殊处理,判断是否跨年
|
|
1031
|
+
if (dateLabelFormat && type === 'week') {
|
|
1032
|
+
var firstWeekDate = _xeUtils.default.getWhatWeek(dValue, 0, firstDayOfWeek, firstDayOfWeek);
|
|
1033
|
+
if (firstWeekDate.getFullYear() < dValue.getFullYear()) {
|
|
1034
|
+
var yyIndex = dateLabelFormat.indexOf('yyyy');
|
|
1035
|
+
if (yyIndex > -1) {
|
|
1036
|
+
var yyNum = Number(dLabel.substring(yyIndex, yyIndex + 4));
|
|
1037
|
+
if (yyNum && !isNaN(yyNum)) {
|
|
1038
|
+
dLabel = dLabel.replace("".concat(yyNum), "".concat(yyNum - 1));
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
} else {
|
|
1044
|
+
dValue = null;
|
|
1045
|
+
}
|
|
1046
|
+
reactData.datePanelValue = dValue;
|
|
1047
|
+
reactData.datePanelLabel = dLabel;
|
|
1048
|
+
},
|
|
1049
|
+
/**
|
|
1050
|
+
* 值变化时处理
|
|
1051
|
+
*/
|
|
1052
|
+
changeValue: function changeValue() {
|
|
1053
|
+
var $xeInput = this;
|
|
1054
|
+
var props = $xeInput;
|
|
1055
|
+
var reactData = $xeInput.reactData;
|
|
1056
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
1057
|
+
var inputValue = reactData.inputValue;
|
|
1058
|
+
if (isDatePickerType) {
|
|
1059
|
+
$xeInput.dateParseValue(inputValue);
|
|
1060
|
+
reactData.inputValue = props.multiple ? $xeInput.computeDateMultipleLabel : reactData.datePanelLabel;
|
|
1061
|
+
}
|
|
1062
|
+
},
|
|
1063
|
+
/**
|
|
1064
|
+
* 检查初始值
|
|
1065
|
+
*/
|
|
1066
|
+
initValue: function initValue() {
|
|
1067
|
+
var $xeInput = this;
|
|
1068
|
+
var props = $xeInput;
|
|
1069
|
+
var reactData = $xeInput.reactData;
|
|
1070
|
+
var type = props.type;
|
|
1071
|
+
var inputValue = reactData.inputValue;
|
|
1072
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
1073
|
+
var digitsValue = $xeInput.computeDigitsValue;
|
|
1074
|
+
if (isDatePickerType) {
|
|
1075
|
+
$xeInput.changeValue();
|
|
1076
|
+
} else if (type === 'float') {
|
|
1077
|
+
if (inputValue) {
|
|
1078
|
+
var validValue = (0, _util2.toFloatValueFixed)(inputValue, digitsValue);
|
|
1079
|
+
if (inputValue !== validValue) {
|
|
1080
|
+
$xeInput.emitModel(validValue, {
|
|
1081
|
+
type: 'init'
|
|
1082
|
+
});
|
|
1083
|
+
}
|
|
1084
|
+
}
|
|
1085
|
+
}
|
|
1086
|
+
},
|
|
1087
|
+
validMaxNum: function validMaxNum(num) {
|
|
1088
|
+
var $xeInput = this;
|
|
1089
|
+
var props = $xeInput;
|
|
1090
|
+
return props.max === null || _xeUtils.default.toNumber(num) <= _xeUtils.default.toNumber(props.max);
|
|
1091
|
+
},
|
|
1092
|
+
validMinNum: function validMinNum(num) {
|
|
1093
|
+
var $xeInput = this;
|
|
1094
|
+
var props = $xeInput;
|
|
1095
|
+
return props.min === null || _xeUtils.default.toNumber(num) >= _xeUtils.default.toNumber(props.min);
|
|
1096
|
+
},
|
|
1097
|
+
dateRevert: function dateRevert() {
|
|
1098
|
+
var $xeInput = this;
|
|
1099
|
+
var props = $xeInput;
|
|
1100
|
+
var reactData = $xeInput.reactData;
|
|
1101
|
+
reactData.inputValue = props.multiple ? $xeInput.computeDateMultipleLabel : reactData.datePanelLabel;
|
|
1102
|
+
},
|
|
1103
|
+
dateCheckMonth: function dateCheckMonth(date) {
|
|
1104
|
+
var $xeInput = this;
|
|
1105
|
+
var reactData = $xeInput.reactData;
|
|
1106
|
+
var month = _xeUtils.default.getWhatMonth(date, 0, 'first');
|
|
1107
|
+
if (!_xeUtils.default.isEqual(month, reactData.selectMonth)) {
|
|
1108
|
+
reactData.selectMonth = month;
|
|
1109
|
+
}
|
|
1110
|
+
},
|
|
1111
|
+
dateChange: function dateChange(date) {
|
|
1112
|
+
var $xeInput = this;
|
|
1113
|
+
var props = $xeInput;
|
|
1114
|
+
var reactData = $xeInput.reactData;
|
|
1115
|
+
var multiple = props.multiple;
|
|
1116
|
+
var datetimePanelValue = reactData.datetimePanelValue;
|
|
1117
|
+
var isDateTimeType = $xeInput.computeIsDateTimeType;
|
|
1118
|
+
var dateValueFormat = $xeInput.computeDateValueFormat;
|
|
1119
|
+
var firstDayOfWeek = $xeInput.computeFirstDayOfWeek;
|
|
1120
|
+
if (props.type === 'week') {
|
|
1121
|
+
var sWeek = _xeUtils.default.toNumber(props.selectDay);
|
|
1122
|
+
date = _xeUtils.default.getWhatWeek(date, 0, sWeek, firstDayOfWeek);
|
|
1123
|
+
} else if (isDateTimeType) {
|
|
1124
|
+
date.setHours(datetimePanelValue.getHours());
|
|
1125
|
+
date.setMinutes(datetimePanelValue.getMinutes());
|
|
1126
|
+
date.setSeconds(datetimePanelValue.getSeconds());
|
|
1127
|
+
}
|
|
1128
|
+
var inpVal = _xeUtils.default.toDateString(date, dateValueFormat, {
|
|
1129
|
+
firstDay: firstDayOfWeek
|
|
1130
|
+
});
|
|
1131
|
+
$xeInput.dateCheckMonth(date);
|
|
1132
|
+
if (multiple) {
|
|
1133
|
+
// 如果为多选
|
|
1134
|
+
var dateMultipleValue = $xeInput.computeDateMultipleValue;
|
|
1135
|
+
if (isDateTimeType) {
|
|
1136
|
+
// 如果是datetime特殊类型
|
|
1137
|
+
var dateListValue = _toConsumableArray($xeInput.computeDateListValue);
|
|
1138
|
+
var datetimeRest = [];
|
|
1139
|
+
var eqIndex = _xeUtils.default.findIndexOf(dateListValue, function (val) {
|
|
1140
|
+
return _xeUtils.default.isDateSame(date, val, 'yyyyMMdd');
|
|
1141
|
+
});
|
|
1142
|
+
if (eqIndex === -1) {
|
|
1143
|
+
dateListValue.push(date);
|
|
1144
|
+
} else {
|
|
1145
|
+
dateListValue.splice(eqIndex, 1);
|
|
1146
|
+
}
|
|
1147
|
+
dateListValue.forEach(function (item) {
|
|
1148
|
+
if (item) {
|
|
1149
|
+
item.setHours(datetimePanelValue.getHours());
|
|
1150
|
+
item.setMinutes(datetimePanelValue.getMinutes());
|
|
1151
|
+
item.setSeconds(datetimePanelValue.getSeconds());
|
|
1152
|
+
datetimeRest.push(item);
|
|
1153
|
+
}
|
|
1154
|
+
});
|
|
1155
|
+
$xeInput.emitModel(datetimeRest.map(function (date) {
|
|
1156
|
+
return _xeUtils.default.toDateString(date, dateValueFormat);
|
|
1157
|
+
}).join(','), {
|
|
1158
|
+
type: 'update'
|
|
1159
|
+
});
|
|
1160
|
+
} else {
|
|
1161
|
+
// 如果是日期类型
|
|
1162
|
+
if (dateMultipleValue.some(function (val) {
|
|
1163
|
+
return _xeUtils.default.isEqual(val, inpVal);
|
|
1164
|
+
})) {
|
|
1165
|
+
$xeInput.emitModel(dateMultipleValue.filter(function (val) {
|
|
1166
|
+
return !_xeUtils.default.isEqual(val, inpVal);
|
|
1167
|
+
}).join(','), {
|
|
1168
|
+
type: 'update'
|
|
1169
|
+
});
|
|
1170
|
+
} else {
|
|
1171
|
+
$xeInput.emitModel(dateMultipleValue.concat([inpVal]).join(','), {
|
|
1172
|
+
type: 'update'
|
|
1173
|
+
});
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
} else {
|
|
1177
|
+
// 如果为单选
|
|
1178
|
+
if (!_xeUtils.default.isEqual(props.value, inpVal)) {
|
|
1179
|
+
$xeInput.emitModel(inpVal, {
|
|
1180
|
+
type: 'update'
|
|
1181
|
+
});
|
|
1182
|
+
}
|
|
1183
|
+
}
|
|
1184
|
+
},
|
|
1185
|
+
afterCheckValue: function afterCheckValue() {
|
|
1186
|
+
var $xeInput = this;
|
|
1187
|
+
var props = $xeInput;
|
|
1188
|
+
var reactData = $xeInput.reactData;
|
|
1189
|
+
var type = props.type,
|
|
1190
|
+
min = props.min,
|
|
1191
|
+
max = props.max,
|
|
1192
|
+
exponential = props.exponential;
|
|
1193
|
+
var inputValue = reactData.inputValue,
|
|
1194
|
+
datetimePanelValue = reactData.datetimePanelValue;
|
|
1195
|
+
var isNumType = $xeInput.computeIsNumType;
|
|
1196
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
1197
|
+
var dateLabelFormat = $xeInput.computeDateLabelFormat;
|
|
1198
|
+
var inputReadonly = $xeInput.computeInputReadonly;
|
|
1199
|
+
if (!inputReadonly) {
|
|
1200
|
+
if (isNumType) {
|
|
1201
|
+
if (inputValue) {
|
|
1202
|
+
var inpNumVal = type === 'integer' ? _xeUtils.default.toInteger((0, _util2.handleNumber)(inputValue)) : _xeUtils.default.toNumber((0, _util2.handleNumber)(inputValue));
|
|
1203
|
+
if (!$xeInput.validMinNum(inpNumVal)) {
|
|
1204
|
+
inpNumVal = min;
|
|
1205
|
+
} else if (!$xeInput.validMaxNum(inpNumVal)) {
|
|
1206
|
+
inpNumVal = max;
|
|
1207
|
+
}
|
|
1208
|
+
if (exponential) {
|
|
1209
|
+
var inpStringVal = _xeUtils.default.toValueString(inputValue).toLowerCase();
|
|
1210
|
+
if (inpStringVal === _xeUtils.default.toNumber(inpNumVal).toExponential()) {
|
|
1211
|
+
inpNumVal = inpStringVal;
|
|
1212
|
+
}
|
|
1213
|
+
}
|
|
1214
|
+
$xeInput.emitModel($xeInput.getNumberValue(inpNumVal), {
|
|
1215
|
+
type: 'check'
|
|
1216
|
+
});
|
|
1217
|
+
}
|
|
1218
|
+
} else if (isDatePickerType) {
|
|
1219
|
+
if (inputValue) {
|
|
1220
|
+
var inpDateVal = $xeInput.parseDate(inputValue, dateLabelFormat);
|
|
1221
|
+
if (_xeUtils.default.isValidDate(inpDateVal)) {
|
|
1222
|
+
if (type === 'time') {
|
|
1223
|
+
inpDateVal = _xeUtils.default.toDateString(inpDateVal, dateLabelFormat);
|
|
1224
|
+
if (inputValue !== inpDateVal) {
|
|
1225
|
+
$xeInput.emitModel(inpDateVal, {
|
|
1226
|
+
type: 'check'
|
|
1227
|
+
});
|
|
1228
|
+
}
|
|
1229
|
+
reactData.inputValue = inpDateVal;
|
|
1230
|
+
} else {
|
|
1231
|
+
var isChange = false;
|
|
1232
|
+
var firstDayOfWeek = $xeInput.computeFirstDayOfWeek;
|
|
1233
|
+
if (type === 'datetime') {
|
|
1234
|
+
var dateValue = $xeInput.computeDateValue;
|
|
1235
|
+
if (inputValue !== _xeUtils.default.toDateString(dateValue, dateLabelFormat) || inputValue !== _xeUtils.default.toDateString(inpDateVal, dateLabelFormat)) {
|
|
1236
|
+
isChange = true;
|
|
1237
|
+
datetimePanelValue.setHours(inpDateVal.getHours());
|
|
1238
|
+
datetimePanelValue.setMinutes(inpDateVal.getMinutes());
|
|
1239
|
+
datetimePanelValue.setSeconds(inpDateVal.getSeconds());
|
|
1240
|
+
}
|
|
1241
|
+
} else {
|
|
1242
|
+
isChange = true;
|
|
1243
|
+
}
|
|
1244
|
+
reactData.inputValue = _xeUtils.default.toDateString(inpDateVal, dateLabelFormat, {
|
|
1245
|
+
firstDay: firstDayOfWeek
|
|
1246
|
+
});
|
|
1247
|
+
if (isChange) {
|
|
1248
|
+
$xeInput.dateChange(inpDateVal);
|
|
1249
|
+
}
|
|
1250
|
+
}
|
|
1251
|
+
} else {
|
|
1252
|
+
$xeInput.dateRevert();
|
|
1253
|
+
}
|
|
1254
|
+
} else {
|
|
1255
|
+
$xeInput.emitModel('', {
|
|
1256
|
+
type: 'check'
|
|
1257
|
+
});
|
|
1258
|
+
}
|
|
1259
|
+
}
|
|
1260
|
+
}
|
|
1261
|
+
},
|
|
1262
|
+
blurEvent: function blurEvent(evnt) {
|
|
1263
|
+
var $xeInput = this;
|
|
1264
|
+
var reactData = $xeInput.reactData;
|
|
1265
|
+
var inputValue = reactData.inputValue;
|
|
1266
|
+
var inpImmediate = $xeInput.computeInpImmediate;
|
|
1267
|
+
if (!inpImmediate) {
|
|
1268
|
+
$xeInput.emitModel(inputValue, evnt);
|
|
1269
|
+
}
|
|
1270
|
+
$xeInput.afterCheckValue();
|
|
1271
|
+
if (!reactData.visiblePanel) {
|
|
1272
|
+
reactData.isActivated = false;
|
|
1273
|
+
}
|
|
1274
|
+
$xeInput.dispatchEvent('blur', {
|
|
1275
|
+
value: inputValue
|
|
1276
|
+
}, evnt);
|
|
1277
|
+
},
|
|
1278
|
+
// 密码
|
|
1279
|
+
passwordToggleEvent: function passwordToggleEvent(evnt) {
|
|
1280
|
+
var $xeInput = this;
|
|
1281
|
+
var reactData = $xeInput.reactData;
|
|
1282
|
+
var showPwd = reactData.showPwd;
|
|
1283
|
+
var isDisabled = $xeInput.computeIsDisabled;
|
|
1284
|
+
var isReadonly = $xeInput.computeIsReadonly;
|
|
1285
|
+
if (!isDisabled && !isReadonly) {
|
|
1286
|
+
reactData.showPwd = !showPwd;
|
|
1287
|
+
}
|
|
1288
|
+
$xeInput.dispatchEvent('toggle-visible', {
|
|
1289
|
+
visible: reactData.showPwd
|
|
1290
|
+
}, evnt);
|
|
1291
|
+
},
|
|
1292
|
+
// 搜索
|
|
1293
|
+
searchEvent: function searchEvent(evnt) {
|
|
1294
|
+
var $xeInput = this;
|
|
1295
|
+
$xeInput.dispatchEvent('search-click', {}, evnt);
|
|
1296
|
+
},
|
|
1297
|
+
// 数值
|
|
1298
|
+
numberChange: function numberChange(isPlus, evnt) {
|
|
1299
|
+
var $xeInput = this;
|
|
1300
|
+
var props = $xeInput;
|
|
1301
|
+
var reactData = $xeInput.reactData;
|
|
1302
|
+
var min = props.min,
|
|
1303
|
+
max = props.max,
|
|
1304
|
+
type = props.type;
|
|
1305
|
+
var inputValue = reactData.inputValue;
|
|
1306
|
+
var stepValue = $xeInput.computeStepValue;
|
|
1307
|
+
var numValue = type === 'integer' ? _xeUtils.default.toInteger((0, _util2.handleNumber)(inputValue)) : _xeUtils.default.toNumber((0, _util2.handleNumber)(inputValue));
|
|
1308
|
+
var newValue = isPlus ? _xeUtils.default.add(numValue, stepValue) : _xeUtils.default.subtract(numValue, stepValue);
|
|
1309
|
+
var restNum;
|
|
1310
|
+
if (!$xeInput.validMinNum(newValue)) {
|
|
1311
|
+
restNum = min;
|
|
1312
|
+
} else if (!$xeInput.validMaxNum(newValue)) {
|
|
1313
|
+
restNum = max;
|
|
1314
|
+
} else {
|
|
1315
|
+
restNum = newValue;
|
|
1316
|
+
}
|
|
1317
|
+
$xeInput.emitInputEvent($xeInput.getNumberValue(restNum), evnt);
|
|
1318
|
+
},
|
|
1319
|
+
numberNextEvent: function numberNextEvent(evnt) {
|
|
1320
|
+
var $xeInput = this;
|
|
1321
|
+
var isDisabled = $xeInput.computeIsDisabled;
|
|
1322
|
+
var isReadonly = $xeInput.computeIsReadonly;
|
|
1323
|
+
var isDisabledSubtractNumber = $xeInput.computeIsDisabledSubtractNumber;
|
|
1324
|
+
$xeInput.numberStopDown();
|
|
1325
|
+
if (!isDisabled && !isReadonly && !isDisabledSubtractNumber) {
|
|
1326
|
+
$xeInput.numberChange(false, evnt);
|
|
1327
|
+
}
|
|
1328
|
+
$xeInput.dispatchEvent('next-number', {}, evnt);
|
|
1329
|
+
},
|
|
1330
|
+
numberDownNextEvent: function numberDownNextEvent(evnt) {
|
|
1331
|
+
var $xeInput = this;
|
|
1332
|
+
var internalData = $xeInput.internalData;
|
|
1333
|
+
internalData.dnTimeout = window.setTimeout(function () {
|
|
1334
|
+
$xeInput.numberNextEvent(evnt);
|
|
1335
|
+
$xeInput.numberDownNextEvent(evnt);
|
|
1336
|
+
}, 60);
|
|
1337
|
+
},
|
|
1338
|
+
numberPrevEvent: function numberPrevEvent(evnt) {
|
|
1339
|
+
var $xeInput = this;
|
|
1340
|
+
var isDisabled = $xeInput.computeIsDisabled;
|
|
1341
|
+
var isReadonly = $xeInput.computeIsReadonly;
|
|
1342
|
+
var isDisabledAddNumber = $xeInput.computeIsDisabledAddNumber;
|
|
1343
|
+
$xeInput.numberStopDown();
|
|
1344
|
+
if (!isDisabled && !isReadonly && !isDisabledAddNumber) {
|
|
1345
|
+
$xeInput.numberChange(true, evnt);
|
|
1346
|
+
}
|
|
1347
|
+
$xeInput.dispatchEvent('prev-number', {}, evnt);
|
|
1348
|
+
},
|
|
1349
|
+
numberKeydownEvent: function numberKeydownEvent(evnt) {
|
|
1350
|
+
var $xeInput = this;
|
|
1351
|
+
var isUpArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_UP);
|
|
1352
|
+
var isDwArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);
|
|
1353
|
+
if (isUpArrow || isDwArrow) {
|
|
1354
|
+
evnt.preventDefault();
|
|
1355
|
+
if (isUpArrow) {
|
|
1356
|
+
$xeInput.numberPrevEvent(evnt);
|
|
1357
|
+
} else {
|
|
1358
|
+
$xeInput.numberNextEvent(evnt);
|
|
1359
|
+
}
|
|
1360
|
+
}
|
|
1361
|
+
},
|
|
1362
|
+
keydownEvent: function keydownEvent(evnt) {
|
|
1363
|
+
var $xeInput = this;
|
|
1364
|
+
var props = $xeInput;
|
|
1365
|
+
var exponential = props.exponential,
|
|
1366
|
+
controls = props.controls;
|
|
1367
|
+
var isNumType = $xeInput.computeIsNumType;
|
|
1368
|
+
if (isNumType) {
|
|
1369
|
+
var isCtrlKey = evnt.ctrlKey;
|
|
1370
|
+
var isShiftKey = evnt.shiftKey;
|
|
1371
|
+
var isAltKey = evnt.altKey;
|
|
1372
|
+
var keyCode = evnt.keyCode;
|
|
1373
|
+
var isEsc = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ESCAPE);
|
|
1374
|
+
var isUpArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_UP);
|
|
1375
|
+
var isDwArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);
|
|
1376
|
+
if (!isCtrlKey && !isShiftKey && !isAltKey && (_ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.SPACEBAR) || (!exponential || keyCode !== 69) && keyCode >= 65 && keyCode <= 90 || keyCode >= 186 && keyCode <= 188 || keyCode >= 191)) {
|
|
1377
|
+
evnt.preventDefault();
|
|
1378
|
+
}
|
|
1379
|
+
if (isEsc) {
|
|
1380
|
+
$xeInput.afterCheckValue();
|
|
1381
|
+
} else if (isUpArrow || isDwArrow) {
|
|
1382
|
+
if (controls) {
|
|
1383
|
+
$xeInput.numberKeydownEvent(evnt);
|
|
1384
|
+
}
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
$xeInput.triggerEvent(evnt);
|
|
1388
|
+
},
|
|
1389
|
+
keyupEvent: function keyupEvent(evnt) {
|
|
1390
|
+
var $xeInput = this;
|
|
1391
|
+
$xeInput.triggerEvent(evnt);
|
|
1392
|
+
},
|
|
1393
|
+
// 数值
|
|
1394
|
+
numberStopDown: function numberStopDown() {
|
|
1395
|
+
var $xeInput = this;
|
|
1396
|
+
var internalData = $xeInput.internalData;
|
|
1397
|
+
var dnTimeout = internalData.dnTimeout;
|
|
1398
|
+
if (dnTimeout) {
|
|
1399
|
+
clearTimeout(dnTimeout);
|
|
1400
|
+
internalData.dnTimeout = undefined;
|
|
1401
|
+
}
|
|
1402
|
+
},
|
|
1403
|
+
numberDownPrevEvent: function numberDownPrevEvent(evnt) {
|
|
1404
|
+
var $xeInput = this;
|
|
1405
|
+
var internalData = $xeInput.internalData;
|
|
1406
|
+
internalData.dnTimeout = window.setTimeout(function () {
|
|
1407
|
+
$xeInput.numberPrevEvent(evnt);
|
|
1408
|
+
$xeInput.numberDownPrevEvent(evnt);
|
|
1409
|
+
}, 60);
|
|
1410
|
+
},
|
|
1411
|
+
numberMousedownEvent: function numberMousedownEvent(evnt) {
|
|
1412
|
+
var $xeInput = this;
|
|
1413
|
+
var internalData = $xeInput.internalData;
|
|
1414
|
+
$xeInput.numberStopDown();
|
|
1415
|
+
if (evnt.button === 0) {
|
|
1416
|
+
var isPrevNumber = (0, _dom.hasClass)(evnt.currentTarget, 'is--prev');
|
|
1417
|
+
if (isPrevNumber) {
|
|
1418
|
+
$xeInput.numberPrevEvent(evnt);
|
|
1419
|
+
} else {
|
|
1420
|
+
$xeInput.numberNextEvent(evnt);
|
|
1421
|
+
}
|
|
1422
|
+
internalData.dnTimeout = window.setTimeout(function () {
|
|
1423
|
+
if (isPrevNumber) {
|
|
1424
|
+
$xeInput.numberDownPrevEvent(evnt);
|
|
1425
|
+
} else {
|
|
1426
|
+
$xeInput.numberDownNextEvent(evnt);
|
|
1427
|
+
}
|
|
1428
|
+
}, 500);
|
|
1429
|
+
}
|
|
1430
|
+
},
|
|
1431
|
+
wheelEvent: function wheelEvent(evnt) {
|
|
1432
|
+
var $xeInput = this;
|
|
1433
|
+
var props = $xeInput;
|
|
1434
|
+
var reactData = $xeInput.reactData;
|
|
1435
|
+
var isNumType = $xeInput.computeIsNumType;
|
|
1436
|
+
if (isNumType && props.controls) {
|
|
1437
|
+
if (reactData.isActivated) {
|
|
1438
|
+
var delta = evnt.deltaY;
|
|
1439
|
+
if (delta > 0) {
|
|
1440
|
+
$xeInput.numberNextEvent(evnt);
|
|
1441
|
+
} else if (delta < 0) {
|
|
1442
|
+
$xeInput.numberPrevEvent(evnt);
|
|
1443
|
+
}
|
|
1444
|
+
evnt.preventDefault();
|
|
1445
|
+
}
|
|
1446
|
+
}
|
|
1447
|
+
$xeInput.triggerEvent(evnt);
|
|
1448
|
+
},
|
|
1449
|
+
// 日期
|
|
1450
|
+
dateMonthHandle: function dateMonthHandle(date, offsetMonth) {
|
|
1451
|
+
var $xeInput = this;
|
|
1452
|
+
var reactData = $xeInput.reactData;
|
|
1453
|
+
reactData.selectMonth = _xeUtils.default.getWhatMonth(date, offsetMonth, 'first');
|
|
1454
|
+
},
|
|
1455
|
+
dateNowHandle: function dateNowHandle() {
|
|
1456
|
+
var $xeInput = this;
|
|
1457
|
+
var reactData = $xeInput.reactData;
|
|
1458
|
+
var currentDate = _xeUtils.default.getWhatDay(Date.now(), 0, 'first');
|
|
1459
|
+
reactData.currentDate = currentDate;
|
|
1460
|
+
$xeInput.dateMonthHandle(currentDate, 0);
|
|
1461
|
+
},
|
|
1462
|
+
dateToggleTypeEvent: function dateToggleTypeEvent() {
|
|
1463
|
+
var $xeInput = this;
|
|
1464
|
+
var reactData = $xeInput.reactData;
|
|
1465
|
+
var datePanelType = reactData.datePanelType;
|
|
1466
|
+
if (datePanelType === 'month' || datePanelType === 'quarter') {
|
|
1467
|
+
datePanelType = 'year';
|
|
1468
|
+
} else {
|
|
1469
|
+
datePanelType = 'month';
|
|
1470
|
+
}
|
|
1471
|
+
reactData.datePanelType = datePanelType;
|
|
1472
|
+
},
|
|
1473
|
+
datePrevEvent: function datePrevEvent(evnt) {
|
|
1474
|
+
var $xeInput = this;
|
|
1475
|
+
var props = $xeInput;
|
|
1476
|
+
var reactData = $xeInput.reactData;
|
|
1477
|
+
var internalData = $xeInput.internalData;
|
|
1478
|
+
var type = props.type;
|
|
1479
|
+
var datePanelType = reactData.datePanelType,
|
|
1480
|
+
selectMonth = reactData.selectMonth;
|
|
1481
|
+
var yearSize = internalData.yearSize;
|
|
1482
|
+
var isDisabledPrevDateBtn = $xeInput.computeIsDisabledPrevDateBtn;
|
|
1483
|
+
if (!isDisabledPrevDateBtn) {
|
|
1484
|
+
if (type === 'year') {
|
|
1485
|
+
reactData.selectMonth = _xeUtils.default.getWhatYear(selectMonth, -yearSize, 'first');
|
|
1486
|
+
} else if (type === 'month' || type === 'quarter') {
|
|
1487
|
+
if (datePanelType === 'year') {
|
|
1488
|
+
reactData.selectMonth = _xeUtils.default.getWhatYear(selectMonth, -yearSize, 'first');
|
|
1489
|
+
} else {
|
|
1490
|
+
reactData.selectMonth = _xeUtils.default.getWhatYear(selectMonth, -1, 'first');
|
|
1491
|
+
}
|
|
1492
|
+
} else {
|
|
1493
|
+
if (datePanelType === 'year') {
|
|
1494
|
+
reactData.selectMonth = _xeUtils.default.getWhatYear(selectMonth, -yearSize, 'first');
|
|
1495
|
+
} else if (datePanelType === 'month') {
|
|
1496
|
+
reactData.selectMonth = _xeUtils.default.getWhatYear(selectMonth, -1, 'first');
|
|
1497
|
+
} else {
|
|
1498
|
+
reactData.selectMonth = _xeUtils.default.getWhatMonth(selectMonth, -1, 'first');
|
|
1499
|
+
}
|
|
1500
|
+
}
|
|
1501
|
+
$xeInput.dispatchEvent('date-prev', {
|
|
1502
|
+
type: type
|
|
1503
|
+
}, evnt);
|
|
1504
|
+
}
|
|
1505
|
+
},
|
|
1506
|
+
dateTodayMonthEvent: function dateTodayMonthEvent(evnt) {
|
|
1507
|
+
var $xeInput = this;
|
|
1508
|
+
var props = $xeInput;
|
|
1509
|
+
var reactData = $xeInput.reactData;
|
|
1510
|
+
$xeInput.dateNowHandle();
|
|
1511
|
+
if (!props.multiple) {
|
|
1512
|
+
$xeInput.dateChange(reactData.currentDate);
|
|
1513
|
+
$xeInput.hidePanel();
|
|
1514
|
+
}
|
|
1515
|
+
$xeInput.dispatchEvent('date-today', {
|
|
1516
|
+
type: props.type
|
|
1517
|
+
}, evnt);
|
|
1518
|
+
},
|
|
1519
|
+
dateNextEvent: function dateNextEvent(evnt) {
|
|
1520
|
+
var $xeInput = this;
|
|
1521
|
+
var props = $xeInput;
|
|
1522
|
+
var reactData = $xeInput.reactData;
|
|
1523
|
+
var internalData = $xeInput.internalData;
|
|
1524
|
+
var type = props.type;
|
|
1525
|
+
var datePanelType = reactData.datePanelType,
|
|
1526
|
+
selectMonth = reactData.selectMonth;
|
|
1527
|
+
var yearSize = internalData.yearSize;
|
|
1528
|
+
var isDisabledNextDateBtn = $xeInput.computeIsDisabledNextDateBtn;
|
|
1529
|
+
if (!isDisabledNextDateBtn) {
|
|
1530
|
+
if (type === 'year') {
|
|
1531
|
+
reactData.selectMonth = _xeUtils.default.getWhatYear(selectMonth, yearSize, 'first');
|
|
1532
|
+
} else if (type === 'month' || type === 'quarter') {
|
|
1533
|
+
if (datePanelType === 'year') {
|
|
1534
|
+
reactData.selectMonth = _xeUtils.default.getWhatYear(selectMonth, yearSize, 'first');
|
|
1535
|
+
} else {
|
|
1536
|
+
reactData.selectMonth = _xeUtils.default.getWhatYear(selectMonth, 1, 'first');
|
|
1537
|
+
}
|
|
1538
|
+
} else {
|
|
1539
|
+
if (datePanelType === 'year') {
|
|
1540
|
+
reactData.selectMonth = _xeUtils.default.getWhatYear(selectMonth, yearSize, 'first');
|
|
1541
|
+
} else if (datePanelType === 'month') {
|
|
1542
|
+
reactData.selectMonth = _xeUtils.default.getWhatYear(selectMonth, 1, 'first');
|
|
1543
|
+
} else {
|
|
1544
|
+
reactData.selectMonth = _xeUtils.default.getWhatMonth(selectMonth, 1, 'first');
|
|
1545
|
+
}
|
|
1546
|
+
}
|
|
1547
|
+
$xeInput.dispatchEvent('date-next', {
|
|
1548
|
+
type: type
|
|
1549
|
+
}, evnt);
|
|
1550
|
+
}
|
|
1551
|
+
},
|
|
1552
|
+
isDateDisabled: function isDateDisabled(item) {
|
|
1553
|
+
var $xeInput = this;
|
|
1554
|
+
var props = $xeInput;
|
|
1555
|
+
var reactData = $xeInput.reactData;
|
|
1556
|
+
var disabledMethod = props.disabledMethod;
|
|
1557
|
+
var datePanelType = reactData.datePanelType;
|
|
1558
|
+
return disabledMethod && disabledMethod({
|
|
1559
|
+
type: datePanelType,
|
|
1560
|
+
viewType: datePanelType,
|
|
1561
|
+
date: item.date,
|
|
1562
|
+
$input: $xeInput
|
|
1563
|
+
});
|
|
1564
|
+
},
|
|
1565
|
+
dateSelectItem: function dateSelectItem(date) {
|
|
1566
|
+
var $xeInput = this;
|
|
1567
|
+
var props = $xeInput;
|
|
1568
|
+
var reactData = $xeInput.reactData;
|
|
1569
|
+
var type = props.type,
|
|
1570
|
+
multiple = props.multiple;
|
|
1571
|
+
var datePanelType = reactData.datePanelType;
|
|
1572
|
+
if (type === 'month') {
|
|
1573
|
+
if (datePanelType === 'year') {
|
|
1574
|
+
reactData.datePanelType = 'month';
|
|
1575
|
+
$xeInput.dateCheckMonth(date);
|
|
1576
|
+
} else {
|
|
1577
|
+
$xeInput.dateChange(date);
|
|
1578
|
+
if (!multiple) {
|
|
1579
|
+
$xeInput.hidePanel();
|
|
1580
|
+
}
|
|
1581
|
+
}
|
|
1582
|
+
} else if (type === 'year') {
|
|
1583
|
+
$xeInput.dateChange(date);
|
|
1584
|
+
if (!multiple) {
|
|
1585
|
+
$xeInput.hidePanel();
|
|
1586
|
+
}
|
|
1587
|
+
} else if (type === 'quarter') {
|
|
1588
|
+
if (datePanelType === 'year') {
|
|
1589
|
+
reactData.datePanelType = 'quarter';
|
|
1590
|
+
$xeInput.dateCheckMonth(date);
|
|
1591
|
+
} else {
|
|
1592
|
+
$xeInput.dateChange(date);
|
|
1593
|
+
if (!multiple) {
|
|
1594
|
+
$xeInput.hidePanel();
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1597
|
+
} else {
|
|
1598
|
+
if (datePanelType === 'month') {
|
|
1599
|
+
reactData.datePanelType = type === 'week' ? type : 'day';
|
|
1600
|
+
$xeInput.dateCheckMonth(date);
|
|
1601
|
+
} else if (datePanelType === 'year') {
|
|
1602
|
+
reactData.datePanelType = 'month';
|
|
1603
|
+
$xeInput.dateCheckMonth(date);
|
|
1604
|
+
} else {
|
|
1605
|
+
$xeInput.dateChange(date);
|
|
1606
|
+
if (type === 'datetime') {
|
|
1607
|
+
// 日期带时间
|
|
1608
|
+
} else {
|
|
1609
|
+
if (!multiple) {
|
|
1610
|
+
$xeInput.hidePanel();
|
|
1611
|
+
}
|
|
1612
|
+
}
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
},
|
|
1616
|
+
dateSelectEvent: function dateSelectEvent(item) {
|
|
1617
|
+
var $xeInput = this;
|
|
1618
|
+
if (!$xeInput.isDateDisabled(item)) {
|
|
1619
|
+
$xeInput.dateSelectItem(item.date);
|
|
1620
|
+
}
|
|
1621
|
+
},
|
|
1622
|
+
dateMoveDay: function dateMoveDay(offsetDay) {
|
|
1623
|
+
var $xeInput = this;
|
|
1624
|
+
if (!$xeInput.isDateDisabled({
|
|
1625
|
+
date: offsetDay
|
|
1626
|
+
})) {
|
|
1627
|
+
var dayList = $xeInput.computeDayList;
|
|
1628
|
+
if (!dayList.some(function (item) {
|
|
1629
|
+
return _xeUtils.default.isDateSame(item.date, offsetDay, 'yyyyMMdd');
|
|
1630
|
+
})) {
|
|
1631
|
+
$xeInput.dateCheckMonth(offsetDay);
|
|
1632
|
+
}
|
|
1633
|
+
$xeInput.dateParseValue(offsetDay);
|
|
1634
|
+
}
|
|
1635
|
+
},
|
|
1636
|
+
dateMoveYear: function dateMoveYear(offsetYear) {
|
|
1637
|
+
var $xeInput = this;
|
|
1638
|
+
if (!$xeInput.isDateDisabled({
|
|
1639
|
+
date: offsetYear
|
|
1640
|
+
})) {
|
|
1641
|
+
var yearList = $xeInput.computeYearList;
|
|
1642
|
+
if (!yearList.some(function (item) {
|
|
1643
|
+
return _xeUtils.default.isDateSame(item.date, offsetYear, 'yyyy');
|
|
1644
|
+
})) {
|
|
1645
|
+
$xeInput.dateCheckMonth(offsetYear);
|
|
1646
|
+
}
|
|
1647
|
+
$xeInput.dateParseValue(offsetYear);
|
|
1648
|
+
}
|
|
1649
|
+
},
|
|
1650
|
+
dateMoveQuarter: function dateMoveQuarter(offsetQuarter) {
|
|
1651
|
+
var $xeInput = this;
|
|
1652
|
+
if (!$xeInput.isDateDisabled({
|
|
1653
|
+
date: offsetQuarter
|
|
1654
|
+
})) {
|
|
1655
|
+
var quarterList = $xeInput.computeQuarterList;
|
|
1656
|
+
if (!quarterList.some(function (item) {
|
|
1657
|
+
return _xeUtils.default.isDateSame(item.date, offsetQuarter, 'yyyyq');
|
|
1658
|
+
})) {
|
|
1659
|
+
$xeInput.dateCheckMonth(offsetQuarter);
|
|
1660
|
+
}
|
|
1661
|
+
$xeInput.dateParseValue(offsetQuarter);
|
|
1662
|
+
}
|
|
1663
|
+
},
|
|
1664
|
+
dateMoveMonth: function dateMoveMonth(offsetMonth) {
|
|
1665
|
+
var $xeInput = this;
|
|
1666
|
+
if (!$xeInput.isDateDisabled({
|
|
1667
|
+
date: offsetMonth
|
|
1668
|
+
})) {
|
|
1669
|
+
var monthList = $xeInput.computeMonthList;
|
|
1670
|
+
if (!monthList.some(function (item) {
|
|
1671
|
+
return _xeUtils.default.isDateSame(item.date, offsetMonth, 'yyyyMM');
|
|
1672
|
+
})) {
|
|
1673
|
+
$xeInput.dateCheckMonth(offsetMonth);
|
|
1674
|
+
}
|
|
1675
|
+
$xeInput.dateParseValue(offsetMonth);
|
|
1676
|
+
}
|
|
1677
|
+
},
|
|
1678
|
+
dateMouseenterEvent: function dateMouseenterEvent(item) {
|
|
1679
|
+
var $xeInput = this;
|
|
1680
|
+
var reactData = $xeInput.reactData;
|
|
1681
|
+
if (!$xeInput.isDateDisabled(item)) {
|
|
1682
|
+
var datePanelType = reactData.datePanelType;
|
|
1683
|
+
if (datePanelType === 'month') {
|
|
1684
|
+
$xeInput.dateMoveMonth(item.date);
|
|
1685
|
+
} else if (datePanelType === 'quarter') {
|
|
1686
|
+
$xeInput.dateMoveQuarter(item.date);
|
|
1687
|
+
} else if (datePanelType === 'year') {
|
|
1688
|
+
$xeInput.dateMoveYear(item.date);
|
|
1689
|
+
} else {
|
|
1690
|
+
$xeInput.dateMoveDay(item.date);
|
|
1691
|
+
}
|
|
1692
|
+
}
|
|
1693
|
+
},
|
|
1694
|
+
updateTimePos: function updateTimePos(liElem) {
|
|
1695
|
+
if (liElem) {
|
|
1696
|
+
var height = liElem.offsetHeight;
|
|
1697
|
+
var ulElem = liElem.parentNode;
|
|
1698
|
+
ulElem.scrollTop = liElem.offsetTop - height * 4;
|
|
1699
|
+
}
|
|
1700
|
+
},
|
|
1701
|
+
dateTimeChangeEvent: function dateTimeChangeEvent(evnt) {
|
|
1702
|
+
var $xeInput = this;
|
|
1703
|
+
var reactData = $xeInput.reactData;
|
|
1704
|
+
reactData.datetimePanelValue = new Date(reactData.datetimePanelValue.getTime());
|
|
1705
|
+
$xeInput.updateTimePos(evnt.currentTarget);
|
|
1706
|
+
},
|
|
1707
|
+
dateHourEvent: function dateHourEvent(evnt, item) {
|
|
1708
|
+
var $xeInput = this;
|
|
1709
|
+
var reactData = $xeInput.reactData;
|
|
1710
|
+
reactData.datetimePanelValue.setHours(item.value);
|
|
1711
|
+
$xeInput.dateTimeChangeEvent(evnt);
|
|
1712
|
+
},
|
|
1713
|
+
dateConfirmEvent: function dateConfirmEvent() {
|
|
1714
|
+
var $xeInput = this;
|
|
1715
|
+
var props = $xeInput;
|
|
1716
|
+
var reactData = $xeInput.reactData;
|
|
1717
|
+
var multiple = props.multiple;
|
|
1718
|
+
var datetimePanelValue = reactData.datetimePanelValue;
|
|
1719
|
+
var dateValue = $xeInput.computeDateValue;
|
|
1720
|
+
var isDateTimeType = $xeInput.computeIsDateTimeType;
|
|
1721
|
+
if (isDateTimeType) {
|
|
1722
|
+
var dateValueFormat = $xeInput.computeDateValueFormat;
|
|
1723
|
+
if (multiple) {
|
|
1724
|
+
// 如果为多选
|
|
1725
|
+
var dateMultipleValue = $xeInput.computeDateMultipleValue;
|
|
1726
|
+
if (isDateTimeType) {
|
|
1727
|
+
// 如果是datetime特殊类型
|
|
1728
|
+
var dateListValue = _toConsumableArray($xeInput.computeDateListValue);
|
|
1729
|
+
var datetimeRest = [];
|
|
1730
|
+
dateListValue.forEach(function (item) {
|
|
1731
|
+
if (item) {
|
|
1732
|
+
item.setHours(datetimePanelValue.getHours());
|
|
1733
|
+
item.setMinutes(datetimePanelValue.getMinutes());
|
|
1734
|
+
item.setSeconds(datetimePanelValue.getSeconds());
|
|
1735
|
+
datetimeRest.push(item);
|
|
1736
|
+
}
|
|
1737
|
+
});
|
|
1738
|
+
$xeInput.emitModel(datetimeRest.map(function (date) {
|
|
1739
|
+
return _xeUtils.default.toDateString(date, dateValueFormat);
|
|
1740
|
+
}).join(','), {
|
|
1741
|
+
type: 'update'
|
|
1742
|
+
});
|
|
1743
|
+
} else {
|
|
1744
|
+
// 如果是日期类型
|
|
1745
|
+
$xeInput.emitModel(dateMultipleValue.join(','), {
|
|
1746
|
+
type: 'update'
|
|
1747
|
+
});
|
|
1748
|
+
}
|
|
1749
|
+
} else {
|
|
1750
|
+
$xeInput.dateChange(dateValue || reactData.currentDate);
|
|
1751
|
+
}
|
|
1752
|
+
}
|
|
1753
|
+
$xeInput.hidePanel();
|
|
1754
|
+
},
|
|
1755
|
+
dateMinuteEvent: function dateMinuteEvent(evnt, item) {
|
|
1756
|
+
var $xeInput = this;
|
|
1757
|
+
var reactData = $xeInput.reactData;
|
|
1758
|
+
reactData.datetimePanelValue.setMinutes(item.value);
|
|
1759
|
+
$xeInput.dateTimeChangeEvent(evnt);
|
|
1760
|
+
},
|
|
1761
|
+
dateSecondEvent: function dateSecondEvent(evnt, item) {
|
|
1762
|
+
var $xeInput = this;
|
|
1763
|
+
var reactData = $xeInput.reactData;
|
|
1764
|
+
reactData.datetimePanelValue.setSeconds(item.value);
|
|
1765
|
+
$xeInput.dateTimeChangeEvent(evnt);
|
|
1766
|
+
},
|
|
1767
|
+
dateOffsetEvent: function dateOffsetEvent(evnt) {
|
|
1768
|
+
var $xeInput = this;
|
|
1769
|
+
var reactData = $xeInput.reactData;
|
|
1770
|
+
var isActivated = reactData.isActivated,
|
|
1771
|
+
datePanelValue = reactData.datePanelValue,
|
|
1772
|
+
datePanelType = reactData.datePanelType;
|
|
1773
|
+
if (isActivated) {
|
|
1774
|
+
evnt.preventDefault();
|
|
1775
|
+
var isLeftArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_LEFT);
|
|
1776
|
+
var isUpArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_UP);
|
|
1777
|
+
var isRightArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_RIGHT);
|
|
1778
|
+
var isDwArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);
|
|
1779
|
+
if (datePanelType === 'year') {
|
|
1780
|
+
var offsetYear = _xeUtils.default.getWhatYear(datePanelValue || Date.now(), 0, 'first');
|
|
1781
|
+
if (isLeftArrow) {
|
|
1782
|
+
offsetYear = _xeUtils.default.getWhatYear(offsetYear, -1);
|
|
1783
|
+
} else if (isUpArrow) {
|
|
1784
|
+
offsetYear = _xeUtils.default.getWhatYear(offsetYear, -4);
|
|
1785
|
+
} else if (isRightArrow) {
|
|
1786
|
+
offsetYear = _xeUtils.default.getWhatYear(offsetYear, 1);
|
|
1787
|
+
} else if (isDwArrow) {
|
|
1788
|
+
offsetYear = _xeUtils.default.getWhatYear(offsetYear, 4);
|
|
1789
|
+
}
|
|
1790
|
+
$xeInput.dateMoveYear(offsetYear);
|
|
1791
|
+
} else if (datePanelType === 'quarter') {
|
|
1792
|
+
var offsetQuarter = _xeUtils.default.getWhatQuarter(datePanelValue || Date.now(), 0, 'first');
|
|
1793
|
+
if (isLeftArrow) {
|
|
1794
|
+
offsetQuarter = _xeUtils.default.getWhatQuarter(offsetQuarter, -1);
|
|
1795
|
+
} else if (isUpArrow) {
|
|
1796
|
+
offsetQuarter = _xeUtils.default.getWhatQuarter(offsetQuarter, -2);
|
|
1797
|
+
} else if (isRightArrow) {
|
|
1798
|
+
offsetQuarter = _xeUtils.default.getWhatQuarter(offsetQuarter, 1);
|
|
1799
|
+
} else if (isDwArrow) {
|
|
1800
|
+
offsetQuarter = _xeUtils.default.getWhatQuarter(offsetQuarter, 2);
|
|
1801
|
+
}
|
|
1802
|
+
$xeInput.dateMoveQuarter(offsetQuarter);
|
|
1803
|
+
} else if (datePanelType === 'month') {
|
|
1804
|
+
var offsetMonth = _xeUtils.default.getWhatMonth(datePanelValue || Date.now(), 0, 'first');
|
|
1805
|
+
if (isLeftArrow) {
|
|
1806
|
+
offsetMonth = _xeUtils.default.getWhatMonth(offsetMonth, -1);
|
|
1807
|
+
} else if (isUpArrow) {
|
|
1808
|
+
offsetMonth = _xeUtils.default.getWhatMonth(offsetMonth, -4);
|
|
1809
|
+
} else if (isRightArrow) {
|
|
1810
|
+
offsetMonth = _xeUtils.default.getWhatMonth(offsetMonth, 1);
|
|
1811
|
+
} else if (isDwArrow) {
|
|
1812
|
+
offsetMonth = _xeUtils.default.getWhatMonth(offsetMonth, 4);
|
|
1813
|
+
}
|
|
1814
|
+
$xeInput.dateMoveMonth(offsetMonth);
|
|
1815
|
+
} else {
|
|
1816
|
+
var offsetDay = datePanelValue || _xeUtils.default.getWhatDay(Date.now(), 0, 'first');
|
|
1817
|
+
var firstDayOfWeek = $xeInput.computeFirstDayOfWeek;
|
|
1818
|
+
if (isLeftArrow) {
|
|
1819
|
+
offsetDay = _xeUtils.default.getWhatDay(offsetDay, -1);
|
|
1820
|
+
} else if (isUpArrow) {
|
|
1821
|
+
offsetDay = _xeUtils.default.getWhatWeek(offsetDay, -1, firstDayOfWeek);
|
|
1822
|
+
} else if (isRightArrow) {
|
|
1823
|
+
offsetDay = _xeUtils.default.getWhatDay(offsetDay, 1);
|
|
1824
|
+
} else if (isDwArrow) {
|
|
1825
|
+
offsetDay = _xeUtils.default.getWhatWeek(offsetDay, 1, firstDayOfWeek);
|
|
1826
|
+
}
|
|
1827
|
+
$xeInput.dateMoveDay(offsetDay);
|
|
1828
|
+
}
|
|
1829
|
+
}
|
|
1830
|
+
},
|
|
1831
|
+
datePgOffsetEvent: function datePgOffsetEvent(evnt) {
|
|
1832
|
+
var $xeInput = this;
|
|
1833
|
+
var reactData = $xeInput.reactData;
|
|
1834
|
+
var isActivated = reactData.isActivated;
|
|
1835
|
+
if (isActivated) {
|
|
1836
|
+
var isPgUp = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.PAGE_UP);
|
|
1837
|
+
evnt.preventDefault();
|
|
1838
|
+
if (isPgUp) {
|
|
1839
|
+
$xeInput.datePrevEvent(evnt);
|
|
1840
|
+
} else {
|
|
1841
|
+
$xeInput.dateNextEvent(evnt);
|
|
1842
|
+
}
|
|
1843
|
+
}
|
|
1844
|
+
},
|
|
1845
|
+
dateOpenPanel: function dateOpenPanel() {
|
|
1846
|
+
var $xeInput = this;
|
|
1847
|
+
var props = $xeInput;
|
|
1848
|
+
var reactData = $xeInput.reactData;
|
|
1849
|
+
var type = props.type;
|
|
1850
|
+
var isDateTimeType = $xeInput.computeIsDateTimeType;
|
|
1851
|
+
var dateValue = $xeInput.computeDateValue;
|
|
1852
|
+
if (['year', 'quarter', 'month', 'week'].indexOf(type) > -1) {
|
|
1853
|
+
reactData.datePanelType = type;
|
|
1854
|
+
} else {
|
|
1855
|
+
reactData.datePanelType = 'day';
|
|
1856
|
+
}
|
|
1857
|
+
reactData.currentDate = _xeUtils.default.getWhatDay(Date.now(), 0, 'first');
|
|
1858
|
+
if (dateValue) {
|
|
1859
|
+
$xeInput.dateMonthHandle(dateValue, 0);
|
|
1860
|
+
$xeInput.dateParseValue(dateValue);
|
|
1861
|
+
} else {
|
|
1862
|
+
$xeInput.dateNowHandle();
|
|
1863
|
+
}
|
|
1864
|
+
if (isDateTimeType) {
|
|
1865
|
+
reactData.datetimePanelValue = reactData.datePanelValue || _xeUtils.default.getWhatDay(Date.now(), 0, 'first');
|
|
1866
|
+
$xeInput.$nextTick(function () {
|
|
1867
|
+
var timeBodyElem = $xeInput.$refs.refInputTimeBody;
|
|
1868
|
+
_xeUtils.default.arrayEach(timeBodyElem.querySelectorAll('li.is--selected'), function (elem) {
|
|
1869
|
+
$xeInput.updateTimePos(elem);
|
|
1870
|
+
});
|
|
1871
|
+
});
|
|
1872
|
+
}
|
|
1873
|
+
},
|
|
1874
|
+
// 弹出面板
|
|
1875
|
+
updateZindex: function updateZindex() {
|
|
1876
|
+
var $xeInput = this;
|
|
1877
|
+
var reactData = $xeInput.reactData;
|
|
1878
|
+
if (reactData.panelIndex < (0, _utils.getLastZIndex)()) {
|
|
1879
|
+
reactData.panelIndex = (0, _utils.nextZIndex)();
|
|
1880
|
+
}
|
|
1881
|
+
},
|
|
1882
|
+
updatePlacement: function updatePlacement() {
|
|
1883
|
+
var $xeInput = this;
|
|
1884
|
+
var props = $xeInput;
|
|
1885
|
+
var reactData = $xeInput.reactData;
|
|
1886
|
+
return $xeInput.$nextTick().then(function () {
|
|
1887
|
+
var placement = props.placement;
|
|
1888
|
+
var panelIndex = reactData.panelIndex;
|
|
1889
|
+
var targetElem = $xeInput.$refs.refInputTarget;
|
|
1890
|
+
var panelElem = $xeInput.$refs.refInputPanel;
|
|
1891
|
+
var btnTransfer = $xeInput.computeBtnTransfer;
|
|
1892
|
+
if (targetElem && panelElem) {
|
|
1893
|
+
var targetHeight = targetElem.offsetHeight;
|
|
1894
|
+
var targetWidth = targetElem.offsetWidth;
|
|
1895
|
+
var panelHeight = panelElem.offsetHeight;
|
|
1896
|
+
var panelWidth = panelElem.offsetWidth;
|
|
1897
|
+
var marginSize = 5;
|
|
1898
|
+
var panelStyle = {
|
|
1899
|
+
zIndex: panelIndex
|
|
1900
|
+
};
|
|
1901
|
+
var _getAbsolutePos = (0, _dom.getAbsolutePos)(targetElem),
|
|
1902
|
+
boundingTop = _getAbsolutePos.boundingTop,
|
|
1903
|
+
boundingLeft = _getAbsolutePos.boundingLeft,
|
|
1904
|
+
visibleHeight = _getAbsolutePos.visibleHeight,
|
|
1905
|
+
visibleWidth = _getAbsolutePos.visibleWidth;
|
|
1906
|
+
var panelPlacement = 'bottom';
|
|
1907
|
+
if (btnTransfer) {
|
|
1908
|
+
var left = boundingLeft;
|
|
1909
|
+
var top = boundingTop + targetHeight;
|
|
1910
|
+
if (placement === 'top') {
|
|
1911
|
+
panelPlacement = 'top';
|
|
1912
|
+
top = boundingTop - panelHeight;
|
|
1913
|
+
} else if (!placement) {
|
|
1914
|
+
// 如果下面不够放,则向上
|
|
1915
|
+
if (top + panelHeight + marginSize > visibleHeight) {
|
|
1916
|
+
panelPlacement = 'top';
|
|
1917
|
+
top = boundingTop - panelHeight;
|
|
1918
|
+
}
|
|
1919
|
+
// 如果上面不够放,则向下(优先)
|
|
1920
|
+
if (top < marginSize) {
|
|
1921
|
+
panelPlacement = 'bottom';
|
|
1922
|
+
top = boundingTop + targetHeight;
|
|
1923
|
+
}
|
|
1924
|
+
}
|
|
1925
|
+
// 如果溢出右边
|
|
1926
|
+
if (left + panelWidth + marginSize > visibleWidth) {
|
|
1927
|
+
left -= left + panelWidth + marginSize - visibleWidth;
|
|
1928
|
+
}
|
|
1929
|
+
// 如果溢出左边
|
|
1930
|
+
if (left < marginSize) {
|
|
1931
|
+
left = marginSize;
|
|
1932
|
+
}
|
|
1933
|
+
Object.assign(panelStyle, {
|
|
1934
|
+
left: "".concat(left, "px"),
|
|
1935
|
+
top: "".concat(top, "px"),
|
|
1936
|
+
minWidth: "".concat(targetWidth, "px")
|
|
1937
|
+
});
|
|
1938
|
+
} else {
|
|
1939
|
+
if (placement === 'top') {
|
|
1940
|
+
panelPlacement = 'top';
|
|
1941
|
+
panelStyle.bottom = "".concat(targetHeight, "px");
|
|
1942
|
+
} else if (!placement) {
|
|
1943
|
+
// 如果下面不够放,则向上
|
|
1944
|
+
panelStyle.top = "".concat(targetHeight, "px");
|
|
1945
|
+
if (boundingTop + targetHeight + panelHeight > visibleHeight) {
|
|
1946
|
+
// 如果上面不够放,则向下(优先)
|
|
1947
|
+
if (boundingTop - targetHeight - panelHeight > marginSize) {
|
|
1948
|
+
panelPlacement = 'top';
|
|
1949
|
+
panelStyle.top = '';
|
|
1950
|
+
panelStyle.bottom = "".concat(targetHeight, "px");
|
|
1951
|
+
}
|
|
1952
|
+
}
|
|
1953
|
+
}
|
|
1954
|
+
}
|
|
1955
|
+
reactData.panelStyle = panelStyle;
|
|
1956
|
+
reactData.panelPlacement = panelPlacement;
|
|
1957
|
+
return $xeInput.$nextTick();
|
|
1958
|
+
}
|
|
1959
|
+
});
|
|
1960
|
+
},
|
|
1961
|
+
showPanel: function showPanel() {
|
|
1962
|
+
var $xeInput = this;
|
|
1963
|
+
var reactData = $xeInput.reactData;
|
|
1964
|
+
var internalData = $xeInput.internalData;
|
|
1965
|
+
var visiblePanel = reactData.visiblePanel;
|
|
1966
|
+
var hpTimeout = internalData.hpTimeout;
|
|
1967
|
+
var isDisabled = $xeInput.computeIsDisabled;
|
|
1968
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
1969
|
+
var btnTransfer = $xeInput.computeBtnTransfer;
|
|
1970
|
+
if (!isDisabled && !visiblePanel) {
|
|
1971
|
+
var panelElem = $xeInput.$refs.refInputPanel;
|
|
1972
|
+
if (!reactData.initialized) {
|
|
1973
|
+
reactData.initialized = true;
|
|
1974
|
+
if (btnTransfer) {
|
|
1975
|
+
if (panelElem) {
|
|
1976
|
+
document.body.appendChild(panelElem);
|
|
1977
|
+
}
|
|
1978
|
+
}
|
|
1979
|
+
}
|
|
1980
|
+
if (hpTimeout) {
|
|
1981
|
+
clearTimeout(hpTimeout);
|
|
1982
|
+
internalData.hpTimeout = undefined;
|
|
1983
|
+
}
|
|
1984
|
+
reactData.isActivated = true;
|
|
1985
|
+
reactData.isAniVisible = true;
|
|
1986
|
+
if (isDatePickerType) {
|
|
1987
|
+
$xeInput.dateOpenPanel();
|
|
1988
|
+
}
|
|
1989
|
+
setTimeout(function () {
|
|
1990
|
+
reactData.visiblePanel = true;
|
|
1991
|
+
}, 10);
|
|
1992
|
+
$xeInput.updateZindex();
|
|
1993
|
+
return $xeInput.updatePlacement();
|
|
1994
|
+
}
|
|
1995
|
+
return $xeInput.$nextTick();
|
|
1996
|
+
},
|
|
1997
|
+
datePickerOpenEvent: function datePickerOpenEvent(evnt) {
|
|
1998
|
+
var $xeInput = this;
|
|
1999
|
+
var isReadonly = $xeInput.computeIsReadonly;
|
|
2000
|
+
if (!isReadonly) {
|
|
2001
|
+
evnt.preventDefault();
|
|
2002
|
+
$xeInput.showPanel();
|
|
2003
|
+
}
|
|
2004
|
+
},
|
|
2005
|
+
clickEvent: function clickEvent(evnt) {
|
|
2006
|
+
var $xeInput = this;
|
|
2007
|
+
$xeInput.triggerEvent(evnt);
|
|
2008
|
+
},
|
|
2009
|
+
handleGlobalMousedownEvent: function handleGlobalMousedownEvent(evnt) {
|
|
2010
|
+
var $xeInput = this;
|
|
2011
|
+
var reactData = $xeInput.reactData;
|
|
2012
|
+
var visiblePanel = reactData.visiblePanel,
|
|
2013
|
+
isActivated = reactData.isActivated;
|
|
2014
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
2015
|
+
var el = $xeInput.$refs.refElem;
|
|
2016
|
+
var panelWrapperElem = $xeInput.$refs.refPanelWrapper;
|
|
2017
|
+
var isDisabled = $xeInput.computeIsDisabled;
|
|
2018
|
+
if (!isDisabled && isActivated) {
|
|
2019
|
+
reactData.isActivated = (0, _dom.getEventTargetNode)(evnt, el).flag || (0, _dom.getEventTargetNode)(evnt, panelWrapperElem).flag;
|
|
2020
|
+
if (!reactData.isActivated) {
|
|
2021
|
+
// 如果是日期类型
|
|
2022
|
+
if (isDatePickerType) {
|
|
2023
|
+
if (visiblePanel) {
|
|
2024
|
+
$xeInput.hidePanel();
|
|
2025
|
+
$xeInput.afterCheckValue();
|
|
2026
|
+
}
|
|
2027
|
+
} else {
|
|
2028
|
+
$xeInput.afterCheckValue();
|
|
2029
|
+
}
|
|
2030
|
+
}
|
|
2031
|
+
}
|
|
2032
|
+
},
|
|
2033
|
+
handleGlobalKeydownEvent: function handleGlobalKeydownEvent(evnt) {
|
|
2034
|
+
var $xeInput = this;
|
|
2035
|
+
var props = $xeInput;
|
|
2036
|
+
var reactData = $xeInput.reactData;
|
|
2037
|
+
var clearable = props.clearable;
|
|
2038
|
+
var visiblePanel = reactData.visiblePanel;
|
|
2039
|
+
var isDisabled = $xeInput.computeIsDisabled;
|
|
2040
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
2041
|
+
if (!isDisabled) {
|
|
2042
|
+
var isTab = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.TAB);
|
|
2043
|
+
var isDel = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.DELETE);
|
|
2044
|
+
var isEsc = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ESCAPE);
|
|
2045
|
+
var isEnter = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ENTER);
|
|
2046
|
+
var isLeftArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_LEFT);
|
|
2047
|
+
var isUpArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_UP);
|
|
2048
|
+
var isRightArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_RIGHT);
|
|
2049
|
+
var isDwArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);
|
|
2050
|
+
var isPgUp = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.PAGE_UP);
|
|
2051
|
+
var isPgDn = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.PAGE_DOWN);
|
|
2052
|
+
var operArrow = isLeftArrow || isUpArrow || isRightArrow || isDwArrow;
|
|
2053
|
+
var isActivated = reactData.isActivated;
|
|
2054
|
+
if (isTab) {
|
|
2055
|
+
if (isActivated) {
|
|
2056
|
+
$xeInput.afterCheckValue();
|
|
2057
|
+
}
|
|
2058
|
+
isActivated = false;
|
|
2059
|
+
reactData.isActivated = isActivated;
|
|
2060
|
+
} else if (operArrow) {
|
|
2061
|
+
if (isDatePickerType) {
|
|
2062
|
+
if (isActivated) {
|
|
2063
|
+
if (visiblePanel) {
|
|
2064
|
+
$xeInput.dateOffsetEvent(evnt);
|
|
2065
|
+
} else if (isUpArrow || isDwArrow) {
|
|
2066
|
+
$xeInput.datePickerOpenEvent(evnt);
|
|
2067
|
+
}
|
|
2068
|
+
}
|
|
2069
|
+
}
|
|
2070
|
+
} else if (isEnter) {
|
|
2071
|
+
if (isDatePickerType) {
|
|
2072
|
+
if (visiblePanel) {
|
|
2073
|
+
if (reactData.datePanelValue) {
|
|
2074
|
+
$xeInput.dateSelectItem(reactData.datePanelValue);
|
|
2075
|
+
} else {
|
|
2076
|
+
$xeInput.hidePanel();
|
|
2077
|
+
}
|
|
2078
|
+
} else if (isActivated) {
|
|
2079
|
+
$xeInput.datePickerOpenEvent(evnt);
|
|
2080
|
+
}
|
|
2081
|
+
}
|
|
2082
|
+
} else if (isPgUp || isPgDn) {
|
|
2083
|
+
if (isDatePickerType) {
|
|
2084
|
+
if (isActivated) {
|
|
2085
|
+
$xeInput.datePgOffsetEvent(evnt);
|
|
2086
|
+
}
|
|
2087
|
+
}
|
|
2088
|
+
}
|
|
2089
|
+
if (isTab || isEsc) {
|
|
2090
|
+
if (visiblePanel) {
|
|
2091
|
+
$xeInput.hidePanel();
|
|
2092
|
+
}
|
|
2093
|
+
} else if (isDel && clearable) {
|
|
2094
|
+
if (isActivated) {
|
|
2095
|
+
$xeInput.clearValueEvent(evnt, null);
|
|
2096
|
+
}
|
|
2097
|
+
}
|
|
2098
|
+
}
|
|
2099
|
+
},
|
|
2100
|
+
handleGlobalMousewheelEvent: function handleGlobalMousewheelEvent(evnt) {
|
|
2101
|
+
var $xeInput = this;
|
|
2102
|
+
var reactData = $xeInput.reactData;
|
|
2103
|
+
var visiblePanel = reactData.visiblePanel;
|
|
2104
|
+
var isDisabled = $xeInput.computeIsDisabled;
|
|
2105
|
+
if (!isDisabled) {
|
|
2106
|
+
if (visiblePanel) {
|
|
2107
|
+
var panelWrapperElem = $xeInput.$refs.refPanelWrapper;
|
|
2108
|
+
if ((0, _dom.getEventTargetNode)(evnt, panelWrapperElem).flag) {
|
|
2109
|
+
$xeInput.updatePlacement();
|
|
2110
|
+
} else {
|
|
2111
|
+
$xeInput.hidePanel();
|
|
2112
|
+
$xeInput.afterCheckValue();
|
|
2113
|
+
}
|
|
2114
|
+
}
|
|
2115
|
+
}
|
|
2116
|
+
},
|
|
2117
|
+
handleGlobalBlurEvent: function handleGlobalBlurEvent() {
|
|
2118
|
+
var $xeInput = this;
|
|
2119
|
+
var reactData = $xeInput.reactData;
|
|
2120
|
+
var isActivated = reactData.isActivated,
|
|
2121
|
+
visiblePanel = reactData.visiblePanel;
|
|
2122
|
+
if (visiblePanel) {
|
|
2123
|
+
$xeInput.hidePanel();
|
|
2124
|
+
$xeInput.afterCheckValue();
|
|
2125
|
+
} else if (isActivated) {
|
|
2126
|
+
$xeInput.afterCheckValue();
|
|
2127
|
+
}
|
|
2128
|
+
},
|
|
2129
|
+
//
|
|
2130
|
+
// Render
|
|
2131
|
+
//
|
|
2132
|
+
renderDateLabel: function renderDateLabel(h, item, label) {
|
|
2133
|
+
var $xeInput = this;
|
|
2134
|
+
var props = $xeInput;
|
|
2135
|
+
var reactData = $xeInput.reactData;
|
|
2136
|
+
var festivalMethod = props.festivalMethod;
|
|
2137
|
+
if (festivalMethod) {
|
|
2138
|
+
var datePanelType = reactData.datePanelType;
|
|
2139
|
+
var festivalRest = festivalMethod({
|
|
2140
|
+
type: datePanelType,
|
|
2141
|
+
viewType: datePanelType,
|
|
2142
|
+
date: item.date,
|
|
2143
|
+
$input: $xeInput
|
|
2144
|
+
});
|
|
2145
|
+
var festivalItem = festivalRest ? _xeUtils.default.isString(festivalRest) ? {
|
|
2146
|
+
label: festivalRest
|
|
2147
|
+
} : festivalRest : {};
|
|
2148
|
+
var extraItem = festivalItem.extra ? _xeUtils.default.isString(festivalItem.extra) ? {
|
|
2149
|
+
label: festivalItem.extra
|
|
2150
|
+
} : festivalItem.extra : null;
|
|
2151
|
+
var labels = [h('span', {
|
|
2152
|
+
class: ['vxe-input--date-label', {
|
|
2153
|
+
'is-notice': festivalItem.notice
|
|
2154
|
+
}]
|
|
2155
|
+
}, extraItem && extraItem.label ? [h('span', "".concat(label || '')), h('span', {
|
|
2156
|
+
class: ['vxe-input--date-label--extra', extraItem.important ? 'is-important' : '', extraItem.className],
|
|
2157
|
+
style: extraItem.style
|
|
2158
|
+
}, _xeUtils.default.toValueString(extraItem.label))] : ["".concat(label || '')])];
|
|
2159
|
+
var festivalLabel = festivalItem.label;
|
|
2160
|
+
if (festivalLabel) {
|
|
2161
|
+
// 默认最多支持3个节日重叠
|
|
2162
|
+
var festivalLabels = _xeUtils.default.toValueString(festivalLabel).split(',');
|
|
2163
|
+
labels.push(h('span', {
|
|
2164
|
+
class: ['vxe-input--date-festival', festivalItem.important ? 'is-important' : '', festivalItem.className],
|
|
2165
|
+
style: festivalItem.style
|
|
2166
|
+
}, [festivalLabels.length > 1 ? h('span', {
|
|
2167
|
+
class: ['vxe-input--date-festival--overlap', "overlap--".concat(festivalLabels.length)]
|
|
2168
|
+
}, festivalLabels.map(function (label) {
|
|
2169
|
+
return h('span', label.substring(0, 3));
|
|
2170
|
+
})) : h('span', {
|
|
2171
|
+
class: 'vxe-input--date-festival--label'
|
|
2172
|
+
}, festivalLabels[0].substring(0, 3))]));
|
|
2173
|
+
}
|
|
2174
|
+
return labels;
|
|
2175
|
+
}
|
|
2176
|
+
return ["".concat(label || '')];
|
|
2177
|
+
},
|
|
2178
|
+
renderDateDayTable: function renderDateDayTable(h) {
|
|
2179
|
+
var $xeInput = this;
|
|
2180
|
+
var props = $xeInput;
|
|
2181
|
+
var reactData = $xeInput.reactData;
|
|
2182
|
+
var multiple = props.multiple;
|
|
2183
|
+
var datePanelType = reactData.datePanelType,
|
|
2184
|
+
datePanelValue = reactData.datePanelValue;
|
|
2185
|
+
var dateValue = $xeInput.computeDateValue;
|
|
2186
|
+
var dateHeaders = $xeInput.computeDateHeaders;
|
|
2187
|
+
var dayDatas = $xeInput.computeDayDatas;
|
|
2188
|
+
var dateListValue = $xeInput.computeDateListValue;
|
|
2189
|
+
var matchFormat = 'yyyyMMdd';
|
|
2190
|
+
return [h('table', {
|
|
2191
|
+
class: "vxe-input--date-".concat(datePanelType, "-view"),
|
|
2192
|
+
attrs: {
|
|
2193
|
+
cellspacing: 0,
|
|
2194
|
+
cellpadding: 0,
|
|
2195
|
+
border: 0
|
|
2196
|
+
}
|
|
2197
|
+
}, [h('thead', [h('tr', dateHeaders.map(function (item) {
|
|
2198
|
+
return h('th', item.label);
|
|
2199
|
+
}))]), h('tbody', dayDatas.map(function (rows) {
|
|
2200
|
+
return h('tr', rows.map(function (item) {
|
|
2201
|
+
return h('td', {
|
|
2202
|
+
class: {
|
|
2203
|
+
'is--prev': item.isPrev,
|
|
2204
|
+
'is--current': item.isCurrent,
|
|
2205
|
+
'is--now': item.isNow,
|
|
2206
|
+
'is--next': item.isNext,
|
|
2207
|
+
'is--disabled': $xeInput.isDateDisabled(item),
|
|
2208
|
+
'is--selected': multiple ? dateListValue.some(function (val) {
|
|
2209
|
+
return _xeUtils.default.isDateSame(val, item.date, matchFormat);
|
|
2210
|
+
}) : _xeUtils.default.isDateSame(dateValue, item.date, matchFormat),
|
|
2211
|
+
'is--hover': _xeUtils.default.isDateSame(datePanelValue, item.date, matchFormat)
|
|
2212
|
+
},
|
|
2213
|
+
on: {
|
|
2214
|
+
click: function click() {
|
|
2215
|
+
return $xeInput.dateSelectEvent(item);
|
|
2216
|
+
},
|
|
2217
|
+
mouseenter: function mouseenter() {
|
|
2218
|
+
return $xeInput.dateMouseenterEvent(item);
|
|
2219
|
+
}
|
|
2220
|
+
}
|
|
2221
|
+
}, $xeInput.renderDateLabel(h, item, item.label));
|
|
2222
|
+
}));
|
|
2223
|
+
}))])];
|
|
2224
|
+
},
|
|
2225
|
+
renderDateWeekTable: function renderDateWeekTable(h) {
|
|
2226
|
+
var $xeInput = this;
|
|
2227
|
+
var props = $xeInput;
|
|
2228
|
+
var reactData = $xeInput.reactData;
|
|
2229
|
+
var multiple = props.multiple;
|
|
2230
|
+
var datePanelType = reactData.datePanelType,
|
|
2231
|
+
datePanelValue = reactData.datePanelValue;
|
|
2232
|
+
var dateValue = $xeInput.computeDateValue;
|
|
2233
|
+
var weekHeaders = $xeInput.computeWeekHeaders;
|
|
2234
|
+
var weekDates = $xeInput.computeWeekDates;
|
|
2235
|
+
var dateListValue = $xeInput.computeDateListValue;
|
|
2236
|
+
var matchFormat = 'yyyyMMdd';
|
|
2237
|
+
return [h('table', {
|
|
2238
|
+
class: "vxe-input--date-".concat(datePanelType, "-view"),
|
|
2239
|
+
attrs: {
|
|
2240
|
+
cellspacing: 0,
|
|
2241
|
+
cellpadding: 0,
|
|
2242
|
+
border: 0
|
|
2243
|
+
}
|
|
2244
|
+
}, [h('thead', [h('tr', weekHeaders.map(function (item) {
|
|
2245
|
+
return h('th', item.label);
|
|
2246
|
+
}))]), h('tbody', weekDates.map(function (rows) {
|
|
2247
|
+
var isSelected = multiple ? rows.some(function (item) {
|
|
2248
|
+
return dateListValue.some(function (val) {
|
|
2249
|
+
return _xeUtils.default.isDateSame(val, item.date, matchFormat);
|
|
2250
|
+
});
|
|
2251
|
+
}) : rows.some(function (item) {
|
|
2252
|
+
return _xeUtils.default.isDateSame(dateValue, item.date, matchFormat);
|
|
2253
|
+
});
|
|
2254
|
+
var isHover = rows.some(function (item) {
|
|
2255
|
+
return _xeUtils.default.isDateSame(datePanelValue, item.date, matchFormat);
|
|
2256
|
+
});
|
|
2257
|
+
return h('tr', rows.map(function (item) {
|
|
2258
|
+
return h('td', {
|
|
2259
|
+
class: {
|
|
2260
|
+
'is--prev': item.isPrev,
|
|
2261
|
+
'is--current': item.isCurrent,
|
|
2262
|
+
'is--now': item.isNow,
|
|
2263
|
+
'is--next': item.isNext,
|
|
2264
|
+
'is--disabled': $xeInput.isDateDisabled(item),
|
|
2265
|
+
'is--selected': isSelected,
|
|
2266
|
+
'is--hover': isHover
|
|
2267
|
+
},
|
|
2268
|
+
on: {
|
|
2269
|
+
click: function click() {
|
|
2270
|
+
return $xeInput.dateSelectEvent(item);
|
|
2271
|
+
},
|
|
2272
|
+
mouseenter: function mouseenter() {
|
|
2273
|
+
return $xeInput.dateMouseenterEvent(item);
|
|
2274
|
+
}
|
|
2275
|
+
}
|
|
2276
|
+
}, $xeInput.renderDateLabel(h, item, item.label));
|
|
2277
|
+
}));
|
|
2278
|
+
}))])];
|
|
2279
|
+
},
|
|
2280
|
+
renderDateMonthTable: function renderDateMonthTable(h) {
|
|
2281
|
+
var $xeInput = this;
|
|
2282
|
+
var props = $xeInput;
|
|
2283
|
+
var reactData = $xeInput.reactData;
|
|
2284
|
+
var multiple = props.multiple;
|
|
2285
|
+
var datePanelType = reactData.datePanelType,
|
|
2286
|
+
datePanelValue = reactData.datePanelValue;
|
|
2287
|
+
var dateValue = $xeInput.computeDateValue;
|
|
2288
|
+
var monthDatas = $xeInput.computeMonthDatas;
|
|
2289
|
+
var dateListValue = $xeInput.computeDateListValue;
|
|
2290
|
+
var matchFormat = 'yyyyMM';
|
|
2291
|
+
return [h('table', {
|
|
2292
|
+
class: "vxe-input--date-".concat(datePanelType, "-view"),
|
|
2293
|
+
attrs: {
|
|
2294
|
+
cellspacing: 0,
|
|
2295
|
+
cellpadding: 0,
|
|
2296
|
+
border: 0
|
|
2297
|
+
}
|
|
2298
|
+
}, [h('tbody', monthDatas.map(function (rows) {
|
|
2299
|
+
return h('tr', rows.map(function (item) {
|
|
2300
|
+
return h('td', {
|
|
2301
|
+
class: {
|
|
2302
|
+
'is--prev': item.isPrev,
|
|
2303
|
+
'is--current': item.isCurrent,
|
|
2304
|
+
'is--now': item.isNow,
|
|
2305
|
+
'is--next': item.isNext,
|
|
2306
|
+
'is--disabled': $xeInput.isDateDisabled(item),
|
|
2307
|
+
'is--selected': multiple ? dateListValue.some(function (val) {
|
|
2308
|
+
return _xeUtils.default.isDateSame(val, item.date, matchFormat);
|
|
2309
|
+
}) : _xeUtils.default.isDateSame(dateValue, item.date, matchFormat),
|
|
2310
|
+
'is--hover': _xeUtils.default.isDateSame(datePanelValue, item.date, matchFormat)
|
|
2311
|
+
},
|
|
2312
|
+
on: {
|
|
2313
|
+
click: function click() {
|
|
2314
|
+
return $xeInput.dateSelectEvent(item);
|
|
2315
|
+
},
|
|
2316
|
+
mouseenter: function mouseenter() {
|
|
2317
|
+
return $xeInput.dateMouseenterEvent(item);
|
|
2318
|
+
}
|
|
2319
|
+
}
|
|
2320
|
+
}, $xeInput.renderDateLabel(h, item, (0, _ui.getI18n)("vxe.input.date.months.m".concat(item.month))));
|
|
2321
|
+
}));
|
|
2322
|
+
}))])];
|
|
2323
|
+
},
|
|
2324
|
+
renderDateQuarterTable: function renderDateQuarterTable(h) {
|
|
2325
|
+
var $xeInput = this;
|
|
2326
|
+
var props = $xeInput;
|
|
2327
|
+
var reactData = $xeInput.reactData;
|
|
2328
|
+
var multiple = props.multiple;
|
|
2329
|
+
var datePanelType = reactData.datePanelType,
|
|
2330
|
+
datePanelValue = reactData.datePanelValue;
|
|
2331
|
+
var dateValue = $xeInput.computeDateValue;
|
|
2332
|
+
var quarterDatas = $xeInput.computeQuarterDatas;
|
|
2333
|
+
var dateListValue = $xeInput.computeDateListValue;
|
|
2334
|
+
var matchFormat = 'yyyyq';
|
|
2335
|
+
return [h('table', {
|
|
2336
|
+
class: "vxe-input--date-".concat(datePanelType, "-view"),
|
|
2337
|
+
attrs: {
|
|
2338
|
+
cellspacing: 0,
|
|
2339
|
+
cellpadding: 0,
|
|
2340
|
+
border: 0
|
|
2341
|
+
}
|
|
2342
|
+
}, [h('tbody', quarterDatas.map(function (rows) {
|
|
2343
|
+
return h('tr', rows.map(function (item) {
|
|
2344
|
+
return h('td', {
|
|
2345
|
+
class: {
|
|
2346
|
+
'is--prev': item.isPrev,
|
|
2347
|
+
'is--current': item.isCurrent,
|
|
2348
|
+
'is--now': item.isNow,
|
|
2349
|
+
'is--next': item.isNext,
|
|
2350
|
+
'is--disabled': $xeInput.isDateDisabled(item),
|
|
2351
|
+
'is--selected': multiple ? dateListValue.some(function (val) {
|
|
2352
|
+
return _xeUtils.default.isDateSame(val, item.date, matchFormat);
|
|
2353
|
+
}) : _xeUtils.default.isDateSame(dateValue, item.date, matchFormat),
|
|
2354
|
+
'is--hover': _xeUtils.default.isDateSame(datePanelValue, item.date, matchFormat)
|
|
2355
|
+
},
|
|
2356
|
+
on: {
|
|
2357
|
+
click: function click() {
|
|
2358
|
+
return $xeInput.dateSelectEvent(item);
|
|
2359
|
+
},
|
|
2360
|
+
mouseenter: function mouseenter() {
|
|
2361
|
+
return $xeInput.dateMouseenterEvent(item);
|
|
2362
|
+
}
|
|
2363
|
+
}
|
|
2364
|
+
}, $xeInput.renderDateLabel(h, item, (0, _ui.getI18n)("vxe.input.date.quarters.q".concat(item.quarter))));
|
|
2365
|
+
}));
|
|
2366
|
+
}))])];
|
|
2367
|
+
},
|
|
2368
|
+
renderDateYearTable: function renderDateYearTable(h) {
|
|
2369
|
+
var $xeInput = this;
|
|
2370
|
+
var props = $xeInput;
|
|
2371
|
+
var reactData = $xeInput.reactData;
|
|
2372
|
+
var multiple = props.multiple;
|
|
2373
|
+
var datePanelType = reactData.datePanelType,
|
|
2374
|
+
datePanelValue = reactData.datePanelValue;
|
|
2375
|
+
var dateValue = $xeInput.computeDateValue;
|
|
2376
|
+
var yearDatas = $xeInput.computeYearDatas;
|
|
2377
|
+
var dateListValue = $xeInput.computeDateListValue;
|
|
2378
|
+
var matchFormat = 'yyyy';
|
|
2379
|
+
return [h('table', {
|
|
2380
|
+
class: "vxe-input--date-".concat(datePanelType, "-view"),
|
|
2381
|
+
attrs: {
|
|
2382
|
+
cellspacing: 0,
|
|
2383
|
+
cellpadding: 0,
|
|
2384
|
+
border: 0
|
|
2385
|
+
}
|
|
2386
|
+
}, [h('tbody', yearDatas.map(function (rows) {
|
|
2387
|
+
return h('tr', rows.map(function (item) {
|
|
2388
|
+
return h('td', {
|
|
2389
|
+
class: {
|
|
2390
|
+
'is--prev': item.isPrev,
|
|
2391
|
+
'is--current': item.isCurrent,
|
|
2392
|
+
'is--now': item.isNow,
|
|
2393
|
+
'is--next': item.isNext,
|
|
2394
|
+
'is--disabled': $xeInput.isDateDisabled(item),
|
|
2395
|
+
'is--selected': multiple ? dateListValue.some(function (val) {
|
|
2396
|
+
return _xeUtils.default.isDateSame(val, item.date, matchFormat);
|
|
2397
|
+
}) : _xeUtils.default.isDateSame(dateValue, item.date, matchFormat),
|
|
2398
|
+
'is--hover': _xeUtils.default.isDateSame(datePanelValue, item.date, matchFormat)
|
|
2399
|
+
},
|
|
2400
|
+
on: {
|
|
2401
|
+
click: function click() {
|
|
2402
|
+
return $xeInput.dateSelectEvent(item);
|
|
2403
|
+
},
|
|
2404
|
+
mouseenter: function mouseenter() {
|
|
2405
|
+
return $xeInput.dateMouseenterEvent(item);
|
|
2406
|
+
}
|
|
2407
|
+
}
|
|
2408
|
+
}, $xeInput.renderDateLabel(h, item, item.year));
|
|
2409
|
+
}));
|
|
2410
|
+
}))])];
|
|
2411
|
+
},
|
|
2412
|
+
renderDateTable: function renderDateTable(h) {
|
|
2413
|
+
var $xeInput = this;
|
|
2414
|
+
var reactData = $xeInput.reactData;
|
|
2415
|
+
var datePanelType = reactData.datePanelType;
|
|
2416
|
+
switch (datePanelType) {
|
|
2417
|
+
case 'week':
|
|
2418
|
+
return $xeInput.renderDateWeekTable(h);
|
|
2419
|
+
case 'month':
|
|
2420
|
+
return $xeInput.renderDateMonthTable(h);
|
|
2421
|
+
case 'quarter':
|
|
2422
|
+
return $xeInput.renderDateQuarterTable(h);
|
|
2423
|
+
case 'year':
|
|
2424
|
+
return $xeInput.renderDateYearTable(h);
|
|
2425
|
+
}
|
|
2426
|
+
return $xeInput.renderDateDayTable(h);
|
|
2427
|
+
},
|
|
2428
|
+
renderDatePanel: function renderDatePanel(h) {
|
|
2429
|
+
var $xeInput = this;
|
|
2430
|
+
var props = $xeInput;
|
|
2431
|
+
var reactData = $xeInput.reactData;
|
|
2432
|
+
var multiple = props.multiple;
|
|
2433
|
+
var datePanelType = reactData.datePanelType;
|
|
2434
|
+
var isDisabledPrevDateBtn = $xeInput.computeIsDisabledPrevDateBtn;
|
|
2435
|
+
var isDisabledNextDateBtn = $xeInput.computeIsDisabledNextDateBtn;
|
|
2436
|
+
var selectDatePanelLabel = $xeInput.computeSelectDatePanelLabel;
|
|
2437
|
+
return [h('div', {
|
|
2438
|
+
class: 'vxe-input--date-picker-header'
|
|
2439
|
+
}, [h('div', {
|
|
2440
|
+
class: 'vxe-input--date-picker-type-wrapper'
|
|
2441
|
+
}, [datePanelType === 'year' ? h('span', {
|
|
2442
|
+
class: 'vxe-input--date-picker-label'
|
|
2443
|
+
}, selectDatePanelLabel) : h('span', {
|
|
2444
|
+
class: 'vxe-input--date-picker-btn',
|
|
2445
|
+
on: {
|
|
2446
|
+
click: $xeInput.dateToggleTypeEvent
|
|
2447
|
+
}
|
|
2448
|
+
}, selectDatePanelLabel)]), h('div', {
|
|
2449
|
+
class: 'vxe-input--date-picker-btn-wrapper'
|
|
2450
|
+
}, [h('span', {
|
|
2451
|
+
class: ['vxe-input--date-picker-btn vxe-input--date-picker-prev-btn', {
|
|
2452
|
+
'is--disabled': isDisabledPrevDateBtn
|
|
2453
|
+
}],
|
|
2454
|
+
on: {
|
|
2455
|
+
click: $xeInput.datePrevEvent
|
|
2456
|
+
}
|
|
2457
|
+
}, [h('i', {
|
|
2458
|
+
class: 'vxe-icon-caret-left'
|
|
2459
|
+
})]), h('span', {
|
|
2460
|
+
class: 'vxe-input--date-picker-btn vxe-input--date-picker-current-btn',
|
|
2461
|
+
on: {
|
|
2462
|
+
click: $xeInput.dateTodayMonthEvent
|
|
2463
|
+
}
|
|
2464
|
+
}, [h('i', {
|
|
2465
|
+
class: 'vxe-icon-dot'
|
|
2466
|
+
})]), h('span', {
|
|
2467
|
+
class: ['vxe-input--date-picker-btn vxe-input--date-picker-next-btn', {
|
|
2468
|
+
'is--disabled': isDisabledNextDateBtn
|
|
2469
|
+
}],
|
|
2470
|
+
on: {
|
|
2471
|
+
click: $xeInput.dateNextEvent
|
|
2472
|
+
}
|
|
2473
|
+
}, [h('i', {
|
|
2474
|
+
class: 'vxe-icon-caret-right'
|
|
2475
|
+
})]), multiple && $xeInput.computeSupportMultiples ? h('span', {
|
|
2476
|
+
class: 'vxe-input--date-picker-btn vxe-input--date-picker-confirm-btn'
|
|
2477
|
+
}, [h('button', {
|
|
2478
|
+
class: 'vxe-input--date-picker-confirm',
|
|
2479
|
+
attrs: {
|
|
2480
|
+
type: 'button'
|
|
2481
|
+
},
|
|
2482
|
+
on: {
|
|
2483
|
+
click: $xeInput.dateConfirmEvent
|
|
2484
|
+
}
|
|
2485
|
+
}, (0, _ui.getI18n)('vxe.button.confirm'))]) : null])]), h('div', {
|
|
2486
|
+
class: 'vxe-input--date-picker-body'
|
|
2487
|
+
}, $xeInput.renderDateTable(h))];
|
|
2488
|
+
},
|
|
2489
|
+
renderTimePanel: function renderTimePanel(h) {
|
|
2490
|
+
var $xeInput = this;
|
|
2491
|
+
var reactData = $xeInput.reactData;
|
|
2492
|
+
var datetimePanelValue = reactData.datetimePanelValue;
|
|
2493
|
+
var dateTimeLabel = $xeInput.computeDateTimeLabel;
|
|
2494
|
+
var hourList = $xeInput.computeHourList;
|
|
2495
|
+
var hasTimeMinute = $xeInput.computeHasTimeMinute;
|
|
2496
|
+
var minuteList = $xeInput.computeMinuteList;
|
|
2497
|
+
var hasTimeSecond = $xeInput.computeHasTimeSecond;
|
|
2498
|
+
var secondList = $xeInput.computeSecondList;
|
|
2499
|
+
return [h('div', {
|
|
2500
|
+
class: 'vxe-input--time-picker-header'
|
|
2501
|
+
}, [hasTimeMinute ? h('span', {
|
|
2502
|
+
class: 'vxe-input--time-picker-title'
|
|
2503
|
+
}, dateTimeLabel) : (0, _ui.renderEmptyElement)($xeInput), h('div', {
|
|
2504
|
+
class: 'vxe-input--time-picker-btn'
|
|
2505
|
+
}, [h('button', {
|
|
2506
|
+
class: 'vxe-input--time-picker-confirm',
|
|
2507
|
+
attrs: {
|
|
2508
|
+
type: 'button'
|
|
2509
|
+
},
|
|
2510
|
+
on: {
|
|
2511
|
+
click: $xeInput.dateConfirmEvent
|
|
2512
|
+
}
|
|
2513
|
+
}, (0, _ui.getI18n)('vxe.button.confirm'))])]), h('div', {
|
|
2514
|
+
ref: 'refInputTimeBody',
|
|
2515
|
+
class: 'vxe-input--time-picker-body'
|
|
2516
|
+
}, [h('ul', {
|
|
2517
|
+
class: 'vxe-input--time-picker-hour-list'
|
|
2518
|
+
}, hourList.map(function (item, index) {
|
|
2519
|
+
return h('li', {
|
|
2520
|
+
key: index,
|
|
2521
|
+
class: {
|
|
2522
|
+
'is--selected': datetimePanelValue && datetimePanelValue.getHours() === item.value
|
|
2523
|
+
},
|
|
2524
|
+
on: {
|
|
2525
|
+
click: function click(evnt) {
|
|
2526
|
+
return $xeInput.dateHourEvent(evnt, item);
|
|
2527
|
+
}
|
|
2528
|
+
}
|
|
2529
|
+
}, item.label);
|
|
2530
|
+
})), hasTimeMinute ? h('ul', {
|
|
2531
|
+
class: 'vxe-input--time-picker-minute-list'
|
|
2532
|
+
}, minuteList.map(function (item, index) {
|
|
2533
|
+
return h('li', {
|
|
2534
|
+
key: index,
|
|
2535
|
+
class: {
|
|
2536
|
+
'is--selected': datetimePanelValue && datetimePanelValue.getMinutes() === item.value
|
|
2537
|
+
},
|
|
2538
|
+
on: {
|
|
2539
|
+
click: function click(evnt) {
|
|
2540
|
+
return $xeInput.dateMinuteEvent(evnt, item);
|
|
2541
|
+
}
|
|
2542
|
+
}
|
|
2543
|
+
}, item.label);
|
|
2544
|
+
})) : (0, _ui.renderEmptyElement)($xeInput), hasTimeMinute && hasTimeSecond ? h('ul', {
|
|
2545
|
+
class: 'vxe-input--time-picker-second-list'
|
|
2546
|
+
}, secondList.map(function (item, index) {
|
|
2547
|
+
return h('li', {
|
|
2548
|
+
key: index,
|
|
2549
|
+
class: {
|
|
2550
|
+
'is--selected': datetimePanelValue && datetimePanelValue.getSeconds() === item.value
|
|
2551
|
+
},
|
|
2552
|
+
on: {
|
|
2553
|
+
click: function click(evnt) {
|
|
2554
|
+
return $xeInput.dateSecondEvent(evnt, item);
|
|
2555
|
+
}
|
|
2556
|
+
}
|
|
2557
|
+
}, item.label);
|
|
2558
|
+
})) : (0, _ui.renderEmptyElement)($xeInput)])];
|
|
2559
|
+
},
|
|
2560
|
+
renderPanel: function renderPanel(h) {
|
|
2561
|
+
var $xeInput = this;
|
|
2562
|
+
var props = $xeInput;
|
|
2563
|
+
var reactData = $xeInput.reactData;
|
|
2564
|
+
var type = props.type;
|
|
2565
|
+
var initialized = reactData.initialized,
|
|
2566
|
+
isAniVisible = reactData.isAniVisible,
|
|
2567
|
+
visiblePanel = reactData.visiblePanel,
|
|
2568
|
+
panelPlacement = reactData.panelPlacement,
|
|
2569
|
+
panelStyle = reactData.panelStyle;
|
|
2570
|
+
var vSize = $xeInput.computeSize;
|
|
2571
|
+
var btnTransfer = $xeInput.computeBtnTransfer;
|
|
2572
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
2573
|
+
var renders = [];
|
|
2574
|
+
if (isDatePickerType) {
|
|
2575
|
+
if (type === 'datetime') {
|
|
2576
|
+
renders.push(h('div', {
|
|
2577
|
+
key: type,
|
|
2578
|
+
ref: 'refPanelWrapper',
|
|
2579
|
+
class: 'vxe-input--panel-layout-wrapper'
|
|
2580
|
+
}, [h('div', {
|
|
2581
|
+
class: 'vxe-input--panel-left-wrapper'
|
|
2582
|
+
}, $xeInput.renderDatePanel(h)), h('div', {
|
|
2583
|
+
class: 'vxe-input--panel-right-wrapper'
|
|
2584
|
+
}, $xeInput.renderTimePanel(h))]));
|
|
2585
|
+
} else if (type === 'time') {
|
|
2586
|
+
renders.push(h('div', {
|
|
2587
|
+
key: type,
|
|
2588
|
+
ref: 'refPanelWrapper',
|
|
2589
|
+
class: 'vxe-input--panel-wrapper'
|
|
2590
|
+
}, $xeInput.renderTimePanel(h)));
|
|
2591
|
+
} else {
|
|
2592
|
+
renders.push(h('div', {
|
|
2593
|
+
key: type || 'default',
|
|
2594
|
+
ref: 'refPanelWrapper',
|
|
2595
|
+
class: 'vxe-input--panel-wrapper'
|
|
2596
|
+
}, $xeInput.renderDatePanel(h)));
|
|
2597
|
+
}
|
|
2598
|
+
return h('div', {
|
|
2599
|
+
ref: 'refInputPanel',
|
|
2600
|
+
class: ['vxe-table--ignore-clear vxe-input--panel', "type--".concat(type), _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--transfer', btnTransfer), 'ani--leave', isAniVisible), 'ani--enter', visiblePanel)],
|
|
2601
|
+
attrs: {
|
|
2602
|
+
placement: panelPlacement
|
|
2603
|
+
},
|
|
2604
|
+
style: panelStyle
|
|
2605
|
+
}, initialized ? renders : []);
|
|
2606
|
+
}
|
|
2607
|
+
return (0, _ui.renderEmptyElement)($xeInput);
|
|
2608
|
+
},
|
|
2609
|
+
renderNumberIcon: function renderNumberIcon(h) {
|
|
2610
|
+
var $xeInput = this;
|
|
2611
|
+
var isDisabledAddNumber = $xeInput.computeIsDisabledAddNumber;
|
|
2612
|
+
var isDisabledSubtractNumber = $xeInput.computeIsDisabledSubtractNumber;
|
|
2613
|
+
return h('div', {
|
|
2614
|
+
class: 'vxe-input--control-icon'
|
|
2615
|
+
}, [h('div', {
|
|
2616
|
+
class: 'vxe-input--number-icon'
|
|
2617
|
+
}, [h('div', {
|
|
2618
|
+
class: ['vxe-input--number-btn is--prev', {
|
|
2619
|
+
'is--disabled': isDisabledAddNumber
|
|
2620
|
+
}],
|
|
2621
|
+
on: {
|
|
2622
|
+
mousedown: $xeInput.numberMousedownEvent,
|
|
2623
|
+
mouseup: $xeInput.numberStopDown,
|
|
2624
|
+
mouseleave: $xeInput.numberStopDown
|
|
2625
|
+
}
|
|
2626
|
+
}, [h('i', {
|
|
2627
|
+
class: (0, _ui.getIcon)().NUMBER_INPUT_PREV_NUM
|
|
2628
|
+
})]), h('div', {
|
|
2629
|
+
class: ['vxe-input--number-btn is--next', {
|
|
2630
|
+
'is--disabled': isDisabledSubtractNumber
|
|
2631
|
+
}],
|
|
2632
|
+
on: {
|
|
2633
|
+
mousedown: $xeInput.numberMousedownEvent,
|
|
2634
|
+
mouseup: $xeInput.numberStopDown,
|
|
2635
|
+
mouseleave: $xeInput.numberStopDown
|
|
2636
|
+
}
|
|
2637
|
+
}, [h('i', {
|
|
2638
|
+
class: (0, _ui.getIcon)().NUMBER_INPUT_NEXT_NUM
|
|
2639
|
+
})])])]);
|
|
2640
|
+
},
|
|
2641
|
+
renderDatePickerIcon: function renderDatePickerIcon(h) {
|
|
2642
|
+
var $xeInput = this;
|
|
2643
|
+
return h('div', {
|
|
2644
|
+
class: 'vxe-input--control-icon',
|
|
2645
|
+
on: {
|
|
2646
|
+
click: $xeInput.datePickerOpenEvent
|
|
2647
|
+
}
|
|
2648
|
+
}, [h('i', {
|
|
2649
|
+
class: ['vxe-input--date-picker-icon', (0, _ui.getIcon)().DATE_PICKER_DATE]
|
|
2650
|
+
})]);
|
|
2651
|
+
},
|
|
2652
|
+
renderSearchIcon: function renderSearchIcon(h) {
|
|
2653
|
+
var $xeInput = this;
|
|
2654
|
+
return h('div', {
|
|
2655
|
+
class: 'vxe-input--control-icon',
|
|
2656
|
+
on: {
|
|
2657
|
+
click: $xeInput.searchEvent
|
|
2658
|
+
}
|
|
2659
|
+
}, [h('i', {
|
|
2660
|
+
class: ['vxe-input--search-icon', (0, _ui.getIcon)().INPUT_SEARCH]
|
|
2661
|
+
})]);
|
|
2662
|
+
},
|
|
2663
|
+
renderPasswordIcon: function renderPasswordIcon(h) {
|
|
2664
|
+
var $xeInput = this;
|
|
2665
|
+
var reactData = $xeInput.reactData;
|
|
2666
|
+
var showPwd = reactData.showPwd;
|
|
2667
|
+
return h('div', {
|
|
2668
|
+
class: 'vxe-input--control-icon',
|
|
2669
|
+
on: {
|
|
2670
|
+
click: $xeInput.passwordToggleEvent
|
|
2671
|
+
}
|
|
2672
|
+
}, [h('i', {
|
|
2673
|
+
class: ['vxe-input--password-icon', showPwd ? (0, _ui.getIcon)().PASSWORD_INPUT_SHOW_PWD : (0, _ui.getIcon)().PASSWORD_INPUT_HIDE_PWD]
|
|
2674
|
+
})]);
|
|
2675
|
+
},
|
|
2676
|
+
renderPrefixIcon: function renderPrefixIcon(h) {
|
|
2677
|
+
var $xeInput = this;
|
|
2678
|
+
var props = $xeInput;
|
|
2679
|
+
var slots = $xeInput.$scopedSlots;
|
|
2680
|
+
var prefixIcon = props.prefixIcon;
|
|
2681
|
+
var prefixSlot = slots.prefix;
|
|
2682
|
+
return prefixSlot || prefixIcon ? h('div', {
|
|
2683
|
+
class: 'vxe-input--prefix',
|
|
2684
|
+
on: {
|
|
2685
|
+
click: $xeInput.clickPrefixEvent
|
|
2686
|
+
}
|
|
2687
|
+
}, [h('div', {
|
|
2688
|
+
class: 'vxe-input--prefix-icon'
|
|
2689
|
+
}, prefixSlot ? (0, _vn.getSlotVNs)(prefixSlot({})) : [h('i', {
|
|
2690
|
+
class: prefixIcon
|
|
2691
|
+
})])]) : null;
|
|
2692
|
+
},
|
|
2693
|
+
renderSuffixIcon: function renderSuffixIcon(h) {
|
|
2694
|
+
var $xeInput = this;
|
|
2695
|
+
var props = $xeInput;
|
|
2696
|
+
var slots = $xeInput.$scopedSlots;
|
|
2697
|
+
var reactData = $xeInput.reactData;
|
|
2698
|
+
var suffixIcon = props.suffixIcon;
|
|
2699
|
+
var inputValue = reactData.inputValue;
|
|
2700
|
+
var suffixSlot = slots.suffix;
|
|
2701
|
+
var isDisabled = $xeInput.computeIsDisabled;
|
|
2702
|
+
var isNumType = $xeInput.computeIsNumType;
|
|
2703
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
2704
|
+
var isPawdType = $xeInput.computeIsPawdType;
|
|
2705
|
+
var isSearchType = $xeInput.computeIsSearchType;
|
|
2706
|
+
var isClearable = $xeInput.computeIsClearable;
|
|
2707
|
+
var isExtraBtn = isPawdType || isNumType || isDatePickerType || isSearchType;
|
|
2708
|
+
return isClearable || suffixSlot || suffixIcon || isExtraBtn ? h('div', {
|
|
2709
|
+
class: ['vxe-input--suffix', {
|
|
2710
|
+
'is--clear': isClearable && !isDisabled && !(inputValue === '' || _xeUtils.default.eqNull(inputValue))
|
|
2711
|
+
}]
|
|
2712
|
+
}, [isClearable ? h('div', {
|
|
2713
|
+
class: 'vxe-input--clear-icon',
|
|
2714
|
+
on: {
|
|
2715
|
+
click: $xeInput.clearValueEvent
|
|
2716
|
+
}
|
|
2717
|
+
}, [h('i', {
|
|
2718
|
+
class: (0, _ui.getIcon)().INPUT_CLEAR
|
|
2719
|
+
})]) : (0, _ui.renderEmptyElement)($xeInput), isExtraBtn ? $xeInput.renderExtraSuffixIcon(h) : (0, _ui.renderEmptyElement)($xeInput), suffixSlot || suffixIcon ? h('div', {
|
|
2720
|
+
class: 'vxe-input--suffix-icon',
|
|
2721
|
+
on: {
|
|
2722
|
+
click: $xeInput.clickSuffixEvent
|
|
2723
|
+
}
|
|
2724
|
+
}, suffixSlot ? (0, _vn.getSlotVNs)(suffixSlot({})) : [h('i', {
|
|
2725
|
+
class: suffixIcon
|
|
2726
|
+
})]) : (0, _ui.renderEmptyElement)($xeInput)]) : null;
|
|
2727
|
+
},
|
|
2728
|
+
renderExtraSuffixIcon: function renderExtraSuffixIcon(h) {
|
|
2729
|
+
var $xeInput = this;
|
|
2730
|
+
var props = $xeInput;
|
|
2731
|
+
var controls = props.controls;
|
|
2732
|
+
var isNumType = $xeInput.computeIsNumType;
|
|
2733
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
2734
|
+
var isPawdType = $xeInput.computeIsPawdType;
|
|
2735
|
+
var isSearchType = $xeInput.computeIsSearchType;
|
|
2736
|
+
if (isPawdType) {
|
|
2737
|
+
return $xeInput.renderPasswordIcon(h);
|
|
2738
|
+
}
|
|
2739
|
+
if (isNumType) {
|
|
2740
|
+
if (controls) {
|
|
2741
|
+
return $xeInput.renderNumberIcon(h);
|
|
2742
|
+
}
|
|
2743
|
+
}
|
|
2744
|
+
if (isDatePickerType) {
|
|
2745
|
+
return $xeInput.renderDatePickerIcon(h);
|
|
2746
|
+
}
|
|
2747
|
+
if (isSearchType) {
|
|
2748
|
+
return $xeInput.renderSearchIcon(h);
|
|
2749
|
+
}
|
|
2750
|
+
return (0, _ui.renderEmptyElement)($xeInput);
|
|
2751
|
+
},
|
|
2752
|
+
renderVN: function renderVN(h) {
|
|
2753
|
+
var $xeInput = this;
|
|
2754
|
+
var props = $xeInput;
|
|
2755
|
+
var reactData = $xeInput.reactData;
|
|
2756
|
+
var className = props.className,
|
|
2757
|
+
controls = props.controls,
|
|
2758
|
+
type = props.type,
|
|
2759
|
+
align = props.align,
|
|
2760
|
+
showWordCount = props.showWordCount,
|
|
2761
|
+
countMethod = props.countMethod,
|
|
2762
|
+
name = props.name,
|
|
2763
|
+
autoComplete = props.autoComplete,
|
|
2764
|
+
autocomplete = props.autocomplete;
|
|
2765
|
+
var inputValue = reactData.inputValue,
|
|
2766
|
+
visiblePanel = reactData.visiblePanel,
|
|
2767
|
+
isActivated = reactData.isActivated;
|
|
2768
|
+
var vSize = $xeInput.computeSize;
|
|
2769
|
+
var isDisabled = $xeInput.computeIsDisabled;
|
|
2770
|
+
var formReadonly = $xeInput.computeFormReadonly;
|
|
2771
|
+
if (formReadonly) {
|
|
2772
|
+
return h('div', {
|
|
2773
|
+
ref: 'refElem',
|
|
2774
|
+
class: ['vxe-input--readonly', "type--".concat(type), className]
|
|
2775
|
+
}, inputValue);
|
|
2776
|
+
}
|
|
2777
|
+
var isCountError = $xeInput.computeIsCountError;
|
|
2778
|
+
var inputCount = $xeInput.computeInputCount;
|
|
2779
|
+
var inputReadonly = $xeInput.computeInputReadonly;
|
|
2780
|
+
var inpMaxLength = $xeInput.computeInpMaxLength;
|
|
2781
|
+
var inputType = $xeInput.computeInputType;
|
|
2782
|
+
var inpPlaceholder = $xeInput.computeInpPlaceholder;
|
|
2783
|
+
var isClearable = $xeInput.computeIsClearable;
|
|
2784
|
+
var isWordCount = showWordCount && ['text', 'search'].includes(type);
|
|
2785
|
+
var prefix = $xeInput.renderPrefixIcon(h);
|
|
2786
|
+
var suffix = $xeInput.renderSuffixIcon(h);
|
|
2787
|
+
return h('div', {
|
|
2788
|
+
ref: 'refElem',
|
|
2789
|
+
class: ['vxe-input', "type--".concat(type), className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), "is--".concat(align), align), 'is--controls', controls), 'is--prefix', !!prefix), 'is--suffix', !!suffix), 'is--visible', visiblePanel), 'is--count', isWordCount), 'is--disabled', isDisabled), 'is--active', isActivated), 'show--clear', isClearable && !isDisabled && !(inputValue === '' || _xeUtils.default.eqNull(inputValue)))],
|
|
2790
|
+
attrs: {
|
|
2791
|
+
spellcheck: false
|
|
2792
|
+
}
|
|
2793
|
+
}, [prefix || (0, _ui.renderEmptyElement)($xeInput), h('div', {
|
|
2794
|
+
class: 'vxe-input--wrapper'
|
|
2795
|
+
}, [h('input', {
|
|
2796
|
+
ref: 'refInputTarget',
|
|
2797
|
+
class: 'vxe-input--inner',
|
|
2798
|
+
domProps: {
|
|
2799
|
+
value: inputValue
|
|
2800
|
+
},
|
|
2801
|
+
attrs: {
|
|
2802
|
+
name: name,
|
|
2803
|
+
type: inputType,
|
|
2804
|
+
placeholder: inpPlaceholder,
|
|
2805
|
+
maxlength: inpMaxLength,
|
|
2806
|
+
readonly: inputReadonly,
|
|
2807
|
+
disabled: isDisabled,
|
|
2808
|
+
autocomplete: autoComplete || autocomplete
|
|
2809
|
+
},
|
|
2810
|
+
on: {
|
|
2811
|
+
keydown: $xeInput.keydownEvent,
|
|
2812
|
+
keyup: $xeInput.keyupEvent,
|
|
2813
|
+
wheel: $xeInput.wheelEvent,
|
|
2814
|
+
click: $xeInput.clickEvent,
|
|
2815
|
+
input: $xeInput.inputEvent,
|
|
2816
|
+
change: $xeInput.changeEvent,
|
|
2817
|
+
focus: $xeInput.focusEvent,
|
|
2818
|
+
blur: $xeInput.blurEvent
|
|
2819
|
+
}
|
|
2820
|
+
})]), suffix || (0, _ui.renderEmptyElement)($xeInput),
|
|
2821
|
+
// 下拉面板
|
|
2822
|
+
$xeInput.renderPanel(h),
|
|
2823
|
+
// 字数统计
|
|
2824
|
+
isWordCount ? h('span', {
|
|
2825
|
+
class: ['vxe-input--count', {
|
|
2826
|
+
'is--error': isCountError
|
|
2827
|
+
}]
|
|
2828
|
+
}, countMethod ? "".concat(countMethod({
|
|
2829
|
+
value: inputValue
|
|
2830
|
+
})) : "".concat(inputCount).concat(inpMaxLength ? "/".concat(inpMaxLength) : '')) : (0, _ui.renderEmptyElement)($xeInput)]);
|
|
2831
|
+
}
|
|
2832
|
+
},
|
|
2833
|
+
watch: {
|
|
2834
|
+
value: function value(val) {
|
|
2835
|
+
var $xeInput = this;
|
|
2836
|
+
var reactData = $xeInput.reactData;
|
|
2837
|
+
reactData.inputValue = val;
|
|
2838
|
+
$xeInput.changeValue();
|
|
2839
|
+
},
|
|
2840
|
+
type: function type() {
|
|
2841
|
+
var $xeInput = this;
|
|
2842
|
+
var props = $xeInput;
|
|
2843
|
+
var reactData = $xeInput.reactData;
|
|
2844
|
+
// 切换类型是重置内置变量
|
|
2845
|
+
Object.assign(reactData, {
|
|
2846
|
+
inputValue: props.value,
|
|
2847
|
+
datetimePanelValue: null,
|
|
2848
|
+
datePanelValue: null,
|
|
2849
|
+
datePanelLabel: '',
|
|
2850
|
+
datePanelType: 'day',
|
|
2851
|
+
selectMonth: null,
|
|
2852
|
+
currentDate: null
|
|
2853
|
+
});
|
|
2854
|
+
$xeInput.initValue();
|
|
2855
|
+
},
|
|
2856
|
+
computeDateLabelFormat: function computeDateLabelFormat() {
|
|
2857
|
+
var $xeInput = this;
|
|
2858
|
+
var props = $xeInput;
|
|
2859
|
+
var reactData = $xeInput.reactData;
|
|
2860
|
+
var isDatePickerType = $xeInput.computeIsDatePickerType;
|
|
2861
|
+
if (isDatePickerType) {
|
|
2862
|
+
$xeInput.dateParseValue(reactData.datePanelValue);
|
|
2863
|
+
reactData.inputValue = props.multiple ? $xeInput.computeDateMultipleLabel : reactData.datePanelLabel;
|
|
2864
|
+
}
|
|
2865
|
+
}
|
|
2866
|
+
},
|
|
2867
|
+
created: function created() {
|
|
2868
|
+
var $xeInput = this;
|
|
2869
|
+
var props = $xeInput;
|
|
2870
|
+
var reactData = $xeInput.reactData;
|
|
2871
|
+
reactData.inputValue = props.value;
|
|
2872
|
+
$xeInput.initValue();
|
|
2873
|
+
},
|
|
2874
|
+
mounted: function mounted() {
|
|
2875
|
+
var $xeInput = this;
|
|
2876
|
+
_ui.globalEvents.on($xeInput, 'mousewheel', $xeInput.handleGlobalMousewheelEvent);
|
|
2877
|
+
_ui.globalEvents.on($xeInput, 'mousedown', $xeInput.handleGlobalMousedownEvent);
|
|
2878
|
+
_ui.globalEvents.on($xeInput, 'keydown', $xeInput.handleGlobalKeydownEvent);
|
|
2879
|
+
_ui.globalEvents.on($xeInput, 'blur', $xeInput.handleGlobalBlurEvent);
|
|
2880
|
+
},
|
|
2881
|
+
beforeDestroy: function beforeDestroy() {
|
|
2882
|
+
var $xeInput = this;
|
|
2883
|
+
var panelElem = $xeInput.$refs.refInputPanel;
|
|
2884
|
+
if (panelElem && panelElem.parentNode) {
|
|
2885
|
+
panelElem.parentNode.removeChild(panelElem);
|
|
2886
|
+
}
|
|
2887
|
+
$xeInput.numberStopDown();
|
|
2888
|
+
$xeInput.afterCheckValue();
|
|
2889
|
+
_ui.globalEvents.off($xeInput, 'mousewheel');
|
|
2890
|
+
_ui.globalEvents.off($xeInput, 'mousedown');
|
|
2891
|
+
_ui.globalEvents.off($xeInput, 'keydown');
|
|
2892
|
+
_ui.globalEvents.off($xeInput, 'blur');
|
|
2893
|
+
},
|
|
2894
|
+
render: function render(h) {
|
|
2895
|
+
return this.renderVN(h);
|
|
2896
|
+
}
|
|
2897
|
+
});
|