Fix validation on project editing
Signed-off-by: Anna Shumilova <ashumilo@redhat.com>6.19.x
parent
1efafe771a
commit
89db5899c5
|
|
@ -42,6 +42,8 @@ export class EditProjectController {
|
|||
*/
|
||||
private projectOnRemove: () => void;
|
||||
|
||||
private editProjectForm: ng.IFormController;
|
||||
|
||||
/**
|
||||
* Default constructor that is using resource injection
|
||||
*/
|
||||
|
|
@ -84,4 +86,12 @@ export class EditProjectController {
|
|||
return this.editProjectService.checkEditingProgress() === null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> if input data is invalid.
|
||||
*
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isInvalid(): boolean {
|
||||
return this.editProjectForm && Object.keys(this.editProjectForm.$error).length > 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
<ng-form name="editProjectForm"
|
||||
<ng-form name="editProjectController.editProjectForm"
|
||||
class="edit-project">
|
||||
|
||||
<project-metadata template="editProjectController.projectTemplate"
|
||||
template-name="{{editProjectController.projectTemplate.name}}"
|
||||
project-form="editProjectController.editProjectForm"
|
||||
is-project-name-unique="editProjectController.isProjectNameUnique({name: name})"></project-metadata>
|
||||
|
||||
<md-divider></md-divider>
|
||||
|
|
@ -21,7 +22,7 @@
|
|||
ng-click="editProjectController.projectTemplateOnCancel()"></che-button-cancel-flat>
|
||||
<che-button-primary che-button-title="Save"
|
||||
name="saveButton"
|
||||
ng-disabled="editProjectForm.$invalid || editProjectController.disableSaveAndCancelButtons()"
|
||||
ng-disabled="editProjectController.isInvalid() || editProjectController.disableSaveAndCancelButtons()"
|
||||
ng-click="editProjectController.projectTemplateOnSave()"></che-button-primary>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -46,6 +46,8 @@ export class ProjectMetadataController {
|
|||
*/
|
||||
/* tslint:disable */
|
||||
private templateName: string;
|
||||
|
||||
private projectForm: ng.IFormController;
|
||||
/* tslint:enable */
|
||||
/**
|
||||
* Callback to check uniqueness of project name.
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@ export class ProjectMetadata implements ng.IDirective {
|
|||
this.scope = {
|
||||
origTemplate: '=template',
|
||||
templateName: '@',
|
||||
isProjectNameUnique: '&'
|
||||
isProjectNameUnique: '&',
|
||||
projectForm: '='
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
<div class="project-metadata">
|
||||
<form name="projectMetadataForm">
|
||||
|
||||
<!-- Project name -->
|
||||
<che-input-box che-form="projectMetadataForm"
|
||||
<che-input-box che-form="projectMetadataController.projectForm"
|
||||
che-name="projectName"
|
||||
che-label-name="Project Name"
|
||||
che-place-holder="Name of the project"
|
||||
|
|
@ -22,7 +20,7 @@
|
|||
</che-input-box>
|
||||
|
||||
<!-- Project description -->
|
||||
<che-input-box che-form="projectMetadataForm"
|
||||
<che-input-box che-form="projectMetadataController.projectForm"
|
||||
che-name="projectDescription"
|
||||
che-label-name="Description"
|
||||
che-place-holder="Description of the project"
|
||||
|
|
@ -37,7 +35,7 @@
|
|||
|
||||
<!-- Git URL -->
|
||||
<div ng-if="projectMetadataController.template.source.type==='git'">
|
||||
<che-input-box che-form="projectMetadataForm"
|
||||
<che-input-box che-form="projectMetadataController.projectForm"
|
||||
che-name="projectGitURL"
|
||||
che-label-name="Repository URL"
|
||||
che-place-holder="Url of the git repository"
|
||||
|
|
@ -65,6 +63,4 @@
|
|||
required>
|
||||
</che-input-box>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue