From d886b5246a71647a25311ec566a331a3a50b9981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Agneray?= <francois.agneray@lam.fr> Date: Thu, 6 Oct 2022 17:32:13 +0200 Subject: [PATCH] #85 => WIP (resolver_enabled) --- .../cone-search-config-form.component.html | 4 +++ .../cone-search-config-form.component.ts | 3 +++ .../components/cone-search.component.html | 2 +- .../components/cone-search.component.ts | 1 + .../position/cone-search-panel.component.html | 1 + .../criteria/cone-search-tab.component.html | 1 + .../models/cone-search-config.model.ts | 1 + conf-dev/create-db.sh | 2 +- .../__CG__AppEntityConeSearchConfig.php | 26 +++++++++++++++++-- server/src/Action/ConeSearchConfigAction.php | 3 +++ server/src/Entity/ConeSearchConfig.php | 20 +++++++++++++- 11 files changed, 59 insertions(+), 5 deletions(-) diff --git a/client/src/app/admin/instance/dataset/components/cone-search-config/cone-search-config-form.component.html b/client/src/app/admin/instance/dataset/components/cone-search-config/cone-search-config-form.component.html index ca1a671e..1f6f0fb1 100644 --- a/client/src/app/admin/instance/dataset/components/cone-search-config/cone-search-config-form.component.html +++ b/client/src/app/admin/instance/dataset/components/cone-search-config/cone-search-config-form.component.html @@ -23,6 +23,10 @@ </div> </div> </div> + <div class="custom-control custom-switch"> + <input class="custom-control-input" type="checkbox" id="resolver_enabled" name="resolver_enabled" formControlName="resolver_enabled"> + <label class="custom-control-label" for="resolver_enabled">Resolver enabled</label> + </div> <div class="custom-control custom-switch"> <input class="custom-control-input" type="checkbox" id="plot_enabled" name="plot_enabled" formControlName="plot_enabled"> <label class="custom-control-label" for="plot_enabled">Plot enabled</label> diff --git a/client/src/app/admin/instance/dataset/components/cone-search-config/cone-search-config-form.component.ts b/client/src/app/admin/instance/dataset/components/cone-search-config/cone-search-config-form.component.ts index 3a2ff5a3..c07eebe0 100644 --- a/client/src/app/admin/instance/dataset/components/cone-search-config/cone-search-config-form.component.ts +++ b/client/src/app/admin/instance/dataset/components/cone-search-config/cone-search-config-form.component.ts @@ -27,6 +27,7 @@ export class ConeSearchConfigFormComponent implements OnInit { opened: new UntypedFormControl({value: false, disabled: true}), column_ra: new UntypedFormControl({value: false, disabled: true}), column_dec: new UntypedFormControl({value: false, disabled: true}), + resolver_enabled: new UntypedFormControl({value: false, disabled: true}), plot_enabled: new UntypedFormControl(false), }); @@ -40,12 +41,14 @@ export class ConeSearchConfigFormComponent implements OnInit { this.form.controls.opened.enable(); this.form.controls.column_ra.enable(); this.form.controls.column_dec.enable(); + this.form.controls.resolver_enabled.enable(); this.form.controls.plot_enabled.enable(); } else { this.form.controls.opened.setValue(false); this.form.controls.opened.disable(); this.form.controls.column_ra.disable(); this.form.controls.column_dec.disable(); + this.form.controls.resolver_enabled.disable(); this.form.controls.plot_enabled.disable(); } } diff --git a/client/src/app/instance/cone-search/components/cone-search.component.html b/client/src/app/instance/cone-search/components/cone-search.component.html index 0d5da742..c2e0feb8 100644 --- a/client/src/app/instance/cone-search/components/cone-search.component.html +++ b/client/src/app/instance/cone-search/components/cone-search.component.html @@ -1,4 +1,4 @@ -<div class="row pb-4"> +<div class="row pb-4" *ngIf="resolverEnabled"> <div class="col"> <app-resolver [coneSearch]="coneSearch" diff --git a/client/src/app/instance/cone-search/components/cone-search.component.ts b/client/src/app/instance/cone-search/components/cone-search.component.ts index 5ded610d..cf3dc7d3 100644 --- a/client/src/app/instance/cone-search/components/cone-search.component.ts +++ b/client/src/app/instance/cone-search/components/cone-search.component.ts @@ -27,6 +27,7 @@ import { nanValidator, rangeValidator } from '../validators'; }) export class ConeSearchComponent implements OnChanges, OnInit, OnDestroy { @Input() coneSearch: ConeSearch; + @Input() resolverEnabled: boolean; @Input() resolverIsLoading: boolean; @Input() resolverIsLoaded: boolean; @Output() retrieveCoordinates: EventEmitter<string> = new EventEmitter(); diff --git a/client/src/app/instance/search-multiple/components/position/cone-search-panel.component.html b/client/src/app/instance/search-multiple/components/position/cone-search-panel.component.html index 52e4398f..e13cbbdb 100644 --- a/client/src/app/instance/search-multiple/components/position/cone-search-panel.component.html +++ b/client/src/app/instance/search-multiple/components/position/cone-search-panel.component.html @@ -6,6 +6,7 @@ <div class="col"> <app-cone-search [coneSearch]="coneSearch" + [resolverEnabled]="true" [resolverIsLoading]="resolverIsLoading" [resolverIsLoaded]="resolverIsLoaded" (retrieveCoordinates)="retrieveCoordinates.emit($event)" diff --git a/client/src/app/instance/search/components/criteria/cone-search-tab.component.html b/client/src/app/instance/search/components/criteria/cone-search-tab.component.html index d0991f52..c902914e 100644 --- a/client/src/app/instance/search/components/criteria/cone-search-tab.component.html +++ b/client/src/app/instance/search/components/criteria/cone-search-tab.component.html @@ -16,6 +16,7 @@ <div class="col"> <app-cone-search [coneSearch]="coneSearch" + [resolverEnabled]="coneSearchConfig.resolver_enabled" [resolverIsLoading]="resolverIsLoading" [resolverIsLoaded]="resolverIsLoaded" (retrieveCoordinates)="retrieveCoordinates.emit($event)" diff --git a/client/src/app/metamodel/models/cone-search-config.model.ts b/client/src/app/metamodel/models/cone-search-config.model.ts index b067ff0d..bd4da83f 100644 --- a/client/src/app/metamodel/models/cone-search-config.model.ts +++ b/client/src/app/metamodel/models/cone-search-config.model.ts @@ -18,5 +18,6 @@ export interface ConeSearchConfig { opened: boolean; column_ra: number; column_dec: number; + resolver_enabled: boolean; plot_enabled: boolean; } diff --git a/conf-dev/create-db.sh b/conf-dev/create-db.sh index 5375f265..1b782bb2 100644 --- a/conf-dev/create-db.sh +++ b/conf-dev/create-db.sh @@ -96,7 +96,7 @@ curl -d '{"id":6,"name":"zflag","label":"zflag","form_label":"zflag","descriptio curl -d '{"id":7,"name":"sel_mag","label":"sel_mag","form_label":"sel_mag","description":null,"primary_key":false,"output_display":70,"criteria_display":70,"search_type":"between","type":"decimal","operator":null,"dynamic_operator":true,"min":null,"max":null,"placeholder_min":null,"placeholder_max":null,"renderer":null,"renderer_config":null,"detail_display":70,"selected":true,"order_by":true,"archive":false,"detail":false,"options":null,"vo_utype":null,"vo_ucd":null,"vo_unit":null,"vo_description":null,"vo_datatype":null,"vo_size":null,"id_criteria_family":4,"id_output_category":5,"id_detail_output_category":null}' --header 'Content-Type: application/json' -X POST http://localhost/dataset/vvds_f02_udeep/attribute # Add vvds_f02_udeep cone search -curl -d '{"enabled":true,"opened":false,"column_ra":3,"column_dec":4,"plot_enabled":true}' --header 'Content-Type: application/json' -X POST http://localhost/dataset/vvds_f02_udeep/cone-search-config +curl -d '{"enabled":true,"opened":false,"column_ra":3,"column_dec":4,"resolver_enabled":true,"plot_enabled":true}' --header 'Content-Type: application/json' -X POST http://localhost/dataset/vvds_f02_udeep/cone-search-config # Add vvds_f02_udeep image curl -d '{"label":"Mag i","file_path":"/IMAGES/CFHTLS_D-85_i_022559-042940_T0007_MEDIAN.fits","file_size":1498320000,"ra_min":35.994643451078,"ra_max":36.99765934121,"dec_min":-3.9943006310031,"dec_max":-4.9941936740893,"stretch":"linear","pmin":0.2,"pmax":99}' --header 'Content-Type: application/json' -X POST http://localhost/dataset/vvds_f02_udeep/image diff --git a/server/doctrine-proxy/__CG__AppEntityConeSearchConfig.php b/server/doctrine-proxy/__CG__AppEntityConeSearchConfig.php index 42b64ffd..07cbe981 100644 --- a/server/doctrine-proxy/__CG__AppEntityConeSearchConfig.php +++ b/server/doctrine-proxy/__CG__AppEntityConeSearchConfig.php @@ -67,10 +67,10 @@ class ConeSearchConfig extends \App\Entity\ConeSearchConfig implements \Doctrine public function __sleep() { if ($this->__isInitialized__) { - return ['__isInitialized__', 'id', 'enabled', 'opened', 'columnRa', 'columnDec', 'plotEnabled']; + return ['__isInitialized__', 'id', 'enabled', 'opened', 'columnRa', 'columnDec', 'resolverEnabled', 'plotEnabled']; } - return ['__isInitialized__', 'id', 'enabled', 'opened', 'columnRa', 'columnDec', 'plotEnabled']; + return ['__isInitialized__', 'id', 'enabled', 'opened', 'columnRa', 'columnDec', 'resolverEnabled', 'plotEnabled']; } /** @@ -280,6 +280,28 @@ class ConeSearchConfig extends \App\Entity\ConeSearchConfig implements \Doctrine return parent::setColumnDec($columnDec); } + /** + * {@inheritDoc} + */ + public function getResolverEnabled() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getResolverEnabled', []); + + return parent::getResolverEnabled(); + } + + /** + * {@inheritDoc} + */ + public function setResolverEnabled($resolverEnabled) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setResolverEnabled', [$resolverEnabled]); + + return parent::setResolverEnabled($resolverEnabled); + } + /** * {@inheritDoc} */ diff --git a/server/src/Action/ConeSearchConfigAction.php b/server/src/Action/ConeSearchConfigAction.php index 8d2be835..373af256 100644 --- a/server/src/Action/ConeSearchConfigAction.php +++ b/server/src/Action/ConeSearchConfigAction.php @@ -108,6 +108,7 @@ final class ConeSearchConfigAction extends AbstractAction 'opened', 'column_ra', 'column_dec', + 'resolver_enabled', 'plot_enabled' ); @@ -135,6 +136,7 @@ final class ConeSearchConfigAction extends AbstractAction $coneSearchConfig->setOpened($parsedBody['opened']); $coneSearchConfig->setColumnRa($parsedBody['column_ra']); $coneSearchConfig->setColumnDec($parsedBody['column_dec']); + $coneSearchConfig->setResolverEnabled($parsedBody['resolver_enabled']); $coneSearchConfig->setPlotEnabled($parsedBody['plot_enabled']); $dataset->setConeSearchConfig($coneSearchConfig); @@ -157,6 +159,7 @@ final class ConeSearchConfigAction extends AbstractAction $coneSearchConfig->setOpened($parsedBody['opened']); $coneSearchConfig->setColumnRa($parsedBody['column_ra']); $coneSearchConfig->setColumnDec($parsedBody['column_dec']); + $coneSearchConfig->setResolverEnabled($parsedBody['resolver_enabled']); $coneSearchConfig->setPlotEnabled($parsedBody['plot_enabled']); $this->em->flush(); } diff --git a/server/src/Entity/ConeSearchConfig.php b/server/src/Entity/ConeSearchConfig.php index 5d635825..47725a9d 100644 --- a/server/src/Entity/ConeSearchConfig.php +++ b/server/src/Entity/ConeSearchConfig.php @@ -58,6 +58,13 @@ class ConeSearchConfig implements \JsonSerializable */ protected $columnDec; + /** + * @var bool + * + * @Column(type="boolean", name="resolver_enabled", nullable=false, options={"default" : true}) + */ + protected $resolverEnabled; + /** * @var bool * @@ -110,6 +117,16 @@ class ConeSearchConfig implements \JsonSerializable $this->columnDec = $columnDec; } + public function getResolverEnabled() + { + return $this->resolverEnabled; + } + + public function setResolverEnabled($resolverEnabled) + { + $this->resolverEnabled = $resolverEnabled; + } + public function getPlotEnabled() { return $this->plotEnabled; @@ -128,7 +145,8 @@ class ConeSearchConfig implements \JsonSerializable 'opened' => $this->getOpened(), 'column_ra' => $this->getColumnRa(), 'column_dec' => $this->getColumnDec(), - 'plot_enabled' => $this->getPlotEnabled(), + 'resolver_enabled' => $this->getResolverEnabled(), + 'plot_enabled' => $this->getPlotEnabled() ]; } } -- GitLab