Skip to content

Commit

Permalink
Added editor for restoration model
Browse files Browse the repository at this point in the history
  • Loading branch information
rmathis committed Aug 15, 2019
1 parent bbd3452 commit 47dc848
Show file tree
Hide file tree
Showing 50 changed files with 493 additions and 142 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -71,13 +71,13 @@ export class SetMetadataModel implements Action {
constructor(public payload: Metadata) { }
}

export class SetDefinition implements Action {
export class SetConfigurationDefinition implements Action {
readonly type = ConfigurationActionTypes.SET_DEFINITION;

constructor(public payload: Wizard<Metadata>) { }
}

export class SetSchema implements Action {
export class SetConfigurationSchema implements Action {
readonly type = ConfigurationActionTypes.SET_SCHEMA;

constructor(public payload: Schema) { }
Expand Down Expand Up @@ -105,8 +105,8 @@ export type ConfigurationActionsUnion =
| LoadXmlSuccess
| LoadXmlError
| SetMetadata
| SetDefinition
| SetSchema
| SetConfigurationDefinition
| SetConfigurationSchema
| SetXml
| DownloadXml
| ClearConfiguration;
15 changes: 15 additions & 0 deletions ui/src/app/metadata/configuration/action/restore.action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ export enum RestoreActionTypes {
RESTORE_VERSION_SUCCESS = '[Restore Version] Restore Version Success',
RESTORE_VERSION_ERROR = '[Restore Version] Restore Version Error',

UPDATE_RESTORATION_REQUEST = '[Restore Version] Update Changes Request',
UPDATE_RESTORATION_SUCCESS = '[Restore Version] Update Changes Success',

CLEAR_VERSION = '[Restore Version] Clear Versions',
CANCEL_RESTORE = '[Restore Version] Cancel Restore'
}
Expand All @@ -26,6 +29,16 @@ export class RestoreVersionError implements Action {
constructor(public payload: any) { }
}

export class UpdateRestorationChangesRequest implements Action {
readonly type = RestoreActionTypes.UPDATE_RESTORATION_REQUEST;
constructor(public payload: any) { }
}

export class UpdateRestorationChangesSuccess implements Action {
readonly type = RestoreActionTypes.UPDATE_RESTORATION_SUCCESS;
constructor(public payload: any) { }
}

export class CancelRestore implements Action {
readonly type = RestoreActionTypes.CANCEL_RESTORE;
constructor() { }
Expand All @@ -35,4 +48,6 @@ export type RestoreActionsUnion =
| RestoreVersionRequest
| RestoreVersionSuccess
| RestoreVersionError
| UpdateRestorationChangesRequest
| UpdateRestorationChangesSuccess
| CancelRestore;
14 changes: 14 additions & 0 deletions ui/src/app/metadata/configuration/component/editor.component.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<div class="alert alert-danger d-flex justify-content-between font-weight-bold mb-3" *ngIf="lockable">
<span class="d-flex justify-content-between">
<toggle-switch id="toggle" [formControl]="lock"></toggle-switch>
<span class="p-1">{{ lock.value ? 'Locked' : 'Unlocked' }}</span>
</span>
<span class="p-1">For Advanced Knowledge Only</span>
</div>
<sf-form
[schema]="schema"
[model]="model"
[validators]="validators"
[bindings]="bindings"
(onChange)="change.emit($event.value)"
(onError)="status.emit($event)"></sf-form>
26 changes: 26 additions & 0 deletions ui/src/app/metadata/configuration/component/editor.component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { Component, Input, Output, EventEmitter } from '@angular/core';
import { FormControl } from '@angular/forms';
import { Metadata } from '../../domain/domain.type';


@Component({
selector: 'metadata-editor',
templateUrl: './editor.component.html',
styleUrls: []
})
export class MetadataEditorComponent {

@Input() schema: any;
@Input() bindings: any;
@Input() validators: { [key: string]: any };
@Input() model: Metadata;
@Input() lockable: boolean;

@Output() change: EventEmitter<any> = new EventEmitter();
@Output() status: EventEmitter<any> = new EventEmitter();

lock: FormControl = new FormControl(true);

constructor() {}
}

Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ import { TestBed, async, ComponentFixture } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';

import { NgbDropdownModule, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';
import { Property } from '../../domain/model/property';
import { MockI18nModule } from '../../../../testing/i18n.stub';
import { SCHEMA } from '../../../../testing/form-schema.stub';
import { getStepProperty } from '../../domain/utility/configuration';
import { Property } from '../../../domain/model/property';
import { MockI18nModule } from '../../../../../testing/i18n.stub';
import { SCHEMA } from '../../../../../testing/form-schema.stub';
import { getStepProperty } from '../../../domain/utility/configuration';
import { ArrayPropertyComponent } from './array-property.component';
import { AttributesService } from '../../domain/service/attributes.service';
import { MockAttributeService } from '../../../../testing/attributes.stub';
import { AttributesService } from '../../../domain/service/attributes.service';
import { MockAttributeService } from '../../../../../testing/attributes.stub';
import { of } from 'rxjs';

@Component({
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Component, Input, OnChanges, Output, EventEmitter } from '@angular/core';
import { Property } from '../../domain/model/property';
import { Property } from '../../../domain/model/property';
import { Observable, of } from 'rxjs';
import { AttributesService } from '../../domain/service/attributes.service';
import { AttributesService } from '../../../domain/service/attributes.service';
import { ConfigurationPropertyComponent } from './configuration-property.component';
import UriValidator from '../../../shared/validation/uri.validator';
import UriValidator from '../../../../shared/validation/uri.validator';

@Component({
selector: 'array-property',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import { Component, ViewChild, Input } from '@angular/core';
import { TestBed, async, ComponentFixture } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';

import { NgbDropdownModule, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';
import { Property } from '../../domain/model/property';
import { MockI18nModule } from '../../../../testing/i18n.stub';
import { SCHEMA } from '../../../../testing/form-schema.stub';
import { getStepProperties, getStepProperty } from '../../domain/utility/configuration';
import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';
import { Property } from '../../../domain/model/property';
import { MockI18nModule } from '../../../../../testing/i18n.stub';
import { SCHEMA } from '../../../../../testing/form-schema.stub';
import { getStepProperty } from '../../../domain/utility/configuration';
import { ConfigurationPropertyComponent } from './configuration-property.component';

@Component({
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Component, Input } from '@angular/core';
import { Property } from '../../domain/model/property';
import { Property } from '../../../domain/model/property';

@Component({
selector: 'configuration-property',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,12 @@ import { TestBed, async, ComponentFixture } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';

import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';
import { Property } from '../../domain/model/property';
import { MockI18nModule } from '../../../../testing/i18n.stub';
import { SCHEMA } from '../../../../testing/form-schema.stub';
import { getStepProperty } from '../../domain/utility/configuration';
import { Property } from '../../../domain/model/property';
import { MockI18nModule } from '../../../../../testing/i18n.stub';
import { SCHEMA } from '../../../../../testing/form-schema.stub';
import { getStepProperty } from '../../../domain/utility/configuration';
import { FilterTargetPropertyComponent } from './filter-target-property.component';
import { PrimitivePropertyComponent } from './primitive-property.component';
import { ArrayPropertyComponentStub, PrimitivePropertyComponentStub } from '../../../../testing/property-component.stub';
import { AttributesService } from '../../domain/service/attributes.service';
import { of } from 'rxjs';
import { ArrayPropertyComponentStub, PrimitivePropertyComponentStub } from '../../../../../testing/property-component.stub';

@Component({
template: `
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Component, Input, Output, EventEmitter } from '@angular/core';
import { Property } from '../../domain/model/property';
import { Property } from '../../../domain/model/property';
import { ConfigurationPropertyComponent } from './configuration-property.component';

@Component({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import { TestBed, async, ComponentFixture } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';

import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';
import { Property } from '../../domain/model/property';
import { MockI18nModule } from '../../../../testing/i18n.stub';
import { Property } from '../../../domain/model/property';
import { MockI18nModule } from '../../../../../testing/i18n.stub';
import { ObjectPropertyComponent } from './object-property.component';
import { SCHEMA } from '../../../../testing/form-schema.stub';
import { getStepProperty } from '../../domain/utility/configuration';
import { SCHEMA } from '../../../../../testing/form-schema.stub';
import { getStepProperty } from '../../../domain/utility/configuration';
import { PrimitivePropertyComponent } from './primitive-property.component';
import { ArrayPropertyComponent } from './array-property.component';
import { FilterTargetPropertyComponent } from './filter-target-property.component';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Component, Input, Output, EventEmitter } from '@angular/core';
import { Property } from '../../domain/model/property';
import { Property } from '../../../domain/model/property';
import { ConfigurationPropertyComponent } from './configuration-property.component';

@Component({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { TestBed, async, ComponentFixture } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';

import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
import { Property } from '../../domain/model/property';
import { MockI18nModule } from '../../../../testing/i18n.stub';
import { Property } from '../../../domain/model/property';
import { MockI18nModule } from '../../../../../testing/i18n.stub';
import { PrimitivePropertyComponent } from './primitive-property.component';

@Component({
Expand Down
31 changes: 23 additions & 8 deletions ui/src/app/metadata/configuration/configuration.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ import { ConfigurationComponent } from './container/configuration.component';
import { MetadataConfigurationService } from './service/configuration.service';
import * as fromConfig from './reducer';
import { MetadataConfigurationEffects } from './effect/configuration.effect';
import { ConfigurationPropertyComponent } from './component/configuration-property.component';
import { PrimitivePropertyComponent } from './component/primitive-property.component';
import { ObjectPropertyComponent } from './component/object-property.component';
import { ArrayPropertyComponent } from './component/array-property.component';
import { ConfigurationPropertyComponent } from './component/property/configuration-property.component';
import { PrimitivePropertyComponent } from './component/property/primitive-property.component';
import { ObjectPropertyComponent } from './component/property/object-property.component';
import { ArrayPropertyComponent } from './component/property/array-property.component';
import { FilterTargetPropertyComponent } from './component/property/filter-target-property.component';

import { MetadataOptionsComponent } from './container/metadata-options.component';
import { MetadataXmlComponent } from './container/metadata-xml.component';
import { MetadataHeaderComponent } from './component/metadata-header.component';
Expand All @@ -29,12 +31,19 @@ import { FilterModule } from '../filter/filter.module';
import { FilterConfigurationListComponent } from './component/filter-configuration-list.component';
import { FilterConfigurationListItemComponent } from './component/filter-configuration-list-item.component';
import { SharedModule } from '../../shared/shared.module';
import { FilterTargetPropertyComponent } from './component/filter-target-property.component';

import { RestoreComponent } from './container/restore.component';
import { RestoreEffects } from './effect/restore.effect';
import { VersionComponent } from './container/version.component';
import { VersionOptionsComponent } from './container/version-options.component';
import { VersionEffects } from './effect/version.effect';
import { MetadataEditorComponent } from './component/editor.component';
import { WizardModule } from '../../wizard/wizard.module';
import { FormModule } from '../../schema-form/schema-form.module';
import { RestoreEditComponent } from './container/restore-edit.component';
import { RestoreEditStepComponent } from './container/restore-edit-step.component';

import { IndexResolver } from './service/index-resolver.service';

@NgModule({
declarations: [
Expand All @@ -55,7 +64,10 @@ import { VersionEffects } from './effect/version.effect';
FilterTargetPropertyComponent,
RestoreComponent,
VersionComponent,
VersionOptionsComponent
VersionOptionsComponent,
MetadataEditorComponent,
RestoreEditComponent,
RestoreEditStepComponent
],
entryComponents: [],
imports: [
Expand All @@ -65,11 +77,14 @@ import { VersionEffects } from './effect/version.effect';
RouterModule,
DomainModule,
FilterModule,
SharedModule
SharedModule,
WizardModule,
FormModule
],
exports: [],
providers: [
DatePipe
DatePipe,
IndexResolver
]
})
export class MetadataConfigurationModule {
Expand Down
20 changes: 20 additions & 0 deletions ui/src/app/metadata/configuration/configuration.routing.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ import { MetadataComparisonComponent } from './container/metadata-comparison.com
import { RestoreComponent } from './container/restore.component';
import { VersionComponent } from './container/version.component';
import { VersionOptionsComponent } from './container/version-options.component';
import { RestoreEditComponent } from './container/restore-edit.component';
import { IndexResolver } from './service/index-resolver.service';
import { RestoreEditStepComponent } from './container/restore-edit-step.component';

export const ConfigurationRoutes: Routes = [
{
Expand Down Expand Up @@ -44,6 +47,23 @@ export const ConfigurationRoutes: Routes = [
{
path: 'restore',
component: RestoreComponent
},
{
path: 'edit',
redirectTo: 'edit/common'
},
{
path: 'edit',
component: RestoreEditComponent,
children: [
{
path: ':index',
component: RestoreEditStepComponent,
resolve: {
index: IndexResolver
}
}
]
}
]
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<metadata-editor
[schema]="schema$ | async"
[model]="model$ | async"
[validators]="validators$ | async"
(change)="onChange($event)"
></metadata-editor>
Loading

0 comments on commit 47dc848

Please sign in to comment.