}
ArtifactUploadViewModel=function(managedRepositories){
+ var self=this;
this.managedRepositories=ko.observableArray(managedRepositories);
this.repositoryId=ko.observable();
this.groupId=ko.observable();
this.packaging=ko.observable();
this.generatePom=ko.observable();
+ this.artifactUploads=[];
+
saveArtifacts=function(){
- $.log("saveArtifacts");
+
+ if(!$("#main-content #fileupload" ).valid()){
+ return;
+ }
+ if(this.artifactUploads.length<1){
+ displayErrorMessage( $.i18n.prop("fileupload.upload.required"));
+ return;
+ }
}
}
success: function(data) {
var artifactUploadViewModel=new ArtifactUploadViewModel(data);
ko.applyBindings(artifactUploadViewModel,mainContent.find("#file-upload-main" ).get(0));
-
+ var validator = $("#main-content #fileupload" ).validate({
+ showErrors: function(validator, errorMap, errorList) {
+ customShowError("#main-content #fileupload",validator,errorMap,errorMap);
+ }
+ });
$('#fileupload').fileupload({
add: function (e, data) {
data.formData = {
generatePom: artifactUploadViewModel.generatePom(),
repositoryId: artifactUploadViewModel.repositoryId()
};
- $.log("fileupload add file");
$.blueimpUI.fileupload.prototype.options.add.call(this, e, data);
+ },
+ submit: function (e, data) {
+ var $this = $(this);
+
+ $this.fileupload('send', data);
+ artifactUploadViewModel.artifactUploads.push(new ArtifactUpload(data.formData.classifier,data.formData.pomFile));
+ return false;
}
}
);
$('#fileupload').bind('fileuploadsubmit', function (e, data) {
var pomFile = data.context.find('#pomFile' ).val();
var classifier = data.context.find('#classifier' ).val();
-
- $.log("pomFile:"+pomFile+",classifier:"+classifier);
data.formData.pomFile = pomFile;
data.formData.classifier = classifier;
});
</div>
</div>
<div class="control-group">
- <label class="control-label" for="artifactId">${$.i18n.prop('fileupload.version')}</label>
+ <label class="control-label" for="version">${$.i18n.prop('fileupload.version')}</label>
<div class="controls">
<input type="text" class="xlarge required" data-bind="value: version" id="version" name="version" size="10" />
</div>
</div>
</div>
<div class="control-group">
- <label class="control-label" for="artifactId">${$.i18n.prop('fileupload.packaging')}</label>
+ <label class="control-label" for="packaging">${$.i18n.prop('fileupload.packaging')}</label>
<div class="controls">
<input type="text" class="xlarge required" data-bind="value: packaging" id="packaging" name="packaging" size="10" />
</div>
<div class="control-group">
<label class="control-label" for="generatePom">${$.i18n.prop('fileupload.generatePom')}</label>
<div class="controls">
- <input type="checkbox" class="xlarge required" data-bind="value: generatePom" id="generatePom" name="generatePom" />
+ <input type="checkbox" class="xlarge" data-bind="value: generatePom" id="generatePom" name="generatePom" />
</div>
</div>
</div>