Clone project UI completed

This commit is contained in:
Andrea Del Bene 2020-02-09 21:41:57 +01:00
parent e5a9577f2e
commit d08a1133eb
5 changed files with 53 additions and 14 deletions

View File

@ -76,6 +76,7 @@ public class SimpleGitSshServer {
server.setKeyboardInteractiveAuthenticator(null);
server.setGSSAuthenticator(null);
server.setHostBasedAuthenticator(null);
server.setUserAuthFactories(null);
}
private boolean checkUserKeys(String userName, PublicKey publicKey) {

View File

@ -0,0 +1,13 @@
package io.onedev.server.web.page.project.info;
import io.onedev.server.web.page.base.BaseDependentResourceReference;
public class ProjectInfoJsResourceReference extends BaseDependentResourceReference {
private static final long serialVersionUID = 1L;
public ProjectInfoJsResourceReference() {
super(ProjectInfoJsResourceReference.class, "project-info.js");
}
}

View File

@ -16,20 +16,23 @@
<div wicket:id="description" class="description"></div>
<wicket:enclosure child="cloneUrl">
<div class="clone form-inline">
<div class="input-group">
<div class="input-group-addon"><b>Clone</b></div>
<input wicket:id="cloneUrl" readonly="readonly" class="form-control"/>
<a wicket:id="copyUrl" class="input-group-addon"><i class="fa fa-clipboard"></i></a>
</div>
</div>
<div class="clone form-inline">
<div class="input-group">
<div class="input-group-addon"><b>Clone</b></div>
<input wicket:id="cloneSshUrl" readonly="readonly" class="form-control"/>
<a wicket:id="copySshUrl" class="input-group-addon"><i class="fa fa-clipboard"></i></a>
</div>
</div>
<div class="clone form-inline hidden">
<div class="input-group">
<div class="input-group-addon"><b>Clone</b></div>
<input wicket:id="cloneUrl" readonly="readonly" class="form-control"/>
<a wicket:id="copyUrl" class="input-group-addon"><i class="fa fa-clipboard"></i></a>
</div>
</div>
</wicket:enclosure>
<wicket:enclosure child="cloneSshUrl">
<div class="clone form-inline">
<div class="input-group">
<div class="input-group-addon"><b>Clone</b></div>
<input wicket:id="cloneSshUrl" readonly="readonly" class="form-control"/>
<a wicket:id="copySshUrl" class="input-group-addon"><i class="fa fa-clipboard"></i></a>
</div>
</div>
</wicket:enclosure>
<a href="#" id="sshHttpsSwitch">Use HTTPS</a>
</div>
</wicket:panel>

View File

@ -5,6 +5,8 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.TextField;
@ -152,6 +154,9 @@ public abstract class ProjectInfoPanel extends Panel {
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(CssHeaderItem.forReference(new ProjectInfoResourceReference()));
response.render(JavaScriptHeaderItem.forReference(new ProjectInfoJsResourceReference()));
response.render(OnDomReadyHeaderItem.forScript("onedev.server.projectInfo.onDomReady('sshHttpsSwitch');"));
}
protected abstract void onPromptForkOption(AjaxRequestTarget target);

View File

@ -0,0 +1,17 @@
onedev.server.projectInfo = {
onDomReady: function(switchId) {
var alternativeProtocol = 'HTTPS';
$("#" + switchId).click(function() {
$(".clone").toggleClass('hidden');
if (alternativeProtocol === 'SSH') {
alternativeProtocol = 'HTTPS';
} else {
alternativeProtocol = 'SSH';
}
$(this).text('Use ' + alternativeProtocol);
});
}
};