zoomla
Version:
16年专业研发|中文alexa排名第一的CMS品牌-基于dotNET core、功能强大,集成站群、微信开发、小程序与ERP及OA办公系统,支持国际语言和多民族语言,世界五百强与大型门户专用高端网站内核CMS系统
1,206 lines (1,008 loc) • 136 kB
JavaScript
/*!
* weui.js v1.0.0 (https://weui.io)
* Copyright 2016, wechat ui team
* MIT license
*/
(function webpackUniversalModuleDefinition(root, factory) {
if (typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if (typeof define === 'function' && define.amd)
define([], factory);
else if (typeof exports === 'object')
exports["weui"] = factory();
else
root["weui"] = factory();
})(this, function () {
return /******/ (function (modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if (installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/
};
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/ // Return the exports of the module
/******/ return module.exports;
/******/
}
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
/******/
})
/************************************************************************/
/******/([
/* 0 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _dialog = __webpack_require__(1);
var _dialog2 = _interopRequireDefault(_dialog);
var _alert = __webpack_require__(7);
var _alert2 = _interopRequireDefault(_alert);
var _confirm = __webpack_require__(8);
var _confirm2 = _interopRequireDefault(_confirm);
var _toast = __webpack_require__(9);
var _toast2 = _interopRequireDefault(_toast);
var _loading = __webpack_require__(11);
var _loading2 = _interopRequireDefault(_loading);
var _actionSheet = __webpack_require__(13);
var _actionSheet2 = _interopRequireDefault(_actionSheet);
var _topTips = __webpack_require__(15);
var _topTips2 = _interopRequireDefault(_topTips);
var _searchBar = __webpack_require__(17);
var _searchBar2 = _interopRequireDefault(_searchBar);
var _tab = __webpack_require__(18);
var _tab2 = _interopRequireDefault(_tab);
var _form = __webpack_require__(19);
var _form2 = _interopRequireDefault(_form);
var _uploader = __webpack_require__(20);
var _uploader2 = _interopRequireDefault(_uploader);
var _picker = __webpack_require__(24);
var _gallery = __webpack_require__(29);
var _gallery2 = _interopRequireDefault(_gallery);
var _slider = __webpack_require__(31);
var _slider2 = _interopRequireDefault(_slider);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
dialog: _dialog2.default,
alert: _alert2.default,
confirm: _confirm2.default,
toast: _toast2.default,
loading: _loading2.default,
actionSheet: _actionSheet2.default,
topTips: _topTips2.default,
searchBar: _searchBar2.default,
tab: _tab2.default,
form: _form2.default,
uploader: _uploader2.default,
picker: _picker.picker,
datePicker: _picker.datePicker,
gallery: _gallery2.default,
slider: _slider2.default
};
module.exports = exports['default'];
/***/
},
/* 1 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _util = __webpack_require__(2);
var _util2 = _interopRequireDefault(_util);
var _dialog = __webpack_require__(6);
var _dialog2 = _interopRequireDefault(_dialog);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _sington = void 0;
/**
* dialog,弹窗,alert和confirm的父类
*
* @param {object=} options 配置项
* @param {string=} options.title 弹窗的标题
* @param {string=} options.content 弹窗的内容
* @param {string=} options.className 弹窗的自定义类名
* @param {array=} options.buttons 按钮配置项
*
* @param {string} [options.buttons[].label=确定] 按钮的文字
* @param {string} [options.buttons[].type=primary] 按钮的类型 [primary, default]
* @param {function} [options.buttons[].onClick=$.noop] 按钮的回调
*
* @example
* weui.dialog({
* title: 'dialog标题',
* content: 'dialog内容',
* className: 'custom-classname',
* buttons: [{
* label: '取消',
* type: 'default',
* onClick: function () { alert('取消') }
* }, {
* label: '确定',
* type: 'primary',
* onClick: function () { alert('确定') }
* }]
* });
*/
function dialog() {
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
if (_sington) return _sington;
var isAndroid = _util2.default.os.android;
options = _util2.default.extend({
title: null,
content: '',
className: '',
buttons: [{
label: '确定',
type: 'primary',
onClick: _util2.default.noop
}],
isAndroid: isAndroid
}, options);
var $dialogWrap = (0, _util2.default)(_util2.default.render(_dialog2.default, options));
var $dialog = $dialogWrap.find('.weui-dialog');
var $mask = $dialogWrap.find('.weui-mask');
function hide() {
var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _util2.default.noop;
$mask.addClass('weui-animate-fade-out');
$dialog.addClass('weui-animate-fade-out').on('animationend webkitAnimationEnd', function () {
$dialogWrap.remove();
_sington = false;
callback();
});
}
(0, _util2.default)('body').append($dialogWrap);
// 不能直接把.weui-animate-fade-in加到$dialog,会导致mask的z-index有问题
$mask.addClass('weui-animate-fade-in');
$dialog.addClass('weui-animate-fade-in');
$dialogWrap.on('click', '.weui-dialog__btn', function (evt) {
var _this = this;
var index = (0, _util2.default)(this).index();
hide(function () {
options.buttons[index].onClick && options.buttons[index].onClick.call(_this, evt);
});
});
_sington = $dialogWrap[0];
_sington.hide = hide;
return _sington;
}
exports.default = dialog;
module.exports = exports['default'];
/***/
},
/* 2 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
__webpack_require__(3);
var _objectAssign = __webpack_require__(4);
var _objectAssign2 = _interopRequireDefault(_objectAssign);
var _balajs = __webpack_require__(5);
var _balajs2 = _interopRequireDefault(_balajs);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// 其实,$ 的原型就是一个数组,拥有数组的各种方法
// 这里只是库内部使用,所以通过文档约束,不做容错校验,达到代码最小化
/* 判断系统 */
function _detect(ua) {
var os = this.os = {},
android = ua.match(/(Android);?[\s\/]+([\d.]+)?/);
if (android) {
os.android = true;
os.version = android[2];
}
}
_detect.call(_balajs2.default, navigator.userAgent);
(0, _objectAssign2.default)(_balajs2.default.fn, {
/**
* 只能是一个 HTMLElement 元素或者 HTMLElement 数组,不支持字符串
* @param {Element|Element[]} $child
* @returns {append}
*/
append: function append($child) {
if (!($child instanceof HTMLElement)) {
$child = $child[0];
}
this.forEach(function ($element) {
$element.appendChild($child);
});
return this;
},
/**
*
* @returns {remove}
*/
remove: function remove() {
this.forEach(function ($element) {
$element.parentNode.removeChild($element);
});
return this;
},
/**
*
* @param selector
* @returns {HTMLElement}
*/
find: function find(selector) {
return (0, _balajs2.default)(selector, this);
},
/**
*
* @param {String} className
* @returns {addClass}
*/
addClass: function addClass(className) {
this.forEach(function ($element) {
// http://caniuse.com/#search=classList
$element.classList.add(className);
});
return this;
},
/**
*
* @param {String} className
* @returns {removeClass}
*/
removeClass: function removeClass(className) {
this.forEach(function ($element) {
// http://caniuse.com/#search=classList
$element.classList.remove(className);
});
return this;
},
/**
*
* @param index
* @returns {*|jQuery|HTMLElement}
*/
eq: function eq(index) {
return (0, _balajs2.default)(this[index]);
},
/**
*
* @returns {show}
*/
show: function show() {
this.forEach(function ($element) {
$element.style.display = 'block';
});
return this;
},
/**
*
* @returns {hide}
*/
hide: function hide() {
this.forEach(function ($element) {
$element.style.display = 'none';
});
return this;
},
/**
*
* @param html 目前只能接受字符串
* @returns {html}
*/
html: function html(_html) {
this.forEach(function ($element) {
$element.innerHTML = _html;
});
return this;
},
/**
*
* @param {Object} obj 目前只能接受object
* @returns {css}
*/
css: function css(obj) {
var _this = this;
Object.keys(obj).forEach(function (key) {
_this.forEach(function ($element) {
$element.style[key] = obj[key];
});
});
return this;
},
/**
*
* @param eventType
* @param selector
* @param handler
*/
on: function on(eventType, selector, handler) {
var isDelegate = typeof selector === 'string' && typeof handler === 'function';
if (!isDelegate) {
handler = selector;
}
this.forEach(function ($element) {
eventType.split(' ').forEach(function (event) {
$element.addEventListener(event, function (evt) {
if (isDelegate) {
// http://caniuse.com/#search=closest
if (this.contains(evt.target.closest(selector))) {
handler.call(evt.target, evt);
}
} else {
handler.call(this, evt);
}
});
});
});
return this;
},
/**
*
* @param {String} eventType
* @param {String|Function} selector
* @param {Function=} handler
* @returns {off}
*/
off: function off(eventType, selector, handler) {
if (typeof selector === 'function') {
handler = selector;
selector = null;
}
this.forEach(function ($element) {
eventType.split(' ').forEach(function (event) {
if (typeof selector === 'string') {
$element.querySelectorAll(selector).forEach(function ($element) {
$element.removeEventListener(event, handler);
});
} else {
$element.removeEventListener(event, handler);
}
});
});
return this;
},
/**
*
* @returns {Number}
*/
index: function index() {
var $element = this[0];
var $parent = $element.parentNode;
return Array.prototype.indexOf.call($parent.children, $element);
},
/**
* @desc 因为off方法目前不可以移除绑定的匿名函数,现在直接暴力移除所有listener
* @returns {offAll}
*/
offAll: function offAll() {
var _this2 = this;
this.forEach(function ($element, index) {
var clone = $element.cloneNode(true);
$element.parentNode.replaceChild(clone, $element);
_this2[index] = clone;
});
return this;
},
/**
*
* @returns {*}
*/
val: function val() {
var _arguments = arguments;
if (arguments.length) {
this.forEach(function ($element) {
$element.value = _arguments[0];
});
return this;
}
return this[0].value;
},
/**
*
* @returns {*}
*/
attr: function attr() {
var _arguments2 = arguments,
_this3 = this;
if (_typeof(arguments[0]) == 'object') {
var _ret = function () {
var attrsObj = _arguments2[0];
var that = _this3;
Object.keys(attrsObj).forEach(function (attr) {
that.forEach(function ($element) {
$element.setAttribute(attr, attrsObj[attr]);
});
});
return {
v: _this3
};
}();
if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v;
}
if (typeof arguments[0] == 'string' && arguments.length < 2) {
return this[0].getAttribute(arguments[0]);
}
this.forEach(function ($element) {
$element.setAttribute(_arguments2[0], _arguments2[1]);
});
return this;
}
});
(0, _objectAssign2.default)(_balajs2.default, {
extend: _objectAssign2.default,
/**
* noop
*/
noop: function noop() { },
/**
* render
* 取值:<%= variable %>
* 表达式:<% if {} %>
* 例子:
* <div>
* <div class="weui-mask"></div>
* <div class="weui-dialog">
* <% if(typeof title === 'string'){ %>
* <div class="weui-dialog__hd"><strong class="weui-dialog__title"><%=title%></strong></div>
* <% } %>
* <div class="weui-dialog__bd"><%=content%></div>
* <div class="weui-dialog__ft">
* <% for(var i = 0; i < buttons.length; i++){ %>
* <a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_<%=buttons[i]['type']%>"><%=buttons[i]['label']%></a>
* <% } %>
* </div>
* </div>
* </div>
* A very simple template engine
* @param {String} tpl
* @param {Object=} data
* @returns {String}
*/
render: function render(tpl, data) {
var code = 'var p=[],print=function(){p.push.apply(p,arguments);};with(this){p.push(\'' + tpl.replace(/[\r\t\n]/g, ' ').split('<%').join('\t').replace(/((^|%>)[^\t]*)'/g, '$1\r').replace(/\t=(.*?)%>/g, '\',$1,\'').split('\t').join('\');').split('%>').join('p.push(\'').split('\r').join('\\\'') + '\');}return p.join(\'\');';
return new Function(code).apply(data);
},
/**
* getStyle 获得元素计算后的样式值
*/
getStyle: function getStyle(el, styleProp) {
var value,
defaultView = (el.ownerDocument || document).defaultView;
// W3C standard way:
if (defaultView && defaultView.getComputedStyle) {
// sanitize property name to css notation
// (hypen separated words eg. font-Size)
styleProp = styleProp.replace(/([A-Z])/g, '-$1').toLowerCase();
return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
} else if (el.currentStyle) {
// IE
// sanitize property name to camelCase
styleProp = styleProp.replace(/\-(\w)/g, function (str, letter) {
return letter.toUpperCase();
});
value = el.currentStyle[styleProp];
// convert other units to pixels on IE
if (/^\d+(em|pt|%|ex)?$/i.test(value)) {
return function (value) {
var oldLeft = el.style.left,
oldRsLeft = el.runtimeStyle.left;
el.runtimeStyle.left = el.currentStyle.left;
el.style.left = value || 0;
value = el.style.pixelLeft + 'px';
el.style.left = oldLeft;
el.runtimeStyle.left = oldRsLeft;
return value;
}(value);
}
return value;
}
}
});
exports.default = _balajs2.default;
module.exports = exports['default'];
/***/
},
/* 3 */
/***/ function (module, exports) {
// element-closest | CC0-1.0 | github.com/jonathantneal/closest
(function (ElementProto) {
if (typeof ElementProto.matches !== 'function') {
ElementProto.matches = ElementProto.msMatchesSelector || ElementProto.mozMatchesSelector || ElementProto.webkitMatchesSelector || function matches(selector) {
var element = this;
var elements = (element.document || element.ownerDocument).querySelectorAll(selector);
var index = 0;
while (elements[index] && elements[index] !== element) {
++index;
}
return Boolean(elements[index]);
};
}
if (typeof ElementProto.closest !== 'function') {
ElementProto.closest = function closest(selector) {
var element = this;
while (element && element.nodeType === 1) {
if (element.matches(selector)) {
return element;
}
element = element.parentNode;
}
return null;
};
}
})(window.Element.prototype);
/***/
},
/* 4 */
/***/ function (module, exports) {
'use strict';
/* eslint-disable no-unused-vars */
var hasOwnProperty = Object.prototype.hasOwnProperty;
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
function toObject(val) {
if (val === null || val === undefined) {
throw new TypeError('Object.assign cannot be called with null or undefined');
}
return Object(val);
}
function shouldUseNative() {
try {
if (!Object.assign) {
return false;
}
// Detect buggy property enumeration order in older V8 versions.
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
var test1 = new String('abc'); // eslint-disable-line
test1[5] = 'de';
if (Object.getOwnPropertyNames(test1)[0] === '5') {
return false;
}
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
var test2 = {};
for (var i = 0; i < 10; i++) {
test2['_' + String.fromCharCode(i)] = i;
}
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
return test2[n];
});
if (order2.join('') !== '0123456789') {
return false;
}
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
var test3 = {};
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
test3[letter] = letter;
});
if (Object.keys(Object.assign({}, test3)).join('') !==
'abcdefghijklmnopqrst') {
return false;
}
return true;
} catch (e) {
// We don't expect any of the above to throw, but better to be safe.
return false;
}
}
module.exports = shouldUseNative() ? Object.assign : function (target, source) {
var from;
var to = toObject(target);
var symbols;
for (var s = 1; s < arguments.length; s++) {
from = Object(arguments[s]);
for (var key in from) {
if (hasOwnProperty.call(from, key)) {
to[key] = from[key];
}
}
if (Object.getOwnPropertySymbols) {
symbols = Object.getOwnPropertySymbols(from);
for (var i = 0; i < symbols.length; i++) {
if (propIsEnumerable.call(from, symbols[i])) {
to[symbols[i]] = from[symbols[i]];
}
}
}
}
return to;
};
/***/
},
/* 5 */
/***/ function (module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; (function (root, $) {
$ = (function (document, s_addEventListener, s_querySelectorAll) {
function $(s, context, bala) {
bala = Object.create($.fn);
s && bala.push.apply(bala, // if s is truly then push the following
s[s_addEventListener] // if arg is node or window,
? [s] // then pass [s]
: "" + s === s // else if arg is a string
? /</.test(s) // if the string contains "<" (if HTML code is passed)
// then parse it and return node.children
// use 'addEventListener' (HTMLUnknownElement) if content is not presented
? ((context = document.createElement(context || s_addEventListener)).innerHTML = s
, context.children)
: context // else if context is truly
? ((context = $(context)[0]) // if context element is found
? context[s_querySelectorAll](s) // then select element from context
: bala) // else pass [] (context isn't found)
: document[s_querySelectorAll](s) // else select elements globally
: typeof s == 'function' // else if function is passed
// if DOM is ready
// readyState[7] means readyState value is "interactive" or "complete" (not "loading")
? document.readyState[7]
? s() // then run given function
: document[s_addEventListener]('DOMContentLoaded', s) // else wait for DOM ready
: s); // else guessing that s variable is array-like Object
return bala;
}
$.fn = [];
$.one = function (s, context) {
return $(s, context)[0] || null;
};
return $;
})(document, 'addEventListener', 'querySelectorAll');
if (true) {
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
return $;
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
} else if (typeof module == 'object' && module.exports) {
module.exports = $;
} else {
root.$ = $;
}
})(this);
/***/
},
/* 6 */
/***/ function (module, exports) {
module.exports = "<div class=\"<%=className%>\"> <div class=weui-mask></div> <div class=\"weui-dialog <% if(isAndroid){ %> weui-skin_android <% } %>\"> <% if(title){ %> <div class=weui-dialog__hd><strong class=weui-dialog__title><%=title%></strong></div> <% } %> <div class=weui-dialog__bd><%=content%></div> <div class=weui-dialog__ft> <% for(var i = 0; i < buttons.length; i++){ %> <a href=javascript:; class=\"weui-dialog__btn weui-dialog__btn_<%=buttons[i]['type']%>\"><%=buttons[i]['label']%></a> <% } %> </div> </div> </div> ";
/***/
},
/* 7 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _util = __webpack_require__(2);
var _util2 = _interopRequireDefault(_util);
var _dialog = __webpack_require__(1);
var _dialog2 = _interopRequireDefault(_dialog);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* alert 警告弹框,功能类似于浏览器自带的 alert 弹框,用于提醒、警告用户简单扼要的信息,只有一个“确认”按钮,点击“确认”按钮后关闭弹框。
* @param {string} content 弹窗内容
* @param {function=} yes 点击确定按钮的回调
* @param {object=} options 配置项
* @param {string=} options.title 弹窗的标题
* @param {string=} options.className 自定义类名
* @param {array=} options.buttons 按钮配置项,详情参考dialog
*
* @example
* weui.alert('普通的alert');
* weui.alert('带回调的alert', function(){ console.log('ok') });
* weui.alert('自定义标题的alert', { title: '自定义标题' });
* weui.alert('带回调的自定义标题的alert', function(){
* console.log('ok')
* }, {
* title: '自定义标题'
* });
* weui.alert('自定义按钮的alert', {
* title: '自定义按钮的alert',
* buttons: [{
* label: 'OK',
* type: 'primary',
* onClick: function(){ console.log('ok') }
* }]
* });
*/
function alert() {
var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var yes = arguments[1];
var options = arguments[2];
var type = (typeof yes === 'undefined' ? 'undefined' : _typeof(yes)) === 'object';
if (type) {
options = yes;
}
options = _util2.default.extend({
content: content,
buttons: [{
label: '确定',
type: 'primary',
onClick: type ? _util2.default.noop : yes
}]
}, options);
return (0, _dialog2.default)(options);
}
exports.default = alert;
module.exports = exports['default'];
/***/
},
/* 8 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _util = __webpack_require__(2);
var _util2 = _interopRequireDefault(_util);
var _dialog = __webpack_require__(1);
var _dialog2 = _interopRequireDefault(_dialog);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* 确认弹窗
* @param {string} content 弹窗内容
* @param {function=} yes 点击确定按钮的回调
* @param {function=} no 点击取消按钮的回调
* @param {object=} options 配置项
* @param {string=} options.title 弹窗的标题
* @param {string=} options.className 自定义类名
* @param {array=} options.buttons 按钮配置项,详情参考dialog
*
* @example
* weui.confirm('普通的confirm');
* weui.confirm('自定义标题的confirm', { title: '自定义标题' });
* weui.confirm('带回调的confirm', function(){ console.log('yes') }, function(){ console.log('no') });
* weui.confirm('带回调的自定义标题的confirm', function(){ console.log('yes') }, function(){ console.log('no') }, {
* title: '自定义标题'
* });
* weui.confirm('自定义按钮的confirm', {
* title: '自定义按钮的confirm',
* buttons: [{
* label: 'NO',
* type: 'default',
* onClick: function(){ console.log('no') }
* }, {
* label: 'YES',
* type: 'primary',
* onClick: function(){ console.log('yes') }
* }]
* });
*/
function confirm() {
var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var yes = arguments[1];
var no = arguments[2];
var options = arguments[3];
var type = (typeof yes === 'undefined' ? 'undefined' : _typeof(yes)) === 'object';
if (type) {
options = yes;
}
options = _util2.default.extend({
content: content,
buttons: [{
label: '取消',
type: 'default',
onClick: type ? _util2.default.noop : no
}, {
label: '确定',
type: 'primary',
onClick: type ? _util2.default.noop : yes
}]
}, options);
return (0, _dialog2.default)(options);
}
exports.default = confirm;
module.exports = exports['default'];
/***/
},
/* 9 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _util = __webpack_require__(2);
var _util2 = _interopRequireDefault(_util);
var _toast = __webpack_require__(10);
var _toast2 = _interopRequireDefault(_toast);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _sington = void 0;
/**
* toast 一般用于操作成功时的提示场景
* @param {string} content toast的文字
* @param {Object|function=} options 配置项或回调
* @param {number=} [options.duration=3000] 多少毫秒后关闭toast
* @param {function=} options.callback 关闭后的回调
* @param {string=} options.className 自定义类名
*
* @example
* weui.toast('操作成功', 3000);
* weui.toast('操作成功', {
* duration: 3000,
* className: 'custom-classname',
* callback: function(){ console.log('close') }
* });
*/
function toast() {
var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
if (_sington) return _sington;
if (typeof options === 'number') {
options = {
duration: options
};
}
if (typeof options === 'function') {
options = {
callback: options
};
}
options = _util2.default.extend({
content: content,
duration: 3000,
callback: _util2.default.noop,
className: ''
}, options);
var $toast = (0, _util2.default)(_util2.default.render(_toast2.default, options));
(0, _util2.default)('body').append($toast);
$toast.addClass('weui-animate-fade-in');
setTimeout(function () {
$toast.addClass('weui-animate-fade-out').on('animationend webkitAnimationEnd', function () {
$toast.remove();
_sington = false;
options.callback();
});
}, options.duration);
_sington = $toast[0];
return $toast[0];
}
exports.default = toast;
module.exports = exports['default'];
/***/
},
/* 10 */
/***/ function (module, exports) {
module.exports = "<div class=\"<%= className %>\"> <div class=weui-mask_transparent></div> <div class=weui-toast> <i class=\"weui-icon_toast weui-icon-success-no-circle\"></i> <p class=weui-toast__content><%=content%></p> </div> </div> ";
/***/
},
/* 11 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _util = __webpack_require__(2);
var _util2 = _interopRequireDefault(_util);
var _loading = __webpack_require__(12);
var _loading2 = _interopRequireDefault(_loading);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _sington = void 0;
/**
* loading
* @param {string} content loading的文字
* @param {object=} options 配置项
* @param {string=} options.className 自定义类名
*
* @example
* var loading = weui.loading('loading', {
* className: 'custom-classname'
* });
* setTimeout(function () {
* loading.hide();
* }, 3000);
*/
function loading() {
var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
if (_sington) return _sington;
options = _util2.default.extend({
content: content,
className: ''
}, options);
var $loading = (0, _util2.default)(_util2.default.render(_loading2.default, options));
function hide() {
$loading.addClass('weui-animate-fade-out').on('animationend webkitAnimationEnd', function () {
$loading.remove();
_sington = false;
});
}
(0, _util2.default)('body').append($loading);
$loading.addClass('weui-animate-fade-in');
_sington = $loading[0];
_sington.hide = hide;
return _sington;
}
exports.default = loading;
module.exports = exports['default'];
/***/
},
/* 12 */
/***/ function (module, exports) {
module.exports = "<div class=\"weui-loading_toast <%= className %>\"> <div class=weui-mask_transparent></div> <div class=weui-toast> <i class=\"weui-loading weui-icon_toast\"></i> <p class=weui-toast__content><%=content%></p> </div> </div> ";
/***/
},
/* 13 */
/***/ function (module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _util = __webpack_require__(2);
var _util2 = _interopRequireDefault(_util);
var _actionSheet = __webpack_require__(14);
var _actionSheet2 = _interopRequireDefault(_actionSheet);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _sington = void 0;
/**
* actionsheet 弹出式菜单
* @param {array} menus 上层的选项
* @param {string} menus[].label 选项的文字
* @param {function} menus[].onClick 选项点击时的回调
*
* @param {array} actions 下层的选项
* @param {string} actions[].label 选项的文字
* @param {function} actions[].onClick 选项点击时的回调
*
* @param {object=} options 配置项
* @param {string=} options.className 自定义类名
*
* @example
* weui.actionSheet([
* {
* label: '拍照',
* onClick: function () {
* console.log('拍照');
* }
* }, {
* label: '从相册选择',
* onClick: function () {
* console.log('从相册选择');
* }
* }, {
* label: '其他',
* onClick: function () {
* console.log('其他');
* }
* }
* ], [
* {
* label: '取消',
* onClick: function () {
* console.log('取消');
* }
* }
* ], {
* className: 'custom-classname'
* });
*/
function actionSheet() {
var menus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var actions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
if (_sington) return _sington;
var isAndroid = _util2.default.os.android;
options = _util2.default.extend({
menus: menus,
actions: actions,
className: '',
isAndroid: isAndroid
}, options);
var $actionSheetWrap = (0, _util2.default)(_util2.default.render(_actionSheet2.default, options));
var $actionSheet = $actionSheetWrap.find('.weui-actionsheet');
var $actionSheetMask = $actionSheetWrap.find('.weui-mask');
function hide() {
$actionSheet.addClass(isAndroid ? 'weui-animate-fade-out' : 'weui-animate-slide-down');
$actionSheetMask.addClass('weui-animate-fade-out').on('animationend webkitAnimationEnd', function () {
$actionSheetWrap.remove();
_sington = false;
});
}
(0, _util2.default)('body').append($actionSheetWrap);