From 9719f9c2c2e6d60d0fc5d4d9a06d1dd63900cafc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Agneray?= <francois.agneray@lam.fr> Date: Fri, 3 Jun 2022 21:36:34 +0200 Subject: [PATCH] Add tinymce dependancy --- client/angular.json | 3 +- client/package.json | 2 ++ .../containers/webpages-list.component.html | 4 ++- .../containers/webpages-list.component.ts | 6 ++++ .../instance/webpages/webpages.module.ts | 9 ++++-- client/yarn.lock | 32 ++++++++----------- 6 files changed, 33 insertions(+), 23 deletions(-) diff --git a/client/angular.json b/client/angular.json index 3c6e0694..1df04ec6 100644 --- a/client/angular.json +++ b/client/angular.json @@ -28,7 +28,8 @@ "inlineStyleLanguage": "scss", "assets": [ "src/favicon.ico", - "src/assets" + "src/assets", + { "glob": "**/*", "input": "node_modules/tinymce", "output": "/tinymce/" } ], "styles": [ "node_modules/@fortawesome/fontawesome-free/css/all.css", diff --git a/client/package.json b/client/package.json index c085d335..63a7b6b8 100644 --- a/client/package.json +++ b/client/package.json @@ -24,6 +24,7 @@ "@ngrx/router-store": "13.0.2", "@ngrx/store": "13.0.2", "@ngrx/store-devtools": "13.0.2", + "@tinymce/tinymce-angular": "^6.0.1", "bootstrap": "4.6.1", "d3": "^5.15.1", "file-saver": "^2.0.5", @@ -33,6 +34,7 @@ "ngx-json-viewer": "^3.0.2", "ngx-toastr": "^14.2.1", "rxjs": "~7.5.0", + "tinymce": "^6.0.3", "tslib": "^2.3.0", "zone.js": "~0.11.4" }, diff --git a/client/src/app/admin/instance/webpages/containers/webpages-list.component.html b/client/src/app/admin/instance/webpages/containers/webpages-list.component.html index de41922f..ca6f8b0a 100644 --- a/client/src/app/admin/instance/webpages/containers/webpages-list.component.html +++ b/client/src/app/admin/instance/webpages/containers/webpages-list.component.html @@ -22,7 +22,9 @@ </div> </nav> <div class="col-md-10 col-sm-12"> - <textarea type="text" name="txtarea" style="font-family: Arial;font-size: 12pt;width:100%;height:40vw"></textarea> + <editor [init]="{ plugins: 'lists link image table code help wordcount' }" [(ngModel)]="dataModel"> + </editor> + <button (click)="savePage()" class="btn btn-outline-primary mt-2">Save</button> </div> </div> </div> diff --git a/client/src/app/admin/instance/webpages/containers/webpages-list.component.ts b/client/src/app/admin/instance/webpages/containers/webpages-list.component.ts index 6e884361..6f5f4262 100644 --- a/client/src/app/admin/instance/webpages/containers/webpages-list.component.ts +++ b/client/src/app/admin/instance/webpages/containers/webpages-list.component.ts @@ -21,7 +21,13 @@ import * as instanceSelector from 'src/app/metamodel/selectors/instance.selector export class WebpagesListComponent { public instanceName: Observable<string>; + dataModel: string; + constructor(private store: Store<{ }>) { this.instanceName = this.store.select(instanceSelector.selectInstanceNameByRoute); } + + savePage() { + console.log(this.dataModel); + } } diff --git a/client/src/app/admin/instance/webpages/webpages.module.ts b/client/src/app/admin/instance/webpages/webpages.module.ts index 9222e041..b503c4c3 100644 --- a/client/src/app/admin/instance/webpages/webpages.module.ts +++ b/client/src/app/admin/instance/webpages/webpages.module.ts @@ -9,10 +9,11 @@ import { NgModule } from '@angular/core'; +import { EditorModule, TINYMCE_SCRIPT_SRC } from '@tinymce/tinymce-angular'; + import { SharedModule } from 'src/app/shared/shared.module'; import { DatasetRoutingModule, routedComponents } from './webpages-routing.module'; import { dummiesComponents } from './components'; - import { AdminSharedModule } from '../../admin-shared/admin-shared.module'; /** @@ -23,11 +24,15 @@ import { AdminSharedModule } from '../../admin-shared/admin-shared.module'; imports: [ SharedModule, DatasetRoutingModule, - AdminSharedModule + AdminSharedModule, + EditorModule ], declarations: [ routedComponents, dummiesComponents + ], + providers: [ + { provide: TINYMCE_SCRIPT_SRC, useValue: 'tinymce/tinymce.min.js' } ] }) export class WebpagesModule { } diff --git a/client/yarn.lock b/client/yarn.lock index 4a964f04..2e3142eb 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -1928,6 +1928,14 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@tinymce/tinymce-angular@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@tinymce/tinymce-angular/-/tinymce-angular-6.0.1.tgz#8573bef54be8533c29e938c8c96cb2057e08b7a6" + integrity sha512-USuwQwcBmvl1fN9n1FsUqM8ZOQjJLe2VleQRENU9R46ZgrB6Ic5thyUV2RPHUrNgN99QJ+4HyE465qzgv+M7Mw== + dependencies: + tinymce "^6.0.0 || ^5.5.0" + tslib "^2.3.0" + "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" @@ -6192,11 +6200,6 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" -marked@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.7.0.tgz#b64201f051d271b1edc10a04d1ae9b74bb8e5c0e" - integrity sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg== - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -6473,15 +6476,6 @@ ngx-json-viewer@^3.0.2: dependencies: tslib "^2.0.0" -ngx-md@^12.0.5: - version "12.0.5" - resolved "https://registry.yarnpkg.com/ngx-md/-/ngx-md-12.0.5.tgz#4b48dabad7a4f8cc3e0f321fea95a066e590bcf9" - integrity sha512-sjCfnV665oq2MCgtNPbso9v/OKJridvtlj3ExR75q5f783QUmEWJKAnglS/bZESjjxZm+RZrWpdFsxDVwk/5xw== - dependencies: - marked "^0.7.0" - prismjs "^1.15.0" - tslib "^2.0.0" - ngx-toastr@^14.2.1: version "14.2.1" resolved "https://registry.yarnpkg.com/ngx-toastr/-/ngx-toastr-14.2.1.tgz#2899cc6e69af607aa89a2de807c32b46fdc035f8" @@ -7266,11 +7260,6 @@ pretty-format@^27.5.1: ansi-styles "^5.0.0" react-is "^17.0.1" -prismjs@^1.15.0: - version "1.28.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.28.0.tgz#0d8f561fa0f7cf6ebca901747828b149147044b6" - integrity sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw== - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -8201,6 +8190,11 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== +"tinymce@^6.0.0 || ^5.5.0", tinymce@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/tinymce/-/tinymce-6.0.3.tgz#993db09afa473a764ad8b594cdaf744b2c7e2e74" + integrity sha512-4cu80kWF7nRGhviE10poZtjTkl3jNL+lycilCMfdm3KU5V7FtiQQrKbEo6GInXT05RY78Ha/NFP0gOBELcSpfg== + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" -- GitLab