123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- exports.__esModule = true;
- exports.default = void 0;
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
- var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props"));
- var _utils = require("../utils");
- var _functional = require("../utils/functional");
- var _router = require("../utils/router");
- var _shared = require("./shared");
- var _icon = _interopRequireDefault(require("../icon"));
- // Utils
- // Components
- var _createNamespace = (0, _utils.createNamespace)('cell'),
- createComponent = _createNamespace[0],
- bem = _createNamespace[1];
- function Cell(h, props, slots, ctx) {
- var _props$clickable;
- var icon = props.icon,
- size = props.size,
- title = props.title,
- label = props.label,
- value = props.value,
- isLink = props.isLink;
- var showTitle = slots.title || (0, _utils.isDef)(title);
- function Label() {
- var showLabel = slots.label || (0, _utils.isDef)(label);
- if (showLabel) {
- return h("div", {
- "class": [bem('label'), props.labelClass]
- }, [slots.label ? slots.label() : label]);
- }
- }
- function Title() {
- if (showTitle) {
- return h("div", {
- "class": [bem('title'), props.titleClass],
- "style": props.titleStyle
- }, [slots.title ? slots.title() : h("span", [title]), Label()]);
- }
- }
- function Value() {
- var showValue = slots.default || (0, _utils.isDef)(value);
- if (showValue) {
- return h("div", {
- "class": [bem('value', {
- alone: !showTitle
- }), props.valueClass]
- }, [slots.default ? slots.default() : h("span", [value])]);
- }
- }
- function LeftIcon() {
- if (slots.icon) {
- return slots.icon();
- }
- if (icon) {
- return h(_icon.default, {
- "class": bem('left-icon'),
- "attrs": {
- "name": icon,
- "classPrefix": props.iconPrefix
- }
- });
- }
- }
- function RightIcon() {
- var rightIconSlot = slots['right-icon'];
- if (rightIconSlot) {
- return rightIconSlot();
- }
- if (isLink) {
- var arrowDirection = props.arrowDirection;
- return h(_icon.default, {
- "class": bem('right-icon'),
- "attrs": {
- "name": arrowDirection ? "arrow-" + arrowDirection : 'arrow'
- }
- });
- }
- }
- function onClick(event) {
- (0, _functional.emit)(ctx, 'click', event);
- (0, _router.functionalRoute)(ctx);
- }
- var clickable = (_props$clickable = props.clickable) != null ? _props$clickable : isLink;
- var classes = {
- clickable: clickable,
- center: props.center,
- required: props.required,
- borderless: !props.border
- };
- if (size) {
- classes[size] = size;
- }
- return h("div", (0, _babelHelperVueJsxMergeProps.default)([{
- "class": bem(classes),
- "attrs": {
- "role": clickable ? 'button' : null,
- "tabindex": clickable ? 0 : null
- },
- "on": {
- "click": onClick
- }
- }, (0, _functional.inherit)(ctx)]), [LeftIcon(), Title(), Value(), RightIcon(), slots.extra == null ? void 0 : slots.extra()]);
- }
- Cell.props = (0, _extends2.default)({}, _shared.cellProps, _router.routeProps);
- var _default = createComponent(Cell);
- exports.default = _default;
|