element-ui-for-gov
Version:
element-ui for gov
1,482 lines (1,365 loc) • 251 kB
JavaScript
module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/dist/";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 282);
/******/ })
/************************************************************************/
/******/ ({
/***/ 0:
/***/ (function(module, exports) {
module.exports = require("element-ui-for-gov/lib/utils/date-util");
/***/ }),
/***/ 1:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
/* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
function normalizeComponent (
scriptExports,
render,
staticRenderFns,
functionalTemplate,
injectStyles,
scopeId,
moduleIdentifier, /* server only */
shadowMode /* vue-cli only */
) {
// Vue.extend constructor export interop
var options = typeof scriptExports === 'function'
? scriptExports.options
: scriptExports
// render functions
if (render) {
options.render = render
options.staticRenderFns = staticRenderFns
options._compiled = true
}
// functional template
if (functionalTemplate) {
options.functional = true
}
// scopedId
if (scopeId) {
options._scopeId = 'data-v-' + scopeId
}
var hook
if (moduleIdentifier) { // server build
hook = function (context) {
// 2.3 injection
context =
context || // cached call
(this.$vnode && this.$vnode.ssrContext) || // stateful
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
// 2.2 with runInNewContext: true
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__
}
// inject component styles
if (injectStyles) {
injectStyles.call(this, context)
}
// register component module identifier for async chunk inferrence
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier)
}
}
// used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister = hook
} else if (injectStyles) {
hook = shadowMode
? function () {
injectStyles.call(
this,
(options.functional ? this.parent : this).$root.$options.shadowRoot
)
}
: injectStyles
}
if (hook) {
if (options.functional) {
// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles = hook
// register for functional component in vue file
var originalRender = options.render
options.render = function renderWithStyleInjection (h, context) {
hook.call(context)
return originalRender(h, context)
}
} else {
// inject component registration as beforeCreate hook
var existing = options.beforeCreate
options.beforeCreate = existing
? [].concat(existing, hook)
: [hook]
}
}
return {
exports: scriptExports,
options: options
}
}
/***/ }),
/***/ 11:
/***/ (function(module, exports) {
module.exports = require("element-ui-for-gov/lib/utils/merge");
/***/ }),
/***/ 12:
/***/ (function(module, exports) {
module.exports = require("element-ui-for-gov/lib/utils/clickoutside");
/***/ }),
/***/ 13:
/***/ (function(module, exports) {
module.exports = require("element-ui-for-gov/lib/scrollbar");
/***/ }),
/***/ 2:
/***/ (function(module, exports) {
module.exports = require("element-ui-for-gov/lib/utils/util");
/***/ }),
/***/ 27:
/***/ (function(module, exports) {
module.exports = require("element-ui-for-gov/lib/utils/scroll-into-view");
/***/ }),
/***/ 28:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time.vue?vue&type=template&id=3d939089&
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"transition",
{
attrs: { name: "el-zoom-in-top" },
on: {
"after-leave": function($event) {
_vm.$emit("dodestroy")
}
}
},
[
_c(
"div",
{
directives: [
{
name: "show",
rawName: "v-show",
value: _vm.visible,
expression: "visible"
}
],
staticClass: "el-time-panel el-popper",
class: _vm.popperClass
},
[
_c(
"div",
{
staticClass: "el-time-panel__content",
class: { "has-seconds": _vm.showSeconds }
},
[
_c("time-spinner", {
ref: "spinner",
attrs: {
"arrow-control": _vm.useArrow,
"show-seconds": _vm.showSeconds,
"am-pm-mode": _vm.amPmMode,
date: _vm.date
},
on: {
change: _vm.handleChange,
"select-range": _vm.setSelectionRange
}
})
],
1
),
_c("div", { staticClass: "el-time-panel__footer" }, [
_c(
"button",
{
staticClass: "el-time-panel__btn cancel",
attrs: { type: "button" },
on: { click: _vm.handleCancel }
},
[_vm._v(_vm._s(_vm.t("el.datepicker.cancel")))]
),
_c(
"button",
{
staticClass: "el-time-panel__btn",
class: { confirm: !_vm.disabled },
attrs: { type: "button" },
on: {
click: function($event) {
_vm.handleConfirm()
}
}
},
[_vm._v(_vm._s(_vm.t("el.datepicker.confirm")))]
)
])
]
)
]
)
}
var staticRenderFns = []
render._withStripped = true
// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue?vue&type=template&id=3d939089&
// EXTERNAL MODULE: external "element-ui-for-gov/lib/utils/date-util"
var date_util_ = __webpack_require__(0);
// EXTERNAL MODULE: external "element-ui-for-gov/lib/mixins/locale"
var locale_ = __webpack_require__(7);
var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
// EXTERNAL MODULE: ./packages/date-picker/src/basic/time-spinner.vue + 5 modules
var time_spinner = __webpack_require__(37);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/time.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var timevue_type_script_lang_js_ = ({
mixins: [locale_default.a],
components: {
TimeSpinner: time_spinner["a" /* default */]
},
props: {
visible: Boolean,
timeArrowControl: Boolean
},
watch: {
visible: function visible(val) {
var _this = this;
if (val) {
this.oldValue = this.value;
this.$nextTick(function () {
return _this.$refs.spinner.emitSelectRange('hours');
});
} else {
this.needInitAdjust = true;
}
},
value: function value(newVal) {
var _this2 = this;
var date = void 0;
if (newVal instanceof Date) {
date = Object(date_util_["limitTimeRange"])(newVal, this.selectableRange, this.format);
} else if (!newVal) {
date = this.defaultValue ? new Date(this.defaultValue) : new Date();
}
this.date = date;
if (this.visible && this.needInitAdjust) {
this.$nextTick(function (_) {
return _this2.adjustSpinners();
});
this.needInitAdjust = false;
}
},
selectableRange: function selectableRange(val) {
this.$refs.spinner.selectableRange = val;
},
defaultValue: function defaultValue(val) {
if (!Object(date_util_["isDate"])(this.value)) {
this.date = val ? new Date(val) : new Date();
}
}
},
data: function data() {
return {
popperClass: '',
format: 'HH:mm:ss',
value: '',
defaultValue: null,
date: new Date(),
oldValue: new Date(),
selectableRange: [],
selectionRange: [0, 2],
disabled: false,
arrowControl: false,
needInitAdjust: true
};
},
computed: {
showSeconds: function showSeconds() {
return (this.format || '').indexOf('ss') !== -1;
},
useArrow: function useArrow() {
return this.arrowControl || this.timeArrowControl || false;
},
amPmMode: function amPmMode() {
if ((this.format || '').indexOf('A') !== -1) return 'A';
if ((this.format || '').indexOf('a') !== -1) return 'a';
return '';
}
},
methods: {
handleCancel: function handleCancel() {
this.$emit('pick', this.oldValue, false);
},
handleChange: function handleChange(date) {
// this.visible avoids edge cases, when use scrolls during panel closing animation
if (this.visible) {
this.date = Object(date_util_["clearMilliseconds"])(date);
// if date is out of range, do not emit
if (this.isValidValue(this.date)) {
this.$emit('pick', this.date, true);
}
}
},
setSelectionRange: function setSelectionRange(start, end) {
this.$emit('select-range', start, end);
this.selectionRange = [start, end];
},
handleConfirm: function handleConfirm() {
var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
var first = arguments[1];
if (first) return;
var date = Object(date_util_["clearMilliseconds"])(Object(date_util_["limitTimeRange"])(this.date, this.selectableRange, this.format));
this.$emit('pick', date, visible, first);
},
handleKeydown: function handleKeydown(event) {
var keyCode = event.keyCode;
var mapping = { 38: -1, 40: 1, 37: -1, 39: 1 };
// Left or Right
if (keyCode === 37 || keyCode === 39) {
var step = mapping[keyCode];
this.changeSelectionRange(step);
event.preventDefault();
return;
}
// Up or Down
if (keyCode === 38 || keyCode === 40) {
var _step = mapping[keyCode];
this.$refs.spinner.scrollDown(_step);
event.preventDefault();
return;
}
},
isValidValue: function isValidValue(date) {
return Object(date_util_["timeWithinRange"])(date, this.selectableRange, this.format);
},
adjustSpinners: function adjustSpinners() {
return this.$refs.spinner.adjustSpinners();
},
changeSelectionRange: function changeSelectionRange(step) {
var list = [0, 3].concat(this.showSeconds ? [6] : []);
var mapping = ['hours', 'minutes'].concat(this.showSeconds ? ['seconds'] : []);
var index = list.indexOf(this.selectionRange[0]);
var next = (index + step + list.length) % list.length;
this.$refs.spinner.emitSelectRange(mapping[next]);
}
},
mounted: function mounted() {
var _this3 = this;
this.$nextTick(function () {
return _this3.handleConfirm(true, true);
});
this.$emit('mounted');
}
});
// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue?vue&type=script&lang=js&
/* harmony default export */ var panel_timevue_type_script_lang_js_ = (timevue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(1);
// CONCATENATED MODULE: ./packages/date-picker/src/panel/time.vue
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
panel_timevue_type_script_lang_js_,
render,
staticRenderFns,
false,
null,
null,
null
)
/* hot reload */
if (false) { var api; }
component.options.__file = "packages/date-picker/src/panel/time.vue"
/* harmony default export */ var time = __webpack_exports__["a"] = (component.exports);
/***/ }),
/***/ 282:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./packages/date-picker/src/picker.vue + 4 modules
var picker = __webpack_require__(48);
// EXTERNAL MODULE: ./packages/date-picker/src/panel/date.vue + 9 modules
var date = __webpack_require__(63);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/month-range.vue?vue&type=template&id=f2645fb8&
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"transition",
{
attrs: { name: "el-zoom-in-top" },
on: {
"after-leave": function($event) {
_vm.$emit("dodestroy")
}
}
},
[
_c(
"div",
{
directives: [
{
name: "show",
rawName: "v-show",
value: _vm.visible,
expression: "visible"
}
],
staticClass: "el-picker-panel el-date-range-picker el-popper",
class: [
{
"has-sidebar": _vm.$slots.sidebar || _vm.shortcuts
},
_vm.popperClass
]
},
[
_c(
"div",
{ staticClass: "el-picker-panel__body-wrapper" },
[
_vm._t("sidebar"),
_vm.shortcuts
? _c(
"div",
{ staticClass: "el-picker-panel__sidebar" },
_vm._l(_vm.shortcuts, function(shortcut, key) {
return _c(
"button",
{
key: key,
staticClass: "el-picker-panel__shortcut",
attrs: { type: "button" },
on: {
click: function($event) {
_vm.handleShortcutClick(shortcut)
}
}
},
[_vm._v(_vm._s(shortcut.text))]
)
}),
0
)
: _vm._e(),
_c("div", { staticClass: "el-picker-panel__body" }, [
_c(
"div",
{
staticClass:
"el-picker-panel__content el-date-range-picker__content is-left"
},
[
_c("div", { staticClass: "el-date-range-picker__header" }, [
_c("button", {
staticClass:
"el-picker-panel__icon-btn el-icon-d-arrow-left",
attrs: { type: "button" },
on: { click: _vm.leftPrevYear }
}),
_vm.unlinkPanels
? _c("button", {
staticClass:
"el-picker-panel__icon-btn el-icon-d-arrow-right",
class: { "is-disabled": !_vm.enableYearArrow },
attrs: {
type: "button",
disabled: !_vm.enableYearArrow
},
on: { click: _vm.leftNextYear }
})
: _vm._e(),
_c("div", [_vm._v(_vm._s(_vm.leftLabel))])
]),
_c("month-table", {
attrs: {
"selection-mode": "range",
date: _vm.leftDate,
"default-value": _vm.defaultValue,
"min-date": _vm.minDate,
"max-date": _vm.maxDate,
"range-state": _vm.rangeState,
"disabled-date": _vm.disabledDate
},
on: {
changerange: _vm.handleChangeRange,
pick: _vm.handleRangePick
}
})
],
1
),
_c(
"div",
{
staticClass:
"el-picker-panel__content el-date-range-picker__content is-right"
},
[
_c("div", { staticClass: "el-date-range-picker__header" }, [
_vm.unlinkPanels
? _c("button", {
staticClass:
"el-picker-panel__icon-btn el-icon-d-arrow-left",
class: { "is-disabled": !_vm.enableYearArrow },
attrs: {
type: "button",
disabled: !_vm.enableYearArrow
},
on: { click: _vm.rightPrevYear }
})
: _vm._e(),
_c("button", {
staticClass:
"el-picker-panel__icon-btn el-icon-d-arrow-right",
attrs: { type: "button" },
on: { click: _vm.rightNextYear }
}),
_c("div", [_vm._v(_vm._s(_vm.rightLabel))])
]),
_c("month-table", {
attrs: {
"selection-mode": "range",
date: _vm.rightDate,
"default-value": _vm.defaultValue,
"min-date": _vm.minDate,
"max-date": _vm.maxDate,
"range-state": _vm.rangeState,
"disabled-date": _vm.disabledDate
},
on: {
changerange: _vm.handleChangeRange,
pick: _vm.handleRangePick
}
})
],
1
)
])
],
2
)
]
)
]
)
}
var staticRenderFns = []
render._withStripped = true
// CONCATENATED MODULE: ./packages/date-picker/src/panel/month-range.vue?vue&type=template&id=f2645fb8&
// EXTERNAL MODULE: external "element-ui-for-gov/lib/utils/date-util"
var date_util_ = __webpack_require__(0);
// EXTERNAL MODULE: external "element-ui-for-gov/lib/utils/clickoutside"
var clickoutside_ = __webpack_require__(12);
var clickoutside_default = /*#__PURE__*/__webpack_require__.n(clickoutside_);
// EXTERNAL MODULE: external "element-ui-for-gov/lib/mixins/locale"
var locale_ = __webpack_require__(7);
var locale_default = /*#__PURE__*/__webpack_require__.n(locale_);
// EXTERNAL MODULE: ./packages/date-picker/src/basic/month-table.vue + 4 modules
var month_table = __webpack_require__(54);
// EXTERNAL MODULE: external "element-ui-for-gov/lib/input"
var input_ = __webpack_require__(8);
var input_default = /*#__PURE__*/__webpack_require__.n(input_);
// EXTERNAL MODULE: external "element-ui-for-gov/lib/button"
var button_ = __webpack_require__(9);
var button_default = /*#__PURE__*/__webpack_require__.n(button_);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/month-range.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
var month_rangevue_type_script_lang_js_calcDefaultValue = function calcDefaultValue(defaultValue) {
if (Array.isArray(defaultValue)) {
return [new Date(defaultValue[0]), new Date(defaultValue[1])];
} else if (defaultValue) {
return [new Date(defaultValue), Object(date_util_["nextMonth"])(new Date(defaultValue))];
} else {
return [new Date(), Object(date_util_["nextMonth"])(new Date())];
}
};
/* harmony default export */ var month_rangevue_type_script_lang_js_ = ({
mixins: [locale_default.a],
directives: { Clickoutside: clickoutside_default.a },
computed: {
btnDisabled: function btnDisabled() {
return !(this.minDate && this.maxDate && !this.selecting && this.isValidValue([this.minDate, this.maxDate]));
},
leftLabel: function leftLabel() {
return this.leftDate.getFullYear() + ' ' + this.t('el.datepicker.year');
},
rightLabel: function rightLabel() {
return this.rightDate.getFullYear() + ' ' + this.t('el.datepicker.year');
},
leftYear: function leftYear() {
return this.leftDate.getFullYear();
},
rightYear: function rightYear() {
return this.rightDate.getFullYear() === this.leftDate.getFullYear() ? this.leftDate.getFullYear() + 1 : this.rightDate.getFullYear();
},
enableYearArrow: function enableYearArrow() {
return this.unlinkPanels && this.rightYear > this.leftYear + 1;
}
},
data: function data() {
return {
popperClass: '',
value: [],
defaultValue: null,
defaultTime: null,
minDate: '',
maxDate: '',
leftDate: new Date(),
rightDate: Object(date_util_["nextYear"])(new Date()),
rangeState: {
endDate: null,
selecting: false,
row: null,
column: null
},
shortcuts: '',
visible: '',
disabledDate: '',
format: '',
arrowControl: false,
unlinkPanels: false
};
},
watch: {
value: function value(newVal) {
if (!newVal) {
this.minDate = null;
this.maxDate = null;
} else if (Array.isArray(newVal)) {
this.minDate = Object(date_util_["isDate"])(newVal[0]) ? new Date(newVal[0]) : null;
this.maxDate = Object(date_util_["isDate"])(newVal[1]) ? new Date(newVal[1]) : null;
if (this.minDate) {
this.leftDate = this.minDate;
if (this.unlinkPanels && this.maxDate) {
var minDateYear = this.minDate.getFullYear();
var maxDateYear = this.maxDate.getFullYear();
this.rightDate = minDateYear === maxDateYear ? Object(date_util_["nextYear"])(this.maxDate) : this.maxDate;
} else {
this.rightDate = Object(date_util_["nextYear"])(this.leftDate);
}
} else {
this.leftDate = month_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0];
this.rightDate = Object(date_util_["nextYear"])(this.leftDate);
}
}
},
defaultValue: function defaultValue(val) {
if (!Array.isArray(this.value)) {
var _calcDefaultValue = month_rangevue_type_script_lang_js_calcDefaultValue(val),
left = _calcDefaultValue[0],
right = _calcDefaultValue[1];
this.leftDate = left;
this.rightDate = val && val[1] && left.getFullYear() !== right.getFullYear() && this.unlinkPanels ? right : Object(date_util_["nextYear"])(this.leftDate);
}
}
},
methods: {
handleClear: function handleClear() {
this.minDate = null;
this.maxDate = null;
this.leftDate = month_rangevue_type_script_lang_js_calcDefaultValue(this.defaultValue)[0];
this.rightDate = Object(date_util_["nextYear"])(this.leftDate);
this.$emit('pick', null);
},
handleChangeRange: function handleChangeRange(val) {
this.minDate = val.minDate;
this.maxDate = val.maxDate;
this.rangeState = val.rangeState;
},
handleRangePick: function handleRangePick(val) {
var _this = this;
var close = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var defaultTime = this.defaultTime || [];
var minDate = Object(date_util_["modifyWithTimeString"])(val.minDate, defaultTime[0]);
var maxDate = Object(date_util_["modifyWithTimeString"])(val.maxDate, defaultTime[1]);
if (this.maxDate === maxDate && this.minDate === minDate) {
return;
}
this.onPick && this.onPick(val);
this.maxDate = maxDate;
this.minDate = minDate;
// workaround for https://github.com/ElemeFE/element/issues/7539, should remove this block when we don't have to care about Chromium 55 - 57
setTimeout(function () {
_this.maxDate = maxDate;
_this.minDate = minDate;
}, 10);
if (!close) return;
this.handleConfirm();
},
handleShortcutClick: function handleShortcutClick(shortcut) {
if (shortcut.onClick) {
shortcut.onClick(this);
}
},
// leftPrev*, rightNext* need to take care of `unlinkPanels`
leftPrevYear: function leftPrevYear() {
this.leftDate = Object(date_util_["prevYear"])(this.leftDate);
if (!this.unlinkPanels) {
this.rightDate = Object(date_util_["prevYear"])(this.rightDate);
}
},
rightNextYear: function rightNextYear() {
if (!this.unlinkPanels) {
this.leftDate = Object(date_util_["nextYear"])(this.leftDate);
}
this.rightDate = Object(date_util_["nextYear"])(this.rightDate);
},
// leftNext*, rightPrev* are called when `unlinkPanels` is true
leftNextYear: function leftNextYear() {
this.leftDate = Object(date_util_["nextYear"])(this.leftDate);
},
rightPrevYear: function rightPrevYear() {
this.rightDate = Object(date_util_["prevYear"])(this.rightDate);
},
handleConfirm: function handleConfirm() {
var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
if (this.isValidValue([this.minDate, this.maxDate])) {
this.$emit('pick', [this.minDate, this.maxDate], visible);
}
},
isValidValue: function isValidValue(value) {
return Array.isArray(value) && value && value[0] && value[1] && Object(date_util_["isDate"])(value[0]) && Object(date_util_["isDate"])(value[1]) && value[0].getTime() <= value[1].getTime() && (typeof this.disabledDate === 'function' ? !this.disabledDate(value[0]) && !this.disabledDate(value[1]) : true);
},
resetView: function resetView() {
// NOTE: this is a hack to reset {min, max}Date on picker open.
// TODO: correct way of doing so is to refactor {min, max}Date to be dependent on value and internal selection state
// an alternative would be resetView whenever picker becomes visible, should also investigate date-panel's resetView
this.minDate = this.value && Object(date_util_["isDate"])(this.value[0]) ? new Date(this.value[0]) : null;
this.maxDate = this.value && Object(date_util_["isDate"])(this.value[0]) ? new Date(this.value[1]) : null;
}
},
components: { MonthTable: month_table["a" /* default */], ElInput: input_default.a, ElButton: button_default.a }
});
// CONCATENATED MODULE: ./packages/date-picker/src/panel/month-range.vue?vue&type=script&lang=js&
/* harmony default export */ var panel_month_rangevue_type_script_lang_js_ = (month_rangevue_type_script_lang_js_);
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(1);
// CONCATENATED MODULE: ./packages/date-picker/src/panel/month-range.vue
/* normalize component */
var component = Object(componentNormalizer["a" /* default */])(
panel_month_rangevue_type_script_lang_js_,
render,
staticRenderFns,
false,
null,
null,
null
)
/* hot reload */
if (false) { var api; }
component.options.__file = "packages/date-picker/src/panel/month-range.vue"
/* harmony default export */ var month_range = (component.exports);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/date-picker/src/panel/date-range.vue?vue&type=template&id=2652849a&
var date_rangevue_type_template_id_2652849a_render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c(
"transition",
{
attrs: { name: "el-zoom-in-top" },
on: {
"after-leave": function($event) {
_vm.$emit("dodestroy")
}
}
},
[
_c(
"div",
{
directives: [
{
name: "show",
rawName: "v-show",
value: _vm.visible,
expression: "visible"
}
],
staticClass: "el-picker-panel el-date-range-picker el-popper",
class: [
{
"has-sidebar": _vm.$slots.sidebar || _vm.shortcuts,
"has-time": _vm.showTime
},
_vm.popperClass
]
},
[
_c(
"div",
{ staticClass: "el-picker-panel__body-wrapper" },
[
_vm._t("sidebar"),
_vm.shortcuts
? _c(
"div",
{ staticClass: "el-picker-panel__sidebar" },
_vm._l(_vm.shortcuts, function(shortcut, key) {
return _c(
"button",
{
key: key,
staticClass: "el-picker-panel__shortcut",
attrs: { type: "button" },
on: {
click: function($event) {
_vm.handleShortcutClick(shortcut)
}
}
},
[_vm._v(_vm._s(shortcut.text))]
)
}),
0
)
: _vm._e(),
_c("div", { staticClass: "el-picker-panel__body" }, [
_vm.showTime
? _c(
"div",
{ staticClass: "el-date-range-picker__time-header" },
[
_c(
"span",
{ staticClass: "el-date-range-picker__editors-wrap" },
[
_c(
"span",
{
staticClass:
"el-date-range-picker__time-picker-wrap"
},
[
_c("el-input", {
ref: "minInput",
staticClass: "el-date-range-picker__editor",
attrs: {
size: "small",
disabled: _vm.rangeState.selecting,
placeholder: _vm.t(
"el.datepicker.startDate"
),
value: _vm.minVisibleDate
},
on: {
input: function(val) {
return _vm.handleDateInput(val, "min")
},
change: function(val) {
return _vm.handleDateChange(val, "min")
}
}
})
],
1
),
_c(
"span",
{
directives: [
{
name: "clickoutside",
rawName: "v-clickoutside",
value: _vm.handleMinTimeClose,
expression: "handleMinTimeClose"
}
],
staticClass:
"el-date-range-picker__time-picker-wrap"
},
[
_c("el-input", {
staticClass: "el-date-range-picker__editor",
attrs: {
size: "small",
disabled: _vm.rangeState.selecting,
placeholder: _vm.t(
"el.datepicker.startTime"
),
value: _vm.minVisibleTime
},
on: {
focus: function($event) {
_vm.minTimePickerVisible = true
},
input: function(val) {
return _vm.handleTimeInput(val, "min")
},
change: function(val) {
return _vm.handleTimeChange(val, "min")
}
}
}),
_c("time-picker", {
ref: "minTimePicker",
attrs: {
"time-arrow-control": _vm.arrowControl,
visible: _vm.minTimePickerVisible
},
on: {
pick: _vm.handleMinTimePick,
mounted: function($event) {
_vm.$refs.minTimePicker.format =
_vm.timeFormat
}
}
})
],
1
)
]
),
_c("span", { staticClass: "el-icon-arrow-right" }),
_c(
"span",
{
staticClass:
"el-date-range-picker__editors-wrap is-right"
},
[
_c(
"span",
{
staticClass:
"el-date-range-picker__time-picker-wrap"
},
[
_c("el-input", {
staticClass: "el-date-range-picker__editor",
attrs: {
size: "small",
disabled: _vm.rangeState.selecting,
placeholder: _vm.t("el.datepicker.endDate"),
value: _vm.maxVisibleDate,
readonly: !_vm.minDate
},
on: {
input: function(val) {
return _vm.handleDateInput(val, "max")
},
change: function(val) {
return _vm.handleDateChange(val, "max")
}
}
})
],
1
),
_c(
"span",
{
directives: [
{
name: "clickoutside",
rawName: "v-clickoutside",
value: _vm.handleMaxTimeClose,
expression: "handleMaxTimeClose"
}
],
staticClass:
"el-date-range-picker__time-picker-wrap"
},
[
_c("el-input", {
staticClass: "el-date-range-picker__editor",
attrs: {
size: "small",
disabled: _vm.rangeState.selecting,
placeholder: _vm.t("el.datepicker.endTime"),
value: _vm.maxVisibleTime,
readonly: !_vm.minDate
},
on: {
focus: function($event) {
_vm.minDate &&
(_vm.maxTimePickerVisible = true)
},
input: function(val) {
return _vm.handleTimeInput(val, "max")
},
change: function(val) {
return _vm.handleTimeChange(val, "max")
}
}
}),
_c("time-picker", {
ref: "maxTimePicker",
attrs: {
"time-arrow-control": _vm.arrowControl,
visible: _vm.maxTimePickerVisible
},
on: {
pick: _vm.handleMaxTimePick,
mounted: function($event) {
_vm.$refs.maxTimePicker.format =
_vm.timeFormat
}
}
})
],
1
)
]
)
]
)
: _vm._e(),
_c(
"div",
{
staticClass:
"el-picker-panel__content el-date-range-picker__content is-left"
},
[
_c("div", { staticClass: "el-date-range-picker__header" }, [
_c("button", {
staticClass:
"el-picker-panel__icon-btn el-icon-d-arrow-left",
attrs: { type: "button" },
on: { click: _vm.leftPrevYear }
}),
_c("button", {
staticClass:
"el-picker-panel__icon-btn el-icon-arrow-left",
attrs: { type: "button" },
on: { click: _vm.leftPrevMonth }
}),
_vm.unlinkPanels
? _c("button", {
staticClass:
"el-picker-panel__icon-btn el-icon-d-arrow-right",
class: { "is-disabled": !_vm.enableYearArrow },
attrs: {
type: "button",
disabled: !_vm.enableYearArrow
},
on: { click: _vm.leftNextYear }
})
: _vm._e(),
_vm.unlinkPanels
? _c("button", {
staticClass:
"el-picker-panel__icon-btn el-icon-arrow-right",
class: { "is-disabled": !_vm.enableMonthArrow },
attrs: {
type: "button",
disabled: !_vm.enableMonthArrow
},
on: { click: _vm.leftNextMonth }
})
: _vm._e(),
_c("div", [_vm._v(_vm._s(_vm.leftLabel))])
]),
_c("date-table", {
attrs: {
"selection-mode": "range",
date: _vm.leftDate,
"default-value": _vm.defaultValue,
"min-date": _vm.minDate,
"max-date": _vm.maxDate,
"range-state": _vm.rangeState,
"disabled-date": _vm.disabledDate,
"cell-class-name": _vm.cellClassName,
"first-day-of-week": _vm.firstDayOfWeek
},
on: {
changerange: _vm.handleChangeRange,
pick: _vm.handleRangePick
}
})
],
1
),
_c(
"div",
{
staticClass:
"el-picker-panel__content el-date-range-picker__content is-right"
},
[
_c("div", { staticClass: "el-date-range-picker__header" }, [
_vm.unlinkPanels
? _c("button", {
staticClass:
"el-picker-panel__icon-btn el-icon-d-arrow-left",
class: { "is-disabled": !_vm.enableYearArrow },
attrs: {
type: "button",
disabled: !_vm.enableYearArrow
},
on: { click: _vm.rightPrevYear }
})
: _vm._e(),
_vm.unlinkPanels
? _c("button", {
staticClass:
"el-picker-panel__icon-btn el-icon-arrow-left",
class: { "is-disabled": !_vm.enableMonthArrow },
attrs: {
type: "button",
disabled: !_vm.enableMonthArrow
},
on: { click: _vm.rightPrevMonth }
})
: _vm._e(),
_c("button", {
staticClass:
"el-picker-panel__icon-btn el-icon-d-arrow-right",
attrs: { type: "button" },
on: { click: _vm.rightNextYear }
}),
_c("button", {
staticClass:
"el-picker-panel__icon-btn el-icon-arrow-right",
attrs: { type: "button" },
on: { click: _vm.rightNextMonth }
}),
_c("div", [_vm._v(_vm._s(_vm.rightLabel))])
]),
_c("date-table", {
attrs: {
"selection-mode": "range",
date: _vm.rightDate,
"default-value": _vm.defaultValue,
"min-date": _vm.minDate,
"max-date": _vm.maxDate,
"range-state": _vm.rangeState,
"disabled-date": _vm.disabledDate,
"cell-class-name": _vm.cellClassName,
"first-day-of-week": _vm.firstDayOfWeek
},
on: {
changerange: _vm.handleChangeRange,
pick: _vm.handleRangePick
}
})
],
1
)
])
],
2
),
_vm.showTime
? _c(
"div",
{ staticClass: "el-picker-panel__footer" },
[
_c(
"el-button",
{
staticClass: "el-picker-panel__link-btn",
attrs: { size: "mini", type: "text" },
on: { click: _vm.handleClear }
},
[
_vm._v(
"\n " +
_vm._s(_vm.t("el.datepicker.clear")) +
"\n "
)