mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
fixes and adjustments
This commit is contained in:
@@ -8,6 +8,7 @@ import { CommonModule } from '@angular/common';
|
|||||||
|
|
||||||
import { StoreModule } from '@ngrx/store';
|
import { StoreModule } from '@ngrx/store';
|
||||||
import { EffectsModule } from '@ngrx/effects';
|
import { EffectsModule } from '@ngrx/effects';
|
||||||
|
import { DynamicFormLayoutService, DynamicFormService, DynamicFormValidationService } from '@ng-dynamic-forms/core';
|
||||||
|
|
||||||
import { coreEffects } from './core.effects';
|
import { coreEffects } from './core.effects';
|
||||||
import { coreReducers } from './core.reducers';
|
import { coreReducers } from './core.reducers';
|
||||||
@@ -21,6 +22,8 @@ import { DebugResponseParsingService } from './data/debug-response-parsing.servi
|
|||||||
import { DSOResponseParsingService } from './data/dso-response-parsing.service';
|
import { DSOResponseParsingService } from './data/dso-response-parsing.service';
|
||||||
import { SearchResponseParsingService } from './data/search-response-parsing.service';
|
import { SearchResponseParsingService } from './data/search-response-parsing.service';
|
||||||
import { DSpaceRESTv2Service } from './dspace-rest-v2/dspace-rest-v2.service';
|
import { DSpaceRESTv2Service } from './dspace-rest-v2/dspace-rest-v2.service';
|
||||||
|
import { FormBuilderService } from '../shared/form/builder/form-builder.service';
|
||||||
|
import { FormService } from '../shared/form/form.service';
|
||||||
import { HostWindowService } from '../shared/host-window.service';
|
import { HostWindowService } from '../shared/host-window.service';
|
||||||
import { ItemDataService } from './data/item-data.service';
|
import { ItemDataService } from './data/item-data.service';
|
||||||
import { MetadataService } from './metadata/metadata.service';
|
import { MetadataService } from './metadata/metadata.service';
|
||||||
@@ -39,6 +42,8 @@ import { RouteService } from '../shared/route.service';
|
|||||||
import { SubmissionDefinitionsConfigService } from './config/submission-definitions-config.service';
|
import { SubmissionDefinitionsConfigService } from './config/submission-definitions-config.service';
|
||||||
import { SubmissionFormsConfigService } from './config/submission-forms-config.service';
|
import { SubmissionFormsConfigService } from './config/submission-forms-config.service';
|
||||||
import { SubmissionSectionsConfigService } from './config/submission-sections-config.service';
|
import { SubmissionSectionsConfigService } from './config/submission-sections-config.service';
|
||||||
|
import { AuthorityService } from './integration/authority.service';
|
||||||
|
import { IntegrationResponseParsingService } from './integration/integration-response-parsing.service';
|
||||||
import { UUIDService } from './shared/uuid.service';
|
import { UUIDService } from './shared/uuid.service';
|
||||||
import { HALEndpointService } from './shared/hal-endpoint.service';
|
import { HALEndpointService } from './shared/hal-endpoint.service';
|
||||||
import { FacetValueResponseParsingService } from './data/facet-value-response-parsing.service';
|
import { FacetValueResponseParsingService } from './data/facet-value-response-parsing.service';
|
||||||
@@ -66,6 +71,11 @@ const PROVIDERS = [
|
|||||||
CollectionDataService,
|
CollectionDataService,
|
||||||
DSOResponseParsingService,
|
DSOResponseParsingService,
|
||||||
DSpaceRESTv2Service,
|
DSpaceRESTv2Service,
|
||||||
|
DynamicFormLayoutService,
|
||||||
|
DynamicFormService,
|
||||||
|
DynamicFormValidationService,
|
||||||
|
FormBuilderService,
|
||||||
|
FormService,
|
||||||
HALEndpointService,
|
HALEndpointService,
|
||||||
HostWindowService,
|
HostWindowService,
|
||||||
ItemDataService,
|
ItemDataService,
|
||||||
@@ -89,6 +99,8 @@ const PROVIDERS = [
|
|||||||
SubmissionDefinitionsConfigService,
|
SubmissionDefinitionsConfigService,
|
||||||
SubmissionFormsConfigService,
|
SubmissionFormsConfigService,
|
||||||
SubmissionSectionsConfigService,
|
SubmissionSectionsConfigService,
|
||||||
|
AuthorityService,
|
||||||
|
IntegrationResponseParsingService,
|
||||||
UploaderService,
|
UploaderService,
|
||||||
UUIDService,
|
UUIDService,
|
||||||
{ provide: NativeWindowService, useFactory: NativeWindowFactory }
|
{ provide: NativeWindowService, useFactory: NativeWindowFactory }
|
||||||
|
@@ -27,7 +27,7 @@ export class ConfigResponseParsingService extends BaseResponseParsingService imp
|
|||||||
}
|
}
|
||||||
|
|
||||||
parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse {
|
parse(request: RestRequest, data: DSpaceRESTV2Response): RestResponse {
|
||||||
if (isNotEmpty(data.payload) && isNotEmpty(data.payload._links) && data.statusCode === '200') {
|
if (isNotEmpty(data.payload) && isNotEmpty(data.payload._links) && (data.statusCode === '201' || data.statusCode === '200' || data.statusCode === 'OK')) {
|
||||||
const configDefinition = this.process<ConfigObject,ConfigType>(data.payload, request.href);
|
const configDefinition = this.process<ConfigObject,ConfigType>(data.payload, request.href);
|
||||||
return new ConfigSuccessResponse(configDefinition[Object.keys(configDefinition)[0]], data.statusCode, this.processPageInfo(data.payload));
|
return new ConfigSuccessResponse(configDefinition[Object.keys(configDefinition)[0]], data.statusCode, this.processPageInfo(data.payload));
|
||||||
} else {
|
} else {
|
||||||
|
@@ -93,8 +93,10 @@
|
|||||||
[ngClass]="getClass('element', 'control', checkboxModel)">
|
[ngClass]="getClass('element', 'control', checkboxModel)">
|
||||||
<input type="checkbox" ngbButton
|
<input type="checkbox" ngbButton
|
||||||
[checked]="checkboxModel.checked"
|
[checked]="checkboxModel.checked"
|
||||||
|
[id]="bindId && checkboxModel.id"
|
||||||
[dynamicId]="bindId && checkboxModel.id"
|
[dynamicId]="bindId && checkboxModel.id"
|
||||||
[formControlName]="checkboxModel.id"
|
[formControlName]="checkboxModel.id"
|
||||||
|
[indeterminate]="checkboxModel.indeterminate"
|
||||||
[name]="checkboxModel.name"
|
[name]="checkboxModel.name"
|
||||||
[required]="checkboxModel.required"
|
[required]="checkboxModel.required"
|
||||||
[tabindex]="checkboxModel.tabIndex"
|
[tabindex]="checkboxModel.tabIndex"
|
||||||
@@ -165,14 +167,18 @@
|
|||||||
<!-- INPUT ------------------------------------------------------------------------------------------------>
|
<!-- INPUT ------------------------------------------------------------------------------------------------>
|
||||||
<div *ngSwitchCase="7" [class.input-group]="model.prefix || model.suffix">
|
<div *ngSwitchCase="7" [class.input-group]="model.prefix || model.suffix">
|
||||||
|
|
||||||
<div *ngIf="model.prefix" class="input-group-addon" [innerHTML]="model.prefix"></div>
|
<div *ngIf="model.prefix" class="input-group-prepend">
|
||||||
|
<span class="input-group-text" [innerHTML]="model.prefix"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<ng-container *ngTemplateOutlet="inputTemplate;
|
<ng-container *ngTemplateOutlet="inputTemplate;
|
||||||
context:{bindId: bindId, model: model, showErrorMessages: showErrorMessages}">
|
context:{bindId: bindId, model: model, showErrorMessages: showErrorMessages}">
|
||||||
|
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<div *ngIf="model.suffix" class="input-group-addon" [innerHTML]="model.suffix"></div>
|
<div *ngIf="model.suffix" class="input-group-append">
|
||||||
|
<span class="input-group-text" [innerHTML]="model.suffix"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<datalist *ngIf="model.list" [id]="model.listId">
|
<datalist *ngIf="model.list" [id]="model.listId">
|
||||||
<option *ngFor="let option of model.list" [value]="option">
|
<option *ngFor="let option of model.list" [value]="option">
|
||||||
@@ -181,7 +187,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- RADIO GROUP ------------------------------------------------------------------------------------------>
|
<!-- RADIO GROUP ------------------------------------------------------------------------------------------>
|
||||||
<div *ngSwitchCase="8" ngbRadioGroup class="btn-group" role="radiogroup"
|
<div *ngSwitchCase="8" ngbRadioGroup class="btn-group btn-group-toggle" role="radiogroup"
|
||||||
[dynamicId]="bindId && model.id"
|
[dynamicId]="bindId && model.id"
|
||||||
[formControlName]="model.id"
|
[formControlName]="model.id"
|
||||||
[ngClass]="getClass('element', 'control')"
|
[ngClass]="getClass('element', 'control')"
|
||||||
@@ -191,19 +197,19 @@
|
|||||||
<legend *ngIf="model.legend" [innerHTML]="model.legend"></legend>
|
<legend *ngIf="model.legend" [innerHTML]="model.legend"></legend>
|
||||||
|
|
||||||
<label *ngFor="let option of model.options$ | async" ngbButtonLabel
|
<label *ngFor="let option of model.options$ | async" ngbButtonLabel
|
||||||
[ngClass]="[getClass('element', 'option'), getClass('grid', 'option')]">
|
[ngClass]="[getClass('element', 'option'), getClass('grid', 'option')]">
|
||||||
|
|
||||||
<input type="radio" ngbButton
|
<input type="radio" ngbButton
|
||||||
[disabled]="option.disabled"
|
[disabled]="option.disabled"
|
||||||
[name]="model.name"
|
[name]="model.name"
|
||||||
[value]="option.value"
|
[value]="option.value"
|
||||||
(blur)="onBlur($event)"
|
(blur)="onBlur($event)"
|
||||||
(focus)="onFocus($event)"/><span [innerHTML]="option.label"></span>
|
(focus)="onFocus($event)"/><span [innerHTML]="option.label"></span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- SELECT ----------------------------------------------------------------------------------------------->
|
||||||
<ng-container *ngSwitchCase="9">
|
<ng-container *ngSwitchCase="9">
|
||||||
<ng-container *ngTemplateOutlet="selectTemplate;
|
<ng-container *ngTemplateOutlet="selectTemplate;
|
||||||
context:{bindId: bindId, model: model, showErrorMessages: showErrorMessages}">
|
context:{bindId: bindId, model: model, showErrorMessages: showErrorMessages}">
|
||||||
|
@@ -34,8 +34,8 @@ import {
|
|||||||
import { DYNAMIC_FORM_CONTROL_TYPE_TYPEAHEAD } from './models/typeahead/dynamic-typeahead.model';
|
import { DYNAMIC_FORM_CONTROL_TYPE_TYPEAHEAD } from './models/typeahead/dynamic-typeahead.model';
|
||||||
import { DYNAMIC_FORM_CONTROL_TYPE_SCROLLABLE_DROPDOWN } from './models/scrollable-dropdown/dynamic-scrollable-dropdown.model';
|
import { DYNAMIC_FORM_CONTROL_TYPE_SCROLLABLE_DROPDOWN } from './models/scrollable-dropdown/dynamic-scrollable-dropdown.model';
|
||||||
import { DYNAMIC_FORM_CONTROL_TYPE_TAG } from './models/tag/dynamic-tag.model';
|
import { DYNAMIC_FORM_CONTROL_TYPE_TAG } from './models/tag/dynamic-tag.model';
|
||||||
import { DYNAMIC_FORM_CONTROL_TYPE_RELATION } from './models/ds-dynamic-group/dynamic-group.model';
|
import { DYNAMIC_FORM_CONTROL_TYPE_RELATION } from './models/dynamic-group/dynamic-group.model';
|
||||||
import { DYNAMIC_FORM_CONTROL_TYPE_DSDATEPICKER } from './models/ds-date-picker/ds-date-picker.model';
|
import { DYNAMIC_FORM_CONTROL_TYPE_DSDATEPICKER } from './models/date-picker/date-picker.model';
|
||||||
import { DYNAMIC_FORM_CONTROL_TYPE_LOOKUP } from './models/lookup/dynamic-lookup.model';
|
import { DYNAMIC_FORM_CONTROL_TYPE_LOOKUP } from './models/lookup/dynamic-lookup.model';
|
||||||
import { DynamicListCheckboxGroupModel } from './models/list/dynamic-list-checkbox-group.model';
|
import { DynamicListCheckboxGroupModel } from './models/list/dynamic-list-checkbox-group.model';
|
||||||
import { DynamicListRadioGroupModel } from './models/list/dynamic-list-radio-group.model';
|
import { DynamicListRadioGroupModel } from './models/list/dynamic-list-radio-group.model';
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
import { Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core';
|
import { Component, EventEmitter, Inject, Input, OnInit, Output } from '@angular/core';
|
||||||
import { FormGroup } from '@angular/forms';
|
import { FormGroup } from '@angular/forms';
|
||||||
import { DynamicDsDatePickerModel } from './ds-date-picker.model';
|
import { DynamicDsDatePickerModel } from './date-picker.model';
|
||||||
|
|
||||||
export const DS_DATE_PICKER_SEPARATOR = '-';
|
export const DS_DATE_PICKER_SEPARATOR = '-';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ds-date-picker',
|
selector: 'ds-date-picker',
|
||||||
styleUrls: ['./ds-date-picker.component.scss'],
|
styleUrls: ['./date-picker.component.scss'],
|
||||||
templateUrl: './ds-date-picker.component.html',
|
templateUrl: './date-picker.component.html',
|
||||||
})
|
})
|
||||||
|
|
||||||
export class DsDatePickerComponent implements OnInit {
|
export class DsDatePickerComponent implements OnInit {
|
@@ -63,7 +63,6 @@ export class DsDynamicGroupComponent implements OnDestroy, OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
console.log(this.model.hasErrorMessages);
|
|
||||||
const config = {rows: this.model.formConfiguration} as SubmissionFormsModel;
|
const config = {rows: this.model.formConfiguration} as SubmissionFormsModel;
|
||||||
if (isNotEmpty(this.model.value)) {
|
if (isNotEmpty(this.model.value)) {
|
||||||
this.formCollapsed = Observable.of(true);
|
this.formCollapsed = Observable.of(true);
|
@@ -12,12 +12,12 @@ import {
|
|||||||
} from '@ng-dynamic-forms/core';
|
} from '@ng-dynamic-forms/core';
|
||||||
import { mergeWith } from 'lodash';
|
import { mergeWith } from 'lodash';
|
||||||
|
|
||||||
import { isEmpty, isNotEmpty, isNotNull, isNull } from '../../empty.util';
|
import { isEmpty, isNotEmpty, isNotNull, isNotUndefined, isNull } from '../../empty.util';
|
||||||
import { DynamicComboboxModel } from './ds-dynamic-form-ui/models/ds-dynamic-combobox.model';
|
import { DynamicComboboxModel } from './ds-dynamic-form-ui/models/ds-dynamic-combobox.model';
|
||||||
import { SubmissionFormsModel } from '../../../core/shared/config/config-submission-forms.model';
|
import { SubmissionFormsModel } from '../../../core/shared/config/config-submission-forms.model';
|
||||||
import { DynamicConcatModel } from './ds-dynamic-form-ui/models/ds-dynamic-concat.model';
|
import { DynamicConcatModel } from './ds-dynamic-form-ui/models/ds-dynamic-concat.model';
|
||||||
import { DynamicListCheckboxGroupModel } from './ds-dynamic-form-ui/models/list/dynamic-list-checkbox-group.model';
|
import { DynamicListCheckboxGroupModel } from './ds-dynamic-form-ui/models/list/dynamic-list-checkbox-group.model';
|
||||||
import { DynamicGroupModel } from './ds-dynamic-form-ui/models/ds-dynamic-group/dynamic-group.model';
|
import { DynamicGroupModel } from './ds-dynamic-form-ui/models/dynamic-group/dynamic-group.model';
|
||||||
import { DynamicTagModel } from './ds-dynamic-form-ui/models/tag/dynamic-tag.model';
|
import { DynamicTagModel } from './ds-dynamic-form-ui/models/tag/dynamic-tag.model';
|
||||||
import { DynamicListRadioGroupModel } from './ds-dynamic-form-ui/models/list/dynamic-list-radio-group.model';
|
import { DynamicListRadioGroupModel } from './ds-dynamic-form-ui/models/list/dynamic-list-radio-group.model';
|
||||||
import { RowParser } from './parsers/row-parser';
|
import { RowParser } from './parsers/row-parser';
|
||||||
@@ -135,7 +135,7 @@ export class FormBuilderService extends DynamicFormService {
|
|||||||
controlId = controlModel.name;
|
controlId = controlModel.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
const controlValue = (controlModel as any).value || null;
|
const controlValue = isNotUndefined((controlModel as any).value) ? (controlModel as any).value : null;
|
||||||
if (controlId && iterateResult.hasOwnProperty(controlId) && isNotNull(iterateResult[controlId])) {
|
if (controlId && iterateResult.hasOwnProperty(controlId) && isNotNull(iterateResult[controlId])) {
|
||||||
iterateResult[controlId].push(controlValue);
|
iterateResult[controlId].push(controlValue);
|
||||||
} else {
|
} else {
|
||||||
@@ -151,7 +151,7 @@ export class FormBuilderService extends DynamicFormService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
modelFromConfiguration(json: string | SubmissionFormsModel, scopeUUID: string, initFormValues: any, submissionScope?: string, readOnly = false): DynamicFormControlModel[] | never {
|
modelFromConfiguration(json: string | SubmissionFormsModel, scopeUUID: string, initFormValues: any = {}, submissionScope?: string, readOnly = false): DynamicFormControlModel[] | never {
|
||||||
let rows: DynamicFormControlModel[] = [];
|
let rows: DynamicFormControlModel[] = [];
|
||||||
const rawData = typeof json === 'string' ? JSON.parse(json, JSONUtils.parseReviver) : json;
|
const rawData = typeof json === 'string' ? JSON.parse(json, JSONUtils.parseReviver) : json;
|
||||||
|
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
import { FieldParser } from './field-parser';
|
import { FieldParser } from './field-parser';
|
||||||
import { DynamicDatePickerModelConfig } from '@ng-dynamic-forms/core';
|
import { DynamicDatePickerModelConfig } from '@ng-dynamic-forms/core';
|
||||||
import { FormFieldModel } from '../models/form-field.model';
|
import { FormFieldModel } from '../models/form-field.model';
|
||||||
import { DynamicDsDatePickerModel } from '../ds-dynamic-form-ui/models/ds-date-picker/ds-date-picker.model';
|
import { DynamicDsDatePickerModel } from '../ds-dynamic-form-ui/models/date-picker/date-picker.model';
|
||||||
import { isNotEmpty } from '../../../empty.util';
|
import { isNotEmpty } from '../../../empty.util';
|
||||||
import { DS_DATE_PICKER_SEPARATOR } from '../ds-dynamic-form-ui/models/ds-date-picker/ds-date-picker.component';
|
import { DS_DATE_PICKER_SEPARATOR } from '../ds-dynamic-form-ui/models/date-picker/date-picker.component';
|
||||||
|
|
||||||
export class DateFieldParser extends FieldParser {
|
export class DateFieldParser extends FieldParser {
|
||||||
|
|
||||||
|
@@ -4,7 +4,7 @@ import { FormFieldModel } from '../models/form-field.model';
|
|||||||
import {
|
import {
|
||||||
DynamicGroupModel,
|
DynamicGroupModel,
|
||||||
DynamicGroupModelConfig, PLACEHOLDER_PARENT_METADATA
|
DynamicGroupModelConfig, PLACEHOLDER_PARENT_METADATA
|
||||||
} from '../ds-dynamic-form-ui/models/ds-dynamic-group/dynamic-group.model';
|
} from '../ds-dynamic-form-ui/models/dynamic-group/dynamic-group.model';
|
||||||
import { isNotEmpty } from '../../../empty.util';
|
import { isNotEmpty } from '../../../empty.util';
|
||||||
import { FormRowModel } from '../../../../core/shared/config/config-submission-forms.model';
|
import { FormRowModel } from '../../../../core/shared/config/config-submission-forms.model';
|
||||||
|
|
||||||
|
@@ -11,7 +11,7 @@ import { TagFieldParser } from './tag-field-parser';
|
|||||||
import { TextareaFieldParser } from './textarea-field-parser';
|
import { TextareaFieldParser } from './textarea-field-parser';
|
||||||
import { GroupFieldParser } from './group-field-parser';
|
import { GroupFieldParser } from './group-field-parser';
|
||||||
import { IntegrationSearchOptions } from '../../../../core/integration/models/integration-options.model';
|
import { IntegrationSearchOptions } from '../../../../core/integration/models/integration-options.model';
|
||||||
import { DynamicGroupModel } from '../ds-dynamic-form-ui/models/ds-dynamic-group/dynamic-group.model';
|
import { DynamicGroupModel } from '../ds-dynamic-form-ui/models/dynamic-group/dynamic-group.model';
|
||||||
import { DynamicRowGroupModel } from '../ds-dynamic-form-ui/models/ds-dynamic-row-group-model';
|
import { DynamicRowGroupModel } from '../ds-dynamic-form-ui/models/ds-dynamic-row-group-model';
|
||||||
import { isEmpty } from '../../../empty.util';
|
import { isEmpty } from '../../../empty.util';
|
||||||
import { LookupFieldParser } from './lookup-field-parser';
|
import { LookupFieldParser } from './lookup-field-parser';
|
||||||
|
@@ -5,6 +5,7 @@
|
|||||||
[formId]="formId"
|
[formId]="formId"
|
||||||
[formGroup]="formGroup"
|
[formGroup]="formGroup"
|
||||||
[formModel]="formModel"
|
[formModel]="formModel"
|
||||||
|
[formLayout]="formLayout"
|
||||||
(dfBlur)="onBlur($event)"
|
(dfBlur)="onBlur($event)"
|
||||||
(dfChange)="onChange($event)"
|
(dfChange)="onChange($event)"
|
||||||
(dfFocus)="onFocus($event)">
|
(dfFocus)="onFocus($event)">
|
||||||
|
@@ -5,7 +5,7 @@ import {
|
|||||||
DynamicFormArrayModel,
|
DynamicFormArrayModel,
|
||||||
DynamicFormControlEvent,
|
DynamicFormControlEvent,
|
||||||
DynamicFormControlModel,
|
DynamicFormControlModel,
|
||||||
DynamicFormGroupModel,
|
DynamicFormGroupModel, DynamicFormLayout,
|
||||||
} from '@ng-dynamic-forms/core';
|
} from '@ng-dynamic-forms/core';
|
||||||
import { Store } from '@ngrx/store';
|
import { Store } from '@ngrx/store';
|
||||||
|
|
||||||
@@ -49,6 +49,7 @@ export class FormComponent implements OnDestroy, OnInit {
|
|||||||
@Input() formModel: DynamicFormControlModel[];
|
@Input() formModel: DynamicFormControlModel[];
|
||||||
@Input() parentFormModel: DynamicFormGroupModel | DynamicFormGroupModel[];
|
@Input() parentFormModel: DynamicFormGroupModel | DynamicFormGroupModel[];
|
||||||
@Input() formGroup: FormGroup;
|
@Input() formGroup: FormGroup;
|
||||||
|
@Input() formLayout: DynamicFormLayout = null;
|
||||||
|
|
||||||
/* tslint:disable:no-output-rename */
|
/* tslint:disable:no-output-rename */
|
||||||
@Output('dfBlur') blur: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();
|
@Output('dfBlur') blur: EventEmitter<DynamicFormControlEvent> = new EventEmitter<DynamicFormControlEvent>();
|
||||||
@@ -205,6 +206,7 @@ export class FormComponent implements OnDestroy, OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onChange(event) {
|
onChange(event) {
|
||||||
|
console.log(event, this.formGroup);
|
||||||
const action: FormChangeAction = new FormChangeAction(this.formId, this.formBuilderService.getValueFromModel(this.formModel));
|
const action: FormChangeAction = new FormChangeAction(this.formId, this.formBuilderService.getValueFromModel(this.formModel));
|
||||||
|
|
||||||
this.store.dispatch(action);
|
this.store.dispatch(action);
|
||||||
|
@@ -61,10 +61,10 @@ import { UploaderComponent } from './uploader/uploader.component';
|
|||||||
import { ChipsComponent } from './chips/chips.component';
|
import { ChipsComponent } from './chips/chips.component';
|
||||||
import { DsDynamicTagComponent } from './form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component';
|
import { DsDynamicTagComponent } from './form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component';
|
||||||
import { DsDynamicListComponent } from './form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component';
|
import { DsDynamicListComponent } from './form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component';
|
||||||
import { DsDynamicGroupComponent } from './form/builder/ds-dynamic-form-ui/models/ds-dynamic-group/dynamic-group.components';
|
import { DsDynamicGroupComponent } from './form/builder/ds-dynamic-form-ui/models/dynamic-group/dynamic-group.components';
|
||||||
import { SortablejsModule } from 'angular-sortablejs';
|
import { SortablejsModule } from 'angular-sortablejs';
|
||||||
import { NumberPickerComponent } from './number-picker/number-picker.component';
|
import { NumberPickerComponent } from './number-picker/number-picker.component';
|
||||||
import { DsDatePickerComponent } from './form/builder/ds-dynamic-form-ui/models/ds-date-picker/ds-date-picker.component';
|
import { DsDatePickerComponent } from './form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.component';
|
||||||
import { DsDynamicLookupComponent } from './form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component';
|
import { DsDynamicLookupComponent } from './form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component';
|
||||||
|
|
||||||
const MODULES = [
|
const MODULES = [
|
||||||
|
@@ -17,6 +17,10 @@ module.exports = {
|
|||||||
whitelist: [
|
whitelist: [
|
||||||
/@angular/,
|
/@angular/,
|
||||||
/@ng/,
|
/@ng/,
|
||||||
|
/angular2-text-mask/,
|
||||||
|
/ng2-file-upload/,
|
||||||
|
/angular-sortablejs/,
|
||||||
|
/sortablejs/,
|
||||||
/ngx/]
|
/ngx/]
|
||||||
})],
|
})],
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user