ten-design-vue
Version:
ten-vue
476 lines (434 loc) • 16.9 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 = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 2);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {
module.exports = require("../util");
/***/ }),
/* 1 */
/***/ (function(module, exports) {
module.exports = require("../basic/time-options");
/***/ }),
/* 2 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/components/date-picker/panel/time.vue?vue&type=template&id=181f0e2c&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"ten-time"},[(_vm.formatInfo.hourFormat[0])?_c('ten-time-options',{key:"hour",staticClass:"ten-time__item",attrs:{"top-item-index":_vm.hourIndex,"option-list":_vm.hoursList},on:{"change":_vm.onHourChange,"mouseenter":function($event){return _vm.focusTimeInput(_vm.formatInfo.hourFormat[0], _vm.focusIndex.hourTypeIndex, _vm.dateObj.hours)}}}):_vm._e(),(_vm.formatInfo.minFormat[0])?_c('ten-time-options',{key:"min",staticClass:"ten-time__item",attrs:{"top-item-index":_vm.minuteIndex,"option-list":_vm.minutesList},on:{"change":_vm.onMinuteChange,"mouseenter":function($event){return _vm.focusTimeInput(_vm.formatInfo.minFormat[0], _vm.focusIndex.minTypeIndex, _vm.dateObj.minutes)}}}):_vm._e(),(_vm.formatInfo.secFormat[0])?_c('ten-time-options',{key:"sec",staticClass:"ten-time__item",attrs:{"top-item-index":_vm.secondIndex,"option-list":_vm.secondsList},on:{"change":_vm.onSecondChange,"mouseenter":function($event){return _vm.focusTimeInput(_vm.formatInfo.secFormat[0], _vm.focusIndex.secTypeIndex, _vm.dateObj.seconds)}}}):_vm._e(),(_vm.formatInfo.meridiemFormat[0])?_c('ten-time-options',{key:"mer",staticClass:"ten-time__item",attrs:{"top-item-index":_vm.meridiemIndex,"option-list":_vm.meridiemList},on:{"change":_vm.onMeridiemChange,"mouseenter":function($event){return _vm.focusTimeInput(_vm.formatInfo.meridiemFormat[0], _vm.focusIndex.meridiemTypeIndex, _vm.dateObj.meridiem)}}}):_vm._e()],1)}
var staticRenderFns = []
// CONCATENATED MODULE: ./src/components/date-picker/panel/time.vue?vue&type=template&id=181f0e2c&
// EXTERNAL MODULE: external "../basic/time-options"
var time_options_ = __webpack_require__(1);
var time_options_default = /*#__PURE__*/__webpack_require__.n(time_options_);
// EXTERNAL MODULE: external "../util"
var external_util_ = __webpack_require__(0);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--1!./node_modules/vue-loader/lib??vue-loader-options!./src/components/date-picker/panel/time.vue?vue&type=script&lang=js&
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
function focusIndexNeedToFix(type, value) {
return type.length < value.toString().length ? value.toString().length - type.length : 0;
}
function fixFocusIndex(tokens) {
var result = {};
tokens.reduce(function (accOffset, token, currIndex, src) {
var name = token.name,
index = token.index;
if (currIndex) {
var prevToken = src[currIndex - 1];
var value = prevToken.value,
type = prevToken[0];
var offset = focusIndexNeedToFix(type, value);
if (offset || accOffset) {
accOffset += offset;
result["".concat(name, "TypeIndex")] = accOffset + index;
return accOffset;
}
}
result["".concat(name, "TypeIndex")] = index;
return accOffset;
}, 0);
return result;
}
/* harmony default export */ var timevue_type_script_lang_js_ = ({
components: {
TenTimeOptions: time_options_default.a
},
inheritAttrs: false,
props: {
value: [Date, String],
format: String,
getRelatedInput: Function,
disabledHour: Function,
disabledMin: Function,
disabledSec: Function,
minTime: Date
},
computed: {
is12: function is12() {
return /h{1,2}/.test(this.formatInfo.hourFormat[0]) && this.formatInfo.meridiemFormat[0];
},
dateObj: function dateObj() {
return Object(external_util_["getDateObj"])(this.value);
},
formatInfo: function formatInfo() {
return Object(external_util_["getFormatInfo"])(this.format);
},
tokens: function tokens() {
return [_objectSpread({
value: this.dateObj.hours,
name: 'hour'
}, this.formatInfo.hourFormat), _objectSpread({
value: this.dateObj.minutes,
name: 'min'
}, this.formatInfo.minFormat), _objectSpread({
value: this.dateObj.seconds,
name: 'sec'
}, this.formatInfo.secFormat), _objectSpread({
value: this.dateObj.meridiem,
name: 'meridiem'
}, this.formatInfo.meridiemFormat)].filter(function (v) {
return v[0];
}).sort(function (a, b) {
return a.index - b.index;
});
},
focusIndex: function focusIndex() {
return fixFocusIndex(this.tokens);
},
minTimeObj: function minTimeObj() {
return Object(external_util_["getDateObj"])(this.minTime);
},
hoursList: function hoursList() {
return Object(external_util_["getHours"])({
hourType: this.formatInfo.hourFormat[0],
meridiem: this.dateObj.meridiem
}, {
disabledHour: this.disabledHour,
minH: this.minTimeObj.hours
}, this.dateObj.hours);
},
minutesList: function minutesList() {
return Object(external_util_["getMintues"])(this.dateObj.hours, {
disabledMin: this.disabledMin,
minH: this.minTimeObj.hours,
minM: this.minTimeObj.minutes
}, this.dateObj.minutes);
},
secondsList: function secondsList() {
return Object(external_util_["getSeconds"])({
hours: this.dateObj.hours,
minutes: this.dateObj.minutes
}, {
disabledSec: this.disabledSec,
minH: this.minTimeObj.hours,
minM: this.minTimeObj.minutes,
minS: this.minTimeObj.seconds
}, this.dateObj.seconds);
},
meridiemList: function meridiemList() {
return Object(external_util_["getMeridiem"])(this.formatInfo.meridiemFormat[0], {
disabledHour: this.disabledHour,
minH: this.minTimeObj.hours
}, this.dateObj.meridiem);
},
hourIndex: function hourIndex() {
return this.hoursList.findIndex(function (v) {
return v.selected;
});
},
minuteIndex: function minuteIndex() {
return this.minutesList.findIndex(function (v) {
return v.selected;
});
},
secondIndex: function secondIndex() {
return this.secondsList.findIndex(function (v) {
return v.selected;
});
},
meridiemIndex: function meridiemIndex() {
return this.meridiemList.findIndex(function (v) {
return v.selected;
});
}
},
methods: {
onHourChange: function onHourChange(value) {
this.onChangeHandler(this.formatInfo.hourFormat[0], value);
},
onMinuteChange: function onMinuteChange(value) {
this.onChangeHandler(this.formatInfo.minFormat[0], value);
},
onSecondChange: function onSecondChange(value) {
this.onChangeHandler(this.formatInfo.secFormat[0], value);
},
onMeridiemChange: function onMeridiemChange(value) {
this.onChangeHandler(this.formatInfo.meridiemFormat[0], value);
},
onChangeHandler: function onChangeHandler(type, value) {
var _this$dateObj = this.dateObj,
year = _this$dateObj.year,
month = _this$dateObj.month,
date = _this$dateObj.date;
var hours = ['HH', 'H'].indexOf(type) > -1 ? value : this.dateObj.hours;
var hours12 = ['hh', 'h'].indexOf(type) > -1 ? value : Object(external_util_["hour24To12"])(this.dateObj.hours);
var minutes = ['mm', 'm'].indexOf(type) > -1 ? value : this.dateObj.minutes;
var seconds = ['ss', 's'].indexOf(type) > -1 ? value : this.dateObj.seconds;
var meridiem = ['a', 'A'].indexOf(type) > -1 ? value : this.dateObj.meridiem;
var is12 = this.is12;
var dateStr = "".concat(year, "-").concat(month + 1, "-").concat(date, " ").concat(is12 ? hours12 : hours, ":").concat(minutes, ":").concat(seconds, " ").concat(is12 ? meridiem : '');
var format = "YYYY-M-D ".concat(is12 ? 'h' : 'H', ":m:s ").concat(is12 ? 'A' : '');
this.$emit('change', Object(external_util_["parseToDate"])(dateStr, format));
},
focusTimeInput: function focusTimeInput(type, index, value) {
var rawInput = this.getRelatedInput();
rawInput.focus();
rawInput.selectionStart = index;
var len;
if (typeof value === 'number') {
len = type.length === 2 && value < 10 ? value.toString().length + 1 : value.toString().length;
} else {
len = value.length;
}
rawInput.selectionEnd = index + len;
}
}
});
// CONCATENATED MODULE: ./src/components/date-picker/panel/time.vue?vue&type=script&lang=js&
/* harmony default export */ var panel_timevue_type_script_lang_js_ = (timevue_type_script_lang_js_);
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
/* 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
}
}
// CONCATENATED MODULE: ./src/components/date-picker/panel/time.vue
/* normalize component */
var component = normalizeComponent(
panel_timevue_type_script_lang_js_,
render,
staticRenderFns,
false,
null,
null,
null
)
/* harmony default export */ var time = __webpack_exports__["default"] = (component.exports);
/***/ })
/******/ ]);