avalon:提示信息公用弹层,在页面居中位置显示vip-alert

<div class="vip-confirm" ms-controller="ConfirmCtrl">
    <i ms-click="@close()">×</i>
    <h3 class="modal-title">{{@title}}</h3> 
    <div class="modal-content">
        {{@content}}
    </div>
    <div class="modal-bottom">
        <a class="confirm" ms-click="@confirmClick()">{{@confirmButton}}</a>
        <a class="cancel" ms-click="@cancelClick()">{{@cancelButton}}</a>
    </div>
</div>

import {} from './vip-confirm.scss';
import template from './vip-confirm.html';
import {ModalDelegate,Modal} from 'cmui-modal';


let vipConfirmDelegate =  new ModalDelegate();
const CONFIRM_DEFAULT_OPTIONS = {
    mask: {
        dismissOnClick: false,
        animationDuration: 300
    },
    confirm: {
        vmName: 'ConfirmCtrl',
        title: '系统提示',
        content: '系统繁忙,请稍后重试',
        confirmButton: '确定',
        cancelButton: '取消',
        onConfirm: '',
        onCancel: ''
    }
};

vipConfirmDelegate.defaults.template = template;

vipConfirmDelegate.create = (options) => {

	let $this = vipConfirmDelegate;
    
	
    if ($this.current) {
        $this.current.$hide();
        $this.modalStack.push(this.current);
    }
    options = $.extend(true, CONFIRM_DEFAULT_OPTIONS, options);
    let _confirmOptions = options.confirm;

    //处理VM
    let vm = avalon.define({
        $id: _confirmOptions.vmName,
        title: _confirmOptions.title,
        content: _confirmOptions.content,
        confirmButton: _confirmOptions.confirmButton,
        cancelButton: _confirmOptions.cancelButton,
        onConfirm: _confirmOptions.onConfirm,
        onCancel: _confirmOptions.onCancel,
        close: () => {
            $this.current.dismiss();
        },
        confirmClick: () => {
            if (vm.onConfirm){
                vm.onConfirm.call($this.current.$element[0], vm);
                $this.current.dismiss();
            } else{
                $this.current.dismiss();
            }
        },
        cancelClick: () => {
            if (vm.onCancel) vm.onCancel.call($this.current.$element[0], vm);
            $this.current.dismiss();
        }

    });
    

    options.onReady = (element) => {
        $(element).find('.vip-confirm').attr('ms-controller',_confirmOptions.vmName);
        element.className += " vip-modal";
        avalon.scan(element, vm);
    };

    let _options = $.extend({}, $this.defaults, options);

    $this.current = new Modal(_options, $this).show();

    if (_options.onReady) {
        _options.onReady($this.current.$element[0]);
    }
    $this.current.vm = vm;
    return $this.current;
};

avalon.component('vip-confirm', vipConfirmDelegate);

export{
	vipConfirmDelegate
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值