ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
131 lines (130 loc) • 8.93 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component, ViewEncapsulation, Input, Output, EventEmitter, forwardRef, HostBinding } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
export class Switch {
constructor() {
this.prefixCls = 'am-switch';
this.wrapCls = 'am-switch';
this.checkboxCls = {
'checkbox-disabled': false
};
this.colorStyle = {};
this._color = '';
this._platform = 'ios';
this._disabled = false;
this.onChange = new EventEmitter();
this.onClick = new EventEmitter();
this.dispaly = true;
}
/**
* @param {?} value
* @return {?}
*/
set color(value) {
this._color = value;
this.colorStyle = { background: this._color };
}
/**
* @param {?} value
* @return {?}
*/
set platform(value) {
this._platform = value;
this.wrapCls = value === 'android' ? `${this.prefixCls}-android` : this.prefixCls;
}
/**
* @param {?} value
* @return {?}
*/
set checked(value) {
this.switchChecked = value;
this.colorStyle = { background: value ? this._color : '' };
}
/**
* @return {?}
*/
get disabled() {
return this._disabled;
}
/**
* @param {?} value
* @return {?}
*/
set disabled(value) {
this._disabled = value;
this.checkboxCls = {
'checkbox-disabled': value
};
}
/**
* @param {?} checkedValue
* @return {?}
*/
changeSwitch(checkedValue) {
this.switchChecked = checkedValue;
this.colorStyle = { background: checkedValue ? this._color : '' };
this.onChange.emit(checkedValue);
}
/**
* @return {?}
*/
click() {
this.onClick.emit(this.switchChecked);
}
}
Switch.decorators = [
{ type: Component, args: [{
selector: 'Switch, nzm-switch',
template: "<label class=\"{{prefixCls}}\" [ngClass]=\"wrapCls\">\n <input #switchValue\n type=\"checkbox\"\n name=\"name\"\n class=\"{{prefixCls}}-checkbox\"\n [checked]=\"switchChecked\"\n [value]=\"switchChecked\"\n [disabled]=\"disabled\"\n (change)=\"changeSwitch(switchValue.checked)\"\n />\n <div class=\"checkbox\"\n [ngClass]=\"checkboxCls\"\n [ngStyle]=\"colorStyle\"\n (click)=\"click()\"\n ></div>\n</label>",
encapsulation: ViewEncapsulation.None,
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => Switch),
multi: true
}
]
}] }
];
/** @nocollapse */
Switch.ctorParameters = () => [];
Switch.propDecorators = {
color: [{ type: Input }],
name: [{ type: Input }],
platform: [{ type: Input }],
checked: [{ type: Input }],
disabled: [{ type: Input }],
onChange: [{ type: Output }],
onClick: [{ type: Output }],
dispaly: [{ type: HostBinding, args: ['style.display',] }]
};
if (false) {
/** @type {?} */
Switch.prototype.prefixCls;
/** @type {?} */
Switch.prototype.wrapCls;
/** @type {?} */
Switch.prototype.checkboxCls;
/** @type {?} */
Switch.prototype.colorStyle;
/** @type {?} */
Switch.prototype.switchChecked;
/** @type {?} */
Switch.prototype._color;
/** @type {?} */
Switch.prototype._platform;
/** @type {?} */
Switch.prototype._disabled;
/** @type {?} */
Switch.prototype.name;
/** @type {?} */
Switch.prototype.onChange;
/** @type {?} */
Switch.prototype.onClick;
/** @type {?} */
Switch.prototype.dispaly;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQtbW9iaWxlLyIsInNvdXJjZXMiOlsic3dpdGNoL3N3aXRjaC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBY3pFLE1BQU07SUFrREo7eUJBakRZLFdBQVc7dUJBQ2IsV0FBVzsyQkFDUDtZQUNaLG1CQUFtQixFQUFFLEtBQUs7U0FDM0I7MEJBQ1ksRUFBRTtzQkFHVSxFQUFFO3lCQUNDLEtBQUs7eUJBQ0osS0FBSzt3QkFnQ3ZCLElBQUksWUFBWSxFQUFXO3VCQUU1QixJQUFJLFlBQVksRUFBVzt1QkFHbEIsSUFBSTtLQUVQOzs7OztJQXJDaEIsSUFDSSxLQUFLLENBQUMsS0FBSztRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQy9DOzs7OztJQUtELElBQ0ksUUFBUSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztLQUNuRjs7Ozs7SUFDRCxJQUNJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztLQUM1RDs7OztJQUNELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztLQUN2Qjs7Ozs7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsbUJBQW1CLEVBQUUsS0FBSztTQUMzQixDQUFDO0tBQ0g7Ozs7O0lBV0QsWUFBWSxDQUFDLFlBQVk7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQ2xDOzs7O0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUN2Qzs7O1lBeEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixpZkFBc0M7Z0JBQ3RDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7d0JBQ3JDLEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO2FBQ0Y7Ozs7O29CQWNFLEtBQUs7bUJBTUwsS0FBSzt1QkFHTCxLQUFLO3NCQUtMLEtBQUs7dUJBS0wsS0FBSzt1QkFVTCxNQUFNO3NCQUVOLE1BQU07c0JBR04sV0FBVyxTQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1N3aXRjaCwgbnptLXN3aXRjaCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2l0Y2guY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN3aXRjaCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTd2l0Y2gge1xuICBwcmVmaXhDbHMgPSAnYW0tc3dpdGNoJztcbiAgd3JhcENscyA9ICdhbS1zd2l0Y2gnO1xuICBjaGVja2JveENscyA9IHtcbiAgICAnY2hlY2tib3gtZGlzYWJsZWQnOiBmYWxzZVxuICB9O1xuICBjb2xvclN0eWxlID0ge307XG4gIHN3aXRjaENoZWNrZWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfY29sb3I6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9wbGF0Zm9ybTogc3RyaW5nID0gJ2lvcyc7XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IGNvbG9yKHZhbHVlKSB7XG4gICAgdGhpcy5fY29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLmNvbG9yU3R5bGUgPSB7IGJhY2tncm91bmQ6IHRoaXMuX2NvbG9yIH07XG4gIH1cblxuICBASW5wdXQoKVxuICBuYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc2V0IHBsYXRmb3JtKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wbGF0Zm9ybSA9IHZhbHVlO1xuICAgIHRoaXMud3JhcENscyA9IHZhbHVlID09PSAnYW5kcm9pZCcgPyBgJHt0aGlzLnByZWZpeENsc30tYW5kcm9pZGAgOiB0aGlzLnByZWZpeENscztcbiAgfVxuICBASW5wdXQoKVxuICBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc3dpdGNoQ2hlY2tlZCA9IHZhbHVlO1xuICAgIHRoaXMuY29sb3JTdHlsZSA9IHsgYmFja2dyb3VuZDogdmFsdWUgPyB0aGlzLl9jb2xvciA6ICcnIH07XG4gIH1cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuY2hlY2tib3hDbHMgPSB7XG4gICAgICAnY2hlY2tib3gtZGlzYWJsZWQnOiB2YWx1ZVxuICAgIH07XG4gIH1cbiAgQE91dHB1dCgpXG4gIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKVxuICBkaXNwYWx5OiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgY2hhbmdlU3dpdGNoKGNoZWNrZWRWYWx1ZSkge1xuICAgIHRoaXMuc3dpdGNoQ2hlY2tlZCA9IGNoZWNrZWRWYWx1ZTtcbiAgICB0aGlzLmNvbG9yU3R5bGUgPSB7IGJhY2tncm91bmQ6IGNoZWNrZWRWYWx1ZSA/IHRoaXMuX2NvbG9yIDogJycgfTtcbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoY2hlY2tlZFZhbHVlKTtcbiAgfVxuXG4gIGNsaWNrKCkge1xuICAgIHRoaXMub25DbGljay5lbWl0KHRoaXMuc3dpdGNoQ2hlY2tlZCk7XG4gIH1cbn1cbiJdfQ==