@gsp-cmp/ccmp-ui
Version:
CCMP UI Component Library for Angular
142 lines • 12.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/ccmp-ui.rt-service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable, Injector, EventEmitter, ComponentFactoryResolver } from '@angular/core';
import { CommonComponentSelectorComponent } from './ccmp-selector/common-component-selector.component';
import { ViewUtils } from './view-utils/view-utils';
import { BsModalService } from '@farris/ui-modal';
import { HttpHeaders, HttpClient } from '@angular/common/http';
import { map } from 'rxjs/operators';
import { ComponentInfo } from './params/component-info';
import { BasePathService } from '@farris/rtf';
import * as i0 from "@angular/core";
import * as i1 from "./view-utils/view-utils";
import * as i2 from "@farris/ui-modal";
import * as i3 from "@angular/common/http";
export class CommonComponentUiRTService {
/**
* @param {?} resolver
* @param {?} injector
* @param {?} util
* @param {?} modalService
* @param {?} http
*/
constructor(resolver, injector, util, modalService, http) {
this.resolver = resolver;
this.injector = injector;
this.util = util;
this.modalService = modalService;
this.http = http;
}
/**
* 通用构件操作选择器
* @param {?} metadataId 通用构件元数据
* @param {?} sessionId 功能sessionId
* @param {?=} options UI可选配置参数
* @return {?}
*/
openSelector(metadataId, sessionId, options) {
return this.getComponentInfo(metadataId, sessionId).pipe(map((/**
* @param {?} data
* @return {?}
*/
(data) => {
if (data.obselete) {
this.util.showObseleteDialog(data);
return { confirmEvent: new EventEmitter(), closeEvent: new EventEmitter() };
}
else {
return this.create(data, options);
}
})));
}
/**
* 获取构件信息
* @param {?} metadataId 构件元数据ID
* @param {?} sessionId 功能sessionid
* @return {?}
*/
getComponentInfo(metadataId, sessionId) {
/** @type {?} */
let headers = new HttpHeaders();
headers.set("sessionId", sessionId);
/** @type {?} */
let url = `/api/runtime/sys/v1.0/common-component/component-info/${metadataId}`;
return this.http.get(BasePathService.convertPath(url), { headers: headers }).pipe(map((/**
* @param {?} data
* @return {?}
*/
data => {
if (data) {
/** @type {?} */
let cmpInfo = new ComponentInfo();
cmpInfo.init(data);
return cmpInfo;
}
})));
}
/**
* @private
* @param {?} componentInfo
* @param {?} options
* @return {?}
*/
create(componentInfo, options) {
/** @type {?} */
let fac = this.resolver.resolveComponentFactory(CommonComponentSelectorComponent);
/** @type {?} */
let cmpRef = fac.create(this.injector);
cmpRef.instance.componentInfo = componentInfo;
cmpRef.instance._options = options;
/** @type {?} */
let modalConfig = this.util.getModalConfig(cmpRef.instance.btnRef, options);
/** @type {?} */
let dialog = this.modalService.show(cmpRef, modalConfig);
cmpRef.instance.dialog = dialog;
return { confirmEvent: cmpRef.instance.confirmEmitter, closeEvent: cmpRef.instance.closeEmitter };
}
}
CommonComponentUiRTService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] }
];
/** @nocollapse */
CommonComponentUiRTService.ctorParameters = () => [
{ type: ComponentFactoryResolver },
{ type: Injector },
{ type: ViewUtils },
{ type: BsModalService },
{ type: HttpClient }
];
/** @nocollapse */ CommonComponentUiRTService.ngInjectableDef = i0.defineInjectable({ factory: function CommonComponentUiRTService_Factory() { return new CommonComponentUiRTService(i0.inject(i0.ComponentFactoryResolver), i0.inject(i0.INJECTOR), i0.inject(i1.ViewUtils), i0.inject(i2.BsModalService), i0.inject(i3.HttpClient)); }, token: CommonComponentUiRTService, providedIn: "root" });
if (false) {
/**
* @type {?}
* @private
*/
CommonComponentUiRTService.prototype.resolver;
/**
* @type {?}
* @private
*/
CommonComponentUiRTService.prototype.injector;
/**
* @type {?}
* @private
*/
CommonComponentUiRTService.prototype.util;
/**
* @type {?}
* @private
*/
CommonComponentUiRTService.prototype.modalService;
/**
* @type {?}
* @private
*/
CommonComponentUiRTService.prototype.http;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NtcC11aS5ydC1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGdzcC1jbXAvY2NtcC11aS8iLCJzb3VyY2VzIjpbImxpYi9jY21wLXVpLnJ0LXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0scURBQXFELENBQUM7QUFDdkcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFLOUMsTUFBTSxPQUFPLDBCQUEwQjs7Ozs7Ozs7SUFFbkMsWUFBb0IsUUFBa0MsRUFBVSxRQUFrQixFQUN0RSxJQUFlLEVBQVUsWUFBNEIsRUFBVSxJQUFnQjtRQUR2RSxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDdEUsU0FBSSxHQUFKLElBQUksQ0FBVztRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7SUFBSSxDQUFDOzs7Ozs7OztJQVF6RixZQUFZLENBQUMsVUFBa0IsRUFBRSxTQUFpQixFQUFFLE9BQWlCO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRzs7OztRQUN4RCxDQUFDLElBQW1CLEVBQUUsRUFBRTtZQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLFlBQVksRUFBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLFlBQVksRUFBTyxFQUFFLENBQUM7YUFDekY7aUJBQ0k7Z0JBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNyQztRQUNMLENBQUMsRUFBQyxDQUNMLENBQUE7SUFDTCxDQUFDOzs7Ozs7O0lBT00sZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxTQUFpQjs7WUFDckQsT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFO1FBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDOztZQUNoQyxHQUFHLEdBQUcseURBQXlELFVBQVUsRUFBRTtRQUMvRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRzs7OztRQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pGLElBQUksSUFBSSxFQUFFOztvQkFDRixPQUFPLEdBQUcsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25CLE9BQU8sT0FBTyxDQUFDO2FBQ2xCO1FBQ0wsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7Ozs7Ozs7SUFFTyxNQUFNLENBQUMsYUFBNEIsRUFBRSxPQUFnQjs7WUFDckQsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsZ0NBQWdDLENBQUM7O1lBQzdFLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQzs7WUFDL0IsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQzs7WUFDdkUsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7UUFDeEQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEcsQ0FBQzs7O1lBdkRKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7OztZQWQ0Qyx3QkFBd0I7WUFBaEQsUUFBUTtZQUVwQixTQUFTO1lBQ1QsY0FBYztZQUVELFVBQVU7Ozs7Ozs7O0lBWWhCLDhDQUEwQzs7Ozs7SUFBRSw4Q0FBMEI7Ozs7O0lBQzlFLDBDQUF1Qjs7Ozs7SUFBRSxrREFBb0M7Ozs7O0lBQUUsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbkNvbXBvbmVudFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jY21wLXNlbGVjdG9yL2NvbW1vbi1jb21wb25lbnQtc2VsZWN0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmlld1V0aWxzIH0gZnJvbSAnLi92aWV3LXV0aWxzL3ZpZXctdXRpbHMnO1xyXG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gJ0BmYXJyaXMvdWktbW9kYWwnO1xyXG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAnLi9wYXJhbXMvb3B0aW9ucyc7XHJcbmltcG9ydCB7IEh0dHBIZWFkZXJzLCBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2VsZWN0b3JSZXN1bHQgfSBmcm9tICcuL3BhcmFtcy9zZWxlY3Rvci1yZXN1bHQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRJbmZvIH0gZnJvbSAnLi9wYXJhbXMvY29tcG9uZW50LWluZm8nO1xyXG5pbXBvcnQgeyBCYXNlUGF0aFNlcnZpY2UgfSBmcm9tICdAZmFycmlzL3J0Zic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1vbkNvbXBvbmVudFVpUlRTZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByaXZhdGUgdXRpbDogVmlld1V0aWxzLCBwcml2YXRlIG1vZGFsU2VydmljZTogQnNNb2RhbFNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDpgJrnlKjmnoTku7bmk43kvZzpgInmi6nlmahcclxuICAgICAqIEBwYXJhbSBtZXRhZGF0YUlkIOmAmueUqOaehOS7tuWFg+aVsOaNrlxyXG4gICAgICogQHBhcmFtIHNlc3Npb25JZCDlip/og71zZXNzaW9uSWRcclxuICAgICAqIEBwYXJhbSBvcHRpb25zIFVJ5Y+v6YCJ6YWN572u5Y+C5pWwXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvcGVuU2VsZWN0b3IobWV0YWRhdGFJZDogc3RyaW5nLCBzZXNzaW9uSWQ6IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBPYnNlcnZhYmxlPFNlbGVjdG9yUmVzdWx0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29tcG9uZW50SW5mbyhtZXRhZGF0YUlkLCBzZXNzaW9uSWQpLnBpcGUobWFwKFxyXG4gICAgICAgICAgICAoZGF0YTogQ29tcG9uZW50SW5mbykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEub2JzZWxldGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuc2hvd09ic2VsZXRlRGlhbG9nKGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbmZpcm1FdmVudDogbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCksIGNsb3NlRXZlbnQ6IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpIH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoZGF0YSwgb3B0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog6I635Y+W5p6E5Lu25L+h5oGvXHJcbiAgICAgKiBAcGFyYW0gbWV0YWRhdGFJZCDmnoTku7blhYPmlbDmja5JRFxyXG4gICAgICogQHBhcmFtIHNlc3Npb25JZCDlip/og71zZXNzaW9uaWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldENvbXBvbmVudEluZm8obWV0YWRhdGFJZDogc3RyaW5nLCBzZXNzaW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgICAgICBoZWFkZXJzLnNldChcInNlc3Npb25JZFwiLCBzZXNzaW9uSWQpO1xyXG4gICAgICAgIGxldCB1cmwgPSBgL2FwaS9ydW50aW1lL3N5cy92MS4wL2NvbW1vbi1jb21wb25lbnQvY29tcG9uZW50LWluZm8vJHttZXRhZGF0YUlkfWA7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoQmFzZVBhdGhTZXJ2aWNlLmNvbnZlcnRQYXRoKHVybCksIHsgaGVhZGVyczogaGVhZGVycyB9KS5waXBlKG1hcChkYXRhID0+IHtcclxuICAgICAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgICAgICAgIGxldCBjbXBJbmZvID0gbmV3IENvbXBvbmVudEluZm8oKTtcclxuICAgICAgICAgICAgICAgIGNtcEluZm8uaW5pdChkYXRhKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjbXBJbmZvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlKGNvbXBvbmVudEluZm86IENvbXBvbmVudEluZm8sIG9wdGlvbnM6IE9wdGlvbnMpOiBTZWxlY3RvclJlc3VsdCB7XHJcbiAgICAgICAgbGV0IGZhYyA9IHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoQ29tbW9uQ29tcG9uZW50U2VsZWN0b3JDb21wb25lbnQpO1xyXG4gICAgICAgIGxldCBjbXBSZWYgPSBmYWMuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgICAgIGNtcFJlZi5pbnN0YW5jZS5jb21wb25lbnRJbmZvID0gY29tcG9uZW50SW5mbztcclxuICAgICAgICBjbXBSZWYuaW5zdGFuY2UuX29wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgICAgIGxldCBtb2RhbENvbmZpZyA9IHRoaXMudXRpbC5nZXRNb2RhbENvbmZpZyhjbXBSZWYuaW5zdGFuY2UuYnRuUmVmLCBvcHRpb25zKTtcclxuICAgICAgICBsZXQgZGlhbG9nID0gdGhpcy5tb2RhbFNlcnZpY2Uuc2hvdyhjbXBSZWYsIG1vZGFsQ29uZmlnKTtcclxuICAgICAgICBjbXBSZWYuaW5zdGFuY2UuZGlhbG9nID0gZGlhbG9nO1xyXG4gICAgICAgIHJldHVybiB7IGNvbmZpcm1FdmVudDogY21wUmVmLmluc3RhbmNlLmNvbmZpcm1FbWl0dGVyLCBjbG9zZUV2ZW50OiBjbXBSZWYuaW5zdGFuY2UuY2xvc2VFbWl0dGVyIH07XHJcbiAgICB9XHJcbn1cclxuIl19