diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.html b/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.html new file mode 100644 index 0000000000..fa5ea40c91 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.html @@ -0,0 +1,15 @@ +
+ + +
\ No newline at end of file diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.scss b/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.spec.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.spec.ts new file mode 100644 index 0000000000..8abc252968 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.spec.ts @@ -0,0 +1,22 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CheckboxComponent } from './checkbox.component'; + +describe('CheckboxComponent', () => { + let component: CheckboxComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [CheckboxComponent], + }).compileComponents(); + + fixture = TestBed.createComponent(CheckboxComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.ts new file mode 100644 index 0000000000..1d7435a8a2 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.ts @@ -0,0 +1,32 @@ +import { AbstractNgModelComponent } from '@abp/ng.core'; +import { Component, EventEmitter, forwardRef, Injector, Input, Output } from '@angular/core'; +import { CheckboxControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; + +@Component({ + selector: 'abp-checkbox', + templateUrl: './checkbox.component.html', + styleUrls: ['./checkbox.component.scss'], + providers: [ + { + provide: NG_VALUE_ACCESSOR, + useExisting: forwardRef(() => CheckboxComponent), + multi: true, + }, + ] +}) +export class CheckboxComponent extends AbstractNgModelComponent { + + @Input() label: string; + @Input() checkboxId!: string; + @Input() formControl!: string; + @Input() checkboxStyle: string = ''; + @Input() checkboxClass: string = ''; + @Input() checkboxReadonly: boolean = false; + @Output() onBlur = new EventEmitter(); + @Output() onFocus = new EventEmitter(); + + constructor(injector: Injector) { + super(injector); + } + +}