- No Changes
+
+
+
+
+
+
+
+
+ Option
+
+ Value
+ 1">{{ date | date:DATE_FORMAT }}
+
+
+
+
+
+
+
+
+
+
+ No changes
-
+
\ No newline at end of file
diff --git a/ui/src/app/metadata/configuration/component/metadata-configuration.component.ts b/ui/src/app/metadata/configuration/component/metadata-configuration.component.ts
index 1b04ba636..e2d75c4da 100644
--- a/ui/src/app/metadata/configuration/component/metadata-configuration.component.ts
+++ b/ui/src/app/metadata/configuration/component/metadata-configuration.component.ts
@@ -1,4 +1,4 @@
-import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core';
+import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter, OnChanges } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { MetadataConfiguration } from '../model/metadata-configuration';
import { Metadata } from '../../domain/domain.type';
@@ -6,11 +6,10 @@ import { CONFIG_DATE_FORMAT } from '../configuration.values';
@Component({
selector: 'metadata-configuration',
- changeDetection: ChangeDetectionStrategy.OnPush,
templateUrl: './metadata-configuration.component.html',
styleUrls: ['./metadata-configuration.component.scss']
})
-export class MetadataConfigurationComponent {
+export class MetadataConfigurationComponent implements OnChanges {
@Input() configuration: MetadataConfiguration;
@Input() definition: any;
@Input() entity: Metadata;
@@ -19,6 +18,8 @@ export class MetadataConfigurationComponent {
@Output() preview: EventEmitter
= new EventEmitter();
+ zero = false;
+
DATE_FORMAT = CONFIG_DATE_FORMAT;
constructor(
@@ -26,6 +27,10 @@ export class MetadataConfigurationComponent {
private activatedRoute: ActivatedRoute
) {}
+ ngOnChanges(): void {
+ this.zero = this.configuration.sections.some(s => !s.properties.length);
+ }
+
edit(id: string): void {
this.router.navigate(['../', 'edit', id], { relativeTo: this.activatedRoute.parent });
}
diff --git a/ui/src/app/metadata/configuration/container/metadata-comparison.component.ts b/ui/src/app/metadata/configuration/container/metadata-comparison.component.ts
index 06f821633..e080558e1 100644
--- a/ui/src/app/metadata/configuration/container/metadata-comparison.component.ts
+++ b/ui/src/app/metadata/configuration/container/metadata-comparison.component.ts
@@ -39,8 +39,6 @@ export class MetadataComparisonComponent implements OnDestroy {
this.numVersions$ = this.store.select(getComparisonConfigurationCount);
this.type$ = this.store.select(fromReducer.getConfigurationModelType);
- this.versions$.subscribe(console.log);
-
this.sub = this.limiter.pipe(
withLatestFrom(this.limited$),
map(([compare, limit]) => new ViewChanged(!limit))
diff --git a/ui/src/app/metadata/configuration/reducer/index.ts b/ui/src/app/metadata/configuration/reducer/index.ts
index 38087a034..2b67b7a7a 100644
--- a/ui/src/app/metadata/configuration/reducer/index.ts
+++ b/ui/src/app/metadata/configuration/reducer/index.ts
@@ -145,6 +145,14 @@ export const getConfigurationModelNameFn =
export const getConfigurationModelTypeFn =
(config: Metadata) => config ? ('@type' in config) ? config['@type'] : 'resolver' : null;
+export const filterPluginTypes = ['RequiredValidUntil', 'SignatureValidation', 'EntityRoleWhiteList'];
+export const isAdditionalFilter = (type) => filterPluginTypes.indexOf(type) === -1;
+
+export const getVersionModelFiltersFn =
+ (model, kind) => kind === 'provider' ?
+ model.metadataFilters.filter(filter => isAdditionalFilter(filter['@type'])) :
+ null;
+
// Version History
export const getHistoryState = createSelector(getState, getHistoryStateFn);
@@ -178,8 +186,16 @@ export const getCompareState = createSelector(getState, getCompareStateFn);
export const getComparisonLoading = createSelector(getCompareState, fromCompare.getComparisonLoading);
export const getComparisonModels = createSelector(getCompareState, fromCompare.getVersionModels);
export const getComparisonModelsLoaded = createSelector(getCompareState, fromCompare.getVersionModelsLoaded);
+
+export const getComparisonModelsFilteredFn = (models) => models.map((model) => ({
+ ...model,
+ metadataFilters: getVersionModelFiltersFn(model, model.type)
+}));
+
+export const getComparisonModelsFiltered = createSelector(getComparisonModels, getComparisonModelsFilteredFn);
+
export const getComparisonConfigurations = createSelector(
- getComparisonModels,
+ getComparisonModelsFiltered,
getConfigurationDefinition,
getConfigurationSchema,
getConfigurationSectionsFn
@@ -228,13 +244,7 @@ export const getLimitedComparisonConfigurations = createSelector(
export const getRestoreState = createSelector(getState, getRestoreStateFn);
-export const filterPluginTypes = ['RequiredValidUntil', 'SignatureValidation', 'EntityRoleWhiteList'];
-export const isAdditionalFilter = (type) => filterPluginTypes.indexOf(type) === -1;
-export const getVersionModelFiltersFn =
- (model, kind) => kind === 'provider' ?
- model.metadataFilters.filter(filter => isAdditionalFilter(filter['@type'])) :
- null;
export const getVersionState = createSelector(getState, getVersionStateFn);