ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
79 lines (78 loc) • 5.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component, Input, Output, HostBinding, EventEmitter } from '@angular/core';
/**
* @record
*/
export function OnChangeEvent() { }
/** @type {?} */
OnChangeEvent.prototype.selectedIndex;
/** @type {?} */
OnChangeEvent.prototype.value;
export class SegmentedControlComponent {
constructor() {
this.prefixCls = 'am-segment';
this.tintColor = '#2DB7F5';
this.disabled = false;
this.selectedIndex = 0;
this.onChange = new EventEmitter();
this.role = 'tablist';
this.amSegment = true;
}
/**
* @return {?}
*/
get amDisabled() {
return this.disabled;
}
/**
* @param {?} index
* @param {?} value
* @return {?}
*/
onClick(index, value) {
if (!this.disabled && index !== this.selectedIndex) {
this.selectedIndex = index;
this.onChange.emit({ selectedIndex: index, value: value });
}
}
}
SegmentedControlComponent.decorators = [
{ type: Component, args: [{
selector: 'SegmentedControl, nz-segmented-control',
template: "<div role=\"tab\"\n *ngFor=\"let value of values; let i = index;\"\n class=\"{{prefixCls}}-item\"\n [ngClass]=\"{'am-segment-item-selected' : i === selectedIndex}\"\n [ngStyle]=\"{'border-color': tintColor, 'color': i === selectedIndex ? '#fff' : tintColor, 'background-color': i === selectedIndex ? tintColor : 'transparent'}\"\n (click)=\"onClick(i, value)\"\n>\n <div class=\"{{prefixCls}}-item-inner\"\n [ngStyle]=\"{'background-color': i === selectedIndex ? tintColor : 'transparent'}\"\n ></div>\n {{value}}\n</div>\n"
}] }
];
/** @nocollapse */
SegmentedControlComponent.ctorParameters = () => [];
SegmentedControlComponent.propDecorators = {
tintColor: [{ type: Input }],
disabled: [{ type: Input }],
selectedIndex: [{ type: Input }],
values: [{ type: Input }],
onChange: [{ type: Output }],
role: [{ type: HostBinding, args: ['attr.role',] }],
amSegment: [{ type: HostBinding, args: ['class.am-segment',] }],
amDisabled: [{ type: HostBinding, args: ['class.am-segment-disabled',] }]
};
if (false) {
/** @type {?} */
SegmentedControlComponent.prototype.prefixCls;
/** @type {?} */
SegmentedControlComponent.prototype.tintColor;
/** @type {?} */
SegmentedControlComponent.prototype.disabled;
/** @type {?} */
SegmentedControlComponent.prototype.selectedIndex;
/** @type {?} */
SegmentedControlComponent.prototype.values;
/** @type {?} */
SegmentedControlComponent.prototype.onChange;
/** @type {?} */
SegmentedControlComponent.prototype.role;
/** @type {?} */
SegmentedControlComponent.prototype.amSegment;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJzZWdtZW50ZWQtY29udHJvbC9zZWdtZW50ZWQtY29udHJvbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFXcEYsTUFBTTtJQXVCSjt5QkF0Qm9CLFlBQVk7eUJBR1osU0FBUzt3QkFFVCxLQUFLOzZCQUVELENBQUM7d0JBSWUsSUFBSSxZQUFZLEVBQWlCO29CQUdsRSxTQUFTO3lCQUVLLElBQUk7S0FNVDs7OztJQUxoQixJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7S0FDdEI7Ozs7OztJQUlELE9BQU8sQ0FBQyxLQUFhLEVBQUUsS0FBYTtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDNUQ7S0FDRjs7O1lBbENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0NBQXdDO2dCQUNsRCxvakJBQWlEO2FBQ2xEOzs7Ozt3QkFJRSxLQUFLO3VCQUVMLEtBQUs7NEJBRUwsS0FBSztxQkFFTCxLQUFLO3VCQUVMLE1BQU07bUJBR04sV0FBVyxTQUFDLFdBQVc7d0JBRXZCLFdBQVcsU0FBQyxrQkFBa0I7eUJBRTlCLFdBQVcsU0FBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEhvc3RCaW5kaW5nLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBPbkNoYW5nZUV2ZW50IHtcbiAgc2VsZWN0ZWRJbmRleDogbnVtYmVyO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdTZWdtZW50ZWRDb250cm9sLCBuei1zZWdtZW50ZWQtY29udHJvbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWdtZW50ZWQtY29udHJvbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2VnbWVudGVkQ29udHJvbENvbXBvbmVudCB7XG4gIHByZWZpeENsczogc3RyaW5nID0gJ2FtLXNlZ21lbnQnO1xuXG4gIEBJbnB1dCgpXG4gIHRpbnRDb2xvcjogc3RyaW5nID0gJyMyREI3RjUnO1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBzZWxlY3RlZEluZGV4OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKVxuICB2YWx1ZXM6IEFycmF5PHN0cmluZz5bXTtcbiAgQE91dHB1dCgpXG4gIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8T25DaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE9uQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICByb2xlID0gJ3RhYmxpc3QnO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLXNlZ21lbnQnKVxuICBhbVNlZ21lbnQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLXNlZ21lbnQtZGlzYWJsZWQnKVxuICBnZXQgYW1EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBvbkNsaWNrKGluZGV4OiBudW1iZXIsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgaW5kZXggIT09IHRoaXMuc2VsZWN0ZWRJbmRleCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEluZGV4ID0gaW5kZXg7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyBzZWxlY3RlZEluZGV4OiBpbmRleCwgdmFsdWU6IHZhbHVlIH0pO1xuICAgIH1cbiAgfVxufVxuIl19