🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@angular2-material/button-toggle

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@angular2-material/button-toggle - npm Package Compare versions

Comparing version
2.0.0-alpha.7-2
to
2.0.0-alpha.7-3
+1
-1
button-toggle.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"button-toggle.js","sourceRoot":"","sources":["../../usr/local/google/home/jelbourn/material2/tmp/broccoli_type_script_compiler-input_base_path-zS1WujVv.tmp/0/src/demo-app/components/button-toggle/button-toggle.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n NgModule,\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation,\n forwardRef\n} from '@angular/core';\nimport {\n NG_VALUE_ACCESSOR,\n ControlValueAccessor,\n FormsModule,\n} from '@angular/forms';\nimport {Observable} from 'rxjs/Observable';\nimport {\n MdUniqueSelectionDispatcher\n} from '@angular2-material/core/coordination/unique-selection-dispatcher';\nimport {BooleanFieldValue} from '@angular2-material/core/annotations/field-value';\n\nexport type ToggleType = 'checkbox' | 'radio';\n\n\n\n/**\n * Provider Expression that allows md-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n */\nexport const MD_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MdButtonToggleGroup),\n multi: true\n};\n\nvar _uniqueIdCounter = 0;\n\n/** A simple change event emitted by either MdButtonToggle or MdButtonToggleGroup. */\nexport class MdButtonToggleChange {\n source: MdButtonToggle;\n value: any;\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'md-button-toggle-group:not([multiple])',\n providers: [MD_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR],\n host: {\n 'role': 'radiogroup',\n },\n})\nexport class MdButtonToggleGroup implements ControlValueAccessor {\n /** The value for the button toggle group. Should match currently selected button toggle. */\n private _value: any = null;\n\n /** The HTML name attribute applied to toggles in this group. */\n private _name: string = `md-radio-group-${_uniqueIdCounter++}`;\n\n /** Disables all toggles in the group. */\n private _disabled: boolean = null;\n\n /** The currently selected button toggle, should match the value. */\n private _selected: MdButtonToggle = null;\n\n /** The method to be called in order to update ngModel. */\n private _controlValueAccessorChangeFn: (value: any) => void = (value) => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n onTouched: () => any = () => {};\n\n /** Event emitted when the group's value changes. */\n private _change: EventEmitter<MdButtonToggleChange> = new EventEmitter<MdButtonToggleChange>();\n @Output() get change(): Observable<MdButtonToggleChange> {\n return this._change.asObservable();\n }\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => MdButtonToggle))\n _buttonToggles: QueryList<MdButtonToggle> = null;\n\n @Input()\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this._updateButtonToggleNames();\n }\n\n @Input()\n @BooleanFieldValue()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = (value != null && value !== false) ? true : null;\n }\n\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n if (this._value != newValue) {\n this._value = newValue;\n\n this._updateSelectedButtonToggleFromValue();\n this._emitChangeEvent();\n }\n }\n\n @Input()\n get selected() {\n return this._selected;\n }\n\n set selected(selected: MdButtonToggle) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n\n if (selected && !selected.checked) {\n selected.checked = true;\n }\n }\n\n private _updateButtonToggleNames(): void {\n (this._buttonToggles || []).forEach((toggle) => {\n toggle.name = this._name;\n });\n }\n\n // TODO: Refactor into shared code with radio.\n private _updateSelectedButtonToggleFromValue(): void {\n let isAlreadySelected = this._selected != null && this._selected.value == this._value;\n\n if (this._buttonToggles != null && !isAlreadySelected) {\n let matchingButtonToggle = this._buttonToggles.filter(\n buttonToggle => buttonToggle.value == this._value)[0];\n\n if (matchingButtonToggle) {\n this.selected = matchingButtonToggle;\n } else if (this.value == null) {\n this.selected = null;\n this._buttonToggles.forEach(buttonToggle => {\n buttonToggle.checked = false;\n });\n }\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n private _emitChangeEvent(): void {\n let event = new MdButtonToggleChange();\n event.source = this._selected;\n event.value = this._value;\n this._controlValueAccessorChangeFn(event.value);\n this._change.emit(event);\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n * TODO: internal\n */\n writeValue(value: any) {\n this.value = value;\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n * TODO: internal\n */\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n * TODO: internal\n */\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n}\n\n/** Multiple selection button-toggle group. */\n@Directive({\n selector: 'md-button-toggle-group[multiple]',\n})\nexport class MdButtonToggleGroupMultiple {\n /** Disables all toggles in the group. */\n private _disabled: boolean = null;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = (value != null && value !== false) ? true : null;\n }\n}\n\n@Component({\n moduleId: module.id,\n selector: 'md-button-toggle',\n templateUrl: 'button-toggle.html',\n styleUrls: ['button-toggle.css'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MdButtonToggle implements OnInit {\n /** Whether or not this button toggle is checked. */\n private _checked: boolean = false;\n\n /** Type of the button toggle. Either 'radio' or 'checkbox'. */\n _type: ToggleType;\n\n /** The unique ID for this button toggle. */\n @HostBinding()\n @Input()\n id: string;\n\n /** HTML's 'name' attribute used to group radios for unique selection. */\n @Input()\n name: string;\n\n /** Whether or not this button toggle is disabled. */\n private _disabled: boolean = null;\n\n /** Value assigned to this button toggle. */\n private _value: any = null;\n\n /** Whether or not the button toggle is a single selection. */\n private _isSingleSelector: boolean = null;\n\n /** The parent button toggle group (exclusive selection). Optional. */\n buttonToggleGroup: MdButtonToggleGroup;\n\n /** The parent button toggle group (multiple selection). Optional. */\n buttonToggleGroupMultiple: MdButtonToggleGroupMultiple;\n\n /** Event emitted when the group value changes. */\n private _change: EventEmitter<MdButtonToggleChange> = new EventEmitter<MdButtonToggleChange>();\n @Output() get change(): Observable<MdButtonToggleChange> {\n return this._change.asObservable();\n }\n\n constructor(@Optional() toggleGroup: MdButtonToggleGroup,\n @Optional() toggleGroupMultiple: MdButtonToggleGroupMultiple,\n public buttonToggleDispatcher: MdUniqueSelectionDispatcher) {\n this.buttonToggleGroup = toggleGroup;\n\n this.buttonToggleGroupMultiple = toggleGroupMultiple;\n\n if (this.buttonToggleGroup) {\n buttonToggleDispatcher.listen((id: string, name: string) => {\n if (id != this.id && name == this.name) {\n this.checked = false;\n }\n });\n\n this._type = 'radio';\n this.name = this.buttonToggleGroup.name;\n this._isSingleSelector = true;\n } else {\n // Even if there is no group at all, treat the button toggle as a checkbox so it can be\n // toggled on or off.\n this._type = 'checkbox';\n this._isSingleSelector = false;\n }\n }\n\n ngOnInit() {\n if (this.id == null) {\n this.id = `md-button-toggle-${_uniqueIdCounter++}`;\n }\n\n if (this.buttonToggleGroup && this._value == this.buttonToggleGroup.value) {\n this._checked = true;\n }\n }\n\n get inputId(): string {\n return `${this.id}-input`;\n }\n\n @HostBinding('class.md-button-toggle-checked')\n @Input()\n get checked(): boolean {\n return this._checked;\n }\n\n set checked(newCheckedState: boolean) {\n if (this._isSingleSelector) {\n if (newCheckedState) {\n // Notify all button toggles with the same name (in the same group) to un-check.\n this.buttonToggleDispatcher.notify(this.id, this.name);\n }\n }\n\n this._checked = newCheckedState;\n\n if (newCheckedState && this._isSingleSelector && this.buttonToggleGroup.value != this.value) {\n this.buttonToggleGroup.selected = this;\n }\n }\n\n /** MdButtonToggleGroup reads this to assign its own value. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (this._value != value) {\n if (this.buttonToggleGroup != null && this.checked) {\n this.buttonToggleGroup.value = value;\n }\n this._value = value;\n }\n }\n\n /** Dispatch change event with current value. */\n private _emitChangeEvent(): void {\n let event = new MdButtonToggleChange();\n event.source = this;\n event.value = this._value;\n this._change.emit(event);\n }\n\n @HostBinding('class.md-button-toggle-disabled')\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup != null && this.buttonToggleGroup.disabled) ||\n (this.buttonToggleGroupMultiple != null && this.buttonToggleGroupMultiple.disabled);\n }\n\n set disabled(value: boolean) {\n this._disabled = (value != null && value !== false) ? true : null;\n }\n\n /** Toggle the state of the current button toggle. */\n private _toggle(): void {\n this.checked = !this.checked;\n }\n\n /** Checks the button toggle due to an interaction with the underlying native input. */\n _onInputChange(event: Event) {\n event.stopPropagation();\n\n if (this._isSingleSelector) {\n // Propagate the change one-way via the group, which will in turn mark this\n // button toggle as checked.\n this.checked = true;\n this.buttonToggleGroup.selected = this;\n this.buttonToggleGroup.onTouched();\n } else {\n this._toggle();\n }\n\n // Emit a change event when the native input does.\n this._emitChangeEvent();\n }\n\n /** TODO: internal */\n _onInputClick(event: Event) {\n\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `slide-toggle` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n }\n}\n\n/** @deprecated */\nexport const MD_BUTTON_TOGGLE_DIRECTIVES = [\n MdButtonToggleGroup,\n MdButtonToggleGroupMultiple,\n MdButtonToggle\n];\n\n\n@NgModule({\n imports: [FormsModule],\n exports: MD_BUTTON_TOGGLE_DIRECTIVES,\n declarations: MD_BUTTON_TOGGLE_DIRECTIVES,\n providers: [MdUniqueSelectionDispatcher],\n})\nexport class MdButtonToggleModule { }\n"]}
{"version":3,"file":"button-toggle.js","sourceRoot":"","sources":["../../usr/local/google/home/jelbourn/material2/tmp/broccoli_type_script_compiler-input_base_path-jOYNc6SX.tmp/0/src/demo-app/components/button-toggle/button-toggle.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n NgModule,\n Component,\n ContentChildren,\n Directive,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation,\n forwardRef\n} from '@angular/core';\nimport {\n NG_VALUE_ACCESSOR,\n ControlValueAccessor,\n FormsModule,\n} from '@angular/forms';\nimport {Observable} from 'rxjs/Observable';\nimport {\n MdUniqueSelectionDispatcher\n} from '@angular2-material/core/coordination/unique-selection-dispatcher';\nimport {BooleanFieldValue} from '@angular2-material/core/annotations/field-value';\n\nexport type ToggleType = 'checkbox' | 'radio';\n\n\n\n/**\n * Provider Expression that allows md-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n */\nexport const MD_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MdButtonToggleGroup),\n multi: true\n};\n\nvar _uniqueIdCounter = 0;\n\n/** A simple change event emitted by either MdButtonToggle or MdButtonToggleGroup. */\nexport class MdButtonToggleChange {\n source: MdButtonToggle;\n value: any;\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'md-button-toggle-group:not([multiple])',\n providers: [MD_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR],\n host: {\n 'role': 'radiogroup',\n },\n})\nexport class MdButtonToggleGroup implements ControlValueAccessor {\n /** The value for the button toggle group. Should match currently selected button toggle. */\n private _value: any = null;\n\n /** The HTML name attribute applied to toggles in this group. */\n private _name: string = `md-radio-group-${_uniqueIdCounter++}`;\n\n /** Disables all toggles in the group. */\n private _disabled: boolean = null;\n\n /** The currently selected button toggle, should match the value. */\n private _selected: MdButtonToggle = null;\n\n /** The method to be called in order to update ngModel. */\n private _controlValueAccessorChangeFn: (value: any) => void = (value) => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n onTouched: () => any = () => {};\n\n /** Event emitted when the group's value changes. */\n private _change: EventEmitter<MdButtonToggleChange> = new EventEmitter<MdButtonToggleChange>();\n @Output() get change(): Observable<MdButtonToggleChange> {\n return this._change.asObservable();\n }\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => MdButtonToggle))\n _buttonToggles: QueryList<MdButtonToggle> = null;\n\n @Input()\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n this._updateButtonToggleNames();\n }\n\n @Input()\n @BooleanFieldValue()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = (value != null && value !== false) ? true : null;\n }\n\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(newValue: any) {\n if (this._value != newValue) {\n this._value = newValue;\n\n this._updateSelectedButtonToggleFromValue();\n this._emitChangeEvent();\n }\n }\n\n @Input()\n get selected() {\n return this._selected;\n }\n\n set selected(selected: MdButtonToggle) {\n this._selected = selected;\n this.value = selected ? selected.value : null;\n\n if (selected && !selected.checked) {\n selected.checked = true;\n }\n }\n\n private _updateButtonToggleNames(): void {\n (this._buttonToggles || []).forEach((toggle) => {\n toggle.name = this._name;\n });\n }\n\n // TODO: Refactor into shared code with radio.\n private _updateSelectedButtonToggleFromValue(): void {\n let isAlreadySelected = this._selected != null && this._selected.value == this._value;\n\n if (this._buttonToggles != null && !isAlreadySelected) {\n let matchingButtonToggle = this._buttonToggles.filter(\n buttonToggle => buttonToggle.value == this._value)[0];\n\n if (matchingButtonToggle) {\n this.selected = matchingButtonToggle;\n } else if (this.value == null) {\n this.selected = null;\n this._buttonToggles.forEach(buttonToggle => {\n buttonToggle.checked = false;\n });\n }\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n private _emitChangeEvent(): void {\n let event = new MdButtonToggleChange();\n event.source = this._selected;\n event.value = this._value;\n this._controlValueAccessorChangeFn(event.value);\n this._change.emit(event);\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n * TODO: internal\n */\n writeValue(value: any) {\n this.value = value;\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n * TODO: internal\n */\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n /**\n * Implemented as part of ControlValueAccessor.\n * TODO: internal\n */\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n}\n\n/** Multiple selection button-toggle group. */\n@Directive({\n selector: 'md-button-toggle-group[multiple]',\n})\nexport class MdButtonToggleGroupMultiple {\n /** Disables all toggles in the group. */\n private _disabled: boolean = null;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = (value != null && value !== false) ? true : null;\n }\n}\n\n@Component({\n moduleId: module.id,\n selector: 'md-button-toggle',\n templateUrl: 'button-toggle.html',\n styleUrls: ['button-toggle.css'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MdButtonToggle implements OnInit {\n /** Whether or not this button toggle is checked. */\n private _checked: boolean = false;\n\n /** Type of the button toggle. Either 'radio' or 'checkbox'. */\n _type: ToggleType;\n\n /** The unique ID for this button toggle. */\n @HostBinding()\n @Input()\n id: string;\n\n /** HTML's 'name' attribute used to group radios for unique selection. */\n @Input()\n name: string;\n\n /** Whether or not this button toggle is disabled. */\n private _disabled: boolean = null;\n\n /** Value assigned to this button toggle. */\n private _value: any = null;\n\n /** Whether or not the button toggle is a single selection. */\n private _isSingleSelector: boolean = null;\n\n /** The parent button toggle group (exclusive selection). Optional. */\n buttonToggleGroup: MdButtonToggleGroup;\n\n /** The parent button toggle group (multiple selection). Optional. */\n buttonToggleGroupMultiple: MdButtonToggleGroupMultiple;\n\n /** Event emitted when the group value changes. */\n private _change: EventEmitter<MdButtonToggleChange> = new EventEmitter<MdButtonToggleChange>();\n @Output() get change(): Observable<MdButtonToggleChange> {\n return this._change.asObservable();\n }\n\n constructor(@Optional() toggleGroup: MdButtonToggleGroup,\n @Optional() toggleGroupMultiple: MdButtonToggleGroupMultiple,\n public buttonToggleDispatcher: MdUniqueSelectionDispatcher) {\n this.buttonToggleGroup = toggleGroup;\n\n this.buttonToggleGroupMultiple = toggleGroupMultiple;\n\n if (this.buttonToggleGroup) {\n buttonToggleDispatcher.listen((id: string, name: string) => {\n if (id != this.id && name == this.name) {\n this.checked = false;\n }\n });\n\n this._type = 'radio';\n this.name = this.buttonToggleGroup.name;\n this._isSingleSelector = true;\n } else {\n // Even if there is no group at all, treat the button toggle as a checkbox so it can be\n // toggled on or off.\n this._type = 'checkbox';\n this._isSingleSelector = false;\n }\n }\n\n ngOnInit() {\n if (this.id == null) {\n this.id = `md-button-toggle-${_uniqueIdCounter++}`;\n }\n\n if (this.buttonToggleGroup && this._value == this.buttonToggleGroup.value) {\n this._checked = true;\n }\n }\n\n get inputId(): string {\n return `${this.id}-input`;\n }\n\n @HostBinding('class.md-button-toggle-checked')\n @Input()\n get checked(): boolean {\n return this._checked;\n }\n\n set checked(newCheckedState: boolean) {\n if (this._isSingleSelector) {\n if (newCheckedState) {\n // Notify all button toggles with the same name (in the same group) to un-check.\n this.buttonToggleDispatcher.notify(this.id, this.name);\n }\n }\n\n this._checked = newCheckedState;\n\n if (newCheckedState && this._isSingleSelector && this.buttonToggleGroup.value != this.value) {\n this.buttonToggleGroup.selected = this;\n }\n }\n\n /** MdButtonToggleGroup reads this to assign its own value. */\n @Input()\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n if (this._value != value) {\n if (this.buttonToggleGroup != null && this.checked) {\n this.buttonToggleGroup.value = value;\n }\n this._value = value;\n }\n }\n\n /** Dispatch change event with current value. */\n private _emitChangeEvent(): void {\n let event = new MdButtonToggleChange();\n event.source = this;\n event.value = this._value;\n this._change.emit(event);\n }\n\n @HostBinding('class.md-button-toggle-disabled')\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup != null && this.buttonToggleGroup.disabled) ||\n (this.buttonToggleGroupMultiple != null && this.buttonToggleGroupMultiple.disabled);\n }\n\n set disabled(value: boolean) {\n this._disabled = (value != null && value !== false) ? true : null;\n }\n\n /** Toggle the state of the current button toggle. */\n private _toggle(): void {\n this.checked = !this.checked;\n }\n\n /** Checks the button toggle due to an interaction with the underlying native input. */\n _onInputChange(event: Event) {\n event.stopPropagation();\n\n if (this._isSingleSelector) {\n // Propagate the change one-way via the group, which will in turn mark this\n // button toggle as checked.\n this.checked = true;\n this.buttonToggleGroup.selected = this;\n this.buttonToggleGroup.onTouched();\n } else {\n this._toggle();\n }\n\n // Emit a change event when the native input does.\n this._emitChangeEvent();\n }\n\n /** TODO: internal */\n _onInputClick(event: Event) {\n\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `slide-toggle` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n }\n}\n\n/** @deprecated */\nexport const MD_BUTTON_TOGGLE_DIRECTIVES = [\n MdButtonToggleGroup,\n MdButtonToggleGroupMultiple,\n MdButtonToggle\n];\n\n\n@NgModule({\n imports: [FormsModule],\n exports: MD_BUTTON_TOGGLE_DIRECTIVES,\n declarations: MD_BUTTON_TOGGLE_DIRECTIVES,\n providers: [MdUniqueSelectionDispatcher],\n})\nexport class MdButtonToggleModule { }\n"]}
{
"name": "@angular2-material/button-toggle",
"version": "2.0.0-alpha.7-2",
"version": "2.0.0-alpha.7-3",
"description": "Angular 2 Material Button Toggle",

@@ -26,5 +26,5 @@ "main": "./button-toggle.js",

"peerDependencies": {
"@angular2-material/core": "2.0.0-alpha.7-2",
"@angular2-material/core": "2.0.0-alpha.7-3",
"@angular/forms": "^0.3.0"
}
}