From 22ee8c8d84ce84753710a75e3e3e7a5636f3cde4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Can=20Y=C4=B1lmaz?=
<30300440+bariscanyilmaz@users.noreply.github.com>
Date: Fri, 17 Feb 2023 15:24:50 +0300
Subject: [PATCH] make checkbox custom wrapper
---
.../checkbox/checkbox.component.html | 15 +++++++++
.../checkbox/checkbox.component.scss | 0
.../checkbox/checkbox.component.spec.ts | 22 +++++++++++++
.../components/checkbox/checkbox.component.ts | 32 +++++++++++++++++++
4 files changed, 69 insertions(+)
create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.html
create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.scss
create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.spec.ts
create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/components/checkbox/checkbox.component.ts
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);
+ }
+
+}