html 使用<ar-modal></ar-modal>:

<ar-modal
modal-obj="modalObj"
ok="newAlarmClear($index)"
confirm-msg="{{'确定删除选定的告警任务?此操作无法撤销!'|translate}}"
ar-title = "{{'提示'|translate}}"
>
<button
class="btn btn-danger ng-scope"
aria-label="Clear"
data-test-subj="clearButton">
<span class="sr-only ng-scope" translate="">Clear</span>
<i aria-hidden="true" class="fa fa-trash-o"></i>
</button>
</ar-modal>

属性说明:1,2选一,默认取2的值

1.js文件传值()

modal-obj="modalObj" //js文件提供的对象 对象规范:

$scope.modalObj = {

'title': '提示',//提示头部

'msg': 'xxx',//提示语

'ok':function(){}//确定按钮执行的函数

}

2.html 属性传值
ok="newAlarmClear($index)"//确定按钮执行的函数
confirm-msg="{{'确定删除选定的告警任务?此操作无法撤销!'|translate}}"//提示语
ar-title = "{{'提示'|translate}}"//提示头部

ui\public\directives\ar_modal.js:
js:文件
//luo.chunxiang
//2017/3/22
import html from 'ui/directives/modal/ar_modal.html';
import uiModules from 'ui/modules';
import 'ui/directives/modal/style.css';
import 'ui/ar_safe_modal'; uiModules
.get('kibana')
.directive('arModal', function ($modal, $translate, $translatePartialLoader, safeModal) {
return {
restrict: 'E',
scope: {
modalObj: '=',
ok: '&'
},
controller: function ($scope) {
$translatePartialLoader.addPart('../plugins/kibana');
$translate.refresh();
},
link: function (scope, element, attrs) {
scope.ok = attrs.ok ? scope.ok : null;
scope.msg = attrs.confirmMsg ? attrs.confirmMsg : null;
scope.title = attrs.arTitle ? attrs.arTitle : null;
element.bind('click', function () {
//ConfirmService.open(attrs.confirm);
var modalConfirmInstance = $modal.open({
template: html,
controller:['$scope', '$modalInstance', function ($scope, $modalConfirmInstance) {
//get obj from parent Controller
$scope.modalObj = scope.modalObj || {};
$scope.title = scope.title || $scope.modalObj.title || safeModal && safeModal.title;//头部
$scope.msg = scope.msg || $scope.modalObj.msg || safeModal && safeModal.msg;//body信息
$scope.ok = scope.ok || $scope.modalObj.ok || safeModal && safeModal.ok; //$scope 是此控制器作用域对象 ,而 scope是继承了父作用域对象从而创建一个新的作用于对象,可以访问父类中的方法和属性
$scope.confirm = function () {
$scope.ok(); //run the parent controller method
$modalConfirmInstance.close(true);
};
$scope.cancel = function () {
$modalConfirmInstance.dismiss('cancel');
};
}],
windowClass: 'confirmModal', // 自定义modal上级div的class
size: 'sm'//大小配置
});
return modalConfirmInstance;
}); }
};
});

'ui/directives/modal/style.css';

.confirmModal .modal-body {
height: 124px;
} .confirmModal .modal-body .hint-contents{
width: 100%;
height: 90px;
padding: 0px 20px;
word-wrap:break-word;
}
.confirmModal .modal-body .hint-area{
display: block;
width: 80%;
height: 100%;
float: right;
}
.confirmModal .modal-body .hint-icon{
display: block;
width: 20%;
height: 100%;
float: left;
color: #da0000;
}
.confirmModal .modal-body .hint-icon a{
display: inline-block;
width: 32px;
height: 32px;
background-image: url("~ui/images/hint.svg");
}

ui/directives/modal/ar_modal.html

