enable prefer-const rule for tslint, fix issues (#4409)

* enable prefer-const rule for tslint, fix issues

* Update content-node-selector.component.spec.ts

* Update content-node-selector.component.spec.ts

* fix const

* fix lint issues

* update tests

* update tests

* update tests

* fix code

* fix page class
This commit is contained in:
Denys Vuika
2019-03-25 12:19:33 +00:00
committed by Eugenio Romano
parent 26c5982a1a
commit a7a48e8b2b
581 changed files with 5435 additions and 5402 deletions

View File

@@ -51,7 +51,7 @@ describe('FormFieldComponent', () => {
});
it('should create default component instance', (done) => {
let field = new FormFieldModel(form, {
const field = new FormFieldModel(form, {
type: FormFieldTypes.TEXT,
id: 'FAKE-TXT-WIDGET'
});
@@ -69,7 +69,7 @@ describe('FormFieldComponent', () => {
it('should create custom component instance', (done) => {
formRenderingService.setComponentTypeResolver(FormFieldTypes.AMOUNT, () => CheckboxWidgetComponent, true);
let field = new FormFieldModel(form, {
const field = new FormFieldModel(form, {
type: FormFieldTypes.AMOUNT,
id: 'FAKE-TXT-WIDGET'
});
@@ -85,7 +85,7 @@ describe('FormFieldComponent', () => {
});
it('should require component type to be resolved', (done) => {
let field = new FormFieldModel(form, {
const field = new FormFieldModel(form, {
type: FormFieldTypes.TEXT,
id: 'FAKE-TXT-WIDGET'
});
@@ -102,7 +102,7 @@ describe('FormFieldComponent', () => {
});
it('should hide the field when it is not visible', (done) => {
let field = new FormFieldModel(form, {
const field = new FormFieldModel(form, {
type: FormFieldTypes.TEXT,
id: 'FAKE-TXT-WIDGET'
});
@@ -117,7 +117,7 @@ describe('FormFieldComponent', () => {
});
it('should show the field when it is visible', (done) => {
let field = new FormFieldModel(form, {
const field = new FormFieldModel(form, {
type: FormFieldTypes.TEXT,
id: 'FAKE-TXT-WIDGET'
});
@@ -132,7 +132,7 @@ describe('FormFieldComponent', () => {
});
it('should hide a visible element', () => {
let field = new FormFieldModel(form, {
const field = new FormFieldModel(form, {
type: FormFieldTypes.TEXT,
id: 'FAKE-TXT-WIDGET'
});

View File

@@ -78,22 +78,22 @@ export class FormFieldComponent implements OnInit, OnDestroy {
if (w.adf === undefined) {
w.adf = {};
}
let originalField = this.getField();
const originalField = this.getField();
if (originalField) {
let customTemplate = this.field.form.customFieldTemplates[originalField.type];
const customTemplate = this.field.form.customFieldTemplates[originalField.type];
if (customTemplate && this.hasController(originalField.type)) {
let factory = this.getComponentFactorySync(originalField.type, customTemplate);
const factory = this.getComponentFactorySync(originalField.type, customTemplate);
this.componentRef = this.container.createComponent(factory);
let instance: any = this.componentRef.instance;
const instance: any = this.componentRef.instance;
if (instance) {
instance.field = originalField;
}
} else {
let componentType = this.formRenderingService.resolveComponentType(originalField);
const componentType = this.formRenderingService.resolveComponentType(originalField);
if (componentType) {
let factory = this.componentFactoryResolver.resolveComponentFactory(componentType);
const factory = this.componentFactoryResolver.resolveComponentFactory(componentType);
this.componentRef = this.container.createComponent(factory);
let instance = <WidgetComponent> this.componentRef.instance;
const instance = <WidgetComponent> this.componentRef.instance;
instance.field = this.field;
instance.fieldChanged.subscribe((field) => {
if (field && this.field.form) {
@@ -128,18 +128,18 @@ export class FormFieldComponent implements OnInit, OnDestroy {
}
private getComponentFactorySync(type: string, template: string): ComponentFactory<any> {
let componentInfo = adf.components[type];
const componentInfo = adf.components[type];
if (componentInfo.factory) {
return componentInfo.factory;
}
let metadata = {
const metadata = {
selector: `runtime-component-${type}`,
template: template
};
let factory = this.createComponentFactorySync(this.compiler, metadata, componentInfo.class);
const factory = this.createComponentFactorySync(this.compiler, metadata, componentInfo.class);
componentInfo.factory = factory;
return factory;
}
@@ -153,7 +153,7 @@ export class FormFieldComponent implements OnInit, OnDestroy {
class RuntimeComponentModule {
}
let module: ModuleWithComponentFactories<any> = compiler.compileModuleAndAllComponentsSync(RuntimeComponentModule);
const module: ModuleWithComponentFactories<any> = compiler.compileModuleAndAllComponentsSync(RuntimeComponentModule);
return module.componentFactories.find((x) => x.componentType === decoratedCmp);
}

View File

@@ -50,7 +50,7 @@ describe('FormComponent', () => {
});
it('should allow title if task name available', () => {
let formModel = new FormModel();
const formModel = new FormModel();
formComponent.form = formModel;
expect(formComponent.showTitle).toBeTruthy();
@@ -69,7 +69,7 @@ describe('FormComponent', () => {
});
it('should not allow title', () => {
let formModel = new FormModel();
const formModel = new FormModel();
formComponent.form = formModel;
formComponent.showTitle = false;
@@ -87,16 +87,16 @@ describe('FormComponent', () => {
});
it('should enable custom outcome buttons', () => {
let formModel = new FormModel();
const formModel = new FormModel();
formComponent.form = formModel;
let outcome = new FormOutcomeModel(formModel, { id: 'action1', name: 'Action 1' });
const outcome = new FormOutcomeModel(formModel, { id: 'action1', name: 'Action 1' });
expect(formComponent.isOutcomeButtonVisible(outcome, formComponent.form.readOnly)).toBeTruthy();
});
it('should allow controlling [complete] button visibility', () => {
let formModel = new FormModel();
const formModel = new FormModel();
formComponent.form = formModel;
let outcome = new FormOutcomeModel(formModel, { id: '$save', name: FormOutcomeModel.SAVE_ACTION });
const outcome = new FormOutcomeModel(formModel, { id: '$save', name: FormOutcomeModel.SAVE_ACTION });
formComponent.showSaveButton = true;
expect(formComponent.isOutcomeButtonVisible(outcome, formComponent.form.readOnly)).toBeTruthy();
@@ -106,27 +106,27 @@ describe('FormComponent', () => {
});
it('should show only [complete] button with readOnly form ', () => {
let formModel = new FormModel();
const formModel = new FormModel();
formModel.readOnly = true;
formComponent.form = formModel;
let outcome = new FormOutcomeModel(formModel, { id: '$complete', name: FormOutcomeModel.COMPLETE_ACTION });
const outcome = new FormOutcomeModel(formModel, { id: '$complete', name: FormOutcomeModel.COMPLETE_ACTION });
formComponent.showCompleteButton = true;
expect(formComponent.isOutcomeButtonVisible(outcome, formComponent.form.readOnly)).toBeTruthy();
});
it('should not show [save] button with readOnly form ', () => {
let formModel = new FormModel();
const formModel = new FormModel();
formModel.readOnly = true;
formComponent.form = formModel;
let outcome = new FormOutcomeModel(formModel, { id: '$save', name: FormOutcomeModel.SAVE_ACTION });
const outcome = new FormOutcomeModel(formModel, { id: '$save', name: FormOutcomeModel.SAVE_ACTION });
formComponent.showSaveButton = true;
expect(formComponent.isOutcomeButtonVisible(outcome, formComponent.form.readOnly)).toBeFalsy();
});
it('should show [custom-outcome] button with readOnly form and selected custom-outcome', () => {
let formModel = new FormModel({ selectedOutcome: 'custom-outcome' });
const formModel = new FormModel({ selectedOutcome: 'custom-outcome' });
formModel.readOnly = true;
formComponent.form = formModel;
let outcome = new FormOutcomeModel(formModel, { id: '$customoutome', name: 'custom-outcome' });
@@ -140,10 +140,10 @@ describe('FormComponent', () => {
});
it('should allow controlling [save] button visibility', () => {
let formModel = new FormModel();
const formModel = new FormModel();
formModel.readOnly = false;
formComponent.form = formModel;
let outcome = new FormOutcomeModel(formModel, { id: '$save', name: FormOutcomeModel.COMPLETE_ACTION });
const outcome = new FormOutcomeModel(formModel, { id: '$save', name: FormOutcomeModel.COMPLETE_ACTION });
formComponent.showCompleteButton = true;
expect(formComponent.isOutcomeButtonVisible(outcome, formComponent.form.readOnly)).toBeTruthy();
@@ -251,7 +251,7 @@ describe('FormComponent', () => {
spyOn(formComponent, 'getFormByTaskId').and.stub();
const taskId = '<task id>';
let change = new SimpleChange(null, taskId, true);
const change = new SimpleChange(null, taskId, true);
formComponent.ngOnChanges({ 'taskId': change });
expect(formComponent.getFormByTaskId).toHaveBeenCalledWith(taskId);
@@ -261,7 +261,7 @@ describe('FormComponent', () => {
spyOn(formComponent, 'getFormDefinitionByFormId').and.stub();
const formId = '123';
let change = new SimpleChange(null, formId, true);
const change = new SimpleChange(null, formId, true);
formComponent.ngOnChanges({ 'formId': change });
expect(formComponent.getFormDefinitionByFormId).toHaveBeenCalledWith(formId);
@@ -271,7 +271,7 @@ describe('FormComponent', () => {
spyOn(formComponent, 'getFormDefinitionByFormName').and.stub();
const formName = '<form>';
let change = new SimpleChange(null, formName, true);
const change = new SimpleChange(null, formName, true);
formComponent.ngOnChanges({ 'formName': change });
expect(formComponent.getFormDefinitionByFormName).toHaveBeenCalledWith(formName);
@@ -305,24 +305,24 @@ describe('FormComponent', () => {
});
it('should complete form on custom outcome click', () => {
let formModel = new FormModel();
let outcomeName = 'Custom Action';
let outcome = new FormOutcomeModel(formModel, { id: 'custom1', name: outcomeName });
const formModel = new FormModel();
const outcomeName = 'Custom Action';
const outcome = new FormOutcomeModel(formModel, { id: 'custom1', name: outcomeName });
let saved = false;
formComponent.form = formModel;
formComponent.formSaved.subscribe((v) => saved = true);
spyOn(formComponent, 'completeTaskForm').and.stub();
let result = formComponent.onOutcomeClicked(outcome);
const result = formComponent.onOutcomeClicked(outcome);
expect(result).toBeTruthy();
expect(saved).toBeTruthy();
expect(formComponent.completeTaskForm).toHaveBeenCalledWith(outcomeName);
});
it('should save form on [save] outcome click', () => {
let formModel = new FormModel();
let outcome = new FormOutcomeModel(formModel, {
const formModel = new FormModel();
const outcome = new FormOutcomeModel(formModel, {
id: FormComponent.SAVE_OUTCOME_ID,
name: 'Save',
isSystem: true
@@ -331,14 +331,14 @@ describe('FormComponent', () => {
formComponent.form = formModel;
spyOn(formComponent, 'saveTaskForm').and.stub();
let result = formComponent.onOutcomeClicked(outcome);
const result = formComponent.onOutcomeClicked(outcome);
expect(result).toBeTruthy();
expect(formComponent.saveTaskForm).toHaveBeenCalled();
});
it('should complete form on [complete] outcome click', () => {
let formModel = new FormModel();
let outcome = new FormOutcomeModel(formModel, {
const formModel = new FormModel();
const outcome = new FormOutcomeModel(formModel, {
id: FormComponent.COMPLETE_OUTCOME_ID,
name: 'Complete',
isSystem: true
@@ -347,14 +347,14 @@ describe('FormComponent', () => {
formComponent.form = formModel;
spyOn(formComponent, 'completeTaskForm').and.stub();
let result = formComponent.onOutcomeClicked(outcome);
const result = formComponent.onOutcomeClicked(outcome);
expect(result).toBeTruthy();
expect(formComponent.completeTaskForm).toHaveBeenCalled();
});
it('should emit form saved event on custom outcome click', () => {
let formModel = new FormModel();
let outcome = new FormOutcomeModel(formModel, {
const formModel = new FormModel();
const outcome = new FormOutcomeModel(formModel, {
id: FormComponent.CUSTOM_OUTCOME_ID,
name: 'Custom',
isSystem: true
@@ -364,15 +364,15 @@ describe('FormComponent', () => {
formComponent.form = formModel;
formComponent.formSaved.subscribe((v) => saved = true);
let result = formComponent.onOutcomeClicked(outcome);
const result = formComponent.onOutcomeClicked(outcome);
expect(result).toBeTruthy();
expect(saved).toBeTruthy();
});
it('should do nothing when clicking outcome for readonly form', () => {
let formModel = new FormModel();
const formModel = new FormModel();
const outcomeName = 'Custom Action';
let outcome = new FormOutcomeModel(formModel, { id: 'custom1', name: outcomeName });
const outcome = new FormOutcomeModel(formModel, { id: 'custom1', name: outcomeName });
formComponent.form = formModel;
spyOn(formComponent, 'completeTaskForm').and.stub();
@@ -389,9 +389,9 @@ describe('FormComponent', () => {
});
it('should require loaded form when clicking outcome', () => {
let formModel = new FormModel();
const formModel = new FormModel();
const outcomeName = 'Custom Action';
let outcome = new FormOutcomeModel(formModel, { id: 'custom1', name: outcomeName });
const outcome = new FormOutcomeModel(formModel, { id: 'custom1', name: outcomeName });
formComponent.readOnly = false;
formComponent.form = null;
@@ -399,15 +399,15 @@ describe('FormComponent', () => {
});
it('should not execute unknown system outcome', () => {
let formModel = new FormModel();
let outcome = new FormOutcomeModel(formModel, { id: 'unknown', name: 'Unknown', isSystem: true });
const formModel = new FormModel();
const outcome = new FormOutcomeModel(formModel, { id: 'unknown', name: 'Unknown', isSystem: true });
formComponent.form = formModel;
expect(formComponent.onOutcomeClicked(outcome)).toBeFalsy();
});
it('should require custom action name to complete form', () => {
let formModel = new FormModel();
const formModel = new FormModel();
let outcome = new FormOutcomeModel(formModel, { id: 'custom' });
formComponent.form = formModel;
@@ -544,7 +544,7 @@ describe('FormComponent', () => {
savedForm = form;
});
let formModel = new FormModel({
const formModel = new FormModel({
taskId: '123',
fields: [
{ id: 'field1' },
@@ -606,7 +606,7 @@ describe('FormComponent', () => {
let completed = false;
formComponent.formCompleted.subscribe(() => completed = true);
let formModel = new FormModel({
const formModel = new FormModel({
taskId: '123',
fields: [
{ id: 'field1' },
@@ -626,7 +626,7 @@ describe('FormComponent', () => {
});
it('should parse form from json', () => {
let form = formComponent.parseForm({
const form = formComponent.parseForm({
id: 1,
fields: [
{ id: 'field1', type: FormFieldTypes.CONTAINER }
@@ -642,13 +642,13 @@ describe('FormComponent', () => {
it('should provide outcomes for form definition', () => {
spyOn(formComponent, 'getFormDefinitionOutcomes').and.callThrough();
let form = formComponent.parseForm({ id: 1 });
const form = formComponent.parseForm({ id: 1 });
expect(formComponent.getFormDefinitionOutcomes).toHaveBeenCalledWith(form);
});
it('should prevent default outcome execution', () => {
let outcome = new FormOutcomeModel(new FormModel(), {
const outcome = new FormOutcomeModel(new FormModel(), {
id: FormComponent.CUSTOM_OUTCOME_ID,
name: 'Custom'
});
@@ -660,12 +660,12 @@ describe('FormComponent', () => {
expect(event.defaultPrevented).toBeTruthy();
});
let result = formComponent.onOutcomeClicked(outcome);
const result = formComponent.onOutcomeClicked(outcome);
expect(result).toBeFalsy();
});
it('should not prevent default outcome execution', () => {
let outcome = new FormOutcomeModel(new FormModel(), {
const outcome = new FormOutcomeModel(new FormModel(), {
id: FormComponent.CUSTOM_OUTCOME_ID,
name: 'Custom'
});
@@ -678,7 +678,7 @@ describe('FormComponent', () => {
spyOn(formComponent, 'completeTaskForm').and.callThrough();
let result = formComponent.onOutcomeClicked(outcome);
const result = formComponent.onOutcomeClicked(outcome);
expect(result).toBeTruthy();
expect(formComponent.completeTaskForm).toHaveBeenCalledWith(outcome.name);
@@ -699,7 +699,7 @@ describe('FormComponent', () => {
});
it('should load form for ecm node', () => {
let metadata = {};
const metadata = {};
spyOn(nodeService, 'getNodeMetadata').and.returnValue(
new Observable((observer) => {
observer.next({ metadata: metadata });
@@ -709,7 +709,7 @@ describe('FormComponent', () => {
spyOn(formComponent, 'loadFormFromActiviti').and.stub();
const nodeId = '<id>';
let change = new SimpleChange(null, nodeId, false);
const change = new SimpleChange(null, nodeId, false);
formComponent.ngOnChanges({ 'nodeId': change });
expect(nodeService.getNodeMetadata).toHaveBeenCalledWith(nodeId);
@@ -718,11 +718,11 @@ describe('FormComponent', () => {
});
it('should disable outcome buttons for readonly form', () => {
let formModel = new FormModel();
const formModel = new FormModel();
formModel.readOnly = true;
formComponent.form = formModel;
let outcome = new FormOutcomeModel(new FormModel(), {
const outcome = new FormOutcomeModel(new FormModel(), {
id: FormComponent.CUSTOM_OUTCOME_ID,
name: 'Custom'
});
@@ -736,22 +736,22 @@ describe('FormComponent', () => {
});
it('should always enable save outcome for writeable form', () => {
let formModel = new FormModel();
const formModel = new FormModel();
let field = new FormFieldModel(formModel, {
const field = new FormFieldModel(formModel, {
type: 'text',
value: null,
required: true
});
let containerModel = new ContainerModel(field);
const containerModel = new ContainerModel(field);
formModel.fields.push(containerModel);
formComponent.form = formModel;
formModel.onFormFieldChanged(field);
expect(formModel.isValid).toBeFalsy();
let outcome = new FormOutcomeModel(new FormModel(), {
const outcome = new FormOutcomeModel(new FormModel(), {
id: FormComponent.SAVE_OUTCOME_ID,
name: FormOutcomeModel.SAVE_ACTION
});
@@ -761,21 +761,21 @@ describe('FormComponent', () => {
});
it('should disable outcome buttons for invalid form', () => {
let formModel = new FormModel();
let field = new FormFieldModel(formModel, {
const formModel = new FormModel();
const field = new FormFieldModel(formModel, {
type: 'text',
value: null,
required: true
});
let containerModel = new ContainerModel(field);
const containerModel = new ContainerModel(field);
formModel.fields.push(containerModel);
formComponent.form = formModel;
formModel.onFormFieldChanged(field);
expect(formModel.isValid).toBeFalsy();
let outcome = new FormOutcomeModel(new FormModel(), {
const outcome = new FormOutcomeModel(new FormModel(), {
id: FormComponent.CUSTOM_OUTCOME_ID,
name: 'Custom'
});
@@ -784,23 +784,23 @@ describe('FormComponent', () => {
});
it('should disable complete outcome button when disableCompleteButton is true', () => {
let formModel = new FormModel();
const formModel = new FormModel();
formComponent.form = formModel;
formComponent.disableCompleteButton = true;
expect(formModel.isValid).toBeTruthy();
let completeOutcome = formComponent.form.outcomes.find((outcome) => outcome.name === FormOutcomeModel.COMPLETE_ACTION);
const completeOutcome = formComponent.form.outcomes.find((outcome) => outcome.name === FormOutcomeModel.COMPLETE_ACTION);
expect(formComponent.isOutcomeButtonEnabled(completeOutcome)).toBeFalsy();
});
it('should disable start process outcome button when disableStartProcessButton is true', () => {
let formModel = new FormModel();
const formModel = new FormModel();
formComponent.form = formModel;
formComponent.disableStartProcessButton = true;
expect(formModel.isValid).toBeTruthy();
let startProcessOutcome = formComponent.form.outcomes.find((outcome) => outcome.name === FormOutcomeModel.START_PROCESS_ACTION);
const startProcessOutcome = formComponent.form.outcomes.find((outcome) => outcome.name === FormOutcomeModel.START_PROCESS_ACTION);
expect(formComponent.isOutcomeButtonEnabled(startProcessOutcome)).toBeFalsy();
});
@@ -810,7 +810,7 @@ describe('FormComponent', () => {
done();
});
let outcome = new FormOutcomeModel(new FormModel(), {
const outcome = new FormOutcomeModel(new FormModel(), {
id: FormComponent.CUSTOM_OUTCOME_ID,
name: 'Custom'
});
@@ -828,13 +828,13 @@ describe('FormComponent', () => {
expect(labelField.value).toBe('empty');
expect(radioField.value).toBeNull();
let formValues: any = {};
const formValues: any = {};
formValues.label = {
id: 'option_2',
name: 'test2'
};
formValues.radio = { id: 'option_2', name: 'Option 2' };
let change = new SimpleChange(null, formValues, false);
const change = new SimpleChange(null, formValues, false);
formComponent.data = formValues;
formComponent.ngOnChanges({ 'data': change });
@@ -850,9 +850,9 @@ describe('FormComponent', () => {
let formFields = formComponent.form.getFormFields();
let radioFieldById = formFields.find((field) => field.id === 'radio');
let formValues: any = {};
const formValues: any = {};
formValues.radio = 'option_3';
let change = new SimpleChange(null, formValues, false);
const change = new SimpleChange(null, formValues, false);
formComponent.data = formValues;
formComponent.ngOnChanges({ 'data': change });

View File

@@ -78,7 +78,7 @@ describe('FormComponent UI and visibility', () => {
spyOn(service, 'getTask').and.returnValue(of({}));
spyOn(service, 'getTaskForm').and.returnValue(of(formDefinitionTwoTextFields));
let change = new SimpleChange(null, 1, true);
const change = new SimpleChange(null, 1, true);
component.ngOnChanges({ 'taskId': change });
fixture.detectChanges();
expect(fixture.debugElement.query(By.css('#adf-valid-form-icon'))).toBeDefined();
@@ -90,7 +90,7 @@ describe('FormComponent UI and visibility', () => {
spyOn(service, 'getTask').and.returnValue(of({}));
spyOn(service, 'getTaskForm').and.returnValue(of(formDefinitionRequiredField));
let change = new SimpleChange(null, 1, true);
const change = new SimpleChange(null, 1, true);
component.ngOnChanges({ 'taskId': change });
fixture.detectChanges();
expect(fixture.debugElement.query(By.css('#adf-valid-form-icon'))).toBeNull();
@@ -102,7 +102,7 @@ describe('FormComponent UI and visibility', () => {
spyOn(service, 'getTask').and.returnValue(of({}));
spyOn(service, 'getTaskForm').and.returnValue(of(formDefinitionTwoTextFields));
let change = new SimpleChange(null, 1, true);
const change = new SimpleChange(null, 1, true);
component.ngOnChanges({ 'taskId': change });
component.showValidationIcon = false;
fixture.detectChanges();
@@ -117,15 +117,15 @@ describe('FormComponent UI and visibility', () => {
spyOn(service, 'getTask').and.returnValue(of({}));
spyOn(service, 'getTaskForm').and.returnValue(of(formDefinitionTwoTextFields));
let change = new SimpleChange(null, 1, true);
const change = new SimpleChange(null, 1, true);
component.ngOnChanges({ 'taskId': change });
fixture.detectChanges();
let firstNameEl = fixture.debugElement.query(By.css('#firstname'));
const firstNameEl = fixture.debugElement.query(By.css('#firstname'));
expect(firstNameEl).not.toBeNull();
expect(firstNameEl).toBeDefined();
let lastNameEl = fixture.debugElement.query(By.css('#lastname'));
const lastNameEl = fixture.debugElement.query(By.css('#lastname'));
expect(lastNameEl).not.toBeNull();
expect(lastNameEl).toBeDefined();
});
@@ -134,7 +134,7 @@ describe('FormComponent UI and visibility', () => {
spyOn(service, 'getTask').and.returnValue(of({}));
spyOn(service, 'getTaskForm').and.returnValue(of(formDefinitionDropdownField));
let change = new SimpleChange(null, 1, true);
const change = new SimpleChange(null, 1, true);
component.ngOnChanges({ 'taskId': change });
fixture.detectChanges();
@@ -165,14 +165,14 @@ describe('FormComponent UI and visibility', () => {
spyOn(service, 'getTask').and.returnValue(of({}));
spyOn(service, 'getTaskForm').and.returnValue(of(formDefVisibilitiFieldDependsOnNextOne));
let change = new SimpleChange(null, 1, true);
const change = new SimpleChange(null, 1, true);
component.ngOnChanges({ 'taskId': change });
fixture.detectChanges();
let firstEl = fixture.debugElement.query(By.css('#field-country-container'));
const firstEl = fixture.debugElement.query(By.css('#field-country-container'));
expect(firstEl.nativeElement.hidden).toBeTruthy();
let secondEl = fixture.debugElement.query(By.css('#name'));
const secondEl = fixture.debugElement.query(By.css('#name'));
expect(secondEl).not.toBeNull();
expect(secondEl).toBeDefined();
expect(fixture.nativeElement.querySelector('#field-name-container').hidden).toBeFalsy();
@@ -182,16 +182,16 @@ describe('FormComponent UI and visibility', () => {
spyOn(service, 'getTask').and.returnValue(of({}));
spyOn(service, 'getTaskForm').and.returnValue(of(formDefVisibilitiFieldDependsOnPreviousOne));
let change = new SimpleChange(null, 1, true);
const change = new SimpleChange(null, 1, true);
component.ngOnChanges({ 'taskId': change });
fixture.detectChanges();
let firstEl = fixture.debugElement.query(By.css('#name'));
const firstEl = fixture.debugElement.query(By.css('#name'));
expect(firstEl).not.toBeNull();
expect(firstEl).toBeDefined();
expect(fixture.nativeElement.querySelector('#field-name-container').hidden).toBeFalsy();
let secondEl = fixture.debugElement.query(By.css('#field-country-container'));
const secondEl = fixture.debugElement.query(By.css('#field-country-container'));
expect(secondEl.nativeElement.hidden).toBeTruthy();
});
@@ -199,7 +199,7 @@ describe('FormComponent UI and visibility', () => {
spyOn(service, 'getTask').and.returnValue(of({}));
spyOn(service, 'getTaskForm').and.returnValue(of(formDefVisibilitiFieldDependsOnNextOne));
let change = new SimpleChange(null, 1, true);
const change = new SimpleChange(null, 1, true);
component.ngOnChanges({ 'taskId': change });
fixture.detectChanges();
@@ -209,7 +209,7 @@ describe('FormComponent UI and visibility', () => {
const secondEl = fixture.debugElement.query(By.css('#field-name-container'));
expect(secondEl.nativeElement.hidden).toBeFalsy();
let inputElement = fixture.nativeElement.querySelector('#name');
const inputElement = fixture.nativeElement.querySelector('#name');
inputElement.value = 'italy';
inputElement.dispatchEvent(new Event('input'));
fixture.detectChanges();
@@ -224,16 +224,16 @@ describe('FormComponent UI and visibility', () => {
spyOn(service, 'getTask').and.returnValue(of({}));
spyOn(service, 'getTaskForm').and.returnValue(of(formReadonlyTwoTextFields));
let change = new SimpleChange(null, 1, true);
const change = new SimpleChange(null, 1, true);
component.ngOnChanges({ 'taskId': change });
fixture.detectChanges();
let firstNameEl = fixture.debugElement.query(By.css('#firstname'));
const firstNameEl = fixture.debugElement.query(By.css('#firstname'));
expect(firstNameEl).not.toBeNull();
expect(firstNameEl).toBeDefined();
expect(firstNameEl.nativeElement.value).toEqual('fakeFirstName');
let lastNameEl = fixture.debugElement.query(By.css('#lastname'));
const lastNameEl = fixture.debugElement.query(By.css('#lastname'));
expect(lastNameEl).not.toBeNull();
expect(lastNameEl).toBeDefined();
expect(lastNameEl.nativeElement.value).toEqual('fakeLastName');

View File

@@ -99,14 +99,14 @@ export class StartFormComponent extends FormComponent implements OnChanges, OnIn
}
ngOnChanges(changes: SimpleChanges) {
let processDefinitionId = changes['processDefinitionId'];
const processDefinitionId = changes['processDefinitionId'];
if (processDefinitionId && processDefinitionId.currentValue) {
this.visibilityService.cleanProcessVariable();
this.getStartFormDefinition(processDefinitionId.currentValue);
return;
}
let processId = changes['processId'];
const processId = changes['processId'];
if (processId && processId.currentValue) {
this.visibilityService.cleanProcessVariable();
this.loadStartForm(processId.currentValue);

View File

@@ -22,12 +22,12 @@ import { FormModel } from './../core/form.model';
describe('ContainerColumnModel', () => {
it('should have max size by default', () => {
let column = new ContainerColumnModel();
const column = new ContainerColumnModel();
expect(column.size).toBe(12);
});
it('should check fields', () => {
let column = new ContainerColumnModel();
const column = new ContainerColumnModel();
column.fields = null;
expect(column.hasFields()).toBeFalsy();

View File

@@ -23,9 +23,9 @@ import { ContainerWidgetComponentModel } from './container.widget.model';
describe('ContainerWidgetComponentModel', () => {
it('should store the form reference', () => {
let form = new FormModel();
let field = new FormFieldModel(form);
let model = new ContainerWidgetComponentModel(field);
const form = new FormModel();
const field = new FormFieldModel(form);
const model = new ContainerWidgetComponentModel(field);
expect(model.form).toBe(form);
});
@@ -64,7 +64,7 @@ describe('ContainerWidgetComponentModel', () => {
});
it('should be collapsed by default', () => {
let container = new ContainerWidgetComponentModel(new FormFieldModel(new FormModel(), {
const container = new ContainerWidgetComponentModel(new FormFieldModel(new FormModel(), {
type: FormFieldTypes.GROUP,
params: {
allowCollapse: true,

View File

@@ -49,7 +49,7 @@ describe('ContainerWidgetComponent', () => {
});
it('should wrap field with model instance', () => {
let field = new FormFieldModel(null);
const field = new FormFieldModel(null);
widget.field = field;
widget.ngOnInit();
expect(widget.content).toBeDefined();
@@ -57,7 +57,7 @@ describe('ContainerWidgetComponent', () => {
});
it('should toggle underlying group container', () => {
let container = new ContainerWidgetComponentModel(new FormFieldModel(new FormModel(), {
const container = new ContainerWidgetComponentModel(new FormFieldModel(new FormModel(), {
type: FormFieldTypes.GROUP,
params: {
allowCollapse: true
@@ -74,7 +74,7 @@ describe('ContainerWidgetComponent', () => {
});
it('should toggle only collapsible container', () => {
let container = new ContainerWidgetComponentModel(new FormFieldModel(new FormModel(), {
const container = new ContainerWidgetComponentModel(new FormFieldModel(new FormModel(), {
type: FormFieldTypes.GROUP
}));
@@ -87,7 +87,7 @@ describe('ContainerWidgetComponent', () => {
it('should toggle only group container', () => {
let container = new ContainerWidgetComponentModel(new FormFieldModel(new FormModel(), {
const container = new ContainerWidgetComponentModel(new FormFieldModel(new FormModel(), {
type: FormFieldTypes.CONTAINER,
params: {
allowCollapse: true
@@ -102,8 +102,8 @@ describe('ContainerWidgetComponent', () => {
});
it('should send an event when a value is changed in the form', (done) => {
let fakeForm = new FormModel();
let fakeField = new FormFieldModel(fakeForm, {id: 'fakeField', value: 'fakeValue'});
const fakeForm = new FormModel();
const fakeField = new FormFieldModel(fakeForm, {id: 'fakeField', value: 'fakeValue'});
widget.fieldChanged.subscribe((field) => {
expect(field).not.toBe(null);
expect(field.id).toBe('fakeField');
@@ -124,7 +124,7 @@ describe('ContainerWidgetComponent', () => {
field5 = <FormFieldModel> {id: '5'},
field6 = <FormFieldModel> {id: '6'};
let container = new ContainerWidgetComponentModel(new FormFieldModel(new FormModel()));
const container = new ContainerWidgetComponentModel(new FormFieldModel(new FormModel()));
container.columns = [
<ContainerColumnModel> { fields: [
field1,
@@ -157,7 +157,7 @@ describe('ContainerWidgetComponent', () => {
describe('getColumnWith', () => {
it('should calculate the column width based on the numberOfColumns and current field\'s colspan property', () => {
let container = new ContainerWidgetComponentModel(new FormFieldModel(new FormModel(), { numberOfColumns: 4 }));
const container = new ContainerWidgetComponentModel(new FormFieldModel(new FormModel(), { numberOfColumns: 4 }));
widget.content = container;
expect(widget.getColumnWith(undefined)).toBe('25%');

View File

@@ -62,7 +62,7 @@ export class ContainerWidgetComponent extends WidgetComponent implements OnInit,
while (rowContainsElement) {
rowContainsElement = false;
for (let i = 0; i < this.content.columns.length; i++ ) {
let field = this.content.columns[i].fields[rowIndex];
const field = this.content.columns[i].fields[rowIndex];
if (field) {
rowContainsElement = true;
}

View File

@@ -41,12 +41,12 @@ describe('ContentWidgetComponent', () => {
let serviceContent: ContentService;
function createFakeImageBlob() {
let data = atob('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==');
const data = atob('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==');
return new Blob([data], {type: 'image/png'});
}
function createFakePdfBlob(): Blob {
let pdfData = atob(
const pdfData = atob(
'JVBERi0xLjcKCjEgMCBvYmogICUgZW50cnkgcG9pbnQKPDwKICAvVHlwZSAvQ2F0YWxvZwog' +
'IC9QYWdlcyAyIDAgUgo+PgplbmRvYmoKCjIgMCBvYmoKPDwKICAvVHlwZSAvUGFnZXMKICAv' +
'TWVkaWFCb3ggWyAwIDAgMjAwIDIwMCBdCiAgL0NvdW50IDEKICAvS2lkcyBbIDMgMCBSIF0K' +
@@ -99,12 +99,12 @@ describe('ContentWidgetComponent', () => {
component.content = new ContentLinkModel();
fixture.detectChanges();
let content = fixture.debugElement.query(By.css('div.upload-widget__content-thumbnail'));
const content = fixture.debugElement.query(By.css('div.upload-widget__content-thumbnail'));
expect(content).toBeDefined();
});
it('should load the thumbnail preview of the png image', (done) => {
let blob = createFakeImageBlob();
const blob = createFakeImageBlob();
spyOn(processContentService, 'getFileRawContent').and.returnValue(of(blob));
component.thumbnailLoaded.subscribe((res) => {
@@ -114,14 +114,14 @@ describe('ContentWidgetComponent', () => {
expect(res.changingThisBreaksApplicationSecurity).toContain('blob');
fixture.whenStable()
.then(() => {
let thumbnailPreview: any = element.querySelector('#thumbnailPreview');
const thumbnailPreview: any = element.querySelector('#thumbnailPreview');
expect(thumbnailPreview.src).toContain('blob');
});
done();
});
let contentId = 1;
let change = new SimpleChange(null, contentId, true);
const contentId = 1;
const change = new SimpleChange(null, contentId, true);
component.ngOnChanges({ 'id': change });
jasmine.Ajax.requests.mostRecent().respondWith({
@@ -147,7 +147,7 @@ describe('ContentWidgetComponent', () => {
});
it('should load the thumbnail preview of a pdf', (done) => {
let blob = createFakePdfBlob();
const blob = createFakePdfBlob();
spyOn(processContentService, 'getContentThumbnail').and.returnValue(of(blob));
component.thumbnailLoaded.subscribe((res) => {
@@ -157,14 +157,14 @@ describe('ContentWidgetComponent', () => {
expect(res.changingThisBreaksApplicationSecurity).toContain('blob');
fixture.whenStable()
.then(() => {
let thumbnailPreview: any = element.querySelector('#thumbnailPreview');
const thumbnailPreview: any = element.querySelector('#thumbnailPreview');
expect(thumbnailPreview.src).toContain('blob');
});
done();
});
let contentId = 1;
let change = new SimpleChange(null, contentId, true);
const contentId = 1;
const change = new SimpleChange(null, contentId, true);
component.ngOnChanges({'id': change});
jasmine.Ajax.requests.mostRecent().respondWith({
@@ -191,15 +191,15 @@ describe('ContentWidgetComponent', () => {
it('should show unsupported preview with unsupported file', (done) => {
let contentId = 1;
let change = new SimpleChange(null, contentId, true);
const contentId = 1;
const change = new SimpleChange(null, contentId, true);
component.ngOnChanges({'id': change});
component.contentLoaded.subscribe((res) => {
fixture.detectChanges();
fixture.whenStable()
.then(() => {
let thumbnailPreview: any = element.querySelector('#unsupported-thumbnail');
const thumbnailPreview: any = element.querySelector('#unsupported-thumbnail');
expect(thumbnailPreview).toBeDefined();
expect(element.querySelector('div.upload-widget__content-text').innerHTML).toEqual('FakeBlob.zip');
});
@@ -229,7 +229,7 @@ describe('ContentWidgetComponent', () => {
});
it('should open the viewer when the view button is clicked', (done) => {
let blob = createFakePdfBlob();
const blob = createFakePdfBlob();
spyOn(processContentService, 'getContentPreview').and.returnValue(of(blob));
spyOn(processContentService, 'getFileRawContent').and.returnValue(of(blob));
@@ -258,12 +258,12 @@ describe('ContentWidgetComponent', () => {
});
fixture.detectChanges();
let viewButton: any = element.querySelector('#view');
const viewButton: any = element.querySelector('#view');
viewButton.click();
});
it('should download the pdf when the download button is clicked', () => {
let blob = createFakePdfBlob();
const blob = createFakePdfBlob();
spyOn(processContentService, 'getFileRawContent').and.returnValue(of(blob));
spyOn(serviceContent, 'downloadBlob').and.callThrough();
@@ -285,7 +285,7 @@ describe('ContentWidgetComponent', () => {
});
fixture.detectChanges();
let downloadButton: any = element.querySelector('#download');
const downloadButton: any = element.querySelector('#download');
downloadButton.click();
fixture.whenStable()

View File

@@ -22,8 +22,8 @@ import { FormModel } from './form.model';
describe('ContainerModel', () => {
it('should store the form reference', () => {
let form = new FormModel();
let model = new ContainerModel(new FormFieldModel(form));
const form = new FormModel();
const model = new ContainerModel(new FormFieldModel(form));
expect(model.form).toBe(form);
});

View File

@@ -34,7 +34,7 @@ export class ErrorMessageModel {
getAttributesAsJsonObj() {
let result = {};
if (this.attributes.size > 0) {
let obj = Object.create(null);
const obj = Object.create(null);
this.attributes.forEach((value, key) => {
obj[key] = value;
});

View File

@@ -45,7 +45,7 @@ describe('FormFieldValidator', () => {
});
it('should require [required] setting', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT,
value: '<value>'
});
@@ -60,12 +60,12 @@ describe('FormFieldValidator', () => {
});
it('should skip unsupported type', () => {
let field = new FormFieldModel(new FormModel(), { type: 'wrong-type' });
const field = new FormFieldModel(new FormModel(), { type: 'wrong-type' });
expect(validator.validate(field)).toBeTruthy();
});
it('should fail for dropdown with empty value', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DROPDOWN,
value: '<empty>',
hasEmptyValue: true,
@@ -80,7 +80,7 @@ describe('FormFieldValidator', () => {
});
it('should fail for radio buttons', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.RADIO_BUTTONS,
required: true,
options: [{ id: 'two', name: 'two' }]
@@ -91,7 +91,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed for radio buttons', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.RADIO_BUTTONS,
required: true,
value: 'two',
@@ -102,7 +102,7 @@ describe('FormFieldValidator', () => {
});
it('should fail for upload', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.UPLOAD,
value: null,
required: true
@@ -116,7 +116,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed for upload', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.UPLOAD,
value: [{}],
required: true
@@ -126,7 +126,7 @@ describe('FormFieldValidator', () => {
});
it('should fail for text', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT,
value: null,
required: true
@@ -140,7 +140,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed for date', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATE,
value: '2016-12-31',
required: true
@@ -150,7 +150,7 @@ describe('FormFieldValidator', () => {
});
it('should fail for date', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATE,
value: null,
required: true
@@ -164,7 +164,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed for text', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT,
value: '<value>',
required: true
@@ -174,7 +174,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed for check box', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.BOOLEAN,
required: true,
value: true,
@@ -185,7 +185,7 @@ describe('FormFieldValidator', () => {
});
it('should fail for check box', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.BOOLEAN,
required: true,
value: false,
@@ -224,7 +224,7 @@ describe('FormFieldValidator', () => {
});
it('should allow empty number value', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER,
value: null
});
@@ -233,7 +233,7 @@ describe('FormFieldValidator', () => {
});
it('should allow number value', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER,
value: 44
});
@@ -242,7 +242,7 @@ describe('FormFieldValidator', () => {
});
it('should allow zero number value', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER,
value: 0
});
@@ -251,7 +251,7 @@ describe('FormFieldValidator', () => {
});
it('should fail for wrong number value', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER,
value: '<value>'
});
@@ -272,7 +272,7 @@ describe('FormFieldValidator', () => {
});
it('should require minLength defined', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT
});
@@ -283,7 +283,7 @@ describe('FormFieldValidator', () => {
});
it('should allow empty values', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT,
minLength: 10,
value: null
@@ -293,7 +293,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed text validation', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT,
minLength: 3,
value: '1234'
@@ -303,7 +303,7 @@ describe('FormFieldValidator', () => {
});
it('should fail text validation', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT,
minLength: 3,
value: '12'
@@ -325,7 +325,7 @@ describe('FormFieldValidator', () => {
});
it('should require maxLength defined', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT
});
@@ -336,7 +336,7 @@ describe('FormFieldValidator', () => {
});
it('should allow empty values', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT,
maxLength: 10,
value: null
@@ -346,7 +346,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed text validation', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT,
maxLength: 3,
value: '123'
@@ -356,7 +356,7 @@ describe('FormFieldValidator', () => {
});
it('should fail text validation', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT,
maxLength: 3,
value: '1234'
@@ -377,7 +377,7 @@ describe('FormFieldValidator', () => {
});
it('should require minValue defined', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER
});
expect(validator.isSupported(field)).toBeFalsy();
@@ -387,7 +387,7 @@ describe('FormFieldValidator', () => {
});
it('should support numeric widgets only', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER,
minValue: '1'
});
@@ -399,7 +399,7 @@ describe('FormFieldValidator', () => {
});
it('should allow empty values', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER,
value: null,
minValue: '1'
@@ -409,7 +409,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed for unsupported types', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT
});
@@ -417,7 +417,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed validating value', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER,
value: '10',
minValue: '10'
@@ -427,7 +427,7 @@ describe('FormFieldValidator', () => {
});
it('should fail validating value', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER,
value: '9',
minValue: '10'
@@ -449,7 +449,7 @@ describe('FormFieldValidator', () => {
});
it('should require maxValue defined', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER
});
expect(validator.isSupported(field)).toBeFalsy();
@@ -459,7 +459,7 @@ describe('FormFieldValidator', () => {
});
it('should support numeric widgets only', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER,
maxValue: '1'
});
@@ -471,7 +471,7 @@ describe('FormFieldValidator', () => {
});
it('should allow empty values', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER,
value: null,
maxValue: '1'
@@ -481,7 +481,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed for unsupported types', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT
});
@@ -489,7 +489,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed validating value', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER,
value: '10',
maxValue: '10'
@@ -499,7 +499,7 @@ describe('FormFieldValidator', () => {
});
it('should fail validating value', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.NUMBER,
value: '11',
maxValue: '10'
@@ -521,7 +521,7 @@ describe('FormFieldValidator', () => {
});
it('should require regex pattern to be defined', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT
});
expect(validator.isSupported(field)).toBeFalsy();
@@ -531,7 +531,7 @@ describe('FormFieldValidator', () => {
});
it('should allow empty values', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT,
value: null,
regexPattern: 'pattern'
@@ -541,7 +541,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed validating regex', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT,
value: 'pattern',
regexPattern: 'pattern'
@@ -551,7 +551,7 @@ describe('FormFieldValidator', () => {
});
it('should fail validating regex', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT,
value: 'some value',
regexPattern: 'pattern'
@@ -584,7 +584,7 @@ describe('FormFieldValidator', () => {
});
it('should allow empty values', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TYPEAHEAD,
value: null,
regexPattern: 'pattern'
@@ -594,7 +594,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed for a valid input value in options', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TYPEAHEAD,
value: '1',
options: [{id: '1', name: 'Leanne Graham'}, {id: '2', name: 'Ervin Howell'}]
@@ -604,7 +604,7 @@ describe('FormFieldValidator', () => {
});
it('should fail for an invalid input value in options', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TYPEAHEAD,
value: 'Lean',
options: [{id: '1', name: 'Leanne Graham'}, {id: '2', name: 'Ervin Howell'}]
@@ -624,7 +624,7 @@ describe('FormFieldValidator', () => {
});
it('should require maxValue defined', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME
});
expect(validator.isSupported(field)).toBeFalsy();
@@ -634,7 +634,7 @@ describe('FormFieldValidator', () => {
});
it('should support date time widgets only', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
maxValue: '9999-02-08 10:10 AM'
});
@@ -646,7 +646,7 @@ describe('FormFieldValidator', () => {
});
it('should allow empty values', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: null,
maxValue: '9999-02-08 10:10 AM'
@@ -656,7 +656,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed for unsupported types', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT
});
@@ -669,7 +669,7 @@ describe('FormFieldValidator', () => {
const localValidValue = '2018-3-30 11:59 PM';
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: localValidValue,
maxValue: maxValueSavedInForm
@@ -682,9 +682,9 @@ describe('FormFieldValidator', () => {
const maxValueFromActivitiInput = '31-3-2018 12:00 AM';
const maxValueSavedInForm = moment(maxValueFromActivitiInput, 'DD-M-YYYY hh:mm A').utc().format();
let localInvalidValue = '2018-3-31 12:01 AM';
const localInvalidValue = '2018-3-31 12:01 AM';
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: localInvalidValue,
maxValue: maxValueSavedInForm
@@ -697,7 +697,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed validating value checking the time', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: '08-02-9999 09:10 AM',
maxValue: '9999-02-08 10:10 AM'
@@ -707,7 +707,7 @@ describe('FormFieldValidator', () => {
});
it('should fail validating value checking the time', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: '08-02-9999 11:10 AM',
maxValue: '9999-02-08 10:10 AM'
@@ -719,7 +719,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed validating value checking the date', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: '08-02-9999 09:10 AM',
maxValue: '9999-02-08 10:10 AM'
@@ -729,7 +729,7 @@ describe('FormFieldValidator', () => {
});
it('should fail validating value checking the date', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: '08-02-9999 12:10 AM',
maxValue: '9999-02-07 10:10 AM'
@@ -751,7 +751,7 @@ describe('FormFieldValidator', () => {
});
it('should require minValue defined', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME
});
expect(validator.isSupported(field)).toBeFalsy();
@@ -761,7 +761,7 @@ describe('FormFieldValidator', () => {
});
it('should support date time widgets only', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
minValue: '9999-02-08 09:10 AM'
});
@@ -773,7 +773,7 @@ describe('FormFieldValidator', () => {
});
it('should allow empty values', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: null,
minValue: '9999-02-08 09:10 AM'
@@ -783,7 +783,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed for unsupported types', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.TEXT
});
@@ -796,7 +796,7 @@ describe('FormFieldValidator', () => {
const localValidValue = '2018-3-02 06:01 AM';
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: localValidValue,
minValue: minValueSavedInForm
@@ -809,9 +809,9 @@ describe('FormFieldValidator', () => {
const minValueFromActivitiInput = '02-3-2018 06:00 AM';
const minValueSavedInForm = moment(minValueFromActivitiInput, 'DD-M-YYYY hh:mm A').utc().format();
let localInvalidValue = '2018-3-02 05:59 AM';
const localInvalidValue = '2018-3-02 05:59 AM';
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: localInvalidValue,
minValue: minValueSavedInForm
@@ -824,7 +824,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed validating value by time', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: '08-02-9999 09:10 AM',
minValue: '9999-02-08 09:00 AM'
@@ -834,7 +834,7 @@ describe('FormFieldValidator', () => {
});
it('should succeed validating value by date', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: '09-02-9999 09:10 AM',
minValue: '9999-02-08 09:10 AM'
@@ -844,7 +844,7 @@ describe('FormFieldValidator', () => {
});
it('should fail validating value by time', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: '08-02-9999 09:00 AM',
minValue: '9999-02-08 09:10 AM'
@@ -856,7 +856,7 @@ describe('FormFieldValidator', () => {
});
it('should fail validating value by date', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DATETIME,
value: '07-02-9999 09:10 AM',
minValue: '9999-02-08 09:10 AM'

View File

@@ -66,7 +66,7 @@ export class RequiredFieldValidator implements FormFieldValidator {
}
if (field.type === FormFieldTypes.RADIO_BUTTONS) {
let option = field.options.find((opt) => opt.id === field.value);
const option = field.options.find((opt) => opt.id === field.value);
return !!option;
}
@@ -117,7 +117,7 @@ export class NumberFieldValidator implements FormFieldValidator {
field.value === '') {
return true;
}
let valueStr = '' + field.value;
const valueStr = '' + field.value;
let pattern = new RegExp(/^-?\d+$/);
if (field.enableFractions) {
pattern = new RegExp(/^-?[0-9]+(\.[0-9]{1,2})?$/);
@@ -141,7 +141,7 @@ export class DateFieldValidator implements FormFieldValidator {
// Validates that the input string is a valid date formatted as <dateFormat> (default D-M-YYYY)
static isValidDate(inputDate: string, dateFormat: string = 'D-M-YYYY'): boolean {
if (inputDate) {
let d = moment(inputDate, dateFormat, true);
const d = moment(inputDate, dateFormat, true);
return d.isValid();
}
@@ -200,7 +200,7 @@ export class MinDateFieldValidator implements FormFieldValidator {
} else {
fieldValueData = field.value;
}
let min = moment(field.minValue, MIN_DATE_FORMAT);
const min = moment(field.minValue, MIN_DATE_FORMAT);
if (fieldValueData.isBefore(min)) {
field.validationSummary.message = `FORM.FIELD.VALIDATOR.NOT_LESS_THAN`;
@@ -240,7 +240,7 @@ export class MaxDateFieldValidator implements FormFieldValidator {
} else {
d = field.value;
}
let max = moment(field.maxValue, this.MAX_DATE_FORMAT);
const max = moment(field.maxValue, this.MAX_DATE_FORMAT);
if (d.isAfter(max)) {
field.validationSummary.message = `FORM.FIELD.VALIDATOR.NOT_GREATER_THAN`;
@@ -287,7 +287,7 @@ export class MinDateTimeFieldValidator implements FormFieldValidator {
} else {
fieldValueDate = field.value;
}
let min = moment(field.minValue, this.MIN_DATETIME_FORMAT);
const min = moment(field.minValue, this.MIN_DATETIME_FORMAT);
if (fieldValueDate.isBefore(min)) {
field.validationSummary.message = `FORM.FIELD.VALIDATOR.NOT_LESS_THAN`;
@@ -334,7 +334,7 @@ export class MaxDateTimeFieldValidator implements FormFieldValidator {
} else {
fieldValueDate = field.value;
}
let max = moment(field.maxValue, this.MAX_DATETIME_FORMAT);
const max = moment(field.maxValue, this.MAX_DATETIME_FORMAT);
if (fieldValueDate.isAfter(max)) {
field.validationSummary.message = `FORM.FIELD.VALIDATOR.NOT_GREATER_THAN`;
@@ -412,8 +412,8 @@ export class MinValueFieldValidator implements FormFieldValidator {
validate(field: FormFieldModel): boolean {
if (this.isSupported(field) && field.value && field.isVisible) {
let value: number = +field.value;
let minValue: number = +field.minValue;
const value: number = +field.value;
const minValue: number = +field.minValue;
if (value >= minValue) {
return true;
@@ -442,8 +442,8 @@ export class MaxValueFieldValidator implements FormFieldValidator {
validate(field: FormFieldModel): boolean {
if (this.isSupported(field) && field.value && field.isVisible) {
let value: number = +field.value;
let maxValue: number = +field.maxValue;
const value: number = +field.value;
const maxValue: number = +field.maxValue;
if (value <= maxValue) {
return true;

View File

@@ -22,19 +22,19 @@ import { FormModel } from './form.model';
describe('FormFieldModel', () => {
it('should store the form reference', () => {
let form = new FormModel();
let model = new FormFieldModel(form);
const form = new FormModel();
const model = new FormFieldModel(form);
expect(model.form).toBe(form);
});
it('should store original json', () => {
let json = {};
let model = new FormFieldModel(new FormModel(), json);
const json = {};
const model = new FormFieldModel(new FormModel(), json);
expect(model.json).toBe(json);
});
it('should setup with json config', () => {
let json = {
const json = {
fieldType: '<fieldType>',
id: '<id>',
name: '<name>',
@@ -57,7 +57,7 @@ describe('FormFieldModel', () => {
displayText: '<text>',
value: '<value>'
};
let field = new FormFieldModel(new FormModel(), json);
const field = new FormFieldModel(new FormModel(), json);
Object.keys(json).forEach((key) => {
expect(field[key]).toBe(json[key]);
});
@@ -82,9 +82,9 @@ describe('FormFieldModel', () => {
});
it('should update form on every value change', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {id: 'field1'});
let value = 10;
const form = new FormModel();
const field = new FormFieldModel(form, {id: 'field1'});
const value = 10;
spyOn(field, 'updateForm').and.callThrough();
field.value = value;
@@ -95,8 +95,8 @@ describe('FormFieldModel', () => {
});
it('should get form readonly state', () => {
let form = new FormModel();
let field = new FormFieldModel(form, null);
const form = new FormModel();
const field = new FormFieldModel(form, null);
expect(field.readOnly).toBeFalsy();
form.readOnly = true;
@@ -104,15 +104,15 @@ describe('FormFieldModel', () => {
});
it('should take own readonly state if form is writable', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {readOnly: true});
const form = new FormModel();
const field = new FormFieldModel(form, {readOnly: true});
expect(form.readOnly).toBeFalsy();
expect(field.readOnly).toBeTruthy();
});
it('should parse and leave dropdown value as is', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DROPDOWN,
options: [],
value: 'deferred'
@@ -122,8 +122,8 @@ describe('FormFieldModel', () => {
});
it('should parse the date with the default format (D-M-YYYY) if the display format is missing', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
fieldType: 'FormFieldRepresentation',
id: 'mmddyyyy',
name: 'MM-DD-YYYY',
@@ -147,8 +147,8 @@ describe('FormFieldModel', () => {
});
it('should parse the date with the format MM-DD-YYYY', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
fieldType: 'FormFieldRepresentation',
id: 'mmddyyyy',
name: 'MM-DD-YYYY',
@@ -173,8 +173,8 @@ describe('FormFieldModel', () => {
});
it('should parse the date with the format MM-YY-DD', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
fieldType: 'FormFieldRepresentation',
id: 'mmyydd',
name: 'MM-YY-DD',
@@ -199,8 +199,8 @@ describe('FormFieldModel', () => {
});
it('should parse the date with the format DD-MM-YYYY', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
fieldType: 'FormFieldRepresentation',
id: 'ddmmyyy',
name: 'DD-MM-YYYY',
@@ -225,8 +225,8 @@ describe('FormFieldModel', () => {
});
it('should parse the date with the format DD-MM-YYYY when it is readonly', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
fieldType: 'FormFieldRepresentation',
id: 'ddmmyyy',
name: 'DD-MM-YYYY',
@@ -250,7 +250,7 @@ describe('FormFieldModel', () => {
});
it('should return the label of selected dropdown value ', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.DROPDOWN,
options: [
{id: 'fake-option-1', name: 'fake label 1'},
@@ -263,7 +263,7 @@ describe('FormFieldModel', () => {
});
it('should parse and resolve radio button value', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.RADIO_BUTTONS,
options: [
{id: 'opt1', name: 'Option 1'},
@@ -276,7 +276,7 @@ describe('FormFieldModel', () => {
});
it('should parse and leave radio button value as is', () => {
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
type: FormFieldTypes.RADIO_BUTTONS,
options: [],
value: 'deferred-radio'
@@ -285,8 +285,8 @@ describe('FormFieldModel', () => {
});
it('should update form with empty dropdown value', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
id: 'dropdown-1',
type: FormFieldTypes.DROPDOWN
});
@@ -299,8 +299,8 @@ describe('FormFieldModel', () => {
});
it('should update form with dropdown value', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
id: 'dropdown-2',
type: FormFieldTypes.DROPDOWN,
options: [
@@ -314,8 +314,8 @@ describe('FormFieldModel', () => {
});
it('should update form with radio button value', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
id: 'radio-1',
type: FormFieldTypes.RADIO_BUTTONS,
options: [
@@ -329,8 +329,8 @@ describe('FormFieldModel', () => {
});
it('radio button value should be null when no default is set', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
id: 'radio-2',
type: FormFieldTypes.RADIO_BUTTONS,
options: [
@@ -344,10 +344,10 @@ describe('FormFieldModel', () => {
});
it('should not update form with display-only field value', () => {
let form = new FormModel();
const form = new FormModel();
FormFieldTypes.READONLY_TYPES.forEach((typeName) => {
let field = new FormFieldModel(form, {
const field = new FormFieldModel(form, {
id: typeName,
type: typeName
});
@@ -358,8 +358,8 @@ describe('FormFieldModel', () => {
});
it('should be able to check if the field has options available', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
id: 'dropdown-happy',
type: FormFieldTypes.DROPDOWN,
options: [
@@ -372,8 +372,8 @@ describe('FormFieldModel', () => {
});
it('should return false if field has no options', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
id: 'dropdown-sad',
type: FormFieldTypes.DROPDOWN
});
@@ -382,8 +382,8 @@ describe('FormFieldModel', () => {
});
it('should calculate the columns in case of container type', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
type: FormFieldTypes.CONTAINER,
numberOfColumns: 888
});
@@ -392,8 +392,8 @@ describe('FormFieldModel', () => {
});
it('should calculate the columns in case of group type', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
type: FormFieldTypes.GROUP,
numberOfColumns: 999
});

View File

@@ -121,8 +121,8 @@ export class FormFieldModel extends FormWidgetModel {
this.validationSummary = new ErrorMessageModel();
if (!this.readOnly) {
let validators = this.form.fieldValidators || [];
for (let validator of validators) {
const validators = this.form.fieldValidators || [];
for (const validator of validators) {
if (!validator.validate(this)) {
this._isValid = false;
return this._isValid;
@@ -229,7 +229,7 @@ export class FormFieldModel extends FormWidgetModel {
}
private getVariablesValue(variableName: string, form: FormModel) {
let variable = form.json.variables.find((currentVariable) => {
const variable = form.json.variables.find((currentVariable) => {
return currentVariable.name === variableName;
});
@@ -267,11 +267,11 @@ export class FormFieldModel extends FormWidgetModel {
this.colspan = 1;
if (json.fields) {
for (let currentField in json.fields) {
for (const currentField in json.fields) {
if (json.fields.hasOwnProperty(currentField)) {
let col = new ContainerColumnModel();
const col = new ContainerColumnModel();
let fields: FormFieldModel[] = (json.fields[currentField] || []).map((f) => new FormFieldModel(form, f));
const fields: FormFieldModel[] = (json.fields[currentField] || []).map((f) => new FormFieldModel(form, f));
col.fields = fields;
col.rowspan = json.fields[currentField].length;
@@ -295,9 +295,9 @@ export class FormFieldModel extends FormWidgetModel {
*/
if (json.type === FormFieldTypes.DROPDOWN) {
if (json.hasEmptyValue && json.options) {
let options = <FormFieldOption[]> json.options || [];
const options = <FormFieldOption[]> json.options || [];
if (options.length > 0) {
let emptyOption = json.options[0];
const emptyOption = json.options[0];
if (value === '' || value === emptyOption.id || value === emptyOption.name) {
value = emptyOption.id;
} else if (value.id && value.name) {
@@ -315,7 +315,7 @@ export class FormFieldModel extends FormWidgetModel {
// Activiti has a bug with default radio button value where initial selection passed as `name` value
// so try resolving current one with a fallback to first entry via name or id
// TODO: needs to be reported and fixed at Activiti side
let entry: FormFieldOption[] = this.options.filter((opt) =>
const entry: FormFieldOption[] = this.options.filter((opt) =>
opt.id === value || opt.name === value || (value && (opt.id === value.id || opt.name === value.name)));
if (entry.length > 0) {
value = entry[0].id;
@@ -357,7 +357,7 @@ export class FormFieldModel extends FormWidgetModel {
if (this.value === 'empty' || this.value === '') {
this.form.values[this.id] = {};
} else {
let entry: FormFieldOption[] = this.options.filter((opt) => opt.id === this.value);
const entry: FormFieldOption[] = this.options.filter((opt) => opt.id === this.value);
if (entry.length > 0) {
this.form.values[this.id] = entry[0];
}
@@ -368,7 +368,7 @@ export class FormFieldModel extends FormWidgetModel {
This is needed due to Activiti issue related to reading radio button values as value string
but saving back as object: { id: <id>, name: <name> }
*/
let rbEntry: FormFieldOption[] = this.options.filter((opt) => opt.id === this.value);
const rbEntry: FormFieldOption[] = this.options.filter((opt) => opt.id === this.value);
if (rbEntry.length > 0) {
this.form.values[this.id] = rbEntry[0];
}
@@ -381,7 +381,7 @@ export class FormFieldModel extends FormWidgetModel {
}
break;
case FormFieldTypes.TYPEAHEAD:
let taEntry: FormFieldOption[] = this.options.filter((opt) => opt.id === this.value || opt.name === this.value);
const taEntry: FormFieldOption[] = this.options.filter((opt) => opt.id === this.value || opt.name === this.value);
if (taEntry.length > 0) {
this.form.values[this.id] = taEntry[0];
} else if (this.options.length > 0) {
@@ -389,7 +389,7 @@ export class FormFieldModel extends FormWidgetModel {
}
break;
case FormFieldTypes.DATE:
let dateValue = moment(this.value, this.dateDisplayFormat, true);
const dateValue = moment(this.value, this.dateDisplayFormat, true);
if (dateValue && dateValue.isValid()) {
this.form.values[this.id] = `${dateValue.format('YYYY-MM-DD')}T00:00:00.000Z`;
} else {
@@ -435,7 +435,7 @@ export class FormFieldModel extends FormWidgetModel {
}
getOptionName(): string {
let option: FormFieldOption = this.options.find((opt) => opt.id === this.value);
const option: FormFieldOption = this.options.find((opt) => opt.id === this.value);
return option ? option.name : null;
}

View File

@@ -21,24 +21,24 @@ import { FormModel } from './form.model';
describe('FormOutcomeModel', () => {
it('should setup with json config', () => {
let json = {
const json = {
id: '<id>',
name: '<name>'
};
let model = new FormOutcomeModel(null, json);
const model = new FormOutcomeModel(null, json);
expect(model.id).toBe(json.id);
expect(model.name).toBe(json.name);
});
it('should store the form reference', () => {
let form = new FormModel();
let model = new FormOutcomeModel(form);
const form = new FormModel();
const model = new FormOutcomeModel(form);
expect(model.form).toBe(form);
});
it('should store original json', () => {
let json = {};
let model = new FormOutcomeModel(null, json);
const json = {};
const model = new FormOutcomeModel(null, json);
expect(model.json).toBe(json);
});

View File

@@ -27,14 +27,14 @@ describe('FormWidgetModel', () => {
}
it('should store the form reference', () => {
let form = new FormModel();
let model = new FormWidgetModelMock(form, null);
const form = new FormModel();
const model = new FormWidgetModelMock(form, null);
expect(model.form).toBe(form);
});
it('should store original json', () => {
let json = {};
let model = new FormWidgetModelMock(null, json);
const json = {};
const model = new FormWidgetModelMock(null, json);
expect(model.json).toBe(json);
});

View File

@@ -35,19 +35,19 @@ describe('FormModel', () => {
});
it('should store original json', () => {
let json = {};
let form = new FormModel(json);
const json = {};
const form = new FormModel(json);
expect(form.json).toBe(json);
});
it('should setup properties with json', () => {
let json = {
const json = {
id: '<id>',
name: '<name>',
taskId: '<task-id>',
taskName: '<task-name>'
};
let form = new FormModel(json);
const form = new FormModel(json);
Object.keys(json).forEach((key) => {
expect(form[key]).toEqual(form[key]);
@@ -55,26 +55,26 @@ describe('FormModel', () => {
});
it('should take form name when task name is missing', () => {
let json = {
const json = {
id: '<id>',
name: '<name>'
};
let form = new FormModel(json);
const form = new FormModel(json);
expect(form.taskName).toBe(json.name);
});
it('should use fallback value for task name', () => {
let form = new FormModel({});
const form = new FormModel({});
expect(form.taskName).toBe(FormModel.UNSET_TASK_NAME);
});
it('should set readonly state from params', () => {
let form = new FormModel({}, null, true);
const form = new FormModel({}, null, true);
expect(form.readOnly).toBeTruthy();
});
it('should check tabs', () => {
let form = new FormModel();
const form = new FormModel();
form.tabs = null;
expect(form.hasTabs()).toBeFalsy();
@@ -87,7 +87,7 @@ describe('FormModel', () => {
});
it('should check fields', () => {
let form = new FormModel();
const form = new FormModel();
form.fields = null;
expect(form.hasFields()).toBeFalsy();
@@ -95,13 +95,13 @@ describe('FormModel', () => {
form.fields = [];
expect(form.hasFields()).toBeFalsy();
let field = new FormFieldModel(form);
const field = new FormFieldModel(form);
form.fields = [new ContainerModel(field)];
expect(form.hasFields()).toBeTruthy();
});
it('should check outcomes', () => {
let form = new FormModel();
const form = new FormModel();
form.outcomes = null;
expect(form.hasOutcomes()).toBeFalsy();
@@ -114,21 +114,21 @@ describe('FormModel', () => {
});
it('should parse tabs', () => {
let json = {
const json = {
tabs: [
{ id: 'tab1' },
{ id: 'tab2' }
]
};
let form = new FormModel(json);
const form = new FormModel(json);
expect(form.tabs.length).toBe(2);
expect(form.tabs[0].id).toBe('tab1');
expect(form.tabs[1].id).toBe('tab2');
});
it('should parse fields', () => {
let json = {
const json = {
fields: [
{
id: 'field1',
@@ -141,14 +141,14 @@ describe('FormModel', () => {
]
};
let form = new FormModel(json);
const form = new FormModel(json);
expect(form.fields.length).toBe(2);
expect(form.fields[0].id).toBe('field1');
expect(form.fields[1].id).toBe('field2');
});
it('should parse fields from the definition', () => {
let json = {
const json = {
fields: null,
formDefinition: {
fields: [
@@ -164,24 +164,24 @@ describe('FormModel', () => {
}
};
let form = new FormModel(json);
const form = new FormModel(json);
expect(form.fields.length).toBe(2);
expect(form.fields[0].id).toBe('field1');
expect(form.fields[1].id).toBe('field2');
});
it('should convert missing fields to empty collection', () => {
let json = {
const json = {
fields: null
};
let form = new FormModel(json);
const form = new FormModel(json);
expect(form.fields).toBeDefined();
expect(form.fields.length).toBe(0);
});
it('should put fields into corresponding tabs', () => {
let json = {
const json = {
tabs: [
{ id: 'tab1' },
{ id: 'tab2' }
@@ -194,28 +194,28 @@ describe('FormModel', () => {
]
};
let form = new FormModel(json);
const form = new FormModel(json);
expect(form.tabs.length).toBe(2);
expect(form.fields.length).toBe(4);
let tab1 = form.tabs[0];
const tab1 = form.tabs[0];
expect(tab1.fields.length).toBe(2);
expect(tab1.fields[0].id).toBe('field1');
expect(tab1.fields[1].id).toBe('field3');
let tab2 = form.tabs[1];
const tab2 = form.tabs[1];
expect(tab2.fields.length).toBe(1);
expect(tab2.fields[0].id).toBe('field2');
});
it('should create standard form outcomes', () => {
let json = {
const json = {
fields: [
{ id: 'container1' }
]
};
let form = new FormModel(json);
const form = new FormModel(json);
expect(form.outcomes.length).toBe(3);
expect(form.outcomes[0].id).toBe(FormModel.SAVE_OUTCOME);
@@ -229,15 +229,15 @@ describe('FormModel', () => {
});
it('should create outcomes only when fields available', () => {
let json = {
const json = {
fields: null
};
let form = new FormModel(json);
const form = new FormModel(json);
expect(form.outcomes.length).toBe(0);
});
it('should use custom form outcomes', () => {
let json = {
const json = {
fields: [
{ id: 'container1' }
],
@@ -246,7 +246,7 @@ describe('FormModel', () => {
]
};
let form = new FormModel(json);
const form = new FormModel(json);
expect(form.outcomes.length).toBe(2);
expect(form.outcomes[0].id).toBe(FormModel.SAVE_OUTCOME);
@@ -381,7 +381,7 @@ describe('FormModel', () => {
spyOn(form, 'getFormFields').and.returnValue([testField]);
let validator = <FormFieldValidator> {
const validator = <FormFieldValidator> {
isSupported(field: FormFieldModel): boolean {
return true;
},

View File

@@ -95,12 +95,12 @@ export class FormModel {
this.selectedOutcome = json.selectedOutcome || {};
this.className = json.className || '';
let tabCache: FormWidgetModelCache<TabModel> = {};
const tabCache: FormWidgetModelCache<TabModel> = {};
this.processVariables = json.processVariables;
this.tabs = (json.tabs || []).map((t) => {
let model = new TabModel(this, t);
const model = new TabModel(this, t);
tabCache[model.id] = model;
return model;
});
@@ -112,9 +112,9 @@ export class FormModel {
}
for (let i = 0; i < this.fields.length; i++) {
let field = this.fields[i];
const field = this.fields[i];
if (field.tab) {
let tab = tabCache[field.tab];
const tab = tabCache[field.tab];
if (tab) {
tab.fields.push(field);
}
@@ -122,23 +122,23 @@ export class FormModel {
}
if (json.fields) {
let saveOutcome = new FormOutcomeModel(this, {
const saveOutcome = new FormOutcomeModel(this, {
id: FormModel.SAVE_OUTCOME,
name: 'SAVE',
isSystem: true
});
let completeOutcome = new FormOutcomeModel(this, {
const completeOutcome = new FormOutcomeModel(this, {
id: FormModel.COMPLETE_OUTCOME,
name: 'COMPLETE',
isSystem: true
});
let startProcessOutcome = new FormOutcomeModel(this, {
const startProcessOutcome = new FormOutcomeModel(this, {
id: FormModel.START_PROCESS_OUTCOME,
name: 'START PROCESS',
isSystem: true
});
let customOutcomes = (json.outcomes || []).map((obj) => new FormOutcomeModel(this, obj));
const customOutcomes = (json.outcomes || []).map((obj) => new FormOutcomeModel(this, obj));
this.outcomes = [saveOutcome].concat(
customOutcomes.length > 0 ? customOutcomes : [completeOutcome, startProcessOutcome]
@@ -162,13 +162,13 @@ export class FormModel {
// TODO: consider evaluating and caching once the form is loaded
getFormFields(): FormFieldModel[] {
let formFieldModel: FormFieldModel[] = [];
const formFieldModel: FormFieldModel[] = [];
for (let i = 0; i < this.fields.length; i++) {
let field = this.fields[i];
const field = this.fields[i];
if (field instanceof ContainerModel) {
let container = <ContainerModel> field;
const container = <ContainerModel> field;
formFieldModel.push(container.field);
container.field.columns.forEach((column) => {
@@ -192,9 +192,9 @@ export class FormModel {
validateForm(): void {
const validateFormEvent: any = new ValidateFormEvent(this);
let errorsField: FormFieldModel[] = [];
const errorsField: FormFieldModel[] = [];
let fields = this.getFormFields();
const fields = this.getFormFields();
for (let i = 0; i < fields.length; i++) {
if (!fields[i].validate()) {
errorsField.push(fields[i]);
@@ -254,13 +254,13 @@ export class FormModel {
fields = json.formDefinition.fields;
}
let formWidgetModel: FormWidgetModel[] = [];
const formWidgetModel: FormWidgetModel[] = [];
for (let field of fields) {
for (const field of fields) {
if (field.type === FormFieldTypes.DISPLAY_VALUE) {
// workaround for dynamic table on a completed/readonly form
if (field.params) {
let originalField = field.params['field'];
const originalField = field.params['field'];
if (originalField.type === FormFieldTypes.DYNAMIC_TABLE) {
formWidgetModel.push(new ContainerModel(new FormFieldModel(this, field)));
}
@@ -276,7 +276,7 @@ export class FormModel {
// Loads external data and overrides field values
// Typically used when form definition and form data coming from different sources
private loadData(formValues: FormValues) {
for (let field of this.getFormFields()) {
for (const field of this.getFormFields()) {
if (formValues[field.id]) {
field.json.value = formValues[field.id];
field.value = field.parseValue(field.json);

View File

@@ -23,20 +23,20 @@ import { TabModel } from './tab.model';
describe('TabModel', () => {
it('should setup with json config', () => {
let json = {
const json = {
id: '<id>',
title: '<title>',
visibilityCondition: '<condition>'
};
let model = new TabModel(null, json);
const model = new TabModel(null, json);
expect(model.id).toBe(json.id);
expect(model.title).toBe(json.title);
expect(model.isVisible).toBe(true);
});
it('should not setup with json config', () => {
let model = new TabModel(null, null);
const model = new TabModel(null, null);
expect(model.id).toBeUndefined();
expect(model.title).toBeUndefined();
expect(model.isVisible).toBeDefined();
@@ -45,7 +45,7 @@ describe('TabModel', () => {
});
it('should evaluate content based on fields', () => {
let model = new TabModel(null, null);
const model = new TabModel(null, null);
model.fields = null;
expect(model.hasContent()).toBeFalsy();
@@ -53,21 +53,21 @@ describe('TabModel', () => {
model.fields = [];
expect(model.hasContent()).toBeFalsy();
let form = new FormModel();
let field = new FormFieldModel(form);
const form = new FormModel();
const field = new FormFieldModel(form);
model.fields = [new ContainerModel(field)];
expect(model.hasContent()).toBeTruthy();
});
it('should store the form reference', () => {
let form = new FormModel();
let model = new TabModel(form);
const form = new FormModel();
const model = new TabModel(form);
expect(model.form).toBe(form);
});
it('should store original json', () => {
let json = {};
let model = new TabModel(null, json);
const json = {};
const model = new TabModel(null, json);
expect(model.json).toBe(json);
});

View File

@@ -50,7 +50,7 @@ describe('DateTimeWidgetComponent', () => {
});
it('should setup min value for date picker', () => {
let minValue = '1982-03-13T10:00Z';
const minValue = '1982-03-13T10:00Z';
widget.field = new FormFieldModel(null, {
id: 'date-id',
name: 'date-name',
@@ -60,7 +60,7 @@ describe('DateTimeWidgetComponent', () => {
fixture.detectChanges();
let expected = moment(minValue, 'YYYY-MM-DDTHH:mm:ssZ');
const expected = moment(minValue, 'YYYY-MM-DDTHH:mm:ssZ');
expect(widget.minDate.isSame(expected)).toBeTruthy();
});
@@ -77,20 +77,20 @@ describe('DateTimeWidgetComponent', () => {
});
it('should setup max value for date picker', () => {
let maxValue = '1982-03-13T10:00Z';
const maxValue = '1982-03-13T10:00Z';
widget.field = new FormFieldModel(null, {
maxValue: maxValue
});
fixture.detectChanges();
let expected = moment(maxValue, 'YYYY-MM-DDTHH:mm:ssZ');
const expected = moment(maxValue, 'YYYY-MM-DDTHH:mm:ssZ');
expect(widget.maxDate.isSame(expected)).toBeTruthy();
});
it('should eval visibility on date changed', () => {
spyOn(widget, 'onFieldChanged').and.callThrough();
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
id: 'date-field-id',
name: 'date-name',
value: '9-12-9999 10:00 AM',
@@ -119,7 +119,7 @@ describe('DateTimeWidgetComponent', () => {
.then(() => {
expect(element.querySelector('#date-field-id')).toBeDefined();
expect(element.querySelector('#date-field-id')).not.toBeNull();
let dateElement: any = element.querySelector('#date-field-id');
const dateElement: any = element.querySelector('#date-field-id');
expect(dateElement.value).toBe('30-11-9999 10:30 AM');
});
}));
@@ -141,7 +141,7 @@ describe('DateTimeWidgetComponent', () => {
.then(() => {
expect(element.querySelector('#date-field-id')).toBeDefined();
expect(element.querySelector('#date-field-id')).not.toBeNull();
let dateElement: any = element.querySelector('#date-field-id');
const dateElement: any = element.querySelector('#date-field-id');
expect(dateElement.value).toContain('11-29-9999 10:30 AM');
expect(element.querySelector('.adf-error-text').textContent).toBe('FORM.FIELD.VALIDATOR.NOT_LESS_THAN');
});
@@ -162,7 +162,7 @@ describe('DateTimeWidgetComponent', () => {
fixture.detectChanges();
expect(element.querySelector('#date-field-id')).toBeDefined();
expect(element.querySelector('#date-field-id')).not.toBeNull();
let dateElement: any = element.querySelector('#date-field-id');
const dateElement: any = element.querySelector('#date-field-id');
expect(dateElement.value).toContain('12-30-9999 10:30 AM');
});
}));

View File

@@ -58,7 +58,7 @@ export class DateTimeWidgetComponent extends WidgetComponent implements OnInit {
this.dateAdapter.setLocale(locale);
});
let momentDateAdapter = <MomentDateAdapter> this.dateAdapter;
const momentDateAdapter = <MomentDateAdapter> this.dateAdapter;
momentDateAdapter.overrideDisplayFormat = this.field.dateDisplayFormat;
if (this.field) {

View File

@@ -45,7 +45,7 @@ describe('DateWidgetComponent', () => {
});
it('should setup min value for date picker', () => {
let minValue = '13-03-1982';
const minValue = '13-03-1982';
widget.field = new FormFieldModel(null, {
id: 'date-id',
name: 'date-name',
@@ -54,12 +54,12 @@ describe('DateWidgetComponent', () => {
widget.ngOnInit();
let expected = moment(minValue, widget.field.dateDisplayFormat);
const expected = moment(minValue, widget.field.dateDisplayFormat);
expect(widget.minDate.isSame(expected)).toBeTruthy();
});
it('should date field be present', () => {
let minValue = '13-03-1982';
const minValue = '13-03-1982';
widget.field = new FormFieldModel(null, {
minValue: minValue
});
@@ -71,20 +71,20 @@ describe('DateWidgetComponent', () => {
});
it('should setup max value for date picker', () => {
let maxValue = '31-03-1982';
const maxValue = '31-03-1982';
widget.field = new FormFieldModel(null, {
maxValue: maxValue
});
widget.ngOnInit();
let expected = moment(maxValue, widget.field.dateDisplayFormat);
const expected = moment(maxValue, widget.field.dateDisplayFormat);
expect(widget.maxDate.isSame(expected)).toBeTruthy();
});
it('should eval visibility on date changed', () => {
spyOn(widget, 'onFieldChanged').and.callThrough();
let field = new FormFieldModel(new FormModel(), {
const field = new FormFieldModel(new FormModel(), {
id: 'date-field-id',
name: 'date-name',
value: '9-9-9999',
@@ -119,7 +119,7 @@ describe('DateWidgetComponent', () => {
fixture.whenStable().then(() => {
expect(element.querySelector('#date-field-id')).toBeDefined();
expect(element.querySelector('#date-field-id')).not.toBeNull();
let dateElement: any = element.querySelector('#date-field-id');
const dateElement: any = element.querySelector('#date-field-id');
expect(dateElement.value).toContain('9-9-9999');
});
}));
@@ -141,7 +141,7 @@ describe('DateWidgetComponent', () => {
fixture.detectChanges();
expect(element.querySelector('#date-field-id')).toBeDefined();
expect(element.querySelector('#date-field-id')).not.toBeNull();
let dateElement: any = element.querySelector('#date-field-id');
const dateElement: any = element.querySelector('#date-field-id');
expect(dateElement.value).toContain('11-30-9999');
expect(element.querySelector('.adf-error-text').textContent).toBe('FORM.FIELD.VALIDATOR.NOT_LESS_THAN');
});
@@ -163,7 +163,7 @@ describe('DateWidgetComponent', () => {
.then(() => {
expect(element.querySelector('#date-field-id')).toBeDefined();
expect(element.querySelector('#date-field-id')).not.toBeNull();
let dateElement: any = element.querySelector('#date-field-id');
const dateElement: any = element.querySelector('#date-field-id');
expect(dateElement.value).toContain('12-30-9999');
});
}));

View File

@@ -55,7 +55,7 @@ export class DateWidgetComponent extends WidgetComponent implements OnInit {
this.dateAdapter.setLocale(locale);
});
let momentDateAdapter = <MomentDateAdapter> this.dateAdapter;
const momentDateAdapter = <MomentDateAdapter> this.dateAdapter;
momentDateAdapter.overrideDisplayFormat = this.field.dateDisplayFormat;
if (this.field) {

View File

@@ -42,7 +42,7 @@ describe('DropdownWidgetComponent', () => {
fixture.detectChanges();
}
let fakeOptionList: FormFieldOption[] = [
const fakeOptionList: FormFieldOption[] = [
{ id: 'opt_1', name: 'option_1' },
{ id: 'opt_2', name: 'option_2' },
{ id: 'opt_3', name: 'option_3' }];
@@ -79,7 +79,7 @@ describe('DropdownWidgetComponent', () => {
const taskId = '<form-id>';
const fieldId = '<field-id>';
let form = new FormModel({
const form = new FormModel({
taskId: taskId
});
@@ -99,7 +99,7 @@ describe('DropdownWidgetComponent', () => {
});
it('should preserve empty option when loading fields', () => {
let restFieldValue: FormFieldOption = <FormFieldOption> { id: '1', name: 'Option1' };
const restFieldValue: FormFieldOption = <FormFieldOption> { id: '1', name: 'Option1' };
spyOn(formService, 'getRestFieldValues').and.callFake(() => {
return new Observable((observer) => {
observer.next([restFieldValue]);
@@ -107,8 +107,8 @@ describe('DropdownWidgetComponent', () => {
});
});
let form = new FormModel({ taskId: '<id>' });
let emptyOption: FormFieldOption = <FormFieldOption> { id: 'empty', name: 'Empty' };
const form = new FormModel({ taskId: '<id>' });
const emptyOption: FormFieldOption = <FormFieldOption> { id: 'empty', name: 'Empty' };
widget.field = new FormFieldModel(form, {
id: '<id>',
restUrl: '/some/url/address',
@@ -165,7 +165,7 @@ describe('DropdownWidgetComponent', () => {
fixture.detectChanges();
fixture.whenStable()
.then(() => {
let dropDownElement: any = element.querySelector('#dropdown-id');
const dropDownElement: any = element.querySelector('#dropdown-id');
expect(dropDownElement.attributes['ng-reflect-model'].value).toBe('option_2');
expect(dropDownElement.attributes['ng-reflect-model'].textContent).toBe('option_2');
});
@@ -182,7 +182,7 @@ describe('DropdownWidgetComponent', () => {
fixture.whenStable()
.then(() => {
let dropDownElement: any = element.querySelector('#dropdown-id');
const dropDownElement: any = element.querySelector('#dropdown-id');
expect(dropDownElement.attributes['ng-reflect-model'].value).toBe('empty');
});
}));
@@ -229,7 +229,7 @@ describe('DropdownWidgetComponent', () => {
fixture.detectChanges();
fixture.whenStable()
.then(() => {
let dropDownElement: any = element.querySelector('#dropdown-id');
const dropDownElement: any = element.querySelector('#dropdown-id');
expect(dropDownElement.attributes['ng-reflect-model'].value).toBe('option_2');
expect(dropDownElement.attributes['ng-reflect-model'].textContent).toBe('option_2');
});
@@ -246,7 +246,7 @@ describe('DropdownWidgetComponent', () => {
fixture.whenStable()
.then(() => {
let dropDownElement: any = element.querySelector('#dropdown-id');
const dropDownElement: any = element.querySelector('#dropdown-id');
expect(dropDownElement.attributes['ng-reflect-model'].value).toBe('empty');
});
}));
@@ -263,7 +263,7 @@ describe('DropdownWidgetComponent', () => {
fixture.detectChanges();
fixture.whenStable()
.then(() => {
let dropDownElement: HTMLSelectElement = <HTMLSelectElement> element.querySelector('#dropdown-id');
const dropDownElement: HTMLSelectElement = <HTMLSelectElement> element.querySelector('#dropdown-id');
expect(dropDownElement).not.toBeNull();
expect(dropDownElement.getAttribute('aria-disabled')).toBe('true');
});

View File

@@ -55,7 +55,7 @@ export class DropdownWidgetComponent extends WidgetComponent implements OnInit {
)
.subscribe(
(formFieldOption: FormFieldOption[]) => {
let options = [];
const options = [];
if (this.field.emptyOption) {
options.push(this.field.emptyOption);
}
@@ -74,7 +74,7 @@ export class DropdownWidgetComponent extends WidgetComponent implements OnInit {
)
.subscribe(
(formFieldOption: FormFieldOption[]) => {
let options = [];
const options = [];
if (this.field.emptyOption) {
options.push(this.field.emptyOption);
}

View File

@@ -36,8 +36,8 @@ export class DateCellValidator implements CellValidator {
validate(row: DynamicTableRow, column: DynamicTableColumn, summary?: DynamicRowValidationSummary): boolean {
if (this.isSupported(column)) {
let value = row.value[column.id];
let dateValue = moment(value, 'D-M-YYYY');
const value = row.value[column.id];
const dateValue = moment(value, 'D-M-YYYY');
if (!dateValue.isValid()) {
if (summary) {
summary.isValid = false;

View File

@@ -105,7 +105,7 @@ export class DynamicTableModel extends FormWidgetModel {
}
moveRow(row: DynamicTableRow, offset: number) {
let oldIndex = this.rows.indexOf(row);
const oldIndex = this.rows.indexOf(row);
if (oldIndex > -1) {
let newIndex = (oldIndex + offset);
@@ -115,7 +115,7 @@ export class DynamicTableModel extends FormWidgetModel {
newIndex = this.rows.length;
}
let arr = this.rows.slice();
const arr = this.rows.slice();
arr.splice(oldIndex, 1);
arr.splice(newIndex, 0, row);
this.rows = arr;
@@ -129,7 +129,7 @@ export class DynamicTableModel extends FormWidgetModel {
if (this.selectedRow === row) {
this.selectedRow = null;
}
let idx = this.rows.indexOf(row);
const idx = this.rows.indexOf(row);
if (idx > -1) {
this.rows.splice(idx, 1);
this.flushValue();
@@ -158,8 +158,8 @@ export class DynamicTableModel extends FormWidgetModel {
}
if (row) {
for (let col of this.columns) {
for (let validator of this._validators) {
for (const col of this.columns) {
for (const validator of this._validators) {
if (!validator.validate(row, col, summary)) {
return summary;
}
@@ -171,7 +171,7 @@ export class DynamicTableModel extends FormWidgetModel {
}
getCellValue(row: DynamicTableRow, column: DynamicTableColumn): any {
let rowValue = row.value[column.id];
const rowValue = row.value[column.id];
if (column.type === 'Dropdown') {
if (rowValue) {
@@ -195,7 +195,7 @@ export class DynamicTableModel extends FormWidgetModel {
getDisplayText(column: DynamicTableColumn): string {
let columnName = column.name;
if (column.type === 'Amount') {
let currency = column.amountCurrency || '$';
const currency = column.amountCurrency || '$';
columnName = `${column.name} (${currency})`;
}
return columnName;

View File

@@ -27,7 +27,7 @@ import { setupTestBed } from '../../../../testing/setupTestBed';
import { CoreModule } from '../../../../core.module';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
let fakeFormField = {
const fakeFormField = {
id: 'fake-dynamic-table',
name: 'fake-label',
value: [{1: 1, 2: 2, 3: 4}],
@@ -89,10 +89,10 @@ describe('DynamicTableWidgetComponent', () => {
logService = TestBed.get(LogService);
formService = TestBed.get(FormService);
table = new DynamicTableModel(field, formService);
let changeDetectorSpy = jasmine.createSpyObj('cd', ['detectChanges']);
let nativeElementSpy = jasmine.createSpyObj('nativeElement', ['querySelector']);
const changeDetectorSpy = jasmine.createSpyObj('cd', ['detectChanges']);
const nativeElementSpy = jasmine.createSpyObj('nativeElement', ['querySelector']);
changeDetectorSpy.nativeElement = nativeElementSpy;
let elementRefSpy = jasmine.createSpyObj('elementRef', ['']);
const elementRefSpy = jasmine.createSpyObj('elementRef', ['']);
elementRefSpy.nativeElement = nativeElementSpy;
fixture = TestBed.createComponent(DynamicTableWidgetComponent);
@@ -107,7 +107,7 @@ describe('DynamicTableWidgetComponent', () => {
});
it('should select row on click', () => {
let row = <DynamicTableRow> {selected: false};
const row = <DynamicTableRow> {selected: false};
widget.onRowClicked(row);
expect(row.selected).toBeTruthy();
@@ -115,7 +115,7 @@ describe('DynamicTableWidgetComponent', () => {
});
it('should require table to select clicked row', () => {
let row = <DynamicTableRow> {selected: false};
const row = <DynamicTableRow> {selected: false};
widget.content = null;
widget.onRowClicked(row);
@@ -123,7 +123,7 @@ describe('DynamicTableWidgetComponent', () => {
});
it('should reset selected row', () => {
let row = <DynamicTableRow> {selected: false};
const row = <DynamicTableRow> {selected: false};
widget.content.rows.push(row);
widget.content.selectedRow = row;
expect(widget.content.selectedRow).toBe(row);
@@ -135,7 +135,7 @@ describe('DynamicTableWidgetComponent', () => {
});
it('should check selection', () => {
let row = <DynamicTableRow> {selected: false};
const row = <DynamicTableRow> {selected: false};
widget.content.rows.push(row);
widget.content.selectedRow = row;
expect(widget.hasSelection()).toBeTruthy();
@@ -153,8 +153,8 @@ describe('DynamicTableWidgetComponent', () => {
});
it('should move selection up', () => {
let row1 = <DynamicTableRow> {};
let row2 = <DynamicTableRow> {};
const row1 = <DynamicTableRow> {};
const row2 = <DynamicTableRow> {};
widget.content.rows.push(...[row1, row2]);
widget.content.selectedRow = row2;
@@ -168,8 +168,8 @@ describe('DynamicTableWidgetComponent', () => {
});
it('should move selection down', () => {
let row1 = <DynamicTableRow> {};
let row2 = <DynamicTableRow> {};
const row1 = <DynamicTableRow> {};
const row2 = <DynamicTableRow> {};
widget.content.rows.push(...[row1, row2]);
widget.content.selectedRow = row1;
@@ -183,7 +183,7 @@ describe('DynamicTableWidgetComponent', () => {
});
it('should delete selected row', () => {
let row = <DynamicTableRow> {};
const row = <DynamicTableRow> {};
widget.content.rows.push(row);
widget.content.selectedRow = row;
widget.deleteSelection();
@@ -213,7 +213,7 @@ describe('DynamicTableWidgetComponent', () => {
expect(widget.editMode).toBeFalsy();
expect(widget.editRow).toBeFalsy();
let row = <DynamicTableRow> {value: true};
const row = <DynamicTableRow> {value: true};
widget.content.selectedRow = row;
expect(widget.editSelection()).toBeTruthy();
@@ -223,8 +223,8 @@ describe('DynamicTableWidgetComponent', () => {
});
it('should copy row', () => {
let row = <DynamicTableRow> {value: {opt: {key: '1', value: 1}}};
let copy = widget.copyRow(row);
const row = <DynamicTableRow> {value: {opt: {key: '1', value: 1}}};
const copy = widget.copyRow(row);
expect(copy.value).toEqual(row.value);
});
@@ -235,14 +235,14 @@ describe('DynamicTableWidgetComponent', () => {
it('should retrieve cell value', () => {
const value = '<value>';
let row = <DynamicTableRow> {value: {key: value}};
let column = <DynamicTableColumn> {id: 'key'};
const row = <DynamicTableRow> {value: {key: value}};
const column = <DynamicTableColumn> {id: 'key'};
expect(widget.getCellValue(row, column)).toBe(value);
});
it('should save changes and add new row', () => {
let row = <DynamicTableRow> {isNew: true, value: {key: 'value'}};
const row = <DynamicTableRow> {isNew: true, value: {key: 'value'}};
widget.editMode = true;
widget.editRow = row;
@@ -255,7 +255,7 @@ describe('DynamicTableWidgetComponent', () => {
});
it('should save changes and update row', () => {
let row = <DynamicTableRow> {isNew: false, value: {key: 'value'}};
const row = <DynamicTableRow> {isNew: false, value: {key: 'value'}};
widget.editMode = true;
widget.editRow = row;
widget.content.selectedRow = row;
@@ -291,8 +291,8 @@ describe('DynamicTableWidgetComponent', () => {
});
it('should take validation state from underlying field', () => {
let form = new FormModel();
let field = new FormFieldModel(form, {
const form = new FormModel();
const field = new FormFieldModel(form, {
type: FormFieldTypes.DYNAMIC_TABLE,
required: true,
value: null
@@ -312,16 +312,16 @@ describe('DynamicTableWidgetComponent', () => {
});
it('should prepend default currency for amount columns', () => {
let row = <DynamicTableRow> {value: {key: '100'}};
let column = <DynamicTableColumn> {id: 'key', type: 'Amount'};
let actual = widget.getCellValue(row, column);
const row = <DynamicTableRow> {value: {key: '100'}};
const column = <DynamicTableColumn> {id: 'key', type: 'Amount'};
const actual = widget.getCellValue(row, column);
expect(actual).toBe('$ 100');
});
it('should prepend custom currency for amount columns', () => {
let row = <DynamicTableRow> {value: {key: '100'}};
let column = <DynamicTableColumn> {id: 'key', type: 'Amount', amountCurrency: 'GBP'};
let actual = widget.getCellValue(row, column);
const row = <DynamicTableRow> {value: {key: '100'}};
const column = <DynamicTableColumn> {id: 'key', type: 'Amount', amountCurrency: 'GBP'};
const actual = widget.getCellValue(row, column);
expect(actual).toBe('GBP 100');
});
@@ -340,25 +340,25 @@ describe('DynamicTableWidgetComponent', () => {
});
it('should select a row when press space bar', async(() => {
let rowElement = element.querySelector('#fake-dynamic-table-row-0');
const rowElement = element.querySelector('#fake-dynamic-table-row-0');
expect(element.querySelector('#dynamic-table-fake-dynamic-table')).not.toBeNull();
expect(rowElement).not.toBeNull();
expect(rowElement.className).not.toContain('adf-dynamic-table-widget__row-selected');
let event: any = new Event('keyup');
const event: any = new Event('keyup');
event.keyCode = 32;
rowElement.dispatchEvent(event);
fixture.detectChanges();
fixture.whenStable().then(() => {
let selectedRow = element.querySelector('#fake-dynamic-table-row-0');
const selectedRow = element.querySelector('#fake-dynamic-table-row-0');
expect(selectedRow.className).toContain('adf-dynamic-table-widget__row-selected');
});
}));
it('should focus on add button when a new row is saved', async(() => {
let addNewRowButton: HTMLButtonElement = <HTMLButtonElement> element.querySelector('#fake-dynamic-table-add-row');
const addNewRowButton: HTMLButtonElement = <HTMLButtonElement> element.querySelector('#fake-dynamic-table-add-row');
expect(element.querySelector('#dynamic-table-fake-dynamic-table')).not.toBeNull();
expect(addNewRowButton).not.toBeNull();

View File

@@ -62,7 +62,7 @@ export class DynamicTableWidgetComponent extends WidgetComponent implements OnIn
forceFocusOnAddButton() {
if (this.content) {
this.cd.detectChanges();
let buttonAddRow = <HTMLButtonElement> this.elementRef.nativeElement.querySelector('#' + this.content.id + '-add-row');
const buttonAddRow = <HTMLButtonElement> this.elementRef.nativeElement.querySelector('#' + this.content.id + '-add-row');
if (this.isDynamicTableReady(buttonAddRow)) {
buttonAddRow.focus();
}
@@ -151,7 +151,7 @@ export class DynamicTableWidgetComponent extends WidgetComponent implements OnIn
getCellValue(row: DynamicTableRow, column: DynamicTableColumn): any {
if (this.content) {
let cellValue = this.content.getCellValue(row, column);
const cellValue = this.content.getCellValue(row, column);
if (column.type === 'Amount') {
return (column.amountCurrency || '$') + ' ' + (cellValue || 0);
}
@@ -163,7 +163,7 @@ export class DynamicTableWidgetComponent extends WidgetComponent implements OnIn
onSaveChanges() {
if (this.content) {
if (this.editRow.isNew) {
let row = this.copyRow(this.editRow);
const row = this.copyRow(this.editRow);
this.content.selectedRow = null;
this.content.addRow(row);
this.editRow.isNew = false;

View File

@@ -29,9 +29,9 @@ describe('BooleanEditorComponent', () => {
});
it('should update row value on change', () => {
let row = <DynamicTableRow> { value: {} };
let column = <DynamicTableColumn> { id: 'key' };
let event = { checked: true } ;
const row = <DynamicTableRow> { value: {} };
const column = <DynamicTableColumn> { id: 'key' };
const event = { checked: true } ;
component.onValueChanged(row, column, event);
expect(row.value[column.id]).toBeTruthy();

View File

@@ -39,7 +39,7 @@ export class BooleanEditorComponent {
column: DynamicTableColumn;
onValueChanged(row: DynamicTableRow, column: DynamicTableColumn, event: any) {
let value: boolean = (<HTMLInputElement> event).checked;
const value: boolean = (<HTMLInputElement> event).checked;
row.value[column.id] = value;
}

View File

@@ -61,7 +61,7 @@ describe('DateEditorComponent', () => {
it('should update fow value on change', () => {
component.ngOnInit();
let newDate = moment('14-03-1879', 'DD-MM-YYYY');
const newDate = moment('14-03-1879', 'DD-MM-YYYY');
component.onDateChanged(newDate);
expect(row.value[column.id]).toBe('1879-03-14T00:00:00.000Z');
});
@@ -72,7 +72,7 @@ describe('DateEditorComponent', () => {
component.ngOnInit();
component.onDateChanged(input);
let actual = row.value[column.id];
const actual = row.value[column.id];
expect(actual).toBe('2016-03-14T00:00:00.000Z');
});

View File

@@ -63,7 +63,7 @@ export class DateEditorComponent implements OnInit {
this.dateAdapter.setLocale(locale);
});
let momentDateAdapter = <MomentDateAdapter> this.dateAdapter;
const momentDateAdapter = <MomentDateAdapter> this.dateAdapter;
momentDateAdapter.overrideDisplayFormat = this.DATE_FORMAT;
this.value = moment(this.table.getCellValue(this.row, this.column), 'YYYY-MM-DD');
@@ -71,7 +71,7 @@ export class DateEditorComponent implements OnInit {
onDateChanged(newDateValue) {
if (newDateValue && newDateValue.value) {
let momentDate = moment(newDateValue.value, this.DATE_FORMAT, true);
const momentDate = moment(newDateValue.value, this.DATE_FORMAT, true);
if (!momentDate.isValid()) {
this.row.value[this.column.id] = '';

View File

@@ -61,7 +61,7 @@ describe('DateTimeEditorComponent', () => {
it('should update fow value on change', () => {
component.ngOnInit();
let newDate = moment('22-6-2018 04:20 AM', 'D-M-YYYY hh:mm A');
const newDate = moment('22-6-2018 04:20 AM', 'D-M-YYYY hh:mm A');
component.onDateChanged(newDate);
expect(moment(row.value[column.id]).isSame(newDate)).toBeTruthy();
});
@@ -72,7 +72,7 @@ describe('DateTimeEditorComponent', () => {
component.ngOnInit();
component.onDateChanged(input);
let actual = row.value[column.id];
const actual = row.value[column.id];
expect(actual).toBe('22-6-2018 04:20 AM');
});

View File

@@ -68,7 +68,7 @@ export class DateTimeEditorComponent implements OnInit {
this.dateAdapter.setLocale(locale);
});
let momentDateAdapter = <MomentDateAdapter> this.dateAdapter;
const momentDateAdapter = <MomentDateAdapter> this.dateAdapter;
momentDateAdapter.overrideDisplayFormat = this.DATE_FORMAT;
this.value = moment(this.table.getCellValue(this.row, this.column), this.DATE_FORMAT);

View File

@@ -92,7 +92,7 @@ describe('DropdownEditorComponent', () => {
column.optionType = 'rest';
row.value[column.id] = 'twelve';
let restResults = [
const restResults = [
<DynamicTableColumnOption> {id: '11', name: 'eleven'},
<DynamicTableColumnOption> {id: '12', name: 'twelve'}
];
@@ -155,8 +155,8 @@ describe('DropdownEditorComponent', () => {
it('should handle REST error getting option with processDefinitionId', () => {
column.optionType = 'rest';
let procForm = new FormModel({processDefinitionId: '<process-definition-id>'});
let procTable = new DynamicTableModel(new FormFieldModel(procForm, {id: '<field-id>'}), formService);
const procForm = new FormModel({processDefinitionId: '<process-definition-id>'});
const procTable = new DynamicTableModel(new FormFieldModel(procForm, {id: '<field-id>'}), formService);
component.table = procTable;
const error = 'error';
@@ -170,7 +170,7 @@ describe('DropdownEditorComponent', () => {
});
it('should update row on value change', () => {
let event = {value: 'two'};
const event = {value: 'two'};
component.onValueChanged(row, column, event);
expect(row.value[column.id]).toBe(column.options[1]);
});
@@ -180,7 +180,7 @@ describe('DropdownEditorComponent', () => {
let fixture: ComponentFixture<DropdownEditorComponent>;
let element: HTMLElement;
let stubFormService;
let fakeOptionList: DynamicTableColumnOption[] = [{
const fakeOptionList: DynamicTableColumnOption[] = [{
id: 'opt_1',
name: 'option_1'
}, {

View File

@@ -49,7 +49,7 @@ export class DropdownEditorComponent implements OnInit {
}
ngOnInit() {
let field = this.table.field;
const field = this.table.field;
if (field) {
if (this.column.optionType === 'rest') {
if (this.table.form && this.table.form.taskId) {

View File

@@ -28,11 +28,11 @@ describe('TextEditorComponent', () => {
});
it('should update row value on change', () => {
let row = <DynamicTableRow> { value: {} };
let column = <DynamicTableColumn> { id: 'key' };
const row = <DynamicTableRow> { value: {} };
const column = <DynamicTableColumn> { id: 'key' };
const value = '<value>';
let event = { target: { value } };
const event = { target: { value } };
editor.onValueChanged(row, column, event);
expect(row.value[column.id]).toBe(value);

View File

@@ -45,7 +45,7 @@ export class TextEditorComponent implements OnInit {
}
onValueChanged(row: DynamicTableRow, column: DynamicTableColumn, event: any) {
let value: any = (<HTMLInputElement> event.target).value;
const value: any = (<HTMLInputElement> event.target).value;
row.value[column.id] = value;
}

View File

@@ -44,7 +44,7 @@ export class NumberCellValidator implements CellValidator {
validate(row: DynamicTableRow, column: DynamicTableColumn, summary?: DynamicRowValidationSummary): boolean {
if (this.isSupported(column)) {
let value = row.value[column.id];
const value = row.value[column.id];
if (value === null ||
value === undefined ||
value === '' ||

View File

@@ -38,7 +38,7 @@ export class RequiredCellValidator implements CellValidator {
validate(row: DynamicTableRow, column: DynamicTableColumn, summary?: DynamicRowValidationSummary): boolean {
if (this.isSupported(column)) {
let value = row.value[column.id];
const value = row.value[column.id];
if (column.required) {
if (value === null || value === undefined || value === '') {
if (summary) {

View File

@@ -36,7 +36,7 @@ describe('FunctionalGroupWidgetComponent', () => {
});
it('should setup text from underlying field on init', () => {
let group = new GroupModel({ name: 'group-1'});
const group = new GroupModel({ name: 'group-1'});
widget.field.value = group;
spyOn(formService, 'getWorkflowGroups').and.returnValue(
@@ -75,13 +75,13 @@ describe('FunctionalGroupWidgetComponent', () => {
});
it('should prevent default behaviour on option item click', () => {
let event = jasmine.createSpyObj('event', ['preventDefault']);
const event = jasmine.createSpyObj('event', ['preventDefault']);
widget.onItemClick(null, event);
expect(event.preventDefault).toHaveBeenCalled();
});
it('should update values on item click', () => {
let item = new GroupModel({ name: 'group-1' });
const item = new GroupModel({ name: 'group-1' });
widget.onItemClick(item, null);
expect(widget.field.value).toBe(item);
@@ -95,7 +95,7 @@ describe('FunctionalGroupWidgetComponent', () => {
});
it('should flush selected value', () => {
let groups: GroupModel[] = [
const groups: GroupModel[] = [
new GroupModel({ id: '1', name: 'group 1' }),
new GroupModel({ id: '2', name: 'group 2' })
];
@@ -109,7 +109,7 @@ describe('FunctionalGroupWidgetComponent', () => {
});
it('should be case insensitive when flushing value', () => {
let groups: GroupModel[] = [
const groups: GroupModel[] = [
new GroupModel({ id: '1', name: 'group 1' }),
new GroupModel({ id: '2', name: 'gRoUp 2' })
];
@@ -123,7 +123,7 @@ describe('FunctionalGroupWidgetComponent', () => {
});
it('should fetch groups and show popup on key up', () => {
let groups: GroupModel[] = [
const groups: GroupModel[] = [
new GroupModel(),
new GroupModel()
];
@@ -134,7 +134,7 @@ describe('FunctionalGroupWidgetComponent', () => {
})
);
let keyboardEvent = new KeyboardEvent('keypress');
const keyboardEvent = new KeyboardEvent('keypress');
widget.value = 'group';
widget.onKeyUp(keyboardEvent);
@@ -143,7 +143,7 @@ describe('FunctionalGroupWidgetComponent', () => {
});
it('should fetch groups with a group filter', () => {
let groups: GroupModel[] = [
const groups: GroupModel[] = [
new GroupModel(),
new GroupModel()
];
@@ -154,7 +154,7 @@ describe('FunctionalGroupWidgetComponent', () => {
})
);
let keyboardEvent = new KeyboardEvent('keypress');
const keyboardEvent = new KeyboardEvent('keypress');
widget.groupId = 'parentGroup';
widget.value = 'group';
widget.onKeyUp(keyboardEvent);
@@ -171,7 +171,7 @@ describe('FunctionalGroupWidgetComponent', () => {
})
);
let keyboardEvent = new KeyboardEvent('keypress');
const keyboardEvent = new KeyboardEvent('keypress');
widget.value = 'group';
widget.onKeyUp(keyboardEvent);
@@ -182,7 +182,7 @@ describe('FunctionalGroupWidgetComponent', () => {
it('should not fetch groups when value is missing', () => {
spyOn(formService, 'getWorkflowGroups').and.stub();
let keyboardEvent = new KeyboardEvent('keypress');
const keyboardEvent = new KeyboardEvent('keypress');
widget.value = null;
widget.onKeyUp(keyboardEvent);
@@ -192,7 +192,7 @@ describe('FunctionalGroupWidgetComponent', () => {
it('should not fetch groups when value violates constraints', () => {
spyOn(formService, 'getWorkflowGroups').and.stub();
let keyboardEvent = new KeyboardEvent('keypress');
const keyboardEvent = new KeyboardEvent('keypress');
widget.minTermLength = 4;
widget.value = '123';
widget.onKeyUp(keyboardEvent);

View File

@@ -45,14 +45,14 @@ export class FunctionalGroupWidgetComponent extends WidgetComponent implements O
ngOnInit() {
if (this.field) {
let group = this.field.value;
const group = this.field.value;
if (group) {
this.value = group.name;
}
let params = this.field.params;
const params = this.field.params;
if (params && params['restrictWithGroup']) {
let restrictWithGroup = <GroupModel> params['restrictWithGroup'];
const restrictWithGroup = <GroupModel> params['restrictWithGroup'];
this.groupId = restrictWithGroup.id;
}
@@ -78,7 +78,7 @@ export class FunctionalGroupWidgetComponent extends WidgetComponent implements O
}
flushValue() {
let option = this.groups.find((item) => item.name.toLocaleLowerCase() === this.value.toLocaleLowerCase());
const option = this.groups.find((item) => item.name.toLocaleLowerCase() === this.value.toLocaleLowerCase());
if (option) {
this.field.value = option;

View File

@@ -63,7 +63,7 @@ describe('PeopleWidgetComponent', () => {
});
it('should return full name for a given model', () => {
let model = new UserProcessModel({
const model = new UserProcessModel({
firstName: 'John',
lastName: 'Doe'
});
@@ -71,12 +71,12 @@ describe('PeopleWidgetComponent', () => {
});
it('should skip first name for display name', () => {
let model = new UserProcessModel({ firstName: null, lastName: 'Doe' });
const model = new UserProcessModel({ firstName: null, lastName: 'Doe' });
expect(widget.getDisplayName(model)).toBe('Doe');
});
it('should skip last name for display name', () => {
let model = new UserProcessModel({ firstName: 'John', lastName: null });
const model = new UserProcessModel({ firstName: 'John', lastName: null });
expect(widget.getDisplayName(model)).toBe('John');
});
@@ -129,7 +129,7 @@ describe('PeopleWidgetComponent', () => {
widget.field.value = null;
widget.ngOnInit();
fixture.detectChanges();
let input = widget.input;
const input = widget.input;
expect(input.nativeElement.value).toBe('');
expect(widget.groupId).toBeUndefined();
});
@@ -161,7 +161,7 @@ describe('PeopleWidgetComponent', () => {
describe('when template is ready', () => {
let fakeUserResult = [
const fakeUserResult = [
{ id: 1001, firstName: 'Test01', lastName: 'Test01', email: 'test' },
{ id: 1002, firstName: 'Test02', lastName: 'Test02', email: 'test2' }];
@@ -190,7 +190,7 @@ describe('PeopleWidgetComponent', () => {
});
it('should show an error message if the user is invalid', async(() => {
let peopleHTMLElement: HTMLInputElement = <HTMLInputElement> element.querySelector('input');
const peopleHTMLElement: HTMLInputElement = <HTMLInputElement> element.querySelector('input');
peopleHTMLElement.focus();
peopleHTMLElement.value = 'K';
peopleHTMLElement.dispatchEvent(new Event('keyup'));
@@ -203,7 +203,7 @@ describe('PeopleWidgetComponent', () => {
}));
it('should show the people if the typed result match', async(() => {
let peopleHTMLElement: HTMLInputElement = <HTMLInputElement> element.querySelector('input');
const peopleHTMLElement: HTMLInputElement = <HTMLInputElement> element.querySelector('input');
peopleHTMLElement.focus();
peopleHTMLElement.value = 'T';
peopleHTMLElement.dispatchEvent(new Event('keyup'));
@@ -217,7 +217,7 @@ describe('PeopleWidgetComponent', () => {
}));
it('should hide result list if input is empty', () => {
let peopleHTMLElement: HTMLInputElement = <HTMLInputElement> element.querySelector('input');
const peopleHTMLElement: HTMLInputElement = <HTMLInputElement> element.querySelector('input');
peopleHTMLElement.focus();
peopleHTMLElement.value = '';
peopleHTMLElement.dispatchEvent(new Event('keyup'));
@@ -230,7 +230,7 @@ describe('PeopleWidgetComponent', () => {
});
it('should display two options if we tap one letter', async(() => {
let peopleHTMLElement: HTMLInputElement = <HTMLInputElement> element.querySelector('input');
const peopleHTMLElement: HTMLInputElement = <HTMLInputElement> element.querySelector('input');
peopleHTMLElement.focus();
peopleHTMLElement.value = 'T';
peopleHTMLElement.dispatchEvent(new Event('keyup'));
@@ -244,8 +244,8 @@ describe('PeopleWidgetComponent', () => {
}));
it('should emit peopleSelected if option is valid', async() => {
let selectEmitSpy = spyOn(widget.peopleSelected, 'emit');
let peopleHTMLElement: HTMLInputElement = <HTMLInputElement> element.querySelector('input');
const selectEmitSpy = spyOn(widget.peopleSelected, 'emit');
const peopleHTMLElement: HTMLInputElement = <HTMLInputElement> element.querySelector('input');
peopleHTMLElement.focus();
peopleHTMLElement.value = 'Test01 Test01';
peopleHTMLElement.dispatchEvent(new Event('keyup'));

View File

@@ -61,7 +61,7 @@ export class PeopleWidgetComponent extends WidgetComponent implements OnInit {
}),
distinctUntilChanged(),
switchMap((searchTerm) => {
let value = searchTerm.email ? this.getDisplayName(searchTerm) : searchTerm;
const value = searchTerm.email ? this.getDisplayName(searchTerm) : searchTerm;
return this.formService.getWorkflowUsers(value, this.groupId)
.pipe(
catchError((err) => {
@@ -71,7 +71,7 @@ export class PeopleWidgetComponent extends WidgetComponent implements OnInit {
);
}),
map((list: UserProcessModel[]) => {
let value = this.searchTerm.value.email ? this.getDisplayName(this.searchTerm.value) : this.searchTerm.value;
const value = this.searchTerm.value.email ? this.getDisplayName(this.searchTerm.value) : this.searchTerm.value;
this.checkUserAndValidateForm(list, value);
return list;
})
@@ -90,9 +90,9 @@ export class PeopleWidgetComponent extends WidgetComponent implements OnInit {
if (this.field.readOnly) {
this.searchTerm.disable();
}
let params = this.field.params;
const params = this.field.params;
if (params && params.restrictWithGroup) {
let restrictWithGroup = <GroupModel> params.restrictWithGroup;
const restrictWithGroup = <GroupModel> params.restrictWithGroup;
this.groupId = restrictWithGroup.id;
}
}
@@ -125,7 +125,7 @@ export class PeopleWidgetComponent extends WidgetComponent implements OnInit {
getDisplayName(model: UserProcessModel) {
if (model) {
let displayName = `${model.firstName || ''} ${model.lastName || ''}`;
const displayName = `${model.firstName || ''} ${model.lastName || ''}`;
return displayName.trim();
}
return '';

View File

@@ -50,7 +50,7 @@ describe('RadioButtonsWidgetComponent', () => {
const taskId = '<form-id>';
const fieldId = '<field-id>';
let form = new FormModel({
const form = new FormModel({
taskId: taskId
});
@@ -71,7 +71,7 @@ describe('RadioButtonsWidgetComponent', () => {
const taskId = '<form-id>';
const fieldId = '<field-id>';
let form = new FormModel({
const form = new FormModel({
taskId: taskId
});
@@ -79,7 +79,7 @@ describe('RadioButtonsWidgetComponent', () => {
id: fieldId,
restUrl: '<url>'
});
let field = widget.field;
const field = widget.field;
spyOn(field, 'updateForm').and.stub();
spyOn(formService, 'getRestFieldValues').and.returnValue(new Observable((observer) => {
@@ -94,7 +94,7 @@ describe('RadioButtonsWidgetComponent', () => {
const taskId = '<form-id>';
const fieldId = '<field-id>';
let form = new FormModel({
const form = new FormModel({
taskId: taskId
});
@@ -107,7 +107,7 @@ describe('RadioButtonsWidgetComponent', () => {
observer.complete();
}));
let field = widget.field;
const field = widget.field;
widget.field = null;
widget.ngOnInit();
expect(formService.getRestFieldValues).not.toHaveBeenCalled();
@@ -134,7 +134,7 @@ describe('RadioButtonsWidgetComponent', () => {
let fixture: ComponentFixture<RadioButtonsWidgetComponent>;
let element: HTMLElement;
let stubFormService: FormService;
let restOption: FormFieldOption[] = [{ id: 'opt-1', name: 'opt-name-1' }, {
const restOption: FormFieldOption[] = [{ id: 'opt-1', name: 'opt-name-1' }, {
id: 'opt-2',
name: 'opt-name-2'
}];
@@ -161,7 +161,7 @@ describe('RadioButtonsWidgetComponent', () => {
restUrl: 'rest-url'
});
radioButtonWidget.field.isVisible = true;
let fakeContainer = new ContainerModel(radioButtonWidget.field);
const fakeContainer = new ContainerModel(radioButtonWidget.field);
radioButtonWidget.field.form.fields.push(fakeContainer);
fixture.detectChanges();
}));
@@ -175,7 +175,7 @@ describe('RadioButtonsWidgetComponent', () => {
}));
it('should trigger field changed event on click', async(() => {
let option: HTMLElement = <HTMLElement> element.querySelector('#radio-id-opt-1-input');
const option: HTMLElement = <HTMLElement> element.querySelector('#radio-id-opt-1-input');
expect(element.querySelector('#radio-id')).not.toBeNull();
expect(option).not.toBeNull();
option.click();

View File

@@ -56,7 +56,7 @@ describe('TabsWidgetComponent', () => {
});
it('should emit tab changed event', (done) => {
let field = new FormFieldModel(null);
const field = new FormFieldModel(null);
widget.formTabChanged.subscribe((tab) => {
expect(tab).toBe(field);
done();
@@ -65,7 +65,7 @@ describe('TabsWidgetComponent', () => {
});
it('should remove invisible tabs', () => {
let fakeTab = new TabModel(null, { id: 'fake-tab-id', title: 'fake-tab-title' });
const fakeTab = new TabModel(null, { id: 'fake-tab-id', title: 'fake-tab-title' });
fakeTab.isVisible = false;
widget.tabs.push(fakeTab);
widget.ngAfterContentChecked();
@@ -74,7 +74,7 @@ describe('TabsWidgetComponent', () => {
});
it('should leave visible tabs', () => {
let fakeTab = new TabModel(null, { id: 'fake-tab-id', title: 'fake-tab-title' });
const fakeTab = new TabModel(null, { id: 'fake-tab-id', title: 'fake-tab-title' });
fakeTab.isVisible = true;
widget.tabs.push(fakeTab);
widget.ngAfterContentChecked();

View File

@@ -101,8 +101,8 @@ export class InputMaskDirective implements OnChanges, ControlValueAccessor {
private maskValue(actualValue, startCaret, maskToApply, isMaskReversed, keyCode) {
if (this.byPassKeys.indexOf(keyCode) === -1) {
let value = this.getMasked(false, actualValue, maskToApply, isMaskReversed);
let calculatedCaret = this.calculateCaretPosition(startCaret, actualValue, keyCode);
const value = this.getMasked(false, actualValue, maskToApply, isMaskReversed);
const calculatedCaret = this.calculateCaretPosition(startCaret, actualValue, keyCode);
this.render.setAttribute(this.el.nativeElement, 'value', value);
this.el.nativeElement.value = value;
this.setValue(value);
@@ -117,9 +117,9 @@ export class InputMaskDirective implements OnChanges, ControlValueAccessor {
}
calculateCaretPosition(caretPosition, newValue, keyCode) {
let newValueLength = newValue.length;
let oldValue = this.getValue() || '';
let oldValueLength = oldValue.length;
const newValueLength = newValue.length;
const oldValue = this.getValue() || '';
const oldValueLength = oldValue.length;
if (keyCode === 8 && oldValue !== newValue) {
caretPosition = caretPosition - (newValue.slice(0, caretPosition).length - oldValue.slice(0, caretPosition).length);
@@ -134,18 +134,18 @@ export class InputMaskDirective implements OnChanges, ControlValueAccessor {
}
getMasked(skipMaskChars, val, mask, isReversed = false) {
let buf = [],
value = val,
maskIndex = 0,
maskLen = mask.length,
valueIndex = 0,
valueLength = value.length,
offset = 1,
addMethod = 'push',
resetPos = -1,
lastMaskChar,
lastUntranslatedMaskChar,
check;
const buf = [];
const value = val;
let maskIndex = 0;
const maskLen = mask.length;
let valueIndex = 0;
const valueLength = value.length;
let offset = 1;
let addMethod = 'push';
let resetPos = -1;
let lastMaskChar;
let lastUntranslatedMaskChar;
let check;
if (isReversed) {
addMethod = 'unshift';
@@ -158,7 +158,7 @@ export class InputMaskDirective implements OnChanges, ControlValueAccessor {
}
check = this.isToCheck(isReversed, maskIndex, maskLen, valueIndex, valueLength);
while (check) {
let maskDigit = mask.charAt(maskIndex),
const maskDigit = mask.charAt(maskIndex),
valDigit = value.charAt(valueIndex),
translation = this.translationMask[maskDigit];
@@ -203,7 +203,7 @@ export class InputMaskDirective implements OnChanges, ControlValueAccessor {
check = this.isToCheck(isReversed, maskIndex, maskLen, valueIndex, valueLength);
}
let lastMaskCharDigit = mask.charAt(lastMaskChar);
const lastMaskCharDigit = mask.charAt(lastMaskChar);
if (maskLen === valueLength + 1 && !this.translationMask[lastMaskCharDigit]) {
buf.push(lastMaskCharDigit);
}

View File

@@ -151,7 +151,7 @@ describe('TextWidgetComponent', () => {
inputElement.value = 'F';
widget.field.value = 'F';
let event: any = new Event('keyup');
const event: any = new Event('keyup');
event.keyCode = '70';
inputElement.dispatchEvent(event);
fixture.detectChanges();
@@ -183,13 +183,13 @@ describe('TextWidgetComponent', () => {
inputElement.value = '1';
widget.field.value = '1';
let event: any = new Event('keyup');
const event: any = new Event('keyup');
event.keyCode = '49';
inputElement.dispatchEvent(event);
fixture.whenStable().then(() => {
fixture.detectChanges();
let textEle: HTMLInputElement = <HTMLInputElement> element.querySelector('#text-id');
const textEle: HTMLInputElement = <HTMLInputElement> element.querySelector('#text-id');
expect(textEle.value).toBe('1');
});
}));
@@ -199,13 +199,13 @@ describe('TextWidgetComponent', () => {
inputElement.value = '12345678';
widget.field.value = '12345678';
let event: any = new Event('keyup');
const event: any = new Event('keyup');
event.keyCode = '49';
inputElement.dispatchEvent(event);
fixture.whenStable().then(() => {
fixture.detectChanges();
let textEle: HTMLInputElement = <HTMLInputElement> element.querySelector('#text-id');
const textEle: HTMLInputElement = <HTMLInputElement> element.querySelector('#text-id');
expect(textEle.value).toBe('12-345,67%');
});
}));
@@ -239,13 +239,13 @@ describe('TextWidgetComponent', () => {
inputElement.value = '1234';
widget.field.value = '1234';
let event: any = new Event('keyup');
const event: any = new Event('keyup');
event.keyCode = '49';
inputElement.dispatchEvent(event);
fixture.whenStable().then(() => {
fixture.detectChanges();
let textEle: HTMLInputElement = <HTMLInputElement> element.querySelector('#text-id');
const textEle: HTMLInputElement = <HTMLInputElement> element.querySelector('#text-id');
expect(textEle.value).toBe('12,34%');
});
}));

View File

@@ -58,7 +58,7 @@ describe('TypeaheadWidgetComponent', () => {
const taskId = '<form-id>';
const fieldId = '<field-id>';
let form = new FormModel({
const form = new FormModel({
taskId: taskId
});
@@ -79,7 +79,7 @@ describe('TypeaheadWidgetComponent', () => {
const taskId = '<form-id>';
const fieldId = '<field-id>';
let form = new FormModel({
const form = new FormModel({
taskId: taskId
});
@@ -96,7 +96,7 @@ describe('TypeaheadWidgetComponent', () => {
const taskId = '<form-id>';
const fieldId = '<field-id>';
let form = new FormModel({
const form = new FormModel({
taskId: taskId
});
@@ -118,7 +118,7 @@ describe('TypeaheadWidgetComponent', () => {
const processDefinitionId = '<process-id>';
const fieldId = '<field-id>';
let form = new FormModel({
const form = new FormModel({
processDefinitionId: processDefinitionId
});
@@ -170,7 +170,7 @@ describe('TypeaheadWidgetComponent', () => {
});
it('should setup field options on load', () => {
let options: FormFieldOption[] = [
const options: FormFieldOption[] = [
{ id: '1', name: 'One' },
{ id: '2', name: 'Two' }
];
@@ -197,27 +197,27 @@ describe('TypeaheadWidgetComponent', () => {
});
it('should get filtered options', () => {
let options: FormFieldOption[] = [
const options: FormFieldOption[] = [
{ id: '1', name: 'Item one' },
{ id: '2', name: 'Item two' }
];
widget.field.options = options;
widget.value = 'tw';
let filtered = widget.getOptions();
const filtered = widget.getOptions();
expect(filtered.length).toBe(1);
expect(filtered[0]).toEqual(options[1]);
});
it('should be case insensitive when filtering options', () => {
let options: FormFieldOption[] = [
const options: FormFieldOption[] = [
{ id: '1', name: 'Item one' },
{ id: '2', name: 'iTEM TWo' }
];
widget.field.options = options;
widget.value = 'tW';
let filtered = widget.getOptions();
const filtered = widget.getOptions();
expect(filtered.length).toBe(1);
expect(filtered[0]).toEqual(options[1]);
});
@@ -227,7 +227,7 @@ describe('TypeaheadWidgetComponent', () => {
let fixture: ComponentFixture<TypeaheadWidgetComponent>;
let element: HTMLElement;
let stubFormService;
let fakeOptionList: FormFieldOption[] = [{
const fakeOptionList: FormFieldOption[] = [{
id: '1',
name: 'Fake Name 1 '
}, {
@@ -259,7 +259,7 @@ describe('TypeaheadWidgetComponent', () => {
fixture.detectChanges();
fixture.whenStable().then(() => {
fixture.detectChanges();
let readonlyInput: HTMLInputElement = <HTMLInputElement> element.querySelector('#typeahead-id');
const readonlyInput: HTMLInputElement = <HTMLInputElement> element.querySelector('#typeahead-id');
expect(readonlyInput.disabled).toBeTruthy();
expect(readonlyInput).not.toBeNull();
expect(readonlyInput.value).toBe('FakeProcessValue');
@@ -294,8 +294,8 @@ describe('TypeaheadWidgetComponent', () => {
}));
it('should show typeahead options', async(() => {
let typeaheadElement = fixture.debugElement.query(By.css('#typeahead-id'));
let typeaheadHTMLElement: HTMLInputElement = <HTMLInputElement> typeaheadElement.nativeElement;
const typeaheadElement = fixture.debugElement.query(By.css('#typeahead-id'));
const typeaheadHTMLElement: HTMLInputElement = <HTMLInputElement> typeaheadElement.nativeElement;
typeaheadHTMLElement.focus();
typeaheadWidgetComponent.value = 'F';
typeaheadHTMLElement.value = 'F';
@@ -311,8 +311,8 @@ describe('TypeaheadWidgetComponent', () => {
}));
it('should hide the option when the value is empty', async(() => {
let typeaheadElement = fixture.debugElement.query(By.css('#typeahead-id'));
let typeaheadHTMLElement: HTMLInputElement = <HTMLInputElement> typeaheadElement.nativeElement;
const typeaheadElement = fixture.debugElement.query(By.css('#typeahead-id'));
const typeaheadHTMLElement: HTMLInputElement = <HTMLInputElement> typeaheadElement.nativeElement;
typeaheadHTMLElement.focus();
typeaheadWidgetComponent.value = 'F';
typeaheadHTMLElement.value = 'F';
@@ -339,7 +339,7 @@ describe('TypeaheadWidgetComponent', () => {
typeaheadWidgetComponent.field.value = 'Fake Name';
typeaheadWidgetComponent.field.options = fakeOptionList;
expect(element.querySelector('.adf-error-text')).toBeNull();
let keyboardEvent = new KeyboardEvent('keypress');
const keyboardEvent = new KeyboardEvent('keypress');
typeaheadWidgetComponent.onKeyUp(keyboardEvent);
fixture.detectChanges();
fixture.whenStable().then(() => {
@@ -372,7 +372,7 @@ describe('TypeaheadWidgetComponent', () => {
}));
it('should show typeahead options', async(() => {
let keyboardEvent = new KeyboardEvent('keypress');
const keyboardEvent = new KeyboardEvent('keypress');
typeaheadWidgetComponent.value = 'F';
typeaheadWidgetComponent.onKeyUp(keyboardEvent);
fixture.detectChanges();

View File

@@ -62,12 +62,12 @@ export class TypeaheadWidgetComponent extends WidgetComponent implements OnInit
)
.subscribe(
(formFieldOption: FormFieldOption[]) => {
let options = formFieldOption || [];
const options = formFieldOption || [];
this.field.options = options;
let fieldValue = this.field.value;
const fieldValue = this.field.value;
if (fieldValue) {
let toSelect = options.find((item) => item.id === fieldValue || item.name.toLocaleLowerCase() === fieldValue.toLocaleLowerCase());
const toSelect = options.find((item) => item.id === fieldValue || item.name.toLocaleLowerCase() === fieldValue.toLocaleLowerCase());
if (toSelect) {
this.value = toSelect.name;
}
@@ -87,12 +87,12 @@ export class TypeaheadWidgetComponent extends WidgetComponent implements OnInit
)
.subscribe(
(formFieldOption: FormFieldOption[]) => {
let options = formFieldOption || [];
const options = formFieldOption || [];
this.field.options = options;
let fieldValue = this.field.value;
const fieldValue = this.field.value;
if (fieldValue) {
let toSelect = options.find((item) => item.id === fieldValue);
const toSelect = options.find((item) => item.id === fieldValue);
if (toSelect) {
this.value = toSelect.name;
}
@@ -105,15 +105,15 @@ export class TypeaheadWidgetComponent extends WidgetComponent implements OnInit
}
getOptions(): FormFieldOption[] {
let val = this.value.trim().toLocaleLowerCase();
const val = this.value.trim().toLocaleLowerCase();
return this.field.options.filter((item) => {
let name = item.name.toLocaleLowerCase();
const name = item.name.toLocaleLowerCase();
return name.indexOf(val) > -1;
});
}
isValidOptionName(optionName: string): boolean {
let option = this.field.options.find((item) => item.name && item.name.toLocaleLowerCase() === optionName.toLocaleLowerCase());
const option = this.field.options.find((item) => item.name && item.name.toLocaleLowerCase() === optionName.toLocaleLowerCase());
return option ? true : false;
}

View File

@@ -67,7 +67,7 @@ export class UploadFolderWidgetComponent extends WidgetComponent implements OnIn
}
onFileChanged(event: any) {
let files = event.target.files;
const files = event.target.files;
let filesSaved = [];
if (this.field.json.value) {
@@ -112,7 +112,7 @@ export class UploadFolderWidgetComponent extends WidgetComponent implements OnIn
}
private removeElementFromList(file) {
let index = this.field.value.indexOf(file);
const index = this.field.value.indexOf(file);
if (index !== -1) {
this.field.value.splice(index, 1);

View File

@@ -29,7 +29,7 @@ import { setupTestBed } from '../../../../testing/setupTestBed';
import { CoreModule } from '../../../../core.module';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
let fakePngAnswer = {
const fakePngAnswer = {
'id': 1155,
'name': 'a_png_file.png',
'created': '2017-07-25T17:17:37.099Z',
@@ -43,7 +43,7 @@ let fakePngAnswer = {
'thumbnailStatus': 'queued'
};
let fakeJpgAnswer = {
const fakeJpgAnswer = {
'id': 1156,
'name': 'a_jpg_file.jpg',
'created': '2017-07-25T17:17:37.118Z',
@@ -77,8 +77,8 @@ describe('UploadWidgetComponent', () => {
let contentService: ProcessContentService;
let filePngFake = new File(['fakePng'], 'file-fake.png', { type: 'image/png' });
let filJpgFake = new File(['fakeJpg'], 'file-fake.jpg', { type: 'image/jpg' });
const filePngFake = new File(['fakePng'], 'file-fake.png', { type: 'image/png' });
const filJpgFake = new File(['fakeJpg'], 'file-fake.jpg', { type: 'image/jpg' });
setupTestBed({
imports: [
@@ -193,10 +193,10 @@ describe('UploadWidgetComponent', () => {
uploadWidgetComponent.field.params.multiple = false;
fixture.detectChanges();
let inputDebugElement = fixture.debugElement.query(By.css('#upload-id'));
const inputDebugElement = fixture.debugElement.query(By.css('#upload-id'));
inputDebugElement.triggerEventHandler('change', { target: { files: [filJpgFake] } });
let filesList = fixture.debugElement.query(By.css('#file-1156'));
const filesList = fixture.debugElement.query(By.css('#file-1156'));
expect(filesList).toBeDefined();
}));
@@ -216,12 +216,12 @@ describe('UploadWidgetComponent', () => {
spyOn(uploadWidgetComponent.field, 'updateForm');
fixture.detectChanges();
let inputDebugElement = fixture.debugElement.query(By.css('#upload-id'));
const inputDebugElement = fixture.debugElement.query(By.css('#upload-id'));
inputDebugElement.triggerEventHandler('change', { target: { files: [filePngFake, filJpgFake] } });
fixture.whenStable().then(() => {
fixture.detectChanges();
let deleteButton = <HTMLInputElement> element.querySelector('#file-1155-remove');
const deleteButton = <HTMLInputElement> element.querySelector('#file-1155-remove');
deleteButton.click();
expect(uploadWidgetComponent.field.updateForm).toHaveBeenCalled();
@@ -242,7 +242,7 @@ describe('UploadWidgetComponent', () => {
uploadWidgetComponent.field.params.multiple = true;
fixture.detectChanges();
let inputDebugElement = fixture.debugElement.query(By.css('#upload-id'));
const inputDebugElement = fixture.debugElement.query(By.css('#upload-id'));
inputDebugElement.triggerEventHandler('change', { target: { files: [filePngFake, filJpgFake] } });
fixture.whenStable().then(() => {
@@ -266,8 +266,8 @@ describe('UploadWidgetComponent', () => {
fixture.whenStable().then(() => {
fixture.detectChanges();
let jpegElement = element.querySelector('#file-1156');
let pngElement = element.querySelector('#file-1155');
const jpegElement = element.querySelector('#file-1156');
const pngElement = element.querySelector('#file-1155');
expect(jpegElement).not.toBeNull();
expect(pngElement).not.toBeNull();
expect(jpegElement.textContent).toBe('a_jpg_file.jpg');
@@ -281,20 +281,20 @@ describe('UploadWidgetComponent', () => {
fixture.whenStable().then(() => {
fixture.detectChanges();
let jpegElement = element.querySelector('#file-10');
const jpegElement = element.querySelector('#file-10');
expect(jpegElement).not.toBeNull();
expect(jpegElement.textContent).toBe(`±!@#$%^&*()_+{}:”|<>?§™£-=[];\\,./.jpg`);
});
}));
it('should show correctly the file name when is formed with Arabic characters', async(() => {
let name = 'غ ظ ض ذ خ ث ت ش ر ق ص ف ع س ن م ل ك ي ط ح ز و ه د ج ب ا.jpg';
const name = 'غ ظ ض ذ خ ث ت ش ر ق ص ف ع س ن م ل ك ي ط ح ز و ه د ج ب ا.jpg';
uploadWidgetComponent.field.value.push(fakeCreationFile(name, 11));
fixture.detectChanges();
fixture.whenStable().then(() => {
fixture.detectChanges();
let jpegElement = element.querySelector('#file-11');
const jpegElement = element.querySelector('#file-11');
expect(jpegElement).not.toBeNull();
expect(jpegElement.textContent).toBe('غ ظ ض ذ خ ث ت ش ر ق ص ف ع س ن م ل ك ي ط ح ز و ه د ج ب ا.jpg');
});
@@ -308,7 +308,7 @@ describe('UploadWidgetComponent', () => {
fixture.whenStable().then(() => {
fixture.detectChanges();
let jpegElement = element.querySelector('#file-12');
const jpegElement = element.querySelector('#file-12');
expect(jpegElement).not.toBeNull();
// cspell: disable-next
expect(jpegElement.textContent).toBe('Àâæçéèêëïîôœùûüÿ.jpg');
@@ -323,7 +323,7 @@ describe('UploadWidgetComponent', () => {
fixture.whenStable().then(() => {
fixture.detectChanges();
let jpegElement = element.querySelector('#file-13');
const jpegElement = element.querySelector('#file-13');
expect(jpegElement).not.toBeNull();
// cspell: disable-next
expect(jpegElement.textContent).toBe('άέήίϊϊΐόύϋΰώθωερτψυιοπασδφγηςκλζχξωβνμ.jpg');
@@ -336,7 +336,7 @@ describe('UploadWidgetComponent', () => {
fixture.whenStable().then(() => {
fixture.detectChanges();
let jpegElement = element.querySelector('#file-14');
const jpegElement = element.querySelector('#file-14');
expect(jpegElement).not.toBeNull();
expect(jpegElement.textContent).toBe('Ą Ć Ę Ł Ń Ó Ś Ź Żą ć ę ł ń ó ś ź ż.jpg');
});
@@ -348,7 +348,7 @@ describe('UploadWidgetComponent', () => {
fixture.whenStable().then(() => {
fixture.detectChanges();
let jpegElement = element.querySelector('#file-15');
const jpegElement = element.querySelector('#file-15');
expect(jpegElement).not.toBeNull();
expect(jpegElement.textContent).toBe('á, é, í, ó, ú, ñ, Ñ, ü, Ü, ¿, ¡. Á, É, Í, Ó, Ú.jpg');
});
@@ -361,7 +361,7 @@ describe('UploadWidgetComponent', () => {
fixture.whenStable().then(() => {
fixture.detectChanges();
let jpegElement = element.querySelector('#file-16');
const jpegElement = element.querySelector('#file-16');
expect(jpegElement).not.toBeNull();
// cspell: disable-next
expect(jpegElement.textContent).toBe('Äåéö.jpg');
@@ -376,10 +376,10 @@ describe('UploadWidgetComponent', () => {
fixture.whenStable().then(() => {
fixture.detectChanges();
let buttonElement = <HTMLButtonElement> element.querySelector('#file-1156-remove');
const buttonElement = <HTMLButtonElement> element.querySelector('#file-1156-remove');
buttonElement.click();
fixture.detectChanges();
let jpegElement = element.querySelector('#file-1156');
const jpegElement = element.querySelector('#file-1156');
expect(jpegElement).toBeNull();
expect(uploadWidgetComponent.field.value.length).toBe(1);
});
@@ -402,7 +402,7 @@ describe('UploadWidgetComponent', () => {
fixture.detectChanges();
fixture.whenStable().then(() => {
let fileJpegIcon = debugElement.query(By.css('#file-1156-icon'));
const fileJpegIcon = debugElement.query(By.css('#file-1156-icon'));
fileJpegIcon.nativeElement.dispatchEvent(new MouseEvent('click'));
});

View File

@@ -67,7 +67,7 @@ export class UploadWidgetComponent extends WidgetComponent implements OnInit {
}
onFileChanged(event: any) {
let files = event.target.files;
const files = event.target.files;
let filesSaved = [];
if (this.field.json.value) {
@@ -109,7 +109,7 @@ export class UploadWidgetComponent extends WidgetComponent implements OnInit {
}
private removeElementFromList(file) {
let index = this.field.value.indexOf(file);
const index = this.field.value.indexOf(file);
if (index !== -1) {
this.field.value.splice(index, 1);

View File

@@ -64,8 +64,8 @@ describe('WidgetComponent', () => {
});
it('should send an event after view init', (done) => {
let fakeForm = new FormModel();
let fakeField = new FormFieldModel(fakeForm, {id: 'fakeField', value: 'fakeValue'});
const fakeForm = new FormModel();
const fakeField = new FormFieldModel(fakeForm, {id: 'fakeField', value: 'fakeValue'});
widget.field = fakeField;
widget.fieldChanged.subscribe((field) => {
@@ -79,8 +79,8 @@ describe('WidgetComponent', () => {
});
it('should send an event when a field is changed', (done) => {
let fakeForm = new FormModel();
let fakeField = new FormFieldModel(fakeForm, {id: 'fakeField', value: 'fakeValue'});
const fakeForm = new FormModel();
const fakeField = new FormFieldModel(fakeForm, {id: 'fakeField', value: 'fakeValue'});
widget.fieldChanged.subscribe((field) => {
expect(field).not.toBe(null);
expect(field.id).toBe('fakeField');