Skip to content
Snippets Groups Projects
Commit 72d5a8ee authored by François Agneray's avatar François Agneray
Browse files

Custom label for Instance navbar (admin)

parent 33f1d5a4
No related branches found
No related tags found
1 merge request!29Develop
<form [formGroup]="form" novalidate>
<accordion-group heading="Documentation">
<div class="custom-control custom-switch">
<div class="custom-control custom-switch mb-2">
<input class="custom-control-input" type="checkbox" id="documentation_allowed" name="documentation_allowed" formControlName="documentation_allowed">
<label class="custom-control-label" for="documentation_allowed">Documentation allowed</label>
</div>
<div class="form-group">
<label for="documentation_label">Label</label>
<input type="text" class="form-control" id="documentation_label" formControlName="documentation_label">
</div>
</accordion-group>
</form>
\ No newline at end of file
......@@ -32,12 +32,15 @@ export class InstanceFormComponent implements OnInit {
public searchFormGroup = new FormGroup({
search_by_criteria_allowed: new FormControl(true),
search_by_criteria_label: new FormControl({value: 'Search', disabled: true}),
search_multiple_allowed: new FormControl(false),
search_multiple_label: new FormControl({value: 'Search multiple', disabled: true}),
search_multiple_all_datasets_selected: new FormControl({value: false, disabled: true})
});
public documentationFormGroup = new FormGroup({
documentation_allowed: new FormControl(false)
documentation_allowed: new FormControl(false),
documentation_label: new FormControl({value: 'Documentation', disabled: true})
});
public form = new FormGroup({
......@@ -55,8 +58,15 @@ export class InstanceFormComponent implements OnInit {
if (this.instance) {
this.form.patchValue(this.instance);
if (this.searchFormGroup.controls.search_multiple_allowed.value) {
this.searchFormGroup.controls.search_multiple_label.enable();
this.searchFormGroup.controls.search_multiple_all_datasets_selected.enable();
}
if (this.searchFormGroup.controls.search_by_criteria_allowed.value) {
this.searchFormGroup.controls.search_by_criteria_label.enable();
}
if (this.documentationFormGroup.controls.documentation_allowed) {
this.documentationFormGroup.controls.documentation_label.enable();
}
}
}
......
<form [formGroup]="form" novalidate>
<accordion-group heading="Search">
<div class="custom-control custom-switch">
<input class="custom-control-input" type="checkbox" id="search_by_criteria_allowed" name="search_by_criteria_allowed" formControlName="search_by_criteria_allowed">
<div class="custom-control custom-switch mb-2">
<input class="custom-control-input" type="checkbox" id="search_by_criteria_allowed" name="search_by_criteria_allowed" formControlName="search_by_criteria_allowed" (change)="checkDisableSearchByCriteriaAllowed()">
<label class="custom-control-label" for="search_by_criteria_allowed">Classic search allowed</label>
</div>
<div class="custom-control custom-switch">
<div class="form-group">
<label for="search_by_criteria_label">Label</label>
<input type="text" class="form-control" id="search_by_criteria_label" formControlName="search_by_criteria_label">
</div>
<div class="custom-control custom-switch mb-2">
<input class="custom-control-input" type="checkbox" id="search_multiple_allowed" name="search_multiple_allowed" formControlName="search_multiple_allowed" (change)="checkDisableAllDatasetsSelected()">
<label class="custom-control-label" for="search_multiple_allowed">Search multiple allowed</label>
</div>
<div class="form-group">
<label for="search_multiple_label">Label</label>
<input type="text" class="form-control" id="search_multiple_label" formControlName="search_multiple_label">
</div>
<div class="custom-control custom-switch">
<input class="custom-control-input"
type="checkbox"
......
......@@ -17,10 +17,20 @@ import { FormGroup } from '@angular/forms';
export class SearchFormGroupComponent {
@Input() form: FormGroup;
checkDisableSearchByCriteriaAllowed() {
if (this.form.controls.search_by_criteria_allowed.value) {
this.form.controls.search_by_criteria_label.enable();
} else {
this.form.controls.search_by_criteria_label.disable();
}
}
checkDisableAllDatasetsSelected() {
if (this.form.controls.search_multiple_allowed.value) {
this.form.controls.search_multiple_label.enable();
this.form.controls.search_multiple_all_datasets_selected.enable();
} else {
this.form.controls.search_multiple_label.disable();
this.form.controls.search_multiple_all_datasets_selected.setValue(false);
this.form.controls.search_multiple_all_datasets_selected.disable();
}
......
......@@ -54,13 +54,13 @@ export class InstanceComponent implements OnInit, OnDestroy {
Promise.resolve(null).then(() => this.store.dispatch(surveyActions.loadSurveyList()));
this.instanceSubscription = this.instance.subscribe(instance => {
if (instance.config.search.search_by_criteria_allowed) {
this.links.push({ label: 'Search', icon: 'fas fa-search', routerLink: 'search' });
this.links.push({ label: instance.config.search.search_by_criteria_label, icon: 'fas fa-search', routerLink: 'search' });
}
if (instance.config.search.search_multiple_allowed) {
this.links.push({ label: 'Search multiple', icon: 'fas fa-search-plus', routerLink: 'search-multiple' });
this.links.push({ label: instance.config.search.search_multiple_label, icon: 'fas fa-search-plus', routerLink: 'search-multiple' });
}
if (instance.config.documentation.documentation_allowed) {
this.links.push({ label: 'Documentation', icon: 'fas fa-question', routerLink: 'documentation' });
this.links.push({ label: instance.config.documentation.documentation_label, icon: 'fas fa-question', routerLink: 'documentation' });
}
if (instance.config.design.design_favicon !== '') {
this.favIcon.href = `${this.config.apiUrl}/download-instance-file/${instance.name}/${instance.config.design.design_favicon}`;
......
......@@ -19,11 +19,14 @@ export interface Instance {
};
search: {
search_by_criteria_allowed: boolean;
search_by_criteria_label: string;
search_multiple_allowed: boolean;
search_multiple_label: string;
search_multiple_all_datasets_selected: boolean;
};
documentation: {
documentation_allowed: boolean;
documentation_label: string;
};
};
nb_dataset_families: number;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment