@kre-form/ant
Version:
241 lines • 19.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from "@angular/core";
import { NzModalService } from "ng-zorro-antd";
import * as i0 from "@angular/core";
import * as i1 from "ng-zorro-antd/modal";
/**
* @record
*/
export function ModalOptions() { }
if (false) {
/** @type {?} */
ModalOptions.prototype.nzContent;
/** @type {?} */
ModalOptions.prototype.size;
/** @type {?|undefined} */
ModalOptions.prototype.nzTitle;
/** @type {?|undefined} */
ModalOptions.prototype.primaryLabel;
/** @type {?|undefined} */
ModalOptions.prototype.vertical;
/** @type {?|undefined} */
ModalOptions.prototype.hideBtn;
/** @type {?|undefined} */
ModalOptions.prototype.showResetBtn;
}
export class KreDialogService {
/**
* @param {?} modalService
*/
constructor(modalService) {
this.modalService = modalService;
}
/**
* @param {?} size
* @return {?}
*/
switchSize(size) {
/** @type {?} */
const obj = {
width: 700,
height: 500,
};
switch (size) {
case "small":
obj.width = 530;
obj.height = 400;
break;
case "medium":
obj.width = 700;
obj.height = 500;
break;
case "large":
obj.width = 950;
obj.height = 600;
break;
default:
obj.width = 700;
obj.height = 500;
break;
}
return obj;
}
/**
* @param {?} modalOptions
* @param {?} params
* @param {?} callback
* @return {?}
*/
CreateModelDialog(modalOptions, params, callback) {
/** @type {?} */
const width = this.switchSize(modalOptions.size).width;
/** @type {?} */
const height = this.switchSize(modalOptions.size).height;
/** @type {?} */
const modal = this.modalService.create({
nzTitle: modalOptions.nzTitle ? modalOptions.nzTitle : "提示",
nzWidth: width + "px",
nzClosable: true,
nzMaskClosable: false,
nzWrapClassName: modalOptions["vertical"] ? "vertical-center-modal" : "",
nzBodyStyle: {
padding: "0",
height: !modalOptions["hideBtn"]
? height - 107 + "px"
: height - 54 + "px",
},
nzContent: modalOptions.nzContent,
nzFooter: !modalOptions["hideBtn"]
? [
{
show: true,
label: "取消",
type: "default",
onClick: (/**
* @param {?} componentInstance
* @return {?}
*/
(componentInstance) => {
modal.destroy();
}),
},
{
show: modalOptions["showResetBtn"],
label: "重置",
type: "default",
onClick: (/**
* @param {?} componentInstance
* @return {?}
*/
(componentInstance) => callback(componentInstance, modal)),
},
{
show: true,
label: modalOptions["primaryLabel"]
? modalOptions["primaryLabel"]
: "确定",
type: "primary",
onClick: (/**
* @param {?} componentInstance
* @return {?}
*/
(componentInstance) => callback(componentInstance, modal)),
},
]
: null,
nzOnOk: (/**
* @param {?} data
* @return {?}
*/
(data) => { }),
nzOnCancel: (/**
* @param {?} data
* @return {?}
*/
(data) => { }),
nzComponentParams: params,
});
modal.afterClose.subscribe((/**
* @param {?} result
* @return {?}
*/
(result) => {
if (result) {
callback(result);
}
}));
}
/**
* @param {?} modalOptions
* @param {?} params
* @param {?} callback
* @return {?}
*/
CreateModelDialogField(modalOptions, params, callback) {
/** @type {?} */
const width = this.switchSize(modalOptions.size).width;
/** @type {?} */
const height = this.switchSize(modalOptions.size).height;
/** @type {?} */
const modal = this.modalService.create({
nzTitle: modalOptions.nzTitle ? modalOptions.nzTitle : "提示",
nzWidth: width + "px",
nzClosable: true,
nzMaskClosable: false,
nzWrapClassName: modalOptions["vertical"] ? "vertical-center-modal" : "",
nzBodyStyle: {
padding: "0",
height: !modalOptions["hideBtn"]
? height - 107 + "px"
: height - 54 + "px",
},
nzContent: modalOptions.nzContent,
nzFooter: !modalOptions["hideBtn"]
? [
{
show: true,
label: "取消",
type: "default",
onClick: (/**
* @param {?} componentInstance
* @return {?}
*/
(componentInstance) => {
modal.destroy();
}),
},
{
show: true,
label: modalOptions["primaryLabel"]
? modalOptions["primaryLabel"]
: "确定",
type: "primary",
onClick: (/**
* @param {?} componentInstance
* @return {?}
*/
(componentInstance) => callback("save", componentInstance, modal)),
},
]
: null,
nzOnOk: (/**
* @param {?} data
* @return {?}
*/
(data) => { }),
nzOnCancel: (/**
* @param {?} data
* @return {?}
*/
(data) => { }),
nzComponentParams: params,
});
modal.afterClose.subscribe((/**
* @param {?} result
* @return {?}
*/
(result) => {
if (result) {
callback(result);
}
}));
}
}
KreDialogService.decorators = [
{ type: Injectable, args: [{
providedIn: "root",
},] }
];
/** @nocollapse */
KreDialogService.ctorParameters = () => [
{ type: NzModalService }
];
/** @nocollapse */ KreDialogService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function KreDialogService_Factory() { return new KreDialogService(i0.ɵɵinject(i1.NzModalService)); }, token: KreDialogService, providedIn: "root" });
if (false) {
/** @type {?} */
KreDialogService.prototype.modalService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Aa3JlLWZvcm0vYW50LyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBYyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBRzNELGtDQVFDOzs7SUFQQyxpQ0FBZTs7SUFDZiw0QkFBb0I7O0lBQ3BCLCtCQUFpQjs7SUFDakIsb0NBQXNCOztJQUN0QixnQ0FBbUI7O0lBQ25CLCtCQUFrQjs7SUFDbEIsb0NBQXVCOztBQUt6QixNQUFNLE9BQU8sZ0JBQWdCOzs7O0lBQzNCLFlBQW1CLFlBQTRCO1FBQTVCLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtJQUFHLENBQUM7Ozs7O0lBQ25ELFVBQVUsQ0FBQyxJQUFTOztjQUNaLEdBQUcsR0FBRztZQUNWLEtBQUssRUFBRSxHQUFHO1lBQ1YsTUFBTSxFQUFFLEdBQUc7U0FDWjtRQUNELFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxPQUFPO2dCQUNWLEdBQUcsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO2dCQUNoQixHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztnQkFDakIsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxHQUFHLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztnQkFDaEIsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7Z0JBQ2pCLE1BQU07WUFDUixLQUFLLE9BQU87Z0JBQ1YsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7Z0JBQ2hCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO2dCQUNqQixNQUFNO1lBQ1I7Z0JBQ0UsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7Z0JBQ2hCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FB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QUFPOzs7O3dCQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUM3QixRQUFRLENBQUMsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFBO3FCQUM3QztpQkFDRjtnQkFDSCxDQUFDLENBQUMsSUFBSTtZQUNSLE1BQU07Ozs7WUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFBO1lBQ3BCLFVBQVU7Ozs7WUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFBO1lBQ3hCLGlCQUFpQixFQUFFLE1BQU07U0FDMUIsQ0FBQztRQUVGLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUzs7OztRQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDekMsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE3SUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBZFEsY0FBYzs7Ozs7SUFnQlQsd0NBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOek1vZGFsU2VydmljZSwgVXBsb2FkRmlsZSB9IGZyb20gXCJuZy16b3Jyby1hbnRkXCI7XG5cbnR5cGUgTW9kYWxTaXplVHlwZSA9IFwic21hbGxcIiB8IFwibWVkaXVtXCIgfCBcImxhcmdlXCI7XG5leHBvcnQgaW50ZXJmYWNlIE1vZGFsT3B0aW9ucyB7XG4gIG56Q29udGVudDogYW55OyAvL+e7hOS7tlxuICBzaXplOiBNb2RhbFNpemVUeXBlOyAvL+Wwjy/kuK0v5aSnXG4gIG56VGl0bGU/OiBzdHJpbmc7IC8v5qCH6aKYXG4gIHByaW1hcnlMYWJlbD86IHN0cmluZzsgLy/mjInpkq7igJhsYWJlbOKAmSzkuI3kvKDpu5jorqTkuLrigJjnoa7lrprigJlcbiAgdmVydGljYWw/OiBib29sZWFuOyAvL+W8ueahhuaYr+WQpuS4uuWeguebtOWxheS4re+8jOm7mOiupOS4jeWeguebtOWxheS4rVxuICBoaWRlQnRuPzogYm9vbGVhbjsgLy/mmK/lkKbpmpDol49mb290ZXLmjInpkq5cbiAgc2hvd1Jlc2V0QnRuPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrph43nva7mjInpkq5cbn1cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIEtyZURpYWxvZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgbW9kYWxTZXJ2aWNlOiBOek1vZGFsU2VydmljZSkge31cbiAgc3dpdGNoU2l6ZShzaXplOiBhbnkpIHtcbiAgICBjb25zdCBvYmogPSB7XG4gICAgICB3aWR0aDogNzAwLFxuICAgICAgaGVpZ2h0OiA1MDAsXG4gICAgfTtcbiAgICBzd2l0Y2ggKHNpemUpIHtcbiAgICAgIGNhc2UgXCJzbWFsbFwiOlxuICAgICAgICBvYmoud2lkdGggPSA1MzA7XG4gICAgICAgIG9iai5oZWlnaHQgPSA0MDA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm1lZGl1bVwiOlxuICAgICAgICBvYmoud2lkdGggPSA3MDA7XG4gICAgICAgIG9iai5oZWlnaHQgPSA1MDA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcImxhcmdlXCI6XG4gICAgICAgIG9iai53aWR0aCA9IDk1MDtcbiAgICAgICAgb2JqLmhlaWdodCA9IDYwMDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBvYmoud2lkdGggPSA3MDA7XG4gICAgICAgIG9iai5oZWlnaHQgPSA1MDA7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9XG4gIHB1YmxpYyBDcmVhdGVNb2RlbERpYWxvZyhcbiAgICBtb2RhbE9wdGlvbnM6IE1vZGFsT3B0aW9ucyxcbiAgICBwYXJhbXM6IGFueSxcbiAgICBjYWxsYmFjazogYW55XG4gICkge1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5zd2l0Y2hTaXplKG1vZGFsT3B0aW9ucy5zaXplKS53aWR0aDtcbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLnN3aXRjaFNpemUobW9kYWxPcHRpb25zLnNpemUpLmhlaWdodDtcbiAgICBjb25zdCBtb2RhbDogYW55ID0gdGhpcy5tb2RhbFNlcnZpY2UuY3JlYXRlKHtcbiAgICAgIG56VGl0bGU6IG1vZGFsT3B0aW9ucy5uelRpdGxlID8gbW9kYWxPcHRpb25zLm56VGl0bGUgOiBcIuaPkOekulwiLFxuICAgICAgbnpXaWR0aDogd2lkdGggKyBcInB4XCIsXG4gICAgICBuekNsb3NhYmxlOiB0cnVlLFxuICAgICAgbnpNYXNrQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgbnpXcmFwQ2xhc3NOYW1lOiBtb2RhbE9wdGlvbnNbXCJ2ZXJ0aWNhbFwiXSA/IFwidmVydGljYWwtY2VudGVyLW1vZGFsXCIgOiBcIlwiLFxuICAgICAgbnpCb2R5U3R5bGU6IHtcbiAgICAgICAgcGFkZGluZzogXCIwXCIsXG4gICAgICAgIGhlaWdodDogIW1vZGFsT3B0aW9uc1tcImhpZGVCdG5cIl1cbiAgICAgICAgICA/IGhlaWdodCAtIDEwNyArIFwicHhcIlxuICAgICAgICAgIDogaGVpZ2h0IC0gNTQgKyBcInB4XCIsXG4gICAgICB9LFxuICAgICAgbnpDb250ZW50OiBtb2RhbE9wdGlvbnMubnpDb250ZW50LFxuICAgICAgbnpGb290ZXI6ICFtb2RhbE9wdGlvbnNbXCJoaWRlQnRuXCJdXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICBsYWJlbDogXCLlj5bmtohcIixcbiAgICAgICAgICAgICAgdHlwZTogXCJkZWZhdWx0XCIsXG4gICAgICAgICAgICAgIG9uQ2xpY2s6IChjb21wb25lbnRJbnN0YW5jZSkgPT4ge1xuICAgICAgICAgICAgICAgIG1vZGFsLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHNob3c6IG1vZGFsT3B0aW9uc1tcInNob3dSZXNldEJ0blwiXSxcbiAgICAgICAgICAgICAgbGFiZWw6IFwi6YeN572uXCIsXG4gICAgICAgICAgICAgIHR5cGU6IFwiZGVmYXVsdFwiLFxuICAgICAgICAgICAgICBvbkNsaWNrOiAoY29tcG9uZW50SW5zdGFuY2UpID0+XG4gICAgICAgICAgICAgICAgY2FsbGJhY2soY29tcG9uZW50SW5zdGFuY2UsIG1vZGFsKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHNob3c6IHRydWUsXG4gICAgICAgICAgICAgIGxhYmVsOiBtb2RhbE9wdGlvbnNbXCJwcmltYXJ5TGFiZWxcIl1cbiAgICAgICAgICAgICAgICA/IG1vZGFsT3B0aW9uc1tcInByaW1hcnlMYWJlbFwiXVxuICAgICAgICAgICAgICAgIDogXCLnoa7lrppcIixcbiAgICAgICAgICAgICAgdHlwZTogXCJwcmltYXJ5XCIsXG4gICAgICAgICAgICAgIG9uQ2xpY2s6IChjb21wb25lbnRJbnN0YW5jZSkgPT5cbiAgICAgICAgICAgICAgICBjYWxsYmFjayhjb21wb25lbnRJbnN0YW5jZSwgbW9kYWwpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogbnVsbCxcbiAgICAgIG56T25PazogKGRhdGEpID0+IHt9LFxuICAgICAgbnpPbkNhbmNlbDogKGRhdGEpID0+IHt9LFxuICAgICAgbnpDb21wb25lbnRQYXJhbXM6IHBhcmFtcyxcbiAgICB9KTtcblxuICAgIG1vZGFsLmFmdGVyQ2xvc2Uuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICBjYWxsYmFjayhyZXN1bHQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIENyZWF0ZU1vZGVsRGlhbG9nRmllbGQoXG4gICAgbW9kYWxPcHRpb25zOiBNb2RhbE9wdGlvbnMsXG4gICAgcGFyYW1zOiBhbnksXG4gICAgY2FsbGJhY2s6IGFueVxuICApIHtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuc3dpdGNoU2l6ZShtb2RhbE9wdGlvbnMuc2l6ZSkud2lkdGg7XG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5zd2l0Y2hTaXplKG1vZGFsT3B0aW9ucy5zaXplKS5oZWlnaHQ7XG4gICAgY29uc3QgbW9kYWw6IGFueSA9IHRoaXMubW9kYWxTZXJ2aWNlLmNyZWF0ZSh7XG4gICAgICBuelRpdGxlOiBtb2RhbE9wdGlvbnMubnpUaXRsZSA/IG1vZGFsT3B0aW9ucy5uelRpdGxlIDogXCLmj5DnpLpcIixcbiAgICAgIG56V2lkdGg6IHdpZHRoICsgXCJweFwiLFxuICAgICAgbnpDbG9zYWJsZTogdHJ1ZSxcbiAgICAgIG56TWFza0Nsb3NhYmxlOiBmYWxzZSxcbiAgICAgIG56V3JhcENsYXNzTmFtZTogbW9kYWxPcHRpb25zW1widmVydGljYWxcIl0gPyBcInZlcnRpY2FsLWNlbnRlci1tb2RhbFwiIDogXCJcIixcbiAgICAgIG56Qm9keVN0eWxlOiB7XG4gICAgICAgIHBhZGRpbmc6IFwiMFwiLFxuICAgICAgICBoZWlnaHQ6ICFtb2RhbE9wdGlvbnNbXCJoaWRlQnRuXCJdXG4gICAgICAgICAgPyBoZWlnaHQgLSAxMDcgKyBcInB4XCJcbiAgICAgICAgICA6IGhlaWdodCAtIDU0ICsgXCJweFwiLFxuICAgICAgfSxcbiAgICAgIG56Q29udGVudDogbW9kYWxPcHRpb25zLm56Q29udGVudCxcbiAgICAgIG56Rm9vdGVyOiAhbW9kYWxPcHRpb25zW1wiaGlkZUJ0blwiXVxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgICAgICAgbGFiZWw6IFwi5Y+W5raIXCIsXG4gICAgICAgICAgICAgIHR5cGU6IFwiZGVmYXVsdFwiLFxuICAgICAgICAgICAgICBvbkNsaWNrOiAoY29tcG9uZW50SW5zdGFuY2UpID0+IHtcbiAgICAgICAgICAgICAgICBtb2RhbC5kZXN0cm95KCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICBsYWJlbDogbW9kYWxPcHRpb25zW1wicHJpbWFyeUxhYmVsXCJdXG4gICAgICAgICAgICAgICAgPyBtb2RhbE9wdGlvbnNbXCJwcmltYXJ5TGFiZWxcIl1cbiAgICAgICAgICAgICAgICA6IFwi56Gu5a6aXCIsXG4gICAgICAgICAgICAgIHR5cGU6IFwicHJpbWFyeVwiLFxuICAgICAgICAgICAgICBvbkNsaWNrOiAoY29tcG9uZW50SW5zdGFuY2UpID0+XG4gICAgICAgICAgICAgICAgY2FsbGJhY2soXCJzYXZlXCIsIGNvbXBvbmVudEluc3RhbmNlLCBtb2RhbCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBudWxsLFxuICAgICAgbnpPbk9rOiAoZGF0YSkgPT4ge30sXG4gICAgICBuek9uQ2FuY2VsOiAoZGF0YSkgPT4ge30sXG4gICAgICBuekNvbXBvbmVudFBhcmFtczogcGFyYW1zLFxuICAgIH0pO1xuXG4gICAgbW9kYWwuYWZ0ZXJDbG9zZS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIGNhbGxiYWNrKHJlc3VsdCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==