ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
47 lines • 5.26 kB
JavaScript
import { Injectable, Injector } from '@angular/core';
import { PickerComponent } from './picker.component';
import { PickerOptions } from './picker-options.provider';
import { PopupService } from 'ng-zorro-antd-mobile/core';
import * as i0 from "@angular/core";
export class PickerService extends PopupService {
constructor() {
super(...arguments);
this.comRef = null;
this.defaultOptions = new PickerOptions();
}
showPicker(config = this.defaultOptions, confirmCallback, cancelCallback) {
const options = new PickerOptions();
Object.assign(options, config, {
hidePicker: (event) => {
this.hidePicker();
},
confirm: (event) => {
if (confirmCallback) {
confirmCallback(event);
}
},
cancel: () => {
if (cancelCallback) {
cancelCallback();
}
}
});
const childInjector = Injector.create([
{
provide: PickerOptions,
useValue: options
}
]);
this.comRef = this.showPopup(PickerComponent, childInjector);
return this.comRef && this.comRef.instance;
}
hidePicker() {
this.hidePopup();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PickerService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PickerService }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PickerService, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL3BpY2tlci9waWNrZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBa0IsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUd6RCxNQUFNLE9BQU8sYUFBYyxTQUFRLFlBQVk7SUFEL0M7O1FBRUUsV0FBTSxHQUFrQyxJQUFJLENBQUM7UUFDN0MsbUJBQWMsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztLQXFDckQ7SUFuQ0MsVUFBVSxDQUNSLFNBQXdCLElBQUksQ0FBQyxjQUFjLEVBQzNDLGVBQWdDLEVBQ2hDLGNBQStCO1FBRS9CLE1BQU0sT0FBTyxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDcEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFO1lBQzdCLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBUSxFQUFFO2dCQUMxQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBUSxFQUFFO2dCQUN2QixJQUFJLGVBQWUsRUFBRTtvQkFDbkIsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUN4QjtZQUNILENBQUM7WUFDRCxNQUFNLEVBQUUsR0FBUyxFQUFFO2dCQUNqQixJQUFJLGNBQWMsRUFBRTtvQkFDbEIsY0FBYyxFQUFFLENBQUM7aUJBQ2xCO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDcEM7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFFBQVEsRUFBRSxPQUFPO2FBQ2xCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM3RCxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDN0MsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs4R0F0Q1UsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBpY2tlckNhbGxCYWNrLCBQaWNrZXJPcHRpb25zIH0gZnJvbSAnLi9waWNrZXItb3B0aW9ucy5wcm92aWRlcic7XG5pbXBvcnQgeyBQb3B1cFNlcnZpY2UgfSBmcm9tICduZy16b3Jyby1hbnRkLW1vYmlsZS9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBpY2tlclNlcnZpY2UgZXh0ZW5kcyBQb3B1cFNlcnZpY2Uge1xuICBjb21SZWY6IENvbXBvbmVudFJlZjxQaWNrZXJDb21wb25lbnQ+ID0gbnVsbDtcbiAgZGVmYXVsdE9wdGlvbnM6IFBpY2tlck9wdGlvbnMgPSBuZXcgUGlja2VyT3B0aW9ucygpO1xuXG4gIHNob3dQaWNrZXIoXG4gICAgY29uZmlnOiBQaWNrZXJPcHRpb25zID0gdGhpcy5kZWZhdWx0T3B0aW9ucyxcbiAgICBjb25maXJtQ2FsbGJhY2s/OiBQaWNrZXJDYWxsQmFjayxcbiAgICBjYW5jZWxDYWxsYmFjaz86IFBpY2tlckNhbGxCYWNrXG4gICk6IGFueSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IG5ldyBQaWNrZXJPcHRpb25zKCk7XG4gICAgT2JqZWN0LmFzc2lnbihvcHRpb25zLCBjb25maWcsIHtcbiAgICAgIGhpZGVQaWNrZXI6IChldmVudCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmhpZGVQaWNrZXIoKTtcbiAgICAgIH0sXG4gICAgICBjb25maXJtOiAoZXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKGNvbmZpcm1DYWxsYmFjaykge1xuICAgICAgICAgIGNvbmZpcm1DYWxsYmFjayhldmVudCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjYW5jZWw6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKGNhbmNlbENhbGxiYWNrKSB7XG4gICAgICAgICAgY2FuY2VsQ2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgY2hpbGRJbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IFBpY2tlck9wdGlvbnMsXG4gICAgICAgIHVzZVZhbHVlOiBvcHRpb25zXG4gICAgICB9XG4gICAgXSk7XG4gICAgdGhpcy5jb21SZWYgPSB0aGlzLnNob3dQb3B1cChQaWNrZXJDb21wb25lbnQsIGNoaWxkSW5qZWN0b3IpO1xuICAgIHJldHVybiB0aGlzLmNvbVJlZiAmJiB0aGlzLmNvbVJlZi5pbnN0YW5jZTtcbiAgfVxuXG4gIGhpZGVQaWNrZXIoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlUG9wdXAoKTtcbiAgfVxufVxuIl19