UNPKG

@c-standard/angular-devui-extension

Version:

an extensional components lib for devui

67 lines 7.42 kB
import { Injectable } from '@angular/core'; import { PopupSizeParams } from './popup'; import { isUndefined } from 'lodash-es'; import * as i0 from "@angular/core"; import * as i1 from "ng-devui"; export class PopupService { /** * 弹框建议的 400px,550px,700px,900px, * 弹框比例 16:9,3:2 */ constructor(dialog) { this.dialog = dialog; } show(option, resolve, reject) { const width = this.calcWidth(option.width); const ref = this.dialog.open({ width: width, title: option.title || '', placement: 'top', offsetY: window.innerHeight * 0.1 + 'px', backdropCloseable: false, content: option.component, injector: option.parent, onClose: option.closed, maxHeight: '80vh', buttons: [], data: { args: option.args, callback: (ok, data) => { if (ok == undefined) { ref.modalInstance.hide(); return; } if (ok) { if (isUndefined(resolve?.(data)) || resolve?.(data)) { ref.modalInstance.hide(); } } else { reject?.(data); } }, }, }); } calcWidth(width) { if (width) { // if (isString(size)) { // return size; // } else { return PopupSizeParams[width]; // } } else { return PopupSizeParams['default']; } } } PopupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PopupService, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Injectable }); PopupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PopupService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PopupService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return [{ type: i1.DialogService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvcG9wdXAvcG9wdXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQTRCLE1BQU0sU0FBUyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUt4QyxNQUFNLE9BQU8sWUFBWTtJQUNyQjs7O09BR0c7SUFDSCxZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO0lBQUksQ0FBQztJQUU5QyxJQUFJLENBQ0EsTUFBb0IsRUFDcEIsT0FBb0QsRUFDcEQsTUFBNkI7UUFFN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDekIsS0FBSyxFQUFFLEtBQUs7WUFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3pCLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsR0FBRyxJQUFJO1lBQ3hDLGlCQUFpQixFQUFFLEtBQUs7WUFDeEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTTtZQUN2QixPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDdEIsU0FBUyxFQUFFLE1BQU07WUFDakIsT0FBTyxFQUFFLEVBQUU7WUFDWCxJQUFJLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUNqQixRQUFRLEVBQUUsQ0FBQyxFQUFZLEVBQUUsSUFBVSxFQUFFLEVBQUU7b0JBQ25DLElBQUksRUFBRSxJQUFJLFNBQVMsRUFBRTt3QkFDakIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDekIsT0FBTztxQkFDVjtvQkFDRCxJQUFJLEVBQUUsRUFBRTt3QkFDSixJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFOzRCQUNqRCxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO3lCQUM1QjtxQkFDSjt5QkFBTTt3QkFDSCxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDbEI7Z0JBQ0wsQ0FBQzthQUNKO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFrQjtRQUN4QixJQUFJLEtBQUssRUFBRTtZQUNQLHdCQUF3QjtZQUN4QixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLElBQUk7U0FDUDthQUFNO1lBQ0gsT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDckM7SUFDTCxDQUFDOzt5R0FyRFEsWUFBWTs2R0FBWixZQUFZLGNBRlQsTUFBTTsyRkFFVCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgTW9kYWxDb21wb25lbnQgfSBmcm9tICduZy1kZXZ1aSc7XHJcbmltcG9ydCB7IFBvcHVwU2l6ZVBhcmFtcywgUG9wdXBXaWR0aCwgRFBvcHVwT3B0aW9uIH0gZnJvbSAnLi9wb3B1cCc7XHJcbmltcG9ydCB7IGlzVW5kZWZpbmVkIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvcHVwU2VydmljZSB7XHJcbiAgICAvKipcclxuICAgICAqIOW8ueahhuW7uuiurueahCA0MDBweO+8jDU1MHB477yMNzAwcHjvvIw5MDBweO+8jFxyXG4gICAgICog5by55qGG5q+U5L6LIDE277yaOe+8jDPvvJoyXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBEaWFsb2dTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBzaG93KFxyXG4gICAgICAgIG9wdGlvbjogRFBvcHVwT3B0aW9uLFxyXG4gICAgICAgIHJlc29sdmU/OiAoZGF0YT86IGFueSwgcmVmPzogTW9kYWxDb21wb25lbnQpID0+IHZvaWQsXHJcbiAgICAgICAgcmVqZWN0PzogKGRhdGE/OiBhbnkpID0+IHZvaWRcclxuICAgICkge1xyXG4gICAgICAgIGNvbnN0IHdpZHRoID0gdGhpcy5jYWxjV2lkdGgob3B0aW9uLndpZHRoKTtcclxuICAgICAgICBjb25zdCByZWYgPSB0aGlzLmRpYWxvZy5vcGVuKHtcclxuICAgICAgICAgICAgd2lkdGg6IHdpZHRoLFxyXG4gICAgICAgICAgICB0aXRsZTogb3B0aW9uLnRpdGxlIHx8ICcnLFxyXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICd0b3AnLFxyXG4gICAgICAgICAgICBvZmZzZXRZOiB3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjEgKyAncHgnLFxyXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NlYWJsZTogZmFsc2UsXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG9wdGlvbi5jb21wb25lbnQsXHJcbiAgICAgICAgICAgIGluamVjdG9yOiBvcHRpb24ucGFyZW50LFxyXG4gICAgICAgICAgICBvbkNsb3NlOiBvcHRpb24uY2xvc2VkLFxyXG4gICAgICAgICAgICBtYXhIZWlnaHQ6ICc4MHZoJyxcclxuICAgICAgICAgICAgYnV0dG9uczogW10sXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIGFyZ3M6IG9wdGlvbi5hcmdzLFxyXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IChvaz86IGJvb2xlYW4sIGRhdGE/OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAob2sgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZi5tb2RhbEluc3RhbmNlLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob2spIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzVW5kZWZpbmVkKHJlc29sdmU/LihkYXRhKSkgfHwgcmVzb2x2ZT8uKGRhdGEpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWYubW9kYWxJbnN0YW5jZS5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3Q/LihkYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbGNXaWR0aCh3aWR0aD86IFBvcHVwV2lkdGgpIHtcclxuICAgICAgICBpZiAod2lkdGgpIHtcclxuICAgICAgICAgICAgLy8gaWYgKGlzU3RyaW5nKHNpemUpKSB7XHJcbiAgICAgICAgICAgIC8vICAgICByZXR1cm4gc2l6ZTtcclxuICAgICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIFBvcHVwU2l6ZVBhcmFtc1t3aWR0aF07XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gUG9wdXBTaXplUGFyYW1zWydkZWZhdWx0J107XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==