www.gusucode.com > Mao10CMS PHP开源建站系统 v3.5.3源码程序 > Mao10CMS_v3.5.3/Mao10CMS_v3.5.3/Kindeditor/src/dialog.js
function _createButton(arg) { arg = arg || {}; var name = arg.name || '', span = K('<span class="ke-button-common ke-button-outer" title="' + name + '"></span>'), btn = K('<input class="ke-button-common ke-button" type="button" value="' + name + '" />'); if (arg.click) { btn.click(arg.click); } span.append(btn); return span; } // create KToolbar class function KDialog(options) { this.init(options); } _extend(KDialog, KWidget, { init : function(options) { var self = this; var shadowMode = _undef(options.shadowMode, true); options.z = options.z || 811213; options.shadowMode = false; options.autoScroll = _undef(options.autoScroll, true); KDialog.parent.init.call(self, options); var title = options.title, body = K(options.body, self.doc), previewBtn = options.previewBtn, yesBtn = options.yesBtn, noBtn = options.noBtn, closeBtn = options.closeBtn, showMask = _undef(options.showMask, true); self.div.addClass('ke-dialog').bind('click,mousedown', function(e){ e.stopPropagation(); }); var contentDiv = K('<div class="ke-dialog-content"></div>').appendTo(self.div); if (_IE && _V < 7) { self.iframeMask = K('<iframe src="about:blank" class="ke-dialog-shadow"></iframe>').appendTo(self.div); } else if (shadowMode) { K('<div class="ke-dialog-shadow"></div>').appendTo(self.div); } var headerDiv = K('<div class="ke-dialog-header"></div>'); contentDiv.append(headerDiv); headerDiv.html(title); self.closeIcon = K('<span class="ke-dialog-icon-close" title="' + closeBtn.name + '"></span>').click(closeBtn.click); headerDiv.append(self.closeIcon); self.draggable({ clickEl : headerDiv, beforeDrag : options.beforeDrag }); var bodyDiv = K('<div class="ke-dialog-body"></div>'); contentDiv.append(bodyDiv); bodyDiv.append(body); var footerDiv = K('<div class="ke-dialog-footer"></div>'); if (previewBtn || yesBtn || noBtn) { contentDiv.append(footerDiv); } _each([ { btn : previewBtn, name : 'preview' }, { btn : yesBtn, name : 'yes' }, { btn : noBtn, name : 'no' } ], function() { if (this.btn) { var button = _createButton(this.btn); button.addClass('ke-dialog-' + this.name); footerDiv.append(button); } }); if (self.height) { bodyDiv.height(_removeUnit(self.height) - headerDiv.height() - footerDiv.height()); } self.div.width(self.div.width()); self.div.height(self.div.height()); self.mask = null; if (showMask) { var docEl = _docElement(self.doc), docWidth = Math.max(docEl.scrollWidth, docEl.clientWidth), docHeight = Math.max(docEl.scrollHeight, docEl.clientHeight); self.mask = _widget({ x : 0, y : 0, z : self.z - 1, cls : 'ke-dialog-mask', width : docWidth, height : docHeight }); } self.autoPos(self.div.width(), self.div.height()); self.footerDiv = footerDiv; self.bodyDiv = bodyDiv; self.headerDiv = headerDiv; self.isLoading = false; }, setMaskIndex : function(z) { var self = this; self.mask.div.css('z-index', z); }, showLoading : function(msg) { msg = _undef(msg, ''); var self = this, body = self.bodyDiv; self.loading = K('<div class="ke-dialog-loading"><div class="ke-inline-block ke-dialog-loading-content" style="margin-top:' + Math.round(body.height() / 3) + 'px;">' + msg + '</div></div>') .width(body.width()).height(body.height()) .css('top', self.headerDiv.height() + 'px'); body.css('visibility', 'hidden').after(self.loading); self.isLoading = true; return self; }, hideLoading : function() { this.loading && this.loading.remove(); this.bodyDiv.css('visibility', 'visible'); this.isLoading = false; return this; }, remove : function() { var self = this; if (self.options.beforeRemove) { self.options.beforeRemove.call(self); } self.mask && self.mask.remove(); self.iframeMask && self.iframeMask.remove(); self.closeIcon.unbind(); K('input', self.div).unbind(); K('button', self.div).unbind(); self.footerDiv.unbind(); self.bodyDiv.unbind(); self.headerDiv.unbind(); K('iframe', self.div).each(function() { //this.src = 'javascript:false'; K(this).remove(); }); KDialog.parent.remove.call(self); return self; } }); function _dialog(options) { return new KDialog(options); } K.DialogClass = KDialog; K.dialog = _dialog;