UNPKG

@ohu-mobile/core

Version:
94 lines (93 loc) 2.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _CloseOutlined2 = _interopRequireDefault(require("@ohu-mobile/icons/lib/CloseOutlined")); var _Button = _interopRequireDefault(require("../Button")); var _defineComponent = require("../_utils/defineComponent"); var _localeMixin = _interopRequireDefault(require("../_utils/localeMixin")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _default = exports.default = (0, _defineComponent.defineComponent)('popup-header').mixin((0, _localeMixin.default)('OhuPopupHeader')).create({ props: { title: String, minorText: String, center: (0, _defineComponent.props)(Boolean).default(false), confirm: (0, _defineComponent.props)(Boolean).default(false), closeIcon: _defineComponent.props.ofType().default(function () { return _CloseOutlined2.default; }), closeIconPosition: _defineComponent.props.ofStringLiterals('left', 'right').default('right') }, methods: { close: function close() { var parent = this.$parent; if (parent.close) { parent.close(); } this.$emit('cancel'); }, handleConfirm: function handleConfirm() { this.$emit('confirm'); } }, render: function render() { var h = arguments[0]; var root = this.$rootCls(); var textNode = root.element('text'); var $slots = this.$slots, title = this.title, minorText = this.minorText, center = this.center, confirm = this.confirm, closeIcon = this.closeIcon, closeIconPosition = this.closeIconPosition; var content = h("div", { "class": textNode }, [h("div", { "class": textNode.element('title').has([!!minorText && 'minor']) }, [$slots.default || title]), minorText && h("div", { "class": textNode.element('minor-title') }, [minorText])]); if (confirm) { return h("div", { "class": root.is(['confirm', center && 'text-center']) }, [h(_Button.default, { "class": root.element('cancel'), "attrs": { "link": true, "inline": true, "size": "sm" }, "on": { "click": this.close } }, [this.$l.cancelText]), content, h(_Button.default, { "class": root.element('ok'), "attrs": { "type": "primary", "link": true, "inline": true, "size": "sm" }, "on": { "click": this.handleConfirm } }, [this.$l.confirmText])]); } return h("div", { "class": root.is([center && 'text-center', "close-icon-".concat(closeIconPosition)]) }, [content, h(_Button.default, { "attrs": { "type": "link", "size": "md", "inline": true, "icon": closeIcon }, "class": root.element('close'), "on": { "click": this.close } })]); } });