angular2-ladda
Version:
Angular Ladda module
1 lines • 9.14 kB
Source Map (JSON)
{"version":3,"file":"angular2-ladda.mjs","sources":["../../../projects/ladda/src/lib/ladda-config.ts","../../../projects/ladda/src/lib/ladda.directive.ts","../../../projects/ladda/src/lib/ladda.module.ts","../../../projects/ladda/src/public-api.ts","../../../projects/ladda/src/angular2-ladda.ts"],"sourcesContent":["import {Injectable} from \"@angular/core\";\r\n\r\nexport type LaddaStyle =\r\n \"expand-left\" | \"expand-right\" | \"expand-up\" | \"expand-down\" |\r\n \"contract\" | \"contract-overlay\" | \"zoom-in\" | \"zoom-out\" |\r\n \"slide-left\" | \"slide-right\" | \"slide-up\" | \"slide-down\";\r\n\r\nexport abstract class LaddaConfigArgs {\r\n style?: LaddaStyle;\r\n spinnerSize?: number;\r\n spinnerColor?: string;\r\n spinnerLines?: number;\r\n}\r\n\r\n@Injectable()\r\nexport class LaddaConfig implements LaddaConfigArgs {\r\n constructor(config: LaddaConfigArgs = {}) {\r\n Object.assign(this, config);\r\n }\r\n}\r\n","import {isPlatformBrowser} from '@angular/common';\r\nimport {Directive, ElementRef, Input, OnInit, OnDestroy, OnChanges, SimpleChanges, Optional, Inject, PLATFORM_ID} from '@angular/core';\r\nimport {create as createLadda, LaddaButton} from 'ladda';\r\nimport {LaddaConfig, LaddaConfigArgs} from './ladda-config';\r\n\r\nexport type LaddaValue = boolean | number | undefined | null;\r\n\r\n@Directive({\r\n selector: '[ladda]',\r\n})\r\nexport class LaddaDirective implements OnInit, OnDestroy, OnChanges {\r\n private el: HTMLButtonElement;\r\n private ladda: LaddaButton | undefined = undefined;\r\n\r\n @Input('ladda') loading: LaddaValue;\r\n @Input() disabled = false;\r\n\r\n constructor(\r\n el: ElementRef,\r\n @Inject(LaddaConfig) @Optional() config: LaddaConfigArgs,\r\n @Inject(PLATFORM_ID) private platformId: Object,\r\n ) {\r\n this.el = el.nativeElement;\r\n\r\n if (!config) {\r\n return;\r\n }\r\n\r\n if (config.style && !this.el.getAttribute('data-style')) {\r\n this.el.setAttribute('data-style', config.style);\r\n }\r\n\r\n if (config.spinnerSize && !this.el.getAttribute('data-spinner-size')) {\r\n this.el.setAttribute('data-spinner-size', config.spinnerSize.toString());\r\n }\r\n\r\n if (config.spinnerColor && !this.el.getAttribute('data-spinner-color')) {\r\n this.el.setAttribute('data-spinner-color', config.spinnerColor);\r\n }\r\n\r\n if (config.spinnerLines && !this.el.getAttribute('data-spinner-lines')) {\r\n this.el.setAttribute('data-spinner-lines', config.spinnerLines.toString());\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (!this.ladda) {\r\n return; // needed since ngOnChanges is called before ngOnInit\r\n }\r\n\r\n if (changes.loading) {\r\n this.updateLadda(changes.loading.previousValue);\r\n }\r\n\r\n if (changes.disabled) {\r\n this.updateDisabled();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return;\r\n }\r\n\r\n this.ladda = createLadda(this.el);\r\n\r\n // if the initial loading value isn't false, a timeout of 0 ms\r\n // is necessary for the calculated spinner size to be correct.\r\n setTimeout(() => {this.updateLadda(false);}, 0);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.ladda) {\r\n this.ladda.remove();\r\n }\r\n }\r\n\r\n private updateLadda(previousValue: LaddaValue): void {\r\n if (!this.ladda) {\r\n return;\r\n }\r\n\r\n let loading: boolean = typeof this.loading === 'number' || !!this.loading;\r\n let wasLoading: boolean = typeof previousValue === 'number' || !!previousValue;\r\n\r\n if (!loading) {\r\n if (wasLoading) {\r\n this.ladda.stop();\r\n }\r\n\r\n return this.updateDisabled();\r\n }\r\n\r\n if (!wasLoading) {\r\n this.ladda.start();\r\n }\r\n\r\n if (typeof this.loading === 'number') {\r\n this.ladda.setProgress(this.loading);\r\n }\r\n }\r\n\r\n private updateDisabled(): void {\r\n this.el.disabled = this.disabled;\r\n }\r\n}\r\n","import {NgModule, ModuleWithProviders} from '@angular/core';\r\nimport {LaddaDirective} from './ladda.directive';\r\nimport {LaddaConfigArgs, LaddaConfig} from './ladda-config';\r\n\r\n@NgModule({\r\n declarations: [LaddaDirective],\r\n exports: [LaddaDirective],\r\n})\r\nexport class LaddaModule {\r\n public static forRoot(config: LaddaConfigArgs): ModuleWithProviders<LaddaModule> {\r\n return {\r\n ngModule: LaddaModule,\r\n providers: [\r\n {provide: LaddaConfig, useValue: config},\r\n ],\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of ladda\r\n */\r\n\r\nexport * from './lib/ladda-config';\r\nexport * from './lib/ladda.directive';\r\nexport * from './lib/ladda.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["createLadda"],"mappings":"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"}