mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-11 20:13:07 +00:00
58789: Deselect all schemas and set page to 1 after deleting schemas
This commit is contained in:
@@ -17,11 +17,13 @@ export const MetadataRegistryActionTypes = {
|
|||||||
CANCEL_EDIT_SCHEMA: type('dspace/metadata-registry/CANCEL_SCHEMA'),
|
CANCEL_EDIT_SCHEMA: type('dspace/metadata-registry/CANCEL_SCHEMA'),
|
||||||
SELECT_SCHEMA: type('dspace/metadata-registry/SELECT_SCHEMA'),
|
SELECT_SCHEMA: type('dspace/metadata-registry/SELECT_SCHEMA'),
|
||||||
DESELECT_SCHEMA: type('dspace/metadata-registry/DESELECT_SCHEMA'),
|
DESELECT_SCHEMA: type('dspace/metadata-registry/DESELECT_SCHEMA'),
|
||||||
|
DESELECT_ALL_SCHEMA: type('dspace/metadata-registry/DESELECT_ALL_SCHEMA'),
|
||||||
|
|
||||||
EDIT_FIELD: type('dspace/metadata-registry/EDIT_FIELD'),
|
EDIT_FIELD: type('dspace/metadata-registry/EDIT_FIELD'),
|
||||||
CANCEL_EDIT_FIELD: type('dspace/metadata-registry/CANCEL_FIELD'),
|
CANCEL_EDIT_FIELD: type('dspace/metadata-registry/CANCEL_FIELD'),
|
||||||
SELECT_FIELD: type('dspace/metadata-registry/SELECT_FIELD'),
|
SELECT_FIELD: type('dspace/metadata-registry/SELECT_FIELD'),
|
||||||
DESELECT_FIELD: type('dspace/metadata-registry/DESELEC_FIELDT')
|
DESELECT_FIELD: type('dspace/metadata-registry/DESELECT_FIELD'),
|
||||||
|
DESELECT_ALL_FIELD: type('dspace/metadata-registry/DESELECT_ALL_FIELD')
|
||||||
};
|
};
|
||||||
|
|
||||||
/* tslint:disable:max-classes-per-file */
|
/* tslint:disable:max-classes-per-file */
|
||||||
@@ -65,6 +67,10 @@ export class MetadataRegistryDeselectSchemaAction implements Action {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class MetadataRegistryDeselectAllSchemaAction implements Action {
|
||||||
|
type = MetadataRegistryActionTypes.DESELECT_ALL_SCHEMA;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to collapse the sidebar
|
* Used to collapse the sidebar
|
||||||
*/
|
*/
|
||||||
@@ -105,6 +111,10 @@ export class MetadataRegistryDeselectFieldAction implements Action {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class MetadataRegistryDeselectAllFieldAction implements Action {
|
||||||
|
type = MetadataRegistryActionTypes.DESELECT_ALL_FIELD;
|
||||||
|
}
|
||||||
|
|
||||||
/* tslint:enable:max-classes-per-file */
|
/* tslint:enable:max-classes-per-file */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -10,6 +10,7 @@ import { hasValue } from '../../../shared/empty.util';
|
|||||||
import { RestResponse } from '../../../core/cache/response.models';
|
import { RestResponse } from '../../../core/cache/response.models';
|
||||||
import { zip } from 'rxjs/internal/observable/zip';
|
import { zip } from 'rxjs/internal/observable/zip';
|
||||||
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
import { NotificationsService } from '../../../shared/notifications/notifications.service';
|
||||||
|
import { Route, Router } from '@angular/router';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-metadata-registry',
|
selector: 'ds-metadata-registry',
|
||||||
@@ -26,7 +27,8 @@ export class MetadataRegistryComponent {
|
|||||||
});
|
});
|
||||||
|
|
||||||
constructor(private registryService: RegistryService,
|
constructor(private registryService: RegistryService,
|
||||||
private notificationsService: NotificationsService) {
|
private notificationsService: NotificationsService,
|
||||||
|
private router: Router) {
|
||||||
this.updateSchemas();
|
this.updateSchemas();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,6 +96,8 @@ export class MetadataRegistryComponent {
|
|||||||
if (failedResponses.length > 0) {
|
if (failedResponses.length > 0) {
|
||||||
this.notificationsService.error('Error', `Failed to delete ${failedResponses.length} metadata schemas`);
|
this.notificationsService.error('Error', `Failed to delete ${failedResponses.length} metadata schemas`);
|
||||||
}
|
}
|
||||||
|
this.registryService.deselectAllMetadataSchema();
|
||||||
|
this.router.navigate([], { queryParams: { page: 1 }, queryParamsHandling: 'merge'});
|
||||||
this.forceUpdateSchemas();
|
this.forceUpdateSchemas();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -62,6 +62,12 @@ export function metadataRegistryReducer(state = initialState, action: MetadataRe
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case MetadataRegistryActionTypes.DESELECT_ALL_SCHEMA: {
|
||||||
|
return Object.assign({}, state, {
|
||||||
|
selectedSchemas: []
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
case MetadataRegistryActionTypes.EDIT_FIELD: {
|
case MetadataRegistryActionTypes.EDIT_FIELD: {
|
||||||
return Object.assign({}, state, {
|
return Object.assign({}, state, {
|
||||||
editField: (action as MetadataRegistryEditFieldAction).field
|
editField: (action as MetadataRegistryEditFieldAction).field
|
||||||
@@ -88,6 +94,12 @@ export function metadataRegistryReducer(state = initialState, action: MetadataRe
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case MetadataRegistryActionTypes.DESELECT_ALL_FIELD: {
|
||||||
|
return Object.assign({}, state, {
|
||||||
|
selectedFields: []
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
@@ -39,7 +39,7 @@ import { AppState } from '../../app.reducer';
|
|||||||
import { MetadataRegistryState } from '../../+admin/admin-registries/metadata-registry/metadata-registry.reducers';
|
import { MetadataRegistryState } from '../../+admin/admin-registries/metadata-registry/metadata-registry.reducers';
|
||||||
import {
|
import {
|
||||||
MetadataRegistryCancelFieldAction,
|
MetadataRegistryCancelFieldAction,
|
||||||
MetadataRegistryCancelSchemaAction,
|
MetadataRegistryCancelSchemaAction, MetadataRegistryDeselectAllFieldAction, MetadataRegistryDeselectAllSchemaAction,
|
||||||
MetadataRegistryDeselectFieldAction,
|
MetadataRegistryDeselectFieldAction,
|
||||||
MetadataRegistryDeselectSchemaAction,
|
MetadataRegistryDeselectSchemaAction,
|
||||||
MetadataRegistryEditFieldAction,
|
MetadataRegistryEditFieldAction,
|
||||||
@@ -276,6 +276,10 @@ export class RegistryService {
|
|||||||
this.store.dispatch(new MetadataRegistryDeselectSchemaAction(schema))
|
this.store.dispatch(new MetadataRegistryDeselectSchemaAction(schema))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public deselectAllMetadataSchema() {
|
||||||
|
this.store.dispatch(new MetadataRegistryDeselectAllSchemaAction())
|
||||||
|
}
|
||||||
|
|
||||||
public getSelectedMetadataSchemas(): Observable<MetadataSchema[]> {
|
public getSelectedMetadataSchemas(): Observable<MetadataSchema[]> {
|
||||||
return this.store.pipe(select(selectedMetadataSchemasSelector));
|
return this.store.pipe(select(selectedMetadataSchemasSelector));
|
||||||
}
|
}
|
||||||
@@ -300,6 +304,10 @@ export class RegistryService {
|
|||||||
this.store.dispatch(new MetadataRegistryDeselectFieldAction(field))
|
this.store.dispatch(new MetadataRegistryDeselectFieldAction(field))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public deselectAllMetadataField(field: MetadataField) {
|
||||||
|
this.store.dispatch(new MetadataRegistryDeselectAllFieldAction())
|
||||||
|
}
|
||||||
|
|
||||||
public getSelectedMetadataFields(): Observable<MetadataField[]> {
|
public getSelectedMetadataFields(): Observable<MetadataField[]> {
|
||||||
return this.store.pipe(select(selectedMetadataFieldsSelector));
|
return this.store.pipe(select(selectedMetadataFieldsSelector));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user