Skip to content

Commit

Permalink
add in page actions
Browse files Browse the repository at this point in the history
  • Loading branch information
janfaracik committed Jan 12, 2022
1 parent df59194 commit f636cc2
Show file tree
Hide file tree
Showing 6 changed files with 83 additions and 10 deletions.
8 changes: 4 additions & 4 deletions core/src/main/java/hudson/model/AbstractProject.java
Original file line number Diff line number Diff line change
Expand Up @@ -1681,10 +1681,10 @@ protected void buildDependencyGraph(DependencyGraph graph) {
triggers().buildDependencyGraph(this, graph);
}

// @Override
// protected SearchIndexBuilder makeSearchIndex() {
// return getParameterizedJobMixIn().extendSearchIndex(super.makeSearchIndex());
// }
@Override
protected SearchIndexBuilder makeSearchIndex() {
return getParameterizedJobMixIn().extendSearchIndex(super.makeSearchIndex());
}

@Override
protected HistoryWidget createHistoryWidget() {
Expand Down
47 changes: 45 additions & 2 deletions core/src/main/java/hudson/model/Run.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,10 @@
import hudson.model.listeners.RunListener;
import hudson.model.listeners.SaveableListener;
import hudson.model.queue.SubTask;
import hudson.search.SearchIndex;
import hudson.search.SearchIndexBuilder;
import hudson.search.SearchItem;
import hudson.search.SearchItemCategory;
import hudson.security.ACL;
import hudson.security.AccessControlled;
import hudson.security.Permission;
Expand Down Expand Up @@ -1572,8 +1575,48 @@ public void writeWholeLogTo(@NonNull OutputStream out) throws IOException, Inter
@Override
protected @NonNull SearchIndexBuilder makeSearchIndex() {
SearchIndexBuilder builder = super.makeSearchIndex()
.add("console")
.add("changes");
.add(new SearchItem() {
@Override
public String getSearchName() {
return "Console";
}

@Override
public String getSearchUrl() {
return "console";
}

@Override
public SearchItemCategory getSearchItemCategory() {
return SearchItemCategory.IN_PAGE_ACTIONS;
}

@Override
public SearchIndex getSearchIndex() {
return null;
}
})
.add(new SearchItem() {
@Override
public String getSearchName() {
return "Changes";
}

@Override
public String getSearchUrl() {
return "changes";
}

@Override
public SearchItemCategory getSearchItemCategory() {
return SearchItemCategory.IN_PAGE_ACTIONS;
}

@Override
public SearchIndex getSearchIndex() {
return null;
}
});
for (Action a : getAllActions()) {
if(a.getIconFileName()!=null)
builder.add(a.getUrlName());
Expand Down
1 change: 0 additions & 1 deletion core/src/main/java/hudson/search/Icon.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package hudson.search;

import jenkins.model.Jenkins;
import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.export.ExportedBean;

Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/hudson/search/ParsedQuickSilver.java
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ public String getSearchUrl() {

@Override
public SearchItemCategory getSearchItemCategory() {
return SearchItemCategory.NODES;
return SearchItemCategory.IN_PAGE_ACTIONS;
}

@Override
Expand Down
1 change: 1 addition & 0 deletions core/src/main/java/hudson/search/SearchItemCategory.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ public enum SearchItemCategory {
BUILDS,
PEOPLE,
NODES,
IN_PAGE_ACTIONS,
OTHER
}
34 changes: 32 additions & 2 deletions core/src/main/java/jenkins/model/ParameterizedJobMixIn.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,11 @@
import hudson.model.Run;
import hudson.model.listeners.ItemListener;
import hudson.model.queue.QueueTaskFuture;
import hudson.search.Icon;
import hudson.search.SearchIndex;
import hudson.search.SearchIndexBuilder;
import hudson.search.SearchItem;
import hudson.search.SearchItemCategory;
import hudson.triggers.Trigger;
import hudson.triggers.TriggerDescriptor;
import hudson.util.AlternativeUiTextProvider;
Expand All @@ -63,6 +67,7 @@
import jenkins.model.lazy.LazyBuildMixIn;
import jenkins.triggers.SCMTriggerItem;
import jenkins.util.TimeDuration;
import org.jenkins.ui.icon.IconSet;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.DoNotUse;
import org.kohsuke.accmod.restrictions.NoExternalUse;
Expand Down Expand Up @@ -259,8 +264,33 @@ public final void doCancelQueue( StaplerRequest req, StaplerResponse rsp ) throw
* @return the value to return
*/
public final SearchIndexBuilder extendSearchIndex(SearchIndexBuilder sib) {
if (asJob().isBuildable() && asJob().hasPermission(Item.BUILD)) {
sib.add("build", "build");
if (asJob().isBuildable() && asJob().isParameterized() && asJob().hasPermission(Item.BUILD)) {
sib.add(new SearchItem() {
@Override
public String getSearchName() {
return "Build project";
}

@Override
public String getSearchUrl() {
return "build";
}

@Override
public Icon getSearchItemIcon() {
return Icon.fromSvg(IconSet.getIonicon("play-outline", null));
}

@Override
public SearchItemCategory getSearchItemCategory() {
return SearchItemCategory.IN_PAGE_ACTIONS;
}

@Override
public SearchIndex getSearchIndex() {
return null;
}
});
}
return sib;
}
Expand Down

0 comments on commit f636cc2

Please sign in to comment.