ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
173 lines • 13.3 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import { Component, Output, QueryList, forwardRef, EventEmitter, ContentChildren, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
import { RadioItemComponent } from './radio-item.component';
import { merge, Subject } from 'rxjs';
import { startWith, takeUntil } from 'rxjs/operators';
/** @type {?} */
export const RADIO_ITEM_GROUP_VALUE_ACCESSOR = {
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef((/**
* @return {?}
*/
() => RadioItemGroupComponent)),
multi: true
};
export class RadioItemGroupComponent {
/**
* @param {?} cdr
*/
constructor(cdr) {
this.cdr = cdr;
this.destroy$ = new Subject();
this.onChange = new EventEmitter();
}
/**
* @return {?}
*/
updateChildrenStatus() {
if (this.radioItems && typeof this.selectedValue !== 'undefined' && null !== this.selectedValue) {
Promise.resolve().then((/**
* @return {?}
*/
() => {
this.radioItems.forEach((/**
* @param {?} radioItem
* @return {?}
*/
radioItem => {
radioItem.checked = radioItem.value === this.selectedValue;
radioItem.markForCheck();
}));
}));
}
}
/**
* @return {?}
*/
ngAfterContentInit() {
this.radioItems.changes
.pipe(startWith(null), takeUntil(this.destroy$))
.subscribe((/**
* @return {?}
*/
() => {
this.updateChildrenStatus();
if (this.selectSubscription) {
this.selectSubscription.unsubscribe();
}
this.selectSubscription = merge(...this.radioItems.map((/**
* @param {?} radioItem
* @return {?}
*/
radioItem => radioItem.select$)))
.pipe(takeUntil(this.destroy$))
.subscribe((/**
* @param {?} radioItem
* @return {?}
*/
radioItem => {
if (typeof this.selectedValue !== 'undefined' && null !== this.selectedValue) {
this.selectedValue = radioItem.value;
this._ngModelOnChange(radioItem.value);
this.updateChildrenStatus();
if (this.onChange) {
this.onChange.emit({ name: radioItem.name, value: radioItem.value });
}
}
}));
}));
}
/**
* @return {?}
*/
ngOnDestroy() {
this.destroy$.next();
this.destroy$.complete();
}
/**
* @param {?} value
* @return {?}
*/
writeValue(value) {
if (typeof value !== 'undefined' && null !== value) {
this.selectedValue = value;
this.updateChildrenStatus();
this.cdr.markForCheck();
}
}
/**
* @param {?} fn
* @return {?}
*/
registerOnChange(fn) {
this._ngModelOnChange = fn;
}
/**
* @param {?} fn
* @return {?}
*/
registerOnTouched(fn) {
this._ngModelOnTouched = fn;
}
}
RadioItemGroupComponent.decorators = [
{ type: Component, args: [{
selector: 'RadioItemGroup, nzm-radio-item-group',
template: "<ng-content></ng-content>\n",
encapsulation: ViewEncapsulation.None,
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [RADIO_ITEM_GROUP_VALUE_ACCESSOR]
}] }
];
/** @nocollapse */
RadioItemGroupComponent.ctorParameters = () => [
{ type: ChangeDetectorRef }
];
RadioItemGroupComponent.propDecorators = {
radioItems: [{ type: ContentChildren, args: [forwardRef((/**
* @return {?}
*/
() => RadioItemComponent)),] }],
onChange: [{ type: Output }]
};
if (false) {
/**
* @type {?}
* @private
*/
RadioItemGroupComponent.prototype.selectedValue;
/**
* @type {?}
* @private
*/
RadioItemGroupComponent.prototype.destroy$;
/**
* @type {?}
* @private
*/
RadioItemGroupComponent.prototype.selectSubscription;
/**
* @type {?}
* @private
*/
RadioItemGroupComponent.prototype._ngModelOnChange;
/**
* @type {?}
* @private
*/
RadioItemGroupComponent.prototype._ngModelOnTouched;
/** @type {?} */
RadioItemGroupComponent.prototype.radioItems;
/** @type {?} */
RadioItemGroupComponent.prototype.onChange;
/**
* @type {?}
* @private
*/
RadioItemGroupComponent.prototype.cdr;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8taXRlbS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkLW1vYmlsZS8iLCJzb3VyY2VzIjpbInJhZGlvL3JhZGlvLWl0ZW0tZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBR04sU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osZUFBZSxFQUNmLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTVELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUd0RCxNQUFNLE9BQU8sK0JBQStCLEdBQVE7SUFDbEQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVTs7O0lBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLEVBQUM7SUFDdEQsS0FBSyxFQUFFLElBQUk7Q0FDWjtBQVNELE1BQU0sT0FBTyx1QkFBdUI7Ozs7SUFhbEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFYbEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFTakMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFFRSxDQUFDOzs7O0lBRTlDLG9CQUFvQjtRQUNsQixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxJQUFJLENBQUMsYUFBYSxLQUFLLFdBQVcsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUMvRixP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ZUFBZSxTQUFDLFVBQVU7OztnQkFBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsRUFBQzt1QkFFcEQsTUFBTTs7Ozs7OztJQVRQLGdEQUF1Qzs7Ozs7SUFDdkMsMkNBQWlDOzs7OztJQUNqQyxxREFBeUM7Ozs7O0lBRXpDLG1EQUF5RDs7Ozs7SUFDekQsb0RBQW9DOztJQUVwQyw2Q0FBaUc7O0lBRWpHLDJDQUMyQzs7Ozs7SUFFL0Isc0NBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPdXRwdXQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBmb3J3YXJkUmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJhZGlvSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8taXRlbS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJhZGlvU3RhdHVzIH0gZnJvbSAnLi9Qcm9wc1R5cGUnO1xuXG5leHBvcnQgY29uc3QgUkFESU9fSVRFTV9HUk9VUF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFkaW9JdGVtR3JvdXBDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZVxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnUmFkaW9JdGVtR3JvdXAsIG56bS1yYWRpby1pdGVtLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWl0ZW0tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbUkFESU9fSVRFTV9HUk9VUF9WQUxVRV9BQ0NFU1NPUl1cbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9JdGVtR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHJpdmF0ZSBzZWxlY3RlZFZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHNlbGVjdFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgX25nTW9kZWxPbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpID0+IHt9O1xuICBwcml2YXRlIF9uZ01vZGVsT25Ub3VjaGVkOiAoKSA9PiB7fTtcblxuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gUmFkaW9JdGVtQ29tcG9uZW50KSkgcmFkaW9JdGVtczogUXVlcnlMaXN0PFJhZGlvSXRlbUNvbXBvbmVudD47XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxSYWRpb1N0YXR1cz4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgdXBkYXRlQ2hpbGRyZW5TdGF0dXMoKSB7XG4gICAgaWYgKHRoaXMucmFkaW9JdGVtcyAmJiB0eXBlb2YgdGhpcy5zZWxlY3RlZFZhbHVlICE9PSAndW5kZWZpbmVkJyAmJiBudWxsICE9PSB0aGlzLnNlbGVjdGVkVmFsdWUpIHtcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLnJhZGlvSXRlbXMuZm9yRWFjaChyYWRpb0l0ZW0gPT4ge1xuICAgICAgICAgIHJhZGlvSXRlbS5jaGVja2VkID0gcmFkaW9JdGVtLnZhbHVlID09PSB0aGlzLnNlbGVjdGVkVmFsdWU7XG4gICAgICAgICAgcmFkaW9JdGVtLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLnJhZGlvSXRlbXMuY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVDaGlsZHJlblN0YXR1cygpO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0U3Vic2NyaXB0aW9uID0gbWVyZ2UoLi4udGhpcy5yYWRpb0l0ZW1zLm1hcChyYWRpb0l0ZW0gPT4gcmFkaW9JdGVtLnNlbGVjdCQpKVxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKHJhZGlvSXRlbSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2VsZWN0ZWRWYWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbnVsbCAhPT0gdGhpcy5zZWxlY3RlZFZhbHVlKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHJhZGlvSXRlbS52YWx1ZTtcbiAgICAgICAgICAgICAgdGhpcy5fbmdNb2RlbE9uQ2hhbmdlKHJhZGlvSXRlbS52YWx1ZSk7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hpbGRyZW5TdGF0dXMoKTtcbiAgICAgICAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyBuYW1lOiByYWRpb0l0ZW0ubmFtZSwgdmFsdWU6IHJhZGlvSXRlbS52YWx1ZSB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJyAmJiBudWxsICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnVwZGF0ZUNoaWxkcmVuU3RhdHVzKCk7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9uZ01vZGVsT25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9uZ01vZGVsT25Ub3VjaGVkID0gZm47XG4gIH1cbn1cbiJdfQ==