From 058ccca3770e8f2e6d73a0ea8e2288fe2227ad9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Agneray?= <francois.agneray@lam.fr> Date: Wed, 19 Oct 2022 17:54:00 +0200 Subject: [PATCH] #89 => Select dataset button color --- .../components/instance-form.component.html | 32 +++++++++ .../components/instance-form.component.ts | 3 + .../app/instance/instance.component.spec.ts | 3 + client/src/app/instance/instance.component.ts | 11 +++ .../dataset/dataset-card.component.html | 2 +- .../components/progress-bar.component.spec.ts | 6 ++ .../search/containers/result.component.html | 2 +- .../effects/search-multiple.effects.spec.ts | 6 ++ .../app/metamodel/models/instance.model.ts | 3 + client/src/test-data.ts | 9 +++ conf-dev/create-db.sh | 2 +- .../__CG__AppEntityInstance.php | 70 ++++++++++++++++++- server/src/Action/InstanceAction.php | 6 ++ server/src/Action/InstanceListAction.php | 6 ++ server/src/Entity/Instance.php | 54 ++++++++++++++ server/tests/Action/InstanceActionTest.php | 3 + .../tests/Action/InstanceListActionTest.php | 3 + 17 files changed, 216 insertions(+), 5 deletions(-) diff --git a/client/src/app/admin/instance/components/instance-form.component.html b/client/src/app/admin/instance/components/instance-form.component.html index 2de65774..12bb88b6 100644 --- a/client/src/app/admin/instance/components/instance-form.component.html +++ b/client/src/app/admin/instance/components/instance-form.component.html @@ -379,6 +379,38 @@ </div> </div> </accordion-group> + <accordion-group heading="Design dataset selection" [isOpen]="false"> + <div class="form-row"> + <div class="form-group col-md-6"> + <label for="dataset_select_btn_color_picker">Dataset select btn color (picker)</label> + <input class="form-control" type="color" id="dataset_select_btn_color_picker" [value]="form.value.dataset_select_btn_color" formControlName="dataset_select_btn_color"> + </div> + <div class="form-group col-md-6"> + <label for="dataset_select_btn_color_input">Dataset select btn color (value)</label> + <input type="text" class="form-control" id="dataset_select_btn_color_input" [value]="form.value.dataset_select_btn_color" formControlName="dataset_select_btn_color"> + </div> + </div> + <div class="form-row"> + <div class="form-group col-md-6"> + <label for="dataset_select_btn_hover_color_picker">Dataset select btn hover color (picker)</label> + <input class="form-control" type="color" id="dataset_select_btn_hover_color_picker" [value]="form.value.dataset_select_btn_hover_color" formControlName="dataset_select_btn_hover_color"> + </div> + <div class="form-group col-md-6"> + <label for="dataset_select_btn_hover_color_input">Dataset select btn hover color (value)</label> + <input type="text" class="form-control" id="dataset_select_btn_hover_color_input" [value]="form.value.dataset_select_btn_hover_color" formControlName="dataset_select_btn_hover_color"> + </div> + </div> + <div class="form-row"> + <div class="form-group col-md-6"> + <label for="dataset_select_btn_text_color_picker">Dataset select btn text color (picker)</label> + <input class="form-control" type="color" id="dataset_select_btn_text_color_picker" [value]="form.value.dataset_select_btn_text_color" formControlName="dataset_select_btn_text_color"> + </div> + <div class="form-group col-md-6"> + <label for="dataset_select_btn_text_color_input">Dataset select btn text color (value)</label> + <input type="text" class="form-control" id="dataset_select_btn_text_color_input" [value]="form.value.dataset_select_btn_text_color" formControlName="dataset_select_btn_text_color"> + </div> + </div> + </accordion-group> <accordion-group heading="Design result header" [isOpen]="false"> <div class="form-row"> <div class="form-group col-md-6"> diff --git a/client/src/app/admin/instance/components/instance-form.component.ts b/client/src/app/admin/instance/components/instance-form.component.ts index 37752a19..0d0bfc78 100644 --- a/client/src/app/admin/instance/components/instance-form.component.ts +++ b/client/src/app/admin/instance/components/instance-form.component.ts @@ -73,6 +73,9 @@ export class InstanceFormComponent implements OnInit { progress_bar_circle_icon_color: new UntypedFormControl('#CCCCCC'), progress_bar_circle_icon_active_color: new UntypedFormControl('#FFFFFF'), progress_bar_text_color: new UntypedFormControl('#91B2BF'), + dataset_select_btn_color: new UntypedFormControl('#6C757D'), + dataset_select_btn_hover_color: new UntypedFormControl('#6C757D'), + dataset_select_btn_text_color: new UntypedFormControl('#FFFFFF'), result_header_background_color: new UntypedFormControl('#E9ECEF'), result_header_text_color: new UntypedFormControl('#000000'), result_header_btn_color: new UntypedFormControl('#007BFF'), diff --git a/client/src/app/instance/instance.component.spec.ts b/client/src/app/instance/instance.component.spec.ts index 7b21a184..0e47eef6 100644 --- a/client/src/app/instance/instance.component.spec.ts +++ b/client/src/app/instance/instance.component.spec.ts @@ -120,6 +120,9 @@ describe('[Instance] InstanceComponent', () => { progress_bar_circle_icon_color: '#CCCCCC', progress_bar_circle_icon_active_color: '#FFFFFF', progress_bar_text_color: '#91B2BF', + dataset_select_btn_color: '#6C757D', + dataset_select_btn_hover_color: '#6C757D', + dataset_select_btn_text_color: '#FFFFFF', result_header_background_color: '#E9ECEF', result_header_text_color: '#000000', result_header_btn_color: '#007BFF', diff --git a/client/src/app/instance/instance.component.ts b/client/src/app/instance/instance.component.ts index dd09a9e3..53dd7a0e 100644 --- a/client/src/app/instance/instance.component.ts +++ b/client/src/app/instance/instance.component.ts @@ -131,6 +131,17 @@ export class InstanceComponent implements OnInit, OnDestroy { }); this.style.setStyle('.custom-accordion .panel-body .card', 'background-color', instance.family_background_color); + this.style.setStyles('.dataset-select-btn.btn.btn-outline-secondary', { + 'color': instance.dataset_select_btn_color, + 'border-color': instance.dataset_select_btn_color + }); + + this.style.setStyles('.dataset-select-btn:hover.btn.btn-outline-secondary', { + 'color': instance.dataset_select_btn_text_color, + 'background-color': instance.dataset_select_btn_hover_color, + 'border-color': instance.dataset_select_btn_hover_color + }); + this.style.setStyles('.anis-result-header.jumbotron', { 'background-color': instance.result_header_background_color, 'color': instance.result_header_text_color diff --git a/client/src/app/instance/search/components/dataset/dataset-card.component.html b/client/src/app/instance/search/components/dataset/dataset-card.component.html index eebb222e..9e1086cd 100644 --- a/client/src/app/instance/search/components/dataset/dataset-card.component.html +++ b/client/src/app/instance/search/components/dataset/dataset-card.component.html @@ -14,7 +14,7 @@ <div class="col-auto"> <button *ngIf="dataset.name !== datasetSelected && isDatasetAccessible()" (click)="selectDataset(dataset.name)" - class="btn btn-outline-secondary"> + class="dataset-select-btn btn btn-outline-secondary"> <span *ngIf="!dataset.public" class="fa-solid fa-lock-open"></span> <span *ngIf="dataset.public" class="fa-solid fa-globe"></span> Select diff --git a/client/src/app/instance/search/components/progress-bar.component.spec.ts b/client/src/app/instance/search/components/progress-bar.component.spec.ts index fef20050..28b9e6e1 100644 --- a/client/src/app/instance/search/components/progress-bar.component.spec.ts +++ b/client/src/app/instance/search/components/progress-bar.component.spec.ts @@ -93,6 +93,9 @@ describe('[Instance][Search][Component] ProgressBarComponent', () => { progress_bar_circle_icon_color: '#CCCCCC', progress_bar_circle_icon_active_color: '#FFFFFF', progress_bar_text_color: '#91B2BF', + dataset_select_btn_color: '#6C757D', + dataset_select_btn_hover_color: '#6C757D', + dataset_select_btn_text_color: '#FFFFFF', result_header_background_color: '#E9ECEF', result_header_text_color: '#000000', result_header_btn_color: '#007BFF', @@ -174,6 +177,9 @@ describe('[Instance][Search][Component] ProgressBarComponent', () => { progress_bar_circle_icon_color: '#CCCCCC', progress_bar_circle_icon_active_color: '#FFFFFF', progress_bar_text_color: '#91B2BF', + dataset_select_btn_color: '#6C757D', + dataset_select_btn_hover_color: '#6C757D', + dataset_select_btn_text_color: '#FFFFFF', result_header_background_color: '#E9ECEF', result_header_text_color: '#000000', result_header_btn_color: '#007BFF', diff --git a/client/src/app/instance/search/containers/result.component.html b/client/src/app/instance/search/containers/result.component.html index 2b28026b..ad2e04a9 100644 --- a/client/src/app/instance/search/containers/result.component.html +++ b/client/src/app/instance/search/containers/result.component.html @@ -19,7 +19,7 @@ </div> </div> <ng-container *ngIf="(dataLength | async) > 0"> - <div class="anis-result-header jumbotron row mb-4 py-4"> + <div class="anis-result-header jumbotron row mx-0 mb-4 py-4"> <div class="col"> <app-result-info [instance]="instance | async" diff --git a/client/src/app/instance/store/effects/search-multiple.effects.spec.ts b/client/src/app/instance/store/effects/search-multiple.effects.spec.ts index f74eeb05..5f81dbfc 100644 --- a/client/src/app/instance/store/effects/search-multiple.effects.spec.ts +++ b/client/src/app/instance/store/effects/search-multiple.effects.spec.ts @@ -175,6 +175,9 @@ describe('[Instance][Store] SearchMultipleEffects', () => { progress_bar_circle_icon_color: '#CCCCCC', progress_bar_circle_icon_active_color: '#FFFFFF', progress_bar_text_color: '#91B2BF', + dataset_select_btn_color: '#6C757D', + dataset_select_btn_hover_color: '#6C757D', + dataset_select_btn_text_color: '#FFFFFF', result_header_background_color: '#E9ECEF', result_header_text_color: '#000000', result_header_btn_color: '#007BFF', @@ -299,6 +302,9 @@ describe('[Instance][Store] SearchMultipleEffects', () => { progress_bar_circle_icon_color: '#CCCCCC', progress_bar_circle_icon_active_color: '#FFFFFF', progress_bar_text_color: '#91B2BF', + dataset_select_btn_color: '#6C757D', + dataset_select_btn_hover_color: '#6C757D', + dataset_select_btn_text_color: '#FFFFFF', result_header_background_color: '#E9ECEF', result_header_text_color: '#000000', result_header_btn_color: '#007BFF', diff --git a/client/src/app/metamodel/models/instance.model.ts b/client/src/app/metamodel/models/instance.model.ts index 0b9ca70c..7ef438e0 100644 --- a/client/src/app/metamodel/models/instance.model.ts +++ b/client/src/app/metamodel/models/instance.model.ts @@ -60,6 +60,9 @@ export interface Instance { progress_bar_circle_icon_color: string; progress_bar_circle_icon_active_color: string; progress_bar_text_color: string; + dataset_select_btn_color: string; + dataset_select_btn_hover_color: string; + dataset_select_btn_text_color: string; result_header_background_color: string; result_header_text_color: string; result_header_btn_color: string; diff --git a/client/src/test-data.ts b/client/src/test-data.ts index f9834a36..1730875b 100644 --- a/client/src/test-data.ts +++ b/client/src/test-data.ts @@ -90,6 +90,9 @@ export const INSTANCE_LIST: Instance[] = [ progress_bar_circle_icon_color: '#CCCCCC', progress_bar_circle_icon_active_color: '#FFFFFF', progress_bar_text_color: '#91B2BF', + dataset_select_btn_color: '#6C757D', + dataset_select_btn_hover_color: '#6C757D', + dataset_select_btn_text_color: '#FFFFFF', result_header_background_color: '#E9ECEF', result_header_text_color: '#000000', result_header_btn_color: '#007BFF', @@ -165,6 +168,9 @@ export const INSTANCE_LIST: Instance[] = [ progress_bar_circle_icon_color: '#CCCCCC', progress_bar_circle_icon_active_color: '#FFFFFF', progress_bar_text_color: '#91B2BF', + dataset_select_btn_color: '#6C757D', + dataset_select_btn_hover_color: '#6C757D', + dataset_select_btn_text_color: '#FFFFFF', result_header_background_color: '#E9ECEF', result_header_text_color: '#000000', result_header_btn_color: '#007BFF', @@ -242,6 +248,9 @@ export const INSTANCE: Instance = { progress_bar_circle_icon_color: '#CCCCCC', progress_bar_circle_icon_active_color: '#FFFFFF', progress_bar_text_color: '#91B2BF', + dataset_select_btn_color: '#6C757D', + dataset_select_btn_hover_color: '#6C757D', + dataset_select_btn_text_color: '#FFFFFF', result_header_background_color: '#E9ECEF', result_header_text_color: '#000000', result_header_btn_color: '#007BFF', diff --git a/conf-dev/create-db.sh b/conf-dev/create-db.sh index 742f1cda..e09ca9dd 100644 --- a/conf-dev/create-db.sh +++ b/conf-dev/create-db.sh @@ -8,7 +8,7 @@ set -e curl -d '{"label":"Test","dbname":"anis_test","dbtype":"pdo_pgsql","dbhost":"db","dbport":5432,"dblogin":"anis","dbpassword":"anis"}' --header 'Content-Type: application/json' -X POST http://localhost/database # Add default instance -curl -d '{"name":"default","label":"Default instance","description":"Instance for the test","scientific_manager":"M. Durand","instrument":"Multiple","wavelength_domain":"Visible imaging / Spectroscopy","display":10,"data_path":"\/DEFAULT","files_path":"\/INSTANCE_FILES","public":true,"portal_logo":"","design_color":"#7AC29A","design_background_color":"#ffffff","design_logo":"/logo.png","design_favicon":"/favicon.ico","navbar_background_color":"#F8F9FA","navbar_border_bottom_color":"#DEE2E6","navbar_color_href":"#000000","navbar_font_family":"Roboto, sans-serif","navbar_sign_in_btn_color":"#28A745","navbar_user_btn_color":"#7AC29A","footer_background_color":"#F8F9FA","footer_border_top_color":"#DEE2E6","footer_text_color":"#000000","footer_logos":[{"href":"http:\/\/lam.fr","title":"Laboratoire d'\''Astrophysique de Marseille","file":"\/logo_lam_s.png","display":20},{"href":"http:\/\/www.univ-amu.fr","title":"Aix*Marseille Universit\u00e9","file":"\/logo_amu_s.png","display":30},{"href":"http:\/\/anis.lam.fr","title":"AstroNomical Information System","file":"\/cesam_anis40.png","display":50},{"href":"http:\/\/cesam.lam.fr","title":"Centre de donn\u00e9es Astrophysique de Marseille","file":"\/logo_cesam_s.png","display":10},{"href":"http:\/\/www.insu.cnrs.fr","title":"Institut National des Sciences de l'\''Univers","file":"\/logo_insu_s.png","display":40}],"family_border_color":"#DFDFDF","family_header_background_color":"#F7F7F7","family_title_color":"#007BFF","family_title_bold":false,"family_background_color":"#FFFFFF","family_color":"#212529","progress_bar_title":"Dataset search","progress_bar_title_color":"#000000","progress_bar_subtitle":"Select a dataset, add criteria, select output columns and display the result.","progress_bar_subtitle_color":"#6C757D","progress_bar_step_dataset_title":"Dataset selection","progress_bar_step_criteria_title":"Search criteria","progress_bar_step_output_title":"Output columns","progress_bar_step_result_title":"Result table","progress_bar_color":"#E9ECEF","progress_bar_active_color":"#7AC29A","progress_bar_circle_color":"#FFFFFF","progress_bar_circle_icon_color":"#CCCCCC","progress_bar_circle_icon_active_color":"#FFFFFF","progress_bar_text_color":"#91B2BF","result_header_background_color":"#E9ECEF","result_header_text_color":"#000000","result_header_btn_color":"#007BFF","result_header_btn_hover_color":"#0069D9","result_header_btn_text_color":"#FFFFFF","result_datatable_bordered":true,"result_datatable_border_color":"#DEE2E6","result_datatable_header_background_color":"#FFFFFF","result_datatable_header_text_color":"#000000","result_datatable_rows_background_color":"#FFFFFF","result_datatable_rows_text_color":"#000000","result_datatable_sorted_color":"#C5C5C5","result_datatable_sorted_active_color":"#000000","result_datatable_link_color":"#007BFF","result_datatable_link_hover_color":"#0056B3","result_datatable_rows_selected_color":"#7AC29A","samp_enabled":true,"back_to_portal":true,"user_menu_enabled":true,"search_by_criteria_allowed":true,"search_by_criteria_label":"Search","search_multiple_allowed":false,"search_multiple_label":"Search multiple","search_multiple_all_datasets_selected":false,"documentation_allowed":false,"documentation_label":"Documentation"}' --header 'Content-Type: application/json' -X POST http://localhost/instance +curl -d '{"name":"default","label":"Default instance","description":"Instance for the test","scientific_manager":"M. Durand","instrument":"Multiple","wavelength_domain":"Visible imaging / Spectroscopy","display":10,"data_path":"\/DEFAULT","files_path":"\/INSTANCE_FILES","public":true,"portal_logo":"","design_color":"#7AC29A","design_background_color":"#ffffff","design_logo":"/logo.png","design_favicon":"/favicon.ico","navbar_background_color":"#F8F9FA","navbar_border_bottom_color":"#DEE2E6","navbar_color_href":"#000000","navbar_font_family":"Roboto, sans-serif","navbar_sign_in_btn_color":"#28A745","navbar_user_btn_color":"#7AC29A","footer_background_color":"#F8F9FA","footer_border_top_color":"#DEE2E6","footer_text_color":"#000000","footer_logos":[{"href":"http:\/\/lam.fr","title":"Laboratoire d'\''Astrophysique de Marseille","file":"\/logo_lam_s.png","display":20},{"href":"http:\/\/www.univ-amu.fr","title":"Aix*Marseille Universit\u00e9","file":"\/logo_amu_s.png","display":30},{"href":"http:\/\/anis.lam.fr","title":"AstroNomical Information System","file":"\/cesam_anis40.png","display":50},{"href":"http:\/\/cesam.lam.fr","title":"Centre de donn\u00e9es Astrophysique de Marseille","file":"\/logo_cesam_s.png","display":10},{"href":"http:\/\/www.insu.cnrs.fr","title":"Institut National des Sciences de l'\''Univers","file":"\/logo_insu_s.png","display":40}],"family_border_color":"#DFDFDF","family_header_background_color":"#F7F7F7","family_title_color":"#007BFF","family_title_bold":false,"family_background_color":"#FFFFFF","family_color":"#212529","progress_bar_title":"Dataset search","progress_bar_title_color":"#000000","progress_bar_subtitle":"Select a dataset, add criteria, select output columns and display the result.","progress_bar_subtitle_color":"#6C757D","progress_bar_step_dataset_title":"Dataset selection","progress_bar_step_criteria_title":"Search criteria","progress_bar_step_output_title":"Output columns","progress_bar_step_result_title":"Result table","progress_bar_color":"#E9ECEF","progress_bar_active_color":"#7AC29A","progress_bar_circle_color":"#FFFFFF","progress_bar_circle_icon_color":"#CCCCCC","progress_bar_circle_icon_active_color":"#FFFFFF","progress_bar_text_color":"#91B2BF","dataset_select_btn_color":"#6C757D","dataset_select_btn_hover_color":"#6C757D","dataset_select_btn_text_color":"#FFFFFF","result_header_background_color":"#E9ECEF","result_header_text_color":"#000000","result_header_btn_color":"#007BFF","result_header_btn_hover_color":"#0069D9","result_header_btn_text_color":"#FFFFFF","result_datatable_bordered":true,"result_datatable_border_color":"#DEE2E6","result_datatable_header_background_color":"#FFFFFF","result_datatable_header_text_color":"#000000","result_datatable_rows_background_color":"#FFFFFF","result_datatable_rows_text_color":"#000000","result_datatable_sorted_color":"#C5C5C5","result_datatable_sorted_active_color":"#000000","result_datatable_link_color":"#007BFF","result_datatable_link_hover_color":"#0056B3","result_datatable_rows_selected_color":"#7AC29A","samp_enabled":true,"back_to_portal":true,"user_menu_enabled":true,"search_by_criteria_allowed":true,"search_by_criteria_label":"Search","search_multiple_allowed":false,"search_multiple_label":"Search multiple","search_multiple_all_datasets_selected":false,"documentation_allowed":false,"documentation_label":"Documentation"}' --header 'Content-Type: application/json' -X POST http://localhost/instance # Add dataset families curl -d '{"label":"Default dataset family","display":10,"opened":true}' --header 'Content-Type: application/json' -X POST http://localhost/instance/default/dataset-family diff --git a/server/doctrine-proxy/__CG__AppEntityInstance.php b/server/doctrine-proxy/__CG__AppEntityInstance.php index 984e175b..5f9a8a35 100644 --- a/server/doctrine-proxy/__CG__AppEntityInstance.php +++ b/server/doctrine-proxy/__CG__AppEntityInstance.php @@ -67,10 +67,10 @@ class Instance extends \App\Entity\Instance implements \Doctrine\ORM\Proxy\Proxy public function __sleep() { if ($this->__isInitialized__) { - return ['__isInitialized__', 'name', 'label', 'description', 'scientificManager', 'instrument', 'wavelengthDomain', 'display', 'dataPath', 'filesPath', 'public', 'portalLogo', 'designColor', 'designBackgroundColor', 'designLogo', 'designFavicon', 'navbarBackgroundColor', 'navbarBorderBottomColor', 'navbarColorHref', 'navbarFontFamily', 'navbarSignInBtnColor', 'navbarUserBtnColor', 'footerBackgroundColor', 'footerBorderTopColor', 'footerTextColor', 'footerLogos', 'familyBorderColor', 'familyHeaderBackgroundColor', 'familyTitleColor', 'familyTitleBold', 'familyBackgroundColor', 'familyColor', 'progressBarTitle', 'progressBarTitleColor', 'progressBarSubtitle', 'progressBarSubtitleColor', 'progressBarStepDatasetTitle', 'progressBarStepCriteriaTitle', 'progressBarStepOutputTitle', 'progressBarStepResultTitle', 'progressBarColor', 'progressBarActiveColor', 'progressBarCircleColor', 'progressBarCircleIconColor', 'progressBarCircleIconActiveColor', 'progressBarTextColor', 'resultHeaderBackgroundColor', 'resultHeaderTextColor', 'resultHeaderBtnColor', 'resultHeaderBtnHoverColor', 'resultHeaderBtnTextColor', 'resultDatatableBordered', 'resultDatatableBorderColor', 'resultDatatableHeaderBackgroundColor', 'resultDatatableHeaderTextColor', 'resultDatatableRowsBackgroundColor', 'resultDatatableRowsTextColor', 'resultDatatableSortedColor', 'resultDatatableSortedActiveColor', 'resultDatatableLinkColor', 'resultDatatableLinkHoverColor', 'resultDatatableRowsSelectedColor', 'sampEnabled', 'backToPortal', 'userMenuEnabled', 'searchByCriteriaAllowed', 'searchByCriteriaLabel', 'searchMultipleAllowed', 'searchMultipleLabel', 'searchMultipleAllDatasetsSelected', 'documentationAllowed', 'documentationLabel', 'datasetFamilies']; + return ['__isInitialized__', 'name', 'label', 'description', 'scientificManager', 'instrument', 'wavelengthDomain', 'display', 'dataPath', 'filesPath', 'public', 'portalLogo', 'designColor', 'designBackgroundColor', 'designLogo', 'designFavicon', 'navbarBackgroundColor', 'navbarBorderBottomColor', 'navbarColorHref', 'navbarFontFamily', 'navbarSignInBtnColor', 'navbarUserBtnColor', 'footerBackgroundColor', 'footerBorderTopColor', 'footerTextColor', 'footerLogos', 'familyBorderColor', 'familyHeaderBackgroundColor', 'familyTitleColor', 'familyTitleBold', 'familyBackgroundColor', 'familyColor', 'progressBarTitle', 'progressBarTitleColor', 'progressBarSubtitle', 'progressBarSubtitleColor', 'progressBarStepDatasetTitle', 'progressBarStepCriteriaTitle', 'progressBarStepOutputTitle', 'progressBarStepResultTitle', 'progressBarColor', 'progressBarActiveColor', 'progressBarCircleColor', 'progressBarCircleIconColor', 'progressBarCircleIconActiveColor', 'progressBarTextColor', 'datasetSelectBtnColor', 'datasetSelectBtnHoverColor', 'datasetSelectBtnTextColor', 'resultHeaderBackgroundColor', 'resultHeaderTextColor', 'resultHeaderBtnColor', 'resultHeaderBtnHoverColor', 'resultHeaderBtnTextColor', 'resultDatatableBordered', 'resultDatatableBorderColor', 'resultDatatableHeaderBackgroundColor', 'resultDatatableHeaderTextColor', 'resultDatatableRowsBackgroundColor', 'resultDatatableRowsTextColor', 'resultDatatableSortedColor', 'resultDatatableSortedActiveColor', 'resultDatatableLinkColor', 'resultDatatableLinkHoverColor', 'resultDatatableRowsSelectedColor', 'sampEnabled', 'backToPortal', 'userMenuEnabled', 'searchByCriteriaAllowed', 'searchByCriteriaLabel', 'searchMultipleAllowed', 'searchMultipleLabel', 'searchMultipleAllDatasetsSelected', 'documentationAllowed', 'documentationLabel', 'datasetFamilies']; } - return ['__isInitialized__', 'name', 'label', 'description', 'scientificManager', 'instrument', 'wavelengthDomain', 'display', 'dataPath', 'filesPath', 'public', 'portalLogo', 'designColor', 'designBackgroundColor', 'designLogo', 'designFavicon', 'navbarBackgroundColor', 'navbarBorderBottomColor', 'navbarColorHref', 'navbarFontFamily', 'navbarSignInBtnColor', 'navbarUserBtnColor', 'footerBackgroundColor', 'footerBorderTopColor', 'footerTextColor', 'footerLogos', 'familyBorderColor', 'familyHeaderBackgroundColor', 'familyTitleColor', 'familyTitleBold', 'familyBackgroundColor', 'familyColor', 'progressBarTitle', 'progressBarTitleColor', 'progressBarSubtitle', 'progressBarSubtitleColor', 'progressBarStepDatasetTitle', 'progressBarStepCriteriaTitle', 'progressBarStepOutputTitle', 'progressBarStepResultTitle', 'progressBarColor', 'progressBarActiveColor', 'progressBarCircleColor', 'progressBarCircleIconColor', 'progressBarCircleIconActiveColor', 'progressBarTextColor', 'resultHeaderBackgroundColor', 'resultHeaderTextColor', 'resultHeaderBtnColor', 'resultHeaderBtnHoverColor', 'resultHeaderBtnTextColor', 'resultDatatableBordered', 'resultDatatableBorderColor', 'resultDatatableHeaderBackgroundColor', 'resultDatatableHeaderTextColor', 'resultDatatableRowsBackgroundColor', 'resultDatatableRowsTextColor', 'resultDatatableSortedColor', 'resultDatatableSortedActiveColor', 'resultDatatableLinkColor', 'resultDatatableLinkHoverColor', 'resultDatatableRowsSelectedColor', 'sampEnabled', 'backToPortal', 'userMenuEnabled', 'searchByCriteriaAllowed', 'searchByCriteriaLabel', 'searchMultipleAllowed', 'searchMultipleLabel', 'searchMultipleAllDatasetsSelected', 'documentationAllowed', 'documentationLabel', 'datasetFamilies']; + return ['__isInitialized__', 'name', 'label', 'description', 'scientificManager', 'instrument', 'wavelengthDomain', 'display', 'dataPath', 'filesPath', 'public', 'portalLogo', 'designColor', 'designBackgroundColor', 'designLogo', 'designFavicon', 'navbarBackgroundColor', 'navbarBorderBottomColor', 'navbarColorHref', 'navbarFontFamily', 'navbarSignInBtnColor', 'navbarUserBtnColor', 'footerBackgroundColor', 'footerBorderTopColor', 'footerTextColor', 'footerLogos', 'familyBorderColor', 'familyHeaderBackgroundColor', 'familyTitleColor', 'familyTitleBold', 'familyBackgroundColor', 'familyColor', 'progressBarTitle', 'progressBarTitleColor', 'progressBarSubtitle', 'progressBarSubtitleColor', 'progressBarStepDatasetTitle', 'progressBarStepCriteriaTitle', 'progressBarStepOutputTitle', 'progressBarStepResultTitle', 'progressBarColor', 'progressBarActiveColor', 'progressBarCircleColor', 'progressBarCircleIconColor', 'progressBarCircleIconActiveColor', 'progressBarTextColor', 'datasetSelectBtnColor', 'datasetSelectBtnHoverColor', 'datasetSelectBtnTextColor', 'resultHeaderBackgroundColor', 'resultHeaderTextColor', 'resultHeaderBtnColor', 'resultHeaderBtnHoverColor', 'resultHeaderBtnTextColor', 'resultDatatableBordered', 'resultDatatableBorderColor', 'resultDatatableHeaderBackgroundColor', 'resultDatatableHeaderTextColor', 'resultDatatableRowsBackgroundColor', 'resultDatatableRowsTextColor', 'resultDatatableSortedColor', 'resultDatatableSortedActiveColor', 'resultDatatableLinkColor', 'resultDatatableLinkHoverColor', 'resultDatatableRowsSelectedColor', 'sampEnabled', 'backToPortal', 'userMenuEnabled', 'searchByCriteriaAllowed', 'searchByCriteriaLabel', 'searchMultipleAllowed', 'searchMultipleLabel', 'searchMultipleAllDatasetsSelected', 'documentationAllowed', 'documentationLabel', 'datasetFamilies']; } /** @@ -1160,6 +1160,72 @@ class Instance extends \App\Entity\Instance implements \Doctrine\ORM\Proxy\Proxy return parent::setProgressBarTextColor($progressBarTextColor); } + /** + * {@inheritDoc} + */ + public function getDatasetSelectBtnColor() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDatasetSelectBtnColor', []); + + return parent::getDatasetSelectBtnColor(); + } + + /** + * {@inheritDoc} + */ + public function setDatasetSelectBtnColor($datasetSelectBtnColor) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDatasetSelectBtnColor', [$datasetSelectBtnColor]); + + return parent::setDatasetSelectBtnColor($datasetSelectBtnColor); + } + + /** + * {@inheritDoc} + */ + public function getDatasetSelectBtnHoverColor() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDatasetSelectBtnHoverColor', []); + + return parent::getDatasetSelectBtnHoverColor(); + } + + /** + * {@inheritDoc} + */ + public function setDatasetSelectBtnHoverColor($datasetSelectBtnHoverColor) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDatasetSelectBtnHoverColor', [$datasetSelectBtnHoverColor]); + + return parent::setDatasetSelectBtnHoverColor($datasetSelectBtnHoverColor); + } + + /** + * {@inheritDoc} + */ + public function getDatasetSelectBtnTextColor() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDatasetSelectBtnTextColor', []); + + return parent::getDatasetSelectBtnTextColor(); + } + + /** + * {@inheritDoc} + */ + public function setDatasetSelectBtnTextColor($datasetSelectBtnTextColor) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDatasetSelectBtnTextColor', [$datasetSelectBtnTextColor]); + + return parent::setDatasetSelectBtnTextColor($datasetSelectBtnTextColor); + } + /** * {@inheritDoc} */ diff --git a/server/src/Action/InstanceAction.php b/server/src/Action/InstanceAction.php index 4ec43ed5..8c4f4219 100644 --- a/server/src/Action/InstanceAction.php +++ b/server/src/Action/InstanceAction.php @@ -108,6 +108,9 @@ final class InstanceAction extends AbstractAction 'progress_bar_circle_icon_color', 'progress_bar_circle_icon_active_color', 'progress_bar_text_color', + 'dataset_select_btn_color', + 'dataset_select_btn_hover_color', + 'dataset_select_btn_text_color', 'result_header_background_color', 'result_header_text_color', 'result_header_btn_color', @@ -213,6 +216,9 @@ final class InstanceAction extends AbstractAction $instance->setProgressBarCircleIconColor($parsedBody['progress_bar_circle_icon_color']); $instance->setProgressBarCircleIconActiveColor($parsedBody['progress_bar_circle_icon_active_color']); $instance->setProgressBarTextColor($parsedBody['progress_bar_text_color']); + $instance->setDatasetSelectBtnColor($parsedBody['dataset_select_btn_color']); + $instance->setDatasetSelectBtnHoverColor($parsedBody['dataset_select_btn_hover_color']); + $instance->setDatasetSelectBtnTextColor($parsedBody['dataset_select_btn_text_color']); $instance->setResultHeaderBackgroundColor($parsedBody['result_header_background_color']); $instance->setResultHeaderTextColor($parsedBody['result_header_text_color']); $instance->setResultHeaderBtnColor($parsedBody['result_header_btn_color']); diff --git a/server/src/Action/InstanceListAction.php b/server/src/Action/InstanceListAction.php index ae19e862..acc58ade 100644 --- a/server/src/Action/InstanceListAction.php +++ b/server/src/Action/InstanceListAction.php @@ -108,6 +108,9 @@ final class InstanceListAction extends AbstractAction 'progress_bar_circle_icon_color', 'progress_bar_circle_icon_active_color', 'progress_bar_text_color', + 'dataset_select_btn_color', + 'dataset_select_btn_hover_color', + 'dataset_select_btn_text_color', 'result_header_background_color', 'result_header_text_color', 'result_header_btn_color', @@ -207,6 +210,9 @@ final class InstanceListAction extends AbstractAction $instance->setProgressBarCircleIconColor($parsedBody['progress_bar_circle_icon_color']); $instance->setProgressBarCircleIconActiveColor($parsedBody['progress_bar_circle_icon_active_color']); $instance->setProgressBarTextColor($parsedBody['progress_bar_text_color']); + $instance->setDatasetSelectBtnColor($parsedBody['dataset_select_btn_color']); + $instance->setDatasetSelectBtnHoverColor($parsedBody['dataset_select_btn_hover_color']); + $instance->setDatasetSelectBtnTextColor($parsedBody['dataset_select_btn_text_color']); $instance->setResultHeaderBackgroundColor($parsedBody['result_header_background_color']); $instance->setResultHeaderTextColor($parsedBody['result_header_text_color']); $instance->setResultHeaderBtnColor($parsedBody['result_header_btn_color']); diff --git a/server/src/Entity/Instance.php b/server/src/Entity/Instance.php index 58fe1bc4..3963bff9 100644 --- a/server/src/Entity/Instance.php +++ b/server/src/Entity/Instance.php @@ -351,6 +351,27 @@ class Instance implements \JsonSerializable */ protected $progressBarTextColor; + /** + * @var string + * + * @Column(type="string", name="dataset_select_btn_color", nullable=false, options={"default" : "#6C757D"}) + */ + protected $datasetSelectBtnColor; + + /** + * @var string + * + * @Column(type="string", name="dataset_select_btn_hover_color", nullable=false, options={"default" : "#6C757D"}) + */ + protected $datasetSelectBtnHoverColor; + + /** + * @var string + * + * @Column(type="string", name="dataset_select_btn_text_color", nullable=false, options={"default" : "#FFFFFF"}) + */ + protected $datasetSelectBtnTextColor; + /** * @var string * @@ -1006,6 +1027,36 @@ class Instance implements \JsonSerializable $this->progressBarTextColor = $progressBarTextColor; } + public function getDatasetSelectBtnColor() + { + return $this->datasetSelectBtnColor; + } + + public function setDatasetSelectBtnColor($datasetSelectBtnColor) + { + $this->datasetSelectBtnColor = $datasetSelectBtnColor; + } + + public function getDatasetSelectBtnHoverColor() + { + return $this->datasetSelectBtnHoverColor; + } + + public function setDatasetSelectBtnHoverColor($datasetSelectBtnHoverColor) + { + $this->datasetSelectBtnHoverColor = $datasetSelectBtnHoverColor; + } + + public function getDatasetSelectBtnTextColor() + { + return $this->datasetSelectBtnTextColor; + } + + public function setDatasetSelectBtnTextColor($datasetSelectBtnTextColor) + { + $this->datasetSelectBtnTextColor = $datasetSelectBtnTextColor; + } + public function getResultHeaderBackgroundColor() { return $this->resultHeaderBackgroundColor; @@ -1328,6 +1379,9 @@ class Instance implements \JsonSerializable 'progress_bar_circle_icon_color' => $this->getProgressBarCircleIconColor(), 'progress_bar_circle_icon_active_color' => $this->getProgressBarCircleIconActiveColor(), 'progress_bar_text_color' => $this->getProgressBarTextColor(), + 'dataset_select_btn_color' => $this->getDatasetSelectBtnColor(), + 'dataset_select_btn_hover_color' => $this->getDatasetSelectBtnHoverColor(), + 'dataset_select_btn_text_color' => $this->getDatasetSelectBtnTextColor(), 'result_header_background_color' => $this->getResultHeaderBackgroundColor(), 'result_header_text_color' => $this->getResultHeaderTextColor(), 'result_header_btn_color' => $this->getResultHeaderBtnColor(), diff --git a/server/tests/Action/InstanceActionTest.php b/server/tests/Action/InstanceActionTest.php index 0142b498..38b2afb1 100644 --- a/server/tests/Action/InstanceActionTest.php +++ b/server/tests/Action/InstanceActionTest.php @@ -122,6 +122,9 @@ final class InstanceActionTest extends TestCase 'progress_bar_circle_icon_color' => '#CCCCCC', 'progress_bar_circle_icon_active_color' => '#FFFFFF', 'progress_bar_text_color' => '#91B2BF', + 'dataset_select_btn_color' => '#6C757D', + 'dataset_select_btn_hover_color' => '#6C757D', + 'dataset_select_btn_text_color' => '#FFFFFF', 'result_header_background_color' => '#E9ECEF', 'result_header_text_color' => '#000000', 'result_header_btn_color' => '#007BFF', diff --git a/server/tests/Action/InstanceListActionTest.php b/server/tests/Action/InstanceListActionTest.php index f376bae5..360e7516 100644 --- a/server/tests/Action/InstanceListActionTest.php +++ b/server/tests/Action/InstanceListActionTest.php @@ -106,6 +106,9 @@ final class InstanceListActionTest extends TestCase 'progress_bar_circle_icon_color' => '#CCCCCC', 'progress_bar_circle_icon_active_color' => '#FFFFFF', 'progress_bar_text_color' => '#91B2BF', + 'dataset_select_btn_color' => '#6C757D', + 'dataset_select_btn_hover_color' => '#6C757D', + 'dataset_select_btn_text_color' => '#FFFFFF', 'result_header_background_color' => '#E9ECEF', 'result_header_text_color' => '#000000', 'result_header_btn_color' => '#007BFF', -- GitLab