<div class="modal-header">
<p class="modal-title" translate>{{title}}</p>
<button type="button" class="close" aria-label="Close" ng-click="cancel()">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="hint-contents">
<!-- <span class="hint-icon"><i class="fa fa-exclamation-circle fa-2x" aria-hidden="true"></i></span> -->
<div class="hint-icon"><a></a></div>
<div class="hint-area">
<div class="hint-msg"><span translate>{{msg}}</span></div>
<div class="hint-check" ng-if="check">
<input class="hint-checkbox" type="checkbox" ng-model="formData" ng-click="updateSelection($event,formData)"/>
<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span translate>应用于本次导入的所有对象</span></span>
</div> </div>
</div>
</div>
<div class="modal-footer">
<div class="hint-button">
<button type="button" ng-click="confirm()" class="btn btn-default button-ok"><span translate>确定</span>
</button>
<button type="button" ng-click="cancel()" class="btn btn-primary button-cel"><span
translate>取消</span></button>
</div>
</div>

ui/ar_safe_modal

//luo.chunxiang
//2017.3.23
import uiModules from 'ui/modules';
import SafeModal from 'ui/ar_safe_modal/safeModal';
import $ from 'jquery';
import html from 'ui/directives/modal/ar_modal.html';
import 'ui/directives/modal/style.css';
//let rootSafeModal = new SafeModal();
uiModules.get('kibana')
.factory('safeModal', function () {
return SafeModal; })
.factory('arSafeModalYes', function ($window, $timeout, $q,safeModal) {
return function arSafeModalYes(message) {
return $timeout(function () {
//return safeModal.flag || $q.reject(false);
return true;
});
};
})
.factory('arSafeModalNo', function ($window, $timeout, $q,safeModal) {
return function arSafeModalNo(message) {
return $timeout(function () {
//return safeModal.flag || $q.reject(false);
return $q.reject(false);
});
};
}) .factory('arSafeModal', function ($window, $timeout, $q,safeModal) { return function arSafeModa(ok,msg,check,title) {
$timeout(function () {
var $v = $('#safeMe');
safeModal.ok = ok;
if (msg) {
safeModal.msg = msg;
}
if (check !== undefined || check !== null) {
safeModal.check = check;
}
if (title) {
safeModal.title = title;
}
$v.click();
});
};
})
.service('arSafeModalMult', function ($window, $timeout, $q,safeModal) {
let flag = 0;
let show = true;
let arSafeModalMult = function (ok,msg,check,cel,title) { var $v = $('#safeMeMult');
safeModal.ok = ok;
safeModal.cel = cel;
if (msg) {
safeModal.msg = msg;
}
if (check !== undefined || check !== null) {
safeModal.check = check;
}
if (title) {
safeModal.title = title;
}
$v.click(); };
return arSafeModalMult; })
;

