From e3747c7d4313f22487f9cdaec15c29eeb19ba0e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Agneray?= <francois.agneray@lam.fr>
Date: Wed, 29 Jun 2022 22:04:42 +0200
Subject: [PATCH] Sample dataset component => WIP

---
 .../components/webpage-form.component.html    |  4 +--
 .../components/dataset-sample.component.html  |  1 +
 .../components/dataset-sample.component.ts    | 32 +++++++++++++++++++
 .../webpage/hooks/components/index.ts         |  4 ++-
 .../instance/webpage/hooks/parsers/index.ts   |  8 ++++-
 .../app/instance/webpage/webpage.module.ts    |  4 +--
 6 files changed, 47 insertions(+), 6 deletions(-)
 create mode 100644 client/src/app/instance/webpage/hooks/components/dataset-sample.component.html
 create mode 100644 client/src/app/instance/webpage/hooks/components/dataset-sample.component.ts

diff --git a/client/src/app/admin/instance/webpage/components/webpage-form.component.html b/client/src/app/admin/instance/webpage/components/webpage-form.component.html
index dd32c63d..a8c4a0ad 100644
--- a/client/src/app/admin/instance/webpage/components/webpage-form.component.html
+++ b/client/src/app/admin/instance/webpage/components/webpage-form.component.html
@@ -24,8 +24,8 @@
     </div>
     <div class="form-group">
         <label for="content">Content</label>
-        <editor [init]="getEditorConfig()" formControlName="content">
-        </editor>
+        <textarea class="form-control" id="content" rows="20" formControlName="content">
+        </textarea>
     </div>
     <div class="form-group pt-4">
         <ng-content></ng-content>
diff --git a/client/src/app/instance/webpage/hooks/components/dataset-sample.component.html b/client/src/app/instance/webpage/hooks/components/dataset-sample.component.html
new file mode 100644
index 00000000..85855148
--- /dev/null
+++ b/client/src/app/instance/webpage/hooks/components/dataset-sample.component.html
@@ -0,0 +1 @@
+<p>Coucou</p>
\ No newline at end of file
diff --git a/client/src/app/instance/webpage/hooks/components/dataset-sample.component.ts b/client/src/app/instance/webpage/hooks/components/dataset-sample.component.ts
new file mode 100644
index 00000000..f5f36285
--- /dev/null
+++ b/client/src/app/instance/webpage/hooks/components/dataset-sample.component.ts
@@ -0,0 +1,32 @@
+/**
+ * This file is part of Anis Client.
+ *
+ * @copyright Laboratoire d'Astrophysique de Marseille / CNRS
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+import { Component, OnInit, Input, ChangeDetectionStrategy } from '@angular/core';
+import { HttpClient } from '@angular/common/http';
+
+import { AppConfigService } from 'src/app/app-config.service';
+
+@Component({
+    selector: 'app-dataset-sample',
+    templateUrl: 'dataset-sample.component.html',
+    changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class DatasetSampleComponent implements OnInit {
+    @Input() datasetName: string;
+    @Input() sortingColumn: number;
+    @Input() sortingDirection: string;
+    @Input() nbItems: number;
+
+    constructor(private http: HttpClient, private config: AppConfigService) { }
+
+    ngOnInit() {
+        const query = `${this.datasetName}?a=all&o=${this.sortingColumn}:${this.sortingDirection}&p=${this.nbItems}:1`;
+        this.http.get<any[]>(`${this.config.apiUrl}/search/${query}`).subscribe(data => console.log(data));
+    }
+}
diff --git a/client/src/app/instance/webpage/hooks/components/index.ts b/client/src/app/instance/webpage/hooks/components/index.ts
index eb7f2756..cd090f23 100644
--- a/client/src/app/instance/webpage/hooks/components/index.ts
+++ b/client/src/app/instance/webpage/hooks/components/index.ts
@@ -1,5 +1,7 @@
 import { DynamicRouterLinkComponent } from './dynamic-router-link.component';
+import { DatasetSampleComponent } from './dataset-sample.component';
 
 export const hooksComponents = [
-    DynamicRouterLinkComponent
+    DynamicRouterLinkComponent,
+    DatasetSampleComponent
 ];
diff --git a/client/src/app/instance/webpage/hooks/parsers/index.ts b/client/src/app/instance/webpage/hooks/parsers/index.ts
index 3dee9d17..11414cc4 100644
--- a/client/src/app/instance/webpage/hooks/parsers/index.ts
+++ b/client/src/app/instance/webpage/hooks/parsers/index.ts
@@ -1,7 +1,13 @@
 import { HookParserEntry } from 'ngx-dynamic-hooks';
 
 import { DynamicRouterLinkParser } from './dynamic-router-link-parser';
+import { DatasetSampleComponent } from '../components/dataset-sample.component';
 
-export const componentParsers: Array<HookParserEntry> = [
+export const hookParsers = [
     DynamicRouterLinkParser
 ];
+
+export const componentParsers: Array<HookParserEntry> = [
+    DynamicRouterLinkParser,
+    { component: DatasetSampleComponent }
+];
diff --git a/client/src/app/instance/webpage/webpage.module.ts b/client/src/app/instance/webpage/webpage.module.ts
index 8a57c1e9..989eb038 100644
--- a/client/src/app/instance/webpage/webpage.module.ts
+++ b/client/src/app/instance/webpage/webpage.module.ts
@@ -14,7 +14,7 @@ import { DynamicHooksModule } from 'ngx-dynamic-hooks';
 import { SharedModule } from 'src/app/shared/shared.module';
 import { WebpageRoutingModule, routedComponents } from './webpage-routing.module';
 import { dummiesComponents } from './components';
-import { componentParsers } from './hooks/parsers';
+import { hookParsers, componentParsers } from './hooks/parsers';
 import { hooksComponents } from './hooks/components';
 
 /**
@@ -35,7 +35,7 @@ import { hooksComponents } from './hooks/components';
         hooksComponents
     ],
     providers: [
-        componentParsers
+        hookParsers
     ],
     entryComponents: [
         hooksComponents
-- 
GitLab