mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
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:
committed by
Eugenio Romano
parent
26c5982a1a
commit
a7a48e8b2b
@@ -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'
|
||||
});
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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 });
|
||||
|
||||
|
@@ -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');
|
||||
|
@@ -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);
|
||||
|
@@ -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();
|
||||
|
@@ -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,
|
||||
|
@@ -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%');
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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()
|
||||
|
@@ -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);
|
||||
});
|
||||
|
||||
|
@@ -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;
|
||||
});
|
||||
|
@@ -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'
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
});
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
});
|
||||
|
||||
|
@@ -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);
|
||||
});
|
||||
|
||||
|
@@ -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;
|
||||
},
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
});
|
||||
|
||||
|
@@ -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');
|
||||
});
|
||||
}));
|
||||
|
@@ -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) {
|
||||
|
@@ -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');
|
||||
});
|
||||
}));
|
||||
|
@@ -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) {
|
||||
|
@@ -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');
|
||||
});
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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();
|
||||
|
@@ -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;
|
||||
|
@@ -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();
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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');
|
||||
});
|
||||
|
||||
|
@@ -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] = '';
|
||||
|
@@ -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');
|
||||
});
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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'
|
||||
}, {
|
||||
|
@@ -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) {
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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 === '' ||
|
||||
|
@@ -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) {
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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'));
|
||||
|
@@ -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 '';
|
||||
|
@@ -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();
|
||||
|
@@ -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();
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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%');
|
||||
});
|
||||
}));
|
||||
|
@@ -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();
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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'));
|
||||
});
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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');
|
||||
|
Reference in New Issue
Block a user