From 187056380eeeda8af0a5e3da4b9a1bd5df26ce7b Mon Sep 17 00:00:00 2001 From: Trinity X Solution Date: Sat, 4 Feb 2023 17:59:05 +0800 Subject: [PATCH 1/2] Update Setting Router --- package.json | 2 +- src/app/pages/pages-menu.ts | 2 +- src/app/pages/pages-routing.module.ts | 9 +- .../keywordsdictionary.component.html | 34 +++++++ .../keywordsdictionary.component.scss | 55 +++++++++++ .../keywordsdictionary.component.ts | 98 +++++++++++++++++++ .../pages/settings/settings-routing.module.ts | 27 +++++ src/app/pages/settings/settings.component.ts | 8 ++ src/app/pages/settings/settings.module.ts | 24 +++++ src/index.html | 3 +- 10 files changed, 255 insertions(+), 7 deletions(-) create mode 100644 src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.html create mode 100644 src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.scss create mode 100644 src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.ts create mode 100644 src/app/pages/settings/settings-routing.module.ts create mode 100644 src/app/pages/settings/settings.component.ts create mode 100644 src/app/pages/settings/settings.module.ts diff --git a/package.json b/package.json index 1129dddb..3fdb1d70 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "ng": "ng", "conventional-changelog": "conventional-changelog", "start": "ng serve", - "build": "ng build", + "build": "ng build --base-href \"/SEO/\"", "build:prod": "npm run build -- --configuration production --aot", "test": "ng test", "test:coverage": "rimraf coverage && npm run test -- --code-coverage", diff --git a/src/app/pages/pages-menu.ts b/src/app/pages/pages-menu.ts index 43e6ec5e..47b1d5fa 100644 --- a/src/app/pages/pages-menu.ts +++ b/src/app/pages/pages-menu.ts @@ -37,7 +37,7 @@ export const MENU_ITEMS: NbMenuItem[] = [ { title: 'Keywords Dictionary', icon: 'book-outline', - link: '', + link: '/pages/settings/keywordsdictionary', }, { title: 'Image Similarity', diff --git a/src/app/pages/pages-routing.module.ts b/src/app/pages/pages-routing.module.ts index 376cc4fa..24b360a4 100644 --- a/src/app/pages/pages-routing.module.ts +++ b/src/app/pages/pages-routing.module.ts @@ -3,7 +3,7 @@ import { NgModule } from '@angular/core'; import { PagesComponent } from './pages.component'; import { DashboardComponent } from './dashboard/dashboard.component'; -import { ECommerceComponent } from './e-commerce/e-commerce.component'; +import { SettingsComponent } from './settings/settings.component'; import { NotFoundComponent } from './miscellaneous/not-found/not-found.component'; const routes: Routes = [{ @@ -12,11 +12,12 @@ const routes: Routes = [{ children: [ { path: 'dashboard', - component: ECommerceComponent, + component: DashboardComponent, }, { - path: 'iot-dashboard', - component: DashboardComponent, + path: 'settings', + loadChildren: () => import('./settings/settings.module') + .then(m => m.SettingsModule), }, { path: 'layout', diff --git a/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.html b/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.html new file mode 100644 index 00000000..8e339f90 --- /dev/null +++ b/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.html @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + +
+ {{customColumn}} + + + {{row.data[customColumn]}} + + {{column}} + {{row.data[column] || '-'}}
+ +
+
diff --git a/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.scss b/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.scss new file mode 100644 index 00000000..755b885b --- /dev/null +++ b/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.scss @@ -0,0 +1,55 @@ +@import '../../../@theme/styles/themes'; + +@include nb-install-component() { + button[nbTreeGridRowToggle] { + background: transparent; + border: none; + padding: 0; + } + + .search-label { + display: block; + } + .search-input { + margin-bottom: 1rem; + } + + .nb-column-name { + width: 100%; + } + + ::ng-deep .row-toggle-button { + color: nb-theme(text-basic-color); + } + + .nb-tree-grid-header-cell, + .nb-tree-grid-header-cell button { + text-transform: capitalize; + } + + @media screen and (min-width: 400px) { + .nb-column-name, + .nb-column-size { + width: 50%; + } + } + + @media screen and (min-width: 500px) { + .nb-column-name, + .nb-column-size, + .nb-column-kind { + width: 33.333%; + } + } + + @media screen and (min-width: 600px) { + .nb-column-name { + width: 31%; + } + .nb-column-size, + .nb-column-kind, + .nb-column-items { + width: 23%; + } + } +} diff --git a/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.ts b/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.ts new file mode 100644 index 00000000..df730eb1 --- /dev/null +++ b/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.ts @@ -0,0 +1,98 @@ +import { Component, Input } from '@angular/core'; +import { NbSortDirection, NbSortRequest, NbTreeGridDataSource, NbTreeGridDataSourceBuilder } from '@nebular/theme'; + +interface TreeNode { + data: T; + children?: TreeNode[]; + expanded?: boolean; +} + +interface FSEntry { + name: string; + size: string; + kind: string; + items?: number; +} + +@Component({ + selector: 'ngx-tree-grid', + templateUrl: './keywordsdictionary.component.html', + styleUrls: ['./keywordsdictionary.component.scss'], +}) +export class KeywordsDictionaryComponent { + customColumn = 'name'; + defaultColumns = [ 'size', 'kind', 'items' ]; + allColumns = [ this.customColumn, ...this.defaultColumns ]; + + dataSource: NbTreeGridDataSource; + + sortColumn: string; + sortDirection: NbSortDirection = NbSortDirection.NONE; + + constructor(private dataSourceBuilder: NbTreeGridDataSourceBuilder) { + this.dataSource = this.dataSourceBuilder.create(this.data); + } + + updateSort(sortRequest: NbSortRequest): void { + this.sortColumn = sortRequest.column; + this.sortDirection = sortRequest.direction; + } + + getSortDirection(column: string): NbSortDirection { + if (this.sortColumn === column) { + return this.sortDirection; + } + return NbSortDirection.NONE; + } + + private data: TreeNode[] = [ + { + data: { name: 'Projects', size: '1.8 MB', items: 5, kind: 'dir' }, + children: [ + { data: { name: 'project-1.doc', kind: 'doc', size: '240 KB' } }, + { data: { name: 'project-2.doc', kind: 'doc', size: '290 KB' } }, + { data: { name: 'project-3', kind: 'txt', size: '466 KB' } }, + { data: { name: 'project-4.docx', kind: 'docx', size: '900 KB' } }, + ], + }, + { + data: { name: 'Reports', kind: 'dir', size: '400 KB', items: 2 }, + children: [ + { data: { name: 'Report 1', kind: 'doc', size: '100 KB' } }, + { data: { name: 'Report 2', kind: 'doc', size: '300 KB' } }, + ], + }, + { + data: { name: 'Other', kind: 'dir', size: '109 MB', items: 2 }, + children: [ + { data: { name: 'backup.bkp', kind: 'bkp', size: '107 MB' } }, + { data: { name: 'secret-note.txt', kind: 'txt', size: '2 MB' } }, + ], + }, + ]; + + getShowOn(index: number) { + const minWithForMultipleColumns = 400; + const nextColumnStep = 100; + return minWithForMultipleColumns + (nextColumnStep * index); + } +} + +@Component({ + selector: 'ngx-fs-icon', + template: ` + + + + + + `, +}) +export class FsIconComponent { + @Input() kind: string; + @Input() expanded: boolean; + + isDir(): boolean { + return this.kind === 'dir'; + } +} diff --git a/src/app/pages/settings/settings-routing.module.ts b/src/app/pages/settings/settings-routing.module.ts new file mode 100644 index 00000000..28a179f4 --- /dev/null +++ b/src/app/pages/settings/settings-routing.module.ts @@ -0,0 +1,27 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { SettingsComponent } from './settings.component'; +import { KeywordsDictionaryComponent } from './keywordsdictionary/keywordsdictionary.component'; + +const routes: Routes = [{ + path: '', + component: SettingsComponent, + children: [ + { + path: 'keywordsdictionary', + component: KeywordsDictionaryComponent, + }, + ], +}]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class SettingsRoutingModule { } + +export const routedComponents = [ + SettingsComponent, + KeywordsDictionaryComponent, +]; diff --git a/src/app/pages/settings/settings.component.ts b/src/app/pages/settings/settings.component.ts new file mode 100644 index 00000000..002ecb3e --- /dev/null +++ b/src/app/pages/settings/settings.component.ts @@ -0,0 +1,8 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'ngx-tables', + template: ``, +}) +export class SettingsComponent { +} diff --git a/src/app/pages/settings/settings.module.ts b/src/app/pages/settings/settings.module.ts new file mode 100644 index 00000000..f7617230 --- /dev/null +++ b/src/app/pages/settings/settings.module.ts @@ -0,0 +1,24 @@ +import { NgModule } from '@angular/core'; +import { NbCardModule, NbIconModule, NbInputModule, NbTreeGridModule } from '@nebular/theme'; +import { Ng2SmartTableModule } from 'ng2-smart-table'; + +import { ThemeModule } from '../../@theme/theme.module'; +import { SettingsRoutingModule, routedComponents } from './settings-routing.module'; +import { FsIconComponent } from './keywordsdictionary/keywordsdictionary.component'; + +@NgModule({ + imports: [ + NbCardModule, + NbTreeGridModule, + NbIconModule, + NbInputModule, + ThemeModule, + SettingsRoutingModule, + Ng2SmartTableModule, + ], + declarations: [ + ...routedComponents, + FsIconComponent, + ], +}) +export class SettingsModule { } diff --git a/src/index.html b/src/index.html index 75002dce..eb0925ad 100644 --- a/src/index.html +++ b/src/index.html @@ -4,7 +4,8 @@ Klikx SEO Admin Portal - + + From 2ad0a5d0dccde2ddda4c9b502da026c8f73d69b0 Mon Sep 17 00:00:00 2001 From: Trinity X Solution Date: Tue, 7 Feb 2023 12:40:18 +0800 Subject: [PATCH 2/2] imagesimilarity Update --- src/app/pages/pages-menu.ts | 2 +- .../imagesimilarity.component.html | 10 ++ .../imagesimilarity.component.scss | 7 ++ .../imagesimilarity.component.ts | 72 ++++++++++++ .../keywordsdictionary.component.html | 22 +++- .../keywordsdictionary.component.scss | 10 +- .../keywordsdictionary.component.ts | 109 +++++++++++++++--- .../pages/settings/settings-routing.module.ts | 6 + src/app/pages/settings/settings.module.ts | 6 +- src/index.html | 4 +- 10 files changed, 221 insertions(+), 27 deletions(-) create mode 100644 src/app/pages/settings/imagesimilarity/imagesimilarity.component.html create mode 100644 src/app/pages/settings/imagesimilarity/imagesimilarity.component.scss create mode 100644 src/app/pages/settings/imagesimilarity/imagesimilarity.component.ts diff --git a/src/app/pages/pages-menu.ts b/src/app/pages/pages-menu.ts index 47b1d5fa..0a573d78 100644 --- a/src/app/pages/pages-menu.ts +++ b/src/app/pages/pages-menu.ts @@ -42,7 +42,7 @@ export const MENU_ITEMS: NbMenuItem[] = [ { title: 'Image Similarity', icon: 'image-outline', - link: '/pages/ui-features/icons', + link: '/pages/settings/imagesimilarity', }, { title: 'SERP', diff --git a/src/app/pages/settings/imagesimilarity/imagesimilarity.component.html b/src/app/pages/settings/imagesimilarity/imagesimilarity.component.html new file mode 100644 index 00000000..4aedba54 --- /dev/null +++ b/src/app/pages/settings/imagesimilarity/imagesimilarity.component.html @@ -0,0 +1,10 @@ + + + Image Similarity (Sentisight AI Pre-Training Dataset) + + + + + + + diff --git a/src/app/pages/settings/imagesimilarity/imagesimilarity.component.scss b/src/app/pages/settings/imagesimilarity/imagesimilarity.component.scss new file mode 100644 index 00000000..cdfde5b5 --- /dev/null +++ b/src/app/pages/settings/imagesimilarity/imagesimilarity.component.scss @@ -0,0 +1,7 @@ +@import '../../../@theme/styles/themes'; + +@include nb-install-component() { + nb-card { + transform: translate3d(0, 0, 0); + } +} diff --git a/src/app/pages/settings/imagesimilarity/imagesimilarity.component.ts b/src/app/pages/settings/imagesimilarity/imagesimilarity.component.ts new file mode 100644 index 00000000..af2637cb --- /dev/null +++ b/src/app/pages/settings/imagesimilarity/imagesimilarity.component.ts @@ -0,0 +1,72 @@ +import { Component } from '@angular/core'; +import { ServerDataSource } from 'ng2-smart-table'; +import { HttpClient } from '@angular/common/http'; +import { SmartTableData } from '../../../@core/data/smart-table'; + +@Component({ + selector: 'ngx-smart-table', + templateUrl: './imagesimilarity.component.html', + styleUrls: ['./imagesimilarity.component.scss'], +}) +export class ImageSimilarityComponent { + + settings = { + mode: 'external', + actions: { + delete: true, + add: false, + position: 'right' + }, + // selectMode: 'multi', + // add: { + // addButtonContent: '', + // createButtonContent: '', + // cancelButtonContent: '', + // }, + edit: { + editButtonContent: 'Post Label', + // saveButtonContent: '', + // cancelButtonContent: '', + }, + delete: { + deleteButtonContent: 'Verify', + confirmDelete: true, + }, + columns: { + no: { + title: 'No', + type: 'number', + }, + labels: { + title: 'Label', + type: 'string', + }, + predicted: { + title: 'Predicted Score', + type: 'number', + }, + picture: { + title: 'Picture', + type: 'html', + height: '100px', + valuePrepareFunction: (images) => { + return `` + } + } + }, + }; + + source: ServerDataSource; + + constructor(http: HttpClient) { + this.source = new ServerDataSource(http, { endPoint: 'https://my.api.mockaroo.com/imagesimilarity.json?key=2780b150' }); + } + + onDeleteConfirm(event): void { + if (window.confirm('Are you sure you want to delete?')) { + event.confirm.resolve(); + } else { + event.confirm.reject(); + } + } +} diff --git a/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.html b/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.html index 8e339f90..76db4d18 100644 --- a/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.html +++ b/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.html @@ -1,9 +1,29 @@ + + keyword Dictionary Library + - + + + + + + Add New Keyword + + + + Edit Selected Keyword + + + + Deactivate Selected Keyword + + + + diff --git a/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.scss b/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.scss index 755b885b..df444102 100644 --- a/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.scss +++ b/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.scss @@ -14,7 +14,7 @@ margin-bottom: 1rem; } - .nb-column-name { + .nb-column-Title { width: 100%; } @@ -28,14 +28,14 @@ } @media screen and (min-width: 400px) { - .nb-column-name, + .nb-column-Title, .nb-column-size { width: 50%; } } @media screen and (min-width: 500px) { - .nb-column-name, + .nb-column-Title, .nb-column-size, .nb-column-kind { width: 33.333%; @@ -43,7 +43,7 @@ } @media screen and (min-width: 600px) { - .nb-column-name { + .nb-column-Title { width: 31%; } .nb-column-size, @@ -52,4 +52,6 @@ width: 23%; } } + + } diff --git a/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.ts b/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.ts index df730eb1..e9c112e0 100644 --- a/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.ts +++ b/src/app/pages/settings/keywordsdictionary/keywordsdictionary.component.ts @@ -8,10 +8,10 @@ interface TreeNode { } interface FSEntry { - name: string; - size: string; - kind: string; - items?: number; + Title: string; + Level: string; + Parent: string; + Score?: number; } @Component({ @@ -20,8 +20,8 @@ interface FSEntry { styleUrls: ['./keywordsdictionary.component.scss'], }) export class KeywordsDictionaryComponent { - customColumn = 'name'; - defaultColumns = [ 'size', 'kind', 'items' ]; + customColumn = 'Title'; + defaultColumns = [ 'Level', 'Parent', 'Score' ]; allColumns = [ this.customColumn, ...this.defaultColumns ]; dataSource: NbTreeGridDataSource; @@ -47,26 +47,101 @@ export class KeywordsDictionaryComponent { private data: TreeNode[] = [ { - data: { name: 'Projects', size: '1.8 MB', items: 5, kind: 'dir' }, + data: { Title: 'Promotioon', Level: '0', Parent: '0', Score: 108 }, children: [ - { data: { name: 'project-1.doc', kind: 'doc', size: '240 KB' } }, - { data: { name: 'project-2.doc', kind: 'doc', size: '290 KB' } }, - { data: { name: 'project-3', kind: 'txt', size: '466 KB' } }, - { data: { name: 'project-4.docx', kind: 'docx', size: '900 KB' } }, + { + data: { Title: 'Bonus', Level: '1', Parent: '0', Score: 43 }, + children: [ + { data: { Title: 'Welcome Bonus', Level: '2', Parent: '1', Score: 9} }, + { data: { Title: 'Daily Bonus', Level: '2', Parent: '1', Score: 9} }, + { data: { Title: 'Topup Bonus', Level: '2', Parent: '1', Score: 9} }, + { data: { Title: 'Extra Bonus', Level: '2', Parent: '1', Score: 9} }, + { data: { Title: 'Free Angpao', Level: '2', Parent: '1', Score: 7} }, + ] + }, + { + data: { Title: 'Jackpot', Level: '1', Parent: '0', Score: 24 }, + children: [ + { data: { Title: 'Daily Jackpots', Level: '2', Parent: '1', Score: 8} }, + { data: { Title: 'Progressive Jackpot', Level: '2', Parent: '1', Score: 8} }, + { data: { Title: 'Pooled Jackpot', Level: '2', Parent: '1', Score: 8} }, + ] + }, + { + data: { Title: 'Rebate', Level: '1', Parent: '0', Score: 41 }, + children: [ + { data: { Title: 'Friend Refer', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Free Credit', Level: '2', Parent: '1', Score: 8} }, + { data: { Title: 'New Member', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Deposit', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Affiliate', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Redeem Point', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Cashout', Level: '2', Parent: '1', Score: 8} }, + + ] + }, ], }, { - data: { name: 'Reports', kind: 'dir', size: '400 KB', items: 2 }, + data: { Title: 'Advertisement', Level: '0', Parent: '0', Score: 137 }, children: [ - { data: { name: 'Report 1', kind: 'doc', size: '100 KB' } }, - { data: { name: 'Report 2', kind: 'doc', size: '300 KB' } }, + { data: { Title: 'Slogan', Level: '1', Parent: '0', Score: 137 }, + children: [ + { data: { Title: 'Most Trusted Comapany', Level: '2', Parent: '1', Score: 7} }, + { data: { Title: 'Trusted Agent', Level: '2', Parent: '1', Score: 7} }, + { data: { Title: 'Top Slot ', Level: '2', Parent: '1', Score: 7} }, + { data: { Title: 'Betting & Gambling', Level: '2', Parent: '1', Score: 10} }, + { data: { Title: 'HOT', Level: '2', Parent: '1', Score: 3} }, + { data: { Title: 'Fast Processing', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Real Money', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Fast Withdrawal', Level: '2', Parent: '1', Score: 7} }, + { data: { Title: 'Play Now', Level: '2', Parent: '1', Score: 2} }, + { data: { Title: 'Download Now', Level: '2', Parent: '1', Score: 2} }, + { data: { Title: 'Available Now', Level: '2', Parent: '1', Score: 2} }, + { data: { Title: 'Rollover', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Turnover', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Lucky Win', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Easy Win', Level: '2', Parent: '1', Score: 7} }, + { data: { Title: 'Big Win', Level: '2', Parent: '1', Score: 7} }, + { data: { Title: 'ID Ong', Level: '2', Parent: '1', Score: 9} }, + { data: { Title: 'Money Fever', Level: '2', Parent: '1', Score: 8} }, + { data: { Title: 'Safety Gaming Platform', Level: '2', Parent: '1', Score: 8} }, + { data: { Title: 'High Payout', Level: '2', Parent: '1', Score: 8} }, + { data: { Title: 'Games Tips', Level: '2', Parent: '1', Score: 7} }, + { data: { Title: 'Ambassadors', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Collaborate Partners', Level: '2', Parent: '1', Score: 3} }, + { data: { Title: 'Crypto Currency', Level: '2', Parent: '1', Score: 3} }, + + ],}, ], }, { - data: { name: 'Other', kind: 'dir', size: '109 MB', items: 2 }, + data: { Title: 'Common', Level: '0', Parent: '0', Score: 88 }, children: [ - { data: { name: 'backup.bkp', kind: 'bkp', size: '107 MB' } }, - { data: { name: 'secret-note.txt', kind: 'txt', size: '2 MB' } }, + { + data: { Title: 'Game Related', Level: '1', Parent: '0', Score: 88 }, + children: [ + { data: { Title: 'Balance', Level: '2', Parent: '1', Score: 3} }, + { data: { Title: 'Bet', Level: '2', Parent: '1', Score: 7} }, + { data: { Title: 'Lines', Level: '2', Parent: '1', Score: 2} }, + { data: { Title: 'Spin', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Auto Spin', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Mini', Level: '2', Parent: '1', Score: 3} }, + { data: { Title: 'Minor', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Major', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Mega', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Random', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Ultimate', Level: '2', Parent: '1', Score: 5} }, + { data: { Title: 'Wild', Level: '2', Parent: '1', Score: 7} }, + { data: { Title: 'Free Spin', Level: '2', Parent: '1', Score: 7} }, + { data: { Title: 'Scatter', Level: '2', Parent: '1', Score: 7} }, + { data: { Title: 'Lucky Draw', Level: '2', Parent: '1', Score: 6} }, + { data: { Title: 'Bank Account', Level: '2', Parent: '1', Score: 3} }, + { data: { Title: 'Payment Gateway', Level: '2', Parent: '1', Score: 3} }, + { data: { Title: '24 / 7', Level: '2', Parent: '1', Score: 5} }, + + ] + }, ], }, ]; diff --git a/src/app/pages/settings/settings-routing.module.ts b/src/app/pages/settings/settings-routing.module.ts index 28a179f4..0291a0e5 100644 --- a/src/app/pages/settings/settings-routing.module.ts +++ b/src/app/pages/settings/settings-routing.module.ts @@ -3,6 +3,7 @@ import { Routes, RouterModule } from '@angular/router'; import { SettingsComponent } from './settings.component'; import { KeywordsDictionaryComponent } from './keywordsdictionary/keywordsdictionary.component'; +import { ImageSimilarityComponent } from './imagesimilarity/imagesimilarity.component'; const routes: Routes = [{ path: '', @@ -12,6 +13,10 @@ const routes: Routes = [{ path: 'keywordsdictionary', component: KeywordsDictionaryComponent, }, + { + path: 'imagesimilarity', + component: ImageSimilarityComponent, + }, ], }]; @@ -24,4 +29,5 @@ export class SettingsRoutingModule { } export const routedComponents = [ SettingsComponent, KeywordsDictionaryComponent, + ImageSimilarityComponent, ]; diff --git a/src/app/pages/settings/settings.module.ts b/src/app/pages/settings/settings.module.ts index f7617230..b977d373 100644 --- a/src/app/pages/settings/settings.module.ts +++ b/src/app/pages/settings/settings.module.ts @@ -1,7 +1,7 @@ import { NgModule } from '@angular/core'; -import { NbCardModule, NbIconModule, NbInputModule, NbTreeGridModule } from '@nebular/theme'; +import { NbCardModule, NbIconModule, NbInputModule, NbTreeGridModule,NbActionsModule } from '@nebular/theme'; import { Ng2SmartTableModule } from 'ng2-smart-table'; - +import { FormsModule as ngFormsModule } from '@angular/forms'; import { ThemeModule } from '../../@theme/theme.module'; import { SettingsRoutingModule, routedComponents } from './settings-routing.module'; import { FsIconComponent } from './keywordsdictionary/keywordsdictionary.component'; @@ -15,6 +15,8 @@ import { FsIconComponent } from './keywordsdictionary/keywordsdictionary.compone ThemeModule, SettingsRoutingModule, Ng2SmartTableModule, + NbActionsModule, + ngFormsModule ], declarations: [ ...routedComponents, diff --git a/src/index.html b/src/index.html index eb0925ad..e93a9d8e 100644 --- a/src/index.html +++ b/src/index.html @@ -4,8 +4,8 @@ Klikx SEO Admin Portal - - + +