%PDF- %PDF-
| Direktori : /data/old/home/stash/atlassian/stash/3.7.1/atlassian-stash/static/feature/compare/ |
| Current File : //data/old/home/stash/atlassian/stash/3.7.1/atlassian-stash/static/feature/compare/compare-min.js |
define("feature/compare",["aui","bacon","jquery","lodash","memoir","stash/api/util/navbuilder","util/bacon","util/dom-event","util/events","util/function","model/repository","model/revision-reference","widget/keyboard-shortcuts","feature/pull-request/pull-request-create","feature/repository/source-target-selector","exports"],function(O,Q,L,a,X,N,F,d,D,P,K,c,A,M,B,b){var V=L(".tabs-menu");function Z(f,i,h,e){var g=N.project(e.sourceRepo.getProject()).repo(e.sourceRepo);if(i||f){g=g.createPullRequest()}else{g=g.compare()[h]()}if(e.target&&!e.target.isDefault()){g=g.targetBranch(e.target.getId())}if(e.source&&!e.source.isDefault()){g=g.sourceBranch(e.source.getId())}if(!e.sourceRepo.isEqual(e.targetRepo)){g=g.targetRepo(e.targetRepo.getId())}return g.build()}function J(e){if(e.targetRepo){return N.project(e.targetRepo.getProject()).repo(e.targetRepo).createPullRequest().build()}return""}function I(f,h,g,e){var i=e.sourceRepo;return{url:Z(f,h,g,e),formURL:J(e),title:h||f?O.I18n.getText("stash.web.pullrequest.create.windowtitle",i.getProject().getName(),i.getName()):O.I18n.getText("stash.web.repository.compare.page.title",i.getProject().getName(),i.getName()),selector:e,prShowing:h,tab:g}}function R(e){return e.branchesSelected()}function C(e){var f=function(){return{source:e.getSourceBranch(),sourceRepo:e.getSourceRepository(),target:e.getTargetBranch(),targetRepo:e.getTargetRepository()}};var g=["source.repositoryChanged","source.revisionRefChanged","source.revisionRefUnselected","target.repositoryChanged","target.revisionRefChanged","target.revisionRefUnselected"].map(function(h){return F.events("stash.feature.repository.sourceTargetSelector."+h)});return Q.mergeAll.apply(Q,g).map(f).toProperty(f())}function Y(f){var e=a.reduce(f,function(l,k){l["compare-"+k.pathSegment+"-tab"]=k;return l},{});var j=L.noop;function i(l){l.addClass("active-tab").siblings().removeClass("active-tab");j();var k=e[l.attr("data-module-key")];j=k.init();A.resetContexts();return k.pathSegment}var h=i(V.find(".active-tab"));var g=V.asEventStream("click","a").filter(d.openInSameTab).doAction(d.preventDefault()).flatMap(function(l){var k=L(l.currentTarget).parent();if(!k.is(".active-tab")){return Q.constant(i(k))}return Q.never()});return g.toProperty(h)}function E(i,e){var h=L("#compare-content");var g=L.noop;var f=F.events("stash.feature.repository.sourceTargetSelector.source.revisionRefChanged").merge(F.events("stash.feature.repository.sourceTargetSelector.target.revisionRefChanged")).merge(Q.fromArray([0])).map(P.constant(i)).filter(R).onValue(function(){g();h.empty();g=e(h)});return function(){g();f()}}function H(){F.keyboardEvents("requestBranchCompareSectionHandler").onValue(function(h){var f=parseInt(String.fromCharCode(h.which),10);var g=V.children().eq(f-1).children("a");if(X.nativeSupport()){g.click()}else{window.location.href=g.prop("href")}});F.events("stash.widget.keyboard-shortcuts.register-contexts").onValue(function(e){e.enableContext("branch-compare")})}function S(j,g,f,h,m,i){var l=L(".aui-page-header-main h2");var k=i.find(".expanded-branches");var n=i.find("#sourceRepo");var e=i.find("#pull-request-description");j.doAction(h,"toggleClass","hidden").doAction(k,"toggleClass","hidden").not().doAction(m.toggleClass.bind(m,"hidden")).doAction(function(o){(o?n:e).focus()}).map(function(o){return o&&!f?O.I18n.getText("stash.web.repository.compare.header.title"):O.I18n.getText("stash.web.pullrequest.create.title")}).onValue(l.text.bind(l));j.combine(g,function(p,o){return{prShowing:p,selector:o}}).onValue(function(o){if(o.prShowing){var p=stash.feature.compare.collapsedBranches({sourceBranch:o.selector.source.toJSON(),targetBranch:o.selector.target.toJSON()});L(p).insertBefore(k)}else{i.find(".collapsed-branches").remove()}})}function T(e){return L(document).asEventStream("click",".show-hide-button").map(function(f){return L(f.target).is(e)}).toProperty(e.hasClass("hidden"))}function W(h,m){var i={REF_UNSELECTED:"REF_UNSELECTED",TAG_SELECTED:"TAG_SELECTED",REFS_EQUAL:"REFS_EQUAL"};var k=h.debounce(0).map(function(o){var n={canCreate:false};if(!o.source||!o.target){n.reason=i.REF_UNSELECTED}else{if(o.source.isTag()||o.target.isTag()){n.reason=i.TAG_SELECTED}else{if(o.source.isEqual(o.target)){n.reason=i.REFS_EQUAL}else{n.canCreate=true}}}return n}).skipDuplicates().toProperty();var e=m.find("#show-create-pr-button");var f=m.find(".refs-equal-warning");var l=m.find(".tags-warning");var j=m.find(".aui-tabs");var g=k.doAction(function(n){f.toggleClass("hidden",n.reason!==i.REFS_EQUAL);l.toggleClass("hidden",n.reason!==i.TAG_SELECTED);j.toggleClass("hidden",n.reason===i.REF_UNSELECTED)}).map(P.dot("canCreate"));g.doAction(e,"enable").not().onValue(e,"attr","aria-disabled");return g}function G(i,j,h,g){var e=h.find("#cancel-button");var f=F.events("memoir.popstate").filter(P.not(P.dotEq("state",null)));return Q.combineAsArray(i,f).sampledBy(f).filter(function(k){return a.keys(k[1].state).length!==0}).map(function(l){var k=l[0];var m=l[1];return{prShowing:k[0],tab:k[1],selector:k[2],oldState:m.state}}).onValue(function(l){if(l.prShowing!==l.oldState.prShowing){if(l.prShowing){e.click()}else{j.click()}}if(l.tab!==l.oldState.tab){h.find("li.menu-item[data-module-key=compare-"+l.oldState.tab+"-tab] > a").click()}var k=l.oldState.selector;g.refSelectors.source.setSelection({repository:k.sourceRepo?new K(k.sourceRepo):null,branch:k.source?new c(k.source):null});g.refSelectors.target.setSelection({repository:k.targetRepo?new K(k.targetRepo):null,branch:k.target?new c(k.target):null})})}function U(e){var f=a.clone(e);f.selector={};a.each(e.selector,function(h,g){f.selector[g]=h?h.toJSON():null});return f}b.onReady=function(p,e){var m=L(p);e.prCreateMode=!!e.prCreateMode;var f=a.map(e.additionalPreloadRepositories,P.create(K));var g=new B(m.find(".compare-selector"),new K(e.sourceRepositoryJson),new K(e.targetRepositoryJson),f,{showTags:true});var q=Y(a.map(e.tabs,function(t,s){return{pathSegment:s,init:a.partial(E,g,a.partial(t,g))}}));var k=C(g);var i=W(k,m);var r=m.find(".pull-request-create-form");var l=m.find("#show-create-pr-button");var o=m.find("form.aui");M.init(r,e.submittedReviewers||[],k,q,i);var n=T(l);S(n,k,e.prCreateMode,l,r,m);var h=true;var j=Q.combineAsArray(n,q,k);G(j,l,m,g);j.map(Function.apply.bind(a.partial(I,e.prCreateMode)),null).onValue(function(s){o.attr("action",s.formURL);if(X.nativeSupport()){if(h){X.initialState(U(s));h=false}else{if(window.location.href.indexOf(s.url)===-1){X.pushState(U(s),s.title,s.url)}}}});H()}});