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