@ohu-mobile/core
Version:
94 lines (93 loc) • 2.98 kB
JavaScript
;
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
}
})]);
}
});