primeng
Version:
[](https://badge.fury.io/js/primeng) [](https://www.npmjs.com/package/primeng) [
{"version":3,"file":"primeng-tristatecheckbox.mjs","sources":["../../src/app/components/tristatecheckbox/tristatecheckbox.ts","../../src/app/components/tristatecheckbox/primeng-tristatecheckbox.ts"],"sourcesContent":["import { NgModule, Component, Input, Output, EventEmitter, forwardRef, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation, TemplateRef, ContentChildren, QueryList } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { CheckIcon } from 'primeng/icons/check';\nimport { TimesIcon } from 'primeng/icons/times';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\n\nexport const TRISTATECHECKBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TriStateCheckbox),\n multi: true\n};\n\n@Component({\n selector: 'p-triStateCheckbox',\n template: `\n <div [ngStyle]=\"style\" [ngClass]=\"{ 'p-checkbox p-component': true, 'p-checkbox-disabled': disabled, 'p-checkbox-focused': focused }\" [class]=\"styleClass\">\n <div class=\"p-hidden-accessible\">\n <input\n #input\n type=\"text\"\n [attr.id]=\"inputId\"\n [name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n (keyup)=\"onKeyup($event)\"\n (keydown)=\"onKeydown($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n inputmode=\"none\"\n />\n </div>\n <div class=\"p-checkbox-box\" (click)=\"onClick($event, input)\" role=\"checkbox\" [attr.aria-checked]=\"value === true\" [ngClass]=\"{ 'p-highlight': value != null, 'p-disabled': disabled, 'p-focus': focused }\">\n <ng-container *ngIf=\"value === true\">\n <span *ngIf=\"checkboxTrueIcon\" [ngClass]=\"checkboxTrueIcon\" class=\"p-checkbox-icon\"></span>\n <ng-container *ngIf=\"!checkboxTrueIcon\">\n <CheckIcon [styleClass]=\"'p-checkbox-icon'\" *ngIf=\"!checkIconTemplate\"/>\n <span *ngIf=\"checkIconTemplate\" class=\"p-checkbox-icon\">\n <ng-template *ngTemplateOutlet=\"checkIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"value === false\">\n <span *ngIf=\"checkboxFalseIcon\" [ngClass]=\"checkboxFalseIcon\" class=\"p-checkbox-icon\"></span>\n <ng-container *ngIf=\"!checkboxFalseIcon\">\n <TimesIcon [styleClass]=\"'p-checkbox-icon'\" *ngIf=\"!uncheckIconTemplate\" />\n <span class=\"p-checkbox-icon\" *ngIf=\"uncheckIconTemplate\">\n <ng-template *ngTemplateOutlet=\"uncheckIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </ng-container>\n </div>\n </div>\n <label class=\"p-checkbox-label\" (click)=\"onClick($event, input)\" [ngClass]=\"{ 'p-checkbox-label-active': value != null, 'p-disabled': disabled, 'p-checkbox-label-focus': focused }\" *ngIf=\"label\" [attr.for]=\"inputId\">{{ label }}</label>\n `,\n providers: [TRISTATECHECKBOX_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'p-element'\n }\n})\nexport class TriStateCheckbox implements ControlValueAccessor {\n constructor(private cd: ChangeDetectorRef) {}\n\n @Input() disabled: boolean;\n\n @Input() name: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() tabindex: number;\n\n @Input() inputId: string;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() label: string;\n\n @Input() readonly: boolean;\n\n @Input() checkboxTrueIcon: string;\n\n @Input() checkboxFalseIcon: string;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n checkIconTemplate: TemplateRef<any>;\n\n uncheckIconTemplate: TemplateRef<any>;\n\n focused: boolean;\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n onClick(event: Event, input: HTMLInputElement) {\n if (!this.disabled && !this.readonly) {\n this.toggle(event);\n this.focused = true;\n input.focus();\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n if (event.keyCode == 32) {\n event.preventDefault();\n }\n }\n\n onKeyup(event: KeyboardEvent) {\n if (event.keyCode == 32 && !this.readonly) {\n this.toggle(event);\n event.preventDefault();\n }\n }\n\n toggle(event: Event) {\n if (this.value == null || this.value == undefined) this.value = true;\n else if (this.value == true) this.value = false;\n else if (this.value == false) this.value = null;\n\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'checkicon':\n this.checkIconTemplate = item.template;\n break;\n\n case 'uncheckicon':\n this.uncheckIconTemplate = item.template;\n break;\n }\n });\n }\n\n onFocus() {\n this.focused = true;\n }\n\n onBlur() {\n this.focused = false;\n this.onModelTouched();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n this.cd.markForCheck();\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, CheckIcon, TimesIcon],\n exports: [TriStateCheckbox, SharedModule],\n declarations: [TriStateCheckbox]\n})\nexport class TriStateCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}