UNPKG

6.63 kBSource Map (JSON)View Raw
1{"version":3,"file":"primeng-tristatecheckbox.js","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} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\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 #input type=\"text\" [attr.id]=\"inputId\" [name]=\"name\" [attr.tabindex]=\"tabindex\" [readonly]=\"readonly\" [disabled]=\"disabled\" (keyup)=\"onKeyup($event)\" (keydown)=\"onKeydown($event)\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [attr.aria-labelledby]=\"ariaLabelledBy\" inputmode=\"none\">\n </div>\n <div class=\"p-checkbox-box\" (click)=\"onClick($event,input)\" role=\"checkbox\" [attr.aria-checked]=\"value === true\"\n [ngClass]=\"{'p-highlight':value!=null,'p-disabled':disabled,'p-focus':focused}\">\n <span class=\"p-checkbox-icon pi\" [ngClass]=\"{'pi-check':value==true,'pi-times':value==false}\"></span>\n </div>\n </div>\n <label class=\"p-checkbox-label\" (click)=\"onClick($event,input)\"\n [ngClass]=\"{'p-checkbox-label-active':value!=null, 'p-disabled':disabled, 'p-checkbox-label-focus':focused}\"\n *ngIf=\"label\" [attr.for]=\"inputId\">{{label}}</label>\n `,\n providers: [TRISTATECHECKBOX_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class TriStateCheckbox implements ControlValueAccessor {\n\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 @Output() onChange: EventEmitter<any> = new EventEmitter();\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)\n this.value = true;\n else if (this.value == true)\n this.value = false;\n else if (this.value == false)\n this.value = null;\n\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\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],\n exports: [TriStateCheckbox],\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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"}
\No newline at end of file