利用kendo ui window创建自己的promise window (二)
来源:互联网 发布:恐怖美术馆知乎 编辑:程序博客网 时间:2024/05/16 07:57
前一篇promise window 在做的时候没有考虑仔细,只是实现了自己的关闭按钮,但是kendo window 自己的关闭按钮点击时没有回传值,并且造成了一个非常大的bug,非常抱歉,今天重新整理下。把原来的appdialog文件书写了下,有需要的重新替换下,非常抱歉
var contexts = {};var dialogCount = 0;var app = { getDialog: function (obj) { if (obj) { return obj.__dialog__; } return undefined; }, close: function (obj) { var theDialog = this.getDialog(obj); if (theDialog) { var rest = Array.prototype.slice.call(arguments, 1); theDialog.close.apply(theDialog, rest); } }, initOption: function (obj) { var kendowindOption = { actions: ["Pin", "Refresh", "Maximize", "Minimize", "Close"], draggable: true, pinned: true, height: "450px", modal: true, resizable: true, title: "新增", width: "700px" }; if (obj) { if (obj.actions) { kendowindOption.actions = obj.actions; } if (obj.height) { kendowindOption.height = obj.height; } if (obj.width) { kendowindOption.width = obj.width; } if (obj.title) { kendowindOption.title = obj.title; } } return kendowindOption; }, showDialog: function (obj) { var dialogid = "dialog" + dialogCount; var dialogFilter = "#" + dialogid; if ($(dialogFilter) == undefined || $(dialogFilter).length === 0) $("body").append('<div id="' + dialogid + '"></div>'); var instance = $(dialogFilter).data("kendoWindow"); if (instance == undefined) { var kendowindOption = this.initOption(obj); $(dialogFilter).kendoWindow(kendowindOption); } var dfd = $.Deferred(); instance = $(dialogFilter).data("kendoWindow"); instance.bind("close", function () { var args = instance.closeValue; if (args) { if (args.length === 0) { dfd.resolve(); } else if (args.length === 1) { dfd.resolve(args[0]); } else { dfd.resolve.apply(dfd, args); } } else { dfd.resolve(); } $(dialogFilter).remove(); dialogCount = dialogCount - 1; delete instance.__dialog__; }); instance.__dialog__ = { close: function () { var args = arguments; var rest = Array.prototype.slice.call(args, 1); instance.closeValue = args; instance.close.apply(instance, rest); } }; dialogCount = dialogCount + 1; instance.center(); var url = obj.url; instance.refresh({ url: url }); instance.open(); return dfd.promise(); }};
1 0
- 利用kendo ui window创建自己的promise window (二)
- 利用kendo ui window创建自己的promise window
- window.Promise
- kendo UI Window 解决在页面打开或刷新时自动打开的问题
- Kendo UI Grid结合Window完善Custom事件
- Kendo ui Grid的创建步骤
- Kendo ui Grid的创建步骤
- kendo Window 设置居中显示
- kendo Window 设置居中显示
- ExtJS 创建Window实例二
- Window-UI
- Activity的Window创建
- 使用Angular4+kendo ui for Angular+ webapi+sqlserver创建一个简单的省市选择程序(二)
- Asp.net mvc Kendo UI Grid的使用(二)
- 各种Window的创建过程
- Activity的Window创建过程
- DecorView与window的创建
- Activity 的Window创建过程
- Android开源项目SlidingMenu深入剖析
- orcale数据库从一个用户下移植到另一个用户下
- [ajax 学习笔记] ajax 的服务器响应
- 检测用户是否是第一次打开应用
- Elastix开山篇
- 利用kendo ui window创建自己的promise window (二)
- codeforce 34B
- Java并发器分析
- java读取中文分词工具(四)
- 什么时间段里做汗蒸最合适
- leetcode Binary Tree Postorder Traversal
- iOS url
- hdu 4902 Nice boat(线段树区间修改,输出最终序列)
- android基础笔记:从网路中读取数据,并显示(Thread、handler、httpclient、XmlPullParser 、BaseAdapter)