diff --git a/src/app/adf-config/df-cache/df-cache-table.component.ts b/src/app/adf-config/df-cache/df-cache-table.component.ts index fe49d22d..84d1c415 100644 --- a/src/app/adf-config/df-cache/df-cache-table.component.ts +++ b/src/app/adf-config/df-cache/df-cache-table.component.ts @@ -27,7 +27,7 @@ import { Actions } from 'src/app/shared/types/table'; export class DfCacheTableComponent extends DfManageTableComponent { constructor( @Inject(CACHE_SERVICE_TOKEN) - private cacheService: DfBaseCrudService, + cacheService: DfBaseCrudService, router: Router, activatedRoute: ActivatedRoute, liveAnnouncer: LiveAnnouncer, diff --git a/src/app/adf-schema/df-manage-tables-table/df-manage-tables-table.component.ts b/src/app/adf-schema/df-manage-tables-table/df-manage-tables-table.component.ts index 08ba6e71..f109e6d4 100644 --- a/src/app/adf-schema/df-manage-tables-table/df-manage-tables-table.component.ts +++ b/src/app/adf-schema/df-manage-tables-table/df-manage-tables-table.component.ts @@ -66,12 +66,17 @@ export class DfManageTablesTableComponent extends DfManageTableComponent>({ limit, offset, filter, + refresh, }) .subscribe(data => { this.dataSource.data = this.mapDataToTable(data.resource); diff --git a/src/app/shared/components/df-manage-table/df-manage-table.component.html b/src/app/shared/components/df-manage-table/df-manage-table.component.html index a4880881..8264bcfd 100644 --- a/src/app/shared/components/df-manage-table/df-manage-table.component.html +++ b/src/app/shared/components/df-manage-table/df-manage-table.component.html @@ -8,6 +8,15 @@ type="button"> +
faPlus = faPlus; faEllipsisV = faEllipsisV; faTriangleExclamation = faTriangleExclamation; + faRefresh = faRefresh; allowCreate = true; allowFilter = true; currentFilter = new FormControl(''); + schema = false; abstract columns: Array>; @@ -100,6 +103,7 @@ export abstract class DfManageTableComponent }, ], }; + cacheService: any; constructor( protected router: Router, @@ -112,6 +116,7 @@ export abstract class DfManageTableComponent ngOnInit(): void { if (!this.tableData) { this.activatedRoute.data.subscribe(({ data }) => { + this.schema = this.router.url.includes('schema'); if (data && data.resource) { this.dataSource.data = this.mapDataToTable(data.resource); } @@ -175,7 +180,12 @@ export abstract class DfManageTableComponent abstract mapDataToTable(data: Array): Array; - abstract refreshTable(limit?: number, offset?: number, filter?: string): void; + abstract refreshTable( + limit?: number, + offset?: number, + filter?: string, + refresh?: true + ): void; abstract filterQuery(value: string): string; @@ -243,4 +253,8 @@ export abstract class DfManageTableComponent !this.actions.default.disabled) ); } + + refreshSchema() { + this.refreshTable(undefined, undefined, undefined, true); + } } diff --git a/src/app/shared/components/df-side-nav/df-side-nav.component.html b/src/app/shared/components/df-side-nav/df-side-nav.component.html index 589f3283..49497566 100644 --- a/src/app/shared/components/df-side-nav/df-side-nav.component.html +++ b/src/app/shared/components/df-side-nav/df-side-nav.component.html @@ -109,6 +109,16 @@

+ + + + {{ breadcrumb.translationKey | transloco }} + + + {{ breadcrumb.label }} + + + / diff --git a/src/app/shared/components/df-side-nav/df-side-nav.component.ts b/src/app/shared/components/df-side-nav/df-side-nav.component.ts index bdf31f0d..01331cc5 100644 --- a/src/app/shared/components/df-side-nav/df-side-nav.component.ts +++ b/src/app/shared/components/df-side-nav/df-side-nav.component.ts @@ -18,6 +18,7 @@ import { faLanguage, faMagnifyingGlass, faUser, + faRefresh, } from '@fortawesome/free-solid-svg-icons'; import { routes } from 'src/app/routes'; import { @@ -35,6 +36,8 @@ import { MatDialog, MatDialogModule } from '@angular/material/dialog'; import { DfSearchDialogComponent } from '../df-search-dialog/df-search-dialog.component'; import { UntilDestroy } from '@ngneat/until-destroy'; import { CommonModule } from '@angular/common'; +import { DfSearchService } from '../../services/df-search.service'; +import { FormControl, ReactiveFormsModule } from '@angular/forms'; import { DfThemeToggleComponent } from '../df-theme-toggle/df-theme-toggle.component'; @UntilDestroy({ checkProperties: true }) @@ -74,6 +77,12 @@ export class DfSideNavComponent implements OnInit { faMagnifyingGlass = faMagnifyingGlass; faUser = faUser; faLanguage = faLanguage; + search = new FormControl(); + results$ = this.searchService.results$; + recents$ = this.searchService.recents$; + smallScreen$ = this.breakpointService.isSmallScreen; + faPlus = faPlus; + faRefresh = faRefresh; constructor( private breakpointService: DfBreakpointService, diff --git a/src/app/shared/services/df-base-crud.service.ts b/src/app/shared/services/df-base-crud.service.ts index 4dfe2f62..7bd2c4de 100644 --- a/src/app/shared/services/df-base-crud.service.ts +++ b/src/app/shared/services/df-base-crud.service.ts @@ -183,6 +183,9 @@ export class DfBaseCrudService { if (options.includeCount !== undefined) { params.include_count = options.includeCount; } + if (options.refresh) { + params.refresh = options.refresh; + } if (options.additionalParams) { options.additionalParams.forEach(param => { diff --git a/src/app/shared/types/generic-http.ts b/src/app/shared/types/generic-http.ts index 917eea33..d8457131 100644 --- a/src/app/shared/types/generic-http.ts +++ b/src/app/shared/types/generic-http.ts @@ -41,6 +41,7 @@ export interface RequestOptions { additionalParams: KeyValuePair[]; additionalHeaders: KeyValuePair[]; includeCacheControl: boolean; + refresh: boolean; } export type GenericCreateResponse = GenericListResponse<{ id: number }>; diff --git a/src/app/shared/types/service.ts b/src/app/shared/types/service.ts index 55c5c452..868efa62 100644 --- a/src/app/shared/types/service.ts +++ b/src/app/shared/types/service.ts @@ -79,6 +79,7 @@ export interface Service { lastModifiedById: number | null; config: any; serviceDocByServiceId: number | null; + refresh: boolean; } export interface ServiceRow {