指令-arModal-点击提示框模板的更多相关文章

  1. Unity调用Window提示框Yes/No(英文提示窗)

    Unity调用Windows弹提示框 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  2. Unity调用Windows弹框、提示框(确认与否,中文)

    Unity调用Windows弹提示框 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  3. 解决input中智能提示框onblur与onclick冲突的问题

    背景: 制作一个类似百度输入法的智能提示框, 其中当关键词输入进来时,会有智能提示展开,实际需求是当点击智能提示框的汉字时,输入框中自动补全并关闭智能提示, 当点击其他区域时,智能提示框自动隐藏,如下 ...

  4. iOS:提示框(警告框)控件UIAlertView的详解

    提示框(警告框)控件:UIAlertView   功能:当点击按钮或标签等时,弹出一个提示框,显示必要的提示,然后通过添加的按钮完成需要的功能.   类型:typedef NS_ENUM(NSInte ...

  5. C#-WinForm-弹窗提示框-如何知道用户点击的是哪个按钮?

    MessageBox.Show() 有21个重载 常用的弹窗提示框 1.一个参数,弹窗只有一个选项 2.三个参数,第一个参数是设置弹窗消息框中的文字内容:第二个参数是设置弹窗标题栏中显示的文本:第三个 ...

  6. form WebBrowser自动点击弹出提示框alert、弹出对话框confirm、屏蔽弹出框、屏蔽弹出脚本错误的解决办法

    针对WebBrowser控件中自动点击弹出框及禁用脚本提示问题得到如下几种实际情况的解决办法,绝对管用. 1.屏蔽弹出错误脚本 将WebBrowser控件ScriptErrorsSuppressed设 ...

  7. 经验总结:WebBrowser自动点击弹出提示框alert、弹出对话框confirm、屏蔽弹出框、屏蔽弹出脚本错误的解决办法

    经验总结:WebBrowser自动点击弹出提示框alert.弹出对话框confirm.屏蔽弹出框.屏蔽弹出脚本错误的解决办法 网上有好多解决方法,可是不一定好使,本人经过多次试验,针对WebBrows ...

  8. 点击HTML页面问号出现提示框

    本demo的功能:点击页面按钮在其边缘出现提示信息,点击页面任何一处则消失. 如下图: 1.所需插件: jquery插件: layer插件: 2.HTML内容: ==注意==: class=" ...

  9. Android基础TOP4_1:点击物理按钮弹出退出提示框

    JAVA: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedIns ...

随机推荐

  1. Visio如何调整锁定图像大小

    在Visio中,比如模板中的UML类图,是不可调整大小的,这可能给我们设计图片带来了一些不便之处,如下图: 可以看到其边框是显示锁定状态无法修改的,当我们在左下角修改器长宽时,也会出现不可修改的情况. ...

  2. SQL Server 扩展事件

    SQL Server 扩展事件(Extended Event)是用于服务器的常规事件处理系统,是追踪SQL Server系统运行状态的神器,同时也是一个日志记录工具,扩展事件完全可以取代SQL追踪(S ...

  3. 【UVA 11426】gcd之和 (改编)

    题面 \(\sum_{i=1}^{n}\sum_{j=1}^m\gcd(i,j)\mod998244353\) \(n,m<=10^7\) Sol 简单的一道莫比乌斯反演题 \(原式=\sum_ ...

  4. Django入门-通用视图

    文档:https://docs.djangoproject.com/en/1.11/topics/class-based-views/ from django.shortcuts import get ...

  5. c# 多线程同步之Mutex

    说起Mutex,它的中文名字叫互斥体.它是WaitHandle家族成员之一,前面有一篇介绍过WaitHandle的家族成员构成.那么Mutex有什么作用呢?它是怎么使用的? 我们先来看看它的使用场景一 ...

  6. Python之list列表方法详解

    # 列表test = [11, 22, 33, 44, 55, 22]# append方法,在test列表末尾增加一个元素# append(self, p_object) 参数:p_object:待添 ...

  7. Openflow简介和安装

    搞网络研究的,跟踪斯坦福stanford大学的研究就很重要. 因为思科CISCO与斯坦福的渊源太深了.被誉神雕侠侣的思科创始人Sandy Lerner夫妇,一个在计算机学院,一个在商学院. 最近去看了 ...

  8. python web开发-flask调试模式

    使用run()方式可以启动flask应用,但是每次修改代码之后,需要重新启动,这样对于调试就很不太方便.Flask的调试模式可以让代码在每次修改之后自动载入. 有两种方法可以启用flask的调试模式 ...

  9. 快速开发基于 HTML5 网络拓扑图应用之 DataBinding 数据绑定篇

    前言 发现大家对于我从 json 文件中直接操作节点属性来控制界面的动态变化感到比较好奇,所以这篇就针对数据绑定以及如何使用这些绑定的数据做一篇说明,我写了一个简单的例子,基于机房工控的服务器上设备的 ...

  10. 微信小程序基于腾讯云对象存储的图片上传

    在使用腾讯云对象存储之前,公司一直使用的是传统的FTP的上传模式,而随着用户量的不断增加,FTP所暴露出来的问题也越来越多,1.传输效率低,上传速度慢.2.时常有上传其他文件来攻击服务器,安全上得不到 ...