mand-mobile
Version:
A Vue.js 2.0 Mobile UI Toolkit
120 lines (103 loc) • 3.85 kB
JavaScript
;(function(){
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define(['exports', './roller', '../_style/global.css', './style/roller-success.css'], factory);
} else if (typeof exports !== "undefined") {
factory(exports, require('./roller'), require('../_style/global.css'), require('./style/roller-success.css'));
} else {
var mod = {
exports: {}
};
factory(mod.exports, global.roller, global.global, global.rollerSuccess);
global.rollerSuccess = mod.exports;
}
})(this, function (exports, _roller) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _roller2 = _interopRequireDefault(_roller);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
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-activity-indicator-rolling-success',
components: _defineProperty({}, _roller2.default.name, _roller2.default),
props: {
size: {
type: Number,
default: 70
},
color: {
type: String,
default: '#2F86F6'
},
isSuccess: {
type: Boolean,
default: false
}
},
data: function data() {
return {
animating: false,
startTmp: Date.now(),
successFlag: false
};
},
computed: {
strokeWidth: function strokeWidth() {
return this.size / 16;
},
radius: function radius() {
return this.size / 2;
},
viewBoxSize: function viewBoxSize() {
return this.size + 2 * this.strokeWidth;
}
},
watch: {
isSuccess: function isSuccess(val) {
if (val) {
this.doSuccess();
} else {
this.startTmp = Date.now();
this.successFlag = false;
}
}
},
mounted: function mounted() {
this.isSuccess && this.doSuccess();
},
methods: {
doSuccess: function doSuccess() {
var _this = this;
var st = this.startTmp;
var et = Date.now();
var delay = Math.ceil((et - st) / 1500) * 1500 - (et - st);
setTimeout(function () {
_this.successFlag = true;
}, delay);
}
}
};
});
})()
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-activity-indicator-rolling-success"},[_c('md-activity-indicator-rolling',{attrs:{"width":_vm.strokeWidth,"radius":_vm.radius,"fill":"#FFF6F1","border-color":"transparent"}},[(_vm.isSuccess)?[_c('g',{attrs:{"slot":"circle","name":"circle"},slot:"circle"},[_c('circle',{staticClass:"success",attrs:{"cx":_vm.viewBoxSize/2,"cy":_vm.viewBoxSize/2,"fill":"#FFF6F1","stroke":"none","r":_vm.radius}})])]:_vm._e(),_vm._v(" "),(_vm.isSuccess)?_c('svg',{staticClass:"right",style:({transform: ("translate(-50%, -50%) scale(" + (_vm.size/70) + ")")}),attrs:{"viewBox":"0 0 100 100","preserveAspectRatio":"xMidYMid"}},[_c('g',[_c('line',{style:({'strokeWidth':_vm.strokeWidth, 'stroke': _vm.color}),attrs:{"x1":"32","y1":"47","x2":"45","y2":"62","stroke-dasharray":"20"}}),_vm._v(" "),_c('line',{style:({'strokeWidth':_vm.strokeWidth, 'stroke': _vm.color}),attrs:{"x1":"42","y1":"62","x2":"68.4","y2":"40","stroke-dasharray":"35"}})])]):_vm._e()],2)],1)}
__vue__options__.staticRenderFns = []