123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- /**
- * Created by yidashi on 16/7/28.
- */
- $(document).ajaxError(function(event,xhr,options,exc){
- var message = xhr.responseJSON ? xhr.responseJSON.message : '操作失败';
- if (xhr.status == 403) {
- message = xhr.responseText;
- }
- $.modal.error(message);
- });
- $.extend(yii, {
- clickableSelector: 'a[data-ajax!=1], button, input[type="submit"], input[type="button"], input[type="reset"], ' +
- 'input[type="image"]',
- confirm: function (message, ok, cancel) {
- $.modal.confirm(message, ok, cancel);
- }
- });
- var ajaxLink = function (options) {
- options = $.extend({
- method:$(this).data('method') || 'get',
- action:$(this).data('action') || $(this).attr('href'),
- refreshPjaxContainer: $(this).data('refresh-pjax-container') || null,
- refresh: $(this).data('refresh') || false,
- callback: $(this).data('callback') || null,
- confirm: $(this).data('confirm') || null,
- data: $(this).data('params') || {}
- }, options);
- var ele = $(this);
- var fn = function () {
- $.modal.loading();
- $.ajax({
- url: options.action,
- method: options.method,
- data: options.data,
- dataType: 'json',
- success: function (res) {
- if (res.status != undefined && res.status == 0) {
- $.modal.error(res.message || '操作失败');
- return;
- }
- if (!res.message) {
- res.message = '操作成功';
- }
- $.modal.notify(res.message, 'success', function () {
- if (options.refreshPjaxContainer) {
- $.pjax.reload({container:'#' + options.refreshPjaxContainer, timeout: 0});
- }
- if (res.redirect) {
- location.href = res.redirect;
- } else {
- if (options.refresh) {
- location.reload();
- }
- if (options.callback) {
- options.callback(res);
- }
- }
- });
- },
- complete: function () {
- $.modal.unloading();
- }
- });
- }
- if (options.confirm != null) {
- $.modal.confirm(options.confirm, function () {
- fn();
- });
- } else {
- fn();
- }
- return false;
- }
- var ajaxSubmit = function (options) {
- var $form = $(this);
- options = $.extend({
- method: $form.attr('method'),
- action: $form.attr('action'),
- refreshPjaxContainer: $form.data('refresh-pjax-container') || null,
- refresh: $form.data('refresh') || false,
- callback: $form.data('callback') || null,
- confirm: $form.data('confirm') || null
- }, options);
- var method = options.method,
- action = options.action,
- refreshPjaxContainer = options.refreshPjaxContainer,
- refresh = options.refresh,
- callback = options.callback;
- var fn = function () {
- $.modal.loading();
- $.ajax({
- url: action,
- method: method,
- data: $form.serialize(),
- dataType: 'json',
- success: function (res) {
- if (res.status != undefined && res.status == 0) {
- $.modal.error(res.message || '操作失败');
- return;
- }
- if (!res.message) {
- res.message = '操作成功';
- }
- $.modal.notify(res.message, 'success', function () {
- $form.trigger('reset');
- if (refreshPjaxContainer) {
- $.pjax.reload({container:'#' + refreshPjaxContainer, timeout: 0});
- }
- if (refresh) {
- location.reload();
- }
- if (callback) {
- callback(res);
- }
- });
- },
- complete: function () {
- $.modal.unloading();
- }
- });
- }
- if (options.confirm != null) {
- $.modal.confirm(options.confirm, function () {
- fn();
- });
- } else {
- fn();
- }
- return false;
- }
- $(function () {
- $(document).on('click', "a[target='_blank']", function () {
- if ($(this).attr('no-iframe')) {
- return true;
- }
- if (parent != window) {
- parent.admin_tab(this);
- return false;
- }
- });
- $(".fancybox").fancybox({
- prevEffect : 'none',
- nextEffect : 'none',
- helpers : {
- title : {
- type: 'float'
- },
- buttons : {},
- thumbs : {
- width : 50,
- height : 50
- }
- }
- });
- $('[data-toggle=popover]').popover();
- $('[data-toggle=tooltip]').tooltip();
- $('.modal-dialog').drags({handle:".modal-header"});
- $(document).on('click', 'a[data-ajax=1]', function () {
- return ajaxLink.call(this);
- });
- $(document).on('beforeSubmit', 'form[data-ajax=1]', function () {
- return ajaxSubmit.call(this);
- });
- var elems = Array.prototype.slice.call(document.querySelectorAll('[data-toggle=switcher]'));
- elems.forEach(function(html) {
- var disabled = !!$(html).data('switcher-disabled');
- var size = $(html).data('switcher-size') || 'small';
- var switchery = new Switchery(html,{ size: size, disabled:disabled, disabledOpacity:0.5 });
- $(html).data('switchery', switchery);
- });
- })
- String.prototype.addQueryParams = function(params) {
- var split = '?';
- if (this.indexOf('?') > -1) {
- split = '&';
- }
- var queryParams = '';
- for(var i in params) {
- queryParams += i + '=' + params[i] + '&';
- }
- queryParams = queryParams.substr(0, queryParams.length -1)
- return this + split + queryParams;
- }
|