UNPKG

ng-devui

Version:

DevUI components based on Angular

1 lines 21.3 kB
{"version":3,"file":"ng-devui-checkbox.mjs","sources":["../../devui/checkbox/checkbox.component.ts","../../devui/checkbox/checkbox.component.html","../../devui/checkbox/checkbox-group.component.ts","../../devui/checkbox/checkbox-group.component.html","../../devui/checkbox/checkbox.module.ts","../../devui/checkbox/ng-devui-checkbox.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n TemplateRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DevConfigService, WithConfig } from 'ng-devui/utils';\nimport { Observable } from 'rxjs';\n\n@Component({\n selector: 'd-checkbox',\n templateUrl: './checkbox.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckBoxComponent),\n multi: true,\n },\n ],\n preserveWhitespaces: false,\n})\nexport class CheckBoxComponent implements ControlValueAccessor, AfterViewInit {\n static ID_SEED = 0;\n @Input() name: string;\n @Input() label: string;\n @Input() cssClass: string;\n @Input() color;\n @Input() disabled = false;\n @Input() isShowTitle = true;\n @Input() title;\n @Input() labelTemplate: TemplateRef<any>;\n @Input() halfchecked = false;\n @Input() @WithConfig() showAnimation = true;\n @Input() @WithConfig() showGlowStyle = true;\n @Input() beforeChange: (value) => boolean | Promise<boolean> | Observable<boolean>;\n @Output() change: EventEmitter<boolean> = new EventEmitter<boolean>();\n @HostBinding('class.devui-glow-style') get hasGlowStyle() {\n return this.showGlowStyle;\n }\n\n public id: number;\n public checked: boolean;\n private onChange = (_: any) => null;\n private onTouch = () => null;\n\n constructor(private changeDetectorRef: ChangeDetectorRef, private devConfigService: DevConfigService, private el: ElementRef) {\n this.id = CheckBoxComponent.ID_SEED++;\n }\n\n ngAfterViewInit(): void {\n if (this.showGlowStyle) {\n const glowBox = this.el.nativeElement.querySelector('.devui-checkbox > .devui-checkbox-glow-box');\n const labelDom = this.el.nativeElement.querySelector('.devui-checkbox > label');\n const labelHeight = labelDom && getComputedStyle(labelDom).height;\n if (glowBox && labelHeight && labelHeight !== '16px') {\n glowBox.style.height = labelHeight;\n }\n }\n }\n\n writeValue(checked: any): void {\n if (checked !== null) {\n this.checked = !!checked;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n toggle($event) {\n this.canChange().then((val) => {\n if (this.disabled || !val) {\n return;\n }\n this.checked = !this.checked;\n this.onChange(this.checked);\n this.change.next(this.checked);\n this.onTouch();\n });\n }\n\n canChange() {\n let changeResult = Promise.resolve(true);\n\n if (this.beforeChange) {\n const result: any = this.beforeChange(this.label);\n if (typeof result !== 'undefined') {\n if (result.then) {\n changeResult = result;\n } else if (result.subscribe) {\n changeResult = (result as Observable<boolean>).toPromise();\n } else {\n changeResult = Promise.resolve(result);\n }\n }\n }\n\n return changeResult;\n }\n}\n","<div\n class=\"devui-checkbox {{ cssClass }}\"\n [ngClass]=\"{\n active: checked,\n halfchecked: halfchecked,\n disabled: disabled,\n unchecked: !checked\n }\"\n>\n <div *ngIf=\"showGlowStyle\" class=\"devui-checkbox-glow-box\">\n <span *ngIf=\"showAnimation\" class=\"devui-checkbox-glow-bg\"></span>\n </div>\n <label title=\"{{ isShowTitle ? title || label : '' }}\" (click)=\"toggle($event)\">\n <input\n [name]=\"name || 'checkbox-' + id\"\n class=\"devui-checkbox-input\"\n type=\"checkbox\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [indeterminate]=\"halfchecked\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event.stopPropagation()\"\n />\n <span\n class=\"devui-checkbox-material\"\n [ngStyle]=\"{\n 'border-color': (checked || halfchecked) && color ? color : '',\n 'background-image': (color && halfchecked) || color ? 'linear-gradient(' + color + ', ' + color + ')' : '',\n 'background-color': color && halfchecked ? color : ''\n }\"\n [ngClass]=\"{\n 'custom-color': color,\n 'devui-checkbox-no-label': !label && !labelTemplate,\n 'devui-no-animation': !showAnimation,\n 'devui-checkbox-default-background': !halfchecked\n }\"\n >\n <span class=\"devui-checkbox-halfchecked-bg\"></span>\n <svg viewBox=\"0 0 14 14\" width=\"14\" height=\"14\" class=\"devui-checkbox-tick\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path\n class=\"devui-tick\"\n [ngClass]=\"{\n 'devui-no-animation': !showAnimation\n }\"\n d=\"M 2.3 7.0 5.6 9.6 11.4 3.5\"\n stroke=\"#fff\"\n stroke-width=\"1.5\"\n fill=\"none\"\n />\n </g>\n </svg>\n </span>\n <ng-template [ngIf]=\"!!label && !labelTemplate\">{{ label }}</ng-template>\n <ng-template\n [ngIf]=\"!!labelTemplate\"\n [ngTemplateOutlet]=\"labelTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: this, checked: checked, halfchecked: halfchecked, disabled: disabled, label: label }\"\n >\n </ng-template>\n </label>\n</div>\n","import { Component, EventEmitter, forwardRef, Input, OnChanges, Output, SimpleChanges, TemplateRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DevConfigService, WithConfig } from 'ng-devui/utils';\r\nimport { isArray } from 'lodash-es';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'd-checkbox-group',\r\n templateUrl: './checkbox-group.component.html',\r\n styleUrls: ['./checkbox-group.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CheckBoxGroupComponent),\r\n multi: true,\r\n },\r\n ],\r\n preserveWhitespaces: false,\r\n})\r\nexport class CheckBoxGroupComponent implements OnChanges, ControlValueAccessor {\r\n static ID_SEED = 0;\r\n @Input() name: string;\r\n @Input() itemWidth: number;\r\n @Input() color;\r\n @Input() direction: 'row' | 'column' = 'column';\r\n @Input() isShowTitle = true;\r\n @Input() disabled = false;\r\n @Input() options = [];\r\n @Input() filterKey: string;\r\n @Input() labelTemplate: TemplateRef<any>;\r\n @Input() @WithConfig() showAnimation = true;\r\n @Input() beforeChange: (value) => boolean | Promise<boolean> | Observable<boolean>;\r\n @Output() change: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n values: any[] = [];\r\n options_display = [];\r\n private onChange = (_: any) => null;\r\n private onTouch = () => null;\r\n\r\n constructor(private devConfigService: DevConfigService) {}\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.options) {\r\n this.values = this.values ?? [];\r\n this.checkType();\r\n }\r\n }\r\n\r\n checkType() {\r\n this.options = this.options ?? [];\r\n this.options_display = [];\r\n const checkedArray = [];\r\n this.values.forEach((item) => {\r\n if (this.filterKey && item[this.filterKey]) {\r\n checkedArray[item[this.filterKey]] = true;\r\n } else {\r\n checkedArray[item] = true;\r\n }\r\n });\r\n this.options.forEach((item) => {\r\n const option: any = { isChecked: false };\r\n option.value = item;\r\n if (this.filterKey && item[this.filterKey]) {\r\n if (checkedArray[item[this.filterKey]] === true) {\r\n option.isChecked = true;\r\n }\r\n } else {\r\n if (checkedArray[item] === true) {\r\n option.isChecked = true;\r\n }\r\n }\r\n this.options_display.push(option);\r\n });\r\n }\r\n\r\n writeValue(inputArray: any): void {\r\n if (inputArray && isArray(inputArray)) {\r\n this.values = inputArray;\r\n this.checkType();\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n toggle($event, i) {\r\n this.onChange(this.getCheckedArray());\r\n this.onTouch();\r\n this.change.next(this.options_display[i]);\r\n }\r\n\r\n getCheckedArray() {\r\n const checkedArray = [];\r\n this.options_display.forEach((item) => {\r\n if (item.isChecked) {\r\n checkedArray.push(item.value);\r\n }\r\n });\r\n return checkedArray;\r\n }\r\n}\r\n","<div class=\"devui-checkbox-group\">\n <ul [class.devui-checkbox-list-inline]=\"direction === 'row'\">\n <li\n *ngFor=\"let item of options_display; let i = index\"\n [class.devui-checkbox-column-margin]=\"direction === 'column'\"\n [ngStyle]=\"{ 'width.px': itemWidth }\"\n [ngClass]=\"{ 'devui-checkbox-wrap': itemWidth !== undefined }\"\n >\n <span>\n <d-checkbox\n [name]=\"name\"\n [label]=\"item['value'][filterKey] ? item['value'][filterKey] : item['value']\"\n [(ngModel)]=\"item['isChecked']\"\n [isShowTitle]=\"isShowTitle\"\n [color]=\"color\"\n [disabled]=\"this.disabled ? true : item['value']['disabled']\"\n [labelTemplate]=\"labelTemplate\"\n [showAnimation]=\"showAnimation\"\n (ngModelChange)=\"toggle($event, i)\"\n [beforeChange]=\"beforeChange\"\n >\n </d-checkbox>\n </span>\n </li>\n </ul>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CheckBoxGroupComponent } from './checkbox-group.component';\nimport { CheckBoxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n exports: [CheckBoxComponent, CheckBoxGroupComponent],\n declarations: [CheckBoxComponent, CheckBoxGroupComponent],\n providers: [],\n})\nexport class CheckBoxModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4.CheckBoxComponent"],"mappings":"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"}