UNPKG

element-nice-ui

Version:

A Component Library for Vue.js.

233 lines (206 loc) 8.58 kB
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 = 267); /******/ }) /************************************************************************/ /******/ ({ /***/ 118: /***/ (function(module, exports) { module.exports = require("element-nice-ui/lib/dropdown"); /***/ }), /***/ 163: /***/ (function(module, exports) { module.exports = require("element-nice-ui/lib/dropdown-menu"); /***/ }), /***/ 21: /***/ (function(module, exports) { module.exports = require("element-nice-ui/lib/btn"); /***/ }), /***/ 267: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXTERNAL MODULE: external "element-nice-ui/lib/dropdown" var dropdown_ = __webpack_require__(118); var dropdown_default = /*#__PURE__*/__webpack_require__.n(dropdown_); // 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/dropdown-menu" var dropdown_menu_ = __webpack_require__(163); var dropdown_menu_default = /*#__PURE__*/__webpack_require__.n(dropdown_menu_); // CONCATENATED MODULE: ./packages/action/src/action.js function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } 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; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } 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); } // 需要获取当前所有的action-item 无论其嵌套多少 /* harmony default export */ var action = ({ name: 'ElAction', inheritAttrs: false, // provide() { // return { // action: this // } // }, props: { max: { type: Number, default: 3 }, ctx: Object }, methods: { // getActionItems(children) { // let ret = [] // function walk(nodes) { // nodes.forEach(child => { // if (child.tag.includes('ElActionItem')) { // ret.push(child) // } else { // if (child.componentInstance && child.componentInstance.$children) { // walk(child.componentInstance.$children.map(item => item.$vnode)) // } // } // }) // } // walk(children) // return ret // }, getDropdownMenus(children) { const h = this.$createElement; let { max } = this; if (children.length <= max) return null; let dropdownList = children.slice(max - 1).map(node => { if (!node.componentOptions) return; node.componentOptions.propsData.isDrop = true; return node; }); return h(dropdown_default.a, [h(btn_default.a, { "props": _objectSpread({}, this.ctx), "style": 'margin-left: 10px', "attrs": { "suffixIcon": 'arrow-down', "type": 'text' } }, ["\u66F4\u591A"]), h(dropdown_menu_default.a, { "slot": 'dropdown' }, [dropdownList])]); } }, render(h) { let children = this.$slots.default || []; /** 查找到所有子节点 */ children = children.filter(child => child.tag); // if (children && children[0].componentInstance) { // /** 渲染完之后重新得到新的节点 */ // children = this.getActionItems(children) // } if (children && children.length) { children.forEach(_ref => { let { componentOptions: opts } = _ref; if (opts) { opts.propsData = _objectSpread(_objectSpread({}, opts.propsData), this.ctx); } }); } const dropdownMenus = this.getDropdownMenus(children); return h("div", [children.length > this.max ? children.slice(0, this.max - 1) : children, dropdownMenus]); } }); // CONCATENATED MODULE: ./packages/action/index.js /* istanbul ignore next */ action.install = function (Vue) { Vue.component(action.name, action); }; /* harmony default export */ var packages_action = __webpack_exports__["default"] = (action); /***/ }) /******/ });