element-nice-ui
Version:
A Component Library for Vue.js.
306 lines (279 loc) • 8.89 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 = 265);
/******/ })
/************************************************************************/
/******/ ({
/***/ 159:
/***/ (function(module, exports) {
module.exports = require("element-nice-ui/lib/backtop");
/***/ }),
/***/ 21:
/***/ (function(module, exports) {
module.exports = require("element-nice-ui/lib/btn");
/***/ }),
/***/ 265:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: external "element-nice-ui/lib/btn"
var btn_ = __webpack_require__(21);
var btn_default = /*#__PURE__*/__webpack_require__.n(btn_);
// EXTERNAL MODULE: external "element-nice-ui/lib/context"
var context_ = __webpack_require__(37);
var context_default = /*#__PURE__*/__webpack_require__.n(context_);
// EXTERNAL MODULE: external "element-nice-ui/lib/perfect-scrollbar"
var perfect_scrollbar_ = __webpack_require__(47);
var perfect_scrollbar_default = /*#__PURE__*/__webpack_require__.n(perfect_scrollbar_);
// EXTERNAL MODULE: external "element-nice-ui/lib/backtop"
var backtop_ = __webpack_require__(159);
var backtop_default = /*#__PURE__*/__webpack_require__.n(backtop_);
// CONCATENATED MODULE: ./packages/page/src/page.js
/* harmony default export */ var page = ({
name: 'ElPage',
components: {
ElBtn: btn_default.a,
ElContext: context_default.a,
ElPerfectScrollbar: perfect_scrollbar_default.a,
ElBacktop: backtop_default.a
},
inheritAttrs: false,
provide() {
return {
elPage: this
};
},
props: {
size: {
type: String,
default: 'small'
},
noBacktop: {
type: Boolean
},
submit: Function
},
data: () => ({
loading: false,
anchorList: [],
anchorId: 0,
formList: [],
_observerConfig: {
subtree: true,
attributeFilter: ['style'],
attributeOldValue: true
}
}),
computed: {
ctx() {
return {
size: this.size
};
},
showBack() {
return !!this.$router;
}
},
methods: {
addAnchor(title, el) {
this.anchorList.push({
title,
el,
_id: this.anchorId++
});
},
showFooter() {
return this.$slots['footer-left'] || this.$slots['footer-right'] || this.submit || this.showBack;
},
goBack() {
this.$router.back();
},
scrollTo(top) {
let mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'y';
this.$refs.pageBody[mode === 'x' ? 'scrollX' : 'scrollY'](top);
},
onSubmit() {
this.loading = true;
Promise.all(this.formList.map(form => form.validate())).then(res => {
let valid = res.every(v => v);
if (!valid) {
return this.loading = false;
}
if (!this.submit) return;
let ret = this.submit();
if (ret && ret.then) {
ret.then(res => {
this.loading = false;
}).catch(err => {
Promise.reject(err);
this.loading = false;
});
} else {
this.loading = false;
}
});
},
acceptForm(form) {
this.formList.push(form);
},
getAllFormValues() {
return this.formList.reduce((acc, cur) => {
return Object.assign(acc, cur.getValue());
}, {});
}
},
render(h) {
const showFooter = this.showFooter();
return h("div", {
"class": {
'el-page': true,
'el-page--without-footer': !showFooter
}
}, [h("el-perfect-scrollbar", {
"ref": 'pageBody',
"class": 'el-page__body'
}, [this.$slots.default]), showFooter ? h("el-context", {
"class": 'el-page__footer',
"attrs": {
"ctx": this.ctx,
"depth": 2
}
}, [h("section", {
"class": 'el-page__footer-left'
}, [this.showBack ? h("el-btn", {
"on": {
"click": this.goBack
}
}, ["\u8FD4\u56DE"]) : null, this.$slots['footer-left']]), h("section", {
"class": 'el-page__footer-right'
}, [this.$slots['footer-right'], this.submit ? h("el-btn", {
"attrs": {
"type": 'primary',
"loading": this.loading
},
"on": {
"click": this.onSubmit
}
}, ["\u63D0\u4EA4"]) : null])]) : null, this.anchorList && this.anchorList.length ? h("el-perfect-scrollbar", {
"class": 'el-page__anchor-list',
"attrs": {
"tag": 'ul'
}
}, [this.anchorList.map(_ref => {
let {
title,
el,
_id
} = _ref;
return h("li", {
"key": _id,
"on": {
"click": () => this.scrollTo(el.getBoundingClientRect().top + this.$refs.pageBody.$el.scrollTop)
}
}, [title]);
})]) : null, !this.noBacktop ? h("el-backtop", {
"attrs": {
"target": '.el-page__body'
}
}) : null]);
}
});
// CONCATENATED MODULE: ./packages/page/index.js
/* istanbul ignore next */
page.install = function (Vue) {
Vue.component(page.name, page);
};
/* harmony default export */ var packages_page = __webpack_exports__["default"] = (page);
/***/ }),
/***/ 37:
/***/ (function(module, exports) {
module.exports = require("element-nice-ui/lib/context");
/***/ }),
/***/ 47:
/***/ (function(module, exports) {
module.exports = require("element-nice-ui/lib/perfect-scrollbar");
/***/ })
/******/ });