273 lines
10 KiB
JavaScript
Executable File
273 lines
10 KiB
JavaScript
Executable File
/*! amazeui-dialog v0.0.2 | by Amaze UI Team | (c) 2016 AllMobilize, Inc. | Licensed under MIT | 2016-06-22T10:19:33+0800 */
|
|
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
|
|
(function (global){
|
|
/**
|
|
* Created by along on 15/8/12.
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
var $ = (typeof window !== "undefined" ? window['jQuery'] : typeof global !== "undefined" ? global['jQuery'] : null);
|
|
var UI = (typeof window !== "undefined" ? window['AMUI'] : typeof global !== "undefined" ? global['AMUI'] : null);
|
|
|
|
var dialog = dialog || {};
|
|
|
|
dialog.alert = function(options) {
|
|
options = options || {};
|
|
options.style = options.style || '';
|
|
options.content_style = options.content_style || '';
|
|
options.class = options.class || '';
|
|
options.title = options.title || null;
|
|
options.content = options.content || '提示内容';
|
|
options.confirmText = options.confirmText || window['lang_confirm_name'] || '确定';
|
|
options.isClose = options.isClose || false;
|
|
options.isBtn = options.isBtn || false;
|
|
options.config = options.config || {};
|
|
options.onConfirm = options.onConfirm || function() {};
|
|
options.onClose = options.onClose || function() {};
|
|
options.onOpen = options.onOpen || function() {};
|
|
var html = [];
|
|
html.push('<div class="am-modal am-modal-alert '+options.class+'" tabindex="-1">');
|
|
html.push('<div class="am-modal-dialog am-radius am-nbfc" style="'+options.style+'">');
|
|
if(options.title !== null || options.isClose === true)
|
|
{
|
|
html.push('<div class="am-modal-hd">');
|
|
if(options.title !== null)
|
|
{
|
|
html.push('<span>'+options.title+'</span>');
|
|
}
|
|
if(options.isClose === true)
|
|
{
|
|
html.push('<a href="javascript: void(0)" class="am-close" data-am-modal-close>×</a>');
|
|
}
|
|
html.push('</div>');
|
|
}
|
|
// 是否iframe
|
|
if((options.iframe || null) != null)
|
|
{
|
|
html.push(options.iframe);
|
|
|
|
// 是否url模式
|
|
} else if((options.url || null) != null)
|
|
{
|
|
html.push('<iframe src="'+options.url+'" class="am-block" style="width:100%;height:calc(100% - 4.5rem);"></iframe>');
|
|
|
|
// 默认内容
|
|
} else {
|
|
html.push('<div class="am-modal-bd" style="'+options.content_style+'">' + options.content + '</div>');
|
|
}
|
|
if(options.isBtn)
|
|
{
|
|
html.push('<div class="am-modal-footer"><span class="am-modal-btn">'+options.confirmText+'</span></div>');
|
|
}
|
|
html.push('</div>');
|
|
html.push('</div>');
|
|
var $alert = $(html.join('')).appendTo('body').modal(options.config);
|
|
$alert.on('opened.modal.amui', function() {
|
|
options.onOpen();
|
|
});
|
|
|
|
$alert.on('closed.modal.amui', function() {
|
|
options.onConfirm();
|
|
options.onClose();
|
|
var $this = $(this);
|
|
setTimeout(function()
|
|
{
|
|
$this.remove();
|
|
}, 1000);
|
|
});
|
|
};
|
|
|
|
dialog.confirm = function(options) {
|
|
options = options || {};
|
|
options.title = options.title || window['lang_operate_params_error'] || '提示';
|
|
options.content = options.content || '提示内容';
|
|
options.cancelText = options.cancelText || window['lang_cancel_name'] || '取消';
|
|
options.confirmText = options.confirmText || window['lang_confirm_name'] || '确定';
|
|
options.onConfirm = options.onConfirm || function() {};
|
|
options.onCancel = options.onCancel || function() {};
|
|
|
|
var html = [];
|
|
html.push('<div class="am-modal am-modal-confirm" tabindex="-1">');
|
|
html.push('<div class="am-modal-dialog am-radius am-nbfc">');
|
|
html.push('<div class="am-modal-hd">' + options.title + '</div>');
|
|
html.push('<div class="am-modal-bd"><div class="am-padding-horizontal-xl am-padding-vertical-xs am-text-sm">' + options.content + '</div></div>');
|
|
html.push('<div class="am-modal-footer">');
|
|
html.push('<span class="am-modal-btn am-text-danger" data-am-modal-cancel>'+options.cancelText+'</span>');
|
|
html.push('<span class="am-modal-btn" data-am-modal-confirm>'+options.confirmText+'</span>');
|
|
html.push('</div>');
|
|
html.push('</div>');
|
|
html.push('</div>');
|
|
|
|
return $(html.join('')).appendTo('body').modal({
|
|
onConfirm: function(e) {
|
|
options.onConfirm(e);
|
|
},
|
|
onCancel: function() {
|
|
options.onCancel();
|
|
}
|
|
}).on('closed.modal.amui', function() {
|
|
var $this = $(this);
|
|
setTimeout(function()
|
|
{
|
|
$this.remove();
|
|
}, 1000);
|
|
});
|
|
};
|
|
|
|
dialog.loading = function(options) {
|
|
if(options == 'close') {
|
|
$('#my-modal-loading').modal('close');
|
|
} else {
|
|
options = options || {};
|
|
options.title = options.title || window['lang_loading_tips'] || '正在载入...';
|
|
|
|
if($('#my-modal-loading').length > 0)
|
|
{
|
|
$('#my-modal-loading .am-modal-bd .am-margin-left-xs').text(options.title);
|
|
} else {
|
|
var html = [];
|
|
html.push('<div class="am-modal am-modal-loading am-modal-no-btn" tabindex="-1" id="my-modal-loading">');
|
|
html.push('<div class="am-modal-dialog am-radius am-nbfc">');
|
|
html.push('<div class="am-modal-bd am-padding-vertical-0">');
|
|
html.push('<div class="am-padding-horizontal-sm am-padding-vertical-sm">');
|
|
html.push('<span class="am-icon-spinner am-icon-spin am-vertical-align-middle"></span>');
|
|
html.push('<span class="am-margin-left-xs am-vertical-align-middle">' + options.title + '</span>');
|
|
html.push('</div>');
|
|
html.push('</div>');
|
|
html.push('</div>');
|
|
html.push('</div>');
|
|
|
|
return $(html.join('')).appendTo('body').modal().on('closed.modal.amui', function() {
|
|
$(this).remove();
|
|
});
|
|
}
|
|
}
|
|
};
|
|
|
|
dialog.actions = function(options) {
|
|
options = options || {};
|
|
options.title = options.title || null;
|
|
options.cancelText = options.cancelText || window['lang_cancel_name'] || '取消';
|
|
options.items = options.items || [];
|
|
options.config = options.config || {};
|
|
var html = [];
|
|
html.push('<div class="am-modal-actions">');
|
|
html.push('<div class="am-modal-actions-group am-radius am-nbfc">');
|
|
html.push('<ul class="am-list">');
|
|
if(options.title != null) {
|
|
html.push('<li class="am-modal-actions-header">' + options.title + '</li>');
|
|
}
|
|
options.items.forEach(function(item, index) {
|
|
html.push('<li class="am-padding-sm am-cursor-pointer" index="' + index + '">' + item.content + '</li>');
|
|
});
|
|
html.push('</ul>');
|
|
html.push('</div>');
|
|
html.push('<div class="am-modal-actions-group">');
|
|
html.push('<button class="am-btn am-btn-primary am-btn-block am-radius" data-am-modal-close>'+options.cancelText+'</button>');
|
|
html.push('</div>');
|
|
html.push('</div>');
|
|
|
|
var $acions = $(html.join('')).appendTo('body').modal(options.config).on('closed.modal.amui', function() {
|
|
setTimeout(function()
|
|
{
|
|
$acions.remove();
|
|
}, 1000);
|
|
});
|
|
if((options.onSelected || null) != null && typeof(options.onSelected) == 'function') {
|
|
$acions.find('.am-list>li').bind('click', function(e) {
|
|
if(!$(this).hasClass('am-modal-actions-header')) {
|
|
options.onSelected($(this).attr('index'), $(this), $acions);
|
|
}
|
|
});
|
|
}
|
|
};
|
|
|
|
dialog.popup = function(options) {
|
|
options = options || {};
|
|
options.title = options.title || null;
|
|
options.content = options.content || '正文';
|
|
options.class = options.class || '';
|
|
options.onClose = options.onClose || function() {};
|
|
options.onOpen = options.onOpen || function() {};
|
|
|
|
var html = [];
|
|
|
|
// 是否存在标题
|
|
if(options.title != null)
|
|
{
|
|
html.push('<div class="am-popup am-radius '+options.class+'">');
|
|
html.push('<div class="am-popup-inner am-radius">');
|
|
html.push('<div class="am-popup-hd">');
|
|
html.push('<h4 class="am-popup-title">' + options.title + '</h4>');
|
|
html.push('<span data-am-modal-close class="am-close">×</span>');
|
|
html.push('</div>');
|
|
html.push('<div class="am-popup-bd">' + options.content + '</div>');
|
|
} else {
|
|
html.push('<div class="am-popup am-radius '+options.class+' popup-not-title">');
|
|
html.push('<div class="am-popup-inner am-radius">');
|
|
html.push('<span data-am-modal-close class="am-close am-close-alt">×</span>');
|
|
html.push(options.content);
|
|
}
|
|
html.push('</div> ');
|
|
html.push('</div>');
|
|
var $popup = $(html.join('')).appendTo('body').modal();
|
|
$popup.on('opened.modal.amui', function() {
|
|
options.onOpen();
|
|
});
|
|
|
|
$popup.on('closed.modal.amui', function() {
|
|
options.onClose();
|
|
var $this = $(this);
|
|
setTimeout(function()
|
|
{
|
|
$this.remove();
|
|
}, 1000);
|
|
});
|
|
};
|
|
|
|
dialog.offcanvas = function(options) {
|
|
options = options || {};
|
|
options.content = options.content || '正文';
|
|
options.class = options.class || '';
|
|
options.isClose = options.isClose || false;
|
|
options.onClose = options.onClose || function() {};
|
|
options.width = ((options.width || 0) == 0) ? '' : 'width:'+options.width+'px;';
|
|
var random = 'am-offcanvas-' + Math.random().toString(36).substring(2);
|
|
var html = [];
|
|
html.push('<div id="'+random+'" class="am-offcanvas am-offcanvas-popup '+options.class+'">');
|
|
html.push('<div class="am-offcanvas-bar am-offcanvas-bar-flip" style="'+options.width+'">');
|
|
// 是否需要关闭按钮
|
|
if(options.isClose){
|
|
html.push('<a class="am-close am-fr am-text-lg">×</a>');
|
|
}
|
|
// 是否url模式
|
|
if((options.url || null) != null)
|
|
{
|
|
html.push('<iframe src="'+options.url+'" class="am-block" style="width:100%;height:100%;"></iframe>');
|
|
} else {
|
|
html.push('<div class="am-offcanvas-content">' + options.content + '</div>');
|
|
}
|
|
html.push('</div>');
|
|
html.push('</div>');
|
|
if(options.isClose){
|
|
$(document).on('click', '#' + random + ' .am-offcanvas-bar > .am-close', function(){
|
|
$('#' + random).offCanvas('close');
|
|
});
|
|
}
|
|
return $(html.join('')).appendTo('body').offCanvas().on('closed.offcanvas.amui', function() {
|
|
|
|
var $this = $(this);
|
|
setTimeout(function()
|
|
{
|
|
$this.remove();
|
|
}, 1000);
|
|
options.onClose();
|
|
});
|
|
};
|
|
|
|
module.exports = UI.dialog = dialog;
|
|
|
|
}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
|
|
},{}]},{},[1]);
|