mand-mobile
Version:
A Vue.js 2.0 Mobile UI Toolkit
163 lines (148 loc) • 5.72 kB
JavaScript
;(function(){
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define(['exports', '../popup', '../icon', '../activity-indicator/roller', '../_util', '../_style/global.css', './style/dialog.css'], factory);
} else if (typeof exports !== "undefined") {
factory(exports, require('../popup'), require('../icon'), require('../activity-indicator/roller'), require('../_util'), require('../_style/global.css'), require('./style/dialog.css'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, global.popup, global.icon, global.roller, global._util, global.global, global.dialog);
global.dialog = mod.exports;
}
})(this, function (exports, _popup, _icon, _roller, _util) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _popup2 = _interopRequireDefault(_popup);
var _icon2 = _interopRequireDefault(_icon);
var _roller2 = _interopRequireDefault(_roller);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
var _components;
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
exports.default = {
name: 'md-dialog',
components: (_components = {}, _defineProperty(_components, _popup2.default.name, _popup2.default), _defineProperty(_components, _icon2.default.name, _icon2.default), _defineProperty(_components, _roller2.default.name, _roller2.default), _components),
props: {
value: {
type: Boolean,
default: false
},
title: {
type: String,
default: ''
},
icon: {
type: String,
default: ''
},
iconSvg: {
type: Boolean,
default: false
},
closable: {
type: Boolean,
default: true
},
content: {
type: String,
default: ''
},
btns: {
type: Array,
default: function _default() {
return [];
}
},
layout: {
type: String,
default: 'row'
},
appendTo: {
default: function _default() {
return _util.mdDocument.body;
}
},
hasMask: {
type: Boolean,
default: true
},
maskClosable: {
type: Boolean,
default: false
},
transition: {
type: String,
default: 'md-fade'
},
preventScroll: {
type: Boolean,
default: false
},
preventScrollExclude: {
type: String,
default: ''
}
},
mounted: function mounted() {
if (this.appendTo) {
this.appendTo.appendChild(this.$el);
}
},
beforeDestroy: function beforeDestroy() {
if (this.appendTo) {
this.appendTo.removeChild(this.$el);
}
},
methods: {
$_onInput: function $_onInput(val) {
this.$emit('input', val);
},
$_onShow: function $_onShow() {
this.$emit('show');
},
$_onHide: function $_onHide() {
this.$emit('hide');
},
$_onClick: function $_onClick(btn) {
if (btn.disabled || btn.loading) {
return;
}
if (typeof btn.handler === 'function') {
btn.handler.call(null, btn);
} else {
this.close();
}
},
close: function close() {
this.$emit('input', false);
}
}
};
});
})()
if (module.exports.__esModule) module.exports = module.exports.default
var __vue__options__ = (typeof module.exports === "function"? module.exports.options: module.exports)
__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"md-dialog"},[_c('md-popup',{attrs:{"value":_vm.value,"hasMask":_vm.hasMask,"maskClosable":_vm.maskClosable,"position":"center","transition":_vm.transition,"preventScroll":_vm.preventScroll,"preventScrollExclude":_vm.preventScrollExclude},on:{"input":_vm.$_onInput,"show":_vm.$_onShow,"hide":_vm.$_onHide}},[_c('div',{staticClass:"md-dialog-content"},[_vm._t("header"),_vm._v(" "),_c('div',{staticClass:"md-dialog-body"},[(_vm.closable)?_c('a',{staticClass:"md-dialog-close",attrs:{"role":"button"},on:{"click":_vm.close}},[_c('md-icon',{attrs:{"name":"close"}})],1):_vm._e(),_vm._v(" "),(_vm.icon)?_c('div',{staticClass:"md-dialog-icon"},[_c('md-icon',{attrs:{"name":_vm.icon,"svg":_vm.iconSvg}})],1):_vm._e(),_vm._v(" "),(_vm.title)?_c('h2',{staticClass:"md-dialog-title",domProps:{"textContent":_vm._s(_vm.title)}}):_vm._e(),_vm._v(" "),_vm._t("default",[_c('div',{staticClass:"md-dialog-text",domProps:{"innerHTML":_vm._s(_vm.content)}})])],2),_vm._v(" "),_c('footer',{staticClass:"md-dialog-actions",class:{ 'is-column': _vm.layout === 'column' }},[_vm._l((_vm.btns),function(btn,index){return [_c('a',{key:index,staticClass:"md-dialog-btn",class:{
disabled: !!btn.disabled,
warning: !btn.disabled && !!btn.warning
},attrs:{"role":"button"},on:{"click":function($event){return _vm.$_onClick(btn)},"touchmove":function($event){$event.preventDefault();}}},[(btn.loading)?_c('md-activity-indicator-rolling',{staticClass:"md-dialog-btn-loading"}):(btn.icon)?_c('md-icon',{staticClass:"md-dialog-btn-icon",attrs:{"name":btn.icon,"svg":btn.iconSvg,"size":"md"}}):_vm._e(),_vm._v("\n "+_vm._s(btn.text)+"\n ")],1)]})],2)],2)])],1)}
__vue__options__.staticRenderFns = []