Skip to content

Commit

Permalink
Merged in bugfix/SHIBUI-1385 (pull request #366)
Browse files Browse the repository at this point in the history
SHIBUI-1385: Bug fixes
  • Loading branch information
rmathis committed Sep 11, 2019
2 parents e330069 + 89312f2 commit c6cad10
Show file tree
Hide file tree
Showing 7 changed files with 71 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ <h2 class="mb-4" [ngSwitch]="type$ | async">
<metadata-configuration [configuration]="configuration$ | async" id="configuration"></metadata-configuration>
</ng-container>
<ng-container *ngIf="!(configuration$ | async)">
<metadata-configuration [configuration]="configuration$ | async" id="configuration"></metadata-configuration>
<div class="d-flex justify-content-center">
<i class="fa fa-spinner fa-pulse fa-4x fa-fw"></i>
<span class="sr-only">Loading...</span>
Expand Down
11 changes: 11 additions & 0 deletions ui/src/app/metadata/configuration/effect/restore.effect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ import {
import { SetMetadata } from '../action/configuration.action';
import { removeNulls } from '../../../shared/util';
import { getModel } from '../../../wizard/reducer';
import { ClearProviderSelection } from '../../provider/action/collection.action';
import { ClearResolverSelection } from '../../resolver/action/collection.action';


@Injectable()
Expand Down Expand Up @@ -107,6 +109,15 @@ export class RestoreEffects {
)
);

@Effect()
restoreVersionSuccessClear$ = this.actions$.pipe(
ofType<RestoreVersionSuccess>(RestoreActionTypes.RESTORE_VERSION_SUCCESS),
map(action => action.payload),
map(({ id, type }) =>
type === 'provider' ? new ClearProviderSelection() : new ClearResolverSelection()
)
);

@Effect()
restoreVersionSuccessReload$ = this.actions$.pipe(
ofType<RestoreVersionSuccess>(RestoreActionTypes.RESTORE_VERSION_SUCCESS),
Expand Down
24 changes: 24 additions & 0 deletions ui/src/app/metadata/provider/reducer/index.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { getFilteredListFn } from './';

describe('Provider Reducer selectors', () => {
describe(`getFilteredListFn method`, () => {
it('should return a list without the provider`s property', () => {

const fn = getFilteredListFn('name');
const name = 'foo';
const collection = ['foo', 'bar', 'baz'];
const provider = { name };

expect(fn(collection, provider)).toEqual(['bar', 'baz']);
});

it('should return the list if the provider passed is null', () => {

const fn = getFilteredListFn('name');
const name = 'foo';
const collection = ['foo', 'bar', 'baz'];

expect(fn(collection, null)).toEqual(['foo', 'bar', 'baz']);
});
});
});
13 changes: 5 additions & 8 deletions ui/src/app/metadata/provider/reducer/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,19 +66,16 @@ export const getProviderIds = createSelector(getCollectionState, fromCollection.
export const getProviderCollectionIsLoaded = createSelector(getCollectionState, fromCollection.getIsLoaded);

export const getProviderNames = createSelector(getAllProviders, (providers: MetadataProvider[]) => providers.map(p => p.name));
export const getFilteredProviderNames = createSelector(
getProviderNames,
getSelectedProvider, (names, provider) => names.filter(name => name !== provider.name)
);

export const getFilteredListFn = (property: string) =>
(collection, provider) => !provider ? collection : collection.filter(val => val !== provider[property]);

export const getFilteredProviderNames = createSelector(getProviderNames, getSelectedProvider, getFilteredListFn('name'));

export const getProviderFilters = createSelector(getSelectedProvider, provider => provider.metadataFilters);

export const getProviderXmlIds = createSelector(getAllProviders, (providers: MetadataProvider[]) => providers.map(p => p.xmlId));
export const getOrderedProviders = createSelector(getAllProviders, getProviderOrder, utils.mergeOrderFn);
export const getOrderedProvidersInSearch = createSelector(getAllProviders, getProviderOrder, utils.mergeOrderFn);

export const getFilteredProviderXmlIds = createSelector(
getProviderXmlIds,
getSelectedProvider, (ids, provider) => ids.filter(id => id !== provider.xmlId)
);
export const getFilteredProviderXmlIds = createSelector(getProviderXmlIds, getSelectedProvider, getFilteredListFn('xmlId'));
9 changes: 8 additions & 1 deletion ui/src/app/metadata/resolver/action/collection.action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ export enum ResolverCollectionActionTypes {
SELECT = '[Metadata Resolver] Select',
SELECT_SUCCESS = '[Metadata Resolver] Select Success',

CLEAR_SELECTION = '[Metadata Resolver] Selection Clear',

UPDATE_RESOLVER_REQUEST = '[Metadata Resolver] Update Request',
UPDATE_RESOLVER_SUCCESS = '[Metadata Resolver] Update Success',
UPDATE_RESOLVER_FAIL = '[Metadata Resolver] Update Fail',
Expand Down Expand Up @@ -143,6 +145,10 @@ export class CreateResolverFromUrlRequest implements Action {
constructor(public payload: { name: string, url: string }) { }
}

export class ClearResolverSelection implements Action {
readonly type = ResolverCollectionActionTypes.CLEAR_SELECTION;
}

export type ResolverCollectionActionsUnion =
| LoadResolverRequest
| LoadResolverSuccess
Expand All @@ -162,4 +168,5 @@ export type ResolverCollectionActionsUnion =
| UpdateResolverFail
| UpdateResolverConflict
| UploadResolverRequest
| CreateResolverFromUrlRequest;
| CreateResolverFromUrlRequest
| ClearResolverSelection;
16 changes: 16 additions & 0 deletions ui/src/app/metadata/resolver/effect/collection.effects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import { I18nService } from '../../../i18n/service/i18n.service';
import * as fromRoot from '../../../app.reducer';
import * as fromI18n from '../../../i18n/reducer';
import { FileBackedHttpMetadataResolver } from '../../domain/entity';
import { UpdateSaving } from '../action/entity.action';


/* istanbul ignore next */
Expand Down Expand Up @@ -79,6 +80,21 @@ export class ResolverCollectionEffects {
})
);

@Effect()
updateResolverSavingOnRequest$ = this.actions$.pipe(
ofType<UpdateResolverRequest>(ResolverCollectionActionTypes.UPDATE_RESOLVER_REQUEST),
map(action => new UpdateSaving(true)),
);

@Effect()
updateResolverSavingOnResult$ = this.actions$.pipe(
ofType<UpdateResolverSuccess | UpdateResolverFail>(
ResolverCollectionActionTypes.UPDATE_RESOLVER_SUCCESS,
ResolverCollectionActionTypes.UPDATE_RESOLVER_FAIL
),
map(action => new UpdateSaving(false)),
);

@Effect({ dispatch: false })
updateResolverSuccessRedirect$ = this.actions$.pipe(
ofType<UpdateResolverSuccess>(ResolverCollectionActionTypes.UPDATE_RESOLVER_SUCCESS),
Expand Down
7 changes: 7 additions & 0 deletions ui/src/app/metadata/resolver/reducer/collection.reducer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@ export function reducer(state = initialState, action: ResolverCollectionActionsU
});
}

case ResolverCollectionActionTypes.CLEAR_SELECTION: {
return {
...state,
selectedResolverId: null
};
}

default: {
return state;
}
Expand Down

0 comments on commit c6cad10

Please sign in to comment.