diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlMetadataResolverDelegate.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlMetadataResolverDelegate.java index 7c26adc4d..a30610415 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlMetadataResolverDelegate.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/domain/resolvers/opensaml/OpenSamlMetadataResolverDelegate.java @@ -38,6 +38,7 @@ void addIndexedDescriptorsFromBackingStore(AbstractMetadataResolver.EntityBackin document.add(new StringField("tag", resourceId, Field.Store.YES)); indexWriter.addDocument(document); } + indexWriter.commit(); } catch (IOException e) { logger.error(e.getMessage(), e); throw new ComponentInitializationException(e); diff --git a/ui/src/app/metadata/filter/container/new-filter.component.ts b/ui/src/app/metadata/filter/container/new-filter.component.ts index 7215b55c4..aeb56e019 100644 --- a/ui/src/app/metadata/filter/container/new-filter.component.ts +++ b/ui/src/app/metadata/filter/container/new-filter.component.ts @@ -51,7 +51,6 @@ export class NewFilterComponent implements OnDestroy, OnInit { this.statusChangeEmitted$ .pipe(takeUntil(this.ngUnsubscribe)) .subscribe(valid => { - console.log(valid); this.isValid = valid.value ? valid.value.length === 0 : true; }); diff --git a/ui/src/app/metadata/filter/effect/collection.effect.ts b/ui/src/app/metadata/filter/effect/collection.effect.ts index 4dde8f3a4..f2975bd34 100644 --- a/ui/src/app/metadata/filter/effect/collection.effect.ts +++ b/ui/src/app/metadata/filter/effect/collection.effect.ts @@ -102,6 +102,14 @@ export class FilterCollectionEffects { tap(([filter, provider]) => this.router.navigate(['/', 'metadata', 'provider', provider, 'filters'])) ); + @Effect() + addFilterSuccessReloadParent$ = this.actions$.pipe( + ofType(FilterCollectionActionTypes.ADD_FILTER_SUCCESS), + map(action => action.payload), + withLatestFrom(this.store.select(fromProvider.getSelectedProviderId).pipe(skipWhile(id => !id))), + map(([filter, provider]) => new SelectProviderRequest(provider)) + ); + @Effect() updateFilter$ = this.actions$.pipe( ofType(FilterCollectionActionTypes.UPDATE_FILTER_REQUEST), diff --git a/ui/src/app/metadata/provider/container/provider-edit-step.component.ts b/ui/src/app/metadata/provider/container/provider-edit-step.component.ts index fd6e61a2c..be79bb1fa 100644 --- a/ui/src/app/metadata/provider/container/provider-edit-step.component.ts +++ b/ui/src/app/metadata/provider/container/provider-edit-step.component.ts @@ -101,9 +101,18 @@ export class ProviderEditStepComponent implements OnDestroy { this.valueChangeEmitted$.pipe( map(changes => changes.value), - withLatestFrom(this.definition$), - skipWhile(([ changes, definition ]) => !definition || !changes), - map(([ changes, definition ]) => definition.parser(changes)) + withLatestFrom(this.definition$, this.store.select(fromProvider.getSelectedProvider)), + filter(([ changes, definition, provider ]) => definition && changes && provider), + map(([ changes, definition, provider ]) => { + const parsed = definition.parser(changes); + return ({ + ...parsed, + metadataFilters: [ + ...provider.metadataFilters, + ...(parsed.metadataFilters || []) + ] + }); + }) ) .subscribe(changes => this.store.dispatch(new UpdateProvider(changes))); diff --git a/ui/src/app/metadata/provider/container/provider-select.component.ts b/ui/src/app/metadata/provider/container/provider-select.component.ts index baba7f626..8fe540eeb 100644 --- a/ui/src/app/metadata/provider/container/provider-select.component.ts +++ b/ui/src/app/metadata/provider/container/provider-select.component.ts @@ -31,6 +31,8 @@ export class ProviderSelectComponent implements OnDestroy { map(params => new SelectProviderRequest(params.providerId)) ).subscribe(store); + this.route.params.subscribe(params => console.log(params)); + this.provider$ = this.store.select(fromProviders.getSelectedProvider).pipe(skipWhile(p => !p)); this.provider$.subscribe(provider => this.setDefinition(provider)); diff --git a/ui/src/app/metadata/resolver/container/resolver-wizard.component.html b/ui/src/app/metadata/resolver/container/resolver-wizard.component.html index 1163fe889..b9a6a75d7 100644 --- a/ui/src/app/metadata/resolver/container/resolver-wizard.component.html +++ b/ui/src/app/metadata/resolver/container/resolver-wizard.component.html @@ -1,10 +1,12 @@
- +
+ +
- \ No newline at end of file + diff --git a/ui/src/app/shared/component/info-icon.component.html b/ui/src/app/shared/component/info-icon.component.html index 38dee05bd..f73d5e0eb 100644 --- a/ui/src/app/shared/component/info-icon.component.html +++ b/ui/src/app/shared/component/info-icon.component.html @@ -8,7 +8,8 @@ [triggers]="triggers" [placement]="placement" [attr.aria-flowto]="id" - role="tooltip"> + role="tooltip" + container="body"> diff --git a/ui/src/app/shared/component/info-icon.component.scss b/ui/src/app/shared/component/info-icon.component.scss index e42aa999e..87b013155 100644 --- a/ui/src/app/shared/component/info-icon.component.scss +++ b/ui/src/app/shared/component/info-icon.component.scss @@ -6,8 +6,6 @@ border: none; display: inline; } +} + - .popover .popover-body { - min-width: 160px; - } -} \ No newline at end of file diff --git a/ui/src/app/shared/component/info-icon.component.ts b/ui/src/app/shared/component/info-icon.component.ts index 5c340b410..84ac09d0a 100644 --- a/ui/src/app/shared/component/info-icon.component.ts +++ b/ui/src/app/shared/component/info-icon.component.ts @@ -12,7 +12,8 @@ export class InfoIconComponent { id: string = String.fromCharCode(65 + Math.floor(Math.random() * 26)) + Date.now().toString(); - triggers = 'mouseenter:mouseleave focus:blur'; + // triggers = 'mouseenter:mouseleave focus:blur'; + triggers = 'click'; container = 'body'; placement = ['top']; diff --git a/ui/src/assets/schema/provider/filebacked-http-advanced.schema.json b/ui/src/assets/schema/provider/filebacked-http-advanced.schema.json index 222104611..2e19da247 100644 --- a/ui/src/assets/schema/provider/filebacked-http-advanced.schema.json +++ b/ui/src/assets/schema/provider/filebacked-http-advanced.schema.json @@ -62,8 +62,7 @@ "title": "", "description": "", "placeholder": "", - "widget": "hidden", - "default": "" + "widget": "hidden" }, "connectionRequestTimeout": { "type": "string", @@ -84,7 +83,6 @@ "PT24H" ] }, - "default": null, "pattern": "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" }, "connectionTimeout": { @@ -106,7 +104,6 @@ "PT24H" ] }, - "default": null, "pattern": "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" }, "socketTimeout": { @@ -128,7 +125,6 @@ "PT24H" ] }, - "default": null, "pattern": "^(R\\d*\\/)?P(?:\\d+(?:\\.\\d+)?Y)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?W)?(?:\\d+(?:\\.\\d+)?D)?(?:T(?:\\d+(?:\\.\\d+)?H)?(?:\\d+(?:\\.\\d+)?M)?(?:\\d+(?:\\.\\d+)?S)?)?$" }, "disregardTLSCertificate": { @@ -151,52 +147,45 @@ ], "description": "False" } - ], - "default": false + ] }, "tlsTrustEngineRef": { "type": "string", "title": "", "description": "", "placeholder": "", - "widget": "hidden", - "default": "" + "widget": "hidden" }, "httpClientSecurityParametersRef": { "type": "string", "title": "", "description": "", "placeholder": "", - "widget": "hidden", - "default": "" + "widget": "hidden" }, "proxyHost": { "type": "string", "title": "label.proxy-host", "description": "tooltip.proxy-host", - "placeholder": "", - "default": "" + "placeholder": "" }, "proxyPort": { "type": "string", "title": "label.proxy-port", "description": "tooltip.proxy-port", - "placeholder": "", - "default": "" + "placeholder": "" }, "proxyUser": { "type": "string", "title": "label.proxy-user", "description": "tooltip.proxy-user", - "placeholder": "", - "default": "" + "placeholder": "" }, "proxyPassword": { "type": "string", "title": "label.proxy-password", "description": "tooltip.proxy-password", - "placeholder": "", - "default": "" + "placeholder": "" }, "httpCaching": { "type": "string", @@ -238,7 +227,6 @@ "title": "label.http-max-cache-entries", "description": "tooltip.http-max-cache-entries", "placeholder": "", - "default": 0, "minimum": 0 }, "httpMaxCacheEntrySize": { @@ -246,7 +234,6 @@ "title": "label.max-cache-entry-size", "description": "tooltip.max-cache-entry-size", "placeholder": "", - "default": 0, "minimum": 0 } }