%PDF- %PDF-
| Direktori : /data/old/home/stash/atlassian/stash/3.7.1/atlassian-stash/static/widget/ |
| Current File : //data/old/home/stash/atlassian/stash/3.7.1/atlassian-stash/static/widget/confirm-dialog-min.js |
define("widget/confirm-dialog",["aui","jquery","lodash","util/ajax","widget/submit-spinner"],function(B,F,C,E,D){function A(H,G){this.dialogOptions=F.extend({},A.dialogDefaults,H);this.ajaxOptions=G||{};this._selectors=[];this._okCallbacks=F.Callbacks();this._cancelCallback=F.Callbacks();this._detachers=F.Callbacks();this._attached=false}A.prototype.getConfirmButton=function(){return F("#"+this.dialogOptions.id+" ."+this.dialogOptions.confirmButtonClass)};A.prototype.getButtons=function(){var H=this.getConfirmButton(),G=this.dialogOptions.id;C.each(this._selectors,function(I){H=H.add(F("#"+G+" "+I))});return H};A.prototype.setButtonsDisabled=function(G){this.getButtons().each(function(){var H=F(this);H.prop("disabled",G).toggleClass("disabled",G);if(G){H.attr("aria-disabled","true")}else{H.removeAttr("aria-disabled")}})};A.prototype.destroy=function(){this._detachers.fire();this._detachers=null};A.prototype.attachTo=function(G,N,H){var Q=this,I=this.dialogOptions,K=this.ajaxOptions,L=this._okCallbacks,J=this._cancelCallback;H=H||document;var P=F(H);this._selectors.push(G);var O=function(){Q.setButtonsDisabled(false)};P.on("hideLayer",O);var M=function(U){U.preventDefault();var S=F(this);if(!S.is(":disabled")){var R=function(V){Q.setButtonsDisabled(false);V.remove()},T=new B.Dialog({width:I.width,height:I.height,id:I.id,focusSelector:I.focusSelector,closeOnOutsideClick:false,keypressListener:function(V){V.stopImmediatePropagation();if(V.keyCode===B.keyCode.ENTER){V.preventDefault();Q.getConfirmButton().click()}else{if(V.keyCode===B.keyCode.ESCAPE){V.preventDefault();R(T)}}}});T.addHeader(I.titleText,I.titleClass);T.addPanel("",I.panelContent,I.panelClass);T.addButton(I.submitText,function(V){Q.setButtonsDisabled(true);var X=null;var W=new D(Q.getConfirmButton(),"before");if(Q.dialogOptions.submitToHref){W.show();if(S[0].tagName==="A"){X=E.rest(F.extend({url:S.attr("href")},K)).always(function(){W.hide();R(V)})}else{S.closest("form")[0].submit()}}L.fire(X,S,function(){R(V)},V,W)},"button "+(I.confirmButtonClass||""));T.addCancel(B.I18n.getText("stash.web.button.cancel"),function(V){R(V);J.fire(S)});if(N){N(this,T,Q)}T.show();Q._attached=true}};P.on("click",G,M);this._detachers.add(function(){P.off("hideLayer",O);P.off("click",G,M)})};A.prototype.addConfirmListener=function(G){this._okCallbacks.add(G)};A.prototype.addCancelListener=function(G){this._cancelCallback.add(G)};A.dialogDefaults={id:undefined,titleText:B.I18n.getText("stash.web.title.confirm"),titleClass:"confirm-header",confirmButtonClass:"confirm-button",panelContent:"<p>"+B.I18n.getText("stash.web.dialog.confirm")+"</p>",panelClass:"panel-body",submitText:B.I18n.getText("stash.web.button.confirm"),submitToHref:true,height:230,width:433,focusSelector:".confirm-button"};return A});