mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-19 17:14:57 +00:00
[AAE-15522] Fix - Dropdown variable error messages are displayed at modeling part 2 (#8734)
* Revert preview flag changes * add get preview state method to form cloud service
This commit is contained in:
parent
b50b701da8
commit
0ffbf9fbe2
@ -103,29 +103,6 @@ describe('FormFieldComponent', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should set field preview state', () => {
|
|
||||||
const field = new FormFieldModel(form, {
|
|
||||||
type: FormFieldTypes.DROPDOWN,
|
|
||||||
id: 'FAKE-DROPDOWN-WIDGET'
|
|
||||||
});
|
|
||||||
component.field = field;
|
|
||||||
component.preview = true;
|
|
||||||
fixture.detectChanges();
|
|
||||||
|
|
||||||
expect(component.field.preview).toBe(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should field preview state be false as default', () => {
|
|
||||||
const field = new FormFieldModel(form, {
|
|
||||||
type: FormFieldTypes.DROPDOWN,
|
|
||||||
id: 'FAKE-DROPDOWN-WIDGET'
|
|
||||||
});
|
|
||||||
component.field = field;
|
|
||||||
fixture.detectChanges();
|
|
||||||
|
|
||||||
expect(component.field.preview).toBe(false);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should hide the field when it is not visible', (done) => {
|
it('should hide the field when it is not visible', (done) => {
|
||||||
const field = new FormFieldModel(form, {
|
const field = new FormFieldModel(form, {
|
||||||
type: FormFieldTypes.TEXT,
|
type: FormFieldTypes.TEXT,
|
||||||
|
@ -63,9 +63,6 @@ export class FormFieldComponent implements OnInit, OnDestroy {
|
|||||||
@Input()
|
@Input()
|
||||||
field: FormFieldModel = null;
|
field: FormFieldModel = null;
|
||||||
|
|
||||||
@Input()
|
|
||||||
preview: boolean = false;
|
|
||||||
|
|
||||||
componentRef: ComponentRef<any>;
|
componentRef: ComponentRef<any>;
|
||||||
|
|
||||||
focus: boolean = false;
|
focus: boolean = false;
|
||||||
@ -83,7 +80,6 @@ export class FormFieldComponent implements OnInit, OnDestroy {
|
|||||||
}
|
}
|
||||||
const originalField = this.getField();
|
const originalField = this.getField();
|
||||||
if (originalField) {
|
if (originalField) {
|
||||||
this.setFieldPreviewState();
|
|
||||||
const customTemplate = this.field.form.customFieldTemplates[originalField.type];
|
const customTemplate = this.field.form.customFieldTemplates[originalField.type];
|
||||||
if (customTemplate && this.hasController(originalField.type)) {
|
if (customTemplate && this.hasController(originalField.type)) {
|
||||||
const factory = this.getComponentFactorySync(originalField.type, customTemplate);
|
const factory = this.getComponentFactorySync(originalField.type, customTemplate);
|
||||||
@ -158,10 +154,6 @@ export class FormFieldComponent implements OnInit, OnDestroy {
|
|||||||
return module.componentFactories.find((x) => x.componentType === decoratedCmp);
|
return module.componentFactories.find((x) => x.componentType === decoratedCmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
private setFieldPreviewState(): void {
|
|
||||||
this.field.preview = this.preview;
|
|
||||||
}
|
|
||||||
|
|
||||||
focusToggle() {
|
focusToggle() {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.focus = !this.focus;
|
this.focus = !this.focus;
|
||||||
|
@ -83,7 +83,6 @@ export class FormFieldModel extends FormWidgetModel {
|
|||||||
groupsRestriction: string[];
|
groupsRestriction: string[];
|
||||||
leftLabels: boolean = false;
|
leftLabels: boolean = false;
|
||||||
variableConfig: VariableConfig;
|
variableConfig: VariableConfig;
|
||||||
preview: boolean = false;
|
|
||||||
|
|
||||||
// container model members
|
// container model members
|
||||||
numberOfColumns: number = 1;
|
numberOfColumns: number = 1;
|
||||||
|
@ -90,7 +90,6 @@ export class FormModel implements ProcessFormModel {
|
|||||||
isValid = true;
|
isValid = true;
|
||||||
processVariables: ProcessVariableModel[] = [];
|
processVariables: ProcessVariableModel[] = [];
|
||||||
variables: FormVariableModel[] = [];
|
variables: FormVariableModel[] = [];
|
||||||
preview: boolean = false;
|
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
json?: any,
|
json?: any,
|
||||||
|
@ -1093,30 +1093,6 @@ describe('FormCloudComponent', () => {
|
|||||||
expect(formComponent.disableSaveButton).toBeTrue();
|
expect(formComponent.disableSaveButton).toBeTrue();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should set form preview state', () => {
|
|
||||||
const formModel = new FormModel();
|
|
||||||
formComponent.form = formModel;
|
|
||||||
formComponent.preview = true;
|
|
||||||
formComponent.ngOnChanges({
|
|
||||||
preview: {
|
|
||||||
currentValue: true,
|
|
||||||
previousValue: undefined,
|
|
||||||
firstChange: false,
|
|
||||||
isFirstChange: () => false
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
expect(formComponent.form.preview).toBe(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should form preview state be false as default', () => {
|
|
||||||
const formModel = new FormModel();
|
|
||||||
formComponent.form = formModel;
|
|
||||||
fixture.detectChanges();
|
|
||||||
|
|
||||||
expect(formComponent.form.preview).toBe(false);
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('form validations', () => {
|
describe('form validations', () => {
|
||||||
it('should be able to set visibility conditions for Attach File widget', async () => {
|
it('should be able to set visibility conditions for Attach File widget', async () => {
|
||||||
spyOn(formCloudService, 'getForm').and.returnValue(of(conditionalUploadWidgetsMock));
|
spyOn(formCloudService, 'getForm').and.returnValue(of(conditionalUploadWidgetsMock));
|
||||||
|
@ -82,9 +82,6 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges,
|
|||||||
@Input()
|
@Input()
|
||||||
fieldValidators: FormFieldValidator[] = [...FORM_FIELD_VALIDATORS];
|
fieldValidators: FormFieldValidator[] = [...FORM_FIELD_VALIDATORS];
|
||||||
|
|
||||||
@Input()
|
|
||||||
preview: boolean = false;
|
|
||||||
|
|
||||||
/** Emitted when the form is submitted with the `Save` or custom outcomes. */
|
/** Emitted when the form is submitted with the `Save` or custom outcomes. */
|
||||||
@Output()
|
@Output()
|
||||||
formSaved = new EventEmitter<FormModel>();
|
formSaved = new EventEmitter<FormModel>();
|
||||||
@ -179,10 +176,6 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges,
|
|||||||
this.refreshFormData();
|
this.refreshFormData();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changes?.preview?.currentValue) {
|
|
||||||
this.setFormPreviewState();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -364,10 +357,6 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges,
|
|||||||
this.onFormDataRefreshed(this.form);
|
this.onFormDataRefreshed(this.form);
|
||||||
}
|
}
|
||||||
|
|
||||||
private setFormPreviewState(): void {
|
|
||||||
this.form.preview = this.preview;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected onFormLoaded(form: FormModel) {
|
protected onFormLoaded(form: FormModel) {
|
||||||
this.formLoaded.emit(form);
|
this.formLoaded.emit(form);
|
||||||
}
|
}
|
||||||
|
@ -1023,18 +1023,9 @@ describe('DropdownCloudWidgetComponent', () => {
|
|||||||
expect(logServiceSpy).toHaveBeenCalledWith('variables.json-variable not found');
|
expect(logServiceSpy).toHaveBeenCalledWith('variables.json-variable not found');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should NOT display errors if field is in the preview state', () => {
|
|
||||||
widget.field = getVariableDropdownWidget('variables.json-variable', 'response.wrongPath.players', 'playerId', 'playerFullName', mockProcessVariablesWithJson);
|
|
||||||
widget.field.preview = true;
|
|
||||||
fixture.detectChanges();
|
|
||||||
|
|
||||||
const failedErrorMsgElement = fixture.debugElement.query(By.css('.adf-dropdown-failed-message'));
|
|
||||||
expect(failedErrorMsgElement).toBeNull();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should NOT display errors if form is in the preview state', () => {
|
it('should NOT display errors if form is in the preview state', () => {
|
||||||
widget.field = getVariableDropdownWidget('variables.json-variable', 'response.wrongPath.players', 'playerId', 'playerFullName', mockProcessVariablesWithJson);
|
widget.field = getVariableDropdownWidget('variables.json-variable', 'response.wrongPath.players', 'playerId', 'playerFullName', mockProcessVariablesWithJson);
|
||||||
widget.field.form.preview = true;
|
spyOn(formCloudService, 'getPreviewState').and.returnValue(true);
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
|
||||||
const failedErrorMsgElement = fixture.debugElement.query(By.css('.adf-dropdown-failed-message'));
|
const failedErrorMsgElement = fixture.debugElement.query(By.css('.adf-dropdown-failed-message'));
|
||||||
|
@ -375,11 +375,13 @@ export class DropdownCloudWidgetComponent extends WidgetComponent implements OnI
|
|||||||
}
|
}
|
||||||
|
|
||||||
private setPreviewState(): void {
|
private setPreviewState(): void {
|
||||||
this.previewState = this.field?.form?.preview ||this.field?.preview;
|
this.previewState = this.formCloudService.getPreviewState();
|
||||||
}
|
}
|
||||||
|
|
||||||
private handleError(error: any) {
|
private handleError(error: any) {
|
||||||
this.logService.error(error);
|
if (!this.previewState) {
|
||||||
|
this.logService.error(error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
isReadOnlyType(): boolean {
|
isReadOnlyType(): boolean {
|
||||||
|
@ -229,4 +229,8 @@ export class FormCloudService extends BaseCloudService implements FormCloudServi
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getPreviewState(): boolean {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user