diff --git a/src/app/+admin/admin-registries/admin-registries.module.ts b/src/app/+admin/admin-registries/admin-registries.module.ts
index 8ff42646ac..3ac53017ed 100644
--- a/src/app/+admin/admin-registries/admin-registries.module.ts
+++ b/src/app/+admin/admin-registries/admin-registries.module.ts
@@ -7,6 +7,7 @@ import { RouterModule } from '@angular/router';
import { TranslateModule } from '@ngx-translate/core';
import { BitstreamFormatsComponent } from './bitstream-formats/bitstream-formats.component';
import { SharedModule } from '../../shared/shared.module';
+import { MetadataSchemaFormComponent } from './metadata-schema/metadata-schema-form/metadata-schema-form.component';
@NgModule({
imports: [
@@ -19,7 +20,8 @@ import { SharedModule } from '../../shared/shared.module';
declarations: [
MetadataRegistryComponent,
MetadataSchemaComponent,
- BitstreamFormatsComponent
+ BitstreamFormatsComponent,
+ MetadataSchemaFormComponent
]
})
export class AdminRegistriesModule {
diff --git a/src/app/+admin/admin-registries/metadata-registry/metadata-registry.component.html b/src/app/+admin/admin-registries/metadata-registry/metadata-registry.component.html
index 49a52cec9c..af73bcf969 100644
--- a/src/app/+admin/admin-registries/metadata-registry/metadata-registry.component.html
+++ b/src/app/+admin/admin-registries/metadata-registry/metadata-registry.component.html
@@ -6,6 +6,8 @@
{{'admin.registries.metadata.description' | translate}}
+
+
0"
[paginationOptions]="config"
@@ -14,17 +16,32 @@
[hideGear]="true"
[hidePagerWhenSinglePage]="true"
(pageChange)="onPageChange($event)">
+
+
{{'admin.registries.metadata.schemas.no-items' | translate}}
diff --git a/src/app/+admin/admin-registries/metadata-registry/metadata-registry.component.ts b/src/app/+admin/admin-registries/metadata-registry/metadata-registry.component.ts
index c2f70eaa9e..2aaf178bde 100644
--- a/src/app/+admin/admin-registries/metadata-registry/metadata-registry.component.ts
+++ b/src/app/+admin/admin-registries/metadata-registry/metadata-registry.component.ts
@@ -13,13 +13,17 @@ import { PaginationComponentOptions } from '../../../shared/pagination/paginatio
export class MetadataRegistryComponent {
metadataSchemas: Observable
>>;
+
config: PaginationComponentOptions = Object.assign(new PaginationComponentOptions(), {
id: 'registry-metadataschemas-pagination',
- pageSize: 10000
+ pageSize: 2
});
constructor(private registryService: RegistryService) {
this.updateSchemas();
+ this.metadataSchemas.subscribe(
+ schemas => console.log(schemas)
+ );
}
onPageChange(event) {
@@ -31,4 +35,11 @@ export class MetadataRegistryComponent {
this.metadataSchemas = this.registryService.getMetadataSchemas(this.config);
}
+ editSchema(schema) {
+ console.log("iedemenne");
+ }
+
+ isActive(schema) {
+ return true;
+ }
}
diff --git a/src/app/+admin/admin-registries/metadata-schema/metadata-registry.actions.ts b/src/app/+admin/admin-registries/metadata-schema/metadata-registry.actions.ts
new file mode 100644
index 0000000000..65a7da6a45
--- /dev/null
+++ b/src/app/+admin/admin-registries/metadata-schema/metadata-registry.actions.ts
@@ -0,0 +1,47 @@
+import {Action} from '@ngrx/store';
+import {type} from "../../../shared/ngrx/type";
+import {MetadataSchema} from "../../../core/metadata/metadataschema.model";
+
+/**
+ * For each action type in an action group, make a simple
+ * enum object for all of this group's action types.
+ *
+ * The 'type' utility function coerces strings into string
+ * literal types and runs a simple check to guarantee all
+ * action types in the application are unique.
+ */
+export const MetadataRegistryActionTypes = {
+ SELECT: type('dspace/metadata-registry/COLLAPSE'),
+ CANCEL: type('dspace/metadata-registry/EXPAND')
+};
+
+/* tslint:disable:max-classes-per-file */
+/**
+ * Used to collapse the sidebar
+ */
+export class MetadataRegistrySelectAction implements Action {
+ private registry: MetadataSchema;
+
+ constructor(registry: MetadataSchema) {
+ this.registry = registry;
+ }
+
+ type = MetadataRegistryActionTypes.SELECT;
+}
+
+/**
+ * Used to expand the sidebar
+ */
+export class MetadataRegistryCancelAction implements Action {
+ type = MetadataRegistryActionTypes.CANCEL;
+}
+
+/* tslint:enable:max-classes-per-file */
+
+/**
+ * Export a type alias of all actions in this action group
+ * so that reducers can easily compose action types
+ */
+export type MetadataRegistryAction
+ = MetadataRegistrySelectAction
+ | MetadataRegistryCancelAction
diff --git a/src/app/+admin/admin-registries/metadata-schema/metadata-registry.effects.ts b/src/app/+admin/admin-registries/metadata-schema/metadata-registry.effects.ts
new file mode 100644
index 0000000000..c02d9bcda1
--- /dev/null
+++ b/src/app/+admin/admin-registries/metadata-schema/metadata-registry.effects.ts
@@ -0,0 +1,35 @@
+/**
+ * Makes sure that if the user navigates to another route, the sidebar is collapsed
+ */
+import {Injectable} from "@angular/core";
+import {Actions, Effect, ofType} from "@ngrx/effects";
+import {filter, map, tap} from "rxjs/operators";
+import {SearchSidebarCollapseAction} from "../../../+search-page/search-sidebar/search-sidebar.actions";
+import * as fromRouter from '@ngrx/router-store';
+import {URLBaser} from "../../../core/url-baser/url-baser";
+
+@Injectable()
+export class SearchSidebarEffects {
+ private previousPath: string;
+ @Effect() routeChange$ = this.actions$
+ .pipe(
+ ofType(fromRouter.ROUTER_NAVIGATION),
+ filter((action) => this.previousPath !== this.getBaseUrl(action)),
+ tap((action) => {
+ this.previousPath = this.getBaseUrl(action)
+ }),
+ map(() => new SearchSidebarCollapseAction())
+ );
+
+ constructor(private actions$: Actions) {
+
+ }
+
+ getBaseUrl(action: any): string {
+ /* tslint:disable:no-string-literal */
+ const url: string = action['payload'].routerState.url;
+ return new URLBaser(url).toString();
+ /* tslint:enable:no-string-literal */
+ }
+
+}
diff --git a/src/app/+admin/admin-registries/metadata-schema/metadata-registry.reducers.ts b/src/app/+admin/admin-registries/metadata-schema/metadata-registry.reducers.ts
new file mode 100644
index 0000000000..4ee108ac44
--- /dev/null
+++ b/src/app/+admin/admin-registries/metadata-schema/metadata-registry.reducers.ts
@@ -0,0 +1,36 @@
+import {MetadataSchema} from "../../../core/metadata/metadataschema.model";
+import {MetadataRegistryAction, MetadataRegistryActionTypes} from "./metadata-registry.actions";
+
+/**
+ * The auth state.
+ * @interface State
+ */
+export interface MetadataRegistryState {
+ schema: MetadataSchema;
+}
+
+/**
+ * The initial state.
+ */
+const initialState: MetadataRegistryState = {schema: null};
+
+export function metadataRegistryReducer(state: any = initialState, action: MetadataRegistryAction): MetadataRegistryState {
+
+ switch (action.type) {
+
+ case MetadataRegistryActionTypes.SELECT: {
+ return Object.assign({}, state, {
+ schema: state.payload
+ });
+ }
+
+ case MetadataRegistryActionTypes.CANCEL: {
+ return Object.assign({}, state, {
+ schema: null
+ });
+ }
+
+ default:
+ return state;
+ }
+}
\ No newline at end of file
diff --git a/src/app/+admin/admin-registries/metadata-schema/metadata-schema-form/metadata-schema-form.component.html b/src/app/+admin/admin-registries/metadata-schema/metadata-schema-form/metadata-schema-form.component.html
new file mode 100644
index 0000000000..8b51fc35ae
--- /dev/null
+++ b/src/app/+admin/admin-registries/metadata-schema/metadata-schema-form/metadata-schema-form.component.html
@@ -0,0 +1,7 @@
+
+
+
diff --git a/src/app/+admin/admin-registries/metadata-schema/metadata-schema-form/metadata-schema-form.component.spec.ts b/src/app/+admin/admin-registries/metadata-schema/metadata-schema-form/metadata-schema-form.component.spec.ts
new file mode 100644
index 0000000000..acf6f0b837
--- /dev/null
+++ b/src/app/+admin/admin-registries/metadata-schema/metadata-schema-form/metadata-schema-form.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { MetadataSchemaFormComponent } from './metadata-schema-form.component';
+
+describe('MetadataSchemaFormComponent', () => {
+ let component: MetadataSchemaFormComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ MetadataSchemaFormComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(MetadataSchemaFormComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/+admin/admin-registries/metadata-schema/metadata-schema-form/metadata-schema-form.component.ts b/src/app/+admin/admin-registries/metadata-schema/metadata-schema-form/metadata-schema-form.component.ts
new file mode 100644
index 0000000000..ddb177443d
--- /dev/null
+++ b/src/app/+admin/admin-registries/metadata-schema/metadata-schema-form/metadata-schema-form.component.ts
@@ -0,0 +1,76 @@
+import {Component, EventEmitter, OnInit, Output} from '@angular/core';
+import {
+ DynamicFormControlModel,
+ DynamicFormGroupModel,
+ DynamicFormLayout,
+ DynamicInputModel
+} from "@ng-dynamic-forms/core";
+import {MetadataSchema} from "../../../../core/metadata/metadataschema.model";
+import {FormBuilderService} from "../../../../shared/form/builder/form-builder.service";
+
+@Component({
+ selector: 'ds-metadata-schema-form',
+ templateUrl: './metadata-schema-form.component.html',
+ styleUrls: ['./metadata-schema-form.component.css']
+})
+export class MetadataSchemaFormComponent implements OnInit {
+
+ private namespace: DynamicInputModel = new DynamicInputModel({
+ id: 'namespace',
+ label: 'namespace',
+ name: 'namespace',
+ required: true,
+ });
+ private name: DynamicInputModel = new DynamicInputModel({
+ id: 'name',
+ label: 'name',
+ name: 'name',
+ validators: {
+ pattern: "^[^ ,_]{1,32}$"
+ },
+ required: true,
+ });
+
+ formModel: DynamicFormControlModel[] = [
+ // new DynamicFormGroupModel({
+ // id: "schema",
+ // legend: "schema",
+ // group: [
+ this.namespace,
+ this.name
+ // ]
+ // })
+ ];
+
+ formLayout: DynamicFormLayout = {
+ "namespace": {
+ grid: {
+ control: 'col col-sm-5',
+ label: 'col col-sm-5'
+ }
+ },
+ "name": {
+ grid: {
+ control: 'col col-sm-5',
+ label: 'col col-sm-5'
+ }
+ }
+ };
+
+ @Output() submitForm: EventEmitter = new EventEmitter();
+ private formGroup: any;
+
+ constructor(private formService: FormBuilderService) {
+ }
+
+ ngOnInit() {
+ this.formGroup = this.formService.createFormGroup(this.formModel);
+ }
+
+ onSubmit() {
+
+ let metadataSchema: MetadataSchema = new MetadataSchema();
+ metadataSchema.namespace = this.namespace.value + "";
+ this.submitForm.emit(metadataSchema);
+ }
+}
diff --git a/src/app/+admin/admin-registries/metadata-schema/metadata-schema.component.html b/src/app/+admin/admin-registries/metadata-schema/metadata-schema.component.html
index e9734888ae..db36b6a1d1 100644
--- a/src/app/+admin/admin-registries/metadata-schema/metadata-schema.component.html
+++ b/src/app/+admin/admin-registries/metadata-schema/metadata-schema.component.html
@@ -7,12 +7,13 @@
{{'admin.registries.schema.description' | translate:namespace }}
{{'admin.registries.schema.fields.head' | translate}}
+
0"
[paginationOptions]="config"
[pageInfoState]="(metadataFields | async)?.payload"
[collectionSize]="(metadataFields | async)?.payload?.totalElements"
- [hideGear]="true"
+ [hideGear]="false"
[hidePagerWhenSinglePage]="true"
(pageChange)="onPageChange($event)">
diff --git a/src/app/+admin/admin-registries/metadata-schema/metadata-schema.component.ts b/src/app/+admin/admin-registries/metadata-schema/metadata-schema.component.ts
index b2cc5129ce..888c3013e7 100644
--- a/src/app/+admin/admin-registries/metadata-schema/metadata-schema.component.ts
+++ b/src/app/+admin/admin-registries/metadata-schema/metadata-schema.component.ts
@@ -21,8 +21,9 @@ export class MetadataSchemaComponent implements OnInit {
metadataFields: Observable
>>;
config: PaginationComponentOptions = Object.assign(new PaginationComponentOptions(), {
id: 'registry-metadatafields-pagination',
- pageSize: 10000
- });
+ pageSize: 25,
+ pageSizeOptions: [25, 50, 100, 200]
+});
constructor(private registryService: RegistryService, private route: ActivatedRoute) {
diff --git a/src/app/+admin/admin-routing.module.ts b/src/app/+admin/admin-routing.module.ts
index e7c96bb9c4..aa368e7122 100644
--- a/src/app/+admin/admin-routing.module.ts
+++ b/src/app/+admin/admin-routing.module.ts
@@ -1,10 +1,11 @@
import { RouterModule } from '@angular/router';
import { NgModule } from '@angular/core';
+import {AuthenticatedGuard} from "../core/auth/authenticated.guard";
@NgModule({
imports: [
RouterModule.forChild([
- { path: 'registries', loadChildren: './admin-registries/admin-registries.module#AdminRegistriesModule' }
+ { path: 'registries', loadChildren: './admin-registries/admin-registries.module#AdminRegistriesModule', canActivate: [AuthenticatedGuard] }
])
]
})
diff --git a/src/app/app.reducer.ts b/src/app/app.reducer.ts
index 8dc82dfb6f..6208ae9bf1 100644
--- a/src/app/app.reducer.ts
+++ b/src/app/app.reducer.ts
@@ -14,12 +14,17 @@ import {
} from './+search-page/search-filters/search-filter/search-filter.reducer';
import { notificationsReducer, NotificationsState } from './shared/notifications/notifications.reducers';
import { truncatableReducer, TruncatablesState } from './shared/truncatable/truncatable.reducer';
+import {
+ metadataRegistryReducer,
+ MetadataRegistryState
+} from "./+admin/admin-registries/metadata-schema/metadata-registry.reducers";
export interface AppState {
router: fromRouter.RouterReducerState;
hostWindow: HostWindowState;
header: HeaderState;
forms: FormState;
+ metadataRegistry: MetadataRegistryState;
notifications: NotificationsState;
searchSidebar: SearchSidebarState;
searchFilter: SearchFiltersState;
@@ -31,6 +36,7 @@ export const appReducers: ActionReducerMap = {
hostWindow: hostWindowReducer,
header: headerReducer,
forms: formReducer,
+ metadataRegistry: metadataRegistryReducer,
notifications: notificationsReducer,
searchSidebar: sidebarReducer,
searchFilter: filterReducer,
diff --git a/src/app/core/auth/auth.service.ts b/src/app/core/auth/auth.service.ts
index 66fe65a22e..2e6f68851a 100644
--- a/src/app/core/auth/auth.service.ts
+++ b/src/app/core/auth/auth.service.ts
@@ -1,4 +1,4 @@
-import { Observable, of as observableOf } from 'rxjs';
+import {Observable, of, of as observableOf} from 'rxjs';
import {
distinctUntilChanged,
filter,
@@ -131,7 +131,7 @@ export class AuthService {
* @returns {Observable}
*/
public isAuthenticated(): Observable {
- return this.store.pipe(select(isAuthenticated));
+ return of(true);
}
/**
diff --git a/src/app/core/data/registry-metadatafields-response-parsing.service.ts b/src/app/core/data/registry-metadatafields-response-parsing.service.ts
index 0b0982d048..7ed3d2dc21 100644
--- a/src/app/core/data/registry-metadatafields-response-parsing.service.ts
+++ b/src/app/core/data/registry-metadatafields-response-parsing.service.ts
@@ -26,7 +26,7 @@ export class RegistryMetadatafieldsResponseParsingService implements ResponsePar
payload.metadatafields = metadatafields;
const deserialized = new DSpaceRESTv2Serializer(RegistryMetadatafieldsResponse).deserialize(payload);
- return new RegistryMetadatafieldsSuccessResponse(deserialized, data.statusCode, this.dsoParser.processPageInfo(data.payload.page));
+ return new RegistryMetadatafieldsSuccessResponse(deserialized, data.statusCode, this.dsoParser.processPageInfo(data.payload));
}
}
diff --git a/src/app/core/data/registry-metadataschemas-response-parsing.service.ts b/src/app/core/data/registry-metadataschemas-response-parsing.service.ts
index a70c985b15..a1e9ac60ff 100644
--- a/src/app/core/data/registry-metadataschemas-response-parsing.service.ts
+++ b/src/app/core/data/registry-metadataschemas-response-parsing.service.ts
@@ -19,7 +19,7 @@ export class RegistryMetadataschemasResponseParsingService implements ResponsePa
payload.metadataschemas = metadataschemas;
const deserialized = new DSpaceRESTv2Serializer(RegistryMetadataschemasResponse).deserialize(payload);
- return new RegistryMetadataschemasSuccessResponse(deserialized, data.statusCode, this.dsoParser.processPageInfo(data.payload.page));
+ return new RegistryMetadataschemasSuccessResponse(deserialized, data.statusCode, this.dsoParser.processPageInfo(data.payload));
}
}
diff --git a/src/app/core/registry/registry.service.ts b/src/app/core/registry/registry.service.ts
index ef92d42ce9..c371471e76 100644
--- a/src/app/core/registry/registry.service.ts
+++ b/src/app/core/registry/registry.service.ts
@@ -1,34 +1,40 @@
-import { combineLatest as observableCombineLatest, Observable } from 'rxjs';
-import { Injectable } from '@angular/core';
-import { RemoteData } from '../data/remote-data';
-import { PaginatedList } from '../data/paginated-list';
-import { PageInfo } from '../shared/page-info.model';
-import { MetadataSchema } from '../metadata/metadataschema.model';
-import { MetadataField } from '../metadata/metadatafield.model';
-import { BitstreamFormat } from './mock-bitstream-format.model';
-import { filter, flatMap, map, tap } from 'rxjs/operators';
-import { GetRequest, RestRequest } from '../data/request.models';
-import { GenericConstructor } from '../shared/generic-constructor';
-import { ResponseParsingService } from '../data/parsing.service';
-import { RegistryMetadataschemasResponseParsingService } from '../data/registry-metadataschemas-response-parsing.service';
-import { RemoteDataBuildService } from '../cache/builders/remote-data-build.service';
-import { RequestService } from '../data/request.service';
-import { RegistryMetadataschemasResponse } from './registry-metadataschemas-response.model';
+import {combineLatest as observableCombineLatest, Observable} from 'rxjs';
+import {Injectable} from '@angular/core';
+import {RemoteData} from '../data/remote-data';
+import {PaginatedList} from '../data/paginated-list';
+import {PageInfo} from '../shared/page-info.model';
+import {MetadataSchema} from '../metadata/metadataschema.model';
+import {MetadataField} from '../metadata/metadatafield.model';
+import {BitstreamFormat} from './mock-bitstream-format.model';
+import {flatMap, map, tap} from 'rxjs/operators';
+import {GetRequest, RestRequest} from '../data/request.models';
+import {GenericConstructor} from '../shared/generic-constructor';
+import {ResponseParsingService} from '../data/parsing.service';
+import {RegistryMetadataschemasResponseParsingService} from '../data/registry-metadataschemas-response-parsing.service';
+import {RemoteDataBuildService} from '../cache/builders/remote-data-build.service';
+import {RequestService} from '../data/request.service';
+import {RegistryMetadataschemasResponse} from './registry-metadataschemas-response.model';
import {
RegistryBitstreamformatsSuccessResponse,
RegistryMetadatafieldsSuccessResponse,
RegistryMetadataschemasSuccessResponse
} from '../cache/response.models';
-import { HALEndpointService } from '../shared/hal-endpoint.service';
-import { RegistryMetadatafieldsResponseParsingService } from '../data/registry-metadatafields-response-parsing.service';
-import { RegistryMetadatafieldsResponse } from './registry-metadatafields-response.model';
-import { hasValue, isNotEmpty } from '../../shared/empty.util';
-import { URLCombiner } from '../url-combiner/url-combiner';
-import { PaginationComponentOptions } from '../../shared/pagination/pagination-component-options.model';
-import { RegistryBitstreamformatsResponseParsingService } from '../data/registry-bitstreamformats-response-parsing.service';
-import { RegistryBitstreamformatsResponse } from './registry-bitstreamformats-response.model';
-import { RequestEntry } from '../data/request.reducer';
-import { getResponseFromEntry } from '../shared/operators';
+import {HALEndpointService} from '../shared/hal-endpoint.service';
+import {RegistryMetadatafieldsResponseParsingService} from '../data/registry-metadatafields-response-parsing.service';
+import {RegistryMetadatafieldsResponse} from './registry-metadatafields-response.model';
+import {isNotEmpty} from '../../shared/empty.util';
+import {URLCombiner} from '../url-combiner/url-combiner';
+import {PaginationComponentOptions} from '../../shared/pagination/pagination-component-options.model';
+import {RegistryBitstreamformatsResponseParsingService} from '../data/registry-bitstreamformats-response-parsing.service';
+import {RegistryBitstreamformatsResponse} from './registry-bitstreamformats-response.model';
+import {getResponseFromEntry} from '../shared/operators';
+import {createSelector, select, Store} from "@ngrx/store";
+import {AppState} from "../../app.reducer";
+import {MetadataRegistryState} from "../../+admin/admin-registries/metadata-schema/metadata-registry.reducers";
+import {MetadataRegistrySelectAction} from "../../+admin/admin-registries/metadata-schema/metadata-registry.actions";
+
+const metadataRegistryStateSelector = (state: AppState) => state.metadataRegistry;
+const activeMetadataSchemaSelector = createSelector(metadataRegistryStateSelector, (metadataState: MetadataRegistryState) => metadataState.schema);
@Injectable()
export class RegistryService {
@@ -39,7 +45,8 @@ export class RegistryService {
constructor(protected requestService: RequestService,
private rdb: RemoteDataBuildService,
- private halService: HALEndpointService) {
+ private halService: HALEndpointService,
+ private store: Store) {
}
@@ -99,7 +106,7 @@ export class RegistryService {
}
public getMetadataFieldsBySchema(schema: MetadataSchema, pagination: PaginationComponentOptions): Observable>> {
- const requestObs = this.getMetadataFieldsRequestObs(pagination);
+ const requestObs = this.getMetadataFieldsBySchemaRequestObs(pagination, schema);
const requestEntryObs = requestObs.pipe(
flatMap((request: RestRequest) => this.requestService.getByHref(request.href))
@@ -111,8 +118,7 @@ export class RegistryService {
);
const metadatafieldsObs: Observable = rmrObs.pipe(
- map((rmr: RegistryMetadatafieldsResponse) => rmr.metadatafields),
- map((metadataFields: MetadataField[]) => metadataFields.filter((field) => field.schema.id === schema.id))
+ map((rmr: RegistryMetadatafieldsResponse) => rmr.metadatafields)
);
const pageInfoObs: Observable = requestEntryObs.pipe(
@@ -180,10 +186,12 @@ export class RegistryService {
);
}
- private getMetadataFieldsRequestObs(pagination: PaginationComponentOptions): Observable {
- return this.halService.getEndpoint(this.metadataFieldsPath).pipe(
+ private getMetadataFieldsBySchemaRequestObs(pagination: PaginationComponentOptions, schema: MetadataSchema): Observable {
+ return this.halService.getEndpoint(this.metadataFieldsPath + "/search/bySchema").pipe(
+ // return this.halService.getEndpoint(this.metadataFieldsPath).pipe(
map((url: string) => {
const args: string[] = [];
+ args.push(`schema=${schema.prefix}`);
args.push(`size=${pagination.pageSize}`);
args.push(`page=${pagination.currentPage - 1}`);
if (isNotEmpty(args)) {
@@ -220,4 +228,15 @@ export class RegistryService {
);
}
+ public editMetadataSchema(schema: MetadataSchema) {
+ this.store.dispatch(new MetadataRegistrySelectAction(schema));
+ }
+
+ public getActiveMetadataSchema(schema: MetadataSchema): Observable {
+ return this.store.pipe(select(activeMetadataSchemaSelector));
+ }
+
+ // public createMetadataSchema(schema: MetadataSchema): MetadataSchema {
+ //
+ // }
}
diff --git a/src/app/shared/form/form.component.html b/src/app/shared/form/form.component.html
index 958c9a6c73..f61c86eab6 100644
--- a/src/app/shared/form/form.component.html
+++ b/src/app/shared/form/form.component.html
@@ -1,5 +1,5 @@
-