UNPKG

6.73 kBSource Map (JSON)View Raw
1{"version":3,"sources":["ng://primeng/togglebutton/togglebutton.ts"],"names":["TOGGLEBUTTON_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","ToggleButton","multi","this","onLabel","offLabel","iconPos","onChange","EventEmitter","checked","focus","onModelChange","onModelTouched","prototype","ngAfterViewInit","checkboxViewChild","checkbox","nativeElement","toggle","event","disabled","emit","originalEvent","onFocus","onBlur","writeValue","value","registerOnChange","fn","registerOnTouched","setDisabledState","val","Object","defineProperty","length","__decorate","Input","Output","ViewChild","Component","selector","template","providers","changeDetection","ChangeDetectionStrategy","Default","ToggleButtonModule","NgModule","imports","CommonModule","exports","declarations"],"mappings":"4wBAIaA,EAAmC,CAC9CC,QAASC,EAAAA,kBACTC,YAAaC,EAAAA,YAAW,WAAM,OAAAC,KAC9BC,OAAO,GAuBTD,EAAA,WAAA,SAAAA,IAEaE,KAAAC,QAAkB,MAElBD,KAAAE,SAAmB,KAkBnBF,KAAAG,QAAkB,OAEjBH,KAAAI,SAA8B,IAAIC,EAAAA,aAM5CL,KAAAM,SAAmB,EAEnBN,KAAAO,OAAiB,EAEjBP,KAAAQ,cAA0B,aAE1BR,KAAAS,eAA2B,aAuD/B,OArDIX,EAAAY,UAAAC,gBAAA,WACQX,KAAKY,oBACLZ,KAAKa,SAA8Bb,KAAKY,kBAAkBE,gBAIlEhB,EAAAY,UAAAK,OAAA,SAAOC,GACEhB,KAAKiB,WACNjB,KAAKM,SAAWN,KAAKM,QACrBN,KAAKQ,cAAcR,KAAKM,SACxBN,KAAKS,iBACLT,KAAKI,SAASc,KAAK,CACfC,cAAeH,EACfV,QAASN,KAAKM,UAEdN,KAAKa,UACLb,KAAKa,SAASN,UAK1BT,EAAAY,UAAAU,QAAA,WACIpB,KAAKO,OAAQ,GAGjBT,EAAAY,UAAAW,OAAA,WACIrB,KAAKO,OAAQ,EACbP,KAAKS,kBAGTX,EAAAY,UAAAY,WAAA,SAAWC,GACPvB,KAAKM,QAAUiB,GAGnBzB,EAAAY,UAAAc,iBAAA,SAAiBC,GACbzB,KAAKQ,cAAgBiB,GAGzB3B,EAAAY,UAAAgB,kBAAA,SAAkBD,GACdzB,KAAKS,eAAiBgB,GAG1B3B,EAAAY,UAAAiB,iBAAA,SAAiBC,GACb5B,KAAKiB,SAAWW,GAGpBC,OAAAC,eAAIhC,EAAAY,UAAA,aAAU,KAAd,WACI,OAAOV,KAAKC,SAAWD,KAAKC,QAAQ8B,OAAS,mCAGjDF,OAAAC,eAAIhC,EAAAY,UAAA,cAAW,KAAf,WACI,OAAOV,KAAKC,SAAWD,KAAKC,QAAQ8B,OAAS,mCAvFxCC,EAAA,CAARC,EAAAA,uCAEQD,EAAA,CAARC,EAAAA,wCAEQD,EAAA,CAARC,EAAAA,sCAEQD,EAAA,CAARC,EAAAA,uCAEQD,EAAA,CAARC,EAAAA,8CAEQD,EAAA,CAARC,EAAAA,wCAEQD,EAAA,CAARC,EAAAA,qCAEQD,EAAA,CAARC,EAAAA,0CAEQD,EAAA,CAARC,EAAAA,uCAEQD,EAAA,CAARC,EAAAA,wCAEQD,EAAA,CAARC,EAAAA,uCAESD,EAAA,CAATE,EAAAA,yCAEsBF,EAAA,CAAtBG,EAAAA,UAAU,qDA1BFrC,EAAYkC,EAAA,CApBxBI,EAAAA,UAAU,CACPC,SAAU,iBACVC,SAAU,w7CAeVC,UAAW,CAAC9C,GACZ+C,gBAAiBC,EAAAA,wBAAwBC,WAEhC5C,GAAb,gBAkGA,SAAA6C,KAAkC,OAArBA,EAAkBX,EAAA,CAL9BY,EAAAA,SAAS,CACNC,QAAS,CAACC,EAAAA,cACVC,QAAS,CAACjD,GACVkD,aAAc,CAAClD,MAEN6C","sourcesContent":["import {NgModule,Component,Input,Output,EventEmitter,forwardRef,AfterViewInit,ViewChild,ElementRef,ChangeDetectionStrategy} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\n\nexport const TOGGLEBUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleButton),\n multi: true\n};\n\n@Component({\n selector: 'p-toggleButton',\n template: `\n <div [ngClass]=\"{'ui-button ui-togglebutton ui-widget ui-state-default ui-corner-all': true, 'ui-button-text-only': (!onIcon && !offIcon), \n 'ui-button-text-icon-left': (onIcon && offIcon && hasOnLabel && hasOffLabel && iconPos === 'left'), \n 'ui-button-text-icon-right': (onIcon && offIcon && hasOnLabel && hasOffLabel && iconPos === 'right'),'ui-button-icon-only': (onIcon && offIcon && !hasOnLabel && !hasOffLabel),\n 'ui-state-active': checked,'ui-state-focus':focus,'ui-state-disabled':disabled}\" [ngStyle]=\"style\" [class]=\"styleClass\" \n (click)=\"toggle($event)\" (keydown.enter)=\"toggle($event)\">\n <div class=\"ui-helper-hidden-accessible\">\n <input #checkbox type=\"checkbox\" [attr.id]=\"inputId\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [attr.tabindex]=\"tabindex\"\n role=\"button\" [attr.aria-pressed]=\"checked\" [attr.aria-labelledby]=\"ariaLabelledBy\">\n </div>\n <span *ngIf=\"onIcon||offIcon\" class=\"ui-button-icon-left\" [class]=\"checked ? this.onIcon : this.offIcon\" [ngClass]=\"{'ui-button-icon-left': (iconPos === 'left'), \n 'ui-button-icon-right': (iconPos === 'right')}\"></span>\n <span class=\"ui-button-text ui-unselectable-text\">{{checked ? hasOnLabel ? onLabel : 'ui-btn' : hasOffLabel ? offLabel : 'ui-btn'}}</span>\n </div>\n `,\n providers: [TOGGLEBUTTON_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class ToggleButton implements ControlValueAccessor,AfterViewInit {\n\n @Input() onLabel: string = 'Yes';\n\n @Input() offLabel: string = 'No';\n\n @Input() onIcon: string;\n\n @Input() offIcon: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() disabled: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() inputId: string;\n\n @Input() tabindex: number;\n\n @Input() iconPos: string = 'left';\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n \n @ViewChild('checkbox') checkboxViewChild: ElementRef;\n \n checkbox: HTMLInputElement;\n \n checked: boolean = false;\n\n focus: boolean = false;\n \n onModelChange: Function = () => {};\n \n onModelTouched: Function = () => {};\n \n ngAfterViewInit() {\n if (this.checkboxViewChild){\n this.checkbox = <HTMLInputElement> this.checkboxViewChild.nativeElement;\n }\n }\n \n toggle(event: Event) {\n if (!this.disabled) {\n this.checked = !this.checked;\n this.onModelChange(this.checked);\n this.onModelTouched();\n this.onChange.emit({\n originalEvent: event,\n checked: this.checked\n });\n if (this.checkbox) {\n this.checkbox.focus();\n }\n }\n }\n\n onFocus() {\n this.focus = true;\n }\n \n onBlur() {\n this.focus = false;\n this.onModelTouched();\n }\n \n writeValue(value: any) : void {\n this.checked = value;\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 setDisabledState(val: boolean): void {\n this.disabled = val;\n }\n \n get hasOnLabel():boolean {\n return this.onLabel && this.onLabel.length > 0;\n }\n \n get hasOffLabel():boolean {\n return this.onLabel && this.onLabel.length > 0;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [ToggleButton],\n declarations: [ToggleButton]\n})\nexport class ToggleButtonModule { }\n"]}
\No newline at end of file