diff --git a/lib/core/src/lib/form/components/widgets/multiline-text/multiline-text.widget.spec.ts b/lib/core/src/lib/form/components/widgets/multiline-text/multiline-text.widget.spec.ts
index 65677f6608..8782ca1546 100644
--- a/lib/core/src/lib/form/components/widgets/multiline-text/multiline-text.widget.spec.ts
+++ b/lib/core/src/lib/form/components/widgets/multiline-text/multiline-text.widget.spec.ts
@@ -15,16 +15,14 @@
* limitations under the License.
*/
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { MultilineTextWidgetComponentComponent } from './multiline-text.widget';
-import { CoreTestingModule } from '../../../../testing/core.testing.module';
-import { FormFieldModel } from '../core/form-field.model';
-import { FormModel } from '../core/form.model';
-import { FormFieldTypes } from '../core/form-field-types';
import { HarnessLoader } from '@angular/cdk/testing';
import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed';
+import { ComponentFixture, TestBed } from '@angular/core/testing';
import { MatInputHarness } from '@angular/material/input/testing';
import { MatTooltipHarness } from '@angular/material/tooltip/testing';
+import { CoreTestingModule } from '../../../../testing';
+import { FormFieldModel, FormFieldTypes, FormModel } from '../core';
+import { MultilineTextWidgetComponentComponent } from './multiline-text.widget';
describe('MultilineTextWidgetComponentComponent', () => {
let loader: HarnessLoader;
diff --git a/lib/core/src/lib/form/components/widgets/multiline-text/multiline-text.widget.ts b/lib/core/src/lib/form/components/widgets/multiline-text/multiline-text.widget.ts
index c765c6246e..12a195cb50 100644
--- a/lib/core/src/lib/form/components/widgets/multiline-text/multiline-text.widget.ts
+++ b/lib/core/src/lib/form/components/widgets/multiline-text/multiline-text.widget.ts
@@ -17,12 +17,20 @@
/* eslint-disable @angular-eslint/component-selector */
+import { NgIf } from '@angular/common';
import { Component, ViewEncapsulation } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { MatFormFieldModule } from '@angular/material/form-field';
+import { MatInputModule } from '@angular/material/input';
+import { MatTooltipModule } from '@angular/material/tooltip';
+import { TranslateModule } from '@ngx-translate/core';
import { FormService } from '../../../services/form.service';
+import { ErrorWidgetComponent } from '../error/error.component';
import { WidgetComponent } from '../widget.component';
@Component({
selector: 'multiline-text-widget',
+ standalone: true,
templateUrl: './multiline-text.widget.html',
styleUrls: ['./multiline-text.widget.scss'],
host: {
@@ -36,12 +44,11 @@ import { WidgetComponent } from '../widget.component';
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
+ imports: [MatFormFieldModule, NgIf, TranslateModule, MatInputModule, FormsModule, MatTooltipModule, ErrorWidgetComponent],
encapsulation: ViewEncapsulation.None
})
-export class MultilineTextWidgetComponentComponent extends WidgetComponent {
-
+export class MultilineTextWidgetComponentComponent extends WidgetComponent {
constructor(public formService: FormService) {
super(formService);
}
-
}
diff --git a/lib/core/src/lib/form/components/widgets/number/number.widget.html b/lib/core/src/lib/form/components/widgets/number/number.widget.html
index 5a23df0c4c..58c7a6b420 100644
--- a/lib/core/src/lib/form/components/widgets/number/number.widget.html
+++ b/lib/core/src/lib/form/components/widgets/number/number.widget.html
@@ -1,28 +1,36 @@
-
+
diff --git a/lib/core/src/lib/form/components/widgets/number/number.widget.spec.ts b/lib/core/src/lib/form/components/widgets/number/number.widget.spec.ts
index 890e94def2..0d4fbac7f4 100644
--- a/lib/core/src/lib/form/components/widgets/number/number.widget.spec.ts
+++ b/lib/core/src/lib/form/components/widgets/number/number.widget.spec.ts
@@ -15,17 +15,16 @@
* limitations under the License.
*/
+import { HarnessLoader } from '@angular/cdk/testing';
+import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed';
import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { FormsModule } from '@angular/forms';
import { MatIconModule } from '@angular/material/icon';
import { MatInputModule } from '@angular/material/input';
+import { MatInputHarness } from '@angular/material/input/testing';
+import { MatTooltipHarness } from '@angular/material/tooltip/testing';
import { CoreTestingModule } from '../../../../testing';
import { FormFieldModel, FormFieldTypes, FormModel } from '../core';
import { NumberWidgetComponent } from './number.widget';
-import { HarnessLoader } from '@angular/cdk/testing';
-import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed';
-import { MatInputHarness } from '@angular/material/input/testing';
-import { MatTooltipHarness } from '@angular/material/tooltip/testing';
describe('NumberWidgetComponent', () => {
let loader: HarnessLoader;
@@ -35,7 +34,7 @@ describe('NumberWidgetComponent', () => {
beforeEach(() => {
TestBed.configureTestingModule({
- imports: [CoreTestingModule, MatInputModule, FormsModule, MatIconModule]
+ imports: [CoreTestingModule, MatInputModule, MatIconModule]
});
fixture = TestBed.createComponent(NumberWidgetComponent);
widget = fixture.componentInstance;
diff --git a/lib/core/src/lib/form/components/widgets/number/number.widget.ts b/lib/core/src/lib/form/components/widgets/number/number.widget.ts
index e1840baab7..a0f7de6f00 100644
--- a/lib/core/src/lib/form/components/widgets/number/number.widget.ts
+++ b/lib/core/src/lib/form/components/widgets/number/number.widget.ts
@@ -15,15 +15,23 @@
* limitations under the License.
*/
- /* eslint-disable @angular-eslint/component-selector, @angular-eslint/no-input-rename */
+/* eslint-disable @angular-eslint/component-selector, @angular-eslint/no-input-rename */
-import { Component, ViewEncapsulation, OnInit } from '@angular/core';
+import { NgIf } from '@angular/common';
+import { Component, OnInit, ViewEncapsulation } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { MatFormFieldModule } from '@angular/material/form-field';
+import { MatInputModule } from '@angular/material/input';
+import { MatTooltipModule } from '@angular/material/tooltip';
+import { TranslateModule } from '@ngx-translate/core';
+import { DecimalNumberPipe } from '../../../../pipes';
import { FormService } from '../../../services/form.service';
+import { ErrorWidgetComponent } from '../error/error.component';
import { WidgetComponent } from '../widget.component';
-import { DecimalNumberPipe } from '../../../../pipes/decimal-number.pipe';
@Component({
selector: 'number-widget',
+ standalone: true,
templateUrl: './number.widget.html',
styleUrls: ['./number.widget.scss'],
host: {
@@ -37,15 +45,14 @@ import { DecimalNumberPipe } from '../../../../pipes/decimal-number.pipe';
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
+ imports: [NgIf, TranslateModule, MatFormFieldModule, MatInputModule, FormsModule, MatTooltipModule, ErrorWidgetComponent],
encapsulation: ViewEncapsulation.None
})
export class NumberWidgetComponent extends WidgetComponent implements OnInit {
-
displayValue: number;
- constructor(public formService: FormService,
- private decimalNumberPipe: DecimalNumberPipe) {
- super(formService);
+ constructor(public formService: FormService, private decimalNumberPipe: DecimalNumberPipe) {
+ super(formService);
}
ngOnInit() {
@@ -55,5 +62,4 @@ export class NumberWidgetComponent extends WidgetComponent implements OnInit {
this.displayValue = this.field.value;
}
}
-
}
diff --git a/lib/core/src/lib/form/components/widgets/text/text-mask.component.ts b/lib/core/src/lib/form/components/widgets/text/text-mask.component.ts
index 4093b4d92e..5581bf9ffe 100644
--- a/lib/core/src/lib/form/components/widgets/text/text-mask.component.ts
+++ b/lib/core/src/lib/form/components/widgets/text/text-mask.component.ts
@@ -31,6 +31,7 @@ export const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {
*/
@Directive({
selector: '[adf-text-mask], [textMask]',
+ standalone: true,
providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]
})
export class InputMaskDirective implements OnChanges, ControlValueAccessor {
diff --git a/lib/core/src/lib/form/components/widgets/text/text.widget.html b/lib/core/src/lib/form/components/widgets/text/text.widget.html
index 56938549f0..7c52424044 100644
--- a/lib/core/src/lib/form/components/widgets/text/text.widget.html
+++ b/lib/core/src/lib/form/components/widgets/text/text.widget.html
@@ -1,28 +1,35 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lib/core/src/lib/form/components/widgets/text/text.widget.ts b/lib/core/src/lib/form/components/widgets/text/text.widget.ts
index f3f3772d5e..43aae5d6a3 100644
--- a/lib/core/src/lib/form/components/widgets/text/text.widget.ts
+++ b/lib/core/src/lib/form/components/widgets/text/text.widget.ts
@@ -17,12 +17,21 @@
/* eslint-disable @angular-eslint/component-selector */
+import { NgIf } from '@angular/common';
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { MatFormFieldModule } from '@angular/material/form-field';
+import { MatInputModule } from '@angular/material/input';
+import { MatTooltipModule } from '@angular/material/tooltip';
+import { TranslateModule } from '@ngx-translate/core';
import { FormService } from '../../../services/form.service';
+import { ErrorWidgetComponent } from '../error/error.component';
import { WidgetComponent } from '../widget.component';
+import { InputMaskDirective } from './text-mask.component';
@Component({
selector: 'text-widget',
+ standalone: true,
templateUrl: './text.widget.html',
styleUrls: ['./text.widget.scss'],
host: {
@@ -36,10 +45,10 @@ import { WidgetComponent } from '../widget.component';
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
+ imports: [NgIf, TranslateModule, MatFormFieldModule, MatInputModule, FormsModule, MatTooltipModule, ErrorWidgetComponent, InputMaskDirective],
encapsulation: ViewEncapsulation.None
})
export class TextWidgetComponent extends WidgetComponent implements OnInit {
-
mask: string;
placeholder: string;
isMaskReversed: boolean;
@@ -51,7 +60,10 @@ export class TextWidgetComponent extends WidgetComponent implements OnInit {
ngOnInit() {
if (this.field.params) {
this.mask = this.field.params['inputMask'];
- this.placeholder = this.field.params['inputMask'] && this.field.params['inputMaskPlaceholder'] ? this.field.params['inputMaskPlaceholder'] : this.field.placeholder;
+ this.placeholder =
+ this.field.params['inputMask'] && this.field.params['inputMaskPlaceholder']
+ ? this.field.params['inputMaskPlaceholder']
+ : this.field.placeholder;
this.isMaskReversed = this.field.params['inputMaskReversed'] ? this.field.params['inputMaskReversed'] : false;
}
}
diff --git a/lib/core/src/lib/form/components/widgets/unknown/unknown.widget.ts b/lib/core/src/lib/form/components/widgets/unknown/unknown.widget.ts
index c26179110c..49a3d011db 100644
--- a/lib/core/src/lib/form/components/widgets/unknown/unknown.widget.ts
+++ b/lib/core/src/lib/form/components/widgets/unknown/unknown.widget.ts
@@ -15,22 +15,24 @@
* limitations under the License.
*/
- /* eslint-disable @angular-eslint/component-selector */
+/* eslint-disable @angular-eslint/component-selector */
import { Component, ViewEncapsulation } from '@angular/core';
+import { MatIconModule } from '@angular/material/icon';
+import { MatListModule } from '@angular/material/list';
import { FormService } from '../../../services/form.service';
import { WidgetComponent } from '../widget.component';
@Component({
selector: 'unknown-widget',
+ standalone: true,
template: `
-
-
- error_outline
- Unknown type: {{field.type}}
-
-
-
+
+
+ error_outline
+ Unknown type: {{ field.type }}
+
+
`,
styleUrls: ['./unknown.widget.scss'],
host: {
@@ -44,11 +46,11 @@ import { WidgetComponent } from '../widget.component';
'(invalid)': 'event($event)',
'(select)': 'event($event)'
},
+ imports: [MatListModule, MatIconModule],
encapsulation: ViewEncapsulation.None
})
export class UnknownWidgetComponent extends WidgetComponent {
-
constructor(public formService: FormService) {
- super(formService);
+ super(formService);
}
}
diff --git a/lib/core/src/lib/form/components/widgets/widget.component.spec.ts b/lib/core/src/lib/form/components/widgets/widget.component.spec.ts
index 2b76f7d1f5..4987842f28 100644
--- a/lib/core/src/lib/form/components/widgets/widget.component.spec.ts
+++ b/lib/core/src/lib/form/components/widgets/widget.component.spec.ts
@@ -16,12 +16,11 @@
*/
import { ComponentFixture, fakeAsync, TestBed } from '@angular/core/testing';
-import { FormFieldModel } from './core/form-field.model';
-import { FormModel } from './core/form.model';
-import { WidgetComponent } from './widget.component';
-import { CoreTestingModule } from '../../../testing';
import { filter } from 'rxjs/operators';
-import { FormRulesEvent } from '../../events/form-rules.event';
+import { CoreTestingModule } from '../../../testing';
+import { FormRulesEvent } from '../../events';
+import { FormFieldModel, FormModel } from './core';
+import { WidgetComponent } from './widget.component';
describe('WidgetComponent', () => {
let widget: WidgetComponent;
diff --git a/lib/core/src/lib/form/components/widgets/widget.component.ts b/lib/core/src/lib/form/components/widgets/widget.component.ts
index 8f89fb039b..f384959586 100644
--- a/lib/core/src/lib/form/components/widgets/widget.component.ts
+++ b/lib/core/src/lib/form/components/widgets/widget.component.ts
@@ -18,8 +18,7 @@
/* eslint-disable @angular-eslint/component-selector */
import { AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
-import { FormFieldEvent } from '../../events/form-field.event';
-import { FormRulesEvent } from '../../events/form-rules.event';
+import { FormFieldEvent, FormRulesEvent } from '../../events';
import { FormService } from '../../services/form.service';
import { FormFieldModel } from './core';
@@ -28,6 +27,7 @@ import { FormFieldModel } from './core';
*/
@Component({
selector: 'base-widget',
+ standalone: true,
template: '',
host: {
'(click)': 'event($event)',
diff --git a/lib/core/src/lib/form/form-base.module.ts b/lib/core/src/lib/form/form-base.module.ts
index f335293f96..b82f8aafec 100644
--- a/lib/core/src/lib/form/form-base.module.ts
+++ b/lib/core/src/lib/form/form-base.module.ts
@@ -15,56 +15,26 @@
* limitations under the License.
*/
-import { CommonModule } from '@angular/common';
-import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { NgModule } from '@angular/core';
-import { TranslateModule } from '@ngx-translate/core';
-import { DataTableModule } from '../datatable/datatable.module';
-import { PipeModule } from '../pipes/pipe.module';
-import { HttpClientModule } from '@angular/common/http';
-
-import { MaterialModule } from '../material.module';
-
-import { MASK_DIRECTIVE, WIDGET_DIRECTIVES } from './components/widgets';
-
import { StartFormCustomButtonDirective } from './components/form-custom-button.directive';
-
import { FormFieldComponent } from './components/form-field/form-field.component';
-import { WidgetComponent } from './components/widgets/widget.component';
-import { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimepicker/core';
import { FormRendererComponent } from './components/form-renderer.component';
-import { EditJsonDialogModule } from '../dialogs/edit-json/edit-json.dialog.module';
-import { A11yModule } from '@angular/cdk/a11y';
-import { ViewerModule } from '../viewer/viewer.module';
import { InplaceFormInputComponent } from './components/inplace-form-input/inplace-form-input.component';
-import { FORM_FIELD_MODEL_RENDER_MIDDLEWARE } from './components/middlewares/middleware';
import { DecimalRenderMiddlewareService } from './components/middlewares/decimal-middleware.service';
+import { FORM_FIELD_MODEL_RENDER_MIDDLEWARE } from './components/middlewares/middleware';
+import { MASK_DIRECTIVE, WIDGET_DIRECTIVES, WidgetComponent } from './components/widgets';
@NgModule({
imports: [
- CommonModule,
- A11yModule,
- DataTableModule,
- HttpClientModule,
- MaterialModule,
- TranslateModule,
- FormsModule,
- ReactiveFormsModule,
- PipeModule,
- MatDatetimepickerModule,
- MatNativeDatetimeModule,
- EditJsonDialogModule,
- ViewerModule
- ],
- declarations: [
FormFieldComponent,
FormRendererComponent,
- StartFormCustomButtonDirective,
- ...WIDGET_DIRECTIVES,
- ...MASK_DIRECTIVE,
WidgetComponent,
- InplaceFormInputComponent
+ StartFormCustomButtonDirective,
+ InplaceFormInputComponent,
+ ...WIDGET_DIRECTIVES,
+ ...MASK_DIRECTIVE
],
+ declarations: [],
exports: [
FormFieldComponent,
FormRendererComponent,
@@ -73,11 +43,12 @@ import { DecimalRenderMiddlewareService } from './components/middlewares/decimal
InplaceFormInputComponent,
WidgetComponent
],
- providers: [{
- provide: FORM_FIELD_MODEL_RENDER_MIDDLEWARE,
- useClass: DecimalRenderMiddlewareService,
- multi: true
- }]
+ providers: [
+ {
+ provide: FORM_FIELD_MODEL_RENDER_MIDDLEWARE,
+ useClass: DecimalRenderMiddlewareService,
+ multi: true
+ }
+ ]
})
-export class FormBaseModule {
-}
+export class FormBaseModule {}
diff --git a/lib/core/src/lib/form/models/form-rules.model.spec.ts b/lib/core/src/lib/form/models/form-rules.model.spec.ts
index 79e0a4ef63..43e4359cd3 100644
--- a/lib/core/src/lib/form/models/form-rules.model.spec.ts
+++ b/lib/core/src/lib/form/models/form-rules.model.spec.ts
@@ -15,21 +15,20 @@
* limitations under the License.
*/
-import { FormBaseModule } from '../form-base.module';
-import { CoreTestingModule } from '../../testing';
-import { ByPassFormRuleManager, FormRulesManager, formRulesManagerFactory, FORM_RULES_MANAGER } from './form-rules.model';
import { Injector } from '@angular/core';
import { TestBed } from '@angular/core/testing';
-import { FormModel } from '../components/widgets/core/form.model';
-import { FormRulesEvent } from '../events/form-rules.event';
-import { FormEvent } from '../events/form.event';
-import { FormService } from '../services/form.service';
import { getTestScheduler } from 'jasmine-marbles';
+import { CoreTestingModule } from '../../testing';
+import { FormModel } from '../components/widgets';
+import { FormEvent, FormRulesEvent } from '../events';
+import { FormService } from '../services/form.service';
+import { ByPassFormRuleManager, FORM_RULES_MANAGER, FormRulesManager, formRulesManagerFactory } from './form-rules.model';
class CustomRuleManager extends FormRulesManager
{
protected getRules() {
return null;
}
+
protected handleRuleEvent(): void {
return;
}
@@ -43,7 +42,7 @@ describe('Form Rules', () => {
describe('Injection token provided', () => {
beforeEach(() => {
TestBed.configureTestingModule({
- imports: [CoreTestingModule, FormBaseModule],
+ imports: [CoreTestingModule],
providers: [
{
provide: FORM_RULES_MANAGER,
@@ -108,7 +107,7 @@ describe('Form Rules', () => {
beforeEach(() => {
TestBed.configureTestingModule({
- imports: [CoreTestingModule, FormBaseModule]
+ imports: [CoreTestingModule]
});
injector = TestBed.inject(Injector);
rulesManager = formRulesManagerFactory(injector);
diff --git a/lib/core/src/lib/form/services/form.service.spec.ts b/lib/core/src/lib/form/services/form.service.spec.ts
index 95764a8e97..34aebc3407 100644
--- a/lib/core/src/lib/form/services/form.service.spec.ts
+++ b/lib/core/src/lib/form/services/form.service.spec.ts
@@ -18,7 +18,7 @@
import { TestBed } from '@angular/core/testing';
import { formModelTabs } from '../../mock';
import { FormService } from './form.service';
-import { CoreTestingModule } from '../../testing/core.testing.module';
+import { CoreTestingModule } from '../../testing';
describe('Form service', () => {
let service: FormService;
diff --git a/lib/process-services/src/lib/form/start-form.component.spec.ts b/lib/process-services/src/lib/form/start-form.component.spec.ts
index 880c44940d..5af7dc40a5 100644
--- a/lib/process-services/src/lib/form/start-form.component.spec.ts
+++ b/lib/process-services/src/lib/form/start-form.component.spec.ts
@@ -331,7 +331,7 @@ describe('StartFormComponent', () => {
expect(dateElement).toBeDefined();
expect(selectElement).toBeDefined();
- expect(translate.instant(inputLabelElement.textContent)).toBe('ClientName*');
+ expect(translate.instant(inputLabelElement.textContent.trim())).toBe('ClientName*');
expect(translate.instant(dateLabelElement.innerText)).toBe('BillDate (D-M-YYYY)');
expect(translate.instant(selectLabelElement.innerText)).toBe('ClaimType');
});
diff --git a/lib/testing/src/lib/protractor/core/pages/material/dropdown.page.ts b/lib/testing/src/lib/protractor/core/pages/material/dropdown.page.ts
index e2200ba100..a218bac20d 100644
--- a/lib/testing/src/lib/protractor/core/pages/material/dropdown.page.ts
+++ b/lib/testing/src/lib/protractor/core/pages/material/dropdown.page.ts
@@ -22,7 +22,6 @@ import { Logger } from '../../utils/logger';
import { materialLocators } from './material-locators';
export class DropdownPage {
-
dropDownElement: ElementFinder;
constructor(dropDownElement = $$(`div[class="${materialLocators.Select.arrow.wrapper.root}"]`).first()) {
@@ -36,7 +35,9 @@ export class DropdownPage {
async selectOption(option: string): Promise {
Logger.log(`Select dropdown option ${option}`);
- const optionElement = element.all(by.cssContainingText(`${materialLocators.Option.root} span${materialLocators.Option.text.class}`, option)).first();
+ const optionElement = element
+ .all(by.cssContainingText(`${materialLocators.Option.root.trim()} span${materialLocators.Option.text.class}`, option))
+ .first();
await BrowserActions.click(optionElement);
await browser.waitForAngular();
}
@@ -86,11 +87,15 @@ export class DropdownPage {
}
async checkOptionIsDisplayed(option: string): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(element.all(by.cssContainingText(`${materialLocators.Option.root} span${materialLocators.Option.text.class}`, option)).first());
+ await BrowserVisibility.waitUntilElementIsVisible(
+ element.all(by.cssContainingText(`${materialLocators.Option.root} span${materialLocators.Option.text.class}`, option)).first()
+ );
}
async checkOptionIsNotDisplayed(option: string): Promise {
- await BrowserVisibility.waitUntilElementIsNotVisible(element.all(by.cssContainingText(`${materialLocators.Option.root} span${materialLocators.Option.text.class}`, option)).first());
+ await BrowserVisibility.waitUntilElementIsNotVisible(
+ element.all(by.cssContainingText(`${materialLocators.Option.root} span${materialLocators.Option.text.class}`, option)).first()
+ );
}
async selectDropdownOption(option: string): Promise {